diff --git a/assets/index.25e76512.js b/assets/index.25e76512.js deleted file mode 100644 index 97fe5f552..000000000 --- a/assets/index.25e76512.js +++ /dev/null @@ -1 +0,0 @@ -import{U as a}from"./index.da4a4bfc.js";export{a as loadWebDirt}; diff --git a/assets/index.a66aabb5.js b/assets/index.2a59e383.js similarity index 93% rename from assets/index.a66aabb5.js rename to assets/index.2a59e383.js index f54d45f61..ae1ea7498 100644 --- a/assets/index.a66aabb5.js +++ b/assets/index.2a59e383.js @@ -1 +1 @@ -var h=Object.defineProperty;var p=(e,t,s)=>t in e?h(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var l=(e,t,s)=>(p(e,typeof t!="symbol"?t+"":t,s),s);import{S as f,I as u}from"./index.da4a4bfc.js";import{J as v,K as L,M,R as T,L as B,N as I,Q as y,O as R}from"./index.da4a4bfc.js";const d=e=>"("+e+")();",g=e=>URL.createObjectURL(new Blob([d(e)],{type:"text/javascript"})),w=e=>new Worker(g(e));class k{constructor(t,s,i=this.interval){l(this,"worker");l(this,"audioContext");l(this,"interval",.2);l(this,"lastEnd",0);this.audioContext=t,this.interval=i,this.worker=w(()=>{let o,a=null;const n=()=>{a&&(clearInterval(a),a=null)},r=()=>{if(n(),!o)throw new Error("no interval set! call worker.postMessage({interval}) before starting.");a=setInterval(()=>postMessage("tick"),o*1e3)};self.onmessage=function(c){c.data=="start"?r():c.data.interval?(o=c.data.interval,a&&r()):c.data=="stop"&&n()}}),this.worker.postMessage({interval:i}),this.worker.onmessage=o=>{if(o.data==="tick"){const a=this.lastEnd||this.audioContext.currentTime,n=this.audioContext.currentTime+this.interval;this.lastEnd=n,s(a,n)}}}start(){console.log("start..."),this.audioContext.resume(),this.worker.postMessage("start")}stop(){console.log("stop..."),this.worker.postMessage("stop")}}class b{constructor({audioContext:t,interval:s=.2,onEvent:i,latency:o=.2}){l(this,"worker");l(this,"pattern");this.worker=new k(t,(a,n)=>{this.pattern.query(new f(new u(a+o,n+o))).forEach(r=>{!r.part.begin.equals(r.whole.begin)||(r.context.onTrigger&&r.context.onTrigger(r.whole.begin,r,t.currentTime,1),i&&(i==null||i(r)))})},s)}start(){if(!this.pattern)throw new Error("Scheduler: no pattern set! call .setPattern first.");this.worker.start()}stop(){this.worker.stop()}setPattern(t){this.pattern=t}}export{k as ClockWorker,b as Scheduler,v as getAudioContext,L as getCachedBuffer,M as getLoadedBuffer,T as getLoadedSamples,B as loadBuffer,I as loadGithubSamples,y as resetLoadedSamples,R as samples}; +var h=Object.defineProperty;var p=(e,t,s)=>t in e?h(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var l=(e,t,s)=>(p(e,typeof t!="symbol"?t+"":t,s),s);import{S as f,I as u}from"./index.3580fc4e.js";import{J as v,K as L,M,R as T,L as B,N as I,Q as y,O as R}from"./index.3580fc4e.js";const d=e=>"("+e+")();",g=e=>URL.createObjectURL(new Blob([d(e)],{type:"text/javascript"})),w=e=>new Worker(g(e));class k{constructor(t,s,i=this.interval){l(this,"worker");l(this,"audioContext");l(this,"interval",.2);l(this,"lastEnd",0);this.audioContext=t,this.interval=i,this.worker=w(()=>{let o,a=null;const n=()=>{a&&(clearInterval(a),a=null)},r=()=>{if(n(),!o)throw new Error("no interval set! call worker.postMessage({interval}) before starting.");a=setInterval(()=>postMessage("tick"),o*1e3)};self.onmessage=function(c){c.data=="start"?r():c.data.interval?(o=c.data.interval,a&&r()):c.data=="stop"&&n()}}),this.worker.postMessage({interval:i}),this.worker.onmessage=o=>{if(o.data==="tick"){const a=this.lastEnd||this.audioContext.currentTime,n=this.audioContext.currentTime+this.interval;this.lastEnd=n,s(a,n)}}}start(){console.log("start..."),this.audioContext.resume(),this.worker.postMessage("start")}stop(){console.log("stop..."),this.worker.postMessage("stop")}}class b{constructor({audioContext:t,interval:s=.2,onEvent:i,latency:o=.2}){l(this,"worker");l(this,"pattern");this.worker=new k(t,(a,n)=>{this.pattern.query(new f(new u(a+o,n+o))).forEach(r=>{!r.part.begin.equals(r.whole.begin)||(r.context.onTrigger&&r.context.onTrigger(r.whole.begin,r,t.currentTime,1),i&&(i==null||i(r)))})},s)}start(){if(!this.pattern)throw new Error("Scheduler: no pattern set! call .setPattern first.");this.worker.start()}stop(){this.worker.stop()}setPattern(t){this.pattern=t}}export{k as ClockWorker,b as Scheduler,v as getAudioContext,L as getCachedBuffer,M as getLoadedBuffer,T as getLoadedSamples,B as loadBuffer,I as loadGithubSamples,y as resetLoadedSamples,R as samples}; diff --git a/assets/index.da4a4bfc.js b/assets/index.3580fc4e.js similarity index 98% rename from assets/index.da4a4bfc.js rename to assets/index.3580fc4e.js index 5973e70d5..354cc7aea 100644 --- a/assets/index.da4a4bfc.js +++ b/assets/index.3580fc4e.js @@ -1062,7 +1062,7 @@ stack( //.hush() ) .out() - .slow(3/2)`;var tunes=Object.freeze(Object.defineProperty({__proto__:null,timeCatMini,timeCat,shapeShifted,tetrisMini,whirlyStrudel,swimming,giantSteps,giantStepsReggae,transposedChordsHacked,scaleTranspose,struct,magicSofa,confusedPhone,zeldasRescue,technoDrums,caverave,callcenterhero,primalEnemy,synthDrums,sampleDrums,xylophoneCalling,sowhatelse,barryHarris,blippyRhodes,wavyKalimba,jemblung,risingEnemy,festivalOfFingers,festivalOfFingers2,undergroundPlumber,bridgeIsOver,goodTimes,echoPiano,sml1,speakerman,randomBells,waa,waa2,hyperpop,festivalOfFingers3,bossa,customTrigger,bornagain,meltingsubmarine},Symbol.toStringTag,{value:"Module"})),WebDirtPacked$1={exports:{}};(function(o,e){(function(s,a){o.exports=a()})(self,()=>(()=>{var s={d:($,j)=>{for(var _e in j)s.o(j,_e)&&!s.o($,_e)&&Object.defineProperty($,_e,{enumerable:!0,get:j[_e]})},o:($,j)=>Object.prototype.hasOwnProperty.call($,j),r:$=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})}},a={};function c($,j){if(this.msg=$,this.ac=j.ac,this.sampleBank=j.sampleBank,this.outputNode=j.destination,this.cutGroups=j.cutGroups,this.eventCounter=j.eventCounter,this.audioOutputs=j.audioOutputs,this.workletsAvailable=j.workletsAvailable,typeof $.buffer=="object")this.bufferContainer=$.buffer;else{if(this.sampleBank==null)return void console.log("WebDirt: there is no sample bank, cancelling event");if(typeof this.sampleBank!="object")return void console.log("WebDirt: buffer not provided by calling application + no WebDirt sample bank");if(this.msg.n=parseInt(this.msg.n),isNaN(this.msg.n)&&(this.msg.n=0),!this.sampleBank.sampleNameExists(this.msg.s))return void console.log("WebDirt: no sample named "+this.msg.s+" exists in sample map");if(!this.sampleBank.getBufferMightSucceed(this.msg.s,this.msg.n))return}if(this.when=this.msg.when,isNaN(this.when))console.log("WebDirt: 'when' is null or not a number");else if(this.nudge=parseFloat(this.msg.nudge),isNaN(this.nudge)||(this.when=this.when+this.nudge),isNaN(parseFloat(this.msg.speed))&&(this.msg.speed=1),this.msg.speed!=0)if(isNaN(parseFloat(this.msg.note))&&(this.msg.note=0),this.msg.speed=this.msg.speed*Math.pow(2,this.msg.note/12),this.msg.begin=d(this.msg.begin,0),this.msg.end=d(this.msg.end,1),this.msg.end!=this.msg.begin){if(this.msg.begin>this.msg.end&&(this.msg.speed=-1*this.msg.speed),this.msg.speed<0&&(this.msg.begin=1-this.msg.begin,this.msg.end=1-this.msg.end),this.msg.begin>this.msg.end){let ht=this.msg.begin;this.msg.begin=this.msg.end,this.msg.end=ht}var _e;if(this.source=_e=this.ac.createBufferSource(),this.source.onended=this.disconnectHandler(),this.disconnectOnEnd(this.source),this.source.playbackRate.value=Math.abs(this.msg.speed),this.prepareBuffer(),this.buffer!=null)this.source.buffer=this.buffer,this.start();else{var et=this,tt=1e3*(this.msg.when-this.ac.currentTime-.2);tt<=0&&(tt=1e3*(this.msg.when-this.ac.currentTime-.2)),tt>0&&setTimeout(function(){et.prepareBuffer(),et.buffer!=null?(et.source.buffer=et.buffer,et.start()):(console.log("WebDirt: unable to access sample "+$.s+":"+$.n+" on second attempt"),et.stopAll())},tt)}this.cut(this.msg.cut,this.msg.s),_e=this.shape(_e,this.msg.shape),_e=this.lowPassFilter(_e,this.msg.cutoff,this.msg.resonance),_e=this.highPassFilter(_e,this.msg.hcutoff,this.msg.hresonance),_e=this.bandPassFilter(_e,this.msg.bandf,this.msg.bandq),_e=this.vowel(_e,this.msg.vowel),_e=this.delay(_e,this.msg.delay,this.msg.delaytime,this.msg.delayfeedback),_e=this.loop(_e,this.msg.loop,this.msg.begin,this.msg.end,this.msg.speed),_e=this.crush(_e,this.msg.crush),_e=this.coarse(_e,this.msg.coarse),this.unit(this.msg.unit,this.msg.speed);var nt=parseFloat(this.msg.gain);isNaN(nt)&&(nt=1),nt>2&&(nt=2),nt<0&&(nt=0);var st=parseFloat(this.msg.overgain);isNaN(st)||(nt+=st),nt=Math.pow(nt,4);var rt,it,at,ot=parseFloat($.pan);if(isNaN(ot)&&(ot=.5),this.audioOutputs==2)(ot>1||ot<0)&&(ot-=Math.floor(ot)),rt=ot,it=0,at=1;else{var dt=(ot-=Math.floor(ot))*this.audioOutputs;(at=(it=Math.floor(dt))+1)>=this.audioOutputs&&(at=0),rt=dt-Math.floor(dt)}var ct=this.ac.createGain();this.disconnectOnEnd(ct);var ut=this.ac.createGain();this.disconnectOnEnd(ut),ct.gain.value=Math.cos(rt*Math.PI/2)*nt,ut.gain.value=Math.sin(rt*Math.PI/2)*nt,_e.connect(ct),_e.connect(ut),this.gain1=ct,this.gain2=ut;var lt=this.ac.createChannelMerger(this.audioOutputs);this.disconnectOnEnd(lt),ct.connect(lt,0,it),ut.connect(lt,0,at),lt.connect(this.outputNode)}else this.stopAll()}function d($,j){let _e=parseFloat($);return isNaN(_e)?j:_e>1?1:_e<0?0:_e}s.r(a),s.d(a,{WebDirt:()=>k}),c.prototype.prepareBuffer=function(){typeof this.bufferContainer=="object"?typeof this.bufferContainer.buffer=="object"&&(this.msg.speed>=0?this.buffer=this.bufferContainer.buffer:(typeof this.bufferContainer.reverseBuffer=="object"||(this.bufferContainer.reverseBuffer=reverseBuffer(this.ac,this.bufferContainer.buffer)),this.buffer=this.bufferContainer.reverseBuffer)):(this.msg.speed>=0?this.buffer=this.sampleBank.getBuffer(this.msg.s,this.msg.n):this.buffer=this.sampleBank.getReverseBuffer(this.msg.s,this.msg.n),this.buffer=this.accel(this.buffer,this.msg.accelerate,this.msg.speed))},c.prototype.disconnectOnEnd=function($){this.source.disconnectQueue==null&&(this.source.disconnectQueue=new Array),this.source.disconnectQueue.unshift($)},c.prototype.start=function(){let $=Math.abs(this.msg.speed),j=(this.msg.end-this.msg.begin)*this.source.buffer.duration/$,_e=this.msg.begin*this.source.buffer.duration;this.source.start(this.when,_e,j)},c.prototype.stopAll=function(){if(this.source!=null&&this.source.disconnectQueue!=null){for(var $=0;$1&&this.workletsAvailable){var _e=new AudioWorkletNode(this.ac,"coarse-processor");return _e.parameters.get("coarse").value=j,$.connect(_e),this.disconnectOnEnd(_e),_e}return $},c.prototype.crush=function($,j){if(j=parseInt(j),isNaN(j)&&(j=null),j!=null&&j>0&&this.workletsAvailable){var _e=new AudioWorkletNode(this.ac,"crush-processor");return _e.parameters.get("crush").value=j,$.connect(_e),this.disconnectOnEnd(_e),_e}return $},c.prototype.cut=function($,j){if($=parseInt($),!isNaN($)&&$!=0){for(var _e={cutGroup:$,node:this,sampleName:j},et=0;et2e4&&(j=2e4),isNaN(parseFloat(_e))&&(_e=0),_e<0&&(_e=0),_e>1&&(_e=1),_e=1/(_e=1-.999*(_e*=_e));var et=this.ac.createBiquadFilter();return this.disconnectOnEnd(et),et.type="highpass",et.frequency.value=j,et.Q.value=_e,$.connect(et),et},c.prototype.lowPassFilter=function($,j,_e){if(isNaN(parseFloat(j))&&isNaN(parseFloat(_e)))return $;isNaN(parseFloat(j))&&(j=440),j<20&&(j=20),j>2e4&&(j=2e4),isNaN(parseFloat(_e))&&(_e=0),_e<0&&(_e=0),_e>1&&(_e=1),_e=1/(_e=1-.999*(_e*=_e));var et=this.ac.createBiquadFilter();return this.disconnectOnEnd(et),et.type="lowpass",et.frequency.value=j,et.Q.value=_e,$.connect(et),et},c.prototype.bandPassFilter=function($,j,_e){if(isNaN(parseFloat(j))&&isNaN(parseFloat(_e)))return $;isNaN(parseFloat(j))&&(j=440),j<20&&(j=20),j>2e4&&(j=2e4),isNaN(parseFloat(_e))&&(_e=10),_e<1&&(_e=1),_e>100&&(_e=100);var et=this.ac.createBiquadFilter();return this.disconnectOnEnd(et),et.type="bandpass",et.frequency.value=j,et.Q.value=_e,et.gain.value=_e,$.connect(et),et},c.prototype.loop=function($,j){if(isNaN(parseInt(j))||j==0)return $;try{var _e=this.source.buffer.duration-this.msg.begin*this.source.buffer.duration-(1-this.msg.end)*this.source.buffer.duration;return this.source.loop=!0,this.source.loopStart=this.msg.begin*this.source.buffer.duration,this.source.loopEnd=this.msg.end*this.source.buffer.duration,this.source.stop(this.when+_e*j/this.source.playbackRate.value),$}catch{return console.log("WebDirt Warning: buffer data not yet available to calculate loop time - no looping applied"),$}},c.prototype.accelerate=function($,j){if(j=Math.abs(j),isNaN(parseFloat($))&&($=0),$!=0){$=parseFloat($),this.source.playbackRate.setValueAtTime(j,this.when);var _e=Math.abs((this.source.buffer.length*$/this.ac.sampleRate+j)/j),et=j+this.source.buffer.length*$/this.ac.sampleRate;if(et<0)this.source.buffer=this.negativeAccelerateBuffer(this.source.buffer,$,j),this.source.playbackRate.linearRampToValueAtTime(0,this.when+_e),this.source.playbackRate.linearRampToValueAtTime(1,this.when+this.source.buffer.duration);else try{this.source.playbackRate.linearRampToValueAtTime(et,this.when+this.source.buffer.duration)}catch{console.log("WebDirt: Warning, buffer data not loaded, could not apply acclerate effect")}}},c.prototype.negativeAccelerateBuffer=function($,j,_e){var et=$.length,tt=new Float32Array(et),nt=this.ac.createBuffer($.numberOfChannels,$.length,this.ac.sampleRate),st=new Float32Array(et),rt=Math.abs(_e/(_e-j))*et;rt=et*Math.abs((this.source.buffer.length*j/this.ac.sampleRate+_e)/_e)/this.source.buffer.duration,rt=Math.trunc(rt);for(var it=0;it<$.numberOfChannels;it++){$.copyFromChannel(tt,it,0);for(var at=0;at=1&&(j=.999),j>0&&this.workletsAvailable){var _e=new AudioWorkletNode(this.ac,"shape-processor");return _e.parameters.get("shape").value=j,$.connect(_e),this.disconnectOnEnd(_e),_e}return $},c.prototype.stop=function($){this.gain1.gain.setValueAtTime(this.gain1.gain.value,$),this.gain1.gain.linearRampToValueAtTime(0,$+.02),this.gain2.gain.setValueAtTime(this.gain1.gain.value,$),this.gain2.gain.linearRampToValueAtTime(0,$+.02)},c.prototype.unit=function($,j){$=="c"&&(this.source.playbackRate.value=this.source.playbackRate.value*this.source.buffer.duration)},c.prototype.vowel=function($,j){if(typeof j!="string")return $;if((j=j.toLowerCase())=="a"||j=="e"||j=="i"||j=="o"||j=="u"){var _e,et,tt,nt=this.ac.createGain();switch(this.disconnectOnEnd(nt),j){case"a":_e=_.a.freqs,et=_.a.qs,tt=_.a.amps;break;case"e":_e=_.e.freqs,et=_.e.qs,tt=_.e.amps;break;case"i":_e=_.i.freqs,et=_.i.qs,tt=_.i.amps;break;case"o":_e=_.o.freqs,et=_.o.qs,tt=_.o.amps;break;case"u":_e=_.u.freqs,et=_.u.qs,tt=_.u.amps}for(var st=0;st<5;st++){var rt=this.ac.createGain();this.disconnectOnEnd(rt),rt.gain.value=tt[st];var it=this.ac.createBiquadFilter();this.disconnectOnEnd(it),it.type="bandpass",it.Q.value=et[st]/8,it.frequency.value=_e[st],$.connect(it),it.connect(rt),rt.connect(nt)}return nt.gain.value=8,nt}return $};var _={a:{freqs:[660,1120,2750,3e3,3350],amps:[1,.5012,.0708,.0631,.0126],qs:[80,90,120,130,140]},e:{freqs:[440,1800,2700,3e3,3300],amps:[1,.1995,.1259,.1,.1],qs:[70,80,100,120,120]},i:{freqs:[270,1850,2900,3350,3590],amps:[1,.0631,.0631,.0158,.0158],qs:[40,90,100,120,120]},o:{freqs:[430,820,2700,3e3,3300],amps:[1,.3162,.0501,.0794,.01995],qs:[40,80,100,120,120]},u:{freqs:[370,630,2750,3e3,3400],amps:[1,.1,.0708,.0316,.01995],qs:[40,60,100,120,120]}};function b($,j,_e){this.STATUS_PRELOAD=0,this.STATUS_LOADING=1,this.STATUS_READY=2,this.STATUS_ERROR=3,this.sampleMapUrl=$,this.urlPrefix=j,this.samples={};var et=new XMLHttpRequest;et.open("GET",this.sampleMapUrl,!0),et.responseType="json";var tt=this;et.onload=function(){if(et.readyState!=4)throw Error("WebDirt: readyState != 4 in callback of sampleMap load");if(et.status!=200)throw Error("WebDirt: status != 200 in callback of sampleMap load");if(et.response==null)throw Error("WebDirt: JSON response null in callback of sampleMap load");tt.sampleMap=et.response,console.log("WebDirt: sampleMap loaded from "+tt.sampleMapUrl),typeof _e=="function"&&_e()},et.onerror=function(){console.log("WebDirt: unspecified error in loading of sampleMap from "+tt.sampleMapUrl)},et.send()}function k($){this.workletsAvailable=!1,$===void 0&&($={}),typeof $=="object"?(typeof $.sampleMapUrl=="string"?($.sampleFolder==null&&($.sampleFolder="samples"),console.log("WebDirt: will manage own sample bank, samplemap="+$.sampleMapUrl+" sampleFolder="+$.sampleFolder),this.sampleBank=new b($.sampleMapUrl,$.sampleFolder,$.readyCallback)):console.log("WebDirt: will expect application to provide sample buffers"),$.latency==null&&($.latency=.4),this.latency=$.latency,typeof $.maxLateness!="number"?this.maxLateness=.005:this.maxLateness=$.maxLateness,this.ac=$.audioContext,this.destination=$.destination,this.cutGroups=new Array,this.eventCounter=0,this.audioOutputs=2,this.ac==null?console.log("WebDirt: initialized (without audio context)"):this.destination==null?(this.destination=this.ac.destination,console.log("WebDirt: initialized with provided context")):console.log("WebDirt: initialized with provided context + destination")):console.log("WebDirt: unable to construct WebDirt object, arguments object not provided to constructor")}return b.prototype.loadAllNamed=function($){if(this.ac==null)throw Error("WebDirt: called SampleBank.loadAllNamed with null audio context");if(this.sampleMap==null)throw Error("WebDirt: SampleBank.loadAllNamed: sampleMap is null");if(this.sampleMap[$]!=null)for(var j=0;j{console.log("WebDirt: audio worklets added"),this.workletsAvailable=!0}).catch(j=>{console.log("WebDirt: error loading AudioWorklets.js: "+j),console.log("(WebDirt should still work but shape, coarse, and crush will have no effect)"),this.workletsAvailable=!1}):(console.log("WebDirt: browser does not support audio worklets"),console.log("(WebDirt should still work but shape, coarse, and crush will have no effect)"),this.workletsAvailable=!1),this.tempo={time:this.ac.currentTime,beats:0,bpm:30},this.clockDiff=Date.now()/1e3-this.ac.currentTime,this.sampleBank!=null&&(this.sampleBank.ac=this.ac),this.silentNote=this.ac.createOscillator(),this.silentNote.type="sine",this.silentNote.frequency.value=440,this.silentGain=this.ac.createGain(),this.silentGain.gain.value=0,this.silentNote.connect(this.silentGain),this.silentGain.connect(this.ac.destination),this.silentNote.start();var $=this;setTimeout(function(){$.silentGain.disconnect($.ac.destination),$.silentNote.disconnect($.silentGain),$.silentNote.stop(),$.silentGain=null,$.silentNote=null},500)}console.log("WebDirt: initializeWebAudio finished.")},k.prototype.playSample=function($,j){if(j==null&&(j=this.latency),$.whenPosix!=null&&($.when=$.whenPosix-(new Date().getTime()/1e3-this.ac.currentTime)),$.when==null&&($.when=this.ac.currentTime),$.when=$.when+j,typeof $.maxLateness!="number"&&($.maxLateness=this.maxLateness),this.ac.currentTime-$.when>$.maxLateness)return void console.log("WebDirt warning: dropping msg late by "+(this.ac.currentTime-$.when)+" seconds");let _e=new c($,this);return this.eventCounter++,_e},k.prototype.playScore=function($,j,_e){this.initializeWebAudio(),j==null&&(j=this.latency);for(var et=this.ac.currentTime,tt=0,nt=0;nt<$.length;nt++){var st=$[nt];st.when>tt&&(tt=st.when),st.when=st.when+et,st.s!=null&&(st.sample_name=st.s),st.n!=null&&(st.sample_n=st.n),this.playSample(st,j)}setTimeout(function(){typeof _e=="function"&&_e()},1e3*(tt+j))},k.prototype.playScoreWhenReady=function($,j,_e,et){this.initializeWebAudio(),j==null&&(j=this.latency);for(var tt=$.length,nt=0;nt<$.length;nt++){var st=$[nt],rt=this;st.s!=null&&(st.sample_name=st.s),st.n!=null&&(st.sample_n=st.n),this.sampleBank!=null&&this.sampleBank.load(st.sample_name,st.sample_n,function(){(tt-=1)<=0&&(rt.playScore($,j,et),typeof _e=="function"&&_e())})}},k.prototype.loadAndPlayScore=function($,j,_e,et){this.initializeWebAudio(),j==null&&(j=this.latency);var tt=new XMLHttpRequest;tt.open("GET",$,!0),tt.responseType="json";var nt=this;tt.onload=function(){if(tt.readyState!=4)throw Error("readyState != 4 in callback of loadAndPlayScore");if(tt.status!=200)throw Error("status != 200 in callback of loadAndPlayScore");if(tt.response==null)throw Error("JSON response null in callback of loadAndPlayScore");console.log("playing JSON score from "+$),nt.playScoreWhenReady(tt.response,j,_e,et)},tt.send()},k.prototype.renderAndPlayScore=function($,j,_e,et,tt,nt,st){this.initializeWebAudio(),tt==null&&(tt=this.latency),window.WebSocket=window.WebSocket||window.MozWebSocket,console.log("WebDirt.renderAndPlayScore: attempting websocket connection to "+$);var rt=new WebSocket($);rt.onerror=function(){console.log(" ERROR opening websocket connection to "+$)},rt.onopen=function(){console.log(" websocket connection to "+$+" established");try{var at='{"render":'+JSON.stringify(j)+',"cps":'+_e+',"cycles":'+et+"}";console.log(at),rt.send(at),console.log(" render request sent")}catch{console.log(" EXCEPTION during transmission of render request"),rt.close()}};var it=this;rt.onmessage=function(at){var ot=JSON.parse(at.data);if(!ot instanceof Array)return console.log(" WebDirt warning: rendering socket received non-array message"),console.log(typeof ot),void(globalX=ot);console.log(" received score from "+$),it.playScoreWhenReady(ot,tt,nt,st),console.log(" closing websocket connection to "+$),rt.close()}},k.prototype.subscribeToTidalSocket=function($,j){this.initializeWebAudio(),j==null&&(j=!1),window.WebSocket=window.WebSocket||window.MozWebSocket,console.log("WebDirt: attempting websocket connection to "+$),ws=new WebSocket($),ws.onopen=function(){console.log("websocket connection to tidalSocket opened")},ws.onerror=function(){console.log("ERROR opening websocket connection to tidalSocket")};var _e=this;ws.onmessage=function(et){if(et.data==null)throw Error("null data in tidalSocket onmessage handler");var tt=JSON.parse(et.data);if(tt.address==null)throw Error("received message from tidalSocket with no address: "+et.data);if(tt.address!="/play")throw Error("address of message from tidalSocket wasn't /play: "+et.data);if(tt.args.constructor!==Array)throw Error("ERROR: message from tidalSocket where args doesn't exist or isn't an array: "+et.data);if(tt.args.length!=30&&tt.args.length!=33)throw Error("ERROR: message from tidalSocket with "+tt.args.length+" args instead of 30 or 33: "+et.data);var nt={};nt.when=tt.args[0]+tt.args[1]/1e6+_e.clockDiff,nt.sample_name=tt.args[3],nt.begin=tt.args[5],nt.end=tt.args[6],nt.speed=tt.args[7],nt.pan=tt.args[8],nt.vowel=tt.args[10],nt.cutoff=tt.args[11],nt.resonance=tt.args[12],nt.accelerate=tt.args[13],nt.shape=tt.args[14],nt.gain=tt.args[16],nt.cut=tt.args[17],nt.delay=tt.args[18],nt.delaytime=tt.args[19],nt.delayfeedback=tt.args[20],nt.crush=tt.args[21],nt.coarse=tt.args[22],nt.hcutoff=tt.args[23],nt.hresonance=tt.args[24],nt.bandf=tt.args[25],nt.bandq=tt.args[26],nt.unit_name=tt.args[27],nt.sample_loop=tt.args[28],nt.sample_n=tt.args[29],tt.args.length==33&&(nt.attack=tt.args[30],nt.hold=tt.args[31],nt.release=tt.args[32]),_e.playSample(nt),j&&console.log(tt)}},k.prototype.getCurrentTime=function(){return this.ac.currentTime},k.prototype.syncWithEsp=function($){if(typeof EspClient=="function")if(this.espClient==null){this.espClient=new EspClient($,this.ac);var j=this;this.espClient.tempoCallback=function(_e){j.tempo=_e}}else this.espClient.setUrl($);else console.log("WebDirt ERROR: syncWithEsp called but EspClient does not exist")},k.prototype.setTempo=function($){if(typeof $.time!="number")throw Error("WebDirt: no time in setTempo");if(typeof $.beats!="number")throw Error("WebDirt: no beats in setTempo");if(typeof $.bpm!="number")throw Error("WebDirt: no bpm in setTempo");this.espClient!=null&&this.espClient.sendSetTempo($),this.tempo=$},k.prototype.sampleHint=function($){this.sampleBank!=null&&(console.log("WebDirt received sample hint: "+$),this.sampleBank.loadAllNamed($))},a})())})(WebDirtPacked$1);var WebDirtPacked=getDefaultExportFromCjs(WebDirtPacked$1.exports),WebDirt=_mergeNamespaces({__proto__:null,default:WebDirtPacked},[WebDirtPacked$1.exports]);const bufferCache={},loadCache={},getCachedBuffer=o=>bufferCache[o],loadBuffer=(o,e)=>(loadCache[o]||(loadCache[o]=fetch(o).then(s=>s.arrayBuffer()).then(async s=>{const a=await e.decodeAudioData(s);return bufferCache[o]=a,a})),loadCache[o]),getLoadedBuffer=o=>bufferCache[o],githubCache={};let sampleCache={current:void 0};const loadGithubSamples=async(o,e)=>{const s="loadGithubSamples "+o,a=localStorage.getItem(s);if(a&&(console.log("[sampler]: loaded sample list from localstorage",o),githubCache[o]=JSON.parse(a)),githubCache[o])return sampleCache.current=githubCache[o],githubCache[o];console.log("[sampler]: fetching sample list from github",o);try{const[c,d,..._]=o.split("/"),b=`https://api.github.com/repos/${c}/${d}/contents`,k=await fetch(`${b}/${_.join("/")}`).then($=>$.json());githubCache[o]=(await Promise.all(k.map(async({name:$,path:j})=>({name:$,content:await fetch(`${b}/${j}`).then(_e=>_e.json()).catch(_e=>{console.error("could not load path",_e)})})))).filter(({content:$})=>!!$).reduce(($,{name:j,content:_e})=>kt(Dt({},$),{[(e==null?void 0:e(j))||j]:_e.map(({download_url:et})=>et)}),{})}catch(c){console.error("[sampler]: failed to fetch sample list from github",c);return}return sampleCache.current=githubCache[o],localStorage.setItem(s,JSON.stringify(sampleCache.current)),console.log("[sampler]: loaded samples:",sampleCache.current),githubCache[o]},samples=(o,e=o._base)=>{sampleCache.current=Dt(Dt({},sampleCache.current),Object.fromEntries(Object.entries(o).map(([s,a])=>[s,(typeof a=="string"?[a]:a).map(c=>(e+c).replace("github:","https://raw.githubusercontent.com/"))])))},resetLoadedSamples=()=>{sampleCache.current=void 0},getLoadedSamples$1=()=>sampleCache.current,{Pattern:Pattern$1}=strudel;let audioContext;const getAudioContext=()=>(audioContext||(audioContext=new AudioContext),audioContext),getFilter=(o,e,s)=>{const a=getAudioContext().createBiquadFilter();return a.type=o,a.frequency.value=e,a.Q.value=s,a},getADSR=(o,e,s,a,c,d,_)=>{const b=getAudioContext().createGain();return b.gain.setValueAtTime(0,d),b.gain.linearRampToValueAtTime(c,d+o),b.gain.linearRampToValueAtTime(s*c,d+o+e),b.gain.setValueAtTime(s*c,_),b.gain.linearRampToValueAtTime(0,_+a),b};Pattern$1.prototype.out=function(){return this.onTrigger(async(o,e,s)=>{const a=getAudioContext();o=a.currentTime+o-s;let{freq:c,s:d,n:_=0,gain:b=1,cutoff:k,resonance:$=1,hcutoff:j,hresonance:_e=1,bandf:et,bandq:tt=1,pan:nt,attack:st=.001,decay:rt=0,sustain:it=1,release:at=.001,speed:ot=1,begin:dt=0,end:ct=1}=e.value;const ut=[];if(!d||["sine","square","triangle","sawtooth"].includes(d)){!c&&typeof _=="number"&&(c=fromMidi(_)),!c&&typeof _=="string"&&(c=fromMidi(toMidi(_)));const ht=a.createOscillator();ht.type=d||"triangle",ht.frequency.value=Number(c),ht.start(o),ht.stop(o+e.duration+at),ut.push(ht);const pt=a.createGain();pt.gain.value=.5,ut.push(pt);const gt=getADSR(st,rt,it,at,1,o,o+e.duration);ut.push(gt)}else{const ht=getLoadedSamples();if(!ht){console.warn("no samples loaded");return}if(ht==null?void 0:ht[d]){if(ot===0)return;if(!d){console.warn("no sample specified");return}const gt=ht[d],yt=gt[_%gt.length];let ft=await loadBuffer(yt,a);if(a.currentTime>o){console.warn("sample still loading:",d,_);return}const mt=a.createBufferSource();mt.buffer=ft,mt.playbackRate.value=Math.abs(ot);let Et=mt.buffer.duration;const _t=dt*Et;Et=(ct-dt)*Et/Math.abs(ot),mt.start(o,_t,Et),mt.stop(o+Et),ut.push(mt)}else{console.warn("sample not found:",d,"try one of "+Object.keys(ht));return}}if(k!==void 0&&ut.push(getFilter("lowpass",k,$)),j!==void 0&&ut.push(getFilter("highpass",j,_e)),et!==void 0&&ut.push(getFilter("bandpass",et,tt)),nt!==void 0){const ht=a.createStereoPanner();ht.pan.value=2*nt-1,ut.push(ht)}const lt=a.createGain();lt.gain.value=.8*b,ut.push(lt),ut.push(a.destination),ut.slice(1).reduce((ht,pt)=>ht.connect(pt),ut[0])})};const{Pattern}=strudel;let webDirt;function loadWebDirt(o){webDirt=new WebDirtPacked$1.exports.WebDirt(o),webDirt.initializeWebAudio()}Pattern.prototype.webdirt=function(){return this._withHap(o=>{const e=async(s,a,c)=>{if(!webDirt)throw new Error("WebDirt not initialized!");const d=s-c,j=a.value||{},{s:_,n:b=0}=j,k=dn(j,["s","n"]);_||console.warn('Pattern.webdirt: no "s" was set!');const $=getLoadedSamples$1();if(!($!=null&&$[_])){webDirt.playSample(Dt({s:_,n:b},k),d);return}if(!($!=null&&$[_]))console.warn(`Pattern.webdirt: sample "${_}" not found in loaded samples`,$);else{const _e=$[_],et=_e[b%_e.length],tt=getLoadedBuffer(et);if(!tt)console.log(`Pattern.webdirt: load ${_}:${b} from ${et}`),loadBuffer(et,webDirt.ac);else{const nt=Dt({buffer:{buffer:tt}},k);webDirt.playSample(nt,d)}}};return o.setContext(kt(Dt({},o.context),{onTrigger:e}))})};evalScope(Tone,controls,{WebDirt},__vitePreload(()=>Promise.resolve().then(function(){return strudel}),void 0),__vitePreload(()=>import("./index.bb8baa2d.js"),[]),__vitePreload(()=>import("./index.02484878.js"),[]),__vitePreload(()=>import("./index.64ac172e.js"),[]),__vitePreload(()=>import("./index.3ce8d5c9.js"),[]),__vitePreload(()=>import("./index.962e1056.js"),[]),__vitePreload(()=>import("./index.a66aabb5.js"),[]),__vitePreload(()=>import("./osc.bfde1185.js"),[]),__vitePreload(()=>import("./index.25e76512.js"),[]),__vitePreload(()=>import("./serial.981db6dc.js"),[]));loadWebDirt({sampleMapUrl:"EmuSP12.json",sampleFolder:"EmuSP12"});const initialUrl=window.location.href,codeParam=window.location.href.split("#")[1];let decoded;try{decoded=atob(decodeURIComponent(codeParam||""))}catch(o){console.warn("failed to decode",o)}function getRandomTune(){const o=Object.values(tunes);return(s=>s[Math.floor(Math.random()*s.length)])(o)}const randomTune=getRandomTune(),defaultSynth=getDefaultSynth(),isEmbedded=window.location!==window.parent.location;function App(){const[o,e]=react.exports.useState(),{setCode:s,setPattern:a,error:c,code:d,cycle:_,dirty:b,log:k,togglePlay:$,activeCode:j,setActiveCode:_e,activateCode:et,pattern:tt,pushLog:nt,pending:st}=useRepl({tune:decoded||randomTune,defaultSynth}),rt=react.exports.useRef();return react.exports.useLayoutEffect(()=>{var it;rt.current&&(rt.current.scrollTop=(it=rt.current)==null?void 0:it.scrollHeight)},[k]),react.exports.useLayoutEffect(()=>{const it=async at=>{(at.ctrlKey||at.altKey)&&(at.code==="Enter"?(at.preventDefault(),await et()):at.code==="Period"&&(_.stop(),at.preventDefault()))};return window.addEventListener("keydown",it,!0),()=>window.removeEventListener("keydown",it,!0)},[tt,d,et,_]),useHighlighting({view:o,pattern:tt,active:_.started&&!(j!=null&&j.includes("strudel disable-highlighting"))}),useWebMidi({ready:react.exports.useCallback(({outputs:it})=>{nt(`WebMidi ready! Just add .midi(${it.map(at=>`'${at.name}'`).join(" | ")}) to the pattern. `)},[nt]),connected:react.exports.useCallback(({outputs:it})=>{nt(`Midi device connected! Available: ${it.map(at=>`'${at.name}'`).join(", ")}`)},[nt]),disconnected:react.exports.useCallback(({outputs:it})=>{nt(`Midi device disconnected! Available: ${it.map(at=>`'${at.name}'`).join(", ")}`)},[nt])}),jsxs("div",{className:"min-h-screen flex flex-col",children:[jsxs("header",{id:"header",className:cx("flex-none w-full px-2 flex border-b border-gray-200 justify-between z-[10] bg-gray-100",isEmbedded?"h-8":"h-14"),children:[jsxs("div",{className:"flex items-center space-x-2",children:[jsx("img",{src:logo,className:cx("Tidal-logo",isEmbedded?"w-6 h-6":"w-10 h-10"),alt:"logo"}),jsxs("h1",{className:isEmbedded?"text-l":"text-xl",children:["Strudel ",isEmbedded?"Mini ":"","REPL"]})]}),jsxs("div",{className:"flex",children:[jsx("button",{onClick:()=>$(),className:cx("hover:bg-gray-300",isEmbedded?"px-2":"p-2"),children:st?jsx(Fragment,{children:"loading..."}):jsxs("span",{className:cx("flex items-center","w-16"),children:[_.started?jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zM7 8a1 1 0 012 0v4a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v4a1 1 0 102 0V8a1 1 0 00-1-1z",clipRule:"evenodd"})}):jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z",clipRule:"evenodd"})}),_.started?"pause":"play"]})}),!isEmbedded&&jsx("button",{className:"hover:bg-gray-300 p-2",onClick:async()=>{const it=getRandomTune();console.log("tune",it),s(it),cleanupDraw(),cleanupUi(),resetLoadedSamples();const at=await evaluate(it);a(at.pattern),_e(it)},children:"\u{1F3B2} random"}),!isEmbedded&&jsx("button",{className:cx("hover:bg-gray-300",isEmbedded?"px-2":"p-2"),children:jsx("a",{href:"./tutorial",children:"\u{1F4DA} tutorial"})}),isEmbedded&&jsx("button",{className:cx("hover:bg-gray-300 px-2"),children:jsx("a",{href:window.location.href,target:"_blank",rel:"noopener noreferrer",title:"Open in REPL",children:"\u{1F680} open"})}),isEmbedded&&jsx("button",{className:cx("hover:bg-gray-300 px-2"),children:jsx("a",{onClick:()=>{window.location.href=initialUrl,window.location.reload()},title:"Reset",children:"\u{1F494} reset"})})]})]}),jsxs("section",{className:"grow flex flex-col text-gray-100",children:[jsxs("div",{className:"grow relative flex overflow-auto",id:"code",children:[jsx(CodeMirror,{value:d,onChange:s,onViewChanged:e}),jsx("span",{className:"z-[20] py-1 px-2 absolute top-0 right-0 text-xs whitespace-pre text-right pointer-events-none",children:_.started?b?`ctrl+enter to update + .slow(3/2)`;var tunes=Object.freeze(Object.defineProperty({__proto__:null,timeCatMini,timeCat,shapeShifted,tetrisMini,whirlyStrudel,swimming,giantSteps,giantStepsReggae,transposedChordsHacked,scaleTranspose,struct,magicSofa,confusedPhone,zeldasRescue,technoDrums,caverave,callcenterhero,primalEnemy,synthDrums,sampleDrums,xylophoneCalling,sowhatelse,barryHarris,blippyRhodes,wavyKalimba,jemblung,risingEnemy,festivalOfFingers,festivalOfFingers2,undergroundPlumber,bridgeIsOver,goodTimes,echoPiano,sml1,speakerman,randomBells,waa,waa2,hyperpop,festivalOfFingers3,bossa,customTrigger,bornagain,meltingsubmarine},Symbol.toStringTag,{value:"Module"})),WebDirtPacked$1={exports:{}};(function(o,e){(function(s,a){o.exports=a()})(self,()=>(()=>{var s={d:($,j)=>{for(var _e in j)s.o(j,_e)&&!s.o($,_e)&&Object.defineProperty($,_e,{enumerable:!0,get:j[_e]})},o:($,j)=>Object.prototype.hasOwnProperty.call($,j),r:$=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})}},a={};function c($,j){if(this.msg=$,this.ac=j.ac,this.sampleBank=j.sampleBank,this.outputNode=j.destination,this.cutGroups=j.cutGroups,this.eventCounter=j.eventCounter,this.audioOutputs=j.audioOutputs,this.workletsAvailable=j.workletsAvailable,typeof $.buffer=="object")this.bufferContainer=$.buffer;else{if(this.sampleBank==null)return void console.log("WebDirt: there is no sample bank, cancelling event");if(typeof this.sampleBank!="object")return void console.log("WebDirt: buffer not provided by calling application + no WebDirt sample bank");if(this.msg.n=parseInt(this.msg.n),isNaN(this.msg.n)&&(this.msg.n=0),!this.sampleBank.sampleNameExists(this.msg.s))return void console.log("WebDirt: no sample named "+this.msg.s+" exists in sample map");if(!this.sampleBank.getBufferMightSucceed(this.msg.s,this.msg.n))return}if(this.when=this.msg.when,isNaN(this.when))console.log("WebDirt: 'when' is null or not a number");else if(this.nudge=parseFloat(this.msg.nudge),isNaN(this.nudge)||(this.when=this.when+this.nudge),isNaN(parseFloat(this.msg.speed))&&(this.msg.speed=1),this.msg.speed!=0)if(isNaN(parseFloat(this.msg.note))&&(this.msg.note=0),this.msg.speed=this.msg.speed*Math.pow(2,this.msg.note/12),this.msg.begin=d(this.msg.begin,0),this.msg.end=d(this.msg.end,1),this.msg.end!=this.msg.begin){if(this.msg.begin>this.msg.end&&(this.msg.speed=-1*this.msg.speed),this.msg.speed<0&&(this.msg.begin=1-this.msg.begin,this.msg.end=1-this.msg.end),this.msg.begin>this.msg.end){let ht=this.msg.begin;this.msg.begin=this.msg.end,this.msg.end=ht}var _e;if(this.source=_e=this.ac.createBufferSource(),this.source.onended=this.disconnectHandler(),this.disconnectOnEnd(this.source),this.source.playbackRate.value=Math.abs(this.msg.speed),this.prepareBuffer(),this.buffer!=null)this.source.buffer=this.buffer,this.start();else{var et=this,tt=1e3*(this.msg.when-this.ac.currentTime-.2);tt<=0&&(tt=1e3*(this.msg.when-this.ac.currentTime-.2)),tt>0&&setTimeout(function(){et.prepareBuffer(),et.buffer!=null?(et.source.buffer=et.buffer,et.start()):(console.log("WebDirt: unable to access sample "+$.s+":"+$.n+" on second attempt"),et.stopAll())},tt)}this.cut(this.msg.cut,this.msg.s),_e=this.shape(_e,this.msg.shape),_e=this.lowPassFilter(_e,this.msg.cutoff,this.msg.resonance),_e=this.highPassFilter(_e,this.msg.hcutoff,this.msg.hresonance),_e=this.bandPassFilter(_e,this.msg.bandf,this.msg.bandq),_e=this.vowel(_e,this.msg.vowel),_e=this.delay(_e,this.msg.delay,this.msg.delaytime,this.msg.delayfeedback),_e=this.loop(_e,this.msg.loop,this.msg.begin,this.msg.end,this.msg.speed),_e=this.crush(_e,this.msg.crush),_e=this.coarse(_e,this.msg.coarse),this.unit(this.msg.unit,this.msg.speed);var nt=parseFloat(this.msg.gain);isNaN(nt)&&(nt=1),nt>2&&(nt=2),nt<0&&(nt=0);var st=parseFloat(this.msg.overgain);isNaN(st)||(nt+=st),nt=Math.pow(nt,4);var rt,it,at,ot=parseFloat($.pan);if(isNaN(ot)&&(ot=.5),this.audioOutputs==2)(ot>1||ot<0)&&(ot-=Math.floor(ot)),rt=ot,it=0,at=1;else{var dt=(ot-=Math.floor(ot))*this.audioOutputs;(at=(it=Math.floor(dt))+1)>=this.audioOutputs&&(at=0),rt=dt-Math.floor(dt)}var ct=this.ac.createGain();this.disconnectOnEnd(ct);var ut=this.ac.createGain();this.disconnectOnEnd(ut),ct.gain.value=Math.cos(rt*Math.PI/2)*nt,ut.gain.value=Math.sin(rt*Math.PI/2)*nt,_e.connect(ct),_e.connect(ut),this.gain1=ct,this.gain2=ut;var lt=this.ac.createChannelMerger(this.audioOutputs);this.disconnectOnEnd(lt),ct.connect(lt,0,it),ut.connect(lt,0,at),lt.connect(this.outputNode)}else this.stopAll()}function d($,j){let _e=parseFloat($);return isNaN(_e)?j:_e>1?1:_e<0?0:_e}s.r(a),s.d(a,{WebDirt:()=>k}),c.prototype.prepareBuffer=function(){typeof this.bufferContainer=="object"?typeof this.bufferContainer.buffer=="object"&&(this.msg.speed>=0?this.buffer=this.bufferContainer.buffer:(typeof this.bufferContainer.reverseBuffer=="object"||(this.bufferContainer.reverseBuffer=this.reverseBuffer(this.ac,this.bufferContainer.buffer)),this.buffer=this.bufferContainer.reverseBuffer)):(this.msg.speed>=0?this.buffer=this.sampleBank.getBuffer(this.msg.s,this.msg.n):this.buffer=this.sampleBank.getReverseBuffer(this.msg.s,this.msg.n),this.buffer=this.accel(this.buffer,this.msg.accelerate,this.msg.speed))},c.prototype.disconnectOnEnd=function($){this.source.disconnectQueue==null&&(this.source.disconnectQueue=new Array),this.source.disconnectQueue.unshift($)},c.prototype.start=function(){let $=Math.abs(this.msg.speed),j=(this.msg.end-this.msg.begin)*this.source.buffer.duration/$,_e=this.msg.begin*this.source.buffer.duration;this.source.start(this.when,_e,j)},c.prototype.stopAll=function(){if(this.source!=null&&this.source.disconnectQueue!=null){for(var $=0;$1&&this.workletsAvailable){var _e=new AudioWorkletNode(this.ac,"coarse-processor");return _e.parameters.get("coarse").value=j,$.connect(_e),this.disconnectOnEnd(_e),_e}return $},c.prototype.crush=function($,j){if(j=parseInt(j),isNaN(j)&&(j=null),j!=null&&j>0&&this.workletsAvailable){var _e=new AudioWorkletNode(this.ac,"crush-processor");return _e.parameters.get("crush").value=j,$.connect(_e),this.disconnectOnEnd(_e),_e}return $},c.prototype.cut=function($,j){if($=parseInt($),!isNaN($)&&$!=0){for(var _e={cutGroup:$,node:this,sampleName:j},et=0;et2e4&&(j=2e4),isNaN(parseFloat(_e))&&(_e=0),_e<0&&(_e=0),_e>1&&(_e=1),_e=1/(_e=1-.999*(_e*=_e));var et=this.ac.createBiquadFilter();return this.disconnectOnEnd(et),et.type="highpass",et.frequency.value=j,et.Q.value=_e,$.connect(et),et},c.prototype.lowPassFilter=function($,j,_e){if(isNaN(parseFloat(j))&&isNaN(parseFloat(_e)))return $;isNaN(parseFloat(j))&&(j=440),j<20&&(j=20),j>2e4&&(j=2e4),isNaN(parseFloat(_e))&&(_e=0),_e<0&&(_e=0),_e>1&&(_e=1),_e=1/(_e=1-.999*(_e*=_e));var et=this.ac.createBiquadFilter();return this.disconnectOnEnd(et),et.type="lowpass",et.frequency.value=j,et.Q.value=_e,$.connect(et),et},c.prototype.bandPassFilter=function($,j,_e){if(isNaN(parseFloat(j))&&isNaN(parseFloat(_e)))return $;isNaN(parseFloat(j))&&(j=440),j<20&&(j=20),j>2e4&&(j=2e4),isNaN(parseFloat(_e))&&(_e=10),_e<1&&(_e=1),_e>100&&(_e=100);var et=this.ac.createBiquadFilter();return this.disconnectOnEnd(et),et.type="bandpass",et.frequency.value=j,et.Q.value=_e,et.gain.value=_e,$.connect(et),et},c.prototype.loop=function($,j){if(isNaN(parseInt(j))||j==0)return $;try{var _e=this.source.buffer.duration-this.msg.begin*this.source.buffer.duration-(1-this.msg.end)*this.source.buffer.duration;return this.source.loop=!0,this.source.loopStart=this.msg.begin*this.source.buffer.duration,this.source.loopEnd=this.msg.end*this.source.buffer.duration,this.source.stop(this.when+_e*j/this.source.playbackRate.value),$}catch{return console.log("WebDirt Warning: buffer data not yet available to calculate loop time - no looping applied"),$}},c.prototype.accelerate=function($,j){if(j=Math.abs(j),isNaN(parseFloat($))&&($=0),$!=0){$=parseFloat($),this.source.playbackRate.setValueAtTime(j,this.when);var _e=Math.abs((this.source.buffer.length*$/this.ac.sampleRate+j)/j),et=j+this.source.buffer.length*$/this.ac.sampleRate;if(et<0)this.source.buffer=this.negativeAccelerateBuffer(this.source.buffer,$,j),this.source.playbackRate.linearRampToValueAtTime(0,this.when+_e),this.source.playbackRate.linearRampToValueAtTime(1,this.when+this.source.buffer.duration);else try{this.source.playbackRate.linearRampToValueAtTime(et,this.when+this.source.buffer.duration)}catch{console.log("WebDirt: Warning, buffer data not loaded, could not apply acclerate effect")}}},c.prototype.negativeAccelerateBuffer=function($,j,_e){var et=$.length,tt=new Float32Array(et),nt=this.ac.createBuffer($.numberOfChannels,$.length,this.ac.sampleRate),st=new Float32Array(et),rt=Math.abs(_e/(_e-j))*et;rt=et*Math.abs((this.source.buffer.length*j/this.ac.sampleRate+_e)/_e)/this.source.buffer.duration,rt=Math.trunc(rt);for(var it=0;it<$.numberOfChannels;it++){$.copyFromChannel(tt,it,0);for(var at=0;at=1&&(j=.999),j>0&&this.workletsAvailable){var _e=new AudioWorkletNode(this.ac,"shape-processor");return _e.parameters.get("shape").value=j,$.connect(_e),this.disconnectOnEnd(_e),_e}return $},c.prototype.stop=function($){this.gain1.gain.setValueAtTime(this.gain1.gain.value,$),this.gain1.gain.linearRampToValueAtTime(0,$+.02),this.gain2.gain.setValueAtTime(this.gain1.gain.value,$),this.gain2.gain.linearRampToValueAtTime(0,$+.02)},c.prototype.unit=function($,j){$=="c"&&(this.source.playbackRate.value=this.source.playbackRate.value*this.source.buffer.duration)},c.prototype.vowel=function($,j){if(typeof j!="string")return $;if((j=j.toLowerCase())=="a"||j=="e"||j=="i"||j=="o"||j=="u"){var _e,et,tt,nt=this.ac.createGain();switch(this.disconnectOnEnd(nt),j){case"a":_e=_.a.freqs,et=_.a.qs,tt=_.a.amps;break;case"e":_e=_.e.freqs,et=_.e.qs,tt=_.e.amps;break;case"i":_e=_.i.freqs,et=_.i.qs,tt=_.i.amps;break;case"o":_e=_.o.freqs,et=_.o.qs,tt=_.o.amps;break;case"u":_e=_.u.freqs,et=_.u.qs,tt=_.u.amps}for(var st=0;st<5;st++){var rt=this.ac.createGain();this.disconnectOnEnd(rt),rt.gain.value=tt[st];var it=this.ac.createBiquadFilter();this.disconnectOnEnd(it),it.type="bandpass",it.Q.value=et[st]/8,it.frequency.value=_e[st],$.connect(it),it.connect(rt),rt.connect(nt)}return nt.gain.value=8,nt}return $},c.prototype.reverseBuffer=function($,j){for(var _e=j.length,et=new Float32Array(_e),tt=$.createBuffer(j.numberOfChannels,j.length,$.sampleRate),nt=new Float32Array(_e),st=0;st{console.log("WebDirt: audio worklets added"),this.workletsAvailable=!0}).catch(j=>{console.log("WebDirt: error loading AudioWorklets.js: "+j),console.log("(WebDirt should still work but shape, coarse, and crush will have no effect)"),this.workletsAvailable=!1}):(console.log("WebDirt: browser does not support audio worklets"),console.log("(WebDirt should still work but shape, coarse, and crush will have no effect)"),this.workletsAvailable=!1),this.tempo={time:this.ac.currentTime,beats:0,bpm:30},this.clockDiff=Date.now()/1e3-this.ac.currentTime,this.sampleBank!=null&&(this.sampleBank.ac=this.ac),this.silentNote=this.ac.createOscillator(),this.silentNote.type="sine",this.silentNote.frequency.value=440,this.silentGain=this.ac.createGain(),this.silentGain.gain.value=0,this.silentNote.connect(this.silentGain),this.silentGain.connect(this.ac.destination),this.silentNote.start();var $=this;setTimeout(function(){$.silentGain.disconnect($.ac.destination),$.silentNote.disconnect($.silentGain),$.silentNote.stop(),$.silentGain=null,$.silentNote=null},500)}console.log("WebDirt: initializeWebAudio finished.")},k.prototype.playSample=function($,j){if(j==null&&(j=this.latency),$.whenPosix!=null&&($.when=$.whenPosix-(new Date().getTime()/1e3-this.ac.currentTime)),$.when==null&&($.when=this.ac.currentTime),$.when=$.when+j,typeof $.maxLateness!="number"&&($.maxLateness=this.maxLateness),this.ac.currentTime-$.when>$.maxLateness)return void console.log("WebDirt warning: dropping msg late by "+(this.ac.currentTime-$.when)+" seconds");let _e=new c($,this);return this.eventCounter++,_e},k.prototype.playScore=function($,j,_e){this.initializeWebAudio(),j==null&&(j=this.latency);for(var et=this.ac.currentTime,tt=0,nt=0;nt<$.length;nt++){var st=$[nt];st.when>tt&&(tt=st.when),st.when=st.when+et,st.s!=null&&(st.sample_name=st.s),st.n!=null&&(st.sample_n=st.n),this.playSample(st,j)}setTimeout(function(){typeof _e=="function"&&_e()},1e3*(tt+j))},k.prototype.playScoreWhenReady=function($,j,_e,et){this.initializeWebAudio(),j==null&&(j=this.latency);for(var tt=$.length,nt=0;nt<$.length;nt++){var st=$[nt],rt=this;st.s!=null&&(st.sample_name=st.s),st.n!=null&&(st.sample_n=st.n),this.sampleBank!=null&&this.sampleBank.load(st.sample_name,st.sample_n,function(){(tt-=1)<=0&&(rt.playScore($,j,et),typeof _e=="function"&&_e())})}},k.prototype.loadAndPlayScore=function($,j,_e,et){this.initializeWebAudio(),j==null&&(j=this.latency);var tt=new XMLHttpRequest;tt.open("GET",$,!0),tt.responseType="json";var nt=this;tt.onload=function(){if(tt.readyState!=4)throw Error("readyState != 4 in callback of loadAndPlayScore");if(tt.status!=200)throw Error("status != 200 in callback of loadAndPlayScore");if(tt.response==null)throw Error("JSON response null in callback of loadAndPlayScore");console.log("playing JSON score from "+$),nt.playScoreWhenReady(tt.response,j,_e,et)},tt.send()},k.prototype.renderAndPlayScore=function($,j,_e,et,tt,nt,st){this.initializeWebAudio(),tt==null&&(tt=this.latency),window.WebSocket=window.WebSocket||window.MozWebSocket,console.log("WebDirt.renderAndPlayScore: attempting websocket connection to "+$);var rt=new WebSocket($);rt.onerror=function(){console.log(" ERROR opening websocket connection to "+$)},rt.onopen=function(){console.log(" websocket connection to "+$+" established");try{var at='{"render":'+JSON.stringify(j)+',"cps":'+_e+',"cycles":'+et+"}";console.log(at),rt.send(at),console.log(" render request sent")}catch{console.log(" EXCEPTION during transmission of render request"),rt.close()}};var it=this;rt.onmessage=function(at){var ot=JSON.parse(at.data);if(!ot instanceof Array)return console.log(" WebDirt warning: rendering socket received non-array message"),console.log(typeof ot),void(globalX=ot);console.log(" received score from "+$),it.playScoreWhenReady(ot,tt,nt,st),console.log(" closing websocket connection to "+$),rt.close()}},k.prototype.subscribeToTidalSocket=function($,j){this.initializeWebAudio(),j==null&&(j=!1),window.WebSocket=window.WebSocket||window.MozWebSocket,console.log("WebDirt: attempting websocket connection to "+$),ws=new WebSocket($),ws.onopen=function(){console.log("websocket connection to tidalSocket opened")},ws.onerror=function(){console.log("ERROR opening websocket connection to tidalSocket")};var _e=this;ws.onmessage=function(et){if(et.data==null)throw Error("null data in tidalSocket onmessage handler");var tt=JSON.parse(et.data);if(tt.address==null)throw Error("received message from tidalSocket with no address: "+et.data);if(tt.address!="/play")throw Error("address of message from tidalSocket wasn't /play: "+et.data);if(tt.args.constructor!==Array)throw Error("ERROR: message from tidalSocket where args doesn't exist or isn't an array: "+et.data);if(tt.args.length!=30&&tt.args.length!=33)throw Error("ERROR: message from tidalSocket with "+tt.args.length+" args instead of 30 or 33: "+et.data);var nt={};nt.when=tt.args[0]+tt.args[1]/1e6+_e.clockDiff,nt.sample_name=tt.args[3],nt.begin=tt.args[5],nt.end=tt.args[6],nt.speed=tt.args[7],nt.pan=tt.args[8],nt.vowel=tt.args[10],nt.cutoff=tt.args[11],nt.resonance=tt.args[12],nt.accelerate=tt.args[13],nt.shape=tt.args[14],nt.gain=tt.args[16],nt.cut=tt.args[17],nt.delay=tt.args[18],nt.delaytime=tt.args[19],nt.delayfeedback=tt.args[20],nt.crush=tt.args[21],nt.coarse=tt.args[22],nt.hcutoff=tt.args[23],nt.hresonance=tt.args[24],nt.bandf=tt.args[25],nt.bandq=tt.args[26],nt.unit_name=tt.args[27],nt.sample_loop=tt.args[28],nt.sample_n=tt.args[29],tt.args.length==33&&(nt.attack=tt.args[30],nt.hold=tt.args[31],nt.release=tt.args[32]),_e.playSample(nt),j&&console.log(tt)}},k.prototype.getCurrentTime=function(){return this.ac.currentTime},k.prototype.syncWithEsp=function($){if(typeof EspClient=="function")if(this.espClient==null){this.espClient=new EspClient($,this.ac);var j=this;this.espClient.tempoCallback=function(_e){j.tempo=_e}}else this.espClient.setUrl($);else console.log("WebDirt ERROR: syncWithEsp called but EspClient does not exist")},k.prototype.setTempo=function($){if(typeof $.time!="number")throw Error("WebDirt: no time in setTempo");if(typeof $.beats!="number")throw Error("WebDirt: no beats in setTempo");if(typeof $.bpm!="number")throw Error("WebDirt: no bpm in setTempo");this.espClient!=null&&this.espClient.sendSetTempo($),this.tempo=$},k.prototype.sampleHint=function($){this.sampleBank!=null&&(console.log("WebDirt received sample hint: "+$),this.sampleBank.loadAllNamed($))},a})())})(WebDirtPacked$1);var WebDirtPacked=getDefaultExportFromCjs(WebDirtPacked$1.exports),WebDirt=_mergeNamespaces({__proto__:null,default:WebDirtPacked},[WebDirtPacked$1.exports]);const bufferCache={},loadCache={},getCachedBuffer=o=>bufferCache[o],loadBuffer=(o,e)=>(loadCache[o]||(loadCache[o]=fetch(o).then(s=>s.arrayBuffer()).then(async s=>{const a=await e.decodeAudioData(s);return bufferCache[o]=a,a})),loadCache[o]),getLoadedBuffer=o=>bufferCache[o],githubCache={};let sampleCache={current:void 0};const loadGithubSamples=async(o,e)=>{const s="loadGithubSamples "+o,a=localStorage.getItem(s);if(a&&(console.log("[sampler]: loaded sample list from localstorage",o),githubCache[o]=JSON.parse(a)),githubCache[o])return sampleCache.current=githubCache[o],githubCache[o];console.log("[sampler]: fetching sample list from github",o);try{const[c,d,..._]=o.split("/"),b=`https://api.github.com/repos/${c}/${d}/contents`,k=await fetch(`${b}/${_.join("/")}`).then($=>$.json());githubCache[o]=(await Promise.all(k.map(async({name:$,path:j})=>({name:$,content:await fetch(`${b}/${j}`).then(_e=>_e.json()).catch(_e=>{console.error("could not load path",_e)})})))).filter(({content:$})=>!!$).reduce(($,{name:j,content:_e})=>kt(Dt({},$),{[(e==null?void 0:e(j))||j]:_e.map(({download_url:et})=>et)}),{})}catch(c){console.error("[sampler]: failed to fetch sample list from github",c);return}return sampleCache.current=githubCache[o],localStorage.setItem(s,JSON.stringify(sampleCache.current)),console.log("[sampler]: loaded samples:",sampleCache.current),githubCache[o]},samples=(o,e=o._base)=>{sampleCache.current=Dt(Dt({},sampleCache.current),Object.fromEntries(Object.entries(o).map(([s,a])=>[s,(typeof a=="string"?[a]:a).map(c=>(e+c).replace("github:","https://raw.githubusercontent.com/"))])))},resetLoadedSamples=()=>{sampleCache.current=void 0},getLoadedSamples$1=()=>sampleCache.current,{Pattern:Pattern$1}=strudel;let audioContext;const getAudioContext=()=>(audioContext||(audioContext=new AudioContext),audioContext),getFilter=(o,e,s)=>{const a=getAudioContext().createBiquadFilter();return a.type=o,a.frequency.value=e,a.Q.value=s,a},getADSR=(o,e,s,a,c,d,_)=>{const b=getAudioContext().createGain();return b.gain.setValueAtTime(0,d),b.gain.linearRampToValueAtTime(c,d+o),b.gain.linearRampToValueAtTime(s*c,d+o+e),b.gain.setValueAtTime(s*c,_),b.gain.linearRampToValueAtTime(0,_+a),b};Pattern$1.prototype.out=function(){return this.onTrigger(async(o,e,s)=>{const a=getAudioContext();o=a.currentTime+o-s;let{freq:c,s:d,n:_=0,gain:b=1,cutoff:k,resonance:$=1,hcutoff:j,hresonance:_e=1,bandf:et,bandq:tt=1,pan:nt,attack:st=.001,decay:rt=0,sustain:it=1,release:at=.001,speed:ot=1,begin:dt=0,end:ct=1}=e.value;const ut=[];if(!d||["sine","square","triangle","sawtooth"].includes(d)){!c&&typeof _=="number"&&(c=fromMidi(_)),!c&&typeof _=="string"&&(c=fromMidi(toMidi(_)));const ht=a.createOscillator();ht.type=d||"triangle",ht.frequency.value=Number(c),ht.start(o),ht.stop(o+e.duration+at),ut.push(ht);const pt=a.createGain();pt.gain.value=.5,ut.push(pt);const gt=getADSR(st,rt,it,at,1,o,o+e.duration);ut.push(gt)}else{const ht=getLoadedSamples();if(!ht){console.warn("no samples loaded");return}if(ht==null?void 0:ht[d]){if(ot===0)return;if(!d){console.warn("no sample specified");return}const gt=ht[d],yt=gt[_%gt.length];let ft=await loadBuffer(yt,a);if(a.currentTime>o){console.warn("sample still loading:",d,_);return}const mt=a.createBufferSource();mt.buffer=ft,mt.playbackRate.value=Math.abs(ot);let Et=mt.buffer.duration;const _t=dt*Et;Et=(ct-dt)*Et/Math.abs(ot),mt.start(o,_t,Et),mt.stop(o+Et),ut.push(mt)}else{console.warn("sample not found:",d,"try one of "+Object.keys(ht));return}}if(k!==void 0&&ut.push(getFilter("lowpass",k,$)),j!==void 0&&ut.push(getFilter("highpass",j,_e)),et!==void 0&&ut.push(getFilter("bandpass",et,tt)),nt!==void 0){const ht=a.createStereoPanner();ht.pan.value=2*nt-1,ut.push(ht)}const lt=a.createGain();lt.gain.value=.8*b,ut.push(lt),ut.push(a.destination),ut.slice(1).reduce((ht,pt)=>ht.connect(pt),ut[0])})};const{Pattern}=strudel;let webDirt;function loadWebDirt(o){webDirt=new WebDirtPacked$1.exports.WebDirt(o),webDirt.initializeWebAudio()}Pattern.prototype.webdirt=function(){return this._withHap(o=>{const e=async(s,a,c)=>{if(!webDirt)throw new Error("WebDirt not initialized!");const d=s-c,j=a.value||{},{s:_,n:b=0}=j,k=dn(j,["s","n"]);_||console.warn('Pattern.webdirt: no "s" was set!');const $=getLoadedSamples$1();if(!($!=null&&$[_])){webDirt.playSample(Dt({s:_,n:b},k),d);return}if(!($!=null&&$[_]))console.warn(`Pattern.webdirt: sample "${_}" not found in loaded samples`,$);else{const _e=$[_],et=_e[b%_e.length],tt=getLoadedBuffer(et);if(!tt)console.log(`Pattern.webdirt: load ${_}:${b} from ${et}`),loadBuffer(et,webDirt.ac);else{const nt=Dt({buffer:{buffer:tt}},k);webDirt.playSample(nt,d)}}};return o.setContext(kt(Dt({},o.context),{onTrigger:e}))})};evalScope(Tone,controls,{WebDirt},__vitePreload(()=>Promise.resolve().then(function(){return strudel}),void 0),__vitePreload(()=>import("./index.8281fc7b.js"),[]),__vitePreload(()=>import("./index.f7d7871f.js"),[]),__vitePreload(()=>import("./index.7fcb2754.js"),[]),__vitePreload(()=>import("./index.d29952a8.js"),[]),__vitePreload(()=>import("./index.f2bd88fb.js"),[]),__vitePreload(()=>import("./index.2a59e383.js"),[]),__vitePreload(()=>import("./osc.1849dfcf.js"),[]),__vitePreload(()=>import("./index.ad286d43.js"),[]),__vitePreload(()=>import("./serial.cc6ffa73.js"),[]));loadWebDirt({sampleMapUrl:"EmuSP12.json",sampleFolder:"EmuSP12"});const initialUrl=window.location.href,codeParam=window.location.href.split("#")[1];let decoded;try{decoded=atob(decodeURIComponent(codeParam||""))}catch(o){console.warn("failed to decode",o)}function getRandomTune(){const o=Object.values(tunes);return(s=>s[Math.floor(Math.random()*s.length)])(o)}const randomTune=getRandomTune(),defaultSynth=getDefaultSynth(),isEmbedded=window.location!==window.parent.location;function App(){const[o,e]=react.exports.useState(),{setCode:s,setPattern:a,error:c,code:d,cycle:_,dirty:b,log:k,togglePlay:$,activeCode:j,setActiveCode:_e,activateCode:et,pattern:tt,pushLog:nt,pending:st}=useRepl({tune:decoded||randomTune,defaultSynth}),rt=react.exports.useRef();return react.exports.useLayoutEffect(()=>{var it;rt.current&&(rt.current.scrollTop=(it=rt.current)==null?void 0:it.scrollHeight)},[k]),react.exports.useLayoutEffect(()=>{const it=async at=>{(at.ctrlKey||at.altKey)&&(at.code==="Enter"?(at.preventDefault(),await et()):at.code==="Period"&&(_.stop(),at.preventDefault()))};return window.addEventListener("keydown",it,!0),()=>window.removeEventListener("keydown",it,!0)},[tt,d,et,_]),useHighlighting({view:o,pattern:tt,active:_.started&&!(j!=null&&j.includes("strudel disable-highlighting"))}),useWebMidi({ready:react.exports.useCallback(({outputs:it})=>{nt(`WebMidi ready! Just add .midi(${it.map(at=>`'${at.name}'`).join(" | ")}) to the pattern. `)},[nt]),connected:react.exports.useCallback(({outputs:it})=>{nt(`Midi device connected! Available: ${it.map(at=>`'${at.name}'`).join(", ")}`)},[nt]),disconnected:react.exports.useCallback(({outputs:it})=>{nt(`Midi device disconnected! Available: ${it.map(at=>`'${at.name}'`).join(", ")}`)},[nt])}),jsxs("div",{className:"min-h-screen flex flex-col",children:[jsxs("header",{id:"header",className:cx("flex-none w-full px-2 flex border-b border-gray-200 justify-between z-[10] bg-gray-100",isEmbedded?"h-8":"h-14"),children:[jsxs("div",{className:"flex items-center space-x-2",children:[jsx("img",{src:logo,className:cx("Tidal-logo",isEmbedded?"w-6 h-6":"w-10 h-10"),alt:"logo"}),jsxs("h1",{className:isEmbedded?"text-l":"text-xl",children:["Strudel ",isEmbedded?"Mini ":"","REPL"]})]}),jsxs("div",{className:"flex",children:[jsx("button",{onClick:()=>{getAudioContext().resume(),$()},className:cx("hover:bg-gray-300",isEmbedded?"px-2":"p-2"),children:st?jsx(Fragment,{children:"loading..."}):jsxs("span",{className:cx("flex items-center","w-16"),children:[_.started?jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zM7 8a1 1 0 012 0v4a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v4a1 1 0 102 0V8a1 1 0 00-1-1z",clipRule:"evenodd"})}):jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor",children:jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z",clipRule:"evenodd"})}),_.started?"pause":"play"]})}),!isEmbedded&&jsx("button",{className:"hover:bg-gray-300 p-2",onClick:async()=>{const it=getRandomTune();console.log("tune",it),s(it),cleanupDraw(),cleanupUi(),resetLoadedSamples();const at=await evaluate(it);a(at.pattern),_e(it)},children:"\u{1F3B2} random"}),!isEmbedded&&jsx("button",{className:cx("hover:bg-gray-300",isEmbedded?"px-2":"p-2"),children:jsx("a",{href:"./tutorial",children:"\u{1F4DA} tutorial"})}),isEmbedded&&jsx("button",{className:cx("hover:bg-gray-300 px-2"),children:jsx("a",{href:window.location.href,target:"_blank",rel:"noopener noreferrer",title:"Open in REPL",children:"\u{1F680} open"})}),isEmbedded&&jsx("button",{className:cx("hover:bg-gray-300 px-2"),children:jsx("a",{onClick:()=>{window.location.href=initialUrl,window.location.reload()},title:"Reset",children:"\u{1F494} reset"})})]})]}),jsxs("section",{className:"grow flex flex-col text-gray-100",children:[jsxs("div",{className:"grow relative flex overflow-auto",id:"code",children:[jsx(CodeMirror,{value:d,onChange:s,onViewChanged:e}),jsx("span",{className:"z-[20] py-1 px-2 absolute top-0 right-0 text-xs whitespace-pre text-right pointer-events-none",children:_.started?b?`ctrl+enter to update `:`no changes `:`press ctrl+enter to play `}),c&&jsx("div",{className:cx("absolute right-2 bottom-2 px-2","text-red-500"),children:(c==null?void 0:c.message)||"unknown error"})]}),!isEmbedded&&jsx("textarea",{className:"z-[10] h-16 border-0 text-xs bg-[transparent] border-t border-slate-600 resize-none",value:k,readOnly:!0,ref:rt,style:{fontFamily:"monospace"}})]})]})}var index="";ReactDOM.render(jsx(React.StrictMode,{children:jsx(App,{})}),document.getElementById("root"));export{getAugmentedNamespace as A,commonjsGlobal as B,getDefaultExportFromCjs as C,reify$1 as D,stack as E,strudel as F,enableWebMidi as G,Hap as H,TimeSpan$1 as I,getAudioContext as J,getCachedBuffer as K,loadBuffer as L,getLoadedBuffer as M,loadGithubSamples as N,samples as O,Pattern$5 as P,resetLoadedSamples as Q,getLoadedSamples$1 as R,State$1 as S,Tone as T,loadWebDirt as U,WebMidi as W,amsynth as a,metal as b,monosynth as c,duosynth as d,polysynth as e,fmsynth as f,getDefaultSynth as g,players as h,synth as i,piano as j,highpass as k,lowpass as l,membrane as m,noise as n,adsr as o,pluck as p,osc as q,out as r,sampler as s,getDrawContext$1 as t,cleanupDraw as u,vol as v,hideHeader as w,backgroundImage as x,cleanupUi as y,mod as z}; diff --git a/assets/index.3ce8d5c9.js b/assets/index.3ce8d5c9.js deleted file mode 100644 index 3ece00735..000000000 --- a/assets/index.3ce8d5c9.js +++ /dev/null @@ -1 +0,0 @@ -import{W as a,G as b}from"./index.da4a4bfc.js";export{a as WebMidi,b as enableWebMidi}; diff --git a/tutorial/assets/index.38fb2b45.js b/assets/index.7fcb2754.js similarity index 99% rename from tutorial/assets/index.38fb2b45.js rename to assets/index.7fcb2754.js index 36671e445..22c2c461d 100644 --- a/tutorial/assets/index.38fb2b45.js +++ b/assets/index.7fcb2754.js @@ -1,4 +1,4 @@ -var tt=Object.defineProperty,nt=Object.defineProperties;var at=Object.getOwnPropertyDescriptors;var M=Object.getOwnPropertySymbols;var Pe=Object.prototype.hasOwnProperty,Oe=Object.prototype.propertyIsEnumerable;var Re=(a,f,r)=>f in a?tt(a,f,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[f]=r,H=(a,f)=>{for(var r in f||(f={}))Pe.call(f,r)&&Re(a,r,f[r]);if(M)for(var r of M(f))Oe.call(f,r)&&Re(a,r,f[r]);return a},J=(a,f)=>nt(a,at(f));var qe=(a,f)=>{var r={};for(var $ in a)Pe.call(a,$)&&f.indexOf($)<0&&(r[$]=a[$]);if(a!=null&&M)for(var $ of M(a))f.indexOf($)<0&&Oe.call(a,$)&&(r[$]=a[$]);return r};import{C as it}from"./index.171fdc07.js";function ft(a,f){function r(){this.constructor=a}r.prototype=f.prototype,a.prototype=new r}function D(a,f,r,$){var l=Error.call(this,a);return Object.setPrototypeOf&&Object.setPrototypeOf(l,D.prototype),l.expected=f,l.found=r,l.location=$,l.name="SyntaxError",l}ft(D,Error);function K(a,f,r){return r=r||" ",a.length>f?a:(f-=a.length,r+=r.repeat(f),a+r.slice(0,f))}D.prototype.format=function(a){var f="Error: "+this.message;if(this.location){var r=null,$;for($=0;$f in a?tt(a,f,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[f]=r,H=(a,f)=>{for(var r in f||(f={}))Pe.call(f,r)&&Re(a,r,f[r]);if(M)for(var r of M(f))Oe.call(f,r)&&Re(a,r,f[r]);return a},J=(a,f)=>nt(a,at(f));var qe=(a,f)=>{var r={};for(var $ in a)Pe.call(a,$)&&f.indexOf($)<0&&(r[$]=a[$]);if(a!=null&&M)for(var $ of M(a))f.indexOf($)<0&&Oe.call(a,$)&&(r[$]=a[$]);return r};import{F as it}from"./index.3580fc4e.js";function ft(a,f){function r(){this.constructor=a}r.prototype=f.prototype,a.prototype=new r}function D(a,f,r,$){var l=Error.call(this,a);return Object.setPrototypeOf&&Object.setPrototypeOf(l,D.prototype),l.expected=f,l.found=r,l.location=$,l.name="SyntaxError",l}ft(D,Error);function K(a,f,r){return r=r||" ",a.length>f?a:(f-=a.length,r+=r.repeat(f),a+r.slice(0,f))}D.prototype.format=function(a){var f="Error: "+this.message;if(this.location){var r=null,$;for($=0;$ `+m+` `+w+` | `+l.line+" | "+E+` diff --git a/assets/index.bb8baa2d.js b/assets/index.8281fc7b.js similarity index 88% rename from assets/index.bb8baa2d.js rename to assets/index.8281fc7b.js index 8dfd3822e..de23dd85d 100644 --- a/assets/index.bb8baa2d.js +++ b/assets/index.8281fc7b.js @@ -1 +1 @@ -import{T as e,o as n,a as o,x as t,u as h,y as l,d as p,f as r,g as m,t as y,w as u,k as c,l as d,m as g,b as i,c as f,n as w,q as b,r as k,j as x,h as D,p as v,e as T,s as j,i as q,v as C}from"./index.da4a4bfc.js";export{e as Tone,n as adsr,o as amsynth,t as backgroundImage,h as cleanupDraw,l as cleanupUi,p as duosynth,r as fmsynth,m as getDefaultSynth,y as getDrawContext,u as hideHeader,c as highpass,d as lowpass,g as membrane,i as metal,f as monosynth,w as noise,b as osc,k as out,x as piano,D as players,v as pluck,T as polysynth,j as sampler,q as synth,C as vol}; +import{T as e,o as n,a as o,x as t,u as h,y as l,d as p,f as r,g as m,t as y,w as u,k as c,l as d,m as g,b as i,c as f,n as w,q as b,r as k,j as x,h as D,p as v,e as T,s as j,i as q,v as C}from"./index.3580fc4e.js";export{e as Tone,n as adsr,o as amsynth,t as backgroundImage,h as cleanupDraw,l as cleanupUi,p as duosynth,r as fmsynth,m as getDefaultSynth,y as getDrawContext,u as hideHeader,c as highpass,d as lowpass,g as membrane,i as metal,f as monosynth,w as noise,b as osc,k as out,x as piano,D as players,v as pluck,T as polysynth,j as sampler,q as synth,C as vol}; diff --git a/assets/index.ad286d43.js b/assets/index.ad286d43.js new file mode 100644 index 000000000..325d18ccb --- /dev/null +++ b/assets/index.ad286d43.js @@ -0,0 +1 @@ +import{U as a}from"./index.3580fc4e.js";export{a as loadWebDirt}; diff --git a/assets/index.d29952a8.js b/assets/index.d29952a8.js new file mode 100644 index 000000000..28494de10 --- /dev/null +++ b/assets/index.d29952a8.js @@ -0,0 +1 @@ +import{W as a,G as b}from"./index.3580fc4e.js";export{a as WebMidi,b as enableWebMidi}; diff --git a/assets/index.962e1056.js b/assets/index.f2bd88fb.js similarity index 99% rename from assets/index.962e1056.js rename to assets/index.f2bd88fb.js index 38d4c28f7..d401d885c 100644 --- a/assets/index.962e1056.js +++ b/assets/index.f2bd88fb.js @@ -1 +1 @@ -var h=Object.defineProperty,q=Object.defineProperties;var g=Object.getOwnPropertyDescriptors;var p=Object.getOwnPropertySymbols;var y=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable;var m=(i,n,e)=>n in i?h(i,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[n]=e,c=(i,n)=>{for(var e in n||(n={}))y.call(n,e)&&m(i,e,n[e]);if(p)for(var e of p(n))b.call(n,e)&&m(i,e,n[e]);return i},a=(i,n)=>q(i,g(n));import{P as o,z as _}from"./index.da4a4bfc.js";function S(i){if(!/^[1-9]+[0-9]*edo$/.test(i))throw new Error('not an edo scale: "'+i+'"');const[n,e]=i.match(/^([1-9]+[0-9]*)edo$/);return Array.from({length:e},(r,s)=>Math.pow(2,s/e))}const f={"12ji":[1/1,16/15,9/8,6/5,5/4,4/3,45/32,3/2,8/5,5/3,16/9,15/8]};function v(i,n){return n.map(e=>e*i)}const w=220;function k(i,n){if(typeof i=="string")if(/^[1-9]+[0-9]*edo$/.test(i))i=S(i);else if(f[i])i=f[i];else throw new Error('unknown scale name: "'+i+'"');return i=v(w,i),n?i.filter((e,r)=>n.includes(r)):i}function l(i,n,e=0){const r=_(e+n,i.length),s=Math.floor(n/i.length);return i[r]*Math.pow(2,s)}o.prototype._xen=function(i,n){return this._asNumber()._withHap(e=>{const r=k(i);n=n||r.length;const s=l(r,e.value);return e.withValue(()=>s).setContext(a(c({},e.context),{type:"frequency"}))})};o.prototype.tuning=function(i){return this._asNumber()._withHap(n=>{const e=l(i,n.value);return n.withValue(()=>e).setContext(a(c({},n.context),{type:"frequency"}))})};o.prototype.define("xen",(i,n)=>n.xen(i),{composable:!0,patternified:!0});function t(){this.scale=[],this.mode={output:"frequency",input:"step"},this.etmajor=[261.62558,293.664764,329.627563,349.228241,391.995422,440,493.883301,523.25116],this.tonic=440}t.prototype.tonicize=function(i){this.tonic=i};t.prototype.note=function(i,n){var e;return this.mode.output=="frequency"?e=this.frequency(i,n):this.mode.output=="ratio"?e=this.ratio(i,n):this.mode.output=="MIDI"?e=this.MIDI(i,n):e=this.frequency(i,n),e};t.prototype.frequency=function(i,n){(this.mode.input=="midi"||this.mode.input=="MIDI")&&(this.stepIn+=60);var e=Math.floor(i/this.scale.length);n&&(e+=n);for(var r=i%this.scale.length;r<0;)r+=this.scale.length;var s=this.tonic*this.scale[r];return s=s*Math.pow(2,e),s=Math.floor(s*1e11)/1e11,s};t.prototype.ratio=function(i,n){(this.mode.input=="midi"||this.mode.input=="MIDI")&&(this.stepIn+=60);var e=Math.floor(i/this.scale.length);n&&(e+=n);var r=i%this.scale.length,s=Math.pow(2,e)*this.scale[r];return s=Math.floor(s*1e11)/1e11,s};t.prototype.MIDI=function(i,n){var e=this.frequency(i,n),r=69+12*Math.log(e/440)/Math.log(2);return r=Math.floor(r*1e9)/1e9,r};t.prototype.loadScale=function(i){var n=u[i].frequencies;this.scale=[];for(var e=0;e[1, 1, -1]->[0, 1, -1]->[0, 0, -1]->[0, 0, 0]->[0, -1, 0],[0, -1, 1]->[0, -2, 1]->[-1, -2, 1]"},breedt1:{frequencies:[261.6255653006,275.62199471997,292.34127285051,310.07474405997,326.6631048533,348.83408706747,367.49599295996,391.11111150212,413.43299207996,437.02884834934,465.11211608996,489.99465727995,523.2511306012],description:"Graham Breed's 1/4 P temperament, TL 10-06-99"},breedt2:{frequencies:[261.6255653006,276.37000081643,293.53214922797,310.91625060765,328.43856194079,349.78078158391,368.4933346061,392.4383479509,414.55500101742,439.10654054756,466.37437567834,492.65784266492,523.2511306012],description:"Graham Breed's 1/5 P temperament, TL 10-06-99"},breedt3:{frequencies:[261.6255653006,276.55731914056,293.33333347996,311.12698372208,328.88393162803,350.01785633742,368.74309237173,392.4383479509,414.83597850347,438.51190905657,466.69047534984,491.65745674141,523.2511306012],description:"Graham Breed's other 1/4 P temperament, TL 10-06-99"},brown:{frequencies:[261.6255653006,272.52663052146,275.62199471997,275.93321340298,279.38237857051,287.10624449997,290.69507255622,291.02331101095,294.32876096318,306.24666079997,306.59245933664,310.07474405997,310.42486507835,322.99452506247,327.03195662575,331.11985608357,344.52749339997,344.91651675372,348.83408706747,349.22797321314,363.36884069528,367.49599295996,367.91095120397,372.50983809402,382.80832599996,387.59343007496,388.03108134794,392.4383479509,408.78994578219,413.43299207996,413.89982010446,430.65936674996,436.04260883433,436.53496651643,441.49314144476,459.36999119996,459.88868900496,465.11211608996,465.63729761752,484.4917875937,489.99465727995,490.54793493862,496.67978412536,516.79124009995,517.37477513058,523.2511306012],description:"Tuning of Colin Brown's Voice Harmonium, Glasgow. Helmholtz/Ellis p. 470-473"},bruder:{frequencies:[261.6255653006,276.38325105256,293.66476791741,310.22971009486,327.53979283172,349.02656754477,368.60786575306,391.65594491223,414.34624765043,439.23819834286,465.62553897253,491.60634075178,523.2511306012],description:"Ignaz Bruder organ temperament (1829) according to P. Vier"},burma3:{frequencies:[261.6255653006,287.71029735626,317.68827763215,350.39147881787,389.32370520689,429.81331927092,476.14308821464,523.2511306012],description:"Burmese scale, von Hornbostel"},"burt-forks":{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,465.11211608996,470.92601754108,490.54793493862,504.56359022259,523.2511306012],description:"Warren Burt 19-tone Forks. Interval 5(3): pp. 13+23 Winter 1986-87"},burt1:{frequencies:[261.6255653006,272.09058791262,283.42769574232,295.75063903546,309.19384990071,340.11323489078,358.01393146398,377.90359432309,415.52295665389,425.14154361347,453.48431318771,485.87604984397,523.2511306012],description:"W. Burt's 13diatsub #1"},burt10:{frequencies:[261.6255653006,265.11390617127,268.69652652494,272.3773008609,276.16031892841,355.06326719367,368.21375857121,382.37582620857,386.08821287079,389.87339142835,393.73352401674,397.67085925691,523.2511306012],description:"W. Burt's 19enhsub #10"},burt11:{frequencies:[261.6255653006,344.24416486921,347.6866065179,351.12904816659,354.57148981529,358.01393146398,371.78369805875,385.55346465352,495.71159741166,502.59648070905,509.48136400643,516.36624730382,523.2511306012],description:"W. Burt's 19enhharm #11"},burt12:{frequencies:[261.6255653006,302.93486508491,316.70463167967,330.47439827444,344.24416486921,358.01393146398,371.78369805875,385.55346465352,440.63253103259,468.17206422213,495.71159741166,509.48136400643,523.2511306012],description:"W. Burt's 19diatharm #12"},burt13:{frequencies:[261.6255653006,273.51763645063,286.54228580542,293.53112204458,300.86940009569,334.29933343966,353.96400011258,376.08675011961,401.15920012759,429.81342870813,445.73244458621,462.87600014722,523.2511306012],description:"W. Burt's 23diatsub #13"},burt14:{frequencies:[261.6255653006,264.50057151269,267.43946675172,270.4444045804,273.51763645063,334.29933343966,353.96400011258,376.08675011961,382.05638107389,388.21858076863,394.58281979763,401.15920012759,523.2511306012],description:"W. Burt's 23enhsub #14"},burt15:{frequencies:[261.6255653006,341.25073734861,346.93824963775,352.6257619269,358.31327421604,364.00078650518,386.75083566176,409.50088481833,500.50108144463,506.18859373377,511.87610602291,517.56361831206,523.2511306012],description:"W. Burt's 23enhharm #15"},burt16:{frequencies:[261.6255653006,295.75063903546,307.12566361375,318.50068819203,341.25073734861,364.00078650518,386.75083566176,409.50088481833,455.00098313148,466.37600770977,477.75103228805,500.50108144463,523.2511306012],description:"W. Burt's 23diatharm #16"},burt17:{frequencies:[261.6255653006,262.27760655527,262.77528702311,280.51080915002,281.04308772525,281.33584094163,286.12102533302,286.66394947976,306.91182648178,308.56189006502,309.14739649778,336.61297098002,337.2517052703,337.60300912996,338.42271813583,339.41807907152,363.01398831179,369.18841978454,370.27426807802,396.01525997649,398.14437427744,399.31538714296,403.93556517602,406.10726176299,434.33931739357,434.79175418253,435.61678597414,437.95881170519,475.21831197179,476.86837555503,477.77324913293,478.27092960078,479.17846457156,521.20718087229,521.75010501903,522.74014316897,523.2511306012],description:`W. Burt's "2 out of 3,5,11,17,31 dekany" CPS with 1/1=3/1. 1/1 vol. 10(1) '98`},burt18:{frequencies:[261.6255653006,268.26840191956,269.80136421624,270.50397193556,275.42222597075,281.04308772525,286.15296204753,295.09524211152,300.46061014991,306.59245933664,309.14739649778,314.76825825228,321.92208230347,324.60476632267,337.2517052703,343.38355445704,344.27778246344,354.11429053382,357.69120255941,367.91095120397,370.97687579734,375.57576268738,393.46032281536,404.70204632437,413.13333895612,421.56463158788,429.2294430713,432.80635509689,449.66894036041,463.72109474667,472.15238737843,490.54793493862,491.82540351919,500.76768358318,505.87755790546,515.07533168556,523.2511306012],description:`W. Burt's "2 out of 1,3,5,7,11 dekany" CPS with 1/1=1/1. 1/1 vol. 10(1) '98`},burt19:{frequencies:[261.6255653006,268.26840191956,286.15296204753,294.32876096318,300.46061014991,306.59245933664,321.92208230347,327.03195662575,343.38355445704,357.69120255941,367.91095120397,375.57576268738,392.4383479509,400.61414686654,408.78994578219,429.2294430713,457.84473927605,490.54793493862,500.76768358318,515.07533168556,523.2511306012],description:`W. Burt's "2 out of 2,3,4,5,7 dekany" CPS with 1/1=1/1. 1/1 vol. 10(1) '98`},burt2:{frequencies:[261.6255653006,264.16561933264,266.75547834571,269.39662169567,272.09058791262,340.11323489078,344.41846571218,348.83408706747,353.36439988652,358.01393146398,412.25846653428,485.87604984397,523.2511306012],description:"W. Burt's 13enhsub #2"},burt20:{frequencies:[261.6255653006,269.10058145205,279.06726965397,279.38237857051,294.32876096318,298.00787047521,330.74639366397,335.25885428462,367.91095120397,376.74081403286,412.06026534844,418.60090448096,523.2511306012],description:'Warren Burt tuning for "Commas" (1993) 1/1=263. XH 16'},burt3:{frequencies:[261.6255653006,281.75060878526,332.06321749692,382.37582620857,387.40708707973,392.4383479509,397.46960882207,402.50086969323,503.12608711654,508.1573479877,513.18860885887,518.21986973003,523.2511306012],description:"W. Burt's 13enhharm #3"},burt4:{frequencies:[261.6255653006,281.75060878526,301.87565226992,322.00069575458,342.12573923925,362.25078272391,382.37582620857,402.50086969323,442.75095666255,462.87600014722,483.00104363188,503.12608711654,523.2511306012],description:"W. Burt's 13diatharm #4, see his post 3/30/94 in Tuning Digest #57"},burt5:{frequencies:[261.6255653006,277.97716313189,296.50897400735,317.68818643644,342.12573923925,277.97716313189,386.75083566176,404.33041910093,423.58424858192,444.76346101102,468.17206422213,494.18162334558,523.2511306012],description:"W. Burt's 17diatsub #5"},burt6:{frequencies:[261.6255653006,265.53042448419,269.55361273395,273.7005913914,277.97716313189,370.63621750918,386.75083566176,404.33041910093,408.97789518255,413.73345210327,418.60090448096,423.58424858192,523.2511306012],description:"W. Burt's 17enhsub #6"},burt7:{frequencies:[261.6255653006,323.18452184192,327.03195662575,330.87939140958,334.72682619341,338.57426097725,353.96400011258,369.35373924791,492.47165233054,500.16652189821,507.86139146587,515.55626103354,523.2511306012],description:"W. Burt's 17enhharm #7"},burt8:{frequencies:[261.6255653006,277.01530443593,292.40504357126,307.79478270659,323.18452184192,338.57426097725,353.96400011258,369.35373924791,400.13321751856,430.91269578922,461.69217405988,492.47165233054,523.2511306012],description:"W. Burt's 17diatharm #8"},burt9:{frequencies:[261.6255653006,268.69652652494,276.16031892841,292.40504357126,310.68035879446,355.06326719367,368.21375857121,382.37582620857,397.67085925691,414.24047839262,432.2509339749,451.89870370104,523.2511306012],description:"W. Burt's 19diatsub #9"},burt_fibo:{frequencies:[261.6255653006,277.97716313189,294.32876096318,311.70233365892,327.03195662575,343.38355445704,363.82305174615,385.28452389971,392.4383479509,425.14154361347,449.66894036041,476.24028683625,523.2511306012],description:'Warren Burt, 3/2+5/3+8/5+etc. "Recurrent Sequences", 2002'},burt_fibo23:{frequencies:[261.6255653006,267.05480676802,277.97716313189,282.81557538079,294.32876096318,299.5065008038,311.70233365892,327.03195662575,330.09788121912,343.38355445704,349.5792770728,363.82305174615,370.21039464899,385.28452389971,392.4383479509,408.02346463385,425.14154361347,432.10374737758,449.66894036041,457.60521391719,476.24028683625,484.61169812829,504.34459560877,523.2511306012],description:'Warren Burt, 23-tone Fibonacci scale. "Recurrent Sequences", 2002'},burt_primes:{frequencies:[261.6255653006,267.75741448733,273.88926367407,277.97716313189,280.0211128608,284.10901231862,290.24086150535,298.416660421,302.50455987882,304.54850960773,308.63640906555,310.68035879446,320.90010743902,322.94405716793,327.03195662575,333.16380581248,335.20775554139,339.29565499922,341.33960472813,351.55935337268,353.60330310159,359.73515228832,363.82305174615,365.86700147506,369.95490093288,376.08675011961,384.26254903526,390.39439822199,392.4383479509,394.48229767981,396.52624740872,402.65809659545,406.74599605328,412.87784524001,421.05364415565,425.14154361347,431.27339280021,433.31734252912,437.40524198694,445.58104090258,455.80078954714,457.84473927605,461.93263873387,463.97658846278,468.0644879206,474.19633710734,476.24028683625,482.37213602298,488.50398520971,492.59188466754,498.72373385427,506.89953276991,513.03138195665,519.16323114338,523.2511306012],description:'Warren Burt, primes until 251. "Some Numbers", Dec. 2002'},bushmen:{frequencies:[261.6255653006,347.0163224393,394.26624244126,453.9405988926,523.2511306012],description:"Observed scale of South-African bushmen, almost (4 notes) equal pentatonic"},dan_semantic:{frequencies:[261.6255653006,272.52663052146,275.62199471997,279.06726965397,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.07474405997,313.95067836072,322.99452506247,327.03195662575,331.11985608357,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,387.59343007496,392.4383479509,397.34382730029,408.78994578219,413.43299207996,418.60090448096,430.65936674996,436.04260883433,441.49314144476,459.88868900496,465.11211608996,470.92601754108,484.4917875937,490.54793493862,496.67978412536,516.79124009995,523.2511306012],description:'The Semantic Scale, from Alain Dani\xEF\xBF\xBDlou: "S\xEF\xBF\xBDmantique Musicale" (1967)'},danielou5_53:{frequencies:[261.6255653006,264.89588486686,267.90457886781,272.52663052146,275.62199471997,279.06726965397,282.55561052465,285.76488412567,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,310.07474405997,313.95067836072,317.87506184023,322.99452506247,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.52749339997,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,397.34382730029,401.85686830172,408.78994578219,413.43299207996,418.60090448096,423.83341578697,430.65936674996,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,479.0507177135,484.4917875937,490.54793493862,496.67978412536,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"Dani\xEF\xBF\xBDlou's Harmonic Division in 5-limit, symmetrized"},danielou_53:{frequencies:[261.6255653006,264.89588486686,267.43946675172,272.52663052146,275.62199471997,279.06726965397,282.55561052465,287.78812183066,290.69507255622,294.32876096318,297.67175429757,301.87565226992,306.59245933664,310.07474405997,313.95067836072,318.93402246168,322.99452506247,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.52749339997,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,397.34382730029,401.85686830172,408.78994578219,413.43299207996,418.60090448096,423.83341578697,430.65936674996,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,479.64686971777,484.4917875937,490.54793493862,496.67978412536,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"Dani\xEF\xBF\xBDlou's Harmonic Division of the Octave, see p. 153"},darreg:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,470.92601754108,490.54793493862,523.2511306012],description:"This set of 19 ratios in 5-limit JI is for his megalyra family"},darreg_ennea:{frequencies:[261.6255653006,269.29177952703,277.18263097687,293.66476791741,349.22823143301,391.99543598175,403.48177901006,415.30469757995,440,523.2511306012],description:"Ivor Darreg's Mixed Enneatonic, a mixture of chromatic and enharmonic"},darreg_genus:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,348.83408706747,392.4383479509,406.97310157871,418.60090448096,436.04260883433,523.2511306012],description:"Ivor Darreg's Mixed JI Genus (Archytas Enh, Ptolemy Soft Chrom, Didymos Chrom"},darreg_genus2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,348.83408706747,392.4383479509,406.97310157871,418.60090448096,441.49314144476,523.2511306012],description:"Darreg's Mixed JI Genus 2 (Archytas Enharmonic and Chromatic Genera)"},david11:{frequencies:[261.6255653006,269.80136421624,274.70684356563,285.40970760065,294.32876096318,305.22982618403,314.76825825228,327.03195662575,332.97799220076,343.38355445704,359.73515228832,366.27579142084,374.60024122586,392.4383479509,406.97310157871,419.69101100305,428.11456140098,441.49314144476,457.84473927605,479.64686971777,490.54793493862,499.46698830115,523.2511306012],description:"11-limit system from Gary David, 1967"},david7:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,336.37572681506,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,470.92601754108,488.36772189445,523.2511306012],description:"Gary David's Constant Structure, 1967. A mode of Fokker's 7-limit scale"},ddimlim1:{frequencies:[261.6255653006,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"First 27/25&2048/1875 scale"},de_caus:{frequencies:[261.6255653006,272.52663052146,290.69507255622,306.59245933664,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"De Caus (a mode of Ellis's duodene) (1615)"},degung1:{frequencies:[261.6255653006,286.1303811777,319.28416942365,390.63652710512,420.90734643474,523.2511306012],description:"Gamelan Degung, Kabupaten Sukabumi. 1/1=363 Hz"},degung2:{frequencies:[261.6255653006,276.67939184371,325.99375993805,390.36201910543,415.27879033283,523.2511306012],description:"Gamelan Degung, Kabupaten Bandung. 1/1=252 Hz"},degung3:{frequencies:[261.6255653006,282.83850205216,320.55017368416,393.28023705203,426.95140008307,523.2511306012],description:"Gamelan Degung, Kabupaten Sumedang. 1/1=388.5 Hz"},degung4:{frequencies:[261.6255653006,284.6485709981,319.18312009646,379.88037698982,415.46137490477,523.2511306012],description:"Gamelan Degung, Kasepuhan Cheribon. 1/1=250 Hz"},degung5:{frequencies:[261.6255653006,284.24274449773,317.86283634652,388.77066331187,430.33748813761,523.2511306012],description:"Gamelan Degung, Kanoman Cheribon. 1/1=428 Hz"},degung6:{frequencies:[261.6255653006,273.29426590363,298.47415715355,379.54129348313,409.02013274169,523.2511306012],description:"Gamelan Degung, Kacherbonan Cheribon. 1/1=426 Hz"},dekany:{frequencies:[261.6255653006,299.7792935736,305.22982618403,327.03195662575,359.73515228832,381.53728273004,419.69101100305,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"2)5 Dekany 1.3.5.7.11 (1.3 tonic)"},dekany2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,313.95067836072,348.83408706747,358.80077526939,398.6675280771,418.60090448096,448.50096908674,465.11211608996,523.2511306012],description:"3)5 Dekany 1.3.5.7.9 (1.3.5.7.9 tonic)"},dekany3:{frequencies:[261.6255653006,294.32876096318,305.22982618403,327.03195662575,343.38355445704,381.53728273004,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"2)5 Dekany 1.3.5.7.9 and 3)5 Dekany 1 1/3 1/5 1/7 1/9"},dekany4:{frequencies:[261.6255653006,270.96933548991,288.48890459486,310.68035879446,321.77608589426,355.06326719367,425.14154361347,440.3251701711,474.19633710734,485.87604984397,523.2511306012],description:"2)5 Dekany 1.7.13.19.29 (1.7 tonic)"},dekany_union:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,343.38355445704,366.27579142084,381.53728273004,392.4383479509,412.06026534844,436.04260883433,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Union of 2)5 and 3)5 [ 1 3 5 7 9] dekanies"},dent:{frequencies:[261.6255653006,276.73939277812,293.41671964988,311.13637945111,328.33487278761,349.18153137729,368.9858570375,391.91718148616,414.84850593482,438.82216331296,465.92281947955,491.98114271667,523.2511306012],description:"Tom Dent, well temperament with A=421 Hz. Integer Hz beat rates from A"},dent2:{frequencies:[261.6255653006,276.57667301797,293.18838124587,310.79781949647,328.55897053596,349.10502918563,369.05532299592,391.67735584266,414.54302837239,438.92977277749,465.83490899549,492.45596147139,523.2511306012],description:"Tom Dent, well-temperament, 2/32 and 5/32 comma. TL 3 & 5-9-2005"},dent3:{frequencies:[261.6255653006,276.38325105256,293.15632631094,310.94732162256,328.48713220126,349.22823143301,368.7143392539,391.76907592069,414.58565256441,438.73106346722,466.16376151809,492.17459484008,523.2511306012],description:'Tom Dent, Bach harpsichord "sine wave" temperament, TL 10-10-2005'},deporcy:{frequencies:[261.6255653006,272.52663052146,286.15296204753,299.00064605783,313.95067836072,327.03195662575,348.83408706747,358.80077526939,381.53728273004,392.4383479509,418.60090448096,436.04260883433,457.84473927605,478.40103369253,502.32108537715,523.2511306012],description:"A 15-note chord-based detempering of 7-limit porcupine"},diab19_612:{frequencies:[261.6255653006,267.01398215014,280.33982809972,299.03492334906,305.19382000629,313.95883772326,320.42510414137,327.02455105776,348.83292260574,366.24210002542,373.7851897098,392.43965797471,418.61038382265,427.23204601759,436.03127668087,448.5538823653,457.79225819026,488.32116993744,512.69177642068,523.2511306012],description:"diab19a in 612-tET"},diab19_72:{frequencies:[261.6255653006,266.71173418545,279.86396690685,299.37379946195,305.19382000629,314.13668154225,320.24370022528,326.46944327063,349.22823143301,366.44956000397,373.57357677338,391.99543598175,419.32216217931,427.47405410759,435.78442404634,448.5538823653,457.27406033445,489.15147723638,513.27277840175,523.2511306012],description:"diab19a in 72-tET"},diablack:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,331.11985608357,372.08969287196,392.4383479509,418.60090448096,441.49314144476,470.92601754108,523.2511306012],description:"Unique 256/245&2048/2025 Fokker block"},diachrome1:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,334.88072358477,367.91095120397,392.4383479509,418.60090448096,441.49314144476,470.92601754108,523.2511306012],description:"First 25/24&2048/2025 scale"},diacycle13:{frequencies:[261.6255653006,268.33391312882,275.39533189537,282.83844897362,290.69507255622,299.00064605783,307.79478270659,317.12189733406,327.03195662575,337.58137458142,348.83408706747,360.86284869048,373.75080757229,387.59343007496,402.50086969323,413.09299784305,424.25767346043,436.04260883433,448.50096908674,461.69217405988,475.68284600109,490.54793493862,506.37206187213,523.2511306012],description:"Diacycle on 20/13, 13/10; there are also nodes at 3/2, 4/3; 13/9, 18/13"},diaddim1:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,334.88072358477,344.91651675372,357.20610515709,367.91095120397,392.4383479509,418.60090448096,446.50763144636,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"First 2048/2025&2048/1875 scale"},dialim1:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,334.88072358477,348.83408706747,353.19451315581,367.91095120397,392.4383479509,418.60090448096,441.49314144476,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"First 27/25&2048/2025 scale"},diamisty:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.42486507835,330.74639366397,348.83408706747,372.08969287196,392.4383479509,413.89982010446,436.53496651643,470.39487098876,496.11959049595,523.2511306012],description:"Diamisty scale 2048/2025 and 67108864/66430125"},diamond11a:{frequencies:[261.6255653006,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,523.2511306012],description:"11-limit Diamond with added 16/15 & 15/8, Zoomoozophone tuning: 1/1 = 392 Hz"},diamond11ak:{frequencies:[261.6255653006,279.72330032405,285.63317938628,287.78812183066,290.69507255622,293.86839138568,299.07491977616,305.39295512204,314.19649759716,319.76457981184,326.52043447049,333.41680553884,335.93301933283,349.10721912206,359.17247822875,366.75848641051,373.2589099097,381.14243472333,392.13131479202,407.50942884268,410.58480125643,419.25667855894,428.11456140098,435.70146034294,448.26139746089,457.73103588952,465.84075338014,470.92601754108,475.68284600109,479.27160679251,489.39746055879,523.2511306012],description:"microtempered version of diamond11a, Dave Keenan TL 11-1-2000, 225/224&385/384"},diamond11at:{frequencies:[261.6255653006,279.83704120119,285.33574350137,287.98268367985,290.84948650387,293.82121114493,299.2738827313,305.22380787491,314.19079532693,320.23980272009,326.48518221507,332.71524733285,336.02719554531,349.1122100506,359.53680125564,366.52331521885,373.4984028396,380.75621844446,392.12570885984,407.39521875769,411.45055399509,419.30194782174,427.47925671618,435.70936791853,448.50981249085,457.42672761267,465.91555560021,470.67599975252,475.36147343465,479.7712027167,489.19854301666,523.2511306012],description:"microtempered version of diamond11a, OdC"},diamond11map:{frequencies:[195.99771799087,228.66400432268,261.33029065449,293.99657698631,326.66286331812,359.32914964993,391.99543598174,457.32800864536,522.66058130899,587.99315397261,653.32572663623,718.65829929986,213.81569235368,249.45164107929,285.0875898049,320.72353853051,356.35948725613,391.99543598174,427.63138470735,498.90328215858,570.1751796098,641.44707706103,712.71897451225,783.99087196348,235.19726158904,274.39680518722,313.59634878539,352.79589238357,391.99543598174,431.19497957991,470.39452317809,548.79361037444,627.19269757078,705.59178476713,783.99087196348,862.38995915983,261.33029065449,304.88533909691,348.44038753932,391.99543598174,435.55048442416,479.10553286657,522.66058130899,609.77067819382,696.88077507865,783.99087196348,871.10096884831,958.21106573314,293.99657698631,342.99600648402,391.99543598174,440.99486547946,489.99429497718,538.99372447489,587.99315397261,685.99201296804,783.99087196348,881.98973095892,979.98858995435,1077.98744894978,335.99608798435,391.99543598174,447.99478397913,503.99413197652,559.99347997391,615.99282797131,671.9921759687,783.99087196348,895.98956795826,1007.98826395305,1119.98695994783,1231.98565594261,783.99087196348],description:"11-limit diamond on a 'centreless' map"},diamond15:{frequencies:[261.6255653006,269.80136421624,279.06726965397,280.31310567921,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,301.87565226992,305.22982618403,309.19384990071,310.07474405997,313.95067836072,318.85615771011,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,340.11323489078,343.38355445704,348.83408706747,356.76213450082,359.73515228832,362.25078272391,366.27579142084,367.91095120397,372.08969287196,373.75080757229,377.90359432309,380.54627680087,383.71749577421,392.4383479509,398.6675280771,402.50086969323,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,429.33426100611,436.04260883433,441.49314144476,442.75095666255,448.50096908674,453.48431318771,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,488.36772189445,490.54793493862,507.3950357345,523.2511306012],description:"15-limit Diamond + 2nd ratios. See Novaro, 1927, Sistema Natural..."},diamond17:{frequencies:[261.6255653006,277.97716313189,281.75060878526,283.42769574232,285.40970760065,287.78812183066,299.00064605783,305.22982618403,307.79478270659,309.19384990071,313.95067836072,317.68818643644,322.00069575458,327.03195662575,332.97799220076,338.57426097725,340.11323489078,342.12573923925,348.83408706747,359.73515228832,366.27579142084,369.35373924791,370.63621750918,373.75080757229,380.54627680087,392.4383479509,400.13321751856,402.50086969323,404.33041910093,411.12588832951,418.60090448096,425.14154361347,430.91269578922,436.04260883433,442.75095666255,444.76346101102,448.50096908674,457.84473927605,475.68284600109,479.64686971777,483.00104363188,485.87604984397,492.47165233054,523.2511306012],description:"17-limit Diamond"},diamond17a:{frequencies:[261.6255653006,277.01530443593,277.97716313189,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,307.79478270659,309.19384990071,313.95067836072,317.68818643644,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,338.57426097725,340.11323489078,342.12573923925,348.83408706747,359.73515228832,362.25078272391,366.27579142084,369.35373924791,370.63621750918,373.75080757229,377.90359432309,380.54627680087,392.4383479509,400.13321751856,402.50086969323,404.33041910093,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,430.91269578922,436.04260883433,442.75095666255,444.76346101102,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,492.47165233054,494.18162334558,523.2511306012],description:"17-limit, +9 Diamond"},diamond19:{frequencies:[261.6255653006,275.39533189537,277.97716313189,281.75060878526,283.42769574232,285.40970760065,287.78812183066,292.40504357126,299.00064605783,302.93486508491,305.22982618403,307.79478270659,309.19384990071,310.68035879446,313.95067836072,317.68818643644,322.00069575458,327.03195662575,330.47439827444,332.97799220076,338.57426097725,340.11323489078,342.12573923925,348.83408706747,355.06326719367,358.01393146398,359.73515228832,366.27579142084,369.35373924791,370.63621750918,373.75080757229,380.54627680087,382.37582620857,385.55346465352,392.4383479509,400.13321751856,402.50086969323,404.33041910093,411.12588832951,414.24047839262,418.60090448096,425.14154361347,430.91269578922,436.04260883433,440.63253103259,442.75095666255,444.76346101102,448.50096908674,451.89870370104,457.84473927605,468.17206422213,475.68284600109,479.64686971777,483.00104363188,485.87604984397,492.47165233054,497.08857407114,523.2511306012],description:"19-limit Diamond"},diamond7:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,523.2511306012],description:"7-limit Diamond, also double-tie circular mirroring of 4:5:6:7"},diamond9:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,523.2511306012],description:"9-limit Diamond"},diamond_chess:{frequencies:[261.6255653006,299.00064605783,313.95067836072,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,436.04260883433,457.84473927605,523.2511306012],description:"9-limit chessboard pattern diamond. OdC"},diamond_chess11:{frequencies:[261.6255653006,287.78812183066,299.00064605783,313.95067836072,319.76457981184,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,428.11456140098,436.04260883433,457.84473927605,475.68284600109,523.2511306012],description:"11-limit chessboard pattern diamond. OdC"},diamond_dup:{frequencies:[261.6255653006,274.70684356563,280.31310567921,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Two 7-limit diamonds 3/2 apart"},diamond_mod:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,327.03195662575,336.37572681506,348.83408706747,392.4383479509,406.97310157871,418.60090448096,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"13-tone Octave Modular Diamond, based on Archytas's Enharmonic"},diamond_tetr:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,336.37572681506,339.14425131559,348.83408706747,358.80077526939,523.2511306012],description:"Tetrachord Modular Diamond based on Archytas's Enharmonic"},diaphonic_10:{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,336.37572681506,362.25078272391,392.4383479509,418.60090448096,448.50096908674,483.00104363188,523.2511306012],description:"10-tone Diaphonic Cycle"},diaphonic_12:{frequencies:[261.6255653006,274.70684356563,289.16509849014,305.22982618403,323.18452184192,343.38355445704,366.27579142084,392.4383479509,413.09299784305,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"12-tone Diaphonic Cycle, conjunctive form on 3/2 and 4/3"},diaphonic_12a:{frequencies:[261.6255653006,274.70684356563,289.16509849014,305.22982618403,323.18452184192,343.38355445704,366.27579142084,385.55346465352,406.97310157871,430.91269578922,457.84473927605,488.36772189445,523.2511306012],description:"2nd 12-tone Diaphonic Cycle, conjunctive form on 10/7 and 7/5"},diaphonic_5:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,448.50096908674,523.2511306012],description:"D5-tone Diaphonic Cycle"},diaphonic_7:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012],description:"7-tone Diaphonic Cycle, disjunctive form on 4/3 and 3/2"},diaschismic:{frequencies:[261.6255653006,266.61097723855,278.05603152599,283.35453458855,295.51835494038,301.14961170579,314.07733767684,320.06224556188,333.80185153667,340.16262034629,354.76509561975,369.99442271164,377.04485988831,393.23061088369,400.72382577504,417.92606548687,425.88986517773,444.17243057662,452.63636847719,472.06710558841,481.06259110609,501.71360968203,523.2511306012],description:"diaschismic temperament, g=105.446531, p=600, 5-limit"},diat13:{frequencies:[261.6255653006,279.06726965397,322.00069575458,348.83408706747,392.4383479509,418.60090448096,483.00104363188,523.2511306012],description:"This genus is from K.S's diatonic Hypodorian harmonia"},diat15:{frequencies:[261.6255653006,301.87565226992,327.03195662575,356.76213450082,373.75080757229,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Tonos-15 Diatonic and its own trite synemmenon Bb"},diat15_inv:{frequencies:[261.6255653006,279.06726965397,313.95067836072,348.83408706747,366.27579142084,383.71749577421,418.60090448096,453.48431318771,523.2511306012],description:"Inverted Tonos-15 Harmonia, a harmonic series from 15 from 30."},diat17:{frequencies:[261.6255653006,296.50897400735,342.12573923925,370.63621750918,386.75083566176,404.33041910093,444.76346101102,494.18162334558,523.2511306012],description:"Tonos-17 Diatonic and its own trite synemmenon Bb"},diat19:{frequencies:[261.6255653006,276.16031892841,310.68035879446,355.06326719367,368.21375857121,382.37582620857,414.24047839262,451.89870370104,523.2511306012],description:"Tonos-19 Diatonic and its own trite synemmenon Bb"},diat21:{frequencies:[261.6255653006,289.16509849014,305.22982618403,343.38355445704,366.27579142084,392.4383479509,422.62591317789,457.84473927605,523.2511306012],description:"Tonos-21 Diatonic and its own trite synemmenon Bb"},diat21_inv:{frequencies:[261.6255653006,299.00064605783,323.91736656265,348.83408706747,373.75080757229,398.6675280771,448.50096908674,473.41768959156,523.2511306012],description:"Inverted Tonos-21 Harmonia, a harmonic series from 21 from 42."},diat23:{frequencies:[261.6255653006,286.54228580542,300.86940009569,334.29933343966,353.96400011258,376.08675011961,429.81342870813,462.87600014722,523.2511306012],description:"Tonos-23 Diatonic and its own trite synemmenon Bb"},diat25:{frequencies:[261.6255653006,297.30177875068,327.03195662575,363.36884069528,384.74347838324,408.78994578219,467.18850946536,503.12608711654,523.2511306012],description:"Tonos-25 Diatonic and its own trite synemmenon Bb"},diat27:{frequencies:[261.6255653006,294.32876096318,336.37572681506,353.19451315581,371.78369805875,392.4383479509,441.49314144476,504.56359022259,523.2511306012],description:"Tonos-27 Diatonic and its own trite synemmenon Bb"},diat27_inv:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,377.90359432309,387.59343007496,406.97310157871,465.11211608996,523.2511306012],description:"Inverted Tonos-27 Harmonia, a harmonic series from 27 from 54"},diat29:{frequencies:[261.6255653006,291.81313052759,316.13089140489,344.87006335079,361.29244731988,379.35706968587,421.50785520652,474.19633710734,523.2511306012],description:"Tonos-29 Diatonic and its own trite synemmenon Bb"},diat31:{frequencies:[261.6255653006,289.65687586852,311.93817401225,337.93302184661,352.6257619269,368.65420565085,405.51962621593,450.57736246214,523.2511306012],description:"Tonos-31 Diatonic. The disjunctive and conjunctive diatonic forms are the same"},diat33:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,375.37581108347,392.4383479509,431.68218274599,479.64686971777,523.2511306012],description:"Tonos-33 Diatonic. The conjunctive form is 23 (Bb instead of B) 20 18 33/2"},diat_chrom:{frequencies:[261.6255653006,280.31310567921,301.87565226992,348.83408706747,392.4383479509,420.46965851882,452.81347840488,523.2511306012],description:"Diatonic- Chromatic, on the border between the chromatic and diatonic genera"},diat_dies2:{frequencies:[261.6255653006,266.71168334607,311.12698372208,349.22823143301,391.99543598175,399.61600264311,466.16376151809,523.2511306012],description:"Dorian Diatonic, 2 part Diesis"},diat_dies5:{frequencies:[261.6255653006,274.52693220706,311.12698372208,349.22823143301,391.99543598175,411.32564531909,466.16376151809,523.2511306012],description:"Dorian Diatonic, 5 part Diesis"},diat_enh:{frequencies:[261.6255653006,269.29177952703,311.12698372208,349.22823143301,391.99543598175,403.48177901006,466.16376151809,523.2511306012],description:"Diat. + Enharm. Diesis, Dorian Mode"},diat_enh2:{frequencies:[261.6255653006,269.29177952703,302.26980244078,349.22823143301,391.99543598175,403.48177901006,452.89298412314,523.2511306012],description:"Diat. + Enharm. Diesis, Dorian Mode 3 + 12 + 15 parts"},diat_enh3:{frequencies:[261.6255653006,302.26980244078,311.12698372208,349.22823143301,391.99543598175,452.89298412314,466.16376151809,523.2511306012],description:"Diat. + Enharm. Diesis, Dorian Mode, 15 + 3 + 12 parts"},diat_enh4:{frequencies:[261.6255653006,302.26980244078,339.28638158975,349.22823143301,391.99543598175,452.89298412314,508.3551866238,523.2511306012],description:"Diat. + Enharm. Diesis, Dorian Mode, 15 + 12 + 3 parts"},diat_enh5:{frequencies:[261.6255653006,293.66476791741,339.28638158975,349.22823143301,391.99543598175,440,508.3551866238,523.2511306012],description:"Dorian Mode, 12 + 15 + 3 parts"},diat_enh6:{frequencies:[261.6255653006,293.66476791741,302.26980244078,349.22823143301,391.99543598175,440,452.89298412314,523.2511306012],description:"Dorian Mode, 12 + 3 + 15 parts"},diat_eq:{frequencies:[261.6255653006,288.06466200271,317.1754314895,349.22823143301,391.99543598175,431.60932167676,475.22619361214,523.2511306012],description:"Equal Diatonic, Islamic form, similar to 11/10 x 11/10 x 400/363"},diat_eq2:{frequencies:[261.6255653006,287.78812183066,317.12189733406,348.83408706747,392.4383479509,431.68218274599,475.68284600109,523.2511306012],description:"Equal Diatonic, 11/10 x 400/363 x 11/10"},diat_gold:{frequencies:[261.6255653006,292.38332274669,326.75708630452,349.99258496952,391.13935185123,437.1232727958,488.51296691354,523.2511306012],description:"Diatonic scale with ratio between whole and half tone the Golden Section"},diat_hemchrom:{frequencies:[261.6255653006,273.20871865617,311.12698372208,349.22823143301,391.99543598175,409.35055662695,466.16376151809,523.2511306012],description:"Diat. + Hem. Chrom. Diesis, Another genus of Aristoxenos, Dorian Mode"},diat_smal:{frequencies:[261.6255653006,299.00064605783,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:'"Smallest number" diatonic scale'},diat_sofchrom:{frequencies:[261.6255653006,271.8968348557,311.12698372208,349.22823143301,391.99543598175,407.38495184466,466.16376151809,523.2511306012],description:"Diat. + Soft Chrom. Diesis, Another genus of Aristoxenos, Dorian Mode"},diat_soft:{frequencies:[261.6255653006,274.52693220706,302.26980244078,349.22823143301,391.99543598175,411.32564531909,452.89298412314,523.2511306012],description:"Soft Diatonic genus 5 + 10 + 15 parts"},diat_soft2:{frequencies:[261.6255653006,281.2143451833,302.26980244078,349.22823143301,391.99543598175,421.34544350737,452.89298412314,523.2511306012],description:"Soft Diatonic genus with equally divided Pyknon; Dorian Mode"},diat_soft3:{frequencies:[261.6255653006,281.2143451833,324.90175210669,349.22823143301,391.99543598175,421.34544350737,486.80259447109,523.2511306012],description:"New Soft Diatonic genus with equally divided Pyknon; Dorian Mode; 1:1 pyknon"},diat_soft4:{frequencies:[261.6255653006,302.26980244078,324.90175210669,349.22823143301,391.99543598175,452.89298412314,486.80259447109,523.2511306012],description:"New Soft Diatonic genus with equally divided Pyknon; Dorian Mode; 1:1 pyknon"},dicot:{frequencies:[261.6255653006,270.35822989652,294.32876096318,320.42456924675,331.11985608357,360.47764004221,392.4383479509,405.53734464206,441.49314144476,480.63685362987,523.2511306012],description:"Dicot temperament, g=350.9775, 5-limit"},didy_chrom:{frequencies:[261.6255653006,279.06726965397,290.69507255622,348.83408706747,392.4383479509,418.60090448096,436.04260883433,523.2511306012],description:"Didymus Chromatic"},didy_chrom1:{frequencies:[261.6255653006,279.06726965397,334.88072358477,348.83408706747,392.4383479509,418.60090448096,502.32108537715,523.2511306012],description:"Permuted Didymus Chromatic"},didy_chrom2:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,392.4383479509,470.92601754108,490.54793493862,523.2511306012],description:"Didymos's Chromatic, 6/5 x 25/24 x 16/15"},didy_chrom3:{frequencies:[261.6255653006,272.52663052146,290.69507255622,348.83408706747,392.4383479509,408.78994578219,436.04260883433,523.2511306012],description:"Didymos's Chromatic, 25/24 x 16/15 x 6/5"},didy_diat:{frequencies:[261.6255653006,279.06726965397,310.07474405997,348.83408706747,392.4383479509,418.60090448096,465.11211608996,523.2511306012],description:"Didymus Diatonic"},didy_diatinv:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Inverse Didymus Diatonic, variant of Ptolemy with 2 identical triads"},didy_enh:{frequencies:[261.6255653006,270.06509966514,279.06726965397,348.83408706747,392.4383479509,405.0976494977,418.60090448096,523.2511306012],description:"Dorian mode of Didymos's Enharmonic"},didy_enh2:{frequencies:[261.6255653006,275.62199471997,279.06726965397,348.83408706747,392.4383479509,413.43299207996,418.60090448096,523.2511306012],description:"Permuted Didymus Enharmonic"},"diesic-m":{frequencies:[261.6255653006,289.62525622617,320.62153003931,354.93508703008,392.92094947462,434.97213484265,481.52372211906,523.2511306012],description:"Minimal Diesic temperament, g=176.021, 5-limit"},"diesic-t":{frequencies:[261.6255653006,272.92239980638,281.87304203955,294.04415210774,303.68749398125,316.80053726141,327.19018747082,337.92057205022,352.51178108166,364.07260143821,379.79303732838,392.24856169057,409.18561859271,422.60509148244,436.46466102477,455.31094249407,470.24311865111,490.54793493862,506.63572944675,523.2511306012],description:"Tiny Diesic temperament, g=443.017, 5-limit"},diff31_72:{frequencies:[261.6255653006,269.29177952703,274.52698453615,279.86396690685,285.30470202322,293.66476791741,299.37379946195,305.19382000629,314.13668154225,320.24370022528,326.46944327063,336.03572815422,342.56848033562,352.60650301302,356.01745236555,366.44956000397,373.57357677338,384.52011812375,388.23978476841,399.61607881612,407.38487419079,419.32216217931,427.47405410759,435.78442404634,448.5538823653,457.27406033445,466.16376151809,479.82340237272,489.15147723638,498.66089874196,508.3551866238,523.2511306012],description:"Diff31, 11/9, 4/3, 7/5, 3/2, 7/4, 9/5 difference diamond, tempered to 72-et"},dimteta:{frequencies:[261.6255653006,282.55561052465,307.12566361375,336.37572681506,406.97310157871,439.53094970501,477.75103228805,523.2511306012],description:"A heptatonic form on the 9/7"},dimtetb:{frequencies:[261.6255653006,294.32876096318,336.37572681506,406.97310157871,457.84473927605,523.2511306012],description:"A pentatonic form on the 9/7"},div_fifth1:{frequencies:[261.6255653006,273.00058987889,285.40970760065,348.83408706747,392.4383479509,523.2511306012],description:"Divided Fifth #1, From Schlesinger, see Chapter 8, p. 160"},div_fifth2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,348.83408706747,392.4383479509,523.2511306012],description:"Divided Fifth #2, From Schlesinger, see Chapter 8, p. 160"},div_fifth3:{frequencies:[261.6255653006,271.31540105247,305.22982618403,348.83408706747,392.4383479509,523.2511306012],description:"Divided Fifth #3, From Schlesinger, see Chapter 8, p. 160"},div_fifth4:{frequencies:[261.6255653006,274.70684356563,305.22982618403,343.38355445704,392.4383479509,523.2511306012],description:"Divided Fifth #4, From Schlesinger, see Chapter 8, p. 160"},div_fifth5:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,411.12588832951,523.2511306012],description:"Divided Fifth #5, From Schlesinger, see Chapter 8, p. 160"},dkring1:{frequencies:[261.6255653006,274.70684356563,305.22982618403,313.95067836072,320.49131749323,327.03195662575,366.27579142084,392.4383479509,439.53094970501,448.50096908674,457.84473927605,470.92601754108,523.2511306012],description:"Double-tie circular mirroring of 4:5:6:7"},dkring2:{frequencies:[261.6255653006,274.70684356563,305.22982618403,329.64821227876,336.37572681506,353.19451315581,366.27579142084,392.4383479509,406.97310157871,427.32175665765,436.04260883433,470.92601754108,523.2511306012],description:"Double-tie circular mirroring of 3:5:7:9"},dkring3:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,348.83408706747,384.42940207435,392.4383479509,398.6675280771,448.50096908674,465.11211608996,504.56359022259,523.2511306012],description:"Double-tie circular mirroring of 6:7:8:9"},dkring4:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,327.03195662575,336.37572681506,367.91095120397,373.75080757229,378.42269266694,420.46965851882,467.18850946536,470.92601754108,523.2511306012],description:"Double-tie circular mirroring of 7:8:9:10"},dodeceny:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Degenerate eikosany 3)6 from 1.3.5.9.15.45 tonic 1.3.15"},dorian_chrom:{frequencies:[261.6255653006,279.06726965397,299.00064605783,310.07474405997,315.92521092903,322.00069575458,348.83408706747,380.54627680087,398.6675280771,408.39112632289,418.60090448096,465.11211608996,523.2511306012,558.13453930795,598.00129211566,620.14948811994,631.85042185805,644.00139150917,697.66817413493,761.09255360175,797.33505615421,816.78225264578,837.20180896192,930.22423217991,1046.5022612024],description:"Dorian Chromatic Tonos"},dorian_chrom2:{frequencies:[261.6255653006,274.08392555301,287.78812183066,359.73515228832,411.12588832951,426.35277308246,442.75095666255,523.2511306012],description:"Schlesinger's Dorian Harmonia in the chromatic genus"},dorian_chrominv:{frequencies:[261.6255653006,273.00058987889,285.40970760065,332.97799220076,380.54627680087,404.33041910093,428.11456140098,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Dorian inverted"},dorian_diat:{frequencies:[261.6255653006,279.06726965397,299.00064605783,322.00069575458,334.88072358477,348.83408706747,364.00078650518,380.54627680087,418.60090448096,440.63253103259,465.11211608996,492.47165233054,523.2511306012,558.13453930795,598.00129211566,644.00139150917,669.76144716954,697.66817413493,728.00157301037,761.09255360175,837.20180896192,881.26506206518,930.22423217991,984.94330466108,1046.5022612024],description:"Dorian Diatonic Tonos"},dorian_diat2:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,383.71749577421,411.12588832951,442.75095666255,479.64686971777,523.2511306012],description:"Schlesinger's Dorian Harmonia, a subharmonic series through 13 from 22"},dorian_diat2inv:{frequencies:[261.6255653006,285.40970760065,309.19384990071,332.97799220076,356.76213450082,380.54627680087,428.11456140098,475.68284600109,523.2511306012],description:"Inverted Schlesinger's Dorian Harmonia, a harmonic series from 11 from 22"},dorian_diatcon:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,383.71749577421,411.12588832951,479.64686971777,523.2511306012],description:"A Dorian Diatonic with its own trite synemmenon replacing paramese"},dorian_diatred11:{frequencies:[261.6255653006,287.78812183066,316.56693401373,348.83408706747,392.4383479509,431.68218274599,474.85040102059,523.2511306012],description:"Dorian mode of a diatonic genus with reduplicated 11/10"},dorian_enh:{frequencies:[261.6255653006,279.06726965397,299.00064605783,304.4370214407,307.2300216374,310.07474405997,348.83408706747,380.54627680087,389.39619021485,393.97732186443,398.6675280771,465.11211608996,523.2511306012,558.13453930795,598.00129211566,608.8740428814,614.4600432748,620.14948811994,697.66817413493,761.09255360175,778.79238042969,787.95464372887,797.33505615421,930.22423217991,1046.5022612024],description:"Dorian Enharmonic Tonos"},dorian_enh2:{frequencies:[261.6255653006,267.70988077271,274.08392555301,359.73515228832,411.12588832951,426.35277308246,442.75095666255,523.2511306012],description:"Schlesinger's Dorian Harmonia in the enharmonic genus"},dorian_enhinv:{frequencies:[261.6255653006,267.19206668997,273.00058987889,332.97799220076,380.54627680087,392.4383479509,404.33041910093,523.2511306012],description:"A harmonic form of Schlesinger's Dorian enharmonic inverted"},dorian_pent:{frequencies:[261.6255653006,271.49822814213,287.78812183066,359.73515228832,411.12588832951,423.21782622156,442.75095666255,523.2511306012],description:"Schlesinger's Dorian Harmonia in the pentachromatic genus"},dorian_pis:{frequencies:[261.6255653006,299.00064605783,322.00069575458,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012,558.13453930795,598.00129211566,644.00139150917,697.66817413493,761.09255360175,837.20180896192,930.22423217991,1046.5022612024],description:"Diatonic Perfect Immutable System in the Dorian Tonos, a non-rep. 16 tone gamut"},dorian_schl:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,319.76457981184,338.57426097725,359.73515228832,383.71749577421,411.12588832951,442.75095666255,460.46099492906,479.64686971777,523.2511306012],description:"Schlesinger's Dorian Piano Tuning (Sub 22)"},dorian_tri1:{frequencies:[261.6255653006,269.80136421624,278.50463402967,359.73515228832,411.12588832951,421.15334902048,431.68218274599,523.2511306012],description:"Schlesinger's Dorian Harmonia in the first trichromatic genus"},dorian_tri2:{frequencies:[261.6255653006,269.80136421624,287.78812183066,359.73515228832,411.12588832951,421.15334902048,442.75095666255,523.2511306012],description:"Schlesinger's Dorian Harmonia in the second trichromatic genus"},douwes:{frequencies:[261.6255653006,273.00058987889,292.50063201309,313.39353429974,327.01933943691,350.37786403433,365.61168556196,391.72680409,408.75840577964,436.81779569448,468.01906681552,488.36772189445,523.2511306012],description:"Claas Douwes recommendation of 24/23 and 15/14 steps for clavichord (1699)"},dow_high:{frequencies:[261.6255653006,277.01530443593,278.50463402967,294.32876096318,308.34441624714,313.31771328338,327.34193952303,331.11985608357,346.88746827803,348.83408706747,369.35373924791,392.4383479509,417.75695104451,441.49314144476,462.5166243707],description:"Highest octave of Dowlands lute tuning, strings 5,6. 1/1=G (1610)"},dow_lmh:{frequencies:[261.6255653006,278.50463402967,294.32876096318,308.34441624714,327.34193952303,348.83408706747,369.35373924791,371.33951203956,392.4383479509,411.12588832951,417.75695104451,436.45591936403,441.49314144476,462.5166243707,465.11211608996,492.47165233054,495.11934938608,523.2511306012,548.16785110602,557.00926805934,581.94122581871,588.65752192635,616.68883249427,620.14948811994,626.63542656676,656.62886977405,662.23971216714,693.77493655606,697.66817413493,736.51936392681,742.67902407912,784.8766959018,822.25177665903,831.04591330779,835.51390208901,882.98628288953,925.03324874141,939.95313985014,982.02581856908,993.35956825072,1040.66240483408,1046.5022612024,1108.06121774372,1114.01853611868,1177.3150438527,1233.37766498854,1253.27085313352,1309.3677580921,1324.47942433429,1387.54987311211,1395.33634826987,1477.41495699162,1569.7533918036,1671.02780417803,1765.97256577905,1850.06649748281],description:"All three octaves of Dowland's lute tuning"},dow_low:{frequencies:[261.6255653006,278.50463402967,294.32876096318,308.34441624714,327.34193952303,348.83408706747,369.35373924791,371.33951203956,392.4383479509,411.12588832951,417.75695104451,436.45591936403,441.49314144476,462.5166243707,465.11211608996,492.47165233054,495.11934938608,523.2511306012],description:"Lowest octave of Dowlands lute tuning, strings 1,2,3. 1/1=G. (1610)"},dow_middle:{frequencies:[261.6255653006,274.08392555301,278.50463402967,290.97061290936,294.32876096318,308.34441624714,310.07474405997,313.31771328338,328.31443488703,331.11985608357,346.88746827803,348.83408706747,368.2596819634,371.33951203956,392.4383479509,411.12588832951,415.52295665389,417.75695104451,441.49314144476,462.5166243707,469.97656992507,491.01290928454,496.67978412536,520.33120241704,523.2511306012],description:"Middle octave of Dowlands lute tuning, strings 3,4,5. 1/1=G (1610)"},dowland_12:{frequencies:[261.6255653006,278.50463402967,294.32876096318,308.34441624714,327.34193952303,348.83408706747,369.35373924791,392.4383479509,417.75695104451,441.49314144476,462.5166243707,492.47165233054,523.2511306012],description:"subset of Dowland's lute tuning, lowest octave"},druri:{frequencies:[261.6255653006,285.79952600623,326.97270111135,357.18467683857,523.2511306012],description:"Scale of druri dana of Siwoli, south Nias, Jaap Kunst"},dudon_a:{frequencies:[261.6255653006,285.85015468029,319.76457981184,348.83408706747,392.4383479509,428.77523202043,479.64686971777,523.2511306012],description:"Dudon Tetrachord A"},dudon_b:{frequencies:[261.6255653006,283.42769574232,321.58142401532,348.83408706747,392.4383479509,425.14154361347,482.37213602298,523.2511306012],description:"Dudon Tetrachord B"},dudon_c12:{frequencies:[261.6255653006,302.50455987882,327.03195662575,343.38355445704,392.4383479509,425.14154361347,474.19633710734,523.2511306012],description:"Differentially coherent scale in interval class 1 and 2"},dudon_diat:{frequencies:[261.6255653006,294.32876096318,321.08592105074,350.8160989258,392.4383479509,428.11456140098,481.6288815761,523.2511306012],description:"Dudon Neutral Diatonic"},dudon_moha_baya:{frequencies:[261.6255653006,285.30470202322,320.24370022528,349.22823143301,391.99543598175,427.47405410759,466.16376151809,523.2511306012],description:"Mohajira + Bayati (Dudon) 3 + 4 + 3 Mohajira and 3 + 3 + 4 Bayati tetrachords"},dudon_mohajira:{frequencies:[261.6255653006,285.30470202322,320.24370022528,349.22823143301,391.99543598175,427.47405410759,479.82340237272,523.2511306012],description:"Dudon's Mohajira, two 3 + 4 + 3 tetrachords, neutral diatonic"},dudon_mohajira_r:{frequencies:[261.6255653006,283.42769574232,321.58142401532,348.83408706747,392.4383479509,425.14154361347,479.64686971777,523.2511306012],description:"Jacques Dudon, JI Mohajira, Lumi\xEF\xBF\xBDres audibles"},dudon_thai:{frequencies:[261.6255653006,288.26147859917,317.63518509943,350.43752981487,386.47021463976,426.17461277719,469.97930400405,523.2511306012],description:"Dudon, coherent Thai heptatonic scale, 1/1 vol. 11/2, 2003"},dudon_thai2:{frequencies:[261.6255653006,288.02814528506,314.43072526953,347.1339209321,383.13743909274,422.44127975143,475.35895071461,523.2511306012],description:"Slightly better version, 3.685 cents deviation"},dudon_thai3:{frequencies:[261.6255653006,291.60349465796,321.58142401532,354.2846196779,394.48229767981,434.67997568173,478.96555314146,523.2511306012],description:"Dudon, Thai scale with two 704/703 = 2.46 c. deviations and simpler numbers"},duncan:{frequencies:[261.6255653006,277.97716313189,294.32876096318,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Dudley Duncan's Superparticular Scale"},duoden12:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.42486507835,330.74639366397,348.83408706747,372.08969287196,392.4383479509,413.89982010446,440.99519155196,465.63729761752,496.11959049595,523.2511306012],description:"Almost equal 12-tone subset of Duodenarium"},duodenarium:{frequencies:[14.56761754744,14.73307690724,14.74971276678,14.91724036858,14.98726085128,15.00418372272,15.10370587319,15.17460161192,15.19173601925,15.34695511171,15.36428413207,15.5387920506,15.55633768372,15.71528203439,15.73302695124,15.80687667908,15.91172305982,15.92968978813,16.00446263757,16.18624171938,16.20451842054,16.38856974087,16.57471152064,16.59342686263,16.78189541465,16.86066845769,16.87970668806,16.99166910733,17.07142681341,17.26532450067,17.28481964857,17.48114105693,17.67969228869,17.69965532014,17.78273626396,17.90068844229,17.98471302153,18.00502046726,18.2095219343,18.41634613405,18.43714095848,18.64655046072,18.73407606409,18.85833844126,18.87963234148,18.9682520149,18.98967002407,19.18369388963,19.20535516508,19.42349006325,19.44542210465,19.64410254298,19.66628368904,19.88965382477,19.91211223516,20.00557829696,20.13827449758,20.23280214922,20.25564802567,20.48571217609,20.7183894008,20.74178357829,20.97736926831,21.07583557211,21.21563074642,21.23958638417,21.33928351676,21.58165562584,21.60602456072,21.85142632116,22.09961536086,22.12456915017,22.37586055287,22.48089127691,22.50627558408,22.65555880978,22.76190241787,23.02043266756,23.0464261981,23.3081880759,23.57292305158,23.59954042685,23.71031501862,23.86758458973,23.97961736204,24.00669395635,24.27936257907,24.30677763081,24.55512817873,24.5828546113,24.86206728096,24.89014029395,25.14445125502,25.17284312198,25.29100268653,25.31956003209,25.487503661,25.60714022011,25.897986751,25.92722947286,26.22171158539,26.51953843303,26.54948298021,26.67410439595,26.85103266344,26.9770695323,27.0075307009,27.31428290145,27.62451920107,27.65571143772,27.96982569108,28.10111409614,28.2875076619,28.31944851222,28.45237802234,28.77554083445,28.80803274762,29.13523509488],description:"Ellis's Duodenarium : genus [3^12 5^8]"},duodene:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Ellis's Duodene : genus [33355]"},"duodene14-18-21":{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,336.37572681506,348.83408706747,378.42269266694,392.4383479509,406.97310157871,448.50096908674,457.84473927605,504.56359022259,523.2511306012],description:"14-18-21 Duodene"},"duodene3-11_9":{frequencies:[261.6255653006,285.40970760065,294.32876096318,319.76457981184,321.08592105074,348.83408706747,359.73515228832,392.4383479509,426.35277308246,428.11456140098,479.64686971777,481.6288815761,523.2511306012],description:"3-11/9 Duodene"},"duodene3-7":{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,457.84473927605,515.07533168556,523.2511306012],description:"3-7 Duodene"},"duodene6-7-9":{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,343.38355445704,348.83408706747,392.4383479509,406.97310157871,448.50096908674,457.84473927605,504.56359022259,523.2511306012],description:"6-7-9 Duodene"},duodene_min:{frequencies:[261.6255653006,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,353.19451315581,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Minor Duodene"},"duodene_r-45":{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,334.88072358477,353.19451315581,376.74081403286,401.85686830172,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Ellis's Duodene rotated -45 degrees"},duodene_r45:{frequencies:[261.6255653006,275.93321340298,279.06726965397,294.32876096318,313.95067836072,334.88072358477,383.2405741708,408.78994578219,436.04260883433,459.88868900496,465.11211608996,490.54793493862,523.2511306012],description:"Ellis's Duodene rotated 45 degrees"},duodene_r90:{frequencies:[261.6255653006,272.52663052146,279.06726965397,306.59245933664,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Ellis's Duodene rotated 90 degrees: genus [33555]"},duodene_skew:{frequencies:[261.6255653006,282.55561052465,290.69507255622,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,418.60090448096,436.04260883433,470.92601754108,502.32108537715,523.2511306012],description:"Rotated 6/5x3/2 duodene"},duodene_t:{frequencies:[261.6255653006,279.3825857701,293.66476791741,313.59634948548,327.03195662575,349.22823143301,367.08095907728,391.99543598175,418.60090448096,436.53528831673,469.86362971679,489.99429388332,523.2511306012],description:"Duodene with equal tempered fifths"},duowell:{frequencies:[261.6255653006,278.41172412276,294.03623226919,312.90189200955,327.96500300935,349.00756672938,368.59392213143,392.24328034087,417.4100028405,437.50413894442,469.11953885575,491.70297432358,523.2511306012],description:"Ellis duodene well-tuned to fifth=(7168/11)^(1/16) third=(11/7)^(1/2)"},dwarf6_7:{frequencies:[261.6255653006,299.00064605783,327.03195662575,373.75080757229,392.4383479509,448.50096908674,523.2511306012],description:"Dwarf(<6 10 14 17|)"},cairo:{frequencies:[261.6255653006,269.38381929633,276.03456984659,285.15047989166,293.63138642043,300.85736580106,309.799366845,312.20234522745,320.03127253896,327.93377450564,337.66851484331,348.83408706747,357.41197445437,367.9166999024,380.21445327801,392.4383479509,401.02017979859,414.62054722758,417.26565438692,427.77234352616,440.44707963064,451.93568025669,468.86302025197,480.04690880844,491.77737838459,510.98743222773,523.2511306012],description:"P.42, of d'Erlanger, vol.5. Congress of Arabic Music, Cairo, 1932"},canright:{frequencies:[261.6255653006,286.48426603331,306.03443598155,335.11270457212,357.98136125932,391.99543598175,418.74586628806,458.53356119912,489.82466832727,523.2511306012],description:`David Canright's piano tuning for "Fibonacci Suite" (2001)`},carlos_alpha:{frequencies:[261.6255653006,273.68256372566,286.29520819723,299.48910562989,313.29104303136,327.729041887,342.83241505062,358.63182625716,375.1593523779,392.44854854484,410.5345162762,429.45397474154,449.24533531117,469.94877954106,491.60634075178,514.26198936695,537.96172218451,562.75365576207,588.68812410589],description:"Wendy Carlos' Alpha scale with perfect fifth divided in nine"},carlos_alpha2:{frequencies:[261.6255653006,267.58616452957,273.68256372566,279.91785681123,286.29520819723,292.81785438923,299.48910562989,306.31234757893,313.29104303136,320.42873367481,327.729041887,335.19567257401,342.83241505062,350.6431449633,358.63182625716,366.8025131876,375.1593523779,383.7065849236,392.44854854484,401.3896797878,410.5345162762,419.88769901416,429.45397474154,439.23819834286,449.24533531117,459.48046426806,469.94877954106,480.6555937997,491.60634075178,502.8065779009,514.26198936695,525.97838877075,537.96172218451,550.21807114943,562.75365576207,575.57483783111,588.68812410589],description:"Wendy Carlos' Alpha prime scale with perfect fifth divided by eightteen"},carlos_beta:{frequencies:[261.6255653006,271.44693432634,281.63699549204,292.20958942356,303.17907632096,314.56035546319,326.36888544505,338.62070517372,351.33245565363,364.52140258903,378.2054598351,392.40321372938,407.13394833666,422.41767164147,438.27514272393,454.72789995564,471.7982902542,489.50949943583,507.88558370741,526.95150234083,546.73315157381,567.25739978343,588.55212398003],description:"Wendy Carlos' Beta scale with perfect fifth divided by eleven"},carlos_beta2:{frequencies:[261.6255653006,266.49100855797,271.44693432634,276.49502530642,281.63699549204,286.87459075215,292.20958942356,297.64380291476,303.17907632096,308.81728905054,314.56035546319,320.41022551991,326.36888544505,332.43835840072,338.62070517372,344.91802487526,351.33245565363,357.86617542024,364.52140258903,371.30039682974,378.2054598351,385.23893610237,392.40321372938,399.70072522531,407.13394833666,414.70540688852,422.41767164147,430.27336116448,438.27514272393,446.42573318931,454.72789995564,463.18446188312,471.7982902542,480.57230974851,489.50949943583,498.61289378764,507.88558370741,517.33071758003,526.95150234083,536.75120456442,546.73315157381,556.90073257014,567.25739978343,577.80666964473,588.55212398003],description:"Wendy Carlos' Beta prime scale with perfect fifth divided by twentytwo"},carlos_gamma:{frequencies:[261.6255653006,266.98388983977,272.45195763676,278.03201633122,283.72635959645,289.53732808222,295.4673103769,301.51874398927,307.69411635045,313.99596583639,320.42688281121,326.98951069203,333.68654703547,340.52074464653,347.49491271011,354.6119179457,361.87468578579,369.2862015783,376.84951181374,384.56772537748,392.44401482761,400.48161769905,408.68383783428,417.05404674148,425.59568498025,434.31226357598,443.20736546293,452.28464695708,461.547839259,471.00074998758,480.64726474513,490.49134871455,500.53704828923,510.78849273629,521.24989589392,531.92555790347],description:"Wendy Carlos' Gamma scale with third divided by eleven or fifth by twenty"},carlos_harm:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,425.14154361347,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Carlos Harmonic & Ben Johnston's scale of 'Blues' from Suite f.micr.piano (1977) & David Beardsley's scale of 'Science Friction'"},carlos_super:{frequencies:[261.6255653006,277.97716313189,294.32876096318,313.95067836072,327.03195662575,348.83408706747,359.73515228832,392.4383479509,425.14154361347,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Carlos Super Just"},carlson:{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Brian Carlson's guitar scale (or 7 is 21/16 instead) fretted by Mark Rankin"},cassandra1:{frequencies:[261.6255653006,265.52313139125,271.43629763673,275.48001908354,279.58398024378,283.7490817683,290.06813927787,294.38942683035,298.7750924519,305.42877739024,309.97889991383,314.59680966486,319.28351286859,326.39391783308,331.25637026535,336.19125912653,343.67819754196,348.79814248043,353.99435973883,359.26798967332,367.26884406885,372.74022844163,378.29312490007,386.71766674112,392.47878977853,398.32574139651,407.19640716832,413.26261206104,419.41919061043,425.66748431192,435.14704737009,441.62964923022,448.20882304357,458.19037897128,465.01626879626,471.9438445688,478.97462660712,489.64133323501,496.93576068834,504.33885972365,515.57042175735,523.2511306012],description:"Cassandra temperament (Erv Wilson), 13-limit, g=497.866"},cassandra2:{frequencies:[261.6255653006,265.34593985135,270.18130909623,275.10479273152,279.0168449367,284.10133754875,289.27848429833,293.3920895946,298.7385406747,304.18241953205,309.72550158209,314.12986807617,319.85422136322,325.68288889698,330.31417303802,336.33345109576,342.46241778116,348.70307193775,353.66170827405,360.10644584283,366.66862514012,371.88273569526,378.65951299923,385.5597827545,392.58579535013,398.16845391153,405.42423290482,412.81223314336,418.68251621245,426.31212065787,434.08075852776,440.25348482514,448.27617460765,456.44506096456,464.76280801961,471.37183998139,479.96159605313,488.70788228454,495.65741860341,504.6897280454,513.8866322474,523.2511306012],description:"Cassandra temperament, schismic variant, 13-limit, g=497.395"},catler:{frequencies:[261.6255653006,269.80136421624,279.06726965397,294.32876096318,299.00064605783,305.22982618403,313.95067836072,318.93402246168,322.00069575458,327.03195662575,343.38355445704,348.83408706747,359.73515228832,367.91095120397,380.54627680087,392.4383479509,418.60090448096,425.14154361347,436.04260883433,441.49314144476,457.84473927605,465.11211608996,483.00104363188,490.54793493862,523.2511306012],description:'Catler 24-tone JI from "Over and Under the 13 Limit", 1/1 3(3)'},cbrat19:{frequencies:[261.6255653006,272.05448646742,281.65887246066,291.7164960911,303.76422848609,314.23522436032,325.78124145721,339.14379232251,350.05979530932,364.18597952318,377.95660802413,389.93691761381,406.2330981776,420.87727247778,436.65546295526,454.14747622901,467.92430113657,486.684954898,506.27371414348,523.2511306012],description:"brats = -1 -1 -1 -1 -1 -1 -1 -1 0 3/7 390808/591947 1/2 1/2 1/2 1/2 1/4 0 0 -1"},ceb88f:{frequencies:[261.6255653006,275.30280934529,289.60851057007,304.80308899558,320.69584574771,337.31885569235,354.97473368038,373.44187862432,393.05647479461,413.57234190108,435.03089105397,457.82276134277,481.66189358475,506.59641128799],description:"88 cents steps with equal beating fifths"},ceb88s:{frequencies:[261.6255653006,275.27750547448,289.60710371138,304.74878776577,320.64207659236,337.32428016541,354.95189689869,373.45451504132,392.8755714351,413.39725679488,434.93759942207,457.54716438978,481.43806014345,506.51485544552,533.01280425363],description:"88 cents steps with equal beating sevenths"},ceb88t:{frequencies:[261.6255653006,275.20384442973,289.60910777612,304.54100616185,320.3823320487,337.18847246966,354.60902163481,373.09056856306,392.69773188536,413.02170471677,434.58350960486,457.45853552679,481.16983689269,506.32527343025,533.01280425363],description:"88 cents steps with equal beating 7/6 thirds"},cet105:{frequencies:[261.6255653006,277.98437592617,295.36606150822,313.83458334354,333.45789502888,354.30820661869,376.46223533368,400.00150378562,425.01262301844,451.58762919357,479.82430313337,509.82655042708,541.70476218406,575.57624366132],description:"Equal temperament with very good 6/5 and 13/8"},cet105a:{frequencies:[261.6255653006,278.09098920184,295.59266404146,314.19580976213,333.96974580612,354.98815389674,377.32935907335,401.07660961589,426.31839262878,453.14877154631,481.66772230429,511.98151233648,544.20310589723,578.45256778249,614.85751848055,653.5536209391,694.68506540856,738.40511604959,784.8766959018],description:"18th root of 3"},cet111:{frequencies:[261.6255653006,279.02234237845,297.57591715819,317.3632108372,338.46625752841,360.97255206362,384.97540137331,410.57431878206,437.87543474729,466.99193686517,498.04453913461,531.16197935691,566.48156495049,604.14972437838,644.32262592407,687.16682227215,732.8599410185,781.59142109591,833.56329335333,888.99103711409,948.10444554232,1011.14859670036,1078.38486510237,1150.09200534594,1226.56730779978,1308.127826503],description:'25th root of 5, Karlheinz Stockhausen in "Studie II" (1954)'},cet111a:{frequencies:[261.6255653006,279.09119608948,297.72279782842,317.59821198502,338.80046946076,361.41815173468,385.54574794778,411.2840547398,438.74060487161,468.03009995854,499.27490936609,532.60556349815,568.16130614457,606.09068659426,646.55215742719,689.71476370538,735.75882016749,784.8766959018],description:"17th root of 3. McLaren 'Microtonal Music', volume 1, track 8"},cet112:{frequencies:[261.6255653006,279.13807488234,297.82282461384,317.75828292395,339.02816520012,361.72179601836,385.93447726538,411.76789245756,439.33052439618,468.73812456399,500.11419015728,533.59048802364,569.30759588159,607.4155105893,648.07426630787,691.45461344743,737.73872000797,787.12095980595,839.80871352279,896.02324851892,956.00062766807,1019.99273078287,1088.26829265547,1161.11404316696,1238.83588500259,1321.76021726874,1410.23528064063,1504.63263477595,1605.34868446028,1712.8063948195,1827.45703443292,1949.78208984359,2080.29524321777,2219.54459500735,2368.11492276755,2526.63016208001,2695.75596930795,2876.20260183901,3068.72784518,3274.14022786751,3493.30234242079,3727.13457771193,3976.61891204907,4242.80307922676,4526.8048719912,4829.81697864182,5153.11189830808,5498.04733953642,5866.07179694692,6258.73081875602,6677.6733762505,7124.65885956048,7601.56430418436,8110.3925243186],description:"53rd root of 31. McLaren 'Microtonal Music', volume 4, track 16"},cet114:{frequencies:[261.6255653006,279.47933554513,298.55147893584,318.92513586406,340.68912750315,363.93832870511,388.77409689134,415.30469757995,443.64579124771,473.92093172942,506.26209616971,540.81027939262,577.71608583803,617.1404103833,659.25511382574,704.24379572788,752.30258557703,803.64098403142,858.48280642307,917.06712239825,979.64933665453,1046.5022612024],description:"21st root of 4"},cet115:{frequencies:[261.6255653006,279.68949451567,299.00064605783,319.64513593742,341.71502406609,365.30872604057,390.53145607553,417.49568846357,446.32166408632,477.13792869952,510.08190181294],description:"2nd root of 8/7. Werner Linden, Musiktheorie, 2003 no.1 midi 15.Eb=19.44544 Hz"},cet117:{frequencies:[261.6255653006,279.86396690685,299.37379946195,320.24370022528,342.56848033562,366.44956000397,391.99543598175,419.32216217931,448.5538823653,479.82340237272,513.27277840175,549.0539690723,587.32953583482,628.27336308449,672.07145630843,718.92279942609,769.0402362475,822.65144744826,880,941.34642612261,1006.96941915374,1077.1671181081,1152.25842837255,1232.58448551457,1318.51022765149,1410.42601205207,1508.74940691646,1613.92711604023,1726.4369576214,1846.79005749489,1975.53320502451,2113.25127526858,2260.56991361642,2418.15841952625,2586.73271138559,2767.05861265008,2959.95538169309],description:"72nd root of 128, step = generator of Miracle"},cet118:{frequencies:[261.6255653006,280.22072913446,300.13755324878,321.46997343155,344.3186075731,368.79121945838,395.0032340925,423.07827792492,453.14877154631,485.35654007358,519.85349135637,556.8023269521,596.37732215892,638.76512932755,684.16567043124,732.79307276157,784.8766959018],description:"16th root of 3. McLaren 'Microtonal Music', volume 1, track 7"},cet126:{frequencies:[261.6255653006,281.50639381697,302.89795903081,325.91506125677,350.68122444233,377.32935907335,406.00247545366,436.85445118639,470.05085697597,505.76984518255,544.20310589723,585.55689566922,630.05314440547,677.93064638327,729.44634176744,784.8766959018],description:"15th root of 3. McLaren 'Microtonal Music', volume 1, track 6"},cet126a:{frequencies:[261.6255653006,281.42815779395,302.72962012827,325.64340264099,350.29154279212,376.80531512858,405.32593044476,436.00528786292,469.00678383895,504.50618240233,542.69254813034,583.76926541313,627.95510352048,675.48539363125,726.61327927927,781.61106458091,840.77166451082,904.41016494992,972.86550081423,1046.5022612024],description:"19th root of 4"},cet133:{frequencies:[261.6255653006,282.54488373859,305.13688994853,329.53533037111,355.88464567857,384.34082587483,415.07233376839,448.26110228542,484.10361152681,522.81205194575,564.61558053174,609.76167743791,658.5176110828,711.17202040031],description:"13th root of e"},cet140:{frequencies:[261.6255653006,283.72172983292,307.68407293041,333.67021037701,361.85106232365,392.4119924075,425.55401329039,461.49511402661,500.47170241421,542.7401414615,588.57845795114,638.28815062634,692.19618110881,750.65713728047,814.05554253056,882.80839491877,957.36792629418,1038.22454144983,1125.91008648826,1221.00130775733,1324.12366033919,1435.95544645068,1557.23222387914,1688.75170820144,1831.3789571042],description:"24th root of 7"},cet141:{frequencies:[261.6255653006,283.85429714132,307.97166902637,334.13814720468,362.52783176564,393.32961502355,426.7484383229,463.0066556268,502.34551296122,545.02675670673,591.33436279611,641.57644431325,696.08728968715,755.22958979995,819.39685117042,889.01601417107,964.55029369918,1046.5022612024],description:"17th root of 4"},cet146:{frequencies:[261.6255653006,284.69629445872,309.80145226022,337.12043918596,366.84847565362,399.19799705513,434.40017432099,472.70655602525,514.39088038704,559.75102196641,609.11112257023,662.82390755693,721.27320639821,784.8766959018],description:"13th root of 3, Bohlen-Pierce approximation"},cet148:{frequencies:[261.6255653006,284.92791524313,310.30575035912,337.94392545772,368.04376529149,400.82452432448,436.52498800167,475.40520223986,517.74838217475,563.86296895784,614.08486606944,668.77990486322,728.34649714081,793.21854485147,863.86858278563,940.81124699851,1024.60701225804,1115.86625569541,1215.25373699679,1323.49342609599,1441.37375222579,1569.7533918036],description:"21th root of 6, Moreno's C-21"},cet152:{frequencies:[261.6255653006,285.70808394691,312.0073878821,340.72733440875,372.0911362405,406.34196228781,443.74556186468,484.59214639302,529.19833545193,577.91081034511,631.10724720728,689.20039277289,752.64098693245,821.92125998587],description:"13th root of pi"},cet158:{frequencies:[261.6255653006,286.70831230381,314.19580976213,344.3186075731,377.32935907335,413.50494015483,453.14877154631,496.5933637384,544.20310589723,596.37732215892,653.5536209391,716.21156534988,784.8766959018],description:`12th root of 3, Moreno's A-12, see dissertation "Embedding Equal Pitch Spaces.`},cet159:{frequencies:[261.6255653006,286.82842069679,314.45911373416,344.75151869218,377.96204482418,414.37180231943,454.28897403052,498.05144066897,546.02962057131],description:"4e-th root of e. e-th root of e is highest x-th root of x"},cet160:{frequencies:[261.6255653006,286.95745534843,314.74210513576,345.21700307457,378.64263238751,415.30469757995,455.51656649021,499.62194879119,547.99783383788,601.05771297194,659.25511382574,723.0874768355,793.10040709753,869.89233791055,954.11964586525,1046.5022612024],description:'15th root of 4, Rudolf Escher in "The Long Christmas Dinner" (1960)'},cet160a:{frequencies:[261.6255653006,287.06963246392,314.98822873932,345.62201499981,379.23505183234,416.11708252541,456.58602635137,500.99072933585,549.71395617638,603.17569602575,661.83679400878,726.20290371434,796.8288589228,874.32344802967,959.35468153537,1052.65552131526,1155.03021091382,1267.36122959081,1390.6168610076,1525.85955590014,1674.2551187631,1837.08270650821,2015.74588766663,2211.78472029595,2426.88907720145,2662.91313932742,2921.89140956529,3206.0563044734,3517.85730085803,3859.98211320646,4235.37982185266,4647.28638964387,5099.2524155536,5595.17379976366,6139.32543031277,6736.39784717273,7391.53779523322,8110.3925243186],description:"37th root of 31. McLaren 'Microtonal Music', volume 2, track 7"},cet163:{frequencies:[261.6255653006,287.45276480522,315.82957660097,347.00769742017,381.26366336311,418.90131810157,460.25449359467,505.68997636603,555.61077020009,610.45965236807],description:'9th root of 7/3. Jeff Scott in "Quiet Moonlight" (2001)'},cet163a:{frequencies:[261.6255653006,287.41152361975,315.7389582221,346.85836204295,381.04491126651,418.60090448096,459.85843616195,505.18233428314,554.97338050766],description:"5th root of 8/5"},cet166:{frequencies:[261.6255653006,287.95619440582,316.93680165166,348.83408706747],description:"3rd root of 4/3"},cet173:{frequencies:[261.6255653006,289.10449173793,319.46957112932,353.02394045842,390.10257564198,431.07563562091,476.35215768611,526.38414093011,581.67105858963,642.7648443263,710.27540222401,784.8766959018],description:"11th root of 3, Moreno's A-11"},cet175:{frequencies:[261.6255653006,289.48414624674,320.30918244523,354.41654988346,392.15575985798,433.91353804458,480.11779720922,531.2420078798,587.8100594825,650.40162657281,719.65810898332,796.28920449429,881.08018137935,974.89992535123,1078.70983713651,1193.57370864212,1320.66858845324,1461.29686662697,1616.89961515233,1789.07135516847,1979.57639663535,2190.36691789568,2423.60297039629,2681.67459807517,2967.22638952895,3283.18448966052,3632.78664249769,4019.61535560076,4447.6346101102],description:"28th root of 7. McLaren 'Microtonal Music', volume 6, track 3"},cet175a:{frequencies:[261.6255653006,289.53628281337,320.42456924675,354.60807736883,392.4383479509,434.30442400296,480.63685362987,531.91211578736],description:"4th root of 3/2"},cet178:{frequencies:[261.6255653006,289.91935960089,321.27301846367,356.01745236555,394.51936464224,437.18511000944,484.46499093218,536.85800524663,594.91712478053,659.25511382574,730.5510078664,809.55727745129,897.10776473059,994.12650420781,1101.63744560301,1220.77528002516,1352.79740322961,1499.09721690784,1661.21879031979,1840.87318566558,2039.95650991293,2260.56991361642,2505.04181781964,2775.9524141353,3076.16094499002,3408.83584914421,3777.48827884202,4186.0090448096],description:"27th root of 16"},cet181:{frequencies:[261.6255653006,290.48091212946,322.51878830959,358.09020513941,397.58488163802,441.43552612833,490.12256936272,544.17943316245,604.19836236377,670.83693141722,744.82523718317,826.97390553231,918.18295398723,1019.45167961503,1131.88958971281,1256.72856920928,1395.33634826987],description:"6.625 tET. The 16/3 is the so-called Kidjel Ratio promoted by Maurice Kidjel in 1958"},cet182:{frequencies:[261.6255653006,290.70585738945,323.0184918031,358.92275093366,398.81785224951,443.14738973192,492.40425618917,547.1361382945,607.95159681319,675.52683545966,750.61321956915,834.04563048717,926.75174856904,1029.76237395443,1144.22286477952,1271.40590625444,1412.7256395721,1569.7533918036],description:"17th root of 6, Moreno's C-17"},cet195:{frequencies:[261.6255653006,292.81795587218,327.72927094457,366.80289667873,410.53509014096,459.48126579586,514.26306468681,575.57624366132],description:"7th root of 11/5"},cet21k:{frequencies:[261.6255653006,264.89588486686,268.20708342769,271.55967197054,274.95416787017,278.3910952928,281.87098404962,285.39437141672,288.96180112674,292.57382370898,296.23099657435,299.9338841014,303.68305772341,307.47909424051,311.32258299104,315.21411535185,319.1542918681,323.14372059172,327.18301717534,331.2728049672,335.41371510742,339.60638662537,343.85146653829,348.14960995112,352.50148015762,356.90774874273,361.36909568619,365.8862094675,370.45978717215,375.09053459917,379.77916637013,384.52640603933,389.33298620552,394.19964862491,399.1271443257,404.11623372391,409.16768674077,414.28228292154,419.46080913287,424.70406934596,430.01287031296,435.38803129329,440.83038178715,446.34076166346,451.92002128953,457.56902166224,463.28863454093,469.07974258197,474.94323947488,480.88003008033,486.89103056976,492.97716856672,499.13938329007,505.37862569893,511.69585863936,518.09205699304,524.56820782765],description:"scale of syntonic comma's, almost 56-tET"},cet222:{frequencies:[261.6255653006,297.3462123974,337.94392545772,384.08458333231,436.52498800167,496.12526073276,563.86296895784,640.8491384935,728.34649714081,827.79017883768,940.81124699851,1069.2634803114,1215.25373699679,1381.1765584523,1569.7533918036],description:"14th root of 6, Moreno's C-14"},cet233:{frequencies:[261.6255653006,299.41460910537,342.66187834083,392.15575985798,448.79850611373,513.6227001391,587.8100594825,672.71300106294,769.87926947615,881.08018137935,1008.34288220748,1153.98733901804,1320.66858845324,1511.42518780658,1729.7345489351,1979.57639663535,2265.50524176842,2592.73349533282,2967.22638952895,3395.81083571538,3886.29974647262,4447.6346101102],description:"21st root of 17. McLaren 'Microtonal Music', volume 2, track 15"},cet24:{frequencies:[261.6255653006,265.3411057651,269.1094134006,272.9312375932,276.80733837157,280.73848655813,284.72546392233,288.7690633361,292.87008893155,297.02935626086,301.24769245848,305.52593640563,309.86493889709,314.26556281043,318.72868327757,323.25518785885,327.84597671953,332.50196280875,337.22407204116,342.01324348101,346.8704295289,351.79659611118,356.79272287204,361.85980336835,366.9988452672,372.21087054633,377.49691569736,382.85803193188,388.29528539052,393.80975735501,399.40254446313,405.07475892685,410.82752875349,416.66199797006,422.57932685074,428.58069214763,434.66728732478,440.84032279551,447.10102616311,453.45064246502,459.89043442035,466.42168268106,473.04568608657,479.76376192214,486.57724618073,493.48749382879,500.49587907561,507.6037956467,514.81265706088,522.12389691142,529.53896915113],description:"least squares fit primes 2-13"},cet258:{frequencies:[261.6255653006,303.75687573192,352.67287219582,409.46613795376,475.40520223986,551.96287401486,640.8491384935,744.04935121924,863.86858278563,1002.98310468409,1164.50016626124,1352.0273979586,1569.7533918036],description:"12th root of 6, Moreno's C-12"},cet29:{frequencies:[51.91308719749,52.80006242627,53.70219231256,54.6197354699,55.55295587693,56.50212107609,57.46750349647,58.44938022184,59.44803272677,60.46374832519,61.49681820986,62.54753889218,63.61621194966,64.70314373878,65.80864697157,66.93303858176,68.07664129187,69.2397833384,70.42279815925,71.62602610967,72.84981213985,74.09450750046,75.36046944358,76.64806088248,77.95765225928,79.28961901721,80.64434345693,82.02221441105,83.42362735565,84.84898403373,86.29869452271,87.77317443616,89.27284697886,90.79814258634,92.34949851506,93.9273610926,95.53218267212,97.16442386902,98.82455316866,100.51304648023,102.230389586,103.97707482641,105.75360353451,107.56048560902,109.39823902877,111.26739251837,113.16848194039,115.10205294491,117.06866050489,119.06886838764,121.10325205621,123.17239474253,125.2768903313,127.4173428542,129.59436591466,131.80858584574,134.06063743615,136.35116706905,138.68083217153,141.05030058861,143.46025402018,145.91138336926,148.40439215824,150.93999592972,153.51892156515,156.14191102559,158.8097162888,161.52310306741,164.28285015685,167.08974869373,169.94460622727,172.84824120887,175.80148703892,178.80519135714,181.8602162858,184.96743760879,188.12774927869,191.34205731671,194.61128429254,197.93636853869,201.31826325695,204.75794142387,208.2563891515,211.8146105632,215.43362693858,219.11447574094,222.85821595641,226.66592086774,230.53868336123,234.47761499594,238.48384494529,242.55852580808,246.70282574354,250.91793424736,255.20506113867,259.56543598745],description:"95th root of 5"},cet39:{frequencies:[261.6255653006,267.55763511324,273.62420803617,279.82833216202,286.17312954462,292.66178817784,299.29756995616,306.08381073387,313.02392200207,320.12139075456,327.37978859613,334.80276256646,342.39404424694,350.15744982839,358.09687996112,366.21632994368,374.51987945827,383.01170275779,391.6960687417,400.57734310204,409.65998815178,418.94857448076,428.44776921301,438.16234766073,448.09719341103,458.25729813392,468.64777462103,479.27384364987,490.14084702027,501.25424765147,512.61963232837,524.24271148185,536.12933410494,548.28547272565,560.71723832061,573.43088042607,586.43278689221,599.72950056876,613.32770249519,627.23422858353,641.45606974252,656.00037539202,670.87445318194,686.08578808043,701.64202314362,717.55097860059,733.82065199545,750.45921787297,767.47504913108,784.8766959018],description:"49th root of 3"},cet39a:{frequencies:[261.6255653006,267.54999903763,273.60843178624,279.80421399945,286.14029787289,292.61969147246,299.24597805224,306.02231493662,312.9519192023,320.03862308027,327.28580327671,334.69690040195,342.27601296361,350.02675229311,357.95279806627,366.05853356918,374.34782106107,382.82459589435,391.49354592099,400.35880176332,409.42457221564,418.6958708581,428.17711532294,437.87280684605,447.78830736843,457.9283414747,468.29772316218,478.90218693807,489.74678566745,500.83666784082,512.17796641877,523.77608535691],description:"31-tET with least squares octave; equal weight to 5/4, 3/2, 7/4 and 2/1"},cet39b:{frequencies:[261.6255653006,267.54443554965,273.59736903996,279.78708267123,286.11699418435,292.58994480246,299.2095086599,305.97865699219,312.90112748358,319.98002733127,327.21907624411,334.6220906301,342.19239338178,349.93416455252,357.85087908811,365.94690831825,374.22588619981,382.6921630398,391.3502022376,400.20389001205,409.25811505631,418.51694141988,427.98548149913,437.66798531163,447.56979919346,457.69536764001,468.05001127562,478.63918904181,489.46765396188,500.54138513107,511.86535306771,523.4458104663],description:"31-tET with l.s. 8/7, 5/4, 4/3, 3/2, 8/5, 7/4, 2/1; equal weights"},cet39c:{frequencies:[261.6255653006,267.52919373065,273.56603860918,279.73910598956,286.05147140959,292.50627485027,299.10673210371,305.85612987468,312.75782903301,319.8152662872,327.03195662575,334.41149334841,341.95754947331,349.67388372612,357.56433846376,365.63284274659,373.88341429498,382.32016148985,390.94728541851,399.7690842757,408.78994578219,418.01436575232,427.44693588739,437.09235368188,446.9554220819,457.04105241293,467.35426952494,477.9002035559,488.68410850494,499.71135422907,510.98743222773,522.51795602393],description:"10th root of 5/4"},cet39d:{frequencies:[261.6255653006,267.55786538889,273.62467903016,279.82905628857,286.1741163878,292.66304927922,299.29911724561,306.08565654127,313.02607906932,320.12387409698,327.38261000985,334.80593610581,342.39758442978,350.16137164992,358.1012009765,366.22106412416,374.52504331879,383.0173133498,391.70214366901,400.58390053708,409.66704921865,418.95615622721,428.45589162089,438.17103135034,448.1064596598,458.26717154264,468.65827525256,479.28499487175,490.15267293726,501.26677312698,512.63288300643,524.25671683791],description:"31-tET with l.s. 5/4, 3/2, 7/4"},cet39e:{frequencies:[261.6255653006,267.56053134626,273.63013029147,279.83741943955,286.18551905392,292.67762672082,299.3170076044,306.10700082387,313.05102655064,320.15257723818,327.41522444303,334.84262641603,342.43851674365,350.20672153383,358.15114775562,366.27579142084],description:"15th root of 7/5, X.J. Scott"},cet44:{frequencies:[261.6255653006,268.36512159638,275.27829096782,282.369545742,289.64347345451,297.10477981732,304.75829176301,312.60896056742,320.66186505284,328.92221487359,337.3953538863,346.08676360706,355.00206675748,364.14703090225,373.52757218034,383.14975913231,393.01981662619,403.14412988459,413.52924861543,424.18189124916,435.1089492851,446.31749174973,457.81476976988,469.60822126365,481.70547575226,494.11435929576,506.84289955596,519.89933098975,533.2921001762],description:"least maximum error of 10.0911 cents to a set of 11-limit consonances"},cet45:{frequencies:[261.6255653006,268.55812265554,275.67437899809,282.97903853108,290.47742047479,298.17449463282,306.07552595385,314.18591889722,322.51122112969,331.05693609414,339.82928674186,348.83408706747],description:"11th root of 4/3"},cet45a:{frequencies:[261.6255653006,268.48547646737,275.52525683447,282.74962263341,290.1634137569,297.77159700127,305.57926939395,313.59166160814,321.8141414671,330.2522175402,338.9115428334,347.79791857637,356.91729810903,366.27579142084],description:"13th root of 7/5, X.J. Scott"},cet49:{frequencies:[261.6255653006,269.10883825956,276.80615518671,284.72363837915,292.86758524998,301.24447333711,309.86096545541,318.72391499615,327.84037137809,337.21758565441,346.86301628009,356.78433504421,366.98943317194,377.48642760107,388.28366743806,399.38974059878,410.81348063915,422.56397378117,434.65056613995,447.08287115744,459.87077724873,473.02445566714,486.55436859423,500.47127746122,514.78625150841,529.51067658945],description:"least squares fit primes 3-13"},cet49a:{frequencies:[261.6255653006,269.10939785623,276.80730639354,284.72541458317,292.8700212642,301.24760545475,309.86483150611,318.72855440416,327.84582522255,337.22389673177,346.87022916874,356.7924961714,366.99859088307,377.49663223147,388.29497138724,399.40219840734,410.82714906841,422.57891189558,434.66683539241,447.10053547759,459.8899031344,473.04511227892,486.57662785344,500.49521415122,514.81194337949,529.53820446742],description:"least squares fit primes 5-13"},cet49b:{frequencies:[261.6255653006,269.11089011973,276.81037630182,284.73015118141,292.87651740119,301.25595792767,309.87514121046,318.74092648901,327.86036925135,337.24072684885,346.88946427176,356.81426008988,367.0230125633,377.52384592787,388.3251168606,399.43542112995,410.86360043647,422.61874944911,434.71022304287,447.14764374346,459.94090938509,473.10020098719,486.63599085665,500.55905092174,514.88046130456,529.61161913871],description:"least squares fit primes 3-11"},cet51:{frequencies:[261.6255653006,269.45730810595,277.52349357863,285.8311397433,294.38747470873,303.19994295657,312.27621181854,321.62417814738,331.25197518754,341.1679796516,351.38081900843,361.89937898954,372.73281132023,383.89054168203,395.38227791356,407.21801845694,419.40806105693,431.96301172054,444.89379394488,458.21165822114,471.92819182319,486.05532888913,500.60536080461,515.59094689708,531.0251223827,546.92132188791,563.29337300176,580.1555203085,597.52243480304,615.40922665547,633.83145835774,652.80515826392,672.34683453572,692.47348950549,713.20263446921,734.55230492227,756.54107625132,779.18807989593,802.51301999392,826.53619052513,851.2784929682,876.7614544861,903.00724665589,930.0387047592,957.87934765022,986.55339821839,1016.08580446361,1046.5022612024],description:"47nd root of 4"},cet53:{frequencies:[261.6255653006,269.81714175785,278.26519897904,286.97776745533,295.963129115,305.22982618403],description:"5th root of 7/6, X.J. Scott"},cet54:{frequencies:[261.6255653006,269.96706985652,278.57452968396,287.45642599351,296.6215054241,306.0787984682,315.83762188043,325.9075894649,336.29862154621,347.0209567468,358.08515411748,369.5021153806,381.28308783765,393.43967739203,405.98385998242,418.92799580061,432.28483186346,446.06752886518,460.28966468743,474.96525012045,490.10874266572,505.73506369981,521.85960157932,538.49824405725,555.66738252045,573.38393096839,591.66534267587,610.52963091344,629.99537269573,650.08174791487,670.80854445602,692.19618110881,714.26572768264,737.03893002078,760.53821452531,784.78673539949,809.80838082331,835.62780061242,862.2704354823,889.76252234217,918.13114956434,947.40426420901,977.61070438283,1008.78022764847,1040.94354635268,1074.13233401713,1108.37929206026,1143.71815851921,1180.1837471134,1217.81198154093,1256.63993812708,1296.7058535394,1338.04920533515,1380.71072249048,1424.73243255855,1470.15770307252,1517.03129303135,1565.39936221354,1615.30956841503,1666.81108016015,1719.95463363144,1774.79258265191,1831.3789571042],description:"62nd root of 7"},cet54a:{frequencies:[36.70809598968,37.88151295543,39.09243955873,40.34207507177,41.63165640381,42.96246070241,44.33580570763,45.75305128262,47.21560103286,48.72490261351,50.28245077394,51.88978777214,53.5485051662,55.26024570942,57.02670371,58.84962859429,60.73082539186,62.67215683218,64.67554556259,66.74297456936,68.87649134796,71.07820847085,73.35030604133,75.69503428946,78.11471406483,80.61174171737,83.18858976192,85.8478097501,88.59203530858,91.42398271579,94.34645661434,97.36235078878,100.47465152683,103.6864411753,107.00089881505,110.42130694669,113.95105240089,117.59363027227,121.3526480812,125.23182656372,129.23500749643,133.36615476182,137.62935895249,142.02884224198,146.56895930934,151.25420649717,156.08922305851,161.0787965455,166.22786851013,171.54153558634,177.0250602084,182.68387207023,188.52357443227,194.5499507934,200.76896615752,207.18677957808,213.80974586608,220.64442297146,227.69757979185,234.97619765489,242.48748500016,250.23887937817,258.23805608937,266.49293732345,275.01169389411,283.8027624226,292.87484767725,302.23693268442,311.89828942495,321.86848086456,332.15738106504,342.77517792247,353.73238500089,365.03985405114,376.70877738729,388.75071142436,401.17757988308,414.00168763976,427.23573537822,440.89282237095,454.98647402737,469.53064564449,484.53973861665,500.02861758376,516.01261368641,532.50755680773,549.52977996323,567.09613827221,585.22402902787,603.93139550692,623.23676470498,643.1592524742,663.71858572717,684.9351219702,706.82987354375,729.42451222373,752.74141479803,776.80366927173,801.63510168485,827.26030448295,853.70464190233,880.99430375232],description:"101st root of 24"},cet54b:{frequencies:[261.6255653006,269.96795403263,278.5763544202,287.45924871019,296.62539133416,306.08381073387,315.84382837889,325.91506125677,336.30743300953,347.03118371184,358.09687996112,369.51542742358,381.29807310848,393.45642905887,406.00247545366,418.94857448076,432.30748251802,446.09236270275,460.31680056078,474.99480683953,490.14084702027,505.76984518255,521.89720128632,538.53880634615,555.71105808945,573.43088042607,591.71572697754,610.58361784146,630.05314440547,650.14349087612,670.87445318194,692.26646247798,714.3405894063,737.11858847932,760.62290389144,784.8766959018],description:"35th root of 3 or shrunk 22-tET"},cet55:{frequencies:[261.6255653006,270.01349691657,278.67035254505,287.60475577316,296.82560168354,306.34207552634,316.16365537714,326.30012507123,336.76157646737,347.55843063202,358.70144085484,370.20170518484,382.07067969055,394.32018111076,406.96241165943,420.00996255663,433.47583121124,447.37342422819,461.71658555081,476.51960046685,491.79721226214,507.56463983627,523.83758122386,540.63224654693,557.96536270557,575.85419620437,594.31655714751,613.37083662462,633.03601203256,653.33166919923,674.2780257851,695.8959359612,718.20693418482,741.23324143097,764.99779551626,789.52425640623,814.83705588084,840.96140460432,867.92332151557,895.74966491622,924.46813868508,954.10735043232,984.69681977767,1016.26701863443,1048.84937826003,1082.47635523452,1117.18144085251,1152.9992001672,1189.96531328939,1228.1165836432,1267.49101522141,1308.127826503],description:"51th root of 5"},cet55a:{frequencies:[261.6255653006,270.1234331478,278.89732210685,287.95619440582,297.30930820811,306.96622255393,316.93680165166,327.23123542864,337.86004496999,348.83408706747],description:"9th root of 4/3"},cet63:{frequencies:[261.6255653006,271.38398887572,281.50639381697,292.00635633712,302.89795903081,314.19580976213,325.91506125677,338.07143142496,350.68122444233,363.76135261718,377.32935907335,391.4034412791,406.00247545366,421.14604188408,436.85445118639,453.14877154631,470.05085697597,487.58337662462,505.76984518255,524.63465441916,544.20310589723,564.50144490757,585.55689566922,607.39769784277,630.05314440547,653.5536209391,677.93064638327,703.21691530872,729.44634176744,756.65410477833,784.8766959018],description:"30th root of 3 or stretched 19-tET"},cet63a:{frequencies:[261.6255653006,271.37251603396,281.48259278098,291.96932561311,302.84674360983,314.12940356828,325.83240291761,337.9714015469,350.5626427598,363.62297711023,377.1698766242,391.22147055517,405.79656146784,420.91465242294,436.59597307447,452.86150935499,469.73302118774,487.23308701689,505.38512383853,524.21342105699,543.74317298677,564.00051582303,585.01254970054,606.80739415229,629.41421305643,652.8632568014,677.18590276436,702.41470135475,728.58340348685,755.72702964881,783.88190097186,813.08569174348,843.37747981977,874.79780396885,907.38869808556,941.19377721109,976.25827622702,1012.62911525602,1050.35496244617,1089.48630538731,1130.07549372248,1172.17684627813,1215.84669925421,1261.14348767523,1308.127826503],description:"44th root of 5"},cet67:{frequencies:[261.6255653006,271.89449162354,282.56647812794,293.65734341902,305.18353207836,317.16212905639,329.61089159214,342.54827390456,355.99345454941,369.96636271272,384.48771622149,399.57903967613,415.26270466472,431.56196087069,448.50096908674],description:"14th root of 12/7, X.J. Scott"},cet70:{frequencies:[261.6255653006,272.49048247121,283.80660334964,295.59266404146,307.86818385681,320.65348759128,333.96974580612,347.83900623503,362.28423824861,377.32935907335,392.99928119148,409.31995166322,426.31839262878,444.02275580482,462.46235461904,481.66772230429,501.67065719504,522.50428685614,544.20310589723,566.80304433509,590.34152430617,614.85751848055,640.39162865951,666.98613212152,694.68506540856,723.53429383412,753.58158307649,784.8766959018],description:"27th root of 3"},cet78:{frequencies:[261.6255653006,273.68177330057,286.29355449603,299.48651076576,313.28742377221,327.72430932822,342.82647426905,358.62457594514,375.15068445646,392.4383479509],description:"9th root of 3/2"},cet79:{frequencies:[261.6255653006,273.87994580863,286.70831230381,300.13755324878,314.19580976213,328.91254817579,344.3186075731,360.44627930254,377.32935907335,395.0032340925,413.50494015483,432.87325713404,453.14877154631,474.3739811962,496.5933637384,519.85349135637,544.20310589723,569.69324454502,596.37732215892,624.31126899512,653.5536209391,684.16567043124,716.21156534988,749.7584744066,784.8766959018],description:"24th root of 3, James Heffernan (1906)."},cet80:{frequencies:[261.6255653006,273.93704112612,286.82786567404,300.32530171503,314.4578949408,329.25553433534,344.74951538696,360.97260627516,377.95911717185,395.74497280393,414.36778843034,433.8669493945,454.28369442026,475.66120282759,498.04439817054,521.48118104407,546.02084308555,571.71528316122,598.61884237431,626.7884189909,656.28358877393,687.16673097983,719.50316028422,753.36126491573,788.81265129014,825.93229545055,864.79870163404,905.49406830005,948.10446197172,992.7199992577,1039.43503743958,1088.34837402783,1139.56345570838,1193.18859712177,1249.33720993748,1308.127826503],description:"35th root of 5"},cet84:{frequencies:[261.6255653006,274.70153691096,288.43104187674,302.84674360983,317.98293803021,333.87563322966,350.5626427598,368.08366429725,386.48038152577,405.79656146784,426.0781586093,447.37342422819,469.73302118774,493.21014446673,517.86064472263,543.74317298677,570.91930267857,599.45368763079,629.41421305643,660.87215705217,693.9023601738,728.58340348685,764.99779551626,803.23216389999,843.37747981977,885.52924725223,929.78774807537,976.25827622702,1025.05138820617,1076.28316609431,1130.07549372248,1186.55634664103,1245.86008938569,1308.127826503],description:"33rd root of 5"},cet87:{frequencies:[261.6255653006,275.05808287728,289.18026151691,304.0275068203,319.63704721237,336.04802279017,353.30157737897,371.44097305523,390.51169339433,410.56155044631,431.64081781968,453.80235066263,477.10170997643,501.59731726833,527.35059397819,554.42610593952],description:"Least-squares stretched ET to telephone dial tones. 1/1=697 Hz"},cet88:{frequencies:[261.6255653006,275.26799068863,289.6217982776,304.72408298441,320.61387403473,337.33223582731,354.92237405774,373.42974737602,392.90218486657,413.39000965417,434.94616895528,457.62637091093,481.48922855473,506.59641128799,533.01280425363],description:"88 cents steps by Gary Morrison"},cet88_appr:{frequencies:[261.6255653006,275.62199471997,290.69507255622,305.22982618403,320.49131749323,336.37572681506,354.37113606854,373.75080757229,392.4383479509,413.43299207996,436.04260883433,457.84473927605,482.33849075995,504.56359022259,531.55670410281,560.62621135843,588.65752192635,620.14948811994,654.0639132515,686.76710891407,723.50773613993,763.07456546008,801.22829373309],description:"88 cents scale approximated"},cet88b:{frequencies:[261.6255653006,275.26385669298,289.61326650562,304.7105300898,320.59498481995,337.30729585456,354.89100872976,373.39113880701,392.85588995712,413.33509311257,434.8821088097,457.55209870333,481.40413163568,506.49927024418,532.9029023296],description:"87.9745 cents steps. Least squares of 7/6, 11/9, 10/7, 3/2, 7/4."},cet88bis:{frequencies:[261.6255653006,289.53272725508,320.41669955092,337.26306895804,373.23835706057,392.86190344834,434.76782633734,457.62637091093],description:"Bistep approximation of 2212121 mode in 7/4 to 11/9 9/7 10/7 3/2"},cet88bm:{frequencies:[261.6255653006,275.22889829239,289.53954239223,304.59427454323,320.43178392135,337.09277136281,354.62005396115,373.05867644715,392.45602022512,412.86193859025,434.32887139488,456.91198653787,480.66932039657,505.66192697453,531.95403480429],description:"87.75412 cents steps. Minimal highest deviation for 7/6, 11/9, 10/7, 3/2, 7/4."},cet88c:{frequencies:[261.6255653006,275.37188725148,289.84046967782,305.06925821769,321.09819727018,337.96933026971,355.72690383892,374.4174952616,394.09012940783,414.79640018179,436.59061916193,459.52995194191,483.67455974508,509.0877727469,535.83624905561,563.99013984227,593.62329144382,624.813430743,657.64235771869,692.19618110881,728.56553457307,766.84580121693,807.13738838693,849.54597972796,894.18279699007,941.16492045434,990.61558284509,1042.66447461031,1097.44811755542,1155.11020756021,1215.8019705522,1279.68259818323,1346.91964745566,1417.68945580607,1492.17764912727,1570.57960775359,1653.10095047047,1739.95812689496,1831.3789571042],description:"38th root of 7. McLaren 'Microtonal Music', volume 3, track 7"},cet89:{frequencies:[261.6255653006,275.56724848068,290.25186566903,305.71900507847,322.01036982349,339.16988002511,357.2437980159,376.28084921395,396.33236207144,417.45239374596,439.69788420361,463.12880499146,487.80833148705,513.80299757552,541.1828853206,570.0218080747,600.39752248465,632.39191886931,666.09125466774,701.58637981228,738.97299766656,778.35189934333,819.82925103406,863.51687139942,909.53255273344,958.00034936337,1009.05093129669,1062.82192563509,1119.45831186524,1179.11277682321,1241.94614996535,1308.127826503],description:"31st root of 5. McLaren 'Microtonal Music', volume 2, track 22"},cet90:{frequencies:[261.6255653006,275.62199471997,290.36720431405,305.90125228146,322.26633935092,339.50692625527,357.66984706396,376.80444887746,396.96271256675,418.19939952297,440.572208006,464.1419130862,488.97255163391,515.13157534193,542.69005603758,571.72285881831,602.3088534069,634.53113933145],description:"Scale with limma steps"},cet93:{frequencies:[261.6255653006,275.99488223824,291.15340824655,307.14448922429,324.01384989472,341.80973194459,360.58302103444,380.38739950036,401.27949808494,423.31905787312],description:"Tuning used in John Chowning's STRIA, 9th root of Phi"},cet98:{frequencies:[261.6255653006,276.83245825991,292.92324815749,309.94930780463,327.96500300935,347.02785219778,367.1987248383,388.54202015806,411.12588832951],description:"8th root of 11/7, X.J. Scott"},chahargah:{frequencies:[261.6255653006,277.18263097687,283.66146785671,311.12698372208,326.97270111135,348.82502010853,367.86341164695,392.44854854484,415.30469757995,425.01198472693,466.16376151809,493.88330125613,523.2511306012],description:"Chahargah in C"},chahargah2:{frequencies:[261.6255653006,283.66146785671,327.729041887,348.82502010853,392.44854854484,425.01198472693,493.88330125613,523.2511306012],description:"Dastgah Chahargah in C, Mohammad Reza Gharib"},chalmers:{frequencies:[261.6255653006,274.70684356563,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,412.06026534844,418.60090448096,436.04260883433,457.84473927605,470.92601754108,488.36772189445,515.07533168556,523.2511306012],description:"Chalmers' 19-tone with more hexanies than Perrett's Tierce-Tone"},chalmers_17:{frequencies:[261.6255653006,269.10058145205,286.15296204753,294.32876096318,313.95067836072,327.03195662575,336.37572681506,343.38355445704,376.74081403286,384.42940207435,392.4383479509,400.61414686654,408.78994578219,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"7-limit figurative scale, Chalmers '96 Adnexed S&H decads"},chalmers_19:{frequencies:[261.6255653006,269.10058145205,290.69507255622,294.32876096318,305.22982618403,313.95067836072,336.37572681506,348.83408706747,356.10146388137,363.36884069528,376.74081403286,384.42940207435,392.4383479509,406.97310157871,436.04260883433,448.50096908674,465.11211608996,470.92601754108,508.71637697339,523.2511306012],description:"7-limit figurative scale. Reversed S&H decads"},chalmers_csurd:{frequencies:[261.6255653006,273.35108123154,287.04667286017,303.37994773979,315.80837468238,323.38635505005,348.83408706747,357.38803216938,383.0466618906,392.4383479509,423.31690179539,433.47765231178,451.2357321491,476.91154755397,500.80604115761,523.2511306012],description:"Combined Surd Scale, combination of Surd and Inverted Surd, JHC, 26-6-97"},chalmers_isurd:{frequencies:[261.6255653006,273.35108123154,287.04667286017,303.37994773979,323.38635505005,348.83408706747,383.0466618906,433.47765231178,523.2511306012],description:"Inverted Surd Scale, of the form 4/(SQRT(N)+1, JHC, 26-6-97"},chalmers_ji1:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,466.02053819169,490.54793493862,523.2511306012],description:"Based loosely on Wronski's and similar JI scales, May 2, 1997."},chalmers_ji2:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,348.83408706747,370.63621750918,392.4383479509,416.96574469783,441.49314144476,466.02053819169,490.54793493862,523.2511306012],description:"Based loosely on Wronski's and similar JI scales, May 2, 1997."},chalmers_ji3:{frequencies:[261.6255653006,279.06726965397,296.50897400735,313.95067836072,331.39238271409,348.83408706747,366.27579142084,392.4383479509,418.60090448096,444.76346101102,470.92601754108,497.08857407114,523.2511306012],description:"15 16 17 18 19 20 21 on 1/1, 15-20 on 3/2, May 2, 1997. See other scales"},chalmers_ji4:{frequencies:[261.6255653006,279.06726965397,296.50897400735,313.95067836072,331.39238271409,348.83408706747,372.08969287196,395.34529867646,418.60090448096,441.85651028546,465.11211608996,496.11959049595,523.2511306012],description:"15 16 17 18 19 20 on 1/1, same on 4/3, + 16/15 on 16/9"},chalmers_surd:{frequencies:[261.6255653006,315.80837468238,357.38803216938,392.4383479509,423.31690179539,451.2357321491,476.91154755397,500.80604115761,523.2511306012],description:"Surd Scale, Surds of the form (SQRT(N)+1)/2, JHC, 26-6-97"},chalmers_surd2:{frequencies:[261.6255653006,272.2395613933,282.33485096279,291.98077704337,301.23248980765,310.13469895524,318.72425558532,327.03195662575,335.08385052998,342.90220911983,350.50624086893,357.91266581346,365.13613061818,372.18956061116,379.08442465499,385.8309605564,392.4383479509,398.91485744029,405.26796981327,411.50448329997,417.63058822561,423.65195171798,429.57376586736,435.40081471708,441.13750301549,446.78791303515,452.35581962987,457.84473927605,463.2579384726,468.59846621725,473.86917438523,479.07273156015,484.21164154672,489.28825377326,494.3047826718,499.26331035461,504.16580309972,509.01411882861,513.81001953884,518.55516185524,523.2511306012],description:"Surd Scale, Surds of the form (SQRT(N)+1)/4"},chalung:{frequencies:[261.6255653006,328.09251713275,362.03316295439,390.31715077734,479.41117101029,527.4935758042,647.70012555753,728.30917696308,823.06004869243,961.65052057178,1054.9871516084,1301.05663342451],description:'Tuning of chalung from Tasikmalaya. "slendroid". 1/1=185 Hz'},chaumont:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.49749487796,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,465.40109831725,489.02683710225,523.2511306012],description:"Lambert Chaumont organ temperament (1695), 1st interpretation"},chaumont2:{frequencies:[261.6255653006,274.56549986328,292.86986732103,309.30531842668,327.84547867349,349.70184487387,366.99801003998,391.46454285105,410.8262805401,438.2147004401,465.11211608996,490.54793493862,523.2511306012],description:"Lambert Chaumont organ temperament (1695), 2nd interpretation"},chimes:{frequencies:[261.6255653006,288.69027895239,130.8127826503,144.34513947619],description:"Heavenly Chimes"},chimes_peck:{frequencies:[261.6255653006,327.03195662575,392.4383479509,457.84473927605,588.65752192635,719.47030457665,850.28308722695,981.09586987725,1046.5022612024],description:"Kris Peck, 9-tone windchime tuning. TL 7-3-2001"},chin_12:{frequencies:[261.6255653006,277.05457499359,293.57996645301,310.53449241474,329.24697610111,347.79893712036,368.97000115401,391.76907592069,413.1274313058,439.00991514661,462.11551390967,491.43599249807,523.2511306012],description:"Chinese scale, 4th cent."},chin_5:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,441.49314144476,523.2511306012],description:"Chinese pentatonic from Zhou period"},chin_60:{frequencies:[261.6255653006,262.17244551937,265.19499215873,268.81311753311,272.48060600886,276.1981310001,279.38237857051,283.19406633357,287.05775848811,290.97416342694,294.32876096318,294.94400091442,298.34436617857,302.41475692242,306.54068145351,310.72289706448,314.30517589183,318.59332496145,322.93997797627,327.34593352805,331.11985608357,331.812000697,335.63741195089,340.21660119759,344.85826629043,349.56326086722,353.59332287831,358.41749022331,363.30747486009,368.26417485089,372.50983809402,373.28850041093,377.59208844475,382.74367817547,387.96555142985,392.4383479509,393.25866808247,397.79248823809,403.21967609811,408.72090880899,414.29719629306,419.07356785577,424.79110016094,430.58663751693,436.46124492224,441.49314144476,442.41600115048,447.51654926786,453.62213515688,459.81102195042,466.08434536373,471.45776383774,477.8899872033,484.40996672226,491.01890004663,496.67978412536,497.7180007967,503.45611792634,510.32490448905,517.28740216504,523.2511306012],description:'Chinese scale of fifths (the 60 lu")'},chin_7:{frequencies:[261.6255653006,294.32876096318,331.11985608357,348.83408706747,392.4383479509,441.49314144476,496.67978412536,523.2511306012],description:"Chinese heptatonic scale and tritriadic of 64:81:96 triad"},chin_bianzhong:{frequencies:[261.6255653006,277.82379926216,312.56802260838,375.1593523779,420.13030572059,469.40618689596,506.59641128799,563.72967895209,627.66881138238,764.75812197709,849.53311813274,949.1724262561,1225.95732655636],description:"Pitches of Bianzhong bells (Xinyang). 1/1=b, Liang Mingyue, 1975."},chin_bianzhong2a:{frequencies:[261.6255653006,284.81073476233,312.56802260838,372.56793743951,413.39000965417,447.94973572445,491.60634075178,562.75365576207,652.05945856061,695.63805470995,863.88355261715,960.75607282217,1173.30283584026],description:"A-tones (GU) of 13 Xinyang bells (Ma Cheng-Yuan) 1/1=d#=619 Hz"},chin_bianzhong2b:{frequencies:[261.6255653006,279.59231184543,312.74738729016,375.37536096215,418.43048063126,468.86028020615,505.12945327459,562.08698385796,624.42058858709,762.97988553915,849.53425657971,936.08862980659,1215.37624187632],description:"B-tones (SUI) of 13 Xinyang bells (Ma Cheng-Yuan) 1/1=b+=506.6 Hz"},chin_bianzhong3:{frequencies:[261.6255653006,508.3551866238,542.32970395878,608.04166718582,619.02750937577,673.88551872153,729.80120031671,739.56153452917,812.57643344187,881.52624580654,911.03313298042,978.11461117351,982.0774855146,1059.88575280263,1092.20381072382,1163.18085489566,1213.27682870749,1331.52122774489,1483.40111876828,1542.82606951623,1645.93659621657,1649.74391394557,1818.91159982256,2044.01922018919,2273.22753490632,2362.92760489328,2776.13057951436],description:"A and B-tones of 13 Xinyang bells (Ma Cheng-Yuan) abs. pitches wrt middle-C"},chin_bronze:{frequencies:[261.6255653006,299.00064605783,313.95067836072,327.03195662575,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:`Scale found on ancient Chinese bronze instrument 3rd c.BC & "Scholar's Lute"`},chin_chime:{frequencies:[261.6255653006,248.6592656401,341.74499057264,392.56190849927,548.78974538591,648.86582834888,714.36935367713,785.57745330134,889.7110417619,886.88898199546,992.62825668803,1044.08711871947,1326.14827969763],description:"Pitches of 12 stone chimes, F. Kuttner, 1951, ROMA Toronto. %1=b4"},chin_ching:{frequencies:[261.6255653006,276.1981310001,294.32876096318,310.72289706448,331.11985608357,349.56326086722,368.26417485089,392.4383479509,414.29719629306,441.49314144476,466.08434536373,496.67978412536,524.34489103873],description:"Scale of Ching Fang, c.45 BC. Pyth.steps 0 1 2 3 4 5 47 48 49 50 51 52 53"},chin_di:{frequencies:[261.6255653006,298.70635408336,316.56004827153,360.50766037677,409.94872043165,433.75364775074,527.37121036213],description:"Chinese di scale"},chin_di2:{frequencies:[261.6255653006,289.95657583698,318.21537073485,338.89464890898,383.48501130814,436.9606979923,494.73987775324,522.04355935974],description:"Observed tuning from Chinese flute dizi, Helmholtz/Ellis p. 518, nr.103"},chin_huang:{frequencies:[261.6255653006,331.11985608357,392.4383479509,441.49314144476,523.2511306012,588.65752192635,662.23971216714],description:"Huang Zhong qin tuning"},"chin_liu-an":{frequencies:[261.6255653006,278.83777354406,294.32876096318,311.64221749042,331.11985608357,353.19451315581,371.78369805875,392.4383479509,415.52295665389,441.49314144476,470.92601754108,492.82955324067],description:'Scale of Liu An, in: "Huai Nan Tzu", c.122 BC, 1st known corr. to Pyth. scale'},chin_lu:{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,328.55303549378,348.83408706747,371.78369805875,392.4383479509,415.52295665389,441.49314144476,470.92601754108,495.71159741166,523.2511306012],description:"Chinese L\xEF\xBF\xBD scale by Huai Nan zi, Han era. P\xEF\xBF\xBDre Amiot 1780, Kurt Reinhard"},chin_lu2:{frequencies:[261.6255653006,279.38237857051,294.32876096318,314.30517589183,331.11985608357,353.59332287831,372.50983809402,392.4383479509,419.07356785577,441.49314144476,471.45776383774,496.67978412536,523.2511306012],description:"Chinese L\xEF\xBF\xBD (Lushi chunqiu, by Lu Buwei). Mingyue: Music of the billion, p.67"},chin_lu3:{frequencies:[261.6255653006,277.34278419245,293.66476791741,310.58830860439,329.24697610111,347.81902735497,369.14054089803,391.76907592069,413.1512951712,439.23819834286,462.1422075194,491.60634075178,523.2511306012],description:"Chinese L\xEF\xBF\xBD scale by Ho Ch'\xEF\xBF\xBDng-T'ien, reported in Sung Shu (500 AD)"},chin_lu3a:{frequencies:[261.6255653006,277.06033146978,293.58830182213,310.53780743131,329.25144446584,347.79484055318,368.74579520635,391.78066943209,413.13681807919,438.99947255393,462.1072190611,491.17907538715,523.2511306012],description:`Chinese L\xEF\xBF\xBD scale by Ho Ch'\xEF\xBF\xBDng-T'ien, calc. basis is "big number" 177147`},chin_lu4:{frequencies:[261.6255653006,276.78521684908,293.5444075184,310.55356739316,329.35741152087,348.44172229085,369.5396750577,391.9150968203,414.62425518576,439.72952246257,465.20924434298,493.37740286979,523.2511306012],description:'Chinese L\xEF\xBF\xBD "749-Temperament"'},chin_lu5:{frequencies:[261.6255653006,277.35401920913,293.41471131112,311.37240624271,329.40299530711,349.20610523279,369.80535913035,392.03738806826,415.16320853113,440.12206674667,466.08434536373,494.10449271367,522.71643616375],description:"Chinese L\xEF\xBF\xBD scale by Ch'ien Lo-Chih, c.450 AD Pyth.steps 0 154 255 103 204 etc."},chin_lusheng:{frequencies:[261.6255653006,316.38258506467,348.82502010853,389.28772571905,466.97226207056,520.53801357752],description:"Observed tuning of a small Lusheng, 1/1=d, OdC '97"},chin_pan:{frequencies:[261.6255653006,275.62199471997,279.38237857051,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,344.13890881665,348.83408706747,367.49599295996,372.50983809402,387.15627241873,392.4383479509,413.43299207996,419.07356785577,435.55080647107,441.49314144476,458.8518784222,465.11211608996,489.99465727995,496.67978412536,516.20836322497,523.2511306012],description:"Pan Huai-su pure system, in: Sin-Yan Shen, 1991"},chin_pipa:{frequencies:[261.6255653006,284.4818984792,320.42873367481,380.17671965621,433.44136952667,521.74210224793],description:"Observed tuning from Chinese balloon lute p'i-p'a, Helmholtz/Ellis p. 518, nr.109"},chin_sheng:{frequencies:[261.6255653006,295.36595061166,318.03161540472,348.82502010853,395.40657391157,442.03793673691,477.05982293263,522.94897617031],description:"Observed tuning from Chinese sheng or mouth organ, Helmholtz/Ellis p. 518, nr.105"},chin_sientsu:{frequencies:[261.6255653006,291.80478157373,326.97270111135,392.44854854484,438.22451411849,523.2511306012],description:"Observed tuning from Chinese tamboura sienzi, Helmholtz/Ellis p. 518, nr.108"},chin_sona:{frequencies:[261.6255653006,284.4818984792,310.58830860439,337.33223582731,377.98706287655,418.43499793376,469.94877954106,528.10941333272],description:"Observed tuning from Chinese oboe (so-na), Helmholtz/Ellis p. 518, nr.104"},"chin_wang-po":{frequencies:[261.6255653006,294.32876096318,330.24264909897,371.97947673071,392.4383479509,440.94196398978,495.71159741166,517.50111817701],description:"Scale of Wang Po, 958 AD. H. Pischner: Musik in China, Berlin, 1955, p.20"},chin_yangqin:{frequencies:[261.6255653006,288.45311779165,306.48933163909,347.41744306689,383.26356564167,434.44398956347,465.08793784701,522.64699622026],description:"Observed tuning from Chinese dulcimer yangqin, Helmholtz/Ellis p. 518, nr.107"},chin_yunlo:{frequencies:[261.6255653006,288.45311779165,323.40385076956,367.0144478307,386.1523605003,409.35055662695,483.1608380663,525.67465946865],description:"Observed tuning from Chinese gong-chime (y\xEF\xBF\xBDn-lo), Helmholtz/Ellis p. 518, nr.106"},choquel:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,475.68284600109,490.54793493862,523.2511306012],description:"Choquel/Barbour/Marpurg?"},chordal:{frequencies:[261.6255653006,392.4383479509,327.03195662575,457.84473927605,588.65752192635,719.47030457665,850.28308722695,981.09586987725,981.09586987725,490.54793493862,555.95432626377,621.36071758893,310.68035879446,523.2511306012,348.83408706747,418.60090448096,299.00064605783,465.11211608996,380.54627680087,322.00069575458,279.06726965397,610.45965236807,915.6894785521,872.08521766867,697.66817413493,654.0639132515,627.90135672144,448.50096908674,319.76457981184,377.90359432309,444.76346101102,889.52692202204,336.37572681506,294.32876096318,465.11211608996,411.12588832951,305.22982618403,366.27579142084,373.75080757229,313.95067836072,470.92601754108],description:"Chordal Notes S&H"},chrom15:{frequencies:[261.6255653006,280.31310567921,301.87565226992,356.76213450082,392.4383479509,413.09299784305,436.04260883433,523.2511306012],description:"Tonos-15 Chromatic"},chrom15_inv:{frequencies:[261.6255653006,313.95067836072,331.39238271409,348.83408706747,383.71749577421,453.48431318771,488.36772189445,523.2511306012],description:"Inverted Chromatic Tonos-15 Harmonia"},chrom15_inv2:{frequencies:[261.6255653006,279.06726965397,296.50897400735,348.83408706747,383.71749577421,401.15920012759,418.60090448096,523.2511306012],description:"A harmonic form of the Chromatic Tonos-15 inverted"},chrom17:{frequencies:[261.6255653006,277.97716313189,296.50897400735,370.63621750918,404.33041910093,423.58424858192,444.76346101102,523.2511306012],description:"Tonos-17 Chromatic"},chrom17_con:{frequencies:[261.6255653006,277.97716313189,296.50897400735,370.63621750918,386.75083566176,404.33041910093,494.18162334558,523.2511306012],description:"Conjunct Tonos-17 Chromatic"},chrom19:{frequencies:[261.6255653006,276.16031892841,292.40504357126,355.06326719367,382.37582620857,397.67085925691,414.24047839262,523.2511306012],description:"Tonos-19 Chromatic"},chrom19_con:{frequencies:[261.6255653006,276.16031892841,292.40504357126,355.06326719367,368.21375857121,382.37582620857,451.89870370104,523.2511306012],description:"Conjunct Tonos-19 Chromatic"},chrom21:{frequencies:[261.6255653006,274.70684356563,289.16509849014,343.38355445704,392.4383479509,406.97310157871,422.62591317789,523.2511306012],description:"Tonos-21 Chromatic"},chrom21_inv:{frequencies:[261.6255653006,323.91736656265,336.37572681506,348.83408706747,398.6675280771,473.41768959156,498.33441009638,523.2511306012],description:"Inverted Chromatic Tonos-21 Harmonia"},chrom21_inv2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,348.83408706747,398.6675280771,423.58424858192,448.50096908674,523.2511306012],description:"Inverted harmonic form of the Chromatic Tonos-21"},chrom23:{frequencies:[261.6255653006,273.51763645063,286.54228580542,334.29933343966,376.08675011961,401.15920012759,429.81342870813,523.2511306012],description:"Tonos-23 Chromatic"},chrom23_con:{frequencies:[261.6255653006,273.51763645063,286.54228580542,334.29933343966,353.96400011258,376.08675011961,462.87600014722,523.2511306012],description:"Conjunct Tonos-23 Chromatic"},chrom25:{frequencies:[261.6255653006,278.32506946872,297.30177875068,363.36884069528,408.78994578219,436.04260883433,467.18850946536,523.2511306012],description:"Tonos-25 Chromatic"},chrom25_con:{frequencies:[261.6255653006,278.32506946872,297.30177875068,363.36884069528,384.74347838324,408.78994578219,503.12608711654,523.2511306012],description:"Conjunct Tonos-25 Chromatic"},chrom27:{frequencies:[261.6255653006,277.01530443593,294.32876096318,353.19451315581,392.4383479509,415.52295665389,441.49314144476,523.2511306012],description:"Tonos-27 Chromatic"},chrom27_inv:{frequencies:[261.6255653006,310.07474405997,329.45441556372,348.83408706747,387.59343007496,465.11211608996,494.18162334558,523.2511306012],description:"Inverted Chromatic Tonos-27 Harmonia"},chrom27_inv2:{frequencies:[261.6255653006,271.31540105247,281.00523680435,348.83408706747,387.59343007496,406.97310157871,436.04260883433,523.2511306012],description:"Inverted harmonic form of the Chromatic Tonos-27"},chrom29:{frequencies:[261.6255653006,270.96933548991,281.00523680435,344.87006335079,379.35706968587,399.32323124828,421.50785520652,523.2511306012],description:"Tonos-29 Chromatic"},chrom29_con:{frequencies:[261.6255653006,270.96933548991,281.00523680435,344.87006335079,361.29244731988,379.35706968587,474.19633710734,523.2511306012],description:"Conjunct Tonos-29 Chromatic"},chrom31:{frequencies:[261.6255653006,279.66870773512,300.3849083081,337.93302184661,352.6257619269,368.65420565085,386.2091678247,405.51962621593,523.2511306012],description:"Tonos-31 Chromatic. Tone 24 alternates with 23 as MESE or A"},chrom31_con:{frequencies:[261.6255653006,279.66870773512,300.3849083081,337.93302184661,352.6257619269,368.65420565085,386.2091678247,450.57736246214,523.2511306012],description:"Conjunct Tonos-31 Chromatic"},chrom33:{frequencies:[261.6255653006,278.50463402967,297.71185016965,359.73515228832,392.4383479509,411.12588832951,431.68218274599,523.2511306012],description:"Tonos-33 Chromatic. A variant is 66 63 60 48"},chrom33_con:{frequencies:[261.6255653006,278.50463402967,297.71185016965,359.73515228832,375.37581108347,392.4383479509,479.64686971777,523.2511306012],description:"Conjunct Tonos-33 Chromatic"},chrom_new:{frequencies:[261.6255653006,273.20871865617,297.93622032612,349.22823143301,391.99543598175,409.35055662695,446.39994737251,523.2511306012],description:"New Chromatic genus 4.5 + 9 + 16.5"},chrom_new2:{frequencies:[261.6255653006,273.6474710507,299.37374239667,349.22823143301,391.99543598175,410.00794244467,448.55379686399,523.2511306012],description:"New Chromatic genus 14/3 + 28/3 + 16 parts"},chrom_soft:{frequencies:[261.6255653006,271.68808704293,282.55561052465,348.83408706747,392.4383479509,407.5321305644,423.83341578697,523.2511306012],description:"100/81 Chromatic. This genus is a good approximation to the soft chromatic"},chrom_soft2:{frequencies:[261.6255653006,268.42893440103,282.57118533961,349.22823143301,391.99543598175,402.18897205153,423.37840671577,523.2511306012],description:"1:2 Soft Chromatic"},chrom_soft3:{frequencies:[261.6255653006,271.31540105247,281.75060878526,348.83408706747,392.4383479509,406.97310157871,422.62591317789,523.2511306012],description:"Soft chromatic genus is from K. Schlesinger's modified Mixolydian Harmonia"},cifariello:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,376.74081403286,392.4383479509,418.60090448096,436.04260883433,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"F. Cifariello Ciardi, ICMC 86 Proc. 15-tone 5-limit tuning"},ckring1:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,523.2511306012],description:"Double-tie circular mirroring with common pivot of 4:5:6:7 = square 1 3 5 7"},ckring2:{frequencies:[261.6255653006,290.69507255622,305.22982618403,313.95067836072,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,436.04260883433,448.50096908674,470.92601754108,523.2511306012],description:"Double-tie circular mirroring with common pivot of 3:5:7:9"},"clampitt-phi":{frequencies:[261.6255653006,289.46753582364,320.2724252102,340.92857683151,377.20990650852,444.26963537301,491.54843559637,523.2511306012],description:'David Clampitt, phi+1 mod 3phi+2, from "Pairwise Well-Formed Scales", 1997'},classr:{frequencies:[261.6255653006,275.93321340298,287.4304306281,313.95067836072,327.03195662575,344.91651675372,367.91095120397,392.4383479509,408.78994578219,441.49314144476,459.88868900496,490.54793493862,523.2511306012],description:"Marvel projection to the 5-limit of class"},cluster:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"13-tone 5-limit Tritriadic Cluster"},cluster6a:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Six-Tone Triadic Cluster 4:5:6"},cluster6b:{frequencies:[261.6255653006,313.95067836072,327.03195662575,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Six-Tone Triadic Cluster 4:6:5"},cluster6c:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,418.60090448096,436.04260883433,523.2511306012],description:"Six-Tone Triadic Cluster 3:4:5"},cluster6d:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"Six-Tone Triadic Cluster 3:5:4"},cluster6e:{frequencies:[261.6255653006,313.95067836072,327.03195662575,392.4383479509,418.60090448096,502.32108537715,523.2511306012],description:"Six-Tone Triadic Cluster 5:6:8"},cluster6f:{frequencies:[261.6255653006,313.95067836072,348.83408706747,418.60090448096,436.04260883433,502.32108537715,523.2511306012],description:"Six-Tone Triadic Cluster 5:8:6"},cluster6g:{frequencies:[261.6255653006,286.15296204753,299.00064605783,327.03195662575,373.75080757229,457.84473927605,523.2511306012],description:"Six-Tone Triadic Cluster 4:5:7"},cluster6h:{frequencies:[261.6255653006,286.15296204753,327.03195662575,366.27579142084,418.60090448096,457.84473927605,523.2511306012],description:"Six-Tone Triadic Cluster 4:7:5"},cluster6i:{frequencies:[261.6255653006,313.95067836072,366.27579142084,373.75080757229,439.53094970501,448.50096908674,523.2511306012],description:"Six-Tone Triadic Cluster 5:6:7"},cluster6j:{frequencies:[261.6255653006,305.22982618403,313.95067836072,366.27579142084,436.04260883433,439.53094970501,523.2511306012],description:"Six-Tone Triadic Cluster 5:7:6"},cluster8a:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Eight-Tone Triadic Cluster 4:5:6"},cluster8b:{frequencies:[261.6255653006,306.59245933664,313.95067836072,327.03195662575,392.4383479509,408.78994578219,418.60090448096,490.54793493862,523.2511306012],description:"Eight-Tone Triadic Cluster 4:6:5"},cluster8c:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,363.36884069528,418.60090448096,436.04260883433,484.4917875937,523.2511306012],description:"Eight-Tone Triadic Cluster 3:4:5"},cluster8d:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,387.59343007496,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:"Eight-Tone Triadic Cluster 3:5:4"},cluster8e:{frequencies:[261.6255653006,313.95067836072,327.03195662575,334.88072358477,392.4383479509,401.85686830172,418.60090448096,502.32108537715,523.2511306012],description:"Eight-Tone Triadic Cluster 5:6:8"},cluster8f:{frequencies:[261.6255653006,301.39265122629,313.95067836072,348.83408706747,376.74081403286,418.60090448096,436.04260883433,502.32108537715,523.2511306012],description:"Eight-Tone Triadic Cluster 5:8:6"},cluster8g:{frequencies:[261.6255653006,286.15296204753,299.00064605783,327.03195662575,373.75080757229,400.61414686654,457.84473927605,500.76768358318,523.2511306012],description:"Eight-Tone Triadic Cluster 4:5:7"},cluster8h:{frequencies:[261.6255653006,286.15296204753,327.03195662575,357.69120255941,366.27579142084,408.78994578219,418.60090448096,457.84473927605,523.2511306012],description:"Eight-Tone Triadic Cluster 4:7:5"},cluster8i:{frequencies:[261.6255653006,307.67166479351,313.95067836072,366.27579142084,373.75080757229,439.53094970501,448.50096908674,512.78610798918,523.2511306012],description:"Eight-Tone Triadic Cluster 5:6:7"},cluster8j:{frequencies:[261.6255653006,263.718569823,305.22982618403,313.95067836072,366.27579142084,376.74081403286,436.04260883433,439.53094970501,523.2511306012],description:"Eight-Tone Triadic Cluster 5:7:6"},cohenf_11:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,523.2511306012],description:`Flynn Cohen, 7-limit scale of "Rameau's nephew", 1996`},coleman:{frequencies:[261.6255653006,276.70272600503,293.15632631094,310.58830860439,328.48713220126,349.43001184052,368.92737853004,391.76907592069,414.58565256441,438.98455767189,465.89457252293,491.89038573682,523.2511306012],description:"Jim Coleman's ModX piano temperament. TL 16 Mar 1999"},collengettes:{frequencies:[261.6255653006,269.10058145205,275.62199471997,285.40970760065,294.32876096318,302.73815413355,310.07474405997,321.08592105074,331.11985608357,340.58042340025,348.83408706747,358.80077526939,367.49599295996,380.54627680087,392.4383479509,403.65087217807,413.43299207996,428.11456140098,441.49314144476,454.10723120033,465.11211608996,478.40103369253,496.67978412536,507.3950357345,523.2511306012],description:"R.P. Collengettes, from p.23 of d'Erlanger, vol 5. 24 tone Arabic system"},colonna1:{frequencies:[261.6255653006,272.52663052146,290.69507255622,308.86351459099,327.03195662575,348.83408706747,363.36884069528,392.4383479509,399.70572476481,436.04260883433,463.29527188648,490.54793493862,523.2511306012],description:"Colonna 1"},colonna2:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,470.92601754108,479.64686971777,523.2511306012],description:"Colonna 2"},concertina:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"English Concertina, Helmholtz/Ellis, p. 470"},cons11:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Set of intervals with num + den <= 11 not exceeding 2/1"},cons12:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Set of intervals with num + den <= 12 not exceeding 2/1"},cons13:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,523.2511306012],description:"Set of intervals with num + den <= 13 not exceeding 2/1"},cons14:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,523.2511306012],description:"Set of intervals with num + den <= 14 not exceeding 2/1"},cons15:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,523.2511306012],description:"Set of intervals with num + den <= 15 not exceeding 2/1"},cons16:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,523.2511306012],description:"Set of intervals with num + den <= 16 not exceeding 2/1"},cons17:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Set of intervals with num + den <= 17 not exceeding 2/1"},cons18:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,436.04260883433,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Set of intervals with num + den <= 18 not exceeding 2/1"},cons19:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Set of intervals with num + den <= 19 not exceeding 2/1"},cons20:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"Set of intervals with num + den <= 20 not exceeding 2/1"},cons21:{frequencies:[261.6255653006,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"Set of intervals with num + den <= 21 not exceeding 2/1"},cons8:{frequencies:[261.6255653006,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"Set of intervals with num + den <= 8 not exceeding 2/1"},cons9:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"Set of intervals with num + den <= 9 not exceeding 2/1"},cons_5:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,523.2511306012],description:"Set of consonant 5-limit intervals within the octave"},cons_7:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605],description:"Set of consonant 7-limit intervals of tetrad 4:5:6:7 and inverse"},cons_7a:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,457.84473927605],description:"Set of consonant 7-limit intervals, harmonic entropy minima"},cont_frac1:{frequencies:[261.6255653006,264.29672053658,267.01859068163,284.39991302433,288.64312378534,304.51680721446,328.36325429535,342.47239171077,368.24757473349,390.36247006958,408.23697512781,419.80330474394,448.3033221197,488.42606438843,498.20005830409],description:"Continued fraction scale 1, see McLaren in Xenharmonikon 15, pp.33-38"},cont_frac2:{frequencies:[261.6255653006,268.67076720771,283.00159623424,287.78825007941,303.56038377389,306.30898587133,329.63288816559,333.85601282718,352.97051886932,380.09613548074,393.10104267352,426.45795861378,432.83315799354,472.91012288255,483.94654132265,519.4303061261],description:"Continued fraction scale 2, see McLaren in Xenharmonikon 15, pp.33-38"},cordier:{frequencies:[261.6255653006,277.2273508585,293.75953199293,311.27759533081,329.84032939425,349.51003591412,370.35272620855,392.4383479509,415.84102607989,440.63929776914,466.91639276282,494.76049384407,524.26505360912],description:"Serge Cordier, piano tuning, 1975 (Piano bien temp\xEF\xBF\xBDr\xEF\xBF\xBD et justesse orchestrale)"},corner11:{frequencies:[261.6255653006,269.80136421624,286.15296204753,294.32876096318,314.76825825228,327.03195662575,343.38355445704,359.73515228832,392.4383479509,400.61414686654,408.78994578219,449.66894036041,457.84473927605,490.54793493862,494.63583439645,523.2511306012],description:"Quadratic Corner 11-limit. Chalmers '96"},corner13:{frequencies:[261.6255653006,265.71346475842,269.80136421624,286.15296204753,292.28481123426,294.32876096318,314.76825825228,318.85615771011,327.03195662575,343.38355445704,345.42750418595,359.73515228832,371.99885066179,392.4383479509,400.61414686654,408.78994578219,425.14154361347,449.66894036041,457.84473927605,490.54793493862,494.63583439645,523.2511306012],description:"Quadratic Corner 13-limit. Chalmers '96"},corner17:{frequencies:[261.6255653006,265.71346475842,269.80136421624,277.97716313189,286.15296204753,292.28481123426,294.32876096318,295.35073582763,314.76825825228,318.85615771011,327.03195662575,343.38355445704,345.42750418595,347.47145391486,359.73515228832,371.99885066179,382.21859930635,392.4383479509,400.61414686654,408.78994578219,416.96574469783,425.14154361347,449.66894036041,451.71289008932,457.84473927605,486.4600354808,490.54793493862,494.63583439645,523.2511306012],description:"Quadratic Corner 17-limit."},corner17a:{frequencies:[261.6255653006,265.71346475842,269.80136421624,275.93321340298,277.97716313189,286.15296204753,292.28481123426,294.32876096318,295.35073582763,306.59245933664,312.72430852337,314.76825825228,318.85615771011,327.03195662575,331.11985608357,337.2517052703,343.38355445704,345.42750418595,347.47145391486,359.73515228832,367.91095120397,371.99885066179,382.21859930635,392.4383479509,398.57019713763,400.61414686654,404.70204632437,408.78994578219,416.96574469783,425.14154361347,429.2294430713,441.49314144476,449.66894036041,451.71289008932,457.84473927605,459.88868900496,478.28423656516,486.4600354808,490.54793493862,494.63583439645,515.07533168556,521.20718087229,523.2511306012],description:"Quadratic Corner 17 odd limit."},corner7:{frequencies:[261.6255653006,286.15296204753,294.32876096318,327.03195662575,343.38355445704,392.4383479509,400.61414686654,408.78994578219,457.84473927605,490.54793493862,523.2511306012],description:"Quadratic corner 7-limit. Chalmers '96"},corner9:{frequencies:[261.6255653006,286.15296204753,294.32876096318,327.03195662575,331.11985608357,343.38355445704,367.91095120397,392.4383479509,400.61414686654,408.78994578219,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"First 9 harmonics of 5th through 9th harmonics"},corners11:{frequencies:[261.6255653006,269.80136421624,276.76092858245,279.06726965397,286.15296204753,294.32876096318,299.00064605783,304.4370214407,314.76825825228,327.03195662575,334.88072358477,341.71502406609,343.38355445704,348.83408706747,359.73515228832,380.54627680087,392.4383479509,398.6675280771,400.61414686654,408.78994578219,418.60090448096,434.91003062957,449.66894036041,457.84473927605,465.11211608996,478.40103369253,490.54793493862,494.63583439645,507.3950357345,523.2511306012],description:"Quadratic Corners 11-limit. Chalmers '96"},corners13:{frequencies:[261.6255653006,265.71346475842,269.80136421624,276.76092858245,279.06726965397,286.15296204753,292.28481123426,294.32876096318,299.00064605783,304.4370214407,314.76825825228,318.85615771011,322.00069575458,327.03195662575,334.88072358477,341.71502406609,343.38355445704,345.42750418595,348.83408706747,359.73515228832,368.0007951481,371.99885066179,380.54627680087,392.4383479509,396.30854862103,398.6675280771,400.61414686654,408.78994578219,418.60090448096,425.14154361347,429.33426100611,434.91003062957,449.66894036041,457.84473927605,465.11211608996,468.3646483703,478.40103369253,490.54793493862,494.63583439645,507.3950357345,515.20111320734,523.2511306012],description:"Quadratic Corners 13-limit. Chalmers '96"},corners7:{frequencies:[261.6255653006,279.06726965397,286.15296204753,294.32876096318,299.00064605783,327.03195662575,334.88072358477,341.71502406609,343.38355445704,348.83408706747,392.4383479509,398.6675280771,400.61414686654,408.78994578219,418.60090448096,457.84473927605,465.11211608996,478.40103369253,490.54793493862,523.2511306012],description:"Quadratic Corners 7-limit. Chalmers '96"},corrette:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.11326130363,327.03195662575,349.91912034749,365.63284274659,391.22147055517,411.33704984564,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Corrette temperament"},corrette2:{frequencies:[261.6255653006,272.8349596094,292.34127285051,310.42509491746,326.6631048533,350.01785633742,365.01443422269,391.11111150212,409.71484950008,437.02884834934,466.16376151809,488.33748205014,523.2511306012],description:"Michel Corrette, modified meantone temperament (1753)"},coul_12:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,340.65828815182,363.36884069528,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Scale 1 5/4 3/2 2 successively split largest intervals by smallest interval"},coul_12a:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Scale 1 6/5 3/2 2 successively split largest intervals by smallest interval"},coul_12sup:{frequencies:[261.6255653006,280.31310567921,294.32876096318,310.68035879446,331.39238271409,348.83408706747,373.75080757229,392.4383479509,420.46965851882,441.49314144476,466.02053819169,497.08857407114,523.2511306012],description:"Superparticular approximation to Pythagorean scale. Op de Coul, 2003"},coul_13:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,376.74081403286,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Symmetrical 13-tone 5-limit just system"},coul_17sup:{frequencies:[261.6255653006,276.16031892841,279.06726965397,294.57100685697,310.07474405997,313.95067836072,331.39238271409,348.83408706747,368.21375857121,372.08969287196,392.76134247596,413.43299207996,418.60090448096,441.85651028546,465.11211608996,470.92601754108,497.08857407114,523.2511306012],description:"Superparticular approximation to Pythagorean 17-tone scale. Op de Coul, 2003"},coul_20:{frequencies:[261.6255653006,277.18263097687,282.2367833559,293.66476791741,305.55548036855,311.12698372208,329.62755691287,335.63799088232,349.22823143301,363.36884069528,369.99442271164,391.99543598175,399.14308682247,415.30469757995,432.12070439462,440,466.16376151809,474.66379875343,493.88330125613,513.88101620607,523.2511306012],description:"Tuning for a 3-row symmetrical keyboard, Op de Coul, 1989"},coul_27:{frequencies:[261.6255653006,275.62199471997,275.93321340298,279.06726965397,293.99679436797,294.32876096318,310.07474405997,310.42486507835,327.03195662575,330.74639366397,331.11985608357,348.83408706747,367.49599295996,367.91095120397,372.08969287196,372.50983809402,392.4383479509,413.43299207996,413.89982010446,418.60090448096,440.99519155196,441.49314144476,465.11211608996,465.63729761752,490.54793493862,496.11959049595,496.67978412536,523.2511306012],description:"Symmetrical 27-tone 5-limit just system, 67108864/66430125 and 25/24"},counterschismic:{frequencies:[261.6255653006,265.12640119254,268.67408364533,272.2692364133,275.65170316539,279.34022410565,283.07810312094,286.865997406,290.70457953408,294.3160713245,298.25434362449,302.24531258767,306.28968684494,310.09479611189,314.24420508029,318.4491358588,322.71033506911,327.0285519162,331.0913069245,335.5216703313,340.01131880467,344.56104171562,348.84160709651,353.50948891197,358.2398341551,363.03347451625,367.54352740958,372.46166135084,377.44560747755,382.49624206822,387.61445966759,392.4298881006,397.68103103357,403.0024376988,408.3950505989,413.46864135256,419.00130591222,424.60800114791,430.28972009123,436.04746916004,441.46459261549,447.37187116862,453.35819556254,459.4246261707,465.13216971689,471.35614630867,477.663406507,484.05506753352,490.06860102591,496.62625431187,503.27165616309,510.00598369715,516.83042094502,523.2511306012],description:"Counterschismic temperament, g=498.082318, 5-limit"},couperin:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.28785294636,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,465.24345038333,489.02683710225,523.2511306012],description:"Couperin modified meantone"},cross13:{frequencies:[261.6255653006,281.75060878526,285.40970760065,290.69507255622,299.00064605783,305.22982618403,322.00069575458,332.97799220076,336.37572681506,366.27579142084,373.75080757229,406.97310157871,411.12588832951,425.14154361347,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"13-limit harmonic/subharmonic cross"},cross2:{frequencies:[261.6255653006,282.55561052465,339.14425131559,366.27579142084,436.04260883433,470.92601754108,560.62621135843,605.4763082671,726.73768139056,784.8766959018],description:"Pusey's double 5-7 cross reduced by 3/1"},cross2_5:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,348.83408706747,392.4383479509,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"double 3-5 cross reduced by 2/1"},cross2_7:{frequencies:[261.6255653006,294.32876096318,299.00064605783,327.03195662575,334.88072358477,341.71502406609,348.83408706747,392.4383479509,400.61414686654,408.78994578219,418.60090448096,457.84473927605,465.11211608996,523.2511306012],description:"longer 3-5-7 cross reduced by 2/1"},cross3:{frequencies:[261.6255653006,282.55561052465,311.45900631024,336.37572681506,363.28578496026,403.74315632809,436.04260883433,470.92601754108,508.60009894437,565.24041885932,610.45965236807,659.29642455751,726.73768139056,784.8766959018],description:"Pusey's triple 5-7 cross reduced by 3/1"},cross_7:{frequencies:[261.6255653006,299.00064605783,327.03195662575,348.83408706747,392.4383479509,418.60090448096,457.84473927605,523.2511306012],description:"3-5-7 cross reduced by 2/1, quasi diatonic, similar to Zalzal's, Flynn Cohen"},cross_72:{frequencies:[261.6255653006,279.06726965397,294.32876096318,305.22982618403,313.95067836072,343.38355445704,348.83408706747,392.4383479509,398.6675280771,436.04260883433,448.50096908674,465.11211608996,490.54793493862,523.2511306012],description:"double 3-5-7 cross reduced by 2/1"},cross_7a:{frequencies:[261.6255653006,336.37572681506,392.4383479509,436.04260883433,470.92601754108,523.2511306012,610.45965236807,784.8766959018],description:"2-5-7 cross reduced by 3/1"},cruciform:{frequencies:[261.6255653006,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Cruciform Lattice"},galilei:{frequencies:[261.6255653006,277.66336828161,293.32570896007,311.30674962848,328.86683469969,348.2210758395,368.7143392539,390.41365788584,413.39000965417,437.71854962063,463.47885582013,490.75518955849,523.2511306012],description:"Vincenzo Galilei's approximation"},gamelan_om:{frequencies:[261.6255653006,280.31310567921,294.32876096318,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Other Music gamelan (7 limit black keys)"},gamelan_udan:{frequencies:[261.6255653006,261.6255653006,290.69507255622,305.22982618403,334.88072358477,351.32575911795,364.00078650518,392.4383479509,402.50086969323,465.11211608996,465.11211608996,501.44900015948,523.2511306012],description:"Gamelan Udan Mas (approx) s6,p6,p7,s1,p1,s2,p2,p3,s3,p4,s5,p5"},ganassi:{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,327.03195662575,348.83408706747,369.35373924791,392.4383479509,413.09299784305,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"Sylvestro Ganassi's temperament (1543)"},gann_custer:{frequencies:[261.6255653006,269.80136421624,274.70684356563,279.06726965397,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,380.54627680087,392.4383479509,406.97310157871,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,507.3950357345,523.2511306012],description:"Kyle Gann, scale from Custer's Ghost to Sitting Bull, 1/1=G"},gann_frac:{frequencies:[261.6255653006,264.89588486686,294.32876096318,305.22982618403,309.04519901133,313.95067836072,348.83408706747,353.19451315581,366.27579142084,392.4383479509,397.34382730029,412.06026534844,418.60090448096,423.83341578697,457.84473927605,470.92601754108,523.2511306012],description:"Kyle Gann, scale from Fractured Paradise, 1/1=B"},gann_ghost:{frequencies:[261.6255653006,294.32876096318,305.22982618403,343.38355445704,348.83408706747,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"Kyle Gann, scale from Ghost Town, 1/1=E"},gann_super:{frequencies:[261.6255653006,287.78812183066,290.69507255622,294.32876096318,299.00064605783,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,523.2511306012],description:"Kyle Gann, scale from Superparticular Woman (1992), 1/1=G"},gann_things:{frequencies:[261.6255653006,266.47048317654,272.52663052146,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,343.38355445704,348.83408706747,373.75080757229,387.59343007496,392.4383479509,406.97310157871,408.78994578219,436.04260883433,448.50096908674,465.11211608996,490.54793493862,498.33441009638,508.71637697339,523.2511306012],description:"Kyle Gann, scale from How Miraculous Things Happen, 1/1=A"},garcia:{frequencies:[261.6255653006,268.33391312882,271.68808704293,279.06726965397,286.22284067074,294.32876096318,301.87565226992,310.07474405997,313.95067836072,322.00069575458,331.11985608357,339.61010880366,348.83408706747,357.77855083843,362.25078272391,372.08969287196,381.63045422766,392.4383479509,402.50086969323,407.5321305644,418.60090448096,429.33426100611,441.49314144476,452.81347840488,465.11211608996,470.92601754108,483.00104363188,496.11959049595,509.4151632055,523.2511306012],description:"Linear 29-tone scale by Jos\xEF\xBF\xBD L. Garcia, 1988 15/13-52/45 alternating"},garibaldi24:{frequencies:[261.6255653006,271.45160478635,275.48458787532,290.07776082447,294.38747453868,305.44397410364,309.9819851541,326.40257969757,331.25197480486,343.69301829526,348.79929894143,361.89937857146,367.27615309757,386.73177659938,392.47748849606,407.21801775129,413.26809573999,435.16003837828,441.62525370518,458.21165716245,465.0193526482,489.65270106975,496.92751922541,515.59094540799,523.2511306012],description:"Garibaldi[24] in 94-tET tuning."},genovese:{frequencies:[261.6255653006,277.01530443593,277.97716313189,279.06726965397,280.31310567921,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,296.50897400735,299.00064605783,301.87565226992,305.22982618403,307.79478270659,309.19384990071,313.95067836072,317.68818643644,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,338.57426097725,340.11323489078,342.12573923925,348.83408706747,356.76213450082,359.73515228832,362.25078272391,366.27579142084,369.35373924791,370.63621750918,373.75080757229,377.90359432309,380.54627680087,383.71749577421,392.4383479509,400.13321751856,402.50086969323,404.33041910093,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,430.91269578922,436.04260883433,442.75095666255,444.76346101102,448.50096908674,453.48431318771,457.84473927605,461.69217405988,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,488.36772189445,490.54793493862,492.47165233054,494.18162334558,523.2511306012],description:"Denny Genovese's 65-note scale. 3/2=384 Hz"},genovese_12:{frequencies:[261.6255653006,285.40970760065,294.32876096318,313.95067836072,327.03195662575,348.83408706747,359.73515228832,392.4383479509,425.14154361347,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Denny Genovese's superposition of harmonics 8-16 and subharmonics 6-12"},genovese_38:{frequencies:[261.6255653006,280.31310567921,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,485.87604984397,490.54793493862,523.2511306012],description:"Denny Genovese's 38-note scale. Harm 1..16 x Subh. 1..12"},"gf1-2":{frequencies:[261.6255653006,269.29177952703,277.18263097687,285.30470202322,293.66476791741,311.12698372208,320.24370022528,339.28638158975,349.22823143301,359.46139971304,380.8360868427,403.48177901006,415.30469757995,440,466.16376151809,493.88330125613,523.2511306012],description:"16-note scale with all possible quadruplets of 50 & 100 c. Galois Field GF(2)"},"gf2-3":{frequencies:[261.6255653006,270.85177093588,280.40333801024,290.29174037004,300.52885648597,316.56538760238,327.729041887,345.21700307457,357.39105439675,369.99442271164,389.73770840504,410.5345162762,425.01198472693,447.69106452518,471.58032351597,496.7443381147,523.2511306012],description:"16-note scale with all possible quadruplets of 60 & 90 c. Galois Field GF(2)"},gilson7:{frequencies:[261.6255653006,261.6255653006,299.00064605783,313.95067836072,327.03195662575,392.4383479509,373.75080757229,392.4383479509,408.78994578219,408.78994578219,467.18850946536,490.54793493862,523.2511306012],description:"Gilson septimal"},gilson7a:{frequencies:[261.6255653006,261.6255653006,280.31310567921,299.00064605783,313.95067836072,336.37572681506,373.75080757229,373.75080757229,392.4383479509,418.60090448096,470.92601754108,470.92601754108,523.2511306012],description:"Gilson septimal 2"},golden_10:{frequencies:[261.6255653006,287.58715183149,304.90466328003,323.26497397694,342.73087946949,376.74069565061,399.42672527674,423.47882962254,465.50141625349,493.53231135469,523.2511306012],description:"Golden version of Rapoport's Major 10 out of 13"},golden_5:{frequencies:[261.6255653006,327.03195662575,343.38355445704,392.4383479509,425.14154361347,523.2511306012],description:"Golden pentatonic"},gradus10:{frequencies:[261.6255653006,290.69507255622,299.00064605783,305.22982618403,490.54793493862,882.98628288953,930.22423217991,941.85203508216,1220.91930473613,1255.80271344288,1674.40361792384,2747.0684356563,3270.3195662575,3488.34087067467,5886.5752192635,10595.8353946743,10988.2737426252,11162.69078615893,13081.27826503,14651.0316568336,23546.300877054,31395.067836072,41860.090448096,42383.3415786972,56511.1221049296,75348.1628065728,100464.2170754304,133952.2894339072],description:"Intervals > 1 with Gradus = 10"},gradus3:{frequencies:[261.6255653006,784.8766959018,1046.5022612024],description:"Intervals > 1 with Gradus = 3"},gradus4:{frequencies:[261.6255653006,392.4383479509,1569.7533918036,2093.0045224048],description:"Intervals > 1 with Gradus = 4"},gradus5:{frequencies:[261.6255653006,348.83408706747,1308.127826503,2354.6300877054,3139.5067836072,4186.0090448096],description:"Intervals > 1 with Gradus = 5"},gradus6:{frequencies:[261.6255653006,654.0639132515,697.66817413493,1177.3150438527,2616.255653006,4709.2601754108,6279.0135672144,8372.0180896192],description:"Intervals > 1 with Gradus = 6"},gradus7:{frequencies:[261.6255653006,327.03195662575,436.04260883433,588.65752192635,1395.33634826987,1831.3789571042,3924.383479509,5232.511306012,7063.8902631162,9418.5203508216,12558.0271344288,16744.0361792384],description:"Intervals > 1 with Gradus = 7"},gradus8:{frequencies:[261.6255653006,294.32876096318,313.95067836072,418.60090448096,872.08521766867,915.6894785521,1962.1917397545,2790.67269653973,3531.9451315581,3662.7579142084,7848.766959018,10465.022612024,14127.7805262324,18837.0407016432,25116.0542688576,33488.0723584768],description:"Intervals > 1 with Gradus = 8"},gradus9:{frequencies:[261.6255653006,457.84473927605,465.11211608996,470.92601754108,610.45965236807,627.90135672144,837.20180896192,981.09586987725,1744.17043533733,1765.97256577905,5494.1368713126,5581.34539307947,6540.639132515,7325.5158284168,11773.150438527,15697.533918036,20930.045224048,21191.6707893486,28255.5610524648,37674.0814032864,50232.1085377152,66976.1447169536],description:"Intervals > 1 with Gradus = 9"},grady11:{frequencies:[261.6255653006,277.4816601673,290.69507255622,305.22982618403,332.97799220076,356.76213450082,378.42269266694,392.4383479509,420.46965851882,458.69417292962,481.6288815761,504.56359022259,523.2511306012],description:"Kraig Grady's dual [5 7 9 11] hexany scale"},grady7:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:`Kraig Grady's 7-limit "Centaur" scale (1987), see Xenharmonikon 16`},grady7t:{frequencies:[261.6255653006,274.79177208104,293.65339461903,305.54250820508,326.68804977983,349.10444036529,366.6627351378,392.00975085961,407.77240291308,436.0718257558,457.96530027286,489.37179607373,523.2511306012],description:"Tempered version of grady7 with egalised 225/224"},grady_14:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,343.38355445704,348.83408706747,366.27579142084,392.4383479509,412.06026534844,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"Kraig Grady, letter to Lou Harrison, published in 1/1 7 (1) 1991 p 5."},grammateus:{frequencies:[261.6255653006,277.49581689502,294.32876096318,312.18279369479,331.11985608357,348.83408706747,369.99442271164,392.4383479509,416.24372513446,441.49314144476,468.27419030811,496.67978412536,523.2511306012],description:"H. Grammateus (Heinrich Schreiber) (1518). B-F# and Bb-F 1/2 P. Also Marpurg temp.nr.6"},graupner:{frequencies:[261.6255653006,277.083518473,293.59062125964,310.9808189359,329.55130849159,349.11528328816,370.00708353276,392.01655298731,415.20348378516,439.96413779539,466.04943410823,493.90517116572,523.2511306012],description:"Johann Gottlieb Graupner's temperament (1819)"},groenewald_21:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,330.74639366397,348.83408706747,367.91095120397,372.08969287196,392.4383479509,413.89982010446,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.11959049595,523.2511306012],description:"J\xEF\xBF\xBDrgen Gr\xEF\xBF\xBDnewald, new meantone temperament I (2000)"},gross:{frequencies:[13.75,13.83042567154,13.91662997964,13.99803029322,14.07990672861,14.1622619889,14.24509903843,14.32842061343,14.41222946472,14.49652860895,14.58132083065,14.67220542837,14.75802520833,14.84434696019,14.93117353378,15.01850805439,15.10635340681,15.19471249121,15.28358848801,15.37298433293,15.46880332718,15.55928251958,15.65029093742,15.74183158529,15.83390775812,15.92652249736,16.01967895316,16.113380201,16.20762961362,16.30865090754,16.4040424858,16.49999202274,16.59650278193,16.69357794961,16.79122101993,16.88943521823,16.98822378696,17.08759028197,17.18753798549,17.29466699621,17.39582592037,17.49757653721,17.59992220598,17.70286661052,17.80641315127,17.91056524676,18.01532664586,18.12070080902,18.23364617402,18.34029731861,18.44757228066,18.55547460176,18.66400816581,18.77317655783,18.88298349104,18.99343259063,19.10452783216,19.2236053387,19.33604689279,19.44914613325,19.56290690697,19.67733296969,19.79242844011,19.90819712001,20.02464283144,20.14176976577,20.26731246322,20.38585868839,20.50509842475,20.62503561099,20.74567420676,20.86701855437,20.98907266203,21.11184068121,21.23532666504,21.36768545088,21.49266790503,21.61838152318,21.74483045784,21.87201888365,21.99995137868,22.12863216875,22.25806563075,22.38825603783,22.52780097787,22.65956910312,22.79210808945,22.92542231482,23.05951631373,23.1943945132,23.33006176809,23.46652255971,23.60378139323,23.75090264526,23.88982499399,24.02955978014,24.17011203339,24.3114863964,24.45368753658,24.59672057234,24.74059022832,24.88530139802,25.04041015894,25.18687501732,25.33419642278,25.48237967807,25.63142967793,25.78135134315,25.93215007005,26.08383083979,26.23639881154,26.39992889083,26.55434576426,26.70966568928,26.86589425653,27.0230366265,27.18109814415,27.34008402779,27.5],description:"Gross temperament, g=91.531021, 5-limit"},groven:{frequencies:[261.6255653006,264.7464578752,272.5650766677,275.81646505128,279.10663876478,290.77709705464,294.24573392894,297.75574765819,306.54921255625,310.20599265769,313.90639394672,327.03195662575,330.93307160522,334.88072358477,344.77058253591,348.88329767713,353.04507480266,363.47137260637,367.80716871461,372.19468374184,387.75749219625,392.38299382393,397.06367008113,408.78994578219,413.66634097248,418.60090448096,436.10412364188,441.30634506723,446.57062302059,459.75895986689,465.24335632603,470.79317533731,484.69686416326,490.47874118496,496.32958936031,517.08292506126,523.2511306012],description:"Eivind Groven's 36-tone scale with 1/8-schisma temp. fifths and 5/4 (1948)"},groven_ji:{frequencies:[261.6255653006,264.89588486686,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.07474405997,313.95067836072,327.03195662575,331.11985608357,334.88072358477,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,387.59343007496,392.4383479509,396.89567239676,408.78994578219,413.89982010446,418.60090448096,436.04260883433,441.49314144476,446.50763144636,459.88868900496,465.11211608996,470.92601754108,484.4917875937,490.54793493862,496.11959049595,517.37477513058,523.2511306012],description:"Untempered version of Groven's 36-tone scale"},gumbeng:{frequencies:[261.6255653006,305.03156112838,348.43777142572,394.8168394034,470.9259392365,525.62941881859],description:"Scale of gumbeng ensemble, Java. 1/1=440 Hz."},gunkali:{frequencies:[261.6255653006,275.93321340298,282.55561052465,348.83408706747,392.4383479509,408.78994578219,418.60090448096,523.2511306012],description:"Indian mode Gunkali, see Dani\xEF\xBF\xBDlou: Intr. to the Stud. of Mus. Scales, p.175"},gyaling:{frequencies:[261.6255653006,283.49766588023,307.55338551939,339.28638158975,347.81902735497,393.58362272115,435.9522698367],description:'Tibetan Buddhist Gyaling tones measured from CD "The Diamond Path", Ligon 2002'},far12_104:{frequencies:[261.6255653006,276.7193479141,294.32876096318,311.93817401225,329.54758706133,349.67263054599,369.79767403066,392.4383479509,415.07902187114,440.23532622697,465.3916305828,493.06356537421,523.2511306012],description:"Farey approximation to 12-tET with den=104"},far12_65:{frequencies:[261.6255653006,277.72560008833,293.82563487606,309.92566966379,330.05071314845,350.17575663311,370.30080011777,390.42584360243,414.57589578403,438.72594796562,466.90100884415,495.07606972267,523.2511306012],description:"Farey approximation to 12-tET with den=65"},far12_80:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,330.30227619201,349.92419358955,369.5461109871,392.4383479509,415.3305849147,441.49314144476,467.65569797482,493.81825450488,523.2511306012],description:"Farey approximation to 12-tET with den=80"},farey3:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,418.60090448096,523.2511306012],description:"Farey fractions between 0 and 1 until 3rd level, normalised by 2/1"},farey4:{frequencies:[261.6255653006,299.00064605783,313.95067836072,327.03195662575,348.83408706747,373.75080757229,392.4383479509,418.60090448096,448.50096908674,523.2511306012],description:"Farey fractions between 0 and 1 until 4th level, normalised by 2/1"},farey5:{frequencies:[261.6255653006,285.40970760065,290.69507255622,299.00064605783,305.22982618403,313.95067836072,322.00069575458,327.03195662575,332.97799220076,348.83408706747,366.27579142084,373.75080757229,380.54627680087,392.4383479509,402.50086969323,406.97310157871,418.60090448096,436.04260883433,448.50096908674,465.11211608996,523.2511306012],description:"Farey fractions between 0 and 1 until 5th level, normalised by 2/1"},farnsworth:{frequencies:[261.6255653006,294.32876096318,327.03195662575,343.38355445704,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Farnsworth's scale"},fibo_9:{frequencies:[261.6255653006,277.97716313189,327.03195662575,343.38355445704,363.82305174615,392.4383479509,425.14154361347,449.66894036041,523.2511306012],description:"First 9 Fibonacci terms reduced by 2/1, B. McLaren, XH 13, 1991"},finnamore:{frequencies:[261.6255653006,277.97716313189,310.68035879446,348.83408706747,392.4383479509,416.96574469783,457.84473927605,466.02053819169,523.2511306012],description:"David J. Finnamore, Tuning List 9 May '97. Tetrachordal scale, 17/16x19/17x64/57"},finnamore53:{frequencies:[261.6255653006,286.15296204753,310.68035879446,327.03195662575,343.38355445704,359.73515228832,367.91095120397,376.08675011961,392.4383479509,408.78994578219,416.96574469783,425.14154361347,433.31734252912,441.49314144476,457.84473927605,474.19633710734,523.2511306012],description:'David J. Finnamore, tuning for "Crawlspace", 53-limit, 1998.'},finnamore_11:{frequencies:[261.6255653006,287.78812183066,294.32876096318,305.22982618403,323.76163705949,331.11985608357,343.38355445704,348.83408706747,392.4383479509,431.68218274599,441.49314144476,457.84473927605,485.64245558924,515.07533168556,523.2511306012],description:"David J. Finnamore, 11-limit scale, Tuning List 3 Sept '98"},finnamore_7:{frequencies:[261.6255653006,274.70684356563,294.32876096318,309.04519901133,331.11985608357,348.83408706747,366.27579142084,392.4383479509,412.06026534844,441.49314144476,463.567798517,496.67978412536,523.2511306012],description:"David J. Finnamore, TL 1 Sept '98. 7-tone Pyth. with 9/8 div. in 21/20 &15/14"},finnamore_7a:{frequencies:[261.6255653006,280.31310567921,294.32876096318,315.35224388912,331.11985608357,348.83408706747,373.75080757229,392.4383479509,420.46965851882,441.49314144476,473.02836583367,496.67978412536,523.2511306012],description:"David J. Finnamore, TL 1 Sept '98. 7-tone Pyth. with 9/8 div. in 15/14 &21/20"},finnamore_jc:{frequencies:[261.6255653006,276.16031892841,310.68035879446,348.83408706747,392.4383479509,414.24047839262,466.02053819169,523.2511306012],description:"Chalmers' modification of Finnamore. Tuning List 9-5-97 19/18 x 9/8 x 64/57"},fisher:{frequencies:[261.6255653006,273.37431312998,292.50627485027,310.67535808973,327.03195662575,349.71841093413,365.63284485857,391.22147055517,410.55062036439,437.39890198442,467.47330218196,489.02683992698,523.2511306012],description:"Alexander Metcalf Fisher's modified meantone temperament (1818)"},"fj-10tet":{frequencies:[261.6255653006,280.31310567921,300.51585203447,322.00069575458,345.20039866051,370.01329949656,396.52624740872,425.14154361347,455.42228033808,488.36772189445,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 10-tet"},"fj-12tet":{frequencies:[261.6255653006,277.19851561611,293.6613488068,311.12229387098,329.64821227876,348.83408706747,370.01329949656,391.99491478937,415.52295665389,440.00663255101,466.16918908107,490.54793493862,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 12-tet"},"fj-13tet":{frequencies:[261.6255653006,275.96121271433,291.05844139692,306.97399661937,323.91736656265,341.56671025356,360.27127025001,379.97998769849,400.78810003496,422.62591317789,445.95266812602,41.6222490251,496.18641694941,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 13-tet"},"fj-14tet":{frequencies:[261.6255653006,274.92856014639,288.87822835275,303.4856557487,318.85615771011,335.0643204727,352.18826098158,370.01329949656,388.70083987518,408.5030756448,429.33426100611,451.0785608631,473.88781639354,497.93252750759,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 14-tet"},"fj-15tet":{frequencies:[261.6255653006,274.08392555301,286.94416839421,300.51585203447,314.76825825228,329.64821227876,345.20039866051,361.51896296083,378.66858135613,396.52624740872,415.52295665389,392.4383479509,455.42228033808,477.08191319521,499.46698830115,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 15-tet"},"fj-16tet":{frequencies:[261.6255653006,273.25336820285,285.40970760065,297.96244937013,311.12229387098,324.92207303462,339.29565499922,354.2846196779,370.01329949656,386.4008349055,403.52417698906,421.50785520652,440.00663255101,459.44001711325,479.64686971777,500.9851250437,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 16-tet"},"fj-17tet":{frequencies:[261.6255653006,272.52663052146,283.8915708581,295.75063903546,307.98958953109,320.70230585235,334.29933343966,348.03400888612,362.53828334512,373.75080757229,392.4383479509,409.71550792358,426.86276443782,444.76346101102,462.87600014722,482.37213602298,502.32108537715,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 17-tet"},"fj-18tet":{frequencies:[261.6255653006,271.88539139082,282.55561052465,293.6613488068,305.22982618403,317.12189733406,329.64821227876,342.60490694126,355.98232655655,370.01329949656,384.51030051755,399.57359064092,415.52295665389,431.68218274599,448.50096908674,466.16918908107,484.4917875937,503.12608711654,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 18-tet"},"fj-19tet":{frequencies:[261.6255653006,271.31540105247,281.44568388398,291.81313052759,302.73815413355,313.95067836072,325.69713231299,337.73482066077,350.31219760589,363.36884069528,376.74081403286,390.78248994267,405.26313056367,420.46965851882,436.04260883433,451.89870370104,468.95148497277,485.87604984397,504.56359022259,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 19-tet"},"fj-20tet":{frequencies:[261.6255653006,270.8594087818,280.31310567921,290.29686012806,300.51585203447,311.12229387098,322.00069575458,333.44434793214,345.20039866051,357.34223553253,370.01329949656,383.09457776159,396.52624740872,410.48149038542,425.14154361347,440.00663255101,455.42228033808,470.92601754108,488.36772189445,505.41302387616,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 20-tet"},"fj-21tet":{frequencies:[261.6255653006,270.34641747729,279.46367202564,288.87822835275,298.56093922539,308.58400009814,318.85615771011,329.64821227876,340.72166643799,352.18826098158,364.00078650518,376.08675011961,388.70083987518,401.78211814021,415.52295665389,429.33426100611,443.62595855319,457.84473927605,473.88781639354,489.85212226495,506.18859373377,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 21-tet"},"fj-22tet":{frequencies:[261.6255653006,270.06509966514,278.68810216803,287.55242312318,296.76929795292,306.29334474217,316.13089140489,326.18252297218,336.37572681506,347.40443916965,358.52392281934,370.01329949656,381.83190611439,392.4383479509,392.4383479509,419.69101100305,433.03541842858,446.94367405519,461.28718092474,475.68284600109,491.34557385722,506.89953276991,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 22-tet"},"fj-23tet":{frequencies:[261.6255653006,269.55361273395,277.97716313189,286.37392958579,295.1673044417,304.21577360535,313.47928094576,323.18452184192,332.97799220076,343.1154954762,353.6790049434,364.40703738298,375.66747838035,387.20583664489,398.97898708342,411.12588832951,423.58424858192,436.04260883433,449.99597231703,463.79077485106,477.96978276071,492.47165233054,507.86139146587,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 23-tet"},"fj-24tet":{frequencies:[261.6255653006,269.32043486826,277.19851561611,285.40970760065,293.6613488068,302.32287545847,311.12229387098,320.2657782128,329.64821227876,339.29565499922,348.83408706747,348.83408706747,370.01329949656,380.54627680087,391.99491478937,403.52417698906,415.52295665389,427.53446036927,440.00663255101,452.81347840488,466.16918908107,479.64686971777,490.54793493862,508.30109829831,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 24-tet"},"fj-26tet":{frequencies:[261.6255653006,268.69652652494,275.96121271433,283.42769574232,291.05844139692,299.00064605783,306.97399661937,315.29234792636,323.91736656265,332.57487114483,341.56671025356,350.8160989258,360.27127025001,370.01329949656,379.97998769849,390.22118214327,400.78810003496,411.12588832951,422.62591317789,434.18710837121,445.95266812602,457.84473927605,457.84473927605,483.00104363188,496.18641694941,509.48136400643,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 26-tet"},"fj-30tet":{frequencies:[261.6255653006,267.70988077271,274.08392555301,280.31310567921,286.94416839421,293.6613488068,300.51585203447,307.52478728316,314.76825825228,322.00069575458,329.64821227876,337.35928157183,345.20039866051,353.19451315581,361.51896296083,370.01329949656,378.66858135613,387.59343007496,396.52624740872,405.78659107848,415.52295665389,425.14154361347,392.4383479509,444.76346101102,455.42228033808,466.16918908107,477.08191319521,488.36772189445,499.46698830115,511.35905945117,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 30-tet"},"fj-31tet":{frequencies:[261.6255653006,267.57160087561,273.51763645063,279.79400733536,286.15296204753,292.60754013883,299.00064605783,305.96888145324,312.81317590289,319.76457981184,327.03195662575,334.53760808929,342.12573923925,349.884792149,357.81143489641,366.27579142084,373.75080757229,382.37582620857,391.25985441351,400.13321751856,409.20921752145,418.60090448096,428.11456140098,437.54620403721,447.51741432997,457.84473927605,467.90726101838,478.40103369253,489.12605686634,500.50108144463,511.62332769895,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 31-tet"},"fj-36tet":{frequencies:[261.6255653006,266.75547834571,271.88539139082,277.19851561611,282.55561052465,288.08208313999,293.6613488068,299.00064605783,305.22982618403,311.12229387098,317.12189733406,323.18452184192,329.64821227876,327.03195662575,342.60490694126,348.83408706747,355.98232655655,362.89997767503,370.01329949656,377.22755927063,384.51030051755,391.99491478937,399.57359064092,406.97310157871,415.52295665389,423.35773294097,431.68218274599,440.00663255101,448.50096908674,436.04260883433,466.16918908107,475.19745534191,484.4917875937,490.54793493862,503.12608711654,513.18860885887,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 36-tet"},"fj-41tet":{frequencies:[261.6255653006,266.05989691586,270.64713651786,275.21650375777,279.87851171692,284.71017400359,289.532292266,294.32876096318,299.49242343621,304.63250754179,309.81974838229,315.13988547572,320.49131749323,325.95972070239,331.39238271409,337.09447836808,342.81970625596,348.83408706747,354.64798851859,360.72615821749,366.27579142084,373.13810133036,379.35706968587,386.00493241072,392.4383479509,399.32323124828,405.97070477679,413.09299784305,419.97788114044,427.14378008261,434.48531380278,441.85651028546,449.45930449077,436.04260883433,465.11211608996,472.93852188955,480.82536325516,489.12605686634,497.08857407114,505.80942624783,514.53027842451,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 41-tet"},"fj-42tet":{frequencies:[261.6255653006,265.98599138894,270.34641747729,274.92856014639,279.46367202564,284.05061375494,288.87822835275,293.6613488068,298.56093922539,303.4856557487,308.58400009814,313.7026920429,318.85615771011,324.18820048118,329.64821227876,335.0643204727,340.72166643799,346.37750898953,352.18826098158,358.01393146398,364.00078650518,370.01329949656,376.08675011961,382.37582620857,388.70083987518,395.22159864559,401.78211814021,408.5030756448,415.52295665389,422.16852582597,429.33426100611,436.04260883433,443.62595855319,451.0785608631,457.84473927605,466.16918908107,473.88781639354,481.94183081689,489.85212226495,497.93252750759,506.18859373377,514.81159623666,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 42-tet"},"fj-43tet":{frequencies:[261.6255653006,265.84533248287,270.2034526875,274.70684356563,279.06726965397,283.42769574232,288.1672893166,292.86443876933,297.71185016965,302.50455987882,307.4100392282,312.38873468728,317.43901923139,322.67153053741,327.85988562987,332.97799220076,338.57426097725,344.24416486921,348.83408706747,355.41586229515,361.11697745717,367.05676325756,372.95559308809,379.09010482332,385.17097113699,391.45479319413,397.88888056133,404.33041910093,392.4383479509,417.48760420309,424.25767346043,431.1976909584,438.2228218785,445.32011114996,452.54151835779,459.82675113439,467.18850946536,475.05694751951,483.00104363188,490.54793493862,498.33441009638,506.89953276991,514.81159623666,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 43-tet"},"fj-53tet":{frequencies:[261.6255653006,265.06800694929,268.51044859798,272.09058791262,275.69145590816,279.30296836145,282.98275430473,286.71294827463,290.48132617934,294.32876096318,298.13145813324,302.11523612093,306.05254808749,310.07474405997,313.95067836072,318.31110444906,322.46872002167,326.7649917632,331.03642956402,335.41739141103,336.37572681506,344.24416486921,348.83408706747,353.42400926572,358.01393146398,362.89997767503,367.52162744608,372.31330446624,377.3445653374,382.37582620857,387.20583664489,392.4383479509,397.67085925691,402.82031482791,408.13588186894,413.53718386224,418.60090448096,424.41480593208,429.81342870813,436.04260883433,441.49314144476,447.29532132038,453.1728541814,459.07882213124,465.11211608996,470.92601754108,477.46665667359,483.76047923507,485.87604984397,496.55464434604,503.12608711654,509.83443494476,516.36624730382,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 53-tet"},"fj-54tet":{frequencies:[261.6255653006,265.02329991489,268.42103452919,271.88539139082,275.39533189537,279.06726965397,282.55561052465,286.15296204753,289.90941019796,293.6613488068,297.46468383493,301.26580246736,305.22982618403,309.19384990071,313.15787361738,317.12189733406,321.29455387793,325.43667878855,329.64821227876,333.91683992313,338.19890148614,342.60490694126,346.93824963775,351.55935337268,355.98232655655,360.61902244137,365.28852513669,370.01329949656,374.76094489005,379.61356533813,384.51030051755,389.53139722534,394.5147413263,399.57359064092,404.77917650282,409.88005230427,415.52295665389,420.652869699,426.07592063241,431.68218274599,436.04260883433,442.75095666255,448.50096908674,454.40229762736,460.26719821402,466.16918908107,472.20223981084,478.40103369253,484.4917875937,490.54793493862,497.08857407114,503.12608711654,510.16985233617,516.54278277298,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 54-tet"},"fj-55tet":{frequencies:[261.6255653006,264.93728131706,268.33391312882,271.68808704293,275.15792212649,278.68810216803,282.14521748104,285.77561748219,289.37373131733,293.02063313667,296.76929795292,300.51585203447,304.33994330886,308.21641939523,312.11470948142,316.13089140489,319.76457981184,324.10331223806,328.22116374075,332.33517754401,336.37572681506,340.90603963412,345.20039866051,348.83408706747,353.96400011258,358.52392281934,363.07221307022,367.68998366571,372.31330446624,377.04860881557,381.83190611439,386.75083566176,391.58336244338,396.52624740872,401.56482115906,406.65712867376,411.81801945465,416.96574469783,418.60090448096,427.65717404906,433.03541842858,438.60756535689,444.15502946381,449.8123754291,455.42228033808,461.28718092474,467.18850946536,472.93852188955,479.03272519828,485.0974023282,491.34557385722,497.60156537565,503.87145909745,510.16985233617,516.71049146868,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 55-tet"},"fj-5tet":{frequencies:[261.6255653006,300.51585203447,345.20039866051,396.52624740872,455.42228033808,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 5-tet"},"fj-60tet":{frequencies:[261.6255653006,264.66772303665,267.70988077271,270.8594087818,274.08392555301,277.19851561611,280.31310567921,283.6903720127,286.94416839421,290.29686012806,293.6613488068,297.10021822272,300.51585203447,304.05133264664,307.52478728316,311.12229387098,314.76825825228,318.50068819203,322.00069575458,325.79787377056,329.64821227876,333.44434793214,337.35928157183,341.25073734861,345.20039866051,348.83408706747,353.19451315581,357.34223553253,361.51896296083,365.74186169574,370.01329949656,374.3258088147,378.66858135613,383.09457776159,387.59343007496,391.99491478937,396.52624740872,401.15920012759,405.78659107848,410.48149038542,415.52295665389,420.18651396763,425.14154361347,429.81342870813,434.91003062957,440.00663255101,444.76346101102,450.23934493592,455.42228033808,460.95932933915,466.16918908107,470.92601754108,477.08191319521,482.55382044333,488.36772189445,490.54793493862,499.46698830115,505.41302387616,511.35905945117,517.30509502619,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 60-tet"},"fj-66tet":{frequencies:[261.6255653006,264.37951861955,267.19206668997,270.06509966514,272.83808952777,275.76748774928,278.68810216803,281.58005756929,284.57517629188,287.55242312318,290.69507255622,293.6613488068,296.76929795292,299.91223339337,302.93486508491,306.29334474217,309.48390041656,312.81317590289,316.13089140489,319.38705374359,322.78478835788,326.18252297218,329.64821227876,332.97799220076,336.37572681506,340.11323489078,343.8507429665,347.40443916965,351.12904816659,354.74652922115,358.52392281934,362.25078272391,366.27579142084,370.01329949656,373.75080757229,377.90359432309,381.83190611439,385.89770881839,389.97018224052,392.4383479509,398.12586024004,402.50086969323,406.65712867376,411.12588832951,415.52295665389,419.69101100305,424.01384721132,428.62060698183,433.03541842858,437.71969579139,442.27178896054,446.94367405519,451.89870370104,456.45311392871,461.28718092474,466.16918908107,470.92601754108,475.68284600109,481.05345877852,485.87604984397,491.34557385722,496.41773928832,501.44900015948,506.89953276991,512.35006538034,517.80059799077,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 66-tet"},"fj-72tet":{frequencies:[195.99771799087,197.9006084568,199.84081050049,201.76235675531,203.68390301012,205.67661764474,207.66424882366,209.67197738558,211.67753543014,213.81569235368,215.817711945,217.77524221208,219.99743856118,222.13074705632,223.99739198957,226.48625190056,228.66400432268,230.8417567448,233.07836734049,235.19726158904,237.57299150408,239.92824098882,242.11482810637,244.5635242187,246.9571246685,249.45164107929,251.74018824515,254.18454051941,256.66367832138,259.11562717437,261.33029065449,264.17083729204,266.68541956135,269.28382123963,271.86780237443,274.39680518722,277.19677258709,279.99673998696,282.60136082405,285.0875898049,288.0572521987,290.83532347032,293.66437746429,296.5093682426,299.34196929515,302.30156503677,304.88533909691,307.99641398565,311.29049327962,313.59634878539,317.15994365795,320.28895378996,323.39623468494,326.46784071315,329.63252571192,332.8263135694,335.99608798435,339.22681959958,342.55457018224,345.87832586624,349.232297511,352.79589238357,355.99585512627,359.32914964993,362.95873702013,366.4305162438,367.49572123288,373.6206499201,376.91868844398,380.79556638226,384.45706221286,388.2262490973,391.99543598174],description:"Franck Jedrzejewski continued fractions approx. of 72-tet"},"fj-78tet":{frequencies:[138.59131548844,139.82873794816,141.06616040788,142.33702671786,143.60064014465,144.89092073791,146.18536017274,147.4753741736,148.781853392,150.14059177914,151.48353088271,152.80580938469,154.18283848089,155.56168065029,156.95883922787,158.39007484393,159.76498868806,161.21846903757,162.6138101731,164.12129465736,165.53962683341,167.02030328094,168.55700532378,170.00534699915,171.58924774759,173.06676710248,174.62505751543,176.17540104463,177.75842638735,179.35346710269,180.93866188769,182.53490332624,184.15558359423,185.8383548595,187.50589742554,188.98815748424,190.84705739392,192.48793817839,194.02784168382,196.00771761937,197.74614527009,199.57149430335,201.28738678083,203.10796235375,204.87411854813,206.71247055903,207.88697323266,210.45347907504,212.31010032272,214.18657848213,216.10849194808,217.78635291041,220.11561871693,221.7461047815,223.87827886594,225.96410133985,228.00506741647,230.00260868294,232.05987709692,234.17153306667,236.2351968553,238.37706264012,240.41350645954,242.53480210477,244.7463656498,246.9445257794,249.1343885566,251.39820018833,253.59261982991,255.8608901325,258.1602935569,260.55167311827,262.84559834014,265.13121223875,267.51346943117,269.88835121433,272.23294113801,274.70778605744,277.18263097688],description:"Franck Jedrzejewski continued fractions approx. of 78-tet"},"fj-7tet":{frequencies:[261.6255653006,288.87822835275,318.85615771011,352.18826098158,388.70083987518,429.33426100611,473.88781639354,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 7-tet"},"fj-84tet":{frequencies:[97.99885899544,98.81551615374,99.63217331203,100.44883047033,101.26548762862,102.12512674262,102.98185182572,103.83212441184,104.68059938149,105.53723276432,106.39876119505,107.33208366167,108.20707347413,109.09306944775,109.9987192806,110.89344570537,111.83399203009,112.76581035092,113.67867643471,114.64017467391,115.58839778949,116.53918367025,117.50574088079,118.47623251688,119.43610940069,120.45693084856,121.43336875522,122.4985737443,123.47856233425,124.48503710232,125.50731064328,126.58185953578,127.62642101732,128.62350243151,129.74496824748,130.66514532725,131.9215409554,132.99845149381,134.10370178323,135.17083999371,136.34623860235,137.19840259362,138.59838629355,139.73911375276,140.87335980595,142.09834554339,143.22910160872,144.41937115117,145.59830479323,146.83218873215,148.0408295463,149.25980062382,150.498247743,151.74016876713,153.01576229113,154.29607586516,155.64524663982,156.7981743927,158.13452246991,159.45577056885,160.81864040277,162.07503603092,163.33143165907,164.81626285597,166.17197829662,167.54643634704,168.96354999214,170.33135015874,171.49800324202,173.20728566636,174.61614875551,176.03498745477,177.50736723702,178.95443816559,180.52421393897,181.99788099153,183.48722535316,183.74786061645,186.51395744293,188.05186455882,189.60648805639,191.21728584476,192.8364644749,194.36440367429,195.99771799088],description:"Franck Jedrzejewski continued fractions approx. of 84-tet"},"fj-8tet":{frequencies:[261.6255653006,285.40970760065,311.12229387098,339.29565499922,370.01329949656,403.52417698906,440.00663255101,479.64686971777,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 8-tet"},"fj-90tet":{frequencies:[69.29565774422,69.83283338565,70.37840239647,70.9071846685,71.46114704873,72.0131345185,72.59545097014,73.14541650779,73.69538204544,74.24534758309,74.83931036376,75.40998048636,76.00168913882,76.58993750677,77.19009976571,77.78084032514,78.38361285822,78.99704982841,79.59636362512,80.23707738804,80.84493403492,81.4527906818,82.08870225085,82.70772053342,83.37133822351,83.99473665966,84.69469279849,85.2869633775,85.97794571968,86.61957218027,87.31252875772,87.95218098305,88.65767976099,89.35492709123,90.08435506749,90.74431371267,91.43177063473,92.14038007748,92.85618137725,93.5491379547,94.28753430771,95.03404490636,95.75399979201,96.51895185802,97.25706350066,98.00385880968,98.74631228551,99.50145727375,100.29634673506,101.05616754365,101.84361819984,102.66023369514,103.42635484212,103.94348661633,105.02623126858,105.83336819117,106.60870422188,107.47897935838,108.27446522534,109.14066094715,110.05780935847,110.87305239075,111.72157064884,112.60544383436,113.39289449054,114.33783527796,115.19278170468,116.11704811194,116.93642244337,117.80261816517,118.79255613295,119.69249974002,120.62577459179,121.5942673625,122.52275717094,123.4722628897,124.41720367712,125.39214258478,126.36267000417,127.35418180019,128.32529211893,129.35189445588,130.27583655913,131.29703572589,132.29171023897,133.26088027735,134.39157865546,135.4415128637,136.49144707195,137.52522844622,138.59131548844],description:"Franck Jedrzejewski continued fractions approx. of 90-tet"},"fj-96tet":{frequencies:[48.99942949772,49.35708956705,49.70956615711,50.0646344868,50.44058918883,50.81422318282,51.17718191984,51.5338827476,51.91606220592,52.2660581309,52.67438671005,53.04896912563,53.45392308842,53.81904551389,54.21213476343,54.59936429746,54.9993596403,55.39065943221,55.80490581685,56.20522795327,56.62156297514,57.01751796098,57.44760699733,57.85474808165,58.26959183513,58.69162434342,59.11042288614,59.54361052887,59.98206024721,60.41025554513,60.85413018265,61.24928687215,61.73928116713,62.19158359326,62.61038213598,63.09515579158,63.54613512986,63.99925485416,64.47293354963,64.92424408448,65.33257266363,65.89578449693,66.3533941115,66.81740386053,67.32095530991,67.84536391992,68.30223505743,68.78766064103,69.29919314678,69.78706625433,70.30352927934,70.77695371893,71.27189745123,71.86582992999,72.36838818125,72.90159022832,73.41609436608,73.94459360565,74.47913283653,75.03037641838,75.5753912592,76.10549687944,76.66039776256,77.21122223883,77.82262331991,78.34524166943,78.94352530188,79.48796340741,80.07223844749,80.64489438166,81.23589627254,81.66571582953,82.40813142798,82.999033639,83.58726208435,84.21776944921,84.8067048999,85.43490271397,86.04777863014,86.69129834212,87.30807437776,87.94769397027,88.57589178434,89.20408959841,89.83228741249,90.46048522656,91.16172929808,91.87393030822,92.49330511929,93.09891604567,93.82869478287,94.4988997456,95.19889159557,95.91377688915,96.59887529551,97.28872233605,97.99885899544],description:"Franck Jedrzejewski continued fractions approx. of 96-tet"},"fj-9tet":{frequencies:[261.6255653006,282.55561052465,305.22982618403,329.64821227876,355.98232655655,384.51030051755,415.52295665389,448.50096908674,484.4917875937,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 9-tet"},flavel:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Bill Flavel's just tuning. Tuning List 6-5-98"},fogliano:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Fogliano's Monochord with D-/D and Bb-/Bb"},fogliano1:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Fogliano's Monochord no.1, Musica theorica (1529)"},fogliano2:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Fogliano's Monochord no.2"},"fokker-h":{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Fokker-H 5-limit per.bl. synt.comma&small diesis, KNAW B71, 1968"},"fokker-ht":{frequencies:[261.6255653006,272.31140503734,279.67242998298,290.89121260742,305.67073265504,313.92185180985,326.66733279836,335.5942968927,349.22294231864,363.36596605244,376.74379448613,392.00137290182,407.92073675044,419.068143928,436.08264938702,447.85404100892,470.60848490625,489.4864783277,502.71810253025,523.2511306012],description:"Tempered version of Fokker-H per.bl. with better 6 tetrads, OdC"},"fokker-k":{frequencies:[261.6255653006,272.52663052146,282.55561052465,290.69507255622,302.80736724606,313.95067836072,327.03195662575,339.06673262958,348.83408706747,363.36884069528,376.74081403286,392.4383479509,403.74315632809,418.60090448096,436.04260883433,452.08897683944,470.92601754108,484.4917875937,502.32108537715,523.2511306012],description:"Fokker-K 5-limit per.bl. of 225/224 & 81/80 & 10976/10935, KNAW B71, 1968"},"fokker-l":{frequencies:[261.6255653006,271.31540105247,282.62020942966,291.99281841585,301.39265122629,313.95067836072,325.57848126297,339.14425131559,350.39138209902,363.36884069528,376.74081403286,390.69417751556,403.65087217807,420.46965851882,436.04260883433,454.2110508691,468.83301301868,484.38104661368,504.56359022259,523.2511306012],description:"Fokker-L 7-limit periodicity block 10976/10935 & 225/224 & 15625/15552, 1969"},"fokker-lt":{frequencies:[261.6255653006,272.07297743248,282.57734531132,291.77233860052,302.20925621315,313.90139500947,326.42149564976,339.58797317787,349.9403315901,363.14714144228,376.97081214523,391.19775936204,403.12344267272,419.38375585596,436.11106867998,452.98371913917,469.18728997524,484.4545223075,503.15865298196,523.2511306012],description:"Tempered version of Fokker-L per.bl. with more triads"},"fokker-m":{frequencies:[261.6255653006,265.7783520514,274.70684356563,279.06726965397,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,318.93402246168,327.03195662575,336.37572681506,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,406.97310157871,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,465.11211608996,478.40103369253,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"Fokker-M 7-limit periodicity block 81/80 & 225/224 & 1029/1024, KNAW B72, 1969"},"fokker-n":{frequencies:[261.6255653006,265.7783520514,273.37201925287,277.71125765371,286.15296204753,290.69507255622,299.00064605783,303.74668805875,313.95067836072,318.93402246168,328.62879235146,333.84512238879,343.38355445704,348.83408706747,358.80077526939,364.4960256705,375.57576268738,381.53728273004,392.4383479509,398.6675280771,410.05802887931,416.56688648057,429.2294430713,436.04260883433,450.69091522486,457.84473927605,470.92601754108,478.40103369253,492.94318852719,500.76768358318,515.07533168556,523.2511306012],description:"Fokker-N 7-limit periodicity block 81/80 & 2100875/2097152 & 1029/1024, 1969"},"fokker-n2":{frequencies:[261.6255653006,265.7783520514,272.52663052146,279.06726965397,286.15296204753,290.69507255622,299.00064605783,305.22982618403,313.95067836072,318.93402246168,327.03195662575,334.88072358477,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,408.78994578219,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,470.92601754108,478.40103369253,490.54793493862,502.32108537715,515.07533168556,523.2511306012],description:"Fokker-N different block shape"},"fokker-p":{frequencies:[261.6255653006,267.90457886781,273.37201925287,280.31310567921,286.15296204753,290.69507255622,299.00064605783,306.17666156322,312.97980223949,320.35783506196,327.03195662575,334.88072358477,341.85740532612,350.39138209902,357.69120255941,366.27579142084,373.75080757229,382.72082695402,390.69417751556,400.44729382745,408.78994578219,418.60090448096,427.32175665765,437.39523080459,447.11400319927,457.84473927605,470.92601754108,478.40103369253,488.36772189445,500.76768358318,510.98743222773,523.2511306012],description:"Fokker-P 7-limit periodicity block 65625/65536 & 6144/6125 & 2401/2400, 1969"},"fokker-q":{frequencies:[261.6255653006,265.7783520514,269.10058145205,272.52663052146,274.70684356563,279.06726965397,284.76252005507,286.15296204753,290.69507255622,294.32876096318,299.00064605783,301.39265122629,305.22982618403,311.45900631024,313.95067836072,318.93402246168,321.92208230347,327.03195662575,332.22294006425,334.88072358477,340.65828815182,343.38355445704,348.83408706747,353.19451315581,358.80077526939,363.36884069528,366.27579142084,373.75080757229,376.74081403286,381.53728273004,387.59343007496,392.4383479509,398.6675280771,401.85686830172,408.78994578219,412.06026534844,418.60090448096,425.24536328225,429.2294430713,436.04260883433,439.53094970501,448.50096908674,454.2110508691,457.84473927605,465.11211608996,470.92601754108,478.40103369253,480.73697623985,490.54793493862,498.33441009638,502.32108537715,508.71637697339,515.07533168556,523.2511306012],description:"Fokker-Q 7-limit per.bl. 225/224 & 4000/3969 & 6144/6125, KNAW B72, 1969"},"fokker-r":{frequencies:[261.6255653006,264.95644634031,268.26840191956,272.52663052146,275.55899540689,279.06726965397,282.62020942966,287.04062021552,290.69507255622,294.32876096318,298.07600213285,301.80195215951,306.17666156322,310.07474405997,313.95067836072,317.94773560837,322.92069774245,327.03195662575,331.19555792538,334.88072358477,340.1962906258,344.44874425862,348.83408706747,353.19451315581,357.69120255941,363.36884069528,367.91095120397,372.08969287196,376.74081403286,382.72082695402,387.59343007496,392.4383479509,397.43466951046,402.40260287934,408.78994578219,413.33849311034,418.60090448096,423.93031414449,430.56093032327,436.04260883433,441.49314144476,447.11400319927,453.59505416773,459.26499234482,465.11211608996,470.92601754108,476.92160341255,484.38104661368,490.54793493862,496.79333688808,502.32108537715,510.29443593869,516.67311638793,523.2511306012],description:"Fokker-R 7-limit per.bl. 4375/4374 & 65625/65536 & 6144/6125, 1969"},"fokker-s":{frequencies:[261.6255653006,265.7783520514,269.10058145205,273.37201925287,273.85732695955,278.20426865732,282.55561052465,286.15296204753,290.69507255622,295.2417807931,299.00064605783,303.74668805875,304.28591884395,309.04519901133,313.95067836072,317.94773560837,322.92069774245,328.04642310345,332.22294006425,333.84512238879,338.01818641865,343.38355445704,348.83408706747,353.19451315581,358.80077526939,364.4960256705,369.13660007139,370.8542388136,375.57576268738,381.53728273004,387.59343007496,392.4383479509,398.6675280771,404.99558407833,410.05802887931,412.06026534844,417.30640298598,423.93031414449,430.56093032327,436.04260883433,442.96392008567,449.89223739901,450.69091522486,457.84473927605,463.67378109554,470.92601754108,478.40103369253,484.4917875937,492.06963465517,499.88026377668,500.76768358318,508.71637697339,515.07533168556,523.2511306012],description:"Fokker-S 7-limit per.bl. 4375/4374 & 323/322 & 64827/65536, 1969"},fokker_12:{frequencies:[261.6255653006,280.31310567921,294.32876096318,305.22982618403,327.03195662575,348.83408706747,367.91095120397,392.4383479509,420.46965851882,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Fokker's 7-limit 12-tone just scale"},fokker_12a:{frequencies:[261.6255653006,274.70684356563,293.02063313667,309.04519901133,327.03195662575,348.83408706747,367.91095120397,390.69417751556,412.06026534844,439.53094970501,465.11211608996,490.54793493862,523.2511306012],description:"Fokker's 7-limit periodicity block of 2048/2025 & 3969/4000 & 225/224"},fokker_12b:{frequencies:[261.6255653006,275.93321340298,293.02063313667,309.04519901133,332.22294006425,348.83408706747,367.91095120397,392.4383479509,412.06026534844,439.53094970501,467.18850946536,496.11959049595,523.2511306012],description:"Fokker's 7-limit semitone scale KNAW B72, 1969"},fokker_12c:{frequencies:[261.6255653006,275.93321340298,293.02063313667,311.45900631024,332.22294006425,348.83408706747,372.08969287196,392.4383479509,412.06026534844,442.96392008567,467.18850946536,496.11959049595,523.2511306012],description:"Fokker's 7-limit complementary semitone scale, KNAW B72, 1969"},fokker_12t:{frequencies:[261.6255653006,279.53180800295,293.53544531438,305.4439412874,326.66157401657,349.08351368992,366.63408494061,391.81886165309,419.06057467847,436.03416050506,457.88164994338,489.21957814041,523.2511306012],description:"Tempered version of fokker_12 with egalised 225/224, see also lumma"},fokker_12t2:{frequencies:[261.6255653006,279.53060025556,293.5302824794,305.44678713816,326.66192308793,349.10467831311,366.62831408589,391.81689264402,419.03095498017,436.04260883433,457.88067400285,489.21694446174,523.2511306012],description:"Another tempered version of fokker_12 with egalised 225/224"},fokker_22:{frequencies:[261.6255653006,272.52663052146,279.06726965397,287.4304306281,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,367.91095120397,383.2405741708,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,459.88868900496,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Fokker's 22-tone periodicity block of 2048/2025 & 3125/3072. KNAW B71, 1968"},fokker_22a:{frequencies:[261.6255653006,269.46602871384,279.06726965397,287.4304306281,297.67175429757,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,357.20610515709,367.91095120397,383.2405741708,392.4383479509,408.78994578219,418.60090448096,431.14564594215,446.50763144636,459.88868900496,476.27480687611,490.54793493862,502.32108537715,523.2511306012],description:"Fokker's 22-tone periodicity block of 2048/2025 & 2109375/2097152 = semicomma"},fokker_31:{frequencies:[261.6255653006,265.7783520514,275.93321340298,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,315.35224388912,321.92208230347,327.03195662575,336.37572681506,343.38355445704,348.83408706747,357.69120255941,367.91095120397,373.75080757229,381.53728273004,392.4383479509,398.6675280771,406.97310157871,420.46965851882,429.2294430713,436.04260883433,448.50096908674,457.84473927605,465.11211608996,482.88312345521,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"Fokker's 31-tone just system"},fokker_31a:{frequencies:[261.6255653006,269.10058145205,272.52663052146,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,311.45900631024,321.92208230347,327.03195662575,336.37572681506,343.38355445704,348.83408706747,357.69120255941,367.91095120397,373.75080757229,381.53728273004,392.4383479509,398.6675280771,412.06026534844,420.46965851882,429.2294430713,436.04260883433,448.50096908674,457.84473927605,470.92601754108,476.92160341255,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"Fokker's 31-tone first alternate septimal tuning"},fokker_31b:{frequencies:[261.6255653006,267.07609791103,274.70684356563,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,321.92208230347,327.03195662575,336.37572681506,343.38355445704,348.83408706747,357.69120255941,367.91095120397,373.75080757229,381.53728273004,392.4383479509,398.6675280771,408.78994578219,420.46965851882,429.2294430713,436.04260883433,448.50096908674,457.84473927605,467.18850946536,480.53675259294,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"Fokker's 31-tone second alternate septimal tuning"},fokker_31c:{frequencies:[261.6255653006,269.46602871384,272.52663052146,279.06726965397,287.4304306281,294.32876096318,297.67175429757,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,344.91651675372,348.83408706747,359.28803828513,367.91095120397,372.08969287196,383.2405741708,392.4383479509,396.89567239676,408.78994578219,418.60090448096,431.14564594215,436.04260883433,446.50763144636,459.88868900496,465.11211608996,479.0507177135,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Fokker's 31-tone periodicity block of 81/80 & 2109375/2097152 = semicomma"},fokker_31d:{frequencies:[261.6255653006,266.13928761861,272.52663052146,279.06726965397,287.4304306281,294.32876096318,299.40669857094,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,359.28803828513,367.91095120397,376.74081403286,383.2405741708,392.4383479509,399.20893142792,408.78994578219,418.60090448096,425.82286018978,436.04260883433,443.56547936435,459.88868900496,470.92601754108,479.0507177135,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Fokker's 31-tone periodicity block of 81/80 & W\xEF\xBF\xBDrschmidt's comma"},fokker_31d2:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,283.88190679319,290.69507255622,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,376.74081403286,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,425.82286018978,436.04260883433,446.50763144636,454.2110508691,465.11211608996,482.22824196207,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Reduced version of fokker_31d by Prooijen expressibility"},fokker_41:{frequencies:[261.6255653006,264.89588486686,271.31540105247,274.70684356563,280.31310567921,283.8170195002,290.69507255622,294.32876096318,300.33547037059,305.22982618403,311.45900631024,313.95067836072,321.55899383997,325.57848126297,329.64821227876,336.37572681506,341.85740532612,348.83408706747,353.19451315581,361.75386806997,366.27579142084,373.75080757229,378.42269266694,387.59343007496,392.4383479509,400.44729382745,406.97310157871,415.27867508032,420.46965851882,425.72552925031,436.04260883433,439.53094970501,448.50096908674,455.80987376816,465.11211608996,470.92601754108,482.33849075995,488.36772189445,498.33441009638,504.56359022259,516.79124009995,523.2511306012],description:"Fokker's 7-limit supracomma per.bl. 10976/10935 & 225/224 & 496125/262144"},fokker_41a:{frequencies:[261.6255653006,264.59711493117,272.83435407277,275.93321340298,279.06726965397,287.4304306281,291.02331101095,294.32876096318,297.67175429757,306.59245933664,310.42486507835,313.95067836072,323.35923445661,327.03195662575,331.11985608357,334.88072358477,344.91651675372,348.83408706747,353.19451315581,363.77913876369,367.91095120397,372.08969287196,376.315896791,388.03108134794,392.4383479509,396.89567239676,408.78994578219,413.89982010446,418.60090448096,431.14564594215,436.04260883433,441.49314144476,446.50763144636,459.88868900496,465.11211608996,470.92601754108,485.03885168492,490.54793493862,496.11959049595,502.32108537715,517.37477513058,523.2511306012],description:"Fokker's 41-tone periodicity block of schisma & 34171875/33554432"},fokker_41b:{frequencies:[261.6255653006,264.89588486686,272.52663052146,275.93321340298,279.06726965397,287.4304306281,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.42486507835,313.95067836072,323.35923445661,327.03195662575,331.11985608357,340.65828815182,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,383.2405741708,388.03108134794,392.4383479509,397.34382730029,408.78994578219,413.89982010446,418.60090448096,431.14564594215,436.04260883433,441.49314144476,454.2110508691,459.88868900496,465.11211608996,470.92601754108,485.03885168492,490.54793493862,496.67978412536,510.98743222773,517.37477513058,523.2511306012],description:"Fokker's 41-tone periodicity block of schisma & 3125/3072"},fokker_53:{frequencies:[261.6255653006,263.718569823,268.26840191956,272.52663052146,274.70684356563,279.06726965397,282.55561052465,286.15296204753,290.69507255622,294.32876096318,299.00064605783,300.46061014991,305.22982618403,309.04519901133,313.95067836072,317.87506184023,321.92208230347,327.03195662575,329.64821227876,334.88072358477,340.65828815182,343.38355445704,348.83408706747,353.19451315581,357.69120255941,360.55273217989,366.27579142084,373.75080757229,376.74081403286,381.53728273004,386.30649876417,392.4383479509,398.6675280771,400.61414686654,410.05802887931,412.06026534844,418.60090448096,423.83341578697,429.2294430713,436.04260883433,439.53094970501,448.50096908674,450.69091522486,457.84473927605,465.11211608996,470.92601754108,476.92160341255,480.73697623985,490.54793493862,498.33441009638,502.32108537715,508.71637697339,515.07533168556,523.2511306012],description:"Fokker's 53-tone system, degree 37 has alternatives"},fokker_53a:{frequencies:[261.6255653006,264.89588486686,269.46602871384,272.52663052146,275.93321340298,279.38237857051,283.88190679319,287.4304306281,290.69507255622,294.32876096318,298.00787047521,302.80736724606,306.59245933664,310.42486507835,313.95067836072,319.36714514233,323.35923445661,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,359.28803828513,363.36884069528,367.91095120397,372.50983809402,378.50920905758,383.2405741708,388.03108134794,392.4383479509,397.34382730029,403.74315632809,408.78994578219,413.89982010446,418.60090448096,425.82286018978,431.14564594215,436.04260883433,441.49314144476,447.01180571282,454.2110508691,459.88868900496,465.63729761752,470.92601754108,479.0507177135,484.4917875937,490.54793493862,496.67978412536,504.67894541011,510.98743222773,517.37477513058,523.2511306012],description:"Fokker's 53-tone periodicity block of schisma & kleisma"},fokker_53b:{frequencies:[261.6255653006,264.59711493117,267.90457886781,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,310.07474405997,313.95067836072,317.51653791741,323.35923445661,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,388.03108134794,392.4383479509,396.89567239676,401.85686830172,408.78994578219,413.89982010446,418.60090448096,423.35538388988,431.14564594215,436.04260883433,441.49314144476,446.50763144636,451.5790761492,459.88868900496,465.11211608996,470.92601754108,476.27480687611,485.03885168492,490.54793493862,496.11959049595,502.32108537715,510.98743222773,517.37477513058,523.2511306012],description:"Fokker's 53-tone periodicity block of schisma & 2109375/2097152"},fokker_av:{frequencies:[261.6255653006,267.53238172257,273.57240048543,279.74894499065,286.06477437084,292.52336378682,299.12777114678,305.88111195206,312.78710209553,319.84901131344,327.07017092477,334.45455423048,342.00545991849,349.72704272607,357.62295854304,365.69693211485,373.95340598657,382.39606841888,391.02956482064,399.85798283974,408.88548711149,418.11704484248,427.5567798744,437.20988623572,447.08093432269,457.17458061119,467.49637893146,478.0512162812,488.84407170063,499.88088374606,511.16658268681,522.70737825664],description:"Fokker's suggestion for a shrinked octave by averaging approximations"},fokker_bosch:{frequencies:[261.6255653006,294.32876096318,327.03195662575,343.38355445704,348.83408706747,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:'Scale of "Naar Den Bosch toe", genus diatonicum cum septimis. 1/1=D'},fokker_sr:{frequencies:[261.6255653006,269.10058145205,279.06726965397,287.04062021552,296.75121990114,305.22982618403,315.35224388912,325.57848126297,336.37572681506,347.28371334717,358.80077526939,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,434.10464168396,446.50763144636,461.31528248922,474.80195184183,490.54793493862,506.45541529795,523.2511306012],description:"Fokker's 7-limit sruti scale, KNAW B72, 1969"},fokker_sr2:{frequencies:[261.6255653006,270.30192333353,279.06726965397,288.32205155576,296.75121990114,306.59245933664,315.35224388912,327.03195662575,336.37572681506,348.83408706747,358.80077526939,372.08969287196,381.53728273004,394.1903048614,406.97310157871,420.46965851882,434.10464168396,448.50096908674,461.31528248922,476.92160341255,490.54793493862,508.71637697339,523.2511306012],description:"Fokker's complementary 7-limit sruti scale, KNAW B72, 1969"},fokker_sra:{frequencies:[261.6255653006,269.76956886185,278.7476190342,287.42460593148,296.37169586701,305.59729331129,315.11006948887,325.59707150921,336.43308557971,346.90573279191,357.7043774887,368.83916960349,381.11429755927,392.97780480816,406.05627704035,419.57000893919,433.5334812886,447.02871783796,460.94403787128,475.29252052682,490.08765232515,506.39798251136,523.2511306012],description:"Two-step approximation 9-13 to Fokker's 7-limit sruti scale"},fokker_srb:{frequencies:[261.6255653006,269.31534001393,278.64197723942,286.83190328195,296.76515515861,305.48776291796,316.06708432391,325.35701999957,336.62443200122,346.51859521924,358.51885197895,369.0565423573,381.83730669135,393.06038214356,406.67242132093,418.62545783369,433.12283887627,445.85331391262,461.29362042034,474.85209942927,491.29666030217,505.73699464332,523.2511306012],description:"Two-step maximally even approximation 11-11 to Fokker's 7-limit sruti scale"},fokker_uv:{frequencies:[220,220.05029721079,220.09166666667,220.14198483463,220.15668113546,220.24841308594,220.29876708984,220.3905582428,220.5253936656,220.68244897959,220.7744,220.82487425697,220.98214285714,221.03266460905,221.0236875,221.07421875,221.28224372864,221.41762468656,221.66763848397,221.71831695641,221.76,221.81069958848,222.01040039062,222.06115722656,222.40609622534,222.44790857143,222.4987654321,222.65722615577,222.75,222.80092592593,223.00151824951,223.05250167847,223.14544022083,223.18896568405,223.23999196793,223.44097959184,223.49206349206,223.58518518519,223.79557291667,223.88882107205,224.18534499514,224.23659907493,224.33003099121,224.48979591837,224.58333333333,224.79466029576,224.83692169189,224.88832473755,225.18617242815,225.28,225.33150434385,225.49198250729,225.5859375,225.67993164062,225.9788277551,226.03049186753,226.28571428571,226.4317558299,226.68743133545,227.08224,227.1341563786,227.29591836735,227.390625,227.44261188272,228.096,228.14814814815,229.16666666667,231,232.03125,233.6237037037,233.84353741497],description:"Table of Unison Vectors, Microsons and Minisons, from article KNAW, 1969"},foote:{frequencies:[261.6255653006,276.70272600503,293.15632631094,310.58830860439,328.48713220126,349.43001184052,368.92737853004,391.76907592069,414.58565256441,438.98455767189,465.89457252293,492.17459484008,523.2511306012],description:"Ed Foote, piano temperament. TL 9 Jun 1999, almost equal to Coleman"},forster:{frequencies:[261.6255653006,279.06726965397,283.42769574232,287.78812183066,299.00064605783,309.19384990071,319.76457981184,327.03195662575,336.37572681506,340.11323489078,343.38355445704,353.19451315581,359.73515228832,366.27579142084,373.75080757229,377.90359432309,380.54627680087,387.59343007496,392.4383479509,398.6675280771,402.50086969323,406.97310157871,418.60090448096,428.11456140098,441.49314144476,442.75095666255,448.50096908674,457.84473927605,465.11211608996,483.00104363188,490.54793493862,507.3950357345,523.2511306012],description:"Cris Forster's Chrysalis tuning, XH 7+8"},fortuna11:{frequencies:[261.6255653006,274.70684356563,299.00064605783,305.22982618403,332.97799220076,343.38355445704,373.75080757229,398.6675280771,411.12588832951,448.50096908674,457.84473927605,498.33441009638,523.2511306012],description:"11-limit scale from Clem Fortuna"},fortuna_a1:{frequencies:[261.6255653006,277.18263097687,293.66476791741,311.12698372208,320.24370022528,349.22823143301,369.99442271164,391.99543598175,415.30469757995,440,466.16376151809,479.82340237272,523.2511306012],description:"Clem Fortuna, Arabic mode of 24-tET, try C or G major, superset of Basandida, trivalent"},fortuna_a2:{frequencies:[261.6255653006,277.18263097687,285.30470202322,311.12698372208,329.62755691287,349.22823143301,369.99442271164,391.99543598175,428.11456140098,440,466.16376151809,493.88330125613,523.2511306012],description:"Clem Fortuna, Arabic mode of 24-tET, try C or F minor"},fortuna_bag:{frequencies:[261.6255653006,266.17557513191,291.58269109838,303.42373253797,318.96815495553,348.01136516401,359.18086083642,388.55281975337,398.8194592997,432.92801877123,462.35552488468,479.64686971777,523.2511306012],description:"Bagpipe tuning from Fortuna, try key of G with F natural"},fortuna_eth:{frequencies:[261.6255653006,280.31310567921,288.69027895239,305.7551787248,323.91736656265,346.02090894595,368.95913055213,385.17097113699,414.24047839262,422.62591317789,469.58434797544,484.00729580611,523.2511306012],description:"Ethiopian Tunings from Fortuna"},fortuna_sheng:{frequencies:[261.6255653006,275.29257244317,286.94416839421,312.81317590289,320.2657782128,348.83408706747,367.19377586049,382.62738925213,417.81993264424,433.74764773521,467.75479856774,484.77678276288,523.2511306012],description:"Sheng scale on naturals starting on d, from Fortuna"},"francis_r12-14p":{frequencies:[261.6255653006,277.2273508585,293.19140419912,311.27759533081,328.56574776048,349.51003591412,369.636465861,391.67937618637,415.43871422078,438.93656251816,466.46466724696,492.84862139436,523.2511306012],description:"Bach WTC theoretical temperament, 1/14 Pyth. comma, Cornet-ton"},"francis_r12-2":{frequencies:[261.6255653006,277.2831963903,293.15801965318,311.35818177599,328.6319369554,349.45847225471,369.71092870521,391.50168688506,415.45657533448,438.80025285527,466.56783666625,492.94847466277,523.2511306012],description:"J. Charles Francis, Bach WTC temperament R12-2, fifths beat ratios 0, 1, 2. C=279.331 Cornet-ton"},"francis_r2-1":{frequencies:[261.6255653006,276.41735337657,293.40958958006,310.96959408698,328.77281747949,349.18425877583,368.55655650762,391.91325216238,414.62612565656,439.06418506387,465.92902003736,492.10921220871,523.2511306012],description:"J. Charles Francis, Bach WTC temperament R2-1, fifths beat ratios 0, 1, 2. C=249.072 Cammerton"},"francis_r2-14p":{frequencies:[261.6255653006,276.42350693124,293.47533146651,310.97644498676,328.88393162803,349.17189700163,368.56467609256,392.05867944486,414.6352601896,439.36162975058,466.01338145177,492.37181018521,523.2511306012],description:"Bach WTC theoretical temperament, 1/14 Pyth. comma, Cammerton"},francis_seal:{frequencies:[261.6255653006,275.89934348748,293.01242796531,310.38672525582,327.92787107993,349.18506556371,367.865749003,391.38524198103,413.84896721463,437.93907827641,465.58008765101,490.83740312498,523.2511306012],description:"J. Charles Francis, Bach tuning interpretion as beats/sec. from seal"},francis_suppig:{frequencies:[261.6255653006,276.33536163417,293.13939342657,310.64213412049,328.58201670643,349.47038191026,368.45885450371,391.47500324588,414.51381656966,438.73106346722,465.97531289569,491.91879926026,523.2511306012],description:"J. Charles Francis, Suppig Calculus musicus, 5ths beat ratios 0, 1, 2."},efg333:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,523.2511306012],description:"Genus primum [333]"},efg333333333337:{frequencies:[261.6255653006,275.01702890535,279.38237857051,289.72987407313,294.32876096318,309.39415751852,314.30517589183,325.94610833227,331.11985608357,343.38355445704,353.59332287831,366.6893718738,372.50983809402,386.30649876417,392.4383479509,412.52554335802,419.07356785577,434.59481110969,441.49314144476,457.84473927605,471.45776383774,488.9191624984,496.67978412536,515.07533168556,523.2511306012],description:"Genus [333333333337]"},efg333333355:{frequencies:[261.6255653006,264.89588486686,275.93321340298,279.06726965397,290.69507255622,294.32876096318,310.42486507835,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,392.4383479509,397.34382730029,413.89982010446,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"Genus [333333355]"},efg33335:{frequencies:[261.6255653006,275.93321340298,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Genus [33335]"},efg3333555:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,363.36884069528,367.91095120397,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,459.88868900496,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Genus [3333555]"},efg33335555:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,297.67175429757,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,367.91095120397,372.08969287196,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,459.88868900496,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Genus bis-ultra-chromaticum [33335555]"},efg333355577:{frequencies:[261.6255653006,267.07609791103,268.26840191956,272.52663052146,274.70684356563,278.20426865732,279.06726965397,281.68182201554,284.8811711051,286.15296204753,290.69507255622,294.32876096318,300.46061014991,305.22982618403,306.59245933664,312.97980223949,313.95067836072,317.94773560837,320.49131749323,321.92208230347,325.57848126297,327.03195662575,333.84512238879,343.38355445704,348.83408706747,352.10227751942,356.10146388137,357.69120255941,360.55273217989,363.36884069528,366.27579142084,367.91095120397,372.08969287196,375.57576268738,381.53728273004,392.4383479509,400.61414686654,402.40260287934,406.97310157871,408.78994578219,412.06026534844,417.30640298598,418.60090448096,427.32175665765,429.2294430713,436.04260883433,445.12682985172,450.69091522486,457.84473927605,459.88868900496,465.11211608996,469.46970335923,470.92601754108,476.92160341255,480.73697623985,488.36772189445,490.54793493862,500.76768358318,508.71637697339,515.07533168556,523.2511306012],description:"Genus [333355577]"},efg33337:{frequencies:[261.6255653006,294.32876096318,305.22982618403,343.38355445704,348.83408706747,386.30649876417,392.4383479509,441.49314144476,457.84473927605,515.07533168556,523.2511306012],description:"Genus [33337]"},efg3335:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,392.4383479509,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Genus diatonicum veterum correctum [3335]"},efg33355:{frequencies:[261.6255653006,272.52663052146,290.69507255622,310.07474405997,327.03195662575,348.83408706747,363.36884069528,387.59343007496,408.78994578219,436.04260883433,465.11211608996,484.4917875937,523.2511306012],description:"Genus diatonico-chromaticum hodiernum correctum [33355]"},efg333555:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,306.59245933664,313.95067836072,327.03195662575,348.83408706747,363.36884069528,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Genus diatonico-hyperchromaticum [333555]"},efg33355555:{frequencies:[261.6255653006,272.52663052146,279.06726965397,287.4304306281,294.32876096318,306.59245933664,313.95067836072,319.36714514233,327.03195662575,340.65828815182,348.83408706747,359.28803828513,367.91095120397,383.2405741708,392.4383479509,408.78994578219,418.60090448096,425.82286018978,436.04260883433,459.88868900496,470.92601754108,479.0507177135,490.54793493862,510.98743222773,523.2511306012],description:"Genus [33355555]"},efg333555777:{frequencies:[261.6255653006,262.79353657426,267.07609791103,268.26840191956,269.10058145205,272.52663052146,274.70684356563,279.06726965397,280.31310567921,281.68182201554,286.15296204753,294.32876096318,299.00064605783,300.46061014991,305.22982618403,306.59245933664,311.45900631024,312.97980223949,313.95067836072,318.93402246168,320.49131749323,321.92208230347,327.03195662575,333.84512238879,336.37572681506,343.38355445704,348.83408706747,350.39138209902,352.10227751942,357.69120255941,358.80077526939,360.55273217989,366.27579142084,367.91095120397,373.75080757229,375.57576268738,381.53728273004,392.4383479509,398.6675280771,400.61414686654,402.40260287934,408.78994578219,412.06026534844,417.30640298598,418.60090448096,420.46965851882,427.32175665765,429.2294430713,436.04260883433,448.50096908674,450.69091522486,457.84473927605,459.88868900496,467.18850946536,469.46970335923,470.92601754108,476.92160341255,478.40103369253,480.73697623985,488.36772189445,490.54793493862,498.33441009638,500.76768358318,515.07533168556,523.2511306012],description:"Genus [333555777]"},efg333557:{frequencies:[261.6255653006,265.7783520514,279.06726965397,280.31310567921,290.69507255622,299.00064605783,313.95067836072,318.93402246168,327.03195662575,332.22294006425,348.83408706747,358.80077526939,372.08969287196,373.75080757229,392.4383479509,398.6675280771,418.60090448096,425.24536328225,436.04260883433,448.50096908674,465.11211608996,478.40103369253,490.54793493862,498.33441009638,523.2511306012],description:"Genus diatonico-enharmonicum [333557]"},efg33357:{frequencies:[261.6255653006,274.70684356563,279.06726965397,305.22982618403,313.95067836072,325.57848126297,343.38355445704,348.83408706747,366.27579142084,372.08969287196,392.4383479509,406.97310157871,418.60090448096,457.84473927605,465.11211608996,488.36772189445,523.2511306012],description:"Genus diatonico-enharmonicum [33357]"},efg3335711:{frequencies:[261.6255653006,265.58571790036,269.80136421624,275.93321340298,286.15296204753,294.32876096318,295.09524211152,303.52653474327,314.76825825228,321.92208230347,327.03195662575,331.98214737546,337.2517052703,343.38355445704,354.11429053382,359.73515228832,367.91095120397,379.40816842909,386.30649876417,392.4383479509,393.46032281536,404.70204632437,429.2294430713,441.49314144476,442.64286316727,449.66894036041,457.84473927605,472.15238737843,482.88312345521,490.54793493862,505.87755790546,515.07533168556,523.2511306012],description:"Genus [3 3 3 5 7 11], expanded hexany 1 3 5 7 9 11"},efg333577:{frequencies:[261.6255653006,267.07609791103,281.68182201554,286.15296204753,294.32876096318,300.46061014991,305.22982618403,321.92208230347,327.03195662575,333.84512238879,343.38355445704,348.83408706747,367.91095120397,375.57576268738,381.53728273004,392.4383479509,400.61414686654,429.2294430713,436.04260883433,450.69091522486,457.84473927605,490.54793493862,500.76768358318,515.07533168556,523.2511306012],description:"Genus [333577]"},efg3337:{frequencies:[261.6255653006,294.32876096318,305.22982618403,343.38355445704,348.83408706747,392.4383479509,457.84473927605,515.07533168556,523.2511306012],description:"Genus [3337]"},efg33377:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,457.84473927605,515.07533168556,523.2511306012],description:"Genus [33377] Bi-enharmonicum simplex"},efg335:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Genus secundum [335]"},efg3355:{frequencies:[261.6255653006,279.06726965397,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Genus chromaticum veterum correctum [3355]"},efg33555:{frequencies:[261.6255653006,294.32876096318,306.59245933664,313.95067836072,327.03195662575,367.91095120397,392.4383479509,408.78994578219,418.60090448096,459.88868900496,470.92601754108,490.54793493862,523.2511306012],description:"Genus bichromaticum [33555]"},efg335555577:{frequencies:[261.6255653006,267.07609791103,268.26840191956,272.52663052146,274.70684356563,279.06726965397,286.15296204753,293.02063313667,300.46061014991,305.22982618403,306.59245933664,312.97980223949,313.95067836072,320.49131749323,327.03195662575,333.84512238879,334.88072358477,341.85740532612,343.38355445704,348.83408706747,357.69120255941,366.27579142084,375.57576268738,381.53728273004,384.58958099188,390.69417751556,392.4383479509,400.61414686654,408.78994578219,417.30640298598,418.60090448096,427.32175665765,429.2294430713,436.04260883433,439.53094970501,446.50763144636,457.84473927605,469.46970335923,476.92160341255,480.73697623985,488.36772189445,490.54793493862,500.76768358318,502.32108537715,512.78610798918,523.2511306012],description:"Genus [335555577]"},efg33557:{frequencies:[261.6255653006,274.70684356563,279.06726965397,286.15296204753,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,418.60090448096,429.2294430713,436.04260883433,457.84473927605,488.36772189445,490.54793493862,523.2511306012],description:"Genus chromatico-enharmonicum [33557]"},efg335577:{frequencies:[261.6255653006,274.70684356563,279.06726965397,280.31310567921,286.15296204753,299.00064605783,305.22982618403,313.95067836072,318.93402246168,327.03195662575,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,478.40103369253,488.36772189445,490.54793493862,498.33441009638,523.2511306012],description:"Genus chromaticum septimis triplex [335577]"},efg3357:{frequencies:[261.6255653006,286.15296204753,305.22982618403,327.03195662575,343.38355445704,348.83408706747,381.53728273004,392.4383479509,429.2294430713,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Genus enharmonicum vocale [3357]"},efg33577:{frequencies:[261.6255653006,280.31310567921,286.15296204753,299.00064605783,305.22982618403,327.03195662575,343.38355445704,348.83408706747,373.75080757229,381.53728273004,392.4383479509,398.6675280771,429.2294430713,436.04260883433,448.50096908674,457.84473927605,490.54793493862,498.33441009638,523.2511306012],description:"Genus [33577]"},efg337:{frequencies:[261.6255653006,294.32876096318,343.38355445704,392.4383479509,457.84473927605,515.07533168556,523.2511306012],description:"Genus quintum [337]"},efg3377:{frequencies:[261.6255653006,299.00064605783,305.22982618403,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,457.84473927605,523.2511306012],description:"Genus [3377]"},efg33777:{frequencies:[261.6255653006,267.07609791103,299.00064605783,300.46061014991,305.22982618403,343.38355445704,348.83408706747,392.4383479509,398.6675280771,400.61414686654,448.50096908674,457.84473927605,523.2511306012],description:"Genus [33777]"},efg33777a:{frequencies:[261.6255653006,267.07609791103,299.00064605783,305.22982618403,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,457.84473927605,523.2511306012],description:"Genus [33777] with comma discarded which disappears in 31-tET"},efg355:{frequencies:[261.6255653006,313.95067836072,327.03195662575,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Genus tertium [355]"},efg3555:{frequencies:[261.6255653006,306.59245933664,327.03195662575,383.2405741708,392.4383479509,408.78994578219,490.54793493862,510.98743222773,523.2511306012],description:"Genus enharmonicum veterum correctum [3555]"},efg35555:{frequencies:[261.6255653006,306.59245933664,313.95067836072,327.03195662575,334.88072358477,392.4383479509,408.78994578219,418.60090448096,490.54793493862,502.32108537715,523.2511306012],description:"Genus [35555]"},efg35557:{frequencies:[261.6255653006,268.26840191956,274.70684356563,286.15296204753,306.59245933664,313.95067836072,327.03195662575,343.38355445704,357.69120255941,366.27579142084,392.4383479509,408.78994578219,418.60090448096,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Genus [35557]"},efg3557:{frequencies:[261.6255653006,274.70684356563,286.15296204753,313.95067836072,327.03195662575,343.38355445704,366.27579142084,392.4383479509,418.60090448096,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Genus enharmonicum instrumentale [3557]"},efg35577:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,299.00064605783,313.95067836072,327.03195662575,343.38355445704,358.80077526939,366.27579142084,373.75080757229,392.4383479509,418.60090448096,429.2294430713,448.50096908674,457.84473927605,478.40103369253,490.54793493862,523.2511306012],description:"Genus [35577]"},efg357:{frequencies:[261.6255653006,286.15296204753,327.03195662575,343.38355445704,392.4383479509,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Genus sextum [357] & 7-limit Octony, see ch.6 p.118"},efg35711:{frequencies:[261.6255653006,269.80136421624,286.15296204753,295.09524211152,314.76825825228,327.03195662575,337.2517052703,343.38355445704,359.73515228832,392.4383479509,393.46032281536,429.2294430713,449.66894036041,457.84473927605,472.15238737843,490.54793493862,523.2511306012],description:"Genus [3 5 7 11]"},efg3571113:{frequencies:[261.6255653006,265.71346475842,269.80136421624,274.01701053212,278.99913799634,286.15296204753,292.28481123426,295.09524211152,314.76825825228,318.85615771011,319.68651228748,327.03195662575,337.2517052703,343.38355445704,348.74892249543,359.73515228832,365.35601404283,371.99885066179,383.62381474497,392.4383479509,393.46032281536,398.57019713763,425.14154361347,429.2294430713,438.4272168514,449.66894036041,457.84473927605,464.99856332724,472.15238737843,479.52976843121,490.54793493862,511.49841965996,523.2511306012],description:"Genus [3 5 7 11 13]"},efg3577:{frequencies:[261.6255653006,280.31310567921,286.15296204753,299.00064605783,327.03195662575,343.38355445704,373.75080757229,392.4383479509,429.2294430713,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Genus [3577]"},efg35777:{frequencies:[261.6255653006,280.31310567921,286.15296204753,299.00064605783,300.46061014991,327.03195662575,343.38355445704,373.75080757229,375.57576268738,392.4383479509,400.61414686654,429.2294430713,448.50096908674,457.84473927605,490.54793493862,500.76768358318,523.2511306012],description:"Genus [35777]"},efg35777a:{frequencies:[261.6255653006,280.31310567921,286.15296204753,299.00064605783,327.03195662575,343.38355445704,373.75080757229,392.4383479509,400.61414686654,429.2294430713,448.50096908674,457.84473927605,490.54793493862,500.76768358318,523.2511306012],description:"Genus [35777] with comma discarded which disappears in 31-tET"},efg377:{frequencies:[261.6255653006,300.46061014991,343.38355445704,392.4383479509,400.61414686654,457.84473927605,523.2511306012],description:"Genus octavum [377]"},efg3777:{frequencies:[261.6255653006,262.90303388117,300.46061014991,343.38355445704,350.53737850823,392.4383479509,400.61414686654,457.84473927605,523.2511306012],description:"Genus [3777]"},efg37777:{frequencies:[261.6255653006,262.90303388117,299.00064605783,300.46061014991,343.38355445704,350.53737850823,392.4383479509,400.61414686654,448.50096908674,457.84473927605,523.2511306012],description:"Genus [37777]"},efg37777a:{frequencies:[261.6255653006,299.00064605783,343.38355445704,350.53737850823,392.4383479509,400.61414686654,448.50096908674,457.84473927605,523.2511306012],description:"Genus [37777] with comma discarded that disappears in 31-tET"},efg555:{frequencies:[261.6255653006,327.03195662575,408.78994578219,510.98743222773,523.2511306012],description:"Genus quartum [555]"},efg55557:{frequencies:[261.6255653006,286.15296204753,327.03195662575,357.69120255941,366.27579142084,408.78994578219,418.60090448096,447.11400319927,457.84473927605,510.98743222773,523.2511306012],description:"Genus [55557]"},efg5557:{frequencies:[261.6255653006,286.15296204753,327.03195662575,357.69120255941,408.78994578219,447.11400319927,457.84473927605,510.98743222773,523.2511306012],description:"Genus [5557]"},efg55577:{frequencies:[261.6255653006,286.15296204753,291.99281841585,299.00064605783,327.03195662575,357.69120255941,373.75080757229,408.78994578219,447.11400319927,457.84473927605,467.18850946536,510.98743222773,523.2511306012],description:"Genus [55577]"},efg557:{frequencies:[261.6255653006,286.15296204753,327.03195662575,366.27579142084,418.60090448096,457.84473927605,523.2511306012],description:"Genus septimum [557]"},efg5577:{frequencies:[261.6255653006,293.02063313667,320.49131749323,334.88072358477,366.27579142084,400.61414686654,418.60090448096,457.84473927605,512.78610798918,523.2511306012],description:"Genus [5577]"},efg55777:{frequencies:[261.6255653006,286.15296204753,299.00064605783,320.49131749323,327.03195662575,366.27579142084,373.75080757229,400.61414686654,418.60090448096,457.84473927605,478.40103369253,500.76768358318,523.2511306012],description:"Genus [55777]"},efg577:{frequencies:[261.6255653006,286.15296204753,327.03195662575,400.61414686654,457.84473927605,500.76768358318,523.2511306012],description:"Genus nonum [577]"},efg5777:{frequencies:[261.6255653006,286.15296204753,299.00064605783,327.03195662575,373.75080757229,400.61414686654,457.84473927605,500.76768358318,523.2511306012],description:"Genus [5777]"},efg57777:{frequencies:[261.6255653006,286.15296204753,299.00064605783,327.03195662575,350.53737850823,373.75080757229,400.61414686654,438.17172313528,457.84473927605,500.76768358318,523.2511306012],description:"Genus [57777]"},efg777:{frequencies:[261.6255653006,350.53737850823,400.61414686654,457.84473927605,523.2511306012],description:"Genus decimum [777]"},efg77777:{frequencies:[261.6255653006,299.00064605783,341.71502406609,350.53737850823,400.61414686654,457.84473927605,523.2511306012],description:"Genus [77777]"},eikohole1:{frequencies:[261.6255653006,277.4816601673,305.22982618403,332.97799220076,436.04260883433,475.68284600109,523.2511306012],description:"First eikohole ball <6 9 13 17 20|-epimorphic"},eikohole2:{frequencies:[261.6255653006,266.38239376061,274.70684356563,285.40970760065,299.68019298069,313.95067836072,332.97799220076,348.83408706747,366.27579142084,380.54627680087,392.4383479509,399.57359064092,418.60090448096,428.11456140098,443.97065626768,470.92601754108,488.36772189445,499.46698830115,523.2511306012],description:"Second eikohole ball"},eikohole4:{frequencies:[261.6255653006,274.70684356563,279.79400733536,287.78812183066,305.22982618403,313.95067836072,319.76457981184,335.75280880244,348.83408706747,359.73515228832,366.27579142084,373.05867644715,383.71749577421,392.4383479509,406.97310157871,418.60090448096,419.69101100305,431.68218274599,447.67041173658,457.84473927605,470.92601754108,479.64686971777,488.36772189445,503.62921320365,523.2511306012],description:"Fourth eikohole ball"},eikohole5:{frequencies:[261.6255653006,266.38239376061,274.70684356563,279.06726965397,285.40970760065,287.78812183066,294.32876096318,295.98043751179,299.68019298069,305.22982618403,313.95067836072,321.08592105074,325.57848126297,332.97799220076,342.49164912079,348.83408706747,353.19451315581,355.17652501415,363.24871876447,366.27579142084,374.60024122586,380.54627680087,392.4383479509,399.57359064092,406.97310157871,412.06026534844,418.60090448096,428.11456140098,439.53094970501,443.97065626768,448.50096908674,449.52028947103,456.65553216105,457.84473927605,465.11211608996,466.16918908107,470.92601754108,475.68284600109,488.36772189445,499.46698830115,507.3950357345,513.73747368118,523.2511306012],description:"Fifth eikohole ball"},eikohole6:{frequencies:[261.6255653006,266.38239376061,272.43653907335,274.70684356563,279.06726965397,285.40970760065,287.78812183066,293.02063313667,294.32876096318,295.98043751179,299.00064605783,299.68019298069,305.22982618403,310.77945938738,313.95067836072,317.12189733406,321.08592105074,325.57848126297,329.64821227876,332.97799220076,336.37572681506,342.49164912079,348.83408706747,349.6268918108,353.19451315581,355.17652501415,356.76213450082,363.24871876447,366.27579142084,374.60024122586,380.54627680087,383.71749577421,392.4383479509,399.57359064092,406.97310157871,412.06026534844,418.60090448096,428.11456140098,431.68218274599,439.53094970501,443.97065626768,448.50096908674,449.52028947103,456.65553216105,457.84473927605,465.11211608996,466.16918908107,470.92601754108,475.68284600109,484.33162501929,488.36772189445,499.46698830115,507.3950357345,513.73747368118,523.2511306012],description:"Sixth eikohole ball"},eikosany:{frequencies:[261.6255653006,269.80136421624,274.70684356563,287.78812183066,294.32876096318,305.22982618403,323.76163705949,335.75280880244,343.38355445704,359.73515228832,366.27579142084,377.72190990274,392.4383479509,412.06026534844,419.69101100305,431.68218274599,457.84473927605,470.92601754108,479.64686971777,503.62921320365,523.2511306012],description:"3)6 1.3.5.7.9.11 Eikosany (1.3.5 tonic)"},ekring1:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,353.19451315581,367.91095120397,376.74081403286,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Single-tie circular mirroring of 3:4:5"},ekring2:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,343.38355445704,384.42940207435,400.61414686654,448.50096908674,457.84473927605,504.56359022259,515.07533168556,523.2511306012],description:"Single-tie circular mirroring of 6:7:8"},ekring3:{frequencies:[261.6255653006,266.96486255163,299.00064605783,305.10270005901,327.03195662575,333.70607818954,341.71502406609,408.78994578219,418.60090448096,427.14378008261,457.84473927605,467.18850946536,523.2511306012],description:"Single-tie circular mirroring of 4:5:7"},ekring4:{frequencies:[261.6255653006,279.06726965397,313.95067836072,334.88072358477,348.83408706747,376.74081403286,392.4383479509,401.85686830172,436.04260883433,446.50763144636,465.11211608996,502.32108537715,523.2511306012],description:"Single-tie circular mirroring of 4:5:6"},ekring5:{frequencies:[261.6255653006,263.718569823,269.10058145205,305.22982618403,322.92069774245,366.27579142084,373.75080757229,376.74081403286,384.42940207435,439.53094970501,448.50096908674,512.78610798918,523.2511306012],description:"Single-tie circular mirroring of 3:5:7"},ekring5bp:{frequencies:[261.6255653006,282.55561052465,336.37572681506,363.28578496026,366.27579142084,395.57785473451,432.48307733364,512.78610798918,560.62621135843,605.4763082671,610.45965236807,659.29642455751,784.8766959018],description:"Single-tie BP circular mirroring of 3:5:7"},ekring6:{frequencies:[261.6255653006,288.32205155576,299.00064605783,336.37572681506,348.83408706747,384.42940207435,392.4383479509,406.97310157871,432.48307733364,465.11211608996,494.26637409559,512.57253609913,523.2511306012],description:"Single-tie circular mirroring of 6:7:9"},ekring7:{frequencies:[261.6255653006,266.96486255163,290.69507255622,296.62762505737,322.99452506247,336.37572681506,343.24053756638,406.97310157871,415.27867508032,432.48307733364,470.92601754108,480.53675259294,523.2511306012],description:"Single-tie circular mirroring of 5:7:9"},ekring7bp:{frequencies:[261.6255653006,311.45900631024,336.37572681506,400.44729382745,432.48307733364,436.04260883433,470.92601754108,514.86080634958,610.45965236807,667.41215637908,720.80512888941,726.73768139056,784.8766959018],description:"Single-tie BP circular mirroring of 5:7:9"},ellis:{frequencies:[261.6255653006,277.10015133873,293.57875905702,310.98767008297,329.52610437773,349.11112716429,369.96685849926,391.93834696391,415.15022554673,439.86813926913,465.98150356841,493.78915701915,523.2511306012],description:"Alexander John Ellis' imitation equal temperament (1875)"},ellis_24:{frequencies:[261.6255653006,264.89588486686,272.52663052146,275.93321340298,294.32876096318,298.00787047521,306.59245933664,310.42486507835,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.50983809402,392.4383479509,397.34382730029,408.78994578219,413.89982010446,436.04260883433,441.49314144476,459.88868900496,465.63729761752,490.54793493862,496.67978412536,523.2511306012],description:"Ellis, from p.421 of Helmholtz, 24 tones of JI for 1 manual harmonium"},ellis_eb:{frequencies:[261.6255653006,277.21587437848,293.6537610003,311.19285946782,329.68548178616,349.2169654334,370.02116610622,391.93834696391,415.32381240723,439.98064151826,466.28928903228,494.02822100775,523.2511306012],description:"Ellis' new equal beating temperament for pianofortes (1885)"},ellis_harm:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,353.19451315581,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Ellis's Just Harmonium"},ellis_mteb:{frequencies:[261.6255653006,273.31920907322,292.34465012884,313.05587813274,326.9349299255,350.18846153218,365.78692922515,391.15004079048,408.78346942429,437.23842445073,468.2723780569,489.17031487243,523.2511306012],description:"Ellis' equal beating meantone tuning (1885)"},enh14:{frequencies:[261.6255653006,267.70988077271,274.08392555301,348.83408706747,392.4383479509,401.56482115906,411.12588832951,523.2511306012],description:"14/11 Enharmonic"},enh15:{frequencies:[261.6255653006,270.64713651786,280.31310567921,356.76213450082,392.4383479509,402.50086969323,413.09299784305,523.2511306012],description:"Tonos-15 Enharmonic"},enh15_inv:{frequencies:[261.6255653006,331.39238271409,340.11323489078,348.83408706747,383.71749577421,488.36772189445,505.80942624783,523.2511306012],description:"Inverted Enharmonic Tonos-15 Harmonia"},enh15_inv2:{frequencies:[261.6255653006,270.34641747729,279.06726965397,348.83408706747,383.71749577421,392.4383479509,401.15920012759,523.2511306012],description:"Inverted harmonic form of the enharmonic Tonos-15"},enh17:{frequencies:[261.6255653006,269.55361273395,277.97716313189,370.63621750918,404.33041910093,413.73345210327,423.58424858192,523.2511306012],description:"Tonos-17 Enharmonic"},enh17_con:{frequencies:[261.6255653006,269.55361273395,277.97716313189,370.63621750918,378.52209447746,386.75083566176,494.18162334558,523.2511306012],description:"Conjunct Tonos-17 Enharmonic"},enh19:{frequencies:[261.6255653006,268.69652652494,276.16031892841,355.06326719367,382.37582620857,389.87339142835,397.67085925691,523.2511306012],description:"Tonos-19 Enharmonic"},enh19_con:{frequencies:[261.6255653006,268.69652652494,276.16031892841,355.06326719367,361.51896296083,368.21375857121,451.89870370104,523.2511306012],description:"Conjunct Tonos-19 Enharmonic"},enh2:{frequencies:[261.6255653006,266.71168334607,277.18263097687,349.22823143301,391.99543598175,399.61600264311,415.30469757995,523.2511306012],description:"1:2 Enharmonic. New genus 2 + 4 + 24 parts"},enh21:{frequencies:[261.6255653006,268.0066766494,274.70684356563,343.38355445704,392.4383479509,399.57359064092,406.97310157871,523.2511306012],description:"Tonos-21 Enharmonic"},enh21_inv:{frequencies:[261.6255653006,336.37572681506,342.60490694126,348.83408706747,398.6675280771,498.33441009638,510.79277034879,523.2511306012],description:"Inverted Enharmonic Tonos-21 Harmonia"},enh21_inv2:{frequencies:[261.6255653006,270.06509966514,279.06726965397,348.83408706747,398.6675280771,411.12588832951,423.58424858192,523.2511306012],description:"Inverted harmonic form of the enharmonic Tonos-21"},enh23:{frequencies:[261.6255653006,267.43946675172,273.51763645063,334.29933343966,376.08675011961,388.21858076863,401.15920012759,523.2511306012],description:"Tonos-23 Enharmonic"},enh23_con:{frequencies:[261.6255653006,267.43946675172,273.51763645063,334.29933343966,343.8507429665,353.96400011258,462.87600014722,523.2511306012],description:"Conjunct Tonos-23 Enharmonic"},enh25:{frequencies:[261.6255653006,269.71707762948,278.32506946872,363.36884069528,408.78994578219,421.97671822677,436.04260883433,523.2511306012],description:"Tonos-25 Enharmonic"},enh25_con:{frequencies:[261.6255653006,269.71707762948,278.32506946872,363.36884069528,373.75080757229,384.74347838324,503.12608711654,523.2511306012],description:"Conjunct Tonos-25 Enharmonic"},enh27:{frequencies:[261.6255653006,269.10058145205,277.01530443593,353.19451315581,392.4383479509,403.65087217807,415.52295665389,523.2511306012],description:"Tonos-27 Enharmonic"},enh27_inv:{frequencies:[261.6255653006,329.45441556372,339.14425131559,348.83408706747,387.59343007496,494.18162334558,508.71637697339,523.2511306012],description:"Inverted Enharmonic Tonos-27 Harmonia"},enh27_inv2:{frequencies:[261.6255653006,266.38239376061,271.31540105247,348.83408706747,387.59343007496,397.28326582684,406.97310157871,523.2511306012],description:"Inverted harmonic form of the enharmonic Tonos-27"},enh29:{frequencies:[261.6255653006,266.21548749886,270.96933548991,344.87006335079,379.35706968587,389.08417403679,399.32323124828,523.2511306012],description:"Tonos-29 Enharmonic"},enh29_con:{frequencies:[261.6255653006,266.21548749886,270.96933548991,344.87006335079,352.8902973822,361.29244731988,474.19633710734,523.2511306012],description:"Conjunct Tonos-29 Enharmonic"},enh31:{frequencies:[261.6255653006,270.34641747729,279.66870773512,337.93302184661,352.6257619269,368.65420565085,377.22755927063,386.2091678247,523.2511306012],description:"Tonos-31 Enharmonic. Tone 24 alternates with 23 as MESE or A"},enh31_con:{frequencies:[261.6255653006,270.34641747729,279.66870773512,337.93302184661,352.6257619269,360.46188996972,368.65420565085,450.57736246214,523.2511306012],description:"Conjunct Tonos-31 Enharmonic"},enh33:{frequencies:[261.6255653006,269.80136421624,278.50463402967,359.73515228832,392.4383479509,401.56482115906,411.12588832951,523.2511306012],description:"Tonos-33 Enharmonic"},enh33_con:{frequencies:[261.6255653006,269.80136421624,278.50463402967,359.73515228832,367.38909169871,375.37581108347,479.64686971777,523.2511306012],description:"Conjunct Tonos-33 Enharmonic"},enh_invcon:{frequencies:[261.6255653006,283.42769574232,370.63621750918,381.53728273004,392.4383479509,501.44900015948,512.35006538034,523.2511306012],description:"Inverted Enharmonic Conjunct Phrygian Harmonia"},enh_mod:{frequencies:[261.6255653006,294.32876096318,305.22982618403,348.83408706747,392.4383479509,406.97310157871,418.60090448096,523.2511306012],description:"Enharmonic After Wilson's Purvi Modulations, See page 111"},enh_perm:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Permuted Enharmonic, After Wilson's Marwa Permutations, See page 110."},enn45ji:{frequencies:[261.6255653006,267.07609791103,269.10058145205,274.70684356563,276.85245005354,282.55561052465,288.32205155576,290.69507255622,296.75121990114,299.00064605783,305.22982618403,311.45900631024,313.95067836072,320.49131749323,322.92069774245,329.64821227876,336.37572681506,339.14425131559,346.06556256693,348.83408706747,356.10146388137,363.36884069528,366.27579142084,373.75080757229,376.74081403286,384.42940207435,392.4383479509,395.57785473451,403.65087217807,406.97310157871,415.27867508032,423.93031414449,427.32175665765,436.04260883433,439.53094970501,448.50096908674,457.84473927605,461.31528248922,470.92601754108,474.80195184183,484.4917875937,494.47231841813,498.33441009638,508.71637697339,512.78610798918,523.2511306012],description:"Detempered Ennealimma[45], Hahn reduced"},enn72synch:{frequencies:[195.99771799087,197.54967854522,199.11392792408,201.62391554947,203.22042578925,204.82957760946,207.41161549338,209.05395423619,211.68924370912,213.36545381699,215.05493658943,217.76587316352,219.49019959291,221.22817968434,224.01693484168,225.790758792,228.63703016722,230.44743589451,232.27217821307,235.20015301436,237.06252857463,238.93964952543,241.95167308427,243.86750892427,246.94165062806,248.89699839908,250.8678291188,254.03021536301,256.04169222048,258.06909647124,261.3222603528,263.39147750593,266.71173418544,268.8236265844,270.95224149283,274.36780754746,276.54032271274,278.73004041423,282.24365173996,284.47852987378,288.0646054292,290.34557537779,292.64460663558,296.33362372129,298.68006816723,301.0450940916,304.84000597616,307.25380610435,311.12698372207,313.59056753865,316.0736586482,320.05801564518,322.59231767928,325.14668697146,329.24541662461,331.85246687263,336.03572815421,338.69654584276,341.37843257302,345.68177614255,348.4189737305,351.17784515594,355.60471802638,358.42048803112,362.93866010991,365.81250216232,368.70910003837,373.35696816148,376.31330506793,379.29305101359,384.07434037944,387.11553797119,391.99543598174],description:"Poptimal synchonized beating ennealimmal tuning, TM 10-10-2005"},ennea45:{frequencies:[261.6255653006,267.02028728287,269.13615104392,274.68574138534,276.8623300691,282.57123430547,288.39787286736,290.68311542614,296.67700440585,299.02785016604,305.1938252949,311.48692526882,313.95512370264,320.42888174436,322.96795420876,329.62755691287,336.42448069667,339.09030198792,346.08234767737,348.824677577,356.01744619623,363.3585507705,366.23777597441,373.78960287068,376.751482929,384.52012478698,392.44893391322,395.5586690753,403.715093104,406.91412394911,415.30469757995,423.86828492968,427.22700928979,436.03643483576,439.49155400205,448.55387459245,457.80308677504,461.43068321685,470.94538888861,474.67712392136,484.46499932732,494.45467284607,498.37269363637,508.649143962,512.67967026301,523.2511306012],description:"Ennealimmal-45, in a 7-limit least-squares tuning, g=48.999, G.W. Smith"},epimore_enh:{frequencies:[261.6255653006,265.11390617127,279.06726965397,348.83408706747,392.4383479509,397.67085925691,418.60090448096,523.2511306012],description:"New Epimoric Enharmonic, Dorian mode of the 4th new Enharmonic on Hofmann's list"},eratos_chrom:{frequencies:[261.6255653006,275.39533189537,290.69507255622,348.83408706747,392.4383479509,413.09299784305,436.04260883433,523.2511306012],description:"Dorian mode of Eratosthenes's Chromatic. same as Ptol. Intense Chromatic"},eratos_diat:{frequencies:[261.6255653006,275.62199471997,310.07474405997,348.83408706747,392.4383479509,413.43299207996,465.11211608996,523.2511306012],description:"Dorian mode of Eratosthenes's Diatonic, Pythagorean"},eratos_enh:{frequencies:[261.6255653006,268.33391312882,275.39533189537,348.83408706747,392.4383479509,402.50086969323,413.09299784305,523.2511306012],description:"Dorian mode of Eratosthenes's Enharmonic"},erlangen:{frequencies:[261.6255653006,275.62199471997,293.99679436797,310.07474405997,327.03195662575,348.83408706747,367.49599295996,392.4383479509,413.43299207996,440.99519155196,465.11211608996,490.54793493862,523.2511306012],description:"Anonymus: Pro clavichordiis faciendis, Erlangen 15th century"},erlangen2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Revised Erlangen"},erlich1:{frequencies:[261.6255653006,278.64199172491,296.7651860139,326.1838132033,347.39918201406,369.99442271164,394.05928374402,433.12277132725,461.29357245868,491.2966347616,523.2511306012],description:"Asymmetrical Major decatonic mode of 22-tET, Paul Erlich"},erlich10:{frequencies:[261.6255653006,274.70684356563,299.00064605783,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,470.92601754108,523.2511306012],description:"Canonical JI interpretation of the Pentachordal decatonic mode of 22-tET"},erlich10s1:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,470.92601754108,523.2511306012],description:"Superparticular version of erlich10 using 50/49 decatonic comma"},erlich10s2:{frequencies:[261.6255653006,274.70684356563,293.02063313667,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,470.92601754108,523.2511306012],description:"Other superparticular version of erlich10 using 50/49 decatonic comma"},erlich11:{frequencies:[261.6255653006,280.31310567921,305.22982618403,327.03195662575,348.83408706747,373.75080757229,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Canonical JI interpretation of the Symmetrical decatonic mode of 22-tET"},erlich11s1:{frequencies:[261.6255653006,274.70684356563,305.22982618403,327.03195662575,348.83408706747,373.75080757229,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Superparticular version of erlich11 using 50/49 decatonic comma"},erlich11s2:{frequencies:[261.6255653006,280.31310567921,305.22982618403,311.45900631024,348.83408706747,373.75080757229,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Other superparticular version of erlich11 using 50/49 decatonic comma"},erlich12:{frequencies:[261.6255653006,267.01308914069,282.57123920205,288.39008844866,305.19382000629,311.47852302926,329.62755691287,336.41541160581,356.01745236555,363.34874301751,384.52011812375,392.4383479509,415.30469757995,423.85685859121,448.5538823653,457.7907297806,484.46499093218,494.44133512215,523.2511306012],description:"Two 9-tET scales 3/2 shifted, Paul Erlich, TL 5-12-2001"},erlich13:{frequencies:[261.6255653006,269.80136421624,294.32876096318,327.03195662575,343.38355445704,359.73515228832,392.4383479509,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Just scale by Paul Erlich (2002)"},erlich2:{frequencies:[261.6255653006,278.64199172491,296.7651860139,316.06713361714,347.39918201406,369.99442271164,394.05928374402,419.68935090103,446.98642698175,476.05893615592,523.2511306012],description:"Asymmetrical Minor decatonic mode of 22-tET, Paul Erlich"},erlich3:{frequencies:[261.6255653006,278.64199172491,296.7651860139,326.1838132033,347.39918201406,369.99442271164,394.05928374402,419.68935090103,461.29357245868,491.2966347616,523.2511306012],description:"Symmetrical Major decatonic mode of 22-tET, Paul Erlich"},erlich4:{frequencies:[261.6255653006,278.64199172491,296.7651860139,316.06713361714,347.39918201406,369.99442271164,394.05928374402,419.68935090103,446.98642698175,491.2966347616,523.2511306012],description:"Symmetrical Minor decatonic mode of 22-tET, Paul Erlich"},erlich5:{frequencies:[261.6255653006,269.33066959279,278.10477655849,287.16472157287,295.62197660533,306.17967660611,315.19693888202,326.45372959864,335.05049156411,348.07025322573,357.23626005287,368.87410717392,380.89108570115,393.29954676976,406.11224388345,419.34234602259,433.00345117936,444.40607048653,461.67529188567,473.83294924974,490.75518955849,505.2083639382,523.2511306012],description:"Unequal 22-note compromise between decatonic & Indian srutis, Paul Erlich"},erlich6:{frequencies:[261.6255653006,274.70684356563,280.31310567921,285.40970760065,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Scale of consonant tones against 1/1-3/2 drone. TL 23-9-1998"},erlich7:{frequencies:[261.6255653006,272.64118737561,277.98432293805,281.84855879469,292.47977325983,303.51199286577,307.73108663824,313.76190292287,326.97270111135,337.05955506058,340.85784563832,350.05627231138,365.1325261687,373.60234843661,378.13992750117,391.18115131013,406.9458559663,413.62886206386,420.42161880722,437.36472209676,452.44848028305,457.94368329907,468.56640608675,488.7466646507,501.93603498211,507.59230220159,523.2511306012],description:"Meantone-like circle of sinuoidally varying fifths, TL 08-12-99"},erlich8:{frequencies:[261.6255653006,263.902226729,277.18263097687,279.59466973861,293.66476791741,296.22023396764,311.12698372208,313.83440569119,329.62755691287,332.49597057,349.22823143301,352.26720984209,369.99442271164,373.21410818061,391.99543598175,395.40657391157,415.30469757995,418.91867232636,440,443.82887286778,466.16376151809,470.22031101449,493.88330125613,498.18106573801,523.2511306012],description:"Two 12-tET scales 15 cents shifted, Paul Erlich"},erlich9:{frequencies:[261.6255653006,271.31540105247,280.31310567921,290.69507255622,302.70726563706,308.34441624714,319.76457981184,332.97799220076,345.34574619679,356.76213450082,369.97554688974,383.71749577421,396.40237166758,411.12588832951,428.11456140098,436.04260883433,452.23847716247,470.92601754108,488.36772189445,504.56359022259,523.2511306012],description:"11-limit periodicity block, u.v.: 9801/9800 243/242 126/125 100/99"},erlich_bpf:{frequencies:[261.6255653006,269.93113880221,277.4816601673,282.55561052465,293.6613488068,301.87565226992,311.45900631024,319.76457981184,328.70904358281,336.37572681506,347.05432131712,356.76213450082,366.27579142084,377.90359432309,388.47432423422,400.44729382745,411.12588832951,422.62591317789,436.04260883433,447.67041173658,458.69417292962,470.92601754108,485.87604984397,499.46698830115,512.78610798918,528.59042785223,543.37617408586,560.62621135843,575.57624366132,591.67627844905,610.45965236807,624.69777837082,642.17184210147,659.29642455751,680.22646978156,699.2537836216,726.73768139056,740.02659899313,760.72664372021,784.8766959018],description:"Erlich's 39-tone Triple Bohlen-Pierce scale"},erlich_bpp:{frequencies:[261.6255653006,268.60224704195,277.4816601673,282.55561052465,293.6613488068,299.68019298069,311.45900631024,319.76457981184,323.65460841914,336.37572681506,345.34574619679,356.76213450082,366.27579142084,380.67211882362,385.30310526088,400.44729382745,411.12588832951,419.55227017296,436.04260883433,447.67041173658,458.69417292962,470.92601754108,489.43558134466,499.46698830115,512.78610798918,528.59042785223,539.42434736524,560.62621135843,575.57624366132,594.60355750136,610.45965236807,629.27431887171,642.17184210147,659.29642455751,685.20981388252,699.2537836216,720.80512888941,740.02659899313,764.49028821604,784.8766959018],description:"Periodicity block for erlich_bpf, 1625/1617 1331/1323 275/273 245/243"},erlich_bpp2:{frequencies:[261.6255653006,268.60224704195,277.4816601673,282.55561052465,293.92501780685,299.68019298069,311.45900631024,319.76457981184,326.02570445152,336.37572681506,345.34574619679,356.76213450082,366.27579142084,377.90359432309,385.30310526088,400.44729382745,411.12588832951,422.62591317789,436.04260883433,447.67041173658,458.69417292962,470.92601754108,485.87604984397,499.46698830115,512.78610798918,528.59042785223,543.37617408586,560.62621135843,575.57624366132,594.60355750136,610.45965236807,629.83932387181,642.17184210147,659.29642455751,685.20981388252,698.62650953896,726.73768139056,740.02659899313,764.49028821604,784.8766959018],description:"Improved shape for erlich_bpp"},erlich_bppe:{frequencies:[261.6255653006,269.03526454087,276.77324548748,284.61195549492,292.79795257063,301.09050901183,309.7504615497,318.52314490095,327.68449417797,337.10934179701,346.6568752383,356.62740568226,366.72772736951,377.27553481706,387.96064596243,399.11915372018,410.59860200806,422.22748385656,434.37157296247,446.67374500165,459.5209564409,472.53540627884,486.12644973042,499.89441151621,514.27235352402,529.06383329425,544.0478609495,559.69574261012,575.54731703113,592.10118472076,608.870542156,626.38285104305,644.39884822068,662.64936456684,681.70845767885,701.01565227402,721.17823493702,741.60327945962,762.93324174612,784.8766959018],description:"LS optimal 3:5:7:11:13 tempering, virtually equal, g=780.2702 cents"},erlich_bppm:{frequencies:[261.6255653006,269.3148593258,276.83859227209,284.97500405989,292.93622770824,301.54575630263,309.96990811138,319.08006614158,327.99406628962,337.15709295818,347.06629484351,356.76213450082,367.24753706379,377.50717076432,388.60227773252,399.45849178361,410.61798882758,422.6862401977,434.49464068244,447.26463523836,459.75967424319,473.27221959449,486.49381977384,500.79209531182,514.78250488433,529.16376146212,544.7161244152,559.93362036345,576.39032675477,592.49269103014,609.9063234692,626.94500947499,644.45969779399,663.40066444061,681.93379843592,701.97614206495,721.5869464624,742.79471409673,763.54584931731,784.8766959018],description:"MM optimal 3:5:7:11:13 tempering, g=780.352 cents"},erlich_paj:{frequencies:[261.6255653006,269.74106841426,278.59741216196,287.23937405609,296.67040683594,305.87298460253,315.91563888094,325.71519477697,336.4093235789,346.84458402385,358.23265591403,369.99442271164,381.47147728046,393.99623872149,406.21781843768,419.55531290213,432.56972318844,446.77218107119,460.63084592459,475.75462791404,490.51231476219,506.61748047856,523.2511306012],description:"Erlich's Pajara or Twintone, with RMS optimal generator"},erlich_paj2:{frequencies:[261.6255653006,270.25447814202,278.68577354399,287.87753105276,296.85845221806,306.64959036092,316.21614384055,326.645747324,336.83612131731,347.94582350257,358.80069640371,369.99442271164,382.1975482805,394.12120058634,407.1203087173,419.82124923186,433.66800958456,447.19715926063,461.9468459571,476.35821106408,492.06970256841,507.42081104304,523.2511306012],description:"Erlich's Pajara or Twintone with minimax optimal generator"},escapade:{frequencies:[261.6255653006,270.11362843741,278.8770761192,287.9248395776,297.26614463769,306.91051483225,316.86778450163,327.1481015562,337.76194863153,348.72014864112,360.03386958939,371.71464785337,383.77439429365,392.56657056143,405.30282760495,418.45229174958,432.02837124332,446.04490958069,460.51619165905,475.45697355792,490.88248752006,506.80846290374,523.2511306012],description:"Escapade temperament, g=55.275493, 5-limit"},"et-mix6":{frequencies:[261.6255653006,293.66476791741,300.52885648597,311.12698372208,329.62755691287,345.21700307457,369.99442271164,396.55020354877,415.30469757995,440,455.51656649021,466.16376151809,523.2511306012],description:"Mix of equal temperaments from 1-6 (= 4-6)"},euler:{frequencies:[261.6255653006,272.52663052146,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,459.88868900496,490.54793493862,523.2511306012],description:"Euler's Monochord (a mode of Ellis's duodene) (1739), genus [33355]"},euler20:{frequencies:[261.6255653006,274.58143914872,285.65749968142,293.61100773131,305.45468261618,320.58100381398,326.62388782443,329.50688232588,342.79852229325,366.55580177366,381.34192228364,391.95955371998,407.7704102616,411.36965665618,427.96347506501,439.87918162894,457.62301915088,489.33808574423,509.07699553894,513.57043963064,523.2511306012],description:"Genus [3333555] tempered by 225/224-planar"},euler24:{frequencies:[261.6255653006,274.58143914872,285.65749968142,293.61100773131,305.45468261618,308.1508239679,320.58100381398,326.62388782443,329.50688232588,342.79852229325,366.55580177366,381.34192228364,384.70789368407,391.95955371998,407.7704102616,411.36965665618,427.96347506501,439.87918162894,457.62301915088,480.28481865546,489.33808574423,493.65730140218,509.07699553894,513.57043963064,523.2511306012],description:"Genus [33333555] tempered by 225/224-planar"},euler_diat:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Euler's genus diatonicum veterum correctum"},euler_enh:{frequencies:[261.6255653006,267.90457886781,275.62199471997,348.83408706747,392.4383479509,401.85686830172,413.43299207996,523.2511306012],description:"Euler's Old Enharmonic, From Tentamen Novae Theoriae Musicae"},euler_gm:{frequencies:[261.6255653006,271.31540105247,279.06726965397,289.40309445597,348.83408706747,361.75386806997,372.08969287196,385.87079260796,523.2511306012],description:"Euler's Genus Musicum, Octony based on Archytas's Enharmonic"},exptriad2:{frequencies:[261.6255653006,306.59245933664,327.03195662575,367.91095120397,392.4383479509,459.88868900496,490.54793493862,523.2511306012],description:"Two times expanded major triad"},exptriad3:{frequencies:[261.6255653006,269.46602871384,275.93321340298,279.06726965397,287.4304306281,294.32876096318,297.67175429757,303.14928230307,306.59245933664,313.95067836072,323.35923445661,327.03195662575,344.91651675372,348.83408706747,359.28803828513,367.91095120397,372.08969287196,378.93660287884,383.2405741708,392.4383479509,404.19904307077,408.78994578219,418.60090448096,431.14564594215,436.04260883433,446.50763144636,459.88868900496,490.54793493862,505.24880383846,517.37477513058,523.2511306012],description:"Three times expanded major triad"},iivv17:{frequencies:[261.6255653006,269.80136421624,277.97716313189,283.42769574232,294.32876096318,305.22982618403,318.85615771011,327.03195662575,343.38355445704,348.83408706747,359.73515228832,367.91095120397,370.63621750918,392.4383479509,416.96574469783,425.14154361347,436.04260883433,441.49314144476,457.84473927605,479.64686971777,490.54793493862,523.2511306012],description:"17-limit IIVV"},"indian-ayyar":{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Carnatic sruti system, C.Subrahmanya Ayyar, 1976. alt:21/20 25/16 63/40 40/21"},"indian-dk":{frequencies:[261.6255653006,294.32876096318,305.22982618403,313.95067836072,348.83408706747,392.4383479509,406.97310157871,418.60090448096,465.11211608996,523.2511306012],description:"Raga Darbari Kanada"},"indian-ellis":{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,303.82323712328,313.95067836072,324.77656382143,336.37572681506,348.83408706747,358.01393146398,367.68998366571,377.90359432309,388.70083987518,400.13321751856,412.25846653428,425.14154361347,438.85578695585,453.48431318771,469.12170329763,485.87604984397,503.87145909745,523.2511306012],description:"Ellis's Indian Chromatic, theoretical #74 of App.XX, p.517 of Helmholtz"},"indian-hahn":{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Indian shrutis Paul Hahn proposal"},"indian-hrdaya1":{frequencies:[261.6255653006,282.55561052465,294.32876096318,313.95067836072,328.55303549378,348.83408706747,375.07381928051,392.4383479509,428.11456140098,441.49314144476,470.92601754108,492.82955324067,523.2511306012],description:"From Hrdayakautaka of Hrdaya Narayana (17th c) Bhatkande's interpretation"},"indian-hrdaya2":{frequencies:[261.6255653006,282.55561052465,294.32876096318,313.95067836072,330.47439827444,348.83408706747,376.74081403286,392.4383479509,428.11456140098,448.50096908674,470.92601754108,495.71159741166,523.2511306012],description:"From Hrdayakautaka of Hrdaya Narayana (17th c) Levy's interpretation"},"indian-invrot":{frequencies:[261.6255653006,267.90457886781,279.06726965397,313.95067836072,327.03195662575,334.88072358477,348.83408706747,392.4383479509,418.60090448096,446.50763144636,490.54793493862,502.32108537715,523.2511306012],description:"Inverted and rotated North Indian gamut"},"indian-magrama":{frequencies:[261.6255653006,294.32876096318,327.03195662575,367.91095120397,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Indian mode Ma-grama (Sa Ri Ga Ma Pa Dha Ni Sa)"},"indian-newbengali":{frequencies:[261.6255653006,269.13627541126,277.02257024271,285.46954808622,294.32876096318,303.84527498141,313.95067836072,324.71413568646,336.35938765066,348.83408706747,358.01090280364,367.91095120397,377.98706287655,388.6137256405,400.23209335925,412.19781491431,425.25755219187,438.98455767189,453.41648894489,469.13512554326,485.39868175205,503.9696508909,523.2511306012],description:"Modern Bengali scale,S.M. Tagore: The mus. scales of the Hindus,Calcutta 1884"},"indian-old2ellis":{frequencies:[261.6255653006,270.06509966514,277.97716313189,285.40970760065,294.32876096318,305.22982618403,316.13089140489,327.03195662575,337.93302184661,348.83408706747,359.73515228832,370.63621750918,380.54627680087,392.4383479509,404.33041910093,415.52295665389,428.11456140098,441.49314144476,457.84473927605,474.19633710734,490.54793493862,505.80942624783,523.2511306012],description:"Ellis Old Indian Chrom2, Helmholtz, p. 517. This is a 4 cent appr. to #73"},"indian-oldellis":{frequencies:[261.6255653006,269.44737349144,277.4816601673,285.79952600623,294.32876096318,304.84150796353,315.71315096976,327.03195662575,337.72216249472,348.83408706747,359.25382662183,369.99442271164,381.0561299374,392.4383479509,404.18156579781,416.22249025095,428.71043212875,441.49314144476,457.27414749797,473.58203588493,490.54793493862,506.59641128799,523.2511306012],description:"Ellis Old Indian Chromatic, Helmholtz, p. 517. This is a 0.5 cent appr. to #73"},"indian-raja":{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,490.54793493862,523.2511306012],description:"A folk scale from Rajasthan, India"},"indian-sagrama":{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Indian mode Sa-grama (Sa Ri Ga Ma Pa Dha Ni Sa), inverse of Didymus' diatonic"},"indian-srutiharm":{frequencies:[261.6255653006,275.04226095704,278.87560257317,292.29229825722,294.20896982953,310.50067090621,313.3756771183,327.75070817877,332.5423844325,351.70909240436,354.58409877157,369.9174668925,374.70914348171,393.87585105695,414.95923028882,421.66757847392,437.95928040996,441.79262140873,467.66767825558,473.41768959156,493.54273382289,499.29274676062,523.2511306012],description:"B. Chaitanya Deva's sruti harmonium. The Music of India, 1981, p. 109"},"indian-srutivina":{frequencies:[261.6255653006,268.56758546278,278.98051393788,288.52577197574,297.52863491406,305.33829130574,314.01573591759,327.57422802312,336.57725592546,350.35262131413,358.2707318239,366.40588882483,378.77125721528,394.82459335461,403.28512412878,416.95215854696,428.77531684666,444.28620821491,453.93981227417,469.5594057965,487.34812384257,504.37765306036,529.32520658991],description:"Raja S.M. Tagore's sruti vina, measured by Ellis and Hipkins, 1886. 1/1=241.2"},"indian-srutivina2":{frequencies:[261.6255653006,275.04226095704,278.87560257317,292.29229825722,294.20896982953,310.50067090621,313.3756771183,327.75070817877,332.5423844325,351.70909240436,354.58409877157,369.9174668925,374.70914348171,393.87585105695,414.95923028882,421.66757847392,437.95928040996,441.79262140873,467.66767825558,473.41768959156,493.54273382289,499.29274676062,523.2511306012],description:"S. Ramanathan's sruti vina, 1973. In B.C. Deva, The Music of India, p. 110"},"indian-vina":{frequencies:[261.6255653006,276.70272600503,292.81785438923,313.29104303136,329.05685050583,352.26720984209,369.14054089803,390.18821123181,411.0090584005,435.70052664441,465.35666077712,491.60634075178,525.37110555681],description:"Observed South Indian tuning of a vina, Ellis"},"indian-vina2":{frequencies:[261.6255653006,277.02257024271,292.81785438923,308.97787266236,326.21810583671,344.81842302716,363.84824628932,386.37547528213,409.11417474979,432.19134773437,455.25352578019,480.93331155807,507.76825077597,539.82938999168,571.59905201246,602.44805673853,637.90290877605,678.5727631795,715.19510239543,756.4109196702,799.53998816902,846.10508618474,890.73947019126,943.16064703194,1001.55531043729],description:"Observed tuning of old vina in Tanjore Palace, Ellis and Hipkins. 1/1=210.7 Hz"},"indian-vina3":{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Tuning of K.S. Subramanian's vina (1983)"},indian:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.50983809402,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"Indian shruti scale"},indian2:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"Indian shruti scale with tritone 64/45 schisma lower (Mr.Devarajan, Madurai)"},indian2_sm:{frequencies:[261.6255653006,275.80107697063,279.12844116922,290.7446524607,294.25230137258,310.19560923413,313.9379197281,327.00276442799,330.9478443499,348.87940629173,353.08841191408,367.78254402461,372.21960384438,392.38737044642,413.64787586584,418.63827382983,436.06032987759,441.3211172644,465.23297251763,470.84571179248,490.44043044945,496.35728163707,523.2511306012],description:"Shruti/Mathieu's Magic Mode scale in 289-equal (schismic) temperament"},indian3:{frequencies:[261.6255653006,270.06509966514,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,506.89953276991,523.2511306012],description:"Indian shruti scale with 32/31 and 31/16 and tritone schisma lower"},indian4:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,330.74639366397,348.83408706747,367.91095120397,372.08969287196,387.59343007496,392.4383479509,413.89982010446,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.11959049595,523.2511306012],description:"Indian shruti scale according to Firoze Framjee: Text book of Indian music"},indian5:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,387.59343007496,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"23 Shrutis, Amit Mitra, 1/1 no. 12:2, Table C."},indian6:{frequencies:[146.8323839587,148.66778875818,150.35636117371,151.0621234143,152.23581568838,152.95039995698,154.68761437624,154.86227995644,156.62120955595,158.5789746754,159.32333328852,163.14709328744,165.18643195354,167.06262352634,169.15090632042,169.94488884109,172.0691999516,174.02356617327,176.19886075044,178.40134650982,179.23874994958,180.42763340845,181.27454809716,183.54047994838,185.62513725149,185.83473594773,187.94545146714,188.82765426788,190.29476961048,191.18799994622,193.3595179703,193.57784994555,195.77651194493,198.22371834425,200.47514823161,202.98108758451,203.93386660931,206.48303994192,208.82827940793,209.0640779412,211.43863290053,212.43111105136,214.08161581178,215.0864999395,217.52945771659,220.24857593805,223.00168313728,225.53454176056,226.59318512145,228.35372353257,229.42559993547,232.03142156437,232.29341993466,234.93181433392,237.86846201309,238.98499993278,240.57017787793,241.69939746288,244.72063993117,247.77964793031,250.59393528951,253.72635948063,254.91733326163,258.1037999274,261.03534925991,264.29829112566,267.60201976473,270.64145011268,271.91182214574,275.31071992256,278.43770587724,278.75210392159,281.9181772007,283.24148140181,285.44215441571,286.78199991934,290.03927695546,293.6647679174],description:"Shrutis calculated by generation method, Amit Mitra, 1/1 no. 12:2, Table B."},indian_12:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"North Indian Gamut, modern Hindustani gamut out of 22 or more shrutis"},indian_12c:{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,328.55303549378,348.83408706747,369.35373924791,392.4383479509,415.52295665389,441.49314144476,470.92601754108,492.82955324067,523.2511306012],description:"Carnatic gamut. Kuppuswami: Carnatic music and the Tamils, p. v"},indian_a:{frequencies:[261.6255653006,290.79521372391,318.76727400207,355.94891173479,388.6137256405,432.69092326853,486.52148746092,523.2511306012],description:"One observed indian mode"},indian_b:{frequencies:[261.6255653006,290.79521372391,305.95868600104,356.15457528086,388.83826257328,432.94092754357,461.60862817266,523.2511306012],description:"Observed Indian mode"},indian_c:{frequencies:[261.6255653006,278.94941459687,313.65318017499,356.15457528086,388.83826257328,422.07621250312,470.76384471612,523.2511306012],description:"Observed Indian mode"},indian_d:{frequencies:[261.6255653006,289.28740724512,320.24370022528,344.61930560862,391.31674786192,442.03793673691,485.39868175205,523.2511306012],description:"Indian D (Ellis, correct)"},indian_e:{frequencies:[261.6255653006,275.58617649731,323.21709932123,347.81902735497,393.58362272115,410.77171881178,488.21056770985,523.2511306012],description:"Observed Indian mode"},indian_g:{frequencies:[261.6255653006,275.48458755707,279.57748987366,290.07776015425,294.38747470873,309.98198497505,314.58741860623,326.40257913196,331.25197518754,348.79929894143,353.98144532328,367.27615246113,372.73281132023,392.47748849606,413.26809526256,419.40806105693,435.16003737285,441.62525396027,465.0193523796,471.92819182319,489.65270022124,496.92751979948,523.2511306012],description:"Shruti/Mathieu's Magic Mode scale in 94-et (garibaldi) temperament"},indian_rat:{frequencies:[261.6255653006,269.55361273395,277.4816601673,285.40970760065,294.32876096318,302.93486508491,315.75499260417,327.03195662575,337.58137458142,348.83408706747,359.73515228832,370.63621750918,380.54627680087,392.4383479509,404.33041910093,416.22249025095,428.77523202043,441.49314144476,457.84473927605,473.41768959156,490.54793493862,506.37206187213,523.2511306012],description:"Indian Raga, From Fortuna, after Helmholtz, ratios by JC"},indian_rot:{frequencies:[261.6255653006,272.52663052146,279.06726965397,306.59245933664,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,510.98743222773,523.2511306012],description:"Rotated North Indian Gamut"},ionic:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:"Ancient greek Ionic"},iran_diat:{frequencies:[261.6255653006,297.21429859784,337.6441411202,347.13660997509,394.35734781054,448.00148789644,460.59652406882,523.2511306012],description:"Iranian Diatonic from Dariush Anooshfar, Safi-a-ddin Armavi's scale from 125 ET"},iraq:{frequencies:[261.6255653006,290.3675288125,326.6631048533,348.83408706747,387.1561215731,435.55129321875,465.11211608996,516.20736538157,523.2511306012],description:"Iraq 8-tone scale, Ellis"},isfahan_5:{frequencies:[261.6255653006,283.42769574232,305.22982618403,327.03195662575,348.83408706747,523.2511306012],description:"Isfahan (IG #2, DF #8), from Rouanet"},islamic:{frequencies:[261.6255653006,283.42769574232,305.22982618403,330.6656450327,348.83408706747,523.2511306012],description:"Islamic Genus (DF#7), from Rouanet"},italian:{frequencies:[261.6255653006,274.68983337859,292.34127285051,309.02606224197,326.6631048533,348.44038788768,366.66693712906,391.11111150212,411.56972129721,437.02884834934,464.06284405662,489.44164088633,523.2511306012],description:"Italian organ temperament, G.C. Klop (1974), 1/12 P.comma, also d'Alembert/Rousseau (1752/67)"},iter1:{frequencies:[261.6255653006,264.43874342211,268.51044859798,278.54662176283,304.33994330886,376.91818729747,631.61998662719],description:"McLaren style, IE= 2.414214, PD=5, SD=0"},iter10:{frequencies:[261.6255653006,277.06070189651,293.38358189778,297.59908052943,301.91391280887,310.68035879446,328.97472072452,338.5155215149,348.35227203008,368.89204707385,413.65123162392,438.0707139917,463.89070822207,520.1365405381,535.27989222422,550.79066379074,583.29634230953,654.0639132515],description:"Iterated 5/2 Scale, IE=5/2, PD=4, SD=3"},iter11:{frequencies:[261.6255653006,278.87608544381,297.26403435806,306.90779184711,316.86440944623,337.75715313333,360.02747892105,383.76621672426,396.21625406084,409.07019206122,436.04260883433],description:"Binary 5/3 Scale #2"},iter12:{frequencies:[261.6255653006,297.26403435806,306.90779184711,316.86440944623,337.75715313333,360.02747892105,383.76621672426,396.21625406084,409.07019206122,436.04260883433],description:"Binary 5/3 Scale #4"},iter13:{frequencies:[261.6255653006,297.26403435806,337.75715313333,383.76621672426,409.07019206122,436.04260883433],description:"Binary 5/3 Scale #6"},iter14:{frequencies:[261.6255653006,280.22072913446,300.13755324878,344.3186075731,368.79121945838,395.0032340925,453.14877154631,519.85349135637,596.37732215892,638.76512932755,684.16567043124,784.8766959018],description:"Binary Divided 3/1 Scale #2"},iter15:{frequencies:[261.6255653006,285.30470202322,311.12698372208,324.90175210669,339.28638158975,369.99442271164,403.48177901006,440,459.48046426806,479.82340237272,523.2511306012],description:"Binary Division Scale"},iter16:{frequencies:[261.6255653006,273.20871865617,285.30470202322,311.12698372208,324.90175210669,339.28638158975,369.99442271164,403.48177901006,440,459.48046426806,479.82340237272,523.2511306012],description:"Binary Division Scale 4+2"},iter17:{frequencies:[261.6255653006,278.49896488475,296.46060526524,301.12918013362,305.87127435301,315.58067012184,335.93387506143,346.5975621448,357.59974896504,380.66295170881,431.34763334053,459.16716607109,488.78090454553,553.8613271114,571.44277158458,589.58231097183,627.60710380636,711.17202040031],description:"Binary E Scale #2"},iter18:{frequencies:[261.6255653006,296.46060526524,335.93387506143,357.59974896504,380.66295170881,431.34763334053,488.78090454553,553.8613271114,589.58231097183,627.60710380636,711.17202040031],description:"Binary E Scale #4"},iter19:{frequencies:[261.6255653006,322.51878830959,331.06584352035,339.83940187549,358.09020513941,397.58488163802,418.936859706,441.43552612833,490.12256936272,604.19836236377,670.83693141722,744.82523718317,918.18295398723,967.49323514067,1019.45167961503,1131.88958971281,1395.33634826987],description:"Binary Kidjel Ratio scale #2, IE=16/3"},iter2:{frequencies:[261.6255653006,264.43874342211,268.51044859798,278.54662176283,304.33994330886,376.91818729747,466.76379263857,529.06503205232,631.63886479716],description:"Iterated 1 + SQR(2) Scale, IE=2.414214, PD=5, SD=1"},iter20:{frequencies:[261.6255653006,269.61366892789,277.84567157694,295.07138236029,304.08067308856,313.36504071103,332.79286022776,353.42515415018,375.3365967665,386.79659161311,398.60648967463,423.31905787312],description:"Binary PHI Scale #2"},iter21:{frequencies:[261.6255653006,265.58958666715,269.61366892789,277.84567157694,295.07138236029,304.08067308856,313.36504071103,332.79286022776,353.42515415018,375.3365967665,386.79659161311,398.60648967463,423.31905787312],description:"Binary PHI Scale 5+2 #2"},iter22:{frequencies:[261.6255653006,301.8727519909,307.3207469799,312.86706369289,324.26179396336,348.311367392,360.99698978488,374.14462916403,401.89387036212,463.7192413329,498.11197631533,535.05552246568,617.36582527423,639.85050556571,663.15408964479,712.33833913185,821.92095613931],description:"Binary PI Scale #2"},iter23:{frequencies:[261.6255653006,280.22072913446,282.63618845904,285.07246866924,290.00821285991,300.13755151512,305.33413252207,310.62068712289,321.46997343155,344.3186075731,356.34488692223,368.79121945838,395.00323181087,401.84231702948,408.7998141568,423.07827792492,453.14877154631],description:"Binary SQR(3) Scale #2"},iter24:{frequencies:[261.6255653006,289.31157243481,292.97226416221,296.67927674571,304.23460945445,319.92739457651,328.07477344771,336.42963427227,353.78307729046,391.22147055517,411.40114203819,432.62170761687,478.4030399831,490.58621022536,503.07964402145,529.02909391167,585.01254970054],description:"Binary SQR(5) Scale #2"},iter25:{frequencies:[261.6255653006,295.4600775297,299.98610231105,304.581459303,313.98443628203,333.67021037701,343.97120738708,354.59021667251,376.82183739983,425.55401329039,452.23482674104,480.58843796626,542.7401414615,559.49550492793,576.76813324226,612.92956630767,692.19618110881],description:"Binary SQR(7) Scale #2"},iter26:{frequencies:[261.6255653006,266.56189672137,275.04226095704,276.16031892841,278.32506946872,283.8915708581,299.68019298069,302.93486508491,309.19384990071,326.13597866239,377.90359432309,389.87339142835,411.92110281371,477.08191319521,486.74523776856,503.12608711654,552.32063785682,711.29450566101],description:"E Scale"},iter27:{frequencies:[261.6255653006,264.53251602616,264.59858308811,264.97973921471,266.91093025617,277.4816601673,277.93638607994,279.98525409362,291.05844139692,358.0999925052,361.3330282979,375.61956161015,462.09190754392,465.48964215821,480.4396744611,568.53247844169,1395.33634826987],description:"Iterated Kidjel Ratio Scale, IE=16/3, PD=3, SD=3"},iter28:{frequencies:[261.6255653006,265.20947715403,272.47639519786,295.60291144354,377.3445653374,784.8766959018],description:"McLaren 3-Division Scale"},iter29:{frequencies:[261.6255653006,264.46932144517,267.35459227799,273.20191774753,285.29018929764,311.12229387098,370.01329949656,523.2511306012],description:"Iterated Binary Division of the Octave, IE=2, PD=6, SD=0"},iter3:{frequencies:[261.6255653006,291.72408166262,314.40967058055,328.65360269166,338.82655178274,356.71329642628,384.4758307461,404.77917650282,417.30358762823,426.15298265459,441.49314144476],description:"Iterated 27/16 Scale, analog of Hexachord, IE=27/16, PD=3, SD=2"},iter30:{frequencies:[261.6255653006,263.40533105094,266.47048317654,274.97380842818,299.54231389489,377.98194879009,711.1793535636],description:"Iterated E-scale, IE= 2.71828, PD=5, SD=0"},iter31:{frequencies:[261.6255653006,264.53251602616,277.4816601673,358.0999925052,1395.33634826987],description:"Iterated Kidjel Ratio Scale, IE=16/3, PD=3, SD=0"},iter32:{frequencies:[261.6255653006,264.32273607689,265.98599138894,268.74462830198,273.21657135822,280.65287914064,293.09931751721,314.43072526953,352.25402909754,423.30428543018],description:"Iterated PHI scale, IE= 1.61803339, PD=8, SD=0"},iter33:{frequencies:[261.6255653006,264.70351312767,271.46111286829,293.79264300149,376.62581378438,821.87425059077],description:"Iterated PI Scale, IE= 3.14159, PD=4, SD=0"},iter34:{frequencies:[261.6255653006,263.41752122732,264.70351312767,267.00143308075,271.01725226011,278.10591587072,290.81088732616,314.21361862735,359.24704489038,453.1728541814],description:"Iterated SQR3 Scale, IE= 1.73205, PD=8, SD=0"},iter35:{frequencies:[261.6255653006,263.32443260775,265.41724016003,270.17542037578,281.14986121856,307.30621955943,374.94109676838,585.0238335194],description:"Iterated SQR 5 Scale, IE= 2.23607, PD=6, SD=0"},iter36:{frequencies:[261.6255653006,263.60757715894,266.85807660661,275.72514666411,300.63990398578,377.90359432309,692.2176415245],description:"Iterated SQR 7 Scale, IE= 2.64575, PD=5, SD=0"},iter37:{frequencies:[261.6255653006,295.02271214403,313.28742377221,326.0879260201,332.68289475257,342.82647426905,364.05069339959,375.15068445646,382.73792346942,386.58911684499,392.4383479509],description:"Iterated 3/2 scale, IE=3/2, PD=3, SD=2"},iter4:{frequencies:[261.6255653006,267.82522324611,277.41331493081,278.97828136646,281.37089098366,287.35922746131,302.93486508491,307.2300216374,313.76772341995,330.79094463294,377.42704502382,390.96854140427,412.14986314478,470.26367433779,480.2976795817,495.79659597089,536.59937372878,654.0639132515],description:"Iterated 5/2 Scale, IE=5/2, PD=4, SD=3"},iter5:{frequencies:[261.6255653006,292.148547919,314.45380444784,328.62723446295,338.43307070995,355.46951807147,382.59222452561,401.8431885336,413.81298563886,422.03832066739,436.04260883433],description:"Iterated 5/3 Scale, analog of Hexachord, IE=5/3, PD=3, SD=2"},iter6:{frequencies:[261.6255653006,276.4345595629,292.10621368514,326.13597866239,344.58001283494,364.1180547998,406.52587839016,453.84026633778,506.69255051888,535.41976154541,565.73733351326,631.63886479716],description:"Iterated binary 1+SQR(2) scale, IE= 2.414214, G=2, PD=4, SD=2"},iter7:{frequencies:[261.6255653006,279.30296836145,298.19688088025,308.09852755794,318.34159693919,339.84351781315,362.8203594263,387.34174602946,400.24806631808,413.53718386224,441.49314144476],description:"Iterated 27/16 Scale, analog of Hexachord, IE=27/16, PD=3, SD=2"},iter8:{frequencies:[261.6255653006,298.19688088025,308.09852755794,318.34159693919,339.84351781315,362.8203594263,387.34174602946,400.24806631808,413.53718386224,441.49314144476],description:"Iterated 27/16 Scale, analog of Hexachord, IE=27/16, PD=2, SD=2"},iter9:{frequencies:[261.6255653006,298.19688088025,339.84351781315,387.34174602946,413.53718386224,441.49314144476],description:"Iterated 27/16 Scale, analog of Hexachord, IE=27/16, PD=2, SD=12"},ives:{frequencies:[261.6255653006,302.26980244078,349.22823143301,375.37611551499,433.69180740168,501.06699929295,578.9091089468,622.25396744417],description:`Charles Ives' stretched major scale, "Scrapbook" pp. 108-110`},ives2a:{frequencies:[261.6255653006,303.72829164664,352.60650301302,379.92060676531,441.0602510811,512.03893786214,594.44004134205,640.48740045057],description:"Speculation by Joe Monzo for Ives' other stretched scale"},ives2b:{frequencies:[261.6255653006,300.81831683262,345.88232658126,370.885984045,426.44646246473,490.3301667422,563.78395315523,604.53960488156],description:"Alt. speculation by Joe Monzo for Ives' other stretched scale"},abell1:{frequencies:[261.6255653006,273.68256372566,292.6487650037,305.95868600104,327.16162250699,342.04121835587,365.95599773772,391.31674786192,409.35055662695,437.71854962063,457.62637091093,489.33987776603,523.2511306012],description:"Ross Abell's French Baroque Meantone 1, a'=520"},abell2:{frequencies:[261.6255653006,275.90473010106,294.68429813772,308.79945157961,330.00857764288,348.01999353916,369.14054089803,392.90218486657,412.67427966689,441.52756934418,463.21121723949,493.59810545034,523.2511306012],description:"Ross Abell's French Baroque Meantone 2, a'=520"},abell3:{frequencies:[261.6255653006,275.90505521365,293.49576926806,308.08682543008,329.24698751194,350.03632176331,368.71497179837,392.44893164635,412.28324979826,440.25465969448,462.14293627657,492.7440237889,523.2511306012],description:"Ross Abell's French Baroque Meantone 3, a' = 520"},abell4:{frequencies:[261.6255653006,274.95017225036,292.98704147282,308.2648062752,328.10786809908,346.01554587335,367.43868454848,391.54284657258,411.48414905414,438.47771564426,461.87534079415,491.0387427573,523.2511306012],description:"Ross Abell's French Baroque Meantone 4, a'=520"},abell5:{frequencies:[261.6255653006,277.98432293805,295.87822452474,311.66659310186,331.15428443044,349.43001184052,371.27895029721,395.6350356808,416.26536455926,442.29334161825,466.70260620202,495.88429116026,523.2511306012],description:"Ross Abell's French Baroque Meantone 5, a'=520"},abell6:{frequencies:[261.6255653006,277.02257024271,293.32570896007,311.66659310186,330.00857764288,349.43001184052,369.99442271164,391.76907592069,414.82519580403,440.76312290327,466.70260620202,494.16866184506,523.2511306012],description:"Ross Abell's French Baroque Meantone 6, a'=520"},abell7:{frequencies:[261.6255653006,277.50302994288,294.34406205295,310.05056613125,328.86683469969,348.82502010853,369.99442271164,392.44854854484,416.26536455926,438.47771564426,465.08793784701,493.31307433255,523.2511306012],description:"Ross Abell's French Baroque Meantone 7, a'=520"},abell8:{frequencies:[261.6255653006,277.82379926216,294.68429813772,311.48661940174,329.62755691287,350.03605285217,371.27895029721,392.44854854484,415.30469757995,441.01779121056,467.78216486233,494.45418731234,523.2511306012],description:"Ross Abell's French Baroque Meantone 8, a'=520"},abell9:{frequencies:[261.6255653006,276.06414495892,293.32570896007,309.69258848748,330.19925313612,348.62358905703,369.14054089803,391.99543598175,412.67427966689,440,464.55095742407,493.88330125613,523.2511306012],description:"Ross Abell's French Baroque Meantone 9, a'=520"},"ad-dik":{frequencies:[261.6255653006,269.0348830679,275.62199471997,285.40970760065,294.32876096318,300.46061014991,310.07474405997,321.08592105074,327.03195662575,336.37572681506,348.83408706747,358.80077526939,367.49599295996,378.42269266694,392.4383479509,400.61414686654,413.43299207996,428.11456140098,441.49314144476,453.48431318771,470.92601754108,479.64686971777,490.54793493862,508.71637697339,523.2511306012],description:"Amin Ad-Dik, d'Erlanger, vol 5, p.42"},adjeng:{frequencies:[261.6255653006,285.30470202322,305.78200836532,383.0422478503,417.71053321823,523.2511306012],description:"Soeroepan adjeng"},aeolic:{frequencies:[261.6255653006,294.32876096318,310.07474405997,348.83408706747,392.4383479509,413.43299207996,465.11211608996,523.2511306012],description:"Ancient Greek Aeolic, also tritriadic scale of the 54:64:81 triad"},agricola:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.42486507835,331.11985608357,348.83408706747,367.91095120397,392.4383479509,413.89982010446,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"Agricola's Monochord, Rudimenta musices (1539)"},"al-din":{frequencies:[261.6255653006,275.62199471997,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,367.49599295996,387.15627241873,392.4383479509,413.43299207996,435.55080647107,441.49314144476,465.11211608996,489.99465727995,516.20836322497,523.2511306012,551.24398943995,580.73440862809,588.65752192635,620.14948811994,653.3262097066,688.27781763329,697.66817413493,734.99198591993,774.31254483746,784.8766959018,826.86598415992,871.10161294214,917.70375684439,930.22423217991,979.98931455991,1032.41672644994,1046.5022612024,1102.48797887989],description:"Safi al-Din's complete lute tuning on 5 strings 4/3 apart"},"al-din_19":{frequencies:[261.6255653006,275.62199471997,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,344.13890881665,348.83408706747,367.49599295996,387.15627241873,392.4383479509,413.43299207996,435.55080647107,441.49314144476,458.8518784222,465.11211608996,489.99465727995,516.20836322497,523.2511306012],description:"Arabic scale by Safi al-Din"},"al-farabi":{frequencies:[261.6255653006,279.06726965397,299.00064605783,348.83408706747,392.4383479509,418.60090448096,448.50096908674,523.2511306012],description:"Al-Farabi Syn Chrom"},"al-farabi_19":{frequencies:[261.6255653006,275.62199471997,285.40970760065,294.32876096318,310.07474405997,326.6631048533,331.11985608357,336.87132687997,348.83408706747,367.49599295996,380.54627680087,392.4383479509,413.43299207996,435.55080647107,441.49314144476,455.28980211491,465.11211608996,489.99465727995,507.3950357345,523.2511306012],description:"Arabic scale by Al Farabi"},"al-farabi_22":{frequencies:[261.6255653006,275.62199471997,277.01530443593,285.40970760065,294.32876096318,310.07474405997,321.08592105074,326.6631048533,331.11985608357,348.83408706747,367.49599295996,369.35373924791,380.54627680087,392.4383479509,413.43299207996,428.11456140098,435.55080647107,441.49314144476,465.11211608996,489.99465727995,492.47165233054,507.3950357345,523.2511306012],description:"Al-Farabi 22 note ud scale"},"al-farabi_9":{frequencies:[261.6255653006,294.32876096318,321.08592105074,331.11985608357,348.83408706747,392.4383479509,428.11456140098,441.49314144476,465.11211608996,523.2511306012],description:"Al-Farabi 9 note ud scale"},"al-farabi_blue":{frequencies:[261.6255653006,294.32876096318,367.91095120397,380.81054504865,392.4383479509,490.54793493862,506.89953276991,523.2511306012],description:"Another tuning from Al Farabi, c700 AD"},"al-farabi_chrom":{frequencies:[261.6255653006,294.32876096318,353.19451315581,372.50983809402,392.4383479509,470.92601754108,497.08857407114,523.2511306012],description:"Al Farabi's Chromatic c700 AD"},"al-farabi_chrom2":{frequencies:[261.6255653006,279.06726965397,325.57848126297,348.83408706747,392.4383479509,418.60090448096,488.36772189445,523.2511306012],description:"Al-Farabi's Chromatic permuted"},"al-farabi_diat":{frequencies:[261.6255653006,299.00064605783,341.71502406609,348.83408706747,392.4383479509,448.50096908674,512.57253609913,523.2511306012],description:"Al-Farabi's Diatonic"},"al-farabi_diat2":{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:"Old Phrygian, permuted form of Al-Farabi's reduplicated 10/9 diatonic genus, same as ptolemy_diat"},"al-farabi_div":{frequencies:[261.6255653006,275.62199471997,277.01530443593,284.45195690401,288.32205155576,294.32876096318,310.07474405997,311.64221749042,321.08592105074,331.11985608357,348.83408706747],description:"Al Farabi's 10 intervals for the division of the tetrachord"},"al-farabi_div2":{frequencies:[261.6255653006,275.62199471997,277.01530443593,279.38237857051,284.45195690401,288.32205155576,294.32876096318,310.07474405997,311.64221749042,314.30517589183,321.08592105074,331.11985608357,348.83408706747],description:"Al-Farabi's tetrachord division, incl. extra 2187/2048 & 19683/16384"},"al-farabi_divo":{frequencies:[261.6255653006,275.62199471997,277.01530443593,284.45195690401,288.32205155576,294.32876096318,310.07474405997,311.64221749042,321.08592105074,331.11985608357,348.83408706747,367.49599295996,369.35373924791,379.26927587201,392.4383479509,413.43299207996,415.52295665389,426.67793535601,432.48307733364,441.49314144476,465.11211608996,467.46332623563,481.6288815761,496.67978412536,523.2511306012],description:"Al Farabi's theoretical octave division with identical tetrachords, 10th c."},"al-farabi_dor":{frequencies:[261.6255653006,282.55561052465,313.95067836072,348.83408706747,392.4383479509,423.83341578697,470.92601754108,523.2511306012],description:"Dorian mode of Al-Farabi's 10/9 Diatonic"},"al-farabi_dor2":{frequencies:[261.6255653006,267.07609791103,305.22982618403,348.83408706747,392.4383479509,400.61414686654,457.84473927605,523.2511306012],description:"Dorian mode of Al-Farabi's Diatonic"},"al-farabi_g1":{frequencies:[261.6255653006,294.32876096318,331.11985608357,367.91095120397,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Al-Farabi's Greek genus conjunctum medium, Land"},"al-farabi_g10":{frequencies:[261.6255653006,294.32876096318,343.38355445704,367.91095120397,392.4383479509,457.84473927605,490.54793493862,523.2511306012],description:"Al-Farabi's Greek genus chromaticum forte"},"al-farabi_g11":{frequencies:[261.6255653006,294.32876096318,353.19451315581,372.50983809402,392.4383479509,470.92601754108,496.67978412536,523.2511306012],description:"Al-Farabi's Greek genus chromaticum mollissimum"},"al-farabi_g12":{frequencies:[261.6255653006,294.32876096318,367.91095120397,380.17464957743,392.4383479509,490.54793493862,506.89953276991,523.2511306012],description:"Al-Farabi's Greek genus mollissimum ordinantium"},"al-farabi_g3":{frequencies:[261.6255653006,294.32876096318,336.37572681506,378.42269266694,392.4383479509,448.50096908674,504.56359022259,523.2511306012],description:"Al-Farabi's Greek genus conjunctum primum"},"al-farabi_g4":{frequencies:[261.6255653006,294.32876096318,336.37572681506,384.42940207435,392.4383479509,448.50096908674,512.57253609913,523.2511306012],description:"Al-Farabi's Greek genus forte duplicatum primum"},"al-farabi_g5":{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,436.04260883433,479.64686971777,523.2511306012],description:"Al-Farabi's Greek genus conjunctum tertium, or forte aequatum"},"al-farabi_g6":{frequencies:[261.6255653006,294.32876096318,336.37572681506,373.75080757229,392.4383479509,448.50096908674,498.33441009638,523.2511306012],description:"Al-Farabi's Greek genus forte disjunctum primum"},"al-farabi_g7":{frequencies:[261.6255653006,294.32876096318,343.38355445704,374.60024122586,392.4383479509,457.84473927605,499.46698830115,523.2511306012],description:"Al-Farabi's Greek genus non continuum acre"},"al-farabi_g8":{frequencies:[261.6255653006,294.32876096318,353.19451315581,378.42269266694,392.4383479509,470.92601754108,504.56359022259,523.2511306012],description:"Al-Farabi's Greek genus non continuum mediocre"},"al-farabi_g9":{frequencies:[261.6255653006,294.32876096318,367.91095120397,383.71749577421,392.4383479509,490.54793493862,511.62332769895,523.2511306012],description:"Al-Farabi's Greek genus non continuum laxum"},"al-hwarizmi":{frequencies:[261.6255653006,294.32876096318,302.73815413355,311.64221749042,321.08592105074,331.11985608357,348.83408706747],description:"Al-Hwarizmi's tetrachord division"},"al-kindi":{frequencies:[261.6255653006,275.62199471997,279.38237857051,294.32876096318,310.07474405997,331.11985608357,348.83408706747],description:"Al-Kindi's tetrachord division"},"al-kindi2":{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,367.49599295996,392.4383479509,413.43299207996,435.55080647107,441.49314144476,465.11211608996,489.99465727995,523.2511306012],description:"Arabic mode by al-Kindi"},"al-mausili":{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,331.11985608357,348.83408706747,367.49599295996,392.4383479509,413.43299207996,441.49314144476,465.11211608996,523.2511306012],description:"Arabic mode by Ishaq al-Mausili, ? - 850 AD"},albion:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Terry Riley's Harp of New Albion scale, inverse Malcolm's Monochord, 1/1 on C#"},alembert:{frequencies:[261.6255653006,273.70610837433,292.50627485027,307.8325111191,327.03195662575,347.99121610009,365.92863081328,391.22147055517,409.45161370755,437.39890198442,462.86717295458,489.22460251523,523.2511306012],description:"Jean-Le Rond d'Alembert modified meantone (1752)"},alembert2:{frequencies:[261.6255653006,274.99999938609,292.5775112526,309.28790118232,327.03195662575,348.53877105022,367.08095907728,391.31674786192,412.03444522126,437.50542525192,464.32494005553,489.99429388332,523.2511306012],description:"d'Alembert (?)"},alves:{frequencies:[261.6255653006,267.07609791103,294.32876096318,305.22982618403,327.03195662575,336.37572681506,348.83408706747,359.73515228832,392.4383479509,425.14154361347,448.50096908674,457.84473927605,504.56359022259,523.2511306012],description:'Bill Alves, tuning for "Instantaneous Motion", 1/1 vol. 6/3'},alves_22:{frequencies:[261.6255653006,269.80136421624,279.06726965397,287.78812183066,297.30177875068,305.22982618403,317.12189733406,327.03195662575,336.37572681506,348.83408706747,359.73515228832,370.01329949656,380.54627680087,392.4383479509,406.97310157871,418.60090448096,431.68218274599,448.50096908674,460.46099492906,475.68284600109,490.54793493862,507.3950357345,523.2511306012],description:"11-limit rational interpretation of 22-tET, Bill Alves, tuning list 9-1-98"},amity:{frequencies:[261.6255653006,265.19165427121,275.22357733525,278.97501409741,282.77758484276,286.63198489776,290.53892403345,294.49911672845,305.63971046081,309.80573452349,314.02854360428,318.30891171173,322.64762154083,327.04547204619,339.41726037801,344.04368955469,348.73317930436,353.48658917459,358.304790429,371.85908609843,376.92771379174,382.0654272409,387.27317253358,392.55190203235,397.90258328792,412.95482206782,418.58360545772,424.28911201625,430.07238503487,435.93448947821,452.42543551278,458.59222335614,464.84306764133,471.17911410024,477.60152408164,484.11147196776,502.42490579041,509.27320879713,516.21486058423,523.2511306012],description:"Amity temperament, g=339.508826, 5-limit"},angklung:{frequencies:[261.6255653006,294.70472480469,326.28010551578,372.13971319976,421.00655337609,533.77627782773,589.40944960937,672.10704388342,757.81210779894],description:"Scale of an anklung set from Tasikmalaya. 1/1=174 Hz"},appunn:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.38237857051,287.10624449997,290.69507255622,294.32876096318,302.46583782713,306.24666079997,310.07474405997,322.99452506247,327.03195662575,331.11985608357,340.27406755552,344.52749339997,348.83408706747,363.36884069528,367.91095120397,372.50983809402,382.80832599996,387.59343007496,392.4383479509,408.78994578219,413.89982010446,419.07356785577,430.65936674996,436.04260883433,441.49314144476,453.6987567407,459.36999119996,465.11211608996,484.4917875937,490.54793493862,496.67978412536,510.41110133328,516.79124009995,523.2511306012],description:"Probable tuning of A. Appunn's 36-tone harmonium w. 3 manuals 80/81 apart,1887"},arabic:{frequencies:[261.6255653006,275.62199471997,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,367.49599295996,387.15627241873,392.4383479509,413.43299207996,435.55080647107,441.49314144476,465.11211608996,489.99465727995,516.20836322497,523.2511306012],description:"Arabic 17-tone Pythagorean mode, Safi al-Din"},arabic_s:{frequencies:[261.6255653006,275.62199471997,290.69507255622,294.32876096318,310.07474405997,327.03195662575,331.11985608357,348.83408706747,367.91095120397,387.59343007496,392.4383479509,413.43299207996,436.04260883433,441.49314144476,465.11211608996,490.54793493862,516.79124009995,523.2511306012],description:"Schimatically altered Arabic 17-tone Pythagorean mode"},arch_chrom:{frequencies:[261.6255653006,271.31540105247,294.32876096318,348.83408706747,392.4383479509,406.97310157871,441.49314144476,523.2511306012],description:"Archytas' Chromatic"},arch_chromc2:{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,331.11985608357,343.38355445704,348.83408706747,361.75386806997,392.4383479509,406.97310157871,422.04617941496,441.49314144476,457.84473927605,496.67978412536,523.2511306012],description:"Product set of 2 of Archytas' Chromatic"},arch_dor:{frequencies:[261.6255653006,271.31540105247,294.32876096318,348.83408706747,392.4383479509,406.97310157871,465.11211608996,441.49314144476,523.2511306012],description:"Dorian mode of Archytas' Chromatic with added 16/9"},arch_enh:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,392.4383479509,406.97310157871,418.60090448096,523.2511306012],description:"Archytas' Enharmonic"},arch_enh2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,392.4383479509,406.97310157871,465.11211608996,418.60090448096,523.2511306012],description:"Archytas' Enharmonic with added 16/9"},arch_enh3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,336.37572681506,348.83408706747,358.80077526939,448.50096908674,523.2511306012],description:"Complex 9 of p. 113 based on Archytas's Enharmonic"},arch_enhp:{frequencies:[261.6255653006,269.10058145205,279.06726965397,348.83408706747,392.4383479509,403.65087217807,418.60090448096,523.2511306012],description:"Permutation of Archytas's Enharmonic with the 36/35 first"},arch_enht:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,336.37572681506,348.83408706747,504.56359022259,523.2511306012],description:"Complex 6 of p. 113 based on Archytas's Enharmonic"},arch_enht2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,348.83408706747,490.54793493862,508.71637697339,523.2511306012],description:"Complex 5 of p. 113 based on Archytas's Enharmonic"},arch_enht3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,281.36411960997,289.40309445597,348.83408706747,361.75386806997,523.2511306012],description:"Complex 1 of p. 113 based on Archytas's Enharmonic"},arch_enht4:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,339.14425131559,348.83408706747,436.04260883433,523.2511306012],description:"Complex 8 of p. 113 based on Archytas's Enharmonic"},arch_enht5:{frequencies:[261.6255653006,263.77886213435,271.31540105247,279.06726965397,339.14425131559,348.83408706747,508.71637697339,523.2511306012],description:"Complex 10 of p. 113 based on Archytas's Enharmonic"},arch_enht6:{frequencies:[261.6255653006,271.31540105247,279.06726965397,289.40309445597,297.67175429757,348.83408706747,372.08969287196,523.2511306012],description:"Complex 2 of p. 113 based on Archytas's Enharmonic"},arch_enht7:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,287.04062021552,348.83408706747,358.80077526939,523.2511306012],description:"Complex 11 of p. 113 based on Archytas's Enharmonic"},arch_mult:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,336.37572681506,348.83408706747,361.75386806997,392.4383479509,406.97310157871,418.60090448096,490.54793493862,504.56359022259,523.2511306012],description:"Multiple Archytas"},arch_ptol:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,310.07474405997,348.83408706747,361.75386806997,392.4383479509,406.97310157871,418.60090448096,436.04260883433,465.11211608996,523.2511306012],description:"Archytas/Ptolemy Hybrid 1"},arch_ptol2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,313.95067836072,348.83408706747,361.75386806997,392.4383479509,406.97310157871,418.60090448096,441.49314144476,470.92601754108,523.2511306012],description:"Archytas/Ptolemy Hybrid 2"},arch_sept:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,310.07474405997,348.83408706747,361.75386806997,392.4383479509,406.97310157871,418.60090448096,441.49314144476,465.11211608996,523.2511306012],description:"Archytas Septimal"},ariel1:{frequencies:[261.6255653006,282.55561052465,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Ariel 1"},ariel2:{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Ariel 2"},ariel3:{frequencies:[261.6255653006,279.06726965397,290.69507255622,310.07474405997,322.99452506247,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,465.11211608996,484.4917875937,523.2511306012],description:"Ariel's 12-tone JI scale"},ariel_19:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,302.80736724606,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,452.08897683944,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Ariel 19-tone scale"},ariel_31:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,283.88190679319,294.32876096318,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,376.74081403286,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,428.6473261885,436.04260883433,446.50763144636,454.2110508691,465.11211608996,482.22824196207,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Ariel's 31-tone system"},arist_archenh:{frequencies:[261.6255653006,271.89678302796,279.86396690685,349.22823143301,391.99543598175,407.38487419079,419.32216217931,523.2511306012],description:"PsAristo Arch. Enharmonic, 4 + 3 + 23 parts, similar to Archytas' enharmonic"},arist_chrom:{frequencies:[261.6255653006,277.18263097687,329.62755691287,349.22823143301,391.99543598175,415.30469757995,493.88330125613,523.2511306012],description:"Dorian, Neo-Chromatic,6+18+6 parts = Athanasopoulos' Byzant.liturg. 2nd chromatic"},arist_chrom2:{frequencies:[261.6255653006,282.57123920205,336.03572815422,349.22823143301,391.99543598175,423.37848741825,503.48470957687,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 8 + 18 + 4 parts"},arist_chrom3:{frequencies:[261.6255653006,279.86388595857,299.37253740865,349.22869576324,391.99491478937,419.32387668214,448.55625766774,523.2511306012],description:"PsAristo 3 Chromatic, 7 + 7 + 16 parts"},arist_chrom4:{frequencies:[261.6255653006,275.85166538713,290.85115308106,349.22823143301,391.99543598175,413.31050241775,435.7843409791,523.2511306012],description:"PsAristo Chromatic, 5.5 + 5.5 + 19 parts"},arist_chromenh:{frequencies:[261.6255653006,269.29177952703,293.66476791741,349.22823143301,391.99543598175,403.48177901006,440,523.2511306012],description:"Aristoxenos' Chromatic/Enharmonic, 3 + 9 + 18 parts"},arist_chrominv:{frequencies:[261.6255653006,311.12698372208,329.62755691287,349.22823143301,391.99543598175,466.16376151809,493.88330125613,523.2511306012],description:"Aristoxenos' Inverted Chromatic, Dorian mode, 18 + 6 + 6 parts"},arist_chromrej:{frequencies:[261.6255653006,277.18263097687,285.30470202322,349.22823143301,391.99543598175,415.30469757995,427.47405410759,523.2511306012],description:"Aristoxenos Rejected Chromatic, 6 + 3 + 21 parts"},arist_chromunm:{frequencies:[261.6255653006,273.20871865617,282.57118533961,349.22823143301,391.99543598175,409.35055662695,423.37840671577,523.2511306012],description:"Unmelodic Chromatic, genus of Aristoxenos, Dorian Mode, 4.5 + 3.5 + 22 parts"},arist_diat:{frequencies:[261.6255653006,293.66476791741,311.12698372208,349.22823143301,391.99543598175,440,466.16376151809,523.2511306012],description:"Phrygian octave species on E, 12 + 6 + 12 parts"},arist_diat2:{frequencies:[261.6255653006,279.86396690685,311.12698372208,349.22823143301,391.99543598175,419.32216217931,466.16376151809,523.2511306012],description:"PsAristo 2 Diatonic, 7 + 11 + 12 parts"},arist_diat3:{frequencies:[261.6255653006,286.68133251996,314.13668154225,349.22823143301,391.99543598175,429.53666932309,470.6732130613,523.2511306012],description:"PsAristo Diat 3, 9.5 + 9.5 + 11 parts"},arist_diat4:{frequencies:[261.6255653006,282.57123920205,305.19382000629,349.22823143301,391.99543598175,423.37848741825,457.27406033445,523.2511306012],description:"PsAristo Diatonic, 8 + 8 + 14 parts"},arist_diatdor:{frequencies:[261.6255653006,299.37379946195,305.19382000629,349.22823143301,391.99543598175,448.5538823653,457.27406033445,523.2511306012],description:"PsAristo Redup. Diatonic, 14 + 2 + 14 parts"},arist_diatinv:{frequencies:[261.6255653006,293.66476791741,329.62755691287,349.22823143301,391.99543598175,440,493.88330125613,523.2511306012],description:"Lydian octave species on E, major mode, 12 + 12 + 6 parts"},arist_diatred:{frequencies:[261.6255653006,299.37379946195,342.56848033562,349.22823143301,391.99543598175,448.5538823653,513.27277840175,523.2511306012],description:"Aristo Redup. Diatonic, Dorian Mode, 14 + 14 + 2 parts"},arist_diatred2:{frequencies:[261.6255653006,271.89678302796,308.14612137864,349.22823143301,391.99543598175,407.38487419079,461.69751437372,523.2511306012],description:"PsAristo 2 Redup. Diatonic 2, 4 + 13 + 13 parts"},arist_diatred3:{frequencies:[261.6255653006,282.57123920205,314.13668154225,349.22823143301,391.99543598175,423.37848741825,470.6732130613,523.2511306012],description:"PsAristo 3 Redup. Diatonic, 8 + 11 + 11 parts"},arist_enh:{frequencies:[261.6255653006,269.29177952703,277.18263097687,349.22823143301,391.99543598175,403.48177901006,415.30469757995,523.2511306012],description:"Aristoxenos' Enharmonion, Dorian mode"},arist_enh2:{frequencies:[261.6255653006,270.59109411209,279.86402025325,349.22823143301,391.99543598175,405.42855124795,419.32224210861,523.2511306012],description:"PsAristo 2 Enharmonic, 3.5 + 3.5 + 23 parts"},arist_enh3:{frequencies:[261.6255653006,267.99870394401,274.52693220706,349.22823143301,391.99543598175,401.54435471309,411.32564531909,523.2511306012],description:"PsAristo Enharmonic, 2.5 + 2.5 + 25 parts"},arist_hemchrom:{frequencies:[261.6255653006,273.20871865617,285.30470202322,349.22823143301,391.99543598175,409.35055662695,427.47405410759,523.2511306012],description:"Aristoxenos's Chromatic Hemiolion, Dorian Mode"},arist_hemchrom2:{frequencies:[261.6255653006,273.20871865617,293.66476791741,349.22823143301,391.99543598175,409.35055662695,440,523.2511306012],description:"PsAristo C/H Chromatic, 4.5 + 7.5 + 18 parts"},arist_hemchrom3:{frequencies:[261.6255653006,271.81876914348,282.83844897362,348.83408706747,392.4383479509,407.72815371522,424.25767346043,523.2511306012],description:"Dorian mode of Aristoxenos' Hemiolic Chromatic according to Ptolemy's interpret"},arist_hypenh2:{frequencies:[261.6255653006,267.3544191957,273.20871865617,349.22823143301,391.99543598175,400.57901831518,409.35055662695,523.2511306012],description:"PsAristo 2nd Hyperenharmonic, 37.5 + 37.5 + 425 cents"},arist_hypenh3:{frequencies:[261.6255653006,265.43099677612,269.29177952703,349.22823143301,391.99543598175,397.69714089209,403.48177901006,523.2511306012],description:"PsAristo 3 Hyperenharmonic, 1.5 + 1.5 + 27 parts"},arist_hypenh4:{frequencies:[261.6255653006,266.71168334607,271.8968348557,349.22823143301,391.99543598175,399.61600264311,407.38495184466,523.2511306012],description:"PsAristo 4 Hyperenharmonic, 2 + 2 + 26 parts"},arist_hypenh5:{frequencies:[261.6255653006,265.12453591719,268.67030163715,349.22823143301,391.99543598175,397.23796841836,402.55061428954,523.2511306012],description:"PsAristo Hyperenharmonic, 23 + 23 + 454 cents"},arist_intdiat:{frequencies:[261.6255653006,275.39533189537,307.79478270659,348.83408706747,392.4383479509,413.09299784305,461.69217405988,523.2511306012],description:"Dorian mode of Aristoxenos's Intense Diatonic according to Ptolemy"},arist_penh2:{frequencies:[261.6255653006,269.29177952703,339.28638158975,349.22823143301,391.99543598175,403.48177901006,508.3551866238,523.2511306012],description:"Permuted Aristoxenos's Enharmonion, 3 + 24 + 3 parts"},arist_penh3:{frequencies:[261.6255653006,329.62755691287,339.28638158975,349.22823143301,391.99543598175,493.88330125613,508.3551866238,523.2511306012],description:"Permuted Aristoxenos's Enharmonion, 24 + 3 + 3 parts"},arist_pschrom2:{frequencies:[261.6255653006,278.52001838539,296.50560089735,349.22823143301,391.99543598175,417.30851459865,444.25644015807,523.2511306012],description:"PsAristo 2 Chromatic, 6.5 + 6.5 + 17 parts"},arist_softchrom:{frequencies:[261.6255653006,271.89678302796,282.57123920205,349.22823143301,391.99543598175,407.38487419079,423.37848741825,523.2511306012],description:"Aristoxenos's Chromatic Malakon, Dorian Mode"},arist_softchrom2:{frequencies:[261.6255653006,277.18263097687,324.90175210669,349.22823143301,391.99543598175,415.30469757995,486.80259447109,523.2511306012],description:"Aristoxenos' Soft Chromatic, 6 + 16.5 + 9.5 parts"},arist_softchrom3:{frequencies:[261.6255653006,281.2143451833,329.62755691287,349.22823143301,391.99543598175,421.34544350737,493.88330125613,523.2511306012],description:"Aristoxenos's Chromatic Malakon, 9.5 + 16.5 + 6 parts"},arist_softchrom4:{frequencies:[261.6255653006,277.18263097687,297.93622032612,349.22823143301,391.99543598175,415.30469757995,446.39994737251,523.2511306012],description:"PsAristo S. Chromatic, 6 + 7.5 + 16.5 parts"},arist_softchrom5:{frequencies:[261.6255653006,270.64713651786,280.31310567921,348.83408706747,392.4383479509,405.97070477679,420.46965851882,523.2511306012],description:"Dorian mode of Aristoxenos' Soft Chromatic according to Ptolemy's interpretati"},arist_softdiat:{frequencies:[261.6255653006,277.18263097687,302.26980244078,349.22823143301,391.99543598175,415.30469757995,452.89298412314,523.2511306012],description:"Aristoxenos's Diatonon Malakon, Dorian Mode"},arist_softdiat2:{frequencies:[261.6255653006,277.18263097687,320.24370022528,349.22823143301,391.99543598175,415.30469757995,479.82340237272,523.2511306012],description:"Dorian Mode, 6 + 15 + 9 parts"},arist_softdiat3:{frequencies:[261.6255653006,285.30470202322,329.62755691287,349.22823143301,391.99543598175,427.47405410759,466.16376151809,523.2511306012],description:"Dorian Mode, 9 + 15 + 6 parts"},arist_softdiat4:{frequencies:[261.6255653006,285.30470202322,302.26980244078,349.22823143301,391.99543598175,427.47405410759,452.89298412314,523.2511306012],description:"Dorian Mode, 9 + 6 + 15 parts"},arist_softdiat5:{frequencies:[261.6255653006,302.26980244078,320.24370022528,349.22823143301,391.99543598175,452.89298412314,479.82340237272,523.2511306012],description:"Dorian Mode, 15 + 6 + 9 parts"},arist_softdiat6:{frequencies:[261.6255653006,302.26980244078,329.62755691287,349.22823143301,391.99543598175,452.89298412314,493.88330125613,523.2511306012],description:"Dorian Mode, 15 + 9 + 6 parts"},arist_softdiat7:{frequencies:[261.6255653006,275.39533189537,299.00064605783,348.83408706747,392.4383479509,413.09299784305,448.50096908674,523.2511306012],description:"Dorian mode of Aristoxenos's Soft Diatonic according to Ptolemy"},arist_synchrom:{frequencies:[261.6255653006,277.18263097687,293.66476791741,349.22823143301,391.99543598175,415.30469757995,440,523.2511306012],description:"Aristoxenos's Chromatic Syntonon, Dorian Mode"},arist_syndiat:{frequencies:[261.6255653006,277.18263097687,311.12698372208,349.22823143301,391.99543598175,415.30469757995,466.16376151809,523.2511306012],description:"Aristoxenos's Diatonon Syntonon, Dorian Mode"},arist_unchrom:{frequencies:[261.6255653006,271.89678302796,293.66476791741,349.22823143301,391.99543598175,407.38487419079,440,523.2511306012],description:"Aristoxenos's Unnamed Chromatic, Dorian Mode, 4 + 8 + 18 parts"},arist_unchrom2:{frequencies:[261.6255653006,282.57123920205,293.66476791741,349.22823143301,391.99543598175,423.37848741825,440,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 8 + 4 + 18 parts"},arist_unchrom3:{frequencies:[261.6255653006,311.12698372208,323.3415889232,349.22823143301,391.99543598175,466.16376151809,484.46499093218,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 18 + 4 + 8 parts"},arist_unchrom4:{frequencies:[261.6255653006,311.12698372208,336.03572815422,349.22823143301,391.99543598175,466.16376151809,503.48470957687,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 18 + 8 + 4 parts"},arith13:{frequencies:[261.6255653006,269.80136421624,294.32876096318,318.85615771011,327.03195662575,343.38355445704,367.91095120397,371.99885066179,392.4383479509,449.66894036041,457.84473927605,490.54793493862,523.2511306012],description:"The first 13 terms of the arithmetic series, octave reduced"},arith22:{frequencies:[261.6255653006,269.80136421624,277.97716313189,294.32876096318,312.72430852337,318.85615771011,327.03195662575,343.38355445704,349.51540364377,367.91095120397,371.99885066179,388.35044849308,392.4383479509,429.2294430713,449.66894036041,457.84473927605,472.15238737843,490.54793493862,517.11928141447,523.2511306012],description:"The first 22 terms of the arithmetic series, octave reduced"},arnautoff_21:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,361.75386806997,367.91095120397,372.08969287196,378.42269266694,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,465.11211608996,490.54793493862,504.56359022259,523.2511306012],description:"Philip Arnautoff, transposed Archytas enharmonic (2005), 1/1 vol 12/1"},"aron-neidhardt":{frequencies:[261.6255653006,275.62199471997,292.53519855339,310.07474405997,327.04005607367,348.83408706747,367.49599295996,391.42133845759,413.43299207996,437.43855491017,465.11211608996,489.99465727995,523.2511306012],description:"Aron-Neidhardt equal beating well temperament"},art_nam:{frequencies:[261.6255653006,287.78812183066,317.68818643644,324.77656382143,348.83408706747,353.19451315581,392.4383479509,431.68218274599,473.41768959156,523.2511306012],description:"Artificial Nam System"},artusi:{frequencies:[261.6255653006,276.63528606528,292.50629850443,309.28767786778,327.03195662575,349.91920725962,369.99442271164,391.22137338448,413.66637442451,437.39882871549,462.49310482954,489.02679755603,523.2511306012],description:"Lute tuning of Giovanni Maria Artusi (1603). 1/4-comma w. acc. 1/2-way naturals"},astro:{frequencies:[13.75,13.8316453704,13.91377553836,13.99639338254,14.07098381034,14.15453513289,14.23858257025,14.32312915102,14.40817767355,14.49373120103,14.57979273211,14.66636528323,14.75345188876,14.84105560105,14.92917949063,15.01782664621,15.10700017487,15.1875093157,15.27769039377,15.36840704189,15.45966226264,15.55145934276,15.64380149972,15.73669197012,15.83013400973,15.92413089371,16.01868591662,16.11380239262,16.20948365552,16.30573305894,16.39263055969,16.48996755631,16.58788242969,16.68637870643,16.78545983879,16.88512929958,16.98539058219,17.08624720077,17.18770269033,17.28976060687,17.39242452751,17.49569805061,17.59958489756,17.69337767194,17.7984382082,17.90412257766,18.01043448453,18.11737765504,18.22495583753,18.33317280261,18.44203234327,18.55153827502,18.66169443603,18.77250468726,18.88397302169,18.99610312873,19.09733831271,19.21073534981,19.32480572095,19.43955342429,19.55498248173,19.67109693902,19.78790086598,19.90539835657,20.02359352906,20.14249064253,20.26209363229,20.38240680608,20.50343438087,20.62518059864,20.73509756099,20.85821935885,20.98207223488,21.1066605301,21.23198861133,21.35806087129,21.4848817288,21.61245575376,21.74078716869,21.86988059568,21.99974055944,22.13037161156,22.26177833063,22.38041714879,22.51330859954,22.64698913914,22.78146345308,22.91673625467,23.0528122852,23.18969644807,23.32739327396,23.46590772227,23.60524464792,23.74540893465,23.88640549521,24.02823927151,24.15629202037,24.29972834105,24.44401636439,24.58916114767,24.73516777819,24.8820415172,25.02978722599,25.17841022592,25.32791572621,25.478308967,25.62959521956,25.78177978645,25.93486800174,26.07308167197,26.22789959273,26.38363679833,26.54029874734,26.69789108494,26.85641902723,27.01588828389,27.17630444429,27.33767313101,27.5],description:"Astro temperament, g=132.194511, 5-limit"},athan_chrom:{frequencies:[261.6255653006,285.30470202322,329.62755691287,349.22823143301,391.99543598175,427.47405410759,493.88330125613,523.2511306012],description:"Athanasopoulos's Byzantine Liturgical mode Chromatic"},auftetf:{frequencies:[261.6255653006,264.29521392612,269.80136421624,287.78812183066,359.73515228832,380.54627680087,384.42940207435,392.4383479509,418.60090448096],description:"5/4 C.I. again"},augmented:{frequencies:[261.6255653006,312.71213182188,329.62755691287,393.99259743989,415.30469757995,496.39956701727,523.2511306012],description:"Augmented temperament, g=91.2, oct=1/3, 5-limit"},augteta:{frequencies:[261.6255653006,280.76889934699,302.93486508491,328.90071066361,359.73515228832,380.54627680087,408.39112632289,440.63253103259,478.40103369253],description:"Linear Division of the 11/8, duplicated on the 16/11"},augteta2:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,366.27579142084,373.75080757229,402.50086969323,436.04260883433,475.68284600109],description:"Linear Division of the 7/5, duplicated on the 10/7"},augtetb:{frequencies:[261.6255653006,270.8594087818,280.76889934699,302.93486508491,359.73515228832,380.54627680087,295.48299139832,408.39112632289,440.63253103259],description:"Harmonic mean division of 11/8"},augtetc:{frequencies:[261.6255653006,280.31310567921,301.87565226992,327.03195662575,359.73515228832,380.54627680087,407.72815371522,439.09185784716,475.68284600109],description:"11/10 C.I."},augtetd:{frequencies:[261.6255653006,271.68808704293,282.55561052465,294.32876096318,359.73515228832,380.54627680087,395.18267206244,410.98997894494,428.11456140098],description:"11/9 C.I."},augtete:{frequencies:[261.6255653006,269.80136421624,278.50463402967,287.78812183066,359.73515228832,380.54627680087,392.4383479509,405.0976494977,418.60090448096],description:"5/4 C.I."},augtetg:{frequencies:[261.6255653006,278.50463402967,297.71185016965,319.76457981184,359.73515228832,380.54627680087,405.0976494977,433.03541842858,465.11211608996],description:"9/8 C.I."},augteth:{frequencies:[261.6255653006,278.50463402967,287.78812183066,319.76457981184,359.73515228832,380.54627680087,405.0976494977,418.60090448096,465.11211608996],description:"9/8 C.I. A gapped version of this scale is called AugTetI"},augtetj:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,380.54627680087,428.11456140098,475.68284600109],description:"9/8 C.I. comprised of 11:10:9:8 subharmonic series on 1 and 8:9:10:11 on 16/11"},augtetk:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,380.54627680087,418.60090448096,465.11211608996],description:"9/8 C.I. This is the converse form of AugTetJ"},augtetl:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,380.54627680087,428.11456140098,475.68284600109],description:"9/8 C.I. This is the harmonic form of AugTetI"},avg_bac:{frequencies:[261.6255653006,290.69507255622,307.79478270659,348.83408706747,392.4383479509,436.04260883433,461.69217405988,523.2511306012],description:"Average Bac System"},avicenna:{frequencies:[261.6255653006,290.69507255622,299.00064605783,348.83408706747,392.4383479509,436.04260883433,448.50096908674,523.2511306012],description:"Soft diatonic of Avicenna (Ibn Sina)"},avicenna_17:{frequencies:[261.6255653006,278.99913799634,283.42769574232,294.32876096318,310.07474405997,318.85615771011,331.11985608357,348.83408706747,371.99885066179,377.90359432309,392.4383479509,413.43299207996,425.14154361347,441.49314144476,465.11211608996,495.99846754905,503.87145909745,523.2511306012],description:"Tuning by Avicenna (Ibn Sina), Ahmed Mahmud Hifni, Cairo, 1977"},avicenna_19:{frequencies:[261.6255653006,275.62199471997,283.49690885483,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,358.80077526939,372.50983809402,377.99587847311,392.4383479509,413.43299207996,425.24536328225,441.49314144476,465.11211608996,478.40103369253,496.67978412536,503.45611792634,523.2511306012],description:"Arabic scale by Ibn Sina"},avicenna_chrom:{frequencies:[261.6255653006,269.10058145205,299.00064605783,348.83408706747,392.4383479509,403.65087217807,448.50096908674,523.2511306012],description:"Dorian mode a chromatic genus of Avicenna"},avicenna_chrom2:{frequencies:[261.6255653006,271.8968348557,323.34165055711,349.22823143301,391.99543598175,407.38495184466,484.46508327871,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 4 + 18 + 8 parts"},avicenna_chrom3:{frequencies:[261.6255653006,290.69507255622,339.14425131559,348.83408706747,392.4383479509,436.04260883433,508.71637697339,523.2511306012],description:"Avicenna's Chromatic permuted"},avicenna_diat:{frequencies:[261.6255653006,281.75060878526,305.22982618403,348.83408706747,392.4383479509,422.62591317789,457.84473927605,523.2511306012],description:"Dorian mode a soft diatonic genus of Avicenna"},avicenna_diff:{frequencies:[261.6255653006,269.80136421624,286.15296204753,294.32876096318,310.68035879446,343.38355445704,367.91095120397,392.4383479509,400.61414686654,441.49314144476,457.84473927605,515.07533168556,523.2511306012],description:"Difference tones of Avicenna's Soft diatonic reduced by 2/1"},avicenna_enh:{frequencies:[261.6255653006,268.33391312882,279.06726965397,348.83408706747,392.4383479509,402.50086969323,418.60090448096,523.2511306012],description:"Dorian mode of Avicenna's (Ibn Sina) Enharmonic genus"},awad:{frequencies:[261.6255653006,268.33391312882,275.39533189537,282.83844897362,290.69507255622,299.00064605783,307.79478270659,317.12189733406,327.03195662575,337.58137458142,348.83408706747,358.80077526939,369.35373924791,380.54627680087,392.4383479509,402.50086969323,413.09299784305,424.25767346043,436.04260883433,448.50096908674,461.69217405988,475.68284600109,490.54793493862,506.37206187213,523.2511306012],description:"d'Erlanger vol.5, p.37, after Mans.ur 'Awad"},awraamoff:{frequencies:[261.6255653006,294.32876096318,299.00064605783,313.95067836072,327.03195662575,343.38355445704,348.83408706747,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Awraamoff Septimal Just"},ayers:{frequencies:[261.6255653006,268.89294211451,276.57559760349,284.71017400359,293.33775503401,302.50455987882,312.26277148781,322.67153053741,333.7981350387,345.71949700436,358.52392281934,372.31330446624,387.20583664489,403.33941317176,420.87590939662,440.00663255101,460.95932933915,484.00729580611,509.48136400643,537.78588422901,569.42034800719,605.00911975764,645.34306107481,691.43899400873,744.62660893248,806.67882634352,880.01326510202,968.01459161222,1075.57176845802,1210.01823951527,1382.87798801746,1613.35765268703,1936.02918322444,2420.03647903055,3226.71530537407,4840.0729580611,9680.1459161222],description:"Lydia Ayers, algorithmic composition, subharmonics 1-37"},ayers_19:{frequencies:[261.6255653006,268.89294211451,276.57559760349,284.71017400359,293.33775503401,302.50455987882,312.26277148781,322.67153053741,333.7981350387,345.71949700436,358.52392281934,372.31330446624,387.20583664489,403.33941317176,420.87590939662,440.00663255101,460.95932933915,484.00729580611,509.48136400643,523.2511306012],description:"Scale for NINETEEN, for 19 for the 90's CD. Repeats at 37/19 (or 2/1)"},ayers_ap:{frequencies:[261.6255653006,299.00064605783,336.37572681506,388.70083987518,448.50096908674,523.2511306012],description:"Lydia Ayers' Appetizer, ICMC 96, Balinese Slendro from Singaraja,"},ayers_me:{frequencies:[261.6255653006,280.31310567921,299.00064605783,308.34441624714,336.37572681506,392.4383479509,420.46965851882,448.50096908674,504.56359022259,523.2511306012],description:"Scale for Merapi (1996), Lydia Ayers. Slendro 0 2 4 5 7 9, Pelog 0 1 3 6 8 9"},h10_27:{frequencies:[261.6255653006,281.00523680435,300.3849083081,319.76457981184,348.83408706747,368.21375857121,397.28326582684,426.35277308246,455.42228033808,484.4917875937,523.2511306012],description:"10-tET harmonic approximation, fundamental=27"},h12_24:{frequencies:[261.6255653006,272.52663052146,294.32876096318,316.13089140489,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,468.74580449691,490.54793493862,523.2511306012],description:"12-tET harmonic approximation, fundamental=24"},h14_27:{frequencies:[261.6255653006,271.31540105247,290.69507255622,300.3849083081,319.76457981184,339.14425131559,348.83408706747,368.21375857121,387.59343007496,406.97310157871,426.35277308246,455.42228033808,474.80195184183,494.18162334558,523.2511306012],description:"14-tET harmonic approximation, fundamental=27"},h15_24:{frequencies:[261.6255653006,272.52663052146,283.42769574232,305.22982618403,316.13089140489,327.03195662575,348.83408706747,359.73515228832,381.53728273004,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,501.44900015948,523.2511306012],description:"15-tET harmonic approximation, fundamental=24"},hahn9:{frequencies:[261.6255653006,286.15296204753,313.95067836072,327.03195662575,366.27579142084,392.4383479509,418.60090448096,457.84473927605,490.54793493862,523.2511306012],description:"Paul Hahn's just version of 9 out of 31 scale. TL 6-8-'98"},hahn_7:{frequencies:[261.6255653006,274.70684356563,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,488.36772189445,523.2511306012],description:"Paul Hahn's scale with 32 consonant 7-limit dyads. TL '99, see also smithgw_hahn12"},hahn_g:{frequencies:[261.6255653006,280.50183143454,294.66523452594,309.54379154736,331.87735433448,348.63486612079,373.78884718875,392.66259958718,420.99317852788,442.25042328711,464.58101193362,498.10049926644,523.2511306012],description:'fourth of sqrt(2)-1 octave "recursive" meantone, Paul Hahn'},hahnmaxr:{frequencies:[261.6255653006,275.93321340298,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,459.88868900496,490.54793493862,523.2511306012],description:"Paul Hahn's hahn_7 marvel projected to the 5-limit"},halfefg357777:{frequencies:[261.6255653006,280.31310567921,299.00064605783,320.35783506196,341.71502406609,375.57576268738,400.61414686654,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Half genus [357777]"},hamilton:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,319.76457981184,338.57426097725,359.73515228832,383.71749577421,411.12588832951,426.35277308246,442.75095666255,479.64686971777,523.2511306012],description:"Elsie Hamilton's gamut, from article The Modes of Ancient Greek Music (1953)"},hamilton_jc:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,319.76457981184,359.73515228832,338.57426097725,411.12588832951,383.71749577421,442.75095666255,426.35277308246,479.64686971777,523.2511306012],description:"Chalmers' permutation of Hamilton's gamut. Diatonic notes on white"},hamilton_jc2:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,319.76457981184,359.73515228832,383.71749577421,411.12588832951,426.35277308246,442.75095666255,460.46099492906,479.64686971777,523.2511306012],description:"EH gamut, diatonic notes on white and drops 17 for 25. JC Dorian Harmonia on C"},hammond:{frequencies:[261.6255653006,226.52945288223,240.12209418,254.35818848669,269.43528366778,285.40970760065,302.50455987882,320.49131749323,339.40613876835,359.73515228832,381.06332337261,403.65087217807,427.65717404906,453.05890576445],description:'Hammond organ pitch wheel ratios, 1/1=320 Hz. Do "del 0" to get 12-tone scale'},hammond12:{frequencies:[261.6255653006,277.32410877127,293.76579515365,311.17877832054,329.62811300357,349.37146352202,370.1449018936,391.99018843668,415.46876743159,440.10130305006,466.18833124791,493.91391932426,523.2511306012],description:"Hammond organ scale, 1/1=277.0731707 Hz, A=440, see hammond for the ratios"},handblue:{frequencies:[261.6255653006,279.06726965397,294.32876096318,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:'"Handy Blues" of Pitch Palette, 7-limit'},handel:{frequencies:[261.6255653006,276.07055536165,292.89641271707,310.57937447136,328.79480940231,349.02322090701,368.4933346061,391.37619916626,414.10583283548,438.86859125239,465.61660972366,492.3908742288,523.2511306012],description:"Well temperament according to Georg Friedrich H\xEF\xBF\xBDndel's rules (c. 1780)"},hanson_19:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,302.80736724606,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"JI version of Hanson's 19 out of 53-tET scale"},"harm-doreninv1":{frequencies:[261.6255653006,321.08592105074,327.03195662575,332.97799220076,380.54627680087,499.46698830115,511.35905945117,523.2511306012],description:"1st Inverted Schlesinger's Enharmonic Dorian Harmonia"},"harm-dorinv1":{frequencies:[261.6255653006,309.19384990071,321.08592105074,332.97799220076,380.54627680087,475.68284600109,499.46698830115,523.2511306012],description:"1st Inverted Schlesinger's Chromatic Dorian Harmonia"},"harm-lydchrinv1":{frequencies:[261.6255653006,322.00069575458,342.12573923925,362.25078272391,402.50086969323,483.00104363188,503.12608711654,523.2511306012],description:"1st Inverted Schlesinger's Chromatic Lydian Harmonia"},"harm-lydeninv1":{frequencies:[261.6255653006,342.12573923925,352.18826098158,362.25078272391,402.50086969323,503.12608711654,513.18860885887,523.2511306012],description:"1st Inverted Schlesinger's Enharmonic Lydian Harmonia"},"harm-mixochrinv1":{frequencies:[261.6255653006,336.37572681506,355.06326719367,373.75080757229,411.12588832951,485.87604984397,504.56359022259,523.2511306012],description:"1st Inverted Schlesinger's Chromatic Mixolydian Harmonia"},"harm-mixoeninv1":{frequencies:[261.6255653006,355.06326719367,364.40703738298,373.75080757229,411.12588832951,504.56359022259,513.90736041189,523.2511306012],description:"1st Inverted Schlesinger's Enharmonic Mixolydian Harmonia"},harm10:{frequencies:[261.6255653006,286.15296204753,294.32876096318,327.03195662575,331.11985608357,343.38355445704,367.91095120397,392.4383479509,400.61414686654,408.78994578219,441.49314144476,457.84473927605,515.07533168556,523.2511306012],description:"6/7/8/9/10 harmonics"},harm11s:{frequencies:[261.6255653006,65.40639132515,95.13656920022,104.65022612024,116.27802902249,130.8127826503,149.50032302891,174.41704353373,196.21917397545,209.30045224048,261.6255653006,327.03195662575,348.83408706747,392.4383479509,457.84473927605,523.2511306012,588.65752192635,654.0639132515,719.47030457665,1046.5022612024],description:"Harm. 1/4-11/4 and subh. 4/1-4/11. Joseph Pehrson 1999"},harm12s:{frequencies:[261.6255653006,294.32876096318,299.00064605783,327.03195662575,348.83408706747,359.73515228832,380.54627680087,392.4383479509,418.60090448096,457.84473927605,465.11211608996,523.2511306012],description:"Harmonics 1 to 12 and subharmonics mixed"},"harm15-30":{frequencies:[261.6255653006,279.06726965397,296.50897400735,313.95067836072,331.39238271409,348.83408706747,366.27579142084,383.71749577421,418.60090448096,436.04260883433,453.48431318771,488.36772189445,523.2511306012],description:"Harmonics 15 to 30"},harm15:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991],description:"Fifth octave of the harmonic overtone series"},"harm16-32":{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Harmonics 16-32 & Tom Stone's Guitar Scale"},harm16:{frequencies:[261.6255653006,523.2511306012,784.8766959018,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,2877.8812183066,3139.5067836072,3401.1323489078,3662.7579142084,3924.383479509,4186.0090448096,2093.0045224048,1395.33634826987,1046.5022612024,837.20180896192,697.66817413493,598.00129211566,523.2511306012,465.11211608996,418.60090448096,380.54627680087,348.83408706747,322.00069575458,299.00064605783,279.06726965397,261.6255653006],description:"First 16 harmonics and subharmonics"},"harm1c-dorian":{frequencies:[261.6255653006,309.19384990071,321.08592105074,332.97799220076,380.54627680087,475.68284600109,499.46698830115,523.2511306012],description:"Harm1C-Dorian"},"harm1c-hypod":{frequencies:[261.6255653006,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,457.84473927605,490.54793493862,523.2511306012],description:"HarmC-Hypodorian"},"harm1c-hypol":{frequencies:[261.6255653006,274.70684356563,287.78812183066,340.11323489078,366.27579142084,392.4383479509,418.60090448096,444.76346101102,523.2511306012],description:"HarmC-Hypolydian"},"harm1c-lydian":{frequencies:[261.6255653006,271.68808704293,281.75060878526,362.25078272391,382.37582620857,402.50086969323,422.62591317789,442.75095666255,523.2511306012],description:"Harm1C-Lydian"},"harm1c-mix":{frequencies:[261.6255653006,299.00064605783,373.75080757229,392.4383479509,411.12588832951,485.87604984397,504.56359022259,523.2511306012],description:"Harm1C-Con Mixolydian"},"harm1c-mixolydian":{frequencies:[261.6255653006,280.31310567921,299.00064605783,373.75080757229,411.12588832951,429.81342870813,448.50096908674,523.2511306012],description:"Harm1C-Mixolydian"},harm24:{frequencies:[261.6255653006,283.42769574232,305.22982618403,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,501.44900015948,523.2511306012],description:"Harmonics 12 to 24"},harm24_2:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Harmonics 12 to 24, mode 9"},harm3:{frequencies:[261.6255653006,327.03195662575,392.4383479509,457.84473927605],description:"Third octave of the harmonic overtone series"},"harm30-60":{frequencies:[261.6255653006,270.34641747729,279.06726965397,287.78812183066,296.50897400735,305.22982618403,313.95067836072,322.67153053741,331.39238271409,340.11323489078,348.83408706747,357.55493924415,366.27579142084,374.99664359753,383.71749577421,392.4383479509,401.15920012759,409.88005230427,418.60090448096,427.32175665765,436.04260883433,444.76346101102,453.48431318771,462.20516536439,470.92601754108,479.64686971777,488.36772189445,497.08857407114,505.80942624783,514.53027842451,523.2511306012],description:"Harmonics 30-60"},harm30:{frequencies:[261.6255653006,279.06726965397,288.69027895239,299.00064605783,310.07474405997,322.00069575458,334.88072358477,348.83408706747,364.00078650518,398.6675280771,418.60090448096,440.63253103259,465.11211608996,492.47165233054,523.2511306012,558.13453930795,598.00129211566,644.00139150917,697.66817413493,761.09255360175,837.20180896192,930.22423217991,1046.5022612024,1196.00258423131,1395.33634826987,1674.40361792384,2093.0045224048,2790.67269653973,4186.0090448096,8372.0180896192,8633.6436549198,8895.2692202204,9156.894785521,9418.5203508216,9680.1459161222,9941.7714814228,10203.3970467234,10465.022612024,10726.6481773246,10988.2737426252,11249.8993079258,11511.5248732264,11773.150438527,12034.7760038276,12296.4015691282,12558.0271344288,12819.6526997294,13081.27826503,13342.9038303306,13604.5293956312,13866.1549609318,14127.7805262324,14389.406091533,14651.0316568336,14912.6572221342,15174.2827874348,15435.9083527354,15697.533918036,15959.1594833366,16220.7850486372],description:"First 30 harmonics and subharmonics"},"harm32-64":{frequencies:[261.6255653006,269.80136421624,277.97716313189,286.15296204753,294.32876096318,302.50455987882,310.68035879446,318.85615771011,327.03195662575,335.20775554139,343.38355445704,351.55935337268,359.73515228832,367.91095120397,376.08675011961,384.26254903526,392.4383479509,400.61414686654,408.78994578219,416.96574469783,425.14154361347,433.31734252912,441.49314144476,449.66894036041,457.84473927605,466.02053819169,474.19633710734,482.37213602298,490.54793493862,498.72373385427,506.89953276991,515.07533168556,523.2511306012],description:"Harmonics 32-64"},harm37odd:{frequencies:[261.6255653006,269.80136421624,277.97716313189,286.15296204753,294.32876096318,302.50455987882,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Odd harmonics until 37"},harm4:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,425.14154361347,457.84473927605,490.54793493862],description:"Fourth octave of the harmonic overtone series"},"harm6-12":{frequencies:[261.6255653006,269.80136421624,286.15296204753,294.32876096318,314.76825825228,327.03195662575,331.11985608357,343.38355445704,359.73515228832,367.91095120397,392.4383479509,400.61414686654,404.70204632437,408.78994578219,441.49314144476,449.66894036041,457.84473927605,490.54793493862,494.63583439645,515.07533168556,523.2511306012],description:"First 12 harmonics of 6th through 12th harmonics"},harm6:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,457.84473927605,523.2511306012],description:"Harmonics 6-12"},"harm60-30":{frequencies:[261.6255653006,280.31310567921,290.69507255622,313.95067836072,327.03195662575,348.83408706747,373.75080757229,392.4383479509,413.09299784305,436.04260883433,448.50096908674,490.54793493862,523.2511306012],description:"Harmonics 60 to 30 (Perkis)"},harm7lim:{frequencies:[261.6255653006,523.2511306012,784.8766959018,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,3139.5067836072,3662.7579142084,3924.383479509,4186.0090448096,4709.2601754108,5232.511306012,5494.1368713126,5755.7624366132,6279.0135672144,6540.639132515,7325.5158284168,7848.766959018,8372.0180896192,9156.894785521,9418.5203508216,10465.022612024,10988.2737426252,11773.150438527,12558.0271344288,12819.6526997294,13081.27826503,14651.0316568336,15697.533918036,16482.4106139378,16744.0361792384,18313.789571042,18837.0407016432,19621.917397545,20930.045224048,21191.6707893486,21976.5474852504,23546.300877054,25116.0542688576,25639.3053994588,26162.55653006,27470.684356563,29302.0633136672,31395.067836072],description:"7-limit harmonics"},harm8:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Harmonics 8-16"},harm9:{frequencies:[261.6255653006,294.32876096318,305.22982618403,327.03195662575,348.83408706747,356.10146388137,392.4383479509,406.97310157871,457.84473927605,465.11211608996,523.2511306012],description:"6/7/8/9 harmonics, First 9 overtones of 5th through 9th harmonics"},harm_bastard:{frequencies:[261.6255653006,299.00064605783,322.00069575458,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012],description:`Schlesinger's "Bastard" Hypodorian Harmonia & inverse 1)7 from 1.3.5.7.9.11.13`},harm_bastinv:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,425.14154361347,457.84473927605,523.2511306012],description:`Inverse Schlesinger's "Bastard" Hypodorian Harmonia & 1)7 from 1.3.5.7.9.11.13`},harm_darreg:{frequencies:[261.6255653006,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,2877.8812183066,3139.5067836072,3401.1323489078,3662.7579142084,3924.383479509,4186.0090448096,5232.511306012,6279.0135672144,7325.5158284168,8372.0180896192,9418.5203508216,10465.022612024,11511.5248732264,12558.0271344288,13604.5293956312,14651.0316568336,15697.533918036],description:"Darreg Harmonics 4-15"},harm_mean:{frequencies:[261.6255653006,270.06509966514,279.06726965397,299.00064605783,348.83408706747,392.4383479509,405.0976494977,418.60090448096,448.50096908674,523.2511306012],description:"Harm. Mean 9-tonic 8/7 is HM of 1/1 and 4/3, etc."},"harmc-hypop":{frequencies:[261.6255653006,319.76457981184,334.29933343966,348.83408706747,363.36884069528,377.90359432309,406.97310157871,465.11211608996,494.18162334558,523.2511306012],description:"HarmC-Hypophrygian"},"harmd-15":{frequencies:[261.6255653006,279.06726965397,313.95067836072,348.83408706747,383.71749577421,418.60090448096,453.48431318771,523.2511306012],description:"HarmD-15-Harmonia"},"harmd-conmix":{frequencies:[261.6255653006,299.00064605783,336.37572681506,392.4383479509,411.12588832951,448.50096908674,485.87604984397,523.2511306012],description:"HarmD-ConMixolydian"},"harmd-hypod":{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"HarmD-Hypodorian"},"harmd-hypol":{frequencies:[261.6255653006,287.78812183066,313.95067836072,340.11323489078,366.27579142084,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"HarmD-Hypolydian"},"harmd-hypop":{frequencies:[261.6255653006,290.69507255622,319.76457981184,348.83408706747,363.36884069528,377.90359432309,406.97310157871,436.04260883433,465.11211608996,523.2511306012],description:"HarmD-Hypophrygian"},"harmd-lyd":{frequencies:[261.6255653006,281.75060878526,301.87565226992,322.00069575458,362.25078272391,382.37582620857,402.50086969323,442.75095666255,483.00104363188,523.2511306012],description:"HarmD-Lydian"},"harmd-mix":{frequencies:[261.6255653006,299.00064605783,336.37572681506,373.75080757229,411.12588832951,448.50096908674,485.87604984397,523.2511306012],description:"HarmD-Mixolydian. Harmonics 7-14"},"harmd-phr":{frequencies:[261.6255653006,272.52663052146,283.42769574232,294.32876096318,305.22982618403,348.83408706747,327.03195662575,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"HarmD-Phryg (with 5 extra tones)"},"harme-hypod":{frequencies:[261.6255653006,343.38355445704,351.55935337268,359.73515228832,376.08675011961,392.4383479509,490.54793493862,506.89953276991,523.2511306012],description:"HarmE-Hypodorian"},"harme-hypol":{frequencies:[261.6255653006,281.24748269815,274.70684356563,340.11323489078,366.27579142084,392.4383479509,405.51962621593,418.60090448096,523.2511306012],description:"HarmE-Hypolydian"},"harme-hypop":{frequencies:[261.6255653006,334.29933343966,341.56671025356,348.83408706747,363.36884069528,377.90359432309,406.97310157871,494.18162334558,508.71637697339,523.2511306012],description:"HarmE-Hypophrygian"},"harmjc-15":{frequencies:[261.6255653006,280.31310567921,301.87565226992,313.95067836072,327.03195662575,356.76213450082,373.75080757229,392.4383479509,413.09299784305,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"Rationalized JC Sub-15 Harmonia on C. MD=15, No planetary assignment."},"harmjc-17-2":{frequencies:[261.6255653006,277.97716313189,296.50897400735,317.68818643644,342.12573923925,370.63621750918,386.75083566176,404.33041910093,423.58424858192,444.76346101102,468.17206422213,494.18162334558,523.2511306012],description:"Rationalized JC Sub-17 Harmonia on C. MD=17, No planetary assignment."},"harmjc-17":{frequencies:[261.6255653006,269.55361273395,277.97716313189,296.50897400735,317.68818643644,342.12573923925,355.81076880882,370.63621750918,386.75083566176,404.33041910093,423.58424858192,444.76346101102,523.2511306012],description:"Rationalized JC Sub-17 Harmonia on C. MD=17, No planetary assignment."},"harmjc-19-2":{frequencies:[261.6255653006,276.16031892841,292.40504357126,310.68035879446,331.39238271409,355.06326719367,368.21375857121,382.37582620857,397.67085925691,414.24047839262,432.2509339749,451.89870370104,523.2511306012],description:"Rationalized JC Sub-19 Harmonia on C. MD=19, No planetary assignment."},"harmjc-19":{frequencies:[261.6255653006,276.16031892841,292.40504357126,310.68035879446,331.39238271409,355.06326719367,382.37582620857,414.24047839262,432.2509339749,451.89870370104,473.41768959156,497.08857407114,523.2511306012],description:"Rationalized JC Sub-19 Harmonia on C. MD=19, No planetary assignment."},"harmjc-21":{frequencies:[261.6255653006,268.0066766494,274.70684356563,289.16509849014,305.22982618403,343.38355445704,366.27579142084,392.4383479509,406.97310157871,422.62591317789,439.53094970501,457.84473927605,523.2511306012],description:"Rationalized JC Sub-21 Harmonia on C. MD=21, No planetary assignment."},"harmjc-23-2":{frequencies:[261.6255653006,273.51763645063,286.54228580542,300.86940009569,316.70463167967,334.29933343966,353.96400011258,376.08675011961,401.15920012759,429.81342870813,462.87600014722,501.44900015948,523.2511306012],description:"Rationalized JC Sub-23 Harmonia on C. MD=23, No planetary assignment."},"harmjc-23":{frequencies:[261.6255653006,273.51763645063,300.86940009569,316.70463167967,334.29933343966,376.08675011961,401.15920012759,429.81342870813,445.73244458621,462.87600014722,481.3910401531,501.44900015948,523.2511306012],description:"Rationalized JC Sub-23 Harmonia on C. MD=23, No planetary assignment."},"harmjc-25":{frequencies:[261.6255653006,272.52663052146,297.30177875068,311.45900631024,327.03195662575,363.36884069528,384.74347838324,408.78994578219,436.04260883433,467.18850946536,484.4917875937,503.12608711654,523.2511306012],description:"Rationalized JC Sub-25 Harmonia on C. MD=25, No planetary assignment."},"harmjc-27":{frequencies:[261.6255653006,271.68808704293,294.32876096318,307.12566361375,321.08592105074,353.19451315581,371.78369805875,392.4383479509,415.52295665389,441.49314144476,470.92601754108,504.56359022259,523.2511306012],description:"Rationalized JC Sub-27 Harmonia on C. MD=27, No planetary assignment."},"harmjc-hypod16":{frequencies:[261.6255653006,279.06726965397,299.00064605783,310.07474405997,322.00069575458,348.83408706747,364.00078650518,380.54627680087,398.6675280771,418.60090448096,440.63253103259,465.11211608996,523.2511306012],description:"Rationalized JC Hypodorian Harmonia on C. Saturn Scale on C, MD=16. (Steiner)"},"harmjc-hypol20":{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,327.03195662575,348.83408706747,373.75080757229,402.50086969323,418.60090448096,436.04260883433,455.00098313148,575.57624366132,523.2511306012],description:"Rationalized JC Hypolydian Harmonia on C. Mars scale on C., MD=20"},"harmjc-hypop18":{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,336.37572681506,362.25078272391,376.74081403286,392.4383479509,409.50088481833,428.11456140098,448.50096908674,470.92601754108,523.2511306012],description:"Rationalized JC Hypophrygian Harmonia on C. Jupiter scale on C, MD =18"},"harmjc-lydian13":{frequencies:[261.6255653006,272.09058791262,283.42769574232,295.75063903546,309.19384990071,340.11323489078,358.01393146398,377.90359432309,400.13321751856,425.14154361347,453.48431318771,485.87604984397,523.2511306012],description:"Rationalized JC Lydian Harmonia on C. Mercury scale on C, MD = 26 or 13"},"harmjc-mix14":{frequencies:[261.6255653006,271.31540105247,281.75060878526,293.02063313667,305.22982618403,332.97799220076,348.83408706747,366.27579142084,385.55346465352,406.97310157871,430.91269578922,457.84473927605,523.2511306012],description:"Rationalized JC Mixolydian Harmonia on C. Moon Scale on C, MD = 14"},"harmjc-phryg12":{frequencies:[261.6255653006,273.00058987889,285.40970760065,299.00064605783,313.95067836072,348.83408706747,369.35373924791,392.4383479509,418.60090448096,448.50096908674,465.11211608996,483.00104363188,523.2511306012],description:"Rationalized JC Phrygian Harmonia on C. Venus scale on C, MD = 24 or 12"},harmonical:{frequencies:[261.6255653006,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"See pp 17 and 466-468 Helmholtz. lower 4 oct. Instr. designed & tuned by Ellis"},harmonical_up:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,359.73515228832,457.84473927605,392.4383479509,408.78994578219,425.14154361347,474.19633710734,490.54793493862,523.2511306012],description:"Upper 2 octaves of Ellis's Harmonical"},harmsub16:{frequencies:[261.6255653006,280.31310567921,294.32876096318,301.87565226992,327.03195662575,356.76213450082,359.73515228832,392.4383479509,425.14154361347,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"16 harmonics on 1/1 and 16 subharmonics on 15/8"},harrison_16:{frequencies:[261.6255653006,279.06726965397,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,370.63621750918,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:'Lou Harrison 16-tone superparticular "Ptolemy Duple"'},harrison_5:{frequencies:[261.6255653006,279.06726965397,313.95067836072,392.4383479509,418.60090448096,523.2511306012],description:"From Lou Harrison, a pelog style pentatonic"},harrison_5_1:{frequencies:[261.6255653006,285.40970760065,313.95067836072,392.4383479509,418.60090448096,523.2511306012],description:"From Lou Harrison, a pelog style pentatonic"},harrison_5_3:{frequencies:[261.6255653006,271.31540105247,348.83408706747,392.4383479509,406.97310157871,523.2511306012],description:"From Lou Harrison, a pelog style pentatonic"},harrison_5_4:{frequencies:[261.6255653006,279.06726965397,313.95067836072,392.4383479509,490.54793493862,523.2511306012],description:"From Lou Harrison, a pelog style pentatonic"},harrison_8:{frequencies:[261.6255653006,279.06726965397,313.95067836072,327.03195662575,367.91095120397,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:'Lou Harrison 8-tone tuning for "Serenade for Guitar"'},harrison_cinna:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,343.38355445704,367.91095120397,392.4383479509,418.60090448096,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:`Lou Harrison, "Incidental Music for Corneille's Cinna" (1955-56) 1/1=C`},harrison_diat:{frequencies:[261.6255653006,274.70684356563,313.95067836072,348.83408706747,392.4383479509,412.06026534844,470.92601754108,523.2511306012],description:"From Lou Harrison, a soft diatonic"},harrison_joy:{frequencies:[261.6255653006,294.32876096318,327.03195662575,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Lou Harrison's Joyous 6"},harrison_mid:{frequencies:[261.6255653006,294.32876096318,313.95067836072,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Lou Harrison mid mode"},harrison_mid2:{frequencies:[261.6255653006,294.32876096318,313.95067836072,348.83408706747,392.4383479509,448.50096908674,470.92601754108,523.2511306012],description:"Lou Harrison mid mode 2"},harrison_min:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"From Lou Harrison, a symmetrical pentatonic with minor thirds"},harrison_mix1:{frequencies:[261.6255653006,285.40970760065,313.95067836072,392.4383479509,425.14154361347,523.2511306012],description:'A "mixed type" pentatonic, Lou Harrison'},harrison_mix2:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,490.54793493862,523.2511306012],description:'A "mixed type" pentatonic, Lou Harrison'},harrison_mix3:{frequencies:[261.6255653006,313.95067836072,336.37572681506,392.4383479509,418.60090448096,523.2511306012],description:'A "mixed type" pentatonic, Lou Harrison'},harrison_mix4:{frequencies:[261.6255653006,280.31310567921,327.03195662575,392.4383479509,448.50096908674,523.2511306012],description:'A "mixed type" pentatonic, Lou Harrison'},harrison_songs:{frequencies:[261.6255653006,271.31540105247,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,406.97310157871,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:'Shared gamut of "Four Strict Songs" (1951-55), each pentatonic'},harrisonj:{frequencies:[261.6255653006,272.17712546173,292.13970819848,313.56642833783,326.21280531667,350.13858362887,364.25994396351,390.97625694066,406.744629928,436.57694340361,468.59728067062,487.49616921257,523.2511306012],description:"John Harrison's temperament (1775), almost 3/10-comma. Third = 1200/pi"},harrisonm_rev:{frequencies:[261.6255653006,257.53766584278,294.32876096318,289.72987407313,331.11985608357,343.38355445704,372.50983809402,392.4383479509,386.30649876417,441.49314144476,457.84473927605,496.67978412536,523.2511306012],description:'Michael Harrison, piano tuning for "Revelation" (2001), 1/1=F'},haverstick13:{frequencies:[261.6255653006,283.85429714132,301.75671459889,307.97166902637,320.78822215662,341.02002673508,362.52783176564,377.61479489998,401.43059675514,426.7484383229,444.50800708553,482.27514684959,502.34551296122,523.2511306012],description:"Neil Haverstick, scale in 34-tET, MMM 21-5-2006"},hawkes:{frequencies:[261.6255653006,274.56549986328,292.86986732103,310.24975557428,327.84547867349,349.70184487387,366.99801003998,391.46454285105,411.84824958905,438.2147004401,467.42901507992,490.54793493862,523.2511306012],description:"William Hawkes' modified 1/5-comma meantone (1807)"},hawkes2:{frequencies:[261.6255653006,275.15193010334,293.04845178801,312.10900487995,328.24542585003,349.59527202198,367.66978141816,391.58387939843,411.8292495232,438.61558204759,467.14415995873,491.2960898965,523.2511306012],description:"Meantone with fifth tempered 1/6 of 53-tET step by William Hawkes (1808)"},hawkes3:{frequencies:[261.6255653006,274.56549986328,292.86986732103,311.6193417424,327.84547867349,349.70184487387,366.99801003998,391.46454285105,411.84824958905,438.2147004401,467.42901237995,490.54793493862,523.2511306012],description:"William Hawkes' modified 1/5-comma meantone (1811)"},hbarnes:{frequencies:[261.6255653006,276.71351472429,293.33333347996,310.95136287868,328.88393162803,349.42547049952,369.15973155124,391.77416758435,414.83597850347,439.25532436715,466.16376151809,493.04743111995,523.2511306012],description:"Variation on Barnes with 1/6P -> 1/8P. OdC '99"},hebdome1:{frequencies:[261.6255653006,265.71346475842,267.23182741418,269.80136421624,273.30527803723,280.31310567921,283.42769574232,287.78812183066,289.07289023169,292.28481123426,294.32876096318,300.63580584096,303.67253115248,308.34441624714,311.77046531655,315.35224388912,318.85615771011,323.76163705949,327.03195662575,334.03978426773,336.37572681506,340.11323489078,341.63159754654,346.88746827803,350.74177348112,359.73515228832,364.40703738298,367.91095120397,370.01329949656,375.7947573012,382.62738925213,385.43052030892,389.71308164569,392.4383479509,400.84774112128,404.70204632437,409.95791705585,411.12588832951,417.54973033466,420.46965851882,425.14154361347,431.68218274599,437.28844485957,441.49314144476,445.38637902364,449.66894036041,455.50879672872,462.5166243707,467.65569797482,470.92601754108,478.28423656516,479.64686971777,485.87604984397,490.54793493862,501.0596764016,504.56359022259,510.16985233617,513.90736041189,523.2511306012],description:"Wilson 1.3.5.7.9.11.13.15 hebdomekontany, 1.3.5.7 tonic"},helmholtz:{frequencies:[261.6255653006,279.06726965397,327.03195662575,348.83408706747,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Helmholtz's Chromatic scale and Gipsy major from Slovakia"},helmholtz_24:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,306.59245933664,310.07474405997,327.03195662575,331.11985608357,344.91651675372,348.83408706747,367.91095120397,372.50983809402,388.03108134794,392.4383479509,408.78994578219,413.89982010446,436.04260883433,441.49314144476,459.88868900496,465.63729761752,490.54793493862,496.67978412536,517.37477513058,523.2511306012],description:"Simplified Helmholtz 24"},helmholtz_hd:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,523.2511306012],description:"Helmholtz Harmonic Decad"},helmholtz_pure:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,306.59245933664,310.07474405997,327.03195662575,330.74639366397,344.91651675372,348.83408706747,367.91095120397,372.08969287196,387.59343007496,392.4383479509,408.78994578219,413.43299207996,436.04260883433,441.49314144476,459.88868900496,465.11211608996,490.54793493862,496.11959049595,516.79124009995,523.2511306012],description:"Helmholtz's two-keyboard harmonium tuning untempered"},helmholtz_temp:{frequencies:[261.6255653006,275.81645389904,279.10671937395,290.77707354032,294.24580701304,306.54917537161,310.20605716322,327.03195662575,330.9330448436,344.77062435684,348.88325535732,367.80710710303,372.19474608839,387.75741156435,392.38304142029,408.78994578219,413.66637442451,436.10414127513,441.30625330017,459.75895986689,465.24324076996,490.4788828408,496.3296094287,517.08305349316,523.2511306012],description:"Helmholtz's two-keyboard harmonium tuning"},hem_chrom:{frequencies:[261.6255653006,269.55361273395,285.40970760065,348.83408706747,392.4383479509,404.33041910093,428.11456140098,523.2511306012],description:"Hemiolic Chromatic genus has the strong or 1:2 division of the 12/11 pyknon"},hem_chrom11:{frequencies:[261.6255653006,273.00058987889,285.40970760065,348.83408706747,392.4383479509,409.50088481833,428.11456140098,523.2511306012],description:"11'al Hemiolic Chromatic genus with a CI of 11/9, Winnington-Ingram"},hem_chrom13:{frequencies:[261.6255653006,272.09058791262,283.42769574232,348.83408706747,392.4383479509,408.13588186894,425.14154361347,523.2511306012],description:"13'al Hemiolic Chromatic or neutral-third genus has a CI of 16/13"},hem_chrom2:{frequencies:[261.6255653006,269.29177952703,285.30470202322,349.22823143301,391.99543598175,403.48177901006,427.47405410759,523.2511306012],description:"1:2 Hemiolic Chromatic genus 3 + 6 + 21 parts"},hemiwuer24:{frequencies:[261.6255653006,274.60778382002,280.48822448524,286.49458884928,292.62957327549,307.15025309186,313.72755695954,320.44570714783,327.30771955335,350.90592546776,358.42021185082,366.09540888186,373.9349620795,392.49012653442,400.89489544613,409.47964376542,418.24822532303,439.00227453173,448.4030528436,458.00513880662,467.8128437444,491.02635713596,501.54117720983,512.28116095218,523.2511306012],description:"Hemiw\xEF\xBF\xBDrschmidt[24] in 229-tET tuning."},hen12:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Adjusted Hahn12"},hen22:{frequencies:[261.6255653006,272.52663052146,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,366.27579142084,381.53728273004,392.4383479509,415.27867508032,418.60090448096,436.04260883433,448.50096908674,457.84473927605,484.4917875937,490.54793493862,508.71637697339,523.2511306012],description:"Adjusted Hahn22"},hept_diamond:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,294.32876096318,305.22982618403,313.95067836072,316.53463456122,325.57848126297,327.03195662575,334.88072358477,336.37572681506,348.83408706747,392.4383479509,406.97310157871,408.78994578219,418.60090448096,420.46965851882,432.48307733364,436.04260883433,448.50096908674,465.11211608996,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"Inverted-Prime Heptatonic Diamond based on Archytas's Enharmonic"},hept_diamondi:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,281.36411960997,289.40309445597,294.32876096318,297.67175429757,327.03195662575,336.37572681506,348.83408706747,361.75386806997,367.91095120397,372.08969287196,378.42269266694,392.4383479509,406.97310157871,418.60090448096,459.88868900496,465.11211608996,473.02836583367,486.54346200035,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"Prime-Inverted Heptatonic Diamond based on Archytas's Enharmonic"},hept_diamondp:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,339.14425131559,348.83408706747,358.80077526939,361.75386806997,367.91095120397,372.08969287196,378.42269266694,381.53728273004,392.4383479509,403.65087217807,406.97310157871,418.60090448096,436.04260883433,448.50096908674,465.11211608996,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"Heptatonic Diamond based on Archytas's Enharmonic, 27 tones"},herf:{frequencies:[261.6255653006,269.80136421624,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,425.14154361347,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Sims:Reflections on This and That, 1991. Used by Herf in Ekmelischer Gesang"},heun:{frequencies:[261.6255653006,275.15237829755,293.0485888979,312.10878854255,328.24573110938,349.59519124833,367.67029324081,391.58396987353,411.83001550364,438.61588607285,467.14394139401,491.29666030217,523.2511306012],description:"Well temperament for organ of Jan Heun (1805), subset of 55-tET"},hexagonal13:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Star hexagonal 13-tone scale"},hexagonal37:{frequencies:[261.6255653006,272.52663052146,279.06726965397,282.55561052465,283.88190679319,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,313.95067836072,322.99452506247,327.03195662575,334.88072358477,340.65828815182,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,376.74081403286,387.59343007496,392.4383479509,401.85686830172,408.78994578219,418.60090448096,423.83341578697,436.04260883433,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,482.22824196207,484.4917875937,490.54793493862,502.32108537715,523.2511306012],description:"Star hexagonal 37-tone scale"},hexany1:{frequencies:[261.6255653006,305.22982618403,327.03195662575,381.53728273004,436.04260883433,457.84473927605,523.2511306012],description:"Two out of 1 3 5 7 hexany on 1.3"},hexany10:{frequencies:[261.6255653006,294.32876096318,327.03195662575,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"1.3.5.9 Hexany"},hexany11:{frequencies:[261.6255653006,294.32876096318,305.22982618403,343.38355445704,392.4383479509,457.84473927605,523.2511306012],description:"1.3.7.9 Hexany on 1.3"},hexany12:{frequencies:[261.6255653006,290.69507255622,305.22982618403,339.14425131559,406.97310157871,436.04260883433,523.2511306012],description:"3.5.7.9 Hexany on 3.9"},hexany13:{frequencies:[261.6255653006,285.40970760065,327.03195662575,356.76213450082,392.4383479509,475.68284600109,523.2511306012],description:"1.3.5.11 Hexany on 1.11"},hexany14:{frequencies:[261.6255653006,287.78812183066,340.11323489078,383.71749577421,453.48431318771,498.83274450648,523.2511306012],description:"5.11.13.15 Hexany (5.15), used in The Giving, by Stephen J. Taylor"},hexany15:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,418.60090448096,523.2511306012],description:"1.3.5.15 2)4 hexany (1.15 tonic) degenerate, symmetrical pentatonic"},hexany16:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,465.11211608996,523.2511306012],description:"1.3.9.27 Hexany, a degenerate pentatonic form"},hexany17:{frequencies:[261.6255653006,327.03195662575,334.88072358477,408.78994578219,418.60090448096,523.2511306012],description:"1.5.25.125 Hexany, a degenerate pentatonic form"},hexany18:{frequencies:[261.6255653006,299.00064605783,341.71502406609,400.61414686654,457.84473927605,523.2511306012],description:"1.7.49.343 Hexany, a degenerate pentatonic form"},hexany19:{frequencies:[261.6255653006,299.00064605783,327.03195662575,418.60090448096,457.84473927605,523.2511306012],description:"1.5.7.35 Hexany, a degenerate pentatonic form"},hexany2:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,490.54793493862,523.2511306012],description:"Hexany Cluster 2"},hexany20:{frequencies:[261.6255653006,279.06726965397,305.22982618403,398.6675280771,436.04260883433,465.11211608996,523.2511306012],description:"3.5.7.105 Hexany"},hexany21:{frequencies:[261.6255653006,279.06726965397,310.07474405997,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:"3.5.9.135 Hexany"},hexany21a:{frequencies:[261.6255653006,279.06726965397,310.07474405997,348.83408706747,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:"3.5.9.135 Hexany + 4/3. Is Didymos Diatonic tetrachord on 1/1 and inv. on 3/2"},hexany22:{frequencies:[261.6255653006,276.76092858245,359.73515228832,380.54627680087,494.63583439645,523.2511306012],description:"1.11.121.1331 Hexany, a degenerate pentatonic form"},hexany23:{frequencies:[261.6255653006,348.83408706747,359.73515228832,380.54627680087,392.4383479509,523.2511306012],description:"1.3.11.33 Hexany, degenerate pentatonic form"},hexany24:{frequencies:[261.6255653006,327.03195662575,359.73515228832,380.54627680087,418.60090448096,523.2511306012],description:"1.5.11.55 Hexany, a degenerate pentatonic form"},hexany25:{frequencies:[261.6255653006,299.00064605783,359.73515228832,380.54627680087,457.84473927605,523.2511306012],description:"1.7.11.77 Hexany, a degenerate pentatonic form"},hexany26:{frequencies:[261.6255653006,294.32876096318,359.73515228832,380.54627680087,465.11211608996,523.2511306012],description:"1.9.11.99 Hexany, a degenerate pentatonic form"},hexany3:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Hexany Cluster 3"},hexany4:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Hexany Cluster 4"},hexany49:{frequencies:[261.6255653006,299.00064605783,305.22982618403,392.4383479509,400.61414686654,457.84473927605,523.2511306012],description:"1.3.21.49 2)4 hexany (1.21 tonic)"},hexany5:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Hexany Cluster 5"},hexany6:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Hexany Cluster 6"},hexany7:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Hexany Cluster 7"},hexany8:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,340.65828815182,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,502.32108537715,523.2511306012],description:"Hexany Cluster 8"},hexany9:{frequencies:[261.6255653006,299.00064605783,313.95067836072,358.80077526939,418.60090448096,448.50096908674,523.2511306012],description:"1.3.5.7 Hexany on 5.7"},hexany_cl:{frequencies:[261.6255653006,294.32876096318,301.39265122629,313.95067836072,327.03195662575,348.83408706747,353.19451315581,376.74081403286,392.4383479509,418.60090448096,470.92601754108,502.32108537715,523.2511306012],description:"Hexany Cluster 1"},hexany_cl2:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,490.54793493862,502.32108537715,523.2511306012],description:"Composed of 1.3.5.45, 1.3.5.75, 1.3.5.9, and 1.3.5.25 hexanies"},hexany_flank:{frequencies:[261.6255653006,267.07609791103,299.00064605783,305.22982618403,327.03195662575,348.83408706747,373.75080757229,381.53728273004,427.14378008261,436.04260883433,457.84473927605,498.33441009638,523.2511306012],description:"Hexany Flanker, 7-limit, from Wilson"},hexany_tetr:{frequencies:[261.6255653006,269.10058145205,279.06726965397,336.37572681506,348.83408706747,358.80077526939,523.2511306012],description:"Complex 12 of p. 115, a hexany based on Archytas's Enharmonic"},hexany_trans:{frequencies:[261.6255653006,271.31540105247,279.06726965397,339.14425131559,348.83408706747,361.75386806997,523.2511306012],description:"Complex 1 of p. 115, a hexany based on Archytas's Enharmonic"},hexany_trans2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,358.80077526939,372.08969287196,523.2511306012],description:"Complex 2 of p. 115, a hexany based on Archytas's Enharmonic"},hexany_trans3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,336.37572681506,348.83408706747,523.2511306012],description:"Complex 9 of p. 115, a hexany based on Archytas's Enharmonic"},hexany_u2:{frequencies:[261.6255653006,274.70684356563,279.06726965397,280.31310567921,286.15296204753,299.00064605783,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,418.60090448096,436.04260883433,448.50096908674,457.84473927605,478.40103369253,488.36772189445,490.54793493862,498.33441009638,523.2511306012],description:"Hexany union = genus [335577] minus two corners"},hexany_union:{frequencies:[261.6255653006,274.70684356563,280.31310567921,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,488.36772189445,498.33441009638,523.2511306012],description:"The union of all of the pitches of the 1.3.5.7 hexany on each tone as 1/1"},hexany_urot:{frequencies:[261.6255653006,267.07609791103,280.31310567921,286.15296204753,290.69507255622,299.00064605783,305.22982618403,327.03195662575,333.84512238879,343.38355445704,348.83408706747,356.10146388137,373.75080757229,381.53728273004,392.4383479509,400.61414686654,406.97310157871,436.04260883433,445.12682985172,448.50096908674,457.84473927605,490.54793493862,498.33441009638,508.71637697339,523.2511306012],description:"Aggregate rotations of 1.3.5.7 hexany, 1.3 = 1/1"},hexanys:{frequencies:[261.6255653006,286.15296204753,294.32876096318,327.03195662575,343.38355445704,367.91095120397,392.4383479509,429.2294430713,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"Hexanys 1 3 5 7 9"},hexanys2:{frequencies:[261.6255653006,314.76825825228,425.14154361347,457.84473927605,269.80136421624,371.99885066179,392.4383479509,472.15238737843,318.85615771011,359.73515228832,343.38355445704,292.28481123426,523.2511306012],description:"Hexanys 1 3 7 11 13"},higgs:{frequencies:[261.6255653006,392.4383479509,418.60090448096,422.62591317789,423.58424858192,425.14154361347,436.04260883433,523.2511306012],description:"From Greg Higgs announcement of the formation of an Internet Tuning list"},hinsz_gr:{frequencies:[261.6255653006,274.68983337859,292.34127285051,310.07474405997,326.6631048533,348.83408706747,366.25311135453,391.11111150212,412.03474986192,437.02884834934,465.11211608996,489.99465727995,523.2511306012],description:"Reconstructed Hinsz temperament, organ Pelstergasthuiskerk Groningen. Ortgies,2002"},hipkins:{frequencies:[261.6255653006,275.62199471997,299.00064605783,348.83408706747,392.4383479509,413.43299207996,448.50096908674,523.2511306012],description:"Hipkins' Chromatic"},hirajoshi:{frequencies:[261.6255653006,291.13134764929,317.84796618517,388.16504068057,412.91271853531,523.2511306012],description:"Observed Japanese pentatonic koto scale. Helmholtz/Ellis p.519, nr.112"},hirajoshi2:{frequencies:[261.6255653006,294.32876096318,313.95067836072,392.4383479509,418.60090448096,523.2511306012],description:"Japanese pentatonic koto scale, theoretical. Helmholz/Ellis p.519, nr.110"},hirajoshi3:{frequencies:[261.6255653006,292.47977325983,321.54118165335,396.32121331049,415.54465627623,522.94897617031],description:"Observed Japanese pentatonic koto scale. Helmholtz/Ellis p.519, nr.111"},hirashima:{frequencies:[261.6255653006,277.33928225406,292.50627485027,312.00669222389,327.03195662575,349.91912034749,369.78570985692,391.22147055517,416.00892317314,437.39889945791,468.01003810189,489.02683710225,523.2511306012],description:"Tatsushi Hirashima, temperament of chapel organ of Kobe Shoin Women's Univ."},hjelmboogie:{frequencies:[261.6255653006,294.32876096318,327.03195662575,343.38355445704,367.91095120397,392.4383479509,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:`Paul Hjelmstad's "Boogie Woogie" scale, TL 20-3-2006`},ho_mai_nhi:{frequencies:[261.6255653006,287.78812183066,348.83408706747,392.4383479509,431.68218274599,523.2511306012],description:"Ho Mai Nhi (Nam Hue) dan tranh scale, Vietnam"},hochgartz:{frequencies:[261.6255653006,274.56549986328,292.86986732103,309.86458629683,327.84547867349,349.70184487387,366.99801003998,391.46454285105,412.49999887294,438.2147004401,465.53241962975,490.54793493862,523.2511306012],description:"Michael Hochgartz, modified 1/5-comma meantone temperament"},hofmann1:{frequencies:[261.6255653006,262.65154790962,279.06726965397,348.83408706747,392.4383479509,393.97732186443,418.60090448096,523.2511306012],description:"Hofmann's Enharmonic #1, Dorian mode"},hofmann2:{frequencies:[261.6255653006,263.56353245097,279.06726965397,348.83408706747,392.4383479509,395.34529867646,418.60090448096,523.2511306012],description:"Hofmann's Enharmonic #2, Dorian mode"},hofmann_chrom:{frequencies:[261.6255653006,264.26824777838,290.69507255622,348.83408706747,392.4383479509,396.40237166758,436.04260883433,523.2511306012],description:"Hofmann's Chromatic"},holder:{frequencies:[261.6255653006,274.23214485994,292.57879058083,312.45989404005,327.40114268825,349.76744711215,366.57630213591,391.03837375367,409.94826565972,437.46806069696,467.28984664562,489.70152554512,523.2511306012],description:"William Holder's equal beating meantone temperament (1694). 3/2 beats 2.8 Hz"},holder2:{frequencies:[261.6255653006,274.23214485994,292.57879058083,312.45989404005,327.40114268825,349.76744711215,366.57630213591,391.03837375367,410.64811919433,437.46806069696,467.46154552107,489.70152554512,523.2511306012],description:"Holder's irregular e.b. temperament with improved Eb and G#"},hummel:{frequencies:[261.6255653006,277.1703574486,293.54676487235,311.03465677994,329.45811370906,349.13199096171,369.8583804246,391.99149393462,415.308682162,439.8732919971,466.10512967869,493.74031485884,523.2511306012],description:"Johann Nepomuk Hummel's quasi-equal temperament (1829)"},hummel2:{frequencies:[261.6255653006,277.22760066578,293.66431501254,311.21660561883,329.70790803338,349.18845812715,369.99117208793,391.90679138833,415.30984563838,439.96491544382,466.29335337935,494.03030700757,523.2511306012],description:"Johann Nepomuk Hummel's temperament according to the second bearing plan"},husmann:{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,314.30517589183,331.11985608357,348.83408706747],description:"Tetrachord division according to Husmann"},hwerck3:{frequencies:[261.6255653006,276.40121172404,293.00227310437,310.60041853231,328.69828757761,349.03110370139,368.74309237173,391.5530240856,414.36778843034,438.51190905657,465.63764214343,492.7691222293,523.2511306012],description:"Variation on Werckmeister III with 1/4P -> 1/6P and 0P -> 1/24P. OdC '99"},hyper_enh:{frequencies:[261.6255653006,264.93728131706,268.33391312882,348.83408706747,392.4383479509,397.40592197559,402.50086969323,523.2511306012],description:"13/10 HyperEnharmonic. This genus is at the limit of usable tunings"},hyper_enh2:{frequencies:[261.6255653006,267.19206668997,273.00058987889,348.83408706747,392.4383479509,400.78810003496,409.50088481833,523.2511306012],description:"Hyperenharmonic genus from Kathleen Schlesinger's enharmonic Phrygian Harmonia"},hypo_chrom:{frequencies:[261.6255653006,275.39533189537,282.83844897362,290.69507255622,348.83408706747,373.75080757229,387.59343007496,402.50086969323,418.60090448096,427.14378008261,436.04260883433,455.00098313148,523.2511306012],description:"Hypolydian Chromatic Tonos"},hypo_diat:{frequencies:[261.6255653006,290.69507255622,307.79478270659,327.03195662575,348.83408706747,373.75080757229,387.59343007496,402.50086969323,436.04260883433,455.00098313148,475.68284600109,498.33441009638,523.2511306012],description:"Hypolydian Diatonic Tonos"},hypo_enh:{frequencies:[261.6255653006,268.33391312882,271.81876914348,275.39533189537,348.83408706747,373.75080757229,387.59343007496,402.50086969323,410.39304360878,414.45634107026,418.60090448096,465.11211608996,523.2511306012],description:"Hypolydian Enharmonic Tonos"},hypod_chrom:{frequencies:[261.6255653006,279.06726965397,288.69027895239,299.00064605783,322.00069575458,348.83408706747,364.00078650518,380.54627680087,398.6675280771,408.39112632289,418.60090448096,465.11211608996,523.2511306012],description:"Hypodorian Chromatic Tonos"},hypod_chrom2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,348.83408706747,380.54627680087,398.6675280771,418.60090448096,523.2511306012],description:"Schlesinger's Chromatic Hypodorian Harmonia"},hypod_chrom2inv:{frequencies:[261.6255653006,327.03195662575,343.38355445704,359.73515228832,392.4383479509,457.84473927605,490.54793493862,523.2511306012],description:"Inverted Schlesinger's Chromatic Hypodorian Harmonia"},hypod_chromenh:{frequencies:[261.6255653006,270.06509966514,279.06726965397,348.83408706747,380.54627680087,398.6675280771,418.60090448096,523.2511306012],description:"Schlesinger's Hypodorian Harmonia in a mixed chromatic-enharmonic genus"},hypod_chrominv:{frequencies:[261.6255653006,277.97716313189,294.32876096318,359.73515228832,392.4383479509,408.78994578219,425.14154361347,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Hypodorian Inverted"},hypod_diat:{frequencies:[261.6255653006,279.06726965397,299.00064605783,322.00069575458,334.88072358477,348.83408706747,364.00078650518,380.54627680087,418.60090448096,440.63253103259,465.11211608996,492.47165233054,523.2511306012],description:"Hypodorian Diatonic Tonos"},hypod_diat2:{frequencies:[261.6255653006,279.06726965397,322.00069575458,348.83408706747,364.00078650518,380.54627680087,418.60090448096,465.11211608996,523.2511306012],description:"Schlesinger's Hypodorian Harmonia, a subharmonic series through 13 from 16"},hypod_diatcon:{frequencies:[261.6255653006,279.06726965397,322.00069575458,348.83408706747,364.00078650518,418.60090448096,465.11211608996,523.2511306012],description:"A Hypodorian Diatonic with its own trite synemmenon replacing paramese"},hypod_diatinv:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Inverted Schlesinger's Hypodorian Harmonia, a harmonic series from 8 from 16"},hypod_enh:{frequencies:[261.6255653006,270.06509966514,274.49239638096,279.06726965397,310.07474405997,348.83408706747,364.00078650518,380.54627680087,389.39619021485,393.97732186443,398.6675280771,452.54151835779,523.2511306012],description:"Hypodorian Enharmonic Tonos"},hypod_enhinv:{frequencies:[261.6255653006,343.38355445704,351.55935337268,359.73515228832,392.4383479509,490.54793493862,506.89953276991,523.2511306012],description:"Inverted Schlesinger's Enharmonic Hypodorian Harmonia"},hypod_enhinv2:{frequencies:[261.6255653006,269.80136421624,277.97716313189,359.73515228832,392.4383479509,400.61414686654,408.78994578219,523.2511306012],description:"A harmonic form of Schlesinger's Hypodorian enharmonic inverted"},hypodorian_pis:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,392.4383479509,418.60090448096,483.00104363188,523.2511306012,546.00117975777,570.81941520131,627.90135672144,697.66817413493,784.8766959018,897.00193817349,966.00208726375,1046.5022612024],description:"Diatonic Perfect Immutable System in the Hypodorian Tonos"},hypol_chrom:{frequencies:[261.6255653006,275.39533189537,290.69507255622,348.83408706747,373.75080757229,402.50086969323,418.60090448096,436.04260883433,523.2511306012],description:"Schlesinger's Hypolydian Harmonia in the chromatic genus"},hypol_chrominv:{frequencies:[261.6255653006,313.95067836072,327.03195662575,340.11323489078,366.27579142084,392.4383479509,470.92601754108,497.08857407114,523.2511306012],description:"Inverted Schlesinger's Chromatic Hypolydian Harmonia"},hypol_chrominv2:{frequencies:[261.6255653006,274.70684356563,287.78812183066,340.11323489078,366.27579142084,392.4383479509,418.60090448096,523.2511306012],description:"harmonic form of Schlesinger's Chromatic Hypolydian inverted"},hypol_chrominv3:{frequencies:[261.6255653006,274.70684356563,287.78812183066,340.11323489078,392.4383479509,418.60090448096,444.76346101102,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Hypolydian inverted"},hypol_diat:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,373.75080757229,402.50086969323,436.04260883433,475.68284600109,523.2511306012],description:"Schlesinger's Hypolydian Harmonia, a subharmonic series through 13 from 20"},hypol_diatcon:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,402.50086969323,436.04260883433,475.68284600109,523.2511306012],description:"A Hypolydian Diatonic with its own trite synemmenon replacing paramese"},hypol_diatinv:{frequencies:[261.6255653006,287.78812183066,313.95067836072,340.11323489078,366.27579142084,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Inverted Schlesinger's Hypolydian Harmonia, a harmonic series from 10 from 20"},hypol_enh:{frequencies:[261.6255653006,268.33391312882,275.39533189537,348.83408706747,373.75080757229,402.50086969323,418.60090448096,436.04260883433,523.2511306012],description:"Schlesinger's Hypolydian Harmonia in the enharmonic genus"},hypol_enhinv:{frequencies:[261.6255653006,327.03195662575,333.57259575826,340.11323489078,366.27579142084,392.4383479509,497.08857407114,510.16985233617,523.2511306012],description:"Inverted Schlesinger's Enharmonic Hypolydian Harmonia"},hypol_enhinv2:{frequencies:[261.6255653006,268.16620443312,274.70684356563,340.11323489078,366.27579142084,379.35706968587,392.4383479509,523.2511306012],description:"A harmonic form of Schlesinger's Hypolydian enharmonic inverted"},hypol_enhinv3:{frequencies:[261.6255653006,268.16620443312,274.70684356563,340.11323489078,392.4383479509,405.51962621593,418.60090448096,523.2511306012],description:"A harmonic form of Schlesinger's Hypolydian enharmonic inverted"},hypol_pent:{frequencies:[261.6255653006,272.52663052146,290.69507255622,348.83408706747,373.75080757229,402.50086969323,415.27867508032,436.04260883433,523.2511306012],description:"Schlesinger's Hypolydian Harmonia in the pentachromatic genus"},hypol_tri:{frequencies:[261.6255653006,270.64713651786,280.31310567921,348.83408706747,373.75080757229,402.50086969323,413.09299784305,424.25767346043,523.2511306012],description:"Schlesinger's Hypolydian Harmonia in the first trichromatic genus"},hypol_tri2:{frequencies:[261.6255653006,270.64713651786,290.69507255622,348.83408706747,373.75080757229,402.50086969323,413.09299784305,436.04260883433,2093.0045224048],description:"Schlesinger's Hypolydian Harmonia in the second trichromatic genus"},hypolydian_pis:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,366.27579142084,406.97310157871,457.84473927605,488.36772189445,523.2511306012,563.50121757052,610.45965236807,665.95598440153,732.55158284168,813.94620315742,915.6894785521,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Hypolydian Tonos"},hypop_chrom:{frequencies:[261.6255653006,277.01530443593,285.40970760065,294.32876096318,336.37572681506,362.25078272391,376.74081403286,392.4383479509,409.50088481833,418.60090448096,428.11456140098,470.92601754108,523.2511306012],description:"Hypophrygian Chromatic Tonos"},hypop_chromenh:{frequencies:[261.6255653006,269.10058145205,277.01530443593,362.25078272391,392.4383479509,409.50088481833,428.11456140098,523.2511306012],description:"Schlesinger's Hypophrygian Harmonia in a mixed chromatic-enharmonic genus"},hypop_chrominv:{frequencies:[261.6255653006,319.76457981184,334.29933343966,348.83408706747,377.90359432309,465.11211608996,494.18162334558,523.2511306012],description:"Inverted Schlesinger's Chromatic Hypophrygian Harmonia"},hypop_chrominv2:{frequencies:[261.6255653006,276.16031892841,290.69507255622,348.83408706747,377.90359432309,406.97310157871,436.04260883433,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Hypophrygian inverted"},hypop_diat:{frequencies:[261.6255653006,294.32876096318,303.82323712328,313.95067836072,336.37572681506,362.25078272391,376.74081403286,392.4383479509,428.11456140098,448.50096908674,470.92601754108,495.71159741166,523.2511306012],description:"Hypophrygian Diatonic Tonos"},hypop_diat2:{frequencies:[261.6255653006,294.32876096318,313.95067836072,362.25078272391,376.74081403286,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Schlesinger's Hypophrygian Harmonia"},hypop_diat2inv:{frequencies:[261.6255653006,290.69507255622,319.76457981184,348.83408706747,363.36884069528,377.90359432309,436.04260883433,465.11211608996,523.2511306012],description:"Inverted Schlesinger's Hypophrygian Harmonia, a harmonic series from 9 from 18"},hypop_diatcon:{frequencies:[261.6255653006,294.32876096318,313.95067836072,362.25078272391,376.74081403286,428.11456140098,470.92601754108,523.2511306012],description:"A Hypophrygian Diatonic with its own trite synemmenon replacing paramese"},hypop_enh:{frequencies:[261.6255653006,269.10058145205,273.00058987889,277.01530443593,313.95067836072,362.25078272391,376.74081403286,392.4383479509,400.78810003496,405.0976494977,409.50088481833,470.92601754108,523.2511306012],description:"Hypophrygian Enharmonic Tonos"},hypop_enhinv:{frequencies:[261.6255653006,334.29933343966,341.56671025356,348.83408706747,377.90359432309,494.18162334558,508.71637697339,523.2511306012],description:"Inverted Schlesinger's Enharmonic Hypophrygian Harmonia"},hypop_enhinv2:{frequencies:[261.6255653006,268.89294211451,276.16031892841,348.83408706747,377.90359432309,392.4383479509,406.97310157871,523.2511306012],description:"A harmonic form of Schlesinger's Hypophrygian enharmonic inverted"},hypophryg_pis:{frequencies:[261.6255653006,283.42769574232,309.19384990071,340.11323489078,377.90359432309,425.14154361347,453.48431318771,523.2511306012,544.18117582525,566.85539148463,618.38769980142,680.22646978156,755.80718864618,850.28308722695,971.75209968794,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Hypophrygian Tonos"},kanzelmeyer_11:{frequencies:[261.6255653006,277.97716313189,310.68035879446,327.03195662575,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,474.19633710734,506.89953276991,523.2511306012],description:"Bruce Kanzelmeyer, 11 harmonics from 16 to 32. Base 388.3614815 Hz"},kanzelmeyer_18:{frequencies:[261.6255653006,277.97716313189,302.50455987882,310.68035879446,327.03195662575,335.20775554139,351.55935337268,359.73515228832,376.08675011961,384.26254903526,392.4383479509,425.14154361347,433.31734252912,457.84473927605,474.19633710734,482.37213602298,498.72373385427,506.89953276991,523.2511306012],description:"Bruce Kanzelmeyer, 18 harmonics from 32 to 64. Base 388.3614815 Hz"},kayolonian:{frequencies:[261.6255653006,267.90457886781,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,357.20610515709,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,490.54793493862,510.98743222773,523.2511306012],description:"19-tone 5-limit scale of the Kayenian Imperium on Kayolonia (reeks van Sjauriek)"},kayolonian_12:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"See Barnard: De Keiaanse Muziek, p. 11. (uitgebreide reeks)"},kayolonian_40:{frequencies:[261.6255653006,267.90457886781,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.07474405997,313.95067836072,319.36714514233,327.03195662575,331.11985608357,334.88072358477,340.65828815182,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,401.85686830172,408.78994578219,413.43299207996,418.60090448096,436.04260883433,441.49314144476,446.50763144636,459.88868900496,465.11211608996,470.92601754108,490.54793493862,496.11959049595,502.32108537715,510.98743222773,523.2511306012],description:"See Barnard: De Keiaanse Muziek"},kayolonian_f:{frequencies:[261.6255653006,279.06726965397,306.59245933664,327.03195662575,348.83408706747,392.4383479509,418.60090448096,446.50763144636,490.54793493862,523.2511306012],description:"Kayolonian scale F and periodicity block (128/125, 16875/16384)"},kayolonian_p:{frequencies:[261.6255653006,279.06726965397,306.59245933664,327.03195662575,348.83408706747,392.4383479509,418.60090448096,459.88868900496,490.54793493862,523.2511306012],description:"Kayolonian scale P"},kayolonian_s:{frequencies:[261.6255653006,287.4304306281,306.59245933664,327.03195662575,359.28803828513,392.4383479509,418.60090448096,459.88868900496,490.54793493862,523.2511306012],description:"Kayolonian scale S"},kayolonian_t:{frequencies:[261.6255653006,279.06726965397,297.67175429757,317.51653791741,348.83408706747,381.01984550089,418.60090448096,446.50763144636,476.27480687611,523.2511306012],description:"Kayolonian scale T"},kayolonian_z:{frequencies:[261.6255653006,279.06726965397,297.67175429757,327.03195662575,348.83408706747,392.4383479509,418.60090448096,446.50763144636,476.27480687611,523.2511306012],description:"Kayolonian scale Z"},kayoloniana:{frequencies:[261.6255653006,267.90457886781,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,367.91095120397,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,490.54793493862,510.98743222773,523.2511306012],description:"Amendment by Rasch of Kayolonian scale's note 9"},"kebyar-b":{frequencies:[261.6255653006,280.40333801024,299.48910562989,384.37207420335,402.78320381033,523.2511306012],description:"Gamelan Kebyar tuning begbeg, Andrew Toth, 1993"},"kebyar-s":{frequencies:[261.6255653006,283.00682726281,309.51375468789,385.26118901859,416.26536455926,523.2511306012],description:"Gamelan kebyar tuning sedung, Andrew Toth, 1993"},"kebyar-t":{frequencies:[261.6255653006,293.15632631094,325.27731021818,397.46748834812,422.07621250312,523.2511306012],description:"Gamelan kebyar tuning tirus, Andrew Toth, 1993"},keenan:{frequencies:[261.6255653006,279.77706779472,292.57243455474,305.95298478736,327.17991022208,349.87955533643,365.88099775759,391.26571058456,418.41160951721,437.54730686196,457.55816161244,489.30340830564,523.2511306012],description:"Dave Keenan 31-ET mode has 3 4:5:6:7 tetrads + 3 inv. is Fokker's 12-tone mode"},keenan2:{frequencies:[261.6255653006,278.14493936283,295.70736791055,306.84360659709,326.21810583671,346.81593583087,369.99442271164,393.35634555235,418.19337019276,433.94238997708,461.34206956593,490.47180009913,523.2511306012],description:"Dave Keenan strange 9-limit temperament TL 19-11-98"},keenan3:{frequencies:[261.6255653006,272.10155294862,282.99701916355,314.19580976213,326.77681046955,339.86157848985,377.32935907335,392.4383479509,408.1523292189,453.14877154631,471.29371440761,523.2511306012],description:"Chain of 1/6 kleisma tempered 6/5s, 10 tetrads, Dave Keenan, 30-Jun-99, TD235"},keenan3eb:{frequencies:[261.6255653006,272.52625793573,283.88113057344,314.31833892864,327.41448875753,341.05629284549,377.62371824792,393.35750206077,409.74683779238,453.67913385439,472.5817850056,523.2511306012],description:"Chain of 11 equal beating minor thirds, 6/5=3/2 same"},keenan3eb2:{frequencies:[261.6255653006,271.88912362492,282.55531921581,314.13446783,326.45794787121,339.26487744082,377.18204004818,391.97887331053,407.35618327602,452.88341485066,470.6500094,523.2511306012],description:"Chain of 11 equal beating minor thirds, 6/5=3/2 opposite"},keenan3j:{frequencies:[261.6255653006,291.88463270656,302.72962012827,313.97755176024,350.29154279212,363.30663963964,405.32593044476,420.38583225541,436.00528786292,486.43275040712,504.50618240233,523.2511306012],description:"Chain of 11 nearly just 19-tET minor thirds, Dave Keenan, 1-Jul-99"},keenan7:{frequencies:[261.6255653006,269.29177952703,279.86396690685,288.06460709314,296.5055443788,305.19382000629,314.13668154225,326.46944327063,336.03572815422,349.22823143301,359.46139971304,369.99442271164,380.8360868427,391.99543598175,407.38487419079,419.32216217931,435.78442404634,448.5538823653,461.69751437372,475.22628419761,489.15147723638,508.3551866238,523.2511306012],description:"Dave Keenan, 22 out of 72-tET periodicity block. TL 29-04-2001"},keenanmt:{frequencies:[261.6255653006,279.93529690293,292.50627485027,305.64177427204,327.03195662575,349.91912034749,365.63284274659,391.22147055517,418.60090448096,437.39890198442,457.04105241293,489.02683710225,523.2511306012],description:"Dave Keenan 1/4-comma tempered version of keenan with 6 7-limit tetrads"},keenanst:{frequencies:[261.6255653006,268.50609092997,277.46533822773,286.72352888229,294.26410920268,304.08282473376,314.22916151277,322.49311613356,333.25374941849,342.01803421352,353.43015577174,365.22306367425,374.82811589307,387.33500976677,397.52158713557,410.7856943143,424.4923875554,435.65616946139,450.19271626925,462.0323945472,477.44903730562,493.38008744487,506.35555615636,523.2511306012],description:"Dave Keenan, 7-limit temperament, g=260.353"},kelletat:{frequencies:[261.6255653006,275.58617649731,292.98704147282,310.05056613125,327.14272545641,348.82502010853,367.43868454848,391.99543598175,413.39000965417,437.97145880542,465.08793784701,489.90551202062,523.2511306012],description:"Herbert Kelletat's Bach-tuning (1967)"},kellner:{frequencies:[261.6255653006,275.62199471997,292.73769384471,310.07474405997,327.54963108844,348.83408706747,367.49599295996,391.37619916626,413.43299207996,437.91808280662,465.11211608996,491.32444638706,523.2511306012],description:"Herbert Anton Kellner's Bach tuning. 5 1/5 Pyth. comma and 7 pure fifths"},kellners:{frequencies:[261.6255653006,275.84425785506,292.86986732103,310.2247482054,327.84547867349,348.89032888179,367.85164222246,391.46454285105,413.69968681881,438.2147004401,465.26210635182,491.68894399626,523.2511306012],description:"Kellner's temperament with 1/5 synt. comma instead of 1/5 Pyth. comma"},kepler1:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"Kepler's Monochord no.1, Harmonices Mundi (1619)"},kepler2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"Kepler's Monochord no.2"},kepler3:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,441.49314144476,470.92601754108,496.67978412536,523.2511306012],description:"Kepler's choice system, Harmonices Mundi, Liber III (1619)"},kilroy:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Kilroy"},kimball:{frequencies:[261.6255653006,272.52663052146,275.93321340298,290.69507255622,294.32876096318,306.59245933664,327.03195662575,331.11985608357,348.83408706747,363.36884069528,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,459.88868900496,465.11211608996,490.54793493862,523.2511306012],description:"Buzz Kimball 18-note just scale"},kimball_53:{frequencies:[261.6255653006,277.01530443593,277.97716313189,279.06726965397,281.75060878526,283.42769574232,285.40970760065,287.78812183066,296.50897400735,299.00064605783,305.22982618403,307.79478270659,309.19384990071,313.95067836072,317.68818643644,319.76457981184,322.00069575458,327.03195662575,332.97799220076,338.57426097725,340.11323489078,342.12573923925,348.83408706747,359.73515228832,362.25078272391,366.27579142084,369.35373924791,370.63621750918,373.75080757229,377.90359432309,380.54627680087,392.4383479509,400.13321751856,402.50086969323,404.33041910093,411.12588832951,418.60090448096,425.14154361347,428.11456140098,430.91269578922,436.04260883433,442.75095666255,444.76346101102,448.50096908674,457.84473927605,461.69217405988,475.68284600109,479.64686971777,483.00104363188,485.87604984397,490.54793493862,492.47165233054,494.18162334558,523.2511306012],description:"Buzz Kimball 53-note just scale"},kirkwood:{frequencies:[261.6255653006,294.32876096318,305.22982618403,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Scale based on Kirkwood gaps of the asteroid belt"},"kirn-stan":{frequencies:[261.6255653006,276.16031892841,292.60754013883,310.68035879446,327.03195662575,348.83408706747,368.21375857121,392.4383479509,414.24047839262,437.1900893839,465.11211608996,490.54793493862,523.2511306012],description:"Kirnberger temperament improved by Charles Earl Stanhope (1806)"},kirnberger:{frequencies:[261.6255653006,275.62199471997,292.50627485027,310.07474405997,327.03195662575,348.83408706747,367.91095120397,391.22147055517,413.43299207996,437.39890198442,465.11211608996,490.54793493862,523.2511306012],description:"Kirnberger's well-temperament, also called Kirnberger III, letter to Forkel 1779"},kirnberger1:{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,438.75944753732,465.11211608996,490.54793493862,523.2511306012],description:"Kirnberger's temperament 1 (1766)"},kirnberger2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,438.75941205608,465.11211608996,490.54793493862,523.2511306012],description:'Kirnberger 2: 1/2 synt. comma. "Die Kunst des reinen Satzes" (1774)'},kirnberger3:{frequencies:[261.6255653006,275.93321340298,292.50627485027,310.07474405997,327.03195662575,348.83408706747,367.91095120397,391.22147055517,413.89982010446,437.39890198442,465.11211608996,490.54793493862,523.2511306012],description:"Kirnberger 3: 1/4 synt. comma (1744)"},kirnberger3v:{frequencies:[261.6255653006,275.93321340298,292.50063201309,310.07474405997,327.03195662575,348.83408706747,367.91095120397,391.21579858034,413.43299207996,437.39258595147,465.11211608996,490.54793493862,523.2511306012],description:"Variant well-temperament like Kirnberger 3, Kenneth Scholz, MTO 4.4, 1998"},klais:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,327.21690075602,348.83408706747,367.49599295996,391.99543598175,413.43299207996,438.01699797506,465.11211608996,489.99465727995,523.2511306012],description:"Johannes Klais, Bach temperament"},klonaris:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Johnny Klonaris, 19-limit harmonic scale"},knot:{frequencies:[261.6255653006,268.26840191956,280.31310567921,286.15296204753,294.32876096318,299.00064605783,306.59245933664,327.03195662575,348.83408706747,357.69120255941,366.27579142084,367.91095120397,381.53728273004,392.4383479509,408.78994578219,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,459.88868900496,476.92160341255,478.40103369253,490.54793493862,523.2511306012],description:"Smallest knot in 3-D, American Scientist, Nov-Dec '97 p506-510, trefoil knot"},koepf_36:{frequencies:[261.6255653006,272.26348829648,274.95017225036,277.18263097687,288.45311779165,291.29956028699,293.66476791741,305.60543275312,308.62113352716,311.12698372208,323.77767743764,326.97270111135,329.62755691287,343.03050002254,346.41550969045,349.22823143301,363.4281550135,367.0144478307,369.99442271164,385.03871768789,388.83826257328,391.99543598175,407.93431128975,411.95978887118,415.30469757995,432.19134773437,436.45619266906,440,457.89078262597,462.40922843744,466.16376151809,485.11838543951,489.90551202062,493.88330125613,513.96502576833,519.03680970905,523.2511306012],description:"Siegfried Koepf, 36-tone subset of 48-tone scale (1991)"},koepf_48:{frequencies:[261.6255653006,269.44737349144,272.26348829648,274.95017225036,277.18263097687,285.46954808622,288.45311779165,291.29956028699,293.66476791741,302.44445076078,305.60543275312,308.62113352716,311.12698372208,320.42873367481,323.77767743764,326.97270111135,329.62755691287,339.48241770075,343.03050002254,346.41550969045,349.22823143301,359.66909273781,363.4281550135,367.0144478307,369.99442271164,381.0561299374,385.03871768789,388.83826257328,391.99543598175,403.71490654806,407.93431128975,411.95978887118,415.30469757995,427.72104413038,432.19134773437,436.45619266906,440,453.15466093696,457.89078262597,462.40922843744,466.16376151809,480.10063929961,485.11838543951,489.90551202062,493.88330125613,508.64890891624,513.96502576833,519.03680970905,523.2511306012],description:"Siegfried Koepf, 48-tone scale (1991)"},kolinsky:{frequencies:[261.6255653006,277.2273508585,293.75953199293,311.27759533081,329.84032939425,349.51003591412,370.35272620855,392.4383479509,415.84102607989,440.63929776914,466.91639276282,494.76049384407,524.26505360912],description:"Kolinsky's 7th root of 3/2, also invented by Augusto Novaro"},kora1:{frequencies:[261.6255653006,293.66476791741,326.78388880949,349.22823143301,391.99543598175,440,489.62261321254,523.2511306012],description:"Kora tuning Tomora Ba, also called Silaba, 1/1=F, R. King"},kora2:{frequencies:[261.6255653006,298.79793764201,315.65242990842,349.22823143301,391.99543598175,447.69106452518,472.94426956511,523.2511306012],description:"Kora tuning Tomora Mesengo, also called Tomora, 1/1=F, R. King"},kora3:{frequencies:[261.6255653006,291.13134764929,330.58093469714,349.22823143301,391.99543598175,436.20415848357,495.31175393723,523.2511306012],description:"Kora tuning Hardino, 1/1=F, R.King"},kora4:{frequencies:[261.6255653006,291.13134764929,330.58093469714,371.06455309218,391.99543598175,436.20415848357,495.31175393723,523.2511306012],description:"Kora tuning Sauta, 1/1=F, R. King"},korea_5:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,470.92601754108,523.2511306012],description:'According to Lou Harrison, called "the Delightful" in Korea'},kornerup:{frequencies:[261.6255653006,272.97226153513,280.22976278938,292.38332274669,305.0639823888,313.17470478367,326.75708630452,340.92853547661,349.99278713323,365.17196824772,374.88056242272,391.13935185123,408.10305876469,418.95303445734,437.12302030357,456.08130156398,468.2068441924,488.51296691354,509.70006023951,523.2511306012],description:"Kornerup's temperament with fifth of (15 - sqrt 5) / 22 octaves"},kornerup_11:{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Kornerup's doric minor"},kraeh_22:{frequencies:[261.6255653006,267.07609791103,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,320.49131749323,336.37572681506,343.38355445704,353.19451315581,366.27579142084,381.53728273004,392.4383479509,400.61414686654,412.06026534844,436.04260883433,441.49314144476,457.84473927605,470.92601754108,488.36772189445,504.56359022259,523.2511306012],description:"Kraehenbuehl & Schmidt 7-limit 22-tone tuning"},kraeh_22a:{frequencies:[261.6255653006,267.07609791103,269.10058145205,272.52663052146,274.70684356563,279.06726965397,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,311.45900631024,313.95067836072,318.93402246168,320.49131749323,327.03195662575,336.37572681506,343.38355445704,348.83408706747,350.39138209902,353.19451315581,358.80077526939,366.27579142084,367.91095120397,373.75080757229,381.53728273004,392.4383479509,398.6675280771,400.61414686654,403.65087217807,408.78994578219,412.06026534844,418.60090448096,420.46965851882,436.04260883433,441.49314144476,448.50096908674,457.84473927605,467.18850946536,470.92601754108,476.92160341255,478.40103369253,488.36772189445,490.54793493862,498.33441009638,504.56359022259,523.2511306012],description:'Kraehenbuehl & Schmidt 7-limit 22-tone tuning with "inflections" for some tones'},kraeh_22b:{frequencies:[261.6255653006,269.10058145205,279.06726965397,286.15296204753,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,367.91095120397,381.53728273004,392.4383479509,408.78994578219,420.46965851882,436.04260883433,448.50096908674,457.84473927605,476.92160341255,490.54793493862,504.56359022259,523.2511306012],description:"Best 22-tET approximation of KRAEH_22A"},kring1:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,523.2511306012],description:"Double-tie circular mirroring of 4:5:6 and Partch's 5-limit tonality Diamond"},kring1p3:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,282.55561052465,290.69507255622,294.32876096318,301.39265122629,306.59245933664,310.07474405997,313.95067836072,327.03195662575,334.88072358477,340.65828815182,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,376.74081403286,387.59343007496,392.4383479509,401.85686830172,408.78994578219,418.60090448096,436.04260883433,441.49314144476,446.50763144636,454.2110508691,465.11211608996,470.92601754108,484.4917875937,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Third carthesian power of double-tie mirroring of 4:5:6 with kleismas removed"},kring2:{frequencies:[261.6255653006,299.00064605783,305.22982618403,348.83408706747,392.4383479509,448.50096908674,457.84473927605,523.2511306012],description:"Double-tie circular mirroring of 6:7:8"},kring2p3:{frequencies:[261.6255653006,265.7783520514,271.31540105247,288.32205155576,294.32876096318,299.00064605783,305.22982618403,310.07474405997,329.51091606373,336.37572681506,343.38355445704,348.83408706747,356.10146388137,384.42940207435,392.4383479509,398.6675280771,406.97310157871,415.4517078616,441.49314144476,448.50096908674,457.84473927605,465.11211608996,474.80195184183,504.56359022259,515.07533168556,523.2511306012],description:"Third power of 6:7:8 mirroring with 1029/1024 intervals removed"},kring3:{frequencies:[261.6255653006,305.22982618403,313.95067836072,366.27579142084,373.75080757229,436.04260883433,448.50096908674,523.2511306012],description:"Double-tie circular mirroring of 3:5:7"},kring3bp:{frequencies:[261.6255653006,336.37572681506,366.27579142084,436.04260883433,470.92601754108,560.62621135843,610.45965236807,784.8766959018],description:"Double-tie BP circular mirroring of 3:5:7"},kring4:{frequencies:[261.6255653006,299.00064605783,327.03195662575,366.27579142084,373.75080757229,418.60090448096,457.84473927605,523.2511306012],description:"Double-tie circular mirroring of 4:5:7"},kring4p3:{frequencies:[261.6255653006,267.90457886781,273.37201925287,280.42990280658,286.15296204753,293.02063313667,299.00064605783,305.10270005901,320.49131749323,327.03195662575,334.88072358477,341.71502406609,350.53737850823,357.69120255941,366.27579142084,373.75080757229,382.72082695402,390.53145607553,400.61414686654,408.78994578219,418.60090448096,427.14378008261,448.68784449053,457.84473927605,467.18850946536,478.40103369253,488.16432009441,500.76768358318,510.98743222773,523.2511306012],description:"Third power of 4:5:7 mirroring with 3136/3125 intervals removed"},kring5:{frequencies:[261.6255653006,290.69507255622,336.37572681506,366.27579142084,373.75080757229,406.97310157871,470.92601754108,523.2511306012],description:"Double-tie circular mirroring of 5:7:9"},kring5p3:{frequencies:[261.6255653006,266.96486255163,272.4643387202,278.02483542877,284.8811711051,290.69507255622,296.68339105088,302.73815413355,308.91648380975,316.53463456122,322.99452506247,329.64821227876,336.37572681506,343.24053756638,351.70514951247,358.88280562497,366.27579142084,373.75080757229,381.45007420827,389.23476960028,398.83363954714,406.97310157871,415.27867508032,423.83341578697,432.48307733364,443.14848838571,452.19233508746,461.42075008924,470.92601754108,480.53675259294,492.38720931745,502.43592787495,512.78610798918,523.2511306012],description:"Third power of 5:7:9 mirroring with 250047/250000 intervals removed"},kring6:{frequencies:[261.6255653006,305.22982618403,336.37572681506,348.83408706747,392.4383479509,406.97310157871,448.50096908674,523.2511306012],description:"Double-tie circular mirroring of 6:7:9"},kring6p3:{frequencies:[261.6255653006,267.07609791103,271.31540105247,276.96780524107,288.32205155576,294.32876096318,299.00064605783,305.22982618403,310.07474405997,316.53463456122,324.36230800023,329.51091606373,336.37572681506,343.38355445704,348.83408706747,356.10146388137,361.75386806997,369.29040698809,378.42269266694,384.42940207435,392.4383479509,398.6675280771,406.97310157871,415.4517078616,422.04617941496,432.48307733364,441.49314144476,448.50096908674,457.84473927605,465.11211608996,474.80195184183,494.26637409559,504.56359022259,512.57253609913,523.2511306012],description:"Third power of 6:7:9 mirroring with 118098/117649 intervals removed"},krousseau:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,343.38355445704,348.83408706747,366.27579142084,392.4383479509,406.97310157871,457.84473927605,465.11211608996,488.36772189445,523.2511306012],description:"Kami Rousseau's tri-blues scale"},krousseau2:{frequencies:[261.6255653006,271.34627406517,291.88463270656,302.72962012827,337.74269681563,350.29154279212,363.30663963964,390.80553229045,405.32593044476,452.20508247496,469.00678383895,486.43275040712,523.2511306012],description:"19-tET version of Kami Rousseau's tri-blues scale"},kukuya:{frequencies:[261.6255653006,307.37578701508,361.96165147221,412.67427966689,460.80941404108],description:"African Kukuya Horns (aerophone, ivory, one note only)"},kurzw_arab:{frequencies:[261.6255653006,282.02769802256,290.29174037004,302.26980244078,321.16993719469,349.63190883464,374.94271441196,393.35634555235,411.95978887118,429.20598402782,447.69106452518,496.7443381147,523.2511306012],description:'Kurzweil "Empirical Arabic"'},kurzw_harmp:{frequencies:[261.6255653006,285.46954808622,287.62123438446,306.48933163909,308.79945157961,324.90175210669,345.81573716922,348.42227432308,427.72104413038,430.94493093825,458.94995811222,462.40922843744,523.2511306012],description:'Kurzweil "Empirical Bali/Java Harmonic Pelog"'},kurzw_melp:{frequencies:[261.6255653006,281.53940445957,283.98935579354,303.66981774726,307.02089761314,323.96475278212,344.02264297658,347.0163224393,421.10213511252,424.76655906637,451.06547253417,454.99063696457,523.2511306012],description:'Kurzweil "Empirical Bali/Java Melodic Pelog"'},kurzw_slen:{frequencies:[261.6255653006,266.96862289802,288.95340229325,306.66641795878,318.95145438803,352.26720984209,352.26720984209,389.06292924114,404.41509766528,429.20598402782,464.81937009253,474.03826620294,523.2511306012],description:'Kurzweil "Empirical Bali/Java Slendro, Siam 7"'},kurzw_tibet:{frequencies:[261.6255653006,270.53905136894,299.14332201883,312.9293240034,325.46525203475,353.69443592699,373.86139962101,397.69714089209,408.87792937274,438.98455767189,471.30800669535,489.90551202062,523.2511306012],description:'Kurzweil "Empirical Tibetian Ceremonial"'},kwazy:{frequencies:[13.75,13.8425266748,13.92142234948,14.00076777204,14.0805654254,14.16081788707,14.25610896047,14.337361936,14.41907801447,14.50125983535,14.58391005315,14.66703125278,14.76572882594,14.84988638999,14.93452361174,15.01964313826,15.10524789197,15.20689431811,15.29356631363,15.38073220905,15.46839499707,15.55655742089,15.66124080485,15.75050226619,15.84027256598,15.93055451337,16.0213510245,16.11266503216,16.22109048883,16.31354291552,16.40652227664,16.50003157548,16.59407373656,16.70573878851,16.80095347779,16.89671084507,16.99301388521,17.08986590459,17.18726993397,17.30292672931,17.40154500258,17.50072545316,17.60047118468,17.70078541898,17.81989766631,17.92146252619,18.023606257,18.12633215803,18.22964354736,18.35231459047,18.45691397115,18.56210951808,18.66790462912,18.77430261304,18.88130712282,19.00836345475,19.11670199894,19.22565790976,19.335234928,19.44543648263,19.57628896102,19.68786429416,19.80007566685,19.91292659048,20.02642071019,20.16118263857,20.27609169854,20.39165568498,20.50787833065,20.62476338959,20.74231451743,20.88189396397,21.00091073243,21.12060583931,21.24098302814,21.36204643183,21.50579618625,21.62836889778,21.75164008927,21.875613993,22.00029448845,22.14833914981,22.27457391904,22.40152829449,22.52920624893,22.65761190639,22.78674941445,22.94008616579,23.07083364148,23.202326315,23.33456843363,23.46756413327,23.62548236417,23.76013626908,23.89555763659,24.03175070206,24.16872014141,24.30647024079,24.47003364934,24.60950094889,24.74976328722,24.89082505353,25.03269080417,25.2011409598,25.3447753621,25.48922841152,25.63450477396,25.78060914191,25.95409219477,26.10201805756,26.25078702673,26.40040390759,26.55087337946,26.70220060843,26.88188539622,27.03509923475,27.18918616153,27.34415146685,27.5],description:"Kwazy temperament, g=162.741892, p=600, 5-limit"},lambdoma5_12:{frequencies:[261.6255653006,21.80213044172,23.78414230005,26.16255653006,29.06950725562,32.70319566257,37.37508075723,43.60426088343,47.56828460011,52.32511306012,58.13901451124,65.40639132515,71.35242690016,74.75016151446,78.48766959018,87.20852176687,95.13656920022,98.10958698772,104.65022612024,109.01065220858,112.12524227169,116.27802902249,118.92071150027,130.8127826503,145.34753627811,149.50032302891,156.97533918036,163.51597831288,174.41704353373,186.87540378614,196.21917397545,209.30045224048,218.02130441717,261.6255653006,327.03195662575,348.83408706747,392.4383479509,436.04260883433,523.2511306012,654.0639132515,784.8766959018,1046.5022612024,1308.127826503],description:"5x12 Lambdoma"},lambdoma_prim:{frequencies:[261.6255653006,8.43953436454,9.02157121726,11.37502457829,13.76976659477,15.38973913533,16.87906872907,18.04314243452,20.12504348466,22.75004915657,23.78414230005,25.31860309361,27.06471365179,27.53953318954,30.77947827066,34.12507373486,37.37508075723,40.25008696932,41.30929978431,42.19767182268,45.10785608631,46.16921740599,47.56828460011,52.32511306012,56.87512289143,59.07674055175,60.37513045398,63.15099852083,68.84883297384,71.35242690016,74.75016151446,76.94869567665,79.62517204801,87.20852176687,96.38836616338,100.62521742331,104.65022612024,107.72817394731,112.12524227169,118.92071150027,130.8127826503,140.87530439263,156.97533918036,166.48899610038,174.41704353373,186.87540378614,261.6255653006,366.27579142084,392.4383479509,436.04260883433,523.2511306012,610.45965236807,654.0639132515,784.8766959018,915.6894785521,1308.127826503,1831.3789571042],description:"Prime Lambdoma"},lambert:{frequencies:[261.6255653006,276.15600972046,293.19138048956,310.67551062492,328.56569462012,349.50994910362,368.20801314466,391.67947347082,414.23401437362,438.93663604468,466.01326570444,491.89550004992,523.2511306012],description:"Lambert's temperament (1774) 1/7 Pyth. comma, 5 pure"},lara:{frequencies:[261.6255653006,286.4606265643,298.28060863281,313.11013128311,341.05478972476,377.11473546037,395.40657391157,420.13030572059,450.02449304881,492.74350578058,523.2511306012,577.23956595248,599.67057787333],description:"Sundanese 'multi-laras' gamelan Ki Barong tuning, Weintraub, TL 15-2-99 1/1=497"},lebanon:{frequencies:[261.6255653006,285.30470202322,311.12698372208,349.22823143301,391.99543598175,415.30469757995,466.16376151809,523.2511306012],description:"Lebanese scale? Dastgah Shur"},leedy:{frequencies:[261.6255653006,269.80136421624,290.69507255622,294.32876096318,305.22982618403,327.03195662575,348.83408706747,359.73515228832,392.4383479509,436.04260883433,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:'Douglas Leedy, scale for "Pastorale" (1987), 1/1=f, 10/9 only in vocal parts'},leeuw1:{frequencies:[261.6255653006,311.12698372208,349.22823143301,380.8360868427,415.30469757995,466.16376151809,508.3551866238,554.36526195375,604.53960488156,659.25511382574,739.98884542327,806.96355802011,880,987.76660251225],description:'Ton de Leeuw: non-oct. mode from "Car nos vignes sont en fleurs",part 5. 1/1=A'},leftpistol:{frequencies:[261.6255653006,275.93321340298,279.06726965397,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Left Pistol"},legros1:{frequencies:[261.6255653006,274.22463192287,292.50627485027,309.49749487796,327.03195662575,348.83408706747,365.63284274659,391.22147055517,411.33694767869,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Example of temperament with 3 just major thirds"},legros2:{frequencies:[261.6255653006,275.07759559501,292.50627485027,309.49749487796,327.03195662575,348.83408706747,366.77012764335,391.22147055517,412.61639318626,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Example of temperament with 2 just major thirds"},"lehman-bach":{frequencies:[261.6255653006,276.86979852503,293.00227310437,310.77584116741,328.14198392915,349.6228209638,369.15973155124,391.5530240856,414.83597850347,438.51190905657,465.63764214343,492.21297564769,523.2511306012],description:"Brad Lehman's Bach keyboard temperament"},lemba10:{frequencies:[261.6255653006,283.65327551057,298.9489942119,324.1191713102,341.59697290141,370.35792032269,401.5404117335,423.19307614937,458.82405293702,483.56568031466,524.27976214079],description:"10-note Lemba scale, Herman Miller"},lemba12:{frequencies:[261.6255653006,276.1173031791,283.29759227608,298.9897683987,323.75689816556,341.69016129748,369.99442271164,390.48883496177,400.64329718448,422.83538548023,457.86139629758,483.22286023634,523.2511306012],description:"Lemba[12] in 270-et (poptimal)"},lemba22:{frequencies:[261.6255653006,268.42900262332,276.1173031791,283.29759227608,298.9897683987,306.76484424299,315.55115201964,323.75689816556,341.69016129748,350.57563899649,360.61677037127,369.99442271164,379.61593604418,390.48883496177,400.64329718448,422.83538548023,433.83100318771,446.25671880862,457.86139629758,483.22286023634,495.78882330645,509.98912747823,523.2511306012],description:"Lemba[22] in 270-et (poptimal)"},lemba24:{frequencies:[261.6255653006,275.73346179752,283.65327551057,290.60211247891,298.9489942119,307.53562105228,315.06951922004,324.1191713102,332.05932738876,341.59697290141,351.40856549044,360.01724743313,370.35792032269,390.32910012969,401.5404117335,411.37720579947,423.19307614937,435.34833037897,446.01333880095,458.82405293702,470.06416125332,483.56568031466,497.45499966368,509.64147516102,524.27976214079],description:"24-note Lemba scale for mapping millerlemba24.kbm"},lemba8:{frequencies:[261.6255653006,275.73334871592,283.6533803711,298.94898212432,307.53584843097,324.11927802481,341.59694330429,351.4088110982,370.358025147],description:"Lemba temperament (4 down, 3 up) TOP tuning, Herman Miller, TL 22-11-2004"},leusden:{frequencies:[261.6255653006,275.54404190554,292.50627485027,310.51268695591,327.03195662575,349.91912034749,367.08095907728,391.22147055517,413.66634097248,437.39890198442,466.16376151809,489.02683710225,523.2511306012],description:"Organ in Gereformeerde kerk De Koningshof, Henk van Eeken, 1984, a'=415, modif. 1/4 mean"},leven:{frequencies:[261.6255653006,279.06726965397,298.97057995496,313.95067836072,330.39003879965,348.83408706747,369.35382642901,392.4383479509,418.60090448096,448.46752658184,465.11211608996,502.32108537715,523.2511306012],description:"Leven's monochord ?"},ligon:{frequencies:[261.6255653006,279.66870773512,292.40504357126,309.19384990071,329.87571277032,342.12573923925,366.27579142084,392.4383479509,411.12588832951,436.04260883433,462.87600014722,485.87604984397,523.2511306012],description:"Jacky Ligon, strictly proper all prime scale, TL 08-09-2000"},ligon2:{frequencies:[261.6255653006,276.16031892841,292.40504357126,310.68035879446,331.39238271409,355.06326719367,382.37582620857,411.78935130154,441.2028763945,470.61640148747,500.02992658044,529.4434516734,558.85697676637],description:"Jacky Ligon, 19-limit symmetrical non-octave scale, 2001"},ligon3:{frequencies:[261.6255653006,273.51763645063,286.54228580542,300.86940009569,316.70463167967,334.29933343966,341.25073734861,376.08675011961,401.15920012759,427.90314680276,471.58492637221,481.3910401531,508.13498682828,534.87893350345,561.62288017862,588.36682685379,615.11077352897],description:"Jacky Ligon, 23-limit non-octave scale (2001)"},ligon4:{frequencies:[261.6255653006,278.49926570678,289.46759601673,308.13698517552,320.27237341115,340.92853547661,362.91692931321,386.32347802158,401.53832428939,427.43578342293,444.26952759254,472.92296174596,491.54841572131,523.2511306012,556.99853141357,592.92249142473,616.27397035104,640.54474682231,681.85707095323,725.83385862642,754.41987838254,803.07664857879],description:"Jacky Ligon, 2/1 Phi Scale, TL 12-04-2001"},ligon5:{frequencies:[261.6255653006,273.22765669781,280.653851324,293.09977429907,314.41721066027,328.36040925687,337.28508524374,352.24238645938,377.86132347501,394.61802538749,405.34378524393,423.31898451752,454.1076550834,474.24531572837,487.13535379632,508.73764640933,545.73895363303],description:'Jacky Ligon, scale for "Two Golden Flutes" (2001)'},ligon6:{frequencies:[261.6255653006,280.653851324,293.09977429907,314.41721066027,328.36040925687,352.24238645938,377.86132347501,394.61802538749,423.31898451752,442.09155952525,474.24531572837,508.73764640933,531.29821178855,569.94005600595],description:'Jacky Ligon, "Primal Golden Tuning" (2001)'},ligon7:{frequencies:[261.6255653006,294.32876096318,321.08592105074,361.22166118208,394.05999401681,443.31749326891,483.61908356609,527.58445479937],description:"Jacky Ligon, 7 tone, 27/22=generator, MMM 22-01-2002"},lindley_ea:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,328.14198392915,349.6228209638,367.9112241576,391.5530240856,413.43299207996,438.51190905657,465.63764214343,491.10256480205,523.2511306012],description:"Mark Lindley +J. de Boer +W. Drake (1991), for organ Grosvenor Chapel, London"},lindley_sf:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.07474405997,328.14198392915,349.6228209638,368.32692341742,391.5530240856,413.90012676351,438.51190905657,465.63764214343,491.10256480205,523.2511306012],description:"Lindley (1988) suggestion nr. 2 for Stanford Fisk organ"},"ling-lun":{frequencies:[261.6255653006,279.38237857051,294.32876096318,314.30517589183,331.11985608357,353.59332287831,372.50983809402,392.4383479509,419.07356785577,441.49314144476,471.45776383774,496.67978412536,523.2511306012],description:"Scale of Ling Lun from C"},liu_major:{frequencies:[261.6255653006,290.69507255622,322.99452506247,348.83408706747,392.4383479509,436.04260883433,484.4917875937,523.2511306012],description:`Linus Liu's Major Scale, see his 1978 book, "Intonation Theory"`},liu_mel:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,392.4383479509,423.83341578697,436.04260883433,470.92601754108,484.4917875937,523.2511306012],description:"Linus Liu's Melodic Minor, use 5 and 7 descending and 6 and 8 ascending"},liu_minor:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,387.59343007496,418.60090448096,484.4917875937,523.2511306012],description:"Linus Liu's Harmonic Minor"},liu_pent:{frequencies:[261.6255653006,294.32876096318,331.11985608357,353.19451315581,392.4383479509,441.49314144476,496.67978412536,529.79176973372],description:`Linus Liu's "pentatonic scale"`},lorina:{frequencies:[261.6255653006,271.31540105247,293.02063313667,305.22982618403,313.95067836072,348.83408706747,348.83408706747,385.55346465352,406.97310157871,457.84473927605,457.84473927605,465.11211608996,523.2511306012],description:"Lorina"},lt46a:{frequencies:[261.6255653006,265.62583852249,273.73233506765,277.91772325275,286.39934942254,290.77841553921,299.65253047503,308.79746990018,313.51900484808,323.08712797864,328.02715279963,338.03804253716,348.35444940179,353.68081538041,364.47461587782,370.04745828823,381.3407438317,387.1714705201,398.98735486934,411.16384203565,417.45056598488,430.19052226982,436.76816801564,450.09766813034,463.83396431287,470.92601754108,485.29796386361,492.71820372913,507.75521382755,523.2511306012],description:"13-limit temperament, minimax g=495.66296 cents"},lucy_19:{frequencies:[261.6255653006,272.17716319349,280.81422591737,292.13972001074,301.4102593031,313.56641022552,326.2128298123,336.56461921066,350.13857756143,364.25998604447,375.81913491042,390.97626371576,406.74469336313,419.65201956185,436.57696862128,450.43096951372,468.59726172356,487.49621708267,502.96605061019,523.2511306012],description:"Lucy's 19-tone scale"},lucy_24:{frequencies:[261.6255653006,269.92785558198,272.17712546173,280.81425349217,292.13970819848,301.41031849758,303.92192719902,313.56642833783,326.21280343239,336.56467170065,339.36921655583,350.13858362887,364.25994396351,375.81917832675,390.97625694066,403.38329512334,406.744629928,419.65205349792,436.57694340361,450.43105016925,454.18442712942,468.59728067062,487.49616921257,502.96612033609,523.2511306012],description:"Lucy/Harrison, meantone tuning from Bbb to Cx, third=1200.0/pi, 1/1=A"},lucy_31:{frequencies:[261.6255653006,269.92785558198,272.17712546173,280.81425349217,283.15423815518,292.13970819848,301.41031849758,303.92192719902,313.56642833783,323.51698308414,326.21280343239,336.56467170065,339.36921655583,350.13858362887,361.24970022276,364.25994396351,375.81917832675,378.95082751155,390.97625694066,403.38329512334,406.744629928,419.65205349792,432.96907456701,436.57694340361,450.43105016925,454.18442712942,468.59728067062,483.46750424654,487.49616921257,502.96612033609,507.15726445705,523.2511306012],description:"Lucy/Harrison's meantone tuning, 1/1=A"},lucy_7:{frequencies:[261.6255653006,292.13972001074,326.2128298123,350.13857756143,390.97626371576,436.57696862128,487.49621708267,523.2511306012],description:"Diatonic Lucy's scale"},lumma5:{frequencies:[261.6255653006,279.06726965397,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,459.88868900496,490.54793493862,523.2511306012],description:"Carl Lumma's 5-limit version of lumma7, also Fokker 12-tone just."},lumma7:{frequencies:[261.6255653006,279.06726965397,293.02063313667,305.22982618403,327.03195662575,348.83408706747,366.27579142084,390.69417751556,418.60090448096,436.04260883433,457.84473927605,488.36772189445,523.2511306012],description:"Carl Lumma's 7-limit 12-tone scale, a.k.a GW Smith's Prism. TL 21-11-98"},lumma7t:{frequencies:[261.6255653006,279.68948643792,293.67396186758,305.56991806333,326.66797434652,349.22276480589,366.68390442934,392.00157215927,419.06732091375,436.04260883433,457.84473927605,489.45662770953,523.2511306012],description:"Tempered lumma7, 6 tetrads + 4 triads within 2c of Just, TL 19-2-99"},lumma7t72:{frequencies:[261.6255653006,279.86396690685,293.66476791741,305.19382000629,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,435.78442404634,457.27406033445,489.15147723638,523.2511306012],description:"72-tET version of lumma7t"},lumma7t_keen:{frequencies:[261.6255653006,279.95098841649,293.39965821869,305.14186035122,326.51537799354,349.38597341375,366.17023517096,391.81845653432,419.26317124465,436.04260556019,456.98979229899,488.99939844699,523.2511306012],description:"Dave Keenan's adaptation of lumma7t to include 6:8:11, TL 17-04-9"},lumma_10:{frequencies:[261.6255653006,281.2143451833,302.26980244078,324.90175210669,349.22823143301,375.37611551499,391.99543598175,421.34544350737,452.89298412314,486.80259447109,523.2511306012],description:"Carl Lumma's 10-tone 125 cent Pyth. scale, TL 29-12-1999"},lumma_12_fun:{frequencies:[261.6255653006,276.16031892841,293.246794009,310.68035879446,327.94037872749,348.23056788569,368.93292606842,390.99572534534,413.52379936426,439.8701910135,464.30742384759,491.05951174505,522.34585182853],description:"Rational well temperament based on 577/289, 3/2, and 19/16."},"lumma_12_moh-ha-ha":{frequencies:[261.6255653006,276.16031892841,293.42033886144,310.68035879446,330.09788121912,349.51540364377,368.93292606842,391.72740891476,414.24047839262,440.13050829216,466.02053819169,493.4335110265,523.2511306012],description:"Rational well temperament."},lumma_12_strangeion:{frequencies:[261.6255653006,277.97716313189,292.40504357126,310.68035879446,330.09788121912,349.23197505989,368.93292606842,391.9912339477,414.71297038361,440.63253103259,468.17206422213,492.47165233054,523.2511306012],description:'19-limit "dodekaphonic" scale.'},lumma_22:{frequencies:[261.6255653006,263.29318697558,262.98919438538,262.83732973433,262.68555277841,262.53386346698,263.29318697558,262.38226174944,262.98919438538,262.23074757519,263.29318697558,262.68555277841,262.07932089369,263.29318697558,262.83732973433,263.59753095473,262.38226174944,263.44531501617,262.68555277841,262.98919438538,263.29318697558,263.902226729,261.92798165442],description:"Carl Lumma, intervals of attraction by trial and error, 1999."},lumma_5151:{frequencies:[261.6255653006,276.7826524273,292.81785438923,309.78204413166,327.729041887,346.71578592374,369.67398581173,391.09077971329,413.74834001613,437.71854962063,463.0774559108,489.90551202062,522.3451906503],description:"Carl Lumma's 5151 temperament III (1197/709.5/696). June 2003"},lumma_al1:{frequencies:[261.6255653006,274.63272075836,292.81785438923,309.78204413166,327.729041887,346.71578592374,366.8025131876,391.09077971329,413.74834001613,437.71854962063,463.0774559108,489.90551202062,522.3451906503],description:"Alaska I (1197/709.5/696), Carl Lumma, 6 June 2003."},lumma_al2:{frequencies:[261.6255653006,275.18850165466,292.98704147282,310.05056613125,328.10786809908,347.216824829,367.43868454848,391.20374747207,413.98739946535,438.09796819065,463.6127330944,490.61347436729,522.3451906503],description:"Alaska II (1197/707/696.5), Carl Lumma, 6 June 2003."},lumma_al3:{frequencies:[261.6255653006,275.18850165466,292.98704147282,310.05056613125,328.10786809908,349.32910706765,367.43868454848,391.20374747207,413.98739946535,438.09796819065,463.6127330944,490.61347436729,522.3451906503],description:"Alaska III (1197/707/696.5), Carl Lumma, 6 June 2003."},lumma_al4:{frequencies:[261.6255653006,276.38325105256,293.32570896007,309.87152561537,328.86683469969,349.02656754477,368.7143392539,391.31674786192,413.39000965417,438.73106346722,464.55095742407,491.89038573682,522.04355935974],description:"Alaska IV (1196/701/697), Carl Lumma, 6 June 2003."},lumma_al5:{frequencies:[261.6255653006,276.84261239447,293.89809826895,310.99222741882,329.08061019985,349.35433052883,369.67398581173,391.17550247358,415.27471248744,439.42852501549,464.98720675925,493.63374591774,522.3451906503],description:"Alaska V (1197/702/696.375), Carl Lumma, 6 June 2003."},lumma_al6:{frequencies:[261.6255653006,276.86260193655,293.83444433876,310.94732162256,329.05685050583,349.22823143301,369.56723519412,391.09077971329,415.06487744922,439.23819834286,464.81937009253,493.31307433255,522.04355935974],description:"Alaska VI (1196/701/696), Carl Lumma, 6 June 2003."},lumma_al7:{frequencies:[261.6255653006,276.11677207256,293.26810788146,310.16878953668,328.73958549954,348.42227432308,368.499294457,391.39134599911,413.94674961638,438.72852926454,464.99660740427,491.79379203259,522.3451906503],description:"Alaska VII, Carl Lumma, 27 Jan 2004"},lumma_dec1:{frequencies:[261.6255653006,286.10322937235,299.18791603519,327.17991022208,342.14320575162,374.15409293384,391.26571058456,427.87249484695,457.55816161244,489.30340830564,523.2511306012],description:"Carl Lumma, two 5-tone 7/4-chains, 5/4 apart in 31-tET, TL 9-2-2000"},lumma_dec2:{frequencies:[261.6255653006,286.10322937235,292.57243455474,327.17991022208,342.14320575162,382.6142546815,391.26571058456,437.54730686196,457.55816161244,511.68128147674,523.2511306012],description:"Carl Lumma, two 5-tone 3/2-chains, 7/4 apart in 31-tET, TL 9-2-2000"},lumma_magic:{frequencies:[261.6255653006,293.02063313667,299.00064605783,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,418.60090448096,436.04260883433,457.84473927605,467.18850946536,523.2511306012],description:"Magic chord test, Carl Lumma, TL 24-06-99"},"lumma_synchtrines+2":{frequencies:[261.6255653006,277.1478691313,293.59111644706,311.009943641,329.46223568632,349.00930447981,369.71610741159,391.65144749868,414.88821865981,439.50363030131,465.57948255979,493.20241832805,522.46423212702],description:"The 12-tone equal temperament with 2:3:4 brats of +2"},"lumma_synchtrines-2":{frequencies:[261.6255653006,277.19623399848,293.69359242342,311.17279259662,329.69226891672,349.31393351076,370.10338321153,392.13011885309,415.46777761785,440.19437666896,466.39258399594,494.14997995304,523.55935978973],description:"The 12-tone equal temperament with 2:3:4 brats of -2"},lydian_chrom:{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,317.12189733406,327.03195662575,373.75080757229,402.50086969323,418.60090448096,427.14378008261,436.04260883433,475.68284600109,523.2511306012,550.79066379074,581.39014511244,615.58956541318,634.24379466812,654.0639132515,747.50161514457,805.00173938646,837.20180896192,854.28756016522,872.08521766867,951.36569200218,1046.5022612024],description:"Lydian Chromatic Tonos"},lydian_chrom2:{frequencies:[261.6255653006,272.09058791262,283.42769574232,340.11323489078,377.90359432309,400.13321751856,425.14154361347,523.2511306012],description:"Schlesinger's Lydian Harmonia in the chromatic genus"},lydian_chrominv:{frequencies:[261.6255653006,271.68808704293,281.75060878526,362.25078272391,402.50086969323,422.62591317789,442.75095666255,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Lydian inverted"},lydian_diat:{frequencies:[261.6255653006,275.39533189537,290.69507255622,327.03195662575,348.83408706747,373.75080757229,387.59343007496,402.50086969323,436.04260883433,455.00098313148,475.68284600109,498.33441009638,523.2511306012,550.79066379074,581.39014511244,654.0639132515,697.66817413493,747.50161514457,852.70554616492,805.00173938646,872.08521766867,910.00196626296,951.36569200218,996.66882019276,1046.5022612024],description:"Lydian Diatonic Tonos"},lydian_diat2:{frequencies:[261.6255653006,283.42769574232,309.19384990071,340.11323489078,358.01393146398,377.90359432309,425.14154361347,485.87604984397,523.2511306012],description:"Schlesinger's Lydian Harmonia, a subharmonic series through 13 from 26"},lydian_diat2inv:{frequencies:[261.6255653006,281.75060878526,322.00069575458,362.25078272391,382.37582620857,402.50086969323,442.75095666255,483.00104363188,523.2511306012],description:"Inverted Schlesinger's Lydian Harmonia, a harmonic series from 13 from 26"},lydian_diatcon:{frequencies:[261.6255653006,283.42769574232,309.19384990071,340.11323489078,358.01393146398,425.14154361347,485.87604984397,523.2511306012],description:"A Lydian Diatonic with its own trite synemmenon replacing paramese"},lydian_enh:{frequencies:[261.6255653006,275.39533189537,290.69507255622,299.00064605783,303.33398875432,307.79478270659,373.75080757229,402.50086969323,410.39304360878,414.45634107026,418.60090448096,475.68284600109,523.2511306012,550.79066379074,581.39014511244,598.00129211566,606.66797750864,615.58956541318,747.50161514457,805.00173938646,820.78608721757,828.91268214051,837.20180896192,951.36569200218,1046.5022612024],description:"Lydian Enharmonic Tonos"},lydian_enh2:{frequencies:[261.6255653006,266.75547834571,272.09058791262,340.11323489078,377.90359432309,388.70083987518,400.13321751856,523.2511306012],description:"Schlesinger's Lydian Harmonia in the enharmonic genus"},lydian_enhinv:{frequencies:[261.6255653006,266.65682617177,271.68808704293,362.25078272391,402.50086969323,412.56339143556,422.62591317789,523.2511306012],description:"A harmonic form of Schlesinger's Enharmonic Lydian inverted"},lydian_pent:{frequencies:[261.6255653006,269.93113880221,283.42769574232,340.11323489078,377.90359432309,395.48050568695,425.14154361347,523.2511306012],description:"Schlesinger's Lydian Harmonia in the pentachromatic genus"},lydian_pis:{frequencies:[261.6255653006,290.69507255622,327.03195662575,373.75080757229,402.50086969323,436.04260883433,475.68284600109,523.2511306012,550.79066379074,581.39014511244,654.0639132515,747.50161514457,805.00173938646,872.08521766867,951.36569200218,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Lydian Tonos"},lydian_tri:{frequencies:[261.6255653006,268.51044859798,275.76748774928,340.11323489078,377.90359432309,392.4383479509,408.13588186894,523.2511306012],description:"Schlesinger's Lydian Harmonia in the first trichromatic genus"},lydian_tri2:{frequencies:[261.6255653006,268.51044859798,283.42769574232,340.11323489078,377.90359432309,392.4383479509,425.14154361347,523.2511306012],description:"Schlesinger's Lydian Harmonia in the second trichromatic genus"},nachbaur_6:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,457.84473927605,523.2511306012],description:`Fred Nachbaur's harmonic hexatonic, as used in "Void of Sensation"`},nassarre:{frequencies:[261.6255653006,277.66336828161,294.34406205295,311.66659310186,331.15428443044,350.6431449633,372.56793743951,394.49404533893,419.16071913933,443.82887286778,471.58032351597,495.88429116026,523.2511306012],description:"Nassarre's Equal Semitones"},negri5_19:{frequencies:[261.6255653006,271.22480440713,281.41555648081,291.74090527404,302.70251050738,313.80889368201,325.59966315504,337.54616011163,350.22880998446,363.07896889448,376.72096510961,390.54314115106,405.21705098851,420.08476989056,435.86864979507,451.86099895106,468.83881245397,486.04086171852,504.30291533224,523.2511306012],description:"Negri temperament, g=126.238272, 5-limit"},negri_19:{frequencies:[261.6255653006,269.02825605326,281.18681366715,289.14299126725,302.21061955257,310.76166549402,324.80633749066,333.99672707734,349.09149261831,358.96903024071,375.19240283292,392.14898023137,403.24482870584,421.46921730446,433.39468387282,452.98167562873,465.79878414581,486.85025820508,500.62567766841,523.2511306012],description:"Negri temperament, 13-limit, g=124.831"},negri_29:{frequencies:[261.6255653006,269.02825605326,276.64040740805,281.18681366715,289.14299126725,297.32428710198,302.21061955257,310.76166549402,319.55466133443,324.80633749066,333.99672707734,343.44715857517,349.09149261831,358.96903024071,369.1260526158,375.19240283292,385.80846524917,392.14898023137,403.24482870584,414.65463641221,421.46921730446,433.39468387282,445.65757880387,452.98167562873,465.79878414581,478.97855252217,486.85025820508,500.62567766841,514.79087238232,523.2511306012],description:"Negri temperament, 13-limit, g=124.831"},"neid-mar-morg":{frequencies:[261.6255653006,277.49581689502,293.99657683935,311.12698372208,329.99999983505,349.6228209638,369.99442271164,392.4383479509,415.77394625748,440,466.69047534984,494.44133512215,523.2511306012],description:"Neidhardt-Marpurg-de Morgan temperament (1858)"},neidhardt1:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.42509491746,328.14198392915,348.83408706747,368.32692341742,391.5530240856,414.36778843034,438.51190905657,465.11211608996,491.65745674141,523.2511306012],description:"Neidhardt I temperament (1724)"},neidhardt2:{frequencies:[261.6255653006,276.55731914056,293.00227310437,310.77584116741,328.51274831708,349.22823143301,369.15973155124,391.5530240856,414.36778843034,438.51190905657,466.16376151809,492.7691222293,523.2511306012],description:"Neidhardt II temperament (1724)"},neidhardt3:{frequencies:[261.6255653006,276.55731914056,293.00227310437,310.77584116741,328.51274831708,348.83408706747,369.15973155124,391.5530240856,414.36778843034,438.51190905657,465.63764214343,492.7691222293,523.2511306012],description:"Neidhardt III temperament (1724) 'Grosse Stadt'"},neidhardt4:{frequencies:[261.6255653006,277.18263097687,293.66476791741,311.12698372208,329.62755691287,349.22823143301,369.99442271164,391.99543598175,415.30469757995,440,466.16376151809,493.88330125613,523.2511306012],description:"Neidhardt IV temperament (1724), equal temperament"},neidhardtn:{frequencies:[261.6255653006,276.86979852503,293.66476791741,310.77584116741,329.62755691287,348.83408706747,369.99442271164,391.5530240856,415.30469757995,439.50340943686,466.16376151809,493.32589719545,523.2511306012],description:"Johann Georg Neidhardt's temperament (1732), alt. 1/6 & 0 P, also Marpurg nr.10"},neogeb24:{frequencies:[261.6255653006,270.11478301563,282.39420473706,291.55732426372,295.23185084282,304.81152420286,308.65309481038,318.66826025208,333.15492371116,343.96512368902,348.30015108876,359.6017829051,375.94928703407,388.14807710176,393.03994675222,405.79329398283,424.24066266408,438.00640969567,443.52664897728,457.91818970179,463.68937649142,478.73515685363,500.49846361623,516.73862125829,523.2511306012],description:"Neo-Gothic e-based lineotuning (T/S or Blackwood's R=e, ~2.71828), 24 notes"},neogji12:{frequencies:[261.6255653006,282.52678126125,294.32876096318,317.84262891891,332.97799220076,348.83408706747,374.60024122586,392.4383479509,423.79017189188,441.49314144476,443.97065626768,499.46698830115,523.2511306012],description:"M. Schulter, neo-Gothic 12-note JI (prim. 2/3/7/11) 1/1=F with Eb key as D+1"},neogp16a:{frequencies:[261.6255653006,274.38778799819,281.28352228595,295.02457363685,309.19384990071,317.19205704586,332.33517754401,348.83408706747,366.27579142084,374.86334014511,392.4383479509,411.12588832951,422.62591317789,442.75095666255,464.34856430463,498.91386871277,523.2511306012],description:"M. Schulter, scale from mainly prime-to-prime ratios and octave complements (Gb-D#)"},neutr_diat:{frequencies:[261.6255653006,294.32876096318,320.24370022528,348.83408706747,392.4383479509,427.47405410759,479.82340237272,523.2511306012],description:"Neutral Diatonic, 9 + 9 + 12 parts, geometric mean of major and minor"},neutr_pent1:{frequencies:[261.6255653006,302.32287545847,348.83408706747,392.4383479509,453.48431318771,523.2511306012],description:"Quasi-Neutral Pentatonic 1, 15/13 x 52/45 in each trichord, after Dudon"},neutr_pent2:{frequencies:[261.6255653006,301.87565226992,348.83408706747,392.4383479509,452.81347840488,523.2511306012],description:"Quasi-Neutral Pentatonic 2, 15/13 x 52/45 in each trichord, after Dudon"},new_enh:{frequencies:[261.6255653006,264.89588486686,279.06726965397,348.83408706747,392.4383479509,397.34382730029,418.60090448096,523.2511306012],description:"New Enharmonic"},new_enh2:{frequencies:[261.6255653006,327.03195662575,331.11985608357,348.83408706747,392.4383479509,490.54793493862,496.67978412536,523.2511306012],description:"New Enharmonic permuted"},newcastle:{frequencies:[261.6255653006,273.65745935891,291.9012907804,312.65334602246,327.03195662575,350.28154752005,366.3906401674,390.81668391305,410.48618883318,436.04260883433,467.04206359353,490.54793493862,523.2511306012],description:"Newcastle modified 1/3-comma meantone"},norden:{frequencies:[261.6255653006,274.87601291722,292.73769384471,310.07474405997,327.54963108844,349.78078158391,366.5013507395,391.37619916626,412.31401916973,437.91808280662,466.37437567834,489.99465727995,523.2511306012],description:"Reconstructed Schnitger temperament, organ in Norden. Ortgies, 2002"},novaro:{frequencies:[261.6255653006,274.70684356563,279.06726965397,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,490.54793493862,498.33441009638,523.2511306012],description:"9-limit diamond with 21/20, 16/15, 15/8 and 40/21 added for evenness"},novaro15:{frequencies:[261.6255653006,279.06726965397,280.31310567921,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,301.87565226992,305.22982618403,309.19384990071,313.95067836072,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,356.76213450082,359.73515228832,362.25078272391,366.27579142084,373.75080757229,377.90359432309,380.54627680087,383.71749577421,392.4383479509,402.50086969323,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,442.75095666255,448.50096908674,453.48431318771,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,488.36772189445,490.54793493862,523.2511306012],description:"1-15 diamond, see Novaro, 1927, Sistema Natural base del Natural-Aproximado, p"},novaro_eb:{frequencies:[261.6255653006,277.27733921611,293.70273468471,311.34510173929,329.85947563084,349.74559786079,370.61463194963,392.51515715445,416.03831243363,440.72414616847,467.23897542105,495.06435356607,524.26505360912],description:"Novaro (?) equal beating 4/3 with strectched octave, almost pure 3/2"},janke1:{frequencies:[261.6255653006,276.38325105256,293.32570896007,310.58830860439,328.86683469969,349.02656754477,368.7143392539,391.76907592069,414.34624765043,439.23819834286,465.62553897253,492.45896815637,523.2511306012],description:"Rainer Janke, Temperatur I"},janke2:{frequencies:[261.6255653006,276.38325105256,292.98704147282,310.58830860439,328.48713220126,349.02656754477,368.7143392539,391.54284657258,414.34624765043,438.73106346722,465.62553897253,491.89038573682,523.2511306012],description:"Rainer Janke, Temperatur II"},janke3:{frequencies:[261.6255653006,276.22365192501,292.98704147282,310.40895756597,328.29744538229,349.02656754477,368.50142299854,391.54284657258,414.10698098223,438.47771564426,465.62553897253,491.60634075178,523.2511306012],description:"Rainer Janke, Temperatur III"},janke4:{frequencies:[261.6255653006,275.90473010106,292.98704147282,310.76776326996,328.10786809908,349.22823143301,368.07595926604,391.54284657258,413.86785247997,438.47771564426,465.89457252293,491.32245979018,523.2511306012],description:"Rainer Janke, Temperatur IV"},janke5:{frequencies:[261.6255653006,275.58617649731,292.98704147282,310.05056613125,328.10786809908,348.82502010853,367.43868454848,391.54284657258,413.39000965417,438.47771564426,465.08793784701,491.0387427573,523.2511306012],description:"Rainer Janke, Temperatur V"},janke6:{frequencies:[261.6255653006,275.74540729824,292.98704147282,310.58830860439,328.10786809908,349.43001184052,367.65098676472,391.54284657258,413.86785247997,438.47771564426,465.89457252293,491.0387427573,523.2511306012],description:"Rainer Janke, Temperatur VI"},janke7:{frequencies:[261.6255653006,275.42703764514,292.81785438923,311.12698372208,327.91840028839,349.63190883464,367.0144478307,391.54284657258,413.62886206386,438.22451411849,467.24207374344,490.75518955849,523.2511306012],description:"Rainer Janke, Temperatur VII"},jemblung1:{frequencies:[261.6255653006,298.87388797409,337.89601991959,388.44742741354,452.30188977628,523.2511306012],description:"Scale of bamboo gamelan jemblung from Kalijering, slendro-like. 1/1=590 Hz."},jemblung2:{frequencies:[261.6255653006,300.03885820455,355.06324470257,391.40016308218,451.61555914985,523.2511306012],description:"Bamboo gamelan jemblung at Royal Batavia Society. 1/1=504 Hz."},ji_10coh:{frequencies:[261.6255653006,283.42769574232,299.7792935736,327.03195662575,348.83408706747,370.63621750918,392.4383479509,436.04260883433,457.84473927605,485.0974023282,523.2511306012],description:"Differentially coherent 10-tone scale"},ji_10coh2:{frequencies:[261.6255653006,305.22982618403,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,470.92601754108,479.64686971777,523.2511306012],description:"Other diff. coherent 10-tone scale"},ji_11:{frequencies:[261.6255653006,276.96780524107,294.32876096318,316.53463456122,336.37572681506,356.10146388137,384.42940207435,406.97310157871,432.48307733364,465.11211608996,494.26637409559,523.2511306012],description:"3 and 7 prime rational interpretation of 11-tET. OdC 2000"},ji_12:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Basic JI with 7-limit tritone"},ji_12a:{frequencies:[261.6255653006,279.06726965397,294.32876096318,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"7-limit 12-tone scale"},ji_12b:{frequencies:[261.6255653006,272.52663052146,290.69507255622,305.22982618403,327.03195662575,343.38355445704,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"alternate 7-limit 12-tone scale"},ji_12c:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:'Kurzweil "Just with natural b7th", is Sauveur Just with 7/4'},ji_13:{frequencies:[261.6255653006,279.06726965397,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,372.08969287196,392.4383479509,418.60090448096,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"5-limit 12-tone symmetrical scale with two tritones"},ji_17:{frequencies:[261.6255653006,271.31540105247,283.8170195002,294.32876096318,310.07474405997,321.55899383997,336.37572681506,348.83408706747,361.75386806997,378.42269266694,392.4383479509,406.97310157871,425.72552925031,441.49314144476,465.11211608996,482.33849075995,504.56359022259,523.2511306012],description:"3 and 7 prime rational interpretation of 17-tET. OdC"},ji_17a:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,310.07474405997,321.08592105074,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,426.35277308246,441.49314144476,465.11211608996,484.4917875937,502.32108537715,523.2511306012],description:"3, 5 and 11 prime rational interpretation of 17-tET, OdC"},ji_17b:{frequencies:[261.6255653006,272.52663052146,285.40970760065,294.32876096318,310.07474405997,319.76457981184,334.88072358477,348.83408706747,359.73515228832,380.54627680087,392.4383479509,408.78994578219,428.11456140098,441.49314144476,465.11211608996,479.64686971777,502.32108537715,523.2511306012],description:"Alt. 3, 5 and 11 prime rational interpretation of 17-tET, OdC"},ji_19:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,353.19451315581,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,470.92601754108,490.54793493862,523.2511306012],description:"5-limit 19-tone scale"},ji_20:{frequencies:[261.6255653006,271.31540105247,279.38237857051,288.32205155576,299.00064605783,310.07474405997,321.55899383997,331.11985608357,348.83408706747,356.10146388137,372.50983809402,384.42940207435,392.4383479509,413.43299207996,425.72552925031,441.49314144476,457.84473927605,474.80195184183,489.99465727995,504.56359022259,523.2511306012],description:"3 and 7 prime rational interpretation of 20-tET. OdC"},ji_21:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,504.56359022259,523.2511306012],description:"7-limit 21-tone just scale, Op de Coul, 2001"},ji_22:{frequencies:[261.6255653006,272.52663052146,279.06726965397,282.55561052465,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,340.65828815182,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,470.92601754108,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"5-limit 22-tone scale (Zarlino?)"},ji_27:{frequencies:[261.6255653006,267.90457886781,275.62199471997,282.55561052465,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,331.11985608357,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,413.43299207996,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,484.4917875937,496.67978412536,510.98743222773,523.2511306012],description:"7-limit rational interpretation of 27-tET, OdC"},ji_29:{frequencies:[261.6255653006,267.90457886781,275.62199471997,282.55561052465,287.78812183066,294.32876096318,301.39265122629,310.07474405997,317.12189733406,323.76163705949,331.11985608357,340.65828815182,348.83408706747,356.76213450082,367.91095120397,372.08969287196,383.71749577421,392.4383479509,401.85686830172,413.43299207996,422.82919644541,431.68218274599,441.49314144476,454.2110508691,465.11211608996,475.68284600109,484.4917875937,496.67978412536,510.98743222773,523.2511306012],description:"3,5,11-prime rational interpretation of 29-tET, OdC"},ji_30:{frequencies:[261.6255653006,267.57160087561,274.70684356563,280.31310567921,286.15296204753,294.32876096318,299.7792935736,308.34441624714,313.95067836072,321.92208230347,329.64821227876,336.37572681506,344.91651675372,353.19451315581,360.81424763342,370.01329949656,379.40816842909,387.59343007496,396.89567239676,406.97310157871,415.27867508032,425.24536328225,436.04260883433,443.97065626768,456.65553216105,465.11211608996,478.40103369253,488.36772189445,498.33441009638,511.62332769895,523.2511306012],description:"11-limit rational interpretation of 30-tET"},ji_31:{frequencies:[261.6255653006,267.57160087561,274.08392555301,280.31310567921,285.40970760065,293.02063313667,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,334.88072358477,343.38355445704,348.83408706747,356.76213450082,366.27579142084,373.75080757229,383.71749577421,392.4383479509,398.6675280771,408.78994578219,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,467.18850946536,479.64686971777,490.54793493862,499.46698830115,512.78610798918,523.2511306012],description:"A just 11-limit 31-tone scale, optimized for Mann complexity"},ji_31a:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,318.93402246168,327.03195662575,334.88072358477,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,408.78994578219,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,465.11211608996,478.40103369253,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"A just 7-limit 31-tone scale"},ji_31b:{frequencies:[261.6255653006,267.90457886781,275.93321340298,282.55561052465,287.4304306281,294.32876096318,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,344.91651675372,353.19451315581,359.28803828513,367.91095120397,376.74081403286,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,431.14564594215,441.49314144476,452.08897683944,459.88868900496,470.92601754108,479.0507177135,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"A just 5-limit 31-tone scale, corner clipped genus"},ji_31c:{frequencies:[261.6255653006,267.57160087561,272.52663052146,279.06726965397,285.40970760065,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,334.88072358477,343.38355445704,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,398.6675280771,408.78994578219,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,479.64686971777,490.54793493862,502.32108537715,511.62332769895,523.2511306012],description:"A just 11-limit 31-tone scale"},ji_5coh:{frequencies:[261.6255653006,305.22982618403,348.83408706747,381.53728273004,446.94367405519,523.2511306012],description:"Differential fully coherent pentatonic scale"},ji_6coh:{frequencies:[261.6255653006,294.32876096318,330.74639366397,372.08969287196,418.60090448096,465.11211608996,523.2511306012],description:"Differential coherent 6-tone scale, OdC 2003"},ji_7:{frequencies:[261.6255653006,290.69507255622,318.93402246168,348.83408706747,392.4383479509,429.2294430713,470.92601754108,523.2511306012],description:"7-limit rational interpretation of 7-tET. OdC"},ji_7a:{frequencies:[261.6255653006,287.78812183066,319.76457981184,348.83408706747,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Superparticular approximation to 7-tET. Op de Coul, 1998"},ji_8coh:{frequencies:[261.6255653006,286.99041781007,312.35527031954,339.96223546814,370.00947616612,405.83764015148,441.71144237774,480.75585116768,523.2511306012],description:"Differential coherent 8-tone scale, OdC, 2003"},ji_8coh3:{frequencies:[261.6255653006,277.97716313189,302.50455987882,327.03195662575,359.73515228832,392.4383479509,425.14154361347,466.02053819169,523.2511306012],description:"Differential fully coherent 8-tone scale, OdC, 2003"},ji_9coh:{frequencies:[261.6255653006,287.78812183066,313.95067836072,327.03195662575,366.27579142084,392.4383479509,418.60090448096,470.92601754108,497.08857407114,523.2511306012],description:"Differentially coherent 9-tone scale"},ji_ri24a:{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,301.87565226992,310.68035879446,319.76457981184,329.87571277032,340.11323489078,348.83408706747,359.73515228832,370.63621750918,380.54627680087,392.4383479509,402.50086969323,414.99227599406,428.11456140098,440.63253103259,453.48431318771,465.11211608996,479.64686971777,494.18162334558,508.71637697339,523.2511306012],description:"M. Schulter, just/rational intonation system - with circulating 24-note set"},jioct12:{frequencies:[261.6255653006,272.52663052146,282.55561052465,302.80736724606,313.95067836072,327.03195662575,363.36884069528,376.74081403286,392.4383479509,436.04260883433,454.2110508691,470.92601754108,523.2511306012],description:"12-tone JI version of Messiaen's octatonic scale, Erlich & Par\xEF\xBF\xBDzek"},"jobin-bach":{frequencies:[261.6255653006,275.07759559501,292.50627485027,309.76836826904,327.03195662575,348.83408706747,366.77012764335,391.22147055517,412.61639318626,437.39890198442,464.6525521713,489.02683710225,523.2511306012],description:"Emile Jobin, WTC temperament after Bach's signet"},"johnson-secor_rwt":{frequencies:[261.6255653006,276.16031892841,293.03678286293,310.07474405997,327.94037872749,348.83408706747,368.21375857121,391.52992584916,414.24047839262,438.40450629885,465.11211608996,490.95167809495,523.2511306012],description:"Johnson/Secor proportional-beating well-temperament with five 24/19s."},johnson_44:{frequencies:[261.6255653006,265.7783520514,269.99705605222,274.2827236086,278.63641763414,283.05921791404,287.55222124002,292.11654190835,296.75331210627,301.46368356757,306.24882108355,311.17820103386,316.11753722951,321.13527558179,326.23266245367,331.4109583385,336.67144939063,342.01544029518,347.44425644654,352.9592442771,358.56177366235,364.2532300084,370.03502692537,375.90859839047,381.87540114246,387.93691728375,394.09464571975,400.35011587045,406.70487919155,413.16051176499,419.71861468993,426.38081694263,433.14876596753,440.02414274758,447.00865248514,454.10402744924,461.31203006992,468.63444275836,476.07308421189,483.62979961065,491.30646309654,499.10497838378,507.02727962797,515.07533168556,523.2511306012],description:"Aaron Johnson, 44-tET approximation"},johnson_7:{frequencies:[261.6255653006,288.83389952765,318.87182567809,352.10227751942,388.71994014354,429.2294430713,473.86811641255,523.2511306012],description:"Aaron Johnson, 7-tET approximation"},johnson_eb:{frequencies:[261.6255653006,273.1678696521,292.40504357126,312.71949922989,327.03195662575,349.65487315468,365.50630446407,390.89937403737,408.78994578219,437.06859144336,467.84806971401,488.62421754671,523.2511306012],description:'Aaron Johnson, "1/4-comma tempered" equal beating C-G-D-A-E plus just thirds'},johnson_ratwell:{frequencies:[261.6255653006,276.16031892841,292.90688289089,310.07474405997,327.94037872749,348.83408706747,368.21375857121,391.49724879514,414.24047839262,438.30776524386,465.11211608996,490.95167809495,523.2511306012],description:"Aaron Johnson, rational well-temperament with five 24/19's"},johnson_temp:{frequencies:[261.6255653006,275.52965735686,292.50638298357,309.88336774144,327.03195662575,348.76230617841,367.55223824197,391.22154286826,413.09299784305,437.39914452994,464.92072007996,490.30891677011,523.2511306012],description:"Aaron Johnson, temperament with just 5/4, 24/19 and 19/15"},johnston:{frequencies:[261.6255653006,275.93321340298,294.32876096318,315.35224388912,327.03195662575,359.73515228832,367.91095120397,392.4383479509,401.35740131342,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Ben Johnston's combined otonal-utonal scale"},johnston_21:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,340.65828815182,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,470.92601754108,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Johnston 21-note just enharmonic scale"},johnston_22:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,353.19451315581,367.91095120397,378.42269266694,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,504.56359022259,523.2511306012],description:"Johnston 22-note scale from end of string quartet nr. 4"},johnston_25:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,331.11985608357,334.88072358477,348.83408706747,353.19451315581,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Johnston 25-note just enharmonic scale"},"johnston_6-qt":{frequencies:[261.6255653006,262.79353657426,266.47048317654,267.57160087561,271.31540105247,272.52663052146,277.4816601673,280.31310567921,284.23518205497,290.69507255622,294.32876096318,297.30177875068,299.7792935736,300.33547037059,305.22982618403,306.59245933664,310.07474405997,311.45900631024,316.53463456122,317.12189733406,319.76457981184,322.99452506247,327.03195662575,334.46450109452,339.14425131559,342.60490694126,348.83408706747,350.39138209902,355.29397756872,356.76213450082,361.75386806997,363.36884069528,367.91095120397,373.75080757229,381.53728273004,382.24514410802,387.59343007496,390.82337532559,392.4383479509,396.40237166758,399.70572476481,406.97310157871,408.78994578219,413.43299207996,420.46965851882,426.35277308246,436.04260883433,445.95266812602,452.19233508746,459.88868900496,465.11211608996,467.18850946536,475.68284600109,479.64686971777,484.4917875937,486.49381977384,490.54793493862,248.7057842981,498.33441009638,508.71637697339,516.79124009995,523.2511306012],description:"11-limit complete system from Ben Johnston's _6th Quartet_"},"johnston_6-qt_row":{frequencies:[261.6255653006,272.52663052146,290.69507255622,306.59245933664,327.03195662575,350.39138209902,363.36884069528,399.70572476481,408.78994578219,436.04260883433,445.95266812602,490.54793493862,508.71637697339],description:`11-limit 'prime row' from Ben Johnston's "6th Quartet"`},johnston_81:{frequencies:[116.54094037952,117.99770213426,119.33792294863,119.89808681021,120.82964698549,121.39681289533,122.77564089365,122.91427305652,124.31033640482,124.45070146973,125.86421560988,127.43751830501,127.89129259755,128.03570110055,129.48993375502,131.10855792696,132.74741490105,134.25516331721,134.88534766148,135.93335285867,136.57141450725,138.12259600536,138.27855718859,139.84912845542,141.59724256112,142.26189011172,143.87770417225,145.6761754744,147.49712766783,149.17240368579,151.03705873186,151.74601611917,153.46955111706,155.38792050603,157.33026951235,159.11723059817,159.29689788126,161.10619598065,161.86241719378,163.70085452487,163.8856974087,165.74711520643,165.93426862631,167.81895414651,169.91669107334,170.71426813406,172.6532450067,174.81141056928,176.9965532014,179.00688442294,179.84713021531,181.24447047823,182.095219343,184.16346134048,184.37140958479,186.46550460723,188.79632341482,189.68252014896,191.15627745751,191.83693889633,194.23490063253,196.66283689044,198.89653824771,199.12112235157,199.83014468368,201.38274497581,202.32802149222,204.62606815608,204.85712176088,207.18389400804,207.41783578289,209.77369268314,212.39586384168,213.39283516758,215.81655625837,218.5142632116,221.24569150175,223.75860552868,226.55558809779,227.61902417875,230.2043266756,233.08188075904],description:"Johnston 81-note 5-limit scale of Sonata for Microtonal Piano"},jorgensen:{frequencies:[261.6255653006,269.51415085551,288.85811466493,309.59046173614,318.92511007349,352.12195684808,355.62605411908,388.77403176757,408.50706336067,429.24143792307,469.25139168707,473.92081401802,523.2511306012],description:"Jorgensen's 5&7 temperament"},jousse:{frequencies:[261.6255653006,276.90198715646,293.15566421679,311.51473523959,328.62702621286,349.28097970329,369.20264759391,391.76800554826,415.35298052707,439.0631553946,466.60176257857,492.27019703794,523.2511306012],description:"Temperament of Jean Jousse (1832)"},jousse2:{frequencies:[261.6255653006,277.21176919085,293.63180098233,311.16627887077,329.63881547742,349.36510452864,370.14670828388,392.04008509316,415.41939014292,440.0494382652,466.3511549761,494.0599599767,523.2511306012],description:"Jean Jousse's quasi-equal temperament"},quasi_5:{frequencies:[261.6255653006,302.26980244078,349.22823143301,391.99543598175,452.89298412314,523.2511306012],description:"Quasi-Equal 5-Tone in 24-tET, 5 5 4 5 5 steps"},quasi_9:{frequencies:[261.6255653006,281.2143451833,302.26980244078,324.90175210669,349.22823143301,391.99543598175,421.34544350737,452.89298412314,486.80259447109,523.2511306012],description:'Quasi-Equal Enneatonic, Each "tetrachord" has 125 + 125 + 125 + 125 cents'},quint_chrom:{frequencies:[261.6255653006,277.01530443593,294.32876096318,348.83408706747,392.4383479509,415.52295665389,441.49314144476,523.2511306012],description:"Aristides Quintilianus' Chromatic genus"},oconnell:{frequencies:[261.6255653006,267.57429119961,272.27874977392,278.46970304972,283.3657217904,288.34782337261,294.90414810658,300.08911516052,305.36524364276,312.30850472426,317.79947295261,323.38698268281,330.74001416845,336.55504284097,344.20748191927,350.25929591231,356.41751010259,364.52157313929,370.93054700815,377.45220049416,386.03454097812,392.82175095637,399.72829510222,408.81713953112,416.00491024634,423.31905787312],description:"Walter O'Connell, Pythagorean scale of 25 octaves reduced by Phi. XH 15 (1993)"},oconnell_11:{frequencies:[261.6255653006,272.27874977392,288.34782337261,300.08911516052,312.30850472426,323.38698268281,344.20748191927,356.41751010259,370.93054700815,386.03454097812,408.81713953112,423.31905787312],description:"Walter O'Connell, 11-note mode of 25-tone scale"},oconnell_14:{frequencies:[261.6255653006,272.27874977392,283.3657217904,288.34782337261,300.08911516052,312.30850472426,323.38698268281,336.55504284097,344.20748191927,356.41751010259,370.93054700815,386.03454097812,399.72829510222,408.81713953112,423.31905787312],description:"Walter O'Connell, 14-note mode of 25-tone scale"},oconnell_7:{frequencies:[261.6255653006,283.3657217904,300.08911516052,323.38698268281,344.20748191927,370.93054700815,392.82175095637,423.31905787312],description:"Walter O'Connell, 7-note mode of 25-tone scale"},oconnell_9:{frequencies:[261.6255653006,278.46970304972,294.90414810658,305.36524364276,323.38698268281,344.20748191927,364.52157313929,377.45220049416,399.72829510222,423.31905787312],description:"Walter O'Connell, 9-tone mode of 25-tone scale"},oconnell_9a:{frequencies:[261.6255653006,272.27874977392,288.34782337261,305.36524364276,323.38698268281,344.20748191927,356.41751010259,377.45220049416,399.72829510222,423.31905787312],description:"Walter O'Connell, 7+2 major mode analogy for 25-tone scale"},octony_min:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Octony on Harmonic Minor, from Palmer on an album of Turkish music"},octony_rot:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Rotated Octony on Harmonic Minor"},octony_trans:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,348.83408706747,408.78994578219,420.46965851882,436.04260883433,523.2511306012],description:"Complex 10 of p. 115, an Octony based on Archytas's Enharmonic,"},octony_trans2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,315.35224388912,324.36230800023,336.37572681506,348.83408706747,504.56359022259,523.2511306012],description:"Complex 6 of p. 115 based on Archytas's Enharmonic, an Octony"},octony_trans3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,306.59245933664,315.35224388912,327.03195662575,348.83408706747,490.54793493862,523.2511306012],description:"Complex 5 of p. 115 based on Archytas's Enharmonic, an Octony"},octony_trans4:{frequencies:[261.6255653006,271.31540105247,279.06726965397,336.37572681506,348.83408706747,420.46965851882,432.48307733364,448.50096908674,523.2511306012],description:"Complex 11 of p. 115, an Octony based on Archytas's Enharmonic, 8 tones"},octony_trans5:{frequencies:[261.6255653006,271.31540105247,279.06726965397,317.94773560837,327.03195662575,339.14425131559,348.83408706747,508.71637697339,523.2511306012],description:"Complex 15 of p. 115, an Octony based on Archytas's Enharmonic, 8 tones"},octony_trans6:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,336.37572681506,345.98646186692,348.83408706747,358.80077526939,523.2511306012],description:"Complex 14 of p. 115, an Octony based on Archytas's Enharmonic, 8 tones"},octony_u:{frequencies:[261.6255653006,280.31310567921,301.87565226992,327.03195662575,356.76213450082,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"7)8 octony from 1.3.5.7.9.11.13.15, 1.3.5.7.9.11.13 tonic (subharmonics 8-16)"},odd1:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"ODD-1"},odd2:{frequencies:[261.6255653006,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"ODD-2"},oettingen:{frequencies:[261.6255653006,264.89588486686,267.90457886781,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,298.00787047521,301.39265122629,306.59245933664,310.42486507835,313.95067836072,317.87506184023,323.35923445661,327.03195662575,331.11985608357,334.88072358477,339.06673262958,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.50983809402,376.74081403286,383.2405741708,388.03108134794,392.4383479509,397.34382730029,401.85686830172,408.78994578219,413.89982010446,418.60090448096,423.83341578697,431.14564594215,436.04260883433,441.49314144476,446.50763144636,452.08897683944,459.88868900496,465.11211608996,470.92601754108,476.81259276034,485.03885168492,490.54793493862,496.67978412536,502.32108537715,510.98743222773,517.37477513058,523.2511306012],description:"von Oettingen's Orthotonophonium tuning"},oettingen2:{frequencies:[261.6255653006,264.89588486686,267.90457886781,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,310.07474405997,313.95067836072,317.51653791741,322.99452506247,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,396.89567239676,401.85686830172,408.78994578219,413.43299207996,418.60090448096,423.83341578697,431.14564594215,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,476.27480687611,484.4917875937,490.54793493862,496.11959049595,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"von Oettingen's Orthotonophonium tuning with central 1/1"},ogr10:{frequencies:[261.6255653006,264.15640940857,271.89678302796,296.5055443788,342.56848033562,359.46139971304,411.32572372413,440,484.46499093218,513.27277840175,523.2511306012],description:"Optimal Golomb Ruler of 10 segments, length 72"},ogr10a:{frequencies:[261.6255653006,264.15640940857,285.30470202322,314.13668154225,329.62755691287,352.60650301302,431.60923940535,448.5538823653,457.27406033445,508.3551866238,523.2511306012],description:"2nd Optimal Golomb Ruler of 10 segments, length 72"},ogr11:{frequencies:[261.6255653006,265.92749183559,274.74472021414,318.1829357186,331.4244391468,362.52783176564,371.50609336774,409.69842558521,455.51656649021,482.27514684959,486.22402266421,523.2511306012],description:"Optimal Golomb Ruler of 11 segments, length 85"},ogr12:{frequencies:[261.6255653006,265.06964174786,270.3209511875,308.09015504092,333.2396629384,346.57411320722,384.79959982017,413.49815209867,456.11269186454,468.20039948765,496.58195036371,499.83980314828,523.2511306012],description:"Optimal Golomb Ruler of 12 segments, length 106"},ogr2:{frequencies:[261.6255653006,329.62755691287,523.2511306012],description:"Optimal Golomb Ruler of 2 segments, length 3"},ogr3:{frequencies:[261.6255653006,293.66476791741,415.30469757995,523.2511306012],description:"Optimal Golomb Ruler of 3 segments, length 6"},ogr4:{frequencies:[261.6255653006,278.64197723942,336.62443200122,461.29362042034,523.2511306012],description:"Optimal Golomb Ruler of 4 segments, length 11"},ogr4a:{frequencies:[261.6255653006,296.76515515861,406.67242132093,433.12283887627,523.2511306012],description:"2nd Optimal Golomb Ruler of 4 segments, length 11"},ogr5:{frequencies:[261.6255653006,272.51337835337,307.97166902637,393.32961502355,426.7484383229,523.2511306012],description:"Optimal Golomb Ruler of 5 segments, length 17"},ogr5a:{frequencies:[261.6255653006,272.51337835337,307.97166902637,393.32961502355,482.27514684959,523.2511306012],description:"2nd Optimal Golomb Ruler of 5 segments, length 17"},ogr5b:{frequencies:[261.6255653006,272.51337835337,362.52783176564,426.7484383229,463.0066556268,523.2511306012],description:"3rd Optimal Golomb Ruler of 5 segments, length 17"},ogr5c:{frequencies:[261.6255653006,272.51337835337,362.52783176564,409.69842558521,444.50800708553,523.2511306012],description:"4th Optimal Golomb Ruler of 5 segments, length 17"},ogr6:{frequencies:[261.6255653006,268.98086109226,292.31087910123,345.21700307457,430.94493093825,495.02573326308,523.2511306012],description:"Optimal Golomb Ruler of 6 segments, length 25"},ogr6a:{frequencies:[261.6255653006,276.5429423948,284.31762274025,345.21700307457,407.69874723177,468.32288027948,523.2511306012],description:"2nd Optimal Golomb Ruler of 6 segments, length 25"},ogr6b:{frequencies:[261.6255653006,268.98086109226,354.92237405774,407.69874723177,443.06044202496,495.02573326308,523.2511306012],description:"3rd Optimal Golomb Ruler of 6 segments, length 25"},ogr6c:{frequencies:[261.6255653006,268.98086109226,317.66442301495,354.92237405774,455.51656649021,495.02573326308,523.2511306012],description:"4th Optimal Golomb Ruler of 6 segments, length 25"},ogr6d:{frequencies:[261.6255653006,276.5429423948,317.66442301495,375.1593523779,468.32288027948,481.48922855473,523.2511306012],description:"5th Optimal Golomb Ruler of 6 segments, length 25"},ogr7:{frequencies:[261.6255653006,267.01398215014,283.85429714132,314.3146261019,355.21191871351,409.69842558521,502.34551296122,523.2511306012],description:"Optimal Golomb Ruler of 7 segments, length 34"},ogr8:{frequencies:[261.6255653006,265.77967818767,283.06627815664,316.06708432391,387.90015179087,400.3161696196,454.08364189083,499.09751029017,523.2511306012],description:"Optimal Golomb Ruler of 8 segments, length 44"},ogr9:{frequencies:[261.6255653006,264.94361147373,282.17583275232,296.76515515861,349.59519124833,363.06573983159,401.57942110183,438.61588607285,510.2272282764,523.2511306012],description:"Optimal Golomb Ruler of 9 segments, length 55"},oldani:{frequencies:[261.6255653006,272.52663052146,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"This scale by Norbert L. Oldani appeared in Interval 5(3), p.10-11"},oljare:{frequencies:[261.6255653006,286.15296204753,305.22982618403,327.03195662575,348.83408706747,381.53728273004,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,508.71637697339,523.2511306012],description:'Mats \xEF\xBF\xBDljare, scale for "Tampere" (2001)'},oljare17:{frequencies:[261.6255653006,272.51337835337,320.78822215662,334.13814720468,393.32961502355,409.69842558521,426.7484383229,502.34551296122,523.2511306012],description:'Mats \xEF\xBF\xBDljare, scale for "Fafner" (2001), MOS in 17-tET'},olympos:{frequencies:[261.6255653006,279.06726965397,348.83408706747,372.08969287196,465.11211608996,523.2511306012],description:"Scale of ancient Greek flutist Olympos, 6th century BC as reported by Partch"},opelt:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Friederich Wilhelm Opelt 19-tone"},organ1373a:{frequencies:[261.6255653006,277.01530443593,294.32876096318,311.64221749042,331.11985608357,348.83408706747,369.35373924791,392.4383479509,415.52295665389,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"English organ tuning (1373) with 18:17:16 ficta semitones (Eb-G#)"},organ1373b:{frequencies:[261.6255653006,277.01530443593,294.32876096318,311.64221749042,331.11985608357,348.83408706747,369.35373924791,392.4383479509,415.52295665389,441.49314144476,467.46332623563,496.67978412536,523.2511306012],description:"English organ tuning (1373) with 18:17:16 accidental semitones (Eb-G#)"},ragib:{frequencies:[261.6255653006,269.99542342683,281.01564479119,288.12007609225,294.32876096318,303.49446183192,311.45900631024,323.77767743764,335.77702597132,341.99420300732,348.83408706747,360.36579242507,371.06455309218,381.37837507376,392.4383479509,407.46331920162,417.22825371678,432.79663407874,450.28451247858,458.15534711532,465.11211608996,476.50902003141,487.19844562495,503.12608711654,523.2511306012],description:"Idris Ragib Bey, vol.5 d'Erlanger, p 40. Idris Rag'ib Bey"},ragib7:{frequencies:[261.6255653006,270.30192333353,281.29980781121,288.32205155576,294.32876096318,303.74668805875,311.45900631024,324.36230800023,336.37572681506,341.71502406609,348.83408706747,360.4025644447,370.6997805717,381.53728273004,392.4383479509,406.97310157871,417.13259773693,432.48307733364,450.69091522486,457.84473927605,465.11211608996,476.92160341255,486.65469735975,502.32108537715,523.2511306012],description:"7-limit version of Idris Rag'ib Bey scale"},"rameau-flat":{frequencies:[261.6255653006,276.01120901503,292.50629850443,312.00666699279,327.03195662575,349.91920725962,366.20974703841,391.22137338448,415.30469757995,437.39882871549,468.01000025525,489.02679755603,523.2511306012],description:'Rameau bemols, see Pierre-Yves Asselin in "Musique et temperament"'},"rameau-gall":{frequencies:[261.6255653006,274.65078342868,292.50627485027,310.49874388777,327.03195662575,349.91912034749,366.20104475463,391.22147055517,412.61639318626,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"Rameau's temperament, after Gallimard (1st solution)"},"rameau-merc":{frequencies:[261.6255653006,273.37431312998,292.50627485027,308.72950296259,327.03195662575,348.83408706747,365.63284274659,391.22147055517,409.55238583376,437.39890198442,464.53468854848,489.02683710225,523.2511306012],description:"Rameau's temperament, after Mercadier"},"rameau-minor":{frequencies:[261.6255653006,294.32876096318,313.95067836072,353.19451315581,392.4383479509,418.60090448096,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"Rameau's systeme diatonique mineur on E. Asc. 4-6-8-9, desc. 9-7-5-4"},"rameau-nouv":{frequencies:[261.6255653006,275.98004852257,292.50627485027,311.49614460359,327.03195662575,349.91912034749,367.37127028704,391.22147055517,414.64857675456,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"Temperament by Rameau in Nouveau Systeme (1726)"},"rameau-sharp":{frequencies:[261.6255653006,273.37431312998,292.50629850443,308.54983514133,327.03195662575,348.83408706747,365.63293356166,391.22137338448,409.42528169498,437.39882871549,464.33633889105,489.02679755603,523.2511306012],description:'Rameau dieses, see Pierre-Yves Asselin in "Musique et temperament"'},rameau:{frequencies:[261.6255653006,275.07757335026,292.50629850443,310.73186404381,327.03195662575,349.91920725962,366.77009798369,391.22137338448,412.61635981914,437.39882871549,468.01000025525,489.02679755603,523.2511306012],description:"Rameau's modified meantone temperament (1725)"},ramis:{frequencies:[261.6255653006,275.93321340298,290.69507255622,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Monochord of Ramos de Pareja (Ramis de Pareia), Musica practica (1482). Carlos: Switched on Bach"},rapoport_8:{frequencies:[261.6255653006,297.86386736488,316.53463456122,336.37572681506,382.96782946913,406.97310157871,432.48307733364,492.38720931745,523.2511306012],description:"Paul Rapoport, cycle of 14/9 close to 8 out of 11-tET, XH 13, 1991"},rast_moha:{frequencies:[261.6255653006,293.66476791741,320.24370022528,349.22823143301,391.99543598175,427.47405410759,479.82340237272,523.2511306012],description:"Rast + Mohajira (Dudon) 4 + 3 + 3 Rast and 3 + 4 + 3 Mohajira tetrachords"},rat_dorenh:{frequencies:[261.6255653006,267.70988077271,274.08392555301,359.73515228832,411.12588832951,418.60090448096,426.35277308246,523.2511306012],description:"Rationalized Schlesinger's Dorian Harmonia in the enharmonic genus"},rat_hypodenh:{frequencies:[261.6255653006,270.06509966514,279.06726965397,348.83408706747,380.54627680087,389.39619021485,398.6675280771,523.2511306012],description:"1+1 rationalized enharmonic genus derived from K.S.'s 'Bastard' Hypodorian"},rat_hypodenh2:{frequencies:[261.6255653006,270.06509966514,288.69027895239,348.83408706747,380.54627680087,389.39619021485,408.39112632289,523.2511306012],description:"1+2 rationalized enharmonic genus derived from K.S.'s 'Bastard' Hypodorian"},rat_hypodenh3:{frequencies:[261.6255653006,270.06509966514,299.00064605783,348.83408706747,380.54627680087,389.39619021485,418.60090448096,523.2511306012],description:"1+3 rationalized enharmonic genus derived from K.S.'s 'Bastard' Hypodorian"},rat_hypodhex:{frequencies:[261.6255653006,267.19206668997,273.00058987889,348.83408706747,380.54627680087,386.4008349055,392.4383479509,523.2511306012],description:"1+1 rationalized hexachromatic/hexenharmonic genus derived from K.S.'Bastard'"},rat_hypodhex2:{frequencies:[261.6255653006,267.19206668997,279.06726965397,348.83408706747,380.54627680087,386.4008349055,398.6675280771,523.2511306012],description:"1+2 rat. hexachromatic/hexenharmonic genus derived from K.S.'s 'Bastard' Hypodo"},rat_hypodhex3:{frequencies:[261.6255653006,267.19206668997,285.40970760065,348.83408706747,380.54627680087,386.4008349055,405.0976494977,523.2511306012],description:"1+3 rat. hexachromatic/hexenharmonic genus from K.S.'s 'Bastard' Hypodorian"},rat_hypodhex4:{frequencies:[261.6255653006,267.19206668997,292.04714266113,348.83408706747,380.54627680087,386.4008349055,411.73859457144,523.2511306012],description:"1+4 rat. hexachromatic/hexenharmonic genus from K.S.'s 'Bastard' Hypodorian"},rat_hypodhex5:{frequencies:[261.6255653006,267.19206668997,299.00064605783,348.83408706747,380.54627680087,386.4008349055,418.60090448096,523.2511306012],description:"1+5 rat. hexachromatic/hexenharmonic genus from K.S.'s 'Bastard' Hypodorian"},rat_hypodhex6:{frequencies:[261.6255653006,273.00058987889,292.04714266113,348.83408706747,380.54627680087,392.4383479509,411.73859457144,523.2511306012],description:"2+3 rationalized hexachromatic/hexenharmonic genus from K.S.'s 'Bastard' hypod"},rat_hypodpen:{frequencies:[261.6255653006,268.33391312882,275.39533189537,348.83408706747,380.54627680087,387.59343007496,394.90651366128,523.2511306012],description:"1+1 rationalized pentachromatic/pentenharmonic genus derived from K.S.'s 'Bastar"},rat_hypodpen2:{frequencies:[261.6255653006,268.33391312882,282.83844897362,348.83408706747,380.54627680087,387.59343007496,402.50086969323,523.2511306012],description:"1+2 rationalized pentachromatic/pentenharmonic genus from K.S.'s 'Bastard' hyp"},rat_hypodpen3:{frequencies:[261.6255653006,268.33391312882,290.69507255622,348.83408706747,380.54627680087,387.59343007496,410.39304360878,523.2511306012],description:"1+3 rationalized pentachromatic/pentenharmonic genus from 'Bastard' Hypodorian"},rat_hypodpen4:{frequencies:[261.6255653006,268.33391312882,299.00064605783,348.83408706747,380.54627680087,387.59343007496,418.60090448096,523.2511306012],description:"1+4 rationalized pentachromatic/pentenharmonic genus from 'Bastard' Hypodorian"},rat_hypodpen5:{frequencies:[261.6255653006,275.39533189537,290.69507255622,348.83408706747,380.54627680087,394.90651366128,410.39304360878,523.2511306012],description:"2+3 rationalized pentachromatic/pentenharmonic genus from 'Bastard' Hypodorian"},rat_hypodpen6:{frequencies:[261.6255653006,268.33391312882,299.00064605783,348.83408706747,380.54627680087,394.90651366128,418.60090448096,523.2511306012],description:"2+3 rationalized pentachromatic/pentenharmonic genus from 'Bastard' Hypodorian"},rat_hypodtri:{frequencies:[261.6255653006,273.00058987889,285.40970760065,348.83408706747,380.54627680087,392.4383479509,405.0976494977,523.2511306012],description:"rationalized first (1+1) trichromatic genus derived from K.S.'s 'Bastard' hyp"},rat_hypodtri2:{frequencies:[261.6255653006,273.00058987889,299.00064605783,348.83408706747,380.54627680087,392.4383479509,418.60090448096,523.2511306012],description:"rationalized second (1+2) trichromatic genus derived from K.S.'s 'Bastard' hyp"},rat_hypolenh:{frequencies:[261.6255653006,268.33391312882,275.39533189537,348.83408706747,373.75080757229,402.50086969323,410.39304360878,418.60090448096,523.2511306012],description:"Rationalized Schlesinger's Hypolydian Harmonia in the enharmonic genus"},rat_hypopchrom:{frequencies:[261.6255653006,277.01530443593,294.32876096318,362.25078272391,392.4383479509,409.50088481833,428.11456140098,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in the chromatic genus"},rat_hypopenh:{frequencies:[261.6255653006,269.10058145205,277.01530443593,362.25078272391,392.4383479509,400.78810003496,409.50088481833,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in the enharmonic genus"},rat_hypoppen:{frequencies:[261.6255653006,273.79419624481,294.32876096318,362.25078272391,392.4383479509,405.97070477679,428.11456140098,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in the pentachromatic genus"},rat_hypoptri:{frequencies:[261.6255653006,271.68808704293,282.55561052465,362.25078272391,392.4383479509,403.65087217807,415.52295665389,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in first trichromatic genus"},rat_hypoptri2:{frequencies:[261.6255653006,271.68808704293,294.32876096318,362.25078272391,392.4383479509,403.65087217807,428.11456140098,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in second trichromatic genus"},rectsp10:{frequencies:[261.6255653006,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,340.11323489078,348.83408706747,359.73515228832,366.27579142084,373.75080757229,377.90359432309,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,436.04260883433,444.76346101102,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,490.54793493862,494.18162334558,497.08857407114,523.2511306012],description:"Rectangle minimal beats spectrum of order 10"},rectsp10a:{frequencies:[261.6255653006,275.39533189537,277.01530443593,279.06726965397,281.75060878526,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,307.79478270659,313.95067836072,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,359.73515228832,362.25078272391,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,402.50086969323,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,444.76346101102,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,485.87604984397,490.54793493862,494.18162334558,497.08857407114,523.2511306012],description:"Rectangle minimal beats spectrum of order 10 union with inversion"},rectsp11:{frequencies:[261.6255653006,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,404.33041910093,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,444.76346101102,448.50096908674,451.89870370104,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,485.87604984397,490.54793493862,494.18162334558,497.08857407114,499.46698830115,523.2511306012],description:"Rectangle minimal beats spectrum of order 11"},rectsp12:{frequencies:[261.6255653006,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,356.76213450082,359.73515228832,366.27579142084,370.63621750918,373.75080757229,377.90359432309,380.54627680087,392.4383479509,404.33041910093,406.97310157871,411.12588832951,414.24047839262,418.60090448096,425.14154361347,428.11456140098,436.04260883433,444.76346101102,448.50096908674,451.89870370104,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,485.87604984397,490.54793493862,494.18162334558,497.08857407114,499.46698830115,501.44900015948,523.2511306012],description:"Rectangle minimal beats spectrum of order 12"},rectsp6:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Rectangle minimal beats spectrum of order 6 (=songlines)"},rectsp6a:{frequencies:[261.6255653006,285.40970760065,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Rectangle minimal beats spectrum of order 6 union with inversion"},rectsp7:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"Rectangle minimal beats spectrum of order 7"},rectsp7a:{frequencies:[261.6255653006,281.75060878526,285.40970760065,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,332.97799220076,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,411.12588832951,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"Rectangle minimal beats spectrum of order 7 union with inversion"},rectsp8:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,490.54793493862,523.2511306012],description:"Rectangle minimal beats spectrum of order 8"},rectsp8a:{frequencies:[261.6255653006,279.06726965397,281.75060878526,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,322.00069575458,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,490.54793493862,523.2511306012],description:"Rectangle minimal beats spectrum of order 8 union with inversion"},rectsp9:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,377.90359432309,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,490.54793493862,494.18162334558,523.2511306012],description:"Rectangle minimal beats spectrum of order 9"},rectsp9a:{frequencies:[261.6255653006,277.01530443593,279.06726965397,281.75060878526,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,362.25078272391,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,490.54793493862,494.18162334558,523.2511306012],description:"Rectangle minimal beats spectrum of order 9 union with inversion"},redfield:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Redfield New Diatonic"},reinhard:{frequencies:[261.6255653006,277.01530443593,294.32876096318,309.81974838229,327.03195662575,348.83408706747,369.35373924791,392.4383479509,413.09299784305,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"Reinhard 19-limit superparticular"},reinhard17:{frequencies:[261.6255653006,277.01530443593,277.97716313189,286.94416839421,292.40504357126,296.50897400735,307.79478270659,317.68818643644,338.57426097725,342.12573923925,369.35373924791,400.13321751856,404.33041910093,430.91269578922,444.76346101102,477.08191319521,492.47165233054,523.2511306012],description:`Reinhard's Harmonic-17 tuning for "Tresspass", 1998`},renteng1:{frequencies:[261.6255653006,285.40970760065,313.15788183285,391.64553850062,426.52890806662,523.2511306012],description:"Gamelan Renteng from Chileunyi (Tg. Sari). 1/1=330 Hz"},renteng2:{frequencies:[261.6255653006,294.32876096318,311.77048523333,396.07199334683,425.86840190162,523.2511306012],description:"Gamelan Renteng from Chikebo (Tg. Sari). 1/1=360 Hz"},renteng3:{frequencies:[261.6255653006,278.97471276149,312.97903559457,379.60005211265,409.44065404912,468.42785143649,523.2511306012],description:"Gamelan Renteng from Lebakwangi (Pameungpeuk). 1/1=377 Hz"},renteng4:{frequencies:[261.6255653006,296.45730715573,311.93819010347,397.0826586675,424.17395032031,523.2511306012],description:"Gamelan Renteng Bale` bandung from Kanoman (Cheribon). 1/1=338 Hz"},robot:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Dead Robot (see lattice)"},robot_live:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,334.88072358477,348.83408706747,376.74081403286,392.4383479509,418.60090448096,446.50763144636,490.54793493862,502.32108537715,523.2511306012],description:"Live Robot"},romieu:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Romieu's Monochord, Memoire theorique & pratique (1758)"},romieu_inv:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Romieu inverted, Pure (just) C minor in Wilkinson: Tuning In"},rosati_21:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Dante Rosati, JI guitar tuning"},rosati_21a:{frequencies:[261.6255653006,280.31310567921,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,488.36772189445,523.2511306012],description:"Alternative version of rosati_21 with more tetrads"},rousseau:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Rousseau's Monochord, Dictionnaire de musique (1768)"},rousseauw:{frequencies:[261.6255653006,276.81658657456,293.31219032635,311.14941643136,328.83652403056,349.33732971591,369.19521129916,391.76004912942,415.1051791302,439.20783490896,466.32059269121,492.40223109551,523.2511306012],description:"Jean-Jacques Rousseau's temperament (1768)"},rsr_12:{frequencies:[261.6255653006,279.06726965397,299.00064605783,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"RSR - 7 limit JI"},"rvf-1":{frequencies:[261.6255653006,272.14556467328,280.20095193414,292.09989854643,304.19649364034,313.29104303136,326.0297292803,340.21856244106,350.08660369014,364.11104988921,374.67209286633,390.97784457618,406.87534373272,419.03967825638,436.39317047385,454.92493848389,468.39051363853,487.22455955444,508.94280091833,523.2511306012],description:"D-A 695 cents, the increment is 0.25 cents, interval range 49.5 to 75.5"},"rvf-2":{frequencies:[261.6255653006,272.87751533003,278.75612859219,292.27711197479,305.71136588092,312.51386339015,326.29348693151,342.97106251658,349.87433921674,364.79522794952,372.13777859784,391.13596290168,408.38225803817,417.4934384938,436.65792486176,457.83788806384,467.7011114131,487.81592522452,513.9947144098,523.2511306012],description:"695 cents, 0.607 cents, 31-90 cents, C-A# is 7/4."},"rvf-3":{frequencies:[261.6255653006,272.98787180262,278.19314238431,292.29399505039,306.11778315204,312.24320803046,326.25579420701,343.90343447252,349.81371586656,364.81629995674,371.08598724028,391.15855645336,408.71263878415,416.89098941754,436.60748307387,458.73792719255,467.48503753613,487.78774868553,515.83876338215,523.2511306012],description:"694.737, 0.082, 25-97, the fifth E#-B# is 3/2."},majmin:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Malcolm & Marpurg 4 (Yamaha major & minor) mixed. Mersenne/Ban without D#"},major_clus:{frequencies:[261.6255653006,275.93321340298,290.69507255622,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Chalmers' Major Mode Cluster"},major_wing:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Chalmers' Major Wing with 7 major and 6 minor triads"},malcolm:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Malcolm's Monochord (1721), and C major in Yamaha synths, Wilkinson: Tuning In"},malcolm2:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,463.29527188648,490.54793493862,523.2511306012],description:"Malcolm 2"},malcolm_ap:{frequencies:[261.6255653006,279.47938236087,293.66476791741,313.97746652079,326.1838132033,349.22823143301,369.99442271164,391.99543598175,419.68935090103,436.0054062308,466.16376151809,489.82458627646,523.2511306012],description:"Best approximations in mix of all ETs from 12-23 to Malcolm's Monochord"},malcolm_me:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,457.84473927605,490.54793493862,523.2511306012],description:"Malcolm's Mid-East"},malcolme:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,465.11211608996,496.11959049595,523.2511306012],description:"Most equal interval permutation of Malcolm's Monochord"},malcolme2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Inverse most equal interval permutation of Malcolm's Monochord"},malcolms:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,369.99442271164,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Symmetrical version of Malcolm's Monochord and Albion scale"},malerbi:{frequencies:[261.6255653006,275.62199471997,292.73769384471,310.07474405997,327.54963108844,348.83408706747,367.49599295996,391.37619916626,413.43299207996,437.91808280662,465.11211608996,489.99465727995,523.2511306012],description:"Luigi Malerbi's well-temperament nr.1 (1794) (nr.2 = Young)"},malgache:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,327.03195662575,353.19451315581,367.91095120397,392.4383479509,413.89982010446,441.49314144476,459.88868900496,490.54793493862,523.2511306012],description:"tuning from Madagascar"},malgache1:{frequencies:[261.6255653006,279.06726965397,294.32876096318,310.07474405997,327.03195662575,353.19451315581,376.74081403286,392.4383479509,418.60090448096,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"tuning from Madagascar"},malgache2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,353.19451315581,367.91095120397,392.4383479509,408.78994578219,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"tuning from Madagascar"},malkauns:{frequencies:[261.6255653006,313.95067836072,348.83408706747,418.60090448096,465.11211608996,523.2511306012],description:"Raga Malkauns, inverse of prime_5"},mambuti:{frequencies:[261.6255653006,294.34406205295,331.72862856444,394.26624244126,466.16376151809,525.06772693396,590.39077962608,792.18471060794,999.82182774046],description:"African Mambuti Flutes (aerophone; vertical wooden; one note each)"},mandelbaum5:{frequencies:[261.6255653006,272.52663052146,282.55561052465,290.69507255622,302.80736724606,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,376.74081403286,392.4383479509,403.74315632809,418.60090448096,436.04260883433,454.2110508691,470.92601754108,484.4917875937,502.32108537715,523.2511306012],description:"Mandelbaum's 5-limit 19-tone scale, kleismic detempered circle of minor thirds"},mandelbaum7:{frequencies:[261.6255653006,272.52663052146,280.31310567921,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,376.74081403286,392.4383479509,406.97310157871,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,504.56359022259,523.2511306012],description:"Mandelbaum's 7-limit 19-tone scale"},marimba1:{frequencies:[261.6255653006,284.4818984792,319.50463429683,342.83241505062,371.92288545737,411.72190027758,457.09800545097,500.48847822777,547.68138927822,612.97866327818,651.68292300609,728.11694797601,807.8963375694,903.69557412727,1013.19282257599,1069.7265813247,1225.95732655636,1303.36584601218],description:"Marimba of the Bakwese, SW Belgian Congo (Zaire). 1/1=140.5 Hz"},marimba2:{frequencies:[261.6255653006,279.11058864149,318.03161540472,343.03050002254,379.95718438213,421.58889248327,458.6849347701,519.33670373121,571.2689787911,613.68721319418,694.83488613378,761.23234162637,846.59395682498,953.56868388592,1049.52904699774,1145.8425062572,1271.3918647407,1389.66977226756],description:"Marimba of the Bakubu, S. Belgian Congo (Zaire). 1/1=141.5 Hz"},marimba3:{frequencies:[261.6255653006,296.73398952435,348.2210758395,420.13030572059,476.50902003141,518.73708886244,603.49292471609,696.44215167899,840.26061144117,953.01804006282,1037.47417772488],description:"Marimba from the Yakoma tribe, Zaire. 1/1=185.5 Hz"},marion:{frequencies:[261.6255653006,269.91407136119,278.46532473603,287.28749371714,296.38899008685,305.77900572762,315.46632790985,325.46074015958,335.7715953476,346.4093067252,357.3838291689,368.70624618807,380.38737313392,392.4383479509,411.71310103548,431.93429139282,453.14890242083,475.40520223986,498.75490298644,523.2511306012],description:"scale with two different ET step sizes"},marion1:{frequencies:[261.6255653006,262.79353657426,272.52663052146,280.31310567921,286.15296204753,294.32876096318,305.22982618403,311.45900631024,327.03195662575,336.37572681506,343.38355445704,350.39138209902,367.91095120397,373.75080757229,381.53728273004,392.4383479509,408.78994578219,420.46965851882,436.04260883433,457.84473927605,467.18850946536,476.92160341255,490.54793493862,515.07533168556,523.2511306012],description:"Marion's 7-limit Scale # 1"},marion10:{frequencies:[261.6255653006,267.07609791103,272.52663052146,286.15296204753,290.69507255622,296.75121990114,305.22982618403,317.94773560837,327.03195662575,339.14425131559,356.10146388137,363.36884069528,370.93902487643,381.53728273004,400.61414686654,406.97310157871,408.78994578219,423.93031414449,436.04260883433,445.12682985172,457.84473927605,474.80195184183,476.92160341255,484.4917875937,508.71637697339,523.2511306012],description:"Marion's 7-limit Scale # 10"},marion15:{frequencies:[261.6255653006,269.10058145205,280.31310567921,288.32205155576,299.00064605783,313.95067836072,320.35783506196,327.03195662575,336.37572681506,353.19451315581,358.80077526939,360.4025644447,373.75080757229,384.42940207435,392.4383479509,403.65087217807,418.60090448096,420.46965851882,427.14378008261,448.50096908674,461.31528248922,470.92601754108,480.53675259294,504.56359022259,523.2511306012],description:"Marion's 7-limit Scale # 15"},marion19:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,294.32876096318,309.04519901133,313.95067836072,315.35224388912,327.03195662575,336.37572681506,343.38355445704,353.19451315581,366.27579142084,367.91095120397,373.75080757229,392.4383479509,403.65087217807,412.06026534844,420.46965851882,441.49314144476,457.84473927605,470.92601754108,490.54793493862,504.56359022259,515.07533168556,523.2511306012],description:"Marion's 7-limit Scale # 19"},marion26:{frequencies:[261.6255653006,271.31540105247,279.06726965397,284.8811711051,293.02063313667,303.87324917877,305.22982618403,310.07474405997,325.57848126297,334.88072358477,341.85740532612,348.83408706747,366.27579142084,379.84156147346,390.69417751556,406.97310157871,418.60090448096,427.32175665765,434.10464168396,455.80987376816,465.11211608996,474.80195184183,488.36772189445,512.78610798918,523.2511306012],description:"Marion's 7-limit Scale # 26"},marissing:{frequencies:[261.6255653006,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Peter van Marissing, just scale, Mens en Melodie, 1979"},"marpurg-1":{frequencies:[261.6255653006,276.86979852503,294.32876096318,311.47852302926,329.62755691287,348.83408706747,370.83100115625,392.4383479509,415.30469757995,439.50340943686,467.21778431035,494.44133512215,523.2511306012],description:"Other temperament by Marpurg, 3 fifths 1/3 Pyth. comma flat"},"marpurg-t1":{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Marpurg's temperament nr.1, Kirnbergersche Temperatur (1766)"},"marpurg-t11":{frequencies:[261.6255653006,278.12325072816,294.32876096318,311.47852302926,331.11985608357,348.83408706747,371.66947115233,392.4383479509,416.24372513446,441.49314144476,466.16376151809,496.67978412536,523.2511306012],description:"Marpurg's temperament nr.11, 6 tempered fifths"},"marpurg-t12":{frequencies:[261.6255653006,279.06706247425,294.66131982972,310.42509491746,330.74614861362,349.22823143301,372.08941681833,392.88175996935,418.60059350213,441.99197952365,465.63764214343,496.11922267243,523.2511306012],description:"Marpurg's temperament nr.12, 4 tempered fifths"},"marpurg-t2":{frequencies:[261.6255653006,278.75210322491,294.32876096318,313.59611581451,331.11985608357,348.83408706747,371.66947115233,392.4383479509,418.12815462835,441.49314144476,470.39417348663,495.55929511749,523.2511306012],description:"Marpurg's temperament nr.2, 2 tempered fifths, Neue Methode (1790)"},"marpurg-t3":{frequencies:[261.6255653006,276.55731914056,294.32876096318,311.12698372208,331.11985608357,348.83408706747,368.74309237173,392.4383479509,414.83597850347,441.49314144476,465.11211608996,491.65745674141,523.2511306012],description:"Marpurg's temperament nr.3, 2 tempered fifths"},"marpurg-t4":{frequencies:[261.6255653006,276.86979852503,294.32876096318,310.07474405997,331.11985608357,348.83408706747,369.15973155124,392.4383479509,415.30469757995,441.49314144476,465.11211608996,492.21297564769,523.2511306012],description:"Marpurg's temperament nr.4, 2 tempered fifths"},"marpurg-t5":{frequencies:[261.6255653006,277.80935667884,294.32876096318,312.53552595124,331.11985608357,348.83408706747,370.41247575694,392.4383479509,416.71403480995,441.49314144476,468.80328869252,493.88330125613,523.2511306012],description:"Marpurg's temperament nr.5, 2 tempered fifths"},"marpurg-t7":{frequencies:[261.6255653006,276.86979852503,293.00227310437,310.07474405997,329.62755691287,348.83408706747,369.15973155124,390.66969766777,415.30469757995,439.50340943686,465.11211608996,492.21297564769,523.2511306012],description:"Marpurg's temperament nr.7, 3 tempered fifths"},"marpurg-t8":{frequencies:[261.6255653006,277.49581689502,293.33333347996,311.12698372208,329.99999983505,348.83408706747,369.99442271164,391.11111150212,414.83597850347,440,466.69047534984,493.32589719545,523.2511306012],description:"Marpurg's temperament nr.8, 4 tempered fifths"},"marpurg-t9":{frequencies:[261.6255653006,277.49581689502,294.32876096318,312.18279369479,331.11985608357,350.01785633742,371.24999944327,392.4383479509,416.24372513446,441.49314144476,468.27419030811,496.67978412536,523.2511306012],description:"Marpurg's temperament nr.9, 4 tempered fifths"},marpurg:{frequencies:[261.6255653006,277.49581689502,293.83071040301,311.12698372208,329.99999983505,349.42557141756,369.99442271164,392.4383479509,415.53937569366,440,466.69047534984,494.16238213869,523.2511306012],description:"Marpurg, Versuch ueber die musikalische Temperatur (1776), p. 153"},marpurg1:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Marpurg's Monochord no.1 (1776)"},marpurg3:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Marpurg 3"},marpurg4:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Marpurg 4, also Yamaha Pure Minor"},marsh:{frequencies:[261.6255653006,275.50659558095,293.15632631094,311.93674864629,328.48713220126,349.53094576004,368.07595926604,391.65594491223,412.43597848639,438.85779226656,466.97226207056,491.74834273545,523.2511306012],description:"John Marsh's meantone temperament (1809)"},marsh2:{frequencies:[261.6255653006,277.22760066578,293.66431501254,311.21660561883,329.70790803338,349.18845812715,369.99117208793,391.90679138833,415.30984563838,439.96491544382,466.29335337935,494.03030700757,523.2511306012],description:"John Marsh's quasi-equal temperament (1840)"},mavila12:{frequencies:[261.6255653006,256.98292999787,287.53945699376,321.72930260925,316.02010771872,353.59644178868,347.32175377489,388.62000642034,381.72381344999,427.11263899087,477.89842030218,469.41794908116,525.2340355968],description:"A 12-note mavila scale (for warping meantone-based music)"},mavila9:{frequencies:[261.6255653006,287.53945699376,316.02010771872,321.72930260925,353.59644178868,388.62000642034,427.11263899087,434.82882549415,477.89842030218,525.2340355968],description:"9-note scale of mavila temperament (TOP tuning)"},mavlim1:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,465.11211608996,523.2511306012],description:"First 27/25&135/128 scale"},mbira_banda:{frequencies:[261.6255653006,291.13134764929,327.53979283172,368.50142299854,404.88256627495,443.57258128492,480.10063929961,555.00605988575],description:"Mubayiwa Bandambira's tuning of keys R2-R9 from Berliner: The soul of mbira."},mbira_banda2:{frequencies:[261.6255653006,321.16993719469,360.29289210659,380.8360868427,422.32008370967,461.34206956593,587.32953583482,513.96502576833,761.67217368541,711.48673390068,849.04255025658,936.10488897708,1046.50286568598,633.49659152295,1055.60951665979,1174.65975017952,1321.5609185619,1486.83332446121,1633.62433483289,1789.73120457747,1937.11498804338,2239.34414798534],description:"Mubayiwa Bandambira's Mbira DzaVadzimu tuning B1=114 Hz"},mbira_gondo:{frequencies:[261.6255653006,315.28798447451,345.21700307457,379.51849407657,422.56409582244,461.07566488503,564.05539604512,516.94239487354,778.57545143809,697.24717811406,842.69088701475,926.42243447898,1029.11884353824,628.3943418294,1040.47545270591,1153.813137635,1308.64724593201,1415.59600512246,1572.51770682594,1715.83353717518,1883.05646656025,2103.91477035149],description:"John Gondo's Mbira DzaVadzimu tuning B1=122 Hz"},mbira_kunaka:{frequencies:[261.6255653006,292.98704147282,325.27731021818,350.44066402496,386.59871897734,434.19311733646,479.82340237272,507.76825077597],description:"John Kunaka's mbira tuning of keys R2-R9"},mbira_kunaka2:{frequencies:[261.6255653006,340.26769547546,358.83903996308,405.11650317313,448.98591596033,490.75518955849,622.61349925697,541.70354187177,817.28364083393,724.3415782324,907.35693646861,997.5144154576,1094.73088724383,673.88551872153,1085.91380691742,1216.08403680913,1350.10935126711,1454.55340013417,1604.63250673428,1802.17976955899,1991.5747030301,2107.56373750553],description:"John Kunaka's Mbira DzaVadzimu tuning B1=113 Hz"},mbira_mude:{frequencies:[261.6255653006,289.28740724512,309.15639683494,364.68988616898,372.56793743951,408.17001145418,507.1819925915,459.74594725879,689.63684605432,610.50517472746,760.79276355093,824.39562982862,887.65774573556,562.75365576207,888.68380073365,1015.53708814899,1126.80895076279,1206.28956516212,1365.00817887311,1507.58874420517,1666.02447560859,1935.99638964471],description:"Hakurotwi Mude's Mbira DzaVadzimu tuning B1=132 Hz"},mbira_mujuru:{frequencies:[261.6255653006,281.37682788104,301.05008478933,329.43721154897,394.9500460767,419.64523240241,533.01280425363,488.77489658044,700.88132804992,602.10016957865,765.19999119503,809.29752893,942.6160133907,577.57308891646,937.72844143307,1046.50286568598,1145.18149427149,1243.7900049313,1411.51350174391,1540.15576038017,1658.34356815416,1904.9365287586],description:"Ephat Mujuru's Mbira DzaVadzimu tuning, B1=106 Hz"},mbira_zimb:{frequencies:[261.6255653006,276.86260193655,305.95868600104,343.62544191138,379.08031027329,408.40584780369,453.41648894489,507.76825077597],description:"Shona mbira scale"},mboko_bow:{frequencies:[261.6255653006,347.61817721989,375.37611551499],description:"African Mboko Mouth Bow (chordophone, single string, plucked)"},mboko_zither:{frequencies:[261.6255653006,294.68429813772,319.3201344739,354.92237405774,396.55020354877,418.67676528474,472.67116512585,513.07516347663],description:"African Mboko Zither (chordophone; idiochordic palm fibre, plucked)"},mcclain:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,327.03195662575,331.11985608357,367.91095120397,392.4383479509,408.78994578219,441.49314144476,490.54793493862,510.98743222773,523.2511306012],description:"McClain's 12-tone scale, see page 119 of The Myth of Invariance"},mcclain_18:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,319.36714514233,327.03195662575,331.11985608357,344.91651675372,367.91095120397,383.2405741708,392.4383479509,408.78994578219,413.89982010446,441.49314144476,459.88868900496,490.54793493862,496.67978412536,510.98743222773,523.2511306012],description:"McClain's 18-tone scale, see page 143 of The Myth of Invariance"},mcclain_8:{frequencies:[261.6255653006,294.32876096318,327.03195662575,367.91095120397,392.4383479509,408.78994578219,441.49314144476,490.54793493862,523.2511306012],description:"McClain's 8-tone scale, see page 51 of The Myth of Invariance"},mccoskey_22:{frequencies:[261.6255653006,270.06509966514,279.06726965397,287.78812183066,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,382.37582620857,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,506.89953276991,523.2511306012],description:"31-limit rational interpretation of 22-tET, Marion McCoskey"},mclaren_bar:{frequencies:[261.6255653006,281.77400528964,292.14326370913,304.76756192248,325.50548568708,328.66136118639,353.45752508165,360.67039921732,379.1552038283,397.63971531932,405.75513620619,436.411067852,476.98680497297,521.16951219839],description:"Metal bar scale. see McLaren, Xenharmonicon 15, pp.31-33"},mclaren_cps:{frequencies:[261.6255653006,275.93321340298,286.15296204753,294.32876096318,306.59245933664,327.03195662575,343.38355445704,367.91095120397,392.4383479509,408.78994578219,429.2294430713,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"2)12 [1,2,3,4,5,6,8,9,10,12,14,15] a degenerate CPS"},mclaren_harm:{frequencies:[261.6255653006,279.06726965397,299.00064605783,304.4370214407,307.2300216374,348.83408706747,380.54627680087,389.39619021485,393.97732186443,398.6675280771,465.11211608996,523.2511306012],description:'from "Wilson part 9", claimed to be Schlesingers Dorian Enharmonic, prov. unkn'},mclaren_rath1:{frequencies:[261.6255653006,279.06726965397,299.00064605783,334.88072358477,341.71502406609,348.83408706747,372.08969287196,380.54627680087,389.39619021485,398.6675280771,492.47165233054,507.3950357345,523.2511306012],description:"McLaren Rat H1"},mclaren_rath2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,334.88072358477,341.71502406609,348.83408706747,380.54627680087,389.39619021485,398.6675280771,440.63253103259,452.54151835779,465.11211608996,523.2511306012],description:"McLaren Rat H2"},mean10:{frequencies:[261.6255653006,272.18829429226,292.14313377277,313.56091500001,326.220453695,350.13653284039,364.27275363262,390.97854693193,406.76370320307,436.58461973079,468.59178605305,487.51045723915,523.2511306012],description:"3/10-comma meantone scale"},mean11:{frequencies:[261.6255653006,272.83457350033,292.34115464648,313.24237654315,326.6628419965,350.01792709981,365.01399145768,391.11103243201,407.86767761879,437.02858581415,468.2743796482,488.33699124025,523.2511306012],description:"3/11-comma meantone scale. A.J. Ellis no. 10"},mean11ls_19:{frequencies:[261.6255653006,272.93479580544,280.25721516838,292.37183188538,305.01012622427,313.1930753928,326.73140514978,340.85495140859,349.99956372811,365.12891753666,374.92476290643,391.13155279262,408.03891236124,418.98596425085,437.09738047696,455.99169236578,468.2252457596,488.46511500326,509.57988860269,523.2511306012],description:"Least squares appr. to 3/2, 5/4, 7/6, 15/14 and 11/8, Petr Par\xEF\xBF\xBDzek"},mean13:{frequencies:[261.6255653006,273.83184954717,292.64606374809,312.75295135888,327.34460995374,349.8355370417,366.15730590163,391.31494185909,409.57195510156,437.7124891801,467.78648270341,489.61131479929,523.2511306012],description:"3/13-comma meantone scale"},mean14:{frequencies:[261.6255653006,274.22463192287,292.76593693997,312.56088569186,327.61283758281,349.76390952171,366.60744235102,391.39507854003,410.24343789088,437.98145930734,467.59494724206,490.11285326462,523.2511306012],description:"3/14-comma meantone scale (Giordano Riccati, 1762)"},mean14_15:{frequencies:[261.6255653006,274.22463192287,279.31500250577,292.76593693997,306.86462618694,312.56088569186,327.61283758281,349.76390952171,366.60744235102,391.39507854003,410.24343789088,417.8586951835,437.98145930734,467.59494724206,490.11285326462,523.2511306012],description:"15 of 3/14-comma meantone scale"},mean14_19:{frequencies:[261.6255653006,274.22463192287,279.31500250577,292.76593693997,306.86462618694,312.56088569186,327.61283758281,343.38964426558,349.76390952171,366.60744235102,373.41269440635,391.39507854003,410.24343789088,417.8586951835,437.98145930734,459.07327263526,467.59494724206,490.11285326462,513.71515101261,523.2511306012],description:"19 of 3/14-comma meantone scale"},mean14_7:{frequencies:[261.6255653006,292.76593693997,327.61283758281,349.76390952171,391.39507854003,437.98145930734,490.11285326462,523.2511306012],description:"Least squares appr. of 5L+2S to Ptolemy's Intense Diatonic scale"},mean14a:{frequencies:[261.6255653006,274.24690838881,292.77273178776,312.55000460003,327.62804498858,349.75985073129,366.63296888199,391.39962048672,410.28152481852,437.9967071602,467.58409501387,490.1412915133,523.2511306012],description:'fifth of sqrt(5/2)-1 octave "recursive" meantone, Paul Hahn'},mean16:{frequencies:[261.6255653006,274.864106667,292.9608347655,312.24903186879,328.04917632434,349.64754658398,367.34009701877,391.52533508436,411.33694767869,438.41888642025,467.28387071703,490.92894854125,523.2511306012],description:"3/16-comma meantone scale"},mean17:{frequencies:[261.6255653006,273.72412433093,292.61316553779,312.80569569783,327.2710181906,349.85520131118,366.03383354947,391.29294726693,409.38781813791,437.63868343995,467.83907547741,489.47372981579,523.2511306012],description:"4/17-comma meantone scale, least squares error of 5/4 and 3/2"},mean17_17:{frequencies:[261.6255653006,273.72412433093,279.67971414776,292.61316553779,306.14471057197,312.80569569783,327.2710181906,349.85520131118,366.03383354947,373.99786656393,391.29294726693,409.38781813791,418.29512920081,437.63868343995,457.8767570375,467.83907547741,489.47372981579,523.2511306012],description:"4/17-comma meantone scale with split C#/Db, D#/Eb, F#/Gb, G#/Ab and A#/Bb"},mean17_19:{frequencies:[261.6255653006,273.72412433093,279.67971414776,292.61316553779,306.14471057197,312.80569569783,327.2710181906,342.40527209253,349.85520131118,366.03383354947,373.99786656393,391.29294726693,409.38781813791,418.29512920081,437.63868343995,457.8767570375,467.83907547741,489.47372981579,512.10885267608,523.2511306012],description:"4/17-comma meantone scale, least squares error of 5/4 and 3/2"},mean18:{frequencies:[261.6255653006,272.71477685134,292.30447317753,313.30134186202,326.58087306932,350.03988839382,364.87661266094,391.0864943589,407.66301227525,436.94633423564,468.33314368944,488.18382342185,523.2511306012],description:"5/18-comma meantone scale (Smith). 3/2 and 5/3 eq. beat. A.J. Ellis no. 9"},mean19:{frequencies:[261.6255653006,273.06170311607,292.41066686775,313.13068664042,326.81820677503,349.97632128221,365.27443420834,391.15752841841,408.25574814862,437.18446858874,468.16306089008,488.62733218513,523.2511306012],description:"5/19-comma meantone scale, fifths beats three times third. A.J. Ellis no. 11"},mean19r:{frequencies:[261.6255653006,273.04332227389,292.40504357126,313.13971948727,326.80563693258,349.97968716666,365.25335892465,391.15376651139,408.22434232755,437.17185753972,468.17206422213,488.60384173026,523.2511306012],description:"Approximate 5/19-comma meantone with 19/17 tone, Petr Parizek, 2002"},mean23:{frequencies:[261.6255653006,274.15058593695,292.74334833321,312.59706303545,327.56228503462,349.77740346966,366.52259116395,391.37997903742,410.11684180717,437.93077103284,467.63102771476,490.01832104213,523.2511306012],description:"5/23-comma meantone scale, A.J. Ellis no. 4"},mean23six:{frequencies:[261.6255653006,273.11604376732,292.42729246507,313.10398392891,326.85537164611,349.96637341293,365.33674088125,391.16864715511,408.34860251967,437.22175336101,468.13644404983,488.69678846289,523.2511306012],description:"6/23-comma meantone scale"},mean25:{frequencies:[261.6255653006,272.66208311698,292.28833573479,313.32728859832,326.54481265413,350.04955123355,364.81618195011,391.07569872695,407.57299290994,436.91015056532,468.35900068872,488.11644468937,523.2511306012],description:"7/25-comma meantone scale, least square weights 3/2:0 5/4:1 6/5:1"},mean26:{frequencies:[261.6255653006,272.91754119498,292.36655103694,313.20156187458,326.7196004604,350.00272362315,365.10913291207,391.12802157824,408.00943064927,437.08553692506,468.23370304224,488.44305713046,523.2511306012],description:"7/26-comma meantone scale (Woolhouse 1835). Almost equal to meaneb742"},mean26_21:{frequencies:[261.6255653006,272.91754592428,280.26986822267,292.36655272572,304.98534036063,313.20156006546,326.71960423481,335.52133892506,340.8210986211,350.00272362315,365.10913712997,374.9450750913,391.12802157824,408.00943771953,419.00109777107,437.08553944976,455.95052092314,468.23370033762,488.44306277317,501.60158217053,509.52467838008,523.2511306012],description:"21 of 7/26-comma meantone scale (Woolhouse 1835)"},mean27:{frequencies:[261.6255653006,273.15429014256,292.43899158768,313.08519355925,326.88152513903,349.9593710588,365.38059276675,391.17647406766,408.41395592075,437.24799400905,468.11771609009,488.74567091648,523.2511306012],description:"7/27-comma meantone scale, least square weights 3/2:2 5/4:1 6/5:1"},mean29:{frequencies:[261.6255653006,273.57932033947,292.56893127899,312.87664195194,327.1720749345,349.88164908166,365.86785468743,391.26336919078,409.14031659695,437.53944680455,467.90980928584,489.28875967044,523.2511306012],description:"7/29-comma meantone scale, least square weights 3/2:4 5/4:1 6/5:1"},mean2sev:{frequencies:[261.6255653006,272.52663052146,292.24684137387,313.39402123097,326.45210604021,350.07440004945,364.66083404534,391.04793957621,407.34160211012,436.81711699543,468.42550014967,487.94322738789,523.2511306012],description:"2/7-comma meantone scale. Zarlino's temperament (1558). See also meaneb371"},mean2sev_15:{frequencies:[261.6255653006,272.52663052146,280.55692507618,292.24689370448,304.42377254813,313.39402847191,326.45203249943,350.07447082328,364.66081719444,391.04786051887,407.34165622677,419.34452602299,436.81710690282,468.42541627199,487.94330348661,523.2511306012],description:"15 of 2/7-comma meantone scale"},mean2sev_19:{frequencies:[261.6255653006,272.52663052146,280.55692507618,292.24689370448,304.42377254813,313.39402847191,326.45203249943,340.0543130973,350.07447082328,364.66081719444,375.40603866065,391.04786051887,407.34165622677,419.34452602299,436.81710690282,455.01770749831,468.42541627199,487.94330348661,508.27414914183,523.2511306012],description:"19 of 2/7-comma meantone scale"},mean2sev_31:{frequencies:[261.6255653006,264.72620698393,272.52663052146,280.55692507618,283.88190679319,292.24689370448,300.8583415146,304.42377254813,313.39402847191,317.10820138491,326.45203249943,336.07138073182,340.0543130973,350.07447082328,354.22315547012,364.66081719444,375.40603866065,379.85514366424,391.04786051887,395.6823437549,407.34165622677,419.34452602299,424.31412061457,436.81710690282,449.68851049921,455.01770749831,468.42541627199,473.97693555703,487.94330348661,502.32108537715,508.27414914183,523.2511306012],description:"31 of 2/7-comma meantone scale"},mean2seveb:{frequencies:[261.6255653006,274.26749945295,292.59076110537,312.44357330613,327.42660602987,349.76102048238,366.6169314736,391.04794861134,410.01084835752,437.49574139527,467.27496094916,489.74950989452,523.2511306012],description:'"2/7-comma" meantone with equal beating fifths. A.J. Ellis no. 8'},mean2sevr:{frequencies:[261.6255653006,272.52663052146,292.24289114742,313.39346366789,326.45152465405,350.07234194042,364.65868952128,391.04531121882,407.33886585294,436.81651812993,468.41855142334,487.93599106598,523.2511306012],description:"Rational approximation to 2/7-comma meantone, 1/1 = 262.9333"},mean9:{frequencies:[261.6255653006,274.03547926168,292.70827332867,306.59245933664,327.48360691354,349.79835961887,366.39065074918,391.35653176554,409.92008797511,437.85206746661,467.68706357679,489.87127257422,523.2511306012],description:"2/9-comma meantone scale, Lemme Rossi, Sistema musico (1666)"},mean94:{frequencies:[261.6255653006,268.79084150406,291.09659021292,315.25339315665,323.88740273232,350.76536842075,360.37196303797,390.27761906502,400.96635635801,434.24075936811,470.27645613296,483.15616342113,523.2511306012],description:"4/9-comma meantone scale"},mean9_15:{frequencies:[261.6255653006,274.03547926168,279.45274708261,292.70827332867,306.59245933664,312.65343270838,327.48360691354,349.79835961887,366.39065074918,391.35653176554,409.92008797511,418.0235894185,437.85206746661,467.68706357679,489.87127257422,523.2511306012],description:"15 of 2/9-comma meantone scale"},mean9_19:{frequencies:[261.6255653006,274.03547926168,279.45274708261,292.70827332867,306.59245933664,312.65343270838,327.48360691354,343.0174228875,349.79835961887,366.39065074918,373.63364091796,391.35653176554,409.92008797511,418.0235894185,437.85206746661,458.62082212371,467.68706357679,489.87127257422,513.10776453427,523.2511306012],description:"19 of 2/9-comma meantone scale"},mean9_31:{frequencies:[261.6255653006,268.72322665693,274.03547926168,279.45274708261,287.03404351137,292.70827332867,298.49467410529,306.59245933664,312.65343270838,321.13524775754,327.48360691354,333.95746354843,343.0174228875,349.79835961887,359.28803828513,366.39065074918,373.63364091796,383.76997851754,391.35653176554,401.97367512027,409.92008797511,418.0235894185,429.36393755067,437.85181455341,446.50763144636,458.62082212371,467.68706357679,480.3749841712,489.87127257422,499.55528826613,513.10776453427,523.2511306012],description:"31 of 2/9-comma meantone scale"},meaneb1071:{frequencies:[261.6255653006,273.45959631537,292.5323192343,305.76452283047,327.09038632535,349.9034421565,365.73073124967,391.23900009103,408.93579686983,437.45744778434,457.24482979639,489.13584427285,523.2511306012],description:"Equal beating 7/4 = 3/2 same."},meaneb1071a:{frequencies:[261.6255653006,273.94115519525,292.67936294368,306.45675889694,327.41929816594,349.81553441422,366.28252094772,391.33731744348,409.75863641311,437.78732645584,458.39517452459,489.75074612717,523.2511306012],description:"Equal beating 7/4 = 3/2 opposite."},meaneb341:{frequencies:[261.6255653006,272.43747957464,292.21954801903,313.43802026715,326.39113133433,350.09085029289,364.55867287416,391.02956482064,407.18921698842,436.75579855003,468.46925117002,487.82916876009,523.2511306012],description:"Equal beating 6/5 = 5/4 same. Almost 4/15 Pyth. comma"},meaneb371:{frequencies:[261.6255653006,272.52577151658,292.24657972098,313.39444482621,326.45151771442,350.07455777399,364.65985037488,391.0477633913,407.34013625771,436.81652657765,468.42591953828,487.94213100406,523.2511306012],description:"Equal beating 6/5 = 3/2 same. Practically 2/7-comma (Zarlino)"},meaneb371a:{frequencies:[261.6255653006,269.83862220337,291.42039690163,314.72828847419,324.6081803116,350.57044084899,361.57569171511,390.49462500658,421.72650333798,434.96526321606,469.75391665508,484.50062400899,523.2511306012],description:"Equal beating 6/5 = 3/2 opposite. Almost 2/5-comma"},meaneb381:{frequencies:[261.6255653006,275.92799893014,293.28437056932,311.73248946737,328.77414682856,349.45463702831,368.55847249214,391.74146894101,416.38271791821,439.14534885862,466.76838786866,492.28548089506,523.2511306012],description:"Equal beating 6/5 = 8/5 same. Almost 1/7-comma"},meaneb451:{frequencies:[261.6255653006,274.36682021224,292.8092284668,312.49148032108,327.70992276921,349.73795145032,366.77030983847,391.42412846541,410.48661799548,438.07873640926,467.5258138363,490.29448158868,523.2511306012],description:"Equal beating 5/4 = 4/3 same, 5/24 comma meantone. A.J. Ellis no. 6"},meaneb471:{frequencies:[261.6255653006,272.3284467197,292.18612898941,313.49179640307,326.31648163178,350.11087068539,364.43361138613,391.00720457415,407.00321492741,436.68087780422,468.52283272721,487.68970701588,523.2511306012],description:"Equal beating 5/4 = 3/2 same. Almost 5/17-comma"},meaneb471a:{frequencies:[261.6255653006,274.14912748586,292.7429036132,312.59777626068,327.56128980523,349.7776701617,366.52092076205,391.37968062521,410.11434970273,437.92977184699,467.63173811584,490.01645860508,523.2511306012],description:"Equal beating 5/4 = 3/2 opposite. Almost 1/5 Pyth. Gottfried Keller (1707)"},meaneb471b:{frequencies:[261.6255653006,272.31089540773,292.18072491748,313.50040506268,326.30440921209,350.11400731728,364.41338872146,391.00370158472,406.97310157871,436.668886633,468.53149836075,487.66729542944,523.2511306012],description:"21/109-comma meantone with 9/7 major thirds, almost equal beating 5/4 and 3/2"},meaneb472:{frequencies:[261.6255653006,270.83769079127,291.72826852127,314.23020335825,325.29440843388,350.38540704884,362.72286472858,390.7008399429,404.45761497645,435.65472502222,469.25816799182,485.78126704788,523.2511306012],description:"Beating of 5/4 = twice 3/2 same. Almost 5/14-comma"},meaneb472_19:{frequencies:[261.6255653006,270.8378472333,281.80541953687,291.72826852127,302.00051792575,314.23002185182,325.29459633135,336.74877333101,350.38540704884,362.72307424558,377.41153667283,390.7008399429,404.45808222448,420.83660282593,435.65497666633,450.99513069838,469.25816799182,485.78154764623,502.88674365212,523.2511306012],description:"Beating of 5/4 = twice 3/2 same, 19 tones"},meaneb472a:{frequencies:[261.6255653006,274.74648495017,292.92493846141,312.30633997417,327.96897748493,349.66886860972,367.20529370531,391.50146074488,411.13561642091,438.33843670622,467.34113372786,490.7787182415,523.2511306012],description:"Beating of 5/4 = twice 3/2 opposite. Almost 3/17-comma"},meaneb591:{frequencies:[261.6255653006,273.06215106005,292.41085266114,313.13038820279,326.81843330822,349.97621009739,365.27491737756,391.15765268623,418.87439289145,437.18488525956,468.16276342643,488.62782610925,523.2511306012],description:"Equal beating 4/3 = 5/3 same."},meaneb732:{frequencies:[261.6255653006,272.00548436883,292.08705896894,313.65121264041,326.09523618955,350.1701397801,364.06303937825,390.94102347986,406.4514961644,436.45893055948,468.68174619223,487.27655969467,523.2511306012],description:"Beating of 3/2 = twice 6/5 same. Almost 4/13-comma"},meaneb732_19:{frequencies:[261.6255653006,272.00553778846,280.94077405591,292.08707584055,303.67560621907,313.65118727632,326.09527197795,339.03307470248,350.17012966679,364.06310036266,376.02237826726,390.94103477068,406.45158772689,419.80330474394,436.45896585468,453.77543893118,468.68171912011,487.27662724555,506.60928680033,523.2511306012],description:"Beating of 3/2 = twice 6/5 same, 19 tones"},meaneb732a:{frequencies:[261.6255653006,270.68848625127,291.6822692306,314.3042667302,325.1920204578,350.41293324447,362.5515203525,390.67014898736,404.20304509584,435.55206635241,469.33217160858,485.59021720901,523.2511306012],description:"Beating of 3/2 = twice 6/5 opposite. Almost 1/3 Pyth. comma"},meaneb742:{frequencies:[261.6255653006,272.89343543801,292.35917287023,313.21341909223,326.70311046689,350.00714105462,365.08148980199,391.12308516115,407.96824372307,437.06899032128,468.24551969328,488.41224041213,523.2511306012],description:"Beating of 3/2 = twice 5/4 same."},meaneb742a:{frequencies:[261.6255653006,273.78850133971,292.63287562287,312.77409391616,327.31510698093,349.84341999552,366.10759179471,391.30612443552,409.49789158088,437.68290117536,467.80756449982,489.55615570194,523.2511306012],description:"Beating of 3/2 = twice 5/4 opposite. Almost 3/13-comma, 3/14 Pyth. comma"},meaneb781:{frequencies:[261.6255653006,273.88372205101,292.66195046404,312.72748571568,327.38015167213,349.82604176358,366.21672762941,391.32556326448,418.15568884829,437.74813244966,467.76108961433,489.67748280644,523.2511306012],description:"Equal beating 3/2 = 8/5 same."},meaneb891:{frequencies:[261.6255653006,272.7426257605,292.31307409948,313.28760473417,326.59990179186,350.03483972175,364.90860969063,391.092135133,419.1546662649,436.96549358815,468.31936361194,488.21959184068,523.2511306012],description:"Equal beating 8/5 = 5/3 same. Almost 5/18-comma"},meaneight:{frequencies:[261.6255653006,276.08926119362,293.33333347996,311.65444160511,328.88393162803,349.42547049952,368.74309237173,391.77416758435,413.43299207996,439.25532436715,466.69047534984,492.49097043477,523.2511306012],description:"1/8 Pyth. comma meantone scale"},meanfifth:{frequencies:[261.6255653006,274.56546814423,292.86978442859,312.39456569414,327.84548435462,349.70179235499,366.99791252626,391.46460164194,410.82629477826,438.21464222188,467.42914467878,490.54793493862,523.2511306012],description:"1/5-comma meantone scale (Verheijen)"},meanfifth2:{frequencies:[261.6255653006,279.06726965397,292.86986732103,312.39452419152,327.84547867349,349.70184487387,366.99801003998,391.46454285105,417.56218018201,438.2147004401,467.42901237995,490.54793493862,523.2511306012],description:"1/5-comma meantone by John Holden (1770)"},meanfifth_19:{frequencies:[261.6255653006,274.56546814423,279.06726965397,292.86978442859,307.35519222791,312.39456569414,327.84548435462,344.06059968708,349.70179235499,366.99791252626,373.01539917593,391.46460164194,410.82629477826,417.56217294621,438.21464222188,459.88868900496,467.42914467878,490.54793493862,514.81033759999,523.2511306012],description:"19 of 1/5-comma meantone scale"},meanfifth_43:{frequencies:[261.6255653006,265.91515911649,270.13633240739,274.56546814423,279.06726965397,283.49717461664,288.14537375445,292.86978442859,297.67175429757,302.39711110066,307.35519222791,312.39456569414,317.35355938713,322.556865357,327.84548435462,333.22081516619,338.51040756711,344.06059968708,349.70179235499,355.43547760922,361.07770857381,366.99791252626,373.01539917593,378.93660287884,385.14971481892,391.46460164194,397.88302689184,404.19904307077,410.82629477826,417.56217294621,424.19061149626,431.14564594215,438.21464222188,445.39957775044,452.46991103879,459.88868900496,467.42914467878,475.09307907327,482.63477102771,490.54793493862,498.59100550039,506.50570672499,514.81033759999,523.2511306012],description:"Complete 1/5-comma meantone scale"},meanfiftheb:{frequencies:[261.6255653006,275.80023422757,293.11157312801,311.73372470712,328.53333183909,349.48325286892,368.3828117434,391.46459711956,412.7266004334,438.69360944226,466.62683936965,491.82624824197,523.2511306012],description:'"1/5-comma" meantone with equal beating fifths'},meangold:{frequencies:[261.6255653006,272.97231199113,292.38331430233,313.17462880702,326.75706743029,349.99269211627,365.17193449866,391.13923210785,408.10300926149,437.12312635029,468.20685771475,488.51307131873,523.2511306012],description:"Meantone scale with Blackwood's R = phi, and diat./chrom. ST = phi, ~4/15-comma"},meanhalf:{frequencies:[261.6255653006,267.49544939623,290.69507255622,315.90677595028,322.99452506247,351.00752840096,358.88280562497,390.00836666198,398.75867291663,433.34262909025,470.92601754108,481.49180950675,523.2511306012],description:"1/2-comma meantone scale"},meanhar2:{frequencies:[261.6255653006,273.08769296879,292.41861893027,305.22982618403,326.83598255713,349.97156260351,365.30423365264,391.16284711627,408.30015740759,437.20230245522,456.35665612784,488.66055322307,523.2511306012],description:"1/9-Harrison's comma meantone scale"},meanhar3:{frequencies:[261.6255653006,274.22153683641,292.76499331753,306.86017365004,327.61072570921,343.38355445704,366.60389537541,391.39444778107,410.23814647641,437.9793418028,459.06587176894,490.10890120058,523.2511306012],description:"1/11-Harrison's comma meantone scale"},meanharris:{frequencies:[261.6255653006,273.71072489962,292.60907359238,306.12544311476,327.26186315247,349.85764856047,366.01847563765,391.29021017831,409.36491649663,437.62950220286,457.84473927605,489.45661357347,523.2511306012],description:"1/10-Harrison's comma meantone scale"},meanhsev:{frequencies:[261.6255653006,265.69493617871,271.18768033644,275.4057836544,279.68949451567,284.03983498254,289.91182549392,294.4211659268,299.00064605783,305.1819244006,309.92877868547,314.74946639166,321.25632089757,326.25319922315,331.32779988873,336.4813337451,343.43745382287,348.77934146077,354.20431777528,361.52682728594,367.15008027699,372.86080050545,378.66034414493,386.48843610249,392.49994642563,398.60496085649,406.84537033315,413.17351844213,419.60009331305,426.12662827999,434.93599657884,441.70106893056,448.57136642871,457.84473927605,464.96613926104,472.19830582795,481.96011959425,489.45661357347,497.06970936204,504.80122352123,515.23704142273,523.2511306012],description:"1/14-septimal schisma tempered meantone scale"},meanhskl:{frequencies:[261.6255653006,275.0605216927,293.02063313667,312.15345277639,328.18310911307,349.61186736411,367.56508220664,391.56529173291,411.67289207144,438.55312706018,467.18850946536,491.17950266504,523.2511306012],description:"Half septimal kleisma meantone"},meanlst357_19:{frequencies:[261.6255653006,273.71260157103,279.68803244686,292.60971924044,306.12821574316,312.81131320311,327.26311833974,342.38279105966,349.85736361975,366.02068710341,374.01129952811,391.29052886394,409.36829077259,418.30522648629,437.63082426891,457.84952434322,467.84458559023,489.45917220726,512.07206464598,523.2511306012],description:"19 of mean-tone scale, least square error in 3/2, 5/4 and 7/4"},meanmalc:{frequencies:[261.6255653006,279.16226462633,292.82999876562,312.45832383396,327.75622702832,349.72564885805,366.84815356577,391.43789792004,417.67588698136,438.12522309524,467.49265244264,490.38100841085,523.2511306012],description:"Meantone approximation to Malcolm's Monochord, 3/16 Pyth. comma"},meannkleis:{frequencies:[261.6255653006,277.55670411237,293.77792781181,311.66693695111,329.88161264913,349.96913477239,370.42222384066,392.07096746411,415.94530241673,440.25439013544,467.06275302556,494.35929617392,523.2511306012],description:"1/5 kleisma tempered meantone scale"},meanpi:{frequencies:[261.6255653006,275.38456311745,294.43027471344,309.91448590794,326.2128298123,348.77404705732,367.11600789597,392.50613131028,413.14795414706,434.87532652316,464.95175460796,489.40347900327,523.2511306012],description:"Pi-based meantone with Harrison's major third by Erv Wilson"},meanpi2:{frequencies:[261.6255653006,287.5806999253,296.7710142931,326.2128298123,336.6377243117,370.0346037192,381.85992557156,394.06315326167,433.15704755212,446.99959483943,491.34516423327,507.04724898227,523.2511306012],description:"Pi-based meantone by Erv Wilson analogous to 22-tET"},meanpkleis:{frequencies:[261.6255653006,274.33428876064,294.88060759996,309.2047285643,324.22465805628,348.50752497012,365.43662717622,392.80607455881,411.88702081614,442.73537947933,464.24169412807,486.7926967469,523.2511306012],description:"1/5 kleisma positive temperament"},meanquar:{frequencies:[261.6255653006,273.37431312998,292.50627485027,312.977175335,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"1/4-comma meantone scale. Pietro Aaron's temp. (1523). 6/5 beats twice 3/2"},meanquar_14:{frequencies:[261.6255653006,273.37431312998,292.50627485027,305.64177427204,312.977175335,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,418.60090448096,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"1/4-comma meantone scale with split D#/Eb and G#/Ab, Otto Gibelius (1666)"},meanquar_15:{frequencies:[261.6255653006,273.37431312998,279.93529690293,292.50627485027,305.64177427204,312.977175335,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,418.60090448096,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"1/4-comma meantone scale with split C#/Db, D#/Eb and G#/Ab"},meanquar_16:{frequencies:[261.6255653006,273.37431312998,279.93548123753,292.50629850443,305.64179898843,312.97722776199,327.03195662575,349.91920725962,365.63293356166,391.22137338448,408.78994578219,418.60090448096,437.39882871549,457.04097849371,468.01000025525,489.02679755603,523.2511306012],description:"1/4-comma meantone scale with split C#/Db, D#/Eb, G#/Ab and A#/Bb"},meanquar_17:{frequencies:[261.6255653006,273.37431312998,279.93529690293,292.50627485027,305.64177250659,312.977175335,327.03195662575,349.91912034749,365.63284274659,374.40803131735,391.22147055517,408.78994578219,418.60090448096,437.39889945791,457.04105241293,468.01003810189,489.02683710225,523.2511306012],description:"1/4-comma meantone scale with split C#/Db, D#/Eb, F#/Gb, G#/Ab and A#/Bb"},meanquar_19:{frequencies:[261.6255653006,273.37431312998,279.93529690293,292.50627485027,305.64177427204,312.977175335,327.03195662575,341.71789064962,349.91912034749,365.63284274659,374.40803131735,391.22147055517,408.78994578219,418.60090448096,437.39890198442,457.04105241293,468.01003810189,489.02683710225,510.98743222773,523.2511306012],description:"19 of 1/4-comma meantone scale"},meanquar_27:{frequencies:[261.6255653006,273.37431312998,279.93529690293,285.65065877038,292.50627485027,299.52642572255,305.64177427204,312.977175335,327.03195662575,334.88072358477,341.71789064962,349.91912034749,365.63284274659,374.40803131735,382.05221698715,391.22147055517,400.61078621746,408.78994578219,418.60090448096,427.14736482575,437.39890198442,447.89647345742,457.04105241293,468.01003810189,489.02683710225,500.76348165392,510.98743222773,523.2511306012],description:"27 of 1/4-comma meantone scale"},meanquar_31:{frequencies:[261.6255653006,267.90457886781,273.37431312998,279.93529690293,285.65065877038,292.50627485027,299.52642572255,305.64177427204,312.977175335,320.48862783822,327.03195662575,334.88072358477,341.71789064962,349.91912034749,358.31717956585,365.63284274659,374.40803131735,382.05221698715,391.22147055517,400.61078621746,408.78994578219,418.60090448096,427.14736482575,437.39890198442,447.89647345742,457.04105241293,468.01003810189,479.24227945773,489.02683710225,500.76348165392,510.98743222773,523.2511306012],description:"31 of 1/4-comma meantone scale"},meanquareb:{frequencies:[261.6255653006,274.90575459855,292.80763523599,312.14798050979,327.88746490679,349.6453532581,367.3522744581,391.22144795733,411.14173398328,437.99455416256,467.00507093977,490.61429903129,523.2511306012],description:"Variation on 1/4-comma meantone with equal beating fifths"},meanquarm23:{frequencies:[261.6255653006,273.51763645063,292.40504357126,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,408.78994578219,436.04260883433,468.17206422213,489.12605686634,523.2511306012],description:"1/4-comma meantone approximation with minimal order 23 beatings"},meanquarr:{frequencies:[261.6255653006,273.37036621967,292.50063201309,312.98169478553,327.03195662575,349.92419358955,365.62579001637,391.21579858034,408.78994578219,437.39258595147,468.01906681552,489.01974822542,523.2511306012],description:"Rational approximation to 1/4-comma meantone, Kenneth Scholz, MTO 4.4, 1998"},meansabat:{frequencies:[261.6255653006,279.13726386405,294.25495796556,313.95067836072,330.95382015833,348.87783040382,372.229687597,392.38914286775,418.65339720992,441.32709511026,470.8669722571,496.36848628125,523.2511306012],description:"1/9-schisma meantone scale of Eduard Sa'bat-Garibaldi"},meansabat_53:{frequencies:[261.6255653006,264.79625752493,268.00537599851,271.25338610366,275.79485124716,279.13726386405,282.52018221184,285.94410045135,290.73152483281,294.25495796556,297.82109228474,301.4304452945,305.08354077075,310.19140758515,313.95067836072,317.75550958044,321.60645175541,326.99095182327,330.95382015833,334.96471528237,339.02421924159,343.13292113612,348.87783040382,353.10595017045,357.38531136087,361.71653498009,367.77258074571,372.229687597,376.74081403286,381.30660995465,385.92774054592,392.38914286775,397.14458487807,401.95765903525,406.82906379475,413.640406907,418.65339720992,423.72714093867,428.86237189887,436.04260883433,441.32709511026,446.67562589029,452.08897683944,457.56793273834,465.22877230071,470.8669722571,476.57350267936,482.349191678,490.42492909292,496.36848628125,502.38407462043,508.4725670703,514.63484717027,523.2511306012],description:"53-tone 1/9-schisma meantone scale"},meanschis:{frequencies:[261.6255653006,275.81646505128,294.24573392894,310.20599265769,327.03195662575,348.88329767713,367.80716871461,392.38299382393,413.66634097248,436.10412364188,465.24335632603,490.47874118496,523.2511306012],description:"1/8-schisma temperament, Helmholtz"},meanschis7:{frequencies:[261.6255653006,275.84425785506,294.23387584933,310.2247482054,327.0846843223,348.89032888179,367.85164222246,392.37508610937,413.69968681881,436.18322603255,465.26210635182,490.54793493862,523.2511306012],description:"1/7-schisma linear temperament"},meanschis_17:{frequencies:[261.6255653006,275.81646505128,290.77709705464,294.24573392894,310.20599265769,327.03195662575,330.93307160522,348.88329767713,367.80716871461,372.19468374184,392.38299382393,413.66634097248,436.10412364188,441.30634506723,465.24335632603,490.47874118496,496.32958936031,523.2511306012],description:"17-tone 1/8-schisma linear temperament"},meansept:{frequencies:[261.6255653006,273.93523095528,292.67762672082,312.70235991264,327.41522444303,349.81667202162,366.27579142084,391.33604481052,409.74867679276,437.78330574787,467.73603562223,489.74334292241,523.2511306012],description:"Meantone scale with septimal diminished fifth"},meansept2:{frequencies:[261.6255653006,273.61459551034,286.15296204753,292.57963558274,305.98714063953,320.00886175336,327.19620693615,342.18982383643,349.87514759905,365.9082279648,382.67602660872,391.27063976147,409.20043831214,427.95210889573,437.56358849756,457.61500463173,478.58500343311,489.333659422,511.75744671018,523.2511306012],description:"Meantone scale with septimal neutral second"},meansept3:{frequencies:[261.6255653006,267.11515986718,271.23581508831,275.42019673559,281.19923906193,285.53716249988,289.94217244295,296.02592413073,300.59257160392,305.22982618403,309.9384746623,316.44180152381,321.32358037849,326.28048244956,333.12670774706,338.26588629419,343.48414905091,348.7829114007,356.10146388137,361.59490682213,367.17305499414,374.87731434423,380.66058361349,386.53284867747,394.643327573,400.73152907611,406.91341882127,413.19091223118,421.86074762795,428.36858751681,434.97682067587,444.1040384307,450.95501471222,457.91167766162,464.97592623609,474.73234784313,482.05581210758,489.49253462334,499.76337935275,507.47298512535,515.30182087389,523.2511306012],description:"Pythagorean scale with septimal minor third"},meansept4:{frequencies:[261.6255653006,266.94086705872,271.13211808455,275.38917613856,280.98410555769,285.39585012732,289.87686370457,295.76613145071,300.40996929954,305.12672026341,309.91752915454,316.21395200486,321.17884203959,326.22168604472,332.8493514236,338.07543464185,343.38355445704,348.77505435772,355.86092403367,361.44831302863,367.12342987925,374.58207334188,380.46340397682,386.43730087372,394.28810581018,400.47907310734,406.76701374557,413.15368163355,421.54749623588,428.16623317002,434.88889120201,443.72428802318,450.69091522486,457.76754776364,464.95497741911,474.40121026751,481.84980583512,489.41535214975,499.35853288878,507.19898454493,515.16253949886,523.2511306012],description:"Pythagorean scale with septimal narrow fourth"},meansev:{frequencies:[261.6255653006,275.93321340298,293.28595453555,311.72996498387,328.77769811601,349.45369437647,368.5644419122,391.74252566418,413.16594588103,439.14890519043,466.76586696593,492.29212632197,523.2511306012],description:"1/7-comma meantone scale, Jean-Baptiste Romieu (1755)"},meansev2:{frequencies:[261.6255653006,273.98141462199,292.76593693997,312.83835055233,327.61283758281,350.07440004945,366.60744235102,391.74252566418,410.24343789088,438.37026184168,468.42550014967,490.54793493862,524.18054130269],description:"Meantone scale with 1/7-comma stretched octave (stretched meansept)"},meansev_19:{frequencies:[261.6255653006,275.93321340298,278.07859353335,293.28589524255,309.32501829942,311.72996858511,328.77775508885,346.75764506664,349.4536277652,368.56443339655,371.42996022741,391.74260033637,413.16585280598,416.37814821359,439.14890011719,463.16493144882,466.76596133102,492.29202110912,496.11959049595,523.2511306012],description:"19 of 1/7-comma meantone scale"},meanseveb:{frequencies:[261.6255653006,276.822915312,293.45907344559,311.2600957924,329.2717708679,349.29792128041,369.56105314287,391.74259807358,414.53862252605,439.49286138442,466.19439430972,493.21190508606,523.2511306012],description:'"1/7-comma" meantone with equal beating fifths'},meansixth:{frequencies:[261.6255653006,275.36245350283,293.11247215425,312.00666699279,328.38886075091,349.55699144229,367.91095120397,391.62676241399,412.18948168074,438.75944753732,467.04212833931,491.56459996916,523.2511306012],description:"1/6-comma meantone scale (tritonic temperament of Salinas)"},meansixth_19:{frequencies:[261.6255653006,275.36245350283,278.49009641114,293.11247215425,308.50278723002,312.00666699279,328.38886075091,345.6314161331,349.55699144229,367.91095120397,372.08969287196,391.62676241399,412.18948168074,416.87124381956,438.75944753732,461.79691129422,467.04212833931,491.56459996916,517.37477513058,523.2511306012],description:"19 of 1/6-comma meantone scale"},meansixtheb:{frequencies:[261.6255653006,276.39673661379,293.31426069206,311.4574698476,328.96404447481,349.37515437283,369.07004939896,391.62674884124,413.78350416977,439.15979251365,466.37460465854,492.63446576705,523.2511306012],description:'"1/6-comma" meantone with equal beating fifths'},meansixthm:{frequencies:[261.6255653006,275.36250599118,293.11251278827,312.00669222389,328.38895179964,349.55706816887,367.91095120397,391.62667645325,414.52369088643,438.75941205608,467.04206359353,491.56462836305,523.2511306012],description:"modified 1/6-comma meantone scale, wolf spread over 2 fifths"},meansixthm2:{frequencies:[261.6255653006,276.14113065853,293.11251278827,310.24975557428,328.38895179964,349.55706816887,367.91095120397,391.62667645325,414.52380581681,438.75941205608,465.72523006308,491.56462836305,523.2511306012],description:"modified 1/6-comma meantone scale, wolf spread over 4 fifths"},meansixthpm:{frequencies:[261.6255653006,275.00020270933,293.00227310437,309.72478954314,328.14198392915,348.83408706747,367.49599295996,391.5530240856,412.50030385781,438.51190905657,465.11211608996,491.10256480205,523.2511306012],description:"modified 1/6P-comma temperament, French 18th century"},meansixthso:{frequencies:[261.6255653006,273.09145986506,292.50627485027,313.30134186202,327.03195662575,350.28154752005,365.63284274659,391.62667645325,408.78994578219,437.85193595173,468.98001879925,489.53334447372,524.3356019912],description:"1/6-comma meantone scale with 1/6-comma stretched oct, Dave Keenan TL 13-12-99"},meanstr:{frequencies:[261.6255653006,272.52663052146,292.30447317753,313.51763757869,326.58087306932,350.28154752005,364.87661266094,391.35649333595,407.66301227525,437.24799400905,468.98001879925,488.52085380073,523.97386302914],description:"Meantone with 1/9-comma stretched octave, Petr Parizek (2006)"},meanten:{frequencies:[261.6255653006,276.96346718799,293.59840699152,311.2324721493,329.47860040677,349.26769656434,369.74365294187,391.95114287501,414.92943551322,439.85086739936,466.26912673157,493.60433806962,523.2511306012],description:"1/10-comma meantone scale"},meanthird:{frequencies:[261.6255653006,271.40047399919,291.9012907804,313.95067836072,325.68056936328,350.28154752005,363.36884069528,390.81668391305,405.4184580124,436.04260883433,468.98001879925,486.50215045777,523.2511306012],description:"1/3-comma meantone scale (Salinas)"},meanthird_19:{frequencies:[261.6255653006,271.40047399919,281.38801176707,291.9012907804,302.80736724606,313.95067836072,325.68056936328,337.848714425,350.28154752005,363.36884069528,376.74081403286,390.81668391305,405.4184580124,420.33785775232,436.04260883433,452.33412516107,468.98001879925,486.50215045777,504.40543017669,523.2511306012],description:"Complete 1/3-comma meantone scale"},meanthirdeb:{frequencies:[261.6255653006,273.41679662438,292.30169912182,312.83755546226,326.81234905863,349.91518709086,365.63683018302,390.81669745772,408.5035451685,436.83089868331,467.63468237516,488.59687355467,523.2511306012],description:'"1/3-comma" meantone with equal beating fifths'},meanvar1:{frequencies:[261.6255653006,274.22463192287,292.50627485027,312.00669222389,327.03195662575,349.55706816887,366.3906401674,391.22147055517,410.48618883318,437.39890198442,467.04206359353,489.53334447372,523.2511306012],description:"Variable meantone 1: C-G-D-A-E 1/4, others 1/6"},meanvar2:{frequencies:[261.6255653006,274.19219069011,292.50627485027,312.04360750473,327.03195662575,349.70184487387,366.23895640989,391.22147055517,410.65012590831,437.39890198442,467.23549927892,489.3306802979,523.2511306012],description:"Variable meantone 2: C..E 1/4, 1/5-1/6-1/7-1/8 outward both directions"},meanvar3:{frequencies:[261.6255653006,275.36250599118,292.50627485027,310.71739423852,327.03195662575,349.55706816887,367.15000817177,391.22147055517,413.04376116614,437.39890198442,466.0760911248,489.53334447372,523.2511306012],description:"Variable meantone 3: C..E 1/4, 1/6 next, then Pyth."},meanvar4:{frequencies:[261.6255653006,275.07759559501,292.50627485027,311.03921839762,327.03195662575,349.91912034749,366.77012764335,391.22147055517,412.61639318626,437.39890198442,466.55882736321,489.02683710225,523.2511306012],description:"Variable meantone 4: naturals 1/4-comma, accidentals Pyth."},mediant16:{frequencies:[261.6255653006,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,470.92601754108,523.2511306012],description:"Mediant doubling of octave done four times"},mercadier:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.42509491746,328.14198392915,349.22823143301,368.74309237173,391.5530240856,413.90012676351,438.51190905657,465.63764214343,492.21297564769,523.2511306012],description:"Mercadier's well-temperament (1777), 1/12 and 1/6 Pyth. comma"},mercadier2:{frequencies:[261.6255653006,276.14388692511,292.95319623755,310.40895756597,328.03206784165,349.20805980193,368.45885450371,391.49761638186,413.86785247997,438.37641748302,465.57175090792,491.63473786767,523.2511306012],description:"Mercadier de Belestas (1776)"},mercator:{frequencies:[261.6255653006,272.09448029963,279.3054110864,290.48161516351,306.08206748155,318.32990397837,326.76614606023,335.42596179815,348.84778913489,362.80689075348,372.42184279259,387.32403355801,408.12545368833,418.94141877379,435.70530841001,453.13974129598,465.14865565404,490.12996697565,509.74216322321,523.2511306012],description:"19 out of 53-tET, see Mandelbaum p. 331"},merrick:{frequencies:[261.6255653006,278.62147458377,295.28844751169,312.94924079019,329.91874474504,349.29981986967,371.62722343835,394.01440557319,416.60121863153,438.96906929631,468.0242659544,493.6331420766,523.2511306012],description:"A. Merrick's melodically tuned equal temperament (1811)"},mersen_l1:{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Mersenne lute 1"},mersen_l2:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Mersenne lute 2"},mersen_s1:{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Mersenne spinet 1"},mersen_s2:{frequencies:[261.6255653006,272.52663052146,294.32876096318,306.59245933664,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Mersenne spinet 2"},mersenmt1:{frequencies:[261.6255653006,273.37431312998,292.50627485027,311.03921839762,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,466.55882736321,489.02683710225,523.2511306012],description:"Mersenne's Improved Meantone 1"},mersenmt2:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.11326130363,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Mersenne's Improved Meantone 2"},mersenne:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,310.07474405997,313.95067836072,322.99452506247,327.03195662575,340.65828815182,344.52749339997,348.83408706747,363.36884069528,367.91095120397,372.08969287196,376.74081403286,387.59343007496,392.4383479509,408.78994578219,413.43299207996,418.60090448096,430.65936674996,436.04260883433,454.2110508691,459.88868900496,465.11211608996,470.92601754108,484.4917875937,490.54793493862,510.98743222773,523.2511306012],description:"31-note choice system of Mersenne, Harmonie universelle (1636)"},meyer:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Max Meyer, see Doty, David, 1/1 August 1992 (7:4) p.1 and 10-14"},meyer_29:{frequencies:[261.6255653006,268.26840191956,275.93321340298,286.15296204753,289.72987407313,294.32876096318,306.59245933664,321.92208230347,327.03195662575,331.11985608357,343.38355445704,344.91651675372,357.69120255941,367.91095120397,372.50983809402,383.2405741708,386.30649876417,392.4383479509,408.78994578219,413.89982010446,429.2294430713,441.49314144476,457.84473927605,459.88868900496,482.88312345521,490.54793493862,496.67978412536,510.98743222773,515.07533168556,523.2511306012],description:"Max Meyer, see Doty, David, 1/1 August 1992 (7:4) p.1 and 10-14"},mid_enh1:{frequencies:[261.6255653006,269.10058145205,336.37572681506,348.83408706747,392.4383479509,403.65087217807,504.56359022259,523.2511306012],description:"Mid-Mode1 Enharmonic, permutation of Archytas's with the 5/4 lying medially"},mid_enh2:{frequencies:[261.6255653006,271.31540105247,339.14425131559,348.83408706747,392.4383479509,406.97310157871,508.71637697339,523.2511306012],description:"Permutation of Archytas' Enharmonic with the 5/4 medially and 28/27 first"},miller19:{frequencies:[261.6255653006,271.16557874802,283.07475767856,293.39690257971,304.09543631541,315.18408718336,326.67707691855,338.58915326012,350.93559605343,363.73224209988,376.99551198295,390.74241649248,407.9032302438,422.77716528297,438.1934715504,454.17192383337,470.73301771751,487.89800430439,505.68889852562,524.12852955557],description:"TOP tempered nr. 64 [1202.9, 570.4479508], 7-limit {225/224, 1029/1000}"},miller7:{frequencies:[261.6255653006,274.70684356563,294.32876096318,313.95067836072,329.64821227876,353.19451315581,366.27579142084,392.4383479509,412.06026534844,439.53094970501,470.92601754108,494.47231841813,523.2511306012],description:"Herman Miller, 7-limit JI. mode of parizek_ji1"},miller_12:{frequencies:[261.6255653006,273.36657578691,291.63627719304,313.29104303136,327.35065305942,349.22823143301,364.90060015836,391.99543598175,418.19337019276,436.9606979923,456.57025003029,487.08386390194,523.2511306012],description:"Herman Miller, scale with appr. to three 7/4 and one 11/8. Tuning List 19-11-99"},miller_12a:{frequencies:[261.6255653006,273.46133384191,291.68681828778,313.23675853409,327.40738352015,349.22823143301,365.02708698668,391.99543598175,418.12090908234,437.03642407223,456.80766452229,487.25270356141,523.85596330884],description:'Herman Miller, "Starling" scale, alternative version TL 25-11-99'},miller_12r:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,454.2110508691,484.4917875937,523.2511306012],description:'Herman Miller, "Starling" scale rational version'},miller_ar1:{frequencies:[261.6255653006,276.1828093671,293.13465239421,310.07474405997,327.9937953665,348.83408706747,368.24374600687,391.64146650178,414.27421384356,438.21489534465,465.11211608996,490.99166158792,523.2511306012],description:'Herman Miller, "Arrow I" well-temperament'},miller_ar2:{frequencies:[261.6255653006,276.1828093671,293.13465239421,310.2849072826,328.2161033156,349.07052034394,368.24374600687,391.64146650178,414.27421384356,438.51190905657,465.42736069124,491.32444638706,523.2511306012],description:'Herman Miller, "Arrow II" well-temperament'},miller_b1:{frequencies:[261.6255653006,276.37000081643,292.93610587951,310.49521248455,328.2161033156,348.83408706747,368.4933346061,391.64146650178,413.993616853,438.80912407872,465.11211608996,491.32444638706,523.2511306012],description:'Herman Miller, "Butterfly I" well-temperament'},miller_b2:{frequencies:[261.6255653006,276.55731914056,293.13465239421,310.70566022736,328.2161033156,349.07052034394,368.74309237173,392.17254067411,414.27421384356,439.10654054756,465.42736069124,491.99069280383,523.2511306012],description:'Herman Miller, "Butterfly II" well-temperament'},miller_bug:{frequencies:[261.6255653006,275.99574470663,292.73769384471,310.49521248455,327.54963108844,348.83408706747,368.4933346061,391.64146650178,413.993616853,437.62147130622,465.11211608996,491.32444638706,523.2511306012],description:'Herman Miller, "Bug I" well-temperament'},miller_dim:{frequencies:[261.6255653006,272.37088095799,275.97178311718,291.10467300644,307.06737543415,311.12698372208,323.9053895548,328.18760802294,346.1837483498,365.1667076515,369.99442271164,385.1905938463,390.2830385166,411.68417663589,434.25884690128,440,458.07139483414,464.12736626882,489.57775198944,516.42371048788,523.2511306012],description:"Diminished temperament, g=92.421, oct=1/4, 7-limit"},miller_nikta:{frequencies:[261.6255653006,272.78230567952,282.82337239762,292.30660227893,305.1368529352,315.1779191367,326.89249731477,341.39626079795,349.76381456689,364.82541608424,379.88701473,391.60159255926,407.77886614283,422.28262813098,436.22855406869,456.86852448015,469.69877536137,488.10739794888,508.74736733766,523.2511306012],description:'Herman Miller, 19-tone scale of "Nikta". Tuning List 22-1-99'},miller_sp:{frequencies:[261.6255653006,276.74268633071,292.73329748773,304.15432597486,321.72882314722,340.31880135827,353.5963846,374.02771873076,395.63960626236,411.07553805605,434.82810464551,459.95313047266,477.89826295658,505.51194770063,525.23456349057],description:"Herman Miller, Superpelog temperament, TOP tuning"},minor_5:{frequencies:[261.6255653006,299.00064605783,348.83408706747,418.60090448096,465.11211608996,523.2511306012],description:"A minor pentatonic"},minor_clus:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,348.83408706747,353.19451315581,372.08969287196,392.4383479509,418.60090448096,441.49314144476,465.11211608996,470.92601754108,523.2511306012],description:"Chalmers' Minor Mode Cluster, Genus [333335]"},minor_wing:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Chalmers' Minor Wing with 7 minor and 6 major triads"},minortone:{frequencies:[261.6255653006,264.87670583656,269.18630372462,273.56601964703,276.96554054138,281.47182622933,286.05143175444,290.70554674078,294.31805527354,299.10666990622,303.97319627313,307.75057781118,312.75774231814,317.84637624619,323.01780144749,327.03184444407,332.35271908155,337.76016543181,341.95740725719,347.52112383796,353.17536321933,358.9216002989,363.3818066762,369.29410472703,375.30259493676,379.96636500161,386.14849505708,392.43120962619,398.81614754309,403.7721109712,410.34156772664,417.0179085097,422.20006196255,429.06934285921,436.05038835349,443.14501943782,448.65184388114,455.95150328441,463.36992699746,469.12808274602,476.76089208744,484.51788878959,492.4010934061,498.52001054206,506.63103252794,514.8740254656,523.2511306012],description:"Minortone temperament, g=182.466089, 5-limit"},miracle1:{frequencies:[261.6255653006,266.71173418545,279.86396690685,285.30470202322,299.37379946195,305.19382000629,320.24370022528,326.46944327063,342.56848033562,349.22823143301,366.44956000397,373.57357677338,391.99543598175,399.61607881612,419.32216217931,427.47405410759,448.5538823653,457.27406033445,479.82340237272,489.15147723638,513.27277840175,523.2511306012],description:'21 out of 72-tET Pyth. scale "Miracle/Blackjack", Keenan & Erlich, TL 2-5-2001'},miracle1a:{frequencies:[261.6255653006,266.57640943865,279.87817034289,285.17441410431,299.40418912991,305.0699313594,320.29246281951,326.35348199782,342.63803067389,349.1219037468,366.54256247747,373.47879032775,392.11482112276,399.53496279579,419.47115746916,427.40897376302,448.73603972606,457.22764679928,480.04261976898,489.12665346498,513.5333359992,523.2511306012],description:"Version of Blackjack with just 11/8 intervals"},miracle2:{frequencies:[261.6255653006,266.71172956369,274.52699087907,279.86396690685,285.30469707927,293.66477470251,299.3738011912,305.19381471768,314.13668880034,320.24370207508,326.46943949911,336.03573785931,342.56848231438,349.22822739856,359.4614100947,366.44956423737,373.57357245769,380.83607584373,391.99544051026,399.61607650784,407.38486242506,419.32216702351,427.4740516384,435.78441397758,448.55389013814,457.27405769313,466.16375074742,479.82341068742,489.15147723638,498.66088722045,513.27278729609,523.2511306012],description:'31 out of 72-tET Pythagorean scale "Miracle/Canasta", tempered Fokker-M, 36 7-limit tetrads'},miracle24:{frequencies:[261.6255653006,266.71173418545,274.52698453615,279.86396690685,285.30470202322,299.37379946195,305.19382000629,320.24370022528,326.46944327063,342.56848033562,349.22823143301,366.44956000397,373.57357677338,391.99543598175,399.61607881612,419.32216217931,427.47405410759,448.5538823653,457.27406033445,466.16376151809,479.82340237272,489.15147723638,498.66089874196,513.27277840175,523.2511306012],description:"Miracle[24] in 72-tET tuning."},miracle2a:{frequencies:[261.6255653006,266.57640943865,274.68028654691,279.87817034289,285.17441410431,293.84366906071,299.40418912991,305.0699313594,314.34400674513,320.29246281951,326.35348199782,336.27457379784,342.63803067389,349.1219037468,359.73515228832,366.54256247747,373.47879032775,380.54627680087,392.11482112276,399.53496279579,407.09552105481,419.47115746916,427.40897376302,435.49700296564,448.73603972606,457.22764679928,465.87994655565,480.04261976898,489.12665346498,498.38259075187,513.5333359992,523.2511306012],description:"Version of Canasta with just 11/8 intervals"},miracle3:{frequencies:[261.6255653006,266.71172956369,271.8967720342,274.52699087907,279.86396690685,285.30469707927,290.85119844166,293.66477470251,299.3738011912,305.19381471768,311.12697293924,314.13668880034,320.24370207508,326.46943949911,332.81620914398,336.03573785931,342.56848231438,349.22822739856,356.01744208336,359.4614100947,366.44956423737,373.57357245769,380.83607584373,384.52012922913,391.99544051026,399.61607650784,407.38486242506,411.32573797959,419.32216702351,427.4740516384,435.78441397758,440.00001524924,448.55389013814,457.27405769313,466.16375074742,470.67322937359,479.82341068742,489.15147723638,498.66088722045,503.48472993456,513.27278729609,523.2511306012],description:'41 out of 72-tET Pythagorean scale "Miracle/Studloco", Erlich/Keenan 2001'},miracle31s:{frequencies:[261.6255653006,266.63636836248,274.61234258734,279.87187586531,285.23214274484,293.7643779857,299.39072204343,305.12482507342,314.2521161294,320.27085311289,326.40486440328,336.1687117034,342.60720791066,349.16901789451,359.61381619398,366.50134650551,373.52079096839,380.6746756467,392.06191220286,399.57090708206,407.22371854314,419.40512463865,427.43781242392,435.62434685833,448.6553095271,457.24821364991,466.00569400686,479.94546308962,489.13765420145,498.50589943595,513.41785698047,523.2511306012],description:"Canasta with Secor's minimax generator of 116.7155941 cents (5:9 exact). XH5, 1976"},miracle3a:{frequencies:[261.6255653006,266.57640943865,271.6209387912,274.68028654691,279.87817034289,285.17441410431,290.57088243021,293.84366906071,299.40418912991,305.0699313594,310.84289043406,314.34400674513,320.29246281951,326.35348199782,332.52919812642,336.27457379784,342.63803067389,349.1219037468,355.72847573316,359.73515228832,366.54256247747,373.47879032775,380.54627680087,384.83248369581,392.11482112276,399.53496279579,407.09552105481,411.6807594913,419.47115746916,427.40897376302,435.49700296564,440.40213577526,448.73603972606,457.22764679928,465.87994655565,471.12729153307,480.04261976898,489.12665346498,498.38259075187,503.99602271809,513.5333359992,523.2511306012],description:"Version of Studloco with just 11/8 intervals"},miracle3ls:{frequencies:[261.6255653006,266.8561524992,272.19132869617,274.36355553357,279.84880885615,285.44374339214,291.1505189834,293.47406686496,299.34138986722,305.32601617869,311.43030899178,313.91568307924,320.1916880693,326.59318586748,333.12264767748,335.78115718319,342.4943108472,349.34167821305,356.32594256772,359.16962765504,366.35037871957,373.67471357934,381.14545968569,384.18721873359,391.86813762951,399.70261841457,407.69373119716,410.94736065575,419.16328558448,427.54349328421,436.09121881038,439.57145109254,448.35967321435,457.32356924795,466.46667727785,470.18934850506,479.58967749961,489.177972196,498.95793401383,502.93987502638,512.99500332159,523.2511306012],description:"Miracle-41 in a 7-limit least-squares tuning, Gene Ward Smith, 2001"},miracle3p:{frequencies:[261.6255653006,266.34679554672,270.06721067987,274.94077677072,279.90228841312,284.95333588433,290.09553330897,294.14767822015,299.45579274291,304.85969791727,310.36112062791,314.69634158508,320.37527393455,326.15668500873,332.04242788125,336.6805001021,342.75615313904,348.94144590806,355.2383548887,360.20043713509,366.70052302062,373.3179099666,380.0547104455,385.36343543368,392.31760641523,399.39727291251,406.60469732047,412.28427858225,419.7242587073,427.29849640545,435.00941939202,441.0857666732,449.04549132915,457.14885520764,465.39844769831,471.89927840742,480.41505607532,489.08450736089,497.91040254418,504.86537329764,513.97604599191,523.2511306012],description:"Least squares Pythagorean approximation to partch_43"},miracle41s:{frequencies:[261.6255653006,266.63636836248,269.45164985995,274.61234258734,279.87187586531,285.23214274484,290.69507255622,293.7643779857,299.39072204343,305.12482507342,310.96875093738,314.2521161294,320.27085311289,326.40486440328,332.65635780028,336.1687117034,342.60720791066,349.16901789451,355.85650343121,359.61381619398,366.50134650551,373.52079096839,380.6746756467,384.69403121132,392.06191220286,399.57090708206,407.22371854314,411.52339231679,419.40512463865,427.43781242392,435.62434685833,440.22388881539,448.6553095271,457.24821364991,466.00569400686,470.92601754108,479.94546308962,489.13765420145,498.50589943595,503.76937659657,513.41785698047,523.2511306012],description:"StudLoco with Secor's minimax generator of 116.7155941 cents (5:9 exact). XH5, 1976"},miracle_12:{frequencies:[261.6255653006,279.86396690685,299.37379946195,320.24370022528,336.03572815422,342.56848033562,359.46139971304,366.44956000397,384.52011812375,411.32572372413,440,470.6732130613,523.2511306012],description:"A 12-tone subset of Blackjack with six 4-7-9-11 tetrads"},miracle_12a:{frequencies:[261.6255653006,279.86396690685,299.37379946195,320.24370022528,342.56848033562,366.44956000397,391.99543598175,419.32216217931,448.5538823653,479.82339960115,489.15147723638,513.27277840175,523.2511306012],description:"A 12-tone chain of Miracle generators and subset of Blackjack"},"24erlich-keenan":{frequencies:[261.6255653006,266.71173469898,279.86396636799,285.30470202322,290.8512090818,299.37380003836,305.19381941867,320.24370022528,326.46944389922,342.56847967604,349.22823143301,356.01745305102,366.44956070954,373.5735760541,391.99543598175,399.61607958554,407.38487340641,419.32216137194,427.47405410759,448.55388322895,457.27405945401,479.82340237272,489.15147817819,498.66089778183,523.2511306012],description:"24 note mapping for Erlich/Keenan Miracle scale low version, tuned to 72-equal"},miracle_8:{frequencies:[261.6255653006,279.86396690685,314.13668154225,336.03572815422,366.44956000397,391.99543598175,419.32216217931,448.5538823653,523.2511306012],description:"tet3a in 72-et"},miring1:{frequencies:[261.6255653006,285.29448470177,307.6953604706,387.15515639797,420.96788906714,523.2511306012],description:"Gamelan Miring from Serdang wetan, Tangerang. 1/1=309.5 Hz"},miring2:{frequencies:[261.6255653006,279.34865171253,304.66723527068,384.42070010042,412.69311132744,523.2511306012],description:"Gamelan Miring (Melog gender) from Serdang wetan"},misca:{frequencies:[261.6255653006,274.70684356563,289.16509849014,305.22982618403,348.83408706747,392.4383479509,412.06026534844,433.74764773521,457.84473927605,523.2511306012],description:"21/20 x 20/19 x 19/18=7/6 7/6 x 8/7=4/3"},miscb:{frequencies:[261.6255653006,269.80136421624,278.50463402967,319.76457981184,348.83408706747,392.4383479509,404.70204632437,417.75695104451,479.64686971777,523.2511306012],description:"33/32 x 32/31x 31/27=11/9 11/9 x 12/11=4/3"},miscc:{frequencies:[261.6255653006,276.00059636107,292.04714266113,310.07474405997,348.83408706747,392.4383479509,414.00089454161,438.0707139917,465.11211608996,523.2511306012],description:"96/91 x 91/86 x 86/54=32/27. 32/27 x 9/8=4/3."},miscd:{frequencies:[261.6255653006,271.68808704293,282.55561052465,294.32876096318,348.83408706747,392.4383479509,407.5321305644,423.83341578697,441.49314144476,523.2511306012],description:"27/26 x 26/25 x 25/24=9/8. 9/8 x 32/27=4/3."},misce:{frequencies:[261.6255653006,280.31310567921,301.87565226992,327.03195662575,348.83408706747,392.4383479509,420.46965851882,452.81347840488,490.54793493862,523.2511306012],description:"15/14 x 14/13 x 13/12=5/4. 5/4 x 16/15= 4/3."},miscf:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,378.42269266694,392.4383479509,406.97310157871,418.60090448096,504.56359022259,523.2511306012],description:"SupraEnh1"},miscg:{frequencies:[261.6255653006,271.31540105247,279.06726965397,336.37572681506,348.83408706747,392.4383479509,406.97310157871,418.60090448096,504.56359022259,523.2511306012],description:"SupraEnh 2"},misch:{frequencies:[261.6255653006,271.31540105247,279.06726965397,336.37572681506,348.83408706747,392.4383479509,406.97310157871,490.54793493862,504.56359022259,523.2511306012],description:"SupraEnh 3"},misty:{frequencies:[261.6255653006,268.57642185399,270.57706033988,272.59260010205,274.62315370363,276.66883458144,284.01936005382,286.13503371773,288.26646546986,290.41377434565,292.57708030445,300.35025535204,302.58757688062,304.84156607104,307.11234355974,309.40003795144,311.70477168653,319.9861304005,322.36972224007,324.77106769218,327.19030275625,329.62755691287,338.38508739928,340.90573394089,343.44515491415,346.00349213972,348.58088853904,357.84197030948,360.50755209334,363.19298782427,365.89842747751,368.62402219236,378.41760905933,381.23645754858,384.07630597582,386.93730633346,389.81962065329,392.72340320054,403.157261366,406.16039889903,409.18590458221,412.23394976407,415.30469757995,426.33849458487,429.51431022199,432.71378016074,435.93708308397,439.18439906139,450.85263092877,454.21105352848,457.59449053401,461.00313090234,464.43716505707,476.77631130474,480.3278378528,483.9058226648,487.51045723915,491.14194572312,494.80048247871,507.94632001299,511.73003620658,515.54193450341,519.38223078906,523.2511306012],description:"Misty temperament, g=96.787939, p=400, 5-limit"},mistyschism:{frequencies:[261.6255653006,278.75251614148,294.32876096318,310.42486507835,330.74639366397,348.83408706747,372.08969287196,392.4383479509,418.12877421223,440.99519155196,465.63729761752,496.11959049595,523.2511306012],description:"Mistyschism scale 32805/32768 and 67108864/66430125"},mixed9_3:{frequencies:[261.6255653006,273.20871865617,285.30470202322,311.12698372208,349.22823143301,391.99543598175,409.35055662695,427.47405410759,466.16376151809,523.2511306012],description:"A mixture of the hemiolic chromatic and diatonic genera, 75 + 75 + 150 + 200 c"},mixed9_4:{frequencies:[261.6255653006,271.89678302796,282.57123920205,305.19382000629,349.22823143301,391.99543598175,407.38487419079,423.37848741825,457.27406033445,523.2511306012],description:'Mixed enneatonic 4, each "tetrachord" contains 67 + 67 + 133 + 233 cents.'},mixed9_5:{frequencies:[261.6255653006,277.18263097687,293.66476791741,329.62755691287,349.22823143301,391.99543598175,415.30469757995,440,493.88330125613,523.2511306012],description:"A mixture of the intense chromatic genus and the permuted intense diatonic"},mixed9_6:{frequencies:[261.6255653006,277.18263097687,293.66476791741,311.12698372208,349.22823143301,391.99543598175,415.30469757995,440,466.16376151809,523.2511306012],description:"Mixed 9-tonic 6, Mixture of Chromatic and Diatonic"},mixed9_7:{frequencies:[261.6255653006,277.18263097687,311.12698372208,329.62755691287,349.22823143301,391.99543598175,415.30469757995,466.16376151809,493.88330125613,523.2511306012],description:"Mixed 9-tonic 7, Mixture of Chromatic and Diatonic"},mixed9_8:{frequencies:[261.6255653006,293.66476791741,311.12698372208,329.62755691287,349.22823143301,391.99543598175,440,466.16376151809,493.88330125613,523.2511306012],description:"Mixed 9-tonic 8, Mixture of Chromatic and Diatonic"},mixol_chrom:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,311.12229387098,319.76457981184,359.73515228832,411.12588832951,426.35277308246,434.39716502741,442.75095666255,479.64686971777,523.2511306012,548.16785110602,575.57624366132,605.86973016981,622.24458774197,639.52915962369,719.47030457665,822.25177665903,852.70554616492,868.79433005482,885.50191332511,959.29373943553,1046.5022612024],description:"Mixolydian chromatic tonos"},mixol_chrom2:{frequencies:[261.6255653006,271.31540105247,281.75060878526,332.97799220076,366.27579142084,385.55346465352,406.97310157871,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the chromatic genus"},mixol_chrominv:{frequencies:[261.6255653006,279.06726965397,299.00064605783,373.75080757229,411.12588832951,429.81342870813,448.50096908674,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Mixolydian inverted"},mixol_diat:{frequencies:[261.6255653006,274.08392555301,287.78812183066,319.76457981184,338.57426097725,359.73515228832,383.71749577421,411.12588832951,442.75095666255,460.46099492906,479.64686971777,500.50108144463,523.2511306012,548.16785110602,575.57624366132,639.52915962369,677.14852195449,719.47030457665,767.43499154843,822.25177665903,885.50191332511,920.92198985811,959.29373943553,1001.00216288925,1046.5022612024],description:"Mixolydian diatonic tonos"},mixol_diat2:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,348.83408706747,366.27579142084,406.97310157871,457.84473927605,523.2511306012],description:"Schlesinger's Mixolydian Harmonia, a subharmonic series though 13 from 28"},mixol_diatcon:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"A Mixolydian Diatonic with its own trite synemmenon replacing paramese"},mixol_diatinv:{frequencies:[261.6255653006,299.00064605783,336.37572681506,348.83408706747,411.12588832951,448.50096908674,485.87604984397,523.2511306012],description:"A Mixolydian Diatonic with its own trite synemmenon replacing paramese"},mixol_diatinv2:{frequencies:[261.6255653006,299.00064605783,336.37572681506,348.83408706747,373.75080757229,411.12588832951,448.50096908674,485.87604984397,523.2511306012],description:"Inverted Schlesinger's Mixolydian Harmonia, a harmonic series from 14 from 28"},mixol_enh:{frequencies:[261.6255653006,274.08392555301,287.78812183066,295.1673044417,299.00064605783,302.93486508491,348.83408706747,411.12588832951,418.60090448096,422.44127975143,426.35277308246,469.85815809087,523.2511306012,548.16785110602,575.57624366132,590.33460888341,598.00129211566,605.86973016981,697.66817413493,822.25177665903,837.20180896192,844.88255950285,852.70554616492,939.71631618175,1046.5022612024],description:"Mixolydian Enharmonic Tonos"},mixol_enh2:{frequencies:[261.6255653006,266.38239376061,271.31540105247,332.97799220076,366.27579142084,375.66747838035,385.55346465352,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the enharmonic genus"},mixol_enhinv:{frequencies:[261.6255653006,270.34641747729,279.06726965397,373.75080757229,411.12588832951,420.46965851882,429.81342870813,523.2511306012],description:"A harmonic form of Schlesinger's Mixolydian inverted"},mixol_penta:{frequencies:[261.6255653006,269.32043486826,281.75060878526,332.97799220076,366.27579142084,381.53728273004,406.97310157871,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the pentachromatic genus"},mixol_pis:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,411.12588832951,442.75095666255,479.64686971777,523.2511306012,548.16785110602,575.57624366132,639.52915962369,719.47030457665,822.25177665903,885.50191332511,959.29373943553,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Mixolydian Tonos"},mixol_tri1:{frequencies:[261.6255653006,268.0066766494,274.70684356563,332.97799220076,366.27579142084,378.90599112501,392.4383479509,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the first trichromatic genus"},mixol_tri2:{frequencies:[261.6255653006,268.0066766494,281.75060878526,332.97799220076,366.27579142084,378.90599112501,406.97310157871,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the second trichromatic genus"},mmmgeo1:{frequencies:[261.6255653006,291.52662303231,317.822348206,348.40303271111,392.9238840789,423.23948674937,463.96335069158,523.2511306012],description:"Scale for MakeMicroMusic in Peppermint 24, maybe a bit like Georgian tunings"},mmmgeo2:{frequencies:[261.6255653006,295.05751399041,323.4477810403,352.62279726972,392.9238840789,430.73079539701,485.77193724523,529.58860866211],description:"Scale for MakeMicroMusic in Peppermint 24, maybe a bit like Georgian tunings"},mmmgeo3a:{frequencies:[261.6255653006,281.81099471089,317.822348206,348.40303271111,392.9238840789,423.23948674937,463.96335069158,523.2511306012],description:'Peppermint 24 scale for MakeMicroMusic, maybe a bit "Georgian-like"?'},mmmgeo4a:{frequencies:[261.6255653006,281.81099471089,317.822348206,348.40303271111,392.9238840789,423.23948674937,477.32335087626,523.2511306012],description:'Peppermint 24 scale for MakeMicroMusic, maybe a bit "Georgian-like"?'},mmmgeo4b:{frequencies:[261.6255653006,295.05751399041,323.4477810403,348.40303271111,392.9238840789,430.73079539701,485.77193724523,523.2511306012],description:'Peppermint 24 scale for MakeMicroMusic, maybe a bit "Georgian-like"?'},mmswap:{frequencies:[261.6255653006,251.16054268858,294.32876096318,282.55561052465,313.95067836072,348.83408706747,353.19451315581,392.4383479509,376.74081403286,418.60090448096,423.83341578697,470.92601754108,523.2511306012],description:"Swapping major and minor in 5-limit JI"},mokhalif:{frequencies:[261.6255653006,293.66476791741,329.62755691287,349.22823143301,391.99543598175,425.01198472693,477.05982293263,523.2511306012],description:"Iranian mode Mokhalif from C"},montvallon:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Montvallon's Monochord, Nouveau sisteme de musique (1742)"},monzismic:{frequencies:[261.6255653006,265.20988799749,268.52946324281,272.20837072565,275.61554447717,279.39153269358,282.88861654172,286.76424730356,290.69297498385,294.33151655947,298.3639173457,302.09847446042,306.23728412706,310.07039048391,314.31841699833,318.25267316085,322.61279858837,327.03265671938,331.12605620426,335.66254762155,339.86396564906,344.52016812641,348.83245514045,353.61152766937,358.03760933268,362.94279426564,367.48567344471,372.52029869489,377.62390147213,382.35053879638,387.58881783384,392.44018387738,397.81669307529,402.79607923799,408.31446627855,413.42525081527,419.08925963743,424.33490995001,430.14838328955,436.04150237937,441.49934027584,447.54796975207,453.14983163098,459.35807517454,465.10776160818,471.47983118983,477.38124304179,483.92146177974,489.97860285142,496.69140794435,503.49617981289,509.7983334288,516.78267280423,523.2511306012],description:"Monzismic temperament, g=249.018448, 5-limit"},sevengroups:{frequencies:[261.6255653006,261.6255653006,275.62199471997,265.19499215873,270.69536599394,266.7406479561],description:"Here are some suggestions for a logical system encompassing intervals into seven broad groups: skhisma, kleisma, comma,"},"monzo-sym-11":{frequencies:[261.6255653006,269.80136421624,276.76092858245,279.06726965397,285.40970760065,286.15296204753,287.78812183066,294.32876096318,299.00064605783,304.4370214407,305.22982618403,313.95067836072,314.76825825228,327.03195662575,332.97799220076,334.88072358477,341.71502406609,343.38355445704,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,398.6675280771,400.61414686654,408.78994578219,411.12588832951,418.60090448096,434.91003062957,436.04260883433,448.50096908674,449.66894036041,457.84473927605,465.11211608996,475.68284600109,478.40103369253,479.64686971777,490.54793493862,494.63583439645,507.3950357345,523.2511306012],description:"Monzo symmetrical system: 11-limit"},"monzo-sym-5":{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,334.88072358477,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Monzo symmetrical system: 5-limit"},"monzo-sym-7":{frequencies:[261.6255653006,279.06726965397,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,334.88072358477,341.71502406609,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,398.6675280771,400.61414686654,408.78994578219,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,478.40103369253,490.54793493862,523.2511306012],description:"Monzo symmetrical system: 7-limit"},monzo_sumerian_2place12:{frequencies:[261.6255653006,277.17835052447,293.68632213351,311.15032543183,329.66469551353,349.22211163595,369.93402791915,391.94841243536,415.27867508032,439.91220695103,466.03267445926,493.6331420766,523.2511306012],description:"Monzo - most accurate 2-place sexagesimal 12-tET approximation"},monzo_sumerian_simp12:{frequencies:[261.6255653006,277.34158865788,293.41184893525,310.84225580269,329.78012432849,348.83408706747,370.22485655745,392.4383479509,415.27867508032,440.11777340288,466.26338370404,493.6331420766,523.2511306012],description:"Monzo - simplified 2-place sexagesimal 12-tET approximation"},morgan:{frequencies:[261.6255653006,277.18263097687,294.07958763262,310.86358783941,330.18637907377,349.03110370139,370.30791823326,392.32757291716,415.07027187895,440.74593809176,465.76911360306,494.58094207912,523.2511306012],description:"Augustus de Morgan's temperament (1843)"},"mos11-34":{frequencies:[261.6255653006,272.51337835337,301.75671459889,314.3146261019,348.04364484358,362.52783176564,377.61479489998,418.13653788176,435.53771116377,453.66305442345,502.34551296122,523.2511306012],description:"Wilson 11 of 34-tET, G=9, Chain of minor & major thirds with Kleismatic fusion"},"mos12-17":{frequencies:[261.6255653006,272.51337835337,283.85429714132,307.97166902637,320.78822215662,348.04364484358,362.52783176564,377.61479489998,409.69842558521,426.7484383229,463.0066556268,482.27514684959,523.2511306012],description:"MOS 12 of 17, generator 7"},"mos12-22":{frequencies:[261.6255653006,287.56082683758,296.76515515861,326.18384711731,336.62443200122,347.39920007397,381.83730669135,394.05926325844,433.12283887627,446.9863572706,491.29666030217,507.02222283506,523.2511306012],description:"MOS 12 of 22, contains nearly just, recognizable diatonic, and pentatonic scales"},"mos13-22":{frequencies:[261.6255653006,278.64197723942,296.76515515861,316.06708432391,326.18384711731,347.39920007397,369.99442271164,381.83730669135,406.67242132093,433.12283887627,446.9863572706,476.05883716226,507.02222283506,523.2511306012],description:"MOS 13 of 22, contains 5 and 9 tone MOS as well. G=5 or 17"},"mos15-22":{frequencies:[261.6255653006,278.64197723942,287.56082683758,306.26409645618,316.06708432391,336.62443200122,347.39920007397,369.99442271164,381.83730669135,406.67242132093,419.68930726506,446.9863572706,461.29362042034,491.29666030217,507.02222283506,523.2511306012],description:"MOS 15 in 22, contains 7 and 8 tone MOS as well. G= 3 or 19"},moscow:{frequencies:[261.6255653006,277.4816141504,293.64820765919,311.48626315692,329.67368081467,349.7414907984,370.88289054572,392.4383479509,416.22242101754,440.4723112686,467.22939450183,494.51052097482,523.2511306012],description:"Charles E. Moscow's equal beating piano tuning (1895)"},mundeuc45:{frequencies:[261.6255653006,267.57160087561,269.80136421624,271.31540105247,274.70684356563,280.31310567921,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,488.36772189445,499.46698830115,504.56359022259,507.3950357345,513.90736041189,523.2511306012],description:"Euclidean reduced detempered Miracle[45] with Tenney tie-breaker"},musaqa:{frequencies:[261.6255653006,293.66476791741,320.24370022528,349.22823143301,391.99543598175,427.47405410759,466.16376151809,523.2511306012],description:"Egyptian scale by Miha'il Musaqa"},musaqa_24:{frequencies:[261.6255653006,269.02051582234,276.67624041581,284.6011815168,292.80374147632,300.29158209195,310.07474405997,319.15917884888,328.55303549378,338.26335715633,348.29659232622,358.65845048745,369.35373924791,380.38618160659,391.75821216589,403.47075130695,415.52295665389,427.91195157543,440.63253103259,453.67684579974,467.03406698289,480.69003385373,494.62688932105,508.8227088795,523.2511306012],description:"from d'Erlanger vol.5, p.34, after Mih.a'il Mu^saqah, 1899, a Lebanese scholar"},myna23:{frequencies:[261.6255653006,267.85369360167,274.23008563259,291.58574485564,298.52709031489,305.63367799752,312.90944157785,320.35840837329,327.98470157359,348.7424193045,357.04440817535,365.54403007102,374.24598974517,383.15510395049,392.27630410488,417.10295228105,427.03229805648,437.19801690717,447.60573581317,458.26121570764,469.17035466565,498.86352554567,510.73922293119,522.89762727195],description:"23 notes of Myna temperament, 7-limit TOP tuning (Paul Erlich)"},"mystic-r":{frequencies:[261.6255653006,367.91095120397,465.11211608996,654.0639132515,872.08521766867,1177.3150438527],description:"Skriabin's mystic chord, op. 60 rationalised"},mystic:{frequencies:[261.6255653006,369.99442271164,466.16376151809,659.25511382574,880,1174.65907166964],description:"Skriabin's mystic chord, op. 60"},urmawi:{frequencies:[261.6255653006,294.32876096318,326.6631048533,348.83408706747,392.4383479509,441.49314144476,471.45776383774,523.2511306012],description:"al-Urmawi, one of twelve maqam rows. First tetrachord is Rast"},valentine:{frequencies:[261.6255653006,276.16031892841,294.32876096318,310.68035879446,330.47439827444,348.83408706747,371.78369805875,392.4383479509,414.24047839262,440.63253103259,466.02053819169,495.71159741166,523.2511306012],description:"Robert Valentine, tuning with primes 3 & 19, TL 7-2-2002"},valentine2:{frequencies:[261.6255653006,286.10322937235,312.87102146627,349.87955533643,382.6142546815,418.41160951721,467.90420651233,511.68128147674,559.55413558945,625.74204293254,684.28641150324,748.30818586768,782.53142116911,855.74498969389,935.80841302466,1046.5022612024],description:"Robert Valentine, two octave 31-tET subset for guitar, TL 10-5-2002"},vallotti:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.77584116741,328.14198392915,349.6228209638,368.32692341742,391.5530240856,414.36778843034,438.51190905657,466.16376151809,491.10256480205,523.2511306012],description:"Vallotti & Young scale (Vallotti version)"},vavoom:{frequencies:[164.81377845643,165.83014536684,167.75567809608,168.79018601865,170.75008918846,172.7327497266,173.79795102719,175.81600173949,176.90021569146,178.95428827501,180.05785630665,182.14859375797,184.26360775673,185.39991601304,187.55268266167,188.70927492235,190.90046811205,192.07770535997,194.30800987601,196.56421264146,197.77637683895,200.07285246365,201.3066535986,203.64411977036,206.00872855044,207.27913480479,209.68595147418,210.9790342774,213.42881100738,214.74497512464,217.23848121866,219.76094059848,221.11615343515,223.68363702025,225.06304018178,227.6763542391,229.0803795269,231.74034082302,234.43118684139,235.87686755635,238.61574610914,240.08723199411,242.87499909192,244.37274935352,247.21027763268,250.08075380295,251.62294163139,254.54465534315,256.1143694988,259.0882353168,260.68597011615,263.71291896434,266.77501515601,268.42015092639,271.53690502834,273.21140777811,276.38379544331,278.08818779989,281.31720045362,284.58370833477,286.33866758091,289.66348210637,291.44976709494,294.83392732599,296.65209720599,300.09666587055,303.58123106099,305.45334345815,309.00010579622,310.90563508986,314.51570836542,316.45525105281,320.12976356015,323.84694071013,325.84402686189,329.62755691286],description:"Vavoom temperament, g=111.875426, 5-limit"},veroli:{frequencies:[261.6255653006,276.87699530057,293.57148765354,310.97965314221,329.42008585855,349.28270065725,369.64409253099,391.93430587921,414.97617910427,439.79164309579,466.09106516521,493.49262474744,523.2511306012],description:"Claudio di Veroli's well temperament (1978)"},vertex_chrom:{frequencies:[261.6255653006,271.89678302796,317.17549194805,349.22823143301,391.99543598175,407.38487419079,448.5538823653,523.2511306012],description:"A vertex tetrachord from Chapter 5, 66.7 + 266.7 + 166.7 cents"},vertex_chrom2:{frequencies:[261.6255653006,274.52698453615,323.3415889232,349.22823143301,391.99543598175,411.32572372413,484.46499093218,523.2511306012],description:"A vertex tetrachord from Chapter 5, 83.3 + 283.3 + 133.3 cents"},vertex_chrom3:{frequencies:[261.6255653006,275.18850165466,324.90175210669,349.22823143301,391.99543598175,412.31687950427,486.80259447109,523.2511306012],description:"A vertex tetrachord from Chapter 5, 87.5 + 287.5 + 125 cents"},vertex_chrom4:{frequencies:[261.6255653006,275.40936140075,325.42347822215,349.22823143301,391.99543598175,412.64779522483,487.58430040208,523.2511306012],description:"A vertex tetrachord from Chapter 5, 88.9 + 288.9 + 122.2 cents"},vertex_chrom5:{frequencies:[261.6255653006,282.57123920205,329.62755691287,349.22823143301,391.99543598175,423.37848741825,493.88330125613,523.2511306012],description:"A vertex tetrachord from Chapter 5, 133.3 + 266.7 + 100 cents"},vertex_diat:{frequencies:[261.6255653006,299.37379946195,323.3415889232,349.22823143301,391.99543598175,448.5538823653,484.46499932732,523.2511306012],description:"A vertex tetrachord from Chapter 5, 233.3 + 133.3 + 133.3 cents"},vertex_diat10:{frequencies:[261.6255653006,295.79278388132,324.90175210669,349.22823143301,391.99543598175,443.18842137843,486.80259447109,523.2511306012],description:"A vertex tetrachord from Chapter 5, 212.5 + 162.5 + 125 cents"},vertex_diat11:{frequencies:[261.6255653006,295.79278388132,306.66641795878,349.22823143301,391.99543598175,443.18842137843,459.48046426806,523.2511306012],description:"A vertex tetrachord from Chapter 5, 212.5 + 62.5 + 225 cents"},vertex_diat12:{frequencies:[261.6255653006,293.66476791741,315.65242990842,349.22823143301,391.99543598175,440,472.94426956511,523.2511306012],description:"A vertex tetrachord from Chapter 5, 200 + 125 + 175 cents"},vertex_diat2:{frequencies:[261.6255653006,299.37379946195,329.62755691287,349.22823143301,391.99543598175,448.5538823653,493.88330125613,523.2511306012],description:"A vertex tetrachord from Chapter 5, 233.3 + 166.7 + 100 cents"},vertex_diat3:{frequencies:[261.6255653006,273.20871865617,311.12698372208,349.22823143301,391.99543598175,409.35055662695,466.16376151809,523.2511306012],description:"A vertex tetrachord from Chapter 5, 75 + 225 + 200 cents"},vertex_diat4:{frequencies:[261.6255653006,297.93622032612,329.62755691287,349.22823143301,391.99543598175,446.39994737251,493.88330125613,523.2511306012],description:"A vertex tetrachord from Chapter 5, 225 + 175 + 100 cents"},vertex_diat5:{frequencies:[261.6255653006,275.18850165466,315.65242990842,349.22823143301,391.99543598175,412.31687950427,472.94426956511,523.2511306012],description:"A vertex tetrachord from Chapter 5, 87.5 + 237.5 + 175 cents"},vertex_diat7:{frequencies:[261.6255653006,293.66476791741,306.66641795878,349.22823143301,391.99543598175,440,459.48046426806,523.2511306012],description:"A vertex tetrachord from Chapter 5, 200 + 75 + 225 cents"},vertex_diat8:{frequencies:[261.6255653006,277.18263097687,306.66641795878,349.22823143301,391.99543598175,415.30469757995,459.48046426806,523.2511306012],description:"A vertex tetrachord from Chapter 5, 100 + 175 + 225 cents"},vertex_diat9:{frequencies:[261.6255653006,295.79278388132,320.24370022528,349.22823143301,391.99543598175,443.18842137843,479.82340237272,523.2511306012],description:"A vertex tetrachord from Chapter 5, 212.5 + 137.5 + 150 cents"},vertex_sdiat:{frequencies:[261.6255653006,275.18850165466,306.66641795878,349.22823143301,391.99543598175,412.31687950427,459.48046426806,523.2511306012],description:"A vertex tetrachord from Chapter 5, 87.5 + 187.5 + 225 cents"},vertex_sdiat2:{frequencies:[261.6255653006,273.20871865617,302.26980244078,349.22823143301,391.99543598175,409.35055662695,452.89298412314,523.2511306012],description:"A vertex tetrachord from Chapter 5, 75 + 175 + 250 cents"},vertex_sdiat3:{frequencies:[261.6255653006,265.43099677612,302.26980244078,349.22823143301,391.99543598175,397.69714089209,452.89298412314,523.2511306012],description:"A vertex tetrachord from Chapter 5, 25 + 225 + 250 cents"},vertex_sdiat4:{frequencies:[261.6255653006,271.8968348557,302.26980244078,349.22823143301,391.99543598175,407.38495184466,452.89298412314,523.2511306012],description:"A vertex tetrachord from Chapter 5, 66.7 + 183.3 + 250 cents"},vertex_sdiat5:{frequencies:[261.6255653006,299.37374239667,302.26980244078,349.22823143301,391.99543598175,448.55379686399,452.89298412314,523.2511306012],description:"A vertex tetrachord from Chapter 5, 233.33 + 16.67 + 250 cents"},vicentino1:{frequencies:[261.6255653006,267.54129532085,273.59078691818,279.77706779472,286.10322937235,292.57243455474,295.8616864168,299.18791603519,305.95298478736,312.87102146627,319.94548489658,327.17991022208,330.85823737058,334.57791819083,342.14320575162,349.87955533643,357.79083283678,365.88099775759,374.15409293384,382.6142546815,391.26571058456,395.66452371628,400.11279059885,409.15991580663,418.41160951721,427.87249484695,437.54730686196,442.46644183113,447.44088028055,457.55816161244,467.90420651233,478.48419305869,489.30340830564,494.80441235385,500.36726155789,511.68128147674,523.2511306012],description:"Usual Archicembalo tuning, 31-tET plus D,E,G,A,B a 10th tone higher"},vicentino2:{frequencies:[261.6255653006,262.40966637115,273.59078691818,274.41074818102,279.77706779472,280.61556956011,292.57243455474,293.44928279173,305.95298478736,306.86993670158,312.87102146627,313.80870698104,327.17991022208,328.16047998243,342.14320575162,343.16862103779,349.87955533643,350.92815470883,365.88099775759,366.97755604579,374.15409293384,391.26571058456,392.4383479509,409.15991580663,410.38618254261,418.41160951721,419.66560148231,437.54730686196,438.85865161274,457.55816161244,458.92947695163,467.90420651233,469.30653196482,489.30340830564,490.7698679226,511.68128147674,523.2511306012],description:"Alternative Archicembalo tuning, lower 3 rows the same upper 3 rows 3/2 higher"},vicentino2q217:{frequencies:[261.6255653006,262.46259217279,273.59078691818,274.46609608433,279.77706779472,280.67216895906,292.57243455474,293.50847071582,305.95298478736,306.93183153514,312.87102146627,313.87199953275,327.17991022208,328.2266690608,342.14320575162,343.23783523487,349.87955533643,350.99893596542,365.88099775759,367.05157442308,374.15409293384,391.26571058456,392.51750150462,409.15991580663,410.46895395112,418.41160951721,419.7502468954,437.54730686196,438.9471656765,457.55816161244,459.02204178186,467.90420651233,469.40118981889,489.30340830564,490.86885203792,511.68128147674,523.2511306012],description:"Vicentino's second tuning, 217-tET version"},vicentino36:{frequencies:[261.6255653006,262.43934012943,273.37431312998,274.22463192287,279.93529690293,280.80602334765,292.50627485027,293.41610276971,305.64177427204,306.59245933664,312.97717714283,313.95067836072,327.03195662575,328.04917632434,341.71789064962,349.91912034749,351.00752840096,365.63284274659,366.77012764335,374.40803131735,375.5726110527,391.22147055517,392.4383479509,408.78994578219,410.06146948999,418.60090448096,419.90294514449,437.39889945791,438.75941205608,457.04105505291,458.46266117889,468.01003810189,469.46576276783,489.02683710225,490.54793493862,510.98743222773,523.2511306012],description:"Vicentino's second tuning of 1555"},victor_eb:{frequencies:[261.6255653006,276.45300885359,293.16631378471,311.00963644582,328.52867116285,348.83408706747,368.60401198904,391.83966133014,414.6795130731,439.03603741286,465.77732204887,492.79300649794,523.2511306012],description:"Equal beating Victorian piano temperament, interpr. by Bill Bremmer (improved)"},victorian:{frequencies:[261.6255653006,276.5429423948,293.32570896007,310.76776326996,328.29744538229,349.22823143301,368.92737853004,391.99543598175,414.58565256441,438.73106346722,465.89457252293,492.17459484008,523.2511306012],description:"Form of Victorian temperament (1885)"},vitale1:{frequencies:[261.6255653006,280.31310567921,294.32876096318,305.22982618403,327.03195662575,336.37572681506,343.38355445704,348.83408706747,373.75080757229,392.4383479509,420.46965851882,441.49314144476,457.84473927605,490.54793493862,504.56359022259,515.07533168556,523.2511306012],description:"Rami Vitale's 7-limit just scale"},vitale2:{frequencies:[261.6255653006,274.70684356563,294.32876096318,299.00064605783,305.22982618403,313.95067836072,336.37572681506,348.83408706747,366.27579142084,392.4383479509,412.06026534844,441.49314144476,448.50096908674,457.84473927605,470.92601754108,504.56359022259,523.2511306012],description:"Rami Vitale, inverse mode of vitale1"},vitale3:{frequencies:[261.6255653006,274.70684356563,280.31310567921,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,412.06026534844,420.46965851882,441.49314144476,448.50096908674,457.84473927605,470.92601754108,490.54793493862,504.56359022259,515.07533168556,523.2511306012],description:"Superset of several Byzantine scales by Rami Vitale, TL 29-Aug-2001"},vogel_21:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,305.22982618403,310.07474405997,313.95067836072,321.55899383997,330.74639366397,348.83408706747,361.75386806997,372.08969287196,392.4383479509,406.97310157871,413.43299207996,418.60090448096,428.74532511996,440.99519155196,465.11211608996,482.33849075995,496.11959049595,523.2511306012],description:"Martin Vogel's 21-tone Archytas system, see Divisions of the tetrachord"},vogelh_b:{frequencies:[261.6255653006,276.37000081643,292.73769384471,310.07474405997,327.54963108844,349.78078158391,367.49599295996,391.37619916626,413.43299207996,437.91808280662,465.11211608996,489.99465727995,523.2511306012],description:"Harald Vogel's temperament, van Eeken organ in Bunschoten, Immanuelkerk, 1992"},vogelh_fisk:{frequencies:[261.6255653006,274.01856817608,292.73769384471,312.85332572834,327.54963108844,349.78078158391,366.49445363528,391.37619916626,409.75340805561,437.91808280662,467.82492621575,489.99465727995,523.2511306012],description:"Modified meantone tuning of Fisk organ in Memorial Church at Stanford"},vogelh_hb:{frequencies:[261.6255653006,276.50527247638,293.79744652436,312.85332572834,329.92547760025,349.78078158391,369.82037393809,392.08397832814,413.47189899094,440.29822362186,467.82492621575,494.44133512215,523.2511306012],description:"Harald Vogel hybrid meantone (1984)"},vogelh_jakobi:{frequencies:[261.6255653006,275.2485073924,292.86986732103,310.4251397446,327.84547867349,349.70184487387,366.99801003998,391.46454285105,412.87276088221,438.2147004401,466.26912673157,490.54793493862,523.2511306012],description:"Harald Vogel's temperament for the Schnitger organ in St. Jakobi, Hamburg"},volans:{frequencies:[261.6255653006,288.78654445823,322.09885310804,352.06379107796,388.6137256405,429.95038611107,482.60299106564,523.2511306012],description:"African scale according to Kevin Volans 1/1=G"},vong:{frequencies:[261.6255653006,287.78812183066,324.77656382143,353.19451315581,392.4383479509,431.68218274599,476.53227965466,523.2511306012],description:"Vong Co Dan Tranh scale, Vietnam"},"vries19-72":{frequencies:[261.6255653006,271.89678302796,282.57123920205,293.66476791741,305.19382000629,314.13668154225,326.46944327063,339.28638158975,352.60650301302,366.44956000397,377.18735172911,391.99543598175,407.38487419079,423.37848741825,452.89298412314,470.6732130613,489.15147723638,508.3551866238,523.2511306012],description:"Leo de Vries 19/72 Through-Transposing-Tonality 18 tone scale"},"vries35-72":{frequencies:[261.6255653006,320.24370022528,326.46944327063,332.81622067851,339.28638158975,345.88232658126,352.60650301302,359.46139971304,366.44956000397,448.5538823653,457.27406033445,466.16376151809,475.22628419761,484.46499093218,493.88330125613,503.48470957687,513.27277840175,523.2511306012],description:"Leo de Vries 35/72 Through-Transposing-Tonality 17 tone scale"},"vries5-72":{frequencies:[261.6255653006,269.29177952703,274.52698453615,282.57123920205,288.06460709314,296.5055443788,302.26980244078,317.17549194805,332.81622067851,349.22823143301,366.44956000397,384.52011812375,403.48177901006,423.37848741825,444.25635547592,466.16376151809,489.15147723638,513.27277840175,523.2511306012],description:"Leo de Vries 5/72 Through-Transposing-Tonality 18 tone scale"},"vries6-31":{frequencies:[261.6255653006,292.57243455474,299.18791603519,334.57791819083,342.14320575162,382.6142546815,391.26571058456,437.54730686196,447.44088028055,500.36726155789,511.68128147674,523.2511306012],description:'Leo de Vries 6/31 TTT used in "For 31-tone organ" (1995)'},vulture:{frequencies:[261.6255653006,265.58852967049,269.02996542365,272.51599294435,276.04719319079,279.62414831161,283.24745441839,286.9177088442,290.63552324927,294.40151054717,298.21629835234,302.73351960911,306.6562716924,310.62985211059,314.65492307423,318.73214815075,322.86220682342,327.0457799678,331.28356479042,335.57625992643,339.9245807679,344.32924417279,349.54496173019,354.07428378691,358.66229781376,363.30976018416,368.01744541334,372.78612960355,377.61660747204,382.50967536449,387.46614872711,392.486844677,398.43202813578,403.59481739244,408.82450722915,414.12195980508,419.48805795853,424.92368633675,430.42975080549,436.00715908665,441.65684067409,447.37972696622,453.17677170128,460.0412514682,466.0023613576,472.04071122634,478.15730738573,484.35315820906,490.6292962557,496.98675620078,503.42659462849,509.94988192555,516.55769649554,523.2511306012],description:"Vulture temperament, g=475.542233, 5-limit"},walker_21:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,327.03195662575,336.37572681506,348.83408706747,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:'Douglas Walker, 1977, for "out of the fathomless dark/into the limitless light'},walkerr_11:{frequencies:[261.6255653006,291.47537246454,299.00064605783,333.11471138804,341.71502406609,380.70252730062,390.53145607553,435.08860262928,484.72943438718,497.2441172906,510.08190181294,523.2511306012],description:'Robert Walker, "Seven to Pi" scale, TL 09-07-2002'},wauchope:{frequencies:[261.6255653006,274.70684356563,305.22982618403,327.03195662575,366.27579142084,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Symmetrical 7-limit JI whole-half step scale, Ken Wauchope"},wendell1:{frequencies:[261.6255653006,276.25045813601,293.35468319005,310.78176509232,328.42642049784,348.83408706747,369.47972269069,391.8804287311,414.37568699689,438.92294511207,466.17264740545,492.63963050051,523.2511306012],description:"Robert Wendell's Natural Synchronous well-temperament (2003)"},wendell1r:{frequencies:[261.6255653006,276.25560153172,293.36810129327,310.78755172318,328.43721515437,348.83408706747,369.49186704867,391.89926583958,414.38340229758,438.93945576706,466.18132758477,492.65582273156,523.2511306012],description:"Rational version of wendell1 by Gene Ward Smith"},wendell2:{frequencies:[261.6255653006,276.37223575148,293.46077701205,310.91876490958,328.50868755512,348.91469434159,369.57235851938,392.00856887742,414.55835341999,438.92345217603,466.37814713124,492.76314493882,523.2511306012],description:"Robert Wendell's Very Mild Synchronous well-temperament (2003)"},werck1:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,363.36884069528,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Werckmeister I (just intonation)"},werck3:{frequencies:[261.6255653006,275.62199471997,292.34127285051,310.07474405997,327.77163799145,348.83408706747,367.49599295996,391.11111150212,413.43299207996,437.02884834934,465.11211608996,491.65745674141,523.2511306012],description:"Andreas Werckmeister's temperament III (the most famous one, 1681)"},werck3_eb:{frequencies:[261.6255653006,275.62199471997,292.52927773082,310.07474405997,328.06371231954,348.83408706747,367.49599295996,391.41011079897,413.43299207996,437.41828331138,465.11211608996,492.10978071589,523.2511306012],description:"Werckmeister III equal beating version, 5/4 beats twice 3/2"},werck3_mod:{frequencies:[261.6255653006,275.62199471997,292.34127285051,310.07474405997,327.77163799145,348.83408706747,367.49599295996,391.11111150212,413.43299207996,437.02884834934,465.11211608996,490.82535372381,523.2511306012],description:"Modified Werckmeister III with B between E and F#, Nijsse (1997), organ Soest"},werck4:{frequencies:[261.6255653006,274.37997440822,293.00227310437,310.07474405997,328.14198392915,348.83408706747,367.49599295996,390.66969766777,411.5699614066,437.52264545758,467.21778431035,489.99465727995,523.2511306012],description:"Andreas Werckmeister's temperament IV"},werck5:{frequencies:[261.6255653006,276.55731914056,294.32876096318,311.12698372208,328.88393162803,350.01785633742,369.99442271164,392.4383479509,413.43299207996,440,466.69047534984,493.32589719545,523.2511306012],description:"Andreas Werckmeister's temperament V"},werck6:{frequencies:[261.6255653006,275.69145590816,291.35574317567,310.77945938738,328.70904358281,348.83408706747,368.91086905696,391.43977709097,413.53718386224,438.27872477707,466.16918908107,493.06356537421,523.2511306012],description:`Andreas Werckmeister's "septenarius" tuning VI`},werck6_dup:{frequencies:[261.6255653006,275.62199471997,291.49363009634,310.67551062492,328.56569462012,348.83408706747,368.92162485303,391.67947347082,413.43299207996,438.08759304581,466.01326570444,492.84854168382,523.2511306012],description:"Andreas Werckmeister's VI in the interpretation by Dupont (1935)"},werck_cl5:{frequencies:[261.6255653006,274.56549986328,292.86986732103,309.97737261399,327.84547867349,349.70184487387,366.99801003998,391.46454285105,412.14811800305,438.2147004401,466.26912673157,490.54793493862,523.2511306012],description:"Werckmeister Clavier temperament (Nothw. Anm.) Poletti reconstr. 1/5-comma"},werck_cl6:{frequencies:[261.6255653006,275.36250599118,293.11251278827,310.35057963607,328.38895179964,349.55706816887,367.91095120397,391.62667645325,413.31226430431,438.75941205608,466.0760911248,491.56462836305,523.2511306012],description:"Werckmeister Clavier temperament (Nothw. Anm.) Poletti reconstr. 1/6-comma"},werck_puzzle:{frequencies:[261.6255653006,272.52663052146,291.60349465796,306.59245933664,327.03195662575,347.47145391486,365.18568489875,389.71308164569,408.78994578219,436.04260883433,461.93263873387,490.54793493862,523.2511306012],description:"From Hypomnemata Musica, 1697, p. 49, 1/1=192, fifths tempered superparticular"},white:{frequencies:[261.6255653006,275.93321340298,289.72987407313,294.32876096318,305.22982618403,310.42486507835,327.03195662575,331.11985608357,343.38355445704,348.83408706747,367.91095120397,386.30649876417,392.4383479509,406.97310157871,413.89982010446,436.04260883433,441.49314144476,457.84473927605,465.11211608996,490.54793493862,496.67978412536,515.07533168556,523.2511306012],description:"Justin White's 22-tone scale based on Al-Farabi's tetrachord"},wicks:{frequencies:[261.6255653006,276.65728054629,293.45376109391,310.36444075595,329.26048109616,348.28499607284,369.54304125029,391.93835601961,414.48592121967,439.68064187634,465.04666232412,493.39072329352,523.2511306012],description:"Mark Wicks' equal beating temperament for organs (1887)"},wier_cl:{frequencies:[261.6255653006,276.16031892841,290.69507255622,305.22982618403,319.76457981184,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"Danny Wier, ClownTone (2003)"},wiesse:{frequencies:[261.6255653006,277.49581689502,294.32876096318,312.18279369479,331.11985608357,348.83408706747,369.99442271164,392.4383479509,416.24372513446,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"Von Wiesse's 1/2 Pyth. comma tuning"},wilson1:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,459.88868900496,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Wilson's 19-tone Scott scale (1976)"},wilson11:{frequencies:[261.6255653006,271.31540105247,277.4816601673,291.35574317567,305.22982618403,312.16686768822,325.57848126297,332.97799220076,348.83408706747,366.27579142084,374.60024122586,392.4383479509,406.97310157871,416.22249025095,437.0336147635,457.84473927605,468.25030153232,488.36772189445,499.46698830115,523.2511306012],description:"Wilson 11-limit 19-tone scale, 1977"},wilson1t:{frequencies:[261.6255653006,273.34666024156,279.64601698606,292.92954243175,306.05308604033,313.10617410217,327.13365148064,334.67254769546,349.66622272551,366.27579142084,374.71672979763,391.50442319155,409.04422481132,418.47077311482,437.21869500104,457.98711402938,468.54156606881,489.53271107931,500.81414097667,523.2511306012],description:"Wilson's Scott scale, wilson1, in minimax minerva tempering"},wilson2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,361.75386806997,372.08969287196,392.4383479509,406.97310157871,418.60090448096,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Wilson 19-tone, 1975"},wilson3:{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,412.06026534844,429.2294430713,441.49314144476,457.84473927605,470.92601754108,490.54793493862,515.07533168556,523.2511306012],description:"Wilson 19-tone"},wilson5:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Wilson's 22-tone 5-limit scale"},wilson7:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,353.19451315581,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Wilson's 22-tone 7-limit 'marimba' scale"},wilson7_2:{frequencies:[261.6255653006,263.718569823,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,329.64821227876,343.38355445704,353.19451315581,366.27579142084,376.74081403286,392.4383479509,408.78994578219,412.06026534844,436.04260883433,439.53094970501,457.84473927605,470.92601754108,490.54793493862,494.47231841813,523.2511306012],description:"Wilson 7-limit scale"},wilson7_3:{frequencies:[261.6255653006,267.90457886781,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,372.08969287196,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Wilson 7-limit scale"},wilson7_4:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,361.75386806997,372.08969287196,387.59343007496,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Wilson 7-limit 22-tone scale XH 3, 1975"},wilson_17:{frequencies:[261.6255653006,275.93321340298,290.69507255622,294.32876096318,310.42486507835,327.03195662575,331.11985608357,348.83408706747,367.91095120397,372.50983809402,392.4383479509,413.89982010446,436.04260883433,441.49314144476,465.11211608996,490.54793493862,496.67978412536,523.2511306012],description:"Wilson's 17-tone 5-limit scale"},wilson_31:{frequencies:[261.6255653006,265.7783520514,271.31540105247,279.06726965397,285.40970760065,294.32876096318,299.00064605783,305.22982618403,313.95067836072,321.08592105074,327.03195662575,332.22294006425,339.14425131559,348.83408706747,354.37113606854,361.75386806997,372.08969287196,380.54627680087,392.4383479509,398.6675280771,406.97310157871,418.60090448096,428.11456140098,441.49314144476,448.50096908674,457.84473927605,470.92601754108,481.6288815761,490.54793493862,498.33441009638,508.71637697339,523.2511306012],description:"Wilson 11-limit 31-tone scale XH 3, 1975"},wilson_41:{frequencies:[261.6255653006,265.7783520514,271.31540105247,275.62199471997,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,321.08592105074,327.03195662575,331.11985608357,336.37572681506,343.38355445704,348.83408706747,354.37113606854,361.75386806997,367.49599295996,372.08969287196,380.54627680087,387.59343007496,392.4383479509,398.6675280771,406.97310157871,413.43299207996,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,481.6288815761,490.54793493862,496.67978412536,504.56359022259,515.07533168556,523.2511306012],description:"Wilson 11-limit 41-tone scale XH 3, 1975"},wilson_alessandro:{frequencies:[261.6255653006,265.58571790036,269.80136421624,270.50397193556,275.93321340298,278.232656848,284.55612632182,286.15296204753,288.53757006459,294.32876096318,295.09524211152,303.52653474327,304.3169684275,305.22982618403,309.14739649778,314.76825825228,321.92208230347,324.60476632267,327.03195662575,331.98214737546,337.2517052703,340.06213614756,343.38355445704,347.79082106,351.18772614924,354.11429053382,359.73515228832,365.180362113,367.91095120397,370.97687579734,379.40816842909,386.30649876417,391.2646736925,392.4383479509,393.46032281536,404.70204632437,405.75595790334,413.89982010446,417.348985272,419.69101100305,429.2294430713,432.80635509689,441.49314144476,442.64286316727,449.66894036041,456.47545264125,457.84473927605,463.72109474667,472.15238737843,482.88312345521,486.907149484,490.54793493862,494.63583439645,505.87755790546,515.07533168556,521.68623159,523.2511306012],description:"D'Alessandro, genus [3 3 3 5 7 11 11] plus 8 pigtails, XH 12, 1989"},wilson_bag:{frequencies:[261.6255653006,294.32876096318,318.85615771011,349.51540364377,392.4383479509,425.14154361347,466.02053819169,523.2511306012],description:"Erv's bagpipe, mar '97, after Theodore Podnos (37-39)."},wilson_class:{frequencies:[261.6255653006,272.52663052146,293.02063313667,305.22982618403,327.03195662575,348.83408706747,366.27579142084,381.53728273004,418.60090448096,436.04260883433,457.84473927605,488.36772189445,523.2511306012],description:"Class Scale, Erv Wilson, 9 july 1967"},wilson_dia1:{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,303.82323712328,313.95067836072,324.77656382143,336.37572681506,348.83408706747,362.25078272391,371.78369805875,381.83190611439,392.4383479509,403.65087217807,415.52295665389,428.11456140098,441.49314144476,455.73485568492,470.92601754108,487.16484573215,504.56359022259,523.2511306012],description:"Wilson Diaphonic cycles, tetrachordal form"},wilson_dia2:{frequencies:[261.6255653006,268.51044859798,275.76748774928,283.42769574232,291.52562990638,300.09991313892,309.19384990071,318.85615771011,329.14184021688,340.11323489078,351.84127747322,364.40703738298,377.90359432309,388.70083987518,400.13321751856,412.25846653428,425.14154361347,438.85578695585,453.48431318771,469.12170329763,485.87604984397,503.87145909745,523.2511306012],description:"Wilson Diaphonic cycle, conjunctive form"},wilson_dia3:{frequencies:[261.6255653006,268.51044859798,275.76748774928,283.42769574232,291.52562990638,300.09991313892,309.19384990071,318.85615771011,329.14184021688,340.11323489078,351.84127747322,364.40703738298,377.90359432309,392.4383479509,403.65087217807,415.52295665389,428.11456140098,441.49314144476,455.73485568492,470.92601754108,487.16484573215,504.56359022259,523.2511306012],description:"Wilson Diaphonic cycle on 3/2"},wilson_dia4:{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,303.82323712328,313.95067836072,324.77656382143,336.37572681506,348.83408706747,358.01393146398,381.83190611439,377.90359432309,388.70083987518,400.13321751856,412.25846653428,425.14154361347,438.85578695585,453.48431318771,469.12170329763,485.87604984397,503.87145909745,523.2511306012],description:"Wilson Diaphonic cycle on 4/3"},wilson_duo:{frequencies:[261.6255653006,271.31540105247,279.06726965397,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,361.75386806997,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Wilson 'duovigene'"},wilson_enh:{frequencies:[261.6255653006,264.37951861955,279.06726965397,348.83408706747,392.4383479509,396.56927792933,418.60090448096,523.2511306012],description:"Wilson's Enharmonic & 3rd new Enharmonic on Hofmann's list of superp. 4chords"},wilson_enh2:{frequencies:[261.6255653006,265.7783520514,275.62199471997,348.83408706747,392.4383479509,398.6675280771,413.43299207996,523.2511306012],description:"Wilson's 81/64 Enharmonic, a strong division of the 256/243 pyknon"},wilson_facet:{frequencies:[261.6255653006,271.31540105247,274.70684356563,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,353.19451315581,366.27579142084,387.59343007496,392.4383479509,406.97310157871,412.06026534844,436.04260883433,452.19233508746,457.84473927605,470.92601754108,488.36772189445,508.71637697339,523.2511306012],description:"Wilson study in 'conjunct facets', Hexany based"},wilson_gh1:{frequencies:[261.6255653006,286.54684077898,313.84200313831,343.73718179912,398.2573899082,436.19359890902,477.74343791599,523.2511306012],description:"Golden Horagram nr.1: 1phi+0 / 7phi+1"},wilson_gh11:{frequencies:[261.6255653006,294.51148904212,316.87124012705,356.70145865606,383.78276711707,432.02365977685,464.82353976398,523.2511306012],description:"Golden Horagram nr.11: 1phi+0 / 3phi+1"},wilson_gh2:{frequencies:[261.6255653006,290.51361927671,322.59142140135,358.21117585067,382.16527586729,424.3630293795,471.22015545621,523.2511306012],description:"Golden Horagram nr.2: 1phi+0 / 6phi+1"},wilson_gh50:{frequencies:[261.6255653006,270.80964219588,280.31611759965,306.81496952381,317.58537244461,347.60736272384,359.80973785756,372.44046183271,407.64801512355,421.95805149354,461.8466031062,478.05922145,523.2511306012],description:"Golden Horagram nr.50: 7phi+2 / 17phi+5"},wilson_helix:{frequencies:[261.6255653006,283.42769574232,294.32876096318,305.22982618403,327.03195662575,348.83408706747,359.73515228832,392.4383479509,425.14154361347,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"Wilson's Helix Song, see David Rosenthal, Helix Song, XH 7&8, 1979. Also Secor, 1964"},wilson_hypenh:{frequencies:[261.6255653006,266.38239376061,271.31540105247,348.83408706747,392.4383479509,399.57359064092,406.97310157871,523.2511306012],description:"Wilson's Hyperenharmonic, this genus has a CI of 9/7"},wilson_l1:{frequencies:[261.6255653006,269.80136421624,274.70684356563,286.15296204753,294.32876096318,305.22982618403,314.76825825228,327.03195662575,337.2517052703,343.38355445704,359.73515228832,366.27579142084,377.72190990274,392.4383479509,404.70204632437,419.69101100305,431.68218274599,449.66894036041,457.84473927605,472.15238737843,490.54793493862,503.62921320365,523.2511306012],description:"Wilson 11-limit scale"},wilson_l2:{frequencies:[261.6255653006,267.07609791103,279.79400733536,287.78812183066,294.32876096318,305.22982618403,314.76825825228,327.03195662575,335.75280880244,348.83408706747,359.73515228832,373.05867644715,381.53728273004,392.4383479509,411.12588832951,419.69101100305,436.04260883433,447.67041173658,457.84473927605,479.64686971777,490.54793493862,503.62921320365,523.2511306012],description:"Wilson 11-limit scale"},wilson_l3:{frequencies:[261.6255653006,269.80136421624,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,332.97799220076,343.38355445704,359.73515228832,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,429.2294430713,441.49314144476,457.84473927605,470.92601754108,490.54793493862,499.46698830115,523.2511306012],description:"Wilson 11-limit scale"},wilson_l4:{frequencies:[261.6255653006,267.07609791103,274.70684356563,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,356.10146388137,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,508.71637697339,523.2511306012],description:"Wilson 11-limit scale"},wilson_l5:{frequencies:[261.6255653006,267.07609791103,279.79400733536,285.40970760065,299.00064605783,305.22982618403,313.95067836072,327.03195662575,332.97799220076,348.83408706747,356.10146388137,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,479.64686971777,488.36772189445,508.71637697339,523.2511306012],description:"Wilson 11-limit scale"},wilson_l6:{frequencies:[261.6255653006,267.57160087561,277.4816601673,285.40970760065,294.32876096318,305.22982618403,312.16686768822,327.03195662575,332.97799220076,348.83408706747,356.76213450082,369.97554688974,381.53728273004,392.4383479509,406.97310157871,416.22249025095,436.04260883433,443.97065626768,457.84473927605,475.68284600109,490.54793493862,499.46698830115,523.2511306012],description:"Wilson 1 3 7 9 11 15 eikosany plus 9/8 and tritone. Used Stearns: Jewel"},window:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,297.67175429757,306.59245933664,327.03195662575,334.88072358477,348.83408706747,363.36884069528,367.91095120397,372.08969287196,376.74081403286,392.4383479509,408.78994578219,418.60090448096,446.50763144636,459.88868900496,465.11211608996,470.92601754108,502.32108537715,523.2511306012],description:"Window lattice"},wonder1:{frequencies:[261.6255653006,272.72256190885,277.86237426839,283.09905309511,288.43442562998,293.8703485525,299.4087202614,312.10830899518,317.99039712482,323.98334274799,330.08923137594,336.31019538088,342.64839962317,357.18202566262,363.91358676728,370.77201292014,377.75969724053,384.87907140314,392.13262172187,408.76514672187,416.46885901676,424.31776026786,432.3145818485,440.46211650535,448.76319953449,467.79774494453,476.61400354229,485.59641603135,494.74811665626,504.07229015717,513.57219283465,523.2511306012],description:"Wonder Scale, gen=~233.54 cents, 8/7+1029/1024^7/25, LS 12:14:18:21, M.Schulter"},wonder36:{frequencies:[261.6255653006,271.89678302796,277.18263097687,282.57123920205,288.06460709314,293.66476791741,299.37379946195,311.12698372208,317.17549194805,323.3415889232,329.62755691287,336.03572815422,342.56848033562,356.01745236555,362.93866220634,369.99442271164,377.18735172911,384.52011812375,391.99543598175,407.38487419079,415.30469757995,423.37848741825,431.60923940535,440,448.5538823653,466.16376151809,475.22628419761,484.46499093218,493.88330125613,503.48470957687,513.27277840175,523.2511306012],description:"Wonder Scale, 36-tET version"},wronski:{frequencies:[261.6255653006,277.97716313189,294.32876096318,308.86351459099,327.03195662575,348.83408706747,370.63621750918,392.4383479509,416.96574469783,441.49314144476,463.29527188648,494.18162334558,523.2511306012],description:`Wronski's scale, from Jocelyn Godwin, "Music and the Occult", p. 105.`},wurschmidt:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,331.11985608357,353.19451315581,367.91095120397,392.4383479509,413.89982010446,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"W\xEF\xBF\xBDrschmidt's normalised 12-tone system"},wurschmidt1:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,490.54793493862,502.32108537715,523.2511306012],description:"W\xEF\xBF\xBDrschmidt-1 19-tone scale"},wurschmidt2:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,484.4917875937,502.32108537715,523.2511306012],description:"W\xEF\xBF\xBDrschmidt-2 19-tone scale"},wurschmidt_31:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,287.4304306281,294.32876096318,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,376.74081403286,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,428.6473261885,436.04260883433,446.50763144636,454.2110508691,465.11211608996,476.27480687611,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"W\xEF\xBF\xBDrschmidt's 31-tone system"},wurschmidt_31a:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,287.4304306281,294.32876096318,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,372.08969287196,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,428.6473261885,436.04260883433,446.50763144636,454.2110508691,465.11211608996,476.27480687611,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"W\xEF\xBF\xBDrschmidt's 31-tone system with alternative tritone"},wurschmidt_53:{frequencies:[261.6255653006,264.89588486686,267.90457886781,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,310.07474405997,313.95067836072,319.36714514233,321.48549464138,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,396.89567239676,401.85686830172,408.78994578219,413.43299207996,418.60090448096,425.82286018978,428.6473261885,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,476.27480687611,484.4917875937,490.54793493862,496.11959049595,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"W\xEF\xBF\xBDrschmidt's 53-tone system"},wurschmidt_temp:{frequencies:[261.6255653006,270.6876810201,276.46178051834,282.35904862511,288.38211267756,294.53365605714,300.81641938515,307.23320174366,313.78686192261,320.48031969341,327.31655710978,338.6540596739,345.87796520471,353.25596548096,360.79134753214,368.48746850413,376.34775715481,384.37571538166,392.57491978195,400.94902556208,409.5017589506,423.68596790742,432.72370810117,441.95423435346,451.38165902684,461.01018486849,470.84409628664,480.88777706987,491.14570185547,501.62244073019,512.32266126632,523.2511306012],description:"W\xEF\xBF\xBDrschmidt temperament, 5-limit, g=387.744375, 5-limit"},"t-side":{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Tau-on-Side"},"t-side2":{frequencies:[261.6255653006,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,459.88868900496,470.92601754108,490.54793493862,523.2511306012],description:"Tau-on-Side opposite"},tagawa_55:{frequencies:[261.6255653006,277.01530443593,277.97716313189,279.06726965397,280.31310567921,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,296.50897400735,299.00064605783,301.87565226992,305.22982618403,307.79478270659,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,356.76213450082,359.73515228832,362.25078272391,366.27579142084,369.35373924791,370.63621750918,373.75080757229,377.90359432309,380.54627680087,383.71749577421,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,442.75095666255,444.76346101102,448.50096908674,453.48431318771,457.84473927605,461.69217405988,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,488.36772189445,490.54793493862,492.47165233054,494.18162334558,523.2511306012],description:"Rick Tagawa, 17-limit diamond subset with good 72-tET approximation, 2003"},tamil:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,372.50983809402,387.59343007496,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"Possible Tamil sruti scale. Alternative 11th sruti is 45/32 or 64/45"},tamil_vi:{frequencies:[261.6255653006,275.62199471997,290.69507255622,310.07474405997,327.03195662575,348.83408706747,367.91095120397,387.59343007496,413.43299207996,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Vilarippalai scale in Tamil music, Vidyasankar Sundaresan"},tamil_vi2:{frequencies:[261.6255653006,275.62199471997,290.69507255622,310.07474405997,327.03195662575,348.83408706747,367.49599295996,387.59343007496,413.43299207996,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Vilarippalai scale with 1024/729 tritone"},tanaka:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,331.11985608357,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,387.59343007496,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"26-note choice system of Shoh\xEF\xBF\xBD Tanaka, Studien i.G.d. reinen Stimmung (1890)"},tanbur:{frequencies:[261.6255653006,268.33391312882,275.39533189537,282.83844897362,290.69507255622,299.00064605783,306.66732929008,314.73752216614,323.24394168414,332.22294006425,341.71502406609,351.76546595039,523.2511306012],description:"Sub-40 tanbur scale"},tansur:{frequencies:[261.6255653006,275.71279889585,293.19126194179,310.07474405997,328.21516866261,348.83408706747,367.61706537823,391.78834765065,413.56919813705,438.48689188122,465.11211608996,491.022754507,523.2511306012],description:"William Tans'ur temperament from A New Musical Grammar (1746) p. 73"},tartini_7:{frequencies:[261.6255653006,294.32876096318,313.95067836072,367.91095120397,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Tartini (1754) with 2 neochromatic tetrachords, 1/1=d, Minor Gipsy (Slovakia)"},taylor_g:{frequencies:[261.6255653006,274.70684356563,287.78812183066,294.32876096318,313.95067836072,353.19451315581,366.27579142084,392.4383479509,412.06026534844,418.60090448096,431.68218274599,470.92601754108,523.2511306012],description:"Gregory Taylor's Dutch train ride scale based on pelog_schmidt"},taylor_n:{frequencies:[261.6255653006,275.93341798027,292.67158636845,310.42509491746,327.40170814054,348.83408706747,367.9112241576,391.33200541501,413.90012676351,437.76975193523,465.63764214343,491.10256480205,523.2511306012],description:"Nigel Taylor's Circulating Balanced temperament (20th cent.)"},telemann:{frequencies:[261.6255653006,264.94361147373,271.70648167539,275.15237829755,278.64197723942,282.17583275232,289.3785657319,293.0485888979,296.76515515861,300.52885648597,304.34029066685,308.20006306951,312.10878854255,316.06708432391,324.13491490251,328.24573110938,332.40868242763,336.62443200122,345.21700307457,349.59519124833,354.02890545793,363.06573983159,367.67029324081,372.33324354561,377.05533136015,386.67993129161,391.58396987353,396.55020354877,406.67242132093,411.83001550364,417.05301810033,422.34226102699,433.12283887627,438.61588607285,444.17860098504,449.81186203693,461.29362042034,467.14394139401,473.06846134744,485.14386048744,491.29666030217,497.52749252881,503.83734680745,516.69814597997,523.2511306012],description:"G.Ph. Telemann (1767). 55-tET interpretation of Klang- und Intervallen-Tafel"},telemann_28:{frequencies:[261.6255653006,264.94361147373,275.15237829755,278.64197723942,293.0485888979,296.76515515861,308.20006306951,312.10878854255,328.24573110938,332.40868242763,345.21700307457,349.59519124833,354.02890545793,367.67029324081,372.33324354561,386.67993129161,391.58396987353,396.55020354877,406.67242132093,411.83001550364,438.61588607285,444.17860098504,461.29362042034,467.14394139401,473.06846134744,491.29666030217,497.52749252881,516.69814597997,523.2511306012],description:"Telemann's tuning as described on Sorge's monochord, 1746, 1748, 1749"},"temes-mix":{frequencies:[261.6255653006,306.31659399917,323.38698268281,342.47239171077,361.55773069062,378.62819763364,399.72843132859,423.31905787312,446.91000942727,523.2511306012],description:"Temes' 5-tone Phi scale mixed with its octave inverse"},"temes-ur":{frequencies:[261.6255653006,306.31659399917,323.38703872151,342.47239171077,361.55773069062,423.31905787312],description:"Temes' Ur 5-tone phi scale"},temes:{frequencies:[261.6255653006,306.31659399917,323.38703872151,342.47239171077,361.55773069062,423.31905787312,495.63057556553,523.2511306012,554.13187513888,585.01259700885,684.94462120932],description:"Temes' 5-tone Phi scale / 2 cycle"},"temes2-mix":{frequencies:[261.6255653006,306.31659399917,323.38698268281,342.47239171077,361.55773069062,399.72843132859,423.31905787312,468.0102705885,495.63057556553,523.2511306012,552.41124604023,585.01259700885,646.77396536561,684.94438778203,757.25639526728,799.45686265718,846.63811574624,893.82001885454,1046.5022612024],description:"Temes' 2 cycle Phi scale mixed with its 4/1 inverse"},temp10coh:{frequencies:[261.6255653006,279.06726965397,299.10339764541,320.57805584394,343.5945271479,368.2635494613,394.70435354475,423.05284121745,453.57582505819,488.36772189445,523.2511306012],description:"Differential coherent 10-tone scale, OdC, 2003"},temp10ebss:{frequencies:[261.6255653006,280.43397904206,300.58585223371,322.17714382919,345.31067040124,370.09659148016,396.65293718743,425.1061627261,455.59176355181,488.25490599611,523.2511306012],description:`Cycle of 10 equal "beating" 15/14's`},temp11ebst:{frequencies:[261.6255653006,278.68301283272,296.80966039395,316.07252488244,336.70993118161,358.64093492832,381.94662420398,406.71316497313,433.24697173408,461.44397806515,491.40843569917,523.2511306012],description:"Cycle of 11 equal beating 9/7's"},temp12coh3:{frequencies:[261.6255653006,279.8393060116,294.68135606466,311.32770136359,332.21069717879,353.56473801237,370.2386298036,397.61708850394,418.97112933752,440.1984563065,471.2874275201,496.80305467842,523.2511306012],description:"Differential coherent scale, interval=3, OdC, 2003"},temp12ebf:{frequencies:[261.6255653006,277.18807786937,293.58315284916,311.09098010692,329.5354160273,349.23174343306,369.98176018664,391.84186131702,415.18563115404,439.77824302677,466.03998256716,493.70667148145,523.2511306012],description:"Equal beating temperament tuned by The Best Factory Tuners (1840)"},temp12ebf4:{frequencies:[261.6255653006,276.98801737971,293.51517393789,310.79793252689,329.39098365485,348.83408706747,369.75126958642,391.78747833067,414.83115644933,439.62189128662,465.54602917011,493.43560586205,523.2511306012],description:"Eleven equal beating fifths and just fourth"},temp12ebfo:{frequencies:[261.6255653006,277.20265787963,293.64844512428,311.16011036869,329.64835309433,349.33484978517,370.11921182839,392.06266066657,415.42830219132,440.09698059047,466.36447845344,494.0968438935,523.62658899088],description:"Equal beating fifths and fifth beats twice octave at C"},temp12ebfp:{frequencies:[261.6255653006,277.75307788644,293.77513637875,310.82931496301,329.94340332986,349.12935317325,370.63270249518,391.99544730302,416.18671544528,440.21980402758,465.80107112682,494.47220378931,523.2511306012],description:"All fifths except G#-Eb beat same as 700 c. C-G"},temp12ebfr:{frequencies:[261.6255653006,277.1880780098,293.58315312731,311.09097992515,329.53543943235,349.23174457993,369.98176152553,391.84186168221,415.185630746,439.77824342227,466.03998361904,493.70667287983,523.2511306012],description:"Exact values of equal beating temperament of Best Factory Tuners (1840)"},temp12ep:{frequencies:[261.6255653006,277.19910487213,293.6996776193,311.18246278326,329.70593120198,349.3320268423,370.12638880276,392.15855510068,415.50221189151,440.23542223935,466.44090588941,494.20629608476,523.62445363767],description:"Pythagorean comma distributed equally over octave and fifth: 1/19-Pyth comma"},temp12fo1o:{frequencies:[261.6255653006,277.20349049726,293.7089710611,311.19723286579,329.72679517909,349.35966199273,370.1615231373,392.20198585541,415.5548023839,440.29810917508,466.51470234738,494.29230838881,523.72386870485],description:"Fifth beats same octave opposite"},temp12fo2o:{frequencies:[261.6255653006,277.19623399848,293.69359242342,311.17279259662,329.69226891672,349.31393351076,370.10338107372,392.13011658806,415.46777521802,440.19437666896,466.39258399594,494.14997995304,523.55935978973],description:"Fifth beats twice octave opposite"},temp12p10:{frequencies:[261.6255653006,277.12003622197,293.53214922797,310.91625060765,329.32990524605,349.3071136959,369.493381814,391.90691363044,415.11714643072,439.70197837153,465.74281849401,493.32589719545,523.2511306012],description:"1/10-Pyth. comma well temperament"},temp12p6:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,328.14198392915,349.6228209638,367.9112241576,391.5530240856,413.43299207996,438.51190905657,466.16376151809,491.10256480205,523.2511306012],description:"Modified 1/6-Pyth. comma temperament"},temp12p8:{frequencies:[261.6255653006,277.02617059261,293.33333347996,310.60041853231,328.88393162803,349.42547049952,369.36822764145,391.77416758435,414.83597850347,439.25532436715,465.90062756558,492.49097043477,523.2511306012],description:"1/8-Pyth. comma well temperament"},temp12p8a:{frequencies:[261.6255653006,276.55731914056,293.33333347996,311.12698372208,328.88393162803,349.42547049952,368.74309237173,391.77416758435,414.83597850347,439.25532436715,466.69047534984,492.49097043477,523.2511306012],description:"1/8-Pyth. comma well temperament, consecutive just fifths"},temp12s17:{frequencies:[261.6255653006,275.41266079541,292.61316553779,309.9334225479,327.2710181906,348.78108411875,367.16108497228,391.29294726693,413.18177371806,437.63868343995,464.97078294553,490.98112850332,523.2511306012],description:'4/17th synt. comma "well"-temperament. OdC 1999'},temp12s3:{frequencies:[261.6255653006,275.79485124716,293.07576161921,310.19140758515,326.99095182327,348.87783040382,367.77258074571,390.81668391305,413.640406907,437.79703699716,465.22877230071,490.42492909292,523.2511306012],description:'1/3 synt. comma "well"-temperament. OdC 1999'},temp12septendec:{frequencies:[261.6255653006,277.01530443593,293.31032234393,310.5638707171,328.83233370046,348.17541215342,368.65631875068,390.34198455955,413.30334035457,437.61515184999,463.35732874365,494.18162334558,523.2511306012],description:"Scale with 18/17 steps"},temp12w2b:{frequencies:[261.6255653006,276.80621914251,293.38957467182,310.9374037046,329.12408537692,349.33498699812,369.32540968366,391.68699838314,414.83365420901,439.33301386008,466.03043161756,492.93477894539,523.2511306012],description:"The fifths on white keys beat twice the amount of fifths on black keys"},temp15coh:{frequencies:[261.6255653006,273.98642352939,286.93424587686,300.52595924487,314.76156220527,329.6715499436,345.28562122078,360.48992106995,377.61407292725,395.54746439596,414.33033691342,434.93480826785,455.53927928881,477.11963158959,499.65025190386,523.2511306012],description:"Differential coherent 15-tone scale, OdC, 2003"},temp15ebmt:{frequencies:[261.6255653006,274.13344448045,287.10161388969,300.54701305042,315.02372625978,330.03318193885,345.59498492211,361.72946206059,379.10151766291,397.1128647533,415.78702800292,435.14840215297,455.99486887387,477.60848441971,500.01748339385,523.2511306012],description:"Cycle of 15 equal beating minor thirds"},temp15ebsi:{frequencies:[261.6255653006,274.09084013406,287.01483652929,300.41443756554,314.84183942382,329.80016763418,345.30896502873,361.38848559819,378.7013656391,396.65136316555,415.2619179078,434.55734100747,455.33280077531,476.87279531786,499.20546063174,523.2511306012],description:"Cycle of 15 equal beating major sixths"},temp15mt:{frequencies:[261.6255653006,272.10155294862,290.46827626332,302.09918118188,314.19580976213,326.77681046955,348.83408706747,362.80207077951,377.32935907335,392.4383479509,418.92774655891,435.70241417719,453.14877154631,471.29371440761,503.10581234929,523.2511306012],description:"Cycle of 15 minor thirds, Petr Parizek"},temp16d3:{frequencies:[261.6255653006,272.52663052146,287.69189096389,299.67905363019,312.16568143019,325.17258353382,338.72144179457,352.83483584176,372.46899992671,387.98854005196,404.15472995283,420.99451113006,438.53594735503,462.93911228358,482.22824196207,502.32108537715,523.2511306012],description:"Cycle of 16 thirds tempered by 1/3 small diesis"},temp16d4:{frequencies:[261.6255653006,271.36369423603,291.82218013836,302.68427617679,313.95067836072,325.63643364742,337.75715313333,350.32902355546,376.74081403286,390.76372105392,405.30858212106,420.39482899491,436.04260883433,468.91646607712,486.37029938793,504.47379566792,523.2511306012],description:"Cycle of 16 thirds tempered by 1/4 small diesis"},temp16ebs:{frequencies:[261.6255653006,273.35566334732,285.38860666159,297.73221513295,311.13803992337,324.88997598926,338.996955196,354.31789928052,370.0343963911,386.15666093499,403.66631166114,421.62802297921,440.05346707662,460.0644954801,480.59216613216,501.64981691394,523.2511306012],description:"Cycle of 16 equal beating sevenths"},temp16ebt:{frequencies:[261.6255653006,273.54317752885,285.74681450472,298.24333695649,311.03977535434,324.14332902314,339.04034606654,354.29488987405,369.91554384313,385.91109319424,402.29053605603,420.91180538217,439.97998583037,459.50580330844,479.50024102158,499.97454326842,523.2511306012],description:"Cycle of 16 equal beating thirds"},temp16l4:{frequencies:[261.6255653006,278.81939890042,286.59644689091,305.43134787805,313.95067836072,322.70763593891,343.91573686494,353.50850469302,376.74081403286,387.24916379762,412.69888495295,424.21020636659,436.04260883433,464.69899736225,477.66074674968,509.05224558146,523.2511306012],description:"Cycle of 16 fifths tempered by 1/4 major limma"},temp17c10:{frequencies:[261.6255653006,278.13248184697,287.25399162485,296.67464640038,315.39293803189,325.73642523995,336.41913481987,347.45218787195,369.37422084479,381.48805431277,393.9991677018,418.85802036446,432.59470262079,446.78188702878,474.97099505857,490.54793493862,506.63572944675,523.2511306012],description:'Cycle of 17 fifths tempered by 1/10 of "17-tET comma"'},temp17c11:{frequencies:[261.6255653006,276.93071634298,286.5293181416,296.46061382736,313.80362259461,324.68026371274,335.93389640617,347.57758745223,367.91095120397,380.66298908833,393.8570200719,416.89773925535,431.34769064645,446.29848691039,472.40704302301,488.78098359819,505.72245578392,523.2511306012],description:'Cycle of 17 fifths tempered by 1/11 of "17-tET comma"'},temp17c12:{frequencies:[261.6255653006,275.93321340298,285.92682111936,296.28237159295,312.48531442823,323.80274674587,335.53006800342,347.68212334757,366.69599021774,379.97679689512,393.73860099464,415.27118158544,430.3112595477,445.8960513142,470.2809925818,487.31338757149,504.96265307831,523.2511306012],description:'Cycle of 17 fifths tempered by 1/12 of "17-tET comma"'},temp17c13:{frequencies:[261.6255653006,275.09197878886,285.41800532755,296.13163442011,311.37414725128,323.06208421743,335.18874504319,347.77059980835,365.67107999768,379.3971387881,393.63842979584,413.89982010446,429.43622376713,445.55581352332,468.48950048969,486.07501593832,504.32063522708,523.2511306012],description:'Cycle of 17 fifths tempered by 1/13 of "17-tET comma"'},temp17c14:{frequencies:[261.6255653006,274.37296298479,284.98259752889,296.00249241327,310.42486507835,322.42857866752,334.89645942743,347.84645641687,364.79486552165,378.90099378095,393.5525871037,412.72797362103,428.68761089217,445.26438593469,466.95936897503,485.01606158014,503.77098227424,523.2511306012],description:'Cycle of 17 fifths tempered by 1/14 of "17-tET comma"'},temp17c15:{frequencies:[261.6255653006,273.75133628611,284.60578240525,295.8906154666,309.60449456672,321.88054534371,334.64335075548,347.91221098893,364.0371787025,378.47152629398,393.47820661021,411.71505587788,428.03986711385,445.01196937812,465.63729761752,484.10016650719,503.29510175355,523.2511306012],description:'Cycle of 17 fifths tempered by 1/15 of "17-tET comma"'},temp17ebf:{frequencies:[261.6255653006,272.44226039746,283.83762774933,295.84262353625,308.01140541539,320.83119298602,334.33681303028,348.02669374128,362.44895565855,377.64277622383,393.64943714798,409.87448211667,426.96753159265,444.97502525992,463.22819966593,482.45788080796,502.71631088044,523.2511306012],description:"Cycle of 17 equal beating fifths"},temp17ebs:{frequencies:[261.6255653006,272.25303191034,284.09302419378,294.99486987374,307.14054534497,320.67196534338,333.1312181383,347.01199086095,362.47647062671,376.71561430061,392.57935523584,410.25304697073,426.52635565248,444.65634289229,464.854847056,483.45291583119,504.17290303449,523.2511306012],description:"Cycle of 17 equal beating sevenths"},temp17fo2:{frequencies:[261.6255653006,272.49443630436,283.81483782984,295.60553136463,307.88605111976,320.67674980257,333.99881838086,347.87433573796,362.32629011314,377.37863296804,393.05630224552,409.38528080469,426.39262165238,444.10651133426,462.55629730628,481.77255670213,501.78712602614,522.6331757532],description:"Fifth beats twice octave"},temp17nt:{frequencies:[261.6255653006,272.67141175251,283.62400127587,295.59862296305,308.07881564783,321.08592105074,333.98321109015,348.08400151932,362.78013022893,377.35217954558,393.28401259522,409.88848628312,426.35277308246,444.35341180422,463.11404114636,482.66674266598,502.05436630802,523.2511306012],description:"17-tone temperament with 27/22 neutral thirds"},temp17s:{frequencies:[261.6255653006,272.47577100117,283.83144686231,295.66037914716,307.98229466369,320.75501909295,334.12277657932,348.04764753103,362.48197303348,377.58873713905,393.32509157531,409.63717539588,426.70917767843,444.49267120113,463.01730800927,482.21968335939,502.31662775181,523.2511306012],description:"Cycle of 17 fifths tempered by 2 schismas. Schulter, Tuning List 10-9-98"},temp19d5:{frequencies:[261.6255653006,270.66831710441,280.02362001571,289.70227696231,304.50185643804,315.02657220273,325.91506125677,337.17989695691,348.83408706747,360.89108965294,379.3273836973,392.4383479509,406.00247545366,420.03542981361,434.55341522625,449.57319616728,472.53985806789,488.87259164079,505.76984518255,523.2511306012],description:"Cycle of 19 thirds tempered by 1/5 small diesis. Third = 3\\5"},temp19ebf:{frequencies:[261.6255653006,271.21349495395,281.45216719787,291.55303152151,302.33945232218,313.85796000757,325.22143162672,337.35615460362,350.31447634238,363.09838134063,376.74994653359,390.21776437961,404.59965986997,419.95766938963,435.10896436483,451.288596451,468.56635736893,485.61156561298,503.81364896584,523.2511306012],description:"Cycle of 19 equal beating fifths"},temp19ebmt:{frequencies:[261.6255653006,271.3515811897,281.43551369743,291.89053542337,302.73030209663,313.98726376766,325.65848288741,337.75920164946,350.30522706536,363.3129458114,376.82130195458,390.82676353803,405.34762742982,420.40285701732,436.01212051281,452.22214724761,469.0287008844,486.45373685079,504.52001310976,523.2511306012],description:"Cycle of 19 equal beating minor thirds"},temp19ebo:{frequencies:[261.6255653006,277.22364042749,293.65618047886,311.2040149966,329.6906225544,349.43193638686,370.22936988938,392.1394232912,415.53653598153,440.18534605859,466.50709783521,494.2370091719,523.84897992059,555.04513017437,587.91021027711,623.0058793126,659.97909442818,699.46172209312,741.05658909815,784.8766959018],description:"Cycle of 19 equal beating octaves in twelfth"},temp19ebt:{frequencies:[261.6255653006,271.59402175166,281.80172126331,292.25440577595,302.95795550425,313.91838845704,325.14187338321,337.60244413755,350.36206814823,363.42792409681,376.80735887968,390.50790160795,404.53725818867,420.11297167574,436.06250107414,452.39482160095,469.11911613638,486.2447950704,503.78149001575,523.2511306012],description:"Cycle of 19 equal beating thirds"},temp19k10:{frequencies:[261.6255653006,271.76196854941,282.29109592175,293.22816309454,304.58897525989,314.09773337131,326.2671147593,338.90798583865,352.03861397416,365.67797428016,377.09383089344,391.70392883316,406.88007915549,422.6442137645,439.01911266466,452.72455471179,470.26488431194,488.48479525859,507.41061720556,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/10 kleisma"},temp19k3:{frequencies:[261.6255653006,272.95237156345,284.76956174698,297.09836322231,309.96092731219,314.44113201634,328.05453510669,342.25731432435,357.07498823553,372.53417996774,377.91882441317,394.28042610165,411.35038641496,429.15937528906,447.73938330242,454.2110508691,473.87564511273,494.39160029408,515.79576952378,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/3 kleisma"},temp19k4:{frequencies:[261.6255653006,272.52663052146,283.88190679319,295.71031957624,308.03158289191,314.31844786309,327.4150485592,341.05734286691,355.26806612985,370.07090075127,377.62397563434,393.35830866491,409.74823893478,426.8210805314,444.6052930255,453.67960031314,472.58291784883,492.27387080735,512.78528301977,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/4 kleisma"},temp19k5:{frequencies:[261.6255653006,272.27150423996,283.35064249518,294.88062803952,306.8797443789,314.24485853342,327.03195662575,340.33937954017,354.18830437416,368.6007608062,377.44717941318,392.80607455881,408.78994578219,425.42422593284,442.73537947933,453.36102900438,471.8089732132,491.00759210237,510.98743222773,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/5 kleisma"},temp19k6:{frequencies:[261.6255653006,272.10155294862,282.99701916355,294.32876096318,306.11424676116,314.19580976213,326.77681046955,339.86157848985,353.47028562902,367.62391141072,377.32935907335,392.4383479509,408.1523292189,424.49552853314,441.49314144476,453.14877154631,471.29371440761,490.16521545931,509.79236747994,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/6 kleisma"},temp19k7:{frequencies:[261.6255653006,271.9802243463,282.7447017667,293.93521741989,305.56863311614,314.16077935352,326.59468561952,339.52070304385,352.95830848174,366.92774752709,377.24522513926,392.17589782962,407.69749910471,423.83341578697,440.60837682578,452.99722066906,470.92601754108,489.56440442681,508.94046380742,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/7 kleisma"},temp19k8:{frequencies:[261.6255653006,271.88926339885,282.55561052465,293.64040364533,305.16005936662,314.13450956378,326.45815718343,339.26526937521,352.57481080357,366.4064920117,377.18213591051,391.97917444376,407.35670799125,423.33750965456,439.94524339387,452.88359011983,470.65043349884,489.11427877975,508.30246674991,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/8 kleisma"},temp19k9:{frequencies:[261.6255653006,271.81853598083,282.40862793607,293.41130980736,304.84265779003,314.11407882217,326.35200974457,339.06673262958,352.27682225125,366.00158141044,377.13307501509,391.82623534045,407.09184571451,422.95220417284,439.43048454013,452.79523167251,470.4362008006,488.76446469244,507.80680338678,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/9 kleisma"},temp19lst:{frequencies:[261.6255653006,270.56149416036,279.80263334807,289.3594074481,304.78245180412,315.19242188443,325.95794877725,337.09117667186,348.60466454729,360.5114003397,379.7268899367,392.69661814622,406.10933276067,419.98016416303,434.32475952075,449.15930043669,473.09978287909,489.25870067642,505.96953296163,523.2511306012],description:"Cycle of 19 least squares thirds 5/4^5 = 3/2"},temp19lst2:{frequencies:[261.6255653006,270.86681403244,280.43448605562,290.34011310859,303.98143643885,314.71879896063,325.83542931914,337.34472599098,349.26055890156,361.59728998429,378.58655645252,391.95915298383,405.80409975455,420.1380835834,434.97837844393,450.34287106955,471.50175486263,488.15634183652,505.39920634693,523.2511306012],description:"Cycle of 19 least squares thirds 5/4, 3/2 (5), 6/5 (4)"},temp21ebs:{frequencies:[261.6255653006,270.48603901573,279.57527100587,288.89916626223,298.46378542286,308.59004184051,318.97773454914,329.63361550747,340.56460989801,352.13747205507,364.00912264098,376.18727282918,388.67983604901,401.90596519454,415.47356606258,429.3914526989,443.66866815503,458.78424493347,474.29007331382,490.19622772738,506.51304733863,523.2511306012],description:"Cycle of 21 equal beating sevenths"},temp22ebf:{frequencies:[261.6255653006,269.81217946012,278.43675961795,287.52273893052,297.09479717246,306.30473778727,316.00739221221,326.22911792828,336.99768333647,347.35886661388,358.27435338478,369.77379349451,381.88843101834,394.65117841871,406.93109909525,419.8679691216,433.49693671533,447.85502662133,461.66993710068,476.2239184443,491.55650493929,507.70935693135,523.2511306012],description:"Cycle of 22 equal beating fifths"},temp22ebt:{frequencies:[261.6255653006,270.16401944699,278.90739732088,287.86061708193,297.02871287074,306.4168425362,316.03028815926,325.87445510174,336.54752540671,347.4767459334,358.66827061689,370.12838991426,381.86355177507,393.88036006393,406.18556836568,419.52690380046,433.1884314408,447.17783799964,461.50298590676,476.17193984405,491.19294816955,506.57446222015,523.2511306012],description:"Cycle of 22 equal beating thirds"},temp22fo2:{frequencies:[261.6255653006,269.97341665226,278.58762814388,287.47669703533,296.64939669548,306.114775449,315.88217199169,325.96122111215,336.36187067071,347.09438029185,358.16933884319,369.59767092309,381.39065611261,393.55992749281,406.11749146369,419.07573510033,432.44744798202,446.24582051114,460.48446638525,475.17743368268,490.33921589034,505.98477744485,522.12955176559],description:"Fifth beats twice opposite rate as octave"},temp23ebs:{frequencies:[261.6255653006,269.54528659271,277.75645349026,286.26979186473,295.09642104593,304.24787054065,313.41421505132,322.9178815064,332.77128133421,342.98728793362,353.5792427091,364.56098080918,375.56059498003,386.96499273375,398.78907363541,411.04828247111,423.75862731373,436.93671323096,450.13624919654,463.82153026575,478.01042762353,492.72147385367,507.97388874722,523.2511306012],description:"Cycle of 23 equal beating major sixths"},temp24ebaf:{frequencies:[261.6255653006,269.28287293678,277.23083697142,285.33112867981,293.73889258015,302.30779732819,311.20195864933,320.26658492056,329.67528611807,339.26431305611,349.21731641877,359.36108127338,369.88988063787,380.8183283077,391.95623237686,403.5169050439,415.29914897519,427.52862168357,439.9924847314,452.92944495636,466.1143590732,479.79973930305,493.74741628009,508.22451419243,523.2511306012],description:"Cycle of 24 equal beating 11/8's"},temp24ebf:{frequencies:[261.6255653006,269.29177952703,277.18807786937,285.37455545576,293.58315284916,302.20762754558,311.09098010692,320.17688686519,329.5354160273,339.23795459232,349.23174343306,359.45337270909,369.98176018664,380.89707445632,391.84186131702,403.3411703213,415.18563115404,427.4653330282,439.77824302677,452.71493931339,466.03998256716,479.66882917609,493.70667148145,508.26043277122,523.2511306012],description:"24-tone ET with 23 equal beatings fifths. Fifth on 17 slightly smaller."},temp25ebt:{frequencies:[261.6255653006,269.07040607882,276.69392272178,284.50040351526,292.49424189123,300.67993013952,309.06207502162,317.64539198503,326.43470939254,335.74076076764,345.27015661764,355.02825763358,365.02055286832,375.25266439783,385.73034580726,396.45949385543,407.44613828076,419.07870286007,430.99044652419,443.18807578441,455.67844358274,468.46858279232,481.56568677979,494.97711759939,508.71042703507,523.2511306012],description:"Cycle of 25 equal beating thirds"},temp26eb3:{frequencies:[261.6255653006,268.53506427639,276.23413316293,283.52944261778,291.01742029734,298.70315454572,307.26715974579,315.38204761281,323.71124866952,332.26042290088,341.78653782772,350.81307822085,360.07800843467,370.40166886388,380.18393134541,390.22454217496,400.5303243006,412.0137801623,422.89501338113,434.06361862988,445.5271853685,458.30072684004,470.40439262311,482.82771472967,495.57913524385,509.78770018956,523.2511306012],description:"Cycle of 26 fifths, 5/4 beats three times 3/2"},temp26ebf:{frequencies:[261.6255653006,268.42568455944,275.6873347244,283.44184249631,290.6057533496,298.25588724353,306.42524452376,315.14906491362,323.2084665433,331.81486605817,341.00539333861,350.8196903474,359.88651586494,369.56871668171,379.90806097321,389.45994242989,399.66012078319,410.55259814459,422.18435687733,432.93022440227,444.40542617247,456.65946119637,469.74519313893,481.83429211771,494.74389287961,508.52968420524,523.2511306012],description:"Cycle of 26 equal beating fifths"},temp26ebmt:{frequencies:[261.6255653006,268.65375733515,276.22103845862,283.50786797993,291.35362426947,298.90860888253,307.04308924768,315.80151824033,324.23534814673,333.31608510092,342.06028051348,351.47518831899,360.54116941247,370.30254728737,380.81265974123,390.93325547321,401.83014055422,412.32317421544,423.62106542614,434.50024245702,446.21389528982,458.82603004394,470.97074536855,484.04700949484,496.63864979835,510.1961187079,523.2511306012],description:"Cycle of 26 equal beating minor thirds"},temp26ebs:{frequencies:[261.6255653006,268.70854008298,275.97438147252,283.42781183148,291.07367309004,298.91693448926,307.01176285104,315.31558194419,323.83378869523,332.57191674,341.53564330438,350.78687613393,360.27695513986,370.01204624828,379.9984780646,390.24273934583,400.81557597059,411.66137956276,422.7871998129,434.200265189,445.90799193987,457.99123299379,470.38643795716,483.10166179174,496.14516363988,509.5254229925,523.2511306012],description:"Cycle of 26 equal beating sevenths"},temp27c8:{frequencies:[261.6255653006,268.8683660761,273.88218275531,281.46429379013,289.25630678777,297.26403435806,305.49344487497,313.95067836072,319.80518189674,328.65861797738,337.75715313333,347.10756874671,356.7168418477,363.36884069528,373.42828707985,383.76621672426,394.39034225616,405.30858212106,412.86671295557,424.29645219584,436.04260883433,448.1139452722,460.51946086698,473.26841152735,482.09384659572,495.44005640506,509.15574351714,523.2511306012],description:"Cycle of 27 fifths tempered by 1/8 of difference between augm. 2nd and 5/4"},temp27eb2:{frequencies:[261.6255653006,268.46319812592,275.47953375729,282.6792426258,290.06711722511,297.6480770209,305.21714541248,313.19405229436,321.37943712173,329.77875040935,338.39757940759,347.00289091411,356.07187808578,365.37788286775,374.92710181611,384.72589137834,394.78077412888,404.81988946592,415.39993259502,426.25648711974,437.39677971686,448.82822593369,460.24174609969,472.27024976331,484.61312060812,497.27857467888,510.27504274822,523.2511306012],description:"Cycle of 27 fourths, 5/4 beats twice 4/3"},temp28ebt:{frequencies:[261.6255653006,268.20719354764,274.94677993062,281.84811597329,288.91508487862,296.15166190523,303.56191452522,311.15001492268,318.92023016627,326.87692943437,335.10396312415,343.5284476344,352.15511767098,360.98882840285,370.03454814671,379.29736707683,388.78249121135,398.49525813745,408.44113355924,418.72492751128,429.25553103998,440.03886948281,451.08100913788,462.38815755283,473.96667987616,485.82308640697,497.96404651665,510.39638953936,523.2511306012],description:"Cycle of 28 equal beating thirds"},temp29c14:{frequencies:[261.6255653006,268.03384168485,274.59908446169,281.12309545065,288.00894581307,294.85155418799,302.07367045706,309.47268578827,316.82523654187,324.58557784847,332.29718551084,340.4364979057,348.77517523396,357.06148706459,365.80737813473,374.49834647311,383.67133729641,392.78672100419,402.40767098088,412.26427490957,422.0589810157,432.39692561869,442.66994710331,453.51274088813,464.62111626441,475.65973015548,487.31057837675,498.88825560972,511.10806227553,523.2511306012],description:"Cycle of 29 fifths 1/14 comma positive"},temp29ebf:{frequencies:[261.6255653006,267.97141371953,274.40384216744,281.08918054527,287.86573007783,294.90872015661,302.04780073409,309.28428172011,316.80528774769,324.42890571749,332.35226986162,340.383734589,348.52477529448,356.98590767403,365.56247629567,374.47626314535,383.51165984234,392.90231649713,402.42108995343,412.06973029551,422.09773822292,432.26256191617,442.8270465847,453.53566813958,464.39038927288,475.67189906986,487.10732348594,498.99237046175,511.03956815915,523.2511306012],description:"Cycle of 29 equal beating fifths"},temp29fo:{frequencies:[261.6255653006,267.94780983951,274.42283293416,281.05432651499,287.84607006616,294.80193939197,301.92589896847,309.2220107369,316.69443479624,324.34743177532,332.18536334326,340.21270232633,348.43402388135,356.85401564372,365.47747852664,374.30932945854,383.35460418662,392.61845788025,402.10617708826,411.82316930666,421.77497497272,431.96726840975,442.4058610624,453.0967048103,464.04589268124,475.25967298378,486.74443697706,498.50673304697,510.55326782272,522.89091000079],description:"Fifth beats with opposite equal rate as octave"},temp31c51:{frequencies:[261.6255653006,267.17944246504,273.80687224646,279.61933836952,286.55534345926,292.63843680803,298.85066583755,306.26370726525,312.76517639908,319.40466275447,327.32754956004,334.27616903285,342.56794607269,349.84009583671,357.26662128823,366.1286782788,373.90098334082,383.17565840352,391.30984260196,399.61670205031,409.52926208827,418.22288720188,428.59697681668,437.69538032917,446.98692528774,458.07451174337,467.79867446983,477.72926229583,489.57941763243,499.97237729845,512.37427391379,523.2511306012],description:"Cycle of 31 51/220-comma tempered fifths (twice diff. of 31-tET and 1/4-comma)"},temp31coh:{frequencies:[261.6255653006,267.17903658035,272.71444919697,278.8328003927,286.67318542907,292.31259119845,298.22448926086,305.9625493141,312.79375273624,319.37019903425,325.99008611032,333.53448283298,342.55073731576,349.35067604096,356.49690427728,365.94514964733,373.94225818849,381.74854907994,389.68867781295,401.66236977474,409.34549662494,417.52928752537,426.20510506248,437.61344561246,447.02040600938,456.30467151405,466.17931462488,479.8608061495,489.18804557359,499.02680928636,509.58872491278,523.2511306012],description:"Differential coherent 31-tone scale, interval=8, OdC, 2003"},temp31eb1:{frequencies:[261.6255653006,267.35556661283,273.21106374578,279.19480525048,287.36432599524,293.65804565963,300.08960744161,306.66203029506,313.37839929357,320.24186707858,327.25565533923,334.42305632458,341.74743438901,349.23222958864,356.8809512704,367.32364464292,375.36859607341,383.58974428421,391.99094825517,400.57615379751,409.34938620036,418.31476585427,427.47650107887,436.83889236244,446.40633438056,459.46863260649,469.5317006585,479.81516534138,490.32385367952,501.06269841655,512.03674033076,523.2511306012],description:"Cycle of 31 thirds, 3/2 beats equal 5/4. Third 1/18 synt. comma higher"},temp31eb1a:{frequencies:[261.6255653006,267.52830363402,273.56421824856,279.73631545395,286.19123047598,292.64821393201,299.25087842544,306.00251077972,312.90647197491,319.96619882071,327.18520755731,334.56708808783,342.11551697966,349.83425186023,357.90667665031,365.98168819447,374.23888853079,382.68238383924,391.31637942763,400.14517332125,409.17316051655,418.40483516889,427.84479530109,437.49773526159,447.36846272566,457.69148927209,468.01782376277,478.57713873597,489.37469064597,500.41585743254,511.7061296998,523.2511306012],description:"Cycle of 31 thirds, 5/4 beats equal 7/4"},temp31eb2:{frequencies:[261.6255653006,267.43633367564,273.37616065041,279.44791264824,286.8151286113,293.18536340431,299.69708268426,306.35342885652,313.15761412007,320.11292201761,327.22270902014,334.4904061467,341.91952062013,349.51363755953,357.2764217104,366.69546492458,374.83986170174,383.16514754137,391.67534003419,400.37454600262,409.26696348258,418.35688374945,427.64869338884,437.14687641357,446.85601642745,458.63669049374,468.82312458207,479.23580188553,489.87974732177,500.7600974131,511.88210276525,523.2511306012],description:"Cycle of 31 thirds, 3/2 beats twice 5/4"},temp31eb2a:{frequencies:[261.6255653006,267.30377559621,273.10522335955,279.03258328435,287.71713441117,293.9616250555,300.34164347605,306.86013111019,313.520093235,320.3246003528,327.27678960683,334.37986622751,341.63710501026,349.05185182525,356.62752721996,367.72712485201,375.70811839104,383.86232802855,392.19351543866,400.70551714108,409.40225971792,418.28775270674,427.36609266644,436.64146506587,446.11814621352,460.00303307438,469.98674378481,480.18713671772,490.60891465214,501.25688243424,512.13594919255,523.2511306012],description:"Cycle of 31 thirds, 5/4 beats twice 3/2"},temp31eb2b:{frequencies:[261.6255653006,267.52098517401,273.5492512983,279.71335720518,286.24081966732,292.69091492047,299.28635537219,306.03041620307,312.92644639599,319.97787039914,327.18818982659,334.56098519707,342.09991771207,349.80873107384,357.97195918064,366.0384300542,374.28666922186,382.72077261519,391.34492846269,400.16341936959,409.18062444454,418.40102147414,427.82918914659,437.46980932536,447.32766937413,457.76662230541,468.08184681118,478.62951259033,489.41485742956,500.44323714283,511.72012823096,523.2511306012],description:"Cycle of 31 thirds, 5/4 beats twice 7/4 (7/4 beats twice 5/4 gives 31-tET)"},temp31ebf:{frequencies:[261.6255653006,267.58895287558,273.47207673981,279.84020613447,286.1226232561,292.32048149598,299.02929415269,305.64780689513,312.81195283539,319.87967238294,326.85226402826,334.39967773649,341.84550545999,349.90516819854,357.85635261941,365.7005167875,374.19135817901,382.56791460144,390.83172556312,399.77680617055,408.60149248083,418.153686518,427.57731316062,436.87410111252,446.93731687602,456.86508723973,467.61130449655,478.21288647115,488.67177324268,499.99289085438,511.16163412976,523.2511306012],description:"Cycle of 31 equal beating fifths"},temp31ebf2:{frequencies:[261.6255653006,268.47208070676,273.9410776603,281.1098810272,286.83632036086,292.67941197057,300.33857976184,306.45672349367,312.69950064833,320.88257689406,327.41921873353,335.98749730659,342.8318387903,349.81560715632,358.96997989875,366.28249344322,375.86779039798,383.5245262314,391.33723606718,401.57819634767,409.75867428285,420.48170539436,429.04726334649,437.78730875453,449.24382765192,458.39529367535,467.73318258368,479.97335657757,489.75080836323,502.56716753771,512.80487382351,523.2511306012],description:"Cycle of 31 fifths, 3/2 beats equal 7/4"},temp31ebs:{frequencies:[261.6255653006,267.49970467488,273.5255021102,279.70687352555,286.04783307233,292.55250379055,299.22511217624,305.93841412724,312.82503848113,319.88946348152,327.13627425327,334.57018402367,342.19602042672,349.86836735032,357.73879552978,365.81242398075,374.09449397971,382.59039112658,391.30563169636,400.0740276901,409.06880268892,418.29580572823,427.76103041037,437.4706255228,447.4309015606,457.4519243295,467.73166961576,478.27681510244,489.09421437332,500.19089295757,511.57406697079,523.2511306012],description:"Cycle of 31 equal beating sevenths"},temp31ebs1:{frequencies:[261.6255653006,267.15774161678,272.80689957055,278.57550963341,287.00766304701,293.07655388437,299.27377555355,305.60203820353,312.06411627904,318.6628357552,328.30838543699,335.25059642555,342.33960321815,349.5785118895,356.97048813578,364.51877275634,375.55232561156,383.49353066309,391.60265342908,399.88324912115,408.33893898267,416.9734277591,429.59472356821,438.6786743379,447.954711436,457.42689142912,467.09936712211,476.97636845082,491.41388278482,501.80502418824,512.41589335668,523.2511306012],description:"Cycle of 31 sevenths, 3/2 beats equal 7/4. 17/9 schisma fifth"},temp31ebs2:{frequencies:[261.6255653006,267.52957387699,273.56681763873,279.74030009523,286.13080593576,292.58781532731,299.19053769144,305.94226304679,312.84635035505,319.90623967996,327.21431324819,334.59843914397,342.14920188821,349.87035796113,357.76575454309,365.83932576918,374.19671203989,382.64107477964,391.27599615891,400.10577865514,409.13482199124,418.3676180873,427.92498506647,437.58181190976,447.45656083737,457.55415226032,467.87960969795,478.43807796233,489.36771995709,500.41110255739,511.70370009509,523.2511306012],description:"Cycle of 31 sevenths, 3/2 beats twice 7/4. Almost 31-tET"},temp31ebsi:{frequencies:[261.6255653006,267.31506098272,273.2139312212,279.32987994092,285.67089487749,292.24525964349,299.06156112772,306.12870201667,312.71376833043,319.5411631371,326.61980701828,333.95894503443,341.56816427739,349.45740040562,357.63696227352,366.11753111539,374.01961057916,382.2124855973,390.7068565555,399.51382386635,408.64488423766,418.11197066674,427.92744450622,438.10412760018,447.58662182594,457.41807184609,467.61131789159,478.17967690081,489.136951815,500.49745466086,512.27602199232,523.2511306012],description:"Cycle of 31 equal beating major sixths"},temp31ebt:{frequencies:[261.6255653006,267.508686718,273.53300221315,279.70190221389,286.0188552526,292.48741633838,299.11122072338,305.89399777728,312.83956126154,319.95181832117,327.23477005018,334.588671338,342.11906613961,349.83019225353,357.72638299858,365.81208378543,374.09184045976,382.57031224079,391.25226584136,400.14258695229,409.24627647794,418.43865241641,427.85164834976,437.49055334209,447.36079317794,457.46791872903,467.81761394993,478.41570188597,489.26814549043,500.38104816704,511.76065992154,523.2511306012],description:"Cycle of 31 equal beating thirds"},temp31g3:{frequencies:[261.6255653006,266.21023205793,270.87523947024,275.62199471997,289.25983723073,294.32876096318,299.48651076576,304.73464409936,310.07474405997,315.5084236529,331.11985608357,336.92232427465,342.82647426905,348.83408706747,354.94697625466,361.16698614085,379.03761443004,385.6797831671,392.4383479509,399.31534788729,406.31285900225,413.43299207996,433.88975562921,441.49314144476,449.22976592409,457.10196592055,465.11211608996,473.26263524279,496.67978412536,505.38348615935,514.23971114652,523.2511306012],description:"Wonder Scale, cycle of 31 sevenths tempered by 1/3 gamelan residue, s.wonder1"},temp31g4:{frequencies:[261.6255653006,266.75106828164,271.97698492363,277.30528403104,287.97116616014,293.61280545832,299.36497003718,305.22982618403,311.20958045219,317.30648321666,329.51091606373,335.96636137331,342.54827390456,349.25913259695,356.10146388137,363.07784268567,377.0427625798,384.42940207435,391.96075366681,399.63965159508,407.46898671086,415.4517078616,431.43106138252,439.88322158593,448.50096908674,457.28754710584,466.24626137824,475.38048570318,493.66485502092,503.33623955776,513.19709315346,523.2511306012],description:"Cycle of 31 sevenths tempered by 1/4 gamelan residue"},temp31g5:{frequencies:[261.6255653006,267.07609791103,272.64018328418,278.3201871026,287.20071989568,293.1840695693,299.2920706603,305.52732176658,311.89247392994,318.39023342226,328.54930692245,335.39408374843,342.38146206091,349.5144087687,356.79595852417,364.22920722399,375.85089312601,383.68111960674,391.67447579625,399.83436022994,408.16424460367,416.66766586736,429.96253800336,438.92009035289,448.06425836543,457.39892986705,466.92807368021,476.65574406444,491.86469103391,502.11187209711,512.57253609913,523.2511306012],description:"Cycle of 31 sevenths tempered by 1/5 gamelan residue"},temp31g6:{frequencies:[261.6255653006,267.29300481931,273.08321314304,278.9988528944,286.68823620156,292.89859205665,299.24348036203,305.72581270733,312.34856974117,319.11478979112,327.9097940226,335.01310892782,342.27029731995,349.68469585889,357.2597060542,364.99881126821,375.05840734677,383.18307527508,391.48374080678,399.96422099622,408.62840644009,417.48028065389,428.98629965513,438.27917301224,447.77335490729,457.47320099372,467.3831713443,477.50781354513,490.66822826519,501.2972832058,512.15658610391,523.2511306012],description:"Cycle of 31 sevenths tempered by 1/6 gamelan residue"},temp31g7:{frequencies:[261.6255653006,267.44804485495,273.40010374961,279.48462577409,286.32273545638,292.69485077785,299.20877758909,305.86767190621,312.6747599825,319.63333987564,327.45376040978,334.74124806474,342.19091885571,349.80638115363,357.59132564064,365.54952414453,374.49336901227,382.82772265927,391.34755742947,400.0570012071,408.96027492626,418.06169111145,428.2903432132,437.821949061,447.565680886,457.52625955954,467.70851101039,478.11736856842,489.81539667363,500.71624319167,511.85968815724,523.2511306012],description:"Cycle of 31 sevenths tempered by 1/7 gamelan residue"},temp31h10:{frequencies:[261.6255653006,267.8597617245,273.71072489962,279.68949451567,286.35413084244,292.60907359238,299.00064605783,306.12544311476,312.81225819702,320.26616683613,327.26186315247,334.41036913783,342.37893460431,349.85764856047,358.19430059608,366.01847563765,374.01355928612,382.92581520849,391.29021017831,400.61414686654,409.36491649663,418.30683086326,428.27453775026,437.62950220286,447.18881072031,457.84473927605,467.84561789912,478.99376955124,489.45661357347,500.14800438647,512.06587983104,523.2511306012],description:"Cycle of 31 fifths tempered by 1/10 Harrison's comma"},temp31h11:{frequencies:[261.6255653006,269.21878403965,274.22153683641,279.31725480271,287.42394184039,292.76499331753,298.20529308835,306.86017365004,312.56239683413,321.63396690808,327.61072570921,333.69854562169,343.38355445704,349.7644731902,359.91576765193,366.60389537541,373.41630725864,384.25405432087,391.39444778107,402.75397853578,410.23814647641,417.86138882164,429.98907567166,437.9793418028,446.11808436842,459.06587176894,467.59645436585,481.16761342105,490.10890120058,499.21634316923,513.70521350358,523.2511306012],description:"Cycle of 31 fifths tempered by 1/11 Harrison's comma"},temp31h12:{frequencies:[261.6255653006,270.35656674398,274.64794212014,279.0074329748,288.31850430385,292.89498819461,297.54411640065,307.47379627264,312.35433239663,322.77826253379,327.90172667751,333.10651564349,344.2229903876,349.68684701428,361.35664068489,367.0924599966,372.91932620731,385.3644371109,391.48133253101,404.54589939324,410.96726244836,417.49055189439,431.4231018689,438.27108715714,445.22777061734,460.08596806997,467.38892215786,482.98668436162,490.65313915878,498.44128370652,515.07533168556,523.2511306012],description:"Cycle of 31 fifths tempered by 1/12 Harrison's comma"},temp31h8:{frequencies:[261.6255653006,264.15772162327,272.31089540773,280.71571360382,283.4326348965,292.18072491748,301.19882119914,304.11398928909,313.50040506268,316.53463456122,326.30440921209,336.37572681506,339.63135730234,350.11400731728,353.50260556257,364.41338872146,375.66093089504,379.29678648678,391.00370158472,394.788050771,406.97310157871,419.5342415638,423.59472503043,436.668886633,450.14658206855,454.50334862767,468.53149836075,473.06620699858,487.66729542944,502.71904336675,507.58463809481,523.2511306012],description:"Cycle of 31 fifths tempered by 1/8 Harrison's comma"},temp31h9:{frequencies:[261.6255653006,266.20804854623,273.08769296879,280.14512719472,285.05198845745,292.41861893027,299.97562432697,305.22982618403,313.11791376428,318.60230743232,326.83598255713,335.28243953396,341.15505431438,349.97156260351,356.10146388137,365.30423365264,374.74482972428,381.30864508241,391.16284711627,398.01423104415,408.30015740759,418.85190169901,426.18827121524,437.20230245522,448.50096908674,456.35665612784,468.15032961482,476.35018210031,488.66055322307,501.28905975035,510.06935121341,523.2511306012],description:"Cycle of 31 fifths tempered by 1/9 Harrison's comma"},temp31ms:{frequencies:[261.6255653006,267.90457886781,273.56603860918,280.13162379381,286.05147140959,292.91670530125,299.10673210371,306.2852939563,312.75782903301,320.26401722477,327.03195662575,334.88072358477,341.95754947331,350.16453098318,357.56433846376,366.14588292411,373.88341429498,382.85661659068,390.94728541851,400.33002063726,408.78994578219,418.60090448096,427.44693588739,437.70566275183,446.9554220819,457.68235263341,467.35426952494,478.57076966998,488.68410850494,500.41252756995,510.98743222773,523.2511306012],description:"Cycle of 31 5th root of 5/4 chromatic semitones"},temp31mt:{frequencies:[261.6255653006,267.90457886781,274.33428876064,280.9183116909,285.65057792122,292.50627485027,299.52642572255,306.71505845072,314.07622014281,319.36714514233,327.03195662575,334.88072358477,342.9178609508,351.14788961362,359.57543896435,365.63273925968,374.40803131735,383.39382442208,392.5952765698,402.01756125559,408.78994578219,418.60090448096,428.6473261885,438.93486201703,449.46929870544,457.04092569426,468.01003810189,479.24227945773,490.7440946167,502.52195335034,510.98743222773,523.2511306012],description:"Cycle of 31 square root of 5/4 meantones"},temp31to:{frequencies:[261.6255653006,267.53589118464,273.57973594714,279.76011588387,286.08011543105,292.54288870475,299.15166280294,305.90973254237,312.82047235615,319.88733118052,327.11383586587,334.50359293692,342.06029039257,349.78769954651,357.68967690936,365.77016611333,374.03319988033,382.48290424395,391.12349182016,399.95927701915,408.9946695077,418.23417857039,427.68241536008,437.34409519915,447.22403993284,457.32718033558,467.65855857191,478.22333071276,489.02676930874,500.07426891005,511.37133726836,522.92361522538],description:"Third beats with opposite equal rate as octave"},temp31w10:{frequencies:[261.6255653006,267.37376533775,273.24825962152,279.25182297475,287.24047076273,293.55146000581,300.00110689476,306.59245933664,313.32863150945,320.21280450383,327.24823031411,334.4382321302,341.78620813039,349.29562523194,356.97015906904,367.18199034811,375.24938058245,383.49402021056,391.91980359563,400.53071066429,409.33081115087,418.32425711308,427.51529892703,436.90827798988,446.50763144636,459.28102021135,469.37192694062,479.68454193593,490.22373920221,500.99449133668,512.00188868489,523.2511306012],description:"Cycle of 31 thirds tempered by 1/10 Wuerschmidt comma"},temp31w11:{frequencies:[261.6255653006,267.42197848694,273.34681181717,279.40291364591,286.91265577589,293.26931399985,299.76680465545,306.40825140143,313.19684009872,320.13583435099,327.22856275086,334.47843511672,341.88893114233,349.46360748692,357.20610515709,366.80702823839,374.93377645155,383.2405741708,391.73141324262,400.41036830387,409.28161120445,418.34939984118,427.61808628905,437.09212645494,446.77606497733,458.78443573652,468.94897543376,479.33871705477,489.95864449434,500.81386326642,511.90958055231,523.2511306012],description:"Cycle of 31 thirds tempered by 1/11 Wuerschmidt comma"},temp31w12:{frequencies:[261.6255653006,267.46216197987,273.42896553533,279.52888390694,286.63976159726,293.03439921138,299.57169286871,306.25482853931,313.08705807777,320.0717057658,327.2121755928,334.51194000906,341.9745565771,349.60365642833,357.40295156876,366.49485373999,374.67097398132,383.02949720151,391.57448819698,400.31011139524,409.24061734241,418.37035125513,427.70376253715,437.24539007841,446.99988402026,458.37102198078,468.59680699416,479.0507177135,489.73784363297,500.66339010461,511.83267129957,523.2511306012],description:"Cycle of 31 thirds tempered by 1/12 Wuerschmidt comma"},temp31w13:{frequencies:[261.6255653006,267.49616787535,273.49850059869,279.63551774138,286.40905375482,292.83577174957,299.40669857094,306.12507001426,312.99419468163,320.01745343487,327.19830857776,334.54029455907,342.04702698539,349.72220057363,357.56974544479,366.23091133098,374.44874787361,382.85098402684,391.44175752404,400.22529663315,409.2059314354,418.38808223908,427.77627085136,437.37511801764,447.18935574711,458.02150335998,468.29902426597,478.80716193382,489.55109116118,500.53609997149,511.7676037195,523.2511306012],description:"Cycle of 31 thirds tempered by 1/13 Wuerschmidt comma"},temp31w14:{frequencies:[261.6255653006,267.52531966849,273.55811412425,279.72695193191,286.21145362846,292.66562728487,299.26534666214,306.01389218024,312.91461811683,319.97095981222,327.18642276261,334.56459899164,342.10915585471,349.82384327668,357.71250180664,366.00482869479,374.25837321367,382.69803863807,391.32802257119,400.15261355898,409.17620468607,418.4030501472,427.83842920638,437.48634583318,447.35182400506,457.72212848121,468.04393370572,478.5984967348,489.39107187298,500.42702361787,511.71183724724,523.2511306012],description:"Cycle of 31 thirds tempered by 1/14 Wuerschmidt comma"},temp31w15:{frequencies:[261.6255653006,267.55058630145,273.60979095449,279.80621811014,286.0403087015,292.51824916652,299.142895223,305.91756930507,312.84566908988,319.93066920159,327.176122954,334.58566413263,342.16300881716,349.91195724514,357.83639571789,365.80900091179,374.09345893182,382.56553686518,391.22947931103,400.08963362509,409.15044340767,418.41645289306,427.89230922859,437.58276480531,447.49267964143,457.46282942114,467.82296651709,478.41773025336,489.25243249537,500.33250769337,511.66351279634,523.2511306012],description:"Cycle of 31 thirds tempered by 1/15 Wuerschmidt comma, almost 31-tET"},temp31w8:{frequencies:[261.6255653006,267.24122592191,272.97742543896,278.83674800471,288.14389744169,294.32876096318,300.64638059818,307.09960331181,313.69134300364,320.42456924675,327.30232268102,334.32770172848,341.50387698892,348.83408706747,356.32163474066,368.21511264804,376.11866406852,384.19186344763,392.4383479509,400.86184099795,409.46613795376,418.25512179799,427.23275920923,436.40309460541,445.77026919414,460.64940473745,470.53701427025,480.63685362987,490.95348377613,501.49155234204,512.25581818623,523.2511306012],description:"Cycle of 31 thirds tempered by 1/8 Wuerschmidt comma"},temp31w9:{frequencies:[261.6255653006,267.31485098896,273.12785536516,279.06726965397,287.64164332106,293.89667226994,300.28772424256,306.81775371411,313.48978461115,320.30690488373,327.27226963218,334.38910256736,341.66069947616,349.09042189481,356.68171037974,367.64079770339,375.63548096925,383.80401588848,392.15018302326,400.67784514756,409.39095139962,418.29352970104,427.38970265849,436.68368016368,446.1797636563,459.88868900496,469.88938665048,480.10755840871,490.54793493862,501.21534712998,512.11473036853,523.2511306012],description:"Cycle of 31 thirds tempered by 1/9 Wuerschmidt comma"},temp32ebf:{frequencies:[261.6255653006,266.99024669658,272.64192755012,278.59596223891,284.86852586219,291.47665855944,298.4383110444,304.47357861204,310.83171904039,317.53000821614,324.58664278196,332.02079024875,339.85265231199,346.64232633314,353.79523650997,361.33080945807,369.26952339658,377.6329406438,386.44378308989,395.72598875513,403.77301123196,412.25053247262,421.18158418009,430.59042797451,440.50262726312,450.945108697,459.9980085603,469.53522100534,479.58265227668,490.16760508681,501.31882698223,513.0666164148,523.2511306012],description:"Cycle of 32 equal beating fifths"},temp33a12:{frequencies:[261.6255653006,266.94139439278,272.36523138282,277.89927397158,284.73748648557,290.5229142688,296.42589304627,302.44880952638,308.5941041528,316.1876182869,322.61206437627,329.16704532903,335.85521147284,342.67927280589,351.11151394887,358.24555988319,365.52455654698,372.95145333883,382.12859604556,389.89286138208,397.81488464837,405.89786889835,414.14508930077,424.3358756666,432.95772800787,441.75476312782,450.73053786756,459.88868900496,471.20507923536,480.77924170569,490.54793493862,500.51511311891,512.83118959171,523.2511306012],description:'Cycle of 33 fifths tempered by 1/12 "11 fifths" comma'},temp34eb2a:{frequencies:[261.6255653006,267.30377714022,273.10522651459,279.03258811962,285.08859470169,291.27603831759,293.96161656556,300.34163653669,306.86012579271,313.52008961307,320.32459850253,327.27678960683,334.37986815896,341.63710895701,349.05185787385,356.62753339984,364.36762821878,372.27571081823,375.70810971034,383.86232137672,392.19350864246,400.70551251195,409.40225735312,418.28775270674,427.36609513501,436.64147011015,446.11815394416,455.80051576031,465.69301950749,469.98673021106,480.18712562304,490.60890615053,501.2568766435,512.13594623433,523.2511306012],description:"Cycle of 34 thirds, 5/4 beats twice 3/2"},temp34ebsi:{frequencies:[261.6255653006,266.99788221884,272.57696520339,278.14698300137,283.93137567849,289.70637009331,295.70363067102,301.69114426564,307.90910207865,314.36637542255,320.81315450625,327.50805511637,334.19207543599,341.13334896852,348.06334108321,355.26005273528,362.44506998142,369.90662102486,377.65534755435,385.39148338011,393.42536256589,401.44618836017,409.77571602141,418.09170597447,426.72775997548,435.3497813463,444.30364141769,453.60211446558,462.88547695756,472.52613162558,482.15112257833,492.14655599832,502.125745683,512.48900933996,523.2511306012],description:"Cycle of 34 equal beating major sixths"},temp34ebt:{frequencies:[261.6255653006,266.93199967636,272.36578831151,277.92998813547,283.62773001764,289.46221547291,295.43672985114,301.55463262869,307.81936583026,314.23445063866,320.80349820247,327.5302045997,334.16324661664,340.95548417522,347.91073392156,355.03290870525,362.32601803901,369.79415983503,377.44153922514,385.2724539348,393.29131162714,401.50262139782,409.91100286066,418.20230551726,426.69260242977,435.3866631899,444.28938530291,453.40576935587,462.74094691381,472.3001707563,482.08881469934,492.11238732973,502.37652397446,512.8870010249,523.2511306012],description:"Cycle of 34 equal beating thirds"},temp34w10:{frequencies:[261.6255653006,267.37376533775,273.24825962152,279.25182297475,281.06516151868,287.24047076273,293.55146000581,300.00110689476,306.59245933664,313.32863150945,320.21280450383,327.24823031411,334.4382321302,341.78620813039,349.29562523194,351.5637974276,359.28803828513,367.18199034811,375.24938058245,383.49402021056,391.91980359563,400.53071066429,409.33081115087,418.32425711308,427.51529892703,436.90827798988,446.50763144636,449.40705529895,459.28102021135,469.37192694062,479.68454193593,490.22373920221,500.99449133668,512.00188868489,523.2511306012],description:"Cycle of 34 thirds tempered by 1/10 Wuerschmidt comma"},temp34w5:{frequencies:[261.6255653006,266.84400329087,272.16653090376,277.59522118835,285.18293865736,290.87125860088,296.67303727804,302.5905394405,308.62607485572,314.78199505921,321.06070411799,327.46464776022,333.99632772474,340.65828815182,347.45313114562,356.95032497057,364.07013256472,371.33195122039,378.73861781039,386.29301712643,393.99809806388,401.85686830172,409.8723892274,418.04779164423,426.38625992488,434.89105154177,443.56547936435,455.68978545099,464.77906877635,474.04965097839,483.50514461458,493.14924173292,502.98569917153,513.01835960126,523.2511306012],description:"Cycle of 34 thirds tempered by 1/5 Wuerschmidt comma"},temp34w6:{frequencies:[261.6255653006,267.02047390967,272.52663052146,278.06968704778,283.80368699438,289.65592453275,295.6288411546,301.72492193478,307.94670831505,314.29679425134,320.77782174252,327.39249271371,334.14356492035,341.03384719449,348.06621207862,355.14570764395,362.46906930947,369.94344613252,377.57194788125,385.35775486011,393.30411308867,401.41432870635,409.69178284295,418.13992649314,426.76227456772,435.56242170336,444.42154779224,453.58584388327,462.93911228358,472.48525217168,482.22824196207,492.17213857029,502.32108537715,512.67931193931,523.2511306012],description:"Cycle of 34 thirds tempered by 1/6 Wuerschmidt comma"},temp34w7:{frequencies:[261.6255653006,267.14659557842,272.78413659373,276.97759061533,282.82259314675,288.79093992594,294.88523549471,301.10813946365,307.46236235072,313.95067836072,320.57591524951,327.34096447962,334.24877325582,341.30235609413,348.50479124753,353.86228320674,361.3297679824,368.9548354601,376.74081403286,384.69109896591,392.80915578714,401.0985286019,409.56282802254,418.20574780595,427.03105980737,436.04260883433,442.74580331919,452.08897683944,461.62931955889,471.37098776125,481.31823237599,491.47539447856,501.84689823661,512.43727265667,523.2511306012],description:"Cycle of 34 thirds tempered by 1/7 Wuerschmidt comma"},temp34w8:{frequencies:[261.6255653006,267.24122592191,272.97742543896,276.16133434798,282.08899791039,288.14389744169,294.32876096318,300.64638059818,307.09960331181,313.69134300364,320.42456924675,327.30232268102,334.32770172848,341.50387698892,348.83408706747,352.90276052629,360.47764004221,368.21511264804,376.11866406852,384.19186344763,392.4383479509,400.86184099795,409.46613795376,418.25512179799,427.23275920923,436.40309460541,441.49314144476,450.96957067185,460.64940473745,470.53701427025,480.63685362987,490.95348377613,501.49155234204,512.25581818623,523.2511306012],description:"Cycle of 34 thirds tempered by 1/8 Wuerschmidt comma"},temp34w9:{frequencies:[261.6255653006,267.31485098896,273.12785536516,279.06726965397,281.5197407082,287.64164332106,293.89667226994,300.28772424256,306.81775371411,313.48978461115,320.30690488373,327.27226963218,334.38910256736,341.66069947616,349.09042189481,352.15826244648,359.81626391233,367.64079770339,375.63548096925,383.80401588848,392.15018302326,400.67784514756,409.39095139962,418.29352970104,427.38970265849,436.68368016368,440.52130132575,450.10083737825,459.88868900496,469.88938665048,480.10755840871,490.54793493862,501.21534712998,512.11473036853,523.2511306012],description:"Cycle of 34 thirds tempered by 1/9 Wuerschmidt comma"},temp35ebsi:{frequencies:[261.6255653006,266.57889315685,271.71450319234,277.03910343536,282.55964921963,288.28335166643,294.21768457231,300.3704033182,306.74954035112,312.48255822683,318.42655208483,324.58928450704,330.97880464114,337.6034601246,344.47190142434,351.59310182482,358.97636423712,366.63132974323,373.51095055492,380.64374131787,388.03901984907,395.70644562254,403.65603146762,411.89816253905,420.4436041444,429.30351656419,438.48947534443,446.74502047858,455.30437022365,464.17870575399,473.37961532931,482.91911915131,492.80967579032,503.06420520117,513.69610107468,523.2511306012],description:"Cycle of 35 equal beating major sixths"},temp37ebs:{frequencies:[261.6255653006,266.54882370674,271.76117582243,276.81154351547,282.15846820925,287.3392230449,292.82419544994,298.13870690002,303.76528724985,309.7222634282,315.49411047005,321.60488016898,327.52574544851,333.79428377068,339.86801168664,346.29839044807,353.1063601343,359.70275861181,366.68649693083,373.45319917734,380.61724149647,387.55864668979,394.907650003,402.68818871569,410.22692643911,418.2083422233,425.94171605945,434.12919568644,442.06222705415,450.46108885682,459.35313199837,467.96883572953,477.09045247204,485.92859505436,495.28571063961,504.35203618851,513.95073426779,523.2511306012],description:"Cycle of 37 equal beating sevenths"},temp37ebt:{frequencies:[261.6255653006,266.44794669373,271.38606435347,276.44269655507,281.62068893017,286.92295259461,292.35247205526,297.91229840101,303.60556084342,309.43546158348,315.40528084,321.51837488336,327.7781831369,333.8061589736,339.9788066307,346.29959662983,352.77208770341,359.39991652139,366.18681567584,373.13659908053,380.25317623321,387.54055229398,395.00282568127,402.64419215928,410.46895395112,418.00392297279,425.71973353547,433.62072344005,441.71133574434,449.99612361773,458.47974493329,467.16697490003,476.06269518051,485.17191513214,494.49975815874,504.05146656861,513.83241864047,523.2511306012],description:"Cycle of 37 equal beating thirds"},temp3ebt:{frequencies:[261.6255653006,330.24866439584,416.02753826489,523.2511306012],description:"Cycle of 3 equal beating thirds"},temp4ebmt:{frequencies:[261.6255653006,310.36356181711,368.84915763691,439.03187262068,523.2511306012],description:"Cycle of 4 equal beating minor thirds"},temp4ebsi:{frequencies:[261.6255653006,310.92686529443,370.08842528703,441.08229727815,523.2511306012],description:"Cycle of 4 equal beating major sixths"},temp53ebs:{frequencies:[261.6255653006,264.97369574946,268.51842903659,272.2713107977,275.7058824095,279.342132921,283.19190440533,286.71515038985,290.44528277978,294.39444663109,298.00865518834,301.83509073593,305.88621462445,310.17522146598,314.10044576101,318.25616227247,322.65590013911,326.68246801001,330.94547393755,335.45880590636,339.58933056423,343.96239778214,348.59225483118,353.4939765515,357.97994689961,362.72933676467,367.75761084241,372.35940104854,377.23140801172,382.38950169412,387.11009989437,392.10789272021,397.3991578827,403.00112480292,408.12795020911,413.55582307376,419.3024201087,424.56160969567,430.12961973912,436.02458225248,441.41955172249,447.13131541518,453.17847579573,459.58072182695,465.43995070361,471.64323472325,478.21077610462,484.22127701861,490.5847168482,497.32181757346,503.48749858841,510.01522804676,516.92626488088,523.2511306012],description:"Cycle of 53 equal beating harmonic sevenths"},temp53ebsi:{frequencies:[261.6255653006,265.08815342092,268.54511416675,272.14096825888,275.73097879106,279.31515577755,283.04333763043,286.76545980208,290.48153462492,294.34691329876,298.20601137227,302.05883614112,306.06646174912,310.06757319581,314.22944103195,318.38454699407,322.53289853772,326.84792360782,331.1559371129,335.45694960827,339.93076775401,344.39731584765,348.85660497561,353.49505873963,358.12597594237,362.74936749482,367.55851619873,372.35985057275,377.35409330215,382.34021841275,387.3182413058,392.49627136254,397.66588656991,402.8271015422,408.19568270781,413.55554119639,418.90668980097,424.47283359145,430.02993471298,435.57800299537,441.34898312942,447.11058430799,453.10367443873,459.08702461554,465.06065502782,471.27428848056,477.47782740925,483.67128540638,490.11358366391,496.54541154487,502.96678854317,509.64616466331,516.31468511822,523.2511306012],description:"Cycle of 53 equal beating major sixths"},temp53ebt:{frequencies:[261.6255653006,265.06408390481,268.61942739596,272.14046995187,275.78114176924,279.3866896354,283.11473715719,286.8068186786,290.62433945466,294.40503066492,298.31417332138,302.18560037327,306.18856199636,310.15290198883,314.25193588094,318.31142144389,322.50883104059,326.66574402863,330.9638909587,335.40807143415,339.80937339101,344.36021509659,348.86714800611,353.52720940583,358.14231011275,362.91421253104,367.64007568808,372.5265022753,377.36578530136,382.3694885676,387.32491504393,392.44870495902,397.52306357866,402.76982394565,407.96596497751,413.33865052838,418.89387526617,424.39550434456,430.08405345947,435.71772111176,441.54279782575,447.31167294612,453.27655186057,459.18388087721,465.29191391782,471.34101945319,477.59564801313,483.78993007475,490.19466758193,496.53761595054,503.09606844751,509.59124455492,516.30709807412,523.2511306012],description:"Cycle of 53 equal beating thirds"},temp57ebs:{frequencies:[261.6255653006,264.8277951114,268.04955507264,271.33445958124,274.63939933433,278.00911284632,281.39937814535,284.85609135359,288.33388628378,291.8798428433,295.4474281527,299.08493440323,302.74462553584,306.42663750246,310.18081323211,313.95788745209,317.80898926922,321.68357852782,325.63410692083,329.60872876069,333.66125215256,337.73849074816,341.89564167341,346.07814569972,350.28615866377,354.57664765081,358.89330206442,363.2945606359,367.72266219717,372.23755268366,376.77997919433,381.41143316036,386.07113633698,390.82216502962,395.60217018381,400.41132814233,405.3147417445,410.24806349136,415.27807310888,420.33876095689,425.4986359826,430.68997922537,435.98307052812,441.30844296951,446.73819252663,452.20105472878,457.69723413281,463.30113726238,468.93921588924,474.68780077646,480.47144432851,486.36844238798,492.30140788993,498.35065469266,504.4367956254,510.6422225112,516.88549425379,523.2511306012],description:"Cycle of 57 equal beating harmonic sevenths"},temp59ebt:{frequencies:[261.6255653006,264.71774803536,267.84005552541,271.00645194849,274.20369404321,277.44608402629,280.72006081878,284.04026812198,287.39281927261,290.79271098314,294.22572486522,297.70721418515,301.22261902261,304.78766466692,308.38743972219,312.03804524126,315.72421513091,319.46243532331,323.23707283878,327.06501147453,330.93024062011,334.83312418563,338.79111909993,342.78767359614,346.84065928187,350.93313112856,355.08338946648,359.27407840069,363.52394351295,367.81521017702,372.16707169716,376.56132871014,381.01763522853,385.51735474883,390.08061088885,394.68832388107,399.36109834092,404.07939600279,408.86431870994,413.69585627072,418.57446131049,423.52195428502,428.51764625978,433.58387848862,438.69946807471,443.88729218006,449.12565432864,454.4379830027,459.80206875391,465.24189440938,470.73471441434,476.30509804765,481.92974808423,487.63381799831,493.39345924022,499.23442935246,505.13230099895,511.11345315981,517.15287439575,523.2511306012],description:"Cycle of 59 equal beating thirds"},temp5ebf:{frequencies:[261.6255653006,300.99242152138,345.28013476976,397.76927639746,456.81956072863,523.2511306012],description:"Cycle of 5 equal beating fifths"},temp5ebs:{frequencies:[261.6255653006,300.72264357012,345.40501873528,396.4705903526,454.83124362955,523.2511306012],description:"Cycle of 5 equal beating harmonic sevenths"},temp6:{frequencies:[261.6255653006,292.50629174609,327.17562781541,373.91502405318,418.23333786749,467.5991148023,523.2511306012],description:"Tempered wholetone scale with approximations to 5/4 (4), 7/5 (4) and 7/4 (1)"},temp65ebf:{frequencies:[261.6255653006,264.41601755103,267.24454169377,270.11165630441,273.01788702098,275.96376822181,278.903505094,281.88335012505,284.90384796088,287.96555727487,291.06903608099,294.16604397209,297.30530343106,300.48739162418,303.71289539257,306.98240612292,310.29652144782,313.60372560746,316.95605020285,320.35411162765,323.7985328567,327.28994911888,330.77408078649,334.30574717623,337.88559766085,341.51429052286,345.19248907458,348.92086961342,352.64147345074,356.41283883338,360.23565716142,364.11063345825,368.0384739541,371.95812372083,375.93124824951,379.95858022583,384.04085801267,388.17883226226,392.30817269042,396.49385281186,400.73664000181,405.03730976228,409.39665754461,413.81548025993,418.22508312451,422.69484912531,427.22559773342,431.81816208034,436.47338166162,441.11888946365,445.82778005125,450.60091414809,455.43916939942,460.34343547357,465.31460883154,470.27541574397,475.30390033467,480.4009926512,485.56762723834,490.80474851567,496.03094699932,501.32844669322,506.69822455894,512.14126217109,517.65855736571,523.2511306012],description:"Cycle of 65 equal beating fifths"},temp65ebt:{frequencies:[261.6255653006,264.43406811535,267.2034679247,270.07937559507,272.91523803531,275.86016780291,278.76409255008,281.77970028627,284.75331888701,287.84130158502,290.886287826,294.04838131756,297.16644728835,300.4044304772,303.59732911309,306.91302510559,310.18255295306,313.57782661988,316.92582314139,320.40258196387,323.83093239735,327.39113302053,330.90176198948,334.36350914498,337.95839429282,341.50322405771,345.18438591943,348.81429298672,352.58380229516,356.30082494405,360.1608038988,363.96703524466,367.91965255368,371.81723365001,375.86471396542,379.85583700975,384.00045811272,388.08736764479,392.33145942297,396.5164558179,400.86240365726,405.1478399234,409.59809307723,413.98637838791,418.31356254814,422.80716945583,427.23820566351,431.83965831621,436.37704077554,441.08892851835,445.73520856761,450.56017999004,455.31796985254,460.25874195194,465.13071889642,470.19006822446,475.1789734801,480.35974823468,485.46838574269,490.77349931217,496.0047455553,501.43718079349,506.7939752079,512.35679191473,517.84214996629,523.2511306012],description:"Cycle of 65 equal beating thirds"},temp6eb2:{frequencies:[261.6255653006,293.46010680596,329.2739659995,369.56455759223,414.89147313404,465.88425311859,523.2511306012],description:"Cycle of 6 equal beating 9/8 seconds"},temp6s:{frequencies:[261.6255653006,271.93638072959,309.96730300827,353.31693843766,402.72911708552,459.05170412301,523.2511306012],description:"Cycle of 6 tempered harmonic sevenths, 6/5 and 4/3 minimax, Op de Coul, 2002"},temp6teb:{frequencies:[261.6255653006,314.31996068356,377.55323514312,453.43316449459,544.48907971635,653.75617798246,784.8766959018],description:"Cycle of 6 equal beating 6/5's in a twelfth"},"temp7-5ebf":{frequencies:[261.6255653006,272.53310095338,288.29512120063,313.54121701986,318.29837158817,352.05202827415,359.67534615791,387.61143614087,414.35283422339,427.61576999092,475.86500581459,472.62064557223,523.2511306012],description:"7 equal beating fifths on white, 5 equal beating fifths on black"},temp7ebf:{frequencies:[261.6255653006,288.29512120063,318.29837158817,352.05202827415,387.61143614087,427.61576999092,472.62064557223,523.2511306012],description:"Cycle of 7 equal beating fifths"},temp7ebnt:{frequencies:[261.6255653006,288.84289825546,318.65722544634,351.9228541964,388.36258888271,429.02057812008,473.55803233064,523.2511306012],description:"Cycle of 7 equal beating 11/9 neutral thirds"},temp8eb3q:{frequencies:[261.6255653006,285.27029088455,311.06453578321,339.20371183191,369.9009952302,403.38894083349,439.92124473489,479.77466958441,523.2511306012],description:`Cycle of 8 equal "beating" 12/11's`},temp9ebmt:{frequencies:[261.6255653006,282.57058469242,305.18178513943,329.6176429161,355.99737593287,384.50587463168,415.28223014648,448.54214811156,484.4478959333,523.2511306012],description:"Cycle of 9 equal beating 7/6 septimal minor thirds"},tenney_11:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,457.84473927605,523.2511306012],description:`Scale of James Tenney's "Spectrum II" for wind quintet`},tertiadia:{frequencies:[261.6255653006,279.06726965397,297.67175429757,306.59245933664,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,431.14564594215,459.88868900496,490.54793493862,523.2511306012],description:"Tertiadia 2048/2025 and 262144/253125 scale"},tertiadie:{frequencies:[261.6255653006,279.06726965397,297.67175429757,306.59245933664,327.03195662575,348.83408706747,372.08969287196,383.2405741708,408.78994578219,436.04260883433,476.27480687611,490.54793493862,523.2511306012],description:"First Tertiadie 262144/253125 and 128/125 scale"},tet3a:{frequencies:[261.6255653006,280.31310567921,313.95067836072,336.37572681506,366.27579142084,392.4383479509,418.60090448096,448.50096908674,523.2511306012],description:"Eight notes, two major one minor tetrad"},tetracot:{frequencies:[261.6255653006,266.81074454173,272.09868928948,277.49143626213,289.66902367154,295.4099985897,301.26475437609,307.23554606336,320.71844041089,327.07478634962,333.55710924695,340.16790585091,355.09602205939,362.13370020095,369.31085868177,376.6302618745,393.15851224787,400.95055410677,408.89702710335,417.00099192139,435.30089370336,443.92815899023,452.72640877864,461.69903182491,481.96048707062,491.51250279099,501.25383072009,523.2511306012],description:"tetracot temperament, g=176.28227, 5-limit"},"tetragam-di":{frequencies:[261.6255653006,279.06726965397,290.69507255622,290.69507255622,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,436.04260883433,457.84473927605,523.2511306012],description:"Tetragam Dia2"},"tetragam-enh":{frequencies:[261.6255653006,271.31540105247,279.06726965397,279.06726965397,327.03195662575,348.83408706747,366.27579142084,392.4383479509,406.97310157871,418.60090448096,418.60090448096,457.84473927605,523.2511306012],description:"Tetragam Enharm."},"tetragam-hex":{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,327.03195662575,343.38355445704,381.53728273004,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Tetragam/Hexgam"},"tetragam-py":{frequencies:[261.6255653006,275.62199471997,294.32876096318,294.32876096318,331.11985608357,348.83408706747,372.50983809402,392.4383479509,413.43299207996,441.49314144476,441.49314144476,465.11211608996,523.2511306012],description:"Tetragam Pyth."},"tetragam-slpe":{frequencies:[261.6255653006,261.6255653006,300.52885648597,300.52885648597,279.06726965397,345.21700307457,348.83408706747,396.55020354877,455.51656649021,392.4383479509,455.51656649021,418.60090448096,523.2511306012],description:"Tetragam Slendro as 5-tET, Pelog-like pitches on C# E F# A B"},"tetragam-slpe2":{frequencies:[261.6255653006,261.6255653006,300.52885648597,300.52885648597,286.29520819723,345.21700307457,313.29104303136,396.55020354877,396.55020354877,387.04559340587,455.51656649021,423.54155496477,523.2511306012],description:"Tetragam Slendro as 5-tET, Pelog-like pitches on C# E F# A B"},"tetragam-sp":{frequencies:[261.6255653006,271.31540105247,271.31540105247,271.31540105247,336.37572681506,348.83408706747,366.27579142084,392.4383479509,406.97310157871,406.97310157871,406.97310157871,457.84473927605,523.2511306012],description:"Tetragam Septimal"},"tetragam-un":{frequencies:[261.6255653006,269.80136421624,285.40970760065,285.40970760065,319.76457981184,348.83408706747,359.73515228832,392.4383479509,404.70204632437,428.11456140098,428.11456140098,479.64686971777,523.2511306012],description:"Tetragam Undecimal"},tetragam13:{frequencies:[261.6255653006,275.95382006469,307.00724256551,307.00724256551,341.55514486295,341.55514486295,400.80167111126,400.80167111126,445.90437572008,445.90437572008,445.90437572008,496.08254310677,523.2511306012],description:"Tetragam (13-tET)"},tetragam5:{frequencies:[261.6255653006,300.52885648597,300.52885648597,300.52885648597,300.52885648597,345.21700307457,345.21700307457,396.55020354877,455.51656649021,455.51656649021,455.51656649021,455.51656649021,523.2511306012],description:"Tetragam (5-tET)"},tetragam7:{frequencies:[261.6255653006,288.85811466493,288.85811466493,288.85811466493,318.92511007349,352.12195684808,352.12195684808,388.77403176757,429.24143792307,429.24143792307,429.24143792307,473.92081401802,523.2511306012],description:"Tetragam (7-tET)"},tetragam8:{frequencies:[261.6255653006,285.30470202322,311.12698372208,311.12698372208,339.28638158975,339.28638158975,403.48177901006,403.48177901006,440,440,440,440,523.2511306012],description:"Tetragam (8-tET)"},tetragam9a:{frequencies:[261.6255653006,282.57118533961,305.19387818096,305.19387818096,329.62755691287,356.01738450312,415.30469757995,415.30469757995,448.55379686399,448.55379686399,448.55379686399,484.46508327871,523.2511306012],description:"Tetragam (9-tET) A"},tetragam9b:{frequencies:[261.6255653006,282.57118533961,282.57118533961,282.57118533961,305.19387818096,305.19387818096,384.52019141924,384.52019141924,415.30469757995,415.30469757995,415.30469757995,448.55379686399,523.2511306012],description:"Tetragam (9-tET) B"},tetraphonic_31:{frequencies:[261.6255653006,266.96486255163,272.52663052146,278.32506946872,284.37561445717,290.69507255622,297.30177875068,304.21577360535,311.45900631024,319.05556743976,327.03195662575,333.99008336247,341.25073734861,348.83408706747,356.76213450082,365.05892832642,373.75080757229,382.86668092771,392.4383479509,400.61414686654,409.13785211902,418.03215325205,427.32175665765,437.0336147635,447.19718719986,457.84473927605,467.58611670746,477.75103228805,488.36772189445,499.46698830115,511.08249965699,523.2511306012],description:"31-tone Tetraphonic Cycle, conjunctive form on 5/4, 6/5, 7/6 and 8/7"},tetratriad:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"4:5:6 Tetratriadic scale"},tetratriad1:{frequencies:[261.6255653006,290.69507255622,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"3:5:9 Tetratriadic scale"},tetratriad2:{frequencies:[261.6255653006,296.75121990114,305.22982618403,356.10146388137,373.75080757229,415.4517078616,436.04260883433,448.50096908674,508.71637697339,523.2511306012],description:"3:5:7 Tetratriadic scale"},thailand:{frequencies:[261.6255653006,281.86483947605,307.02089761314,350.84574289301,397.92692612688,408.40584780369,474.03826620294,539.82938999168],description:"Observed ranat tuning from Thailand, Helmholtz/Ellis p. 518, nr.85"},thailand2:{frequencies:[261.6255653006,293.66476791741,318.39923223688,356.77227917518,391.76907592069,435.19747628762,477.88722128969,525.37110555681],description:"Observed ranat t'hong tuning, Helmholtz/Ellis p. 518"},thailand3:{frequencies:[261.6255653006,293.32570896007,322.47117131255,354.92237405774,396.55020354877,437.46578647972,488.21056770985,538.58355905405],description:"Observed tak'hay tuning. Helmholtz, p. 518"},thailand4:{frequencies:[261.6255653006,281.88044777549,304.38587215019,332.5176539627,392.71966479735,416.35036198375,461.923848369,523.2511306012,563.76089555097,608.77174430039,665.59794246809,786.00196746963,831.57545378481,924.97296635309,1046.5022612024,1127.52179110194],description:"Khong mon (bronze percussion vessels) tuning, Gemeentemuseum Den Haag 1/1=465"},thirds:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,454.2110508691,502.32108537715,523.2511306012],description:"Major and minor thirds parallellogram"},thomas:{frequencies:[261.6255653006,280.80530480292,294.66217084622,313.95044496966,332.05645032639,350.21604710412,374.62015588545,391.99543598175,420.73257541073,441.99197952365,468.79922683914,499.49209883845,523.2511306012],description:"Tuning of the Thomas/Philpott organ, Gereformeerde Kerk, St. Jansklooster"},tiby1:{frequencies:[261.6255653006,295.66718139806,337.56154978455,348.04364484358,393.32961502355,444.50800708553,507.49227916989,523.2511306012],description:"Tiby's 1st Byzantine Liturgical genus, 12 + 13 + 3 parts"},tiby2:{frequencies:[261.6255653006,295.66718139806,311.12698372208,348.04364484358,393.32961502355,444.50800708553,467.75037672729,523.2511306012],description:"Tiby's second Byzantine Liturgical genus, 12 + 5 + 11 parts"},tiby3:{frequencies:[261.6255653006,295.66718139806,324.07484847125,348.04364484358,393.32961502355,444.50800708553,487.21628271135,523.2511306012],description:"Tiby's third Byzantine Liturgical genus, 12 + 9 + 7 parts"},tiby4:{frequencies:[261.6255653006,286.76251801126,324.07484847125,348.04364484358,393.32961502355,431.12067692221,487.21628271135,523.2511306012],description:"Tiby's fourth Byzantine Liturgical genus, 9 + 12 + 7 parts"},todi_av:{frequencies:[261.6255653006,276.38325105256,310.05056613125,371.27895029721,392.44854854484,413.39000965417,495.88429116026,523.2511306012],description:"Average of 8 interpretations of raga Todi, in B. Bel, 1988."},tonos15_pis:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,383.71749577421,442.75095666255,479.64686971777,523.2511306012,548.16785110602,575.57624366132,639.52915962369,719.47030457665,767.43499154843,885.50191332511,959.29373943553,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-15"},tonos17_pis:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,369.35373924791,418.60090448096,483.00104363188,523.2511306012,546.00117975777,570.81941520131,627.90135672144,697.66817413493,738.70747849581,784.8766959018,897.00193817349,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-17"},tonos19_pis:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,385.55346465352,406.97310157871,457.84473927605,523.2511306012,542.63080210495,563.50121757052,610.45965236807,665.95598440153,771.10692930703,813.94620315742,915.6894785521,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-19"},tonos21_pis:{frequencies:[261.6255653006,299.00064605783,322.00069575458,348.83408706747,398.6675280771,440.63253103259,465.11211608996,523.2511306012,558.13453930795,598.00129211566,644.00139150917,697.66817413493,797.33505615421,881.26506206518,930.22423217991,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-21"},tonos23_pis:{frequencies:[261.6255653006,294.32876096318,336.37572681506,362.25078272391,409.50088481833,448.50096908674,470.92601754108,523.2511306012,554.03060887186,588.65752192635,672.75145363011,724.50156544782,819.00176963666,897.00193817349,941.85203508216,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-23"},tonos25_pis:{frequencies:[261.6255653006,294.32876096318,336.37572681506,362.25078272391,376.74081403286,428.11456140098,470.92601754108,523.2511306012,554.03060887186,588.65752192635,672.75145363011,724.50156544782,753.48162806573,856.22912280196,941.85203508216,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-25"},tonos27_pis:{frequencies:[261.6255653006,290.69507255622,327.03195662575,373.75080757229,387.59343007496,436.04260883433,498.33441009638,523.2511306012,550.79066379074,581.39014511244,654.0639132515,747.50161514457,775.18686014993,872.08521766867,996.66882019276,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-27"},tonos29_pis:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,396.94913355953,442.75095666255,479.64686971777,523.2511306012,548.16785110602,575.57624366132,639.52915962369,719.47030457665,793.89826711906,885.50191332511,959.29373943553,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-29"},tonos31_pis:{frequencies:[261.6255653006,273.51763645063,300.86940009569,334.29933343966,388.21858076863,429.81342870813,462.87600014722,501.44900015948,523.2511306012,547.03527290125,601.73880019138,668.59866687931,776.43716153726,859.62685741626,925.75200029443,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-31"},tonos31_pis2:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,405.0976494977,448.50096908674,483.00104363188,523.2511306012,546.00117975777,570.81941520131,627.90135672144,697.66817413493,810.19529899541,897.00193817349,966.00208726375,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-31B"},tonos33_pis:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012,546.00117975777,570.81941520131,627.90135672144,697.66817413493,761.09255360175,837.20180896192,930.22423217991,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-33"},top31:{frequencies:[261.6255653006,267.49189720203,273.48976766293,279.62212612306,285.89198815637,292.30243695391,298.85662483994,305.55777482212,312.40918217641,319.41421606749,326.57632120555,333.89901954025,341.38591199258,349.04068022565,358.99452880887,367.04412845091,375.2742212459,383.6888543241,392.29216556304,401.08838562235,410.08184002413,419.27695128006,428.67824106611,438.29033244612,448.11795214515,458.16593287385,468.4392157049,478.94285250284,489.68200840824,500.66196437769,511.88811978069,523.36599505479],description:"Top temperament, 11-limit, {225/224, 385/384, 1331/1323}, Gene Ward Smith"},trab19:{frequencies:[261.6255653006,279.06726965397,294.32876096318,297.67175429757,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,367.91095120397,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,459.88868900496,465.11211608996,490.54793493862,523.2511306012],description:"Diamond {1,3,5,45,75,225}"},trab19a:{frequencies:[261.6255653006,279.06726965397,294.32876096318,297.67175429757,306.59245933664,313.95067836072,327.03195662575,344.91651675372,348.83408706747,367.91095120397,372.08969287196,392.4383479509,396.89567239676,418.60090448096,436.04260883433,446.50763144636,459.88868900496,465.11211608996,490.54793493862,523.2511306012],description:"Diamond {1,3,9,15,675}"},tranh:{frequencies:[261.6255653006,290.69507255622,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"Bac Dan Tranh scale, Vietnam"},tranh2:{frequencies:[261.6255653006,290.69507255622,307.79478270659,392.4383479509,436.04260883433,523.2511306012],description:"Dan Ca Dan Tranh Scale"},tranh3:{frequencies:[261.6255653006,317.68818643644,348.83408706747,392.4383479509,473.41768959156,476.53227965466,523.2511306012],description:"Sa Mac Dan Tranh scale"},"tri12-1":{frequencies:[261.6255653006,264.29521392612,275.21650375777,319.76457981184,323.02748368748,332.97799220076,336.37572681506,406.97310157871,411.12588832951,428.11456140098,432.48307733364,502.48719684718,523.2511306012],description:"12-tone Tritriadic of 7:9:11"},"tri12-2":{frequencies:[261.6255653006,294.32876096318,305.22982618403,336.37572681506,348.83408706747,356.10146388137,392.4383479509,406.97310157871,448.50096908674,457.84473927605,474.80195184183,504.56359022259,523.2511306012],description:"12-tone Tritriadic of 6:7:9"},"tri19-1":{frequencies:[261.6255653006,266.96486255163,269.10058145205,305.22982618403,311.45900631024,313.95067836072,320.35783506196,356.10146388137,363.36884069528,366.27579142084,373.75080757229,376.74081403286,384.42940207435,427.32175665765,436.04260883433,439.53094970501,448.50096908674,508.71637697339,512.78610798918,523.2511306012],description:"3:5:7 Tritriadic 19-Tone Matrix"},"tri19-2":{frequencies:[261.6255653006,282.55561052465,290.69507255622,294.32876096318,313.95067836072,322.99452506247,327.03195662575,348.83408706747,353.19451315581,363.36884069528,376.74081403286,387.59343007496,392.4383479509,418.60090448096,423.83341578697,436.04260883433,465.11211608996,470.92601754108,484.4917875937,523.2511306012],description:"3:5:9 Tritriadic 19-Tone Matrix"},"tri19-3":{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"4:5:6 Tritriadic 19-Tone Matrix"},"tri19-4":{frequencies:[261.6255653006,264.89588486686,290.69507255622,294.32876096318,322.99452506247,327.03195662575,331.11985608357,334.88072358477,363.36884069528,367.91095120397,372.08969287196,376.74081403286,408.78994578219,413.43299207996,418.60090448096,423.83341578697,465.11211608996,470.92601754108,516.79124009995,523.2511306012],description:"4:5:9 Tritriadic 19-Tone Matrix"},"tri19-5":{frequencies:[261.6255653006,266.96486255163,284.8811711051,290.69507255622,302.73815413355,316.53463456122,322.99452506247,329.64821227876,336.37572681506,366.27579142084,373.75080757229,406.97310157871,415.27867508032,423.83341578697,432.48307733364,452.19233508746,470.92601754108,480.53675259294,512.78610798918,523.2511306012],description:"5:7:9 Tritriadic 19-Tone Matrix"},"tri19-6":{frequencies:[261.6255653006,267.07609791103,294.32876096318,299.00064605783,305.22982618403,336.37572681506,341.71502406609,343.38355445704,348.83408706747,356.10146388137,384.42940207435,392.4383479509,398.6675280771,400.61414686654,406.97310157871,448.50096908674,457.84473927605,465.11211608996,512.57253609913,523.2511306012],description:"6:7:8 Tritriadic 19-Tone Matrix"},"tri19-7":{frequencies:[261.6255653006,271.31540105247,288.32205155576,294.32876096318,299.00064605783,305.22982618403,316.53463456122,336.37572681506,348.83408706747,356.10146388137,384.42940207435,392.4383479509,406.97310157871,432.48307733364,448.50096908674,457.84473927605,465.11211608996,474.80195184183,504.56359022259,523.2511306012],description:"6:7:9 Tritriadic 19-Tone Matrix"},"tri19-8":{frequencies:[261.6255653006,264.29521392612,272.43653907335,275.21650375777,316.53463456122,319.76457981184,323.02748368748,332.97799220076,336.37572681506,350.27555023717,390.82337532559,406.97310157871,411.12588832951,423.79017189188,428.11456140098,432.48307733364,497.4115685962,502.48719684718,517.96576564563,523.2511306012],description:"7:9:11 Tritriadic 19-Tone Matrix"},"tri19-9":{frequencies:[261.6255653006,266.96486255163,286.15296204753,293.02063313667,299.00064605783,320.49131749323,327.03195662575,334.88072358477,341.71502406609,366.27579142084,373.75080757229,400.61414686654,408.78994578219,418.60090448096,427.14378008261,457.84473927605,467.18850946536,478.40103369253,512.78610798918,523.2511306012],description:"4:5:7 Tritriadic 19-Tone Matrix"},triang11:{frequencies:[261.6255653006,294.32876096318,305.22982618403,313.95067836072,327.03195662575,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,418.60090448096,436.04260883433,448.50096908674,465.11211608996,523.2511306012],description:"11-limit triangular diamond lattice with 64/63 intervals removed"},triaphonic_12:{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,327.03195662575,348.83408706747,367.19377586049,387.59343007496,410.39304360878,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"12-tone Triaphonic Cycle, conjunctive form on 4/3, 5/4 and 6/5"},triaphonic_17:{frequencies:[261.6255653006,271.31540105247,281.75060878526,293.02063313667,305.22982618403,318.50068819203,332.97799220076,348.83408706747,361.75386806997,375.66747838035,390.69417751556,406.97310157871,422.62591317789,439.53094970501,457.84473927605,477.75103228805,499.46698830115,523.2511306012],description:"17-tone Triaphonic Cycle, conjunctive form on 4/3, 7/6 and 9/7"},trichord7:{frequencies:[261.6255653006,294.32876096318,305.22982618403,327.03195662575,343.38355445704,348.83408706747,392.4383479509,436.04260883433,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Trichordal undecatonic, 7-limit"},tricot:{frequencies:[261.6255653006,264.94025538413,268.70564228797,272.11003565477,275.55755973666,279.4738436282,283.01466417842,286.6003471482,290.673570175,294.35628843049,298.08566525814,302.32211998602,306.15242072385,310.03124984507,314.43747949204,318.42127516569,322.45554578164,327.03835025925,331.18179578139,335.37773516927,339.62683737367,344.45368576554,348.81777463097,353.23715677741,358.25743790514,362.79641682209,367.39290067029,372.61436622199,377.33523951767,382.11592657559,387.54663888312,392.45669803325,397.4289679423,403.0773124301,408.18413893183,413.35566924724,419.23036738005,424.541846554,429.92062250389,436.03074525334,441.55507841911,447.14940523431,453.50438708518,459.25010687752,465.06861996272,470.9608512551,477.65424916833,483.70593529179,489.8342966599,496.79592520903,503.09012862502,509.46407999504,516.70469117363,523.2511306012],description:"Tricot temperament, g=565.988015, 5-limit"},tritriad:{frequencies:[261.6255653006,294.32876096318,313.95067836072,348.83408706747,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Tritriadic scale of the 10:12:15 triad, natural minor mode"},tritriad10:{frequencies:[261.6255653006,274.70684356563,294.32876096318,348.83408706747,366.27579142084,392.4383479509,488.36772189445,523.2511306012],description:"Tritriadic scale of the 10:14:15 triad"},tritriad11:{frequencies:[261.6255653006,309.19384990071,356.76213450082,383.71749577421,421.62797713733,453.48431318771,486.49381977384,523.2511306012],description:"Tritriadic scale of the 11:13:15 triad"},tritriad13:{frequencies:[261.6255653006,294.32876096318,340.11323489078,348.83408706747,392.4383479509,453.48431318771,510.16985233617,523.2511306012],description:"Tritriadic scale of the 10:13:15 triad"},tritriad14:{frequencies:[261.6255653006,294.32876096318,336.37572681506,348.83408706747,392.4383479509,448.50096908674,504.56359022259,523.2511306012],description:"Tritriadic scale of the 14:18:21 triad"},tritriad18:{frequencies:[261.6255653006,294.32876096318,319.76457981184,348.83408706747,392.4383479509,426.35277308246,479.64686971777,523.2511306012],description:"Tritriadic scale of the 18:22:27 triad"},tritriad22:{frequencies:[261.6255653006,294.32876096318,321.08592105074,348.83408706747,392.4383479509,428.11456140098,481.6288815761,523.2511306012],description:"Tritriadic scale of the 22:27:33 triad"},tritriad26:{frequencies:[261.6255653006,294.32876096318,301.87565226992,348.83408706747,392.4383479509,402.50086969323,452.81347840488,523.2511306012],description:"Tritriadic scale of the 26:30:39 triad"},tritriad3:{frequencies:[261.6255653006,305.22982618403,356.10146388137,373.75080757229,436.04260883433,448.50096908674,508.71637697339,523.2511306012],description:"Tritriadic scale of the 3:5:7 triad. Possibly Mathews's 3.5.7a"},tritriad32:{frequencies:[261.6255653006,294.32876096318,322.00069575458,348.83408706747,392.4383479509,429.33426100611,483.00104363188,523.2511306012],description:"Tritriadic scale of the 26:32:39 triad"},tritriad3c:{frequencies:[261.6255653006,305.22982618403,366.27579142084,373.75080757229,427.32175665765,436.04260883433,512.78610798918,523.2511306012],description:"From 1/1 7/6 7/5, a variant of the 3.5.7 triad"},tritriad3d:{frequencies:[261.6255653006,305.22982618403,313.95067836072,363.36884069528,366.27579142084,436.04260883433,508.71637697339,523.2511306012],description:"From 1/1 7/6 5/3, a variant of the 3.5.7 triad"},tritriad5:{frequencies:[261.6255653006,290.69507255622,329.64821227876,366.27579142084,406.97310157871,423.83341578697,470.92601754108,523.2511306012],description:"Tritriadic scale of the 5:7:9 triad. Possibly Mathews's 5.7.9a."},tritriad68:{frequencies:[261.6255653006,305.22982618403,348.83408706747,392.4383479509,406.97310157871,457.84473927605,465.11211608996,523.2511306012],description:"Tritriadic scale of the 6:7:8 triad"},tritriad68i:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,398.6675280771,448.50096908674,465.11211608996,523.2511306012],description:"Tritriadic scale of the subharmonic 6:7:8 triad"},tritriad69:{frequencies:[261.6255653006,294.32876096318,305.22982618403,348.83408706747,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"Tritriadic scale of the 6:7:9 triad, septimal natural minor"},tritriad7:{frequencies:[261.6255653006,264.29521392612,323.02748368748,332.97799220076,336.37572681506,411.12588832951,428.11456140098,523.2511306012],description:"Tritriadic scale of the 7:9:11 triad"},tritriad9:{frequencies:[261.6255653006,272.93037367779,319.76457981184,362.25078272391,377.90359432309,442.75095666255,461.88217083933,523.2511306012],description:"Tritriadic scale of the 9:11:13 triad"},tsjerepnin:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,367.91095120397,392.4383479509,418.60090448096,470.92601754108,490.54793493862,523.2511306012],description:"Scale from Ivan Tsjerepnin's Santur Opera (1977) & suite from it Santur Live!"},tsuda13:{frequencies:[261.6255653006,281.75060878526,283.42769574232,322.00069575458,340.11323489078,362.25078272391,377.90359432309,402.50086969323,425.14154361347,442.75095666255,485.87604984397,518.26778650024,523.2511306012],description:"Mayumi Tsuda's Harmonic-13 scale. 1/1=440 Hz."},tuneable3:{frequencies:[36.70809598968,41.95210970249,42.82611198796,43.59086398774,44.04971518762,44.86545065405,45.8851199871,46.71939489596,47.1961234153,47.72052478658,48.94412798624,49.55592958607,50.47363198581,51.39133438555,52.00313598538,52.44013712811,53.02280531843,53.39359416681,55.06214398452,57.10148265061,57.68415084093,58.73295358349,59.65065598323,61.1801599828,62.40376318246,62.92816455374,64.23916798194,66.07457278142,66.74199270851,67.29817598108,68.17217826655,68.82767998065,70.35718398022,73.41619197936,79.53420797764,80.7578111773,82.59321597678,85.65222397592,87.18172797549,88.09943037523,89.14823311779,89.73090130811,90.10169015649,91.7702399742,94.39224683061,95.44104957317,96.35875197291,97.88825597248,100.94726397162,102.7826687711,104.00627197076,104.88027425623,105.53577597033,110.12428796904,114.20296530123,114.71279996775,115.36830168185,116.24230396732,117.46590716698,119.30131196646,120.61231539466,122.3603199656,123.88982396517,124.80752636491,125.85632910747,128.47833596388,132.14914556285,134.59635196216,137.6553599613,139.49076476078,140.71436796044,141.58837024591,146.83238395872,152.950399957,154.17400315666,156.00940795614,159.06841595528,161.51562235459,165.18643195356,168.85724155253,171.30444795184,174.36345595098,176.19886075046,183.5404799484,190.88209914634,192.71750394582,195.77651194496,201.89452794324,205.56533754221,208.01254394152,211.07155194066,220.24857593808,229.4255999355,232.48460793464,238.60262393292,244.7206399312,247.77964793034,256.95667192776,269.19270392432,275.3107199226,281.42873592088,293.66476791744],description:"Marc Sabat, 3 octaves of intervals tuneable by ear"},tuners1:{frequencies:[261.6255653006,276.50456653385,293.15590636358,311.0676370396,328.627540632,349.28088891463,369.11955599459,391.76814585061,414.75684959346,439.06365754828,466.60145532616,492.6062100846,523.2511306012],description:"The Tuner's Guide well temperament no. 1 (1840)"},tuners2:{frequencies:[261.6255653006,276.9861853325,293.55936848273,311.27971878774,329.48489606404,349.42029142443,369.90111701824,391.99869425741,415.03962525779,439.89939957166,466.4799232208,493.78769382322,523.2511306012],description:"The Tuner's Guide well temperament no. 2 (1840)"},tuners3:{frequencies:[261.6255653006,276.9180796764,293.64050032496,311.25753558078,329.38199580693,349.20116137147,369.59117881045,391.8877401954,415.37711930697,439.91014033466,466.33569310799,493.52238512763,523.2511306012],description:"The Tuner's Guide well temperament no. 3 (1840)"},turkish:{frequencies:[261.6255653006,279.06726965397,327.03195662575,348.83408706747,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:"Turkish, 5-limit from Palmer on a Turkish music record, harmonic minor inverse"},turkish_24:{frequencies:[261.6255653006,275.62199471997,279.38237857051,290.36720431405,294.32876096318,310.07474405997,314.30517589183,326.6631048533,331.11985608357,344.13890881665,348.83408706747,367.49599295996,372.50983809402,387.15627241873,392.4383479509,413.43299207996,419.07356785577,435.55080647107,441.49314144476,458.8518784222,465.11211608996,489.99465727995,496.67978412536,516.20836322497,523.2511306012],description:"Ra'uf Yekta, 24-tone Pythagorean Turkish Theoretical Gamut, 1/1=D (perde yegah) at 294 Hz"},turkish_24a:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,344.52749339997,348.83408706747,367.91095120397,372.08969287196,387.59343007496,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,459.36999119996,465.11211608996,490.54793493862,496.67978412536,516.79124009995,523.2511306012],description:"Turkish gamut with schismatic simplifications"},turkish_41:{frequencies:[261.6255653006,266.80864394988,272.09440643071,275.67629620338,281.13773466533,286.70737164501,290.48162858661,294.30556868769,300.13607443832,306.08208692954,310.11139540064,316.25503135793,322.52037740267,326.76608188608,333.2396629384,339.84149442859,344.31521657963,348.8478314504,355.75887527351,362.80683626646,367.58287746967,374.8650823332,382.29155536296,387.32409620162,392.42288612931,400.19720009986,408.12552912594,413.49815209867,421.6899870258,430.04411333507,435.70527569249,441.44096240275,450.1863739015,459.10504388656,465.14876849982,474.36385666592,483.76150545705,490.12981126508,499.83980314828,509.74215733443,516.45247616827,523.2511306012],description:"Abd\xEF\xBF\xBDlkadir T\xEF\xBF\xBDre and M. Ekrem Karadeniz theoretical Turkish gamut"},turkish_41a:{frequencies:[261.6255653006,268.5590565112,272.09440643071,275.67629620338,279.3053384865,286.70737164501,290.48162858661,294.30556868769,298.17984938441,306.08208692954,310.11139540064,314.19374626607,322.52037740267,326.76608188608,335.42589979828,339.84149442859,344.31521657963,348.8478314504,353.4401143131,362.80683626646,367.58287746967,377.32440283229,382.29155536296,387.32409620162,392.42288612931,402.82271318249,408.12552912594,413.49815209867,424.45650702809,430.04411333507,435.70527569249,441.44096240275,453.1398459935,459.10504388656,465.14876849982,477.47594368525,483.76150545705,490.12981126508,503.11902634639,509.74215733443,516.45247616827,523.2511306012],description:"Karadeniz's theoretical Turkish gamut, quantized to subset of 53-tET"},turkish_aeu:{frequencies:[261.6255653006,275.62199471997,279.38237857051,290.36720431405,294.32876096318,310.07474405997,314.30517589183,326.6631048533,331.11985608357,348.83408706747,353.59332287831,367.49599295996,372.50983809402,387.15627241873,392.4383479509,413.43299207996,419.07356785577,435.55080647107,441.49314144476,465.11211608996,471.45776383774,489.99465727995,496.67978412536,516.20836322497,523.2511306012],description:"Arel-Ezgi-Uzdilek (AEU) 24 tone theoretical system"},turkish_bagl:{frequencies:[261.6255653006,277.01530443593,285.40970760065,294.32876096318,311.64221749042,321.08592105074,331.11985608357,348.83408706747,369.35373924791,380.54627680087,392.4383479509,415.52295665389,428.11456140098,441.49314144476,465.11211608996,492.47165233054,507.3950357345,523.2511306012],description:'Ratios of the 17 frets on the neck of "Baglama" ("saz") according to Yal\xEF\xBF\xBD\xEF\xBF\xBDn Tura'},two29:{frequencies:[261.6255653006,265.43099677612,267.95417262175,271.85165581044,274.43586616969,278.42762776199,281.0743490329,285.16266958193,287.87341387594,292.06062910037,294.83694510625,299.12544722478,301.96892109338,306.36116019141,309.2734164419,313.77190187131,316.75460431924,321.36190613206,324.41675883995,329.13550925662,332.26425750751,337.09715242073,340.3015837153,345.25138423021,348.53332930799,353.60286331966,356.96419720496,362.15636101402,365.59900408717,370.91676405444,374.44268531179,379.88907958456,383.50028913155,389.07842928561,392.77699240278,398.49006531303,402.2780950448,408.12936467525,412.00902517967,418.00183444819,421.97534223334,428.1131149215,432.1827401118,438.46898282094,442.63705045414,449.07535460876,453.34424596425,459.9382898638,464.31044382305,471.06399474345,475.54190918343,482.45882552933,487.04505874954,494.12929225872,498.82646444278,506.0820624438,510.89285715645,518.32396488098,523.2511306012],description:"Two 29-tET scales 25 cents shifted, many near just intervals"},two29a:{frequencies:[261.6255653006,264.02813680074,267.95417262175,270.41486126945,274.43586616969,276.95607779319,281.0743490329,283.65552346679,287.87341387594,290.51702578379,294.83694510625,297.54450482308,301.96892109338,304.74197548856,309.2734164419,312.11354980287,316.75460431924,319.66343925668,324.41675883995,327.39595721478,332.26425750751,335.31552138031,340.3015837153,343.42665631876,348.53332930799,351.73399604284,356.96419720496,360.24228665998,365.59900408717,368.95638908389,374.44268531179,377.88128181162,383.50028913155,387.02206376789,392.77699240278,396.38395721814,402.2780950448,405.97231075214,412.00902517967,415.79260233969,421.97534223334,425.85044246025,432.1827401118,436.15157730833,442.63705045414,446.70189207635,453.34424596425,457.50741431695,464.31044382305,468.5743173866,475.54190918343,479.90892674463,487.04505874954,491.51771254425,498.82646444278,503.40730976502,510.89285715645,515.58451111167,523.2511306012],description:"Two 29-tET scales 15.826 cents shifted, 13-limit chords, Mystery temperament, Gene Ward Smith"},xenakis_chrom:{frequencies:[261.6255653006,274.52698453615,329.62755691287,349.22823143301,391.99543598175,411.32572372413,493.88330125613,523.2511306012],description:"Xenakis's Byzantine Liturgical mode, 5 + 19 + 6 parts"},xenakis_diat:{frequencies:[261.6255653006,293.66476791741,326.46944327063,349.22823143301,391.99543598175,440,489.15147723638,523.2511306012],description:"Xenakis's Byzantine Liturgical mode, 12 + 11 + 7 parts"},xenakis_schrom:{frequencies:[261.6255653006,279.86396690685,326.46944327063,349.22823143301,391.99543598175,419.32216217931,489.15147723638,523.2511306012],description:"Xenakis's Byzantine Liturgical mode, 7 + 16 + 7 parts"},xenoga24:{frequencies:[261.6255653006,265.7783520514,279.38237857051,283.8170195002,294.32876096318,299.00064605783,310.07474405997,314.99656539426,331.11985608357,336.37572681506,348.83408706747,354.37113606854,372.50983809402,378.42269266694,392.4383479509,398.6675280771,419.07356785577,425.72552925031,441.49314144476,448.50096908674,465.11211608996,472.49484809138,496.67978412536,504.56359022259,523.2511306012],description:"M. Schulter, 3+7 ratios Xeno-Gothic adaptive tuning (keyboards 64:63 apart)"},xylophone2:{frequencies:[261.6255653006,295.19538981304,332.68808325276,388.83826257328,446.65787257783,506.59641128799,527.19506190947,579.57827742703,633.13077520476,751.1860077911,842.69088701475],description:"African Yaswa xylophones (idiophone; calbash resonators with membrane)"},xylophone3:{frequencies:[261.6255653006,292.47977325983,348.01999353916,392.4383479509,442.29334161825,523.2511306012],description:"African Banyoro xylophone (idiophone; loose log)"},xylophone4:{frequencies:[261.6255653006,281.70207497315,314.1971709147,349.63190883464,391.76907592069,436.9606979923,505.71930677521,568.9637969584,597.94115990992,660.7800775993,716.43551549302],description:"African Bapare xylophone (idiophone, loose-log)"},zalzal:{frequencies:[261.6255653006,294.32876096318,321.08592105074,348.83408706747,392.4383479509,428.11456140098,465.11211608996,523.2511306012],description:"Tuning of popular flute by Al Farabi & Zalzal. First tetrachord is modern Rast"},zalzal2:{frequencies:[261.6255653006,294.32876096318,331.11985608357,348.83408706747,387.59343007496,419.89288258121,465.11211608996,523.2511306012],description:"Zalzal's Scale, a medieval Islamic with Ditone Diatonic & 10/9 x 13/12 x 72/65"},zarlino:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Ptolemy's Intense Diatonic Systonon, also Zarlino's scale"},zarlino2:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,348.83408706747,363.36884069528,367.91095120397,392.4383479509,408.78994578219,436.04260883433,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"16-note choice system of Zarlino, Sopplimenti musicali (1588)"},zartehijaz1:{frequencies:[261.6255653006,280.55696721076,336.07142343876,350.07440004945,375.4060213132,393.89732161404,446.43551156053,468.42549744394,502.32108537715,523.2511306012],description:"Scale from Zarlino temperament extraordinaire -- lower Hijaz tetrachord"},zesster_a:{frequencies:[261.6255653006,279.06726965397,313.95067836072,334.88072358477,348.83408706747,392.4383479509,418.60090448096,502.32108537715,523.2511306012],description:"Harmonic six-star, group A, from Fokker"},zesster_b:{frequencies:[261.6255653006,293.02063313667,299.00064605783,334.88072358477,366.27579142084,418.60090448096,457.84473927605,478.40103369253,523.2511306012],description:"Harmonic six-star, group B, from Fokker"},zesster_c:{frequencies:[261.6255653006,299.00064605783,305.22982618403,348.83408706747,398.6675280771,406.97310157871,457.84473927605,465.11211608996,523.2511306012],description:"Harmonic six-star, group C on Eb, from Fokker"},zesster_mix:{frequencies:[261.6255653006,274.70684356563,279.06726965397,293.02063313667,299.00064605783,313.95067836072,334.88072358477,348.83408706747,358.80077526939,366.27579142084,392.4383479509,418.60090448096,457.84473927605,478.40103369253,488.36772189445,502.32108537715,523.2511306012],description:"Harmonic six-star, groups A, B and C mixed, from Fokker"},zest24:{frequencies:[261.6255653006,269.33468959023,272.52663052146,280.55696721076,292.24684137387,300.8582598368,308.87634556583,317.97777315513,326.45210604021,336.07142343876,350.07440004945,360.38977980792,364.66083404534,375.4060213132,391.04793957621,402.57065589001,410.30971075781,422.39999923493,436.81711699543,449.68847932918,465.03699205118,478.73988827571,487.94322738789,502.32108537715,523.2511306012],description:"Zarlino Extraordinaire Spectrum Temperament (two circles at ~50.28c apart)"},zir_bouzourk:{frequencies:[261.6255653006,281.75060878526,305.22982618403,313.95067836072,353.19451315581,392.4383479509,523.2511306012],description:"Zirafkend Bouzourk (IG #3, DF #9), from both Rouanet and Safi al-Din"},zwolle:{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,331.11985608357,348.83408706747,367.49599295996,392.4383479509,413.43299207996,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"Henri Arnaut De Zwolle. Pythagorean on G flat."},zwolle2:{frequencies:[261.6255653006,273.37431312998,292.50627485027,311.68386704488,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,467.04206359353,489.02683710225,523.2511306012],description:"Henri Arnaut De Zwolle's modified meantone tuning (c. 1440)"},yarman12:{frequencies:[261.6255653006,283.42769574232,294.32876096318,309.19384990071,332.97799220076,348.83408706747,377.90359432309,392.4383479509,411.12588832951,442.75095666255,465.11211608996,499.46698830115,523.2511306012],description:"Detempered Yarman 13-limit, [<1 1 -20 -6 -3 -1|, <0 1 38 15 11 8|]"},yarman12_80:{frequencies:[261.6255653006,282.84340331238,295.36595061166,319.3201344739,333.45764463229,348.2210758395,376.46181130035,393.12919962609,425.01198472693,443.82887286778,479.82340237272,501.06699929295,523.2511306012],description:"Ozan Yarman MOS, 80-et version"},yarman17:{frequencies:[261.6255653006,274.08392555301,283.42769574232,294.32876096318,309.19384990071,322.00069575458,332.97799220076,348.83408706747,362.25078272391,377.90359432309,392.4383479509,411.12588832951,425.14154361347,442.75095666255,465.11211608996,485.87604984397,499.46698830115,523.2511306012],description:"80-et commas 13-limit detempering of a chain of 16 fifths"},"yarman_ney-ahengs":{frequencies:[261.6255653006,275.39533189537,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,436.04260883433,465.11211608996,494.18162334558,523.2511306012],description:"Well Temperament for piano by Ozan Yarman from Ney Ahengs"},yasser_6:{frequencies:[261.6255653006,291.88463270656,325.64340264099,363.30663963964,405.32593044476,452.20508247496,523.2511306012],description:"Yasser Hexad, 6 of 19 as whole tone scale"},yasser_diat:{frequencies:[261.6255653006,281.42815779395,291.88463270656,313.97755176024,325.64340264099,350.29154279212,376.80531512858,390.80553229045,420.38583225541,436.00528786292,469.00678383895,486.43275040712,523.2511306012],description:"Yasser's Supra-Diatonic, the flat notes are V,W,X,Y,and Z"},yasser_ji:{frequencies:[261.6255653006,282.64904822654,294.32876096318,304.39128270551,327.03195662575,347.87575166344,359.73515228832,391.36022062136,425.14154361347,434.84468957929,457.84473927605,478.32915853722,523.2511306012],description:"Yasser's just scale, 2 Yasser hexads, 121/91 apart"},yekta:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,470.92601754108,502.32108537715,523.2511306012],description:"Rauf Yekta's 12-tone tuning suggested in 1922 Lavignac Music Encyclopedia"},"young-g":{frequencies:[261.6255653006,299.07507698093,319.76457981184,341.88537054616,390.82337532559,446.76650366117,477.67301428683,510.71739232152,583.82257301724,667.39198333921,713.56092257662,762.92356430953,872.13001648254,996.96833978235,1065.93668681199,1139.67601990796,1302.81150610354,1489.29848625885,1592.32474578757,1702.47910946196,1946.17475603251,2224.75468143463,2378.65811671778,2543.20970830682,2907.24890901465,3323.39919648924,3553.30434397593,3799.11599765247,4342.92768045015],description:"Gayle Young's Harmonium, see PNM 26(2): 204-212 (1988)"},"young-lm_guitar":{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"LaMonte Young, Tuning of For Guitar '58. 1/1 March '92, inv.of Mersenne lute 1"},"young-lm_piano":{frequencies:[261.6255653006,289.72987407313,294.32876096318,300.46061014991,343.38355445704,338.01818641865,386.30649876417,392.4383479509,400.61414686654,457.84473927605,450.69091522486,515.07533168556,523.2511306012],description:"LaMonte Young's Well-Tempered Piano"},"young-w10":{frequencies:[261.6255653006,277.18263097687,302.26980244078,320.24370022528,349.22823143301,369.99442271164,391.99543598175,427.47405410759,452.89298412314,493.88330125613,523.2511306012],description:"William Lyman Young 10 out of 24-tET (1961)"},"young-w14":{frequencies:[261.6255653006,277.18263097687,293.66476791741,302.26980244078,320.24370022528,339.28638158975,359.46139971304,369.99442271164,391.99543598175,415.30469757995,427.47405410759,452.89298412314,479.82340237272,508.3551866238,523.2511306012],description:"William Lyman Young 14 out of 24-tET (1961)"},"young-wt":{frequencies:[261.6255653006,285.40970760065,309.19384990071,348.83408706747,392.4383479509,428.11456140098,463.79077485106,523.2511306012],description:'William Lyman Young "exquisite 3/4 tone Hellenic Lyre" dorian'},young:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,328.14198392915,348.83408706747,367.49599295996,391.5530240856,413.43299207996,438.51190905657,465.11211608996,491.10256480205,523.2511306012],description:"Thomas Young well temperament (1807), also Luigi Malerbi nr.2 (1794)"},young2:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.77584116741,328.14198392915,349.22823143301,368.32692341742,391.5530240856,414.36778843034,438.51190905657,466.16376151809,491.65745674141,523.2511306012],description:"Thomas Young well temperament no.2 (1799)"},yugo_bagpipe:{frequencies:[261.6255653006,277.02257024271,294.00421879736,322.47117131255,341.84370465044,381.9375744369,404.41509766528,430.1988069325,452.63145841613,463.74664903953,478.99265177484,502.22604835608,523.2511306012],description:"Yugoslavian Bagpipe"},yves:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:`St Yves's scale II from Jocelyn Godwin, "Music and the Occult", 1995.`},saba_sup:{frequencies:[261.6255653006,287.78812183066,313.95067836072,327.03195662575,392.4383479509,418.60090448096,470.92601754108,497.08857407114,523.2511306012],description:"Superparticular version of maqam Sab"},sabagh:{frequencies:[261.6255653006,275.67629620338,279.3053384865,286.70737164501,294.30556868769,310.11139540064,314.19374626607,322.52037740267,326.76608188608,331.06767743197,348.8478314504,362.80683626646,367.58287746967,372.42178901277,392.42288612931,413.49815209867,418.94150105041,430.04411333507,441.44096240275,465.14876849982,471.27205084813,483.76150545705,490.12981126508,496.58195036371,523.2511306012],description:"Twfiq Al-Sabagh, Arabic master musical scale in 53-tET (1954)"},sabbagh:{frequencies:[261.6255653006,294.30556868769,321.46759848648,348.8478314504,392.42288612931,428.64035280622,465.14876849982,523.2511306012],description:"Tawfiq as-Sabbagh, a composer from Syria. 1/1=G"},safi_diat:{frequencies:[261.6255653006,276.16031892841,305.22982618403,348.83408706747,392.4383479509,414.24047839262,457.84473927605,523.2511306012],description:"Safi al-Din's Diatonic, also the strong form of Avicenna's 8/7 diatonic"},safi_diat2:{frequencies:[261.6255653006,283.79722337692,310.07474405997,348.83408706747,392.4383479509,425.69583506538,465.11211608996,523.2511306012],description:"Safi al-Din's 2nd Diatonic, a 3/4 tone diatonic like Ptolemy's Equable Diatonic"},safi_major:{frequencies:[261.6255653006,281.75060878526,322.00069575458,348.83408706747,375.66747838035,392.4383479509,523.2511306012],description:"Singular Major (DF #6), from Safi al-Din, strong 32/27 chromatic"},salinas_19:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,465.11211608996,490.54793493862,510.98743222773,523.2511306012],description:`Salinas' enharmonic tuning for his 19-tone instr. "instrumentum imperfectum"`},salinas_24:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,367.91095120397,372.08969287196,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,459.88868900496,465.11211608996,470.92601754108,490.54793493862,510.98743222773,523.2511306012],description:'Salinas enharmonic system "instrumentum perfectum". Subset of Mersenne'},salinas_enh:{frequencies:[261.6255653006,272.52663052146,279.06726965397,348.83408706747,392.4383479509,408.78994578219,418.60090448096,523.2511306012],description:"Salinas's and Euler's enharmonic"},salunding:{frequencies:[261.6255653006,282.38958039978,310.76686573877,390.36201910543,419.43149305958,523.2511306012],description:"Gamelan slunding, Kengetan, South-Bali. 1/1=378 Hz"},sankey:{frequencies:[261.6255653006,274.88665260982,292.54735824399,309.58527581215,327.03195662575,348.83408706747,366.73895666255,391.24894371175,412.31687950427,437.13741259348,464.79252184829,489.99465727995,523.2511306012],description:"John Sankey's Scarlatti tuning, personal evaluation based on d'Alembert's"},santur1:{frequencies:[261.6255653006,282.02765077995,319.3201344739,347.21689301951,376.46192220133,427.47393558663,475.68393915562,504.55222794679,523.2511306012],description:"Persian santur tuning. 1/1=E"},santur2:{frequencies:[261.6255653006,281.2143451833,317.48098583281,345.21700307457,375.37611551499,423.78627283082,475.68393915562,498.18106573801,523.2511306012],description:"Persian santur tuning. 1/1=E"},sanza:{frequencies:[261.6255653006,293.15632631094,308.97787266236,346.21547002486,390.18821123181,462.40922843744,524.46149515038,595.18445928535,620.10113226249],description:"African N'Gundi Sanza (idiophone; set of lamellas, thumb-plucked)"},sanza2:{frequencies:[261.6255653006,390.63923480058,465.35666077712,523.2511306012,588.68812410589,663.45725712889,702.9084786129,783.08569314515],description:"African Baduma Sanza (idiophone, like mbira)"},sauveur:{frequencies:[261.6255653006,274.85950244128,292.7026939092,313.25286195357,328.80795208256,349.69755047152,367.27338607435,391.35133250294,417.15885134862,438.29716799286,468.84228427561,491.11646492505,523.2511306012],description:"Sauveur's tempered system of the harpsichord. Trait\xEF\xBF\xBD (1697)"},sauveur2:{frequencies:[261.6255653006,278.64199172491,293.04864983565,312.10886966906,328.2456799168,349.5951549002,372.33322418948,391.58401058733,417.05308314313,438.61577206336,467.14384425417,491.2966347616,523.2511306012],description:"Sauveur's Syste^me Chromatique des Musiciens (Memoires 1701), 12 out of 55."},sauveur_17:{frequencies:[261.6255653006,275.62199471997,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,367.49599295996,372.50983809402,392.4383479509,413.43299207996,419.07356785577,441.49314144476,465.11211608996,489.99465727995,496.67978412536,523.2511306012],description:"Sauveur's oriental system, aft. Kitab al-adwar (Bagdad 1294) by Safi al-Din"},sauveur_ji:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Aplication des sons harmoniques aux jeux d'orgues (1702) (PB 81/80 & 128/125)"},savas_bardiat:{frequencies:[261.6255653006,282.57123920205,317.17549194805,349.22823143301,391.99543598175,423.37848741825,475.22628419761,523.2511306012],description:"Savas's Byzantine Liturgical mode, 8 + 12 + 10 parts"},savas_barenh:{frequencies:[261.6255653006,282.57123920205,329.62755691287,349.22823143301,391.99543598175,423.37848741825,493.88330125613,523.2511306012],description:"Savas's Byzantine Liturgical mode, 8 + 16 + 6 parts"},savas_chrom:{frequencies:[261.6255653006,282.57123920205,323.3415889232,349.22823143301,391.99543598175,423.37848741825,484.46499093218,523.2511306012],description:"Savas's Chromatic, Byzantine Liturgical mode, 8 + 14 + 8 parts"},savas_diat:{frequencies:[261.6255653006,288.06460709314,311.12698372208,349.22823143301,391.99543598175,431.60923940535,466.16376151809,523.2511306012],description:"Savas's Diatonic, Byzantine Liturgical mode, 10 + 8 + 12 parts"},savas_palace:{frequencies:[261.6255653006,277.18263097687,336.03572815422,349.22823143301,391.99543598175,415.30469757995,503.48470957687,523.2511306012],description:"Savas's Byzantine Liturgical mode, 6 + 20 + 4 parts"},scalatron:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,340.65828815182,348.83408706747,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,459.88868900496,470.92601754108,490.54793493862,510.98743222773,523.2511306012],description:"Scalatron (tm) 19-tone scale, see manual, 1974"},scheengaas:{frequencies:[261.6255653006,273.84069463911,292.6487650037,312.74862113192,327.53979283172,350.03605285217,366.8025131876,391.54284657258,418.19337019276,437.97145880542,467.51204131067,489.62261321254,523.2511306012],description:"Scheengaas' variation"},scheffer:{frequencies:[261.6255653006,274.56546814423,292.86978442859,309.86465789076,327.84548435462,349.70179235499,366.99791252626,391.46460164194,410.82629477826,438.21464222188,467.42914467878,490.54793493862,523.2511306012],description:"H.Th. Scheffer (1748) modified 1/5-comma temperament, Sweden"},schidlof:{frequencies:[261.6255653006,264.89588486686,274.70684356563,280.31310567921,294.32876096318,305.22982618403,315.35224388912,322.99452506247,327.03195662575,348.83408706747,353.19451315581,366.27579142084,373.75080757229,392.4383479509,406.97310157871,420.46965851882,436.04260883433,457.84473927605,467.18850946536,484.4917875937,490.54793493862,523.2511306012],description:"Schidlof"},schillinger:{frequencies:[261.6255653006,262.8879410321,275.85161280553,277.18263097687,278.52007147562,292.25460328695,293.66476791741,295.08173676673,309.63296633914,311.12698372208,312.62820992379,328.04470063332,329.62755691287,331.21805066987,347.55125362114,349.22823143301,350.91330087035,368.21772660991,369.99442271164,371.77969159194,390.11309203208,391.99543598175,393.88686247394,413.31042363438,415.30469757995,417.30859414412,437.88714035463,440,442.12305445465,463.92526470026,466.16376151809,468.41305936011,491.51169649079,493.88330125613,496.26634930797,520.73850287792,523.2511306012],description:"Joseph Schillinger's double equal temperament, p.664 Mathematical Basis..."},schis41:{frequencies:[261.6255653006,266.96486255163,272.52663052146,275.21650375777,280.31310567921,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,311.45900631024,313.95067836072,321.08592105074,327.03195662575,329.64821227876,336.37572681506,343.38355445704,348.83408706747,355.95315006884,363.36884069528,366.27579142084,373.75080757229,380.54627680087,387.59343007496,392.4383479509,398.6675280771,406.97310157871,415.27867508032,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,484.4917875937,490.54793493862,497.4115685962,504.56359022259,512.78610798918,523.2511306012],description:"41&53 <<1 -8 -14 23 -15 -25 33 -10 81 113||"},schisynch17:{frequencies:[261.6255653006,275.80289341725,290.74848220557,294.25152581512,310.19683462128,327.0062098829,330.94609980123,348.87986495302,367.78544978395,387.71551660339,392.38685458718,413.65005636851,436.06549769577,441.31937388998,465.23419873014,490.4449531872,496.35401261224,523.2511306012],description:"fifth satisfies f^9 + f^8 - 64 = 0"},schlick:{frequencies:[261.6255653006,275.62199471997,293.00227310437,311.47852302926,328.14198392915,349.6228209638,367.9112241576,391.5530240856,414.36778843034,438.51190905657,466.69047534984,491.10256480205,523.2511306012],description:"Reconstructed temp. A. Schlick, Spiegel d. Orgelmacher und Organisten (1511)"},schlick2:{frequencies:[261.6255653006,275.31092272332,293.00227310437,311.83045953724,328.14198392915,349.6228209638,367.9112241576,391.5530240856,415.30469757995,438.51190905657,466.69047534984,491.10256480205,523.2511306012],description:"Schlick's temperament reconstructed by F.J. Ratte (1991)"},schlick3:{frequencies:[261.6255653006,275.31092431358,293.00227310437,311.83045953724,328.14198392915,349.6228209638,367.70355049744,391.5530240856,415.07027187895,438.51190905657,466.95405539699,491.10256480205,523.2511306012],description:"Possible well-tempered interpretation of 1555 tuning, Margo Schulter"},schlick4:{frequencies:[261.6255653006,275.29566620843,293.00166043901,311.83758337792,328.14192706649,349.6222474261,367.6987228158,391.55300599201,415.35839309639,438.51185079886,466.95962791236,491.10245700671,523.2511306012],description:"Another reconstructed Schlick's modified meantone (Poletti?)"},scholz:{frequencies:[261.6255653006,271.31540105247,299.00064605783,305.22982618403,348.83408706747,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"Simple Tune #1 Carter Scholz"},scholz_epi:{frequencies:[261.6255653006,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,2877.8812183066,3139.5067836072,3401.1323489078,3662.7579142084,3924.383479509,4186.0090448096,4709.2601754108,5232.511306012,5494.1368713126,5755.7624366132,6279.0135672144,6540.639132515,6802.2646978156,7063.8902631162,7325.5158284168,8372.0180896192,8633.6436549198,9156.894785521,9418.5203508216,10203.3970467234,10465.022612024,10988.2737426252,11511.5248732264,11773.150438527,12558.0271344288,12819.6526997294,13081.27826503,14127.7805262324,14389.406091533,14651.0316568336,16482.4106139378,16744.0361792384,17005.661744539],description:"Carter Scholz, Epimore"},schulter:{frequencies:[261.6255653006,277.184065539,293.66520219021,311.12905403417,329.62853176407,349.23107169224,369.99606406306,391.99572582396,415.30715405467,440.00097595231,466.1672081452,493.88512703986,523.25577305438],description:`Margo Schulter's 5-limit JI virt. ET, "scintilla of Artusi" tempered 22-08-98`},schulter_17:{frequencies:[261.6255653006,272.43653907335,282.13181390574,295.15344695336,308.77608605158,319.09647917983,332.97799220076,348.34640884647,361.82138782225,375.64984936577,392.98775403209,410.26687922759,423.79017189188,443.34998408798,463.81254988138,480.53289366295,500.16624277499,523.2511306012],description:"Neo-Gothic well-temperament (14:11, 9:7 hypermeantone fifths) TL 04-09-2000"},schulter_24:{frequencies:[261.6255653006,270.06509966514,283.8170195002,292.97240722602,295.75063903546,305.22982618403,307.79478270659,317.68818643644,334.29933343966,345.08318290545,348.06842720833,359.29644098925,377.90359432309,390.09403284964,393.30161007617,406.07983174306,426.86276443782,440.63253103259,444.76346101102,458.66231916761,462.87600014722,477.80748402293,502.32108537715,518.89070451286,523.2511306012],description:'Rational intonation (RI) scale with some "17-ish" features (24 notes)'},schulter_cart34:{frequencies:[261.6255653006,270.08718526646,272.51337835337,281.3271372098,283.85429714132,293.03484945212,295.66718139806,305.22982618403,307.97166902637,317.93223698752,320.78822215662,331.16330924834,334.13814720468,344.94500399825,348.04364484358,359.30023993517,362.52783176564,374.2528814026,377.61479489998,389.82779436071,393.32961502355,406.05087076101,409.69842558521,422.94908927295,426.7484383229,440.55054172958,444.50800708553,458.88449901367,463.0066556268,477.98143975034,482.27514684959,497.87312179111,502.34551296122,518.59261334435,523.2511306012],description:'"Carthesian tuning" with two 17-tET chains 55.106 cents apart'},schulter_diat7:{frequencies:[261.6255653006,295.1673044417,332.97799220076,348.83408706747,392.4383479509,442.75095666255,499.46698830115,523.2511306012],description:"Diatonic scale, symmetrical tetrachords based on 14/11 and 13/11 triads"},schulter_ham:{frequencies:[261.6255653006,272.52663052146,283.8170195002,295.75063903546,307.79478270659,320.70230585235,334.29933343966,348.01136516401,362.25078272391,377.90359432309,393.36609818246,409.50088481833,426.86276443782,444.76346101102,462.87600014722,482.33849075995,502.32108537715,523.2511306012],description:'New rational tuning of "Hammond organ type", TL 01-03-2002'},schulter_jot17a:{frequencies:[261.6255653006,271.31540105247,281.75060878526,295.1673044417,305.22982618403,318.50068819203,332.97799220076,348.83408706747,361.75386806997,375.66747838035,392.4383479509,406.97310157871,422.62591317789,442.75095666255,457.84473927605,477.75103228805,499.46698830115,523.2511306012],description:"Just octachord tuning -- 4:3-9:8-4:3 division, 17 steps (7 + 3 + 7), Bb-Bb"},schulter_jot17bb:{frequencies:[261.6255653006,271.31540105247,281.75060878526,295.15228855401,305.22982618403,318.50068819203,332.97799220076,348.83408706747,361.75386806997,375.66747838035,392.4383479509,406.97310157871,422.62591317789,442.72843283101,457.84473927605,477.75103228805,499.46698830115,523.2511306012],description:'"Just Octachord Tuning" (Bb-Eb, F-Bb) -- 896:891 divided into 1792:1787:1782'},schulter_jwt17:{frequencies:[261.6255653006,272.43653907335,282.34838235411,295.1673044417,308.34441624714,319.76457981184,332.97799220076,347.8430811383,362.25078272391,376.08675011961,393.55640592227,409.81906732402,425.14154361347,443.97065626768,462.87600014722,481.6288815761,500.8899711738,523.2511306012],description:'"Just well-tuned 17" circulating system'},"schulter_lin76-34":{frequencies:[261.6255653006,270.6250663876,281.88470155261,291.58108453077,295.07956188513,305.22982618403,308.89206602106,319.51745915009,332.81131277165,344.25948974019,348.39001840879,360.3740779397,375.36781334896,388.27986588625,392.93856423817,406.45502016129,423.36600317146,437.92911415628,443.18352164838,458.42832346067,463.9286840578,479.88708893184,499.85328649772,517.04744024951,523.2511306012],description:"Two 12-note chains, ~704.160 cents, 34 4ths apart (32 4ths = 7:6), TL 29-11-02"},schulter_pel:{frequencies:[261.6255653006,271.31540105247,305.22982618403,392.4383479509,406.97310157871,523.2511306012],description:"Just pelog-style Phrygian pentatonic"},schulter_pepr:{frequencies:[261.6255653006,270.64528702739,281.81099471089,291.52662303231,295.05751399041,305.22982618403,308.92668738628,319.57714790608,332.76158224462,344.23376719628,348.40303271111,360.41446953256,375.28368107222,388.22184469544,392.9238840789,406.47020586181,423.23948674937,437.83095983374,443.13385158124,458.41119660824,463.96335069158,479.95880706014,499.75992392917,516.98949183803,523.2511306012],description:"Peppermint 24: Wilson/Pepper apotome/limma=Phi, 2 chains spaced for pure 7:6"},schulter_qcm62a:{frequencies:[261.6255653006,262.43934012943,267.90457886781,268.73788454005,273.37431312998,274.22463192287,279.93529690293,280.80602334765,285.65065877038,286.53916259713,292.50627485027,293.41610276971,299.52642572255,300.45808951291,305.64177427204,306.59245933664,312.977175335,313.95067836072,320.36052345918,320.48862783822,327.03195662575,328.04917632434,334.88072358477,335.92235492515,341.71789064962,342.78078913836,349.91912034749,351.00752840096,358.31717956585,359.43170941363,365.63284274659,366.77012764335,374.40803131735,375.5726110527,382.05221698715,383.2405741708,391.22147055517,392.4383479509,400.61078621746,401.85686830172,408.78994578219,410.06146948999,418.60090448096,419.90294514449,427.14736482575,428.47598794138,437.39890198442,438.75941205608,447.89647345742,449.28963835923,457.04105241293,458.46266117889,468.01003810189,469.46576276783,479.24227945773,480.73294151703,489.02683710225,490.54793493862,500.76348165392,502.32108537715,510.98743222773,512.57683571821,523.2511306012],description:"1/4-comma meantone, two 31-notes at 1/4-comma (Vicentino-like system)"},schulter_qcmlji24:{frequencies:[261.6255653006,262.43934012943,273.37431312998,274.22463192287,292.50627485027,293.41610276971,306.59245933664,312.977175335,327.03195662575,328.04917632434,349.91912034749,351.00752840096,365.63284274659,366.77012764335,391.22147055517,392.4383479509,408.78994578219,410.06146948999,437.39890198442,438.75941205608,458.46266117889,468.01003810189,489.02683710225,490.54793493862,523.2511306012],description:"24-note adaptive JI (Eb-G#/F'-A#') for Lasso's Prologue to _Prophetiae_"},schulter_qcmqd8_4:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.28772967674,327.03195662575,349.91912034749,365.63284274659,391.22147055517,411.22091428214,437.39890198442,465.24335632603,489.02683710225,523.2511306012],description:"F-C# in 1/4-comma meantone, other 5ths ~4.888 cents wide or (2048/2025)^(1/4)"},schulter_sq:{frequencies:[261.6255653006,271.31540105247,279.38237857051,289.72987407313,294.32876096318,305.22982618403,310.07474405997,325.94610833227,331.11985608357,343.38355445704,348.83408706747,361.75386806997,372.50983809402,386.30649876417,392.4383479509,406.97310157871,419.07356785577,434.59481110969,441.49314144476,457.84473927605,465.11211608996,488.9191624984,496.67978412536,515.07533168556,523.2511306012],description:'"Sesquisexta" tuning, two 12-tone Pyth. manuals a 7/6 apart. TL 16-5-2001'},schulter_tedorian:{frequencies:[261.6255653006,295.99553712036,309.28772789022,347.85054122562,393.54796334264,442.61656607198,462.49302735707,523.2511306012],description:"Eb Dorian in temperament extraordinaire -- neo-medieval style"},schulter_zarte84:{frequencies:[261.6255653006,272.52663052146,292.24684137387,308.87634556583,326.45210604021,350.07440004945,364.66083404534,391.04793957621,410.30971075781,436.81711699543,465.03699205118,487.94322738789,523.2511306012],description:"Temperament extraordinaire, Zarlino's 2/7-comma meantone (F-C#)"},schulter_zarte84n:{frequencies:[261.6255653006,272.46997760396,292.1447183254,308.81896225817,326.44489157977,350.01709816983,364.52535053201,391.11195868293,410.09013064752,436.73596474349,465.11312402839,488.01232708701,523.2511306012],description:"Zarlino temperament extraordinaire, 1024-tET mapping"},scotbag:{frequencies:[261.6255653006,290.69507255622,327.03195662575,356.76213450082,387.59343007496,436.04260883433,479.64686971777,523.2511306012],description:"Scottish bagpipe tuning"},scotbag2:{frequencies:[261.6255653006,290.69507255622,319.76457981184,348.83408706747,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Scottish bagpipe tuning 2"},scotbag3:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,441.49314144476,479.64686971777,523.2511306012],description:"Scottish bagpipe tuning 3"},scotbag4:{frequencies:[261.6255653006,293.15632631094,318.58319997217,348.2210758395,392.67530119805,428.21545238314,468.59347232539,523.2511306012],description:"Scottish Higland Bagpipe by Macdonald, Edinburgh. Helmholtz/Ellis p. 515, nr.52"},scottd1:{frequencies:[261.6255653006,275.93341798027,292.67158636845,310.42509491746,327.40170814054,349.22823143301,367.9112241576,391.5530240856,413.90012676351,437.52264545758,465.63764214343,490.54829628849,523.2511306012],description:"Dale Scott's temperament 1, TL 9-6-1999"},scottd2:{frequencies:[261.6255653006,276.1828093671,292.93610587951,310.70566022736,327.9937953665,349.3071136959,368.24374600687,391.64146650178,414.27421384356,438.21489534465,466.05849010807,491.32444638706,523.2511306012],description:"Dale Scott's temperament 2, TL 9-6-1999"},scottd3:{frequencies:[261.6255653006,276.40121172404,293.16775656083,310.95136287868,328.51274831708,349.22813057195,368.53494914961,391.77416758435,414.60181737882,438.75957425603,466.42704408487,491.93513777943,523.2511306012],description:"Dale Scott's temperament 3, TL 9-6-1999"},scottd4:{frequencies:[261.6255653006,276.60439543337,293.30494246724,310.98285414553,328.78580734933,349.37474066871,369.05201453919,391.83105388699,414.77686160481,439.10664961187,466.16991430388,492.5350487994,523.2511306012],description:"Dale Scott's temperament 4, TL 9-6-1999"},scottj:{frequencies:[261.6255653006,294.32876096318,336.37572681506,348.83408706747,392.4383479509],description:`Jeff Scott's "seven and five" tuning, fifth-repeating. TL 20-04-99`},scottj2:{frequencies:[261.6255653006,290.69507255622,299.00064605783,305.22982618403,313.95067836072,348.83408706747,366.27579142084,406.97310157871,418.60090448096,428.11456140098,436.04260883433,485.87604984397,523.2511306012,566.85539148463,581.39014511244,598.00129211566,610.45965236807,680.22646978156,719.47030457665,784.8766959018],description:`Jeff Scott's "just tritone/13" tuning. TL 17-03-2001`},secor12_1:{frequencies:[261.6255653006,275.03488264166,292.74290192225,310.07362690431,327.56128791316,349.21167447253,366.91716522699,391.37968062521,412.76363757129,437.92977184699,465.61556619611,490.01645577464,523.2511306012],description:"George Secor's 12-tone temperament ordinaire #1, proportional beating"},secor12_2:{frequencies:[261.6255653006,275.62199471997,292.79557634972,310.07474405997,327.35540669465,348.83408706747,367.49599295996,391.60840570078,413.43299207996,437.83150862942,465.11211608996,489.99465727995,523.2511306012],description:"George Secor's closed 12-tone well-temperament #2, with 7 just fifths"},secor12_3:{frequencies:[261.6255653006,274.49585366342,292.50627485027,309.76836826904,327.03195662575,349.57337698802,365.99447173417,391.22147055517,411.74378028931,437.39890198442,466.09783352473,489.02683710225,523.2511306012],description:"George Secor's closed 12-tone temperament #3 with 5 meantone, 3 just, and 2 wide fifths"},secor17htt1:{frequencies:[261.6255653006,266.21235100401,283.6936382117,294.88137067808,304.94368688875,319.75456524059,327.03195662575,348.50707605838,360.3992766165,372.69727792826,392.80658053205,399.69321489333,425.93975025566,435.63385416574,457.84473927605,480.08189580921,491.0082387498,523.2511306012],description:"George Secor's 17-tone high-tolerance temperament subset #1 on C (5/4 & 7/4 exact)"},secor17htt2:{frequencies:[261.6255653006,266.21235100401,279.78524030783,294.88137067808,300.05119287674,319.75456524059,327.03195662575,348.50707605838,360.3992766165,372.69727792826,392.80658053205,399.69321489333,425.93975025566,442.73709545768,457.84473927605,480.08189580921,491.0082387498,523.2511306012],description:"George Secor's 17-tone high-tolerance temperament subset #2 on Eo (5/4 & 7/4 exact)"},secor17htt3:{frequencies:[261.6255653006,270.55308473255,279.78524030783,294.88137067808,300.05119287674,319.75456524059,327.03195662575,343.70575469589,360.3992766165,368.60172104124,392.80658053205,399.69321489333,425.93975025566,442.73709545768,457.84473927605,480.08189580921,491.0082387498,523.2511306012],description:"George Secor's 17-tone high-tolerance temperament subset #3 on G (5/4 & 7/4 exact)"},secor17htt4:{frequencies:[261.6255653006,270.55308473255,279.78524030783,294.88137067808,300.05119287674,319.75456524059,332.36439517321,343.70575469589,360.3992766165,368.60172104124,392.80658053205,399.69321489333,420.07165483694,442.73709545768,450.49910517366,480.08189580921,491.0082387498,523.2511306012],description:"George Secor's 17-tone high-tolerance temperament subset #4 on Bo (5/4 & 7/4 exact)"},secor17wt:{frequencies:[261.6255653006,271.90848849519,284.45827635845,296.12458543709,307.25838681362,320.91221742866,335.17278980765,347.77473997341,362.0378075073,378.74746489181,393.63374363584,408.43373030454,427.2847686483,445.53990619223,462.29147990415,482.0422296857,504.29062567056,523.2511306012],description:"George Secor's well temperament with 5 pure 11/7 and 3 near just 11/6"},secor19wt:{frequencies:[261.6255653006,272.32755795875,282.27948808054,292.18583194851,304.13791554835,314.37102040472,326.31582004031,339.6640167515,350.11094753355,364.43250202589,378.27942889874,391.0071187494,407.00156221801,421.24111755476,436.68033801788,454.54308187078,469.17957429271,487.6886112017,506.92782577841,523.2511306012],description:"George Secor's 19-tone well temperament with ten 5/17-comma fifths"},secor19wt1:{frequencies:[261.6255653006,272.32845615788,282.22605479514,292.18610873661,304.13920677667,314.3856167727,326.31643450984,339.6657766488,350.11078170334,364.43353349925,378.23315721313,391.00730395019,407.00309738029,421.33223555387,436.68095599763,454.54522431957,469.16941157468,487.689760539,506.89867708289,523.2511306012],description:"George Secor's 19-tone proportional-beating (5/17-comma) well temperament (v.1)"},secor19wt2:{frequencies:[261.6255653006,272.32845615788,282.22605479514,292.18610873661,304.13920677667,314.27577204952,326.31643450984,339.6657766488,350.11078170334,364.43353349925,378.23315721313,391.00730395019,407.00309738029,421.20165315727,436.68095599763,454.54522431957,469.03541436973,487.689760539,506.89867708289,523.2511306012],description:"George Secor's 19-tone proportional-beating (5/17-comma) well temperament (v.2)"},secor1_4tx:{frequencies:[261.6255653006,274.52656755164,292.65557420835,309.65910769439,327.20096538886,349.14957009195,366.50113643833,391.42429537222,412.04336447213,437.62002395673,465.5327601226,489.58458498887,523.2511306012],description:"George Secor's rational 1/4-comma temperament extraordinaire"},secor1_5tx:{frequencies:[261.6255653006,275.23833828784,292.86443876933,310.12174699459,327.84546895566,349.26796031009,366.98445105045,391.462133155,412.85750743176,438.21197504744,465.69061374678,490.54793493862,523.2511306012],description:"George Secor's 1/5-comma temperament extraordinaire (ratios supplied by G. W. Smith)"},secor1_5wt:{frequencies:[261.6255653006,275.62199471997,292.86443876933,310.07474405997,327.84546895566,348.83408706747,367.44664657419,391.462133155,413.43299207996,438.21197504744,465.11211608996,490.54793493862,523.2511306012],description:"George Secor's 1/5-comma well-temperament (ratios supplied by G. W. Smith)"},secor1_7wt:{frequencies:[261.6255653006,276.40791719395,293.28186156416,310.6264877857,328.77715667764,349.45479875891,368.54388959194,391.74026793015,414.61187579093,439.14616729155,465.93973167855,492.29203182992,523.2511306012],description:"George Secor's 1/7-comma well-temperament (ratios supplied by G. W. Smith)"},secor22_19p3:{frequencies:[261.6255653006,266.86058412305,272.32845615788,282.28026746552,292.18610873661,304.13920677667,314.37137994881,326.31643450984,339.6657766488,350.11078170334,357.11635499175,364.43353349925,378.28077924825,391.00730395019,407.00309738029,421.28573964817,436.68095599763,454.54522431957,469.17973147781,477.89781576412,487.689760539,506.93004530576,523.2511306012],description:"George Secor's 19+3 well temperament with ten ~5/17-comma (equal-beating) fifths and 3 pure 9:11. TL 28-6-2002,26-10-2006. Aux=1,10,19"},secor22_ji29:{frequencies:[261.6255653006,272.52663052146,283.42769574232,286.15296204753,294.32876096318,305.22982618403,316.13089140489,327.03195662575,340.65828815182,348.83408706747,359.73515228832,370.63621750918,381.53728273004,392.4383479509,414.24047839262,425.14154361347,436.04260883433,441.49314144476,457.84473927605,479.64686971777,490.54793493862,501.44900015948,523.2511306012],description:"George Secor's 22-tone just intonation (29-limit otonality on 4/3)"},secor29htt:{frequencies:[261.6255653006,270.55308473255,276.71069203503,283.6936382117,290.1503157249,294.88137067808,304.94368688875,310.54087273367,319.75456524059,327.03195662575,332.36439517321,343.70575469589,348.50707605838,360.3992766165,368.60172104124,377.19539564757,387.3949548402,392.80658053205,406.21042497925,415.4555026381,425.93975025566,435.63385416574,442.73709545768,457.84473927605,464.24049278842,480.08189580921,491.0082387498,499.01438878341,516.04239079678,523.2511306012],description:"George Secor's 29-tone 13-limit high-tolerance temperament (5/4 & 7/4 exact)"},secor2_11wt:{frequencies:[261.6255653006,275.91396717201,292.9984614786,310.40321306851,328.14053952957,349.20361470207,367.88528956268,391.55148162785,413.87095075801,438.50612639837,465.60481960276,491.10222639053,523.2511306012],description:"George Secor's rational 2/11-comma well-temperament"},secor41htt:{frequencies:[261.6255653006,266.21235100401,270.55308473255,276.71069203503,279.78524030783,283.6936382117,290.1503157249,294.88137067808,300.05119287674,304.94368688875,310.54087273367,315.34936221801,319.75456524059,327.03195662575,332.36439517321,338.19136297459,343.70575469589,348.50707605838,354.61705516636,360.3992766165,368.60172104124,372.69727792826,377.90358994896,387.3949548402,392.80658053205,399.69321489333,406.21042497925,415.4555026381,420.07165483694,425.93975025566,435.63385416574,442.73709545768,450.49910517366,457.84473927605,464.24049278842,473.46789104304,480.08189580921,491.0082387498,499.01438878341,507.7630447553,516.04239079678,523.2511306012],description:"George Secor's 13-limit high-tolerance temperament superset (5/4 & 7/4 exact)"},secor5_23tx:{frequencies:[261.6255653006,275.02417915696,292.7420830065,310.0721322444,327.56084927797,349.21018850905,366.91927748105,391.38056264645,412.75664067387,437.92311604224,465.61358467873,490.0190422864,523.2511306012],description:"George Secor's rational 5/23-comma temperament extraordinaire"},secor5_23wt:{frequencies:[261.6255653006,275.62199471997,292.75872440224,310.07474405997,327.56278518065,348.83408706747,367.49599295996,391.3766908411,413.43299207996,437.81158306864,465.11211608996,489.99465727995,523.2511306012],description:"George Secor's rational 5/23-comma proportional-beating well-temperament"},secor7p:{frequencies:[261.6255653006,281.10327891957,302.03108525935,356.94582815655,383.52002471837,412.07263653985,442.75095666255,523.2511306012],description:"George Secor's pelog-like MOS with near just 11:13:15:19 tetrads (1979)"},secor_vrwt:{frequencies:[261.6255653006,276.32932769153,293.15777167588,310.55777256823,328.11844153148,349.04269216937,368.62018440632,392.00375398861,414.25255044712,438.65017260809,465.6191423793,491.6947801169,523.2511306012],description:"George Secor's Victorian rational well-temperament (based on Ellis #2)"},"secor_wt1-7":{frequencies:[261.6255653006,276.2204353545,293.2843722634,310.74798946314,328.77415062671,349.45463702831,368.55847674989,391.74146894101,414.33065282463,439.14535139523,466.13275379077,492.28548658217,523.2511306012],description:"George Secor's 1/7-comma well-temperament"},secor_wt10:{frequencies:[261.6255653006,276.4188590209,293.2843722634,310.62634254146,328.77415062671,349.45463500978,368.55847887877,391.7414712038,414.6282883241,439.14535393183,465.93951357928,492.28548942572,523.2511306012],description:"George Secor's 12-tone well-temperament, proportional beating"},"secor_wtpb-24a":{frequencies:[261.6255653006,275.62199471997,292.84836938997,310.07474405997,327.30111872997,348.83408706747,367.49599295996,391.90002374246,413.43299207996,437.54991661796,465.11211608996,490.95167809495,523.2511306012],description:"George Secor's 24-triad proportional-beating well-temperament (24a)"},"secor_wtpb-24b":{frequencies:[261.6255653006,275.62199471997,292.56126314547,310.07474405997,327.51644841334,348.83408706747,367.49599295996,391.46936437571,413.43299207996,437.76524630133,465.11211608996,490.37746560595,523.2511306012],description:"George Secor's 24-triad proportional-beating well-temperament (24b)"},segah:{frequencies:[261.6255653006,293.66476791741,320.24370022528,349.22823143301,391.99543598175,440,479.82340237272,523.2511306012],description:"Arabic SEGAH (Dudon) Two 4 + 3 + 3 tetrachords"},segah2:{frequencies:[261.6255653006,293.66476791741,318.39923223688,349.22823143301,391.99543598175,425.01198472693,466.16376151809,523.2511306012],description:"Iranian mode Segah from C"},segah_rat:{frequencies:[261.6255653006,294.32876096318,319.76457981184,348.83408706747,392.4383479509,441.49314144476,479.64686971777,523.2511306012],description:"Rationalized Arabic Seg\xEF\xBF\xBDh\r"},seidel974:{frequencies:[261.6255653006,262.64754016506,266.73543962288,267.75741448733,268.77938935179,273.88926367407,274.91123853852,276.95518826743,277.97716313189,280.0211128608,283.08703745416,284.10901231862,285.13098718308,287.17493691199,289.2188866409,290.24086150535,294.32876096318,457.84473927605,461.93263873387,463.97658846278,468.0644879206,474.19633710734,476.24028683625,482.37213602298,486.4600354808,488.50398520971,492.59188466754,498.72373385427,506.89953276991,513.03138195665,515.07533168556,519.16323114338,523.2511306012],description:"Dave Seidel, Base 9:7:4 Symmetry, scale for Passacaglia and Fugue State (2005)"},seikilos:{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,336.37572681506,348.83408706747,356.10146388137,392.4383479509,406.97310157871,441.49314144476,457.84473927605,504.56359022259,523.2511306012],description:"Seikilos Tuning"},sekati1:{frequencies:[261.6255653006,285.2147362526,318.99014578736,340.97107458785,383.86043226246,424.60539155549,468.56721805116,523.2511306012],description:"Gamelan sekati from Sumenep, East-Madura. 1/1=244 Hz."},sekati2:{frequencies:[261.6255653006,288.87830434024,317.34219433319,357.31261688157,393.64955765984,420.29657220667,469.35141988267,523.2511306012],description:"Gamelan Kyahi Sepuh from kraton Solo. 1/1=216 Hz."},sekati3:{frequencies:[261.6255653006,291.90272733088,308.20569577938,369.53649673407,403.69531865382,425.43272843735,475.11832680028,523.2511306012],description:"Gamelan Kyahi Henem from kraton Solo. 1/1=168.5 Hz."},sekati4:{frequencies:[261.6255653006,271.36353278789,288.89182053123,342.12578909252,379.12979967788,410.29128883625,439.50493264224,523.2511306012],description:"Gamelan Kyahi Guntur madu from kraton Jogya. 1/1=201.5 Hz."},sekati5:{frequencies:[261.6255653006,274.79663866182,311.31645994273,355.61927540077,375.97459751383,397.52718524897,433.44837981883,523.2511306012],description:"Gamelan Kyahi Naga Ilaga from kraton Jogya. 1/1=218.5 Hz."},sekati6:{frequencies:[261.6255653006,284.57524936299,310.80330758934,358.01400474517,390.79902205709,427.51850178351,468.18764285778,523.2511306012],description:"Gamelan Kyahi Munggang from Paku Alaman, Jogya. 1/1=199.5 Hz."},sekati7:{frequencies:[261.6255653006,286.67481979642,318.21831168293,371.10013445627,390.58282835584,422.12643845206,463.87524473877,523.2511306012],description:"Gamelan of Sultan Anom from Cheribon. 1/1=282 Hz."},sekati8:{frequencies:[261.6255653006,287.04067548259,315.94410704802,350.82750428678,381.72407804086,425.57749367468,447.5043967797,523.2511306012],description:"The old Sultans-gamelan Kyahi Suka rame from Banten. 1/1=262.5 Hz."},sekati9:{frequencies:[261.6255653006,280.44107893528,310.90439774384,346.74342440827,376.31071188751,412.14996063869,455.1567650372,523.2511306012],description:"Gamelan Sekati from Katjerbonan, Cheribon. 1/1=292 Hz."},selisir:{frequencies:[261.6255653006,278.78833362316,320.24370022528,380.8360868427,417.71053321823,524.76452349887],description:"Gamelan semara pagulingan, Bali. Pagan Kelod"},selisir2:{frequencies:[261.6255653006,279.59466973861,299.66214729245,376.46181130035,408.17001145418,520.23742585195],description:"Gamelan semara pagulingan, Bali. Kamasan"},selisir3:{frequencies:[261.6255653006,284.98499077387,305.5412851438,378.42269266694,406.45400323486,523.2511306012],description:"Gamelan gong, Pliatan, Bali. 1/1=280 Hz, McPhee, 1966"},selisir4:{frequencies:[261.6255653006,277.23130136276,295.59098907682,376.373620257,399.32323124828,523.2511306012],description:"Gamelan gong, Apuan, Bali. 1/1=285 Hz. McPhee, 1966"},selisir5:{frequencies:[261.6255653006,275.89605068063,309.19384990071,383.40037296022,406.23315014465,523.2511306012],description:"Gamelan gong, Sayan, Bali. 1/1=275 Hz. McPhee, 1966"},selisir6:{frequencies:[261.6255653006,282.63199755101,312.23197007902,396.25769882774,415.35445602102,523.2511306012],description:"Gamelan gong, Gianyar, Bali. 1/1=274 Hz. McPhee, 1966"},semipor1:{frequencies:[261.6255653006,290.69507255622,313.95067836072,327.03195662575,353.19451315581,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:"First 16/15&250/243 = 648/625&250/243 scale"},semisixths:{frequencies:[261.6255653006,264.19830736984,270.23055453212,272.88791531122,275.57140613391,281.86332858923,284.63508234504,291.13394747727,293.99686553194,300.70948316519,303.66656221886,306.65272199551,313.65430163898,316.7386758187,323.97054074552,327.15636145846,330.37351240232,337.91669168384,341.23965429995,349.03093233441,352.46319080675,360.51072564419,364.05587272954,367.63587953306,376.02984347246,379.72760059524,388.39764380609,392.21702191873,396.07395857323,405.11722624758,409.10101938242,418.44172684717,422.55654641528,426.71183224275,436.45463212963,440.74658728358,450.80983509489,455.24295209046,465.63718490681,470.21611194415,474.84006394159,485.68174342829,490.45777940536,501.656046885,506.58917188228,511.57080469686,523.2511306012],description:"Semisixths temperament, 13-limit, g=443.0"},"scalamakesrc2\\semisixths_8":{frequencies:[261.6255653006,282.20554108354,304.40437778605,337.94858305883,364.53227585368,393.20709362444,436.53702313055,470.87587163898,522.76460573117],description:"8-note MOS of Semisixths [7, 9, 13, -2, 1, 5] temperament, TOP tuning"},semisuper:{frequencies:[261.6255653006,267.78942821112,272.60119889127,277.49943141001,284.03728045772,289.141002119,295.95312328758,301.27095467792,308.36885759663,313.90977919898,321.30545111289,327.07882560827,334.78475653951,340.80033382945,348.82954357113,355.09748450744,363.46353108469,369.99442271164,378.7114412363,385.5163125912,392.44345945086,401.68937424288,408.90712663484,418.54092077997,426.06147005461,436.09942062666,443.93546710474,454.39452662825,462.55931114028,473.45714317395,481.96445416288,493.31947147471,502.18367855499,514.01505508798,523.2511306012],description:"Semisuper temperament, g=71.146064, p=600, 5-limit"},semithirds:{frequencies:[13.75,13.81661017188,13.90316796691,13.99026794524,14.07791366516,14.14611237417,14.23473442257,14.3239115844,14.41364750281,14.48347263281,14.57420816344,14.665512046,14.73655738771,14.82887834882,14.92177776458,15.01525908647,15.08799873642,15.18252139242,15.27763629821,15.37334698758,15.4478213521,15.54459820959,15.64198144101,15.73997475533,15.81622511342,15.91530993122,16.01501558389,16.11534586889,16.19341466585,16.29486248479,16.39694594444,16.47637891809,16.57959953527,16.68346670883,16.78798468204,16.86931199442,16.97499424439,17.08133847,17.18834901569,17.27161584349,17.37981843193,17.48869878298,17.59826134469,17.68351394199,17.7942969746,17.90577393328,18.01794937217,18.10523509614,18.21866011204,18.33279560295,18.42160666689,18.53701356879,18.6531435747,18.77000099922,18.86093005309,18.97908920954,19.09798871479,19.21763298632,19.3107305405,19.43170758802,19.55344264036,19.67594033402,19.77125798984,19.89512013023,20.01975835255,20.14517740386,20.24276822054,20.36958425827,20.49719488615,20.62560496443,20.72552315291,20.85536353332,20.98601745346,21.08768161561,21.21979095359,21.352727802,21.48649759166,21.59058626784,21.72584618454,21.86195334633,21.99891331359,22.10548432428,22.24396995552,22.38332303719,22.52354926226,22.63266180681,22.7744500803,22.91712649141,23.06069686887,23.17241155847,23.3175812365,23.46366023269,23.57732716458,23.72503340608,23.87366512928,24.02322785632,24.1396055475,24.29083432682,24.44301065897,24.59614033986,24.71529329517,24.87012861873,25.02593409262,25.18271565096,25.30471019771,25.46323807533,25.62275923969,25.78327976642,25.90818367164,26.07049216435,26.23381763196,26.36090411207,26.52604894185,26.69222821075,26.85944870765,26.98956598001,27.15864922771,27.32879158412,27.5],description:"Semithirds temperament, g=193.199615, 5-limit"},sensisynch19:{frequencies:[261.6255653006,272.4389540986,281.73678149918,293.38139793239,303.39395317428,313.74821628003,326.71591476706,337.86611241253,351.83064080634,363.83795665907,376.25506171692,391.80626469239,405.17787315281,421.92450060765,436.32398762558,454.35793210906,469.86431365505,485.89989602801,505.98288939536,523.2511306012],description:"Sensi[19] in synch (brat=-1) tuning, generator ~162/125 satisfies g^9-g^7-4=0"},serre_enh:{frequencies:[261.6255653006,265.7783520514,279.06726965397,348.83408706747,392.4383479509,398.6675280771,418.60090448096,523.2511306012],description:"Dorian mode of the Serre's Enharmonic"},"sev-elev":{frequencies:[261.6255653006,279.06726965397,294.32876096318,305.22982618403,327.03195662575,336.37572681506,359.73515228832,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:'"Seven-Eleven Blues" of Pitch Palette'},sha:{frequencies:[261.6255653006,266.96486255163,280.31310567921,284.82183961519,290.63452941521,294.32876096318,300.33547037059,305.16625703708,320.42456924675,326.96384715385,343.31203882349,348.83408706747,355.95315006884,373.75080757229,392.4383479509,400.44729382745,406.8883429195,420.46965851882,427.23275920923,435.9517939049,457.74938532681,480.63685362987,490.44577048562,498.33441009638,523.2511306012],description:"Three chains of sqrt(3/2) separated by 10/7"},shahin:{frequencies:[261.6255653006,277.01530443593,282.55561052465,294.32876096318,310.50067090621,317.47821407264,328.55303549378,348.83408706747,357.66532977804,371.78369805875,376.74081403286,392.4383479509,415.52295665389,428.11456140098,441.49314144476,463.20591889287,478.90781444856,495.71159741166,523.2511306012],description:"Mohajeri Shahin Iranian style scale, TL 9-4-2006"},shahin_wt:{frequencies:[261.6255653006,276.93928561067,294.25491037444,311.47852302926,329.62755691287,348.92163548373,370.73795561568,392.4383479509,415.30469757995,439.61371330969,467.10055427519,494.44133512215,523.2511306012],description:"Mohajeri Shahin, well temperament, TL 28-12-2006"},shalfun:{frequencies:[261.6255653006,269.43930514995,277.46904793785,285.74220762407,294.32876096318,302.80736724606,311.45900631024,320.30554027987,329.50323085718,338.98103822311,348.83408706747,359.12912189513,369.78878487717,380.87868001252,392.4383479509,404.24222079821,416.2697936366,428.68354137408,441.49314144476,454.4477424016,467.68960547122,481.19471271032,494.94053216156,508.90014647073,523.2511306012],description:"d'Erlanger vol.5, p.40. After Alexandre ^Salfun (Chalfoun)"},"sharm1c-conm":{frequencies:[261.6255653006,305.22982618403,318.50068819203,332.97799220076,406.97310157871,430.91269578922,457.84473927605,523.2511306012],description:"Subharm1C-ConMixolydian"},"sharm1c-conp":{frequencies:[261.6255653006,313.95067836072,330.47439827444,348.83408706747,418.60090448096,448.50096908674,483.00104363188,523.2511306012],description:"Subharm1C-ConPhryg"},"sharm1c-dor":{frequencies:[261.6255653006,319.76457981184,338.57426097725,359.73515228832,383.71749577421,411.12588832951,479.64686971777,547.03527290125,523.2511306012],description:"Subharm1C-Dorian"},"sharm1c-lyd":{frequencies:[261.6255653006,309.19384990071,323.91736656265,340.11323489078,382.37582620857,377.90359432309,485.87604984397,503.87145909745,523.2511306012],description:"Subharm1C-Lydian"},"sharm1c-mix":{frequencies:[261.6255653006,305.22982618403,318.50068819203,332.97799220076,366.27579142084,457.84473927605,488.36772189445,523.2511306012],description:"Subharm1C-Mixolydian"},"sharm1c-phr":{frequencies:[261.6255653006,313.95067836072,330.47439827444,348.83408706747,392.4383479509,483.00104363188,502.32108537715,523.2511306012],description:"Subharm1C-Phrygian"},"sharm1e-conm":{frequencies:[261.6255653006,318.50068819203,325.57848126297,332.97799220076,430.91269578922,443.97065626768,457.84473927605,523.2511306012],description:"Subharm1E-ConMixolydian"},"sharm1e-conp":{frequencies:[261.6255653006,330.47439827444,339.40613876835,348.83408706747,448.50096908674,465.11211608996,483.00104363188,523.2511306012],description:"Subharm1E-ConPhrygian"},"sharm1e-dor":{frequencies:[261.6255653006,338.57426097725,348.83408706747,359.73515228832,383.71749577421,411.12588832951,500.50108144463,511.62332769895,523.2511306012],description:"Subharm1E-Dorian"},"sharm1e-lyd":{frequencies:[261.6255653006,323.91736656265,331.81779013735,340.11323489078,382.37582620857,377.90359432309,503.87145909745,513.37846775967,523.2511306012],description:"Subharm1E-Lydian"},"sharm1e-mix":{frequencies:[261.6255653006,318.50068819203,325.57848126297,332.97799220076,366.27579142084,488.36772189445,505.20798816668,523.2511306012],description:"Subharm1E-Mixolydian"},"sharm1e-phr":{frequencies:[261.6255653006,330.47439827444,339.40613876835,348.83408706747,392.4383479509,502.32108537715,512.57253609913,523.2511306012],description:"Subharm1E-Phrygian"},"sharm2c-15":{frequencies:[261.6255653006,327.03195662575,341.25073734861,356.76213450082,392.4383479509,461.69217405988,490.54793493862,523.2511306012],description:"Subharm2C-15-Harmonia"},"sharm2c-hypod":{frequencies:[261.6255653006,322.00069575458,334.88072358477,348.83408706747,364.00078650518,380.54627680087,465.11211608996,492.47165233054,523.2511306012],description:"SHarm2C-Hypodorian"},"sharm2c-hypol":{frequencies:[261.6255653006,307.79478270659,327.03195662575,348.83408706747,373.75080757229,402.50086969323,475.68284600109,498.33441009638,523.2511306012],description:"SHarm2C-Hypolydian"},"sharm2c-hypop":{frequencies:[261.6255653006,336.37572681506,348.83408706747,362.25078272391,376.74081403286,392.4383479509,470.92601754108,495.71159741166,523.2511306012],description:"SHarm2C-Hypophrygian"},"sharm2e-15":{frequencies:[261.6255653006,341.25073734861,348.83408706747,356.76213450082,392.4383479509,490.54793493862,506.37206187213,523.2511306012],description:"Subharm2E-15-Harmonia"},"sharm2e-hypod":{frequencies:[261.6255653006,334.88072358477,341.71502406609,348.83408706747,364.00078650518,380.54627680087,492.47165233054,507.3950357345,523.2511306012],description:"SHarm2E-Hypodorian"},"sharm2e-hypol":{frequencies:[261.6255653006,327.03195662575,337.58137458142,348.83408706747,373.75080757229,402.50086969323,498.33441009638,510.48890790361,523.2511306012],description:"SHarm2E-Hypolydian"},"sharm2e-hypop":{frequencies:[261.6255653006,348.83408706747,355.41586229515,362.25078272391,376.74081403286,392.4383479509,495.71159741166,509.10920815252,523.2511306012],description:"SHarm2E-Hypophrygian"},sherwood:{frequencies:[261.6255653006,279.50101530337,292.73346657716,312.73435005323,327.54017122074,349.91920725962,366.48547573919,391.52543233055,418.27599117656,438.07873640926,468.01000025525,490.16733894289,523.65750116998],description:"Sherwood's improved meantone temperament"},shrutar:{frequencies:[261.6255653006,269.80136421624,277.49581689502,285.40970760065,294.32876096318,304.37698984459,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,368.95121675679,379.48299988042,392.4383479509,405.83598431812,417.42065019394,428.11456140098,441.49314144476,457.84473927605,470.92601754108,490.54793493862,505.97733342682,523.2511306012],description:"Paul Erlich's Shrutar tuning (from 9th fret) tempered with Dave Keenan"},shrutar_temp:{frequencies:[261.6255653006,269.67683152447,277.97586744827,286.53029793775,295.34798250635,304.4370214407,313.80576690868,327.74897996102,337.83512841993,348.23166805304,358.94815083964,369.99442271164,381.38063259971,393.11724175776,405.21503337437,417.68512248001,430.53896367224,443.78837151315,463.50705251482,477.77102045752,492.47394780842,507.62934310616,523.2511306012],description:"Shrutar temperament, 11-limit, g=52.474, 1/2 oct."},shrutart:{frequencies:[261.6255653006,269.83675183105,278.27349931787,286.14641333958,294.32706056425,305.2349557921,313.94319125793,327.02936607233,337.2932679302,348.82502010853,358.79758764604,369.99442271164,381.540672377,392.44854854484,405.86600994967,418.6042204156,436.0530078362,448.49343183014,465.11480315564,478.41198231361,491.94721442498,507.32849364948,523.2511306012],description:"Paul Erlich's 'Shrutar' tuning tempered by Dave Keenan, TL 29-12-2000"},siamese:{frequencies:[261.6255653006,269.26067151764,288.95340229325,296.22023396764,319.13574119147,352.26720984209,362.5475414329,388.79334481031,400.18585940536,429.40436513853,443.77760270734,473.98350631811,523.2511306012],description:"Siamese Tuning, after Clem Fortuna's Microtonal Guide"},silbermann1:{frequencies:[261.6255653006,275.15551885617,293.66476791741,312.53552595124,327.77163799145,349.82028288879,367.9112241576,391.99543598175,411.56972129721,438.75957425603,467.74568907204,491.10256480205,523.2511306012],description:"Gottfried Silbermann's temperament nr. 1"},silbermann2:{frequencies:[261.6255653006,275.00020270933,293.00227310437,312.18279369479,328.14198392915,349.6228209638,367.49599295996,391.5530240856,411.56972129721,438.51190905657,467.21778431035,491.10256480205,523.2511306012],description:"Gottfried Silbermann's temperament nr. 2, 1/6 Pyth. comma meantone"},silbermann2a:{frequencies:[261.6255653006,275.00020270933,293.00227310437,310.77584116741,328.14198392915,349.6228209638,367.49599295996,391.5530240856,411.56972129721,438.51190905657,467.21778431035,491.10256480205,523.2511306012],description:"Modified Silbermann's temperament nr. 2, also used by Hinsz in Midwolda"},silver:{frequencies:[261.6255653006,277.18807786937,293.58315284916,311.09098010692,329.53543886896,349.23174545031,369.98176232374,391.84186131702,415.18563115404,439.77824302677,466.03998256716,493.70667148145,523.2511306012],description:"Equal beating chromatic scale, A.L.Leigh Silver JASA 29/4, 476-481, 1957"},silver_10:{frequencies:[261.6255653006,270.26884019355,294.27266239927,320.41022551991,330.99364634362,360.39280035711,392.40094712608,405.36462386145,441.36692569059,480.56953386201,523.2511306012],description:"Ten-tone MOS from 350.9 cents"},silver_11:{frequencies:[261.6255653006,277.73657748574,294.83971256733,315.81001885226,335.25773244276,355.90304440354,381.21644531515,404.69191411574,429.61301214396,460.16899244324,488.50639225338,523.2511306012],description:"Eleven-tone MOS from 1+sqr(2), 1525.864 cents"},silver_11a:{frequencies:[261.6255653006,272.21316796874,283.22923537857,314.22802528801,326.94437231289,340.17533123945,377.40674067136,392.67983758722,408.5710143206,453.28817432381,471.63208149661,523.2511306012],description:"Eleven-tone MOS from 317.17 cents"},silver_11b:{frequencies:[261.6255653006,281.48899567641,302.85877036442,316.87090334834,340.92873240472,366.81310701257,383.78194911277,412.91987382947,444.27004083312,464.82473992747,500.11279777071,523.2511306012],description:"Eleven-tone MOS from 331.67 cents"},silver_7:{frequencies:[261.6255653006,277.73649727228,315.81000061035,335.2576162513,381.21640127531,404.69175048432,460.16888612163,523.2511306012],description:"Seven-tone MOS from 1+sqr(2), 1525.864 cents"},silver_8:{frequencies:[261.6255653006,288.49477506296,306.46277751246,337.93681424842,358.98416079003,395.852196628,420.50662316693,492.57276348379,523.2511306012],description:"Eight-tone MOS from 273.85 cents"},silver_9:{frequencies:[261.6255653006,294.18258755347,307.6617709921,345.94759796409,361.79860795042,406.82129262791,425.46148093979,478.40645551359,500.32661205896,523.2511306012],description:"Nine-tone MOS from 280.61 cents"},silvermean:{frequencies:[261.6255653006,286.15296204753,327.03195662575,345.42750418595,392.4383479509,416.96574469783,474.19633710734,523.2511306012],description:"First 6 approximants to the Silver Mean, 1+ sqr(2) reduced by 2/1"},simonton:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,465.11211608996,494.18162334558,523.2511306012],description:"Simonton Integral Ratio Scale, JASA 25/6 (1953): A new integral ratio scale"},sims:{frequencies:[261.6255653006,272.52663052146,283.42769574232,294.32876096318,305.22982618403,316.13089140489,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Ezra Sims' 18-tone mode"},sims2:{frequencies:[261.6255653006,269.80136421624,277.97716313189,286.15296204753,294.32876096318,302.50455987882,310.68035879446,318.85615771011,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Sims II"},sims_24:{frequencies:[261.6255653006,269.80136421624,272.52663052146,277.97716313189,283.42769574232,286.15296204753,294.32876096318,302.50455987882,305.22982618403,310.68035879446,316.13089140489,318.85615771011,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"See his article, Reflections on This and That, 1991 p.93-106"},sin:{frequencies:[261.6255653006,275.08939827539,302.09917071192,334.63165645627,369.99442271164,407.01712569342,445.10399729103,483.9175316883,523.2511306012,562.97086325858,602.98541169118,643.23087116255,683.66056756853,724.23972686276,764.94197926416,805.74682982871,846.63811574624,887.6028851904,928.63083777952,969.71346974542,1010.84345850104,1052.01529432917],description:"1/sin(2pi/n), n=4..25"},sinemod12:{frequencies:[261.6255653006,270.6035983646,282.0485507085,292.16840832754,301.82804372114,314.42520179993,326.24260278214,336.76433478807,350.4641458176,364.21811789193,375.86233664064,390.61306119732,406.50371126161,419.61372202861,435.38454314112,453.55584308858,468.551249676,485.36279478778,505.89080731022,523.2511306012],description:"Sine modulated F=12, A=-.08203754"},sinemod8:{frequencies:[261.6255653006,272.43905323978,281.98404270447,290.99567087708,301.68076007415,314.40050256998,326.99158834066,337.97331861211,348.96407538813,362.38276875396,377.76595534172,392.29216556304,405.04934945717,418.6525822649,435.418746849,453.77727371169,470.43955130022,485.47382867757,502.48255971303,523.2511306012],description:"Sine modulated F=8, A=.11364155. Deviation minimal3/2, 4/3, 5/4, 6/5, 5/3, 8/5"},singapore:{frequencies:[261.6255653006,291.46787011619,321.35550581422,354.51258839996,385.70651737906,428.95813651779,462.1422075194,523.2511306012],description:"An observed xylophone tuning from Singapore"},sintemp6:{frequencies:[261.6255653006,277.18263097687,292.42974339757,312.08834713741,327.870830746,349.91196330865,369.15973155124,391.11111150212,416.11779639122,437.6550518996,467.60417912673,491.80624587316,523.2511306012],description:"Sine modulated fifths, A=1/6 Pyth, one cycle, f0=-90 degrees"},sintemp6a:{frequencies:[261.6255653006,276.17281343288,293.21211353711,310.64741311165,328.42667470471,349.22823143301,368.43838932195,391.77416758435,414.19655102258,438.82595961933,465.90062756558,491.80624587316,523.2511306012],description:"Sine modulated fifths, A=1/12 Pyth, one cycle, f0= D-A"},sintemp_19:{frequencies:[261.6255653006,272.86445838226,281.30973389888,292.50627485027,304.14845459111,313.56198179795,327.03195662575,338.65502209741,350.02113164026,365.30494475029,376.98581738134,391.19763056219,407.47965586966,419.94695489748,437.42555500456,453.91586039553,468.43012697388,488.88431353627,505.29249383438,523.2511306012],description:"Sine modulated thirds, A=7.366 cents, one cycle over fifths, f0=90 degrees"},sintemp_7:{frequencies:[261.6255653006,291.06608881088,319.67397341855,351.09362859375,390.60192440975,432.07134328681,473.03044489876,523.2511306012],description:"Sine modulated fifths, A=8.12 cents, one cycle, f0=90 degrees"},slen_pel:{frequencies:[261.6255653006,261.6255653006,283.17034563789,298.45295203849,338.50336851425,364.68988616898,346.01554587335,389.06292924114,398.38689497567,420.13030572059,455.51656649021,493.31307433255,523.2511306012],description:"Pelog white, Slendro black"},slen_pel16:{frequencies:[261.6255653006,261.6255653006,285.30470202322,285.30470202322,297.93622032612,311.12698372208,339.28638158975,386.37547528213,386.37547528213,403.48177901006,421.34544350737,440,523.2511306012],description:"16-tET Slendro and Pelog"},slen_pel23:{frequencies:[261.6255653006,261.6255653006,295.14355885465,295.14355885465,286.38154466424,343.14246862785,313.47984535337,398.94762483098,398.94762483098,387.10394860926,450.05828708186,423.73315704439,523.2511306012],description:"23-tET Slendro and Pelog"},slen_pel_jc:{frequencies:[261.6255653006,261.6255653006,299.00064605783,299.00064605783,279.06726965397,341.71502406609,348.83408706747,392.4383479509,392.4383479509,392.4383479509,448.50096908674,418.60090448096,523.2511306012],description:"Slendro/JC PELOG S1c,P1c#,S2d,eb,P2e,S3f,P3f#,S4g,ab,P4a,S5bb,P5b"},slen_pel_schmidt:{frequencies:[261.6255653006,261.6255653006,294.32876096318,305.22982618403,327.03195662575,348.83408706747,359.73515228832,392.4383479509,392.4383479509,457.84473927605,457.84473927605,490.54793493862,523.2511306012],description:"Dan Schmidt (Pelog white, Slendro black)"},slendro:{frequencies:[261.6255653006,298.45295203849,346.01554587335,398.38689497567,455.51656649021,523.2511306012],description:"Observed Javanese Slendro scale, Helmholtz/Ellis p. 518, nr.94"},slendro10:{frequencies:[261.6255653006,304.21577360535,342.24274530602,391.67780832635,463.92905474816,523.2511306012],description:"Low gender from Singaraja (banjar Lod Peken), Bali. 1/1=172 Hz. McPhee, 1966."},slendro11:{frequencies:[261.6255653006,299.11221417218,343.62760815601,387.36203100102,452.96366529656,523.2511306012],description:"Low gender from Sawan, Bali. 1/1=167.5 Hz. McPhee, 1966."},slendro2:{frequencies:[261.6255653006,299.13295468097,343.58614396263,395.91119354826,450.08870388136,523.2511306012],description:"Gamelan slendro from Ranchaiyuh, distr. Tanggerang, Batavia. 1/1=282.5 Hz"},slendro3:{frequencies:[261.6255653006,298.44694115772,339.14425131559,391.46936437571,453.48431318771,522.28214737536],description:"Gamelan kodok ngorek. 1/1=270 Hz"},slendro4:{frequencies:[261.6255653006,294.5074669504,344.54514337401,400.3014113889,467.49486258632,523.2511306012],description:"Low gender in saih lima from Kuta, Bali. 1/1=183 Hz. McPhee, 1966"},slendro5_1:{frequencies:[261.6255653006,299.00064605783,336.37572681506,392.4383479509,448.50096908674,523.2511306012],description:"A slendro type pentatonic which is based on intervals of 7; from Lou Harrison"},slendro5_2:{frequencies:[261.6255653006,305.22982618403,348.83408706747,392.4383479509,457.84473927605,523.2511306012],description:"A slendro type pentatonic which is based on intervals of 7, no. 2"},slendro5_4:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,448.50096908674,523.2511306012],description:"A slendro type pentatonic which is based on intervals of 7, no. 4"},slendro6:{frequencies:[261.6255653006,295.05549864457,341.56671025356,398.25224940202,461.478427683,523.2511306012],description:"Low gender from Klandis, Bali. 1/1=180 Hz. McPhee, 1966"},slendro8:{frequencies:[261.6255653006,309.85821141747,350.78288084997,406.32350365121,467.71050779996,523.2511306012],description:"Low gender from Tabanan, Bali. 1/1=179 Hz. McPhee, 1966."},slendro9:{frequencies:[261.6255653006,299.00064605783,336.37572681506,388.70083987518,448.50096908674,523.2511306012],description:"Low gender from Singaraja (banjar Panataran), Bali. 1/1=175 Hz. McPhee, 1966."},slendro_7_1:{frequencies:[261.6255653006,299.00064605783,341.71502406609,392.4383479509,448.50096908674,523.2511306012],description:"Septimal Slendro 1, From HMSL Manual, also Lou Harrison, Jacques Dudon"},slendro_7_2:{frequencies:[261.6255653006,294.32876096318,343.38355445704,392.4383479509,448.50096908674,523.2511306012],description:"Septimal Slendro 2, From Lou Harrison, Jacques Dudon's APTOS"},slendro_7_3:{frequencies:[261.6255653006,294.32876096318,336.37572681506,392.4383479509,448.50096908674,523.2511306012],description:'Septimal Slendro 3, Harrison, Dudon, called "MILLS" after Mills Gamelan'},slendro_7_4:{frequencies:[261.6255653006,294.32876096318,343.38355445704,392.4383479509,457.84473927605,523.2511306012],description:'Septimal Slendro 4, from Lou Harrison, Jacques Dudon, called "NAT"'},slendro_7_5:{frequencies:[261.6255653006,305.22982618403,343.38355445704,400.61414686654,467.3831713443,523.2511306012],description:"Septimal Slendro 5, from Jacques Dudon"},slendro_7_6:{frequencies:[261.6255653006,299.00064605783,341.71502406609,390.53145607553,455.62003208812,523.2511306012],description:"Septimal Slendro 6, from Robert Walker"},slendro_a1:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,457.84473927605,523.2511306012],description:`Dudon's Slendro A1, "Seven-Limit Slendro Mutations", 1/1 8:2'94 hexany 1.3.7.21`},slendro_a2:{frequencies:[261.6255653006,299.00064605783,341.71502406609,398.6675280771,448.50096908674,523.2511306012],description:`Dudon's Slendro A2 from "Seven-Limit Slendro Mutations", 1/1 8:2 Jan 1994`},slendro_alv:{frequencies:[261.6255653006,299.00064605783,348.83408706747,406.97310157871,465.11211608996,523.2511306012],description:"Bill Alves, slendro for Gender Barung, 1/1 vol.9 no.4, 1997. 1/1=282.86"},slendro_ang:{frequencies:[261.6255653006,299.00064605783,340.82516392797,388.43396508487,445.83123341082,523.2511306012],description:"Gamelan Angklung Sangsit, North Bali. 1/1=294 Hz"},slendro_av:{frequencies:[261.6255653006,298.97057995496,344.02264297658,395.86362945285,454.20288100724,525.67465946865],description:"Average of 30 measured slendro gamelans, W. Surjodiningrat et al., 1993."},slendro_dudon:{frequencies:[261.6255653006,305.22982618403,348.83408706747,399.70572476481,457.84473927605,523.2511306012],description:'Dudon\'s Slendro from "Fleurs de lumie`re"'},slendro_gum:{frequencies:[261.6255653006,305.03156112838,348.43777142572,394.8168394034,470.92601754108,525.62941881859],description:"Gumbeng, bamboo idiochord from Banyumas. 1/1=440 Hz"},slendro_ky1:{frequencies:[261.6255653006,297.58776037991,344.33874539242,394.68595744625,449.52853279627,523.2511306012],description:"Kyahi Kanyut Me`sem slendro, Mangku Nagaran, Solo. 1/1=291 Hz"},slendro_ky2:{frequencies:[261.6255653006,302.42139140287,345.87786599062,395.54249276388,453.1886900261,523.2511306012],description:"Kyahi Pengawe' sari, Paku Alaman, Jogya. 1/1=295 Hz"},slendro_laras:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,448.50096908674,523.2511306012,598.00129211566,697.66817413493],description:'Lou Harrison, gamelan "Si Betty"'},slendro_m:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,448.50096908674,523.2511306012],description:`Dudon's Slendro M from "Seven-Limit Slendro Mutations", 1/1 8:2 Jan 1994`},slendro_madu:{frequencies:[261.6255653006,300.52885648597,345.61604384578,394.49404533893,447.94973572445,522.94897617031],description:"Sultan's gamelan Madoe kentir, Jogjakarta, Jaap Kunst"},slendro_mat:{frequencies:[261.6255653006,261.6255653006,299.00064605783,299.00064605783,341.71502406609,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,455.62003208812,457.84473927605,523.2511306012],description:`Dudon's Slendro Matrix from "Seven-Limit Slendro Mutations", 1/1 8:2 Jan 1994`},slendro_pa:{frequencies:[261.6255653006,304.19649364034,353.69443592699,411.24653512154,478.16333951147,523.2511306012],description:'"Blown fifth" primitive slendro, von Hornbostel'},slendro_pas:{frequencies:[261.6255653006,300.35531433711,343.03050002254,393.12919962609,450.54468214486,523.2511306012],description:"Gamelan slendro of regent of Pasoeroean, Jaap Kunst"},slendro_pb:{frequencies:[261.6255653006,304.72408298441,342.83241505062,399.30842833955,449.24533531117,523.2511306012],description:'"Blown fifth" medium slendro, von Hornbostel'},slendro_pc:{frequencies:[261.6255653006,299.48910562989,342.83241505062,392.44854854484,449.24533531117,523.2511306012],description:'"Blown fifth" modern slendro, von Hornbostel'},slendro_pliat:{frequencies:[261.6255653006,299.73468146833,339.98478643783,393.08060743874,447.03290350508,523.2511306012,599.46936293666,679.96957287566,786.16121487749,894.06580701017],description:"Gender wayang from Pliatan, South Bali (Slendro), 1/1=305.5 Hz"},slendro_q13:{frequencies:[261.6255653006,307.00725675226,360.2608752926,400.8015646157,470.32478922042,523.2511306012],description:"13-tET quasi slendro, Blackwood"},slendro_s1:{frequencies:[261.6255653006,299.00064605783,348.83408706747,398.6675280771,457.84473927605,523.2511306012],description:`Dudon's Slendro S1 from "Seven-Limit Slendro Mutations", 1/1 8:2 Jan 1994`},slendro_s2:{frequencies:[261.6255653006,299.00064605783,341.71502406609,398.6675280771,455.62003208812,523.2511306012],description:"Dudon's Slendro S2"},slendro_udan:{frequencies:[261.6255653006,305.22982618403,351.32575911795,402.50086969323,465.11211608996,523.2511306012],description:"Slendro Udan Mas (approx)"},slendro_wolf:{frequencies:[261.6255653006,298.18866107946,339.86157848985,395.0032340925,450.20632964813,523.2511306012],description:"Daniel Wolf's slendro. Tuning List 30 5 1997"},slendrob1:{frequencies:[261.6255653006,307.44024341205,355.66611281954,409.9203247543,476.83364134848,523.2511306012],description:"Gamelan miring of Musadikrama, desa Katur, Bajanegara. 1/1=434 Hz"},slendrob2:{frequencies:[261.6255653006,307.55978097874,346.50416420081,398.42969909174,449.35693171058,523.2511306012],description:"Gamelan miring from Bajanegara. 1/1=262 Hz"},slendrob3:{frequencies:[261.6255653006,304.90191053936,342.27700149692,398.33972372326,447.51732140012,523.2511306012],description:"Gamelan miring from Ngumpak, Bajanegara. 1/1=266 Hz"},slendroc1:{frequencies:[261.6255653006,297.59222964268,344.42030317161,394.72197985873,449.50490455178,523.2511306012],description:"Kyahi Kanyut mesem slendro (Mangku Nagaran Solo). 1/1=291 Hz"},slendroc2:{frequencies:[261.6255653006,302.44445076078,346.01554587335,396.09235530397,453.15466093696,523.2511306012],description:"Kyahi Pengawe sari (Paku Alaman, Jogja). 1/1=295 Hz."},slendroc3:{frequencies:[261.6255653006,301.39807245198,344.42030317161,395.40657391157,451.84778706363,523.2511306012],description:"Gamelan slendro of R.M. Jayadipura, Jogja. 1/1=231 Hz"},slendroc4:{frequencies:[261.6255653006,299.14332201883,343.8239850859,396.09235530397,450.28451247858,523.2511306012],description:"Gamelan slendro, Rancha iyuh, Tanggerang, Batavia. 1/1=282.5 Hz"},slendroc5:{frequencies:[261.6255653006,299.83528893666,340.07120590121,393.12919962609,447.17417015401,523.2511306012],description:"Gender wayang from Pliatan, South Bali. 1/1=611 Hz"},slendroc6:{frequencies:[261.6255653006,296.73398952435,343.8239850859,396.7793260952,453.9405988926,527.19506190947,607.33963549452,696.44215167899,797.23415748628,918.4302691641,1071.58188326661],description:"from William Malm: Music Cultures of the Pacific, the Near East and Asia."},slendrod1:{frequencies:[261.6255653006,292.47977325983,340.6610152784,389.06292924114,444.85552088095,523.2511306012],description:"Gender wayang from Ubud (S. Bali). 1/1=347 Hz"},smith_eh:{frequencies:[261.6255653006,272.7117507892,292.30354792656,313.30283124826,326.5788018031,350.04044239751,364.87314355143,391.08587539224,407.65784362321,436.94425707006,468.33462614046,488.17995458879,523.2511306012],description:"Robert Smith's Equal Harmony temperament (1749)"},smith_mq:{frequencies:[261.6255653006,273.37438418823,292.50629623572,312.97714101186,327.03200500996,349.91910755601,365.63292511375,391.22148485648,408.79006910398,437.39894995248,468.01000388518,489.02693031834,523.2511306012],description:"Robert Smith approximation of quarter comma meantone fifth"},"scalamakesrc2\\smithgw-ball":{frequencies:[261.6255653006,267.07609791103,272.52663052146,274.70684356563,280.31310567921,286.15296204753,294.32876096318,300.46061014991,305.22982618403,306.59245933664,313.95067836072,320.49131749323,327.03195662575,333.84512238879,336.37572681506,343.38355445704,350.39138209902,357.69120255941,366.27579142084,367.91095120397,373.75080757229,381.53728273004,392.4383479509,400.61414686654,408.78994578219,412.06026534844,420.46965851882,429.2294430713,436.04260883433,448.50096908674,457.84473927605,467.18850946536,470.92601754108,476.92160341255,480.73697623985,490.54793493862,500.76768358318,515.07533168556,523.2511306012],description:"Ball 2 around tetrad lattice hole"},smithgw46:{frequencies:[261.6255653006,273.72380653152,313.47993226845,327.97605323154,364.46098649856,392.98113253789,436.69740466987,456.89141950378,523.2511306012],description:'Gene Ward Smith 46-tET subset "Star"'},smithgw46a:{frequencies:[261.6255653006,282.09853500802,313.47993226845,327.97605323154,375.61187043063,392.98113253789,436.69740466987,470.87026054824,523.2511306012],description:'46-tET version of "Star", alternative version'},smithgw72a:{frequencies:[261.6255653006,285.30470202322,299.37379946195,326.46944327063,342.56848033562,373.57357677338,391.99543598175,427.47405410759,435.78442404634,457.27406033445,498.66089874196,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72c:{frequencies:[261.6255653006,279.86396690685,305.19382000629,326.46944327063,349.22823143301,391.99543598175,419.32216217931,457.27406033445,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72d:{frequencies:[261.6255653006,305.19382000629,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72e:{frequencies:[261.6255653006,279.86396690685,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72f:{frequencies:[261.6255653006,326.46944327063,349.22823143301,435.78442404634,466.16376151809,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72g:{frequencies:[261.6255653006,326.46944327063,349.22823143301,391.99543598175,419.32216217931,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72h:{frequencies:[261.6255653006,279.86396690685,314.13668154225,349.22823143301,391.99543598175,435.78442404634,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 09-01-2002"},smithgw72i:{frequencies:[261.6255653006,279.86396690685,293.66476791741,314.13668154225,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,435.78442404634,470.6732130613,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset version of Duodene, TL 02-06-2002"},smithgw72j:{frequencies:[261.6255653006,274.52698453615,305.19382000629,326.46944327063,349.22823143301,366.44956000397,391.99543598175,435.78442404634,457.27406033445,489.15147723638,523.2511306012],description:"{225/224, 441/440} tempering of decad, 72-et version (2002)"},smithgw84:{frequencies:[261.6255653006,286.48426603331,306.03443598155,335.11270457212,357.98136125932,391.99543598175,418.74586628806,458.53356119912,489.82466832727,523.2511306012],description:'Gene Ward Smith 84-tET subset, 11-limit temperament "Orwell", 2002'},smithgw_18:{frequencies:[261.6255653006,272.52663052146,280.31310567921,286.15296204753,294.32876096318,306.59245933664,327.03195662575,343.38355445704,350.39138209902,367.91095120397,381.53728273004,392.4383479509,408.78994578219,420.46965851882,436.04260883433,457.84473927605,467.18850946536,490.54793493862,523.2511306012],description:"Gene Ward Smith chord analogue to periodicity blocks, TL 12-07-2002"},smithgw_21:{frequencies:[261.6255653006,267.07609791103,280.31310567921,286.15296204753,299.00064605783,305.22982618403,320.49131749323,327.03195662575,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,398.6675280771,418.60090448096,427.14378008261,448.50096908674,457.84473927605,478.40103369253,488.36772189445,512.57253609913,523.2511306012],description:"Gene Ward Smith symmetrical 7-limit JI version of Blackjack, TL 10-5-2002"},smithgw_45:{frequencies:[261.6255653006,267.02002970726,269.13627541126,274.68560334708,276.86260193655,282.57123920205,288.39758300936,290.68325478745,296.67686217097,299.02814898089,305.19382000629,311.48661940174,313.95528147508,320.42873367481,322.96826575344,329.62755691287,336.42415617173,339.09045868095,346.08217376006,348.82502010853,356.01745236555,363.35818557229,366.23795155866,373.78942366597,376.75185941212,384.52011812375,392.44854854484,395.55886785613,403.71490654806,406.9145164708,415.30469757995,423.86787605389,427.22720671064,436.03621571368,439.49198556474,448.5538823653,457.80262665414,461.43090443914,470.94516310483,474.67759826036,484.46499093218,494.45418731234,498.37294408452,508.64890891624,512.68016480935,523.2511306012],description:"Gene Ward Smith large limma repeating 5-tone MOS"},smithgw_58:{frequencies:[261.6255653006,264.89588486686,267.57160087561,269.80136421624,274.70684356563,279.06726965397,282.55561052465,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,301.49231810831,305.22982618403,310.07474405997,313.95067836072,317.12189733406,319.76457981184,323.76163705949,327.03195662575,332.97799220076,336.37572681506,340.54567384169,343.38355445704,348.83408706747,353.19451315581,356.76213450082,359.73515228832,366.27579142084,370.01329949656,373.75080757229,380.54627680087,383.71749577421,387.59343007496,392.4383479509,398.6675280771,401.98975747775,406.97310157871,411.12588832951,418.60090448096,423.83341578697,428.11456140098,431.68218274599,436.04260883433,441.49314144476,448.50096908674,452.23847716247,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,484.4917875937,490.54793493862,498.33441009638,507.3950357345,511.62332769895,516.79124009995,523.2511306012],description:"Gene Ward Smith 58-tone epimorphic superset of Partch's 43-tone scale"},smithgw_9:{frequencies:[261.6255653006,279.06726965397,305.22982618403,327.03195662575,348.83408706747,392.4383479509,418.60090448096,448.50096908674,490.54793493862,523.2511306012],description:'Gene Ward Smith "Miracle-Magic square" tuning, genus chromaticum of ji_12a'},"smithgw_al-baked":{frequencies:[261.6255653006,277.59364499865,293.85651796007,311.0721560172,330.05816364769,349.39467974592,369.86402907174,392.4383479509,415.42941801053,439.76742419786,466.60823379256,493.94455998605,522.88238970142],description:"Baked alaska, with beat ratios of 2 and 3/2"},"smithgw_al-fried":{frequencies:[261.6255653006,277.00141553195,293.28091128458,310.96067952124,329.23597434237,348.58531822795,369.59898601143,391.32048195179,414.31855981944,439.29480556849,465.11235566178,492.44721175277,522.13326741512],description:"Fried alaska, with octave-fifth brats of 1 and 2"},smithgw_asbru:{frequencies:[261.6255653006,275.52281548997,293.66476791741,313.00128725319,329.62755691287,351.33206601369,367.77883484915,391.99543598175,415.30469757995,440,468.97204376297,490.92584627687,523.2511306012],description:"Modified bifrost (2003)"},smithgw_bifrost:{frequencies:[261.6255653006,275.07759559501,292.50627485027,311.03921839762,327.03195662575,349.91912034749,366.77012764335,391.22147055517,413.66634097248,437.39889945791,466.55882736321,489.02683710225,523.2511306012],description:"Six meantone fifths, four pure, two of sqrt(2048/2025 sqrt(5))"},smithgw_cauldron:{frequencies:[261.6255653006,275.03056468741,291.83931845209,312.58541512404,325.54230007562,350.31873582686,364.83969341757,390.77519652096,414.65779561271,435.90375768372,469.07960710644,486.243977751,523.2511306012],description:"Circulating temperament with two pure 9/7 thirds"},smithgw_ck:{frequencies:[195.99771799087,198.06437430898,200.15282320192,202.2632921446,203.72940721765,205.87758869102,208.04842120778,210.24214482145,211.76609376362,213.99901760782,216.25548480725,218.5357448459,220.11981156469,222.44081817627,224.78629944762,227.15651084977,228.80306427848,231.21563094,233.65363506284,235.34728316698,237.82885399313,240.33658984216,242.87076938222,244.63122826831,247.21069030843,249.81735238129,252.45149840587,254.28140507407,256.96262135434,259.67210915034,262.4101678886,264.31225911206,267.09924514556,269.91561641866,272.7616843206,274.73881033537,277.63573538138,280.56320805899,282.59688215652,285.57666497222,288.58786914203,291.63082264784,293.74472081062,296.84205135845,299.9720393359,303.13503255793,305.33231946532,308.55183127196,311.80529233825,315.09305703284,317.37702217863,320.72353853051,324.10533989702,327.52280172307,329.89686439088,333.37539375097,336.89059979959,339.33256534187,342.91058750208,346.52633537645,350.18021075922,352.71850659998,356.43767199462,360.19605541958,363.99406623991,366.6324923874,370.49837299068,374.40501441099,378.35285076765,381.09535716275,385.11373623244,389.17448849491,391.99543598174],description:"Catakleismic temperament, g=316.745, 11-limit"},smithgw_decab:{frequencies:[261.6255653006,274.70684356563,293.02063313667,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,439.53094970501,488.36772189445,523.2511306012],description:"(10/9) <==> (16/15) transform of decaa"},smithgw_decac:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,348.83408706747,373.75080757229,392.4383479509,418.60090448096,448.50096908674,498.33441009638,523.2511306012],description:"inversion of decaa"},smithgw_decad:{frequencies:[261.6255653006,280.31310567921,311.45900631024,327.03195662575,348.83408706747,373.75080757229,392.4383479509,436.04260883433,467.18850946536,498.33441009638,523.2511306012],description:"inversion of decab"},smithgw_diff13:{frequencies:[261.6255653006,274.70684356563,280.31310567921,299.00064605783,313.95067836072,320.35783506196,336.37572681506,406.97310157871,427.32175665765,436.04260883433,457.84473927605,488.36772189445,498.33441009638,523.2511306012],description:"mod 13 perfect difference set, 7-limit"},smithgw_dwarf6_7:{frequencies:[261.6255653006,299.00064605783,327.03195662575,373.75080757229,392.4383479509,448.50096908674,523.2511306012],description:"Dwarf(<6 10 14 17|)"},smithgw_exotic1:{frequencies:[261.6255653006,274.95996987324,293.39100498914,313.05750197389,327.96500300935,349.94905375768,367.78508905896,392.4383479509,411.12588832951,438.68435539504,468.09011223803,491.94750426812,523.2511306012],description:"Exotic temperament featuring four pure 14/11 thirds and two pure fifths"},smithgw_glumma:{frequencies:[261.6255653006,269.10058145205,299.00064605783,313.95067836072,327.03195662575,358.80077526939,373.75080757229,392.4383479509,436.04260883433,448.50096908674,457.84473927605,512.57253609913,523.2511306012],description:"Gene Smith's Glumma scale, 7-limit, 2002"},smithgw_gm:{frequencies:[261.6255653006,264.89588486686,269.80136421624,274.70684356563,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,373.75080757229,380.54627680087,387.59343007496,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,498.33441009638,507.3950357345,516.79124009995,523.2511306012],description:'Gene Ward Smith "Genesis Minus" periodicity block'},smithgw_graileq:{frequencies:[261.6255653006,274.83794140225,293.02845982215,312.42294214419,328.20064112269,350.39711148969,365.67350481015,391.53226450123,414.40482204179,438.61355268439,469.63029662389,490.10494633744,523.2511306012],description:"56% RMS grail + 44% JI grail"},smithgw_grailrms:{frequencies:[261.6255653006,274.64037495938,293.11160698959,312.82513967025,328.38692028068,350.6222941497,365.93760986436,391.94882001935,414.52240989365,438.39608269016,469.55771333591,490.068176414,523.2511306012],description:"RMS optimized Holy Grail"},smithgw_hahn12:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Hahn-reduced 12 note scale, Fokker block 225/224, 126/125, 64/63"},smithgw_hahn15:{frequencies:[261.6255653006,279.06726965397,290.69507255622,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Hahn-reduced 15 note scale"},smithgw_hahn16:{frequencies:[261.6255653006,280.31310567921,294.32876096318,299.00064605783,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,392.4383479509,408.78994578219,418.60090448096,436.04260883433,457.84473927605,488.36772189445,490.54793493862,523.2511306012],description:"Hahn-reduced 16 note scale"},smithgw_hahn19:{frequencies:[261.6255653006,274.70684356563,280.31310567921,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Hahn-reduced 19 note scale"},smithgw_hahn22:{frequencies:[261.6255653006,272.52663052146,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Hahn-reduced 22 note scale"},smithgw_indianred:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.11959049595,523.2511306012],description:"32805/32768 Hahn-reduced"},smithgw_klv:{frequencies:[261.6255653006,271.78681896552,282.34272472006,293.30861211826,314.10491445143,326.30440921209,338.97771913949,352.14324873572,377.11107157735,391.75765725694,406.97310157871,422.77949745352,452.75560414132,470.34014155688,488.60764618722,523.2511306012],description:"Variant of kleismic with 9/7 thirds, g=316.492"},smithgw_meandin:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,336.37572681506,348.83408706747,373.75080757229,392.4383479509,418.60090448096,448.50096908674,470.92601754108,504.56359022259,523.2511306012],description:"Gene Smith, inverted detempered 7-limit meantone"},smithgw_meanred:{frequencies:[261.6255653006,281.29980781121,291.99281841585,313.95067836072,325.57848126297,350.39138209902,363.36884069528,390.69417751556,420.46965851882,436.04260883433,468.83301301868,486.65469735975,523.2511306012],description:"171-et Hahn reduced rational Meantone[12]"},smithgw_meantune:{frequencies:[261.6255653006,273.55401844854,279.77233440758,292.56174910339,312.85829351777,327.16018629281,334.59705725462,349.85254391288,365.77071543428,374.29488261541,391.03456781852,418.40555295943,437.51985793188,468.14464283802,489.08159472971,500.47948461038,523.2511306012],description:"Meantune scale/temperament, Gene Ward Smith, 2003"},smithgw_mir22:{frequencies:[261.6255653006,267.57160087561,274.70684356563,280.31310567921,285.40970760065,299.00064605783,305.22982618403,319.76457981184,327.03195662575,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,398.6675280771,418.60090448096,428.11456140098,448.50096908674,457.84473927605,479.64686971777,490.54793493862,512.78610798918,523.2511306012],description:"11-limit Miracle[22]"},smithgw_mmt:{frequencies:[261.6255653006,273.37431312998,292.50627485027,307.38829724655,327.03195662575,349.91912034749,365.63284274659,391.22147055517,411.12588832951,437.39890198442,459.65271605653,489.02683710225,523.2511306012],description:"Modified meantone with 5/4, 14/11 and 44/35 major thirds, TL 17-03-2003"},smithgw_modmos12a:{frequencies:[261.6255653006,265.27772209197,292.31087910123,304.72408298441,326.59518553839,340.46429857933,364.90060015836,391.09077971329,407.69874723177,425.01198472693,455.51656649021,488.21056770985,523.2511306012],description:"A 12-note modmos in 50-et meantone"},smithgw_octoid:{frequencies:[261.6255653006,272.34559486824,274.88944875317,277.45706359738,280.04865972334,282.66446436432,285.30470202322,296.99497716113,299.76906949343,302.56907333554,305.39522895084,308.24778413898,311.12698372208,323.87531915696,326.90048829645,329.95391413777,333.03585868997,336.14659218049,339.28638158975,353.18853996009,356.48751029933,359.81729479041,363.17817915623,366.5704580819,369.99442271164,385.15483391523,388.75238658,392.38354231563,396.04861270515,399.74791910495,403.48177901006,420.01432465796,423.93748365756,427.89728706578,431.89407466632,435.9281969008,440,458.02886886968,462.30710409523,466.62530033172,470.98382811593,475.38306960714,479.82340237272,499.48402328631,504.14947188193,508.85849826899,513.6115065207,518.40891338474,523.2511306012],description:"Octoid temperament, g=16.096, oct=1/8, 11-limit"},smithgw_orw18r:{frequencies:[261.6255653006,269.10058145205,280.31310567921,286.15296204753,299.00064605783,305.22982618403,327.03195662575,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,418.60090448096,448.50096908674,457.84473927605,474.80195184183,490.54793493862,523.2511306012],description:'Rational version of two cycles of 9-tone "Orwell"'},smithgw_pel1:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"125/108, 135/128 periodicity block no. 1"},smithgw_pel2:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"125/108, 135/128 periodicity block no. 2"},smithgw_pel3:{frequencies:[261.6255653006,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"125/108, 135/128 periodicity block no. 3"},smithgw_pk:{frequencies:[261.6255653006,271.01659746112,280.74472171431,290.822034715,313.8821415949,325.1489200649,336.82012073975,348.91025643633,376.57634157395,390.09352641046,404.09590743895,418.60090448096,451.79296003201,468.01003810189,484.80922990434,523.2511306012],description:"Parakleismic temperament, g=315.263, 5-limit"},smithgw_pris:{frequencies:[261.6255653006,279.06726965397,293.02063313667,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,488.36772189445,523.2511306012],description:"optimized (15/14)^3 (16/15)^4 (21/20)^3 (25/24)^2 scale"},smithgw_prisa:{frequencies:[261.6255653006,274.70684356563,293.02063313667,313.95067836072,327.03195662575,343.38355445704,366.27579142084,392.4383479509,418.60090448096,439.53094970501,457.84473927605,488.36772189445,523.2511306012],description:"optimized (15/14)^3 (16/15)^4 (21/20)^3 (25/24)^2 scale"},smithgw_pum13marv:{frequencies:[261.6255653006,293.67396865289,305.56991629828,343.00138030143,326.66798000724,366.68389807519,349.22276077151,392.00157668785,407.88051296056,457.84473927605,436.04260883433,489.45661357347,549.41368713126,523.2511306012],description:"pum13 marvel tempered and in epimorphic order"},smithgw_qm3a:{frequencies:[261.6255653006,279.86396690685,305.19382000629,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,457.27406033445,489.15147723638,523.2511306012],description:"Qm(3) 10-note quasi-miracle scale, mode A, 72-tET, TL 04-01-2002"},smithgw_qm3b:{frequencies:[261.6255653006,279.86396690685,299.37379946195,326.46944327063,349.22823143301,373.57357677338,391.99543598175,419.32216217931,448.5538823653,489.15147723638,523.2511306012],description:"Qm(3) 10-note quasi-miracle scale, mode B"},smithgw_ragasyn1:{frequencies:[261.6255653006,269.16210421872,290.69507255622,313.95067836072,322.99452506247,348.83408706747,363.36884069528,392.4383479509,403.74315632809,436.04260883433,470.92601754108,484.4917875937,523.2511306012],description:"Ragasyn 6561/6250 81/80 scale"},smithgw_rainbow:{frequencies:[261.6255653006,273.37431312998,292.50627485027,310.51268695591,327.03195662575,349.91912034749,365.63284274659,391.22147055517,412.03444522126,437.39889945791,468.01003810189,489.02683710225,523.2511306012],description:"Circulating 1/4-comma meantone, Gene Ward SMith"},smithgw_ratwell:{frequencies:[261.6255653006,275.62199471997,293.02063313667,310.07474405997,326.72451751701,348.83408706747,367.49599295996,392.4383479509,413.43299207996,437.57747881743,465.11211608996,489.99465727995,523.2511306012],description:"7-limit rational well-temperament"},smithgw_ratwolf:{frequencies:[261.6255653006,272.55669785235,292.25605339318,313.37920299881,326.47268679644,350.06888377949,364.69531895389,391.05410158062,407.39296674476,436.83777202739,468.410735204,487.98168129749,523.2511306012],description:"Eleven fifths of (418/5)^(1/11) and one 20/13 wolf, G.W. Smith 2003"},smithgw_rectoo:{frequencies:[261.6255653006,290.69507255622,299.00064605783,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,457.84473927605,470.92601754108,523.2511306012],description:"Hahn-reduced circle of fifths via <12 19 27 34| kernel"},smithgw_sc19:{frequencies:[261.6255653006,269.16210421872,282.55561052465,290.69507255622,302.80736724606,313.95067836072,327.03195662575,339.06673262958,348.83408706747,363.36884069528,376.74081403286,392.4383479509,403.74315632809,418.60090448096,436.04260883433,452.08897683944,470.92601754108,484.4917875937,508.60009894437,523.2511306012],description:"Fokker block from commas <81/80, 78732/78125>, Gene Ward Smith 2002"},smithgw_sch13:{frequencies:[261.6255653006,269.71217215021,278.04872701265,282.14859498561,290.86954990528,295.15846273282,304.2815407612,313.68660297237,318.31195648825,328.15068782436,332.98931632582,343.28171142549,353.89223299652,359.11042631209,370.21019888355,375.66900084958,387.28058594818,392.99109319609,405.13808832031,417.66053353744,423.81899742763,436.9188548657,443.36128543927,457.06517711961,471.19264083172,478.14044600934,492.91932687455,500.18749236202,515.64783010531,523.2511306012],description:"13-limit schismic temperament, g=704.3917, TL 31-10-2002"},smithgw_sch13a:{frequencies:[261.6255653006,266.49502311502,271.45511438723,280.18048669638,285.39529457963,294.56874561631,300.051354061,305.6360048159,315.46005229837,321.33149462105,331.66004360268,337.8330052901,344.12086009392,355.18192699392,361.79268541866,373.4217751344,380.37201938485,392.59830625439,399.90547017058,407.34863733398,420.4420328577,428.26743302475,442.03321824291,450.26048038501,458.64087358289,473.38295124548,482.19370453904,497.69284002863,506.95605959354,523.2511306012],description:"13-limit schismic temperament, g=702.660507, TL 31-10-2002"},smithgw_scj22a:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,301.39265122629,313.95067836072,327.03195662575,334.88072358477,348.83408706747,361.67118147155,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"225/224 ^ 15625/15552 = [6,5,22,37,-18,-6] catakleismic"},smithgw_scj22b:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,372.08969287196,387.59343007496,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"5120/5103 ^ 225/224 = [1,-8,-14,-10,25,-15] schismic candidate"},smithgw_scj22c:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,357.20610515709,367.91095120397,383.2405741708,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"225/224 ^ 65625/65536 = [7,-3,827,7,-21] orwell candidate"},smithgw_secab:{frequencies:[261.6255653006,274.07613169002,291.39807132323,313.10572011471,348.73657263424,365.33268718488,392.54808236386,417.35759110361,437.21932894603,486.97408086388,523.2511306012],description:"{126/125, 176/175} tempering of decab, 328-et version"},smithgw_secac:{frequencies:[261.6255653006,281.11531641881,298.8821409504,313.10572011471,348.73657263424,374.71564313773,392.54808236386,417.35759110361,448.44857247831,499.48119153644,523.2511306012],description:"{126/125, 176/175} tempering of decac, 328-et version"},smithgw_secad:{frequencies:[261.6255653006,281.11531641881,313.10572011471,328.00618883132,348.73657263424,374.71564313773,392.54808236386,437.21932894603,469.78990700991,499.48119153644,523.2511306012],description:"{126/125, 176/175} tempering of decad, 328-et version"},smithgw_smalldi11:{frequencies:[261.6255653006,269.10058145205,305.22982618403,313.95067836072,322.92069774245,366.27579142084,373.75080757229,423.93031414449,436.04260883433,448.50096908674,508.71637697339,523.2511306012],description:"Small diesic 11-note block, <10/9, 126/125, 1728/1715> commas"},smithgw_smalldi19a:{frequencies:[261.6255653006,269.10058145205,272.52663052146,299.00064605783,305.22982618403,313.95067836072,317.94773560837,327.03195662575,358.80077526939,366.27579142084,373.75080757229,381.53728273004,418.60090448096,430.56093032327,436.04260883433,448.50096908674,457.84473927605,502.32108537715,508.71637697339,523.2511306012],description:"Small diesic 19-note block, <16/15, 126/125, 1728/1715> commas"},smithgw_smalldi19b:{frequencies:[261.6255653006,266.96486255163,274.70684356563,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,358.80077526939,366.27579142084,373.75080757229,381.53728273004,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,498.33441009638,512.78610798918,523.2511306012],description:"Small diesic 19-note block, <16/15, 126/125, 2401/2400> commas"},smithgw_smalldi19c:{frequencies:[261.6255653006,267.07609791103,274.70684356563,280.31310567921,286.15296204753,313.95067836072,320.49131749323,327.03195662575,336.37572681506,343.38355445704,373.75080757229,381.53728273004,392.4383479509,400.61414686654,436.04260883433,448.50096908674,457.84473927605,470.92601754108,508.71637697339,523.2511306012],description:"Small diesic 19-note scale containing glumma"},smithgw_smalldiglum19:{frequencies:[261.6255653006,267.74077300753,273.99891691894,280.40333801024,286.95745534843,312.9293240034,320.24370022528,327.729041887,335.38934511627,343.22869944589,374.29355081838,383.0422478503,391.99543598175,401.15789496562,437.46578647972,447.69106452518,458.15534711532,468.86422071654,511.30005826145,523.2511306012],description:'Small diesic "glumma" variant of 19-note MOS, 31/120 version'},smithgw_smalldimos11:{frequencies:[261.6255653006,267.74077300753,305.78200836532,312.9293240034,320.24370022528,365.74467430283,374.29355081838,427.47405410759,437.46578647972,447.69106452518,511.30005826145,523.2511306012],description:"Small diesic 11-note MOS, 31/120 version"},smithgw_smalldimos19:{frequencies:[261.6255653006,267.74077300753,273.99891691894,298.79793764201,305.78200836532,312.9293240034,320.24370022528,327.729041887,357.39105439675,365.74467430283,374.29355081838,383.0422478503,417.71053321823,427.47405410759,437.46578647972,447.69106452518,458.15534711532,499.62194879119,511.30005826145,523.2511306012],description:"Small diesic 19-note MOS, 31/120 version"},smithgw_star:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,376.74081403286,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:'Gene Ward Smith "Star" scale, untempered version'},smithgw_star2:{frequencies:[261.6255653006,282.55561052465,313.95067836072,327.03195662575,376.74081403286,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:'Gene Ward Smith "Star" scale, alternative untempered version'},starra:{frequencies:[261.6255653006,274.07613169002,294.49338559574,313.10572011471,328.00618883132,343.61575980934,374.71564313773,392.54808236386,411.22915413197,437.21932894603,458.02627217006,492.14685988839,523.2511306012],description:"12 note {126/125, 176/175} scale, 328-et version"},smithgw_starrb:{frequencies:[261.6255653006,274.07613169002,287.1192112957,305.26548915336,328.00618883132,343.61575980934,365.33268718488,392.54808236386,411.22915413197,437.21932894603,458.02627217006,479.82340237272,523.2511306012],description:"12 note {126/125, 176/175} scale, 328-et version"},smithgw_starrc:{frequencies:[261.6255653006,274.07613169002,287.1192112957,313.10572011471,328.00618883132,343.61575980934,365.33268718488,392.54808236386,411.22915413197,437.21932894603,458.02627217006,492.14685988839,523.2511306012],description:"12 note {126/125, 176/175} scale, 328-et version"},smithgw_tetra:{frequencies:[261.6255653006,274.84135386022,293.90210492181,314.2847539672,326.44746606412,342.93767672779,366.7210324511,392.15380743582,419.35039192746,435.57910814854,457.58200907672,489.31615916483,523.2511306012],description:"{225/224, 385/384} tempering of two-tetrachord 12-note scale"},smithgw_tr31:{frequencies:[261.6255653006,267.54129532085,292.57243455474,299.18791603519,305.95298478736,334.57791819083,342.14320575162,349.87955533643,391.26571058456,400.11279059885,409.15991580663,447.44088028055,457.55816161244,467.90420651233,511.68128147674,523.2511306012],description:"6/31 generator supermajor seconds tripentatonic scale"},smithgw_tr7_13:{frequencies:[261.6255653006,183.87449048025,346.05860897284,243.21533855007,457.74028507734,321.70694650116,605.46440189891,425.52973856044,299.06887661109,562.85871464284,395.58580335293,744.50714985079,523.2511306012],description:"81/80 ==> 28561/28672"},smithgw_tr7_13b:{frequencies:[261.6255653006,372.25357492539,395.58580335293,281.42935732142,299.06887661109,425.52973856044,302.73220094945,321.70694650116,457.74028507734,486.43067710015,346.05860897284,367.7489809605,523.2511306012],description:"reverse reduced 81/80 ==> 28561/28672"},smithgw_tr7_13r:{frequencies:[261.6255653006,367.7489809605,346.05860897284,486.43067710015,457.74028507734,321.70694650116,302.73220094945,425.52973856044,299.06887661109,281.42935732142,395.58580335293,372.25357492539,523.2511306012],description:"reduced 81/80 ==> 28561/28672"},smithgw_tra:{frequencies:[261.6255653006,128.35937755236,399.56478905052,196.03545836752,610.23096296248,299.39301413087,931.96857771927,457.24471305759,224.33452437931,698.32199734535,342.61245382262,1066.50464849657,523.2511306012],description:"81/80 ==> 1029/512"},smithgw_tre:{frequencies:[261.6255653006,256.71872396454,399.56476227799,392.07084290614,305.11544059319,299.39293769309,465.98419519089,457.24482979639,448.66910888407,349.16106442144,342.6124767791,533.2523889322,523.2511306012],description:"81/80 ==> 1029/512 ==> reduction"},smithgw_treb:{frequencies:[261.6255653006,266.6261944661,342.6124767791,349.16106442144,448.66910888407,457.24482979639,465.98419519089,299.39293769309,305.11544059319,392.07084290614,399.56476227799,513.43744792908,523.2511306012],description:"reversed 81/80 ==> 1029/512 ==> reduction"},smithgw_trx:{frequencies:[261.6255653006,490.17835855476,354.35176059633,331.954494127,479.94227969828,449.60690021487,325.02250210538,304.47902995326,285.23403465053,412.39349145653,386.32762147798,279.2776760715,523.2511306012],description:"reduced 3/2->7/6 5/4->11/6 scale"},smithgw_trxb:{frequencies:[261.6255653006,279.2776760715,386.32762147798,412.39349145653,285.23403465053,304.47902995326,325.02250210538,449.60690021487,479.94227969828,331.954494127,354.35176059633,490.17835855476,523.2511306012],description:"reversed reduced 3/2->7/6 5/4->11/6 scale"},smithgw_wa:{frequencies:[261.6255653006,273.6474362764,299.37379946195,313.13022722746,327.51877211613,349.22823143301,374.77430422696,391.99543598175,417.97870684853,437.18511000944,469.1652354389,500.26367760099,523.2511306012],description:"Wreckmeister A temperament, TL 2-6-2002"},smithgw_wa120:{frequencies:[261.6255653006,273.99891691894,298.79793764201,312.9293240034,327.729041887,349.22823143301,374.29355081838,391.99543598175,417.71053321823,437.46578647972,468.86422071654,499.62194879119,523.2511306012],description:"120-tET version of Wreckmeister A temperament"},smithgw_wb:{frequencies:[261.6255653006,280.76349612739,291.78605424516,313.13022722746,327.51877211613,349.22823143301,365.2755039332,391.99543598175,417.97870684853,437.18511000944,469.1652354389,487.58430040208,523.2511306012],description:"Wreckmeister B temperament, TL 2-6-2002"},smithgw_well1:{frequencies:[261.6255653006,275.92984511873,292.92635710626,310.42107575858,327.5229776175,349.2237102284,367.90646015831,391.734151992,413.8947676781,437.99072463899,465.63161363786,490.54194687775,523.2511306012],description:"Well-temperament, Gene Ward Smith (2005)"},smithgw_whelp1:{frequencies:[261.6255653006,275.93321340298,292.50627485027,310.07474405997,327.03195662575,348.05120395042,368.50381975103,390.45372436301,413.66634097248,438.25895612273,464.36382062247,491.65133958137,523.2511306012],description:"well-temperament with one pure third, Gene Ward Smith, 2003"},smithgw_whelp2:{frequencies:[261.6255653006,275.85000668176,292.43269265164,309.98104674077,327.03195662575,347.97308568611,368.21146504308,391.7894791814,413.34036955908,438.14417346548,464.48314871299,489.73685071229,523.2511306012],description:"well-temperament with two pure thirds"},smithgw_whelp3:{frequencies:[261.6255653006,275.96871294479,292.50627485027,310.03485655885,327.03195662575,349.46135677641,368.11883862276,391.73393619399,413.66634097248,436.82669499534,464.84945270756,489.66742197778,523.2511306012],description:"well-temperament with three pure thirds"},smithgw_wiz28:{frequencies:[261.6255653006,269.80136421624,277.4816601673,280.31310567921,287.78812183066,297.30177875068,305.22982618403,308.34441624714,317.12189733406,327.03195662575,336.37572681506,345.34574619679,348.83408706747,359.73515228832,370.01329949656,380.54627680087,392.4383479509,396.40237166758,406.97310157871,418.60090448096,431.68218274599,436.04260883433,448.50096908674,460.46099492906,475.68284600109,490.54793493862,493.35106599542,508.71637697339,523.2511306012],description:"11-limit Wizard[28]"},smithgw_wiz34:{frequencies:[261.6255653006,269.80136421624,272.52663052146,277.4816601673,280.31310567921,287.78812183066,297.30177875068,305.22982618403,308.34441624714,313.95067836072,317.12189733406,327.03195662575,336.37572681506,345.34574619679,348.83408706747,356.76213450082,359.73515228832,370.01329949656,380.54627680087,383.71749577421,392.4383479509,396.40237166758,406.97310157871,418.60090448096,431.68218274599,436.04260883433,443.97065626768,448.50096908674,460.46099492906,475.68284600109,490.54793493862,493.35106599542,504.56359022259,508.71637697339,523.2511306012],description:"11-limit Wizard[34]"},smithgw_wiz38:{frequencies:[261.6255653006,269.80136421624,272.52663052146,277.4816601673,280.31310567921,285.40970760065,287.78812183066,297.30177875068,305.22982618403,308.34441624714,313.95067836072,317.12189733406,327.03195662575,336.37572681506,339.14425131559,345.34574619679,348.83408706747,356.76213450082,359.73515228832,370.01329949656,380.54627680087,383.71749577421,392.4383479509,396.40237166758,403.65087217807,406.97310157871,418.60090448096,431.68218274599,436.04260883433,443.97065626768,448.50096908674,460.46099492906,475.68284600109,479.64686971777,490.54793493862,493.35106599542,504.56359022259,508.71637697339,523.2511306012],description:"11-limit Wizard[38]"},smithgw_wreckpop:{frequencies:[261.6255653006,272.73569398658,292.31087910123,313.29104303136,326.59518553839,350.03605285217,364.90060015836,391.09077971329,419.16071913933,436.9606979923,455.51656649021,501.93603498211,523.2511306012],description:'"Wreckmeister" 13-limit meanpop (50-et) tempered thirds'},smithj12:{frequencies:[261.6255653006,272.52663052146,294.32876096318,306.59245933664,331.11985608357,344.91651675372,363.36884069528,392.4383479509,408.78994578219,441.49314144476,459.88868900496,496.67978412536,523.2511306012],description:"J. Smith, 5-limit JI scale, MMM 21-3-2006"},smithj17:{frequencies:[261.6255653006,272.57820116223,283.17034563789,295.02492750576,308.97787266236,319.3201344739,332.68808325276,348.42227432308,363.00854876594,377.11473546037,392.90218486657,411.48414905414,425.25755219187,443.06044202496,464.01459698705,479.54632553791,499.62194879119,523.2511306012],description:"J. Smith 17-tone well temperament, MMM 12-2006"},smithrk_19:{frequencies:[261.6255653006,274.68253637698,286.11368885031,294.3308008075,305.19387818096,313.95878694534,327.0246436172,343.34529416761,348.83287827711,366.24211271841,381.48359653409,392.43970784476,406.92376081862,418.61050714007,436.03134720211,457.79213919624,470.93981233279,488.32112480698,508.64303280756,523.2511306012],description:"19 out of 612-tET by Roger K. Smith, 1978"},smithrk_mult:{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,457.84473927605,470.92601754108,488.36772189445,508.71637697339,523.2511306012],description:'Roger K. Smith, "Multitonic" scale, just version'},solar:{frequencies:[261.6255653006,394.58976180129,774.00176545642,2207.36533954793,5481.83445910426,34573.03685904828,65024.37680021134,105705.6559450381],description:"Solar system scale: 0=Pluto, 8=Mercury. 1/1=248.54 years period"},solemn:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Solemn 6"},songlines:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Songlines.DEM, Bill Thibault and Scott Gresham-Lancaster. 1992 ICMC (=rectsp6)"},sorge:{frequencies:[261.6255653006,272.52663052146,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Sorge's Monochord (1756)"},sorge1:{frequencies:[261.6255653006,276.86979852503,293.00227310437,311.47852302926,328.88393162803,349.6228209638,369.57684148724,391.5530240856,415.30469757995,439.00737933323,466.69047534984,493.32589719545,523.2511306012],description:"Georg Andreas Sorge, 1744 (A)"},sorge2:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.77584116741,328.88393162803,348.83408706747,368.74309237173,391.5530240856,414.36778843034,438.51190905657,465.63764214343,492.21297564769,523.2511306012],description:"Georg Andreas Sorge, 1744 (B)"},sorge3:{frequencies:[261.6255653006,276.55731914056,293.00227310437,310.77584116741,328.51274831708,348.83408706747,369.15973155124,391.5530240856,414.83597850347,438.51190905657,465.63764214343,492.7691222293,523.2511306012],description:"Georg Andreas Sorge, well temperament, (1756, 1758)"},sparschuh:{frequencies:[261.6255653006,276.27659695743,293.02063313667,310.81117157711,328.60171001755,349.008504111,368.36879594324,391.3918456897,414.41489543615,439.53094970501,465.69350623507,491.85606276513,523.2511306012],description:"Andreas Sparschuh WTC temperament, 1/1=C=250, modified Collatz sequence"},sparschuh2:{frequencies:[261.6255653006,276.27659695743,293.02063313667,310.81117157711,328.60171001755,349.008504111,368.36879594324,391.3918456897,414.41489543615,438.48444744381,465.69350623507,491.85606276513,523.2511306012],description:"Modified Sparschuh temperament with A=419Hz by Tom Dent"},spec1_14:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,523.2511306012],description:"Spectrum sequence of 8/7: 1 to 27 reduced by 2/1"},spec1_17:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,490.54793493862,523.2511306012],description:"Spectrum sequence of 7/6: 1 to 27 reduced by 2/1"},spec1_25:{frequencies:[261.6255653006,277.97716313189,294.32876096318,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Spectrum sequence of 5/4: 1 to 25 reduced by 2/1"},spec1_33:{frequencies:[261.6255653006,277.97716313189,294.32876096318,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,457.84473927605,474.19633710734,490.54793493862,523.2511306012],description:"Spectrum sequence of 4/3: 1 to 29 reduced by 2/1"},spec1_4:{frequencies:[261.6255653006,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Spectrum sequence of 7/5: 1 to 25 reduced by 2/1"},spec1_5:{frequencies:[261.6255653006,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Spectrum sequence of 1.5: 1 to 27 reduced by 2/1"},specr2:{frequencies:[261.6255653006,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,457.84473927605,474.19633710734,490.54793493862,523.2511306012],description:"Spectrum sequence of sqrt(2): 1 to 29 reduced by 2/1"},specr3:{frequencies:[261.6255653006,277.97716313189,310.68035879446,327.03195662575,359.73515228832,392.4383479509,408.78994578219,425.14154361347,441.49314144476,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Spectrum sequence of sqrt(3): 1 to 31 reduced by 2/1"},spon_chal1:{frequencies:[261.6255653006,280.31310567921,285.40970760065,286.15296204753,348.83408706747,392.4383479509,420.46965851882,428.11456140098,429.2294430713,523.2511306012],description:"JC Spondeion, from discussions with George Kahrimanis about tritone of spondeion"},spon_chal2:{frequencies:[261.6255653006,275.62199471997,279.06726965397,285.40970760065,348.83408706747,392.4383479509,413.43299207996,418.60090448096,428.11456140098,523.2511306012],description:"JC Spondeion II, 10 May 1997. Various tunings for the parhypatai and hence trito"},spon_mont:{frequencies:[261.6255653006,271.31540105247,348.83408706747,392.4383479509,428.11456140098,523.2511306012],description:"Montford's Spondeion, a mixed septimal and undecimal pentatonic, 1923"},spon_terp:{frequencies:[261.6255653006,285.40970760065,348.83408706747,392.4383479509,428.11456140098,523.2511306012],description:"Subharm. 6-tone series, guess at Greek poet Terpander's, 6th c. BC & Spondeion, Winnington-Ingram (1928)"},stade:{frequencies:[261.6255653006,274.22463192287,292.50627485027,309.28772967674,327.03195662575,348.83408706747,365.63284274659,391.22147055517,411.33694767869,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Organs in St. Cosmae, Stade; Magnuskerk, Anloo; H.K. Sluipwijk, modif. 1/4 mean"},stanhope:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,326.6631048533,348.83408706747,367.49599295996,392.4383479509,413.43299207996,437.52264545758,465.11211608996,489.99465727995,523.2511306012],description:"Well temperament of Charles, third earl of Stanhope (1806)"},stanhope2:{frequencies:[261.6255653006,275.85537639807,293.11251278827,310.16223770573,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.66634097248,437.85193595173,465.11211608996,490.54793493862,523.2511306012],description:"Stanhope temperament (real version?) with 1/3 synt. comma temp."},stanhope_f:{frequencies:[261.6255653006,275.62199471997,292.46014274879,310.07474405997,326.6631048533,348.83408706747,367.49599295996,392.4383479509,413.43299207996,436.79202494356,465.11211608996,489.99465727995,523.2511306012],description:"Stanhope temperament, equal beating version by Farey (1807)"},stanhope_s:{frequencies:[261.6255653006,275.77758308753,293.11247215425,310.2497806633,327.03195662575,348.83408706747,367.7034443005,392.4383479509,413.66637442451,437.85181455341,465.11211608996,490.54793493862,523.2511306012],description:"Stanhope temperament, alt. version with 1/3 syntonic comma"},starling:{frequencies:[261.6255653006,278.9816419584,293.66476791741,313.14630527334,327.50195613664,349.22823143301,367.60851651046,391.99543598175,418.00016846495,437.16266336983,466.16376151809,490.69849857048,523.2511306012],description:"Starling temperament, Herman Miller (1999)"},stearns:{frequencies:[261.6255653006,299.00064605783,336.37572681506,366.27579142084,398.6675280771,448.50096908674,504.56359022259,523.2511306012],description:"Dan Stearns, guitar scale"},stearns2:{frequencies:[261.6255653006,280.31310567921,287.78812183066,299.00064605783,313.95067836072,317.68818643644,336.37572681506,340.11323489078,355.06326719367,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,429.81342870813,444.76346101102,448.50096908674,467.18850946536,470.92601754108,485.87604984397,497.08857407114,504.56359022259,523.2511306012],description:'Dan Stearns, scale for "At A Day Job" based on harmonics 10-20 and 14-28'},stearns3:{frequencies:[261.6255653006,304.11599009871,327.88291945286,364.30920726489,423.47641042702,470.52269644143,546.93995798074,607.70247408742,706.39900722312,784.8766959018],description:"Dan Stearns, trivalent version of Bohlen's Lambda scale"},stearns4:{frequencies:[261.6255653006,296.65550714972,336.37572681506,347.46339693852,393.986457405,446.73865184892,461.46412096988,523.2511306012],description:"Dan Stearns, 1/4-septimal comma temperament, tuning-math 2-12-2001"},steldek1:{frequencies:[261.6255653006,274.70684356563,275.93321340298,280.31310567921,286.15296204753,294.32876096318,305.22982618403,309.04519901133,315.35224388912,321.92208230347,327.03195662575,331.11985608357,343.38355445704,353.19451315581,367.91095120397,381.53728273004,386.30649876417,392.4383479509,400.61414686654,408.78994578219,412.06026534844,420.46965851882,429.2294430713,436.04260883433,441.49314144476,457.84473927605,490.54793493862,504.56359022259,508.71637697339,515.07533168556,523.2511306012],description:"Stellated two out of 1 3 5 7 9 dekany"},steldek1s:{frequencies:[261.6255653006,274.70684356563,275.93321340298,280.31310567921,286.15296204753,294.32876096318,305.22982618403,309.04519901133,315.35224388912,321.92208230347,327.03195662575,331.11985608357,339.14425131559,343.38355445704,353.19451315581,360.4025644447,367.91095120397,381.53728273004,386.30649876417,392.4383479509,400.61414686654,408.78994578219,412.06026534844,420.46965851882,429.2294430713,436.04260883433,441.49314144476,457.84473927605,482.88312345521,490.54793493862,494.47231841813,504.56359022259,508.71637697339,515.07533168556,523.2511306012],description:"Superstellated two out of 1 3 5 7 9 dekany"},steldek2:{frequencies:[261.6255653006,262.3068818769,269.80136421624,274.70684356563,280.31310567921,286.15296204753,294.32876096318,299.7792935736,308.34441624714,312.16686768822,314.76825825228,327.03195662575,337.2517052703,343.38355445704,356.76213450082,359.73515228832,377.72190990274,381.53728273004,385.43052030892,392.4383479509,393.46032281536,400.61414686654,408.78994578219,416.22249025095,419.69101100305,429.2294430713,431.68218274599,449.66894036041,457.84473927605,472.15238737843,490.54793493862,494.63583439645,499.46698830115,503.62921320365,513.90736041189,523.2511306012],description:"Stellated two out of 1 3 5 7 11 dekany"},steldek2s:{frequencies:[261.6255653006,262.3068818769,269.80136421624,274.70684356563,280.31310567921,286.15296204753,294.32876096318,295.09524211152,299.7792935736,302.17752792219,308.34441624714,312.16686768822,314.76825825228,327.03195662575,337.2517052703,343.38355445704,349.7425091692,356.76213450082,359.73515228832,377.72190990274,381.53728273004,385.43052030892,392.4383479509,393.46032281536,400.61414686654,408.78994578219,416.22249025095,419.69101100305,429.2294430713,431.68218274599,440.49202321019,449.66894036041,454.06089845559,457.84473927605,472.15238737843,490.54793493862,494.63583439645,499.46698830115,503.62921320365,513.90736041189,523.2511306012],description:"Superstellated two out of 1 3 5 7 11 dekany"},steleik1:{frequencies:[220,220.57291666667,224.58333333333,225,226.875,229.16666666667,232.03125,235.27777777778,238.21875,240.625,242.63020833333,243.08035714286,247.5,248.14453125,252.08333333333,252.65625,255.234375,256.66666666667,257.8125,262.5,264.6875,270.703125,272.25,275,277.29166666667,278.4375,280.72916666667,283.59375,288.75,294.09722222222,297.7734375,302.5,308.80208333333,309.375,311.953125,315,315.10416666667,317.625,320.83333333333,324.10714285714,324.84375,330,330.859375,336.11111111111,336.875,340.3125,343.75,346.5,346.61458333333,350,352.91666666667,353.57142857143,360.9375,366.66666666667,371.25,378.125,385,388.92857142857,392.12962962963,393.75,397.03125,401.04166666667,403.33333333333,412.5,415.9375,423.5,425.390625,427.77777777778,432.14285714286,433.125,440],description:"Stellated Eikosany 3 out of 1 3 5 7 9 11"},steleik1s:{frequencies:[123.47082531403,123.79236392162,125.33976847064,127.32928860509,129.9819821177,130.22313607339,131.308328874,132.59082945654,132.63467563031,133.69575303535,135.04621518722,136.42423779117,136.73429287706,138.90467847828,139.26640941182,141.47698733899,141.79852594658,143.24544968073,144.69237341488,145.8499124022,145.89814319334,147.3231438406,148.55083670594,148.82644122673,151.92699208562,154.33853164254,156.26776328807,156.6747105883,159.16161075637,160.43490364242,160.48795751267,162.05545822466,163.70908534941,165.05648522882,165.43161360434,165.73853682068,167.11969129419,168.80776898403,169.77238480679,173.63084809785,175.077771832,175.80123369908,178.26100404713,179.05681210091,180.06162024963,181.89898372156,182.31239050275,185.20623797104,185.68854588243,189.06470126211,189.41547065221,190.99393290764,192.92316455317,195.33470411009,198.06778227459,200.54362955302,202.56932278083,204.25740047067,204.63635668676,208.35701771743,208.89961411773,212.21548100849,212.69778891987,214.8681745211,216.07394429955,217.03856012232,220.07531363843,220.98471576091,222.82625505891,227.89048812843,229.19271948917,231.50779746381,233.43702910934,233.87012192772,234.4016449321,236.33087657764,238.74241613455,241.07423537553,241.15395569146,243.083187337,246.94165062806],description:"Superstellated Eikosany 3 out of 1 3 5 7 9 11"},steleik2:{frequencies:[123.47082531403,124.49974885831,126.04313417474,126.11662871362,127.68005799519,128.74405847848,129.64436657973,130.41605923794,132.04518818306,132.96858110742,133.76006075687,135.81790784543,137.94006265552,138.64744759221,140.44806379471,141.47698733899,144.0492961997,145.92006628022,146.26543921816,147.13606683255,148.16499037684,148.55083670594,151.25176100969,152.15206911093,154.33853164254,154.49287017418,155.62468607289,156.05340421634,157.14468676331,157.64578589202,158.45422581967,160.51207290824,160.9300730981,163.85607442716,164.62776708537,167.20007594608,169.77238480679,170.24007732692,171.65874463798,172.85915543964,173.88807898393,175.56007974339,176.56328019906,180.06162024963,181.09054379391,182.8317990227,183.92008354069,185.20623797104,186.74962328747,187.26408505961,190.14507098361,193.11608771773,194.02558263633,197.55332050245,198.06778227459,200.6400911353,201.66901467958,202.31209189476,203.72686176815,204.2880927923,205.78470885672,205.99049356557,208.95062745451,210.19438118936,214.01609721099,214.57343079747,216.07394429955,217.36009872991,217.87456050205,220.70410024883,224.71690207153,226.36317974239,229.30296129748,230.47887391952,234.08010632452,237.68133872951,239.0961086029,240.76810936236,243.77573203026,245.22677805425,246.94165062806],description:"Stellated Eikosany 3 out of 1 3 5 7 11 13"},steleik2s:{frequencies:[61.73541265702,61.89618196081,62.32902239411,62.70002847979,63.66464430255,64.65940436978,64.99099105886,65.83502990378,66.22690508177,66.31733781516,67.05419712422,67.52310759362,68.40003106886,68.56192463352,68.97003132776,69.45233923915,69.63320470592,70.8992629733,71.32128239576,72.34618670745,72.41853289415,72.94907159667,73.15003322642,73.66157192031,73.89646213689,74.27541835298,75.24003417574,75.43597176474,76.80753488774,77.16926582128,78.37503559973,79.58080537819,79.800036247,80.24397875634,80.46503654906,81.02772911234,81.51003702372,82.29378737972,82.71580680218,82.76403759332,84.40388449202,84.45309958502,84.8861924034,85.7024057919,86.21253915971,86.81542404893,87.05458499673,87.53888591601,87.7800398717,89.13050202357,90.52316611769,90.94949186079,92.60311898553,92.84427294122,94.05004271968,94.53235063106,94.83379307568,95.49696645383,95.7600434964,96.46158227659,96.55804385887,97.94560661931,98.52861618252,100.32004556766,100.58129568632,101.28466139042,101.88754627965,102.12870023534,103.45504699165,104.17850885872,105.33604784604,105.47988405157,106.10774050425,107.4857631082,108.03697214979,109.72504983963,111.41312752947,112.07630090762,112.86005126361,113.15395764711,114.2698743892,114.95005221294,115.75389873191,115.86965263064,116.71851455468,118.16543828883,118.23433941902,119.7000543705,120.57697784574,120.69755482359,121.54159366851,122.26505553558,123.47082531404],description:"Superstellated Eikosany 3 out of 1 3 5 7 11 13"},stelhex1:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,294.32876096318,327.03195662575,343.38355445704,381.53728273004,392.4383479509,400.61414686654,408.78994578219,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Stellated two out of 1 3 5 7 hexany, also dekatesserany, mandala, tetradekany"},stelhex2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,327.03195662575,331.11985608357,353.19451315581,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Stellated two out of 1 3 5 9 hexany"},stelhex3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,281.36411960997,289.40309445597,297.67175429757,339.14425131559,348.83408706747,358.80077526939,361.75386806997,372.08969287196,385.87079260796,434.10464168396,465.11211608996,523.2511306012],description:"Stellated Tetrachordal Hexany based on Archytas's Enharmonic"},stelhex4:{frequencies:[261.6255653006,269.10058145205,276.78916949353,279.06726965397,287.04062021552,297.67175429757,336.37572681506,348.83408706747,358.80077526939,361.75386806997,372.08969287196,382.72082695402,430.56093032327,465.11211608996,523.2511306012],description:"Stellated Tetrachordal Hexany based on the 1/1 35/36 16/15 4/3 tetrachord"},stelhex5:{frequencies:[261.6255653006,294.32876096318,305.22982618403,331.11985608357,343.38355445704,386.30649876417,392.4383479509,400.61414686654,441.49314144476,457.84473927605,504.56359022259,515.07533168556,523.2511306012],description:"Stellated two out of 1 3 7 9 hexany, stellation is degenerate"},stelhex6:{frequencies:[261.6255653006,269.80136421624,294.32876096318,299.7792935736,327.03195662575,337.2517052703,356.76213450082,359.73515228832,392.4383479509,408.78994578219,431.68218274599,449.66894036041,490.54793493862,494.63583439645,523.2511306012],description:"Stellated two out of 1 3 5 11 hexany, from The Giving, by Stephen J. Taylor"},stelpd1:{frequencies:[207.65234878997,208.19311011494,212.37172035338,214.14148468966,218.03496622947,219.00833661442,222.07265078927,222.48465941783,222.99030637105,224.84855892414,227.11975648903,229.43730502463,233.60889238872,237.93498298851,240.90917027586,242.2610735883,244.73312535961,245.28933700815,247.76700707894,249.83173213793,250.29524184505,254.84606442405,255.50972605016,256.96978162759,259.56543598746,262.81000393731,267.67685586207,272.54370778684,275.32476602956,277.59081348659,280.33067086646,281.06069865517,283.1622938045,285.52197958621,292.0111154859,297.32040849473,299.79807856552,302.82634198537,305.91640669951,306.61167126019,311.47852318496,312.28966517242,317.24664398468,317.96765908464,318.55758053007,321.21222703448,324.45679498433,327.0524493442,330.35600943859,333.10897618391,333.72698912674,340.67963473354,342.62637550345,346.08724798328,350.41333858307,356.90247448276,363.39161038245,367.09968803941,371.65051061841,374.7475982069,380.69597278161,385.45467244138,389.34815398119,392.59272193104,396.42721132631,399.73077142069,400.47238695209,401.51528379311,403.7684559805,407.88854226601,408.81556168025,415.30469757994],description:"Stellated two out of 1 3 5 7 9 11 pentadekany"},stelpd1s:{frequencies:[21.82676446456,21.88360499702,22.15715005948,22.2309638065,22.3228272933,22.50885085408,22.68892166091,22.91810268779,23.02041564622,23.14959867453,23.15196087848,23.34251199682,23.38581906917,23.43896865797,23.624449876,23.63429339678,23.87302363311,24.11662591508,24.35217522905,24.55511002263,24.61905562165,25.00983428231,25.20991295657,25.32245721084,25.46455854199,25.72440097609,25.78286552376,25.93612444091,26.04329850885,26.26032599642,26.30904645282,26.78739275196,26.85715158725,27.01062102489,27.2834555807,27.56185818867,27.62449877546,27.69643757435,28.01101439619,28.1360635676,28.29395393554,28.36115207614,28.41087110056,28.58266775121,28.64762835974,28.9399510981,29.17813999603,29.29871082246,29.46613202716,29.54286674598,29.7637697244,30.01180113877,30.06748166036,30.69388752829,30.99367756425,31.12334932909,31.25195821062,31.51239119571,31.65307151355,31.83069817748,32.15550122011,32.2285819047,32.41274522987,32.74014669684,32.82540749553,33.0742298264,33.34644570974,33.42223308636,33.48424093995,33.76327628112,34.09304532068,34.10431947588,34.37715403168,34.58149925455,34.7243980118,35.01376799523,35.07872860376,35.45144009517,35.80953544967,36.01416136652,36.17493887262,36.37794077427,36.74914425156,36.83266503394,36.92858343247,37.50234985274,37.51475142346,37.81486943485,37.88116146742,38.19683781298,38.26770393137,38.58660146413,38.90418666137,39.06494776328,39.39048899464,40.01573485169,40.28572738088,40.51593153734,40.92518337105,41.25258483802,41.26622656581,41.342787283,41.66927761416,42.01652159428,42.09447432451,42.2040953514,42.44093090331,42.61630665085,42.87400162681,42.9714425396,43.65352892912],description:"Superstellated two out of 1 3 5 7 9 11 pentadekany"},stelpent1:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,348.83408706747,353.19451315581,366.27579142084,367.91095120397,373.75080757229,381.53728273004,392.4383479509,406.97310157871,412.06026534844,420.46965851882,436.04260883433,441.49314144476,448.50096908674,457.84473927605,470.92601754108,490.54793493862,504.56359022259,508.71637697339,515.07533168556,523.2511306012],description:"Stellated one out of 1 3 5 7 9 pentany"},stelpent1s:{frequencies:[261.6255653006,271.31540105247,274.70684356563,275.93321340298,280.31310567921,282.55561052465,286.15296204753,288.32205155576,290.69507255622,294.32876096318,301.46155672497,305.22982618403,309.04519901133,313.95067836072,315.35224388912,320.35783506196,321.92208230347,327.03195662575,329.64821227876,336.37572681506,339.14425131559,343.38355445704,348.83408706747,353.19451315581,360.4025644447,366.27579142084,367.91095120397,373.75080757229,381.53728273004,386.30649876417,387.59343007496,392.4383479509,395.57785473451,403.65087217807,406.97310157871,411.88864507966,412.06026534844,420.46965851882,429.2294430713,436.04260883433,439.53094970501,441.49314144476,448.50096908674,452.19233508746,457.84473927605,470.92601754108,480.53675259294,482.88312345521,488.36772189445,490.54793493862,494.47231841813,498.33441009638,504.56359022259,508.71637697339,515.07533168556,523.2511306012],description:"Superstellated one out of 1 3 5 7 9 pentany"},steltet1:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,305.22982618403,313.95067836072,327.03195662575,343.38355445704,366.27579142084,373.75080757229,381.53728273004,392.4383479509,436.04260883433,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Stellated one out of 1 3 5 7 tetrany"},steltet1s:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,305.22982618403,313.95067836072,320.35783506196,327.03195662575,343.38355445704,366.27579142084,373.75080757229,381.53728273004,392.4383479509,429.2294430713,436.04260883433,439.53094970501,448.50096908674,457.84473927605,490.54793493862,508.71637697339,523.2511306012],description:"Superstellated one out of 1 3 5 7 tetrany"},steltet2:{frequencies:[261.6255653006,267.07609791103,272.52663052146,286.15296204753,305.22982618403,327.03195662575,333.84512238879,343.38355445704,381.53728273004,392.4383479509,400.61414686654,408.78994578219,436.04260883433,457.84473927605,476.92160341255,490.54793493862,523.2511306012],description:"Stellated three out of 1 3 5 7 tetrany"},steltet2s:{frequencies:[261.6255653006,286.15296204753,294.32876096318,300.46061014991,306.59245933664,327.03195662575,343.38355445704,350.53737850823,357.69120255941,367.91095120397,392.4383479509,400.61414686654,408.78994578219,429.2294430713,441.49314144476,457.84473927605,490.54793493862,500.76768358318,510.98743222773,515.07533168556,523.2511306012],description:"Superstellated three out of 1 3 5 7 tetrany"},steltri1:{frequencies:[261.6255653006,313.95067836072,327.03195662575,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Stellated one out of 1 3 5 triany"},steltri2:{frequencies:[261.6255653006,294.32876096318,327.03195662575,392.4383479509,408.78994578219,490.54793493862,523.2511306012],description:"Stellated two out of 1 3 5 triany"},stevin:{frequencies:[261.6255653006,277.20445571159,293.66434538175,311.1256573916,329.66931111467,349.25319089654,369.99797100919,392.00714009679,415.41055144586,440.15068186507,466.27261682516,494.00597677606,523.2511306012],description:"Simon Stevin, monochord division of 10000 parts for 12-tET (1585)"},stopper:{frequencies:[261.6255653006,277.19910487213,293.6996776193,311.18246278326,329.70593120198,349.3320268423,370.12638880276,392.15855510068,415.50221189151,440.23542223935,466.44090588941,494.20629608476,523.62445363767,554.79375523088,587.81844599272,622.80896314278,659.88233179115,699.16252826162,740.78092441407,784.8766959018],description:"Bernard Stopper, piano tuning with 19th root of 3 (1988)"},storbeck:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,353.19451315581,358.80077526939,381.53728273004,387.59343007496,392.4383479509,403.65087217807,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,523.2511306012],description:"Ulrich Storbeck, 2001"},strahle:{frequencies:[261.6255653006,278.94941459687,296.90543930973,315.65242990842,335.0021118691,355.12744448111,376.24442122187,398.15684412917,421.10213511252,444.85552088095,469.94877954106,496.17080790016,523.2511306012],description:"Strahle's Geometrical scale"},"sub24-12":{frequencies:[261.6255653006,273.00058987889,285.40970760065,299.00064605783,313.95067836072,330.47439827444,348.83408706747,369.35373924791,392.4383479509,418.60090448096,448.50096908674,483.00104363188,523.2511306012],description:"Subharmonics 24-12"},sub24:{frequencies:[261.6255653006,10.90106522086,11.37502457829,11.89207115003,12.45836025241,13.08127826503,13.76976659477,14.53475362781,15.38973913533,16.35159783129,17.44170435337,18.68754037861,20.12504348466,21.80213044172,23.78414230005,26.16255653006,29.06950725562,32.70319566257,37.37508075723,43.60426088343,52.32511306012,65.40639132515,87.20852176687,130.8127826503,261.6255653006],description:"Subharmonics 24-1"},sub40:{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,327.03195662575,348.83408706747,373.75080757229,402.50086969323,418.60090448096,436.04260883433,475.68284600109,498.33441009638,523.2511306012],description:"sub 40-20"},sub48:{frequencies:[261.6255653006,279.06726965397,299.00064605783,313.95067836072,330.47439827444,348.83408706747,369.35373924791,392.4383479509,418.60090448096,448.50096908674,465.11211608996,502.32108537715,523.2511306012],description:"12 of sub 48 (Leven)"},sub50:{frequencies:[261.6255653006,272.52663052146,290.69507255622,311.45900631024,327.03195662575,344.24416486921,373.75080757229,384.74347838324,408.78994578219,436.04260883433,467.18850946536,484.4917875937,523.2511306012],description:"12 of sub 50"},sub8:{frequencies:[261.6255653006,279.06726965397,299.00064605783,322.00069575458,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012],description:"Subharmonic series 1/16 - 1/8"},sumatra:{frequencies:[261.6255653006,266.79889483106,324.44528279699,356.96377863828,390.9602296356,474.47355835313,530.64156666967,639.28283484968,713.92755727656,784.8766959018],description:'"Archeological" tuning of Pasirah Rus orch. in Muaralakitan, Sumatra. 1/1=354 Hz'},super_10:{frequencies:[261.6255653006,283.42769574232,305.22982618403,327.03195662575,348.83408706747,370.63621750918,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"A superparticular 10-tone scale"},super_11:{frequencies:[261.6255653006,283.42769574232,305.22982618403,327.03195662575,348.83408706747,370.63621750918,392.4383479509,418.60090448096,444.76346101102,470.92601754108,497.08857407114,523.2511306012],description:"A superparticular 11-tone scale"},super_12:{frequencies:[261.6255653006,279.06726965397,296.50897400735,313.95067836072,331.39238271409,348.83408706747,372.08969287196,395.34529867646,418.60090448096,441.85651028546,465.11211608996,494.18162334558,523.2511306012],description:"A superparticular 12-tone scale"},super_12_1:{frequencies:[261.6255653006,280.31310567921,299.00064605783,317.68818643644,336.37572681506,355.06326719367,373.75080757229,392.4383479509,418.60090448096,444.76346101102,470.92601754108,497.08857407114,523.2511306012],description:"Another superparticular 12-tone scale"},super_12_2:{frequencies:[261.6255653006,280.31310567921,299.00064605783,317.68818643644,336.37572681506,355.06326719367,373.75080757229,392.4383479509,420.46965851882,448.50096908674,473.41768959156,498.33441009638,523.2511306012],description:"Another superparticular 12-tone scale"},super_13:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,418.60090448096,444.76346101102,470.92601754108,497.08857407114,523.2511306012],description:"A superparticular 13-tone scale"},super_14:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,501.44900015948,523.2511306012],description:"A superparticular 14-tone scale"},super_15:{frequencies:[261.6255653006,276.16031892841,290.69507255622,305.22982618403,319.76457981184,334.29933343966,348.83408706747,363.36884069528,381.53728273004,399.70572476481,417.87416679957,436.04260883433,457.84473927605,479.64686971777,501.44900015948,523.2511306012],description:"A superparticular 15-tone scale"},super_17:{frequencies:[261.6255653006,274.08392555301,286.54228580542,299.00064605783,311.45900631024,323.91736656265,336.37572681506,348.83408706747,363.36884069528,377.90359432309,392.4383479509,411.12588832951,429.81342870813,448.50096908674,467.18850946536,485.87604984397,504.56359022259,523.2511306012],description:"Superparticular 17-tone scale"},super_19:{frequencies:[261.6255653006,272.52663052146,283.42769574232,294.32876096318,305.22982618403,316.13089140489,327.03195662575,340.11323489078,353.19451315581,366.27579142084,379.35706968587,392.4383479509,408.13588186894,423.83341578697,439.53094970501,455.22848362304,470.92601754108,488.36772189445,505.80942624783,523.2511306012],description:"Superparticular 19-tone scale"},super_19_1:{frequencies:[261.6255653006,272.09058791262,282.55561052465,293.02063313667,303.4856557487,313.95067836072,325.57848126297,337.20628416522,348.83408706747,363.36884069528,377.90359432309,392.4383479509,408.13588186894,423.83341578697,439.53094970501,455.22848362304,470.92601754108,488.36772189445,505.80942624783,523.2511306012],description:"Superparticular 19-tone scale"},super_19_2:{frequencies:[261.6255653006,269.80136421624,277.97716313189,294.32876096318,302.50455987882,310.68035879446,318.85615771011,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Superparticular 19-tone scale"},super_22:{frequencies:[261.6255653006,270.96933548991,280.31310567921,289.65687586852,299.00064605783,308.34441624714,317.68818643644,327.03195662575,337.93302184661,348.83408706747,359.73515228832,370.63621750918,381.53728273004,392.4383479509,406.45400323486,420.46965851882,434.48531380278,448.50096908674,463.45100138963,478.40103369253,493.35106599542,508.30109829831,523.2511306012],description:"Superparticular 22-tone scale"},super_22_1:{frequencies:[261.6255653006,272.09058791262,282.55561052465,293.02063313667,303.4856557487,313.95067836072,325.16320258789,336.37572681506,347.58825104223,358.80077526939,370.01329949656,381.22582372373,392.4383479509,405.51962621593,418.60090448096,431.68218274599,444.76346101102,457.84473927605,470.92601754108,484.00729580611,497.08857407114,510.16985233617,523.2511306012],description:"Superparticular 22-tone scale"},super_24:{frequencies:[261.6255653006,270.34641747729,279.06726965397,287.78812183066,296.50897400735,305.22982618403,313.95067836072,322.67153053741,331.39238271409,340.11323489078,348.83408706747,359.73515228832,370.63621750918,381.53728273004,392.4383479509,405.51962621593,418.60090448096,431.68218274599,444.76346101102,457.84473927605,470.92601754108,484.00729580611,497.08857407114,510.16985233617,523.2511306012],description:"Superparticular 24-tone scale, inverse of Mans.ur 'Awad"},super_7:{frequencies:[261.6255653006,287.78812183066,313.95067836072,353.19451315581,392.4383479509,431.68218274599,470.92601754108,523.2511306012],description:"A superparticular 7-tone scale"},super_8:{frequencies:[261.6255653006,287.78812183066,313.95067836072,340.11323489078,366.27579142084,392.4383479509,436.04260883433,479.64686971777,523.2511306012],description:"A superparticular 8 tone scale"},super_9:{frequencies:[261.6255653006,287.78812183066,313.95067836072,340.11323489078,366.27579142084,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"A superparticular 9-tone scale"},suppig:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,340.65828815182,348.83408706747,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,459.88868900496,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Friedrich Suppig's 19-tone JI scale. Calculus Musicus, Berlin 1722"},sur_7:{frequencies:[261.6255653006,280.40333801024,327.729041887,351.25128999693,383.0422478503,410.5345162762,479.82340237272,523.2511306012],description:"7-tone surupan"},sur_9:{frequencies:[261.6255653006,280.40333801024,305.78200836532,327.729041887,351.25128999693,383.0422478503,410.5345162762,447.69106452518,479.82340237272,523.2511306012],description:"Theoretical nine-tone surupan gamut"},sur_ajeng:{frequencies:[261.6255653006,285.30470202322,305.78200836532,383.0422478503,417.71053321823,523.2511306012],description:"Surupan ajeng"},sur_degung:{frequencies:[261.6255653006,322.09885310804,345.21700307457,396.55020354877,488.21056770985,523.2511306012],description:"Surupan degung"},sur_madenda:{frequencies:[261.6255653006,322.09885310804,345.21700307457,425.01198472693,488.21056770985,523.2511306012],description:"Surupan madenda"},sur_melog:{frequencies:[261.6255653006,280.40333801024,305.78200836532,383.0422478503,410.5345162762,523.2511306012],description:"Surupan melog"},sur_miring:{frequencies:[261.6255653006,285.30470202322,305.78200836532,389.73770840504,417.71053321823,523.2511306012],description:"Surupan miring"},sur_x:{frequencies:[261.6255653006,280.40333801024,305.78200836532,383.0422478503,417.71053321823,523.2511306012],description:"Surupan tone-gender X (= unmodified nyorog)"},sur_y:{frequencies:[261.6255653006,280.40333801024,300.52885648597,383.0422478503,410.5345162762,523.2511306012],description:"Surupan tone-gender Y (= mode on pamiring)"},sverige:{frequencies:[261.6255653006,293.66476791741,329.62755691287,349.22823143301,391.99543598175,440,466.16376151809,493.88330125613,523.2511306012,554.36526195375,587.32953583482,622.25396744417,659.25511382574,698.45646286601,739.98884542327,783.9908719635,830.60939515989,880,932.32752303618,987.76660251225,1046.5022612024,1174.65907166964,1318.51022765149,1396.91292573202,1567.98174392701],description:"Scale on Swedish 50 crown banknote of some kind of violin."},syntonolydian:{frequencies:[261.6255653006,294.32876096318,331.11985608357,372.50983809402,392.4383479509,441.49314144476,496.67978412536,523.2511306012],description:"Greek Syntonolydian, also genus duplicatum medium, or ditonum (Al-Farabi)"},syrian:{frequencies:[261.6255653006,268.67837258085,275.62199471997,279.38237857051,286.74979536837,294.32876096318,302.10804307229,310.07474405997,314.30517589183,322.59351978942,326.6631048533,331.11985608357,339.85160932548,348.83408706747,358.05397697456,367.49599295996,372.50983809402,382.33306049116,392.4383479509,402.81072409638,413.43299207996,419.07356785577,430.12469305256,441.49314144476,453.13547910064,465.11211608996,477.40530263275,489.99465727995,496.67978412536,509.77741398822,523.2511306012],description:"After ^Sayh.'Ali ad-Darwis^ (Shaykh Darvish) from d'Erlanger vol.5, p.29"},szpak_24:{frequencies:[261.6255653006,270.98948203641,277.18263097687,287.10335517712,293.66476791741,304.17540907689,311.12698372208,322.26262012861,329.62755691287,341.42535271779,349.22823143301,361.7275606831,369.99442271164,383.23700075636,391.99543598175,406.02545869431,415.30469757995,430.16898885692,440,455.74816803176,466.16376151809,482.84836435151,493.88330125613,511.56002220218,523.2511306012],description:"Stephen Szpak's scale, TL 2-1-2004"},pagano_b:{frequencies:[261.6255653006,277.97716313189,289.55954492905,312.72430852337,333.57259575826,351.8148470888,370.63621750918,389.16802838464,416.96574469783,444.76346101102,463.29527188648,486.4600354808,523.2511306012],description:"Pat Pagano and David Beardsley, 17-limit scale, TL 27-2-2001"},palace:{frequencies:[261.6255653006,277.01530443593,294.32876096318,299.00064605783,336.37572681506,348.83408706747,373.75080757229,392.4383479509,409.50088481833,428.11456140098,448.50096908674,470.92601754108,523.2511306012],description:"Palace mode+"},palace2:{frequencies:[261.6255653006,277.01530443593,336.37572681506,348.83408706747,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Byzantine Palace mode, 17-limit"},panpipe1:{frequencies:[261.6255653006,305.78200836532,346.61566493686,386.59871897734,424.03113209229,475.68400784708,523.2511306012],description:"Palina panpipe of Solomon Islands. 1/1=f+45c. From Ocora CD Guadalcanal"},panpipe2:{frequencies:[261.6255653006,301.39807245198,340.46429857933,389.512652082,435.70052664441,481.48922855473,540.45338572244,606.98892366383,675.83458963267,749.45240308975,819.17415016614,915.78156525194,979.24522642508,1073.44040298899,1178.73719255088,1360.28482360484],description:"Lalave panpipe of Solomon Islands. 1/1=f'+47c."},panpipe3:{frequencies:[261.6255653006,302.44445076078,341.44901934006,382.59999559751,433.19107626846,482.88183400971,542.01653249392,602.10016957865,677.78929781797,755.1012944609,822.018116801,906.30932187391,994.06270356141,1067.87449159209,1155.14617783291,1300.35790771888],description:"Tenaho panpipe of Solomon Islands. 1/1=f'+67c."},parachrom:{frequencies:[261.6255653006,274.52698453615,288.06460709314,349.22823143301,391.99543598175,411.32572372413,431.60923940535,523.2511306012],description:"Parachromatic, new genus 5 + 5 + 20 parts"},parakleismic:{frequencies:[261.6255653006,269.41173453909,271.00883762044,279.07425994419,280.72864356353,282.39283618632,290.79705467987,292.52093234567,301.22657042972,303.0122754386,312.03014360907,313.87989341557,323.22118988972,325.13728335605,327.06473376202,336.79842078181,338.79499972275,348.87778808468,350.94597487438,361.39038519337,363.53274806687,374.35175001315,376.5709514911,387.77797996035,390.07677146523,392.38919046486,404.06698135965,406.46233589795,418.55895395107,421.04021853379,433.57068509561,436.14094342919,449.12081866987,451.783257426,465.22865943552,467.98658728446,470.76086444006,484.77105399159,487.64483417146,502.15750307968,505.13434926963,520.16751901001,523.2511306012],description:"Parakleismic temperament, g=315.250913, 5-limit"},parizek:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,425.14154361347,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Petr Parizek, 12-tone Linear Level tuning, 1/1=Ab"},parizek_13lqmt:{frequencies:[261.6255653006,272.70676208351,292.18581651805,313.05623198362,325.57848126297,348.83408706747,365.23227064756,391.32028997953,406.97310157871,436.04260883433,467.18850946536,486.97636086341,523.2511306012],description:"April 2003 - Petr Parizek"},parizek_17lqmt:{frequencies:[261.6255653006,272.52663052146,291.99281841585,312.60407618638,327.03195662575,350.39138209902,364.70475555078,390.75509523297,408.78994578219,436.04260883433,467.18850946536,488.44386904122,523.2511306012],description:"To tune the scale by ear, please choose the intervals in the following order:"},parizek_7lmtd1:{frequencies:[261.6255653006,280.31310567921,293.02063313667,313.95067836072,327.03195662575,350.39138209902,366.27579142084,392.4383479509,418.60090448096,437.98922762377,468.83301301868,490.54793493862,523.2511306012],description:"Use SET MIDDLE 62"},parizek_7lqmtd2:{frequencies:[261.6255653006,280.31310567921,293.02063313667,313.95067836072,327.03195662575,350.39138209902,366.27579142084,390.69417751556,418.60090448096,437.98922762377,468.83301301868,488.36772189445,523.2511306012],description:"Use SET MIDDLE 62"},parizek_cirot:{frequencies:[261.6255653006,273.76082553017,293.33333347996,307.98092841354,327.40170814054,348.04713286849,366.66693712906,392.88175996935,409.71484950008,438.01699797506,463.01593599647,491.10256480205,523.2511306012],description:"Overtempered circular tuning (1/1 is F)"},parizek_epi:{frequencies:[261.6255653006,283.42769574232,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"In The Epimoric World"},parizek_epi2:{frequencies:[261.6255653006,283.42769574232,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,523.2511306012,523.2511306012],description:"In the Epimoric World - extended (version for two keyboards)"},parizek_epi2a:{frequencies:[261.6255653006,283.42769574232,287.78812183066,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012,523.2511306012],description:"April 2003 - Petr Parizek"},parizek_ji1:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,343.38355445704,366.27579142084,392.4383479509,412.06026534844,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Petr Parizek, 12-tone septimal tuning, 2002."},parizek_jiweltmp:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,329.45441556372,348.83408706747,370.63621750918,392.4383479509,416.96574469783,440.63253103259,465.11211608996,494.18162334558,523.2511306012],description:"April 2003 - Petr Parizek"},jiwt2:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,331.11985608357,348.83408706747,372.08969287196,392.4383479509,415.8649508569,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"June 2003 - Petr Parizek"},parizek_llt7:{frequencies:[261.6255653006,283.42769574232,327.03195662575,359.73515228832,392.4383479509,425.14154361347,479.64686971777,523.2511306012],description:"7-tone mode of Linear Level Tuning 2000 (= wilson_helix)"},parizek_qmeb1:{frequencies:[261.6255653006,273.53155294581,293.066620053,305.25690181412,326.9069921792,350.33366042609,366.2083106197,392.1884190578,408.50877577745,437.87542071709,457.7197748295,488.61098601707,523.2511306012],description:"Equal beating quasi-meantone tuning no. 1 - F...A# (1/1 = 261.7Hz)(3/2 5/3 5/4 7/4 7/6)"},parizek_qmeb2:{frequencies:[261.6255653006,274.12423619715,293.39509530855,306.21121252767,327.1564453797,350.32795211486,366.55713600477,391.6914154272,409.44351174042,438.20041390279,457.4712730142,489.73875803795,523.2511306012],description:"Equal beating quasi-meantone tuning no. 2 - F...A# (1/1 = 262.7Hz)"},parizek_qmeb3:{frequencies:[261.6255653006,274.23252240717,293.57983281823,306.4052273004,327.28159934073,350.29865766202,366.78755898655,391.93906252094,409.53887392713,438.37260750749,457.59509656107,490.04864950866,523.2511306012],description:"Equal beating quasi-meantone tuning no. 3 - F...A#. 1/1 = 262Hz"},parizek_qmtp12:{frequencies:[261.6255653006,273.55480692456,293.00227310437,305.44101254122,326.6631048533,350.4133380576,366.39100206434,391.84790908124,408.48291326839,437.52264545758,457.47219685667,489.2574430773,523.2511306012],description:"12-tone quasi-meantone tuning with 1/9 Pyth. comma as basic tempering unit (F...A#)"},parizek_qmtp24:{frequencies:[261.6255653006,273.14323313659,280.64720643091,285.59764149034,293.00227310437,305.44101254122,313.83229199844,326.6631048533,335.63741195089,341.5578378819,350.4133380576,365.83975262993,375.89034660662,381.37064019061,391.84790908124,407.86833637529,419.07356785577,437.52264545758,448.86620556368,457.47219685667,469.33298761093,489.2574430773,502.69865025911,510.02774559919,523.2511306012],description:"24-tone quasi-meantone tuning with 1/9 Pyth. comma as basic tempering unit (Bbb...C##)"},parizek_syndiat:{frequencies:[261.6255653006,290.69507255622,294.32876096318,327.03195662575,348.83408706747,353.19451315581,387.59343007496,392.4383479509,436.04260883433,441.49314144476,484.4917875937,490.54793493862,523.2511306012],description:"Petr Parizek, diatonic scale with syntonic alternatives"},parizek_syntonal:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Petr Parizek, Syntonic corrections in JI tonality, Jan. 2004"},parizek_temp19:{frequencies:[261.6255653006,276.69969455132,294.32876096318,310.68035879446,328.58088727969,349.51540364377,368.93292606842,392.4383479509,415.04954182698,438.10784970625,466.02053819169,492.87133091954,523.2511306012],description:"Petr Parizek, genus [3 3 19 19 19] well temperament"},"partch-barstow":{frequencies:[261.6255653006,279.06726965397,287.78812183066,290.69507255622,294.32876096318,299.00064605783,313.95067836072,327.03195662575,348.83408706747,359.73515228832,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,470.92601754108,479.64686971777,490.54793493862,523.2511306012],description:"Guitar scale for Partch's Barstow (1941, 1968)"},"partch-greek":{frequencies:[261.6255653006,261.6255653006,271.31540105247,294.32876096318,279.06726965397,348.83408706747,313.95067836072,392.4383479509,392.4383479509,406.97310157871,418.60090448096,418.60090448096,523.2511306012],description:'Partch Greek scales from "Two Studies on Ancient Greek Scales" on black/white'},"partch-grm":{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,313.95067836072,348.83408706747,392.4383479509,406.97310157871,418.60090448096,523.2511306012],description:'Partch Greek scales from "Two Studies on Ancient Greek Scales" mixed'},"partch-indian":{frequencies:[261.6255653006,269.80136421624,277.97716313189,285.40970760065,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,383.71749577421,392.4383479509,406.97310157871,411.12588832951,428.11456140098,441.49314144476,457.84473927605,475.68284600109,490.54793493862,507.3950357345,523.2511306012],description:"Partch's Indian Chromatic, Exposition of Monophony, 1933."},"partch-ur":{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:"Ur-Partch curved keyboard, published in Interval"},"partch_29-av":{frequencies:[261.6255653006,269.80136421624,274.70684356563,280.31310567921,285.40970760065,290.69507255622,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,488.36772189445,498.33441009638,507.3950357345,523.2511306012],description:"29-tone JI scale from Partch's Adapted Viola 1928-30"},partch_29:{frequencies:[261.6255653006,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,523.2511306012],description:"Partch/Ptolemy 11-limit Diamond"},partch_37:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:'From "Exposition on Monophony" 1933, unp. see Ayers, 1/1 vol.9(2)'},partch_39:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:"Ur-Partch Keyboard 39 tones, published in Interval"},partch_41:{frequencies:[261.6255653006,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,359.73515228832,362.25078272391,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,402.50086969323,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,442.75095666255,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,523.2511306012],description:"13-limit Diamond after Partch, Genesis of a Music, p 454, 2nd edition"},partch_41a:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:'From "Exposition on Monophony" 1933, unp. see Ayers, 1/1 vol. 9(2)'},partch_41comb:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,274.70684356563,279.06726965397,280.31310567921,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,488.36772189445,490.54793493862,498.33441009638,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:"41-tone JI combination from Partch's 29-tone and 37-tone scales"},partch_43:{frequencies:[261.6255653006,264.89588486686,269.80136421624,274.70684356563,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,373.75080757229,380.54627680087,387.59343007496,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,498.33441009638,507.3950357345,516.79124009995,523.2511306012],description:"Harry Partch's 43-tone pure scale"},partch_43a:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.70684356563,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,498.33441009638,507.3950357345,512.57253609913,523.2511306012],description:'From "Exposition on Monophony" 1933, unp. see Ayers, 1/1 vol. 9(2)'},patala:{frequencies:[261.6255653006,289.6217982776,320.24370022528,355.94891173479,393.58362272115,439.74591942221,480.6555937997,537.34060327431],description:"Observed patala tuning from Burma, Helmholtz/Ellis p. 518, nr.83"},pelog1:{frequencies:[261.6255653006,285.79952600623,313.83440569119,359.87690576543,393.35634555235,426.98050185716,482.04578814299,523.2511306012],description:"Gamelan Saih pitu from Ksatria, Den Pasar (South Bali). 1/1=312.5 Hz"},pelog10:{frequencies:[261.6255653006,290.16653606067,310.14521470005,342.49164912079,385.30310526088,418.60090448096,442.38504678101,523.2511306012],description:"Balinese saih 7 scale, Krobokan. 1/1=275 Hz. McPhee, 1966"},pelog11:{frequencies:[261.6255653006,289.11520789678,327.03195662575,352.6257619269,388.64667309147,441.73012112348,478.69895237627,523.2511306012],description:"Balinese saih pitu, gamelan luang, banjar Se`se'h. 1/1=276 Hz. McPhee, 1966"},pelog11i:{frequencies:[261.6255653006,267.83009854382,287.76973397991,309.19384990071,332.21296611011,356.94582815655,383.52002471837,392.61532371972,421.84506978464,453.25093845942,486.99493426005,523.2511306012],description:"George Secor's isopelogic scale with ~537.84194 generator and just 13/11"},pelog12:{frequencies:[261.6255653006,284.41230790592,308.04300430555,358.68021049276,385.68672051706,409.31741667997,472.61392441399,523.2511306012],description:"Balinese saih pitu, gamelan Semar Pegulingan, Tampak Gangsai, 1/1=310, McPhee"},pelog13:{frequencies:[261.6255653006,289.80062617913,323.61069924911,351.78575931905,394.45085229937,454.02098012766,494.27106657141,523.2511306012],description:"Balinese saih pitu, gamelan Semar Pegulingan, Klungkung, 1/1=325. McPhee, 1966"},pelog14:{frequencies:[261.6255653006,287.66412867175,309.98289727559,347.18084494866,375.69927149802,402.97776645827,427.77639824032,523.2511306012],description:"Balinese saih pitu, suling gambuh, Tabanan, 1/1=211 Hz, McPhee, 1966"},pelog15:{frequencies:[261.6255653006,284.9387344858,307.6043148279,344.51683351465,375.60105909492,407.98046074103,427.4081017287,523.2511306012],description:"Balinese saih pitu, suling gambuh, Batuan, 1/1=202 Hz. McPhee, 1966"},pelog2:{frequencies:[261.6255653006,285.30470202322,314.92395982138,345.81573716922,388.6137256405,424.52127512829,466.97226207056,523.2511306012],description:"Bamboo gambang from Batu lulan (South Bali). 1/1=315 Hz"},pelog3:{frequencies:[261.6255653006,285.63448939555,315.83481057014,390.18821123181,421.34544350737,523.2511306012],description:"Gamelan Gong from Padangtegal, distr. Ubud (South Bali). 1/1=555 Hz"},pelog4:{frequencies:[261.6255653006,290.96323214696,317.29765457754,352.87817160549,385.03871768789,434.94616895528,470.49199937597,523.2511306012],description:"Hindu-Jav. demung, excavated in Banjarnegara. 1/1=427 Hz"},pelog5:{frequencies:[261.6255653006,284.64626913494,310.94732162256,358.21775774651,390.8649420513,427.47405410759,468.32288027948,523.2511306012],description:"Gamelan Kyahi Munggang (Paku Alaman, Jogja). 1/1=199.5 Hz"},pelog6:{frequencies:[261.6255653006,282.02769802256,315.83481057014,354.51258839996,386.37547528213,413.39000965417,523.2511306012],description:"Gamelan Semar pegulingan, Ubud (S. Bali). 1/1=263.5 Hz"},pelog7:{frequencies:[261.6255653006,281.2143451833,303.31920717687,353.89879686059,384.81637482457,412.43597848639,448.72664641273,523.2511306012],description:"Gamelan Kantjilbelik (kraton Jogja). Measured by Surjodiningrat, 1972."},pelog8:{frequencies:[261.6255653006,281.2143451833,305.0763174688,362.1707891162,386.59871897734,415.30469757995,456.83405152976,529.33101587613,573.91491069685,623.33318620372,730.64478690489,786.25839925218,840.74610520523,945.88853913022,1075.30214607265],description:"from William Malm: Music Cultures of the Pacific, the Near East and Asia."},pelog9:{frequencies:[261.6255653006,282.57123920205,305.19382000629,356.01745236555,384.52011812375,415.30469757995,448.5538823653,523.2511306012],description:"9-tET Pelog"},pelog9i:{frequencies:[261.6255653006,287.76973397991,309.19384990071,332.21296611011,356.94582815655,383.52002471837,421.84506978464,453.25093845942,486.99493426005,523.2511306012],description:"George Secor's isopelogic scale with ~537.84194 generator and just 13/11"},pelog_24:{frequencies:[261.6255653006,293.66476791741,320.24370022528,349.22823143301,391.99543598175,440,479.82340237272,523.2511306012],description:"Subset of 24-tET (Sumatra?)"},pelog_a:{frequencies:[261.6255653006,280.7274598329,305.95868600104,363.84824628932,386.82209166041,411.72190027758,452.10885997356,523.2511306012],description:"Pelog, average class A. Kunst 1949"},pelog_alv:{frequencies:[261.6255653006,299.00064605783,313.95067836072,343.38355445704,392.4383479509,418.60090448096,457.84473927605,523.2511306012],description:"Bill Alves JI Pelog, 1/1 vol. 9 no. 4, 1997. 1/1=293.33"},pelog_av:{frequencies:[261.6255653006,280.40333801024,305.78200836532,357.39105439675,385.26118901859,411.72190027758,452.89298412314,523.2511306012],description:'"Normalised Pelog", Kunst, 1949. Average of 39 Javanese gamelans'},pelog_b:{frequencies:[261.6255653006,280.07959041159,302.79405018898,354.30787302884,382.82105786018,408.64182041696,451.58686491179,523.2511306012],description:"Pelog, average class B. Kunst 1949"},pelog_c:{frequencies:[261.6255653006,279.91785681123,304.37225518229,350.84574289301,384.81637482457,410.29745071461,451.58686491179,523.2511306012],description:"Pelog, average class C. Kunst 1949"},pelog_he:{frequencies:[261.6255653006,283.17034563789,338.50336851425,364.68988616898,389.06292924114,420.13030572059,493.31307433255,523.2511306012],description:"Observed Javanese Pelog scale, Helmholtz/Ellis p. 518, nr.96"},pelog_jc:{frequencies:[261.6255653006,294.32876096318,313.95067836072,392.4383479509,418.60090448096,523.2511306012],description:"John Chalmers' Pelog, on keys C# E F# A B c#, like Olympos' Enharmonic on 4/3"},pelog_laras:{frequencies:[261.6255653006,283.42769574232,305.22982618403,370.63621750918,392.4383479509,414.24047839262,457.84473927605,523.2511306012],description:'Lou Harrison, gamelan "Si Betty"'},pelog_me1:{frequencies:[261.6255653006,281.13654920971,305.96893643544,353.85975480175,389.33427481332,412.3928606827,454.07565526112,523.2511306012],description:"Gamelan Kyahi Kanyut Mesem pelog (Mangku Nagaran). 1/1=295 Hz"},pelog_me2:{frequencies:[261.6255653006,277.86440299076,299.96729002515,349.58586605592,383.41679241104,405.97081699752,447.47001910635,523.2511306012],description:"Gamelan Kyahi Bermara (kraton Jogja). 1/1=290 Hz"},pelog_me3:{frequencies:[261.6255653006,281.75056896146,306.90688773629,358.59164065877,385.12012728597,411.64865826518,457.38747412584,523.2511306012],description:"Gamelan Kyahi Pangasih (kraton Solo). 1/1=286 Hz"},pelog_pa:{frequencies:[261.6255653006,286.29520819723,313.29104303136,342.83241505062,387.04559340587,423.54155496477,463.47885582013,523.2511306012],description:'"Blown fifth" pelog, von Hornbostel, type a.'},pelog_pa2:{frequencies:[261.6255653006,286.29520819723,313.29104303136,353.69443592699,387.04559340587,423.54155496477,463.47885582013,523.2511306012],description:"New mixed gender Pelog"},pelog_pb:{frequencies:[261.6255653006,277.98432293805,304.19649364034,353.69443592699,387.04559340587,411.24653512154,450.02449304881,523.2511306012],description:'"Primitive" Pelog, step of blown semi-fourths, von Hornbostel, type b.'},pelog_pb2:{frequencies:[261.6255653006,277.50302994288,303.66981774726,353.69443592699,387.04559340587,410.5345162762,449.24533531117,523.2511306012],description:'"Primitive" Pelog, Kunst: Music in Java, p. 28'},pelog_schmidt:{frequencies:[261.6255653006,287.78812183066,313.95067836072,366.27579142084,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Modern Pelog designed by Dan Schmidt and used by Berkeley Gamelan"},pelog_selun:{frequencies:[261.6255653006,281.10829462369,350.68958753059,378.52209447746,416.55977244877,523.2511306012,562.21664032682,701.37917506118,757.04418895493,833.11970794305,1046.5022612024,1124.43328065364],description:"Gamelan selunding from Kengetan, South Bali (Pelog), 1/1=141 Hz"},pelog_slen:{frequencies:[261.6255653006,289.4545544734,306.66641795878,334.42210013281,344.22141564971,354.30787302884,386.37547528213,397.69714089209,446.39994737251,459.48046426806,493.88330125613,523.2511306012],description:"W.P. Malm, pelog+slendro, Musical Cultures Of The Pacific, The Near East, And Asia. P: 1,3,5,6,8,10; S: 2,4,7,9"},pelog_str:{frequencies:[261.6255653006,282.73796785026,305.22982618403,329.86096249197,356.10146388137,384.83778957396,415.4517078616,448.97742116962,484.69365917187,523.80699136456],description:"JI Pelog with stretched 2/1 and extra tones between 2-3, 6-7. Wolf, XH 11, '87"},pelogic:{frequencies:[261.6255653006,268.93425429917,294.59920226397,322.71340889889,353.51061198674,363.38617257172,398.06486099125,436.0530078362,477.66644151787,523.2511306012],description:"Pelogic temperament, g=521.1, 5-limit"},pelogic2:{frequencies:[261.6255653006,252.56770712848,285.96465797334,276.06414495892,312.56802260838,301.74646235804,341.64630500046,386.82209166041,373.42974737602,422.80824892286,408.17001145418,462.1422075194,523.2511306012],description:"Pelogic temperament, g=677.0 in cycle of fifths order"},penta1:{frequencies:[261.6255653006,282.55561052465,294.32876096318,313.95067836072,331.11985608357,372.50983809402,376.74081403286,397.34382730029,423.83341578697,441.49314144476,470.92601754108,496.67978412536,523.2511306012],description:"Pentagonal scale 9/8 3/2 16/15 4/3 5/3"},penta2:{frequencies:[261.6255653006,267.07609791103,286.15296204753,305.22982618403,312.97980223949,333.84512238879,356.10146388137,363.36884069528,400.61414686654,436.04260883433,457.84473927605,476.92160341255,523.2511306012],description:"Pentagonal scale 7/4 4/3 15/8 32/21 6/5"},penta_opt:{frequencies:[261.6255653006,292.5084949701,327.03692214239,391.62201198054,436.95817401562,523.2511306012],description:"Optimally consonant major pentatonic, John deLaubenfels, 2001"},pentadekany:{frequencies:[261.6255653006,283.42769574232,299.7792935736,305.22982618403,327.03195662575,354.2846196779,359.73515228832,381.53728273004,389.71308164569,419.69101100305,425.14154361347,436.04260883433,457.84473927605,479.64686971777,495.99846754905,523.2511306012],description:"2)6 1.3.5.7.11.13 Pentadekany (1.3 tonic)"},pentadekany2:{frequencies:[261.6255653006,269.80136421624,294.32876096318,299.7792935736,305.22982618403,327.03195662575,343.38355445704,359.73515228832,381.53728273004,392.4383479509,419.69101100305,436.04260883433,457.84473927605,479.64686971777,490.54793493862,523.2511306012],description:"2)6 1.3.5.7.9.11 Pentadekany (1.3 tonic)"},pentadekany3:{frequencies:[261.6255653006,277.97716313189,278.79474302345,287.78812183066,291.4672313427,300.86940009569,305.77487944508,319.67373760167,359.73515228832,376.08675011961,405.51962621593,413.69542513157,430.86460285443,444.76346101102,506.89953276991,523.2511306012],description:"2)6 1.5.11.17.23.31 Pentadekany (1.5 tonic)"},pentatetra1:{frequencies:[261.6255653006,275.39533189537,290.69507255622,327.03195662575,348.83408706747,392.4383479509,413.09299784305,436.04260883433,490.54793493862,523.2511306012],description:"Penta-tetrachord 20/19 x 19/18 x 18/17 x 17/16 = 5/4. 5/4 x 16/15 = 4/3"},pentatetra2:{frequencies:[261.6255653006,275.39533189537,307.79478270659,327.03195662575,348.83408706747,392.4383479509,413.09299784305,461.69217405988,490.54793493862,523.2511306012],description:"Penta-tetrachord 20/19 x 19/18 x 18/17 x 17/16 = 5/4. 5/4 x 16/15 = 4/3"},pentatetra3:{frequencies:[261.6255653006,290.69507255622,307.79478270659,327.03195662575,348.83408706747,392.4383479509,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"Penta-tetrachord 20/19 x 19/18 x 18/17 x 17/16 = 5/4. 5/4 x 16/15 = 4/3"},pentatriad:{frequencies:[261.6255653006,290.69507255622,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"4:5:6 Pentatriadic scale"},pentatriad1:{frequencies:[261.6255653006,290.69507255622,294.32876096318,327.03195662575,348.83408706747,387.59343007496,392.4383479509,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"3:5:9 Pentatriadic scale"},pepper:{frequencies:[261.6255653006,274.70684356563,290.69507255622,294.32876096318,305.22982618403,327.03195662575,343.38355445704,348.83408706747,367.91095120397,392.4383479509,406.97310157871,436.04260883433,441.49314144476,457.84473927605,465.11211608996,490.54793493862,515.07533168556,523.2511306012],description:"Keenan Pepper's 17-tone jazz tuning, TL 07-06-2000"},pepper2:{frequencies:[261.6255653006,281.81099471089,295.05751399041,308.92668738628,332.76158224462,348.40303271111,375.28368107222,392.9238840789,423.23948674937,443.13385158124,463.96335069158,499.75992392917,523.2511306012],description:`Keenan Pepper's "Noble Fifth" with chromatic/diatonic semitone = Phi (12)`},peprmint:{frequencies:[261.6255653006,270.64528749638,281.81099405977,291.52662269553,295.0575145017,305.22982618403,308.92668738628,319.57714845986,332.76158147578,344.23376699744,348.40303331485,360.41446869983,375.28368085545,388.22184514393,392.92388339801,406.47020562703,423.23948723831,437.83096109824,443.13385158124,458.41119713782,463.9633498876,479.95880678291,499.75992479518,516.98949333115,523.2511306012],description:"Peppermint 24: Wilson/Pepper apotome/limma=Phi, 2 chains spaced for pure 7:6"},"perkis-indian":{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,303.82323712328,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.01393146398,369.99442271164,377.90359432309,388.70083987518,400.13321751856,412.18367363396,425.14154361347,438.99882991118,453.48431318771,469.12170329763,485.27322596079,503.87145909745,523.2511306012],description:"Indian 22 Perkis"},"perrett-tt":{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,412.06026534844,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,515.07533168556,523.2511306012],description:"Perrett Tierce-Tone"},perrett:{frequencies:[261.6255653006,274.70684356563,279.06726965397,348.83408706747,392.4383479509,412.06026534844,418.60090448096,523.2511306012],description:"Perrett / Tartini / Pachymeres Enharmonic"},perrett_14:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,343.38355445704,348.83408706747,366.27579142084,392.4383479509,412.06026534844,436.04260883433,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"Perrett's 14-tone system (subscale of tierce-tone)"},perrett_chrom:{frequencies:[261.6255653006,274.70684356563,294.32876096318,348.83408706747,392.4383479509,412.06026534844,441.49314144476,523.2511306012],description:"Perrett's Chromatic"},perry:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Robin Perry, Tuning List 22-9-'98"},perry2:{frequencies:[261.6255653006,274.70684356563,290.69507255622,305.22982618403,327.03195662575,348.83408706747,373.75080757229,392.4383479509,415.27867508032,436.04260883433,457.84473927605,498.33441009638,523.2511306012],description:"Robin Perry, 7-limit scale, TL 22-10-2006"},perry3:{frequencies:[261.6255653006,277.97716313189,294.32876096318,307.79478270659,327.03195662575,348.83408706747,369.35373924791,370.63621750918,392.4383479509,418.60090448096,444.76346101102,465.11211608996,492.47165233054,523.2511306012],description:"Robin Perry, symmetrical 3,5,17 scale, TL 22-10-2006"},"persian-far":{frequencies:[261.6255653006,275.58617649731,282.84340331238,294.51413096332,310.22971009486,318.39923223688,331.53706992441,349.22823143301,362.58942698662,376.46181130035,391.99543598175,412.91271853531,423.78627283082,441.27260666252,464.81937009253,477.05982293263,496.7443381147,523.2511306012],description:"Hormoz Farhat, average of observed Persian tar and sehtar tunings (1966)"},"persian-vaz":{frequencies:[261.6255653006,277.18263097687,285.30470202322,293.66476791741,311.12698372208,320.24370022528,329.62755691287,349.22823143301,359.46139971304,380.8360868427,391.99543598175,415.30469757995,427.47405410759,440,466.16376151809,479.82340237272,493.88330125613,523.2511306012],description:"Vaziri's Persian tuning, using quartertones"},persian:{frequencies:[261.6255653006,275.62199471997,282.55561052465,294.32876096318,310.07474405997,317.87506184023,331.11985608357,348.83408706747,363.36884069528,376.74081403286,392.4383479509,413.43299207996,423.83341578697,441.49314144476,465.11211608996,476.81259276034,496.67978412536,523.2511306012],description:"Persian Tar Scale, from Dariush Anooshfar, Internet Tuning List 2/10/94"},persian2:{frequencies:[261.6255653006,275.62199471997,288.32205155576,294.32876096318,310.07474405997,321.08592105074,331.11985608357,348.83408706747,367.49599295996,384.42940207435,392.4383479509,413.43299207996,428.11456140098,441.49314144476,465.11211608996,489.99465727995,512.57253609913,523.2511306012],description:"Traditional Persian scale, from Mark Rankin"},phi1_13:{frequencies:[261.6255653006,272.27874348295,293.41755524936,305.36527715608,329.07281683115,342.47239171077,356.41758627629,384.088434771,399.72820043646,416.00480451705,448.3020273708,466.55651779723,502.7784067407,523.2511306012],description:"Pythagorean scale with (Phi + 1) / 2 as fifth"},phi_10:{frequencies:[261.6255653006,277.06593756944,293.41755524936,323.38703872151,342.47239171077,362.68389667063,399.72820043646,423.31898451752,448.3020273708,494.09131284284,523.2511306012],description:"Pythagorean scale with Phi as fifth"},phi_12:{frequencies:[261.6255653006,280.653851324,301.06608340242,314.41721066027,337.28508524374,352.24238645938,377.86132347501,405.34355110824,423.31898451752,454.10739278061,474.24531572837,508.73764640933,531.29821178855],description:"Non-Octave Pythagorean scale with Phi as fourth. Jacky Ligon TL 12-04-2001"},phi_13:{frequencies:[261.6255653006,277.06593756944,293.41755524936,305.36527715608,323.38703872151,342.47239171077,362.68389667063,377.45230514615,399.72820043646,423.31898451752,448.3020273708,466.55651779723,494.09131284284,523.2511306012],description:"Pythagorean scale with Phi as fifth"},phi_13a:{frequencies:[261.6255653006,280.653851324,293.09977429907,314.41721066027,328.36040925687,352.24238645938,377.86132347501,394.61802538749,423.31898451752,442.09155952525,474.24531572837,508.73764640933,531.29821178855,569.94005600595],description:"Non-Octave Pythagorean scale with Phi as fifth, Jacky Ligon TL 12-04-2001"},phi_13b:{frequencies:[261.6255653006,277.56939878091,287.90530191745,305.45065986668,316.82478268872,336.13253486432,356.61692887617,369.89633953852,392.4383479509,407.05164722964,431.8579526603,458.17598957099,475.23717379553,504.19880204444],description:"Non-Octave Pythagorean scale with 12 3/2s, Jacky Ligon, TL 12-04-2001"},phi_17:{frequencies:[261.6255653006,276.86436108535,292.99059544936,310.05629713556,328.11582814217,347.22745468775,367.4522682176,388.8548834608,411.50435256812,435.47307590797,460.83762934409,487.67984759381,516.08523529366,546.14543793146,577.9565447239,611.62018657326,647.24497389216,684.94478342154],description:"Phi + 1 equal division by 17, Brouncker (1653)"},phi_7b:{frequencies:[261.6255653006,277.06593756944,299.7954575021,323.38703872151,342.47239171077,369.42210382256,399.72820043646,423.31898451752],description:"Heinz Bohlen's Pythagorean scale with Phi as fifth (1999)"},phi_7be:{frequencies:[261.6255653006,277.18263097687,299.37379946195,323.3415889232,342.56848033562,369.99442271164,399.61607881612,423.37848741825],description:"36-tET approximation of phi_7b"},phi_8:{frequencies:[261.6255653006,280.010356995,292.01318753119,312.53354015396,325.93049860793,348.83408706747,373.34714284662,389.35091690288,416.71138708025],description:"Non-Octave Pythagorean scale with 4/3s, Jacky Ligon, TL 12-04-2001"},phi_8a:{frequencies:[261.6255653006,275.77662731691,284.90271245142,300.31281179658,310.2506767011,327.03195662575,344.72084112096,356.12824371673,375.39107678967],description:"Non-Octave Pythagorean scale with 5/4s, Jacky Ligon, TL 12-04-2001"},phillips_19:{frequencies:[261.6255653006,274.63272075836,286.12988535196,293.66476791741,305.42895910556,326.59518553839,329.62755691287,342.83241505062,349.22823143301,366.5907009274,384.81637482457,391.99543598175,407.69874723177,428.71043212875,440,457.62637091093,489.33987776603,493.88330125613,513.66823365307,523.2511306012],description:"Pauline Phillips, organ manual scale, TL 7-10-2002"},phillips_19a:{frequencies:[261.6255653006,274.58143914872,285.65749968142,293.61100773131,305.45468261618,326.62388782443,329.50688232588,342.79852229325,349.26020182051,366.55580177366,381.34192228364,391.95955371998,407.7704102616,427.96347506501,439.87918162894,457.62301915088,489.33808574423,493.65730140218,509.07699553894,523.2511306012],description:"Adaptation by Gene Ward Smith with more consonant chords, TL 25-10-2002"},phillips_22:{frequencies:[261.6255653006,275.93321340298,286.15296204753,294.32876096318,305.5744765615,306.59245933664,327.03195662575,331.11985608357,343.38355445704,349.22797321314,367.91095120397,392.4383479509,407.76797091773,408.78994578219,416.96574469783,429.2294430713,441.49314144476,457.84473927605,459.88868900496,490.54793493862,496.67978412536,515.07533168556,523.2511306012],description:"All-key 19-limit JI scale (2002), TL 21-10-2002"},phillips_ji:{frequencies:[261.6255653006,275.93321340298,286.15296204753,294.32876096318,305.5744765615,306.59245933664,327.03195662575,331.11985608357,349.22797321314,367.91095120397,386.30649876417,392.4383479509,407.76797091773,408.78994578219,429.2294430713,441.49314144476,457.84473927605,459.88868900496,490.54793493862,496.67978412536,515.07533168556,523.2511306012],description:'Pauline Phillips, JI 0 #/b "C" scale (2002), TL 8-10-2002'},phryg_chromcon2:{frequencies:[261.6255653006,283.42769574232,294.32876096318,305.22982618403,392.4383479509,414.24047839262,436.04260883433,523.2511306012],description:"Harmonic Conjunct Chromatic Phrygian"},phryg_chromconi:{frequencies:[261.6255653006,283.42769574232,348.83408706747,370.63621750918,392.4383479509,479.64686971777,501.44900015948,523.2511306012],description:"Inverted Conjunct Chromatic Phrygian"},phryg_chrominv:{frequencies:[261.6255653006,272.52663052146,283.42769574232,348.83408706747,392.4383479509,414.24047839262,436.04260883433,523.2511306012],description:"Inverted Schlesinger's Chromatic Phrygian"},phryg_chromt:{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,324.77656382143,336.37572681506,362.25078272391,392.4383479509,409.50088481833,418.60090448096,428.11456140098,470.92601754108,523.2511306012,554.03060887186,588.65752192635,627.90135672144,649.55312764287,672.75145363011,724.50156544782,784.8766959018,819.00176963666,837.20180896192,856.22912280196,941.85203508216,1046.5022612024],description:"Phrygian Chromatic Tonos"},phryg_diat:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,369.35373924791,392.4383479509,448.50096908674,483.00104363188,523.2511306012],description:"Schlesinger's Phrygian Harmonia, a subharmonic series through 13 from 24"},phryg_diatcon:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,369.35373924791,448.50096908674,483.00104363188,523.2511306012],description:"A Phrygian Diatonic with its own trite synemmenon replacing paramese"},phryg_diatinv:{frequencies:[261.6255653006,283.42769574232,305.22982618403,370.63621750918,392.4383479509,436.04260883433,479.64686971777,523.2511306012],description:"Inverted Conjunct Phrygian Harmonia with 17, the local Trite Synemmenon"},phryg_diatsinv:{frequencies:[261.6255653006,283.42769574232,305.22982618403,348.83408706747,370.63621750918,392.4383479509,436.04260883433,479.64686971777,523.2511306012],description:"Inverted Schlesinger's Phrygian Harmonia, a harmonic series from 12 from 24"},phryg_enh:{frequencies:[261.6255653006,267.19206668997,273.00058987889,348.83408706747,392.4383479509,405.0976494977,418.60090448096,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the enharmonic genus"},phryg_enhcon:{frequencies:[261.6255653006,283.42769574232,288.87822835275,294.32876096318,392.4383479509,403.33941317176,414.24047839262,523.2511306012],description:"Harmonic Conjunct Enharmonic Phrygian"},phryg_enhinv:{frequencies:[261.6255653006,327.03195662575,337.93302184661,348.83408706747,392.4383479509,501.44900015948,512.35006538034,523.2511306012],description:"Inverted Schlesinger's Enharmonic Phrygian Harmonia"},phryg_enhinv2:{frequencies:[261.6255653006,267.07609791103,272.52663052146,348.83408706747,392.4383479509,403.33941317176,414.24047839262,523.2511306012],description:"Inverted harmonic form of Schlesinger's Enharmonic Phrygian"},phryg_penta:{frequencies:[261.6255653006,270.64713651786,285.40970760065,348.83408706747,392.4383479509,413.09299784305,448.50096908674,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the pentachromatic genus"},phryg_pis:{frequencies:[261.6255653006,294.32876096318,336.37572681506,362.25078272391,392.4383479509,428.11456140098,470.92601754108,523.2511306012,554.03060887186,588.65752192635,672.75145363011,724.50156544782,784.8766959018,856.22912280196,941.85203508216,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Phrygian Tonos"},phryg_tri1:{frequencies:[261.6255653006,273.00058987889,285.40970760065,348.83408706747,392.4383479509,418.60090448096,448.50096908674,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the chromatic genus"},phryg_tri1inv:{frequencies:[261.6255653006,305.22982618403,327.03195662575,348.83408706747,392.4383479509,479.64686971777,501.44900015948,523.2511306012],description:"Inverted Schlesinger's Chromatic Phrygian Harmonia"},phryg_tri2:{frequencies:[261.6255653006,269.10058145205,285.40970760065,348.83408706747,392.4383479509,409.50088481833,448.50096908674,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the second trichromatic genus"},phryg_tri3:{frequencies:[261.6255653006,269.10058145205,277.01530443593,348.83408706747,392.4383479509,409.50088481833,428.11456140098,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the first trichromatic genus"},phrygian:{frequencies:[261.6255653006,290.69507255622,313.95067836072,327.03195662575,348.83408706747,353.19451315581,387.59343007496,392.4383479509,418.60090448096,436.04260883433,465.11211608996,470.92601754108,523.2511306012],description:"Old Phrygian ??"},phrygian_diat:{frequencies:[261.6255653006,277.01530443593,294.32876096318,336.37572681506,348.83408706747,362.25078272391,376.74081403286,392.4383479509,428.11456140098,448.50096908674,470.92601754108,495.71159741166,523.2511306012,554.03060887186,588.65752192635,672.75145363011,697.66817413493,724.50156544782,753.48162806573,784.8766959018,856.22912280196,897.00193817349,941.85203508216,991.42319482333,1046.5022612024],description:"Phrygian Diatonic Tonos"},phrygian_enh:{frequencies:[261.6255653006,277.01530443593,294.32876096318,303.82323712328,308.80394592858,313.95067836072,348.83408706747,392.4383479509,400.78810003496,405.0976494977,409.50088481833,459.44001711325,523.2511306012],description:"Phrygian Enharmonic Tonos"},phrygian_harm:{frequencies:[261.6255653006,273.00058987889,285.40970760065,299.00064605783,313.95067836072,330.47439827444,348.83408706747,369.35373924791,392.4383479509,418.60090448096,448.50096908674,483.00104363188,523.2511306012],description:"Phrygian Harmonia-Aliquot 24 (flute tuning)"},piano:{frequencies:[261.6255653006,275.93321340298,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,348.83408706747,367.91095120397,372.08969287196,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,465.11211608996,490.54793493862,515.07533168556,523.2511306012],description:"Enhanced Piano Total Gamut, see 1/1 vol. 8/2 January 1994"},piano7:{frequencies:[261.6255653006,275.93321340298,294.32876096318,305.22982618403,327.03195662575,348.83408706747,367.91095120397,392.4383479509,406.97310157871,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Enhanced piano 7-limit"},pipedum_10:{frequencies:[261.6255653006,279.06726965397,306.59245933664,327.03195662575,348.83408706747,372.08969287196,396.89567239676,431.14564594215,459.88868900496,490.54793493862,523.2511306012],description:"2048/2025 and 34171875/33554432 are homophonic intervals"},pipedum_10a:{frequencies:[261.6255653006,279.06726965397,294.32876096318,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,465.11211608996,490.54793493862,523.2511306012],description:"2048/2025 and 25/24, Manuel Op de Coul, 2001"},pipedum_10b:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,348.83408706747,367.91095120397,392.4383479509,418.60090448096,446.50763144636,490.54793493862,523.2511306012],description:"225/224, 64/63 and 25/24 are homophonic intervals"},pipedum_10c:{frequencies:[261.6255653006,280.31310567921,305.22982618403,327.03195662575,348.83408706747,373.75080757229,392.4383479509,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"225/224, 64/63 and 49/48 are homophonic intervals"},pipedum_10d:{frequencies:[261.6255653006,279.06726965397,299.00064605783,318.93402246168,343.38355445704,372.08969287196,392.4383479509,425.24536328225,448.50096908674,488.36772189445,523.2511306012],description:"1029/1024, 2048/2025 and 64/63 are homophonic intervals"},pipedum_10e:{frequencies:[261.6255653006,286.15296204753,305.22982618403,327.03195662575,348.83408706747,367.91095120397,406.97310157871,429.2294430713,465.11211608996,490.54793493862,523.2511306012],description:"2048/2025, 64/63 and 49/48 are homophonic intervals"},pipedum_10f:{frequencies:[261.6255653006,280.31310567921,294.32876096318,327.03195662575,348.83408706747,373.75080757229,392.4383479509,420.46965851882,465.11211608996,490.54793493862,523.2511306012],description:"225/224, 64/63 and 28/27 are homophonic intervals"},pipedum_10g:{frequencies:[261.6255653006,280.31310567921,299.00064605783,325.57848126297,348.83408706747,372.08969287196,398.6675280771,425.24536328225,457.84473927605,490.54793493862,523.2511306012],description:"225/224, 1029/1024 and 2048/2025 are homophonic intervals"},pipedum_10h:{frequencies:[261.6255653006,286.15296204753,305.22982618403,327.03195662575,348.83408706747,373.75080757229,400.61414686654,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"225/224, 1029/1024 and 64/63 are homophonic intervals"},pipedum_10i:{frequencies:[261.6255653006,279.06726965397,294.32876096318,321.92208230347,343.38355445704,367.91095120397,392.4383479509,418.60090448096,457.84473927605,488.36772189445,523.2511306012],description:"225/224, 2048/2025 and 49/48 are homophonic intervals"},pipedum_10j:{frequencies:[261.6255653006,269.10058145205,305.22982618403,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,457.84473927605,488.36772189445,523.2511306012],description:"25/24, 28/27 and 49/48, Gene Ward Smith, 2002"},pipedum_10k:{frequencies:[261.6255653006,280.31310567921,299.00064605783,320.49131749323,343.38355445704,367.91095120397,394.1903048614,420.46965851882,455.80987376816,488.36772189445,523.2511306012],description:"2048/2025, 225/224 and 2401/2400"},pipedum_11:{frequencies:[261.6255653006,272.52663052146,282.55561052465,313.95067836072,327.03195662575,363.36884069528,376.74081403286,392.4383479509,436.04260883433,454.2110508691,470.92601754108,523.2511306012],description:"16/15 and 15625/15552 are homophonic intervals"},pipedum_11a:{frequencies:[261.6255653006,269.10058145205,305.22982618403,313.95067836072,322.92069774245,366.27579142084,376.74081403286,381.53728273004,436.04260883433,448.50096908674,508.71637697339,523.2511306012],description:"126/125, 1728/1715 and 10/9, Gene Ward Smith, 2002"},pipedum_12:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"81/80 and 2048/2025 are homophonic intervals"},pipedum_12a:{frequencies:[261.6255653006,279.06726965397,297.67175429757,306.59245933664,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"81/80 and 2048/2025 are homophonic intervals"},pipedum_12b:{frequencies:[261.6255653006,274.70684356563,299.00064605783,313.95067836072,320.49131749323,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,488.36772189445,523.2511306012],description:"64/63, 50/49 comma and 36/35 chroma"},pipedum_12c:{frequencies:[261.6255653006,280.31310567921,294.32876096318,315.35224388912,327.03195662575,348.83408706747,367.91095120397,392.4383479509,420.46965851882,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"225/224, 64/63 and 36/35 are homophonic intervals"},pipedum_12d:{frequencies:[261.6255653006,280.31310567921,293.02063313667,313.95067836072,327.03195662575,350.39138209902,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"50/49, 128/125 and 225/224 are homophonic intervals"},pipedum_12e:{frequencies:[261.6255653006,280.31310567921,293.02063313667,313.95067836072,327.03195662575,350.39138209902,373.75080757229,392.4383479509,418.60090448096,439.53094970501,467.18850946536,500.55911728431,523.2511306012],description:"50/49, 225/224 and 3136/3125 are homophonic intervals"},pipedum_12f:{frequencies:[261.6255653006,273.74326726486,293.02063313667,313.95067836072,327.03195662575,350.39138209902,366.27579142084,392.4383479509,408.78994578219,437.98922762377,468.83301301868,490.54793493862,523.2511306012],description:"128/125, 3136/3125 and 703125/702464 are homophonic intervals"},pipedum_12g:{frequencies:[261.6255653006,279.06726965397,286.15296204753,306.59245933664,327.03195662575,348.83408706747,366.27579142084,390.69417751556,408.78994578219,437.98922762377,457.84473927605,488.36772189445,523.2511306012],description:"50/49, 225/224 and 28672/28125 are homophonic intervals"},pipedum_12h:{frequencies:[261.6255653006,275.93321340298,291.02331101095,310.42486507835,330.74639366397,348.83408706747,367.91095120397,392.4383479509,413.89982010446,436.53496651643,465.11211608996,496.11959049595,523.2511306012],description:"2048/2025 and 67108864/66430125, Gene Ward Smith, 2004"},pipedum_12i:{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,336.37572681506,348.83408706747,378.42269266694,392.4383479509,406.97310157871,441.49314144476,465.11211608996,504.56359022259,523.2511306012],description:"64/63 and 6561/6272, Gene Ward Smith, 2004"},pipedum_12j:{frequencies:[261.6255653006,283.8170195002,285.83021674664,310.07474405997,336.37572681506,348.83408706747,378.42269266694,392.4383479509,413.43299207996,448.50096908674,465.11211608996,504.56359022259,523.2511306012],description:"6561/6272 and 59049/57344"},pipedum_12k:{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,336.37572681506,348.83408706747,356.10146388137,392.4383479509,406.97310157871,448.50096908674,457.84473927605,474.80195184183,523.2511306012],description:"64/63 and 729/686, Gene Ward Smith, 2004"},pipedum_12l:{frequencies:[261.6255653006,276.16031892841,294.32876096318,310.68035879446,331.39238271409,348.83408706747,368.21375857121,392.4383479509,414.24047839262,441.49314144476,465.11211608996,497.08857407114,523.2511306012],description:"81/80, 361/360 and 513/512, Gene Ward Smith"},pipedum_13:{frequencies:[261.6255653006,276.76092858245,287.78812183066,309.14739649778,327.03195662575,345.95116072807,359.73515228832,380.54627680087,408.78994578219,418.60090448096,449.66894036041,475.68284600109,494.63583439645,523.2511306012],description:"33275/32768 and 163840/161051 are homophonic intervals. Op de Coul, 2001"},pipedum_13a:{frequencies:[261.6255653006,266.96486255163,293.02063313667,299.00064605783,327.03195662575,334.88072358477,366.27579142084,373.75080757229,408.78994578219,418.60090448096,457.84473927605,467.18850946536,512.78610798918,523.2511306012],description:"15/14, 3136/3125, 2401/2400, Gene Ward Smith, 2002"},pipedum_13b:{frequencies:[261.6255653006,267.90457886781,293.02063313667,299.00064605783,327.03195662575,334.88072358477,366.27579142084,373.75080757229,408.78994578219,418.60090448096,457.84473927605,467.18850946536,510.98743222773,523.2511306012],description:"15/14, 3136/3125, 6144/6125, Gene Ward Smith, 2002"},pipedum_13bp:{frequencies:[261.6255653006,282.55561052465,305.16005936662,336.45263027341,363.36884069528,392.4383479509,436.04260883433,470.92601754108,508.60009894437,545.05326104292,605.61473449213,654.0639132515,706.38902631162,784.8766959018],description:"78732/78125 and 250/243, twelfth based, Manuel Op de Coul, 2003"},pipedum_13bp2:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,376.74081403286,392.4383479509,436.04260883433,470.92601754108,523.2511306012,565.1112210493,627.90135672144,678.13346525916,726.73768139056,784.8766959018],description:"250/243 and 648/625, twelfth based, Manuel Op de Coul, 2003"},pipedum_13c:{frequencies:[261.6255653006,267.07609791103,293.02063313667,299.00064605783,327.03195662575,334.88072358477,366.27579142084,373.75080757229,408.78994578219,418.60090448096,457.84473927605,467.18850946536,512.57253609913,523.2511306012],description:"15/14, 2401/2400, 6144/6125, Gene Ward Smith, 2002"},pipedum_13d:{frequencies:[261.6255653006,281.04308772525,287.78812183066,309.14739649778,327.03195662575,334.88072358477,359.73515228832,380.54627680087,408.78994578219,418.60090448096,449.66894036041,475.68284600109,494.63583439645,523.2511306012],description:"125/121 and 33275/32768, Joe Monzo, 2003"},pipedum_13e:{frequencies:[261.6255653006,276.76092858245,287.78812183066,304.4370214407,327.03195662575,334.88072358477,359.73515228832,380.54627680087,408.78994578219,418.60090448096,449.66894036041,475.68284600109,494.63583439645,523.2511306012],description:"33275/32768 and 163840/161051, Manuel Op de Coul, 2004"},pipedum_14:{frequencies:[261.6255653006,274.70684356563,284.76252005507,305.22982618403,320.49131749323,336.37572681506,348.83408706747,373.90653707544,392.4383479509,406.97310157871,427.14378008261,448.50096908674,480.73697623985,498.33441009638,523.2511306012],description:"81/80, 49/48 and 2401/2400, Paul Erlich, TL 17-1-2001"},pipedum_14a:{frequencies:[261.6255653006,274.70684356563,284.8811711051,305.22982618403,320.35783506196,336.37572681506,348.83408706747,366.27579142084,392.4383479509,406.97310157871,427.32175665765,448.50096908674,480.53675259294,498.33441009638,523.2511306012],description:"81/80, 50/49 and 2401/2400, Paul Erlich, 2001"},pipedum_14b:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,313.95067836072,339.14425131559,353.19451315581,366.27579142084,392.4383479509,406.97310157871,418.60090448096,457.84473927605,470.92601754108,508.71637697339,523.2511306012],description:"245/243, 81/80 comma and 25/24 chroma"},pipedum_14c:{frequencies:[261.6255653006,280.31310567921,282.55561052465,305.22982618403,327.03195662575,336.37572681506,363.36884069528,366.27579142084,392.4383479509,403.65087217807,436.04260883433,467.18850946536,470.92601754108,508.71637697339,523.2511306012],description:"245/243, 50/49 comma and 25/24 chroma"},pipedum_15:{frequencies:[261.6255653006,272.52663052146,290.69507255622,301.39265122629,313.95067836072,327.03195662575,348.83408706747,363.36884069528,376.74081403286,392.4383479509,418.60090448096,436.04260883433,454.2110508691,470.92601754108,502.32108537715,523.2511306012],description:"126/125, 128/125 and 875/864, 5-limit, Paul Erlich, 2001"},pipedum_15a:{frequencies:[261.6255653006,274.70684356563,290.69507255622,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,381.53728273004,392.4383479509,418.60090448096,436.04260883433,457.84473927605,488.36772189445,502.32108537715,523.2511306012],description:"Septimal version of pipedum_15, Manuel Op de Coul, 2001"},pipedum_15b:{frequencies:[261.6255653006,274.70684356563,286.15296204753,299.00064605783,311.45900631024,327.03195662575,343.38355445704,357.69120255941,382.72082695402,398.6675280771,418.60090448096,439.53094970501,457.84473927605,478.40103369253,498.33441009638,523.2511306012],description:"126/125, 128/125 and 1029/1024, Paul Erlich, 2001"},pipedum_15c:{frequencies:[261.6255653006,274.70684356563,284.76252005507,299.00064605783,313.95067836072,327.03195662575,341.71502406609,358.80077526939,381.53728273004,400.61414686654,418.60090448096,436.04260883433,457.84473927605,480.73697623985,498.33441009638,523.2511306012],description:"49/48, 126/125 and 1029/1024, Paul Erlich, 2001"},pipedum_15d:{frequencies:[261.6255653006,274.70684356563,286.15296204753,299.00064605783,313.95067836072,327.03195662575,343.38355445704,360.55273217989,379.68336007343,398.6675280771,418.60090448096,436.04260883433,457.84473927605,478.40103369253,498.33441009638,523.2511306012],description:"64/63, 126/125 and 1029/1024, Paul Erlich, 2001"},pipedum_15e:{frequencies:[261.6255653006,273.37201925287,286.15296204753,299.00064605783,313.95067836072,332.22294006425,343.38355445704,358.80077526939,381.53728273004,398.6675280771,412.06026534844,436.04260883433,457.84473927605,478.40103369253,500.76768358318,523.2511306012],description:"64/63, 875/864 and 1029/1024, Paul Erlich, 2001"},pipedum_15f:{frequencies:[261.6255653006,274.70684356563,290.69507255622,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,387.59343007496,392.4383479509,418.60090448096,436.04260883433,465.11211608996,488.36772189445,490.54793493862,523.2511306012],description:"126/125, 64/63 comma and 28/27 chroma"},pipedum_15g:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,376.74081403286,392.4383479509,418.60090448096,436.04260883433,465.11211608996,470.92601754108,502.32108537715,523.2511306012],description:"128/125 and 250/243"},pipedum_16:{frequencies:[261.6255653006,274.70684356563,286.15296204753,299.00064605783,313.95067836072,327.03195662575,343.38355445704,355.95315006884,373.75080757229,384.58958099188,400.61414686654,418.60090448096,439.53094970501,457.84473927605,480.73697623985,498.33441009638,523.2511306012],description:"50/49, 126/125 and 1029/1024, Paul Erlich, 2001"},pipedum_16a:{frequencies:[261.6255653006,272.52663052146,283.88190679319,301.39265122629,313.95067836072,327.03195662575,340.65828815182,354.85238349148,363.36884069528,385.78259356965,401.85686830172,418.60090448096,436.04260883433,454.2110508691,482.22824196207,502.32108537715,523.2511306012],description:"3125/3072 and 1990656/1953125, OdC 2004"},pipedum_17:{frequencies:[261.6255653006,269.10058145205,286.15296204753,294.32876096318,305.22982618403,318.93402246168,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,429.2294430713,448.50096908674,465.11211608996,478.40103369253,508.71637697339,523.2511306012],description:"245/243, 64/63 and 525/512, Paul Erlich, 2001"},pipedum_17a:{frequencies:[261.6255653006,271.31540105247,286.15296204753,296.75121990114,305.22982618403,318.93402246168,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,429.2294430713,448.50096908674,461.31528248922,478.40103369253,504.56359022259,523.2511306012],description:"245/243, 525/512 and 1728/1715, Paul Erlich, 2001"},pipedum_17b:{frequencies:[261.6255653006,264.89588486686,286.15296204753,294.32876096318,305.22982618403,327.03195662575,339.14425131559,343.38355445704,367.91095120397,381.53728273004,392.4383479509,406.97310157871,436.04260883433,441.49314144476,457.84473927605,490.54793493862,508.71637697339,523.2511306012],description:"245/243, 64/63 comma and 25/24 chroma"},pipedum_17c:{frequencies:[261.6255653006,273.6806973752,285.83021674664,299.00064605783,310.07474405997,321.55899383997,336.37572681506,348.83408706747,364.90759650026,378.42269266694,392.4383479509,413.43299207996,428.74532511996,448.50096908674,465.11211608996,486.54346200035,504.56359022259,523.2511306012],description:"1605632/1594323 and 177147/175616, Manuel Op de Coul, 2002"},pipedum_17d:{frequencies:[261.6255653006,274.08392555301,284.23518205497,299.00064605783,308.34441624714,319.76457981184,336.37572681506,348.83408706747,365.44523407068,373.05867644715,392.4383479509,411.12588832951,426.35277308246,448.50096908674,465.11211608996,479.64686971777,504.56359022259,523.2511306012],description:"243/242, 99/98 and 64/63, Manuel Op de Coul, 2002"},pipedum_17e:{frequencies:[261.6255653006,271.31540105247,286.15296204753,296.75121990114,310.07474405997,321.92208230347,336.37572681506,348.83408706747,362.16234259141,378.42269266694,395.66829320152,413.43299207996,429.2294430713,445.12682985172,465.11211608996,482.88312345521,504.56359022259,523.2511306012],description:"245/243, 1728/1715 and 32805/32768, Manuel Op de Coul, 2003"},pipedum_17f:{frequencies:[261.6255653006,269.80136421624,285.40970760065,294.32876096318,310.07474405997,319.76457981184,331.11985608357,348.83408706747,359.73515228832,380.54627680087,392.4383479509,413.43299207996,428.11456140098,441.49314144476,465.11211608996,479.64686971777,507.3950357345,523.2511306012],description:"243/242 and 8192/8019, Manuel Op de Coul"},pipedum_17g:{frequencies:[261.6255653006,274.08392555301,285.40970760065,299.00064605783,305.22982618403,319.76457981184,336.37572681506,348.83408706747,359.73515228832,380.54627680087,392.4383479509,406.97310157871,428.11456140098,448.50096908674,457.84473927605,479.64686971777,499.46698830115,523.2511306012],description:"243/242, 896/891 and 99/98, Manuel Op de Coul"},pipedum_18:{frequencies:[261.6255653006,272.52663052146,280.31310567921,296.75121990114,305.22982618403,317.94773560837,327.03195662575,340.65828815182,350.39138209902,379.84156147346,390.69417751556,406.97310157871,418.60090448096,436.04260883433,448.50096908674,474.80195184183,488.36772189445,508.71637697339,523.2511306012],description:"875/864, 686/675 and 128/125, Paul Erlich, 2001"},pipedum_18a:{frequencies:[261.6255653006,269.10058145205,280.31310567921,293.02063313667,305.22982618403,313.95067836072,327.03195662575,341.85740532612,356.10146388137,366.27579142084,384.42940207435,400.44729382745,418.60090448096,436.04260883433,448.50096908674,467.18850946536,488.36772189445,508.71637697339,523.2511306012],description:"875/864, 686/675 and 50/49, Paul Erlich, 2001"},pipedum_18b:{frequencies:[261.6255653006,272.52663052146,280.31310567921,296.75121990114,305.22982618403,317.94773560837,327.03195662575,346.20975655133,356.10146388137,373.75080757229,384.42940207435,400.44729382745,418.60090448096,436.04260883433,448.50096908674,467.18850946536,488.36772189445,508.71637697339,523.2511306012],description:"1728/1715, 875/864 and 686/675, Paul Erlich, 2001"},pipedum_19:{frequencies:[261.6255653006,272.52663052146,282.55561052465,290.69507255622,301.39265122629,313.95067836072,327.03195662575,339.06673262958,348.83408706747,363.36884069528,376.74081403286,392.4383479509,401.85686830172,418.60090448096,436.04260883433,452.08897683944,470.92601754108,484.4917875937,502.32108537715,523.2511306012],description:"81/80 and 15625/15552 are homophonic intervals, inverse of Mandelbaum"},pipedum_19a:{frequencies:[261.6255653006,271.25338610366,282.55561052465,294.32876096318,301.39265122629,313.95067836072,327.03195662575,339.06673262958,353.19451315581,361.67118147155,376.74081403286,392.4383479509,408.78994578219,416.64520105522,434.00541776586,452.08897683944,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"3125/3072 and 15625/15552 are homophonic intervals"},pipedum_19b:{frequencies:[261.6255653006,272.52663052146,282.55561052465,290.69507255622,302.80736724606,313.95067836072,327.03195662575,339.06673262958,348.83408706747,363.36884069528,376.74081403286,392.4383479509,403.74315632809,418.60090448096,436.04260883433,452.08897683944,470.92601754108,484.4917875937,502.32108537715,523.2511306012],description:"15625/15552 and 78732/78125, Paul Erlich, TL 19-2-2001"},pipedum_19c:{frequencies:[261.6255653006,269.10058145205,280.31310567921,290.69507255622,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,376.74081403286,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,470.92601754108,488.36772189445,508.71637697339,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19d:{frequencies:[261.6255653006,271.31540105247,280.31310567921,290.69507255622,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,376.74081403286,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,470.92601754108,488.36772189445,504.56359022259,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19e:{frequencies:[261.6255653006,269.10058145205,280.31310567921,287.04062021552,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,476.92160341255,488.36772189445,508.71637697339,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19f:{frequencies:[261.6255653006,269.10058145205,279.06726965397,287.04062021552,305.22982618403,315.35224388912,327.03195662575,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,418.60090448096,434.10464168396,448.50096908674,476.92160341255,490.54793493862,508.71637697339,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19g:{frequencies:[261.6255653006,269.10058145205,280.31310567921,288.32205155576,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,360.4025644447,379.84156147346,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,474.80195184183,488.36772189445,508.71637697339,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19h:{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,353.19451315581,366.27579142084,381.53728273004,392.4383479509,412.06026534844,415.27867508032,436.04260883433,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"126/125, 81/80 comma and 49/48 chroma"},pipedum_19i:{frequencies:[261.6255653006,275.93321340298,286.15296204753,294.32876096318,305.22982618403,321.92208230347,327.03195662575,343.38355445704,348.83408706747,367.91095120397,381.53728273004,392.4383479509,406.97310157871,429.2294430713,436.04260883433,457.84473927605,465.11211608996,490.54793493862,515.07533168556,523.2511306012],description:"225/224, 81/80 comma and 49/48 chroma"},pipedum_19j:{frequencies:[261.6255653006,266.96486255163,286.15296204753,293.02063313667,299.00064605783,320.49131749323,327.03195662575,333.70607818954,358.95027559242,366.27579142084,373.75080757229,381.37837507376,410.22888639134,418.60090448096,427.14378008261,457.84473927605,467.18850946536,478.40103369253,512.78610798918,523.2511306012],description:"21/20, 3136/3125 and 2401/2400, Gene Ward Smith, 2002"},pipedum_19k:{frequencies:[261.6255653006,267.90457886781,286.15296204753,293.02063313667,299.00064605783,320.49131749323,327.03195662575,334.88072358477,357.69120255941,366.27579142084,373.75080757229,382.72082695402,408.78994578219,418.60090448096,427.14378008261,457.84473927605,467.18850946536,478.40103369253,510.98743222773,523.2511306012],description:"21/20, 3136/3125 and 6144/6125, Gene Ward Smith, 2002"},pipedum_19l:{frequencies:[261.6255653006,267.07609791103,286.15296204753,293.02063313667,299.00064605783,320.49131749323,327.03195662575,333.84512238879,358.80077526939,366.27579142084,373.75080757229,381.53728273004,410.05802887931,418.60090448096,427.14378008261,457.84473927605,467.18850946536,478.40103369253,512.57253609913,523.2511306012],description:"21/20, 2401/2400 and 6144/6125, Gene Ward Smith, 2002"},pipedum_19m:{frequencies:[261.6255653006,269.10058145205,293.02063313667,299.00064605783,305.22982618403,313.95067836072,317.94773560837,348.83408706747,358.80077526939,366.27579142084,373.75080757229,406.97310157871,418.60090448096,430.56093032327,436.04260883433,448.50096908674,488.36772189445,502.32108537715,508.71637697339,523.2511306012],description:"126/125, 1728/1715 and 16/15, Gene Ward Smith, 2002"},pipedum_19n:{frequencies:[261.6255653006,267.07609791103,274.70684356563,280.31310567921,305.22982618403,313.95067836072,320.49131749323,327.03195662575,333.70607818954,366.27579142084,373.75080757229,381.53728273004,392.4383479509,427.32175665765,436.04260883433,448.50096908674,457.84473927605,467.18850946536,512.78610798918,523.2511306012],description:"126/125, 2401/2400 and 16/15, Gene Ward Smith, 2002"},pipedum_19o:{frequencies:[261.6255653006,272.52663052146,280.31310567921,290.69507255622,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,376.74081403286,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,470.92601754108,488.36772189445,502.32108537715,523.2511306012],description:"225/224, 3136/3125 and 4375/4374, OdC 2000"},pipedum_21:{frequencies:[261.6255653006,267.07609791103,280.31310567921,284.8811711051,299.00064605783,305.22982618403,320.35783506196,327.03195662575,341.85740532612,348.83408706747,366.27579142084,373.75080757229,392.4383479509,400.44729382745,418.60090448096,427.32175665765,448.50096908674,457.84473927605,480.53675259294,488.36772189445,512.57253609913,523.2511306012],description:"36/35, 225/224 and 2401/2400, P. Erlich, 2001. Just PB version of miracle1"},pipedum_21a:{frequencies:[261.6255653006,265.7783520514,286.15296204753,290.69507255622,299.00064605783,305.22982618403,327.03195662575,332.22294006425,343.38355445704,348.83408706747,373.75080757229,381.53728273004,392.4383479509,398.6675280771,429.2294430713,436.04260883433,448.50096908674,457.84473927605,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"1029/1024, 81/80 comma and 25/24 chroma"},pipedum_21b:{frequencies:[261.6255653006,267.07609791103,279.06726965397,284.8811711051,299.00064605783,305.22982618403,318.93402246168,325.57848126297,343.38355445704,348.83408706747,366.27579142084,372.08969287196,392.4383479509,398.6675280771,418.60090448096,427.32175665765,448.50096908674,457.84473927605,478.40103369253,488.36772189445,496.11959049595,523.2511306012],description:"36/35, 225/224 and 1029/1024, Gene Ward Smith, 2002"},pipedum_21c:{frequencies:[261.6255653006,269.46602871384,279.06726965397,287.4304306281,297.67175429757,306.59245933664,317.51653791741,327.03195662575,344.91651675372,348.83408706747,367.91095120397,372.08969287196,392.4383479509,396.89567239676,418.60090448096,431.14564594215,446.50763144636,459.88868900496,476.27480687611,490.54793493862,508.02646066786,523.2511306012],description:"First 128/125 and ampersand comma Fokker block"},pipedum_22:{frequencies:[261.6255653006,267.90457886781,279.06726965397,285.76488412567,299.40669857094,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,357.20610515709,365.77905168086,383.2405741708,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,457.22381460107,479.0507177135,490.54793493862,510.98743222773,523.2511306012],description:"3125/3072 and 2109375/2097152 are homophonic intervals"},pipedum_22a:{frequencies:[261.6255653006,267.90457886781,279.06726965397,287.4304306281,297.67175429757,306.59245933664,317.51653791741,327.03195662575,334.88072358477,348.83408706747,357.20610515709,372.08969287196,381.01984550089,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,459.88868900496,476.27480687611,490.54793493862,508.02646066786,523.2511306012],description:"2048/2025 and 2109375/2097152 are homophonic intervals"},pipedum_22b:{frequencies:[261.6255653006,271.31540105247,279.06726965397,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,357.69120255941,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,429.2294430713,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:'2025/2048, 245/243 and 64/63. P. Erlich "7-limit Indian", TL 19-12-2000'},pipedum_22b2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,429.2294430713,448.50096908674,465.11211608996,478.40103369253,490.54793493862,504.56359022259,523.2511306012],description:"Version of pipedum_22b with other shape, Paul Erlich"},pipedum_22c:{frequencies:[261.6255653006,267.07609791103,274.70684356563,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,498.33441009638,512.57253609913,523.2511306012],description:"1728/1715, 64/63 and 50/49, Paul Erlich, 2001"},pipedum_22d:{frequencies:[261.6255653006,269.10058145205,274.70684356563,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,333.84512238879,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,410.05802887931,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,498.33441009638,508.71637697339,523.2511306012],description:"1728/1715, 875/864 and 64/63, Paul Erlich, 2001"},pipedum_22e:{frequencies:[261.6255653006,269.10058145205,274.70684356563,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,356.10146388137,366.27579142084,384.42940207435,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,498.33441009638,508.71637697339,523.2511306012],description:"1728/1715, 245/243 and 50/49, Paul Erlich, 2001"},pipedum_22f:{frequencies:[261.6255653006,269.10058145205,276.78916949353,290.69507255622,296.75121990114,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,461.31528248922,470.92601754108,494.58536650191,508.71637697339,523.2511306012],description:"1728/1715, 245/243 and 875/864, Paul Erlich, 2001"},pipedum_22g:{frequencies:[261.6255653006,267.07609791103,279.06726965397,286.15296204753,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,478.40103369253,490.54793493862,512.57253609913,523.2511306012],description:"225/224, 1728/1715 and 64/63, Paul Erlich, 2001"},pipedum_22h:{frequencies:[261.6255653006,269.10058145205,280.31310567921,287.04062021552,296.75121990114,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,461.31528248922,476.92160341255,488.36772189445,508.71637697339,523.2511306012],description:"225/224, 1728/1715 and 875/864, Paul Erlich, 2001"},pipedum_22i:{frequencies:[261.6255653006,269.10058145205,279.06726965397,288.32205155576,296.75121990114,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,461.31528248922,474.80195184183,490.54793493862,508.71637697339,523.2511306012],description:"1728/1715, 245/243 and 245/243, Paul Erlich, 2001"},pipedum_22j:{frequencies:[261.6255653006,271.31540105247,280.31310567921,290.69507255622,299.00064605783,305.22982618403,320.35783506196,332.22294006425,336.37572681506,348.83408706747,353.19451315581,373.75080757229,387.59343007496,392.4383479509,406.97310157871,427.14378008261,436.04260883433,448.50096908674,465.11211608996,480.53675259294,498.33441009638,504.56359022259,523.2511306012],description:"50/49, 64/63 and 245/243, Gene Ward Smith, 2002"},pipedum_22k:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,334.88072358477,348.83408706747,359.73515228832,367.91095120397,380.54627680087,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"121/120, 2048/2025 and 4125/4096, Manuel Op de Coul"},pipedum_22l:{frequencies:[261.6255653006,275.62199471997,284.23518205497,290.69507255622,303.18419419197,310.07474405997,319.76457981184,330.74639366397,341.08221846597,348.83408706747,363.82103303037,372.08969287196,387.59343007496,404.24559225596,413.43299207996,426.35277308246,440.99519155196,454.77629128796,465.11211608996,485.09471070715,496.11959049595,511.62332769895,523.2511306012],description:"121/120, 736/729, 100/99 and 2048/2025"},pipedum_23:{frequencies:[261.6255653006,271.25338610366,276.85245005354,287.04062021552,297.60371503945,302.80736724606,313.95067836072,325.50406332439,332.22294006425,344.44874425862,348.83408706747,363.36884069528,376.74081403286,384.51729174103,398.6675280771,413.33849311034,420.56578784176,436.04260883433,452.08897683944,461.42075008924,478.40103369253,496.00619173241,504.67894541011,523.2511306012],description:"6144/6125, 15625/1552 and 5103/5000, Manuel Op de Coul, 2003"},pipedum_24:{frequencies:[261.6255653006,267.57160087561,275.93321340298,285.40970760065,290.69507255622,299.7792935736,310.07474405997,319.76457981184,327.03195662575,338.26335715633,348.83408706747,356.76213450082,367.91095120397,380.54627680087,392.4383479509,401.35740131342,413.43299207996,426.35277308246,436.04260883433,449.66894036041,465.11211608996,479.64686971777,490.54793493862,507.3950357345,523.2511306012],description:"121/120, 16384/16335 and 32805/32768. Manuel Op de Coul, 2001"},pipedum_24a:{frequencies:[261.6255653006,272.52663052146,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,321.92208230347,327.03195662575,343.38355445704,348.83408706747,366.27579142084,367.91095120397,381.53728273004,392.4383479509,412.06026534844,418.60090448096,429.2294430713,436.04260883433,457.84473927605,470.92601754108,488.36772189445,490.54793493862,515.07533168556,523.2511306012],description:"49/48, 81/80 and 128/125, Gene Ward Smith, 2002"},pipedum_24b:{frequencies:[261.6255653006,271.31540105247,275.62199471997,289.72987407313,294.32876096318,305.22982618403,310.07474405997,325.94610833227,331.11985608357,343.38355445704,348.83408706747,361.75386806997,372.50983809402,386.30649876417,392.4383479509,406.97310157871,413.43299207996,434.59481110969,441.49314144476,457.84473927605,465.11211608996,482.33849075995,496.67978412536,515.07533168556,523.2511306012],description:"49/48, 81/80 and 531441/524288"},pipedum_25:{frequencies:[261.6255653006,268.26840191956,274.70684356563,281.29980781121,291.99281841585,299.00064605783,306.17666156322,313.95067836072,327.03195662575,335.33550239945,343.38355445704,351.62475976401,364.99102301981,373.75080757229,382.72082695402,392.4383479509,408.78994578219,418.60090448096,429.2294430713,439.53094970501,447.89271634391,467.18850946536,478.40103369253,490.54793493862,502.32108537715,523.2511306012],description:"65625/65536, 1029/1024 and 3125/3072, Manuel Op de Coul, 2003"},pipedum_26:{frequencies:[261.6255653006,267.07609791103,274.70684356563,286.15296204753,292.89859205665,299.00064605783,305.22982618403,313.95067836072,327.03195662575,333.84512238879,341.71502406609,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,400.61414686654,410.05802887931,418.60090448096,436.04260883433,448.50096908674,457.84473927605,467.3831713443,478.40103369253,498.33441009638,512.57253609913,523.2511306012],description:"1029/1024, 1728/1715 and 50/49, Paul Erlich, 2001"},pipedum_26a:{frequencies:[261.6255653006,272.52663052146,274.70684356563,286.15296204753,294.32876096318,305.22982618403,306.59245933664,321.92208230347,325.57848126297,327.03195662575,343.38355445704,348.83408706747,366.27579142084,367.91095120397,381.53728273004,392.4383479509,408.78994578219,412.06026534844,429.2294430713,436.04260883433,457.84473927605,459.88868900496,465.11211608996,488.36772189445,490.54793493862,515.07533168556,523.2511306012],description:"50/49, 81/80 and 525/512, Gene Ward Smith, 2002"},pipedum_26b:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,290.69507255622,301.39265122629,306.59245933664,313.95067836072,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,376.74081403286,392.4383479509,401.85686830172,408.78994578219,418.60090448096,436.04260883433,446.50763144636,454.2110508691,470.92601754108,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"81/80 and 78125/73728, Gene Ward Smith, 2005"},pipedum_27:{frequencies:[261.6255653006,271.20240005245,278.95104005395,284.76252005507,292.89859205665,299.00064605783,307.54352165948,316.40280006119,325.44288006294,332.22294006425,341.71502406609,351.47831046798,358.80077526939,369.05222599138,379.68336007343,390.53145607553,398.6675280771,410.05802887931,418.60090448096,430.56093032327,442.86267118965,455.62003208812,468.63774729064,478.40103369253,492.06963465517,502.32108537715,516.67311638793,523.2511306012],description:"126/125, 1728/1715 and 4000/3969 are homophonic intervals, Paul Erlich"},pipedum_27a:{frequencies:[261.6255653006,269.10058145205,274.70684356563,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,406.97310157871,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,498.33441009638,508.71637697339,523.2511306012],description:"126/126, 1728/1715 and 64/63, Paul Erlich, 2001"},pipedum_27b:{frequencies:[261.6255653006,266.96486255163,272.52663052146,280.31310567921,293.02063313667,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,333.70607818954,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,410.22888639134,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,467.18850946536,488.36772189445,502.32108537715,512.78610798918,523.2511306012],description:"2401/2400, 126/125 and 128/125, Paul Erlich, 2001"},pipedum_27c:{frequencies:[261.6255653006,266.96486255163,274.70684356563,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.35783506196,327.03195662575,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,418.60090448096,427.32175665765,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,498.33441009638,512.78610798918,523.2511306012],description:"2401/2400, 126/125 and 686/675, Paul Erlich, 2001"},pipedum_27d:{frequencies:[261.6255653006,266.96486255163,274.70684356563,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,336.37572681506,348.83408706747,355.95315006884,366.27579142084,373.75080757229,384.58958099188,392.4383479509,406.97310157871,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,498.33441009638,512.78610798918,523.2511306012],description:"2401/2400, 126/125 and 64/63, Paul Erlich, 2001"},pipedum_27e:{frequencies:[261.6255653006,269.10058145205,274.70684356563,282.55561052465,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.35783506196,329.64821227876,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,415.27867508032,427.32175665765,436.04260883433,448.50096908674,457.84473927605,470.92601754108,484.4917875937,498.33441009638,508.71637697339,523.2511306012],description:"2401/2400, 126/125 and 245/243, Paul Erlich, 2001"},pipedum_27f:{frequencies:[261.6255653006,267.07609791103,272.52663052146,280.31310567921,293.02063313667,299.00064605783,305.22982618403,313.95067836072,320.35783506196,327.03195662575,333.84512238879,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,410.05802887931,418.60090448096,427.32175665765,436.04260883433,448.50096908674,457.84473927605,467.18850946536,488.36772189445,502.32108537715,512.57253609913,523.2511306012],description:"2401/2400, 1728/1715 and 128/125, Paul Erlich, 2001"},pipedum_27g:{frequencies:[261.6255653006,267.07609791103,274.59243005311,280.31310567921,290.81619550312,299.00064605783,305.22982618403,313.95067836072,320.35783506196,327.03195662575,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,418.60090448096,427.32175665765,436.04260883433,448.50096908674,457.84473927605,470.72988009104,488.36772189445,498.54204943392,512.57253609913,523.2511306012],description:"2401/2400, 1728/1715 and 686/675, Paul Erlich, 2001"},pipedum_27h:{frequencies:[261.6255653006,267.07609791103,274.70684356563,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,498.33441009638,512.57253609913,523.2511306012],description:"2401/2400, 1728/1715 and 64/63, Paul Erlich, 2001"},pipedum_27i:{frequencies:[261.6255653006,269.10058145205,274.70684356563,282.43792805463,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,329.51091606373,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,415.4517078616,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,484.69365917187,498.33441009638,508.71637697339,523.2511306012],description:"2401/2400, 1728/1715 and 245/243, Paul Erlich, 2001"},pipedum_27j:{frequencies:[261.6255653006,269.16210421872,276.91574508099,282.55561052465,290.69507255622,299.06900468747,305.16005936662,313.95067836072,322.99452506247,329.57286411595,339.06673262958,348.83408706747,358.88280562497,366.19207123994,376.74081403286,387.59343007496,395.48743693914,406.88007915549,418.60090448096,423.83341578697,436.04260883433,448.60350703121,461.52624180165,470.92601754108,484.4917875937,498.44834114579,508.60009894437,523.2511306012],description:"78732/78125 and 390625000/387420489"},pipedum_27k:{frequencies:[261.6255653006,264.89588486686,275.62199471997,279.38237857051,290.69507255622,294.32876096318,298.00787047521,310.07474405997,313.95067836072,331.11985608357,344.52749339997,348.83408706747,353.19451315581,367.49599295996,372.50983809402,387.59343007496,392.4383479509,397.34382730029,413.43299207996,418.60090448096,441.49314144476,447.01180571282,459.36999119996,465.11211608996,470.92601754108,496.67978412536,516.79124009995,523.2511306012],description:"67108864/66430125 and 25/24"},pipedum_28:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,285.76488412567,299.40669857094,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,428.6473261885,436.04260883433,446.50763144636,457.22381460107,479.0507177135,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"393216/390625 and 16875/16384"},pipedum_29:{frequencies:[261.6255653006,266.96486255163,274.70684356563,280.31310567921,288.44218574391,294.32876096318,300.33547037059,310.07474405997,316.40280006119,325.57848126297,332.22294006425,341.85740532612,348.83408706747,355.95315006884,366.27579142084,373.75080757229,384.58958099188,392.4383479509,400.44729382745,412.06026534844,420.46965851882,434.10464168396,442.96392008567,455.80987376816,465.11211608996,474.60420009179,488.36772189445,498.33441009638,512.78610798918,523.2511306012],description:"5120/5103, 225/224 and 50421/50000, Manuel Op de Coul, 2003"},pipedum_29a:{frequencies:[261.6255653006,272.52663052146,274.70684356563,286.15296204753,290.69507255622,294.32876096318,305.22982618403,313.95067836072,317.94773560837,327.03195662575,339.14425131559,343.38355445704,348.83408706747,363.36884069528,366.27579142084,372.60080508745,381.53728273004,392.4383479509,408.78994578219,412.06026534844,429.2294430713,436.04260883433,441.49314144476,457.84473927605,470.92601754108,476.92160341255,490.54793493862,508.71637697339,515.07533168556,523.2511306012],description:"49/48, 55/54, 65/64, 91/90 and 100/99"},pipedum_31:{frequencies:[261.6255653006,271.62175694356,275.93321340298,281.68182201554,289.72987407313,294.32876096318,300.46061014991,310.42486507835,316.89204976748,321.92208230347,331.11985608357,338.01818641865,343.38355445704,356.50355598842,362.16234259141,367.91095120397,380.27045972098,386.30649876417,392.4383479509,407.43263541533,413.89982010446,422.52273302331,434.59481110969,441.49314144476,450.69091522486,465.63729761752,475.33807465122,482.88312345521,496.67978412536,507.02727962797,515.07533168556,523.2511306012],description:"81/80, 225/224 and 1029/1024 are homophonic intervals"},pipedum_31a:{frequencies:[261.6255653006,269.46602871384,275.93321340298,282.55561052465,287.4304306281,294.32876096318,301.39265122629,306.59245933664,313.95067836072,321.48549464138,329.20114651277,336.83253589231,344.91651675372,353.19451315581,359.28803828513,367.91095120397,376.74081403286,385.78259356965,392.4383479509,401.85686830172,411.50143314096,421.04066986538,431.14564594215,441.49314144476,452.08897683944,459.88868900496,470.92601754108,482.22824196207,490.54793493862,502.32108537715,514.3767914262,523.2511306012],description:"393216/390625 and 2109375/2097152 are homophonic intervals"},pipedum_31b:{frequencies:[261.6255653006,267.07609791103,280.31310567921,286.15296204753,290.69507255622,294.32876096318,299.00064605783,305.22982618403,307.54352165948,327.03195662575,333.84512238879,339.14425131559,343.38355445704,348.83408706747,356.10146388137,373.75080757229,381.53728273004,387.59343007496,392.4383479509,400.61414686654,406.97310157871,429.2294430713,436.04260883433,445.12682985172,448.50096908674,457.84473927605,465.11211608996,490.54793493862,498.33441009638,508.71637697339,515.07533168556,523.2511306012],description:"245/243, 1029/1024 comma and 25/24 chroma"},pipedum_31c:{frequencies:[261.6255653006,265.7783520514,274.70684356563,279.06726965397,286.15296204753,293.02063313667,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,334.88072358477,343.38355445704,348.83408706747,360.55273217989,366.27579142084,373.75080757229,384.58958099188,392.4383479509,398.6675280771,412.06026534844,418.60090448096,429.2294430713,439.53094970501,448.50096908674,457.84473927605,470.92601754108,480.73697623985,490.54793493862,502.32108537715,515.07533168556,523.2511306012],description:"126/125, 225/224 and 1029/1024, Op de Coul"},pipedum_31d:{frequencies:[261.6255653006,269.10058145205,274.70684356563,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,316.53463456122,327.03195662575,336.37572681506,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,403.65087217807,406.97310157871,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,470.92601754108,478.40103369253,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"1728/1715, 225/224 and 81/80"},pipedum_31e:{frequencies:[261.6255653006,267.07609791103,272.52663052146,276.85245005354,286.15296204753,290.69507255622,299.00064605783,305.22982618403,311.45900631024,317.94773560837,327.03195662575,332.22294006425,343.38355445704,348.83408706747,357.69120255941,363.36884069528,373.75080757229,381.53728273004,392.4383479509,398.6675280771,408.78994578219,415.27867508032,429.2294430713,436.04260883433,448.50096908674,457.84473927605,467.18850946536,476.92160341255,490.54793493862,498.33441009638,508.71637697339,523.2511306012],description:'81/80, 126/125 and 1029/1024, Gene Smith (2005) "Synstargam"'},pipedum_32:{frequencies:[261.6255653006,267.07609791103,270.30192333353,280.31310567921,286.15296204753,292.11448209019,299.00064605783,305.22982618403,311.5887808962,315.35224388912,325.57848126297,333.84512238879,337.87740416691,348.83408706747,356.10146388137,360.4025644447,367.91095120397,379.84156147346,384.42940207435,394.1903048614,406.97310157871,415.4517078616,420.46965851882,429.2294430713,443.14848838571,448.50096908674,457.84473927605,474.80195184183,480.53675259294,490.54793493862,500.76768358318,512.57253609913,523.2511306012],description:"225/224, 2048/2025 and 117649/116640"},pipedum_32a:{frequencies:[261.6255653006,268.26840191956,274.59243005311,280.31310567921,286.15296204753,292.89859205665,299.00064605783,305.22982618403,311.5887808962,320.35783506196,327.03195662575,333.84512238879,341.71502406609,348.83408706747,356.10146388137,364.4960256705,372.08969287196,381.53728273004,390.53145607553,398.6675280771,406.97310157871,416.56688648057,425.24536328225,434.10464168396,438.17172313528,450.50320555588,459.88868900496,469.46970335923,480.53675259294,490.54793493862,500.76768358318,512.57253609913,523.2511306012],description:"589824/588245, 225/224 and 2048/2025"},pipedum_34:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,283.88190679319,290.69507255622,294.32876096318,301.39265122629,306.59245933664,313.95067836072,321.48549464138,327.03195662575,334.88072358477,340.65828815182,348.83408706747,354.85238349148,363.36884069528,367.91095120397,376.74081403286,385.78259356965,392.4383479509,401.85686830172,408.78994578219,418.60090448096,425.82286018978,436.04260883433,446.50763144636,454.2110508691,465.11211608996,470.92601754108,482.22824196207,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"15625/15552 and 393216/390625 are homophonic intervals"},pipedum_34a:{frequencies:[261.6255653006,264.89588486686,272.52663052146,279.06726965397,282.55561052465,290.69507255622,294.32876096318,301.39265122629,306.59245933664,313.95067836072,317.87506184023,327.03195662575,334.88072358477,340.65828815182,348.83408706747,353.19451315581,363.36884069528,367.91095120397,376.74081403286,387.59343007496,392.4383479509,401.85686830172,408.78994578219,418.60090448096,423.83341578697,436.04260883433,441.49314144476,452.08897683944,465.11211608996,470.92601754108,484.4917875937,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"15625/15552 and 2048/2025, Manuel Op de Coul, 2001"},pipedum_34b:{frequencies:[261.6255653006,267.57160087561,272.52663052146,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.7792935736,310.07474405997,313.95067836072,319.76457981184,327.03195662575,334.88072358477,342.49164912079,348.83408706747,356.76213450082,359.73515228832,367.91095120397,380.54627680087,383.71749577421,392.4383479509,399.70572476481,408.78994578219,418.60090448096,428.11456140098,436.04260883433,441.49314144476,449.66894036041,465.11211608996,470.92601754108,479.64686971777,490.54793493862,502.32108537715,511.62332769895,523.2511306012],description:"100/99, 243/242 and 5632/5625, Manuel Op de Coul"},pipedum_36:{frequencies:[261.6255653006,267.07609791103,269.10058145205,280.31310567921,286.15296204753,290.69507255622,294.32876096318,300.46061014991,305.22982618403,311.5887808962,320.35783506196,327.03195662575,333.84512238879,336.37572681506,343.38355445704,348.83408706747,356.10146388137,367.91095120397,373.75080757229,381.53728273004,384.42940207435,392.4383479509,400.61414686654,406.97310157871,420.46965851882,429.2294430713,436.04260883433,445.12682985172,448.50096908674,457.84473927605,467.3831713443,480.53675259294,490.54793493862,498.33441009638,508.71637697339,515.07533168556,523.2511306012],description:"1029/1024, 245/243 comma and 50/49 chroma, Gene Ward Smith, 2001"},pipedum_36a:{frequencies:[261.6255653006,264.89588486686,275.62199471997,275.93321340298,279.06726965397,290.69507255622,293.99679436797,294.32876096318,310.07474405997,310.42486507835,313.95067836072,327.03195662575,330.74639366397,331.11985608357,348.83408706747,349.22797321314,353.19451315581,367.91095120397,372.08969287196,372.50983809402,387.59343007496,392.4383479509,397.34382730029,413.43299207996,413.89982010446,418.60090448096,436.04260883433,440.99519155196,441.49314144476,465.11211608996,465.63729761752,470.92601754108,490.54793493862,496.11959049595,496.67978412536,516.79124009995,523.2511306012],description:"1125/1024 and 531441/524288, Op de Coul"},pipedum_37:{frequencies:[261.6255653006,263.718569823,276.85245005354,279.06726965397,280.31310567921,290.69507255622,293.02063313667,299.00064605783,308.98710943476,311.45900631024,313.95067836072,325.57848126297,332.22294006425,333.70607818954,346.06556256693,348.83408706747,351.62475976401,353.19451315581,370.78453132171,373.75080757229,376.74081403286,390.69417751556,392.4383479509,400.44729382745,415.27867508032,418.60090448096,421.94971171681,436.04260883433,444.94143758605,448.50096908674,465.11211608996,467.18850946536,470.92601754108,494.37937509562,498.33441009638,502.32108537715,519.0983438504,523.2511306012],description:"250/243, 3136/3125 and 3125/3087, Gene Ward Smith, 2002"},pipedum_38:{frequencies:[261.6255653006,271.25338610366,272.52663052146,280.3771918945,282.55561052465,290.69507255622,292.95365699196,301.39265122629,302.80736724606,313.95067836072,315.42434088132,325.50406332439,327.03195662575,336.45263027341,339.06673262958,348.83408706747,350.47148986813,361.67118147155,363.36884069528,376.74081403286,378.50920905758,390.60487598927,392.4383479509,403.74315632809,406.88007915549,418.60090448096,420.56578784176,434.00541776586,436.04260883433,452.08897683944,454.2110508691,467.29531982417,470.92601754108,484.4917875937,488.25609498659,502.32108537715,504.67894541011,519.21702202686,523.2511306012],description:"81/80 and 1224440064/1220703125, Manuel Op de Coul, 2001"},pipedum_38a:{frequencies:[261.6255653006,268.26840191956,272.52663052146,274.70684356563,279.06726965397,286.15296204753,293.02063313667,294.32876096318,305.22982618403,306.59245933664,313.95067836072,321.92208230347,327.03195662575,329.64821227876,340.65828815182,343.38355445704,348.83408706747,357.69120255941,366.27579142084,367.91095120397,381.53728273004,383.2405741708,390.69417751556,392.4383479509,408.78994578219,412.06026534844,418.60090448096,429.2294430713,436.04260883433,439.53094970501,457.84473927605,459.88868900496,470.92601754108,476.92160341255,488.36772189445,490.54793493862,510.98743222773,515.07533168556,523.2511306012],description:"50/49, 81/80 and 3125/3072, Gene Ward Smith, 2002"},pipedum_41:{frequencies:[261.6255653006,265.71346475842,269.80136421624,274.70684356563,280.31310567921,286.15296204753,290.69507255622,294.32876096318,299.00064605783,303.67253115248,308.34441624714,313.95067836072,320.49131749323,327.03195662575,331.11985608357,336.37572681506,343.38355445704,348.83408706747,354.2846196779,359.73515228832,366.27579142084,373.75080757229,381.53728273004,387.40708707973,392.4383479509,400.61414686654,406.97310157871,412.06026534844,418.60090448096,425.14154361347,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,495.99846754905,503.62921320365,513.90736041189,523.2511306012],description:"100/99 105/104 196/195 275/273 385/384, Paul Erlich, TL 3-11-2000"},pipedum_41a:{frequencies:[261.6255653006,265.71346475842,269.80136421624,274.70684356563,280.31310567921,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,373.75080757229,380.54627680087,387.59343007496,392.4383479509,400.61414686654,406.97310157871,411.12588832951,418.60090448096,425.14154361347,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,495.99846754905,503.62921320365,513.90736041189,523.2511306012],description:"pipedum_41 improved shape by Manuel Op de Coul, all intervals superparticular"},pipedum_41b:{frequencies:[261.6255653006,265.7783520514,271.31540105247,274.70684356563,279.06726965397,284.8811711051,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,331.11985608357,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,373.75080757229,381.53728273004,387.59343007496,392.4383479509,398.6675280771,406.97310157871,412.06026534844,418.60090448096,425.14154361347,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,498.33441009638,504.56359022259,515.07533168556,523.2511306012],description:"pipedum_41 more improved shape by M. OdC, all intervals superparticular"},pipedum_41c:{frequencies:[261.6255653006,267.07609791103,271.31540105247,275.93321340298,280.31310567921,286.15296204753,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,315.35224388912,320.35783506196,327.03195662575,333.84512238879,336.37572681506,343.38355445704,348.83408706747,356.10146388137,360.4025644447,367.91095120397,373.75080757229,381.53728273004,384.42940207435,392.4383479509,398.6675280771,406.97310157871,410.05802887931,420.46965851882,429.2294430713,436.04260883433,445.12682985172,448.50096908674,457.84473927605,465.11211608996,474.80195184183,480.53675259294,490.54793493862,498.33441009638,508.71637697339,512.57253609913,523.2511306012],description:"225/224, 245/243 and 1029/1024, Gene Ward Smith, 2002"},pipedum_41d:{frequencies:[261.6255653006,264.89588486686,272.52663052146,275.93321340298,279.06726965397,282.55561052465,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.07474405997,313.95067836072,317.51653791741,327.03195662575,331.11985608357,334.88072358477,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,376.74081403286,387.59343007496,392.4383479509,396.89567239676,408.78994578219,413.89982010446,418.60090448096,423.83341578697,436.04260883433,441.49314144476,446.50763144636,459.88868900496,465.11211608996,470.92601754108,484.4917875937,490.54793493862,496.11959049595,502.32108537715,517.37477513058,523.2511306012],description:"3125/3072 and 32805/32768"},pipedum_43:{frequencies:[261.6255653006,269.10058145205,273.37201925287,274.70684356563,282.55561052465,286.15296204753,287.04062021552,290.69507255622,299.00064605783,305.22982618403,307.54352165948,313.95067836072,322.92069774245,327.03195662575,328.04642310345,332.22294006425,341.71502406609,343.38355445704,348.83408706747,358.80077526939,366.27579142084,369.05222599138,376.74081403286,379.68336007343,381.53728273004,392.4383479509,398.6675280771,410.05802887931,412.06026534844,418.60090448096,423.93031414449,430.56093032327,436.04260883433,448.50096908674,455.62003208812,457.84473927605,470.92601754108,478.40103369253,492.06963465517,494.47231841813,498.33441009638,508.71637697339,512.57253609913,523.2511306012],description:"81/80, 126/125 and 12288/12005, Gene Ward Smith, 2002"},pipedum_45:{frequencies:[261.6255653006,265.7783520514,267.07609791103,274.70684356563,279.06726965397,280.31310567921,284.8811711051,293.02063313667,294.32876096318,299.00064605783,303.74668805875,305.22982618403,313.95067836072,320.49131749323,325.57848126297,327.03195662575,336.37572681506,341.85740532612,343.38355445704,348.83408706747,356.10146388137,358.80077526939,366.27579142084,372.08969287196,373.75080757229,384.58958099188,392.4383479509,398.6675280771,400.61414686654,406.97310157871,418.60090448096,420.46965851882,427.32175665765,436.04260883433,439.53094970501,448.50096908674,455.80987376816,457.84473927605,465.11211608996,478.40103369253,480.73697623985,488.36772189445,498.33441009638,512.78610798918,515.07533168556,523.2511306012],description:"81/80, 525/512 and 2401/2400, Gene Ward Smith, 2002"},scala205pipedum_45a:{frequencies:[261.6255653006,267.07609791103,269.10058145205,274.70684356563,276.85245005354,282.55561052465,288.32205155576,290.69507255622,296.75121990114,299.00064605783,305.22982618403,311.45900631024,313.95067836072,320.49131749323,322.99452506247,329.64821227876,336.37572681506,339.14425131559,345.98646186692,348.83408706747,356.10146388137,363.28578496026,366.27579142084,373.75080757229,376.82694590621,384.42940207435,392.4383479509,395.66829320152,403.65087217807,406.97310157871,415.27867508032,423.83341578697,427.14378008261,436.04260883433,439.53094970501,448.50096908674,457.84473927605,461.31528248922,470.92601754108,474.80195184183,484.4917875937,494.47231841813,498.33441009638,508.71637697339,512.57253609913,523.2511306012],description:"81/80, 2401/2400 and 4375/4374, Gene Ward Smith"},pipedum_46:{frequencies:[261.6255653006,265.7783520514,270.41454913492,274.70684356563,279.06726965397,280.31310567921,286.15296204753,290.69507255622,295.30928005711,300.46061014991,305.22982618403,310.07474405997,313.95067836072,320.49131749323,325.57848126297,327.03195662575,332.22294006425,339.14425131559,343.38355445704,348.83408706747,354.37113606854,360.55273217989,366.27579142084,372.08969287196,373.75080757229,381.53728273004,387.59343007496,392.4383479509,398.6675280771,406.97310157871,412.06026534844,418.60090448096,427.32175665765,429.2294430713,436.04260883433,442.96392008567,450.69091522486,457.84473927605,465.11211608996,470.92601754108,480.73697623985,488.36772189445,490.54793493862,498.33441009638,508.71637697339,515.07533168556,523.2511306012],description:"126/125, 1029/1024 and 5120/5103. Manuel Op de Coul, 2001"},pipedum_46a:{frequencies:[261.6255653006,267.07609791103,269.10058145205,274.70684356563,279.06726965397,280.31310567921,286.15296204753,290.69507255622,294.32876096318,299.00064605783,305.22982618403,307.54352165948,313.95067836072,320.35783506196,320.49131749323,327.03195662575,332.22294006425,336.37572681506,343.38355445704,348.83408706747,353.19451315581,358.80077526939,366.12324007081,366.27579142084,373.75080757229,381.53728273004,387.59343007496,392.4383479509,398.6675280771,406.97310157871,412.06026534844,418.60090448096,427.14378008261,427.32175665765,436.04260883433,445.12682985172,448.50096908674,457.84473927605,465.11211608996,470.92601754108,478.40103369253,488.36772189445,490.54793493862,498.33441009638,508.71637697339,512.57253609913,523.2511306012],description:"126/125, 1029/1024 and 245/243, Gene Ward Smith, 2002"},pipedum_46b:{frequencies:[261.6255653006,264.89588486686,271.25338610366,272.52663052146,279.06726965397,282.55561052465,283.88190679319,290.69507255622,294.32876096318,301.39265122629,302.80736724606,310.07474405997,313.95067836072,317.87506184023,322.99452506247,327.03195662575,334.88072358477,339.06673262958,340.65828815182,348.83408706747,353.19451315581,361.67118147155,363.36884069528,372.08969287196,376.74081403286,381.45007420827,387.59343007496,392.4383479509,401.85686830172,403.74315632809,408.78994578219,418.60090448096,423.83341578697,430.65936674996,436.04260883433,441.49314144476,452.08897683944,454.2110508691,465.11211608996,470.92601754108,482.22824196207,484.4917875937,490.54793493862,502.32108537715,508.60009894437,516.79124009995,523.2511306012],description:"2048/2025 and 78732/78125"},pipedum_46c:{frequencies:[261.6255653006,266.47048317654,271.31540105247,274.08392555301,279.06726965397,282.62020942966,287.78812183066,290.69507255622,297.67175429757,299.7792935736,306.97399661937,310.07474405997,313.95067836072,319.76457981184,325.57848126297,328.90071066361,332.22294006425,339.14425131559,342.60490694126,348.83408706747,355.29397756872,359.73515228832,363.36884069528,372.08969287196,374.72411696701,383.71749577421,387.59343007496,394.68085279633,399.70572476481,406.97310157871,411.12588832951,418.60090448096,426.35277308246,431.68218274599,436.04260883433,446.50763144636,449.66894036041,460.46099492906,465.11211608996,467.18850946536,479.64686971777,484.4917875937,496.11959049595,499.63215595601,511.62332769895,516.79124009995,523.2511306012],description:"126/125, 176/175, 385/384 and 896/891, Paul Erlich"},pipedum_46d:{frequencies:[261.6255653006,267.23182741418,272.79915715198,274.70684356563,278.36648688978,283.42769574232,287.78812183066,291.52562990638,297.59908052943,299.7792935736,303.67253115248,311.77046531655,313.95067836072,320.67819289702,324.7609013714,327.03195662575,334.03978426773,340.11323489078,343.04051394309,345.34574619679,354.2846196779,359.73515228832,366.27579142084,374.12455837986,376.74081403286,381.53728273004,389.71308164569,392.4383479509,402.90337056292,408.13588186894,411.12588832951,419.69101100305,425.14154361347,431.68218274599,439.53094970501,445.38637902364,448.50096908674,457.84473927605,467.65569797482,470.92601754108,479.64686971777,485.87604984397,490.54793493862,503.62921320365,510.16985233617,519.61744219425,523.2511306012],description:"91/90, 121/120, 126/125, 169/168 and 176/175"},pipedum_5:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"16/15 and 27/25"},pipedum_50:{frequencies:[261.6255653006,267.07609791103,269.10058145205,273.37201925287,274.70684356563,276.85245005354,284.76252005507,286.15296204753,290.69507255622,299.00064605783,300.46061014991,305.22982618403,307.54352165948,313.95067836072,316.40280006119,320.49131749323,327.03195662575,332.22294006425,333.84512238879,341.71502406609,343.38355445704,348.83408706747,358.80077526939,360.55273217989,361.60320006994,366.27579142084,373.75080757229,379.68336007343,381.53728273004,392.4383479509,398.6675280771,400.61414686654,410.05802887931,412.06026534844,418.60090448096,423.93031414449,427.14378008261,436.04260883433,445.12682985172,448.50096908674,455.62003208812,457.84473927605,470.92601754108,478.40103369253,480.73697623985,484.4917875937,498.33441009638,500.76768358318,508.71637697339,512.57253609913,523.2511306012],description:"81/80, 126/125 and 16807/16384, Gene Ward Smith, 2002"},pipedum_53:{frequencies:[261.6255653006,264.89588486686,269.16210421872,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,298.00787047521,302.80736724606,306.59245933664,310.07474405997,313.95067836072,317.87506184023,322.99452506247,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,397.34382730029,403.74315632809,408.78994578219,413.89982010446,418.60090448096,423.83341578697,430.65936674996,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,476.81259276034,484.4917875937,490.54793493862,496.67978412536,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"15625/15552 and 32805/32768, Manuel Op de Coul, 2001"},pipedum_53a:{frequencies:[261.6255653006,266.96486255163,269.10058145205,272.52663052146,276.85245005354,280.31310567921,282.55561052465,288.32205155576,290.69507255622,294.32876096318,299.00064605783,302.80736724606,305.22982618403,311.45900631024,313.95067836072,320.35783506196,322.99452506247,327.03195662575,332.22294006425,336.37572681506,339.14425131559,346.06556256693,348.83408706747,353.19451315581,358.80077526939,363.36884069528,366.27579142084,373.75080757229,376.74081403286,384.42940207435,387.59343007496,392.4383479509,398.6675280771,403.65087217807,406.97310157871,415.27867508032,418.60090448096,423.83341578697,430.56093032327,436.04260883433,441.49314144476,448.50096908674,454.2110508691,457.84473927605,467.18850946536,470.92601754108,480.53675259294,484.4917875937,490.54793493862,498.33441009638,504.56359022259,508.71637697339,519.0983438504,523.2511306012],description:"225/224, 1728/1715 and 4375/4374, Manuel Op de Coul, 2001"},pipedum_53b:{frequencies:[261.6255653006,266.96486255163,269.10058145205,272.52663052146,274.70684356563,280.31310567921,286.03378130532,288.32205155576,290.69507255622,293.02063313667,299.00064605783,301.39265122629,305.22982618403,311.45900631024,313.95067836072,320.35783506196,322.92069774245,327.03195662575,333.70607818954,336.37572681506,341.85740532612,343.24053756638,348.83408706747,351.62475976401,358.80077526939,363.36884069528,366.27579142084,373.75080757229,376.74081403286,384.42940207435,389.3237578878,392.4383479509,400.44729382745,403.65087217807,406.97310157871,410.22888639134,418.60090448096,427.14378008261,430.56093032327,436.04260883433,439.53094970501,448.50096908674,457.65405008851,457.84473927605,467.18850946536,470.92601754108,478.60036745656,480.53675259294,488.36772189445,498.33441009638,502.32108537715,512.57253609913,512.78610798918,523.2511306012],description:"225/224, 1728/1715 and 3125/3087, Gene Ward Smith, 2002"},pipedum_55:{frequencies:[261.6255653006,267.07609791103,269.10058145205,272.52663052146,274.70684356563,279.06726965397,280.31310567921,286.15296204753,293.02063313667,294.32876096318,296.75121990114,299.00064605783,305.22982618403,306.59245933664,313.95067836072,317.94773560837,320.49131749323,325.57848126297,327.03195662575,333.84512238879,336.37572681506,340.65828815182,343.38355445704,348.83408706747,356.10146388137,358.80077526939,366.27579142084,367.91095120397,373.75080757229,376.74081403286,381.53728273004,390.69417751556,392.4383479509,400.61414686654,403.65087217807,406.97310157871,408.78994578219,418.60090448096,427.32175665765,429.2294430713,436.04260883433,439.53094970501,445.12682985172,448.50096908674,457.84473927605,459.88868900496,470.92601754108,474.80195184183,476.92160341255,488.36772189445,490.54793493862,502.32108537715,504.56359022259,508.71637697339,520.92557002075,523.2511306012],description:"81/80, 686/675 and 6144/6125, Gene Ward Smith, 2002"},pipedum_58:{frequencies:[261.6255653006,264.29521392612,268.60224704195,271.31540105247,275.62199471997,277.50997462242,280.31310567921,284.8811711051,287.78812183066,292.35618725654,295.30928005711,297.33211566688,302.17752792219,305.22982618403,310.07474405997,313.23877206058,315.35224388912,320.49131749323,323.76163705949,328.90071066361,332.22294006425,337.63694353197,339.94971891247,343.38355445704,348.83408706747,352.39361856816,358.13632938927,361.75386806997,364.23184169193,370.01329949656,373.75080757229,379.84156147346,383.71749577421,389.80824967539,392.4383479509,396.44282088917,402.90337056292,406.97310157871,413.43299207996,417.65169608078,420.46965851882,427.32175665765,431.68218274599,438.53428088482,442.96392008567,445.99817350032,453.26629188329,457.84473927605,465.11211608996,469.85815809087,477.51510585235,480.73697623985,485.64245558924,493.35106599542,498.33441009638,506.45541529795,511.62332769895,515.07533168556,523.2511306012],description:"9801/9800, 2401/2400, 5120/5103 and 896/891"},pipedum_58a:{frequencies:[261.6255653006,265.65057399753,267.66008354786,270.48058443385,272.52663052146,277.4816601673,281.75060878526,285.40970760065,287.78812183066,293.02063313667,295.1673044417,297.30177875068,301.87565226992,305.22982618403,309.92566966379,313.95067836072,316.2506833304,322.00069575458,323.72860352852,327.03195662575,332.97799220076,338.10073054231,342.60490694126,344.24801655217,348.83408706747,352.18826098158,358.59168390851,362.25078272391,366.27579142084,368.95913055213,375.66747838035,379.50081999647,381.53728273004,388.47432423422,392.4383479509,399.57359064092,402.50086969323,406.97310157871,411.12588832951,418.60090448096,422.62591317789,428.25613367658,430.31002069022,436.04260883433,442.75095666255,450.80097405642,455.40098399577,457.84473927605,466.16918908107,469.58434797544,475.68284600109,483.00104363188,488.36772189445,495.88107146206,499.46698830115,503.12608711654,512.27383415502,516.54278277298,523.2511306012],description:"126/125, 144/143, 176/175, 196/195 and 364/363"},pipedum_5a:{frequencies:[261.6255653006,290.69507255622,348.83408706747,392.4383479509,470.92601754108,523.2511306012],description:"27/25 and 81/80"},pipedum_64:{frequencies:[261.6255653006,267.90457886781,266.96486255163,273.37201925287,274.70684356563,273.74326726486,280.31310567921,280.42990280658,284.76252005507,286.15296204753,294.32876096318,300.05312833195,299.00064605783,300.46061014991,307.67166479351,306.59245933664,313.95067836072,312.84944830269,320.35783506196,320.49131749323,328.18310911307,327.03195662575,336.37572681506,336.5158833679,341.71502406609,343.38355445704,351.62475976401,348.83408706747,358.80077526939,358.95027559242,366.12324007081,366.27579142084,375.06641041494,373.75080757229,382.72082695402,384.58958099188,383.2405741708,392.4383479509,392.60186392921,398.6675280771,400.61414686654,412.06026534844,408.78994578219,418.60090448096,428.6473261885,427.14378008261,429.2294430713,439.53094970501,437.98922762377,448.50096908674,448.68784449053,455.62003208812,457.84473927605,468.83301301868,467.18850946536,478.40103369253,480.73697623985,488.16432009441,490.54793493862,502.32108537715,500.55911728431,512.57253609913,512.78610798918,520.70860810071,523.2511306012],description:"225/224 235298/234375 and 67108864/66706983"},pipedum_65:{frequencies:[261.6255653006,264.59711493117,267.38234771992,270.72462706642,273.0589090967,275.93321340298,279.06726965397,282.00481986086,285.20783756792,287.99181818792,291.26283636981,294.32876096318,297.67175429757,300.80514118491,303.39878788522,306.84479880935,310.42486507835,313.95067836072,317.25542234346,320.85881726391,323.62537374423,327.30111872997,331.11985608357,334.60532825287,338.40578383303,341.32363637087,345.20039866051,348.83408706747,352.79615324157,356.9123501364,360.9661694219,364.07854546226,367.91095120397,372.08969287196,376.00642648114,380.70650681216,383.98909091723,388.35044849308,392.4383479509,396.89567239676,401.07352157989,404.53171718029,409.58836364504,413.89982010446,418.60090448096,423.00722979129,427.81175635188,431.50049832564,436.89425455471,441.49314144476,446.50763144636,451.20771177737,455.09818182783,460.26719821402,465.11211608996,470.92601754108,475.8831335152,481.28822589586,485.43806061635,490.95167809495,496.11959049595,501.90799237931,507.60867574954,511.9854545563,517.80059799077,523.2511306012],description:"1216/1215, 32805/32768 and 39858075/39845888. Manuel Op de Coul, 2001"},pipedum_65a:{frequencies:[261.6255653006,264.89588486686,267.90457886781,269.16210421872,272.52663052146,275.93321340298,279.06726965397,282.55561052465,286.08755565621,287.10624449997,290.69507255622,294.32876096318,298.00787047521,301.39265122629,302.80736724606,306.59245933664,310.07474405997,313.95067836072,317.87506184023,319.0069383333,322.99452506247,327.03195662575,331.11985608357,334.88072358477,339.06673262958,340.65828815182,344.52749339997,348.83408706747,353.19451315581,357.60944457026,358.88280562497,363.36884069528,367.91095120397,372.08969287196,376.74081403286,381.45007420827,383.2405741708,387.59343007496,392.4383479509,397.34382730029,401.85686830172,403.74315632809,408.78994578219,413.43299207996,418.60090448096,423.83341578697,429.13133348431,430.65936674996,436.04260883433,441.49314144476,446.50763144636,452.08897683944,454.2110508691,459.88868900496,465.11211608996,470.92601754108,476.81259276034,478.51040749995,484.4917875937,490.54793493862,496.67978412536,502.32108537715,508.60009894437,510.98743222773,516.79124009995,523.2511306012],description:"78732/78125 and 32805/32768"},pipedum_67:{frequencies:[261.6255653006,262.79353657426,266.96486255163,267.07609791103,272.52663052146,274.70684356563,279.06726965397,280.31310567921,284.8811711051,286.15296204753,293.02063313667,294.32876096318,299.00064605783,299.12522966035,300.33547037059,305.22982618403,306.59245933664,311.45900631024,313.95067836072,320.35783506196,320.49131749323,325.57848126297,327.03195662575,332.22294006425,336.5158833679,339.00300006557,341.85740532612,343.38355445704,348.83408706747,350.39138209902,355.95315006884,360.55273217989,366.27579142084,367.91095120397,373.75080757229,373.90653707544,381.53728273004,384.58958099188,390.69417751556,392.4383479509,398.83363954714,400.44729382745,400.61414686654,406.97310157871,408.78994578219,418.60090448096,420.46965851882,427.32175665765,429.2294430713,436.04260883433,439.53094970501,448.50096908674,448.68784449053,455.80987376816,457.84473927605,459.88868900496,465.11211608996,467.18850946536,474.60420009179,480.73697623985,488.36772189445,490.54793493862,498.33441009638,504.77382505185,512.78610798918,515.07533168556,520.92557002075,523.2511306012],description:"81/80, 1029/1024 and 9604/9375, Gene Ward Smith, 2002"},pipedum_68:{frequencies:[246.94165062806,250.86135936819,252.08626834948,253.99712636029,258.02882677871,259.28873315946,263.4044273366,264.58033995864,268.89201957278,272.13977824317,273.16014686758,276.57464870343,277.80935695657,282.21902928921,286.81815421096,288.0985923994,291.6998248044,292.67158592955,296.32998075367,301.03363124183,302.50352201937,307.30516522603,308.67706328508,311.01688942076,316.08531280392,317.49640795036,322.53603347338,324.11091644933,329.25553417075,333.37122834788,334.48181249092,338.66283514705,340.17472280396,345.71831087928,351.20590311546,352.77378661151,357.18345894416,358.5226927637,362.85303765756,368.76619827124,370.41247594209,376.29203905228,378.12940252422,384.13145653254,387.04324016806,388.93309973919,395.1066410049,396.87050993795,403.33802935916,409.74022030137,411.56941771343,414.86197305514,416.71403543485,423.32854393382,430.22723131644,432.1478885991,439.00737889433,441.15096961159,444.49497113051,451.55044686274,453.56629707195,460.95774783905,468.27453748728,470.36504881535,474.12796920588,476.24461192554,483.80405021008,491.68826436165,493.88330125612],description:"245/243, 2048/2025 and 2401/2400, Gene Ward Smith, 2002"},pipedum_7:{frequencies:[261.6255653006,290.69507255622,317.94773560837,347.75533582165,392.4383479509,429.2294430713,476.92160341255,523.2511306012],description:"81/80, 64/63 and 6144/6125, Manuel Op de Coul"},pipedum_72:{frequencies:[195.99771799087,198.44768946576,200.08100378235,201.59765279061,204.16428957382,205.79760389041,208.41771227328,209.06423252359,211.67753543014,214.37250405251,216.08748408493,217.77524221208,220.49743273973,222.31222642483,223.99739198957,226.79735938944,228.66400432268,231.52230437672,232.29359169288,235.19726158904,238.19167116946,240.09720453882,241.91718334873,244.99714748859,246.9571246685,250.10125472793,251.99706598826,254.07111591409,257.24700486302,258.04499557198,261.33029065449,264.59691928767,266.7746717098,268.79687038748,272.2190527651,274.39680518722,277.89028303104,279.99673998696,282.23671390685,285.83000540335,289.40288047089,290.3669896161,293.99657698631,296.41630189977,300.12150567352,302.39647918591,304.88533909691,308.69640583562,311.1074888744,313.59634878539,317.58889489261,321.55875607877,322.55624446497,326.66286331812,329.27616622466,333.46833963724,335.99608798435,338.76148788545,342.99600648402,347.28345656507,348.44038753932,352.79589238357,357.28750675419,360.14580680822,362.95873702013,365.86240691629,370.43568700274,373.32898664928,376.31561854247,381.10667387114,385.87050729453,387.1559861548,391.99543598174],description:"225/224, 1029/1024 and 4375/4374, Gene Ward Smith, 2002"},pipedum_72a:{frequencies:[195.99771799087,197.5656997348,200.08100378235,201.59765279061,203.21043401293,205.79760389041,207.44398472154,209.99755499022,211.67753543014,213.41973736784,216.04686727389,217.77524221208,219.51744414977,222.31222642483,223.99739198957,226.84921063758,228.66400432268,230.49331635726,233.3306166558,235.19726158904,237.07883968176,240.09720453882,241.91718334873,244.99714748859,246.9571246685,248.93278166584,251.99706598826,254.07111591409,256.1036848414,259.25624072866,261.33029065449,264.65741241051,266.7746717098,268.79687038748,272.2190527651,274.39680518722,276.59197962872,279.99673998696,282.23671390685,285.83000540335,288.11664544658,290.30062001848,293.99657698631,296.3485496022,298.59492344758,302.46561418344,304.88533909691,308.7669811456,311.1074888744,313.59634878539,317.58889489261,320.12960605175,322.55624446497,326.66286331812,329.27616622466,333.46833963724,335.99608798435,338.68405668822,342.99600648402,345.73997453589,348.36074402217,352.79589238357,355.69956227973,360.07811212314,362.95873702013,365.86240691629,370.52037737472,373.32898664928,376.31561854247,381.10667387114,384.15552726211,388.884361093,391.99543598174],description:"4375/4374, 2401/2400 and 15625/15552, Manuel Op de Coul, 2002"},pipedum_72b:{frequencies:[195.99771799087,197.5656997348,200.51849868858,202.12264667808,204.16428957382,205.79760389041,207.94510975112,209.60867062912,211.67753543014,213.41973736784,215.59748978996,218.74745311481,220.49743273973,222.7983318762,224.58071853121,226.79735938944,228.66400432268,230.99731048924,232.89852292125,235.19726158904,238.19167116946,240.62219842629,242.5471760137,244.99714748859,246.9571246685,249.53413170134,251.53040475495,254.07111591409,256.1036848414,259.87197430039,262.49694373777,264.59691928767,267.35799825143,269.49686223745,272.2190527651,274.39680518722,277.19677258709,279.4782275055,283.49669923679,285.83000540335,288.74663811155,291.12315365156,293.99657698631,296.3485496022,299.44095804161,301.83648570594,304.88533909691,309.37139797666,311.91766462667,314.99633248533,317.51630314521,320.82959790172,323.39623468494,326.66286331812,329.27616622466,332.71217560179,336.87107779681,340.19603908415,342.99600648402,346.49596573386,349.34778438187,352.79589238357,355.69956227973,359.32914964993,362.08404605941,367.49572123288,371.24567757199,374.30119755201,377.99559898239,381.10667387114,384.99551748207,388.16420486875,391.99543598174],description:"225/224, 3025/3024, 1375/1372 and 4375/4374"},pipedum_72b2:{frequencies:[195.99771799087,198.44768946576,200.45221158157,202.12264667808,204.16428957382,205.79760389041,207.87636756607,209.06423252359,211.67753543014,213.81569235368,215.59748978996,217.77524221208,220.49743273973,222.72467953508,223.99739198957,226.79735938944,228.66400432268,230.99731048924,233.3306166558,235.19726158904,237.57299150408,239.55276643329,241.97249134675,244.99714748859,246.39713118852,249.45164107929,251.99706598826,254.07111591409,257.24700486302,258.71698774795,261.33029065449,264.59691928767,267.2696154421,269.49686223745,272.2190527651,274.39680518722,277.19677258709,279.99673998696,282.23671390685,285.0875898049,287.46331971994,290.3669896161,293.99657698631,296.96623938011,298.66318931942,302.39647918591,304.88533909691,307.99641398565,311.81455134911,313.59634878539,317.51630314521,320.72353853051,323.39623468494,326.66286331812,329.27616622466,332.60218810572,335.99608798435,338.76148788545,342.99600648402,344.95598366393,348.44038753932,352.79589238357,356.35948725613,359.32914964993,362.95873702013,367.49572123288,369.59569678278,374.17746161893,376.31561854247,380.11678640654,383.28442629326,387.1559861548,391.99543598174],description:"Optimised version of pipedum_72b, Manuel Op de Coul"},pipedum_72c:{frequencies:[195.99771799087,197.5656997348,199.99767141926,201.59765279061,203.25689273127,205.79760389041,207.40499258293,209.99755499022,211.67753543014,213.41973736784,215.9974851328,217.77524221208,219.51744414977,222.31222642483,223.99739198957,226.79735938944,228.66400432268,230.49331635726,233.3306166558,235.19726158904,237.13304151982,239.99720570311,241.91718334873,244.99714748859,246.9571246685,248.88599109952,251.99706598826,254.07111591409,256.1036848414,259.19698215935,261.33029065449,264.59691928767,266.7746717098,268.79687038748,272.2190527651,274.39680518722,276.47678096998,279.99673998696,282.23671390685,285.83000540335,287.99664684373,290.3669896161,293.99657698631,296.41630189977,298.66318931942,302.39647918591,304.88533909691,308.69640583562,311.1074888744,313.59634878539,317.58889489261,320.12960605175,322.55624446497,326.66286331812,329.27616622466,333.32945236543,335.99608798435,338.76148788545,342.99600648402,345.59597621247,348.44038753932,352.79589238357,355.69956227973,359.99580855466,362.95873702013,365.86240691629,370.43568700274,373.32898664928,376.31561854247,381.10667387114,384.15552726211,388.884361093,391.99543598174],description:"441/440, 2401/2400, 4375/4374 and 1375/1372"},pipedum_74:{frequencies:[174.6141157165,175.4667237034,177.38576834692,178.25190979393,182.45393315683,183.34482150233,186.25505676427,187.16450528362,187.6669026756,191.57662981467,192.51206257744,194.01568412944,194.96302633711,195.48635695375,199.55898939029,200.53339851817,202.72659239648,203.71646833592,208.51878075067,209.5369388598,210.56006844408,212.8629220163,213.90229175271,216.62558481901,218.9447197882,220.01378580279,221.73221043365,222.81488724241,228.06741644604,229.18102687791,231.68753416741,232.81882095533,233.95563160453,239.47078726834,240.6400782218,243.27191087578,244.4597620031,249.5526737115,250.2225369008,251.44432663176,253.4082404956,254.6455854199,259.95070178281,260.64847593833,261.92117357475,266.07865252038,267.37786469089,273.68089973525,275.01723225349,278.02504100089,279.3825851464,280.74675792544,285.20305567028,287.36494472201,291.02352619417,291.92629305093,292.44453950566,297.08651632321,299.33848408543,304.08988859472,305.57470250388,310.42509460711,311.94084213937,312.778171126,319.29438302446,320.85343762907,325.94634933747,328.4170796823,333.63004920107,334.22233086361,335.25910217568,339.52744722653,342.10112466906,347.53130125111,349.228231433],description:"81/80, 126/125 and 4194304/4117715, Gene Ward Smith, 2002"},pipedum_81:{frequencies:[116.54094037952,117.10998793997,118.96887663743,119.87068153322,121.77339076391,122.3679873985,122.96548733697,124.86529326377,124.9173204693,126.84728204574,127.4666535401,128.08904930934,130.12220882219,130.47149010419,131.10855792696,133.18964614802,133.83998621711,135.96443044277,136.62831926329,136.99506460939,139.16958944446,139.84912845542,140.53198552796,142.70319230145,142.76265196491,144.96832233798,145.6761754744,146.38748492496,148.71109579678,149.83835191653,152.21673845488,152.95998424812,153.70685917121,155.38792050603,156.14665058662,156.56578812502,159.82757537763,160.60798346053,163.08936263023,163.15731653133,163.95398311595,166.48705768503,167.29998277138,169.12970939431,169.95553805347,170.78539907912,173.96198680558,174.81141056928,175.66498190995,177.58619486403,178.45331495614,182.66008614586,183.55198109774,184.08675852442,184.44823100545,186.46550460723,187.37598070395,190.2709230686,191.19998031015,193.29109645065,194.23490063253,195.18331323328,199.78446922203,200.75997932566,202.95565127318,203.94664566416,204.94247889494,208.7543841667,209.77369268314,210.79797829194,213.10343383684,214.14397794737,217.45248350698,218.5142632116,218.60531082127,221.98274358004,223.06664369518,227.71386543882,228.32510768232,229.43997637218,231.94931574077,233.08188075904],description:"81/80, 126/125 and 17294403/16777216, Gene Ward Smith, 2002"},pipedum_87:{frequencies:[82.40688922822,83.34286871081,83.43697534357,84.3846545697,84.87648045204,85.84050961273,86.81548824043,86.91351598289,87.90068184343,87.99993493267,88.99944036648,90.43280025045,90.53491248218,91.56321025358,92.60318745646,92.70775038175,93.76072729966,93.86659726152,95.37834401414,96.46165360048,96.57057331432,97.66742427048,97.77770548075,98.88826707386,100.01144245297,100.59434720242,101.73690028175,101.85177654245,103.00861153527,104.17858588852,104.29621917947,105.48081821212,105.59992191921,107.30063701591,108.51936030054,108.64189497861,109.87585230429,111.12382494775,111.2493004581,112.5128727596,113.16864060272,114.45401281697,115.75398432057,115.88468797718,117.20090912458,117.3332465769,118.66592048864,120.5770670006,120.7132166429,122.0842803381,122.22213185094,123.61033384233,125.01430306622,125.15546301536,127.17112535219,128.61553813397,128.76076441909,130.22323236064,130.37027397433,131.85102276515,133.3485899373,133.49916054972,135.64920037567,135.80236872326,137.34481538037,138.90478118469,139.06162557262,140.6410909495,140.79989589228,143.06751602122,144.69248040072,144.85585997148,146.50113640572,146.66655822112,148.3324006108,150.01716367946,150.89152080363,152.60535042263,154.33864576076,154.51291730291,156.26787883277,156.4443287692,158.22122731818,160.76942266746,160.95095552387,162.7790404508,162.96284246792,164.81377845644],description:"67108864/66430125 and 15625/15552, Op de Coul"},pipedum_9:{frequencies:[261.6255653006,280.31310567921,305.22982618403,327.03195662575,348.83408706747,392.4383479509,420.46965851882,448.50096908674,490.54793493862,523.2511306012],description:"225/224, 49/48 and 36/35 are homophonic intervals"},pipedum_99:{frequencies:[41.20344461411,41.53307217102,41.72802550619,42.06184971024,42.3806858888,42.72949811834,42.92025480636,43.26361684482,43.60972577957,43.95034092172,44.14654780083,44.49972018324,44.86597302425,45.06626754668,45.407877738,45.78160512679,46.1478579678,46.35387519087,46.73538856693,47.08965098755,47.46636819545,47.68917200707,48.07068538313,48.45525086619,48.65129757643,49.0517197787,49.44413353693,49.83968660523,50.07363060743,50.47421965228,50.85682306656,51.275397742,51.50430576764,51.91634021378,52.34363519496,52.55541404861,52.975857361,53.41187264792,53.8391676291,54.07952105602,54.50191086522,54.93792615215,55.37742956136,55.62465022905,56.08246628032,56.50758118507,56.7598471725,57.22700640849,57.68482245975,58.14630103943,58.41923570866,58.86206373444,59.33296024432,59.82129736567,60.08835672891,60.56906358274,61.04214016905,61.31464972338,61.80516692116,62.29960825653,62.81236223395,63.06649685833,63.5710288332,64.0942471775,64.60700115492,64.89542526722,65.40229303827,65.92551138258,66.21982170125,66.7648408099,67.29895953638,67.80909742208,68.12738858153,68.67240769018,69.2217869517,69.77556124732,70.1030828504,70.63447648133,71.19955229318,71.53375801061,72.10602807469,72.68287629929,73.25056820286,73.57757966805,74.1662003054,74.77662170709,75.37483468075,75.67979623,76.30267521131,76.91309661301,77.25645865146,77.87451032067,78.48275164592,79.11061365909,79.4637860415,80.11780897188,80.75875144366,81.37091690649,81.75286629784,82.40688922822],description:"2401/2400, 3136/3125 and 4375/4374, Gene Ward Smith, 2002"},pipedum_9a:{frequencies:[261.6255653006,282.62020942966,305.22982618403,329.72357766794,356.10146388137,384.67750727926,415.4517078616,448.79042515914,484.69365917187,523.2511306012],description:"4375/4374, 2401/2400 and 21/20 are homophonic intervals"},pipedum_9b:{frequencies:[261.6255653006,279.06726965397,306.59245933664,327.03195662575,357.20610515709,383.2405741708,418.60090448096,446.50763144636,490.54793493862,523.2511306012],description:"128/125 and 2109375/2097152 are homophonic intervals"},pipedum_9c:{frequencies:[261.6255653006,285.40970760065,305.22982618403,332.97799220076,348.83408706747,392.4383479509,411.12588832951,448.50096908674,479.64686971777,523.2511306012],description:"49/48, 21/20, 99/98 and 121/120, Gene Ward Smith, 2002"},pipedum_9d:{frequencies:[261.6255653006,277.4816601673,308.34441624714,327.03195662575,346.85207520913,394.68085279633,418.60090448096,443.97065626768,493.35106599542,523.2511306012],description:"128/125, 36/35, 99/98 and 121/120, Gene Ward Smith, 2002"},pipedum_9e:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,502.32108537715,523.2511306012],description:"21/20, 27/25 and 128/125"},polansky_ps:{frequencies:[261.6255653006,523.2511306012,784.8766959018,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,2877.8812183066,3139.5067836072,3401.1323489078,3662.7579142084,3924.383479509,4186.0090448096,4447.6346101102,327.03195662575,654.0639132515,981.09586987725,1308.127826503,1635.15978312875,1962.1917397545,2289.22369638025,2616.255653006,2943.28760963175,3270.3195662575,3597.35152288325,3924.383479509,4251.41543613475,4578.4473927605,4905.47934938625,5232.511306012,5559.54326263775,392.4383479509,784.8766959018,1177.3150438527,1569.7533918036,1962.1917397545,2354.6300877054,2747.0684356563,3139.5067836072,3531.9451315581,3924.383479509,4316.8218274599,4709.2601754108,5101.6985233617,5494.1368713126,5886.5752192635,6279.0135672144,6671.4519151653],description:"Three interlocking harmonic series on 1:5:3 by Larry Polansky in Psaltery"},poole:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Poole's double diatonic or dichordal scale"},porcupine:{frequencies:[261.6255653006,268.5059110196,275.56719913678,277.81869773502,285.12489766782,287.45448663717,295.01409284105,302.77250493809,305.24628043356,313.27378316024,315.83336022842,324.13928669805,332.66364612382,335.38164643474,344.20166244741,347.01393314922,356.13986022226,365.50578499276,368.49211923405,378.18288921726,381.27279846892,391.29968045081,401.5902538439,404.87141319969,415.51890206933,418.91386427268,429.93064777916,441.23715556831,444.84224659643,456.54090625717,460.27103529174,472.37544811397,484.79818817936,488.75918813348,501.6127950959,505.71118020326,519.01059820838,523.2511306012],description:"porcupine temperament, g=162.996, 5-limit"},portbag1:{frequencies:[261.6255653006,281.75060878526,311.64221749042,334.88072358477,376.74081403286,413.43299207996,457.84473927605,523.2511306012],description:"Portugese bagpipe tuning"},portbag2:{frequencies:[261.6255653006,274.70684356563,281.75060878526,310.07474405997,317.68818643644,343.38355445704,372.08969287196,392.4383479509,408.78994578219,482.37213602298,523.2511306012],description:"Portugese bagpipe tuning 2"},prelleur:{frequencies:[261.6255653006,276.42153822591,293.20376052703,310.91918875105,328.72923110101,349.43408698743,368.89538496172,391.53834819612,414.55891854195,438.90564190541,466.17878415199,492.19384741628,523.2511306012],description:"Peter Prelleur's well temperament (1731)"},preston:{frequencies:[261.6255653006,276.24946721727,293.45376109391,311.26733605541,328.91048112005,349.30075403587,368.79929095641,391.73834630677,413.67420227347,439.48064068428,466.20100528964,492.6657196346,523.2511306012],description:"Preston's equal beating temperament (1785)"},preston2:{frequencies:[261.6255653006,276.2302000593,293.37610901672,311.58628319174,328.97985807656,349.39999567988,368.9044325484,391.80273191286,413.67420227347,439.35140993827,466.62242981045,492.67053466508,523.2511306012],description:"Preston's theoretically correct well temperament"},prime_10:{frequencies:[261.6255653006,277.97716313189,310.68035879446,327.03195662575,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,474.19633710734,523.2511306012],description:"First 10 prime numbers reduced by 2/1"},prime_5:{frequencies:[261.6255653006,294.32876096318,327.03195662575,392.4383479509,436.04260883433,523.2511306012],description:'What Lou Harrison calls "the Prime Pentatonic", a widely used scale'},primes6:{frequencies:[261.6255653006,523.2511306012,784.8766959018,1308.127826503,1831.3789571042,2877.8812183066,3401.1323489078],description:"First 6 primes"},prinz:{frequencies:[261.6255653006,275.62199471997,292.50627485027,310.07474405997,327.03195662575,348.83408706747,367.49599295996,391.22147055517,413.43299207996,437.39890198442,465.11211608996,490.54793493862,523.2511306012],description:"Prinz well-tempermament (1808)"},prinz2:{frequencies:[261.6255653006,275.62199471997,291.81313052759,310.07474405997,327.03195662575,348.83408706747,367.49599295996,390.42584360243,413.43299207996,436.71344361716,465.11211608996,490.54793493862,523.2511306012],description:"Prinz equal beating temperament (1808)"},"prod13-2":{frequencies:[261.6255653006,265.71346475842,269.80136421624,286.15296204753,292.28481123426,294.32876096318,314.76825825228,318.85615771011,327.03195662575,343.38355445704,345.42750418595,359.73515228832,371.99885066179,392.4383479509,400.61414686654,408.78994578219,425.14154361347,449.66894036041,457.84473927605,490.54793493862,494.63583439645,523.2511306012],description:"13-limit binary products [1 3 5 7 11 13]"},prod13:{frequencies:[261.6255653006,265.71346475842,269.80136421624,286.15296204753,292.28481123426,294.32876096318,314.76825825228,318.85615771011,327.03195662575,331.11985608357,343.38355445704,345.42750418595,359.73515228832,367.91095120397,371.99885066179,392.4383479509,400.61414686654,404.70204632437,408.78994578219,425.14154361347,441.49314144476,449.66894036041,457.84473927605,478.28423656516,490.54793493862,494.63583439645,515.07533168556,523.2511306012],description:"13-limit binary products [1 3 5 7 9 11 13]"},prod7d:{frequencies:[261.6255653006,265.7783520514,267.90457886781,273.37201925287,279.06726965397,286.15296204753,294.32876096318,299.00064605783,300.46061014991,306.59245933664,310.07474405997,318.93402246168,327.03195662575,334.88072358477,341.71502406609,343.38355445704,348.83408706747,350.53737850823,357.69120255941,367.91095120397,372.08969287196,382.72082695402,390.53145607553,392.4383479509,398.6675280771,400.61414686654,408.78994578219,418.60090448096,429.2294430713,441.49314144476,446.50763144636,455.62003208812,457.84473927605,465.11211608996,478.40103369253,490.54793493862,500.76768358318,510.98743222773,515.07533168556,523.2511306012],description:"Double Cubic Corner 7-limit. Chalmers '96"},prod7s:{frequencies:[261.6255653006,286.15296204753,294.32876096318,300.46061014991,306.59245933664,327.03195662575,343.38355445704,350.53737850823,357.69120255941,367.91095120397,392.4383479509,400.61414686654,408.78994578219,429.2294430713,441.49314144476,457.84473927605,490.54793493862,500.76768358318,510.98743222773,515.07533168556,523.2511306012],description:"Single Cubic Corner 7-limit"},prodq13:{frequencies:[261.6255653006,265.71346475842,269.80136421624,276.76092858245,279.06726965397,286.15296204753,292.28481123426,294.32876096318,299.00064605783,304.4370214407,314.76825825228,318.85615771011,322.00069575458,327.03195662575,334.88072358477,341.71502406609,343.38355445704,345.42750418595,348.83408706747,359.73515228832,368.0007951481,371.99885066179,380.54627680087,392.4383479509,396.30854862103,400.61414686654,408.78994578219,418.60090448096,425.14154361347,429.33426100611,434.91003062957,449.66894036041,457.84473927605,465.11211608996,468.3646483703,478.40103369253,490.54793493862,494.63583439645,507.3950357345,515.20111320734,523.2511306012],description:"13-limit Binary products and quotients. Chalmers '96"},prog_ennea:{frequencies:[261.6255653006,269.29177952703,285.30470202322,311.12698372208,349.22823143301,391.99543598175,403.48177901006,427.47405410759,466.16376151809,523.2511306012],description:"Progressive Enneatonic, 50+100+150+200 cents in each half (500 cents)"},prog_ennea1:{frequencies:[261.6255653006,269.10058145205,285.40970760065,310.68035879446,348.83408706747,392.4383479509,404.33041910093,428.11456140098,465.11211608996,523.2511306012],description:"Progressive Enneatonic, appr. 50+100+150+200 cents in each half (500 cents)"},prog_ennea2:{frequencies:[261.6255653006,269.55361273395,285.40970760065,321.08592105074,348.83408706747,392.4383479509,404.33041910093,428.11456140098,481.6288815761,523.2511306012],description:"Progressive Enneatonic, appr. 50+100+200+150 cents in each half (500 cents)"},prog_ennea3:{frequencies:[261.6255653006,269.55361273395,285.40970760065,310.07474405997,348.83408706747,392.4383479509,404.33041910093,428.11456140098,465.11211608996,523.2511306012],description:"Progressive Enneatonic, appr. 50+100+150+200 cents in each half (500 cents)"},prooijen1:{frequencies:[261.6255653006,339.14425131559,366.27579142084,436.04260883433,470.92601754108,610.45965236807,726.73768139056,784.8766959018],description:"Kees van Prooijen, major mode of Bohlen-Pierce"},prooijen2:{frequencies:[261.6255653006,311.45900631024,336.37572681506,436.04260883433,470.92601754108,560.62621135843,726.73768139056,784.8766959018],description:"Kees van Prooijen, minor mode of Bohlen-Pierce"},"ps-dorian":{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,392.4383479509,490.54793493862,504.56359022259,523.2511306012],description:"Complex 4 of p. 115 based on Archytas's Enharmonic"},"ps-enh":{frequencies:[261.6255653006,266.38239376061,279.06726965397,348.83408706747,392.4383479509,399.57359064092,418.60090448096,523.2511306012],description:"Dorian mode of an Enharmonic genus found in Ptolemy's Harmonics"},"ps-hypod":{frequencies:[261.6255653006,294.32876096318,367.91095120397,378.42269266694,392.4383479509,406.97310157871,418.60090448096,523.2511306012],description:"Complex 7 of p. 115 based on Archytas's Enharmonic"},"ps-hypod2":{frequencies:[261.6255653006,294.32876096318,305.22982618403,313.95067836072,392.4383479509,490.54793493862,504.56359022259,523.2511306012],description:"Complex 8 of p. 115 based on Archytas's Enharmonic"},"ps-mixol":{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,436.04260883433,448.50096908674,465.11211608996,523.2511306012],description:"Complex 3 of p. 115 based on Archytas's Enharmonic"},ptolemy:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Intense Diatonic Syntonon, also Zarlino's scale"},ptolemy_chrom:{frequencies:[261.6255653006,271.31540105247,290.69507255622,348.83408706747,392.4383479509,406.97310157871,436.04260883433,523.2511306012],description:"Ptolemy Soft Chromatic"},ptolemy_ddiat:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,392.4383479509,413.43299207996,465.11211608996,523.2511306012],description:"Lyra tuning, Dorian mode, comb. of diatonon toniaion & diatonon ditoniaion"},ptolemy_diat:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:"Ptolemy's Diatonon Ditoniaion & Archytas' Diatonic, also Lyra tuning"},ptolemy_diat2:{frequencies:[261.6255653006,271.31540105247,305.22982618403,348.83408706747,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"Dorian mode of a permutation of Ptolemy's Tonic Diatonic"},ptolemy_diat3:{frequencies:[261.6255653006,294.32876096318,313.95067836072,348.83408706747,392.4383479509,441.49314144476,470.92601754108,523.2511306012],description:"Dorian mode of the remaining permutation of Ptolemy's Intense Diatonic"},ptolemy_diat4:{frequencies:[261.6255653006,299.00064605783,310.07474405997,348.83408706747,392.4383479509,448.50096908674,465.11211608996,523.2511306012],description:"permuted Ptolemy's diatonic"},ptolemy_diat5:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Sterea lyra, Dorian, comb. of 2 Tonic Diatonic 4chords, also Archytas' diatonic"},ptolemy_diff:{frequencies:[261.6255653006,294.32876096318,327.03195662575,343.38355445704,392.4383479509,425.14154361347,490.54793493862,523.2511306012],description:"Difference tones of Intense Diatonic reduced by 2/1"},ptolemy_enh:{frequencies:[261.6255653006,267.43946675172,279.06726965397,348.83408706747,392.4383479509,401.15920012759,418.60090448096,523.2511306012],description:"Dorian mode of Ptolemy's Enharmonic"},ptolemy_exp:{frequencies:[261.6255653006,272.52663052146,275.93321340298,287.4304306281,290.69507255622,294.32876096318,306.59245933664,327.03195662575,340.65828815182,344.91651675372,348.83408706747,363.36884069528,367.91095120397,383.2405741708,392.4383479509,408.78994578219,413.89982010446,431.14564594215,436.04260883433,441.49314144476,459.88868900496,490.54793493862,510.98743222773,517.37477513058,523.2511306012],description:"Intense Diatonic expanded: all interval combinations"},ptolemy_hom:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Dorian mode of Ptolemy's Equable Diatonic or Diatonon Homalon"},ptolemy_iast:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Ptolemy's Iastia or Lydia tuning, mixture of Tonic Diatonic & Intense Diatonic"},ptolemy_iastaiol:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,392.4383479509,441.49314144476,465.11211608996,523.2511306012],description:"Ptolemy's kithara tuning, mixture of Tonic Diatonic and Ditone Diatonic"},ptolemy_ichrom:{frequencies:[261.6255653006,274.08392555301,299.00064605783,348.83408706747,392.4383479509,411.12588832951,448.50096908674,523.2511306012],description:"Dorian mode of Ptolemy's Intense Chromatic"},ptolemy_idiat:{frequencies:[261.6255653006,279.06726965397,313.95067836072,348.83408706747,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Dorian mode of Ptolemy's Intense Diatonic (Diatonon Syntonon)"},ptolemy_imix:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Ptolemy Intense Diatonic mixed with its inverse"},ptolemy_malak:{frequencies:[261.6255653006,274.08392555301,299.00064605783,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Ptolemy's Malaka lyra tuning, a mixture of Intense Chrom. & Tonic Diatonic"},ptolemy_malak2:{frequencies:[261.6255653006,271.31540105247,290.69507255622,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Malaka lyra, mixture of his Soft Chromatic and Tonic Diatonic."},ptolemy_mdiat:{frequencies:[261.6255653006,274.70684356563,305.22982618403,348.83408706747,392.4383479509,412.06026534844,457.84473927605,523.2511306012],description:"Ptolemy soft diatonic"},ptolemy_mdiat2:{frequencies:[261.6255653006,290.69507255622,305.22982618403,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"permuted Ptolemy soft diatonic"},ptolemy_mdiat3:{frequencies:[261.6255653006,299.00064605783,313.95067836072,348.83408706747,392.4383479509,448.50096908674,470.92601754108,523.2511306012],description:"permuted Ptolemy soft diatonic"},ptolemy_meta:{frequencies:[261.6255653006,274.70684356563,305.22982618403,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Metabolika lyra tuning, mixture of Soft Diatonic & Tonic Diatonic"},ptolemy_mix:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,348.83408706747,353.19451315581,367.91095120397,372.08969287196,387.59343007496,392.4383479509,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"All modes of Ptolemy Intense Diatonic mixed"},ptolemy_prod:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,331.11985608357,348.83408706747,363.36884069528,367.91095120397,372.08969287196,387.59343007496,392.4383479509,418.60090448096,436.04260883433,441.49314144476,465.11211608996,484.4917875937,490.54793493862,523.2511306012],description:"Product of Intense Diatonic with its intervals"},ptolemy_tree:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,470.92601754108,479.64686971777,485.87604984397,490.54793493862,523.2511306012],description:"Intense Diatonic with all their Farey parent fractions"},pygmie:{frequencies:[261.6255653006,299.00064605783,343.38355445704,392.4383479509,457.84473927605,523.2511306012],description:"Pygmie scale"},pyle:{frequencies:[261.6255653006,277.19063644077,293.6461094938,311.15753660095,329.66944764997,349.23831768549,369.99228554622,391.93430587921,415.28070933274,439.96441988338,466.23108306565,493.99742571239,523.2511306012],description:"Howard Willet Pyle quasi equal temperament"},pyramid:{frequencies:[261.6255653006,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:'This scale may also be called the "Wedding Cake"'},pyramid_down:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,334.88072358477,348.83408706747,392.4383479509,418.60090448096,441.49314144476,465.11211608996,470.92601754108,502.32108537715,523.2511306012],description:"Upside-Down Wedding Cake (divorce cake)"},pyth_12:{frequencies:[261.6255653006,279.38237857051,294.32876096318,310.07474405997,331.11985608357,348.83408706747,372.50983809402,392.4383479509,419.07356785577,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"12-tone Pythagorean scale"},pyth_12s:{frequencies:[261.6255653006,279.38237857051,294.32876096318,314.30517589183,326.6631048533,348.83408706747,367.49599295996,392.4383479509,419.07356785577,435.55080647107,471.45776383774,489.99465727995,523.2511306012],description:"Scale with major thirds flat by a schisma"},pyth_17:{frequencies:[261.6255653006,275.62199471997,279.38237857051,294.32876096318,310.07474405997,314.30517589183,331.11985608357,348.83408706747,367.49599295996,372.50983809402,392.4383479509,413.43299207996,419.07356785577,441.49314144476,465.11211608996,471.45776383774,496.67978412536,523.2511306012],description:"17-tone Pythagorean scale"},pyth_17s:{frequencies:[261.6255653006,275.62199471997,279.06726965397,294.32876096318,310.07474405997,313.95067836072,331.11985608357,348.83408706747,367.49599295996,372.08969287196,392.4383479509,413.43299207996,418.60090448096,441.49314144476,465.11211608996,470.92601754108,496.67978412536,523.2511306012],description:"Schismatically altered 17-tone Pythagorean scale"},pyth_22:{frequencies:[261.6255653006,275.62199471997,279.38237857051,290.36720431405,294.32876096318,310.07474405997,314.30517589183,326.6631048533,331.11985608357,348.83408706747,353.59332287831,367.49599295996,372.50983809402,392.4383479509,413.43299207996,419.07356785577,435.55080647107,441.49314144476,465.11211608996,471.45776383774,489.99465727995,496.67978412536,523.2511306012],description:"Pythagorean shrutis"},pyth_27:{frequencies:[261.6255653006,265.19499215873,275.62199471997,279.38237857051,290.36720431405,294.32876096318,298.34436617857,310.07474405997,314.30517589183,326.6631048533,331.11985608357,348.83408706747,353.59332287831,367.49599295996,372.50983809402,387.15627241873,392.4383479509,397.79248823809,413.43299207996,419.07356785577,435.55080647107,441.49314144476,447.51654926786,465.11211608996,471.45776383774,489.99465727995,496.67978412536,523.2511306012],description:"27-tone Pythagorean scale"},pyth_31:{frequencies:[261.6255653006,265.19499215873,275.62199471997,279.38237857051,283.19406633357,294.32876096318,298.34436617857,310.07474405997,314.30517589183,318.59332496145,326.6631048533,331.11985608357,335.63741195089,348.83408706747,353.59332287831,367.49599295996,372.50983809402,377.59208844475,392.4383479509,397.79248823809,413.43299207996,419.07356785577,424.79110016094,441.49314144476,447.51654926786,465.11211608996,471.45776383774,477.8899872033,489.99465727995,496.67978412536,503.45611792634,523.2511306012],description:"31-tone Pythagorean scale"},pyth_7a:{frequencies:[261.6255653006,277.97716313189,294.32876096318,312.72430852337,331.11985608357,348.83408706747,370.63621750918,392.4383479509,416.96574469783,441.49314144476,469.08646278506,496.67978412536,523.2511306012],description:"Pythagorean 7-tone with whole tones divided arithmetically"},pyth_7h:{frequencies:[261.6255653006,277.01530443593,294.32876096318,311.64221749042,331.11985608357,348.83408706747,369.35373924791,392.4383479509,415.52295665389,441.49314144476,467.46332623563,496.67978412536,523.2511306012],description:"Pythagorean 7-tone with whole tones divided harmonically"},pyth_chrom:{frequencies:[261.6255653006,275.62199471997,294.32876096318,348.83408706747,392.4383479509,413.43299207996,441.49314144476,465.11211608996,523.2511306012],description:"Dorian mode of the so-called Pythagorean chromatic, recorded by Gaudentius"},pyth_sev:{frequencies:[261.6255653006,268.38018042036,275.30918532257,282.41708286353,291.47537246454,299.00064605783,306.7202061947,314.63906894008,322.76237975718,333.11471138804,341.71502406609,350.53737850823,359.58750736009,368.87129039875,380.70252730062,390.53145607553,400.61414686654,410.95715126868,421.56719060242,435.08860262928,446.32166408632,457.84473927605,469.66531573563,481.7910743145,497.2441172906,510.08190181294,523.2511306012],description:"26-tone Pythagorean scale based on 7/4"},pyth_sev_16:{frequencies:[261.6255653006,268.38018042036,275.30918532257,282.41708286353,306.7202061947,314.63906894008,322.76237975718,350.53737850823,359.58750736009,368.87129039875,400.61414686654,410.95715126868,421.56719060242,457.84473927605,469.66531573563,481.7910743145,523.2511306012],description:'16-tone Pythagorean scale based on 7/4, "Armodue"'},pyth_third:{frequencies:[261.6255653006,267.90457886781,274.33428876064,280.9183116909,287.66035117148,290.46272611903,297.43383186155,304.57224382623,311.88197767806,319.36714514233,327.03195662575,334.88072358477,342.9178609508,351.14788961362,359.57543896435,363.07840893547,371.79228894479,380.71530478279,389.85247209758,399.20893142792,408.78994578219,418.60090448096,428.6473261885,438.93486201703,449.46929870544,453.84801015616,464.74036282794,475.89413097849,487.31559012197,499.0111642849,510.98743222773,523.2511306012],description:"Cycle of 5/4 thirds"}};o.prototype._tune=function(i,n=220){const e=new t;if(!e.isValidScale(i))throw new Error('not a valid tune.js scale name: "'+i+'". See http://abbernie.github.io/tune/scales.html');return e.loadScale(i),e.tonicize(n),this._asNumber()._withHap(r=>r.withValue(()=>e.note(r.value)).setContext(a(c({},r.context),{type:"frequency"})))};o.prototype.define("tune",(i,n)=>n.tune(i),{composable:!0,patternified:!0}); +var h=Object.defineProperty,q=Object.defineProperties;var g=Object.getOwnPropertyDescriptors;var p=Object.getOwnPropertySymbols;var y=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable;var m=(i,n,e)=>n in i?h(i,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[n]=e,c=(i,n)=>{for(var e in n||(n={}))y.call(n,e)&&m(i,e,n[e]);if(p)for(var e of p(n))b.call(n,e)&&m(i,e,n[e]);return i},a=(i,n)=>q(i,g(n));import{P as o,z as _}from"./index.3580fc4e.js";function S(i){if(!/^[1-9]+[0-9]*edo$/.test(i))throw new Error('not an edo scale: "'+i+'"');const[n,e]=i.match(/^([1-9]+[0-9]*)edo$/);return Array.from({length:e},(r,s)=>Math.pow(2,s/e))}const f={"12ji":[1/1,16/15,9/8,6/5,5/4,4/3,45/32,3/2,8/5,5/3,16/9,15/8]};function v(i,n){return n.map(e=>e*i)}const w=220;function k(i,n){if(typeof i=="string")if(/^[1-9]+[0-9]*edo$/.test(i))i=S(i);else if(f[i])i=f[i];else throw new Error('unknown scale name: "'+i+'"');return i=v(w,i),n?i.filter((e,r)=>n.includes(r)):i}function l(i,n,e=0){const r=_(e+n,i.length),s=Math.floor(n/i.length);return i[r]*Math.pow(2,s)}o.prototype._xen=function(i,n){return this._asNumber()._withHap(e=>{const r=k(i);n=n||r.length;const s=l(r,e.value);return e.withValue(()=>s).setContext(a(c({},e.context),{type:"frequency"}))})};o.prototype.tuning=function(i){return this._asNumber()._withHap(n=>{const e=l(i,n.value);return n.withValue(()=>e).setContext(a(c({},n.context),{type:"frequency"}))})};o.prototype.define("xen",(i,n)=>n.xen(i),{composable:!0,patternified:!0});function t(){this.scale=[],this.mode={output:"frequency",input:"step"},this.etmajor=[261.62558,293.664764,329.627563,349.228241,391.995422,440,493.883301,523.25116],this.tonic=440}t.prototype.tonicize=function(i){this.tonic=i};t.prototype.note=function(i,n){var e;return this.mode.output=="frequency"?e=this.frequency(i,n):this.mode.output=="ratio"?e=this.ratio(i,n):this.mode.output=="MIDI"?e=this.MIDI(i,n):e=this.frequency(i,n),e};t.prototype.frequency=function(i,n){(this.mode.input=="midi"||this.mode.input=="MIDI")&&(this.stepIn+=60);var e=Math.floor(i/this.scale.length);n&&(e+=n);for(var r=i%this.scale.length;r<0;)r+=this.scale.length;var s=this.tonic*this.scale[r];return s=s*Math.pow(2,e),s=Math.floor(s*1e11)/1e11,s};t.prototype.ratio=function(i,n){(this.mode.input=="midi"||this.mode.input=="MIDI")&&(this.stepIn+=60);var e=Math.floor(i/this.scale.length);n&&(e+=n);var r=i%this.scale.length,s=Math.pow(2,e)*this.scale[r];return s=Math.floor(s*1e11)/1e11,s};t.prototype.MIDI=function(i,n){var e=this.frequency(i,n),r=69+12*Math.log(e/440)/Math.log(2);return r=Math.floor(r*1e9)/1e9,r};t.prototype.loadScale=function(i){var n=u[i].frequencies;this.scale=[];for(var e=0;e[1, 1, -1]->[0, 1, -1]->[0, 0, -1]->[0, 0, 0]->[0, -1, 0],[0, -1, 1]->[0, -2, 1]->[-1, -2, 1]"},breedt1:{frequencies:[261.6255653006,275.62199471997,292.34127285051,310.07474405997,326.6631048533,348.83408706747,367.49599295996,391.11111150212,413.43299207996,437.02884834934,465.11211608996,489.99465727995,523.2511306012],description:"Graham Breed's 1/4 P temperament, TL 10-06-99"},breedt2:{frequencies:[261.6255653006,276.37000081643,293.53214922797,310.91625060765,328.43856194079,349.78078158391,368.4933346061,392.4383479509,414.55500101742,439.10654054756,466.37437567834,492.65784266492,523.2511306012],description:"Graham Breed's 1/5 P temperament, TL 10-06-99"},breedt3:{frequencies:[261.6255653006,276.55731914056,293.33333347996,311.12698372208,328.88393162803,350.01785633742,368.74309237173,392.4383479509,414.83597850347,438.51190905657,466.69047534984,491.65745674141,523.2511306012],description:"Graham Breed's other 1/4 P temperament, TL 10-06-99"},brown:{frequencies:[261.6255653006,272.52663052146,275.62199471997,275.93321340298,279.38237857051,287.10624449997,290.69507255622,291.02331101095,294.32876096318,306.24666079997,306.59245933664,310.07474405997,310.42486507835,322.99452506247,327.03195662575,331.11985608357,344.52749339997,344.91651675372,348.83408706747,349.22797321314,363.36884069528,367.49599295996,367.91095120397,372.50983809402,382.80832599996,387.59343007496,388.03108134794,392.4383479509,408.78994578219,413.43299207996,413.89982010446,430.65936674996,436.04260883433,436.53496651643,441.49314144476,459.36999119996,459.88868900496,465.11211608996,465.63729761752,484.4917875937,489.99465727995,490.54793493862,496.67978412536,516.79124009995,517.37477513058,523.2511306012],description:"Tuning of Colin Brown's Voice Harmonium, Glasgow. Helmholtz/Ellis p. 470-473"},bruder:{frequencies:[261.6255653006,276.38325105256,293.66476791741,310.22971009486,327.53979283172,349.02656754477,368.60786575306,391.65594491223,414.34624765043,439.23819834286,465.62553897253,491.60634075178,523.2511306012],description:"Ignaz Bruder organ temperament (1829) according to P. Vier"},burma3:{frequencies:[261.6255653006,287.71029735626,317.68827763215,350.39147881787,389.32370520689,429.81331927092,476.14308821464,523.2511306012],description:"Burmese scale, von Hornbostel"},"burt-forks":{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,465.11211608996,470.92601754108,490.54793493862,504.56359022259,523.2511306012],description:"Warren Burt 19-tone Forks. Interval 5(3): pp. 13+23 Winter 1986-87"},burt1:{frequencies:[261.6255653006,272.09058791262,283.42769574232,295.75063903546,309.19384990071,340.11323489078,358.01393146398,377.90359432309,415.52295665389,425.14154361347,453.48431318771,485.87604984397,523.2511306012],description:"W. Burt's 13diatsub #1"},burt10:{frequencies:[261.6255653006,265.11390617127,268.69652652494,272.3773008609,276.16031892841,355.06326719367,368.21375857121,382.37582620857,386.08821287079,389.87339142835,393.73352401674,397.67085925691,523.2511306012],description:"W. Burt's 19enhsub #10"},burt11:{frequencies:[261.6255653006,344.24416486921,347.6866065179,351.12904816659,354.57148981529,358.01393146398,371.78369805875,385.55346465352,495.71159741166,502.59648070905,509.48136400643,516.36624730382,523.2511306012],description:"W. Burt's 19enhharm #11"},burt12:{frequencies:[261.6255653006,302.93486508491,316.70463167967,330.47439827444,344.24416486921,358.01393146398,371.78369805875,385.55346465352,440.63253103259,468.17206422213,495.71159741166,509.48136400643,523.2511306012],description:"W. Burt's 19diatharm #12"},burt13:{frequencies:[261.6255653006,273.51763645063,286.54228580542,293.53112204458,300.86940009569,334.29933343966,353.96400011258,376.08675011961,401.15920012759,429.81342870813,445.73244458621,462.87600014722,523.2511306012],description:"W. Burt's 23diatsub #13"},burt14:{frequencies:[261.6255653006,264.50057151269,267.43946675172,270.4444045804,273.51763645063,334.29933343966,353.96400011258,376.08675011961,382.05638107389,388.21858076863,394.58281979763,401.15920012759,523.2511306012],description:"W. Burt's 23enhsub #14"},burt15:{frequencies:[261.6255653006,341.25073734861,346.93824963775,352.6257619269,358.31327421604,364.00078650518,386.75083566176,409.50088481833,500.50108144463,506.18859373377,511.87610602291,517.56361831206,523.2511306012],description:"W. Burt's 23enhharm #15"},burt16:{frequencies:[261.6255653006,295.75063903546,307.12566361375,318.50068819203,341.25073734861,364.00078650518,386.75083566176,409.50088481833,455.00098313148,466.37600770977,477.75103228805,500.50108144463,523.2511306012],description:"W. Burt's 23diatharm #16"},burt17:{frequencies:[261.6255653006,262.27760655527,262.77528702311,280.51080915002,281.04308772525,281.33584094163,286.12102533302,286.66394947976,306.91182648178,308.56189006502,309.14739649778,336.61297098002,337.2517052703,337.60300912996,338.42271813583,339.41807907152,363.01398831179,369.18841978454,370.27426807802,396.01525997649,398.14437427744,399.31538714296,403.93556517602,406.10726176299,434.33931739357,434.79175418253,435.61678597414,437.95881170519,475.21831197179,476.86837555503,477.77324913293,478.27092960078,479.17846457156,521.20718087229,521.75010501903,522.74014316897,523.2511306012],description:`W. Burt's "2 out of 3,5,11,17,31 dekany" CPS with 1/1=3/1. 1/1 vol. 10(1) '98`},burt18:{frequencies:[261.6255653006,268.26840191956,269.80136421624,270.50397193556,275.42222597075,281.04308772525,286.15296204753,295.09524211152,300.46061014991,306.59245933664,309.14739649778,314.76825825228,321.92208230347,324.60476632267,337.2517052703,343.38355445704,344.27778246344,354.11429053382,357.69120255941,367.91095120397,370.97687579734,375.57576268738,393.46032281536,404.70204632437,413.13333895612,421.56463158788,429.2294430713,432.80635509689,449.66894036041,463.72109474667,472.15238737843,490.54793493862,491.82540351919,500.76768358318,505.87755790546,515.07533168556,523.2511306012],description:`W. Burt's "2 out of 1,3,5,7,11 dekany" CPS with 1/1=1/1. 1/1 vol. 10(1) '98`},burt19:{frequencies:[261.6255653006,268.26840191956,286.15296204753,294.32876096318,300.46061014991,306.59245933664,321.92208230347,327.03195662575,343.38355445704,357.69120255941,367.91095120397,375.57576268738,392.4383479509,400.61414686654,408.78994578219,429.2294430713,457.84473927605,490.54793493862,500.76768358318,515.07533168556,523.2511306012],description:`W. Burt's "2 out of 2,3,4,5,7 dekany" CPS with 1/1=1/1. 1/1 vol. 10(1) '98`},burt2:{frequencies:[261.6255653006,264.16561933264,266.75547834571,269.39662169567,272.09058791262,340.11323489078,344.41846571218,348.83408706747,353.36439988652,358.01393146398,412.25846653428,485.87604984397,523.2511306012],description:"W. Burt's 13enhsub #2"},burt20:{frequencies:[261.6255653006,269.10058145205,279.06726965397,279.38237857051,294.32876096318,298.00787047521,330.74639366397,335.25885428462,367.91095120397,376.74081403286,412.06026534844,418.60090448096,523.2511306012],description:'Warren Burt tuning for "Commas" (1993) 1/1=263. XH 16'},burt3:{frequencies:[261.6255653006,281.75060878526,332.06321749692,382.37582620857,387.40708707973,392.4383479509,397.46960882207,402.50086969323,503.12608711654,508.1573479877,513.18860885887,518.21986973003,523.2511306012],description:"W. Burt's 13enhharm #3"},burt4:{frequencies:[261.6255653006,281.75060878526,301.87565226992,322.00069575458,342.12573923925,362.25078272391,382.37582620857,402.50086969323,442.75095666255,462.87600014722,483.00104363188,503.12608711654,523.2511306012],description:"W. Burt's 13diatharm #4, see his post 3/30/94 in Tuning Digest #57"},burt5:{frequencies:[261.6255653006,277.97716313189,296.50897400735,317.68818643644,342.12573923925,277.97716313189,386.75083566176,404.33041910093,423.58424858192,444.76346101102,468.17206422213,494.18162334558,523.2511306012],description:"W. Burt's 17diatsub #5"},burt6:{frequencies:[261.6255653006,265.53042448419,269.55361273395,273.7005913914,277.97716313189,370.63621750918,386.75083566176,404.33041910093,408.97789518255,413.73345210327,418.60090448096,423.58424858192,523.2511306012],description:"W. Burt's 17enhsub #6"},burt7:{frequencies:[261.6255653006,323.18452184192,327.03195662575,330.87939140958,334.72682619341,338.57426097725,353.96400011258,369.35373924791,492.47165233054,500.16652189821,507.86139146587,515.55626103354,523.2511306012],description:"W. Burt's 17enhharm #7"},burt8:{frequencies:[261.6255653006,277.01530443593,292.40504357126,307.79478270659,323.18452184192,338.57426097725,353.96400011258,369.35373924791,400.13321751856,430.91269578922,461.69217405988,492.47165233054,523.2511306012],description:"W. Burt's 17diatharm #8"},burt9:{frequencies:[261.6255653006,268.69652652494,276.16031892841,292.40504357126,310.68035879446,355.06326719367,368.21375857121,382.37582620857,397.67085925691,414.24047839262,432.2509339749,451.89870370104,523.2511306012],description:"W. Burt's 19diatsub #9"},burt_fibo:{frequencies:[261.6255653006,277.97716313189,294.32876096318,311.70233365892,327.03195662575,343.38355445704,363.82305174615,385.28452389971,392.4383479509,425.14154361347,449.66894036041,476.24028683625,523.2511306012],description:'Warren Burt, 3/2+5/3+8/5+etc. "Recurrent Sequences", 2002'},burt_fibo23:{frequencies:[261.6255653006,267.05480676802,277.97716313189,282.81557538079,294.32876096318,299.5065008038,311.70233365892,327.03195662575,330.09788121912,343.38355445704,349.5792770728,363.82305174615,370.21039464899,385.28452389971,392.4383479509,408.02346463385,425.14154361347,432.10374737758,449.66894036041,457.60521391719,476.24028683625,484.61169812829,504.34459560877,523.2511306012],description:'Warren Burt, 23-tone Fibonacci scale. "Recurrent Sequences", 2002'},burt_primes:{frequencies:[261.6255653006,267.75741448733,273.88926367407,277.97716313189,280.0211128608,284.10901231862,290.24086150535,298.416660421,302.50455987882,304.54850960773,308.63640906555,310.68035879446,320.90010743902,322.94405716793,327.03195662575,333.16380581248,335.20775554139,339.29565499922,341.33960472813,351.55935337268,353.60330310159,359.73515228832,363.82305174615,365.86700147506,369.95490093288,376.08675011961,384.26254903526,390.39439822199,392.4383479509,394.48229767981,396.52624740872,402.65809659545,406.74599605328,412.87784524001,421.05364415565,425.14154361347,431.27339280021,433.31734252912,437.40524198694,445.58104090258,455.80078954714,457.84473927605,461.93263873387,463.97658846278,468.0644879206,474.19633710734,476.24028683625,482.37213602298,488.50398520971,492.59188466754,498.72373385427,506.89953276991,513.03138195665,519.16323114338,523.2511306012],description:'Warren Burt, primes until 251. "Some Numbers", Dec. 2002'},bushmen:{frequencies:[261.6255653006,347.0163224393,394.26624244126,453.9405988926,523.2511306012],description:"Observed scale of South-African bushmen, almost (4 notes) equal pentatonic"},dan_semantic:{frequencies:[261.6255653006,272.52663052146,275.62199471997,279.06726965397,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.07474405997,313.95067836072,322.99452506247,327.03195662575,331.11985608357,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,387.59343007496,392.4383479509,397.34382730029,408.78994578219,413.43299207996,418.60090448096,430.65936674996,436.04260883433,441.49314144476,459.88868900496,465.11211608996,470.92601754108,484.4917875937,490.54793493862,496.67978412536,516.79124009995,523.2511306012],description:'The Semantic Scale, from Alain Dani\xEF\xBF\xBDlou: "S\xEF\xBF\xBDmantique Musicale" (1967)'},danielou5_53:{frequencies:[261.6255653006,264.89588486686,267.90457886781,272.52663052146,275.62199471997,279.06726965397,282.55561052465,285.76488412567,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,310.07474405997,313.95067836072,317.87506184023,322.99452506247,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.52749339997,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,397.34382730029,401.85686830172,408.78994578219,413.43299207996,418.60090448096,423.83341578697,430.65936674996,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,479.0507177135,484.4917875937,490.54793493862,496.67978412536,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"Dani\xEF\xBF\xBDlou's Harmonic Division in 5-limit, symmetrized"},danielou_53:{frequencies:[261.6255653006,264.89588486686,267.43946675172,272.52663052146,275.62199471997,279.06726965397,282.55561052465,287.78812183066,290.69507255622,294.32876096318,297.67175429757,301.87565226992,306.59245933664,310.07474405997,313.95067836072,318.93402246168,322.99452506247,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.52749339997,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,397.34382730029,401.85686830172,408.78994578219,413.43299207996,418.60090448096,423.83341578697,430.65936674996,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,479.64686971777,484.4917875937,490.54793493862,496.67978412536,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"Dani\xEF\xBF\xBDlou's Harmonic Division of the Octave, see p. 153"},darreg:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,470.92601754108,490.54793493862,523.2511306012],description:"This set of 19 ratios in 5-limit JI is for his megalyra family"},darreg_ennea:{frequencies:[261.6255653006,269.29177952703,277.18263097687,293.66476791741,349.22823143301,391.99543598175,403.48177901006,415.30469757995,440,523.2511306012],description:"Ivor Darreg's Mixed Enneatonic, a mixture of chromatic and enharmonic"},darreg_genus:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,348.83408706747,392.4383479509,406.97310157871,418.60090448096,436.04260883433,523.2511306012],description:"Ivor Darreg's Mixed JI Genus (Archytas Enh, Ptolemy Soft Chrom, Didymos Chrom"},darreg_genus2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,348.83408706747,392.4383479509,406.97310157871,418.60090448096,441.49314144476,523.2511306012],description:"Darreg's Mixed JI Genus 2 (Archytas Enharmonic and Chromatic Genera)"},david11:{frequencies:[261.6255653006,269.80136421624,274.70684356563,285.40970760065,294.32876096318,305.22982618403,314.76825825228,327.03195662575,332.97799220076,343.38355445704,359.73515228832,366.27579142084,374.60024122586,392.4383479509,406.97310157871,419.69101100305,428.11456140098,441.49314144476,457.84473927605,479.64686971777,490.54793493862,499.46698830115,523.2511306012],description:"11-limit system from Gary David, 1967"},david7:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,336.37572681506,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,470.92601754108,488.36772189445,523.2511306012],description:"Gary David's Constant Structure, 1967. A mode of Fokker's 7-limit scale"},ddimlim1:{frequencies:[261.6255653006,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"First 27/25&2048/1875 scale"},de_caus:{frequencies:[261.6255653006,272.52663052146,290.69507255622,306.59245933664,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"De Caus (a mode of Ellis's duodene) (1615)"},degung1:{frequencies:[261.6255653006,286.1303811777,319.28416942365,390.63652710512,420.90734643474,523.2511306012],description:"Gamelan Degung, Kabupaten Sukabumi. 1/1=363 Hz"},degung2:{frequencies:[261.6255653006,276.67939184371,325.99375993805,390.36201910543,415.27879033283,523.2511306012],description:"Gamelan Degung, Kabupaten Bandung. 1/1=252 Hz"},degung3:{frequencies:[261.6255653006,282.83850205216,320.55017368416,393.28023705203,426.95140008307,523.2511306012],description:"Gamelan Degung, Kabupaten Sumedang. 1/1=388.5 Hz"},degung4:{frequencies:[261.6255653006,284.6485709981,319.18312009646,379.88037698982,415.46137490477,523.2511306012],description:"Gamelan Degung, Kasepuhan Cheribon. 1/1=250 Hz"},degung5:{frequencies:[261.6255653006,284.24274449773,317.86283634652,388.77066331187,430.33748813761,523.2511306012],description:"Gamelan Degung, Kanoman Cheribon. 1/1=428 Hz"},degung6:{frequencies:[261.6255653006,273.29426590363,298.47415715355,379.54129348313,409.02013274169,523.2511306012],description:"Gamelan Degung, Kacherbonan Cheribon. 1/1=426 Hz"},dekany:{frequencies:[261.6255653006,299.7792935736,305.22982618403,327.03195662575,359.73515228832,381.53728273004,419.69101100305,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"2)5 Dekany 1.3.5.7.11 (1.3 tonic)"},dekany2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,313.95067836072,348.83408706747,358.80077526939,398.6675280771,418.60090448096,448.50096908674,465.11211608996,523.2511306012],description:"3)5 Dekany 1.3.5.7.9 (1.3.5.7.9 tonic)"},dekany3:{frequencies:[261.6255653006,294.32876096318,305.22982618403,327.03195662575,343.38355445704,381.53728273004,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"2)5 Dekany 1.3.5.7.9 and 3)5 Dekany 1 1/3 1/5 1/7 1/9"},dekany4:{frequencies:[261.6255653006,270.96933548991,288.48890459486,310.68035879446,321.77608589426,355.06326719367,425.14154361347,440.3251701711,474.19633710734,485.87604984397,523.2511306012],description:"2)5 Dekany 1.7.13.19.29 (1.7 tonic)"},dekany_union:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,343.38355445704,366.27579142084,381.53728273004,392.4383479509,412.06026534844,436.04260883433,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Union of 2)5 and 3)5 [ 1 3 5 7 9] dekanies"},dent:{frequencies:[261.6255653006,276.73939277812,293.41671964988,311.13637945111,328.33487278761,349.18153137729,368.9858570375,391.91718148616,414.84850593482,438.82216331296,465.92281947955,491.98114271667,523.2511306012],description:"Tom Dent, well temperament with A=421 Hz. Integer Hz beat rates from A"},dent2:{frequencies:[261.6255653006,276.57667301797,293.18838124587,310.79781949647,328.55897053596,349.10502918563,369.05532299592,391.67735584266,414.54302837239,438.92977277749,465.83490899549,492.45596147139,523.2511306012],description:"Tom Dent, well-temperament, 2/32 and 5/32 comma. TL 3 & 5-9-2005"},dent3:{frequencies:[261.6255653006,276.38325105256,293.15632631094,310.94732162256,328.48713220126,349.22823143301,368.7143392539,391.76907592069,414.58565256441,438.73106346722,466.16376151809,492.17459484008,523.2511306012],description:'Tom Dent, Bach harpsichord "sine wave" temperament, TL 10-10-2005'},deporcy:{frequencies:[261.6255653006,272.52663052146,286.15296204753,299.00064605783,313.95067836072,327.03195662575,348.83408706747,358.80077526939,381.53728273004,392.4383479509,418.60090448096,436.04260883433,457.84473927605,478.40103369253,502.32108537715,523.2511306012],description:"A 15-note chord-based detempering of 7-limit porcupine"},diab19_612:{frequencies:[261.6255653006,267.01398215014,280.33982809972,299.03492334906,305.19382000629,313.95883772326,320.42510414137,327.02455105776,348.83292260574,366.24210002542,373.7851897098,392.43965797471,418.61038382265,427.23204601759,436.03127668087,448.5538823653,457.79225819026,488.32116993744,512.69177642068,523.2511306012],description:"diab19a in 612-tET"},diab19_72:{frequencies:[261.6255653006,266.71173418545,279.86396690685,299.37379946195,305.19382000629,314.13668154225,320.24370022528,326.46944327063,349.22823143301,366.44956000397,373.57357677338,391.99543598175,419.32216217931,427.47405410759,435.78442404634,448.5538823653,457.27406033445,489.15147723638,513.27277840175,523.2511306012],description:"diab19a in 72-tET"},diablack:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,331.11985608357,372.08969287196,392.4383479509,418.60090448096,441.49314144476,470.92601754108,523.2511306012],description:"Unique 256/245&2048/2025 Fokker block"},diachrome1:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,334.88072358477,367.91095120397,392.4383479509,418.60090448096,441.49314144476,470.92601754108,523.2511306012],description:"First 25/24&2048/2025 scale"},diacycle13:{frequencies:[261.6255653006,268.33391312882,275.39533189537,282.83844897362,290.69507255622,299.00064605783,307.79478270659,317.12189733406,327.03195662575,337.58137458142,348.83408706747,360.86284869048,373.75080757229,387.59343007496,402.50086969323,413.09299784305,424.25767346043,436.04260883433,448.50096908674,461.69217405988,475.68284600109,490.54793493862,506.37206187213,523.2511306012],description:"Diacycle on 20/13, 13/10; there are also nodes at 3/2, 4/3; 13/9, 18/13"},diaddim1:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,334.88072358477,344.91651675372,357.20610515709,367.91095120397,392.4383479509,418.60090448096,446.50763144636,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"First 2048/2025&2048/1875 scale"},dialim1:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,334.88072358477,348.83408706747,353.19451315581,367.91095120397,392.4383479509,418.60090448096,441.49314144476,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"First 27/25&2048/2025 scale"},diamisty:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.42486507835,330.74639366397,348.83408706747,372.08969287196,392.4383479509,413.89982010446,436.53496651643,470.39487098876,496.11959049595,523.2511306012],description:"Diamisty scale 2048/2025 and 67108864/66430125"},diamond11a:{frequencies:[261.6255653006,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,523.2511306012],description:"11-limit Diamond with added 16/15 & 15/8, Zoomoozophone tuning: 1/1 = 392 Hz"},diamond11ak:{frequencies:[261.6255653006,279.72330032405,285.63317938628,287.78812183066,290.69507255622,293.86839138568,299.07491977616,305.39295512204,314.19649759716,319.76457981184,326.52043447049,333.41680553884,335.93301933283,349.10721912206,359.17247822875,366.75848641051,373.2589099097,381.14243472333,392.13131479202,407.50942884268,410.58480125643,419.25667855894,428.11456140098,435.70146034294,448.26139746089,457.73103588952,465.84075338014,470.92601754108,475.68284600109,479.27160679251,489.39746055879,523.2511306012],description:"microtempered version of diamond11a, Dave Keenan TL 11-1-2000, 225/224&385/384"},diamond11at:{frequencies:[261.6255653006,279.83704120119,285.33574350137,287.98268367985,290.84948650387,293.82121114493,299.2738827313,305.22380787491,314.19079532693,320.23980272009,326.48518221507,332.71524733285,336.02719554531,349.1122100506,359.53680125564,366.52331521885,373.4984028396,380.75621844446,392.12570885984,407.39521875769,411.45055399509,419.30194782174,427.47925671618,435.70936791853,448.50981249085,457.42672761267,465.91555560021,470.67599975252,475.36147343465,479.7712027167,489.19854301666,523.2511306012],description:"microtempered version of diamond11a, OdC"},diamond11map:{frequencies:[195.99771799087,228.66400432268,261.33029065449,293.99657698631,326.66286331812,359.32914964993,391.99543598174,457.32800864536,522.66058130899,587.99315397261,653.32572663623,718.65829929986,213.81569235368,249.45164107929,285.0875898049,320.72353853051,356.35948725613,391.99543598174,427.63138470735,498.90328215858,570.1751796098,641.44707706103,712.71897451225,783.99087196348,235.19726158904,274.39680518722,313.59634878539,352.79589238357,391.99543598174,431.19497957991,470.39452317809,548.79361037444,627.19269757078,705.59178476713,783.99087196348,862.38995915983,261.33029065449,304.88533909691,348.44038753932,391.99543598174,435.55048442416,479.10553286657,522.66058130899,609.77067819382,696.88077507865,783.99087196348,871.10096884831,958.21106573314,293.99657698631,342.99600648402,391.99543598174,440.99486547946,489.99429497718,538.99372447489,587.99315397261,685.99201296804,783.99087196348,881.98973095892,979.98858995435,1077.98744894978,335.99608798435,391.99543598174,447.99478397913,503.99413197652,559.99347997391,615.99282797131,671.9921759687,783.99087196348,895.98956795826,1007.98826395305,1119.98695994783,1231.98565594261,783.99087196348],description:"11-limit diamond on a 'centreless' map"},diamond15:{frequencies:[261.6255653006,269.80136421624,279.06726965397,280.31310567921,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,301.87565226992,305.22982618403,309.19384990071,310.07474405997,313.95067836072,318.85615771011,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,340.11323489078,343.38355445704,348.83408706747,356.76213450082,359.73515228832,362.25078272391,366.27579142084,367.91095120397,372.08969287196,373.75080757229,377.90359432309,380.54627680087,383.71749577421,392.4383479509,398.6675280771,402.50086969323,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,429.33426100611,436.04260883433,441.49314144476,442.75095666255,448.50096908674,453.48431318771,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,488.36772189445,490.54793493862,507.3950357345,523.2511306012],description:"15-limit Diamond + 2nd ratios. See Novaro, 1927, Sistema Natural..."},diamond17:{frequencies:[261.6255653006,277.97716313189,281.75060878526,283.42769574232,285.40970760065,287.78812183066,299.00064605783,305.22982618403,307.79478270659,309.19384990071,313.95067836072,317.68818643644,322.00069575458,327.03195662575,332.97799220076,338.57426097725,340.11323489078,342.12573923925,348.83408706747,359.73515228832,366.27579142084,369.35373924791,370.63621750918,373.75080757229,380.54627680087,392.4383479509,400.13321751856,402.50086969323,404.33041910093,411.12588832951,418.60090448096,425.14154361347,430.91269578922,436.04260883433,442.75095666255,444.76346101102,448.50096908674,457.84473927605,475.68284600109,479.64686971777,483.00104363188,485.87604984397,492.47165233054,523.2511306012],description:"17-limit Diamond"},diamond17a:{frequencies:[261.6255653006,277.01530443593,277.97716313189,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,307.79478270659,309.19384990071,313.95067836072,317.68818643644,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,338.57426097725,340.11323489078,342.12573923925,348.83408706747,359.73515228832,362.25078272391,366.27579142084,369.35373924791,370.63621750918,373.75080757229,377.90359432309,380.54627680087,392.4383479509,400.13321751856,402.50086969323,404.33041910093,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,430.91269578922,436.04260883433,442.75095666255,444.76346101102,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,492.47165233054,494.18162334558,523.2511306012],description:"17-limit, +9 Diamond"},diamond19:{frequencies:[261.6255653006,275.39533189537,277.97716313189,281.75060878526,283.42769574232,285.40970760065,287.78812183066,292.40504357126,299.00064605783,302.93486508491,305.22982618403,307.79478270659,309.19384990071,310.68035879446,313.95067836072,317.68818643644,322.00069575458,327.03195662575,330.47439827444,332.97799220076,338.57426097725,340.11323489078,342.12573923925,348.83408706747,355.06326719367,358.01393146398,359.73515228832,366.27579142084,369.35373924791,370.63621750918,373.75080757229,380.54627680087,382.37582620857,385.55346465352,392.4383479509,400.13321751856,402.50086969323,404.33041910093,411.12588832951,414.24047839262,418.60090448096,425.14154361347,430.91269578922,436.04260883433,440.63253103259,442.75095666255,444.76346101102,448.50096908674,451.89870370104,457.84473927605,468.17206422213,475.68284600109,479.64686971777,483.00104363188,485.87604984397,492.47165233054,497.08857407114,523.2511306012],description:"19-limit Diamond"},diamond7:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,523.2511306012],description:"7-limit Diamond, also double-tie circular mirroring of 4:5:6:7"},diamond9:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,523.2511306012],description:"9-limit Diamond"},diamond_chess:{frequencies:[261.6255653006,299.00064605783,313.95067836072,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,436.04260883433,457.84473927605,523.2511306012],description:"9-limit chessboard pattern diamond. OdC"},diamond_chess11:{frequencies:[261.6255653006,287.78812183066,299.00064605783,313.95067836072,319.76457981184,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,428.11456140098,436.04260883433,457.84473927605,475.68284600109,523.2511306012],description:"11-limit chessboard pattern diamond. OdC"},diamond_dup:{frequencies:[261.6255653006,274.70684356563,280.31310567921,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Two 7-limit diamonds 3/2 apart"},diamond_mod:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,327.03195662575,336.37572681506,348.83408706747,392.4383479509,406.97310157871,418.60090448096,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"13-tone Octave Modular Diamond, based on Archytas's Enharmonic"},diamond_tetr:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,336.37572681506,339.14425131559,348.83408706747,358.80077526939,523.2511306012],description:"Tetrachord Modular Diamond based on Archytas's Enharmonic"},diaphonic_10:{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,336.37572681506,362.25078272391,392.4383479509,418.60090448096,448.50096908674,483.00104363188,523.2511306012],description:"10-tone Diaphonic Cycle"},diaphonic_12:{frequencies:[261.6255653006,274.70684356563,289.16509849014,305.22982618403,323.18452184192,343.38355445704,366.27579142084,392.4383479509,413.09299784305,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"12-tone Diaphonic Cycle, conjunctive form on 3/2 and 4/3"},diaphonic_12a:{frequencies:[261.6255653006,274.70684356563,289.16509849014,305.22982618403,323.18452184192,343.38355445704,366.27579142084,385.55346465352,406.97310157871,430.91269578922,457.84473927605,488.36772189445,523.2511306012],description:"2nd 12-tone Diaphonic Cycle, conjunctive form on 10/7 and 7/5"},diaphonic_5:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,448.50096908674,523.2511306012],description:"D5-tone Diaphonic Cycle"},diaphonic_7:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012],description:"7-tone Diaphonic Cycle, disjunctive form on 4/3 and 3/2"},diaschismic:{frequencies:[261.6255653006,266.61097723855,278.05603152599,283.35453458855,295.51835494038,301.14961170579,314.07733767684,320.06224556188,333.80185153667,340.16262034629,354.76509561975,369.99442271164,377.04485988831,393.23061088369,400.72382577504,417.92606548687,425.88986517773,444.17243057662,452.63636847719,472.06710558841,481.06259110609,501.71360968203,523.2511306012],description:"diaschismic temperament, g=105.446531, p=600, 5-limit"},diat13:{frequencies:[261.6255653006,279.06726965397,322.00069575458,348.83408706747,392.4383479509,418.60090448096,483.00104363188,523.2511306012],description:"This genus is from K.S's diatonic Hypodorian harmonia"},diat15:{frequencies:[261.6255653006,301.87565226992,327.03195662575,356.76213450082,373.75080757229,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Tonos-15 Diatonic and its own trite synemmenon Bb"},diat15_inv:{frequencies:[261.6255653006,279.06726965397,313.95067836072,348.83408706747,366.27579142084,383.71749577421,418.60090448096,453.48431318771,523.2511306012],description:"Inverted Tonos-15 Harmonia, a harmonic series from 15 from 30."},diat17:{frequencies:[261.6255653006,296.50897400735,342.12573923925,370.63621750918,386.75083566176,404.33041910093,444.76346101102,494.18162334558,523.2511306012],description:"Tonos-17 Diatonic and its own trite synemmenon Bb"},diat19:{frequencies:[261.6255653006,276.16031892841,310.68035879446,355.06326719367,368.21375857121,382.37582620857,414.24047839262,451.89870370104,523.2511306012],description:"Tonos-19 Diatonic and its own trite synemmenon Bb"},diat21:{frequencies:[261.6255653006,289.16509849014,305.22982618403,343.38355445704,366.27579142084,392.4383479509,422.62591317789,457.84473927605,523.2511306012],description:"Tonos-21 Diatonic and its own trite synemmenon Bb"},diat21_inv:{frequencies:[261.6255653006,299.00064605783,323.91736656265,348.83408706747,373.75080757229,398.6675280771,448.50096908674,473.41768959156,523.2511306012],description:"Inverted Tonos-21 Harmonia, a harmonic series from 21 from 42."},diat23:{frequencies:[261.6255653006,286.54228580542,300.86940009569,334.29933343966,353.96400011258,376.08675011961,429.81342870813,462.87600014722,523.2511306012],description:"Tonos-23 Diatonic and its own trite synemmenon Bb"},diat25:{frequencies:[261.6255653006,297.30177875068,327.03195662575,363.36884069528,384.74347838324,408.78994578219,467.18850946536,503.12608711654,523.2511306012],description:"Tonos-25 Diatonic and its own trite synemmenon Bb"},diat27:{frequencies:[261.6255653006,294.32876096318,336.37572681506,353.19451315581,371.78369805875,392.4383479509,441.49314144476,504.56359022259,523.2511306012],description:"Tonos-27 Diatonic and its own trite synemmenon Bb"},diat27_inv:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,377.90359432309,387.59343007496,406.97310157871,465.11211608996,523.2511306012],description:"Inverted Tonos-27 Harmonia, a harmonic series from 27 from 54"},diat29:{frequencies:[261.6255653006,291.81313052759,316.13089140489,344.87006335079,361.29244731988,379.35706968587,421.50785520652,474.19633710734,523.2511306012],description:"Tonos-29 Diatonic and its own trite synemmenon Bb"},diat31:{frequencies:[261.6255653006,289.65687586852,311.93817401225,337.93302184661,352.6257619269,368.65420565085,405.51962621593,450.57736246214,523.2511306012],description:"Tonos-31 Diatonic. The disjunctive and conjunctive diatonic forms are the same"},diat33:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,375.37581108347,392.4383479509,431.68218274599,479.64686971777,523.2511306012],description:"Tonos-33 Diatonic. The conjunctive form is 23 (Bb instead of B) 20 18 33/2"},diat_chrom:{frequencies:[261.6255653006,280.31310567921,301.87565226992,348.83408706747,392.4383479509,420.46965851882,452.81347840488,523.2511306012],description:"Diatonic- Chromatic, on the border between the chromatic and diatonic genera"},diat_dies2:{frequencies:[261.6255653006,266.71168334607,311.12698372208,349.22823143301,391.99543598175,399.61600264311,466.16376151809,523.2511306012],description:"Dorian Diatonic, 2 part Diesis"},diat_dies5:{frequencies:[261.6255653006,274.52693220706,311.12698372208,349.22823143301,391.99543598175,411.32564531909,466.16376151809,523.2511306012],description:"Dorian Diatonic, 5 part Diesis"},diat_enh:{frequencies:[261.6255653006,269.29177952703,311.12698372208,349.22823143301,391.99543598175,403.48177901006,466.16376151809,523.2511306012],description:"Diat. + Enharm. Diesis, Dorian Mode"},diat_enh2:{frequencies:[261.6255653006,269.29177952703,302.26980244078,349.22823143301,391.99543598175,403.48177901006,452.89298412314,523.2511306012],description:"Diat. + Enharm. Diesis, Dorian Mode 3 + 12 + 15 parts"},diat_enh3:{frequencies:[261.6255653006,302.26980244078,311.12698372208,349.22823143301,391.99543598175,452.89298412314,466.16376151809,523.2511306012],description:"Diat. + Enharm. Diesis, Dorian Mode, 15 + 3 + 12 parts"},diat_enh4:{frequencies:[261.6255653006,302.26980244078,339.28638158975,349.22823143301,391.99543598175,452.89298412314,508.3551866238,523.2511306012],description:"Diat. + Enharm. Diesis, Dorian Mode, 15 + 12 + 3 parts"},diat_enh5:{frequencies:[261.6255653006,293.66476791741,339.28638158975,349.22823143301,391.99543598175,440,508.3551866238,523.2511306012],description:"Dorian Mode, 12 + 15 + 3 parts"},diat_enh6:{frequencies:[261.6255653006,293.66476791741,302.26980244078,349.22823143301,391.99543598175,440,452.89298412314,523.2511306012],description:"Dorian Mode, 12 + 3 + 15 parts"},diat_eq:{frequencies:[261.6255653006,288.06466200271,317.1754314895,349.22823143301,391.99543598175,431.60932167676,475.22619361214,523.2511306012],description:"Equal Diatonic, Islamic form, similar to 11/10 x 11/10 x 400/363"},diat_eq2:{frequencies:[261.6255653006,287.78812183066,317.12189733406,348.83408706747,392.4383479509,431.68218274599,475.68284600109,523.2511306012],description:"Equal Diatonic, 11/10 x 400/363 x 11/10"},diat_gold:{frequencies:[261.6255653006,292.38332274669,326.75708630452,349.99258496952,391.13935185123,437.1232727958,488.51296691354,523.2511306012],description:"Diatonic scale with ratio between whole and half tone the Golden Section"},diat_hemchrom:{frequencies:[261.6255653006,273.20871865617,311.12698372208,349.22823143301,391.99543598175,409.35055662695,466.16376151809,523.2511306012],description:"Diat. + Hem. Chrom. Diesis, Another genus of Aristoxenos, Dorian Mode"},diat_smal:{frequencies:[261.6255653006,299.00064605783,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:'"Smallest number" diatonic scale'},diat_sofchrom:{frequencies:[261.6255653006,271.8968348557,311.12698372208,349.22823143301,391.99543598175,407.38495184466,466.16376151809,523.2511306012],description:"Diat. + Soft Chrom. Diesis, Another genus of Aristoxenos, Dorian Mode"},diat_soft:{frequencies:[261.6255653006,274.52693220706,302.26980244078,349.22823143301,391.99543598175,411.32564531909,452.89298412314,523.2511306012],description:"Soft Diatonic genus 5 + 10 + 15 parts"},diat_soft2:{frequencies:[261.6255653006,281.2143451833,302.26980244078,349.22823143301,391.99543598175,421.34544350737,452.89298412314,523.2511306012],description:"Soft Diatonic genus with equally divided Pyknon; Dorian Mode"},diat_soft3:{frequencies:[261.6255653006,281.2143451833,324.90175210669,349.22823143301,391.99543598175,421.34544350737,486.80259447109,523.2511306012],description:"New Soft Diatonic genus with equally divided Pyknon; Dorian Mode; 1:1 pyknon"},diat_soft4:{frequencies:[261.6255653006,302.26980244078,324.90175210669,349.22823143301,391.99543598175,452.89298412314,486.80259447109,523.2511306012],description:"New Soft Diatonic genus with equally divided Pyknon; Dorian Mode; 1:1 pyknon"},dicot:{frequencies:[261.6255653006,270.35822989652,294.32876096318,320.42456924675,331.11985608357,360.47764004221,392.4383479509,405.53734464206,441.49314144476,480.63685362987,523.2511306012],description:"Dicot temperament, g=350.9775, 5-limit"},didy_chrom:{frequencies:[261.6255653006,279.06726965397,290.69507255622,348.83408706747,392.4383479509,418.60090448096,436.04260883433,523.2511306012],description:"Didymus Chromatic"},didy_chrom1:{frequencies:[261.6255653006,279.06726965397,334.88072358477,348.83408706747,392.4383479509,418.60090448096,502.32108537715,523.2511306012],description:"Permuted Didymus Chromatic"},didy_chrom2:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,392.4383479509,470.92601754108,490.54793493862,523.2511306012],description:"Didymos's Chromatic, 6/5 x 25/24 x 16/15"},didy_chrom3:{frequencies:[261.6255653006,272.52663052146,290.69507255622,348.83408706747,392.4383479509,408.78994578219,436.04260883433,523.2511306012],description:"Didymos's Chromatic, 25/24 x 16/15 x 6/5"},didy_diat:{frequencies:[261.6255653006,279.06726965397,310.07474405997,348.83408706747,392.4383479509,418.60090448096,465.11211608996,523.2511306012],description:"Didymus Diatonic"},didy_diatinv:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Inverse Didymus Diatonic, variant of Ptolemy with 2 identical triads"},didy_enh:{frequencies:[261.6255653006,270.06509966514,279.06726965397,348.83408706747,392.4383479509,405.0976494977,418.60090448096,523.2511306012],description:"Dorian mode of Didymos's Enharmonic"},didy_enh2:{frequencies:[261.6255653006,275.62199471997,279.06726965397,348.83408706747,392.4383479509,413.43299207996,418.60090448096,523.2511306012],description:"Permuted Didymus Enharmonic"},"diesic-m":{frequencies:[261.6255653006,289.62525622617,320.62153003931,354.93508703008,392.92094947462,434.97213484265,481.52372211906,523.2511306012],description:"Minimal Diesic temperament, g=176.021, 5-limit"},"diesic-t":{frequencies:[261.6255653006,272.92239980638,281.87304203955,294.04415210774,303.68749398125,316.80053726141,327.19018747082,337.92057205022,352.51178108166,364.07260143821,379.79303732838,392.24856169057,409.18561859271,422.60509148244,436.46466102477,455.31094249407,470.24311865111,490.54793493862,506.63572944675,523.2511306012],description:"Tiny Diesic temperament, g=443.017, 5-limit"},diff31_72:{frequencies:[261.6255653006,269.29177952703,274.52698453615,279.86396690685,285.30470202322,293.66476791741,299.37379946195,305.19382000629,314.13668154225,320.24370022528,326.46944327063,336.03572815422,342.56848033562,352.60650301302,356.01745236555,366.44956000397,373.57357677338,384.52011812375,388.23978476841,399.61607881612,407.38487419079,419.32216217931,427.47405410759,435.78442404634,448.5538823653,457.27406033445,466.16376151809,479.82340237272,489.15147723638,498.66089874196,508.3551866238,523.2511306012],description:"Diff31, 11/9, 4/3, 7/5, 3/2, 7/4, 9/5 difference diamond, tempered to 72-et"},dimteta:{frequencies:[261.6255653006,282.55561052465,307.12566361375,336.37572681506,406.97310157871,439.53094970501,477.75103228805,523.2511306012],description:"A heptatonic form on the 9/7"},dimtetb:{frequencies:[261.6255653006,294.32876096318,336.37572681506,406.97310157871,457.84473927605,523.2511306012],description:"A pentatonic form on the 9/7"},div_fifth1:{frequencies:[261.6255653006,273.00058987889,285.40970760065,348.83408706747,392.4383479509,523.2511306012],description:"Divided Fifth #1, From Schlesinger, see Chapter 8, p. 160"},div_fifth2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,348.83408706747,392.4383479509,523.2511306012],description:"Divided Fifth #2, From Schlesinger, see Chapter 8, p. 160"},div_fifth3:{frequencies:[261.6255653006,271.31540105247,305.22982618403,348.83408706747,392.4383479509,523.2511306012],description:"Divided Fifth #3, From Schlesinger, see Chapter 8, p. 160"},div_fifth4:{frequencies:[261.6255653006,274.70684356563,305.22982618403,343.38355445704,392.4383479509,523.2511306012],description:"Divided Fifth #4, From Schlesinger, see Chapter 8, p. 160"},div_fifth5:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,411.12588832951,523.2511306012],description:"Divided Fifth #5, From Schlesinger, see Chapter 8, p. 160"},dkring1:{frequencies:[261.6255653006,274.70684356563,305.22982618403,313.95067836072,320.49131749323,327.03195662575,366.27579142084,392.4383479509,439.53094970501,448.50096908674,457.84473927605,470.92601754108,523.2511306012],description:"Double-tie circular mirroring of 4:5:6:7"},dkring2:{frequencies:[261.6255653006,274.70684356563,305.22982618403,329.64821227876,336.37572681506,353.19451315581,366.27579142084,392.4383479509,406.97310157871,427.32175665765,436.04260883433,470.92601754108,523.2511306012],description:"Double-tie circular mirroring of 3:5:7:9"},dkring3:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,348.83408706747,384.42940207435,392.4383479509,398.6675280771,448.50096908674,465.11211608996,504.56359022259,523.2511306012],description:"Double-tie circular mirroring of 6:7:8:9"},dkring4:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,327.03195662575,336.37572681506,367.91095120397,373.75080757229,378.42269266694,420.46965851882,467.18850946536,470.92601754108,523.2511306012],description:"Double-tie circular mirroring of 7:8:9:10"},dodeceny:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Degenerate eikosany 3)6 from 1.3.5.9.15.45 tonic 1.3.15"},dorian_chrom:{frequencies:[261.6255653006,279.06726965397,299.00064605783,310.07474405997,315.92521092903,322.00069575458,348.83408706747,380.54627680087,398.6675280771,408.39112632289,418.60090448096,465.11211608996,523.2511306012,558.13453930795,598.00129211566,620.14948811994,631.85042185805,644.00139150917,697.66817413493,761.09255360175,797.33505615421,816.78225264578,837.20180896192,930.22423217991,1046.5022612024],description:"Dorian Chromatic Tonos"},dorian_chrom2:{frequencies:[261.6255653006,274.08392555301,287.78812183066,359.73515228832,411.12588832951,426.35277308246,442.75095666255,523.2511306012],description:"Schlesinger's Dorian Harmonia in the chromatic genus"},dorian_chrominv:{frequencies:[261.6255653006,273.00058987889,285.40970760065,332.97799220076,380.54627680087,404.33041910093,428.11456140098,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Dorian inverted"},dorian_diat:{frequencies:[261.6255653006,279.06726965397,299.00064605783,322.00069575458,334.88072358477,348.83408706747,364.00078650518,380.54627680087,418.60090448096,440.63253103259,465.11211608996,492.47165233054,523.2511306012,558.13453930795,598.00129211566,644.00139150917,669.76144716954,697.66817413493,728.00157301037,761.09255360175,837.20180896192,881.26506206518,930.22423217991,984.94330466108,1046.5022612024],description:"Dorian Diatonic Tonos"},dorian_diat2:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,383.71749577421,411.12588832951,442.75095666255,479.64686971777,523.2511306012],description:"Schlesinger's Dorian Harmonia, a subharmonic series through 13 from 22"},dorian_diat2inv:{frequencies:[261.6255653006,285.40970760065,309.19384990071,332.97799220076,356.76213450082,380.54627680087,428.11456140098,475.68284600109,523.2511306012],description:"Inverted Schlesinger's Dorian Harmonia, a harmonic series from 11 from 22"},dorian_diatcon:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,383.71749577421,411.12588832951,479.64686971777,523.2511306012],description:"A Dorian Diatonic with its own trite synemmenon replacing paramese"},dorian_diatred11:{frequencies:[261.6255653006,287.78812183066,316.56693401373,348.83408706747,392.4383479509,431.68218274599,474.85040102059,523.2511306012],description:"Dorian mode of a diatonic genus with reduplicated 11/10"},dorian_enh:{frequencies:[261.6255653006,279.06726965397,299.00064605783,304.4370214407,307.2300216374,310.07474405997,348.83408706747,380.54627680087,389.39619021485,393.97732186443,398.6675280771,465.11211608996,523.2511306012,558.13453930795,598.00129211566,608.8740428814,614.4600432748,620.14948811994,697.66817413493,761.09255360175,778.79238042969,787.95464372887,797.33505615421,930.22423217991,1046.5022612024],description:"Dorian Enharmonic Tonos"},dorian_enh2:{frequencies:[261.6255653006,267.70988077271,274.08392555301,359.73515228832,411.12588832951,426.35277308246,442.75095666255,523.2511306012],description:"Schlesinger's Dorian Harmonia in the enharmonic genus"},dorian_enhinv:{frequencies:[261.6255653006,267.19206668997,273.00058987889,332.97799220076,380.54627680087,392.4383479509,404.33041910093,523.2511306012],description:"A harmonic form of Schlesinger's Dorian enharmonic inverted"},dorian_pent:{frequencies:[261.6255653006,271.49822814213,287.78812183066,359.73515228832,411.12588832951,423.21782622156,442.75095666255,523.2511306012],description:"Schlesinger's Dorian Harmonia in the pentachromatic genus"},dorian_pis:{frequencies:[261.6255653006,299.00064605783,322.00069575458,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012,558.13453930795,598.00129211566,644.00139150917,697.66817413493,761.09255360175,837.20180896192,930.22423217991,1046.5022612024],description:"Diatonic Perfect Immutable System in the Dorian Tonos, a non-rep. 16 tone gamut"},dorian_schl:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,319.76457981184,338.57426097725,359.73515228832,383.71749577421,411.12588832951,442.75095666255,460.46099492906,479.64686971777,523.2511306012],description:"Schlesinger's Dorian Piano Tuning (Sub 22)"},dorian_tri1:{frequencies:[261.6255653006,269.80136421624,278.50463402967,359.73515228832,411.12588832951,421.15334902048,431.68218274599,523.2511306012],description:"Schlesinger's Dorian Harmonia in the first trichromatic genus"},dorian_tri2:{frequencies:[261.6255653006,269.80136421624,287.78812183066,359.73515228832,411.12588832951,421.15334902048,442.75095666255,523.2511306012],description:"Schlesinger's Dorian Harmonia in the second trichromatic genus"},douwes:{frequencies:[261.6255653006,273.00058987889,292.50063201309,313.39353429974,327.01933943691,350.37786403433,365.61168556196,391.72680409,408.75840577964,436.81779569448,468.01906681552,488.36772189445,523.2511306012],description:"Claas Douwes recommendation of 24/23 and 15/14 steps for clavichord (1699)"},dow_high:{frequencies:[261.6255653006,277.01530443593,278.50463402967,294.32876096318,308.34441624714,313.31771328338,327.34193952303,331.11985608357,346.88746827803,348.83408706747,369.35373924791,392.4383479509,417.75695104451,441.49314144476,462.5166243707],description:"Highest octave of Dowlands lute tuning, strings 5,6. 1/1=G (1610)"},dow_lmh:{frequencies:[261.6255653006,278.50463402967,294.32876096318,308.34441624714,327.34193952303,348.83408706747,369.35373924791,371.33951203956,392.4383479509,411.12588832951,417.75695104451,436.45591936403,441.49314144476,462.5166243707,465.11211608996,492.47165233054,495.11934938608,523.2511306012,548.16785110602,557.00926805934,581.94122581871,588.65752192635,616.68883249427,620.14948811994,626.63542656676,656.62886977405,662.23971216714,693.77493655606,697.66817413493,736.51936392681,742.67902407912,784.8766959018,822.25177665903,831.04591330779,835.51390208901,882.98628288953,925.03324874141,939.95313985014,982.02581856908,993.35956825072,1040.66240483408,1046.5022612024,1108.06121774372,1114.01853611868,1177.3150438527,1233.37766498854,1253.27085313352,1309.3677580921,1324.47942433429,1387.54987311211,1395.33634826987,1477.41495699162,1569.7533918036,1671.02780417803,1765.97256577905,1850.06649748281],description:"All three octaves of Dowland's lute tuning"},dow_low:{frequencies:[261.6255653006,278.50463402967,294.32876096318,308.34441624714,327.34193952303,348.83408706747,369.35373924791,371.33951203956,392.4383479509,411.12588832951,417.75695104451,436.45591936403,441.49314144476,462.5166243707,465.11211608996,492.47165233054,495.11934938608,523.2511306012],description:"Lowest octave of Dowlands lute tuning, strings 1,2,3. 1/1=G. (1610)"},dow_middle:{frequencies:[261.6255653006,274.08392555301,278.50463402967,290.97061290936,294.32876096318,308.34441624714,310.07474405997,313.31771328338,328.31443488703,331.11985608357,346.88746827803,348.83408706747,368.2596819634,371.33951203956,392.4383479509,411.12588832951,415.52295665389,417.75695104451,441.49314144476,462.5166243707,469.97656992507,491.01290928454,496.67978412536,520.33120241704,523.2511306012],description:"Middle octave of Dowlands lute tuning, strings 3,4,5. 1/1=G (1610)"},dowland_12:{frequencies:[261.6255653006,278.50463402967,294.32876096318,308.34441624714,327.34193952303,348.83408706747,369.35373924791,392.4383479509,417.75695104451,441.49314144476,462.5166243707,492.47165233054,523.2511306012],description:"subset of Dowland's lute tuning, lowest octave"},druri:{frequencies:[261.6255653006,285.79952600623,326.97270111135,357.18467683857,523.2511306012],description:"Scale of druri dana of Siwoli, south Nias, Jaap Kunst"},dudon_a:{frequencies:[261.6255653006,285.85015468029,319.76457981184,348.83408706747,392.4383479509,428.77523202043,479.64686971777,523.2511306012],description:"Dudon Tetrachord A"},dudon_b:{frequencies:[261.6255653006,283.42769574232,321.58142401532,348.83408706747,392.4383479509,425.14154361347,482.37213602298,523.2511306012],description:"Dudon Tetrachord B"},dudon_c12:{frequencies:[261.6255653006,302.50455987882,327.03195662575,343.38355445704,392.4383479509,425.14154361347,474.19633710734,523.2511306012],description:"Differentially coherent scale in interval class 1 and 2"},dudon_diat:{frequencies:[261.6255653006,294.32876096318,321.08592105074,350.8160989258,392.4383479509,428.11456140098,481.6288815761,523.2511306012],description:"Dudon Neutral Diatonic"},dudon_moha_baya:{frequencies:[261.6255653006,285.30470202322,320.24370022528,349.22823143301,391.99543598175,427.47405410759,466.16376151809,523.2511306012],description:"Mohajira + Bayati (Dudon) 3 + 4 + 3 Mohajira and 3 + 3 + 4 Bayati tetrachords"},dudon_mohajira:{frequencies:[261.6255653006,285.30470202322,320.24370022528,349.22823143301,391.99543598175,427.47405410759,479.82340237272,523.2511306012],description:"Dudon's Mohajira, two 3 + 4 + 3 tetrachords, neutral diatonic"},dudon_mohajira_r:{frequencies:[261.6255653006,283.42769574232,321.58142401532,348.83408706747,392.4383479509,425.14154361347,479.64686971777,523.2511306012],description:"Jacques Dudon, JI Mohajira, Lumi\xEF\xBF\xBDres audibles"},dudon_thai:{frequencies:[261.6255653006,288.26147859917,317.63518509943,350.43752981487,386.47021463976,426.17461277719,469.97930400405,523.2511306012],description:"Dudon, coherent Thai heptatonic scale, 1/1 vol. 11/2, 2003"},dudon_thai2:{frequencies:[261.6255653006,288.02814528506,314.43072526953,347.1339209321,383.13743909274,422.44127975143,475.35895071461,523.2511306012],description:"Slightly better version, 3.685 cents deviation"},dudon_thai3:{frequencies:[261.6255653006,291.60349465796,321.58142401532,354.2846196779,394.48229767981,434.67997568173,478.96555314146,523.2511306012],description:"Dudon, Thai scale with two 704/703 = 2.46 c. deviations and simpler numbers"},duncan:{frequencies:[261.6255653006,277.97716313189,294.32876096318,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Dudley Duncan's Superparticular Scale"},duoden12:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.42486507835,330.74639366397,348.83408706747,372.08969287196,392.4383479509,413.89982010446,440.99519155196,465.63729761752,496.11959049595,523.2511306012],description:"Almost equal 12-tone subset of Duodenarium"},duodenarium:{frequencies:[14.56761754744,14.73307690724,14.74971276678,14.91724036858,14.98726085128,15.00418372272,15.10370587319,15.17460161192,15.19173601925,15.34695511171,15.36428413207,15.5387920506,15.55633768372,15.71528203439,15.73302695124,15.80687667908,15.91172305982,15.92968978813,16.00446263757,16.18624171938,16.20451842054,16.38856974087,16.57471152064,16.59342686263,16.78189541465,16.86066845769,16.87970668806,16.99166910733,17.07142681341,17.26532450067,17.28481964857,17.48114105693,17.67969228869,17.69965532014,17.78273626396,17.90068844229,17.98471302153,18.00502046726,18.2095219343,18.41634613405,18.43714095848,18.64655046072,18.73407606409,18.85833844126,18.87963234148,18.9682520149,18.98967002407,19.18369388963,19.20535516508,19.42349006325,19.44542210465,19.64410254298,19.66628368904,19.88965382477,19.91211223516,20.00557829696,20.13827449758,20.23280214922,20.25564802567,20.48571217609,20.7183894008,20.74178357829,20.97736926831,21.07583557211,21.21563074642,21.23958638417,21.33928351676,21.58165562584,21.60602456072,21.85142632116,22.09961536086,22.12456915017,22.37586055287,22.48089127691,22.50627558408,22.65555880978,22.76190241787,23.02043266756,23.0464261981,23.3081880759,23.57292305158,23.59954042685,23.71031501862,23.86758458973,23.97961736204,24.00669395635,24.27936257907,24.30677763081,24.55512817873,24.5828546113,24.86206728096,24.89014029395,25.14445125502,25.17284312198,25.29100268653,25.31956003209,25.487503661,25.60714022011,25.897986751,25.92722947286,26.22171158539,26.51953843303,26.54948298021,26.67410439595,26.85103266344,26.9770695323,27.0075307009,27.31428290145,27.62451920107,27.65571143772,27.96982569108,28.10111409614,28.2875076619,28.31944851222,28.45237802234,28.77554083445,28.80803274762,29.13523509488],description:"Ellis's Duodenarium : genus [3^12 5^8]"},duodene:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Ellis's Duodene : genus [33355]"},"duodene14-18-21":{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,336.37572681506,348.83408706747,378.42269266694,392.4383479509,406.97310157871,448.50096908674,457.84473927605,504.56359022259,523.2511306012],description:"14-18-21 Duodene"},"duodene3-11_9":{frequencies:[261.6255653006,285.40970760065,294.32876096318,319.76457981184,321.08592105074,348.83408706747,359.73515228832,392.4383479509,426.35277308246,428.11456140098,479.64686971777,481.6288815761,523.2511306012],description:"3-11/9 Duodene"},"duodene3-7":{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,457.84473927605,515.07533168556,523.2511306012],description:"3-7 Duodene"},"duodene6-7-9":{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,343.38355445704,348.83408706747,392.4383479509,406.97310157871,448.50096908674,457.84473927605,504.56359022259,523.2511306012],description:"6-7-9 Duodene"},duodene_min:{frequencies:[261.6255653006,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,353.19451315581,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Minor Duodene"},"duodene_r-45":{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,334.88072358477,353.19451315581,376.74081403286,401.85686830172,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Ellis's Duodene rotated -45 degrees"},duodene_r45:{frequencies:[261.6255653006,275.93321340298,279.06726965397,294.32876096318,313.95067836072,334.88072358477,383.2405741708,408.78994578219,436.04260883433,459.88868900496,465.11211608996,490.54793493862,523.2511306012],description:"Ellis's Duodene rotated 45 degrees"},duodene_r90:{frequencies:[261.6255653006,272.52663052146,279.06726965397,306.59245933664,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Ellis's Duodene rotated 90 degrees: genus [33555]"},duodene_skew:{frequencies:[261.6255653006,282.55561052465,290.69507255622,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,418.60090448096,436.04260883433,470.92601754108,502.32108537715,523.2511306012],description:"Rotated 6/5x3/2 duodene"},duodene_t:{frequencies:[261.6255653006,279.3825857701,293.66476791741,313.59634948548,327.03195662575,349.22823143301,367.08095907728,391.99543598175,418.60090448096,436.53528831673,469.86362971679,489.99429388332,523.2511306012],description:"Duodene with equal tempered fifths"},duowell:{frequencies:[261.6255653006,278.41172412276,294.03623226919,312.90189200955,327.96500300935,349.00756672938,368.59392213143,392.24328034087,417.4100028405,437.50413894442,469.11953885575,491.70297432358,523.2511306012],description:"Ellis duodene well-tuned to fifth=(7168/11)^(1/16) third=(11/7)^(1/2)"},dwarf6_7:{frequencies:[261.6255653006,299.00064605783,327.03195662575,373.75080757229,392.4383479509,448.50096908674,523.2511306012],description:"Dwarf(<6 10 14 17|)"},cairo:{frequencies:[261.6255653006,269.38381929633,276.03456984659,285.15047989166,293.63138642043,300.85736580106,309.799366845,312.20234522745,320.03127253896,327.93377450564,337.66851484331,348.83408706747,357.41197445437,367.9166999024,380.21445327801,392.4383479509,401.02017979859,414.62054722758,417.26565438692,427.77234352616,440.44707963064,451.93568025669,468.86302025197,480.04690880844,491.77737838459,510.98743222773,523.2511306012],description:"P.42, of d'Erlanger, vol.5. Congress of Arabic Music, Cairo, 1932"},canright:{frequencies:[261.6255653006,286.48426603331,306.03443598155,335.11270457212,357.98136125932,391.99543598175,418.74586628806,458.53356119912,489.82466832727,523.2511306012],description:`David Canright's piano tuning for "Fibonacci Suite" (2001)`},carlos_alpha:{frequencies:[261.6255653006,273.68256372566,286.29520819723,299.48910562989,313.29104303136,327.729041887,342.83241505062,358.63182625716,375.1593523779,392.44854854484,410.5345162762,429.45397474154,449.24533531117,469.94877954106,491.60634075178,514.26198936695,537.96172218451,562.75365576207,588.68812410589],description:"Wendy Carlos' Alpha scale with perfect fifth divided in nine"},carlos_alpha2:{frequencies:[261.6255653006,267.58616452957,273.68256372566,279.91785681123,286.29520819723,292.81785438923,299.48910562989,306.31234757893,313.29104303136,320.42873367481,327.729041887,335.19567257401,342.83241505062,350.6431449633,358.63182625716,366.8025131876,375.1593523779,383.7065849236,392.44854854484,401.3896797878,410.5345162762,419.88769901416,429.45397474154,439.23819834286,449.24533531117,459.48046426806,469.94877954106,480.6555937997,491.60634075178,502.8065779009,514.26198936695,525.97838877075,537.96172218451,550.21807114943,562.75365576207,575.57483783111,588.68812410589],description:"Wendy Carlos' Alpha prime scale with perfect fifth divided by eightteen"},carlos_beta:{frequencies:[261.6255653006,271.44693432634,281.63699549204,292.20958942356,303.17907632096,314.56035546319,326.36888544505,338.62070517372,351.33245565363,364.52140258903,378.2054598351,392.40321372938,407.13394833666,422.41767164147,438.27514272393,454.72789995564,471.7982902542,489.50949943583,507.88558370741,526.95150234083,546.73315157381,567.25739978343,588.55212398003],description:"Wendy Carlos' Beta scale with perfect fifth divided by eleven"},carlos_beta2:{frequencies:[261.6255653006,266.49100855797,271.44693432634,276.49502530642,281.63699549204,286.87459075215,292.20958942356,297.64380291476,303.17907632096,308.81728905054,314.56035546319,320.41022551991,326.36888544505,332.43835840072,338.62070517372,344.91802487526,351.33245565363,357.86617542024,364.52140258903,371.30039682974,378.2054598351,385.23893610237,392.40321372938,399.70072522531,407.13394833666,414.70540688852,422.41767164147,430.27336116448,438.27514272393,446.42573318931,454.72789995564,463.18446188312,471.7982902542,480.57230974851,489.50949943583,498.61289378764,507.88558370741,517.33071758003,526.95150234083,536.75120456442,546.73315157381,556.90073257014,567.25739978343,577.80666964473,588.55212398003],description:"Wendy Carlos' Beta prime scale with perfect fifth divided by twentytwo"},carlos_gamma:{frequencies:[261.6255653006,266.98388983977,272.45195763676,278.03201633122,283.72635959645,289.53732808222,295.4673103769,301.51874398927,307.69411635045,313.99596583639,320.42688281121,326.98951069203,333.68654703547,340.52074464653,347.49491271011,354.6119179457,361.87468578579,369.2862015783,376.84951181374,384.56772537748,392.44401482761,400.48161769905,408.68383783428,417.05404674148,425.59568498025,434.31226357598,443.20736546293,452.28464695708,461.547839259,471.00074998758,480.64726474513,490.49134871455,500.53704828923,510.78849273629,521.24989589392,531.92555790347],description:"Wendy Carlos' Gamma scale with third divided by eleven or fifth by twenty"},carlos_harm:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,425.14154361347,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Carlos Harmonic & Ben Johnston's scale of 'Blues' from Suite f.micr.piano (1977) & David Beardsley's scale of 'Science Friction'"},carlos_super:{frequencies:[261.6255653006,277.97716313189,294.32876096318,313.95067836072,327.03195662575,348.83408706747,359.73515228832,392.4383479509,425.14154361347,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Carlos Super Just"},carlson:{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Brian Carlson's guitar scale (or 7 is 21/16 instead) fretted by Mark Rankin"},cassandra1:{frequencies:[261.6255653006,265.52313139125,271.43629763673,275.48001908354,279.58398024378,283.7490817683,290.06813927787,294.38942683035,298.7750924519,305.42877739024,309.97889991383,314.59680966486,319.28351286859,326.39391783308,331.25637026535,336.19125912653,343.67819754196,348.79814248043,353.99435973883,359.26798967332,367.26884406885,372.74022844163,378.29312490007,386.71766674112,392.47878977853,398.32574139651,407.19640716832,413.26261206104,419.41919061043,425.66748431192,435.14704737009,441.62964923022,448.20882304357,458.19037897128,465.01626879626,471.9438445688,478.97462660712,489.64133323501,496.93576068834,504.33885972365,515.57042175735,523.2511306012],description:"Cassandra temperament (Erv Wilson), 13-limit, g=497.866"},cassandra2:{frequencies:[261.6255653006,265.34593985135,270.18130909623,275.10479273152,279.0168449367,284.10133754875,289.27848429833,293.3920895946,298.7385406747,304.18241953205,309.72550158209,314.12986807617,319.85422136322,325.68288889698,330.31417303802,336.33345109576,342.46241778116,348.70307193775,353.66170827405,360.10644584283,366.66862514012,371.88273569526,378.65951299923,385.5597827545,392.58579535013,398.16845391153,405.42423290482,412.81223314336,418.68251621245,426.31212065787,434.08075852776,440.25348482514,448.27617460765,456.44506096456,464.76280801961,471.37183998139,479.96159605313,488.70788228454,495.65741860341,504.6897280454,513.8866322474,523.2511306012],description:"Cassandra temperament, schismic variant, 13-limit, g=497.395"},catler:{frequencies:[261.6255653006,269.80136421624,279.06726965397,294.32876096318,299.00064605783,305.22982618403,313.95067836072,318.93402246168,322.00069575458,327.03195662575,343.38355445704,348.83408706747,359.73515228832,367.91095120397,380.54627680087,392.4383479509,418.60090448096,425.14154361347,436.04260883433,441.49314144476,457.84473927605,465.11211608996,483.00104363188,490.54793493862,523.2511306012],description:'Catler 24-tone JI from "Over and Under the 13 Limit", 1/1 3(3)'},cbrat19:{frequencies:[261.6255653006,272.05448646742,281.65887246066,291.7164960911,303.76422848609,314.23522436032,325.78124145721,339.14379232251,350.05979530932,364.18597952318,377.95660802413,389.93691761381,406.2330981776,420.87727247778,436.65546295526,454.14747622901,467.92430113657,486.684954898,506.27371414348,523.2511306012],description:"brats = -1 -1 -1 -1 -1 -1 -1 -1 0 3/7 390808/591947 1/2 1/2 1/2 1/2 1/4 0 0 -1"},ceb88f:{frequencies:[261.6255653006,275.30280934529,289.60851057007,304.80308899558,320.69584574771,337.31885569235,354.97473368038,373.44187862432,393.05647479461,413.57234190108,435.03089105397,457.82276134277,481.66189358475,506.59641128799],description:"88 cents steps with equal beating fifths"},ceb88s:{frequencies:[261.6255653006,275.27750547448,289.60710371138,304.74878776577,320.64207659236,337.32428016541,354.95189689869,373.45451504132,392.8755714351,413.39725679488,434.93759942207,457.54716438978,481.43806014345,506.51485544552,533.01280425363],description:"88 cents steps with equal beating sevenths"},ceb88t:{frequencies:[261.6255653006,275.20384442973,289.60910777612,304.54100616185,320.3823320487,337.18847246966,354.60902163481,373.09056856306,392.69773188536,413.02170471677,434.58350960486,457.45853552679,481.16983689269,506.32527343025,533.01280425363],description:"88 cents steps with equal beating 7/6 thirds"},cet105:{frequencies:[261.6255653006,277.98437592617,295.36606150822,313.83458334354,333.45789502888,354.30820661869,376.46223533368,400.00150378562,425.01262301844,451.58762919357,479.82430313337,509.82655042708,541.70476218406,575.57624366132],description:"Equal temperament with very good 6/5 and 13/8"},cet105a:{frequencies:[261.6255653006,278.09098920184,295.59266404146,314.19580976213,333.96974580612,354.98815389674,377.32935907335,401.07660961589,426.31839262878,453.14877154631,481.66772230429,511.98151233648,544.20310589723,578.45256778249,614.85751848055,653.5536209391,694.68506540856,738.40511604959,784.8766959018],description:"18th root of 3"},cet111:{frequencies:[261.6255653006,279.02234237845,297.57591715819,317.3632108372,338.46625752841,360.97255206362,384.97540137331,410.57431878206,437.87543474729,466.99193686517,498.04453913461,531.16197935691,566.48156495049,604.14972437838,644.32262592407,687.16682227215,732.8599410185,781.59142109591,833.56329335333,888.99103711409,948.10444554232,1011.14859670036,1078.38486510237,1150.09200534594,1226.56730779978,1308.127826503],description:'25th root of 5, Karlheinz Stockhausen in "Studie II" (1954)'},cet111a:{frequencies:[261.6255653006,279.09119608948,297.72279782842,317.59821198502,338.80046946076,361.41815173468,385.54574794778,411.2840547398,438.74060487161,468.03009995854,499.27490936609,532.60556349815,568.16130614457,606.09068659426,646.55215742719,689.71476370538,735.75882016749,784.8766959018],description:"17th root of 3. McLaren 'Microtonal Music', volume 1, track 8"},cet112:{frequencies:[261.6255653006,279.13807488234,297.82282461384,317.75828292395,339.02816520012,361.72179601836,385.93447726538,411.76789245756,439.33052439618,468.73812456399,500.11419015728,533.59048802364,569.30759588159,607.4155105893,648.07426630787,691.45461344743,737.73872000797,787.12095980595,839.80871352279,896.02324851892,956.00062766807,1019.99273078287,1088.26829265547,1161.11404316696,1238.83588500259,1321.76021726874,1410.23528064063,1504.63263477595,1605.34868446028,1712.8063948195,1827.45703443292,1949.78208984359,2080.29524321777,2219.54459500735,2368.11492276755,2526.63016208001,2695.75596930795,2876.20260183901,3068.72784518,3274.14022786751,3493.30234242079,3727.13457771193,3976.61891204907,4242.80307922676,4526.8048719912,4829.81697864182,5153.11189830808,5498.04733953642,5866.07179694692,6258.73081875602,6677.6733762505,7124.65885956048,7601.56430418436,8110.3925243186],description:"53rd root of 31. McLaren 'Microtonal Music', volume 4, track 16"},cet114:{frequencies:[261.6255653006,279.47933554513,298.55147893584,318.92513586406,340.68912750315,363.93832870511,388.77409689134,415.30469757995,443.64579124771,473.92093172942,506.26209616971,540.81027939262,577.71608583803,617.1404103833,659.25511382574,704.24379572788,752.30258557703,803.64098403142,858.48280642307,917.06712239825,979.64933665453,1046.5022612024],description:"21st root of 4"},cet115:{frequencies:[261.6255653006,279.68949451567,299.00064605783,319.64513593742,341.71502406609,365.30872604057,390.53145607553,417.49568846357,446.32166408632,477.13792869952,510.08190181294],description:"2nd root of 8/7. Werner Linden, Musiktheorie, 2003 no.1 midi 15.Eb=19.44544 Hz"},cet117:{frequencies:[261.6255653006,279.86396690685,299.37379946195,320.24370022528,342.56848033562,366.44956000397,391.99543598175,419.32216217931,448.5538823653,479.82340237272,513.27277840175,549.0539690723,587.32953583482,628.27336308449,672.07145630843,718.92279942609,769.0402362475,822.65144744826,880,941.34642612261,1006.96941915374,1077.1671181081,1152.25842837255,1232.58448551457,1318.51022765149,1410.42601205207,1508.74940691646,1613.92711604023,1726.4369576214,1846.79005749489,1975.53320502451,2113.25127526858,2260.56991361642,2418.15841952625,2586.73271138559,2767.05861265008,2959.95538169309],description:"72nd root of 128, step = generator of Miracle"},cet118:{frequencies:[261.6255653006,280.22072913446,300.13755324878,321.46997343155,344.3186075731,368.79121945838,395.0032340925,423.07827792492,453.14877154631,485.35654007358,519.85349135637,556.8023269521,596.37732215892,638.76512932755,684.16567043124,732.79307276157,784.8766959018],description:"16th root of 3. McLaren 'Microtonal Music', volume 1, track 7"},cet126:{frequencies:[261.6255653006,281.50639381697,302.89795903081,325.91506125677,350.68122444233,377.32935907335,406.00247545366,436.85445118639,470.05085697597,505.76984518255,544.20310589723,585.55689566922,630.05314440547,677.93064638327,729.44634176744,784.8766959018],description:"15th root of 3. McLaren 'Microtonal Music', volume 1, track 6"},cet126a:{frequencies:[261.6255653006,281.42815779395,302.72962012827,325.64340264099,350.29154279212,376.80531512858,405.32593044476,436.00528786292,469.00678383895,504.50618240233,542.69254813034,583.76926541313,627.95510352048,675.48539363125,726.61327927927,781.61106458091,840.77166451082,904.41016494992,972.86550081423,1046.5022612024],description:"19th root of 4"},cet133:{frequencies:[261.6255653006,282.54488373859,305.13688994853,329.53533037111,355.88464567857,384.34082587483,415.07233376839,448.26110228542,484.10361152681,522.81205194575,564.61558053174,609.76167743791,658.5176110828,711.17202040031],description:"13th root of e"},cet140:{frequencies:[261.6255653006,283.72172983292,307.68407293041,333.67021037701,361.85106232365,392.4119924075,425.55401329039,461.49511402661,500.47170241421,542.7401414615,588.57845795114,638.28815062634,692.19618110881,750.65713728047,814.05554253056,882.80839491877,957.36792629418,1038.22454144983,1125.91008648826,1221.00130775733,1324.12366033919,1435.95544645068,1557.23222387914,1688.75170820144,1831.3789571042],description:"24th root of 7"},cet141:{frequencies:[261.6255653006,283.85429714132,307.97166902637,334.13814720468,362.52783176564,393.32961502355,426.7484383229,463.0066556268,502.34551296122,545.02675670673,591.33436279611,641.57644431325,696.08728968715,755.22958979995,819.39685117042,889.01601417107,964.55029369918,1046.5022612024],description:"17th root of 4"},cet146:{frequencies:[261.6255653006,284.69629445872,309.80145226022,337.12043918596,366.84847565362,399.19799705513,434.40017432099,472.70655602525,514.39088038704,559.75102196641,609.11112257023,662.82390755693,721.27320639821,784.8766959018],description:"13th root of 3, Bohlen-Pierce approximation"},cet148:{frequencies:[261.6255653006,284.92791524313,310.30575035912,337.94392545772,368.04376529149,400.82452432448,436.52498800167,475.40520223986,517.74838217475,563.86296895784,614.08486606944,668.77990486322,728.34649714081,793.21854485147,863.86858278563,940.81124699851,1024.60701225804,1115.86625569541,1215.25373699679,1323.49342609599,1441.37375222579,1569.7533918036],description:"21th root of 6, Moreno's C-21"},cet152:{frequencies:[261.6255653006,285.70808394691,312.0073878821,340.72733440875,372.0911362405,406.34196228781,443.74556186468,484.59214639302,529.19833545193,577.91081034511,631.10724720728,689.20039277289,752.64098693245,821.92125998587],description:"13th root of pi"},cet158:{frequencies:[261.6255653006,286.70831230381,314.19580976213,344.3186075731,377.32935907335,413.50494015483,453.14877154631,496.5933637384,544.20310589723,596.37732215892,653.5536209391,716.21156534988,784.8766959018],description:`12th root of 3, Moreno's A-12, see dissertation "Embedding Equal Pitch Spaces.`},cet159:{frequencies:[261.6255653006,286.82842069679,314.45911373416,344.75151869218,377.96204482418,414.37180231943,454.28897403052,498.05144066897,546.02962057131],description:"4e-th root of e. e-th root of e is highest x-th root of x"},cet160:{frequencies:[261.6255653006,286.95745534843,314.74210513576,345.21700307457,378.64263238751,415.30469757995,455.51656649021,499.62194879119,547.99783383788,601.05771297194,659.25511382574,723.0874768355,793.10040709753,869.89233791055,954.11964586525,1046.5022612024],description:'15th root of 4, Rudolf Escher in "The Long Christmas Dinner" (1960)'},cet160a:{frequencies:[261.6255653006,287.06963246392,314.98822873932,345.62201499981,379.23505183234,416.11708252541,456.58602635137,500.99072933585,549.71395617638,603.17569602575,661.83679400878,726.20290371434,796.8288589228,874.32344802967,959.35468153537,1052.65552131526,1155.03021091382,1267.36122959081,1390.6168610076,1525.85955590014,1674.2551187631,1837.08270650821,2015.74588766663,2211.78472029595,2426.88907720145,2662.91313932742,2921.89140956529,3206.0563044734,3517.85730085803,3859.98211320646,4235.37982185266,4647.28638964387,5099.2524155536,5595.17379976366,6139.32543031277,6736.39784717273,7391.53779523322,8110.3925243186],description:"37th root of 31. McLaren 'Microtonal Music', volume 2, track 7"},cet163:{frequencies:[261.6255653006,287.45276480522,315.82957660097,347.00769742017,381.26366336311,418.90131810157,460.25449359467,505.68997636603,555.61077020009,610.45965236807],description:'9th root of 7/3. Jeff Scott in "Quiet Moonlight" (2001)'},cet163a:{frequencies:[261.6255653006,287.41152361975,315.7389582221,346.85836204295,381.04491126651,418.60090448096,459.85843616195,505.18233428314,554.97338050766],description:"5th root of 8/5"},cet166:{frequencies:[261.6255653006,287.95619440582,316.93680165166,348.83408706747],description:"3rd root of 4/3"},cet173:{frequencies:[261.6255653006,289.10449173793,319.46957112932,353.02394045842,390.10257564198,431.07563562091,476.35215768611,526.38414093011,581.67105858963,642.7648443263,710.27540222401,784.8766959018],description:"11th root of 3, Moreno's A-11"},cet175:{frequencies:[261.6255653006,289.48414624674,320.30918244523,354.41654988346,392.15575985798,433.91353804458,480.11779720922,531.2420078798,587.8100594825,650.40162657281,719.65810898332,796.28920449429,881.08018137935,974.89992535123,1078.70983713651,1193.57370864212,1320.66858845324,1461.29686662697,1616.89961515233,1789.07135516847,1979.57639663535,2190.36691789568,2423.60297039629,2681.67459807517,2967.22638952895,3283.18448966052,3632.78664249769,4019.61535560076,4447.6346101102],description:"28th root of 7. McLaren 'Microtonal Music', volume 6, track 3"},cet175a:{frequencies:[261.6255653006,289.53628281337,320.42456924675,354.60807736883,392.4383479509,434.30442400296,480.63685362987,531.91211578736],description:"4th root of 3/2"},cet178:{frequencies:[261.6255653006,289.91935960089,321.27301846367,356.01745236555,394.51936464224,437.18511000944,484.46499093218,536.85800524663,594.91712478053,659.25511382574,730.5510078664,809.55727745129,897.10776473059,994.12650420781,1101.63744560301,1220.77528002516,1352.79740322961,1499.09721690784,1661.21879031979,1840.87318566558,2039.95650991293,2260.56991361642,2505.04181781964,2775.9524141353,3076.16094499002,3408.83584914421,3777.48827884202,4186.0090448096],description:"27th root of 16"},cet181:{frequencies:[261.6255653006,290.48091212946,322.51878830959,358.09020513941,397.58488163802,441.43552612833,490.12256936272,544.17943316245,604.19836236377,670.83693141722,744.82523718317,826.97390553231,918.18295398723,1019.45167961503,1131.88958971281,1256.72856920928,1395.33634826987],description:"6.625 tET. The 16/3 is the so-called Kidjel Ratio promoted by Maurice Kidjel in 1958"},cet182:{frequencies:[261.6255653006,290.70585738945,323.0184918031,358.92275093366,398.81785224951,443.14738973192,492.40425618917,547.1361382945,607.95159681319,675.52683545966,750.61321956915,834.04563048717,926.75174856904,1029.76237395443,1144.22286477952,1271.40590625444,1412.7256395721,1569.7533918036],description:"17th root of 6, Moreno's C-17"},cet195:{frequencies:[261.6255653006,292.81795587218,327.72927094457,366.80289667873,410.53509014096,459.48126579586,514.26306468681,575.57624366132],description:"7th root of 11/5"},cet21k:{frequencies:[261.6255653006,264.89588486686,268.20708342769,271.55967197054,274.95416787017,278.3910952928,281.87098404962,285.39437141672,288.96180112674,292.57382370898,296.23099657435,299.9338841014,303.68305772341,307.47909424051,311.32258299104,315.21411535185,319.1542918681,323.14372059172,327.18301717534,331.2728049672,335.41371510742,339.60638662537,343.85146653829,348.14960995112,352.50148015762,356.90774874273,361.36909568619,365.8862094675,370.45978717215,375.09053459917,379.77916637013,384.52640603933,389.33298620552,394.19964862491,399.1271443257,404.11623372391,409.16768674077,414.28228292154,419.46080913287,424.70406934596,430.01287031296,435.38803129329,440.83038178715,446.34076166346,451.92002128953,457.56902166224,463.28863454093,469.07974258197,474.94323947488,480.88003008033,486.89103056976,492.97716856672,499.13938329007,505.37862569893,511.69585863936,518.09205699304,524.56820782765],description:"scale of syntonic comma's, almost 56-tET"},cet222:{frequencies:[261.6255653006,297.3462123974,337.94392545772,384.08458333231,436.52498800167,496.12526073276,563.86296895784,640.8491384935,728.34649714081,827.79017883768,940.81124699851,1069.2634803114,1215.25373699679,1381.1765584523,1569.7533918036],description:"14th root of 6, Moreno's C-14"},cet233:{frequencies:[261.6255653006,299.41460910537,342.66187834083,392.15575985798,448.79850611373,513.6227001391,587.8100594825,672.71300106294,769.87926947615,881.08018137935,1008.34288220748,1153.98733901804,1320.66858845324,1511.42518780658,1729.7345489351,1979.57639663535,2265.50524176842,2592.73349533282,2967.22638952895,3395.81083571538,3886.29974647262,4447.6346101102],description:"21st root of 17. McLaren 'Microtonal Music', volume 2, track 15"},cet24:{frequencies:[261.6255653006,265.3411057651,269.1094134006,272.9312375932,276.80733837157,280.73848655813,284.72546392233,288.7690633361,292.87008893155,297.02935626086,301.24769245848,305.52593640563,309.86493889709,314.26556281043,318.72868327757,323.25518785885,327.84597671953,332.50196280875,337.22407204116,342.01324348101,346.8704295289,351.79659611118,356.79272287204,361.85980336835,366.9988452672,372.21087054633,377.49691569736,382.85803193188,388.29528539052,393.80975735501,399.40254446313,405.07475892685,410.82752875349,416.66199797006,422.57932685074,428.58069214763,434.66728732478,440.84032279551,447.10102616311,453.45064246502,459.89043442035,466.42168268106,473.04568608657,479.76376192214,486.57724618073,493.48749382879,500.49587907561,507.6037956467,514.81265706088,522.12389691142,529.53896915113],description:"least squares fit primes 2-13"},cet258:{frequencies:[261.6255653006,303.75687573192,352.67287219582,409.46613795376,475.40520223986,551.96287401486,640.8491384935,744.04935121924,863.86858278563,1002.98310468409,1164.50016626124,1352.0273979586,1569.7533918036],description:"12th root of 6, Moreno's C-12"},cet29:{frequencies:[51.91308719749,52.80006242627,53.70219231256,54.6197354699,55.55295587693,56.50212107609,57.46750349647,58.44938022184,59.44803272677,60.46374832519,61.49681820986,62.54753889218,63.61621194966,64.70314373878,65.80864697157,66.93303858176,68.07664129187,69.2397833384,70.42279815925,71.62602610967,72.84981213985,74.09450750046,75.36046944358,76.64806088248,77.95765225928,79.28961901721,80.64434345693,82.02221441105,83.42362735565,84.84898403373,86.29869452271,87.77317443616,89.27284697886,90.79814258634,92.34949851506,93.9273610926,95.53218267212,97.16442386902,98.82455316866,100.51304648023,102.230389586,103.97707482641,105.75360353451,107.56048560902,109.39823902877,111.26739251837,113.16848194039,115.10205294491,117.06866050489,119.06886838764,121.10325205621,123.17239474253,125.2768903313,127.4173428542,129.59436591466,131.80858584574,134.06063743615,136.35116706905,138.68083217153,141.05030058861,143.46025402018,145.91138336926,148.40439215824,150.93999592972,153.51892156515,156.14191102559,158.8097162888,161.52310306741,164.28285015685,167.08974869373,169.94460622727,172.84824120887,175.80148703892,178.80519135714,181.8602162858,184.96743760879,188.12774927869,191.34205731671,194.61128429254,197.93636853869,201.31826325695,204.75794142387,208.2563891515,211.8146105632,215.43362693858,219.11447574094,222.85821595641,226.66592086774,230.53868336123,234.47761499594,238.48384494529,242.55852580808,246.70282574354,250.91793424736,255.20506113867,259.56543598745],description:"95th root of 5"},cet39:{frequencies:[261.6255653006,267.55763511324,273.62420803617,279.82833216202,286.17312954462,292.66178817784,299.29756995616,306.08381073387,313.02392200207,320.12139075456,327.37978859613,334.80276256646,342.39404424694,350.15744982839,358.09687996112,366.21632994368,374.51987945827,383.01170275779,391.6960687417,400.57734310204,409.65998815178,418.94857448076,428.44776921301,438.16234766073,448.09719341103,458.25729813392,468.64777462103,479.27384364987,490.14084702027,501.25424765147,512.61963232837,524.24271148185,536.12933410494,548.28547272565,560.71723832061,573.43088042607,586.43278689221,599.72950056876,613.32770249519,627.23422858353,641.45606974252,656.00037539202,670.87445318194,686.08578808043,701.64202314362,717.55097860059,733.82065199545,750.45921787297,767.47504913108,784.8766959018],description:"49th root of 3"},cet39a:{frequencies:[261.6255653006,267.54999903763,273.60843178624,279.80421399945,286.14029787289,292.61969147246,299.24597805224,306.02231493662,312.9519192023,320.03862308027,327.28580327671,334.69690040195,342.27601296361,350.02675229311,357.95279806627,366.05853356918,374.34782106107,382.82459589435,391.49354592099,400.35880176332,409.42457221564,418.6958708581,428.17711532294,437.87280684605,447.78830736843,457.9283414747,468.29772316218,478.90218693807,489.74678566745,500.83666784082,512.17796641877,523.77608535691],description:"31-tET with least squares octave; equal weight to 5/4, 3/2, 7/4 and 2/1"},cet39b:{frequencies:[261.6255653006,267.54443554965,273.59736903996,279.78708267123,286.11699418435,292.58994480246,299.2095086599,305.97865699219,312.90112748358,319.98002733127,327.21907624411,334.6220906301,342.19239338178,349.93416455252,357.85087908811,365.94690831825,374.22588619981,382.6921630398,391.3502022376,400.20389001205,409.25811505631,418.51694141988,427.98548149913,437.66798531163,447.56979919346,457.69536764001,468.05001127562,478.63918904181,489.46765396188,500.54138513107,511.86535306771,523.4458104663],description:"31-tET with l.s. 8/7, 5/4, 4/3, 3/2, 8/5, 7/4, 2/1; equal weights"},cet39c:{frequencies:[261.6255653006,267.52919373065,273.56603860918,279.73910598956,286.05147140959,292.50627485027,299.10673210371,305.85612987468,312.75782903301,319.8152662872,327.03195662575,334.41149334841,341.95754947331,349.67388372612,357.56433846376,365.63284274659,373.88341429498,382.32016148985,390.94728541851,399.7690842757,408.78994578219,418.01436575232,427.44693588739,437.09235368188,446.9554220819,457.04105241293,467.35426952494,477.9002035559,488.68410850494,499.71135422907,510.98743222773,522.51795602393],description:"10th root of 5/4"},cet39d:{frequencies:[261.6255653006,267.55786538889,273.62467903016,279.82905628857,286.1741163878,292.66304927922,299.29911724561,306.08565654127,313.02607906932,320.12387409698,327.38261000985,334.80593610581,342.39758442978,350.16137164992,358.1012009765,366.22106412416,374.52504331879,383.0173133498,391.70214366901,400.58390053708,409.66704921865,418.95615622721,428.45589162089,438.17103135034,448.1064596598,458.26717154264,468.65827525256,479.28499487175,490.15267293726,501.26677312698,512.63288300643,524.25671683791],description:"31-tET with l.s. 5/4, 3/2, 7/4"},cet39e:{frequencies:[261.6255653006,267.56053134626,273.63013029147,279.83741943955,286.18551905392,292.67762672082,299.3170076044,306.10700082387,313.05102655064,320.15257723818,327.41522444303,334.84262641603,342.43851674365,350.20672153383,358.15114775562,366.27579142084],description:"15th root of 7/5, X.J. Scott"},cet44:{frequencies:[261.6255653006,268.36512159638,275.27829096782,282.369545742,289.64347345451,297.10477981732,304.75829176301,312.60896056742,320.66186505284,328.92221487359,337.3953538863,346.08676360706,355.00206675748,364.14703090225,373.52757218034,383.14975913231,393.01981662619,403.14412988459,413.52924861543,424.18189124916,435.1089492851,446.31749174973,457.81476976988,469.60822126365,481.70547575226,494.11435929576,506.84289955596,519.89933098975,533.2921001762],description:"least maximum error of 10.0911 cents to a set of 11-limit consonances"},cet45:{frequencies:[261.6255653006,268.55812265554,275.67437899809,282.97903853108,290.47742047479,298.17449463282,306.07552595385,314.18591889722,322.51122112969,331.05693609414,339.82928674186,348.83408706747],description:"11th root of 4/3"},cet45a:{frequencies:[261.6255653006,268.48547646737,275.52525683447,282.74962263341,290.1634137569,297.77159700127,305.57926939395,313.59166160814,321.8141414671,330.2522175402,338.9115428334,347.79791857637,356.91729810903,366.27579142084],description:"13th root of 7/5, X.J. Scott"},cet49:{frequencies:[261.6255653006,269.10883825956,276.80615518671,284.72363837915,292.86758524998,301.24447333711,309.86096545541,318.72391499615,327.84037137809,337.21758565441,346.86301628009,356.78433504421,366.98943317194,377.48642760107,388.28366743806,399.38974059878,410.81348063915,422.56397378117,434.65056613995,447.08287115744,459.87077724873,473.02445566714,486.55436859423,500.47127746122,514.78625150841,529.51067658945],description:"least squares fit primes 3-13"},cet49a:{frequencies:[261.6255653006,269.10939785623,276.80730639354,284.72541458317,292.8700212642,301.24760545475,309.86483150611,318.72855440416,327.84582522255,337.22389673177,346.87022916874,356.7924961714,366.99859088307,377.49663223147,388.29497138724,399.40219840734,410.82714906841,422.57891189558,434.66683539241,447.10053547759,459.8899031344,473.04511227892,486.57662785344,500.49521415122,514.81194337949,529.53820446742],description:"least squares fit primes 5-13"},cet49b:{frequencies:[261.6255653006,269.11089011973,276.81037630182,284.73015118141,292.87651740119,301.25595792767,309.87514121046,318.74092648901,327.86036925135,337.24072684885,346.88946427176,356.81426008988,367.0230125633,377.52384592787,388.3251168606,399.43542112995,410.86360043647,422.61874944911,434.71022304287,447.14764374346,459.94090938509,473.10020098719,486.63599085665,500.55905092174,514.88046130456,529.61161913871],description:"least squares fit primes 3-11"},cet51:{frequencies:[261.6255653006,269.45730810595,277.52349357863,285.8311397433,294.38747470873,303.19994295657,312.27621181854,321.62417814738,331.25197518754,341.1679796516,351.38081900843,361.89937898954,372.73281132023,383.89054168203,395.38227791356,407.21801845694,419.40806105693,431.96301172054,444.89379394488,458.21165822114,471.92819182319,486.05532888913,500.60536080461,515.59094689708,531.0251223827,546.92132188791,563.29337300176,580.1555203085,597.52243480304,615.40922665547,633.83145835774,652.80515826392,672.34683453572,692.47348950549,713.20263446921,734.55230492227,756.54107625132,779.18807989593,802.51301999392,826.53619052513,851.2784929682,876.7614544861,903.00724665589,930.0387047592,957.87934765022,986.55339821839,1016.08580446361,1046.5022612024],description:"47nd root of 4"},cet53:{frequencies:[261.6255653006,269.81714175785,278.26519897904,286.97776745533,295.963129115,305.22982618403],description:"5th root of 7/6, X.J. Scott"},cet54:{frequencies:[261.6255653006,269.96706985652,278.57452968396,287.45642599351,296.6215054241,306.0787984682,315.83762188043,325.9075894649,336.29862154621,347.0209567468,358.08515411748,369.5021153806,381.28308783765,393.43967739203,405.98385998242,418.92799580061,432.28483186346,446.06752886518,460.28966468743,474.96525012045,490.10874266572,505.73506369981,521.85960157932,538.49824405725,555.66738252045,573.38393096839,591.66534267587,610.52963091344,629.99537269573,650.08174791487,670.80854445602,692.19618110881,714.26572768264,737.03893002078,760.53821452531,784.78673539949,809.80838082331,835.62780061242,862.2704354823,889.76252234217,918.13114956434,947.40426420901,977.61070438283,1008.78022764847,1040.94354635268,1074.13233401713,1108.37929206026,1143.71815851921,1180.1837471134,1217.81198154093,1256.63993812708,1296.7058535394,1338.04920533515,1380.71072249048,1424.73243255855,1470.15770307252,1517.03129303135,1565.39936221354,1615.30956841503,1666.81108016015,1719.95463363144,1774.79258265191,1831.3789571042],description:"62nd root of 7"},cet54a:{frequencies:[36.70809598968,37.88151295543,39.09243955873,40.34207507177,41.63165640381,42.96246070241,44.33580570763,45.75305128262,47.21560103286,48.72490261351,50.28245077394,51.88978777214,53.5485051662,55.26024570942,57.02670371,58.84962859429,60.73082539186,62.67215683218,64.67554556259,66.74297456936,68.87649134796,71.07820847085,73.35030604133,75.69503428946,78.11471406483,80.61174171737,83.18858976192,85.8478097501,88.59203530858,91.42398271579,94.34645661434,97.36235078878,100.47465152683,103.6864411753,107.00089881505,110.42130694669,113.95105240089,117.59363027227,121.3526480812,125.23182656372,129.23500749643,133.36615476182,137.62935895249,142.02884224198,146.56895930934,151.25420649717,156.08922305851,161.0787965455,166.22786851013,171.54153558634,177.0250602084,182.68387207023,188.52357443227,194.5499507934,200.76896615752,207.18677957808,213.80974586608,220.64442297146,227.69757979185,234.97619765489,242.48748500016,250.23887937817,258.23805608937,266.49293732345,275.01169389411,283.8027624226,292.87484767725,302.23693268442,311.89828942495,321.86848086456,332.15738106504,342.77517792247,353.73238500089,365.03985405114,376.70877738729,388.75071142436,401.17757988308,414.00168763976,427.23573537822,440.89282237095,454.98647402737,469.53064564449,484.53973861665,500.02861758376,516.01261368641,532.50755680773,549.52977996323,567.09613827221,585.22402902787,603.93139550692,623.23676470498,643.1592524742,663.71858572717,684.9351219702,706.82987354375,729.42451222373,752.74141479803,776.80366927173,801.63510168485,827.26030448295,853.70464190233,880.99430375232],description:"101st root of 24"},cet54b:{frequencies:[261.6255653006,269.96795403263,278.5763544202,287.45924871019,296.62539133416,306.08381073387,315.84382837889,325.91506125677,336.30743300953,347.03118371184,358.09687996112,369.51542742358,381.29807310848,393.45642905887,406.00247545366,418.94857448076,432.30748251802,446.09236270275,460.31680056078,474.99480683953,490.14084702027,505.76984518255,521.89720128632,538.53880634615,555.71105808945,573.43088042607,591.71572697754,610.58361784146,630.05314440547,650.14349087612,670.87445318194,692.26646247798,714.3405894063,737.11858847932,760.62290389144,784.8766959018],description:"35th root of 3 or shrunk 22-tET"},cet55:{frequencies:[261.6255653006,270.01349691657,278.67035254505,287.60475577316,296.82560168354,306.34207552634,316.16365537714,326.30012507123,336.76157646737,347.55843063202,358.70144085484,370.20170518484,382.07067969055,394.32018111076,406.96241165943,420.00996255663,433.47583121124,447.37342422819,461.71658555081,476.51960046685,491.79721226214,507.56463983627,523.83758122386,540.63224654693,557.96536270557,575.85419620437,594.31655714751,613.37083662462,633.03601203256,653.33166919923,674.2780257851,695.8959359612,718.20693418482,741.23324143097,764.99779551626,789.52425640623,814.83705588084,840.96140460432,867.92332151557,895.74966491622,924.46813868508,954.10735043232,984.69681977767,1016.26701863443,1048.84937826003,1082.47635523452,1117.18144085251,1152.9992001672,1189.96531328939,1228.1165836432,1267.49101522141,1308.127826503],description:"51th root of 5"},cet55a:{frequencies:[261.6255653006,270.1234331478,278.89732210685,287.95619440582,297.30930820811,306.96622255393,316.93680165166,327.23123542864,337.86004496999,348.83408706747],description:"9th root of 4/3"},cet63:{frequencies:[261.6255653006,271.38398887572,281.50639381697,292.00635633712,302.89795903081,314.19580976213,325.91506125677,338.07143142496,350.68122444233,363.76135261718,377.32935907335,391.4034412791,406.00247545366,421.14604188408,436.85445118639,453.14877154631,470.05085697597,487.58337662462,505.76984518255,524.63465441916,544.20310589723,564.50144490757,585.55689566922,607.39769784277,630.05314440547,653.5536209391,677.93064638327,703.21691530872,729.44634176744,756.65410477833,784.8766959018],description:"30th root of 3 or stretched 19-tET"},cet63a:{frequencies:[261.6255653006,271.37251603396,281.48259278098,291.96932561311,302.84674360983,314.12940356828,325.83240291761,337.9714015469,350.5626427598,363.62297711023,377.1698766242,391.22147055517,405.79656146784,420.91465242294,436.59597307447,452.86150935499,469.73302118774,487.23308701689,505.38512383853,524.21342105699,543.74317298677,564.00051582303,585.01254970054,606.80739415229,629.41421305643,652.8632568014,677.18590276436,702.41470135475,728.58340348685,755.72702964881,783.88190097186,813.08569174348,843.37747981977,874.79780396885,907.38869808556,941.19377721109,976.25827622702,1012.62911525602,1050.35496244617,1089.48630538731,1130.07549372248,1172.17684627813,1215.84669925421,1261.14348767523,1308.127826503],description:"44th root of 5"},cet67:{frequencies:[261.6255653006,271.89449162354,282.56647812794,293.65734341902,305.18353207836,317.16212905639,329.61089159214,342.54827390456,355.99345454941,369.96636271272,384.48771622149,399.57903967613,415.26270466472,431.56196087069,448.50096908674],description:"14th root of 12/7, X.J. Scott"},cet70:{frequencies:[261.6255653006,272.49048247121,283.80660334964,295.59266404146,307.86818385681,320.65348759128,333.96974580612,347.83900623503,362.28423824861,377.32935907335,392.99928119148,409.31995166322,426.31839262878,444.02275580482,462.46235461904,481.66772230429,501.67065719504,522.50428685614,544.20310589723,566.80304433509,590.34152430617,614.85751848055,640.39162865951,666.98613212152,694.68506540856,723.53429383412,753.58158307649,784.8766959018],description:"27th root of 3"},cet78:{frequencies:[261.6255653006,273.68177330057,286.29355449603,299.48651076576,313.28742377221,327.72430932822,342.82647426905,358.62457594514,375.15068445646,392.4383479509],description:"9th root of 3/2"},cet79:{frequencies:[261.6255653006,273.87994580863,286.70831230381,300.13755324878,314.19580976213,328.91254817579,344.3186075731,360.44627930254,377.32935907335,395.0032340925,413.50494015483,432.87325713404,453.14877154631,474.3739811962,496.5933637384,519.85349135637,544.20310589723,569.69324454502,596.37732215892,624.31126899512,653.5536209391,684.16567043124,716.21156534988,749.7584744066,784.8766959018],description:"24th root of 3, James Heffernan (1906)."},cet80:{frequencies:[261.6255653006,273.93704112612,286.82786567404,300.32530171503,314.4578949408,329.25553433534,344.74951538696,360.97260627516,377.95911717185,395.74497280393,414.36778843034,433.8669493945,454.28369442026,475.66120282759,498.04439817054,521.48118104407,546.02084308555,571.71528316122,598.61884237431,626.7884189909,656.28358877393,687.16673097983,719.50316028422,753.36126491573,788.81265129014,825.93229545055,864.79870163404,905.49406830005,948.10446197172,992.7199992577,1039.43503743958,1088.34837402783,1139.56345570838,1193.18859712177,1249.33720993748,1308.127826503],description:"35th root of 5"},cet84:{frequencies:[261.6255653006,274.70153691096,288.43104187674,302.84674360983,317.98293803021,333.87563322966,350.5626427598,368.08366429725,386.48038152577,405.79656146784,426.0781586093,447.37342422819,469.73302118774,493.21014446673,517.86064472263,543.74317298677,570.91930267857,599.45368763079,629.41421305643,660.87215705217,693.9023601738,728.58340348685,764.99779551626,803.23216389999,843.37747981977,885.52924725223,929.78774807537,976.25827622702,1025.05138820617,1076.28316609431,1130.07549372248,1186.55634664103,1245.86008938569,1308.127826503],description:"33rd root of 5"},cet87:{frequencies:[261.6255653006,275.05808287728,289.18026151691,304.0275068203,319.63704721237,336.04802279017,353.30157737897,371.44097305523,390.51169339433,410.56155044631,431.64081781968,453.80235066263,477.10170997643,501.59731726833,527.35059397819,554.42610593952],description:"Least-squares stretched ET to telephone dial tones. 1/1=697 Hz"},cet88:{frequencies:[261.6255653006,275.26799068863,289.6217982776,304.72408298441,320.61387403473,337.33223582731,354.92237405774,373.42974737602,392.90218486657,413.39000965417,434.94616895528,457.62637091093,481.48922855473,506.59641128799,533.01280425363],description:"88 cents steps by Gary Morrison"},cet88_appr:{frequencies:[261.6255653006,275.62199471997,290.69507255622,305.22982618403,320.49131749323,336.37572681506,354.37113606854,373.75080757229,392.4383479509,413.43299207996,436.04260883433,457.84473927605,482.33849075995,504.56359022259,531.55670410281,560.62621135843,588.65752192635,620.14948811994,654.0639132515,686.76710891407,723.50773613993,763.07456546008,801.22829373309],description:"88 cents scale approximated"},cet88b:{frequencies:[261.6255653006,275.26385669298,289.61326650562,304.7105300898,320.59498481995,337.30729585456,354.89100872976,373.39113880701,392.85588995712,413.33509311257,434.8821088097,457.55209870333,481.40413163568,506.49927024418,532.9029023296],description:"87.9745 cents steps. Least squares of 7/6, 11/9, 10/7, 3/2, 7/4."},cet88bis:{frequencies:[261.6255653006,289.53272725508,320.41669955092,337.26306895804,373.23835706057,392.86190344834,434.76782633734,457.62637091093],description:"Bistep approximation of 2212121 mode in 7/4 to 11/9 9/7 10/7 3/2"},cet88bm:{frequencies:[261.6255653006,275.22889829239,289.53954239223,304.59427454323,320.43178392135,337.09277136281,354.62005396115,373.05867644715,392.45602022512,412.86193859025,434.32887139488,456.91198653787,480.66932039657,505.66192697453,531.95403480429],description:"87.75412 cents steps. Minimal highest deviation for 7/6, 11/9, 10/7, 3/2, 7/4."},cet88c:{frequencies:[261.6255653006,275.37188725148,289.84046967782,305.06925821769,321.09819727018,337.96933026971,355.72690383892,374.4174952616,394.09012940783,414.79640018179,436.59061916193,459.52995194191,483.67455974508,509.0877727469,535.83624905561,563.99013984227,593.62329144382,624.813430743,657.64235771869,692.19618110881,728.56553457307,766.84580121693,807.13738838693,849.54597972796,894.18279699007,941.16492045434,990.61558284509,1042.66447461031,1097.44811755542,1155.11020756021,1215.8019705522,1279.68259818323,1346.91964745566,1417.68945580607,1492.17764912727,1570.57960775359,1653.10095047047,1739.95812689496,1831.3789571042],description:"38th root of 7. McLaren 'Microtonal Music', volume 3, track 7"},cet89:{frequencies:[261.6255653006,275.56724848068,290.25186566903,305.71900507847,322.01036982349,339.16988002511,357.2437980159,376.28084921395,396.33236207144,417.45239374596,439.69788420361,463.12880499146,487.80833148705,513.80299757552,541.1828853206,570.0218080747,600.39752248465,632.39191886931,666.09125466774,701.58637981228,738.97299766656,778.35189934333,819.82925103406,863.51687139942,909.53255273344,958.00034936337,1009.05093129669,1062.82192563509,1119.45831186524,1179.11277682321,1241.94614996535,1308.127826503],description:"31st root of 5. McLaren 'Microtonal Music', volume 2, track 22"},cet90:{frequencies:[261.6255653006,275.62199471997,290.36720431405,305.90125228146,322.26633935092,339.50692625527,357.66984706396,376.80444887746,396.96271256675,418.19939952297,440.572208006,464.1419130862,488.97255163391,515.13157534193,542.69005603758,571.72285881831,602.3088534069,634.53113933145],description:"Scale with limma steps"},cet93:{frequencies:[261.6255653006,275.99488223824,291.15340824655,307.14448922429,324.01384989472,341.80973194459,360.58302103444,380.38739950036,401.27949808494,423.31905787312],description:"Tuning used in John Chowning's STRIA, 9th root of Phi"},cet98:{frequencies:[261.6255653006,276.83245825991,292.92324815749,309.94930780463,327.96500300935,347.02785219778,367.1987248383,388.54202015806,411.12588832951],description:"8th root of 11/7, X.J. Scott"},chahargah:{frequencies:[261.6255653006,277.18263097687,283.66146785671,311.12698372208,326.97270111135,348.82502010853,367.86341164695,392.44854854484,415.30469757995,425.01198472693,466.16376151809,493.88330125613,523.2511306012],description:"Chahargah in C"},chahargah2:{frequencies:[261.6255653006,283.66146785671,327.729041887,348.82502010853,392.44854854484,425.01198472693,493.88330125613,523.2511306012],description:"Dastgah Chahargah in C, Mohammad Reza Gharib"},chalmers:{frequencies:[261.6255653006,274.70684356563,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,412.06026534844,418.60090448096,436.04260883433,457.84473927605,470.92601754108,488.36772189445,515.07533168556,523.2511306012],description:"Chalmers' 19-tone with more hexanies than Perrett's Tierce-Tone"},chalmers_17:{frequencies:[261.6255653006,269.10058145205,286.15296204753,294.32876096318,313.95067836072,327.03195662575,336.37572681506,343.38355445704,376.74081403286,384.42940207435,392.4383479509,400.61414686654,408.78994578219,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"7-limit figurative scale, Chalmers '96 Adnexed S&H decads"},chalmers_19:{frequencies:[261.6255653006,269.10058145205,290.69507255622,294.32876096318,305.22982618403,313.95067836072,336.37572681506,348.83408706747,356.10146388137,363.36884069528,376.74081403286,384.42940207435,392.4383479509,406.97310157871,436.04260883433,448.50096908674,465.11211608996,470.92601754108,508.71637697339,523.2511306012],description:"7-limit figurative scale. Reversed S&H decads"},chalmers_csurd:{frequencies:[261.6255653006,273.35108123154,287.04667286017,303.37994773979,315.80837468238,323.38635505005,348.83408706747,357.38803216938,383.0466618906,392.4383479509,423.31690179539,433.47765231178,451.2357321491,476.91154755397,500.80604115761,523.2511306012],description:"Combined Surd Scale, combination of Surd and Inverted Surd, JHC, 26-6-97"},chalmers_isurd:{frequencies:[261.6255653006,273.35108123154,287.04667286017,303.37994773979,323.38635505005,348.83408706747,383.0466618906,433.47765231178,523.2511306012],description:"Inverted Surd Scale, of the form 4/(SQRT(N)+1, JHC, 26-6-97"},chalmers_ji1:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,466.02053819169,490.54793493862,523.2511306012],description:"Based loosely on Wronski's and similar JI scales, May 2, 1997."},chalmers_ji2:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,348.83408706747,370.63621750918,392.4383479509,416.96574469783,441.49314144476,466.02053819169,490.54793493862,523.2511306012],description:"Based loosely on Wronski's and similar JI scales, May 2, 1997."},chalmers_ji3:{frequencies:[261.6255653006,279.06726965397,296.50897400735,313.95067836072,331.39238271409,348.83408706747,366.27579142084,392.4383479509,418.60090448096,444.76346101102,470.92601754108,497.08857407114,523.2511306012],description:"15 16 17 18 19 20 21 on 1/1, 15-20 on 3/2, May 2, 1997. See other scales"},chalmers_ji4:{frequencies:[261.6255653006,279.06726965397,296.50897400735,313.95067836072,331.39238271409,348.83408706747,372.08969287196,395.34529867646,418.60090448096,441.85651028546,465.11211608996,496.11959049595,523.2511306012],description:"15 16 17 18 19 20 on 1/1, same on 4/3, + 16/15 on 16/9"},chalmers_surd:{frequencies:[261.6255653006,315.80837468238,357.38803216938,392.4383479509,423.31690179539,451.2357321491,476.91154755397,500.80604115761,523.2511306012],description:"Surd Scale, Surds of the form (SQRT(N)+1)/2, JHC, 26-6-97"},chalmers_surd2:{frequencies:[261.6255653006,272.2395613933,282.33485096279,291.98077704337,301.23248980765,310.13469895524,318.72425558532,327.03195662575,335.08385052998,342.90220911983,350.50624086893,357.91266581346,365.13613061818,372.18956061116,379.08442465499,385.8309605564,392.4383479509,398.91485744029,405.26796981327,411.50448329997,417.63058822561,423.65195171798,429.57376586736,435.40081471708,441.13750301549,446.78791303515,452.35581962987,457.84473927605,463.2579384726,468.59846621725,473.86917438523,479.07273156015,484.21164154672,489.28825377326,494.3047826718,499.26331035461,504.16580309972,509.01411882861,513.81001953884,518.55516185524,523.2511306012],description:"Surd Scale, Surds of the form (SQRT(N)+1)/4"},chalung:{frequencies:[261.6255653006,328.09251713275,362.03316295439,390.31715077734,479.41117101029,527.4935758042,647.70012555753,728.30917696308,823.06004869243,961.65052057178,1054.9871516084,1301.05663342451],description:'Tuning of chalung from Tasikmalaya. "slendroid". 1/1=185 Hz'},chaumont:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.49749487796,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,465.40109831725,489.02683710225,523.2511306012],description:"Lambert Chaumont organ temperament (1695), 1st interpretation"},chaumont2:{frequencies:[261.6255653006,274.56549986328,292.86986732103,309.30531842668,327.84547867349,349.70184487387,366.99801003998,391.46454285105,410.8262805401,438.2147004401,465.11211608996,490.54793493862,523.2511306012],description:"Lambert Chaumont organ temperament (1695), 2nd interpretation"},chimes:{frequencies:[261.6255653006,288.69027895239,130.8127826503,144.34513947619],description:"Heavenly Chimes"},chimes_peck:{frequencies:[261.6255653006,327.03195662575,392.4383479509,457.84473927605,588.65752192635,719.47030457665,850.28308722695,981.09586987725,1046.5022612024],description:"Kris Peck, 9-tone windchime tuning. TL 7-3-2001"},chin_12:{frequencies:[261.6255653006,277.05457499359,293.57996645301,310.53449241474,329.24697610111,347.79893712036,368.97000115401,391.76907592069,413.1274313058,439.00991514661,462.11551390967,491.43599249807,523.2511306012],description:"Chinese scale, 4th cent."},chin_5:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,441.49314144476,523.2511306012],description:"Chinese pentatonic from Zhou period"},chin_60:{frequencies:[261.6255653006,262.17244551937,265.19499215873,268.81311753311,272.48060600886,276.1981310001,279.38237857051,283.19406633357,287.05775848811,290.97416342694,294.32876096318,294.94400091442,298.34436617857,302.41475692242,306.54068145351,310.72289706448,314.30517589183,318.59332496145,322.93997797627,327.34593352805,331.11985608357,331.812000697,335.63741195089,340.21660119759,344.85826629043,349.56326086722,353.59332287831,358.41749022331,363.30747486009,368.26417485089,372.50983809402,373.28850041093,377.59208844475,382.74367817547,387.96555142985,392.4383479509,393.25866808247,397.79248823809,403.21967609811,408.72090880899,414.29719629306,419.07356785577,424.79110016094,430.58663751693,436.46124492224,441.49314144476,442.41600115048,447.51654926786,453.62213515688,459.81102195042,466.08434536373,471.45776383774,477.8899872033,484.40996672226,491.01890004663,496.67978412536,497.7180007967,503.45611792634,510.32490448905,517.28740216504,523.2511306012],description:'Chinese scale of fifths (the 60 lu")'},chin_7:{frequencies:[261.6255653006,294.32876096318,331.11985608357,348.83408706747,392.4383479509,441.49314144476,496.67978412536,523.2511306012],description:"Chinese heptatonic scale and tritriadic of 64:81:96 triad"},chin_bianzhong:{frequencies:[261.6255653006,277.82379926216,312.56802260838,375.1593523779,420.13030572059,469.40618689596,506.59641128799,563.72967895209,627.66881138238,764.75812197709,849.53311813274,949.1724262561,1225.95732655636],description:"Pitches of Bianzhong bells (Xinyang). 1/1=b, Liang Mingyue, 1975."},chin_bianzhong2a:{frequencies:[261.6255653006,284.81073476233,312.56802260838,372.56793743951,413.39000965417,447.94973572445,491.60634075178,562.75365576207,652.05945856061,695.63805470995,863.88355261715,960.75607282217,1173.30283584026],description:"A-tones (GU) of 13 Xinyang bells (Ma Cheng-Yuan) 1/1=d#=619 Hz"},chin_bianzhong2b:{frequencies:[261.6255653006,279.59231184543,312.74738729016,375.37536096215,418.43048063126,468.86028020615,505.12945327459,562.08698385796,624.42058858709,762.97988553915,849.53425657971,936.08862980659,1215.37624187632],description:"B-tones (SUI) of 13 Xinyang bells (Ma Cheng-Yuan) 1/1=b+=506.6 Hz"},chin_bianzhong3:{frequencies:[261.6255653006,508.3551866238,542.32970395878,608.04166718582,619.02750937577,673.88551872153,729.80120031671,739.56153452917,812.57643344187,881.52624580654,911.03313298042,978.11461117351,982.0774855146,1059.88575280263,1092.20381072382,1163.18085489566,1213.27682870749,1331.52122774489,1483.40111876828,1542.82606951623,1645.93659621657,1649.74391394557,1818.91159982256,2044.01922018919,2273.22753490632,2362.92760489328,2776.13057951436],description:"A and B-tones of 13 Xinyang bells (Ma Cheng-Yuan) abs. pitches wrt middle-C"},chin_bronze:{frequencies:[261.6255653006,299.00064605783,313.95067836072,327.03195662575,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:`Scale found on ancient Chinese bronze instrument 3rd c.BC & "Scholar's Lute"`},chin_chime:{frequencies:[261.6255653006,248.6592656401,341.74499057264,392.56190849927,548.78974538591,648.86582834888,714.36935367713,785.57745330134,889.7110417619,886.88898199546,992.62825668803,1044.08711871947,1326.14827969763],description:"Pitches of 12 stone chimes, F. Kuttner, 1951, ROMA Toronto. %1=b4"},chin_ching:{frequencies:[261.6255653006,276.1981310001,294.32876096318,310.72289706448,331.11985608357,349.56326086722,368.26417485089,392.4383479509,414.29719629306,441.49314144476,466.08434536373,496.67978412536,524.34489103873],description:"Scale of Ching Fang, c.45 BC. Pyth.steps 0 1 2 3 4 5 47 48 49 50 51 52 53"},chin_di:{frequencies:[261.6255653006,298.70635408336,316.56004827153,360.50766037677,409.94872043165,433.75364775074,527.37121036213],description:"Chinese di scale"},chin_di2:{frequencies:[261.6255653006,289.95657583698,318.21537073485,338.89464890898,383.48501130814,436.9606979923,494.73987775324,522.04355935974],description:"Observed tuning from Chinese flute dizi, Helmholtz/Ellis p. 518, nr.103"},chin_huang:{frequencies:[261.6255653006,331.11985608357,392.4383479509,441.49314144476,523.2511306012,588.65752192635,662.23971216714],description:"Huang Zhong qin tuning"},"chin_liu-an":{frequencies:[261.6255653006,278.83777354406,294.32876096318,311.64221749042,331.11985608357,353.19451315581,371.78369805875,392.4383479509,415.52295665389,441.49314144476,470.92601754108,492.82955324067],description:'Scale of Liu An, in: "Huai Nan Tzu", c.122 BC, 1st known corr. to Pyth. scale'},chin_lu:{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,328.55303549378,348.83408706747,371.78369805875,392.4383479509,415.52295665389,441.49314144476,470.92601754108,495.71159741166,523.2511306012],description:"Chinese L\xEF\xBF\xBD scale by Huai Nan zi, Han era. P\xEF\xBF\xBDre Amiot 1780, Kurt Reinhard"},chin_lu2:{frequencies:[261.6255653006,279.38237857051,294.32876096318,314.30517589183,331.11985608357,353.59332287831,372.50983809402,392.4383479509,419.07356785577,441.49314144476,471.45776383774,496.67978412536,523.2511306012],description:"Chinese L\xEF\xBF\xBD (Lushi chunqiu, by Lu Buwei). Mingyue: Music of the billion, p.67"},chin_lu3:{frequencies:[261.6255653006,277.34278419245,293.66476791741,310.58830860439,329.24697610111,347.81902735497,369.14054089803,391.76907592069,413.1512951712,439.23819834286,462.1422075194,491.60634075178,523.2511306012],description:"Chinese L\xEF\xBF\xBD scale by Ho Ch'\xEF\xBF\xBDng-T'ien, reported in Sung Shu (500 AD)"},chin_lu3a:{frequencies:[261.6255653006,277.06033146978,293.58830182213,310.53780743131,329.25144446584,347.79484055318,368.74579520635,391.78066943209,413.13681807919,438.99947255393,462.1072190611,491.17907538715,523.2511306012],description:`Chinese L\xEF\xBF\xBD scale by Ho Ch'\xEF\xBF\xBDng-T'ien, calc. basis is "big number" 177147`},chin_lu4:{frequencies:[261.6255653006,276.78521684908,293.5444075184,310.55356739316,329.35741152087,348.44172229085,369.5396750577,391.9150968203,414.62425518576,439.72952246257,465.20924434298,493.37740286979,523.2511306012],description:'Chinese L\xEF\xBF\xBD "749-Temperament"'},chin_lu5:{frequencies:[261.6255653006,277.35401920913,293.41471131112,311.37240624271,329.40299530711,349.20610523279,369.80535913035,392.03738806826,415.16320853113,440.12206674667,466.08434536373,494.10449271367,522.71643616375],description:"Chinese L\xEF\xBF\xBD scale by Ch'ien Lo-Chih, c.450 AD Pyth.steps 0 154 255 103 204 etc."},chin_lusheng:{frequencies:[261.6255653006,316.38258506467,348.82502010853,389.28772571905,466.97226207056,520.53801357752],description:"Observed tuning of a small Lusheng, 1/1=d, OdC '97"},chin_pan:{frequencies:[261.6255653006,275.62199471997,279.38237857051,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,344.13890881665,348.83408706747,367.49599295996,372.50983809402,387.15627241873,392.4383479509,413.43299207996,419.07356785577,435.55080647107,441.49314144476,458.8518784222,465.11211608996,489.99465727995,496.67978412536,516.20836322497,523.2511306012],description:"Pan Huai-su pure system, in: Sin-Yan Shen, 1991"},chin_pipa:{frequencies:[261.6255653006,284.4818984792,320.42873367481,380.17671965621,433.44136952667,521.74210224793],description:"Observed tuning from Chinese balloon lute p'i-p'a, Helmholtz/Ellis p. 518, nr.109"},chin_sheng:{frequencies:[261.6255653006,295.36595061166,318.03161540472,348.82502010853,395.40657391157,442.03793673691,477.05982293263,522.94897617031],description:"Observed tuning from Chinese sheng or mouth organ, Helmholtz/Ellis p. 518, nr.105"},chin_sientsu:{frequencies:[261.6255653006,291.80478157373,326.97270111135,392.44854854484,438.22451411849,523.2511306012],description:"Observed tuning from Chinese tamboura sienzi, Helmholtz/Ellis p. 518, nr.108"},chin_sona:{frequencies:[261.6255653006,284.4818984792,310.58830860439,337.33223582731,377.98706287655,418.43499793376,469.94877954106,528.10941333272],description:"Observed tuning from Chinese oboe (so-na), Helmholtz/Ellis p. 518, nr.104"},"chin_wang-po":{frequencies:[261.6255653006,294.32876096318,330.24264909897,371.97947673071,392.4383479509,440.94196398978,495.71159741166,517.50111817701],description:"Scale of Wang Po, 958 AD. H. Pischner: Musik in China, Berlin, 1955, p.20"},chin_yangqin:{frequencies:[261.6255653006,288.45311779165,306.48933163909,347.41744306689,383.26356564167,434.44398956347,465.08793784701,522.64699622026],description:"Observed tuning from Chinese dulcimer yangqin, Helmholtz/Ellis p. 518, nr.107"},chin_yunlo:{frequencies:[261.6255653006,288.45311779165,323.40385076956,367.0144478307,386.1523605003,409.35055662695,483.1608380663,525.67465946865],description:"Observed tuning from Chinese gong-chime (y\xEF\xBF\xBDn-lo), Helmholtz/Ellis p. 518, nr.106"},choquel:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,475.68284600109,490.54793493862,523.2511306012],description:"Choquel/Barbour/Marpurg?"},chordal:{frequencies:[261.6255653006,392.4383479509,327.03195662575,457.84473927605,588.65752192635,719.47030457665,850.28308722695,981.09586987725,981.09586987725,490.54793493862,555.95432626377,621.36071758893,310.68035879446,523.2511306012,348.83408706747,418.60090448096,299.00064605783,465.11211608996,380.54627680087,322.00069575458,279.06726965397,610.45965236807,915.6894785521,872.08521766867,697.66817413493,654.0639132515,627.90135672144,448.50096908674,319.76457981184,377.90359432309,444.76346101102,889.52692202204,336.37572681506,294.32876096318,465.11211608996,411.12588832951,305.22982618403,366.27579142084,373.75080757229,313.95067836072,470.92601754108],description:"Chordal Notes S&H"},chrom15:{frequencies:[261.6255653006,280.31310567921,301.87565226992,356.76213450082,392.4383479509,413.09299784305,436.04260883433,523.2511306012],description:"Tonos-15 Chromatic"},chrom15_inv:{frequencies:[261.6255653006,313.95067836072,331.39238271409,348.83408706747,383.71749577421,453.48431318771,488.36772189445,523.2511306012],description:"Inverted Chromatic Tonos-15 Harmonia"},chrom15_inv2:{frequencies:[261.6255653006,279.06726965397,296.50897400735,348.83408706747,383.71749577421,401.15920012759,418.60090448096,523.2511306012],description:"A harmonic form of the Chromatic Tonos-15 inverted"},chrom17:{frequencies:[261.6255653006,277.97716313189,296.50897400735,370.63621750918,404.33041910093,423.58424858192,444.76346101102,523.2511306012],description:"Tonos-17 Chromatic"},chrom17_con:{frequencies:[261.6255653006,277.97716313189,296.50897400735,370.63621750918,386.75083566176,404.33041910093,494.18162334558,523.2511306012],description:"Conjunct Tonos-17 Chromatic"},chrom19:{frequencies:[261.6255653006,276.16031892841,292.40504357126,355.06326719367,382.37582620857,397.67085925691,414.24047839262,523.2511306012],description:"Tonos-19 Chromatic"},chrom19_con:{frequencies:[261.6255653006,276.16031892841,292.40504357126,355.06326719367,368.21375857121,382.37582620857,451.89870370104,523.2511306012],description:"Conjunct Tonos-19 Chromatic"},chrom21:{frequencies:[261.6255653006,274.70684356563,289.16509849014,343.38355445704,392.4383479509,406.97310157871,422.62591317789,523.2511306012],description:"Tonos-21 Chromatic"},chrom21_inv:{frequencies:[261.6255653006,323.91736656265,336.37572681506,348.83408706747,398.6675280771,473.41768959156,498.33441009638,523.2511306012],description:"Inverted Chromatic Tonos-21 Harmonia"},chrom21_inv2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,348.83408706747,398.6675280771,423.58424858192,448.50096908674,523.2511306012],description:"Inverted harmonic form of the Chromatic Tonos-21"},chrom23:{frequencies:[261.6255653006,273.51763645063,286.54228580542,334.29933343966,376.08675011961,401.15920012759,429.81342870813,523.2511306012],description:"Tonos-23 Chromatic"},chrom23_con:{frequencies:[261.6255653006,273.51763645063,286.54228580542,334.29933343966,353.96400011258,376.08675011961,462.87600014722,523.2511306012],description:"Conjunct Tonos-23 Chromatic"},chrom25:{frequencies:[261.6255653006,278.32506946872,297.30177875068,363.36884069528,408.78994578219,436.04260883433,467.18850946536,523.2511306012],description:"Tonos-25 Chromatic"},chrom25_con:{frequencies:[261.6255653006,278.32506946872,297.30177875068,363.36884069528,384.74347838324,408.78994578219,503.12608711654,523.2511306012],description:"Conjunct Tonos-25 Chromatic"},chrom27:{frequencies:[261.6255653006,277.01530443593,294.32876096318,353.19451315581,392.4383479509,415.52295665389,441.49314144476,523.2511306012],description:"Tonos-27 Chromatic"},chrom27_inv:{frequencies:[261.6255653006,310.07474405997,329.45441556372,348.83408706747,387.59343007496,465.11211608996,494.18162334558,523.2511306012],description:"Inverted Chromatic Tonos-27 Harmonia"},chrom27_inv2:{frequencies:[261.6255653006,271.31540105247,281.00523680435,348.83408706747,387.59343007496,406.97310157871,436.04260883433,523.2511306012],description:"Inverted harmonic form of the Chromatic Tonos-27"},chrom29:{frequencies:[261.6255653006,270.96933548991,281.00523680435,344.87006335079,379.35706968587,399.32323124828,421.50785520652,523.2511306012],description:"Tonos-29 Chromatic"},chrom29_con:{frequencies:[261.6255653006,270.96933548991,281.00523680435,344.87006335079,361.29244731988,379.35706968587,474.19633710734,523.2511306012],description:"Conjunct Tonos-29 Chromatic"},chrom31:{frequencies:[261.6255653006,279.66870773512,300.3849083081,337.93302184661,352.6257619269,368.65420565085,386.2091678247,405.51962621593,523.2511306012],description:"Tonos-31 Chromatic. Tone 24 alternates with 23 as MESE or A"},chrom31_con:{frequencies:[261.6255653006,279.66870773512,300.3849083081,337.93302184661,352.6257619269,368.65420565085,386.2091678247,450.57736246214,523.2511306012],description:"Conjunct Tonos-31 Chromatic"},chrom33:{frequencies:[261.6255653006,278.50463402967,297.71185016965,359.73515228832,392.4383479509,411.12588832951,431.68218274599,523.2511306012],description:"Tonos-33 Chromatic. A variant is 66 63 60 48"},chrom33_con:{frequencies:[261.6255653006,278.50463402967,297.71185016965,359.73515228832,375.37581108347,392.4383479509,479.64686971777,523.2511306012],description:"Conjunct Tonos-33 Chromatic"},chrom_new:{frequencies:[261.6255653006,273.20871865617,297.93622032612,349.22823143301,391.99543598175,409.35055662695,446.39994737251,523.2511306012],description:"New Chromatic genus 4.5 + 9 + 16.5"},chrom_new2:{frequencies:[261.6255653006,273.6474710507,299.37374239667,349.22823143301,391.99543598175,410.00794244467,448.55379686399,523.2511306012],description:"New Chromatic genus 14/3 + 28/3 + 16 parts"},chrom_soft:{frequencies:[261.6255653006,271.68808704293,282.55561052465,348.83408706747,392.4383479509,407.5321305644,423.83341578697,523.2511306012],description:"100/81 Chromatic. This genus is a good approximation to the soft chromatic"},chrom_soft2:{frequencies:[261.6255653006,268.42893440103,282.57118533961,349.22823143301,391.99543598175,402.18897205153,423.37840671577,523.2511306012],description:"1:2 Soft Chromatic"},chrom_soft3:{frequencies:[261.6255653006,271.31540105247,281.75060878526,348.83408706747,392.4383479509,406.97310157871,422.62591317789,523.2511306012],description:"Soft chromatic genus is from K. Schlesinger's modified Mixolydian Harmonia"},cifariello:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,376.74081403286,392.4383479509,418.60090448096,436.04260883433,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"F. Cifariello Ciardi, ICMC 86 Proc. 15-tone 5-limit tuning"},ckring1:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,523.2511306012],description:"Double-tie circular mirroring with common pivot of 4:5:6:7 = square 1 3 5 7"},ckring2:{frequencies:[261.6255653006,290.69507255622,305.22982618403,313.95067836072,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,436.04260883433,448.50096908674,470.92601754108,523.2511306012],description:"Double-tie circular mirroring with common pivot of 3:5:7:9"},"clampitt-phi":{frequencies:[261.6255653006,289.46753582364,320.2724252102,340.92857683151,377.20990650852,444.26963537301,491.54843559637,523.2511306012],description:'David Clampitt, phi+1 mod 3phi+2, from "Pairwise Well-Formed Scales", 1997'},classr:{frequencies:[261.6255653006,275.93321340298,287.4304306281,313.95067836072,327.03195662575,344.91651675372,367.91095120397,392.4383479509,408.78994578219,441.49314144476,459.88868900496,490.54793493862,523.2511306012],description:"Marvel projection to the 5-limit of class"},cluster:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"13-tone 5-limit Tritriadic Cluster"},cluster6a:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Six-Tone Triadic Cluster 4:5:6"},cluster6b:{frequencies:[261.6255653006,313.95067836072,327.03195662575,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Six-Tone Triadic Cluster 4:6:5"},cluster6c:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,418.60090448096,436.04260883433,523.2511306012],description:"Six-Tone Triadic Cluster 3:4:5"},cluster6d:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"Six-Tone Triadic Cluster 3:5:4"},cluster6e:{frequencies:[261.6255653006,313.95067836072,327.03195662575,392.4383479509,418.60090448096,502.32108537715,523.2511306012],description:"Six-Tone Triadic Cluster 5:6:8"},cluster6f:{frequencies:[261.6255653006,313.95067836072,348.83408706747,418.60090448096,436.04260883433,502.32108537715,523.2511306012],description:"Six-Tone Triadic Cluster 5:8:6"},cluster6g:{frequencies:[261.6255653006,286.15296204753,299.00064605783,327.03195662575,373.75080757229,457.84473927605,523.2511306012],description:"Six-Tone Triadic Cluster 4:5:7"},cluster6h:{frequencies:[261.6255653006,286.15296204753,327.03195662575,366.27579142084,418.60090448096,457.84473927605,523.2511306012],description:"Six-Tone Triadic Cluster 4:7:5"},cluster6i:{frequencies:[261.6255653006,313.95067836072,366.27579142084,373.75080757229,439.53094970501,448.50096908674,523.2511306012],description:"Six-Tone Triadic Cluster 5:6:7"},cluster6j:{frequencies:[261.6255653006,305.22982618403,313.95067836072,366.27579142084,436.04260883433,439.53094970501,523.2511306012],description:"Six-Tone Triadic Cluster 5:7:6"},cluster8a:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Eight-Tone Triadic Cluster 4:5:6"},cluster8b:{frequencies:[261.6255653006,306.59245933664,313.95067836072,327.03195662575,392.4383479509,408.78994578219,418.60090448096,490.54793493862,523.2511306012],description:"Eight-Tone Triadic Cluster 4:6:5"},cluster8c:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,363.36884069528,418.60090448096,436.04260883433,484.4917875937,523.2511306012],description:"Eight-Tone Triadic Cluster 3:4:5"},cluster8d:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,387.59343007496,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:"Eight-Tone Triadic Cluster 3:5:4"},cluster8e:{frequencies:[261.6255653006,313.95067836072,327.03195662575,334.88072358477,392.4383479509,401.85686830172,418.60090448096,502.32108537715,523.2511306012],description:"Eight-Tone Triadic Cluster 5:6:8"},cluster8f:{frequencies:[261.6255653006,301.39265122629,313.95067836072,348.83408706747,376.74081403286,418.60090448096,436.04260883433,502.32108537715,523.2511306012],description:"Eight-Tone Triadic Cluster 5:8:6"},cluster8g:{frequencies:[261.6255653006,286.15296204753,299.00064605783,327.03195662575,373.75080757229,400.61414686654,457.84473927605,500.76768358318,523.2511306012],description:"Eight-Tone Triadic Cluster 4:5:7"},cluster8h:{frequencies:[261.6255653006,286.15296204753,327.03195662575,357.69120255941,366.27579142084,408.78994578219,418.60090448096,457.84473927605,523.2511306012],description:"Eight-Tone Triadic Cluster 4:7:5"},cluster8i:{frequencies:[261.6255653006,307.67166479351,313.95067836072,366.27579142084,373.75080757229,439.53094970501,448.50096908674,512.78610798918,523.2511306012],description:"Eight-Tone Triadic Cluster 5:6:7"},cluster8j:{frequencies:[261.6255653006,263.718569823,305.22982618403,313.95067836072,366.27579142084,376.74081403286,436.04260883433,439.53094970501,523.2511306012],description:"Eight-Tone Triadic Cluster 5:7:6"},cohenf_11:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,523.2511306012],description:`Flynn Cohen, 7-limit scale of "Rameau's nephew", 1996`},coleman:{frequencies:[261.6255653006,276.70272600503,293.15632631094,310.58830860439,328.48713220126,349.43001184052,368.92737853004,391.76907592069,414.58565256441,438.98455767189,465.89457252293,491.89038573682,523.2511306012],description:"Jim Coleman's ModX piano temperament. TL 16 Mar 1999"},collengettes:{frequencies:[261.6255653006,269.10058145205,275.62199471997,285.40970760065,294.32876096318,302.73815413355,310.07474405997,321.08592105074,331.11985608357,340.58042340025,348.83408706747,358.80077526939,367.49599295996,380.54627680087,392.4383479509,403.65087217807,413.43299207996,428.11456140098,441.49314144476,454.10723120033,465.11211608996,478.40103369253,496.67978412536,507.3950357345,523.2511306012],description:"R.P. Collengettes, from p.23 of d'Erlanger, vol 5. 24 tone Arabic system"},colonna1:{frequencies:[261.6255653006,272.52663052146,290.69507255622,308.86351459099,327.03195662575,348.83408706747,363.36884069528,392.4383479509,399.70572476481,436.04260883433,463.29527188648,490.54793493862,523.2511306012],description:"Colonna 1"},colonna2:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,470.92601754108,479.64686971777,523.2511306012],description:"Colonna 2"},concertina:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"English Concertina, Helmholtz/Ellis, p. 470"},cons11:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Set of intervals with num + den <= 11 not exceeding 2/1"},cons12:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Set of intervals with num + den <= 12 not exceeding 2/1"},cons13:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,523.2511306012],description:"Set of intervals with num + den <= 13 not exceeding 2/1"},cons14:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,523.2511306012],description:"Set of intervals with num + den <= 14 not exceeding 2/1"},cons15:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,523.2511306012],description:"Set of intervals with num + den <= 15 not exceeding 2/1"},cons16:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,523.2511306012],description:"Set of intervals with num + den <= 16 not exceeding 2/1"},cons17:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Set of intervals with num + den <= 17 not exceeding 2/1"},cons18:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,436.04260883433,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Set of intervals with num + den <= 18 not exceeding 2/1"},cons19:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Set of intervals with num + den <= 19 not exceeding 2/1"},cons20:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"Set of intervals with num + den <= 20 not exceeding 2/1"},cons21:{frequencies:[261.6255653006,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"Set of intervals with num + den <= 21 not exceeding 2/1"},cons8:{frequencies:[261.6255653006,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"Set of intervals with num + den <= 8 not exceeding 2/1"},cons9:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"Set of intervals with num + den <= 9 not exceeding 2/1"},cons_5:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,523.2511306012],description:"Set of consonant 5-limit intervals within the octave"},cons_7:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605],description:"Set of consonant 7-limit intervals of tetrad 4:5:6:7 and inverse"},cons_7a:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,457.84473927605],description:"Set of consonant 7-limit intervals, harmonic entropy minima"},cont_frac1:{frequencies:[261.6255653006,264.29672053658,267.01859068163,284.39991302433,288.64312378534,304.51680721446,328.36325429535,342.47239171077,368.24757473349,390.36247006958,408.23697512781,419.80330474394,448.3033221197,488.42606438843,498.20005830409],description:"Continued fraction scale 1, see McLaren in Xenharmonikon 15, pp.33-38"},cont_frac2:{frequencies:[261.6255653006,268.67076720771,283.00159623424,287.78825007941,303.56038377389,306.30898587133,329.63288816559,333.85601282718,352.97051886932,380.09613548074,393.10104267352,426.45795861378,432.83315799354,472.91012288255,483.94654132265,519.4303061261],description:"Continued fraction scale 2, see McLaren in Xenharmonikon 15, pp.33-38"},cordier:{frequencies:[261.6255653006,277.2273508585,293.75953199293,311.27759533081,329.84032939425,349.51003591412,370.35272620855,392.4383479509,415.84102607989,440.63929776914,466.91639276282,494.76049384407,524.26505360912],description:"Serge Cordier, piano tuning, 1975 (Piano bien temp\xEF\xBF\xBDr\xEF\xBF\xBD et justesse orchestrale)"},corner11:{frequencies:[261.6255653006,269.80136421624,286.15296204753,294.32876096318,314.76825825228,327.03195662575,343.38355445704,359.73515228832,392.4383479509,400.61414686654,408.78994578219,449.66894036041,457.84473927605,490.54793493862,494.63583439645,523.2511306012],description:"Quadratic Corner 11-limit. Chalmers '96"},corner13:{frequencies:[261.6255653006,265.71346475842,269.80136421624,286.15296204753,292.28481123426,294.32876096318,314.76825825228,318.85615771011,327.03195662575,343.38355445704,345.42750418595,359.73515228832,371.99885066179,392.4383479509,400.61414686654,408.78994578219,425.14154361347,449.66894036041,457.84473927605,490.54793493862,494.63583439645,523.2511306012],description:"Quadratic Corner 13-limit. Chalmers '96"},corner17:{frequencies:[261.6255653006,265.71346475842,269.80136421624,277.97716313189,286.15296204753,292.28481123426,294.32876096318,295.35073582763,314.76825825228,318.85615771011,327.03195662575,343.38355445704,345.42750418595,347.47145391486,359.73515228832,371.99885066179,382.21859930635,392.4383479509,400.61414686654,408.78994578219,416.96574469783,425.14154361347,449.66894036041,451.71289008932,457.84473927605,486.4600354808,490.54793493862,494.63583439645,523.2511306012],description:"Quadratic Corner 17-limit."},corner17a:{frequencies:[261.6255653006,265.71346475842,269.80136421624,275.93321340298,277.97716313189,286.15296204753,292.28481123426,294.32876096318,295.35073582763,306.59245933664,312.72430852337,314.76825825228,318.85615771011,327.03195662575,331.11985608357,337.2517052703,343.38355445704,345.42750418595,347.47145391486,359.73515228832,367.91095120397,371.99885066179,382.21859930635,392.4383479509,398.57019713763,400.61414686654,404.70204632437,408.78994578219,416.96574469783,425.14154361347,429.2294430713,441.49314144476,449.66894036041,451.71289008932,457.84473927605,459.88868900496,478.28423656516,486.4600354808,490.54793493862,494.63583439645,515.07533168556,521.20718087229,523.2511306012],description:"Quadratic Corner 17 odd limit."},corner7:{frequencies:[261.6255653006,286.15296204753,294.32876096318,327.03195662575,343.38355445704,392.4383479509,400.61414686654,408.78994578219,457.84473927605,490.54793493862,523.2511306012],description:"Quadratic corner 7-limit. Chalmers '96"},corner9:{frequencies:[261.6255653006,286.15296204753,294.32876096318,327.03195662575,331.11985608357,343.38355445704,367.91095120397,392.4383479509,400.61414686654,408.78994578219,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"First 9 harmonics of 5th through 9th harmonics"},corners11:{frequencies:[261.6255653006,269.80136421624,276.76092858245,279.06726965397,286.15296204753,294.32876096318,299.00064605783,304.4370214407,314.76825825228,327.03195662575,334.88072358477,341.71502406609,343.38355445704,348.83408706747,359.73515228832,380.54627680087,392.4383479509,398.6675280771,400.61414686654,408.78994578219,418.60090448096,434.91003062957,449.66894036041,457.84473927605,465.11211608996,478.40103369253,490.54793493862,494.63583439645,507.3950357345,523.2511306012],description:"Quadratic Corners 11-limit. Chalmers '96"},corners13:{frequencies:[261.6255653006,265.71346475842,269.80136421624,276.76092858245,279.06726965397,286.15296204753,292.28481123426,294.32876096318,299.00064605783,304.4370214407,314.76825825228,318.85615771011,322.00069575458,327.03195662575,334.88072358477,341.71502406609,343.38355445704,345.42750418595,348.83408706747,359.73515228832,368.0007951481,371.99885066179,380.54627680087,392.4383479509,396.30854862103,398.6675280771,400.61414686654,408.78994578219,418.60090448096,425.14154361347,429.33426100611,434.91003062957,449.66894036041,457.84473927605,465.11211608996,468.3646483703,478.40103369253,490.54793493862,494.63583439645,507.3950357345,515.20111320734,523.2511306012],description:"Quadratic Corners 13-limit. Chalmers '96"},corners7:{frequencies:[261.6255653006,279.06726965397,286.15296204753,294.32876096318,299.00064605783,327.03195662575,334.88072358477,341.71502406609,343.38355445704,348.83408706747,392.4383479509,398.6675280771,400.61414686654,408.78994578219,418.60090448096,457.84473927605,465.11211608996,478.40103369253,490.54793493862,523.2511306012],description:"Quadratic Corners 7-limit. Chalmers '96"},corrette:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.11326130363,327.03195662575,349.91912034749,365.63284274659,391.22147055517,411.33704984564,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Corrette temperament"},corrette2:{frequencies:[261.6255653006,272.8349596094,292.34127285051,310.42509491746,326.6631048533,350.01785633742,365.01443422269,391.11111150212,409.71484950008,437.02884834934,466.16376151809,488.33748205014,523.2511306012],description:"Michel Corrette, modified meantone temperament (1753)"},coul_12:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,340.65828815182,363.36884069528,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Scale 1 5/4 3/2 2 successively split largest intervals by smallest interval"},coul_12a:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Scale 1 6/5 3/2 2 successively split largest intervals by smallest interval"},coul_12sup:{frequencies:[261.6255653006,280.31310567921,294.32876096318,310.68035879446,331.39238271409,348.83408706747,373.75080757229,392.4383479509,420.46965851882,441.49314144476,466.02053819169,497.08857407114,523.2511306012],description:"Superparticular approximation to Pythagorean scale. Op de Coul, 2003"},coul_13:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,376.74081403286,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Symmetrical 13-tone 5-limit just system"},coul_17sup:{frequencies:[261.6255653006,276.16031892841,279.06726965397,294.57100685697,310.07474405997,313.95067836072,331.39238271409,348.83408706747,368.21375857121,372.08969287196,392.76134247596,413.43299207996,418.60090448096,441.85651028546,465.11211608996,470.92601754108,497.08857407114,523.2511306012],description:"Superparticular approximation to Pythagorean 17-tone scale. Op de Coul, 2003"},coul_20:{frequencies:[261.6255653006,277.18263097687,282.2367833559,293.66476791741,305.55548036855,311.12698372208,329.62755691287,335.63799088232,349.22823143301,363.36884069528,369.99442271164,391.99543598175,399.14308682247,415.30469757995,432.12070439462,440,466.16376151809,474.66379875343,493.88330125613,513.88101620607,523.2511306012],description:"Tuning for a 3-row symmetrical keyboard, Op de Coul, 1989"},coul_27:{frequencies:[261.6255653006,275.62199471997,275.93321340298,279.06726965397,293.99679436797,294.32876096318,310.07474405997,310.42486507835,327.03195662575,330.74639366397,331.11985608357,348.83408706747,367.49599295996,367.91095120397,372.08969287196,372.50983809402,392.4383479509,413.43299207996,413.89982010446,418.60090448096,440.99519155196,441.49314144476,465.11211608996,465.63729761752,490.54793493862,496.11959049595,496.67978412536,523.2511306012],description:"Symmetrical 27-tone 5-limit just system, 67108864/66430125 and 25/24"},counterschismic:{frequencies:[261.6255653006,265.12640119254,268.67408364533,272.2692364133,275.65170316539,279.34022410565,283.07810312094,286.865997406,290.70457953408,294.3160713245,298.25434362449,302.24531258767,306.28968684494,310.09479611189,314.24420508029,318.4491358588,322.71033506911,327.0285519162,331.0913069245,335.5216703313,340.01131880467,344.56104171562,348.84160709651,353.50948891197,358.2398341551,363.03347451625,367.54352740958,372.46166135084,377.44560747755,382.49624206822,387.61445966759,392.4298881006,397.68103103357,403.0024376988,408.3950505989,413.46864135256,419.00130591222,424.60800114791,430.28972009123,436.04746916004,441.46459261549,447.37187116862,453.35819556254,459.4246261707,465.13216971689,471.35614630867,477.663406507,484.05506753352,490.06860102591,496.62625431187,503.27165616309,510.00598369715,516.83042094502,523.2511306012],description:"Counterschismic temperament, g=498.082318, 5-limit"},couperin:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.28785294636,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,465.24345038333,489.02683710225,523.2511306012],description:"Couperin modified meantone"},cross13:{frequencies:[261.6255653006,281.75060878526,285.40970760065,290.69507255622,299.00064605783,305.22982618403,322.00069575458,332.97799220076,336.37572681506,366.27579142084,373.75080757229,406.97310157871,411.12588832951,425.14154361347,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"13-limit harmonic/subharmonic cross"},cross2:{frequencies:[261.6255653006,282.55561052465,339.14425131559,366.27579142084,436.04260883433,470.92601754108,560.62621135843,605.4763082671,726.73768139056,784.8766959018],description:"Pusey's double 5-7 cross reduced by 3/1"},cross2_5:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,348.83408706747,392.4383479509,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"double 3-5 cross reduced by 2/1"},cross2_7:{frequencies:[261.6255653006,294.32876096318,299.00064605783,327.03195662575,334.88072358477,341.71502406609,348.83408706747,392.4383479509,400.61414686654,408.78994578219,418.60090448096,457.84473927605,465.11211608996,523.2511306012],description:"longer 3-5-7 cross reduced by 2/1"},cross3:{frequencies:[261.6255653006,282.55561052465,311.45900631024,336.37572681506,363.28578496026,403.74315632809,436.04260883433,470.92601754108,508.60009894437,565.24041885932,610.45965236807,659.29642455751,726.73768139056,784.8766959018],description:"Pusey's triple 5-7 cross reduced by 3/1"},cross_7:{frequencies:[261.6255653006,299.00064605783,327.03195662575,348.83408706747,392.4383479509,418.60090448096,457.84473927605,523.2511306012],description:"3-5-7 cross reduced by 2/1, quasi diatonic, similar to Zalzal's, Flynn Cohen"},cross_72:{frequencies:[261.6255653006,279.06726965397,294.32876096318,305.22982618403,313.95067836072,343.38355445704,348.83408706747,392.4383479509,398.6675280771,436.04260883433,448.50096908674,465.11211608996,490.54793493862,523.2511306012],description:"double 3-5-7 cross reduced by 2/1"},cross_7a:{frequencies:[261.6255653006,336.37572681506,392.4383479509,436.04260883433,470.92601754108,523.2511306012,610.45965236807,784.8766959018],description:"2-5-7 cross reduced by 3/1"},cruciform:{frequencies:[261.6255653006,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Cruciform Lattice"},galilei:{frequencies:[261.6255653006,277.66336828161,293.32570896007,311.30674962848,328.86683469969,348.2210758395,368.7143392539,390.41365788584,413.39000965417,437.71854962063,463.47885582013,490.75518955849,523.2511306012],description:"Vincenzo Galilei's approximation"},gamelan_om:{frequencies:[261.6255653006,280.31310567921,294.32876096318,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Other Music gamelan (7 limit black keys)"},gamelan_udan:{frequencies:[261.6255653006,261.6255653006,290.69507255622,305.22982618403,334.88072358477,351.32575911795,364.00078650518,392.4383479509,402.50086969323,465.11211608996,465.11211608996,501.44900015948,523.2511306012],description:"Gamelan Udan Mas (approx) s6,p6,p7,s1,p1,s2,p2,p3,s3,p4,s5,p5"},ganassi:{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,327.03195662575,348.83408706747,369.35373924791,392.4383479509,413.09299784305,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"Sylvestro Ganassi's temperament (1543)"},gann_custer:{frequencies:[261.6255653006,269.80136421624,274.70684356563,279.06726965397,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,380.54627680087,392.4383479509,406.97310157871,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,507.3950357345,523.2511306012],description:"Kyle Gann, scale from Custer's Ghost to Sitting Bull, 1/1=G"},gann_frac:{frequencies:[261.6255653006,264.89588486686,294.32876096318,305.22982618403,309.04519901133,313.95067836072,348.83408706747,353.19451315581,366.27579142084,392.4383479509,397.34382730029,412.06026534844,418.60090448096,423.83341578697,457.84473927605,470.92601754108,523.2511306012],description:"Kyle Gann, scale from Fractured Paradise, 1/1=B"},gann_ghost:{frequencies:[261.6255653006,294.32876096318,305.22982618403,343.38355445704,348.83408706747,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"Kyle Gann, scale from Ghost Town, 1/1=E"},gann_super:{frequencies:[261.6255653006,287.78812183066,290.69507255622,294.32876096318,299.00064605783,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,523.2511306012],description:"Kyle Gann, scale from Superparticular Woman (1992), 1/1=G"},gann_things:{frequencies:[261.6255653006,266.47048317654,272.52663052146,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,343.38355445704,348.83408706747,373.75080757229,387.59343007496,392.4383479509,406.97310157871,408.78994578219,436.04260883433,448.50096908674,465.11211608996,490.54793493862,498.33441009638,508.71637697339,523.2511306012],description:"Kyle Gann, scale from How Miraculous Things Happen, 1/1=A"},garcia:{frequencies:[261.6255653006,268.33391312882,271.68808704293,279.06726965397,286.22284067074,294.32876096318,301.87565226992,310.07474405997,313.95067836072,322.00069575458,331.11985608357,339.61010880366,348.83408706747,357.77855083843,362.25078272391,372.08969287196,381.63045422766,392.4383479509,402.50086969323,407.5321305644,418.60090448096,429.33426100611,441.49314144476,452.81347840488,465.11211608996,470.92601754108,483.00104363188,496.11959049595,509.4151632055,523.2511306012],description:"Linear 29-tone scale by Jos\xEF\xBF\xBD L. Garcia, 1988 15/13-52/45 alternating"},garibaldi24:{frequencies:[261.6255653006,271.45160478635,275.48458787532,290.07776082447,294.38747453868,305.44397410364,309.9819851541,326.40257969757,331.25197480486,343.69301829526,348.79929894143,361.89937857146,367.27615309757,386.73177659938,392.47748849606,407.21801775129,413.26809573999,435.16003837828,441.62525370518,458.21165716245,465.0193526482,489.65270106975,496.92751922541,515.59094540799,523.2511306012],description:"Garibaldi[24] in 94-tET tuning."},genovese:{frequencies:[261.6255653006,277.01530443593,277.97716313189,279.06726965397,280.31310567921,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,296.50897400735,299.00064605783,301.87565226992,305.22982618403,307.79478270659,309.19384990071,313.95067836072,317.68818643644,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,338.57426097725,340.11323489078,342.12573923925,348.83408706747,356.76213450082,359.73515228832,362.25078272391,366.27579142084,369.35373924791,370.63621750918,373.75080757229,377.90359432309,380.54627680087,383.71749577421,392.4383479509,400.13321751856,402.50086969323,404.33041910093,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,430.91269578922,436.04260883433,442.75095666255,444.76346101102,448.50096908674,453.48431318771,457.84473927605,461.69217405988,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,488.36772189445,490.54793493862,492.47165233054,494.18162334558,523.2511306012],description:"Denny Genovese's 65-note scale. 3/2=384 Hz"},genovese_12:{frequencies:[261.6255653006,285.40970760065,294.32876096318,313.95067836072,327.03195662575,348.83408706747,359.73515228832,392.4383479509,425.14154361347,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Denny Genovese's superposition of harmonics 8-16 and subharmonics 6-12"},genovese_38:{frequencies:[261.6255653006,280.31310567921,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,485.87604984397,490.54793493862,523.2511306012],description:"Denny Genovese's 38-note scale. Harm 1..16 x Subh. 1..12"},"gf1-2":{frequencies:[261.6255653006,269.29177952703,277.18263097687,285.30470202322,293.66476791741,311.12698372208,320.24370022528,339.28638158975,349.22823143301,359.46139971304,380.8360868427,403.48177901006,415.30469757995,440,466.16376151809,493.88330125613,523.2511306012],description:"16-note scale with all possible quadruplets of 50 & 100 c. Galois Field GF(2)"},"gf2-3":{frequencies:[261.6255653006,270.85177093588,280.40333801024,290.29174037004,300.52885648597,316.56538760238,327.729041887,345.21700307457,357.39105439675,369.99442271164,389.73770840504,410.5345162762,425.01198472693,447.69106452518,471.58032351597,496.7443381147,523.2511306012],description:"16-note scale with all possible quadruplets of 60 & 90 c. Galois Field GF(2)"},gilson7:{frequencies:[261.6255653006,261.6255653006,299.00064605783,313.95067836072,327.03195662575,392.4383479509,373.75080757229,392.4383479509,408.78994578219,408.78994578219,467.18850946536,490.54793493862,523.2511306012],description:"Gilson septimal"},gilson7a:{frequencies:[261.6255653006,261.6255653006,280.31310567921,299.00064605783,313.95067836072,336.37572681506,373.75080757229,373.75080757229,392.4383479509,418.60090448096,470.92601754108,470.92601754108,523.2511306012],description:"Gilson septimal 2"},golden_10:{frequencies:[261.6255653006,287.58715183149,304.90466328003,323.26497397694,342.73087946949,376.74069565061,399.42672527674,423.47882962254,465.50141625349,493.53231135469,523.2511306012],description:"Golden version of Rapoport's Major 10 out of 13"},golden_5:{frequencies:[261.6255653006,327.03195662575,343.38355445704,392.4383479509,425.14154361347,523.2511306012],description:"Golden pentatonic"},gradus10:{frequencies:[261.6255653006,290.69507255622,299.00064605783,305.22982618403,490.54793493862,882.98628288953,930.22423217991,941.85203508216,1220.91930473613,1255.80271344288,1674.40361792384,2747.0684356563,3270.3195662575,3488.34087067467,5886.5752192635,10595.8353946743,10988.2737426252,11162.69078615893,13081.27826503,14651.0316568336,23546.300877054,31395.067836072,41860.090448096,42383.3415786972,56511.1221049296,75348.1628065728,100464.2170754304,133952.2894339072],description:"Intervals > 1 with Gradus = 10"},gradus3:{frequencies:[261.6255653006,784.8766959018,1046.5022612024],description:"Intervals > 1 with Gradus = 3"},gradus4:{frequencies:[261.6255653006,392.4383479509,1569.7533918036,2093.0045224048],description:"Intervals > 1 with Gradus = 4"},gradus5:{frequencies:[261.6255653006,348.83408706747,1308.127826503,2354.6300877054,3139.5067836072,4186.0090448096],description:"Intervals > 1 with Gradus = 5"},gradus6:{frequencies:[261.6255653006,654.0639132515,697.66817413493,1177.3150438527,2616.255653006,4709.2601754108,6279.0135672144,8372.0180896192],description:"Intervals > 1 with Gradus = 6"},gradus7:{frequencies:[261.6255653006,327.03195662575,436.04260883433,588.65752192635,1395.33634826987,1831.3789571042,3924.383479509,5232.511306012,7063.8902631162,9418.5203508216,12558.0271344288,16744.0361792384],description:"Intervals > 1 with Gradus = 7"},gradus8:{frequencies:[261.6255653006,294.32876096318,313.95067836072,418.60090448096,872.08521766867,915.6894785521,1962.1917397545,2790.67269653973,3531.9451315581,3662.7579142084,7848.766959018,10465.022612024,14127.7805262324,18837.0407016432,25116.0542688576,33488.0723584768],description:"Intervals > 1 with Gradus = 8"},gradus9:{frequencies:[261.6255653006,457.84473927605,465.11211608996,470.92601754108,610.45965236807,627.90135672144,837.20180896192,981.09586987725,1744.17043533733,1765.97256577905,5494.1368713126,5581.34539307947,6540.639132515,7325.5158284168,11773.150438527,15697.533918036,20930.045224048,21191.6707893486,28255.5610524648,37674.0814032864,50232.1085377152,66976.1447169536],description:"Intervals > 1 with Gradus = 9"},grady11:{frequencies:[261.6255653006,277.4816601673,290.69507255622,305.22982618403,332.97799220076,356.76213450082,378.42269266694,392.4383479509,420.46965851882,458.69417292962,481.6288815761,504.56359022259,523.2511306012],description:"Kraig Grady's dual [5 7 9 11] hexany scale"},grady7:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:`Kraig Grady's 7-limit "Centaur" scale (1987), see Xenharmonikon 16`},grady7t:{frequencies:[261.6255653006,274.79177208104,293.65339461903,305.54250820508,326.68804977983,349.10444036529,366.6627351378,392.00975085961,407.77240291308,436.0718257558,457.96530027286,489.37179607373,523.2511306012],description:"Tempered version of grady7 with egalised 225/224"},grady_14:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,343.38355445704,348.83408706747,366.27579142084,392.4383479509,412.06026534844,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"Kraig Grady, letter to Lou Harrison, published in 1/1 7 (1) 1991 p 5."},grammateus:{frequencies:[261.6255653006,277.49581689502,294.32876096318,312.18279369479,331.11985608357,348.83408706747,369.99442271164,392.4383479509,416.24372513446,441.49314144476,468.27419030811,496.67978412536,523.2511306012],description:"H. Grammateus (Heinrich Schreiber) (1518). B-F# and Bb-F 1/2 P. Also Marpurg temp.nr.6"},graupner:{frequencies:[261.6255653006,277.083518473,293.59062125964,310.9808189359,329.55130849159,349.11528328816,370.00708353276,392.01655298731,415.20348378516,439.96413779539,466.04943410823,493.90517116572,523.2511306012],description:"Johann Gottlieb Graupner's temperament (1819)"},groenewald_21:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,330.74639366397,348.83408706747,367.91095120397,372.08969287196,392.4383479509,413.89982010446,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.11959049595,523.2511306012],description:"J\xEF\xBF\xBDrgen Gr\xEF\xBF\xBDnewald, new meantone temperament I (2000)"},gross:{frequencies:[13.75,13.83042567154,13.91662997964,13.99803029322,14.07990672861,14.1622619889,14.24509903843,14.32842061343,14.41222946472,14.49652860895,14.58132083065,14.67220542837,14.75802520833,14.84434696019,14.93117353378,15.01850805439,15.10635340681,15.19471249121,15.28358848801,15.37298433293,15.46880332718,15.55928251958,15.65029093742,15.74183158529,15.83390775812,15.92652249736,16.01967895316,16.113380201,16.20762961362,16.30865090754,16.4040424858,16.49999202274,16.59650278193,16.69357794961,16.79122101993,16.88943521823,16.98822378696,17.08759028197,17.18753798549,17.29466699621,17.39582592037,17.49757653721,17.59992220598,17.70286661052,17.80641315127,17.91056524676,18.01532664586,18.12070080902,18.23364617402,18.34029731861,18.44757228066,18.55547460176,18.66400816581,18.77317655783,18.88298349104,18.99343259063,19.10452783216,19.2236053387,19.33604689279,19.44914613325,19.56290690697,19.67733296969,19.79242844011,19.90819712001,20.02464283144,20.14176976577,20.26731246322,20.38585868839,20.50509842475,20.62503561099,20.74567420676,20.86701855437,20.98907266203,21.11184068121,21.23532666504,21.36768545088,21.49266790503,21.61838152318,21.74483045784,21.87201888365,21.99995137868,22.12863216875,22.25806563075,22.38825603783,22.52780097787,22.65956910312,22.79210808945,22.92542231482,23.05951631373,23.1943945132,23.33006176809,23.46652255971,23.60378139323,23.75090264526,23.88982499399,24.02955978014,24.17011203339,24.3114863964,24.45368753658,24.59672057234,24.74059022832,24.88530139802,25.04041015894,25.18687501732,25.33419642278,25.48237967807,25.63142967793,25.78135134315,25.93215007005,26.08383083979,26.23639881154,26.39992889083,26.55434576426,26.70966568928,26.86589425653,27.0230366265,27.18109814415,27.34008402779,27.5],description:"Gross temperament, g=91.531021, 5-limit"},groven:{frequencies:[261.6255653006,264.7464578752,272.5650766677,275.81646505128,279.10663876478,290.77709705464,294.24573392894,297.75574765819,306.54921255625,310.20599265769,313.90639394672,327.03195662575,330.93307160522,334.88072358477,344.77058253591,348.88329767713,353.04507480266,363.47137260637,367.80716871461,372.19468374184,387.75749219625,392.38299382393,397.06367008113,408.78994578219,413.66634097248,418.60090448096,436.10412364188,441.30634506723,446.57062302059,459.75895986689,465.24335632603,470.79317533731,484.69686416326,490.47874118496,496.32958936031,517.08292506126,523.2511306012],description:"Eivind Groven's 36-tone scale with 1/8-schisma temp. fifths and 5/4 (1948)"},groven_ji:{frequencies:[261.6255653006,264.89588486686,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.07474405997,313.95067836072,327.03195662575,331.11985608357,334.88072358477,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,387.59343007496,392.4383479509,396.89567239676,408.78994578219,413.89982010446,418.60090448096,436.04260883433,441.49314144476,446.50763144636,459.88868900496,465.11211608996,470.92601754108,484.4917875937,490.54793493862,496.11959049595,517.37477513058,523.2511306012],description:"Untempered version of Groven's 36-tone scale"},gumbeng:{frequencies:[261.6255653006,305.03156112838,348.43777142572,394.8168394034,470.9259392365,525.62941881859],description:"Scale of gumbeng ensemble, Java. 1/1=440 Hz."},gunkali:{frequencies:[261.6255653006,275.93321340298,282.55561052465,348.83408706747,392.4383479509,408.78994578219,418.60090448096,523.2511306012],description:"Indian mode Gunkali, see Dani\xEF\xBF\xBDlou: Intr. to the Stud. of Mus. Scales, p.175"},gyaling:{frequencies:[261.6255653006,283.49766588023,307.55338551939,339.28638158975,347.81902735497,393.58362272115,435.9522698367],description:'Tibetan Buddhist Gyaling tones measured from CD "The Diamond Path", Ligon 2002'},far12_104:{frequencies:[261.6255653006,276.7193479141,294.32876096318,311.93817401225,329.54758706133,349.67263054599,369.79767403066,392.4383479509,415.07902187114,440.23532622697,465.3916305828,493.06356537421,523.2511306012],description:"Farey approximation to 12-tET with den=104"},far12_65:{frequencies:[261.6255653006,277.72560008833,293.82563487606,309.92566966379,330.05071314845,350.17575663311,370.30080011777,390.42584360243,414.57589578403,438.72594796562,466.90100884415,495.07606972267,523.2511306012],description:"Farey approximation to 12-tET with den=65"},far12_80:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,330.30227619201,349.92419358955,369.5461109871,392.4383479509,415.3305849147,441.49314144476,467.65569797482,493.81825450488,523.2511306012],description:"Farey approximation to 12-tET with den=80"},farey3:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,418.60090448096,523.2511306012],description:"Farey fractions between 0 and 1 until 3rd level, normalised by 2/1"},farey4:{frequencies:[261.6255653006,299.00064605783,313.95067836072,327.03195662575,348.83408706747,373.75080757229,392.4383479509,418.60090448096,448.50096908674,523.2511306012],description:"Farey fractions between 0 and 1 until 4th level, normalised by 2/1"},farey5:{frequencies:[261.6255653006,285.40970760065,290.69507255622,299.00064605783,305.22982618403,313.95067836072,322.00069575458,327.03195662575,332.97799220076,348.83408706747,366.27579142084,373.75080757229,380.54627680087,392.4383479509,402.50086969323,406.97310157871,418.60090448096,436.04260883433,448.50096908674,465.11211608996,523.2511306012],description:"Farey fractions between 0 and 1 until 5th level, normalised by 2/1"},farnsworth:{frequencies:[261.6255653006,294.32876096318,327.03195662575,343.38355445704,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Farnsworth's scale"},fibo_9:{frequencies:[261.6255653006,277.97716313189,327.03195662575,343.38355445704,363.82305174615,392.4383479509,425.14154361347,449.66894036041,523.2511306012],description:"First 9 Fibonacci terms reduced by 2/1, B. McLaren, XH 13, 1991"},finnamore:{frequencies:[261.6255653006,277.97716313189,310.68035879446,348.83408706747,392.4383479509,416.96574469783,457.84473927605,466.02053819169,523.2511306012],description:"David J. Finnamore, Tuning List 9 May '97. Tetrachordal scale, 17/16x19/17x64/57"},finnamore53:{frequencies:[261.6255653006,286.15296204753,310.68035879446,327.03195662575,343.38355445704,359.73515228832,367.91095120397,376.08675011961,392.4383479509,408.78994578219,416.96574469783,425.14154361347,433.31734252912,441.49314144476,457.84473927605,474.19633710734,523.2511306012],description:'David J. Finnamore, tuning for "Crawlspace", 53-limit, 1998.'},finnamore_11:{frequencies:[261.6255653006,287.78812183066,294.32876096318,305.22982618403,323.76163705949,331.11985608357,343.38355445704,348.83408706747,392.4383479509,431.68218274599,441.49314144476,457.84473927605,485.64245558924,515.07533168556,523.2511306012],description:"David J. Finnamore, 11-limit scale, Tuning List 3 Sept '98"},finnamore_7:{frequencies:[261.6255653006,274.70684356563,294.32876096318,309.04519901133,331.11985608357,348.83408706747,366.27579142084,392.4383479509,412.06026534844,441.49314144476,463.567798517,496.67978412536,523.2511306012],description:"David J. Finnamore, TL 1 Sept '98. 7-tone Pyth. with 9/8 div. in 21/20 &15/14"},finnamore_7a:{frequencies:[261.6255653006,280.31310567921,294.32876096318,315.35224388912,331.11985608357,348.83408706747,373.75080757229,392.4383479509,420.46965851882,441.49314144476,473.02836583367,496.67978412536,523.2511306012],description:"David J. Finnamore, TL 1 Sept '98. 7-tone Pyth. with 9/8 div. in 15/14 &21/20"},finnamore_jc:{frequencies:[261.6255653006,276.16031892841,310.68035879446,348.83408706747,392.4383479509,414.24047839262,466.02053819169,523.2511306012],description:"Chalmers' modification of Finnamore. Tuning List 9-5-97 19/18 x 9/8 x 64/57"},fisher:{frequencies:[261.6255653006,273.37431312998,292.50627485027,310.67535808973,327.03195662575,349.71841093413,365.63284485857,391.22147055517,410.55062036439,437.39890198442,467.47330218196,489.02683992698,523.2511306012],description:"Alexander Metcalf Fisher's modified meantone temperament (1818)"},"fj-10tet":{frequencies:[261.6255653006,280.31310567921,300.51585203447,322.00069575458,345.20039866051,370.01329949656,396.52624740872,425.14154361347,455.42228033808,488.36772189445,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 10-tet"},"fj-12tet":{frequencies:[261.6255653006,277.19851561611,293.6613488068,311.12229387098,329.64821227876,348.83408706747,370.01329949656,391.99491478937,415.52295665389,440.00663255101,466.16918908107,490.54793493862,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 12-tet"},"fj-13tet":{frequencies:[261.6255653006,275.96121271433,291.05844139692,306.97399661937,323.91736656265,341.56671025356,360.27127025001,379.97998769849,400.78810003496,422.62591317789,445.95266812602,41.6222490251,496.18641694941,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 13-tet"},"fj-14tet":{frequencies:[261.6255653006,274.92856014639,288.87822835275,303.4856557487,318.85615771011,335.0643204727,352.18826098158,370.01329949656,388.70083987518,408.5030756448,429.33426100611,451.0785608631,473.88781639354,497.93252750759,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 14-tet"},"fj-15tet":{frequencies:[261.6255653006,274.08392555301,286.94416839421,300.51585203447,314.76825825228,329.64821227876,345.20039866051,361.51896296083,378.66858135613,396.52624740872,415.52295665389,392.4383479509,455.42228033808,477.08191319521,499.46698830115,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 15-tet"},"fj-16tet":{frequencies:[261.6255653006,273.25336820285,285.40970760065,297.96244937013,311.12229387098,324.92207303462,339.29565499922,354.2846196779,370.01329949656,386.4008349055,403.52417698906,421.50785520652,440.00663255101,459.44001711325,479.64686971777,500.9851250437,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 16-tet"},"fj-17tet":{frequencies:[261.6255653006,272.52663052146,283.8915708581,295.75063903546,307.98958953109,320.70230585235,334.29933343966,348.03400888612,362.53828334512,373.75080757229,392.4383479509,409.71550792358,426.86276443782,444.76346101102,462.87600014722,482.37213602298,502.32108537715,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 17-tet"},"fj-18tet":{frequencies:[261.6255653006,271.88539139082,282.55561052465,293.6613488068,305.22982618403,317.12189733406,329.64821227876,342.60490694126,355.98232655655,370.01329949656,384.51030051755,399.57359064092,415.52295665389,431.68218274599,448.50096908674,466.16918908107,484.4917875937,503.12608711654,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 18-tet"},"fj-19tet":{frequencies:[261.6255653006,271.31540105247,281.44568388398,291.81313052759,302.73815413355,313.95067836072,325.69713231299,337.73482066077,350.31219760589,363.36884069528,376.74081403286,390.78248994267,405.26313056367,420.46965851882,436.04260883433,451.89870370104,468.95148497277,485.87604984397,504.56359022259,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 19-tet"},"fj-20tet":{frequencies:[261.6255653006,270.8594087818,280.31310567921,290.29686012806,300.51585203447,311.12229387098,322.00069575458,333.44434793214,345.20039866051,357.34223553253,370.01329949656,383.09457776159,396.52624740872,410.48149038542,425.14154361347,440.00663255101,455.42228033808,470.92601754108,488.36772189445,505.41302387616,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 20-tet"},"fj-21tet":{frequencies:[261.6255653006,270.34641747729,279.46367202564,288.87822835275,298.56093922539,308.58400009814,318.85615771011,329.64821227876,340.72166643799,352.18826098158,364.00078650518,376.08675011961,388.70083987518,401.78211814021,415.52295665389,429.33426100611,443.62595855319,457.84473927605,473.88781639354,489.85212226495,506.18859373377,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 21-tet"},"fj-22tet":{frequencies:[261.6255653006,270.06509966514,278.68810216803,287.55242312318,296.76929795292,306.29334474217,316.13089140489,326.18252297218,336.37572681506,347.40443916965,358.52392281934,370.01329949656,381.83190611439,392.4383479509,392.4383479509,419.69101100305,433.03541842858,446.94367405519,461.28718092474,475.68284600109,491.34557385722,506.89953276991,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 22-tet"},"fj-23tet":{frequencies:[261.6255653006,269.55361273395,277.97716313189,286.37392958579,295.1673044417,304.21577360535,313.47928094576,323.18452184192,332.97799220076,343.1154954762,353.6790049434,364.40703738298,375.66747838035,387.20583664489,398.97898708342,411.12588832951,423.58424858192,436.04260883433,449.99597231703,463.79077485106,477.96978276071,492.47165233054,507.86139146587,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 23-tet"},"fj-24tet":{frequencies:[261.6255653006,269.32043486826,277.19851561611,285.40970760065,293.6613488068,302.32287545847,311.12229387098,320.2657782128,329.64821227876,339.29565499922,348.83408706747,348.83408706747,370.01329949656,380.54627680087,391.99491478937,403.52417698906,415.52295665389,427.53446036927,440.00663255101,452.81347840488,466.16918908107,479.64686971777,490.54793493862,508.30109829831,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 24-tet"},"fj-26tet":{frequencies:[261.6255653006,268.69652652494,275.96121271433,283.42769574232,291.05844139692,299.00064605783,306.97399661937,315.29234792636,323.91736656265,332.57487114483,341.56671025356,350.8160989258,360.27127025001,370.01329949656,379.97998769849,390.22118214327,400.78810003496,411.12588832951,422.62591317789,434.18710837121,445.95266812602,457.84473927605,457.84473927605,483.00104363188,496.18641694941,509.48136400643,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 26-tet"},"fj-30tet":{frequencies:[261.6255653006,267.70988077271,274.08392555301,280.31310567921,286.94416839421,293.6613488068,300.51585203447,307.52478728316,314.76825825228,322.00069575458,329.64821227876,337.35928157183,345.20039866051,353.19451315581,361.51896296083,370.01329949656,378.66858135613,387.59343007496,396.52624740872,405.78659107848,415.52295665389,425.14154361347,392.4383479509,444.76346101102,455.42228033808,466.16918908107,477.08191319521,488.36772189445,499.46698830115,511.35905945117,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 30-tet"},"fj-31tet":{frequencies:[261.6255653006,267.57160087561,273.51763645063,279.79400733536,286.15296204753,292.60754013883,299.00064605783,305.96888145324,312.81317590289,319.76457981184,327.03195662575,334.53760808929,342.12573923925,349.884792149,357.81143489641,366.27579142084,373.75080757229,382.37582620857,391.25985441351,400.13321751856,409.20921752145,418.60090448096,428.11456140098,437.54620403721,447.51741432997,457.84473927605,467.90726101838,478.40103369253,489.12605686634,500.50108144463,511.62332769895,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 31-tet"},"fj-36tet":{frequencies:[261.6255653006,266.75547834571,271.88539139082,277.19851561611,282.55561052465,288.08208313999,293.6613488068,299.00064605783,305.22982618403,311.12229387098,317.12189733406,323.18452184192,329.64821227876,327.03195662575,342.60490694126,348.83408706747,355.98232655655,362.89997767503,370.01329949656,377.22755927063,384.51030051755,391.99491478937,399.57359064092,406.97310157871,415.52295665389,423.35773294097,431.68218274599,440.00663255101,448.50096908674,436.04260883433,466.16918908107,475.19745534191,484.4917875937,490.54793493862,503.12608711654,513.18860885887,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 36-tet"},"fj-41tet":{frequencies:[261.6255653006,266.05989691586,270.64713651786,275.21650375777,279.87851171692,284.71017400359,289.532292266,294.32876096318,299.49242343621,304.63250754179,309.81974838229,315.13988547572,320.49131749323,325.95972070239,331.39238271409,337.09447836808,342.81970625596,348.83408706747,354.64798851859,360.72615821749,366.27579142084,373.13810133036,379.35706968587,386.00493241072,392.4383479509,399.32323124828,405.97070477679,413.09299784305,419.97788114044,427.14378008261,434.48531380278,441.85651028546,449.45930449077,436.04260883433,465.11211608996,472.93852188955,480.82536325516,489.12605686634,497.08857407114,505.80942624783,514.53027842451,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 41-tet"},"fj-42tet":{frequencies:[261.6255653006,265.98599138894,270.34641747729,274.92856014639,279.46367202564,284.05061375494,288.87822835275,293.6613488068,298.56093922539,303.4856557487,308.58400009814,313.7026920429,318.85615771011,324.18820048118,329.64821227876,335.0643204727,340.72166643799,346.37750898953,352.18826098158,358.01393146398,364.00078650518,370.01329949656,376.08675011961,382.37582620857,388.70083987518,395.22159864559,401.78211814021,408.5030756448,415.52295665389,422.16852582597,429.33426100611,436.04260883433,443.62595855319,451.0785608631,457.84473927605,466.16918908107,473.88781639354,481.94183081689,489.85212226495,497.93252750759,506.18859373377,514.81159623666,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 42-tet"},"fj-43tet":{frequencies:[261.6255653006,265.84533248287,270.2034526875,274.70684356563,279.06726965397,283.42769574232,288.1672893166,292.86443876933,297.71185016965,302.50455987882,307.4100392282,312.38873468728,317.43901923139,322.67153053741,327.85988562987,332.97799220076,338.57426097725,344.24416486921,348.83408706747,355.41586229515,361.11697745717,367.05676325756,372.95559308809,379.09010482332,385.17097113699,391.45479319413,397.88888056133,404.33041910093,392.4383479509,417.48760420309,424.25767346043,431.1976909584,438.2228218785,445.32011114996,452.54151835779,459.82675113439,467.18850946536,475.05694751951,483.00104363188,490.54793493862,498.33441009638,506.89953276991,514.81159623666,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 43-tet"},"fj-53tet":{frequencies:[261.6255653006,265.06800694929,268.51044859798,272.09058791262,275.69145590816,279.30296836145,282.98275430473,286.71294827463,290.48132617934,294.32876096318,298.13145813324,302.11523612093,306.05254808749,310.07474405997,313.95067836072,318.31110444906,322.46872002167,326.7649917632,331.03642956402,335.41739141103,336.37572681506,344.24416486921,348.83408706747,353.42400926572,358.01393146398,362.89997767503,367.52162744608,372.31330446624,377.3445653374,382.37582620857,387.20583664489,392.4383479509,397.67085925691,402.82031482791,408.13588186894,413.53718386224,418.60090448096,424.41480593208,429.81342870813,436.04260883433,441.49314144476,447.29532132038,453.1728541814,459.07882213124,465.11211608996,470.92601754108,477.46665667359,483.76047923507,485.87604984397,496.55464434604,503.12608711654,509.83443494476,516.36624730382,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 53-tet"},"fj-54tet":{frequencies:[261.6255653006,265.02329991489,268.42103452919,271.88539139082,275.39533189537,279.06726965397,282.55561052465,286.15296204753,289.90941019796,293.6613488068,297.46468383493,301.26580246736,305.22982618403,309.19384990071,313.15787361738,317.12189733406,321.29455387793,325.43667878855,329.64821227876,333.91683992313,338.19890148614,342.60490694126,346.93824963775,351.55935337268,355.98232655655,360.61902244137,365.28852513669,370.01329949656,374.76094489005,379.61356533813,384.51030051755,389.53139722534,394.5147413263,399.57359064092,404.77917650282,409.88005230427,415.52295665389,420.652869699,426.07592063241,431.68218274599,436.04260883433,442.75095666255,448.50096908674,454.40229762736,460.26719821402,466.16918908107,472.20223981084,478.40103369253,484.4917875937,490.54793493862,497.08857407114,503.12608711654,510.16985233617,516.54278277298,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 54-tet"},"fj-55tet":{frequencies:[261.6255653006,264.93728131706,268.33391312882,271.68808704293,275.15792212649,278.68810216803,282.14521748104,285.77561748219,289.37373131733,293.02063313667,296.76929795292,300.51585203447,304.33994330886,308.21641939523,312.11470948142,316.13089140489,319.76457981184,324.10331223806,328.22116374075,332.33517754401,336.37572681506,340.90603963412,345.20039866051,348.83408706747,353.96400011258,358.52392281934,363.07221307022,367.68998366571,372.31330446624,377.04860881557,381.83190611439,386.75083566176,391.58336244338,396.52624740872,401.56482115906,406.65712867376,411.81801945465,416.96574469783,418.60090448096,427.65717404906,433.03541842858,438.60756535689,444.15502946381,449.8123754291,455.42228033808,461.28718092474,467.18850946536,472.93852188955,479.03272519828,485.0974023282,491.34557385722,497.60156537565,503.87145909745,510.16985233617,516.71049146868,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 55-tet"},"fj-5tet":{frequencies:[261.6255653006,300.51585203447,345.20039866051,396.52624740872,455.42228033808,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 5-tet"},"fj-60tet":{frequencies:[261.6255653006,264.66772303665,267.70988077271,270.8594087818,274.08392555301,277.19851561611,280.31310567921,283.6903720127,286.94416839421,290.29686012806,293.6613488068,297.10021822272,300.51585203447,304.05133264664,307.52478728316,311.12229387098,314.76825825228,318.50068819203,322.00069575458,325.79787377056,329.64821227876,333.44434793214,337.35928157183,341.25073734861,345.20039866051,348.83408706747,353.19451315581,357.34223553253,361.51896296083,365.74186169574,370.01329949656,374.3258088147,378.66858135613,383.09457776159,387.59343007496,391.99491478937,396.52624740872,401.15920012759,405.78659107848,410.48149038542,415.52295665389,420.18651396763,425.14154361347,429.81342870813,434.91003062957,440.00663255101,444.76346101102,450.23934493592,455.42228033808,460.95932933915,466.16918908107,470.92601754108,477.08191319521,482.55382044333,488.36772189445,490.54793493862,499.46698830115,505.41302387616,511.35905945117,517.30509502619,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 60-tet"},"fj-66tet":{frequencies:[261.6255653006,264.37951861955,267.19206668997,270.06509966514,272.83808952777,275.76748774928,278.68810216803,281.58005756929,284.57517629188,287.55242312318,290.69507255622,293.6613488068,296.76929795292,299.91223339337,302.93486508491,306.29334474217,309.48390041656,312.81317590289,316.13089140489,319.38705374359,322.78478835788,326.18252297218,329.64821227876,332.97799220076,336.37572681506,340.11323489078,343.8507429665,347.40443916965,351.12904816659,354.74652922115,358.52392281934,362.25078272391,366.27579142084,370.01329949656,373.75080757229,377.90359432309,381.83190611439,385.89770881839,389.97018224052,392.4383479509,398.12586024004,402.50086969323,406.65712867376,411.12588832951,415.52295665389,419.69101100305,424.01384721132,428.62060698183,433.03541842858,437.71969579139,442.27178896054,446.94367405519,451.89870370104,456.45311392871,461.28718092474,466.16918908107,470.92601754108,475.68284600109,481.05345877852,485.87604984397,491.34557385722,496.41773928832,501.44900015948,506.89953276991,512.35006538034,517.80059799077,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 66-tet"},"fj-72tet":{frequencies:[195.99771799087,197.9006084568,199.84081050049,201.76235675531,203.68390301012,205.67661764474,207.66424882366,209.67197738558,211.67753543014,213.81569235368,215.817711945,217.77524221208,219.99743856118,222.13074705632,223.99739198957,226.48625190056,228.66400432268,230.8417567448,233.07836734049,235.19726158904,237.57299150408,239.92824098882,242.11482810637,244.5635242187,246.9571246685,249.45164107929,251.74018824515,254.18454051941,256.66367832138,259.11562717437,261.33029065449,264.17083729204,266.68541956135,269.28382123963,271.86780237443,274.39680518722,277.19677258709,279.99673998696,282.60136082405,285.0875898049,288.0572521987,290.83532347032,293.66437746429,296.5093682426,299.34196929515,302.30156503677,304.88533909691,307.99641398565,311.29049327962,313.59634878539,317.15994365795,320.28895378996,323.39623468494,326.46784071315,329.63252571192,332.8263135694,335.99608798435,339.22681959958,342.55457018224,345.87832586624,349.232297511,352.79589238357,355.99585512627,359.32914964993,362.95873702013,366.4305162438,367.49572123288,373.6206499201,376.91868844398,380.79556638226,384.45706221286,388.2262490973,391.99543598174],description:"Franck Jedrzejewski continued fractions approx. of 72-tet"},"fj-78tet":{frequencies:[138.59131548844,139.82873794816,141.06616040788,142.33702671786,143.60064014465,144.89092073791,146.18536017274,147.4753741736,148.781853392,150.14059177914,151.48353088271,152.80580938469,154.18283848089,155.56168065029,156.95883922787,158.39007484393,159.76498868806,161.21846903757,162.6138101731,164.12129465736,165.53962683341,167.02030328094,168.55700532378,170.00534699915,171.58924774759,173.06676710248,174.62505751543,176.17540104463,177.75842638735,179.35346710269,180.93866188769,182.53490332624,184.15558359423,185.8383548595,187.50589742554,188.98815748424,190.84705739392,192.48793817839,194.02784168382,196.00771761937,197.74614527009,199.57149430335,201.28738678083,203.10796235375,204.87411854813,206.71247055903,207.88697323266,210.45347907504,212.31010032272,214.18657848213,216.10849194808,217.78635291041,220.11561871693,221.7461047815,223.87827886594,225.96410133985,228.00506741647,230.00260868294,232.05987709692,234.17153306667,236.2351968553,238.37706264012,240.41350645954,242.53480210477,244.7463656498,246.9445257794,249.1343885566,251.39820018833,253.59261982991,255.8608901325,258.1602935569,260.55167311827,262.84559834014,265.13121223875,267.51346943117,269.88835121433,272.23294113801,274.70778605744,277.18263097688],description:"Franck Jedrzejewski continued fractions approx. of 78-tet"},"fj-7tet":{frequencies:[261.6255653006,288.87822835275,318.85615771011,352.18826098158,388.70083987518,429.33426100611,473.88781639354,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 7-tet"},"fj-84tet":{frequencies:[97.99885899544,98.81551615374,99.63217331203,100.44883047033,101.26548762862,102.12512674262,102.98185182572,103.83212441184,104.68059938149,105.53723276432,106.39876119505,107.33208366167,108.20707347413,109.09306944775,109.9987192806,110.89344570537,111.83399203009,112.76581035092,113.67867643471,114.64017467391,115.58839778949,116.53918367025,117.50574088079,118.47623251688,119.43610940069,120.45693084856,121.43336875522,122.4985737443,123.47856233425,124.48503710232,125.50731064328,126.58185953578,127.62642101732,128.62350243151,129.74496824748,130.66514532725,131.9215409554,132.99845149381,134.10370178323,135.17083999371,136.34623860235,137.19840259362,138.59838629355,139.73911375276,140.87335980595,142.09834554339,143.22910160872,144.41937115117,145.59830479323,146.83218873215,148.0408295463,149.25980062382,150.498247743,151.74016876713,153.01576229113,154.29607586516,155.64524663982,156.7981743927,158.13452246991,159.45577056885,160.81864040277,162.07503603092,163.33143165907,164.81626285597,166.17197829662,167.54643634704,168.96354999214,170.33135015874,171.49800324202,173.20728566636,174.61614875551,176.03498745477,177.50736723702,178.95443816559,180.52421393897,181.99788099153,183.48722535316,183.74786061645,186.51395744293,188.05186455882,189.60648805639,191.21728584476,192.8364644749,194.36440367429,195.99771799088],description:"Franck Jedrzejewski continued fractions approx. of 84-tet"},"fj-8tet":{frequencies:[261.6255653006,285.40970760065,311.12229387098,339.29565499922,370.01329949656,403.52417698906,440.00663255101,479.64686971777,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 8-tet"},"fj-90tet":{frequencies:[69.29565774422,69.83283338565,70.37840239647,70.9071846685,71.46114704873,72.0131345185,72.59545097014,73.14541650779,73.69538204544,74.24534758309,74.83931036376,75.40998048636,76.00168913882,76.58993750677,77.19009976571,77.78084032514,78.38361285822,78.99704982841,79.59636362512,80.23707738804,80.84493403492,81.4527906818,82.08870225085,82.70772053342,83.37133822351,83.99473665966,84.69469279849,85.2869633775,85.97794571968,86.61957218027,87.31252875772,87.95218098305,88.65767976099,89.35492709123,90.08435506749,90.74431371267,91.43177063473,92.14038007748,92.85618137725,93.5491379547,94.28753430771,95.03404490636,95.75399979201,96.51895185802,97.25706350066,98.00385880968,98.74631228551,99.50145727375,100.29634673506,101.05616754365,101.84361819984,102.66023369514,103.42635484212,103.94348661633,105.02623126858,105.83336819117,106.60870422188,107.47897935838,108.27446522534,109.14066094715,110.05780935847,110.87305239075,111.72157064884,112.60544383436,113.39289449054,114.33783527796,115.19278170468,116.11704811194,116.93642244337,117.80261816517,118.79255613295,119.69249974002,120.62577459179,121.5942673625,122.52275717094,123.4722628897,124.41720367712,125.39214258478,126.36267000417,127.35418180019,128.32529211893,129.35189445588,130.27583655913,131.29703572589,132.29171023897,133.26088027735,134.39157865546,135.4415128637,136.49144707195,137.52522844622,138.59131548844],description:"Franck Jedrzejewski continued fractions approx. of 90-tet"},"fj-96tet":{frequencies:[48.99942949772,49.35708956705,49.70956615711,50.0646344868,50.44058918883,50.81422318282,51.17718191984,51.5338827476,51.91606220592,52.2660581309,52.67438671005,53.04896912563,53.45392308842,53.81904551389,54.21213476343,54.59936429746,54.9993596403,55.39065943221,55.80490581685,56.20522795327,56.62156297514,57.01751796098,57.44760699733,57.85474808165,58.26959183513,58.69162434342,59.11042288614,59.54361052887,59.98206024721,60.41025554513,60.85413018265,61.24928687215,61.73928116713,62.19158359326,62.61038213598,63.09515579158,63.54613512986,63.99925485416,64.47293354963,64.92424408448,65.33257266363,65.89578449693,66.3533941115,66.81740386053,67.32095530991,67.84536391992,68.30223505743,68.78766064103,69.29919314678,69.78706625433,70.30352927934,70.77695371893,71.27189745123,71.86582992999,72.36838818125,72.90159022832,73.41609436608,73.94459360565,74.47913283653,75.03037641838,75.5753912592,76.10549687944,76.66039776256,77.21122223883,77.82262331991,78.34524166943,78.94352530188,79.48796340741,80.07223844749,80.64489438166,81.23589627254,81.66571582953,82.40813142798,82.999033639,83.58726208435,84.21776944921,84.8067048999,85.43490271397,86.04777863014,86.69129834212,87.30807437776,87.94769397027,88.57589178434,89.20408959841,89.83228741249,90.46048522656,91.16172929808,91.87393030822,92.49330511929,93.09891604567,93.82869478287,94.4988997456,95.19889159557,95.91377688915,96.59887529551,97.28872233605,97.99885899544],description:"Franck Jedrzejewski continued fractions approx. of 96-tet"},"fj-9tet":{frequencies:[261.6255653006,282.55561052465,305.22982618403,329.64821227876,355.98232655655,384.51030051755,415.52295665389,448.50096908674,484.4917875937,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 9-tet"},flavel:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Bill Flavel's just tuning. Tuning List 6-5-98"},fogliano:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Fogliano's Monochord with D-/D and Bb-/Bb"},fogliano1:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Fogliano's Monochord no.1, Musica theorica (1529)"},fogliano2:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Fogliano's Monochord no.2"},"fokker-h":{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Fokker-H 5-limit per.bl. synt.comma&small diesis, KNAW B71, 1968"},"fokker-ht":{frequencies:[261.6255653006,272.31140503734,279.67242998298,290.89121260742,305.67073265504,313.92185180985,326.66733279836,335.5942968927,349.22294231864,363.36596605244,376.74379448613,392.00137290182,407.92073675044,419.068143928,436.08264938702,447.85404100892,470.60848490625,489.4864783277,502.71810253025,523.2511306012],description:"Tempered version of Fokker-H per.bl. with better 6 tetrads, OdC"},"fokker-k":{frequencies:[261.6255653006,272.52663052146,282.55561052465,290.69507255622,302.80736724606,313.95067836072,327.03195662575,339.06673262958,348.83408706747,363.36884069528,376.74081403286,392.4383479509,403.74315632809,418.60090448096,436.04260883433,452.08897683944,470.92601754108,484.4917875937,502.32108537715,523.2511306012],description:"Fokker-K 5-limit per.bl. of 225/224 & 81/80 & 10976/10935, KNAW B71, 1968"},"fokker-l":{frequencies:[261.6255653006,271.31540105247,282.62020942966,291.99281841585,301.39265122629,313.95067836072,325.57848126297,339.14425131559,350.39138209902,363.36884069528,376.74081403286,390.69417751556,403.65087217807,420.46965851882,436.04260883433,454.2110508691,468.83301301868,484.38104661368,504.56359022259,523.2511306012],description:"Fokker-L 7-limit periodicity block 10976/10935 & 225/224 & 15625/15552, 1969"},"fokker-lt":{frequencies:[261.6255653006,272.07297743248,282.57734531132,291.77233860052,302.20925621315,313.90139500947,326.42149564976,339.58797317787,349.9403315901,363.14714144228,376.97081214523,391.19775936204,403.12344267272,419.38375585596,436.11106867998,452.98371913917,469.18728997524,484.4545223075,503.15865298196,523.2511306012],description:"Tempered version of Fokker-L per.bl. with more triads"},"fokker-m":{frequencies:[261.6255653006,265.7783520514,274.70684356563,279.06726965397,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,318.93402246168,327.03195662575,336.37572681506,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,406.97310157871,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,465.11211608996,478.40103369253,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"Fokker-M 7-limit periodicity block 81/80 & 225/224 & 1029/1024, KNAW B72, 1969"},"fokker-n":{frequencies:[261.6255653006,265.7783520514,273.37201925287,277.71125765371,286.15296204753,290.69507255622,299.00064605783,303.74668805875,313.95067836072,318.93402246168,328.62879235146,333.84512238879,343.38355445704,348.83408706747,358.80077526939,364.4960256705,375.57576268738,381.53728273004,392.4383479509,398.6675280771,410.05802887931,416.56688648057,429.2294430713,436.04260883433,450.69091522486,457.84473927605,470.92601754108,478.40103369253,492.94318852719,500.76768358318,515.07533168556,523.2511306012],description:"Fokker-N 7-limit periodicity block 81/80 & 2100875/2097152 & 1029/1024, 1969"},"fokker-n2":{frequencies:[261.6255653006,265.7783520514,272.52663052146,279.06726965397,286.15296204753,290.69507255622,299.00064605783,305.22982618403,313.95067836072,318.93402246168,327.03195662575,334.88072358477,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,408.78994578219,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,470.92601754108,478.40103369253,490.54793493862,502.32108537715,515.07533168556,523.2511306012],description:"Fokker-N different block shape"},"fokker-p":{frequencies:[261.6255653006,267.90457886781,273.37201925287,280.31310567921,286.15296204753,290.69507255622,299.00064605783,306.17666156322,312.97980223949,320.35783506196,327.03195662575,334.88072358477,341.85740532612,350.39138209902,357.69120255941,366.27579142084,373.75080757229,382.72082695402,390.69417751556,400.44729382745,408.78994578219,418.60090448096,427.32175665765,437.39523080459,447.11400319927,457.84473927605,470.92601754108,478.40103369253,488.36772189445,500.76768358318,510.98743222773,523.2511306012],description:"Fokker-P 7-limit periodicity block 65625/65536 & 6144/6125 & 2401/2400, 1969"},"fokker-q":{frequencies:[261.6255653006,265.7783520514,269.10058145205,272.52663052146,274.70684356563,279.06726965397,284.76252005507,286.15296204753,290.69507255622,294.32876096318,299.00064605783,301.39265122629,305.22982618403,311.45900631024,313.95067836072,318.93402246168,321.92208230347,327.03195662575,332.22294006425,334.88072358477,340.65828815182,343.38355445704,348.83408706747,353.19451315581,358.80077526939,363.36884069528,366.27579142084,373.75080757229,376.74081403286,381.53728273004,387.59343007496,392.4383479509,398.6675280771,401.85686830172,408.78994578219,412.06026534844,418.60090448096,425.24536328225,429.2294430713,436.04260883433,439.53094970501,448.50096908674,454.2110508691,457.84473927605,465.11211608996,470.92601754108,478.40103369253,480.73697623985,490.54793493862,498.33441009638,502.32108537715,508.71637697339,515.07533168556,523.2511306012],description:"Fokker-Q 7-limit per.bl. 225/224 & 4000/3969 & 6144/6125, KNAW B72, 1969"},"fokker-r":{frequencies:[261.6255653006,264.95644634031,268.26840191956,272.52663052146,275.55899540689,279.06726965397,282.62020942966,287.04062021552,290.69507255622,294.32876096318,298.07600213285,301.80195215951,306.17666156322,310.07474405997,313.95067836072,317.94773560837,322.92069774245,327.03195662575,331.19555792538,334.88072358477,340.1962906258,344.44874425862,348.83408706747,353.19451315581,357.69120255941,363.36884069528,367.91095120397,372.08969287196,376.74081403286,382.72082695402,387.59343007496,392.4383479509,397.43466951046,402.40260287934,408.78994578219,413.33849311034,418.60090448096,423.93031414449,430.56093032327,436.04260883433,441.49314144476,447.11400319927,453.59505416773,459.26499234482,465.11211608996,470.92601754108,476.92160341255,484.38104661368,490.54793493862,496.79333688808,502.32108537715,510.29443593869,516.67311638793,523.2511306012],description:"Fokker-R 7-limit per.bl. 4375/4374 & 65625/65536 & 6144/6125, 1969"},"fokker-s":{frequencies:[261.6255653006,265.7783520514,269.10058145205,273.37201925287,273.85732695955,278.20426865732,282.55561052465,286.15296204753,290.69507255622,295.2417807931,299.00064605783,303.74668805875,304.28591884395,309.04519901133,313.95067836072,317.94773560837,322.92069774245,328.04642310345,332.22294006425,333.84512238879,338.01818641865,343.38355445704,348.83408706747,353.19451315581,358.80077526939,364.4960256705,369.13660007139,370.8542388136,375.57576268738,381.53728273004,387.59343007496,392.4383479509,398.6675280771,404.99558407833,410.05802887931,412.06026534844,417.30640298598,423.93031414449,430.56093032327,436.04260883433,442.96392008567,449.89223739901,450.69091522486,457.84473927605,463.67378109554,470.92601754108,478.40103369253,484.4917875937,492.06963465517,499.88026377668,500.76768358318,508.71637697339,515.07533168556,523.2511306012],description:"Fokker-S 7-limit per.bl. 4375/4374 & 323/322 & 64827/65536, 1969"},fokker_12:{frequencies:[261.6255653006,280.31310567921,294.32876096318,305.22982618403,327.03195662575,348.83408706747,367.91095120397,392.4383479509,420.46965851882,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Fokker's 7-limit 12-tone just scale"},fokker_12a:{frequencies:[261.6255653006,274.70684356563,293.02063313667,309.04519901133,327.03195662575,348.83408706747,367.91095120397,390.69417751556,412.06026534844,439.53094970501,465.11211608996,490.54793493862,523.2511306012],description:"Fokker's 7-limit periodicity block of 2048/2025 & 3969/4000 & 225/224"},fokker_12b:{frequencies:[261.6255653006,275.93321340298,293.02063313667,309.04519901133,332.22294006425,348.83408706747,367.91095120397,392.4383479509,412.06026534844,439.53094970501,467.18850946536,496.11959049595,523.2511306012],description:"Fokker's 7-limit semitone scale KNAW B72, 1969"},fokker_12c:{frequencies:[261.6255653006,275.93321340298,293.02063313667,311.45900631024,332.22294006425,348.83408706747,372.08969287196,392.4383479509,412.06026534844,442.96392008567,467.18850946536,496.11959049595,523.2511306012],description:"Fokker's 7-limit complementary semitone scale, KNAW B72, 1969"},fokker_12t:{frequencies:[261.6255653006,279.53180800295,293.53544531438,305.4439412874,326.66157401657,349.08351368992,366.63408494061,391.81886165309,419.06057467847,436.03416050506,457.88164994338,489.21957814041,523.2511306012],description:"Tempered version of fokker_12 with egalised 225/224, see also lumma"},fokker_12t2:{frequencies:[261.6255653006,279.53060025556,293.5302824794,305.44678713816,326.66192308793,349.10467831311,366.62831408589,391.81689264402,419.03095498017,436.04260883433,457.88067400285,489.21694446174,523.2511306012],description:"Another tempered version of fokker_12 with egalised 225/224"},fokker_22:{frequencies:[261.6255653006,272.52663052146,279.06726965397,287.4304306281,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,367.91095120397,383.2405741708,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,459.88868900496,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Fokker's 22-tone periodicity block of 2048/2025 & 3125/3072. KNAW B71, 1968"},fokker_22a:{frequencies:[261.6255653006,269.46602871384,279.06726965397,287.4304306281,297.67175429757,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,357.20610515709,367.91095120397,383.2405741708,392.4383479509,408.78994578219,418.60090448096,431.14564594215,446.50763144636,459.88868900496,476.27480687611,490.54793493862,502.32108537715,523.2511306012],description:"Fokker's 22-tone periodicity block of 2048/2025 & 2109375/2097152 = semicomma"},fokker_31:{frequencies:[261.6255653006,265.7783520514,275.93321340298,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,315.35224388912,321.92208230347,327.03195662575,336.37572681506,343.38355445704,348.83408706747,357.69120255941,367.91095120397,373.75080757229,381.53728273004,392.4383479509,398.6675280771,406.97310157871,420.46965851882,429.2294430713,436.04260883433,448.50096908674,457.84473927605,465.11211608996,482.88312345521,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"Fokker's 31-tone just system"},fokker_31a:{frequencies:[261.6255653006,269.10058145205,272.52663052146,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,311.45900631024,321.92208230347,327.03195662575,336.37572681506,343.38355445704,348.83408706747,357.69120255941,367.91095120397,373.75080757229,381.53728273004,392.4383479509,398.6675280771,412.06026534844,420.46965851882,429.2294430713,436.04260883433,448.50096908674,457.84473927605,470.92601754108,476.92160341255,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"Fokker's 31-tone first alternate septimal tuning"},fokker_31b:{frequencies:[261.6255653006,267.07609791103,274.70684356563,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,321.92208230347,327.03195662575,336.37572681506,343.38355445704,348.83408706747,357.69120255941,367.91095120397,373.75080757229,381.53728273004,392.4383479509,398.6675280771,408.78994578219,420.46965851882,429.2294430713,436.04260883433,448.50096908674,457.84473927605,467.18850946536,480.53675259294,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"Fokker's 31-tone second alternate septimal tuning"},fokker_31c:{frequencies:[261.6255653006,269.46602871384,272.52663052146,279.06726965397,287.4304306281,294.32876096318,297.67175429757,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,344.91651675372,348.83408706747,359.28803828513,367.91095120397,372.08969287196,383.2405741708,392.4383479509,396.89567239676,408.78994578219,418.60090448096,431.14564594215,436.04260883433,446.50763144636,459.88868900496,465.11211608996,479.0507177135,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Fokker's 31-tone periodicity block of 81/80 & 2109375/2097152 = semicomma"},fokker_31d:{frequencies:[261.6255653006,266.13928761861,272.52663052146,279.06726965397,287.4304306281,294.32876096318,299.40669857094,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,359.28803828513,367.91095120397,376.74081403286,383.2405741708,392.4383479509,399.20893142792,408.78994578219,418.60090448096,425.82286018978,436.04260883433,443.56547936435,459.88868900496,470.92601754108,479.0507177135,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Fokker's 31-tone periodicity block of 81/80 & W\xEF\xBF\xBDrschmidt's comma"},fokker_31d2:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,283.88190679319,290.69507255622,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,376.74081403286,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,425.82286018978,436.04260883433,446.50763144636,454.2110508691,465.11211608996,482.22824196207,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Reduced version of fokker_31d by Prooijen expressibility"},fokker_41:{frequencies:[261.6255653006,264.89588486686,271.31540105247,274.70684356563,280.31310567921,283.8170195002,290.69507255622,294.32876096318,300.33547037059,305.22982618403,311.45900631024,313.95067836072,321.55899383997,325.57848126297,329.64821227876,336.37572681506,341.85740532612,348.83408706747,353.19451315581,361.75386806997,366.27579142084,373.75080757229,378.42269266694,387.59343007496,392.4383479509,400.44729382745,406.97310157871,415.27867508032,420.46965851882,425.72552925031,436.04260883433,439.53094970501,448.50096908674,455.80987376816,465.11211608996,470.92601754108,482.33849075995,488.36772189445,498.33441009638,504.56359022259,516.79124009995,523.2511306012],description:"Fokker's 7-limit supracomma per.bl. 10976/10935 & 225/224 & 496125/262144"},fokker_41a:{frequencies:[261.6255653006,264.59711493117,272.83435407277,275.93321340298,279.06726965397,287.4304306281,291.02331101095,294.32876096318,297.67175429757,306.59245933664,310.42486507835,313.95067836072,323.35923445661,327.03195662575,331.11985608357,334.88072358477,344.91651675372,348.83408706747,353.19451315581,363.77913876369,367.91095120397,372.08969287196,376.315896791,388.03108134794,392.4383479509,396.89567239676,408.78994578219,413.89982010446,418.60090448096,431.14564594215,436.04260883433,441.49314144476,446.50763144636,459.88868900496,465.11211608996,470.92601754108,485.03885168492,490.54793493862,496.11959049595,502.32108537715,517.37477513058,523.2511306012],description:"Fokker's 41-tone periodicity block of schisma & 34171875/33554432"},fokker_41b:{frequencies:[261.6255653006,264.89588486686,272.52663052146,275.93321340298,279.06726965397,287.4304306281,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.42486507835,313.95067836072,323.35923445661,327.03195662575,331.11985608357,340.65828815182,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,383.2405741708,388.03108134794,392.4383479509,397.34382730029,408.78994578219,413.89982010446,418.60090448096,431.14564594215,436.04260883433,441.49314144476,454.2110508691,459.88868900496,465.11211608996,470.92601754108,485.03885168492,490.54793493862,496.67978412536,510.98743222773,517.37477513058,523.2511306012],description:"Fokker's 41-tone periodicity block of schisma & 3125/3072"},fokker_53:{frequencies:[261.6255653006,263.718569823,268.26840191956,272.52663052146,274.70684356563,279.06726965397,282.55561052465,286.15296204753,290.69507255622,294.32876096318,299.00064605783,300.46061014991,305.22982618403,309.04519901133,313.95067836072,317.87506184023,321.92208230347,327.03195662575,329.64821227876,334.88072358477,340.65828815182,343.38355445704,348.83408706747,353.19451315581,357.69120255941,360.55273217989,366.27579142084,373.75080757229,376.74081403286,381.53728273004,386.30649876417,392.4383479509,398.6675280771,400.61414686654,410.05802887931,412.06026534844,418.60090448096,423.83341578697,429.2294430713,436.04260883433,439.53094970501,448.50096908674,450.69091522486,457.84473927605,465.11211608996,470.92601754108,476.92160341255,480.73697623985,490.54793493862,498.33441009638,502.32108537715,508.71637697339,515.07533168556,523.2511306012],description:"Fokker's 53-tone system, degree 37 has alternatives"},fokker_53a:{frequencies:[261.6255653006,264.89588486686,269.46602871384,272.52663052146,275.93321340298,279.38237857051,283.88190679319,287.4304306281,290.69507255622,294.32876096318,298.00787047521,302.80736724606,306.59245933664,310.42486507835,313.95067836072,319.36714514233,323.35923445661,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,359.28803828513,363.36884069528,367.91095120397,372.50983809402,378.50920905758,383.2405741708,388.03108134794,392.4383479509,397.34382730029,403.74315632809,408.78994578219,413.89982010446,418.60090448096,425.82286018978,431.14564594215,436.04260883433,441.49314144476,447.01180571282,454.2110508691,459.88868900496,465.63729761752,470.92601754108,479.0507177135,484.4917875937,490.54793493862,496.67978412536,504.67894541011,510.98743222773,517.37477513058,523.2511306012],description:"Fokker's 53-tone periodicity block of schisma & kleisma"},fokker_53b:{frequencies:[261.6255653006,264.59711493117,267.90457886781,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,310.07474405997,313.95067836072,317.51653791741,323.35923445661,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,388.03108134794,392.4383479509,396.89567239676,401.85686830172,408.78994578219,413.89982010446,418.60090448096,423.35538388988,431.14564594215,436.04260883433,441.49314144476,446.50763144636,451.5790761492,459.88868900496,465.11211608996,470.92601754108,476.27480687611,485.03885168492,490.54793493862,496.11959049595,502.32108537715,510.98743222773,517.37477513058,523.2511306012],description:"Fokker's 53-tone periodicity block of schisma & 2109375/2097152"},fokker_av:{frequencies:[261.6255653006,267.53238172257,273.57240048543,279.74894499065,286.06477437084,292.52336378682,299.12777114678,305.88111195206,312.78710209553,319.84901131344,327.07017092477,334.45455423048,342.00545991849,349.72704272607,357.62295854304,365.69693211485,373.95340598657,382.39606841888,391.02956482064,399.85798283974,408.88548711149,418.11704484248,427.5567798744,437.20988623572,447.08093432269,457.17458061119,467.49637893146,478.0512162812,488.84407170063,499.88088374606,511.16658268681,522.70737825664],description:"Fokker's suggestion for a shrinked octave by averaging approximations"},fokker_bosch:{frequencies:[261.6255653006,294.32876096318,327.03195662575,343.38355445704,348.83408706747,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:'Scale of "Naar Den Bosch toe", genus diatonicum cum septimis. 1/1=D'},fokker_sr:{frequencies:[261.6255653006,269.10058145205,279.06726965397,287.04062021552,296.75121990114,305.22982618403,315.35224388912,325.57848126297,336.37572681506,347.28371334717,358.80077526939,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,434.10464168396,446.50763144636,461.31528248922,474.80195184183,490.54793493862,506.45541529795,523.2511306012],description:"Fokker's 7-limit sruti scale, KNAW B72, 1969"},fokker_sr2:{frequencies:[261.6255653006,270.30192333353,279.06726965397,288.32205155576,296.75121990114,306.59245933664,315.35224388912,327.03195662575,336.37572681506,348.83408706747,358.80077526939,372.08969287196,381.53728273004,394.1903048614,406.97310157871,420.46965851882,434.10464168396,448.50096908674,461.31528248922,476.92160341255,490.54793493862,508.71637697339,523.2511306012],description:"Fokker's complementary 7-limit sruti scale, KNAW B72, 1969"},fokker_sra:{frequencies:[261.6255653006,269.76956886185,278.7476190342,287.42460593148,296.37169586701,305.59729331129,315.11006948887,325.59707150921,336.43308557971,346.90573279191,357.7043774887,368.83916960349,381.11429755927,392.97780480816,406.05627704035,419.57000893919,433.5334812886,447.02871783796,460.94403787128,475.29252052682,490.08765232515,506.39798251136,523.2511306012],description:"Two-step approximation 9-13 to Fokker's 7-limit sruti scale"},fokker_srb:{frequencies:[261.6255653006,269.31534001393,278.64197723942,286.83190328195,296.76515515861,305.48776291796,316.06708432391,325.35701999957,336.62443200122,346.51859521924,358.51885197895,369.0565423573,381.83730669135,393.06038214356,406.67242132093,418.62545783369,433.12283887627,445.85331391262,461.29362042034,474.85209942927,491.29666030217,505.73699464332,523.2511306012],description:"Two-step maximally even approximation 11-11 to Fokker's 7-limit sruti scale"},fokker_uv:{frequencies:[220,220.05029721079,220.09166666667,220.14198483463,220.15668113546,220.24841308594,220.29876708984,220.3905582428,220.5253936656,220.68244897959,220.7744,220.82487425697,220.98214285714,221.03266460905,221.0236875,221.07421875,221.28224372864,221.41762468656,221.66763848397,221.71831695641,221.76,221.81069958848,222.01040039062,222.06115722656,222.40609622534,222.44790857143,222.4987654321,222.65722615577,222.75,222.80092592593,223.00151824951,223.05250167847,223.14544022083,223.18896568405,223.23999196793,223.44097959184,223.49206349206,223.58518518519,223.79557291667,223.88882107205,224.18534499514,224.23659907493,224.33003099121,224.48979591837,224.58333333333,224.79466029576,224.83692169189,224.88832473755,225.18617242815,225.28,225.33150434385,225.49198250729,225.5859375,225.67993164062,225.9788277551,226.03049186753,226.28571428571,226.4317558299,226.68743133545,227.08224,227.1341563786,227.29591836735,227.390625,227.44261188272,228.096,228.14814814815,229.16666666667,231,232.03125,233.6237037037,233.84353741497],description:"Table of Unison Vectors, Microsons and Minisons, from article KNAW, 1969"},foote:{frequencies:[261.6255653006,276.70272600503,293.15632631094,310.58830860439,328.48713220126,349.43001184052,368.92737853004,391.76907592069,414.58565256441,438.98455767189,465.89457252293,492.17459484008,523.2511306012],description:"Ed Foote, piano temperament. TL 9 Jun 1999, almost equal to Coleman"},forster:{frequencies:[261.6255653006,279.06726965397,283.42769574232,287.78812183066,299.00064605783,309.19384990071,319.76457981184,327.03195662575,336.37572681506,340.11323489078,343.38355445704,353.19451315581,359.73515228832,366.27579142084,373.75080757229,377.90359432309,380.54627680087,387.59343007496,392.4383479509,398.6675280771,402.50086969323,406.97310157871,418.60090448096,428.11456140098,441.49314144476,442.75095666255,448.50096908674,457.84473927605,465.11211608996,483.00104363188,490.54793493862,507.3950357345,523.2511306012],description:"Cris Forster's Chrysalis tuning, XH 7+8"},fortuna11:{frequencies:[261.6255653006,274.70684356563,299.00064605783,305.22982618403,332.97799220076,343.38355445704,373.75080757229,398.6675280771,411.12588832951,448.50096908674,457.84473927605,498.33441009638,523.2511306012],description:"11-limit scale from Clem Fortuna"},fortuna_a1:{frequencies:[261.6255653006,277.18263097687,293.66476791741,311.12698372208,320.24370022528,349.22823143301,369.99442271164,391.99543598175,415.30469757995,440,466.16376151809,479.82340237272,523.2511306012],description:"Clem Fortuna, Arabic mode of 24-tET, try C or G major, superset of Basandida, trivalent"},fortuna_a2:{frequencies:[261.6255653006,277.18263097687,285.30470202322,311.12698372208,329.62755691287,349.22823143301,369.99442271164,391.99543598175,428.11456140098,440,466.16376151809,493.88330125613,523.2511306012],description:"Clem Fortuna, Arabic mode of 24-tET, try C or F minor"},fortuna_bag:{frequencies:[261.6255653006,266.17557513191,291.58269109838,303.42373253797,318.96815495553,348.01136516401,359.18086083642,388.55281975337,398.8194592997,432.92801877123,462.35552488468,479.64686971777,523.2511306012],description:"Bagpipe tuning from Fortuna, try key of G with F natural"},fortuna_eth:{frequencies:[261.6255653006,280.31310567921,288.69027895239,305.7551787248,323.91736656265,346.02090894595,368.95913055213,385.17097113699,414.24047839262,422.62591317789,469.58434797544,484.00729580611,523.2511306012],description:"Ethiopian Tunings from Fortuna"},fortuna_sheng:{frequencies:[261.6255653006,275.29257244317,286.94416839421,312.81317590289,320.2657782128,348.83408706747,367.19377586049,382.62738925213,417.81993264424,433.74764773521,467.75479856774,484.77678276288,523.2511306012],description:"Sheng scale on naturals starting on d, from Fortuna"},"francis_r12-14p":{frequencies:[261.6255653006,277.2273508585,293.19140419912,311.27759533081,328.56574776048,349.51003591412,369.636465861,391.67937618637,415.43871422078,438.93656251816,466.46466724696,492.84862139436,523.2511306012],description:"Bach WTC theoretical temperament, 1/14 Pyth. comma, Cornet-ton"},"francis_r12-2":{frequencies:[261.6255653006,277.2831963903,293.15801965318,311.35818177599,328.6319369554,349.45847225471,369.71092870521,391.50168688506,415.45657533448,438.80025285527,466.56783666625,492.94847466277,523.2511306012],description:"J. Charles Francis, Bach WTC temperament R12-2, fifths beat ratios 0, 1, 2. C=279.331 Cornet-ton"},"francis_r2-1":{frequencies:[261.6255653006,276.41735337657,293.40958958006,310.96959408698,328.77281747949,349.18425877583,368.55655650762,391.91325216238,414.62612565656,439.06418506387,465.92902003736,492.10921220871,523.2511306012],description:"J. Charles Francis, Bach WTC temperament R2-1, fifths beat ratios 0, 1, 2. C=249.072 Cammerton"},"francis_r2-14p":{frequencies:[261.6255653006,276.42350693124,293.47533146651,310.97644498676,328.88393162803,349.17189700163,368.56467609256,392.05867944486,414.6352601896,439.36162975058,466.01338145177,492.37181018521,523.2511306012],description:"Bach WTC theoretical temperament, 1/14 Pyth. comma, Cammerton"},francis_seal:{frequencies:[261.6255653006,275.89934348748,293.01242796531,310.38672525582,327.92787107993,349.18506556371,367.865749003,391.38524198103,413.84896721463,437.93907827641,465.58008765101,490.83740312498,523.2511306012],description:"J. Charles Francis, Bach tuning interpretion as beats/sec. from seal"},francis_suppig:{frequencies:[261.6255653006,276.33536163417,293.13939342657,310.64213412049,328.58201670643,349.47038191026,368.45885450371,391.47500324588,414.51381656966,438.73106346722,465.97531289569,491.91879926026,523.2511306012],description:"J. Charles Francis, Suppig Calculus musicus, 5ths beat ratios 0, 1, 2."},efg333:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,523.2511306012],description:"Genus primum [333]"},efg333333333337:{frequencies:[261.6255653006,275.01702890535,279.38237857051,289.72987407313,294.32876096318,309.39415751852,314.30517589183,325.94610833227,331.11985608357,343.38355445704,353.59332287831,366.6893718738,372.50983809402,386.30649876417,392.4383479509,412.52554335802,419.07356785577,434.59481110969,441.49314144476,457.84473927605,471.45776383774,488.9191624984,496.67978412536,515.07533168556,523.2511306012],description:"Genus [333333333337]"},efg333333355:{frequencies:[261.6255653006,264.89588486686,275.93321340298,279.06726965397,290.69507255622,294.32876096318,310.42486507835,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,392.4383479509,397.34382730029,413.89982010446,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"Genus [333333355]"},efg33335:{frequencies:[261.6255653006,275.93321340298,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Genus [33335]"},efg3333555:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,363.36884069528,367.91095120397,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,459.88868900496,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Genus [3333555]"},efg33335555:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,297.67175429757,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,367.91095120397,372.08969287196,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,459.88868900496,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Genus bis-ultra-chromaticum [33335555]"},efg333355577:{frequencies:[261.6255653006,267.07609791103,268.26840191956,272.52663052146,274.70684356563,278.20426865732,279.06726965397,281.68182201554,284.8811711051,286.15296204753,290.69507255622,294.32876096318,300.46061014991,305.22982618403,306.59245933664,312.97980223949,313.95067836072,317.94773560837,320.49131749323,321.92208230347,325.57848126297,327.03195662575,333.84512238879,343.38355445704,348.83408706747,352.10227751942,356.10146388137,357.69120255941,360.55273217989,363.36884069528,366.27579142084,367.91095120397,372.08969287196,375.57576268738,381.53728273004,392.4383479509,400.61414686654,402.40260287934,406.97310157871,408.78994578219,412.06026534844,417.30640298598,418.60090448096,427.32175665765,429.2294430713,436.04260883433,445.12682985172,450.69091522486,457.84473927605,459.88868900496,465.11211608996,469.46970335923,470.92601754108,476.92160341255,480.73697623985,488.36772189445,490.54793493862,500.76768358318,508.71637697339,515.07533168556,523.2511306012],description:"Genus [333355577]"},efg33337:{frequencies:[261.6255653006,294.32876096318,305.22982618403,343.38355445704,348.83408706747,386.30649876417,392.4383479509,441.49314144476,457.84473927605,515.07533168556,523.2511306012],description:"Genus [33337]"},efg3335:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,392.4383479509,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Genus diatonicum veterum correctum [3335]"},efg33355:{frequencies:[261.6255653006,272.52663052146,290.69507255622,310.07474405997,327.03195662575,348.83408706747,363.36884069528,387.59343007496,408.78994578219,436.04260883433,465.11211608996,484.4917875937,523.2511306012],description:"Genus diatonico-chromaticum hodiernum correctum [33355]"},efg333555:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,306.59245933664,313.95067836072,327.03195662575,348.83408706747,363.36884069528,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Genus diatonico-hyperchromaticum [333555]"},efg33355555:{frequencies:[261.6255653006,272.52663052146,279.06726965397,287.4304306281,294.32876096318,306.59245933664,313.95067836072,319.36714514233,327.03195662575,340.65828815182,348.83408706747,359.28803828513,367.91095120397,383.2405741708,392.4383479509,408.78994578219,418.60090448096,425.82286018978,436.04260883433,459.88868900496,470.92601754108,479.0507177135,490.54793493862,510.98743222773,523.2511306012],description:"Genus [33355555]"},efg333555777:{frequencies:[261.6255653006,262.79353657426,267.07609791103,268.26840191956,269.10058145205,272.52663052146,274.70684356563,279.06726965397,280.31310567921,281.68182201554,286.15296204753,294.32876096318,299.00064605783,300.46061014991,305.22982618403,306.59245933664,311.45900631024,312.97980223949,313.95067836072,318.93402246168,320.49131749323,321.92208230347,327.03195662575,333.84512238879,336.37572681506,343.38355445704,348.83408706747,350.39138209902,352.10227751942,357.69120255941,358.80077526939,360.55273217989,366.27579142084,367.91095120397,373.75080757229,375.57576268738,381.53728273004,392.4383479509,398.6675280771,400.61414686654,402.40260287934,408.78994578219,412.06026534844,417.30640298598,418.60090448096,420.46965851882,427.32175665765,429.2294430713,436.04260883433,448.50096908674,450.69091522486,457.84473927605,459.88868900496,467.18850946536,469.46970335923,470.92601754108,476.92160341255,478.40103369253,480.73697623985,488.36772189445,490.54793493862,498.33441009638,500.76768358318,515.07533168556,523.2511306012],description:"Genus [333555777]"},efg333557:{frequencies:[261.6255653006,265.7783520514,279.06726965397,280.31310567921,290.69507255622,299.00064605783,313.95067836072,318.93402246168,327.03195662575,332.22294006425,348.83408706747,358.80077526939,372.08969287196,373.75080757229,392.4383479509,398.6675280771,418.60090448096,425.24536328225,436.04260883433,448.50096908674,465.11211608996,478.40103369253,490.54793493862,498.33441009638,523.2511306012],description:"Genus diatonico-enharmonicum [333557]"},efg33357:{frequencies:[261.6255653006,274.70684356563,279.06726965397,305.22982618403,313.95067836072,325.57848126297,343.38355445704,348.83408706747,366.27579142084,372.08969287196,392.4383479509,406.97310157871,418.60090448096,457.84473927605,465.11211608996,488.36772189445,523.2511306012],description:"Genus diatonico-enharmonicum [33357]"},efg3335711:{frequencies:[261.6255653006,265.58571790036,269.80136421624,275.93321340298,286.15296204753,294.32876096318,295.09524211152,303.52653474327,314.76825825228,321.92208230347,327.03195662575,331.98214737546,337.2517052703,343.38355445704,354.11429053382,359.73515228832,367.91095120397,379.40816842909,386.30649876417,392.4383479509,393.46032281536,404.70204632437,429.2294430713,441.49314144476,442.64286316727,449.66894036041,457.84473927605,472.15238737843,482.88312345521,490.54793493862,505.87755790546,515.07533168556,523.2511306012],description:"Genus [3 3 3 5 7 11], expanded hexany 1 3 5 7 9 11"},efg333577:{frequencies:[261.6255653006,267.07609791103,281.68182201554,286.15296204753,294.32876096318,300.46061014991,305.22982618403,321.92208230347,327.03195662575,333.84512238879,343.38355445704,348.83408706747,367.91095120397,375.57576268738,381.53728273004,392.4383479509,400.61414686654,429.2294430713,436.04260883433,450.69091522486,457.84473927605,490.54793493862,500.76768358318,515.07533168556,523.2511306012],description:"Genus [333577]"},efg3337:{frequencies:[261.6255653006,294.32876096318,305.22982618403,343.38355445704,348.83408706747,392.4383479509,457.84473927605,515.07533168556,523.2511306012],description:"Genus [3337]"},efg33377:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,457.84473927605,515.07533168556,523.2511306012],description:"Genus [33377] Bi-enharmonicum simplex"},efg335:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Genus secundum [335]"},efg3355:{frequencies:[261.6255653006,279.06726965397,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Genus chromaticum veterum correctum [3355]"},efg33555:{frequencies:[261.6255653006,294.32876096318,306.59245933664,313.95067836072,327.03195662575,367.91095120397,392.4383479509,408.78994578219,418.60090448096,459.88868900496,470.92601754108,490.54793493862,523.2511306012],description:"Genus bichromaticum [33555]"},efg335555577:{frequencies:[261.6255653006,267.07609791103,268.26840191956,272.52663052146,274.70684356563,279.06726965397,286.15296204753,293.02063313667,300.46061014991,305.22982618403,306.59245933664,312.97980223949,313.95067836072,320.49131749323,327.03195662575,333.84512238879,334.88072358477,341.85740532612,343.38355445704,348.83408706747,357.69120255941,366.27579142084,375.57576268738,381.53728273004,384.58958099188,390.69417751556,392.4383479509,400.61414686654,408.78994578219,417.30640298598,418.60090448096,427.32175665765,429.2294430713,436.04260883433,439.53094970501,446.50763144636,457.84473927605,469.46970335923,476.92160341255,480.73697623985,488.36772189445,490.54793493862,500.76768358318,502.32108537715,512.78610798918,523.2511306012],description:"Genus [335555577]"},efg33557:{frequencies:[261.6255653006,274.70684356563,279.06726965397,286.15296204753,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,418.60090448096,429.2294430713,436.04260883433,457.84473927605,488.36772189445,490.54793493862,523.2511306012],description:"Genus chromatico-enharmonicum [33557]"},efg335577:{frequencies:[261.6255653006,274.70684356563,279.06726965397,280.31310567921,286.15296204753,299.00064605783,305.22982618403,313.95067836072,318.93402246168,327.03195662575,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,478.40103369253,488.36772189445,490.54793493862,498.33441009638,523.2511306012],description:"Genus chromaticum septimis triplex [335577]"},efg3357:{frequencies:[261.6255653006,286.15296204753,305.22982618403,327.03195662575,343.38355445704,348.83408706747,381.53728273004,392.4383479509,429.2294430713,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Genus enharmonicum vocale [3357]"},efg33577:{frequencies:[261.6255653006,280.31310567921,286.15296204753,299.00064605783,305.22982618403,327.03195662575,343.38355445704,348.83408706747,373.75080757229,381.53728273004,392.4383479509,398.6675280771,429.2294430713,436.04260883433,448.50096908674,457.84473927605,490.54793493862,498.33441009638,523.2511306012],description:"Genus [33577]"},efg337:{frequencies:[261.6255653006,294.32876096318,343.38355445704,392.4383479509,457.84473927605,515.07533168556,523.2511306012],description:"Genus quintum [337]"},efg3377:{frequencies:[261.6255653006,299.00064605783,305.22982618403,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,457.84473927605,523.2511306012],description:"Genus [3377]"},efg33777:{frequencies:[261.6255653006,267.07609791103,299.00064605783,300.46061014991,305.22982618403,343.38355445704,348.83408706747,392.4383479509,398.6675280771,400.61414686654,448.50096908674,457.84473927605,523.2511306012],description:"Genus [33777]"},efg33777a:{frequencies:[261.6255653006,267.07609791103,299.00064605783,305.22982618403,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,457.84473927605,523.2511306012],description:"Genus [33777] with comma discarded which disappears in 31-tET"},efg355:{frequencies:[261.6255653006,313.95067836072,327.03195662575,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Genus tertium [355]"},efg3555:{frequencies:[261.6255653006,306.59245933664,327.03195662575,383.2405741708,392.4383479509,408.78994578219,490.54793493862,510.98743222773,523.2511306012],description:"Genus enharmonicum veterum correctum [3555]"},efg35555:{frequencies:[261.6255653006,306.59245933664,313.95067836072,327.03195662575,334.88072358477,392.4383479509,408.78994578219,418.60090448096,490.54793493862,502.32108537715,523.2511306012],description:"Genus [35555]"},efg35557:{frequencies:[261.6255653006,268.26840191956,274.70684356563,286.15296204753,306.59245933664,313.95067836072,327.03195662575,343.38355445704,357.69120255941,366.27579142084,392.4383479509,408.78994578219,418.60090448096,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Genus [35557]"},efg3557:{frequencies:[261.6255653006,274.70684356563,286.15296204753,313.95067836072,327.03195662575,343.38355445704,366.27579142084,392.4383479509,418.60090448096,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Genus enharmonicum instrumentale [3557]"},efg35577:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,299.00064605783,313.95067836072,327.03195662575,343.38355445704,358.80077526939,366.27579142084,373.75080757229,392.4383479509,418.60090448096,429.2294430713,448.50096908674,457.84473927605,478.40103369253,490.54793493862,523.2511306012],description:"Genus [35577]"},efg357:{frequencies:[261.6255653006,286.15296204753,327.03195662575,343.38355445704,392.4383479509,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Genus sextum [357] & 7-limit Octony, see ch.6 p.118"},efg35711:{frequencies:[261.6255653006,269.80136421624,286.15296204753,295.09524211152,314.76825825228,327.03195662575,337.2517052703,343.38355445704,359.73515228832,392.4383479509,393.46032281536,429.2294430713,449.66894036041,457.84473927605,472.15238737843,490.54793493862,523.2511306012],description:"Genus [3 5 7 11]"},efg3571113:{frequencies:[261.6255653006,265.71346475842,269.80136421624,274.01701053212,278.99913799634,286.15296204753,292.28481123426,295.09524211152,314.76825825228,318.85615771011,319.68651228748,327.03195662575,337.2517052703,343.38355445704,348.74892249543,359.73515228832,365.35601404283,371.99885066179,383.62381474497,392.4383479509,393.46032281536,398.57019713763,425.14154361347,429.2294430713,438.4272168514,449.66894036041,457.84473927605,464.99856332724,472.15238737843,479.52976843121,490.54793493862,511.49841965996,523.2511306012],description:"Genus [3 5 7 11 13]"},efg3577:{frequencies:[261.6255653006,280.31310567921,286.15296204753,299.00064605783,327.03195662575,343.38355445704,373.75080757229,392.4383479509,429.2294430713,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Genus [3577]"},efg35777:{frequencies:[261.6255653006,280.31310567921,286.15296204753,299.00064605783,300.46061014991,327.03195662575,343.38355445704,373.75080757229,375.57576268738,392.4383479509,400.61414686654,429.2294430713,448.50096908674,457.84473927605,490.54793493862,500.76768358318,523.2511306012],description:"Genus [35777]"},efg35777a:{frequencies:[261.6255653006,280.31310567921,286.15296204753,299.00064605783,327.03195662575,343.38355445704,373.75080757229,392.4383479509,400.61414686654,429.2294430713,448.50096908674,457.84473927605,490.54793493862,500.76768358318,523.2511306012],description:"Genus [35777] with comma discarded which disappears in 31-tET"},efg377:{frequencies:[261.6255653006,300.46061014991,343.38355445704,392.4383479509,400.61414686654,457.84473927605,523.2511306012],description:"Genus octavum [377]"},efg3777:{frequencies:[261.6255653006,262.90303388117,300.46061014991,343.38355445704,350.53737850823,392.4383479509,400.61414686654,457.84473927605,523.2511306012],description:"Genus [3777]"},efg37777:{frequencies:[261.6255653006,262.90303388117,299.00064605783,300.46061014991,343.38355445704,350.53737850823,392.4383479509,400.61414686654,448.50096908674,457.84473927605,523.2511306012],description:"Genus [37777]"},efg37777a:{frequencies:[261.6255653006,299.00064605783,343.38355445704,350.53737850823,392.4383479509,400.61414686654,448.50096908674,457.84473927605,523.2511306012],description:"Genus [37777] with comma discarded that disappears in 31-tET"},efg555:{frequencies:[261.6255653006,327.03195662575,408.78994578219,510.98743222773,523.2511306012],description:"Genus quartum [555]"},efg55557:{frequencies:[261.6255653006,286.15296204753,327.03195662575,357.69120255941,366.27579142084,408.78994578219,418.60090448096,447.11400319927,457.84473927605,510.98743222773,523.2511306012],description:"Genus [55557]"},efg5557:{frequencies:[261.6255653006,286.15296204753,327.03195662575,357.69120255941,408.78994578219,447.11400319927,457.84473927605,510.98743222773,523.2511306012],description:"Genus [5557]"},efg55577:{frequencies:[261.6255653006,286.15296204753,291.99281841585,299.00064605783,327.03195662575,357.69120255941,373.75080757229,408.78994578219,447.11400319927,457.84473927605,467.18850946536,510.98743222773,523.2511306012],description:"Genus [55577]"},efg557:{frequencies:[261.6255653006,286.15296204753,327.03195662575,366.27579142084,418.60090448096,457.84473927605,523.2511306012],description:"Genus septimum [557]"},efg5577:{frequencies:[261.6255653006,293.02063313667,320.49131749323,334.88072358477,366.27579142084,400.61414686654,418.60090448096,457.84473927605,512.78610798918,523.2511306012],description:"Genus [5577]"},efg55777:{frequencies:[261.6255653006,286.15296204753,299.00064605783,320.49131749323,327.03195662575,366.27579142084,373.75080757229,400.61414686654,418.60090448096,457.84473927605,478.40103369253,500.76768358318,523.2511306012],description:"Genus [55777]"},efg577:{frequencies:[261.6255653006,286.15296204753,327.03195662575,400.61414686654,457.84473927605,500.76768358318,523.2511306012],description:"Genus nonum [577]"},efg5777:{frequencies:[261.6255653006,286.15296204753,299.00064605783,327.03195662575,373.75080757229,400.61414686654,457.84473927605,500.76768358318,523.2511306012],description:"Genus [5777]"},efg57777:{frequencies:[261.6255653006,286.15296204753,299.00064605783,327.03195662575,350.53737850823,373.75080757229,400.61414686654,438.17172313528,457.84473927605,500.76768358318,523.2511306012],description:"Genus [57777]"},efg777:{frequencies:[261.6255653006,350.53737850823,400.61414686654,457.84473927605,523.2511306012],description:"Genus decimum [777]"},efg77777:{frequencies:[261.6255653006,299.00064605783,341.71502406609,350.53737850823,400.61414686654,457.84473927605,523.2511306012],description:"Genus [77777]"},eikohole1:{frequencies:[261.6255653006,277.4816601673,305.22982618403,332.97799220076,436.04260883433,475.68284600109,523.2511306012],description:"First eikohole ball <6 9 13 17 20|-epimorphic"},eikohole2:{frequencies:[261.6255653006,266.38239376061,274.70684356563,285.40970760065,299.68019298069,313.95067836072,332.97799220076,348.83408706747,366.27579142084,380.54627680087,392.4383479509,399.57359064092,418.60090448096,428.11456140098,443.97065626768,470.92601754108,488.36772189445,499.46698830115,523.2511306012],description:"Second eikohole ball"},eikohole4:{frequencies:[261.6255653006,274.70684356563,279.79400733536,287.78812183066,305.22982618403,313.95067836072,319.76457981184,335.75280880244,348.83408706747,359.73515228832,366.27579142084,373.05867644715,383.71749577421,392.4383479509,406.97310157871,418.60090448096,419.69101100305,431.68218274599,447.67041173658,457.84473927605,470.92601754108,479.64686971777,488.36772189445,503.62921320365,523.2511306012],description:"Fourth eikohole ball"},eikohole5:{frequencies:[261.6255653006,266.38239376061,274.70684356563,279.06726965397,285.40970760065,287.78812183066,294.32876096318,295.98043751179,299.68019298069,305.22982618403,313.95067836072,321.08592105074,325.57848126297,332.97799220076,342.49164912079,348.83408706747,353.19451315581,355.17652501415,363.24871876447,366.27579142084,374.60024122586,380.54627680087,392.4383479509,399.57359064092,406.97310157871,412.06026534844,418.60090448096,428.11456140098,439.53094970501,443.97065626768,448.50096908674,449.52028947103,456.65553216105,457.84473927605,465.11211608996,466.16918908107,470.92601754108,475.68284600109,488.36772189445,499.46698830115,507.3950357345,513.73747368118,523.2511306012],description:"Fifth eikohole ball"},eikohole6:{frequencies:[261.6255653006,266.38239376061,272.43653907335,274.70684356563,279.06726965397,285.40970760065,287.78812183066,293.02063313667,294.32876096318,295.98043751179,299.00064605783,299.68019298069,305.22982618403,310.77945938738,313.95067836072,317.12189733406,321.08592105074,325.57848126297,329.64821227876,332.97799220076,336.37572681506,342.49164912079,348.83408706747,349.6268918108,353.19451315581,355.17652501415,356.76213450082,363.24871876447,366.27579142084,374.60024122586,380.54627680087,383.71749577421,392.4383479509,399.57359064092,406.97310157871,412.06026534844,418.60090448096,428.11456140098,431.68218274599,439.53094970501,443.97065626768,448.50096908674,449.52028947103,456.65553216105,457.84473927605,465.11211608996,466.16918908107,470.92601754108,475.68284600109,484.33162501929,488.36772189445,499.46698830115,507.3950357345,513.73747368118,523.2511306012],description:"Sixth eikohole ball"},eikosany:{frequencies:[261.6255653006,269.80136421624,274.70684356563,287.78812183066,294.32876096318,305.22982618403,323.76163705949,335.75280880244,343.38355445704,359.73515228832,366.27579142084,377.72190990274,392.4383479509,412.06026534844,419.69101100305,431.68218274599,457.84473927605,470.92601754108,479.64686971777,503.62921320365,523.2511306012],description:"3)6 1.3.5.7.9.11 Eikosany (1.3.5 tonic)"},ekring1:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,353.19451315581,367.91095120397,376.74081403286,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Single-tie circular mirroring of 3:4:5"},ekring2:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,343.38355445704,384.42940207435,400.61414686654,448.50096908674,457.84473927605,504.56359022259,515.07533168556,523.2511306012],description:"Single-tie circular mirroring of 6:7:8"},ekring3:{frequencies:[261.6255653006,266.96486255163,299.00064605783,305.10270005901,327.03195662575,333.70607818954,341.71502406609,408.78994578219,418.60090448096,427.14378008261,457.84473927605,467.18850946536,523.2511306012],description:"Single-tie circular mirroring of 4:5:7"},ekring4:{frequencies:[261.6255653006,279.06726965397,313.95067836072,334.88072358477,348.83408706747,376.74081403286,392.4383479509,401.85686830172,436.04260883433,446.50763144636,465.11211608996,502.32108537715,523.2511306012],description:"Single-tie circular mirroring of 4:5:6"},ekring5:{frequencies:[261.6255653006,263.718569823,269.10058145205,305.22982618403,322.92069774245,366.27579142084,373.75080757229,376.74081403286,384.42940207435,439.53094970501,448.50096908674,512.78610798918,523.2511306012],description:"Single-tie circular mirroring of 3:5:7"},ekring5bp:{frequencies:[261.6255653006,282.55561052465,336.37572681506,363.28578496026,366.27579142084,395.57785473451,432.48307733364,512.78610798918,560.62621135843,605.4763082671,610.45965236807,659.29642455751,784.8766959018],description:"Single-tie BP circular mirroring of 3:5:7"},ekring6:{frequencies:[261.6255653006,288.32205155576,299.00064605783,336.37572681506,348.83408706747,384.42940207435,392.4383479509,406.97310157871,432.48307733364,465.11211608996,494.26637409559,512.57253609913,523.2511306012],description:"Single-tie circular mirroring of 6:7:9"},ekring7:{frequencies:[261.6255653006,266.96486255163,290.69507255622,296.62762505737,322.99452506247,336.37572681506,343.24053756638,406.97310157871,415.27867508032,432.48307733364,470.92601754108,480.53675259294,523.2511306012],description:"Single-tie circular mirroring of 5:7:9"},ekring7bp:{frequencies:[261.6255653006,311.45900631024,336.37572681506,400.44729382745,432.48307733364,436.04260883433,470.92601754108,514.86080634958,610.45965236807,667.41215637908,720.80512888941,726.73768139056,784.8766959018],description:"Single-tie BP circular mirroring of 5:7:9"},ellis:{frequencies:[261.6255653006,277.10015133873,293.57875905702,310.98767008297,329.52610437773,349.11112716429,369.96685849926,391.93834696391,415.15022554673,439.86813926913,465.98150356841,493.78915701915,523.2511306012],description:"Alexander John Ellis' imitation equal temperament (1875)"},ellis_24:{frequencies:[261.6255653006,264.89588486686,272.52663052146,275.93321340298,294.32876096318,298.00787047521,306.59245933664,310.42486507835,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.50983809402,392.4383479509,397.34382730029,408.78994578219,413.89982010446,436.04260883433,441.49314144476,459.88868900496,465.63729761752,490.54793493862,496.67978412536,523.2511306012],description:"Ellis, from p.421 of Helmholtz, 24 tones of JI for 1 manual harmonium"},ellis_eb:{frequencies:[261.6255653006,277.21587437848,293.6537610003,311.19285946782,329.68548178616,349.2169654334,370.02116610622,391.93834696391,415.32381240723,439.98064151826,466.28928903228,494.02822100775,523.2511306012],description:"Ellis' new equal beating temperament for pianofortes (1885)"},ellis_harm:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,353.19451315581,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Ellis's Just Harmonium"},ellis_mteb:{frequencies:[261.6255653006,273.31920907322,292.34465012884,313.05587813274,326.9349299255,350.18846153218,365.78692922515,391.15004079048,408.78346942429,437.23842445073,468.2723780569,489.17031487243,523.2511306012],description:"Ellis' equal beating meantone tuning (1885)"},enh14:{frequencies:[261.6255653006,267.70988077271,274.08392555301,348.83408706747,392.4383479509,401.56482115906,411.12588832951,523.2511306012],description:"14/11 Enharmonic"},enh15:{frequencies:[261.6255653006,270.64713651786,280.31310567921,356.76213450082,392.4383479509,402.50086969323,413.09299784305,523.2511306012],description:"Tonos-15 Enharmonic"},enh15_inv:{frequencies:[261.6255653006,331.39238271409,340.11323489078,348.83408706747,383.71749577421,488.36772189445,505.80942624783,523.2511306012],description:"Inverted Enharmonic Tonos-15 Harmonia"},enh15_inv2:{frequencies:[261.6255653006,270.34641747729,279.06726965397,348.83408706747,383.71749577421,392.4383479509,401.15920012759,523.2511306012],description:"Inverted harmonic form of the enharmonic Tonos-15"},enh17:{frequencies:[261.6255653006,269.55361273395,277.97716313189,370.63621750918,404.33041910093,413.73345210327,423.58424858192,523.2511306012],description:"Tonos-17 Enharmonic"},enh17_con:{frequencies:[261.6255653006,269.55361273395,277.97716313189,370.63621750918,378.52209447746,386.75083566176,494.18162334558,523.2511306012],description:"Conjunct Tonos-17 Enharmonic"},enh19:{frequencies:[261.6255653006,268.69652652494,276.16031892841,355.06326719367,382.37582620857,389.87339142835,397.67085925691,523.2511306012],description:"Tonos-19 Enharmonic"},enh19_con:{frequencies:[261.6255653006,268.69652652494,276.16031892841,355.06326719367,361.51896296083,368.21375857121,451.89870370104,523.2511306012],description:"Conjunct Tonos-19 Enharmonic"},enh2:{frequencies:[261.6255653006,266.71168334607,277.18263097687,349.22823143301,391.99543598175,399.61600264311,415.30469757995,523.2511306012],description:"1:2 Enharmonic. New genus 2 + 4 + 24 parts"},enh21:{frequencies:[261.6255653006,268.0066766494,274.70684356563,343.38355445704,392.4383479509,399.57359064092,406.97310157871,523.2511306012],description:"Tonos-21 Enharmonic"},enh21_inv:{frequencies:[261.6255653006,336.37572681506,342.60490694126,348.83408706747,398.6675280771,498.33441009638,510.79277034879,523.2511306012],description:"Inverted Enharmonic Tonos-21 Harmonia"},enh21_inv2:{frequencies:[261.6255653006,270.06509966514,279.06726965397,348.83408706747,398.6675280771,411.12588832951,423.58424858192,523.2511306012],description:"Inverted harmonic form of the enharmonic Tonos-21"},enh23:{frequencies:[261.6255653006,267.43946675172,273.51763645063,334.29933343966,376.08675011961,388.21858076863,401.15920012759,523.2511306012],description:"Tonos-23 Enharmonic"},enh23_con:{frequencies:[261.6255653006,267.43946675172,273.51763645063,334.29933343966,343.8507429665,353.96400011258,462.87600014722,523.2511306012],description:"Conjunct Tonos-23 Enharmonic"},enh25:{frequencies:[261.6255653006,269.71707762948,278.32506946872,363.36884069528,408.78994578219,421.97671822677,436.04260883433,523.2511306012],description:"Tonos-25 Enharmonic"},enh25_con:{frequencies:[261.6255653006,269.71707762948,278.32506946872,363.36884069528,373.75080757229,384.74347838324,503.12608711654,523.2511306012],description:"Conjunct Tonos-25 Enharmonic"},enh27:{frequencies:[261.6255653006,269.10058145205,277.01530443593,353.19451315581,392.4383479509,403.65087217807,415.52295665389,523.2511306012],description:"Tonos-27 Enharmonic"},enh27_inv:{frequencies:[261.6255653006,329.45441556372,339.14425131559,348.83408706747,387.59343007496,494.18162334558,508.71637697339,523.2511306012],description:"Inverted Enharmonic Tonos-27 Harmonia"},enh27_inv2:{frequencies:[261.6255653006,266.38239376061,271.31540105247,348.83408706747,387.59343007496,397.28326582684,406.97310157871,523.2511306012],description:"Inverted harmonic form of the enharmonic Tonos-27"},enh29:{frequencies:[261.6255653006,266.21548749886,270.96933548991,344.87006335079,379.35706968587,389.08417403679,399.32323124828,523.2511306012],description:"Tonos-29 Enharmonic"},enh29_con:{frequencies:[261.6255653006,266.21548749886,270.96933548991,344.87006335079,352.8902973822,361.29244731988,474.19633710734,523.2511306012],description:"Conjunct Tonos-29 Enharmonic"},enh31:{frequencies:[261.6255653006,270.34641747729,279.66870773512,337.93302184661,352.6257619269,368.65420565085,377.22755927063,386.2091678247,523.2511306012],description:"Tonos-31 Enharmonic. Tone 24 alternates with 23 as MESE or A"},enh31_con:{frequencies:[261.6255653006,270.34641747729,279.66870773512,337.93302184661,352.6257619269,360.46188996972,368.65420565085,450.57736246214,523.2511306012],description:"Conjunct Tonos-31 Enharmonic"},enh33:{frequencies:[261.6255653006,269.80136421624,278.50463402967,359.73515228832,392.4383479509,401.56482115906,411.12588832951,523.2511306012],description:"Tonos-33 Enharmonic"},enh33_con:{frequencies:[261.6255653006,269.80136421624,278.50463402967,359.73515228832,367.38909169871,375.37581108347,479.64686971777,523.2511306012],description:"Conjunct Tonos-33 Enharmonic"},enh_invcon:{frequencies:[261.6255653006,283.42769574232,370.63621750918,381.53728273004,392.4383479509,501.44900015948,512.35006538034,523.2511306012],description:"Inverted Enharmonic Conjunct Phrygian Harmonia"},enh_mod:{frequencies:[261.6255653006,294.32876096318,305.22982618403,348.83408706747,392.4383479509,406.97310157871,418.60090448096,523.2511306012],description:"Enharmonic After Wilson's Purvi Modulations, See page 111"},enh_perm:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Permuted Enharmonic, After Wilson's Marwa Permutations, See page 110."},enn45ji:{frequencies:[261.6255653006,267.07609791103,269.10058145205,274.70684356563,276.85245005354,282.55561052465,288.32205155576,290.69507255622,296.75121990114,299.00064605783,305.22982618403,311.45900631024,313.95067836072,320.49131749323,322.92069774245,329.64821227876,336.37572681506,339.14425131559,346.06556256693,348.83408706747,356.10146388137,363.36884069528,366.27579142084,373.75080757229,376.74081403286,384.42940207435,392.4383479509,395.57785473451,403.65087217807,406.97310157871,415.27867508032,423.93031414449,427.32175665765,436.04260883433,439.53094970501,448.50096908674,457.84473927605,461.31528248922,470.92601754108,474.80195184183,484.4917875937,494.47231841813,498.33441009638,508.71637697339,512.78610798918,523.2511306012],description:"Detempered Ennealimma[45], Hahn reduced"},enn72synch:{frequencies:[195.99771799087,197.54967854522,199.11392792408,201.62391554947,203.22042578925,204.82957760946,207.41161549338,209.05395423619,211.68924370912,213.36545381699,215.05493658943,217.76587316352,219.49019959291,221.22817968434,224.01693484168,225.790758792,228.63703016722,230.44743589451,232.27217821307,235.20015301436,237.06252857463,238.93964952543,241.95167308427,243.86750892427,246.94165062806,248.89699839908,250.8678291188,254.03021536301,256.04169222048,258.06909647124,261.3222603528,263.39147750593,266.71173418544,268.8236265844,270.95224149283,274.36780754746,276.54032271274,278.73004041423,282.24365173996,284.47852987378,288.0646054292,290.34557537779,292.64460663558,296.33362372129,298.68006816723,301.0450940916,304.84000597616,307.25380610435,311.12698372207,313.59056753865,316.0736586482,320.05801564518,322.59231767928,325.14668697146,329.24541662461,331.85246687263,336.03572815421,338.69654584276,341.37843257302,345.68177614255,348.4189737305,351.17784515594,355.60471802638,358.42048803112,362.93866010991,365.81250216232,368.70910003837,373.35696816148,376.31330506793,379.29305101359,384.07434037944,387.11553797119,391.99543598174],description:"Poptimal synchonized beating ennealimmal tuning, TM 10-10-2005"},ennea45:{frequencies:[261.6255653006,267.02028728287,269.13615104392,274.68574138534,276.8623300691,282.57123430547,288.39787286736,290.68311542614,296.67700440585,299.02785016604,305.1938252949,311.48692526882,313.95512370264,320.42888174436,322.96795420876,329.62755691287,336.42448069667,339.09030198792,346.08234767737,348.824677577,356.01744619623,363.3585507705,366.23777597441,373.78960287068,376.751482929,384.52012478698,392.44893391322,395.5586690753,403.715093104,406.91412394911,415.30469757995,423.86828492968,427.22700928979,436.03643483576,439.49155400205,448.55387459245,457.80308677504,461.43068321685,470.94538888861,474.67712392136,484.46499932732,494.45467284607,498.37269363637,508.649143962,512.67967026301,523.2511306012],description:"Ennealimmal-45, in a 7-limit least-squares tuning, g=48.999, G.W. Smith"},epimore_enh:{frequencies:[261.6255653006,265.11390617127,279.06726965397,348.83408706747,392.4383479509,397.67085925691,418.60090448096,523.2511306012],description:"New Epimoric Enharmonic, Dorian mode of the 4th new Enharmonic on Hofmann's list"},eratos_chrom:{frequencies:[261.6255653006,275.39533189537,290.69507255622,348.83408706747,392.4383479509,413.09299784305,436.04260883433,523.2511306012],description:"Dorian mode of Eratosthenes's Chromatic. same as Ptol. Intense Chromatic"},eratos_diat:{frequencies:[261.6255653006,275.62199471997,310.07474405997,348.83408706747,392.4383479509,413.43299207996,465.11211608996,523.2511306012],description:"Dorian mode of Eratosthenes's Diatonic, Pythagorean"},eratos_enh:{frequencies:[261.6255653006,268.33391312882,275.39533189537,348.83408706747,392.4383479509,402.50086969323,413.09299784305,523.2511306012],description:"Dorian mode of Eratosthenes's Enharmonic"},erlangen:{frequencies:[261.6255653006,275.62199471997,293.99679436797,310.07474405997,327.03195662575,348.83408706747,367.49599295996,392.4383479509,413.43299207996,440.99519155196,465.11211608996,490.54793493862,523.2511306012],description:"Anonymus: Pro clavichordiis faciendis, Erlangen 15th century"},erlangen2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Revised Erlangen"},erlich1:{frequencies:[261.6255653006,278.64199172491,296.7651860139,326.1838132033,347.39918201406,369.99442271164,394.05928374402,433.12277132725,461.29357245868,491.2966347616,523.2511306012],description:"Asymmetrical Major decatonic mode of 22-tET, Paul Erlich"},erlich10:{frequencies:[261.6255653006,274.70684356563,299.00064605783,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,470.92601754108,523.2511306012],description:"Canonical JI interpretation of the Pentachordal decatonic mode of 22-tET"},erlich10s1:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,470.92601754108,523.2511306012],description:"Superparticular version of erlich10 using 50/49 decatonic comma"},erlich10s2:{frequencies:[261.6255653006,274.70684356563,293.02063313667,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,470.92601754108,523.2511306012],description:"Other superparticular version of erlich10 using 50/49 decatonic comma"},erlich11:{frequencies:[261.6255653006,280.31310567921,305.22982618403,327.03195662575,348.83408706747,373.75080757229,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Canonical JI interpretation of the Symmetrical decatonic mode of 22-tET"},erlich11s1:{frequencies:[261.6255653006,274.70684356563,305.22982618403,327.03195662575,348.83408706747,373.75080757229,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Superparticular version of erlich11 using 50/49 decatonic comma"},erlich11s2:{frequencies:[261.6255653006,280.31310567921,305.22982618403,311.45900631024,348.83408706747,373.75080757229,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Other superparticular version of erlich11 using 50/49 decatonic comma"},erlich12:{frequencies:[261.6255653006,267.01308914069,282.57123920205,288.39008844866,305.19382000629,311.47852302926,329.62755691287,336.41541160581,356.01745236555,363.34874301751,384.52011812375,392.4383479509,415.30469757995,423.85685859121,448.5538823653,457.7907297806,484.46499093218,494.44133512215,523.2511306012],description:"Two 9-tET scales 3/2 shifted, Paul Erlich, TL 5-12-2001"},erlich13:{frequencies:[261.6255653006,269.80136421624,294.32876096318,327.03195662575,343.38355445704,359.73515228832,392.4383479509,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Just scale by Paul Erlich (2002)"},erlich2:{frequencies:[261.6255653006,278.64199172491,296.7651860139,316.06713361714,347.39918201406,369.99442271164,394.05928374402,419.68935090103,446.98642698175,476.05893615592,523.2511306012],description:"Asymmetrical Minor decatonic mode of 22-tET, Paul Erlich"},erlich3:{frequencies:[261.6255653006,278.64199172491,296.7651860139,326.1838132033,347.39918201406,369.99442271164,394.05928374402,419.68935090103,461.29357245868,491.2966347616,523.2511306012],description:"Symmetrical Major decatonic mode of 22-tET, Paul Erlich"},erlich4:{frequencies:[261.6255653006,278.64199172491,296.7651860139,316.06713361714,347.39918201406,369.99442271164,394.05928374402,419.68935090103,446.98642698175,491.2966347616,523.2511306012],description:"Symmetrical Minor decatonic mode of 22-tET, Paul Erlich"},erlich5:{frequencies:[261.6255653006,269.33066959279,278.10477655849,287.16472157287,295.62197660533,306.17967660611,315.19693888202,326.45372959864,335.05049156411,348.07025322573,357.23626005287,368.87410717392,380.89108570115,393.29954676976,406.11224388345,419.34234602259,433.00345117936,444.40607048653,461.67529188567,473.83294924974,490.75518955849,505.2083639382,523.2511306012],description:"Unequal 22-note compromise between decatonic & Indian srutis, Paul Erlich"},erlich6:{frequencies:[261.6255653006,274.70684356563,280.31310567921,285.40970760065,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Scale of consonant tones against 1/1-3/2 drone. TL 23-9-1998"},erlich7:{frequencies:[261.6255653006,272.64118737561,277.98432293805,281.84855879469,292.47977325983,303.51199286577,307.73108663824,313.76190292287,326.97270111135,337.05955506058,340.85784563832,350.05627231138,365.1325261687,373.60234843661,378.13992750117,391.18115131013,406.9458559663,413.62886206386,420.42161880722,437.36472209676,452.44848028305,457.94368329907,468.56640608675,488.7466646507,501.93603498211,507.59230220159,523.2511306012],description:"Meantone-like circle of sinuoidally varying fifths, TL 08-12-99"},erlich8:{frequencies:[261.6255653006,263.902226729,277.18263097687,279.59466973861,293.66476791741,296.22023396764,311.12698372208,313.83440569119,329.62755691287,332.49597057,349.22823143301,352.26720984209,369.99442271164,373.21410818061,391.99543598175,395.40657391157,415.30469757995,418.91867232636,440,443.82887286778,466.16376151809,470.22031101449,493.88330125613,498.18106573801,523.2511306012],description:"Two 12-tET scales 15 cents shifted, Paul Erlich"},erlich9:{frequencies:[261.6255653006,271.31540105247,280.31310567921,290.69507255622,302.70726563706,308.34441624714,319.76457981184,332.97799220076,345.34574619679,356.76213450082,369.97554688974,383.71749577421,396.40237166758,411.12588832951,428.11456140098,436.04260883433,452.23847716247,470.92601754108,488.36772189445,504.56359022259,523.2511306012],description:"11-limit periodicity block, u.v.: 9801/9800 243/242 126/125 100/99"},erlich_bpf:{frequencies:[261.6255653006,269.93113880221,277.4816601673,282.55561052465,293.6613488068,301.87565226992,311.45900631024,319.76457981184,328.70904358281,336.37572681506,347.05432131712,356.76213450082,366.27579142084,377.90359432309,388.47432423422,400.44729382745,411.12588832951,422.62591317789,436.04260883433,447.67041173658,458.69417292962,470.92601754108,485.87604984397,499.46698830115,512.78610798918,528.59042785223,543.37617408586,560.62621135843,575.57624366132,591.67627844905,610.45965236807,624.69777837082,642.17184210147,659.29642455751,680.22646978156,699.2537836216,726.73768139056,740.02659899313,760.72664372021,784.8766959018],description:"Erlich's 39-tone Triple Bohlen-Pierce scale"},erlich_bpp:{frequencies:[261.6255653006,268.60224704195,277.4816601673,282.55561052465,293.6613488068,299.68019298069,311.45900631024,319.76457981184,323.65460841914,336.37572681506,345.34574619679,356.76213450082,366.27579142084,380.67211882362,385.30310526088,400.44729382745,411.12588832951,419.55227017296,436.04260883433,447.67041173658,458.69417292962,470.92601754108,489.43558134466,499.46698830115,512.78610798918,528.59042785223,539.42434736524,560.62621135843,575.57624366132,594.60355750136,610.45965236807,629.27431887171,642.17184210147,659.29642455751,685.20981388252,699.2537836216,720.80512888941,740.02659899313,764.49028821604,784.8766959018],description:"Periodicity block for erlich_bpf, 1625/1617 1331/1323 275/273 245/243"},erlich_bpp2:{frequencies:[261.6255653006,268.60224704195,277.4816601673,282.55561052465,293.92501780685,299.68019298069,311.45900631024,319.76457981184,326.02570445152,336.37572681506,345.34574619679,356.76213450082,366.27579142084,377.90359432309,385.30310526088,400.44729382745,411.12588832951,422.62591317789,436.04260883433,447.67041173658,458.69417292962,470.92601754108,485.87604984397,499.46698830115,512.78610798918,528.59042785223,543.37617408586,560.62621135843,575.57624366132,594.60355750136,610.45965236807,629.83932387181,642.17184210147,659.29642455751,685.20981388252,698.62650953896,726.73768139056,740.02659899313,764.49028821604,784.8766959018],description:"Improved shape for erlich_bpp"},erlich_bppe:{frequencies:[261.6255653006,269.03526454087,276.77324548748,284.61195549492,292.79795257063,301.09050901183,309.7504615497,318.52314490095,327.68449417797,337.10934179701,346.6568752383,356.62740568226,366.72772736951,377.27553481706,387.96064596243,399.11915372018,410.59860200806,422.22748385656,434.37157296247,446.67374500165,459.5209564409,472.53540627884,486.12644973042,499.89441151621,514.27235352402,529.06383329425,544.0478609495,559.69574261012,575.54731703113,592.10118472076,608.870542156,626.38285104305,644.39884822068,662.64936456684,681.70845767885,701.01565227402,721.17823493702,741.60327945962,762.93324174612,784.8766959018],description:"LS optimal 3:5:7:11:13 tempering, virtually equal, g=780.2702 cents"},erlich_bppm:{frequencies:[261.6255653006,269.3148593258,276.83859227209,284.97500405989,292.93622770824,301.54575630263,309.96990811138,319.08006614158,327.99406628962,337.15709295818,347.06629484351,356.76213450082,367.24753706379,377.50717076432,388.60227773252,399.45849178361,410.61798882758,422.6862401977,434.49464068244,447.26463523836,459.75967424319,473.27221959449,486.49381977384,500.79209531182,514.78250488433,529.16376146212,544.7161244152,559.93362036345,576.39032675477,592.49269103014,609.9063234692,626.94500947499,644.45969779399,663.40066444061,681.93379843592,701.97614206495,721.5869464624,742.79471409673,763.54584931731,784.8766959018],description:"MM optimal 3:5:7:11:13 tempering, g=780.352 cents"},erlich_paj:{frequencies:[261.6255653006,269.74106841426,278.59741216196,287.23937405609,296.67040683594,305.87298460253,315.91563888094,325.71519477697,336.4093235789,346.84458402385,358.23265591403,369.99442271164,381.47147728046,393.99623872149,406.21781843768,419.55531290213,432.56972318844,446.77218107119,460.63084592459,475.75462791404,490.51231476219,506.61748047856,523.2511306012],description:"Erlich's Pajara or Twintone, with RMS optimal generator"},erlich_paj2:{frequencies:[261.6255653006,270.25447814202,278.68577354399,287.87753105276,296.85845221806,306.64959036092,316.21614384055,326.645747324,336.83612131731,347.94582350257,358.80069640371,369.99442271164,382.1975482805,394.12120058634,407.1203087173,419.82124923186,433.66800958456,447.19715926063,461.9468459571,476.35821106408,492.06970256841,507.42081104304,523.2511306012],description:"Erlich's Pajara or Twintone with minimax optimal generator"},escapade:{frequencies:[261.6255653006,270.11362843741,278.8770761192,287.9248395776,297.26614463769,306.91051483225,316.86778450163,327.1481015562,337.76194863153,348.72014864112,360.03386958939,371.71464785337,383.77439429365,392.56657056143,405.30282760495,418.45229174958,432.02837124332,446.04490958069,460.51619165905,475.45697355792,490.88248752006,506.80846290374,523.2511306012],description:"Escapade temperament, g=55.275493, 5-limit"},"et-mix6":{frequencies:[261.6255653006,293.66476791741,300.52885648597,311.12698372208,329.62755691287,345.21700307457,369.99442271164,396.55020354877,415.30469757995,440,455.51656649021,466.16376151809,523.2511306012],description:"Mix of equal temperaments from 1-6 (= 4-6)"},euler:{frequencies:[261.6255653006,272.52663052146,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,459.88868900496,490.54793493862,523.2511306012],description:"Euler's Monochord (a mode of Ellis's duodene) (1739), genus [33355]"},euler20:{frequencies:[261.6255653006,274.58143914872,285.65749968142,293.61100773131,305.45468261618,320.58100381398,326.62388782443,329.50688232588,342.79852229325,366.55580177366,381.34192228364,391.95955371998,407.7704102616,411.36965665618,427.96347506501,439.87918162894,457.62301915088,489.33808574423,509.07699553894,513.57043963064,523.2511306012],description:"Genus [3333555] tempered by 225/224-planar"},euler24:{frequencies:[261.6255653006,274.58143914872,285.65749968142,293.61100773131,305.45468261618,308.1508239679,320.58100381398,326.62388782443,329.50688232588,342.79852229325,366.55580177366,381.34192228364,384.70789368407,391.95955371998,407.7704102616,411.36965665618,427.96347506501,439.87918162894,457.62301915088,480.28481865546,489.33808574423,493.65730140218,509.07699553894,513.57043963064,523.2511306012],description:"Genus [33333555] tempered by 225/224-planar"},euler_diat:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Euler's genus diatonicum veterum correctum"},euler_enh:{frequencies:[261.6255653006,267.90457886781,275.62199471997,348.83408706747,392.4383479509,401.85686830172,413.43299207996,523.2511306012],description:"Euler's Old Enharmonic, From Tentamen Novae Theoriae Musicae"},euler_gm:{frequencies:[261.6255653006,271.31540105247,279.06726965397,289.40309445597,348.83408706747,361.75386806997,372.08969287196,385.87079260796,523.2511306012],description:"Euler's Genus Musicum, Octony based on Archytas's Enharmonic"},exptriad2:{frequencies:[261.6255653006,306.59245933664,327.03195662575,367.91095120397,392.4383479509,459.88868900496,490.54793493862,523.2511306012],description:"Two times expanded major triad"},exptriad3:{frequencies:[261.6255653006,269.46602871384,275.93321340298,279.06726965397,287.4304306281,294.32876096318,297.67175429757,303.14928230307,306.59245933664,313.95067836072,323.35923445661,327.03195662575,344.91651675372,348.83408706747,359.28803828513,367.91095120397,372.08969287196,378.93660287884,383.2405741708,392.4383479509,404.19904307077,408.78994578219,418.60090448096,431.14564594215,436.04260883433,446.50763144636,459.88868900496,490.54793493862,505.24880383846,517.37477513058,523.2511306012],description:"Three times expanded major triad"},iivv17:{frequencies:[261.6255653006,269.80136421624,277.97716313189,283.42769574232,294.32876096318,305.22982618403,318.85615771011,327.03195662575,343.38355445704,348.83408706747,359.73515228832,367.91095120397,370.63621750918,392.4383479509,416.96574469783,425.14154361347,436.04260883433,441.49314144476,457.84473927605,479.64686971777,490.54793493862,523.2511306012],description:"17-limit IIVV"},"indian-ayyar":{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Carnatic sruti system, C.Subrahmanya Ayyar, 1976. alt:21/20 25/16 63/40 40/21"},"indian-dk":{frequencies:[261.6255653006,294.32876096318,305.22982618403,313.95067836072,348.83408706747,392.4383479509,406.97310157871,418.60090448096,465.11211608996,523.2511306012],description:"Raga Darbari Kanada"},"indian-ellis":{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,303.82323712328,313.95067836072,324.77656382143,336.37572681506,348.83408706747,358.01393146398,367.68998366571,377.90359432309,388.70083987518,400.13321751856,412.25846653428,425.14154361347,438.85578695585,453.48431318771,469.12170329763,485.87604984397,503.87145909745,523.2511306012],description:"Ellis's Indian Chromatic, theoretical #74 of App.XX, p.517 of Helmholtz"},"indian-hahn":{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Indian shrutis Paul Hahn proposal"},"indian-hrdaya1":{frequencies:[261.6255653006,282.55561052465,294.32876096318,313.95067836072,328.55303549378,348.83408706747,375.07381928051,392.4383479509,428.11456140098,441.49314144476,470.92601754108,492.82955324067,523.2511306012],description:"From Hrdayakautaka of Hrdaya Narayana (17th c) Bhatkande's interpretation"},"indian-hrdaya2":{frequencies:[261.6255653006,282.55561052465,294.32876096318,313.95067836072,330.47439827444,348.83408706747,376.74081403286,392.4383479509,428.11456140098,448.50096908674,470.92601754108,495.71159741166,523.2511306012],description:"From Hrdayakautaka of Hrdaya Narayana (17th c) Levy's interpretation"},"indian-invrot":{frequencies:[261.6255653006,267.90457886781,279.06726965397,313.95067836072,327.03195662575,334.88072358477,348.83408706747,392.4383479509,418.60090448096,446.50763144636,490.54793493862,502.32108537715,523.2511306012],description:"Inverted and rotated North Indian gamut"},"indian-magrama":{frequencies:[261.6255653006,294.32876096318,327.03195662575,367.91095120397,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Indian mode Ma-grama (Sa Ri Ga Ma Pa Dha Ni Sa)"},"indian-newbengali":{frequencies:[261.6255653006,269.13627541126,277.02257024271,285.46954808622,294.32876096318,303.84527498141,313.95067836072,324.71413568646,336.35938765066,348.83408706747,358.01090280364,367.91095120397,377.98706287655,388.6137256405,400.23209335925,412.19781491431,425.25755219187,438.98455767189,453.41648894489,469.13512554326,485.39868175205,503.9696508909,523.2511306012],description:"Modern Bengali scale,S.M. Tagore: The mus. scales of the Hindus,Calcutta 1884"},"indian-old2ellis":{frequencies:[261.6255653006,270.06509966514,277.97716313189,285.40970760065,294.32876096318,305.22982618403,316.13089140489,327.03195662575,337.93302184661,348.83408706747,359.73515228832,370.63621750918,380.54627680087,392.4383479509,404.33041910093,415.52295665389,428.11456140098,441.49314144476,457.84473927605,474.19633710734,490.54793493862,505.80942624783,523.2511306012],description:"Ellis Old Indian Chrom2, Helmholtz, p. 517. This is a 4 cent appr. to #73"},"indian-oldellis":{frequencies:[261.6255653006,269.44737349144,277.4816601673,285.79952600623,294.32876096318,304.84150796353,315.71315096976,327.03195662575,337.72216249472,348.83408706747,359.25382662183,369.99442271164,381.0561299374,392.4383479509,404.18156579781,416.22249025095,428.71043212875,441.49314144476,457.27414749797,473.58203588493,490.54793493862,506.59641128799,523.2511306012],description:"Ellis Old Indian Chromatic, Helmholtz, p. 517. This is a 0.5 cent appr. to #73"},"indian-raja":{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,490.54793493862,523.2511306012],description:"A folk scale from Rajasthan, India"},"indian-sagrama":{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Indian mode Sa-grama (Sa Ri Ga Ma Pa Dha Ni Sa), inverse of Didymus' diatonic"},"indian-srutiharm":{frequencies:[261.6255653006,275.04226095704,278.87560257317,292.29229825722,294.20896982953,310.50067090621,313.3756771183,327.75070817877,332.5423844325,351.70909240436,354.58409877157,369.9174668925,374.70914348171,393.87585105695,414.95923028882,421.66757847392,437.95928040996,441.79262140873,467.66767825558,473.41768959156,493.54273382289,499.29274676062,523.2511306012],description:"B. Chaitanya Deva's sruti harmonium. The Music of India, 1981, p. 109"},"indian-srutivina":{frequencies:[261.6255653006,268.56758546278,278.98051393788,288.52577197574,297.52863491406,305.33829130574,314.01573591759,327.57422802312,336.57725592546,350.35262131413,358.2707318239,366.40588882483,378.77125721528,394.82459335461,403.28512412878,416.95215854696,428.77531684666,444.28620821491,453.93981227417,469.5594057965,487.34812384257,504.37765306036,529.32520658991],description:"Raja S.M. Tagore's sruti vina, measured by Ellis and Hipkins, 1886. 1/1=241.2"},"indian-srutivina2":{frequencies:[261.6255653006,275.04226095704,278.87560257317,292.29229825722,294.20896982953,310.50067090621,313.3756771183,327.75070817877,332.5423844325,351.70909240436,354.58409877157,369.9174668925,374.70914348171,393.87585105695,414.95923028882,421.66757847392,437.95928040996,441.79262140873,467.66767825558,473.41768959156,493.54273382289,499.29274676062,523.2511306012],description:"S. Ramanathan's sruti vina, 1973. In B.C. Deva, The Music of India, p. 110"},"indian-vina":{frequencies:[261.6255653006,276.70272600503,292.81785438923,313.29104303136,329.05685050583,352.26720984209,369.14054089803,390.18821123181,411.0090584005,435.70052664441,465.35666077712,491.60634075178,525.37110555681],description:"Observed South Indian tuning of a vina, Ellis"},"indian-vina2":{frequencies:[261.6255653006,277.02257024271,292.81785438923,308.97787266236,326.21810583671,344.81842302716,363.84824628932,386.37547528213,409.11417474979,432.19134773437,455.25352578019,480.93331155807,507.76825077597,539.82938999168,571.59905201246,602.44805673853,637.90290877605,678.5727631795,715.19510239543,756.4109196702,799.53998816902,846.10508618474,890.73947019126,943.16064703194,1001.55531043729],description:"Observed tuning of old vina in Tanjore Palace, Ellis and Hipkins. 1/1=210.7 Hz"},"indian-vina3":{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Tuning of K.S. Subramanian's vina (1983)"},indian:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.50983809402,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"Indian shruti scale"},indian2:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"Indian shruti scale with tritone 64/45 schisma lower (Mr.Devarajan, Madurai)"},indian2_sm:{frequencies:[261.6255653006,275.80107697063,279.12844116922,290.7446524607,294.25230137258,310.19560923413,313.9379197281,327.00276442799,330.9478443499,348.87940629173,353.08841191408,367.78254402461,372.21960384438,392.38737044642,413.64787586584,418.63827382983,436.06032987759,441.3211172644,465.23297251763,470.84571179248,490.44043044945,496.35728163707,523.2511306012],description:"Shruti/Mathieu's Magic Mode scale in 289-equal (schismic) temperament"},indian3:{frequencies:[261.6255653006,270.06509966514,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,506.89953276991,523.2511306012],description:"Indian shruti scale with 32/31 and 31/16 and tritone schisma lower"},indian4:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,330.74639366397,348.83408706747,367.91095120397,372.08969287196,387.59343007496,392.4383479509,413.89982010446,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.11959049595,523.2511306012],description:"Indian shruti scale according to Firoze Framjee: Text book of Indian music"},indian5:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,387.59343007496,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"23 Shrutis, Amit Mitra, 1/1 no. 12:2, Table C."},indian6:{frequencies:[146.8323839587,148.66778875818,150.35636117371,151.0621234143,152.23581568838,152.95039995698,154.68761437624,154.86227995644,156.62120955595,158.5789746754,159.32333328852,163.14709328744,165.18643195354,167.06262352634,169.15090632042,169.94488884109,172.0691999516,174.02356617327,176.19886075044,178.40134650982,179.23874994958,180.42763340845,181.27454809716,183.54047994838,185.62513725149,185.83473594773,187.94545146714,188.82765426788,190.29476961048,191.18799994622,193.3595179703,193.57784994555,195.77651194493,198.22371834425,200.47514823161,202.98108758451,203.93386660931,206.48303994192,208.82827940793,209.0640779412,211.43863290053,212.43111105136,214.08161581178,215.0864999395,217.52945771659,220.24857593805,223.00168313728,225.53454176056,226.59318512145,228.35372353257,229.42559993547,232.03142156437,232.29341993466,234.93181433392,237.86846201309,238.98499993278,240.57017787793,241.69939746288,244.72063993117,247.77964793031,250.59393528951,253.72635948063,254.91733326163,258.1037999274,261.03534925991,264.29829112566,267.60201976473,270.64145011268,271.91182214574,275.31071992256,278.43770587724,278.75210392159,281.9181772007,283.24148140181,285.44215441571,286.78199991934,290.03927695546,293.6647679174],description:"Shrutis calculated by generation method, Amit Mitra, 1/1 no. 12:2, Table B."},indian_12:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"North Indian Gamut, modern Hindustani gamut out of 22 or more shrutis"},indian_12c:{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,328.55303549378,348.83408706747,369.35373924791,392.4383479509,415.52295665389,441.49314144476,470.92601754108,492.82955324067,523.2511306012],description:"Carnatic gamut. Kuppuswami: Carnatic music and the Tamils, p. v"},indian_a:{frequencies:[261.6255653006,290.79521372391,318.76727400207,355.94891173479,388.6137256405,432.69092326853,486.52148746092,523.2511306012],description:"One observed indian mode"},indian_b:{frequencies:[261.6255653006,290.79521372391,305.95868600104,356.15457528086,388.83826257328,432.94092754357,461.60862817266,523.2511306012],description:"Observed Indian mode"},indian_c:{frequencies:[261.6255653006,278.94941459687,313.65318017499,356.15457528086,388.83826257328,422.07621250312,470.76384471612,523.2511306012],description:"Observed Indian mode"},indian_d:{frequencies:[261.6255653006,289.28740724512,320.24370022528,344.61930560862,391.31674786192,442.03793673691,485.39868175205,523.2511306012],description:"Indian D (Ellis, correct)"},indian_e:{frequencies:[261.6255653006,275.58617649731,323.21709932123,347.81902735497,393.58362272115,410.77171881178,488.21056770985,523.2511306012],description:"Observed Indian mode"},indian_g:{frequencies:[261.6255653006,275.48458755707,279.57748987366,290.07776015425,294.38747470873,309.98198497505,314.58741860623,326.40257913196,331.25197518754,348.79929894143,353.98144532328,367.27615246113,372.73281132023,392.47748849606,413.26809526256,419.40806105693,435.16003737285,441.62525396027,465.0193523796,471.92819182319,489.65270022124,496.92751979948,523.2511306012],description:"Shruti/Mathieu's Magic Mode scale in 94-et (garibaldi) temperament"},indian_rat:{frequencies:[261.6255653006,269.55361273395,277.4816601673,285.40970760065,294.32876096318,302.93486508491,315.75499260417,327.03195662575,337.58137458142,348.83408706747,359.73515228832,370.63621750918,380.54627680087,392.4383479509,404.33041910093,416.22249025095,428.77523202043,441.49314144476,457.84473927605,473.41768959156,490.54793493862,506.37206187213,523.2511306012],description:"Indian Raga, From Fortuna, after Helmholtz, ratios by JC"},indian_rot:{frequencies:[261.6255653006,272.52663052146,279.06726965397,306.59245933664,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,510.98743222773,523.2511306012],description:"Rotated North Indian Gamut"},ionic:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:"Ancient greek Ionic"},iran_diat:{frequencies:[261.6255653006,297.21429859784,337.6441411202,347.13660997509,394.35734781054,448.00148789644,460.59652406882,523.2511306012],description:"Iranian Diatonic from Dariush Anooshfar, Safi-a-ddin Armavi's scale from 125 ET"},iraq:{frequencies:[261.6255653006,290.3675288125,326.6631048533,348.83408706747,387.1561215731,435.55129321875,465.11211608996,516.20736538157,523.2511306012],description:"Iraq 8-tone scale, Ellis"},isfahan_5:{frequencies:[261.6255653006,283.42769574232,305.22982618403,327.03195662575,348.83408706747,523.2511306012],description:"Isfahan (IG #2, DF #8), from Rouanet"},islamic:{frequencies:[261.6255653006,283.42769574232,305.22982618403,330.6656450327,348.83408706747,523.2511306012],description:"Islamic Genus (DF#7), from Rouanet"},italian:{frequencies:[261.6255653006,274.68983337859,292.34127285051,309.02606224197,326.6631048533,348.44038788768,366.66693712906,391.11111150212,411.56972129721,437.02884834934,464.06284405662,489.44164088633,523.2511306012],description:"Italian organ temperament, G.C. Klop (1974), 1/12 P.comma, also d'Alembert/Rousseau (1752/67)"},iter1:{frequencies:[261.6255653006,264.43874342211,268.51044859798,278.54662176283,304.33994330886,376.91818729747,631.61998662719],description:"McLaren style, IE= 2.414214, PD=5, SD=0"},iter10:{frequencies:[261.6255653006,277.06070189651,293.38358189778,297.59908052943,301.91391280887,310.68035879446,328.97472072452,338.5155215149,348.35227203008,368.89204707385,413.65123162392,438.0707139917,463.89070822207,520.1365405381,535.27989222422,550.79066379074,583.29634230953,654.0639132515],description:"Iterated 5/2 Scale, IE=5/2, PD=4, SD=3"},iter11:{frequencies:[261.6255653006,278.87608544381,297.26403435806,306.90779184711,316.86440944623,337.75715313333,360.02747892105,383.76621672426,396.21625406084,409.07019206122,436.04260883433],description:"Binary 5/3 Scale #2"},iter12:{frequencies:[261.6255653006,297.26403435806,306.90779184711,316.86440944623,337.75715313333,360.02747892105,383.76621672426,396.21625406084,409.07019206122,436.04260883433],description:"Binary 5/3 Scale #4"},iter13:{frequencies:[261.6255653006,297.26403435806,337.75715313333,383.76621672426,409.07019206122,436.04260883433],description:"Binary 5/3 Scale #6"},iter14:{frequencies:[261.6255653006,280.22072913446,300.13755324878,344.3186075731,368.79121945838,395.0032340925,453.14877154631,519.85349135637,596.37732215892,638.76512932755,684.16567043124,784.8766959018],description:"Binary Divided 3/1 Scale #2"},iter15:{frequencies:[261.6255653006,285.30470202322,311.12698372208,324.90175210669,339.28638158975,369.99442271164,403.48177901006,440,459.48046426806,479.82340237272,523.2511306012],description:"Binary Division Scale"},iter16:{frequencies:[261.6255653006,273.20871865617,285.30470202322,311.12698372208,324.90175210669,339.28638158975,369.99442271164,403.48177901006,440,459.48046426806,479.82340237272,523.2511306012],description:"Binary Division Scale 4+2"},iter17:{frequencies:[261.6255653006,278.49896488475,296.46060526524,301.12918013362,305.87127435301,315.58067012184,335.93387506143,346.5975621448,357.59974896504,380.66295170881,431.34763334053,459.16716607109,488.78090454553,553.8613271114,571.44277158458,589.58231097183,627.60710380636,711.17202040031],description:"Binary E Scale #2"},iter18:{frequencies:[261.6255653006,296.46060526524,335.93387506143,357.59974896504,380.66295170881,431.34763334053,488.78090454553,553.8613271114,589.58231097183,627.60710380636,711.17202040031],description:"Binary E Scale #4"},iter19:{frequencies:[261.6255653006,322.51878830959,331.06584352035,339.83940187549,358.09020513941,397.58488163802,418.936859706,441.43552612833,490.12256936272,604.19836236377,670.83693141722,744.82523718317,918.18295398723,967.49323514067,1019.45167961503,1131.88958971281,1395.33634826987],description:"Binary Kidjel Ratio scale #2, IE=16/3"},iter2:{frequencies:[261.6255653006,264.43874342211,268.51044859798,278.54662176283,304.33994330886,376.91818729747,466.76379263857,529.06503205232,631.63886479716],description:"Iterated 1 + SQR(2) Scale, IE=2.414214, PD=5, SD=1"},iter20:{frequencies:[261.6255653006,269.61366892789,277.84567157694,295.07138236029,304.08067308856,313.36504071103,332.79286022776,353.42515415018,375.3365967665,386.79659161311,398.60648967463,423.31905787312],description:"Binary PHI Scale #2"},iter21:{frequencies:[261.6255653006,265.58958666715,269.61366892789,277.84567157694,295.07138236029,304.08067308856,313.36504071103,332.79286022776,353.42515415018,375.3365967665,386.79659161311,398.60648967463,423.31905787312],description:"Binary PHI Scale 5+2 #2"},iter22:{frequencies:[261.6255653006,301.8727519909,307.3207469799,312.86706369289,324.26179396336,348.311367392,360.99698978488,374.14462916403,401.89387036212,463.7192413329,498.11197631533,535.05552246568,617.36582527423,639.85050556571,663.15408964479,712.33833913185,821.92095613931],description:"Binary PI Scale #2"},iter23:{frequencies:[261.6255653006,280.22072913446,282.63618845904,285.07246866924,290.00821285991,300.13755151512,305.33413252207,310.62068712289,321.46997343155,344.3186075731,356.34488692223,368.79121945838,395.00323181087,401.84231702948,408.7998141568,423.07827792492,453.14877154631],description:"Binary SQR(3) Scale #2"},iter24:{frequencies:[261.6255653006,289.31157243481,292.97226416221,296.67927674571,304.23460945445,319.92739457651,328.07477344771,336.42963427227,353.78307729046,391.22147055517,411.40114203819,432.62170761687,478.4030399831,490.58621022536,503.07964402145,529.02909391167,585.01254970054],description:"Binary SQR(5) Scale #2"},iter25:{frequencies:[261.6255653006,295.4600775297,299.98610231105,304.581459303,313.98443628203,333.67021037701,343.97120738708,354.59021667251,376.82183739983,425.55401329039,452.23482674104,480.58843796626,542.7401414615,559.49550492793,576.76813324226,612.92956630767,692.19618110881],description:"Binary SQR(7) Scale #2"},iter26:{frequencies:[261.6255653006,266.56189672137,275.04226095704,276.16031892841,278.32506946872,283.8915708581,299.68019298069,302.93486508491,309.19384990071,326.13597866239,377.90359432309,389.87339142835,411.92110281371,477.08191319521,486.74523776856,503.12608711654,552.32063785682,711.29450566101],description:"E Scale"},iter27:{frequencies:[261.6255653006,264.53251602616,264.59858308811,264.97973921471,266.91093025617,277.4816601673,277.93638607994,279.98525409362,291.05844139692,358.0999925052,361.3330282979,375.61956161015,462.09190754392,465.48964215821,480.4396744611,568.53247844169,1395.33634826987],description:"Iterated Kidjel Ratio Scale, IE=16/3, PD=3, SD=3"},iter28:{frequencies:[261.6255653006,265.20947715403,272.47639519786,295.60291144354,377.3445653374,784.8766959018],description:"McLaren 3-Division Scale"},iter29:{frequencies:[261.6255653006,264.46932144517,267.35459227799,273.20191774753,285.29018929764,311.12229387098,370.01329949656,523.2511306012],description:"Iterated Binary Division of the Octave, IE=2, PD=6, SD=0"},iter3:{frequencies:[261.6255653006,291.72408166262,314.40967058055,328.65360269166,338.82655178274,356.71329642628,384.4758307461,404.77917650282,417.30358762823,426.15298265459,441.49314144476],description:"Iterated 27/16 Scale, analog of Hexachord, IE=27/16, PD=3, SD=2"},iter30:{frequencies:[261.6255653006,263.40533105094,266.47048317654,274.97380842818,299.54231389489,377.98194879009,711.1793535636],description:"Iterated E-scale, IE= 2.71828, PD=5, SD=0"},iter31:{frequencies:[261.6255653006,264.53251602616,277.4816601673,358.0999925052,1395.33634826987],description:"Iterated Kidjel Ratio Scale, IE=16/3, PD=3, SD=0"},iter32:{frequencies:[261.6255653006,264.32273607689,265.98599138894,268.74462830198,273.21657135822,280.65287914064,293.09931751721,314.43072526953,352.25402909754,423.30428543018],description:"Iterated PHI scale, IE= 1.61803339, PD=8, SD=0"},iter33:{frequencies:[261.6255653006,264.70351312767,271.46111286829,293.79264300149,376.62581378438,821.87425059077],description:"Iterated PI Scale, IE= 3.14159, PD=4, SD=0"},iter34:{frequencies:[261.6255653006,263.41752122732,264.70351312767,267.00143308075,271.01725226011,278.10591587072,290.81088732616,314.21361862735,359.24704489038,453.1728541814],description:"Iterated SQR3 Scale, IE= 1.73205, PD=8, SD=0"},iter35:{frequencies:[261.6255653006,263.32443260775,265.41724016003,270.17542037578,281.14986121856,307.30621955943,374.94109676838,585.0238335194],description:"Iterated SQR 5 Scale, IE= 2.23607, PD=6, SD=0"},iter36:{frequencies:[261.6255653006,263.60757715894,266.85807660661,275.72514666411,300.63990398578,377.90359432309,692.2176415245],description:"Iterated SQR 7 Scale, IE= 2.64575, PD=5, SD=0"},iter37:{frequencies:[261.6255653006,295.02271214403,313.28742377221,326.0879260201,332.68289475257,342.82647426905,364.05069339959,375.15068445646,382.73792346942,386.58911684499,392.4383479509],description:"Iterated 3/2 scale, IE=3/2, PD=3, SD=2"},iter4:{frequencies:[261.6255653006,267.82522324611,277.41331493081,278.97828136646,281.37089098366,287.35922746131,302.93486508491,307.2300216374,313.76772341995,330.79094463294,377.42704502382,390.96854140427,412.14986314478,470.26367433779,480.2976795817,495.79659597089,536.59937372878,654.0639132515],description:"Iterated 5/2 Scale, IE=5/2, PD=4, SD=3"},iter5:{frequencies:[261.6255653006,292.148547919,314.45380444784,328.62723446295,338.43307070995,355.46951807147,382.59222452561,401.8431885336,413.81298563886,422.03832066739,436.04260883433],description:"Iterated 5/3 Scale, analog of Hexachord, IE=5/3, PD=3, SD=2"},iter6:{frequencies:[261.6255653006,276.4345595629,292.10621368514,326.13597866239,344.58001283494,364.1180547998,406.52587839016,453.84026633778,506.69255051888,535.41976154541,565.73733351326,631.63886479716],description:"Iterated binary 1+SQR(2) scale, IE= 2.414214, G=2, PD=4, SD=2"},iter7:{frequencies:[261.6255653006,279.30296836145,298.19688088025,308.09852755794,318.34159693919,339.84351781315,362.8203594263,387.34174602946,400.24806631808,413.53718386224,441.49314144476],description:"Iterated 27/16 Scale, analog of Hexachord, IE=27/16, PD=3, SD=2"},iter8:{frequencies:[261.6255653006,298.19688088025,308.09852755794,318.34159693919,339.84351781315,362.8203594263,387.34174602946,400.24806631808,413.53718386224,441.49314144476],description:"Iterated 27/16 Scale, analog of Hexachord, IE=27/16, PD=2, SD=2"},iter9:{frequencies:[261.6255653006,298.19688088025,339.84351781315,387.34174602946,413.53718386224,441.49314144476],description:"Iterated 27/16 Scale, analog of Hexachord, IE=27/16, PD=2, SD=12"},ives:{frequencies:[261.6255653006,302.26980244078,349.22823143301,375.37611551499,433.69180740168,501.06699929295,578.9091089468,622.25396744417],description:`Charles Ives' stretched major scale, "Scrapbook" pp. 108-110`},ives2a:{frequencies:[261.6255653006,303.72829164664,352.60650301302,379.92060676531,441.0602510811,512.03893786214,594.44004134205,640.48740045057],description:"Speculation by Joe Monzo for Ives' other stretched scale"},ives2b:{frequencies:[261.6255653006,300.81831683262,345.88232658126,370.885984045,426.44646246473,490.3301667422,563.78395315523,604.53960488156],description:"Alt. speculation by Joe Monzo for Ives' other stretched scale"},abell1:{frequencies:[261.6255653006,273.68256372566,292.6487650037,305.95868600104,327.16162250699,342.04121835587,365.95599773772,391.31674786192,409.35055662695,437.71854962063,457.62637091093,489.33987776603,523.2511306012],description:"Ross Abell's French Baroque Meantone 1, a'=520"},abell2:{frequencies:[261.6255653006,275.90473010106,294.68429813772,308.79945157961,330.00857764288,348.01999353916,369.14054089803,392.90218486657,412.67427966689,441.52756934418,463.21121723949,493.59810545034,523.2511306012],description:"Ross Abell's French Baroque Meantone 2, a'=520"},abell3:{frequencies:[261.6255653006,275.90505521365,293.49576926806,308.08682543008,329.24698751194,350.03632176331,368.71497179837,392.44893164635,412.28324979826,440.25465969448,462.14293627657,492.7440237889,523.2511306012],description:"Ross Abell's French Baroque Meantone 3, a' = 520"},abell4:{frequencies:[261.6255653006,274.95017225036,292.98704147282,308.2648062752,328.10786809908,346.01554587335,367.43868454848,391.54284657258,411.48414905414,438.47771564426,461.87534079415,491.0387427573,523.2511306012],description:"Ross Abell's French Baroque Meantone 4, a'=520"},abell5:{frequencies:[261.6255653006,277.98432293805,295.87822452474,311.66659310186,331.15428443044,349.43001184052,371.27895029721,395.6350356808,416.26536455926,442.29334161825,466.70260620202,495.88429116026,523.2511306012],description:"Ross Abell's French Baroque Meantone 5, a'=520"},abell6:{frequencies:[261.6255653006,277.02257024271,293.32570896007,311.66659310186,330.00857764288,349.43001184052,369.99442271164,391.76907592069,414.82519580403,440.76312290327,466.70260620202,494.16866184506,523.2511306012],description:"Ross Abell's French Baroque Meantone 6, a'=520"},abell7:{frequencies:[261.6255653006,277.50302994288,294.34406205295,310.05056613125,328.86683469969,348.82502010853,369.99442271164,392.44854854484,416.26536455926,438.47771564426,465.08793784701,493.31307433255,523.2511306012],description:"Ross Abell's French Baroque Meantone 7, a'=520"},abell8:{frequencies:[261.6255653006,277.82379926216,294.68429813772,311.48661940174,329.62755691287,350.03605285217,371.27895029721,392.44854854484,415.30469757995,441.01779121056,467.78216486233,494.45418731234,523.2511306012],description:"Ross Abell's French Baroque Meantone 8, a'=520"},abell9:{frequencies:[261.6255653006,276.06414495892,293.32570896007,309.69258848748,330.19925313612,348.62358905703,369.14054089803,391.99543598175,412.67427966689,440,464.55095742407,493.88330125613,523.2511306012],description:"Ross Abell's French Baroque Meantone 9, a'=520"},"ad-dik":{frequencies:[261.6255653006,269.0348830679,275.62199471997,285.40970760065,294.32876096318,300.46061014991,310.07474405997,321.08592105074,327.03195662575,336.37572681506,348.83408706747,358.80077526939,367.49599295996,378.42269266694,392.4383479509,400.61414686654,413.43299207996,428.11456140098,441.49314144476,453.48431318771,470.92601754108,479.64686971777,490.54793493862,508.71637697339,523.2511306012],description:"Amin Ad-Dik, d'Erlanger, vol 5, p.42"},adjeng:{frequencies:[261.6255653006,285.30470202322,305.78200836532,383.0422478503,417.71053321823,523.2511306012],description:"Soeroepan adjeng"},aeolic:{frequencies:[261.6255653006,294.32876096318,310.07474405997,348.83408706747,392.4383479509,413.43299207996,465.11211608996,523.2511306012],description:"Ancient Greek Aeolic, also tritriadic scale of the 54:64:81 triad"},agricola:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.42486507835,331.11985608357,348.83408706747,367.91095120397,392.4383479509,413.89982010446,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"Agricola's Monochord, Rudimenta musices (1539)"},"al-din":{frequencies:[261.6255653006,275.62199471997,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,367.49599295996,387.15627241873,392.4383479509,413.43299207996,435.55080647107,441.49314144476,465.11211608996,489.99465727995,516.20836322497,523.2511306012,551.24398943995,580.73440862809,588.65752192635,620.14948811994,653.3262097066,688.27781763329,697.66817413493,734.99198591993,774.31254483746,784.8766959018,826.86598415992,871.10161294214,917.70375684439,930.22423217991,979.98931455991,1032.41672644994,1046.5022612024,1102.48797887989],description:"Safi al-Din's complete lute tuning on 5 strings 4/3 apart"},"al-din_19":{frequencies:[261.6255653006,275.62199471997,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,344.13890881665,348.83408706747,367.49599295996,387.15627241873,392.4383479509,413.43299207996,435.55080647107,441.49314144476,458.8518784222,465.11211608996,489.99465727995,516.20836322497,523.2511306012],description:"Arabic scale by Safi al-Din"},"al-farabi":{frequencies:[261.6255653006,279.06726965397,299.00064605783,348.83408706747,392.4383479509,418.60090448096,448.50096908674,523.2511306012],description:"Al-Farabi Syn Chrom"},"al-farabi_19":{frequencies:[261.6255653006,275.62199471997,285.40970760065,294.32876096318,310.07474405997,326.6631048533,331.11985608357,336.87132687997,348.83408706747,367.49599295996,380.54627680087,392.4383479509,413.43299207996,435.55080647107,441.49314144476,455.28980211491,465.11211608996,489.99465727995,507.3950357345,523.2511306012],description:"Arabic scale by Al Farabi"},"al-farabi_22":{frequencies:[261.6255653006,275.62199471997,277.01530443593,285.40970760065,294.32876096318,310.07474405997,321.08592105074,326.6631048533,331.11985608357,348.83408706747,367.49599295996,369.35373924791,380.54627680087,392.4383479509,413.43299207996,428.11456140098,435.55080647107,441.49314144476,465.11211608996,489.99465727995,492.47165233054,507.3950357345,523.2511306012],description:"Al-Farabi 22 note ud scale"},"al-farabi_9":{frequencies:[261.6255653006,294.32876096318,321.08592105074,331.11985608357,348.83408706747,392.4383479509,428.11456140098,441.49314144476,465.11211608996,523.2511306012],description:"Al-Farabi 9 note ud scale"},"al-farabi_blue":{frequencies:[261.6255653006,294.32876096318,367.91095120397,380.81054504865,392.4383479509,490.54793493862,506.89953276991,523.2511306012],description:"Another tuning from Al Farabi, c700 AD"},"al-farabi_chrom":{frequencies:[261.6255653006,294.32876096318,353.19451315581,372.50983809402,392.4383479509,470.92601754108,497.08857407114,523.2511306012],description:"Al Farabi's Chromatic c700 AD"},"al-farabi_chrom2":{frequencies:[261.6255653006,279.06726965397,325.57848126297,348.83408706747,392.4383479509,418.60090448096,488.36772189445,523.2511306012],description:"Al-Farabi's Chromatic permuted"},"al-farabi_diat":{frequencies:[261.6255653006,299.00064605783,341.71502406609,348.83408706747,392.4383479509,448.50096908674,512.57253609913,523.2511306012],description:"Al-Farabi's Diatonic"},"al-farabi_diat2":{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:"Old Phrygian, permuted form of Al-Farabi's reduplicated 10/9 diatonic genus, same as ptolemy_diat"},"al-farabi_div":{frequencies:[261.6255653006,275.62199471997,277.01530443593,284.45195690401,288.32205155576,294.32876096318,310.07474405997,311.64221749042,321.08592105074,331.11985608357,348.83408706747],description:"Al Farabi's 10 intervals for the division of the tetrachord"},"al-farabi_div2":{frequencies:[261.6255653006,275.62199471997,277.01530443593,279.38237857051,284.45195690401,288.32205155576,294.32876096318,310.07474405997,311.64221749042,314.30517589183,321.08592105074,331.11985608357,348.83408706747],description:"Al-Farabi's tetrachord division, incl. extra 2187/2048 & 19683/16384"},"al-farabi_divo":{frequencies:[261.6255653006,275.62199471997,277.01530443593,284.45195690401,288.32205155576,294.32876096318,310.07474405997,311.64221749042,321.08592105074,331.11985608357,348.83408706747,367.49599295996,369.35373924791,379.26927587201,392.4383479509,413.43299207996,415.52295665389,426.67793535601,432.48307733364,441.49314144476,465.11211608996,467.46332623563,481.6288815761,496.67978412536,523.2511306012],description:"Al Farabi's theoretical octave division with identical tetrachords, 10th c."},"al-farabi_dor":{frequencies:[261.6255653006,282.55561052465,313.95067836072,348.83408706747,392.4383479509,423.83341578697,470.92601754108,523.2511306012],description:"Dorian mode of Al-Farabi's 10/9 Diatonic"},"al-farabi_dor2":{frequencies:[261.6255653006,267.07609791103,305.22982618403,348.83408706747,392.4383479509,400.61414686654,457.84473927605,523.2511306012],description:"Dorian mode of Al-Farabi's Diatonic"},"al-farabi_g1":{frequencies:[261.6255653006,294.32876096318,331.11985608357,367.91095120397,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Al-Farabi's Greek genus conjunctum medium, Land"},"al-farabi_g10":{frequencies:[261.6255653006,294.32876096318,343.38355445704,367.91095120397,392.4383479509,457.84473927605,490.54793493862,523.2511306012],description:"Al-Farabi's Greek genus chromaticum forte"},"al-farabi_g11":{frequencies:[261.6255653006,294.32876096318,353.19451315581,372.50983809402,392.4383479509,470.92601754108,496.67978412536,523.2511306012],description:"Al-Farabi's Greek genus chromaticum mollissimum"},"al-farabi_g12":{frequencies:[261.6255653006,294.32876096318,367.91095120397,380.17464957743,392.4383479509,490.54793493862,506.89953276991,523.2511306012],description:"Al-Farabi's Greek genus mollissimum ordinantium"},"al-farabi_g3":{frequencies:[261.6255653006,294.32876096318,336.37572681506,378.42269266694,392.4383479509,448.50096908674,504.56359022259,523.2511306012],description:"Al-Farabi's Greek genus conjunctum primum"},"al-farabi_g4":{frequencies:[261.6255653006,294.32876096318,336.37572681506,384.42940207435,392.4383479509,448.50096908674,512.57253609913,523.2511306012],description:"Al-Farabi's Greek genus forte duplicatum primum"},"al-farabi_g5":{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,436.04260883433,479.64686971777,523.2511306012],description:"Al-Farabi's Greek genus conjunctum tertium, or forte aequatum"},"al-farabi_g6":{frequencies:[261.6255653006,294.32876096318,336.37572681506,373.75080757229,392.4383479509,448.50096908674,498.33441009638,523.2511306012],description:"Al-Farabi's Greek genus forte disjunctum primum"},"al-farabi_g7":{frequencies:[261.6255653006,294.32876096318,343.38355445704,374.60024122586,392.4383479509,457.84473927605,499.46698830115,523.2511306012],description:"Al-Farabi's Greek genus non continuum acre"},"al-farabi_g8":{frequencies:[261.6255653006,294.32876096318,353.19451315581,378.42269266694,392.4383479509,470.92601754108,504.56359022259,523.2511306012],description:"Al-Farabi's Greek genus non continuum mediocre"},"al-farabi_g9":{frequencies:[261.6255653006,294.32876096318,367.91095120397,383.71749577421,392.4383479509,490.54793493862,511.62332769895,523.2511306012],description:"Al-Farabi's Greek genus non continuum laxum"},"al-hwarizmi":{frequencies:[261.6255653006,294.32876096318,302.73815413355,311.64221749042,321.08592105074,331.11985608357,348.83408706747],description:"Al-Hwarizmi's tetrachord division"},"al-kindi":{frequencies:[261.6255653006,275.62199471997,279.38237857051,294.32876096318,310.07474405997,331.11985608357,348.83408706747],description:"Al-Kindi's tetrachord division"},"al-kindi2":{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,367.49599295996,392.4383479509,413.43299207996,435.55080647107,441.49314144476,465.11211608996,489.99465727995,523.2511306012],description:"Arabic mode by al-Kindi"},"al-mausili":{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,331.11985608357,348.83408706747,367.49599295996,392.4383479509,413.43299207996,441.49314144476,465.11211608996,523.2511306012],description:"Arabic mode by Ishaq al-Mausili, ? - 850 AD"},albion:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Terry Riley's Harp of New Albion scale, inverse Malcolm's Monochord, 1/1 on C#"},alembert:{frequencies:[261.6255653006,273.70610837433,292.50627485027,307.8325111191,327.03195662575,347.99121610009,365.92863081328,391.22147055517,409.45161370755,437.39890198442,462.86717295458,489.22460251523,523.2511306012],description:"Jean-Le Rond d'Alembert modified meantone (1752)"},alembert2:{frequencies:[261.6255653006,274.99999938609,292.5775112526,309.28790118232,327.03195662575,348.53877105022,367.08095907728,391.31674786192,412.03444522126,437.50542525192,464.32494005553,489.99429388332,523.2511306012],description:"d'Alembert (?)"},alves:{frequencies:[261.6255653006,267.07609791103,294.32876096318,305.22982618403,327.03195662575,336.37572681506,348.83408706747,359.73515228832,392.4383479509,425.14154361347,448.50096908674,457.84473927605,504.56359022259,523.2511306012],description:'Bill Alves, tuning for "Instantaneous Motion", 1/1 vol. 6/3'},alves_22:{frequencies:[261.6255653006,269.80136421624,279.06726965397,287.78812183066,297.30177875068,305.22982618403,317.12189733406,327.03195662575,336.37572681506,348.83408706747,359.73515228832,370.01329949656,380.54627680087,392.4383479509,406.97310157871,418.60090448096,431.68218274599,448.50096908674,460.46099492906,475.68284600109,490.54793493862,507.3950357345,523.2511306012],description:"11-limit rational interpretation of 22-tET, Bill Alves, tuning list 9-1-98"},amity:{frequencies:[261.6255653006,265.19165427121,275.22357733525,278.97501409741,282.77758484276,286.63198489776,290.53892403345,294.49911672845,305.63971046081,309.80573452349,314.02854360428,318.30891171173,322.64762154083,327.04547204619,339.41726037801,344.04368955469,348.73317930436,353.48658917459,358.304790429,371.85908609843,376.92771379174,382.0654272409,387.27317253358,392.55190203235,397.90258328792,412.95482206782,418.58360545772,424.28911201625,430.07238503487,435.93448947821,452.42543551278,458.59222335614,464.84306764133,471.17911410024,477.60152408164,484.11147196776,502.42490579041,509.27320879713,516.21486058423,523.2511306012],description:"Amity temperament, g=339.508826, 5-limit"},angklung:{frequencies:[261.6255653006,294.70472480469,326.28010551578,372.13971319976,421.00655337609,533.77627782773,589.40944960937,672.10704388342,757.81210779894],description:"Scale of an anklung set from Tasikmalaya. 1/1=174 Hz"},appunn:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.38237857051,287.10624449997,290.69507255622,294.32876096318,302.46583782713,306.24666079997,310.07474405997,322.99452506247,327.03195662575,331.11985608357,340.27406755552,344.52749339997,348.83408706747,363.36884069528,367.91095120397,372.50983809402,382.80832599996,387.59343007496,392.4383479509,408.78994578219,413.89982010446,419.07356785577,430.65936674996,436.04260883433,441.49314144476,453.6987567407,459.36999119996,465.11211608996,484.4917875937,490.54793493862,496.67978412536,510.41110133328,516.79124009995,523.2511306012],description:"Probable tuning of A. Appunn's 36-tone harmonium w. 3 manuals 80/81 apart,1887"},arabic:{frequencies:[261.6255653006,275.62199471997,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,367.49599295996,387.15627241873,392.4383479509,413.43299207996,435.55080647107,441.49314144476,465.11211608996,489.99465727995,516.20836322497,523.2511306012],description:"Arabic 17-tone Pythagorean mode, Safi al-Din"},arabic_s:{frequencies:[261.6255653006,275.62199471997,290.69507255622,294.32876096318,310.07474405997,327.03195662575,331.11985608357,348.83408706747,367.91095120397,387.59343007496,392.4383479509,413.43299207996,436.04260883433,441.49314144476,465.11211608996,490.54793493862,516.79124009995,523.2511306012],description:"Schimatically altered Arabic 17-tone Pythagorean mode"},arch_chrom:{frequencies:[261.6255653006,271.31540105247,294.32876096318,348.83408706747,392.4383479509,406.97310157871,441.49314144476,523.2511306012],description:"Archytas' Chromatic"},arch_chromc2:{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,331.11985608357,343.38355445704,348.83408706747,361.75386806997,392.4383479509,406.97310157871,422.04617941496,441.49314144476,457.84473927605,496.67978412536,523.2511306012],description:"Product set of 2 of Archytas' Chromatic"},arch_dor:{frequencies:[261.6255653006,271.31540105247,294.32876096318,348.83408706747,392.4383479509,406.97310157871,465.11211608996,441.49314144476,523.2511306012],description:"Dorian mode of Archytas' Chromatic with added 16/9"},arch_enh:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,392.4383479509,406.97310157871,418.60090448096,523.2511306012],description:"Archytas' Enharmonic"},arch_enh2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,392.4383479509,406.97310157871,465.11211608996,418.60090448096,523.2511306012],description:"Archytas' Enharmonic with added 16/9"},arch_enh3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,336.37572681506,348.83408706747,358.80077526939,448.50096908674,523.2511306012],description:"Complex 9 of p. 113 based on Archytas's Enharmonic"},arch_enhp:{frequencies:[261.6255653006,269.10058145205,279.06726965397,348.83408706747,392.4383479509,403.65087217807,418.60090448096,523.2511306012],description:"Permutation of Archytas's Enharmonic with the 36/35 first"},arch_enht:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,336.37572681506,348.83408706747,504.56359022259,523.2511306012],description:"Complex 6 of p. 113 based on Archytas's Enharmonic"},arch_enht2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,348.83408706747,490.54793493862,508.71637697339,523.2511306012],description:"Complex 5 of p. 113 based on Archytas's Enharmonic"},arch_enht3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,281.36411960997,289.40309445597,348.83408706747,361.75386806997,523.2511306012],description:"Complex 1 of p. 113 based on Archytas's Enharmonic"},arch_enht4:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,339.14425131559,348.83408706747,436.04260883433,523.2511306012],description:"Complex 8 of p. 113 based on Archytas's Enharmonic"},arch_enht5:{frequencies:[261.6255653006,263.77886213435,271.31540105247,279.06726965397,339.14425131559,348.83408706747,508.71637697339,523.2511306012],description:"Complex 10 of p. 113 based on Archytas's Enharmonic"},arch_enht6:{frequencies:[261.6255653006,271.31540105247,279.06726965397,289.40309445597,297.67175429757,348.83408706747,372.08969287196,523.2511306012],description:"Complex 2 of p. 113 based on Archytas's Enharmonic"},arch_enht7:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,287.04062021552,348.83408706747,358.80077526939,523.2511306012],description:"Complex 11 of p. 113 based on Archytas's Enharmonic"},arch_mult:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,336.37572681506,348.83408706747,361.75386806997,392.4383479509,406.97310157871,418.60090448096,490.54793493862,504.56359022259,523.2511306012],description:"Multiple Archytas"},arch_ptol:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,310.07474405997,348.83408706747,361.75386806997,392.4383479509,406.97310157871,418.60090448096,436.04260883433,465.11211608996,523.2511306012],description:"Archytas/Ptolemy Hybrid 1"},arch_ptol2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,313.95067836072,348.83408706747,361.75386806997,392.4383479509,406.97310157871,418.60090448096,441.49314144476,470.92601754108,523.2511306012],description:"Archytas/Ptolemy Hybrid 2"},arch_sept:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,310.07474405997,348.83408706747,361.75386806997,392.4383479509,406.97310157871,418.60090448096,441.49314144476,465.11211608996,523.2511306012],description:"Archytas Septimal"},ariel1:{frequencies:[261.6255653006,282.55561052465,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Ariel 1"},ariel2:{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Ariel 2"},ariel3:{frequencies:[261.6255653006,279.06726965397,290.69507255622,310.07474405997,322.99452506247,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,465.11211608996,484.4917875937,523.2511306012],description:"Ariel's 12-tone JI scale"},ariel_19:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,302.80736724606,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,452.08897683944,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Ariel 19-tone scale"},ariel_31:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,283.88190679319,294.32876096318,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,376.74081403286,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,428.6473261885,436.04260883433,446.50763144636,454.2110508691,465.11211608996,482.22824196207,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Ariel's 31-tone system"},arist_archenh:{frequencies:[261.6255653006,271.89678302796,279.86396690685,349.22823143301,391.99543598175,407.38487419079,419.32216217931,523.2511306012],description:"PsAristo Arch. Enharmonic, 4 + 3 + 23 parts, similar to Archytas' enharmonic"},arist_chrom:{frequencies:[261.6255653006,277.18263097687,329.62755691287,349.22823143301,391.99543598175,415.30469757995,493.88330125613,523.2511306012],description:"Dorian, Neo-Chromatic,6+18+6 parts = Athanasopoulos' Byzant.liturg. 2nd chromatic"},arist_chrom2:{frequencies:[261.6255653006,282.57123920205,336.03572815422,349.22823143301,391.99543598175,423.37848741825,503.48470957687,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 8 + 18 + 4 parts"},arist_chrom3:{frequencies:[261.6255653006,279.86388595857,299.37253740865,349.22869576324,391.99491478937,419.32387668214,448.55625766774,523.2511306012],description:"PsAristo 3 Chromatic, 7 + 7 + 16 parts"},arist_chrom4:{frequencies:[261.6255653006,275.85166538713,290.85115308106,349.22823143301,391.99543598175,413.31050241775,435.7843409791,523.2511306012],description:"PsAristo Chromatic, 5.5 + 5.5 + 19 parts"},arist_chromenh:{frequencies:[261.6255653006,269.29177952703,293.66476791741,349.22823143301,391.99543598175,403.48177901006,440,523.2511306012],description:"Aristoxenos' Chromatic/Enharmonic, 3 + 9 + 18 parts"},arist_chrominv:{frequencies:[261.6255653006,311.12698372208,329.62755691287,349.22823143301,391.99543598175,466.16376151809,493.88330125613,523.2511306012],description:"Aristoxenos' Inverted Chromatic, Dorian mode, 18 + 6 + 6 parts"},arist_chromrej:{frequencies:[261.6255653006,277.18263097687,285.30470202322,349.22823143301,391.99543598175,415.30469757995,427.47405410759,523.2511306012],description:"Aristoxenos Rejected Chromatic, 6 + 3 + 21 parts"},arist_chromunm:{frequencies:[261.6255653006,273.20871865617,282.57118533961,349.22823143301,391.99543598175,409.35055662695,423.37840671577,523.2511306012],description:"Unmelodic Chromatic, genus of Aristoxenos, Dorian Mode, 4.5 + 3.5 + 22 parts"},arist_diat:{frequencies:[261.6255653006,293.66476791741,311.12698372208,349.22823143301,391.99543598175,440,466.16376151809,523.2511306012],description:"Phrygian octave species on E, 12 + 6 + 12 parts"},arist_diat2:{frequencies:[261.6255653006,279.86396690685,311.12698372208,349.22823143301,391.99543598175,419.32216217931,466.16376151809,523.2511306012],description:"PsAristo 2 Diatonic, 7 + 11 + 12 parts"},arist_diat3:{frequencies:[261.6255653006,286.68133251996,314.13668154225,349.22823143301,391.99543598175,429.53666932309,470.6732130613,523.2511306012],description:"PsAristo Diat 3, 9.5 + 9.5 + 11 parts"},arist_diat4:{frequencies:[261.6255653006,282.57123920205,305.19382000629,349.22823143301,391.99543598175,423.37848741825,457.27406033445,523.2511306012],description:"PsAristo Diatonic, 8 + 8 + 14 parts"},arist_diatdor:{frequencies:[261.6255653006,299.37379946195,305.19382000629,349.22823143301,391.99543598175,448.5538823653,457.27406033445,523.2511306012],description:"PsAristo Redup. Diatonic, 14 + 2 + 14 parts"},arist_diatinv:{frequencies:[261.6255653006,293.66476791741,329.62755691287,349.22823143301,391.99543598175,440,493.88330125613,523.2511306012],description:"Lydian octave species on E, major mode, 12 + 12 + 6 parts"},arist_diatred:{frequencies:[261.6255653006,299.37379946195,342.56848033562,349.22823143301,391.99543598175,448.5538823653,513.27277840175,523.2511306012],description:"Aristo Redup. Diatonic, Dorian Mode, 14 + 14 + 2 parts"},arist_diatred2:{frequencies:[261.6255653006,271.89678302796,308.14612137864,349.22823143301,391.99543598175,407.38487419079,461.69751437372,523.2511306012],description:"PsAristo 2 Redup. Diatonic 2, 4 + 13 + 13 parts"},arist_diatred3:{frequencies:[261.6255653006,282.57123920205,314.13668154225,349.22823143301,391.99543598175,423.37848741825,470.6732130613,523.2511306012],description:"PsAristo 3 Redup. Diatonic, 8 + 11 + 11 parts"},arist_enh:{frequencies:[261.6255653006,269.29177952703,277.18263097687,349.22823143301,391.99543598175,403.48177901006,415.30469757995,523.2511306012],description:"Aristoxenos' Enharmonion, Dorian mode"},arist_enh2:{frequencies:[261.6255653006,270.59109411209,279.86402025325,349.22823143301,391.99543598175,405.42855124795,419.32224210861,523.2511306012],description:"PsAristo 2 Enharmonic, 3.5 + 3.5 + 23 parts"},arist_enh3:{frequencies:[261.6255653006,267.99870394401,274.52693220706,349.22823143301,391.99543598175,401.54435471309,411.32564531909,523.2511306012],description:"PsAristo Enharmonic, 2.5 + 2.5 + 25 parts"},arist_hemchrom:{frequencies:[261.6255653006,273.20871865617,285.30470202322,349.22823143301,391.99543598175,409.35055662695,427.47405410759,523.2511306012],description:"Aristoxenos's Chromatic Hemiolion, Dorian Mode"},arist_hemchrom2:{frequencies:[261.6255653006,273.20871865617,293.66476791741,349.22823143301,391.99543598175,409.35055662695,440,523.2511306012],description:"PsAristo C/H Chromatic, 4.5 + 7.5 + 18 parts"},arist_hemchrom3:{frequencies:[261.6255653006,271.81876914348,282.83844897362,348.83408706747,392.4383479509,407.72815371522,424.25767346043,523.2511306012],description:"Dorian mode of Aristoxenos' Hemiolic Chromatic according to Ptolemy's interpret"},arist_hypenh2:{frequencies:[261.6255653006,267.3544191957,273.20871865617,349.22823143301,391.99543598175,400.57901831518,409.35055662695,523.2511306012],description:"PsAristo 2nd Hyperenharmonic, 37.5 + 37.5 + 425 cents"},arist_hypenh3:{frequencies:[261.6255653006,265.43099677612,269.29177952703,349.22823143301,391.99543598175,397.69714089209,403.48177901006,523.2511306012],description:"PsAristo 3 Hyperenharmonic, 1.5 + 1.5 + 27 parts"},arist_hypenh4:{frequencies:[261.6255653006,266.71168334607,271.8968348557,349.22823143301,391.99543598175,399.61600264311,407.38495184466,523.2511306012],description:"PsAristo 4 Hyperenharmonic, 2 + 2 + 26 parts"},arist_hypenh5:{frequencies:[261.6255653006,265.12453591719,268.67030163715,349.22823143301,391.99543598175,397.23796841836,402.55061428954,523.2511306012],description:"PsAristo Hyperenharmonic, 23 + 23 + 454 cents"},arist_intdiat:{frequencies:[261.6255653006,275.39533189537,307.79478270659,348.83408706747,392.4383479509,413.09299784305,461.69217405988,523.2511306012],description:"Dorian mode of Aristoxenos's Intense Diatonic according to Ptolemy"},arist_penh2:{frequencies:[261.6255653006,269.29177952703,339.28638158975,349.22823143301,391.99543598175,403.48177901006,508.3551866238,523.2511306012],description:"Permuted Aristoxenos's Enharmonion, 3 + 24 + 3 parts"},arist_penh3:{frequencies:[261.6255653006,329.62755691287,339.28638158975,349.22823143301,391.99543598175,493.88330125613,508.3551866238,523.2511306012],description:"Permuted Aristoxenos's Enharmonion, 24 + 3 + 3 parts"},arist_pschrom2:{frequencies:[261.6255653006,278.52001838539,296.50560089735,349.22823143301,391.99543598175,417.30851459865,444.25644015807,523.2511306012],description:"PsAristo 2 Chromatic, 6.5 + 6.5 + 17 parts"},arist_softchrom:{frequencies:[261.6255653006,271.89678302796,282.57123920205,349.22823143301,391.99543598175,407.38487419079,423.37848741825,523.2511306012],description:"Aristoxenos's Chromatic Malakon, Dorian Mode"},arist_softchrom2:{frequencies:[261.6255653006,277.18263097687,324.90175210669,349.22823143301,391.99543598175,415.30469757995,486.80259447109,523.2511306012],description:"Aristoxenos' Soft Chromatic, 6 + 16.5 + 9.5 parts"},arist_softchrom3:{frequencies:[261.6255653006,281.2143451833,329.62755691287,349.22823143301,391.99543598175,421.34544350737,493.88330125613,523.2511306012],description:"Aristoxenos's Chromatic Malakon, 9.5 + 16.5 + 6 parts"},arist_softchrom4:{frequencies:[261.6255653006,277.18263097687,297.93622032612,349.22823143301,391.99543598175,415.30469757995,446.39994737251,523.2511306012],description:"PsAristo S. Chromatic, 6 + 7.5 + 16.5 parts"},arist_softchrom5:{frequencies:[261.6255653006,270.64713651786,280.31310567921,348.83408706747,392.4383479509,405.97070477679,420.46965851882,523.2511306012],description:"Dorian mode of Aristoxenos' Soft Chromatic according to Ptolemy's interpretati"},arist_softdiat:{frequencies:[261.6255653006,277.18263097687,302.26980244078,349.22823143301,391.99543598175,415.30469757995,452.89298412314,523.2511306012],description:"Aristoxenos's Diatonon Malakon, Dorian Mode"},arist_softdiat2:{frequencies:[261.6255653006,277.18263097687,320.24370022528,349.22823143301,391.99543598175,415.30469757995,479.82340237272,523.2511306012],description:"Dorian Mode, 6 + 15 + 9 parts"},arist_softdiat3:{frequencies:[261.6255653006,285.30470202322,329.62755691287,349.22823143301,391.99543598175,427.47405410759,466.16376151809,523.2511306012],description:"Dorian Mode, 9 + 15 + 6 parts"},arist_softdiat4:{frequencies:[261.6255653006,285.30470202322,302.26980244078,349.22823143301,391.99543598175,427.47405410759,452.89298412314,523.2511306012],description:"Dorian Mode, 9 + 6 + 15 parts"},arist_softdiat5:{frequencies:[261.6255653006,302.26980244078,320.24370022528,349.22823143301,391.99543598175,452.89298412314,479.82340237272,523.2511306012],description:"Dorian Mode, 15 + 6 + 9 parts"},arist_softdiat6:{frequencies:[261.6255653006,302.26980244078,329.62755691287,349.22823143301,391.99543598175,452.89298412314,493.88330125613,523.2511306012],description:"Dorian Mode, 15 + 9 + 6 parts"},arist_softdiat7:{frequencies:[261.6255653006,275.39533189537,299.00064605783,348.83408706747,392.4383479509,413.09299784305,448.50096908674,523.2511306012],description:"Dorian mode of Aristoxenos's Soft Diatonic according to Ptolemy"},arist_synchrom:{frequencies:[261.6255653006,277.18263097687,293.66476791741,349.22823143301,391.99543598175,415.30469757995,440,523.2511306012],description:"Aristoxenos's Chromatic Syntonon, Dorian Mode"},arist_syndiat:{frequencies:[261.6255653006,277.18263097687,311.12698372208,349.22823143301,391.99543598175,415.30469757995,466.16376151809,523.2511306012],description:"Aristoxenos's Diatonon Syntonon, Dorian Mode"},arist_unchrom:{frequencies:[261.6255653006,271.89678302796,293.66476791741,349.22823143301,391.99543598175,407.38487419079,440,523.2511306012],description:"Aristoxenos's Unnamed Chromatic, Dorian Mode, 4 + 8 + 18 parts"},arist_unchrom2:{frequencies:[261.6255653006,282.57123920205,293.66476791741,349.22823143301,391.99543598175,423.37848741825,440,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 8 + 4 + 18 parts"},arist_unchrom3:{frequencies:[261.6255653006,311.12698372208,323.3415889232,349.22823143301,391.99543598175,466.16376151809,484.46499093218,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 18 + 4 + 8 parts"},arist_unchrom4:{frequencies:[261.6255653006,311.12698372208,336.03572815422,349.22823143301,391.99543598175,466.16376151809,503.48470957687,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 18 + 8 + 4 parts"},arith13:{frequencies:[261.6255653006,269.80136421624,294.32876096318,318.85615771011,327.03195662575,343.38355445704,367.91095120397,371.99885066179,392.4383479509,449.66894036041,457.84473927605,490.54793493862,523.2511306012],description:"The first 13 terms of the arithmetic series, octave reduced"},arith22:{frequencies:[261.6255653006,269.80136421624,277.97716313189,294.32876096318,312.72430852337,318.85615771011,327.03195662575,343.38355445704,349.51540364377,367.91095120397,371.99885066179,388.35044849308,392.4383479509,429.2294430713,449.66894036041,457.84473927605,472.15238737843,490.54793493862,517.11928141447,523.2511306012],description:"The first 22 terms of the arithmetic series, octave reduced"},arnautoff_21:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,361.75386806997,367.91095120397,372.08969287196,378.42269266694,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,465.11211608996,490.54793493862,504.56359022259,523.2511306012],description:"Philip Arnautoff, transposed Archytas enharmonic (2005), 1/1 vol 12/1"},"aron-neidhardt":{frequencies:[261.6255653006,275.62199471997,292.53519855339,310.07474405997,327.04005607367,348.83408706747,367.49599295996,391.42133845759,413.43299207996,437.43855491017,465.11211608996,489.99465727995,523.2511306012],description:"Aron-Neidhardt equal beating well temperament"},art_nam:{frequencies:[261.6255653006,287.78812183066,317.68818643644,324.77656382143,348.83408706747,353.19451315581,392.4383479509,431.68218274599,473.41768959156,523.2511306012],description:"Artificial Nam System"},artusi:{frequencies:[261.6255653006,276.63528606528,292.50629850443,309.28767786778,327.03195662575,349.91920725962,369.99442271164,391.22137338448,413.66637442451,437.39882871549,462.49310482954,489.02679755603,523.2511306012],description:"Lute tuning of Giovanni Maria Artusi (1603). 1/4-comma w. acc. 1/2-way naturals"},astro:{frequencies:[13.75,13.8316453704,13.91377553836,13.99639338254,14.07098381034,14.15453513289,14.23858257025,14.32312915102,14.40817767355,14.49373120103,14.57979273211,14.66636528323,14.75345188876,14.84105560105,14.92917949063,15.01782664621,15.10700017487,15.1875093157,15.27769039377,15.36840704189,15.45966226264,15.55145934276,15.64380149972,15.73669197012,15.83013400973,15.92413089371,16.01868591662,16.11380239262,16.20948365552,16.30573305894,16.39263055969,16.48996755631,16.58788242969,16.68637870643,16.78545983879,16.88512929958,16.98539058219,17.08624720077,17.18770269033,17.28976060687,17.39242452751,17.49569805061,17.59958489756,17.69337767194,17.7984382082,17.90412257766,18.01043448453,18.11737765504,18.22495583753,18.33317280261,18.44203234327,18.55153827502,18.66169443603,18.77250468726,18.88397302169,18.99610312873,19.09733831271,19.21073534981,19.32480572095,19.43955342429,19.55498248173,19.67109693902,19.78790086598,19.90539835657,20.02359352906,20.14249064253,20.26209363229,20.38240680608,20.50343438087,20.62518059864,20.73509756099,20.85821935885,20.98207223488,21.1066605301,21.23198861133,21.35806087129,21.4848817288,21.61245575376,21.74078716869,21.86988059568,21.99974055944,22.13037161156,22.26177833063,22.38041714879,22.51330859954,22.64698913914,22.78146345308,22.91673625467,23.0528122852,23.18969644807,23.32739327396,23.46590772227,23.60524464792,23.74540893465,23.88640549521,24.02823927151,24.15629202037,24.29972834105,24.44401636439,24.58916114767,24.73516777819,24.8820415172,25.02978722599,25.17841022592,25.32791572621,25.478308967,25.62959521956,25.78177978645,25.93486800174,26.07308167197,26.22789959273,26.38363679833,26.54029874734,26.69789108494,26.85641902723,27.01588828389,27.17630444429,27.33767313101,27.5],description:"Astro temperament, g=132.194511, 5-limit"},athan_chrom:{frequencies:[261.6255653006,285.30470202322,329.62755691287,349.22823143301,391.99543598175,427.47405410759,493.88330125613,523.2511306012],description:"Athanasopoulos's Byzantine Liturgical mode Chromatic"},auftetf:{frequencies:[261.6255653006,264.29521392612,269.80136421624,287.78812183066,359.73515228832,380.54627680087,384.42940207435,392.4383479509,418.60090448096],description:"5/4 C.I. again"},augmented:{frequencies:[261.6255653006,312.71213182188,329.62755691287,393.99259743989,415.30469757995,496.39956701727,523.2511306012],description:"Augmented temperament, g=91.2, oct=1/3, 5-limit"},augteta:{frequencies:[261.6255653006,280.76889934699,302.93486508491,328.90071066361,359.73515228832,380.54627680087,408.39112632289,440.63253103259,478.40103369253],description:"Linear Division of the 11/8, duplicated on the 16/11"},augteta2:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,366.27579142084,373.75080757229,402.50086969323,436.04260883433,475.68284600109],description:"Linear Division of the 7/5, duplicated on the 10/7"},augtetb:{frequencies:[261.6255653006,270.8594087818,280.76889934699,302.93486508491,359.73515228832,380.54627680087,295.48299139832,408.39112632289,440.63253103259],description:"Harmonic mean division of 11/8"},augtetc:{frequencies:[261.6255653006,280.31310567921,301.87565226992,327.03195662575,359.73515228832,380.54627680087,407.72815371522,439.09185784716,475.68284600109],description:"11/10 C.I."},augtetd:{frequencies:[261.6255653006,271.68808704293,282.55561052465,294.32876096318,359.73515228832,380.54627680087,395.18267206244,410.98997894494,428.11456140098],description:"11/9 C.I."},augtete:{frequencies:[261.6255653006,269.80136421624,278.50463402967,287.78812183066,359.73515228832,380.54627680087,392.4383479509,405.0976494977,418.60090448096],description:"5/4 C.I."},augtetg:{frequencies:[261.6255653006,278.50463402967,297.71185016965,319.76457981184,359.73515228832,380.54627680087,405.0976494977,433.03541842858,465.11211608996],description:"9/8 C.I."},augteth:{frequencies:[261.6255653006,278.50463402967,287.78812183066,319.76457981184,359.73515228832,380.54627680087,405.0976494977,418.60090448096,465.11211608996],description:"9/8 C.I. A gapped version of this scale is called AugTetI"},augtetj:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,380.54627680087,428.11456140098,475.68284600109],description:"9/8 C.I. comprised of 11:10:9:8 subharmonic series on 1 and 8:9:10:11 on 16/11"},augtetk:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,380.54627680087,418.60090448096,465.11211608996],description:"9/8 C.I. This is the converse form of AugTetJ"},augtetl:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,380.54627680087,428.11456140098,475.68284600109],description:"9/8 C.I. This is the harmonic form of AugTetI"},avg_bac:{frequencies:[261.6255653006,290.69507255622,307.79478270659,348.83408706747,392.4383479509,436.04260883433,461.69217405988,523.2511306012],description:"Average Bac System"},avicenna:{frequencies:[261.6255653006,290.69507255622,299.00064605783,348.83408706747,392.4383479509,436.04260883433,448.50096908674,523.2511306012],description:"Soft diatonic of Avicenna (Ibn Sina)"},avicenna_17:{frequencies:[261.6255653006,278.99913799634,283.42769574232,294.32876096318,310.07474405997,318.85615771011,331.11985608357,348.83408706747,371.99885066179,377.90359432309,392.4383479509,413.43299207996,425.14154361347,441.49314144476,465.11211608996,495.99846754905,503.87145909745,523.2511306012],description:"Tuning by Avicenna (Ibn Sina), Ahmed Mahmud Hifni, Cairo, 1977"},avicenna_19:{frequencies:[261.6255653006,275.62199471997,283.49690885483,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,358.80077526939,372.50983809402,377.99587847311,392.4383479509,413.43299207996,425.24536328225,441.49314144476,465.11211608996,478.40103369253,496.67978412536,503.45611792634,523.2511306012],description:"Arabic scale by Ibn Sina"},avicenna_chrom:{frequencies:[261.6255653006,269.10058145205,299.00064605783,348.83408706747,392.4383479509,403.65087217807,448.50096908674,523.2511306012],description:"Dorian mode a chromatic genus of Avicenna"},avicenna_chrom2:{frequencies:[261.6255653006,271.8968348557,323.34165055711,349.22823143301,391.99543598175,407.38495184466,484.46508327871,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 4 + 18 + 8 parts"},avicenna_chrom3:{frequencies:[261.6255653006,290.69507255622,339.14425131559,348.83408706747,392.4383479509,436.04260883433,508.71637697339,523.2511306012],description:"Avicenna's Chromatic permuted"},avicenna_diat:{frequencies:[261.6255653006,281.75060878526,305.22982618403,348.83408706747,392.4383479509,422.62591317789,457.84473927605,523.2511306012],description:"Dorian mode a soft diatonic genus of Avicenna"},avicenna_diff:{frequencies:[261.6255653006,269.80136421624,286.15296204753,294.32876096318,310.68035879446,343.38355445704,367.91095120397,392.4383479509,400.61414686654,441.49314144476,457.84473927605,515.07533168556,523.2511306012],description:"Difference tones of Avicenna's Soft diatonic reduced by 2/1"},avicenna_enh:{frequencies:[261.6255653006,268.33391312882,279.06726965397,348.83408706747,392.4383479509,402.50086969323,418.60090448096,523.2511306012],description:"Dorian mode of Avicenna's (Ibn Sina) Enharmonic genus"},awad:{frequencies:[261.6255653006,268.33391312882,275.39533189537,282.83844897362,290.69507255622,299.00064605783,307.79478270659,317.12189733406,327.03195662575,337.58137458142,348.83408706747,358.80077526939,369.35373924791,380.54627680087,392.4383479509,402.50086969323,413.09299784305,424.25767346043,436.04260883433,448.50096908674,461.69217405988,475.68284600109,490.54793493862,506.37206187213,523.2511306012],description:"d'Erlanger vol.5, p.37, after Mans.ur 'Awad"},awraamoff:{frequencies:[261.6255653006,294.32876096318,299.00064605783,313.95067836072,327.03195662575,343.38355445704,348.83408706747,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Awraamoff Septimal Just"},ayers:{frequencies:[261.6255653006,268.89294211451,276.57559760349,284.71017400359,293.33775503401,302.50455987882,312.26277148781,322.67153053741,333.7981350387,345.71949700436,358.52392281934,372.31330446624,387.20583664489,403.33941317176,420.87590939662,440.00663255101,460.95932933915,484.00729580611,509.48136400643,537.78588422901,569.42034800719,605.00911975764,645.34306107481,691.43899400873,744.62660893248,806.67882634352,880.01326510202,968.01459161222,1075.57176845802,1210.01823951527,1382.87798801746,1613.35765268703,1936.02918322444,2420.03647903055,3226.71530537407,4840.0729580611,9680.1459161222],description:"Lydia Ayers, algorithmic composition, subharmonics 1-37"},ayers_19:{frequencies:[261.6255653006,268.89294211451,276.57559760349,284.71017400359,293.33775503401,302.50455987882,312.26277148781,322.67153053741,333.7981350387,345.71949700436,358.52392281934,372.31330446624,387.20583664489,403.33941317176,420.87590939662,440.00663255101,460.95932933915,484.00729580611,509.48136400643,523.2511306012],description:"Scale for NINETEEN, for 19 for the 90's CD. Repeats at 37/19 (or 2/1)"},ayers_ap:{frequencies:[261.6255653006,299.00064605783,336.37572681506,388.70083987518,448.50096908674,523.2511306012],description:"Lydia Ayers' Appetizer, ICMC 96, Balinese Slendro from Singaraja,"},ayers_me:{frequencies:[261.6255653006,280.31310567921,299.00064605783,308.34441624714,336.37572681506,392.4383479509,420.46965851882,448.50096908674,504.56359022259,523.2511306012],description:"Scale for Merapi (1996), Lydia Ayers. Slendro 0 2 4 5 7 9, Pelog 0 1 3 6 8 9"},h10_27:{frequencies:[261.6255653006,281.00523680435,300.3849083081,319.76457981184,348.83408706747,368.21375857121,397.28326582684,426.35277308246,455.42228033808,484.4917875937,523.2511306012],description:"10-tET harmonic approximation, fundamental=27"},h12_24:{frequencies:[261.6255653006,272.52663052146,294.32876096318,316.13089140489,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,468.74580449691,490.54793493862,523.2511306012],description:"12-tET harmonic approximation, fundamental=24"},h14_27:{frequencies:[261.6255653006,271.31540105247,290.69507255622,300.3849083081,319.76457981184,339.14425131559,348.83408706747,368.21375857121,387.59343007496,406.97310157871,426.35277308246,455.42228033808,474.80195184183,494.18162334558,523.2511306012],description:"14-tET harmonic approximation, fundamental=27"},h15_24:{frequencies:[261.6255653006,272.52663052146,283.42769574232,305.22982618403,316.13089140489,327.03195662575,348.83408706747,359.73515228832,381.53728273004,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,501.44900015948,523.2511306012],description:"15-tET harmonic approximation, fundamental=24"},hahn9:{frequencies:[261.6255653006,286.15296204753,313.95067836072,327.03195662575,366.27579142084,392.4383479509,418.60090448096,457.84473927605,490.54793493862,523.2511306012],description:"Paul Hahn's just version of 9 out of 31 scale. TL 6-8-'98"},hahn_7:{frequencies:[261.6255653006,274.70684356563,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,488.36772189445,523.2511306012],description:"Paul Hahn's scale with 32 consonant 7-limit dyads. TL '99, see also smithgw_hahn12"},hahn_g:{frequencies:[261.6255653006,280.50183143454,294.66523452594,309.54379154736,331.87735433448,348.63486612079,373.78884718875,392.66259958718,420.99317852788,442.25042328711,464.58101193362,498.10049926644,523.2511306012],description:'fourth of sqrt(2)-1 octave "recursive" meantone, Paul Hahn'},hahnmaxr:{frequencies:[261.6255653006,275.93321340298,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,459.88868900496,490.54793493862,523.2511306012],description:"Paul Hahn's hahn_7 marvel projected to the 5-limit"},halfefg357777:{frequencies:[261.6255653006,280.31310567921,299.00064605783,320.35783506196,341.71502406609,375.57576268738,400.61414686654,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Half genus [357777]"},hamilton:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,319.76457981184,338.57426097725,359.73515228832,383.71749577421,411.12588832951,426.35277308246,442.75095666255,479.64686971777,523.2511306012],description:"Elsie Hamilton's gamut, from article The Modes of Ancient Greek Music (1953)"},hamilton_jc:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,319.76457981184,359.73515228832,338.57426097725,411.12588832951,383.71749577421,442.75095666255,426.35277308246,479.64686971777,523.2511306012],description:"Chalmers' permutation of Hamilton's gamut. Diatonic notes on white"},hamilton_jc2:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,319.76457981184,359.73515228832,383.71749577421,411.12588832951,426.35277308246,442.75095666255,460.46099492906,479.64686971777,523.2511306012],description:"EH gamut, diatonic notes on white and drops 17 for 25. JC Dorian Harmonia on C"},hammond:{frequencies:[261.6255653006,226.52945288223,240.12209418,254.35818848669,269.43528366778,285.40970760065,302.50455987882,320.49131749323,339.40613876835,359.73515228832,381.06332337261,403.65087217807,427.65717404906,453.05890576445],description:'Hammond organ pitch wheel ratios, 1/1=320 Hz. Do "del 0" to get 12-tone scale'},hammond12:{frequencies:[261.6255653006,277.32410877127,293.76579515365,311.17877832054,329.62811300357,349.37146352202,370.1449018936,391.99018843668,415.46876743159,440.10130305006,466.18833124791,493.91391932426,523.2511306012],description:"Hammond organ scale, 1/1=277.0731707 Hz, A=440, see hammond for the ratios"},handblue:{frequencies:[261.6255653006,279.06726965397,294.32876096318,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:'"Handy Blues" of Pitch Palette, 7-limit'},handel:{frequencies:[261.6255653006,276.07055536165,292.89641271707,310.57937447136,328.79480940231,349.02322090701,368.4933346061,391.37619916626,414.10583283548,438.86859125239,465.61660972366,492.3908742288,523.2511306012],description:"Well temperament according to Georg Friedrich H\xEF\xBF\xBDndel's rules (c. 1780)"},hanson_19:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,302.80736724606,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"JI version of Hanson's 19 out of 53-tET scale"},"harm-doreninv1":{frequencies:[261.6255653006,321.08592105074,327.03195662575,332.97799220076,380.54627680087,499.46698830115,511.35905945117,523.2511306012],description:"1st Inverted Schlesinger's Enharmonic Dorian Harmonia"},"harm-dorinv1":{frequencies:[261.6255653006,309.19384990071,321.08592105074,332.97799220076,380.54627680087,475.68284600109,499.46698830115,523.2511306012],description:"1st Inverted Schlesinger's Chromatic Dorian Harmonia"},"harm-lydchrinv1":{frequencies:[261.6255653006,322.00069575458,342.12573923925,362.25078272391,402.50086969323,483.00104363188,503.12608711654,523.2511306012],description:"1st Inverted Schlesinger's Chromatic Lydian Harmonia"},"harm-lydeninv1":{frequencies:[261.6255653006,342.12573923925,352.18826098158,362.25078272391,402.50086969323,503.12608711654,513.18860885887,523.2511306012],description:"1st Inverted Schlesinger's Enharmonic Lydian Harmonia"},"harm-mixochrinv1":{frequencies:[261.6255653006,336.37572681506,355.06326719367,373.75080757229,411.12588832951,485.87604984397,504.56359022259,523.2511306012],description:"1st Inverted Schlesinger's Chromatic Mixolydian Harmonia"},"harm-mixoeninv1":{frequencies:[261.6255653006,355.06326719367,364.40703738298,373.75080757229,411.12588832951,504.56359022259,513.90736041189,523.2511306012],description:"1st Inverted Schlesinger's Enharmonic Mixolydian Harmonia"},harm10:{frequencies:[261.6255653006,286.15296204753,294.32876096318,327.03195662575,331.11985608357,343.38355445704,367.91095120397,392.4383479509,400.61414686654,408.78994578219,441.49314144476,457.84473927605,515.07533168556,523.2511306012],description:"6/7/8/9/10 harmonics"},harm11s:{frequencies:[261.6255653006,65.40639132515,95.13656920022,104.65022612024,116.27802902249,130.8127826503,149.50032302891,174.41704353373,196.21917397545,209.30045224048,261.6255653006,327.03195662575,348.83408706747,392.4383479509,457.84473927605,523.2511306012,588.65752192635,654.0639132515,719.47030457665,1046.5022612024],description:"Harm. 1/4-11/4 and subh. 4/1-4/11. Joseph Pehrson 1999"},harm12s:{frequencies:[261.6255653006,294.32876096318,299.00064605783,327.03195662575,348.83408706747,359.73515228832,380.54627680087,392.4383479509,418.60090448096,457.84473927605,465.11211608996,523.2511306012],description:"Harmonics 1 to 12 and subharmonics mixed"},"harm15-30":{frequencies:[261.6255653006,279.06726965397,296.50897400735,313.95067836072,331.39238271409,348.83408706747,366.27579142084,383.71749577421,418.60090448096,436.04260883433,453.48431318771,488.36772189445,523.2511306012],description:"Harmonics 15 to 30"},harm15:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991],description:"Fifth octave of the harmonic overtone series"},"harm16-32":{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Harmonics 16-32 & Tom Stone's Guitar Scale"},harm16:{frequencies:[261.6255653006,523.2511306012,784.8766959018,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,2877.8812183066,3139.5067836072,3401.1323489078,3662.7579142084,3924.383479509,4186.0090448096,2093.0045224048,1395.33634826987,1046.5022612024,837.20180896192,697.66817413493,598.00129211566,523.2511306012,465.11211608996,418.60090448096,380.54627680087,348.83408706747,322.00069575458,299.00064605783,279.06726965397,261.6255653006],description:"First 16 harmonics and subharmonics"},"harm1c-dorian":{frequencies:[261.6255653006,309.19384990071,321.08592105074,332.97799220076,380.54627680087,475.68284600109,499.46698830115,523.2511306012],description:"Harm1C-Dorian"},"harm1c-hypod":{frequencies:[261.6255653006,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,457.84473927605,490.54793493862,523.2511306012],description:"HarmC-Hypodorian"},"harm1c-hypol":{frequencies:[261.6255653006,274.70684356563,287.78812183066,340.11323489078,366.27579142084,392.4383479509,418.60090448096,444.76346101102,523.2511306012],description:"HarmC-Hypolydian"},"harm1c-lydian":{frequencies:[261.6255653006,271.68808704293,281.75060878526,362.25078272391,382.37582620857,402.50086969323,422.62591317789,442.75095666255,523.2511306012],description:"Harm1C-Lydian"},"harm1c-mix":{frequencies:[261.6255653006,299.00064605783,373.75080757229,392.4383479509,411.12588832951,485.87604984397,504.56359022259,523.2511306012],description:"Harm1C-Con Mixolydian"},"harm1c-mixolydian":{frequencies:[261.6255653006,280.31310567921,299.00064605783,373.75080757229,411.12588832951,429.81342870813,448.50096908674,523.2511306012],description:"Harm1C-Mixolydian"},harm24:{frequencies:[261.6255653006,283.42769574232,305.22982618403,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,501.44900015948,523.2511306012],description:"Harmonics 12 to 24"},harm24_2:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Harmonics 12 to 24, mode 9"},harm3:{frequencies:[261.6255653006,327.03195662575,392.4383479509,457.84473927605],description:"Third octave of the harmonic overtone series"},"harm30-60":{frequencies:[261.6255653006,270.34641747729,279.06726965397,287.78812183066,296.50897400735,305.22982618403,313.95067836072,322.67153053741,331.39238271409,340.11323489078,348.83408706747,357.55493924415,366.27579142084,374.99664359753,383.71749577421,392.4383479509,401.15920012759,409.88005230427,418.60090448096,427.32175665765,436.04260883433,444.76346101102,453.48431318771,462.20516536439,470.92601754108,479.64686971777,488.36772189445,497.08857407114,505.80942624783,514.53027842451,523.2511306012],description:"Harmonics 30-60"},harm30:{frequencies:[261.6255653006,279.06726965397,288.69027895239,299.00064605783,310.07474405997,322.00069575458,334.88072358477,348.83408706747,364.00078650518,398.6675280771,418.60090448096,440.63253103259,465.11211608996,492.47165233054,523.2511306012,558.13453930795,598.00129211566,644.00139150917,697.66817413493,761.09255360175,837.20180896192,930.22423217991,1046.5022612024,1196.00258423131,1395.33634826987,1674.40361792384,2093.0045224048,2790.67269653973,4186.0090448096,8372.0180896192,8633.6436549198,8895.2692202204,9156.894785521,9418.5203508216,9680.1459161222,9941.7714814228,10203.3970467234,10465.022612024,10726.6481773246,10988.2737426252,11249.8993079258,11511.5248732264,11773.150438527,12034.7760038276,12296.4015691282,12558.0271344288,12819.6526997294,13081.27826503,13342.9038303306,13604.5293956312,13866.1549609318,14127.7805262324,14389.406091533,14651.0316568336,14912.6572221342,15174.2827874348,15435.9083527354,15697.533918036,15959.1594833366,16220.7850486372],description:"First 30 harmonics and subharmonics"},"harm32-64":{frequencies:[261.6255653006,269.80136421624,277.97716313189,286.15296204753,294.32876096318,302.50455987882,310.68035879446,318.85615771011,327.03195662575,335.20775554139,343.38355445704,351.55935337268,359.73515228832,367.91095120397,376.08675011961,384.26254903526,392.4383479509,400.61414686654,408.78994578219,416.96574469783,425.14154361347,433.31734252912,441.49314144476,449.66894036041,457.84473927605,466.02053819169,474.19633710734,482.37213602298,490.54793493862,498.72373385427,506.89953276991,515.07533168556,523.2511306012],description:"Harmonics 32-64"},harm37odd:{frequencies:[261.6255653006,269.80136421624,277.97716313189,286.15296204753,294.32876096318,302.50455987882,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Odd harmonics until 37"},harm4:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,425.14154361347,457.84473927605,490.54793493862],description:"Fourth octave of the harmonic overtone series"},"harm6-12":{frequencies:[261.6255653006,269.80136421624,286.15296204753,294.32876096318,314.76825825228,327.03195662575,331.11985608357,343.38355445704,359.73515228832,367.91095120397,392.4383479509,400.61414686654,404.70204632437,408.78994578219,441.49314144476,449.66894036041,457.84473927605,490.54793493862,494.63583439645,515.07533168556,523.2511306012],description:"First 12 harmonics of 6th through 12th harmonics"},harm6:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,457.84473927605,523.2511306012],description:"Harmonics 6-12"},"harm60-30":{frequencies:[261.6255653006,280.31310567921,290.69507255622,313.95067836072,327.03195662575,348.83408706747,373.75080757229,392.4383479509,413.09299784305,436.04260883433,448.50096908674,490.54793493862,523.2511306012],description:"Harmonics 60 to 30 (Perkis)"},harm7lim:{frequencies:[261.6255653006,523.2511306012,784.8766959018,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,3139.5067836072,3662.7579142084,3924.383479509,4186.0090448096,4709.2601754108,5232.511306012,5494.1368713126,5755.7624366132,6279.0135672144,6540.639132515,7325.5158284168,7848.766959018,8372.0180896192,9156.894785521,9418.5203508216,10465.022612024,10988.2737426252,11773.150438527,12558.0271344288,12819.6526997294,13081.27826503,14651.0316568336,15697.533918036,16482.4106139378,16744.0361792384,18313.789571042,18837.0407016432,19621.917397545,20930.045224048,21191.6707893486,21976.5474852504,23546.300877054,25116.0542688576,25639.3053994588,26162.55653006,27470.684356563,29302.0633136672,31395.067836072],description:"7-limit harmonics"},harm8:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Harmonics 8-16"},harm9:{frequencies:[261.6255653006,294.32876096318,305.22982618403,327.03195662575,348.83408706747,356.10146388137,392.4383479509,406.97310157871,457.84473927605,465.11211608996,523.2511306012],description:"6/7/8/9 harmonics, First 9 overtones of 5th through 9th harmonics"},harm_bastard:{frequencies:[261.6255653006,299.00064605783,322.00069575458,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012],description:`Schlesinger's "Bastard" Hypodorian Harmonia & inverse 1)7 from 1.3.5.7.9.11.13`},harm_bastinv:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,425.14154361347,457.84473927605,523.2511306012],description:`Inverse Schlesinger's "Bastard" Hypodorian Harmonia & 1)7 from 1.3.5.7.9.11.13`},harm_darreg:{frequencies:[261.6255653006,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,2877.8812183066,3139.5067836072,3401.1323489078,3662.7579142084,3924.383479509,4186.0090448096,5232.511306012,6279.0135672144,7325.5158284168,8372.0180896192,9418.5203508216,10465.022612024,11511.5248732264,12558.0271344288,13604.5293956312,14651.0316568336,15697.533918036],description:"Darreg Harmonics 4-15"},harm_mean:{frequencies:[261.6255653006,270.06509966514,279.06726965397,299.00064605783,348.83408706747,392.4383479509,405.0976494977,418.60090448096,448.50096908674,523.2511306012],description:"Harm. Mean 9-tonic 8/7 is HM of 1/1 and 4/3, etc."},"harmc-hypop":{frequencies:[261.6255653006,319.76457981184,334.29933343966,348.83408706747,363.36884069528,377.90359432309,406.97310157871,465.11211608996,494.18162334558,523.2511306012],description:"HarmC-Hypophrygian"},"harmd-15":{frequencies:[261.6255653006,279.06726965397,313.95067836072,348.83408706747,383.71749577421,418.60090448096,453.48431318771,523.2511306012],description:"HarmD-15-Harmonia"},"harmd-conmix":{frequencies:[261.6255653006,299.00064605783,336.37572681506,392.4383479509,411.12588832951,448.50096908674,485.87604984397,523.2511306012],description:"HarmD-ConMixolydian"},"harmd-hypod":{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"HarmD-Hypodorian"},"harmd-hypol":{frequencies:[261.6255653006,287.78812183066,313.95067836072,340.11323489078,366.27579142084,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"HarmD-Hypolydian"},"harmd-hypop":{frequencies:[261.6255653006,290.69507255622,319.76457981184,348.83408706747,363.36884069528,377.90359432309,406.97310157871,436.04260883433,465.11211608996,523.2511306012],description:"HarmD-Hypophrygian"},"harmd-lyd":{frequencies:[261.6255653006,281.75060878526,301.87565226992,322.00069575458,362.25078272391,382.37582620857,402.50086969323,442.75095666255,483.00104363188,523.2511306012],description:"HarmD-Lydian"},"harmd-mix":{frequencies:[261.6255653006,299.00064605783,336.37572681506,373.75080757229,411.12588832951,448.50096908674,485.87604984397,523.2511306012],description:"HarmD-Mixolydian. Harmonics 7-14"},"harmd-phr":{frequencies:[261.6255653006,272.52663052146,283.42769574232,294.32876096318,305.22982618403,348.83408706747,327.03195662575,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"HarmD-Phryg (with 5 extra tones)"},"harme-hypod":{frequencies:[261.6255653006,343.38355445704,351.55935337268,359.73515228832,376.08675011961,392.4383479509,490.54793493862,506.89953276991,523.2511306012],description:"HarmE-Hypodorian"},"harme-hypol":{frequencies:[261.6255653006,281.24748269815,274.70684356563,340.11323489078,366.27579142084,392.4383479509,405.51962621593,418.60090448096,523.2511306012],description:"HarmE-Hypolydian"},"harme-hypop":{frequencies:[261.6255653006,334.29933343966,341.56671025356,348.83408706747,363.36884069528,377.90359432309,406.97310157871,494.18162334558,508.71637697339,523.2511306012],description:"HarmE-Hypophrygian"},"harmjc-15":{frequencies:[261.6255653006,280.31310567921,301.87565226992,313.95067836072,327.03195662575,356.76213450082,373.75080757229,392.4383479509,413.09299784305,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"Rationalized JC Sub-15 Harmonia on C. MD=15, No planetary assignment."},"harmjc-17-2":{frequencies:[261.6255653006,277.97716313189,296.50897400735,317.68818643644,342.12573923925,370.63621750918,386.75083566176,404.33041910093,423.58424858192,444.76346101102,468.17206422213,494.18162334558,523.2511306012],description:"Rationalized JC Sub-17 Harmonia on C. MD=17, No planetary assignment."},"harmjc-17":{frequencies:[261.6255653006,269.55361273395,277.97716313189,296.50897400735,317.68818643644,342.12573923925,355.81076880882,370.63621750918,386.75083566176,404.33041910093,423.58424858192,444.76346101102,523.2511306012],description:"Rationalized JC Sub-17 Harmonia on C. MD=17, No planetary assignment."},"harmjc-19-2":{frequencies:[261.6255653006,276.16031892841,292.40504357126,310.68035879446,331.39238271409,355.06326719367,368.21375857121,382.37582620857,397.67085925691,414.24047839262,432.2509339749,451.89870370104,523.2511306012],description:"Rationalized JC Sub-19 Harmonia on C. MD=19, No planetary assignment."},"harmjc-19":{frequencies:[261.6255653006,276.16031892841,292.40504357126,310.68035879446,331.39238271409,355.06326719367,382.37582620857,414.24047839262,432.2509339749,451.89870370104,473.41768959156,497.08857407114,523.2511306012],description:"Rationalized JC Sub-19 Harmonia on C. MD=19, No planetary assignment."},"harmjc-21":{frequencies:[261.6255653006,268.0066766494,274.70684356563,289.16509849014,305.22982618403,343.38355445704,366.27579142084,392.4383479509,406.97310157871,422.62591317789,439.53094970501,457.84473927605,523.2511306012],description:"Rationalized JC Sub-21 Harmonia on C. MD=21, No planetary assignment."},"harmjc-23-2":{frequencies:[261.6255653006,273.51763645063,286.54228580542,300.86940009569,316.70463167967,334.29933343966,353.96400011258,376.08675011961,401.15920012759,429.81342870813,462.87600014722,501.44900015948,523.2511306012],description:"Rationalized JC Sub-23 Harmonia on C. MD=23, No planetary assignment."},"harmjc-23":{frequencies:[261.6255653006,273.51763645063,300.86940009569,316.70463167967,334.29933343966,376.08675011961,401.15920012759,429.81342870813,445.73244458621,462.87600014722,481.3910401531,501.44900015948,523.2511306012],description:"Rationalized JC Sub-23 Harmonia on C. MD=23, No planetary assignment."},"harmjc-25":{frequencies:[261.6255653006,272.52663052146,297.30177875068,311.45900631024,327.03195662575,363.36884069528,384.74347838324,408.78994578219,436.04260883433,467.18850946536,484.4917875937,503.12608711654,523.2511306012],description:"Rationalized JC Sub-25 Harmonia on C. MD=25, No planetary assignment."},"harmjc-27":{frequencies:[261.6255653006,271.68808704293,294.32876096318,307.12566361375,321.08592105074,353.19451315581,371.78369805875,392.4383479509,415.52295665389,441.49314144476,470.92601754108,504.56359022259,523.2511306012],description:"Rationalized JC Sub-27 Harmonia on C. MD=27, No planetary assignment."},"harmjc-hypod16":{frequencies:[261.6255653006,279.06726965397,299.00064605783,310.07474405997,322.00069575458,348.83408706747,364.00078650518,380.54627680087,398.6675280771,418.60090448096,440.63253103259,465.11211608996,523.2511306012],description:"Rationalized JC Hypodorian Harmonia on C. Saturn Scale on C, MD=16. (Steiner)"},"harmjc-hypol20":{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,327.03195662575,348.83408706747,373.75080757229,402.50086969323,418.60090448096,436.04260883433,455.00098313148,575.57624366132,523.2511306012],description:"Rationalized JC Hypolydian Harmonia on C. Mars scale on C., MD=20"},"harmjc-hypop18":{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,336.37572681506,362.25078272391,376.74081403286,392.4383479509,409.50088481833,428.11456140098,448.50096908674,470.92601754108,523.2511306012],description:"Rationalized JC Hypophrygian Harmonia on C. Jupiter scale on C, MD =18"},"harmjc-lydian13":{frequencies:[261.6255653006,272.09058791262,283.42769574232,295.75063903546,309.19384990071,340.11323489078,358.01393146398,377.90359432309,400.13321751856,425.14154361347,453.48431318771,485.87604984397,523.2511306012],description:"Rationalized JC Lydian Harmonia on C. Mercury scale on C, MD = 26 or 13"},"harmjc-mix14":{frequencies:[261.6255653006,271.31540105247,281.75060878526,293.02063313667,305.22982618403,332.97799220076,348.83408706747,366.27579142084,385.55346465352,406.97310157871,430.91269578922,457.84473927605,523.2511306012],description:"Rationalized JC Mixolydian Harmonia on C. Moon Scale on C, MD = 14"},"harmjc-phryg12":{frequencies:[261.6255653006,273.00058987889,285.40970760065,299.00064605783,313.95067836072,348.83408706747,369.35373924791,392.4383479509,418.60090448096,448.50096908674,465.11211608996,483.00104363188,523.2511306012],description:"Rationalized JC Phrygian Harmonia on C. Venus scale on C, MD = 24 or 12"},harmonical:{frequencies:[261.6255653006,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"See pp 17 and 466-468 Helmholtz. lower 4 oct. Instr. designed & tuned by Ellis"},harmonical_up:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,359.73515228832,457.84473927605,392.4383479509,408.78994578219,425.14154361347,474.19633710734,490.54793493862,523.2511306012],description:"Upper 2 octaves of Ellis's Harmonical"},harmsub16:{frequencies:[261.6255653006,280.31310567921,294.32876096318,301.87565226992,327.03195662575,356.76213450082,359.73515228832,392.4383479509,425.14154361347,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"16 harmonics on 1/1 and 16 subharmonics on 15/8"},harrison_16:{frequencies:[261.6255653006,279.06726965397,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,370.63621750918,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:'Lou Harrison 16-tone superparticular "Ptolemy Duple"'},harrison_5:{frequencies:[261.6255653006,279.06726965397,313.95067836072,392.4383479509,418.60090448096,523.2511306012],description:"From Lou Harrison, a pelog style pentatonic"},harrison_5_1:{frequencies:[261.6255653006,285.40970760065,313.95067836072,392.4383479509,418.60090448096,523.2511306012],description:"From Lou Harrison, a pelog style pentatonic"},harrison_5_3:{frequencies:[261.6255653006,271.31540105247,348.83408706747,392.4383479509,406.97310157871,523.2511306012],description:"From Lou Harrison, a pelog style pentatonic"},harrison_5_4:{frequencies:[261.6255653006,279.06726965397,313.95067836072,392.4383479509,490.54793493862,523.2511306012],description:"From Lou Harrison, a pelog style pentatonic"},harrison_8:{frequencies:[261.6255653006,279.06726965397,313.95067836072,327.03195662575,367.91095120397,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:'Lou Harrison 8-tone tuning for "Serenade for Guitar"'},harrison_cinna:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,343.38355445704,367.91095120397,392.4383479509,418.60090448096,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:`Lou Harrison, "Incidental Music for Corneille's Cinna" (1955-56) 1/1=C`},harrison_diat:{frequencies:[261.6255653006,274.70684356563,313.95067836072,348.83408706747,392.4383479509,412.06026534844,470.92601754108,523.2511306012],description:"From Lou Harrison, a soft diatonic"},harrison_joy:{frequencies:[261.6255653006,294.32876096318,327.03195662575,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Lou Harrison's Joyous 6"},harrison_mid:{frequencies:[261.6255653006,294.32876096318,313.95067836072,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Lou Harrison mid mode"},harrison_mid2:{frequencies:[261.6255653006,294.32876096318,313.95067836072,348.83408706747,392.4383479509,448.50096908674,470.92601754108,523.2511306012],description:"Lou Harrison mid mode 2"},harrison_min:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"From Lou Harrison, a symmetrical pentatonic with minor thirds"},harrison_mix1:{frequencies:[261.6255653006,285.40970760065,313.95067836072,392.4383479509,425.14154361347,523.2511306012],description:'A "mixed type" pentatonic, Lou Harrison'},harrison_mix2:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,490.54793493862,523.2511306012],description:'A "mixed type" pentatonic, Lou Harrison'},harrison_mix3:{frequencies:[261.6255653006,313.95067836072,336.37572681506,392.4383479509,418.60090448096,523.2511306012],description:'A "mixed type" pentatonic, Lou Harrison'},harrison_mix4:{frequencies:[261.6255653006,280.31310567921,327.03195662575,392.4383479509,448.50096908674,523.2511306012],description:'A "mixed type" pentatonic, Lou Harrison'},harrison_songs:{frequencies:[261.6255653006,271.31540105247,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,406.97310157871,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:'Shared gamut of "Four Strict Songs" (1951-55), each pentatonic'},harrisonj:{frequencies:[261.6255653006,272.17712546173,292.13970819848,313.56642833783,326.21280531667,350.13858362887,364.25994396351,390.97625694066,406.744629928,436.57694340361,468.59728067062,487.49616921257,523.2511306012],description:"John Harrison's temperament (1775), almost 3/10-comma. Third = 1200/pi"},harrisonm_rev:{frequencies:[261.6255653006,257.53766584278,294.32876096318,289.72987407313,331.11985608357,343.38355445704,372.50983809402,392.4383479509,386.30649876417,441.49314144476,457.84473927605,496.67978412536,523.2511306012],description:'Michael Harrison, piano tuning for "Revelation" (2001), 1/1=F'},haverstick13:{frequencies:[261.6255653006,283.85429714132,301.75671459889,307.97166902637,320.78822215662,341.02002673508,362.52783176564,377.61479489998,401.43059675514,426.7484383229,444.50800708553,482.27514684959,502.34551296122,523.2511306012],description:"Neil Haverstick, scale in 34-tET, MMM 21-5-2006"},hawkes:{frequencies:[261.6255653006,274.56549986328,292.86986732103,310.24975557428,327.84547867349,349.70184487387,366.99801003998,391.46454285105,411.84824958905,438.2147004401,467.42901507992,490.54793493862,523.2511306012],description:"William Hawkes' modified 1/5-comma meantone (1807)"},hawkes2:{frequencies:[261.6255653006,275.15193010334,293.04845178801,312.10900487995,328.24542585003,349.59527202198,367.66978141816,391.58387939843,411.8292495232,438.61558204759,467.14415995873,491.2960898965,523.2511306012],description:"Meantone with fifth tempered 1/6 of 53-tET step by William Hawkes (1808)"},hawkes3:{frequencies:[261.6255653006,274.56549986328,292.86986732103,311.6193417424,327.84547867349,349.70184487387,366.99801003998,391.46454285105,411.84824958905,438.2147004401,467.42901237995,490.54793493862,523.2511306012],description:"William Hawkes' modified 1/5-comma meantone (1811)"},hbarnes:{frequencies:[261.6255653006,276.71351472429,293.33333347996,310.95136287868,328.88393162803,349.42547049952,369.15973155124,391.77416758435,414.83597850347,439.25532436715,466.16376151809,493.04743111995,523.2511306012],description:"Variation on Barnes with 1/6P -> 1/8P. OdC '99"},hebdome1:{frequencies:[261.6255653006,265.71346475842,267.23182741418,269.80136421624,273.30527803723,280.31310567921,283.42769574232,287.78812183066,289.07289023169,292.28481123426,294.32876096318,300.63580584096,303.67253115248,308.34441624714,311.77046531655,315.35224388912,318.85615771011,323.76163705949,327.03195662575,334.03978426773,336.37572681506,340.11323489078,341.63159754654,346.88746827803,350.74177348112,359.73515228832,364.40703738298,367.91095120397,370.01329949656,375.7947573012,382.62738925213,385.43052030892,389.71308164569,392.4383479509,400.84774112128,404.70204632437,409.95791705585,411.12588832951,417.54973033466,420.46965851882,425.14154361347,431.68218274599,437.28844485957,441.49314144476,445.38637902364,449.66894036041,455.50879672872,462.5166243707,467.65569797482,470.92601754108,478.28423656516,479.64686971777,485.87604984397,490.54793493862,501.0596764016,504.56359022259,510.16985233617,513.90736041189,523.2511306012],description:"Wilson 1.3.5.7.9.11.13.15 hebdomekontany, 1.3.5.7 tonic"},helmholtz:{frequencies:[261.6255653006,279.06726965397,327.03195662575,348.83408706747,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Helmholtz's Chromatic scale and Gipsy major from Slovakia"},helmholtz_24:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,306.59245933664,310.07474405997,327.03195662575,331.11985608357,344.91651675372,348.83408706747,367.91095120397,372.50983809402,388.03108134794,392.4383479509,408.78994578219,413.89982010446,436.04260883433,441.49314144476,459.88868900496,465.63729761752,490.54793493862,496.67978412536,517.37477513058,523.2511306012],description:"Simplified Helmholtz 24"},helmholtz_hd:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,523.2511306012],description:"Helmholtz Harmonic Decad"},helmholtz_pure:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,306.59245933664,310.07474405997,327.03195662575,330.74639366397,344.91651675372,348.83408706747,367.91095120397,372.08969287196,387.59343007496,392.4383479509,408.78994578219,413.43299207996,436.04260883433,441.49314144476,459.88868900496,465.11211608996,490.54793493862,496.11959049595,516.79124009995,523.2511306012],description:"Helmholtz's two-keyboard harmonium tuning untempered"},helmholtz_temp:{frequencies:[261.6255653006,275.81645389904,279.10671937395,290.77707354032,294.24580701304,306.54917537161,310.20605716322,327.03195662575,330.9330448436,344.77062435684,348.88325535732,367.80710710303,372.19474608839,387.75741156435,392.38304142029,408.78994578219,413.66637442451,436.10414127513,441.30625330017,459.75895986689,465.24324076996,490.4788828408,496.3296094287,517.08305349316,523.2511306012],description:"Helmholtz's two-keyboard harmonium tuning"},hem_chrom:{frequencies:[261.6255653006,269.55361273395,285.40970760065,348.83408706747,392.4383479509,404.33041910093,428.11456140098,523.2511306012],description:"Hemiolic Chromatic genus has the strong or 1:2 division of the 12/11 pyknon"},hem_chrom11:{frequencies:[261.6255653006,273.00058987889,285.40970760065,348.83408706747,392.4383479509,409.50088481833,428.11456140098,523.2511306012],description:"11'al Hemiolic Chromatic genus with a CI of 11/9, Winnington-Ingram"},hem_chrom13:{frequencies:[261.6255653006,272.09058791262,283.42769574232,348.83408706747,392.4383479509,408.13588186894,425.14154361347,523.2511306012],description:"13'al Hemiolic Chromatic or neutral-third genus has a CI of 16/13"},hem_chrom2:{frequencies:[261.6255653006,269.29177952703,285.30470202322,349.22823143301,391.99543598175,403.48177901006,427.47405410759,523.2511306012],description:"1:2 Hemiolic Chromatic genus 3 + 6 + 21 parts"},hemiwuer24:{frequencies:[261.6255653006,274.60778382002,280.48822448524,286.49458884928,292.62957327549,307.15025309186,313.72755695954,320.44570714783,327.30771955335,350.90592546776,358.42021185082,366.09540888186,373.9349620795,392.49012653442,400.89489544613,409.47964376542,418.24822532303,439.00227453173,448.4030528436,458.00513880662,467.8128437444,491.02635713596,501.54117720983,512.28116095218,523.2511306012],description:"Hemiw\xEF\xBF\xBDrschmidt[24] in 229-tET tuning."},hen12:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Adjusted Hahn12"},hen22:{frequencies:[261.6255653006,272.52663052146,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,366.27579142084,381.53728273004,392.4383479509,415.27867508032,418.60090448096,436.04260883433,448.50096908674,457.84473927605,484.4917875937,490.54793493862,508.71637697339,523.2511306012],description:"Adjusted Hahn22"},hept_diamond:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,294.32876096318,305.22982618403,313.95067836072,316.53463456122,325.57848126297,327.03195662575,334.88072358477,336.37572681506,348.83408706747,392.4383479509,406.97310157871,408.78994578219,418.60090448096,420.46965851882,432.48307733364,436.04260883433,448.50096908674,465.11211608996,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"Inverted-Prime Heptatonic Diamond based on Archytas's Enharmonic"},hept_diamondi:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,281.36411960997,289.40309445597,294.32876096318,297.67175429757,327.03195662575,336.37572681506,348.83408706747,361.75386806997,367.91095120397,372.08969287196,378.42269266694,392.4383479509,406.97310157871,418.60090448096,459.88868900496,465.11211608996,473.02836583367,486.54346200035,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"Prime-Inverted Heptatonic Diamond based on Archytas's Enharmonic"},hept_diamondp:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,339.14425131559,348.83408706747,358.80077526939,361.75386806997,367.91095120397,372.08969287196,378.42269266694,381.53728273004,392.4383479509,403.65087217807,406.97310157871,418.60090448096,436.04260883433,448.50096908674,465.11211608996,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"Heptatonic Diamond based on Archytas's Enharmonic, 27 tones"},herf:{frequencies:[261.6255653006,269.80136421624,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,425.14154361347,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Sims:Reflections on This and That, 1991. Used by Herf in Ekmelischer Gesang"},heun:{frequencies:[261.6255653006,275.15237829755,293.0485888979,312.10878854255,328.24573110938,349.59519124833,367.67029324081,391.58396987353,411.83001550364,438.61588607285,467.14394139401,491.29666030217,523.2511306012],description:"Well temperament for organ of Jan Heun (1805), subset of 55-tET"},hexagonal13:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Star hexagonal 13-tone scale"},hexagonal37:{frequencies:[261.6255653006,272.52663052146,279.06726965397,282.55561052465,283.88190679319,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,313.95067836072,322.99452506247,327.03195662575,334.88072358477,340.65828815182,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,376.74081403286,387.59343007496,392.4383479509,401.85686830172,408.78994578219,418.60090448096,423.83341578697,436.04260883433,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,482.22824196207,484.4917875937,490.54793493862,502.32108537715,523.2511306012],description:"Star hexagonal 37-tone scale"},hexany1:{frequencies:[261.6255653006,305.22982618403,327.03195662575,381.53728273004,436.04260883433,457.84473927605,523.2511306012],description:"Two out of 1 3 5 7 hexany on 1.3"},hexany10:{frequencies:[261.6255653006,294.32876096318,327.03195662575,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"1.3.5.9 Hexany"},hexany11:{frequencies:[261.6255653006,294.32876096318,305.22982618403,343.38355445704,392.4383479509,457.84473927605,523.2511306012],description:"1.3.7.9 Hexany on 1.3"},hexany12:{frequencies:[261.6255653006,290.69507255622,305.22982618403,339.14425131559,406.97310157871,436.04260883433,523.2511306012],description:"3.5.7.9 Hexany on 3.9"},hexany13:{frequencies:[261.6255653006,285.40970760065,327.03195662575,356.76213450082,392.4383479509,475.68284600109,523.2511306012],description:"1.3.5.11 Hexany on 1.11"},hexany14:{frequencies:[261.6255653006,287.78812183066,340.11323489078,383.71749577421,453.48431318771,498.83274450648,523.2511306012],description:"5.11.13.15 Hexany (5.15), used in The Giving, by Stephen J. Taylor"},hexany15:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,418.60090448096,523.2511306012],description:"1.3.5.15 2)4 hexany (1.15 tonic) degenerate, symmetrical pentatonic"},hexany16:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,465.11211608996,523.2511306012],description:"1.3.9.27 Hexany, a degenerate pentatonic form"},hexany17:{frequencies:[261.6255653006,327.03195662575,334.88072358477,408.78994578219,418.60090448096,523.2511306012],description:"1.5.25.125 Hexany, a degenerate pentatonic form"},hexany18:{frequencies:[261.6255653006,299.00064605783,341.71502406609,400.61414686654,457.84473927605,523.2511306012],description:"1.7.49.343 Hexany, a degenerate pentatonic form"},hexany19:{frequencies:[261.6255653006,299.00064605783,327.03195662575,418.60090448096,457.84473927605,523.2511306012],description:"1.5.7.35 Hexany, a degenerate pentatonic form"},hexany2:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,490.54793493862,523.2511306012],description:"Hexany Cluster 2"},hexany20:{frequencies:[261.6255653006,279.06726965397,305.22982618403,398.6675280771,436.04260883433,465.11211608996,523.2511306012],description:"3.5.7.105 Hexany"},hexany21:{frequencies:[261.6255653006,279.06726965397,310.07474405997,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:"3.5.9.135 Hexany"},hexany21a:{frequencies:[261.6255653006,279.06726965397,310.07474405997,348.83408706747,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:"3.5.9.135 Hexany + 4/3. Is Didymos Diatonic tetrachord on 1/1 and inv. on 3/2"},hexany22:{frequencies:[261.6255653006,276.76092858245,359.73515228832,380.54627680087,494.63583439645,523.2511306012],description:"1.11.121.1331 Hexany, a degenerate pentatonic form"},hexany23:{frequencies:[261.6255653006,348.83408706747,359.73515228832,380.54627680087,392.4383479509,523.2511306012],description:"1.3.11.33 Hexany, degenerate pentatonic form"},hexany24:{frequencies:[261.6255653006,327.03195662575,359.73515228832,380.54627680087,418.60090448096,523.2511306012],description:"1.5.11.55 Hexany, a degenerate pentatonic form"},hexany25:{frequencies:[261.6255653006,299.00064605783,359.73515228832,380.54627680087,457.84473927605,523.2511306012],description:"1.7.11.77 Hexany, a degenerate pentatonic form"},hexany26:{frequencies:[261.6255653006,294.32876096318,359.73515228832,380.54627680087,465.11211608996,523.2511306012],description:"1.9.11.99 Hexany, a degenerate pentatonic form"},hexany3:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Hexany Cluster 3"},hexany4:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Hexany Cluster 4"},hexany49:{frequencies:[261.6255653006,299.00064605783,305.22982618403,392.4383479509,400.61414686654,457.84473927605,523.2511306012],description:"1.3.21.49 2)4 hexany (1.21 tonic)"},hexany5:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Hexany Cluster 5"},hexany6:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Hexany Cluster 6"},hexany7:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Hexany Cluster 7"},hexany8:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,340.65828815182,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,502.32108537715,523.2511306012],description:"Hexany Cluster 8"},hexany9:{frequencies:[261.6255653006,299.00064605783,313.95067836072,358.80077526939,418.60090448096,448.50096908674,523.2511306012],description:"1.3.5.7 Hexany on 5.7"},hexany_cl:{frequencies:[261.6255653006,294.32876096318,301.39265122629,313.95067836072,327.03195662575,348.83408706747,353.19451315581,376.74081403286,392.4383479509,418.60090448096,470.92601754108,502.32108537715,523.2511306012],description:"Hexany Cluster 1"},hexany_cl2:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,490.54793493862,502.32108537715,523.2511306012],description:"Composed of 1.3.5.45, 1.3.5.75, 1.3.5.9, and 1.3.5.25 hexanies"},hexany_flank:{frequencies:[261.6255653006,267.07609791103,299.00064605783,305.22982618403,327.03195662575,348.83408706747,373.75080757229,381.53728273004,427.14378008261,436.04260883433,457.84473927605,498.33441009638,523.2511306012],description:"Hexany Flanker, 7-limit, from Wilson"},hexany_tetr:{frequencies:[261.6255653006,269.10058145205,279.06726965397,336.37572681506,348.83408706747,358.80077526939,523.2511306012],description:"Complex 12 of p. 115, a hexany based on Archytas's Enharmonic"},hexany_trans:{frequencies:[261.6255653006,271.31540105247,279.06726965397,339.14425131559,348.83408706747,361.75386806997,523.2511306012],description:"Complex 1 of p. 115, a hexany based on Archytas's Enharmonic"},hexany_trans2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,358.80077526939,372.08969287196,523.2511306012],description:"Complex 2 of p. 115, a hexany based on Archytas's Enharmonic"},hexany_trans3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,336.37572681506,348.83408706747,523.2511306012],description:"Complex 9 of p. 115, a hexany based on Archytas's Enharmonic"},hexany_u2:{frequencies:[261.6255653006,274.70684356563,279.06726965397,280.31310567921,286.15296204753,299.00064605783,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,418.60090448096,436.04260883433,448.50096908674,457.84473927605,478.40103369253,488.36772189445,490.54793493862,498.33441009638,523.2511306012],description:"Hexany union = genus [335577] minus two corners"},hexany_union:{frequencies:[261.6255653006,274.70684356563,280.31310567921,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,488.36772189445,498.33441009638,523.2511306012],description:"The union of all of the pitches of the 1.3.5.7 hexany on each tone as 1/1"},hexany_urot:{frequencies:[261.6255653006,267.07609791103,280.31310567921,286.15296204753,290.69507255622,299.00064605783,305.22982618403,327.03195662575,333.84512238879,343.38355445704,348.83408706747,356.10146388137,373.75080757229,381.53728273004,392.4383479509,400.61414686654,406.97310157871,436.04260883433,445.12682985172,448.50096908674,457.84473927605,490.54793493862,498.33441009638,508.71637697339,523.2511306012],description:"Aggregate rotations of 1.3.5.7 hexany, 1.3 = 1/1"},hexanys:{frequencies:[261.6255653006,286.15296204753,294.32876096318,327.03195662575,343.38355445704,367.91095120397,392.4383479509,429.2294430713,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"Hexanys 1 3 5 7 9"},hexanys2:{frequencies:[261.6255653006,314.76825825228,425.14154361347,457.84473927605,269.80136421624,371.99885066179,392.4383479509,472.15238737843,318.85615771011,359.73515228832,343.38355445704,292.28481123426,523.2511306012],description:"Hexanys 1 3 7 11 13"},higgs:{frequencies:[261.6255653006,392.4383479509,418.60090448096,422.62591317789,423.58424858192,425.14154361347,436.04260883433,523.2511306012],description:"From Greg Higgs announcement of the formation of an Internet Tuning list"},hinsz_gr:{frequencies:[261.6255653006,274.68983337859,292.34127285051,310.07474405997,326.6631048533,348.83408706747,366.25311135453,391.11111150212,412.03474986192,437.02884834934,465.11211608996,489.99465727995,523.2511306012],description:"Reconstructed Hinsz temperament, organ Pelstergasthuiskerk Groningen. Ortgies,2002"},hipkins:{frequencies:[261.6255653006,275.62199471997,299.00064605783,348.83408706747,392.4383479509,413.43299207996,448.50096908674,523.2511306012],description:"Hipkins' Chromatic"},hirajoshi:{frequencies:[261.6255653006,291.13134764929,317.84796618517,388.16504068057,412.91271853531,523.2511306012],description:"Observed Japanese pentatonic koto scale. Helmholtz/Ellis p.519, nr.112"},hirajoshi2:{frequencies:[261.6255653006,294.32876096318,313.95067836072,392.4383479509,418.60090448096,523.2511306012],description:"Japanese pentatonic koto scale, theoretical. Helmholz/Ellis p.519, nr.110"},hirajoshi3:{frequencies:[261.6255653006,292.47977325983,321.54118165335,396.32121331049,415.54465627623,522.94897617031],description:"Observed Japanese pentatonic koto scale. Helmholtz/Ellis p.519, nr.111"},hirashima:{frequencies:[261.6255653006,277.33928225406,292.50627485027,312.00669222389,327.03195662575,349.91912034749,369.78570985692,391.22147055517,416.00892317314,437.39889945791,468.01003810189,489.02683710225,523.2511306012],description:"Tatsushi Hirashima, temperament of chapel organ of Kobe Shoin Women's Univ."},hjelmboogie:{frequencies:[261.6255653006,294.32876096318,327.03195662575,343.38355445704,367.91095120397,392.4383479509,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:`Paul Hjelmstad's "Boogie Woogie" scale, TL 20-3-2006`},ho_mai_nhi:{frequencies:[261.6255653006,287.78812183066,348.83408706747,392.4383479509,431.68218274599,523.2511306012],description:"Ho Mai Nhi (Nam Hue) dan tranh scale, Vietnam"},hochgartz:{frequencies:[261.6255653006,274.56549986328,292.86986732103,309.86458629683,327.84547867349,349.70184487387,366.99801003998,391.46454285105,412.49999887294,438.2147004401,465.53241962975,490.54793493862,523.2511306012],description:"Michael Hochgartz, modified 1/5-comma meantone temperament"},hofmann1:{frequencies:[261.6255653006,262.65154790962,279.06726965397,348.83408706747,392.4383479509,393.97732186443,418.60090448096,523.2511306012],description:"Hofmann's Enharmonic #1, Dorian mode"},hofmann2:{frequencies:[261.6255653006,263.56353245097,279.06726965397,348.83408706747,392.4383479509,395.34529867646,418.60090448096,523.2511306012],description:"Hofmann's Enharmonic #2, Dorian mode"},hofmann_chrom:{frequencies:[261.6255653006,264.26824777838,290.69507255622,348.83408706747,392.4383479509,396.40237166758,436.04260883433,523.2511306012],description:"Hofmann's Chromatic"},holder:{frequencies:[261.6255653006,274.23214485994,292.57879058083,312.45989404005,327.40114268825,349.76744711215,366.57630213591,391.03837375367,409.94826565972,437.46806069696,467.28984664562,489.70152554512,523.2511306012],description:"William Holder's equal beating meantone temperament (1694). 3/2 beats 2.8 Hz"},holder2:{frequencies:[261.6255653006,274.23214485994,292.57879058083,312.45989404005,327.40114268825,349.76744711215,366.57630213591,391.03837375367,410.64811919433,437.46806069696,467.46154552107,489.70152554512,523.2511306012],description:"Holder's irregular e.b. temperament with improved Eb and G#"},hummel:{frequencies:[261.6255653006,277.1703574486,293.54676487235,311.03465677994,329.45811370906,349.13199096171,369.8583804246,391.99149393462,415.308682162,439.8732919971,466.10512967869,493.74031485884,523.2511306012],description:"Johann Nepomuk Hummel's quasi-equal temperament (1829)"},hummel2:{frequencies:[261.6255653006,277.22760066578,293.66431501254,311.21660561883,329.70790803338,349.18845812715,369.99117208793,391.90679138833,415.30984563838,439.96491544382,466.29335337935,494.03030700757,523.2511306012],description:"Johann Nepomuk Hummel's temperament according to the second bearing plan"},husmann:{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,314.30517589183,331.11985608357,348.83408706747],description:"Tetrachord division according to Husmann"},hwerck3:{frequencies:[261.6255653006,276.40121172404,293.00227310437,310.60041853231,328.69828757761,349.03110370139,368.74309237173,391.5530240856,414.36778843034,438.51190905657,465.63764214343,492.7691222293,523.2511306012],description:"Variation on Werckmeister III with 1/4P -> 1/6P and 0P -> 1/24P. OdC '99"},hyper_enh:{frequencies:[261.6255653006,264.93728131706,268.33391312882,348.83408706747,392.4383479509,397.40592197559,402.50086969323,523.2511306012],description:"13/10 HyperEnharmonic. This genus is at the limit of usable tunings"},hyper_enh2:{frequencies:[261.6255653006,267.19206668997,273.00058987889,348.83408706747,392.4383479509,400.78810003496,409.50088481833,523.2511306012],description:"Hyperenharmonic genus from Kathleen Schlesinger's enharmonic Phrygian Harmonia"},hypo_chrom:{frequencies:[261.6255653006,275.39533189537,282.83844897362,290.69507255622,348.83408706747,373.75080757229,387.59343007496,402.50086969323,418.60090448096,427.14378008261,436.04260883433,455.00098313148,523.2511306012],description:"Hypolydian Chromatic Tonos"},hypo_diat:{frequencies:[261.6255653006,290.69507255622,307.79478270659,327.03195662575,348.83408706747,373.75080757229,387.59343007496,402.50086969323,436.04260883433,455.00098313148,475.68284600109,498.33441009638,523.2511306012],description:"Hypolydian Diatonic Tonos"},hypo_enh:{frequencies:[261.6255653006,268.33391312882,271.81876914348,275.39533189537,348.83408706747,373.75080757229,387.59343007496,402.50086969323,410.39304360878,414.45634107026,418.60090448096,465.11211608996,523.2511306012],description:"Hypolydian Enharmonic Tonos"},hypod_chrom:{frequencies:[261.6255653006,279.06726965397,288.69027895239,299.00064605783,322.00069575458,348.83408706747,364.00078650518,380.54627680087,398.6675280771,408.39112632289,418.60090448096,465.11211608996,523.2511306012],description:"Hypodorian Chromatic Tonos"},hypod_chrom2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,348.83408706747,380.54627680087,398.6675280771,418.60090448096,523.2511306012],description:"Schlesinger's Chromatic Hypodorian Harmonia"},hypod_chrom2inv:{frequencies:[261.6255653006,327.03195662575,343.38355445704,359.73515228832,392.4383479509,457.84473927605,490.54793493862,523.2511306012],description:"Inverted Schlesinger's Chromatic Hypodorian Harmonia"},hypod_chromenh:{frequencies:[261.6255653006,270.06509966514,279.06726965397,348.83408706747,380.54627680087,398.6675280771,418.60090448096,523.2511306012],description:"Schlesinger's Hypodorian Harmonia in a mixed chromatic-enharmonic genus"},hypod_chrominv:{frequencies:[261.6255653006,277.97716313189,294.32876096318,359.73515228832,392.4383479509,408.78994578219,425.14154361347,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Hypodorian Inverted"},hypod_diat:{frequencies:[261.6255653006,279.06726965397,299.00064605783,322.00069575458,334.88072358477,348.83408706747,364.00078650518,380.54627680087,418.60090448096,440.63253103259,465.11211608996,492.47165233054,523.2511306012],description:"Hypodorian Diatonic Tonos"},hypod_diat2:{frequencies:[261.6255653006,279.06726965397,322.00069575458,348.83408706747,364.00078650518,380.54627680087,418.60090448096,465.11211608996,523.2511306012],description:"Schlesinger's Hypodorian Harmonia, a subharmonic series through 13 from 16"},hypod_diatcon:{frequencies:[261.6255653006,279.06726965397,322.00069575458,348.83408706747,364.00078650518,418.60090448096,465.11211608996,523.2511306012],description:"A Hypodorian Diatonic with its own trite synemmenon replacing paramese"},hypod_diatinv:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Inverted Schlesinger's Hypodorian Harmonia, a harmonic series from 8 from 16"},hypod_enh:{frequencies:[261.6255653006,270.06509966514,274.49239638096,279.06726965397,310.07474405997,348.83408706747,364.00078650518,380.54627680087,389.39619021485,393.97732186443,398.6675280771,452.54151835779,523.2511306012],description:"Hypodorian Enharmonic Tonos"},hypod_enhinv:{frequencies:[261.6255653006,343.38355445704,351.55935337268,359.73515228832,392.4383479509,490.54793493862,506.89953276991,523.2511306012],description:"Inverted Schlesinger's Enharmonic Hypodorian Harmonia"},hypod_enhinv2:{frequencies:[261.6255653006,269.80136421624,277.97716313189,359.73515228832,392.4383479509,400.61414686654,408.78994578219,523.2511306012],description:"A harmonic form of Schlesinger's Hypodorian enharmonic inverted"},hypodorian_pis:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,392.4383479509,418.60090448096,483.00104363188,523.2511306012,546.00117975777,570.81941520131,627.90135672144,697.66817413493,784.8766959018,897.00193817349,966.00208726375,1046.5022612024],description:"Diatonic Perfect Immutable System in the Hypodorian Tonos"},hypol_chrom:{frequencies:[261.6255653006,275.39533189537,290.69507255622,348.83408706747,373.75080757229,402.50086969323,418.60090448096,436.04260883433,523.2511306012],description:"Schlesinger's Hypolydian Harmonia in the chromatic genus"},hypol_chrominv:{frequencies:[261.6255653006,313.95067836072,327.03195662575,340.11323489078,366.27579142084,392.4383479509,470.92601754108,497.08857407114,523.2511306012],description:"Inverted Schlesinger's Chromatic Hypolydian Harmonia"},hypol_chrominv2:{frequencies:[261.6255653006,274.70684356563,287.78812183066,340.11323489078,366.27579142084,392.4383479509,418.60090448096,523.2511306012],description:"harmonic form of Schlesinger's Chromatic Hypolydian inverted"},hypol_chrominv3:{frequencies:[261.6255653006,274.70684356563,287.78812183066,340.11323489078,392.4383479509,418.60090448096,444.76346101102,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Hypolydian inverted"},hypol_diat:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,373.75080757229,402.50086969323,436.04260883433,475.68284600109,523.2511306012],description:"Schlesinger's Hypolydian Harmonia, a subharmonic series through 13 from 20"},hypol_diatcon:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,402.50086969323,436.04260883433,475.68284600109,523.2511306012],description:"A Hypolydian Diatonic with its own trite synemmenon replacing paramese"},hypol_diatinv:{frequencies:[261.6255653006,287.78812183066,313.95067836072,340.11323489078,366.27579142084,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Inverted Schlesinger's Hypolydian Harmonia, a harmonic series from 10 from 20"},hypol_enh:{frequencies:[261.6255653006,268.33391312882,275.39533189537,348.83408706747,373.75080757229,402.50086969323,418.60090448096,436.04260883433,523.2511306012],description:"Schlesinger's Hypolydian Harmonia in the enharmonic genus"},hypol_enhinv:{frequencies:[261.6255653006,327.03195662575,333.57259575826,340.11323489078,366.27579142084,392.4383479509,497.08857407114,510.16985233617,523.2511306012],description:"Inverted Schlesinger's Enharmonic Hypolydian Harmonia"},hypol_enhinv2:{frequencies:[261.6255653006,268.16620443312,274.70684356563,340.11323489078,366.27579142084,379.35706968587,392.4383479509,523.2511306012],description:"A harmonic form of Schlesinger's Hypolydian enharmonic inverted"},hypol_enhinv3:{frequencies:[261.6255653006,268.16620443312,274.70684356563,340.11323489078,392.4383479509,405.51962621593,418.60090448096,523.2511306012],description:"A harmonic form of Schlesinger's Hypolydian enharmonic inverted"},hypol_pent:{frequencies:[261.6255653006,272.52663052146,290.69507255622,348.83408706747,373.75080757229,402.50086969323,415.27867508032,436.04260883433,523.2511306012],description:"Schlesinger's Hypolydian Harmonia in the pentachromatic genus"},hypol_tri:{frequencies:[261.6255653006,270.64713651786,280.31310567921,348.83408706747,373.75080757229,402.50086969323,413.09299784305,424.25767346043,523.2511306012],description:"Schlesinger's Hypolydian Harmonia in the first trichromatic genus"},hypol_tri2:{frequencies:[261.6255653006,270.64713651786,290.69507255622,348.83408706747,373.75080757229,402.50086969323,413.09299784305,436.04260883433,2093.0045224048],description:"Schlesinger's Hypolydian Harmonia in the second trichromatic genus"},hypolydian_pis:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,366.27579142084,406.97310157871,457.84473927605,488.36772189445,523.2511306012,563.50121757052,610.45965236807,665.95598440153,732.55158284168,813.94620315742,915.6894785521,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Hypolydian Tonos"},hypop_chrom:{frequencies:[261.6255653006,277.01530443593,285.40970760065,294.32876096318,336.37572681506,362.25078272391,376.74081403286,392.4383479509,409.50088481833,418.60090448096,428.11456140098,470.92601754108,523.2511306012],description:"Hypophrygian Chromatic Tonos"},hypop_chromenh:{frequencies:[261.6255653006,269.10058145205,277.01530443593,362.25078272391,392.4383479509,409.50088481833,428.11456140098,523.2511306012],description:"Schlesinger's Hypophrygian Harmonia in a mixed chromatic-enharmonic genus"},hypop_chrominv:{frequencies:[261.6255653006,319.76457981184,334.29933343966,348.83408706747,377.90359432309,465.11211608996,494.18162334558,523.2511306012],description:"Inverted Schlesinger's Chromatic Hypophrygian Harmonia"},hypop_chrominv2:{frequencies:[261.6255653006,276.16031892841,290.69507255622,348.83408706747,377.90359432309,406.97310157871,436.04260883433,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Hypophrygian inverted"},hypop_diat:{frequencies:[261.6255653006,294.32876096318,303.82323712328,313.95067836072,336.37572681506,362.25078272391,376.74081403286,392.4383479509,428.11456140098,448.50096908674,470.92601754108,495.71159741166,523.2511306012],description:"Hypophrygian Diatonic Tonos"},hypop_diat2:{frequencies:[261.6255653006,294.32876096318,313.95067836072,362.25078272391,376.74081403286,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Schlesinger's Hypophrygian Harmonia"},hypop_diat2inv:{frequencies:[261.6255653006,290.69507255622,319.76457981184,348.83408706747,363.36884069528,377.90359432309,436.04260883433,465.11211608996,523.2511306012],description:"Inverted Schlesinger's Hypophrygian Harmonia, a harmonic series from 9 from 18"},hypop_diatcon:{frequencies:[261.6255653006,294.32876096318,313.95067836072,362.25078272391,376.74081403286,428.11456140098,470.92601754108,523.2511306012],description:"A Hypophrygian Diatonic with its own trite synemmenon replacing paramese"},hypop_enh:{frequencies:[261.6255653006,269.10058145205,273.00058987889,277.01530443593,313.95067836072,362.25078272391,376.74081403286,392.4383479509,400.78810003496,405.0976494977,409.50088481833,470.92601754108,523.2511306012],description:"Hypophrygian Enharmonic Tonos"},hypop_enhinv:{frequencies:[261.6255653006,334.29933343966,341.56671025356,348.83408706747,377.90359432309,494.18162334558,508.71637697339,523.2511306012],description:"Inverted Schlesinger's Enharmonic Hypophrygian Harmonia"},hypop_enhinv2:{frequencies:[261.6255653006,268.89294211451,276.16031892841,348.83408706747,377.90359432309,392.4383479509,406.97310157871,523.2511306012],description:"A harmonic form of Schlesinger's Hypophrygian enharmonic inverted"},hypophryg_pis:{frequencies:[261.6255653006,283.42769574232,309.19384990071,340.11323489078,377.90359432309,425.14154361347,453.48431318771,523.2511306012,544.18117582525,566.85539148463,618.38769980142,680.22646978156,755.80718864618,850.28308722695,971.75209968794,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Hypophrygian Tonos"},kanzelmeyer_11:{frequencies:[261.6255653006,277.97716313189,310.68035879446,327.03195662575,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,474.19633710734,506.89953276991,523.2511306012],description:"Bruce Kanzelmeyer, 11 harmonics from 16 to 32. Base 388.3614815 Hz"},kanzelmeyer_18:{frequencies:[261.6255653006,277.97716313189,302.50455987882,310.68035879446,327.03195662575,335.20775554139,351.55935337268,359.73515228832,376.08675011961,384.26254903526,392.4383479509,425.14154361347,433.31734252912,457.84473927605,474.19633710734,482.37213602298,498.72373385427,506.89953276991,523.2511306012],description:"Bruce Kanzelmeyer, 18 harmonics from 32 to 64. Base 388.3614815 Hz"},kayolonian:{frequencies:[261.6255653006,267.90457886781,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,357.20610515709,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,490.54793493862,510.98743222773,523.2511306012],description:"19-tone 5-limit scale of the Kayenian Imperium on Kayolonia (reeks van Sjauriek)"},kayolonian_12:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"See Barnard: De Keiaanse Muziek, p. 11. (uitgebreide reeks)"},kayolonian_40:{frequencies:[261.6255653006,267.90457886781,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.07474405997,313.95067836072,319.36714514233,327.03195662575,331.11985608357,334.88072358477,340.65828815182,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,401.85686830172,408.78994578219,413.43299207996,418.60090448096,436.04260883433,441.49314144476,446.50763144636,459.88868900496,465.11211608996,470.92601754108,490.54793493862,496.11959049595,502.32108537715,510.98743222773,523.2511306012],description:"See Barnard: De Keiaanse Muziek"},kayolonian_f:{frequencies:[261.6255653006,279.06726965397,306.59245933664,327.03195662575,348.83408706747,392.4383479509,418.60090448096,446.50763144636,490.54793493862,523.2511306012],description:"Kayolonian scale F and periodicity block (128/125, 16875/16384)"},kayolonian_p:{frequencies:[261.6255653006,279.06726965397,306.59245933664,327.03195662575,348.83408706747,392.4383479509,418.60090448096,459.88868900496,490.54793493862,523.2511306012],description:"Kayolonian scale P"},kayolonian_s:{frequencies:[261.6255653006,287.4304306281,306.59245933664,327.03195662575,359.28803828513,392.4383479509,418.60090448096,459.88868900496,490.54793493862,523.2511306012],description:"Kayolonian scale S"},kayolonian_t:{frequencies:[261.6255653006,279.06726965397,297.67175429757,317.51653791741,348.83408706747,381.01984550089,418.60090448096,446.50763144636,476.27480687611,523.2511306012],description:"Kayolonian scale T"},kayolonian_z:{frequencies:[261.6255653006,279.06726965397,297.67175429757,327.03195662575,348.83408706747,392.4383479509,418.60090448096,446.50763144636,476.27480687611,523.2511306012],description:"Kayolonian scale Z"},kayoloniana:{frequencies:[261.6255653006,267.90457886781,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,367.91095120397,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,490.54793493862,510.98743222773,523.2511306012],description:"Amendment by Rasch of Kayolonian scale's note 9"},"kebyar-b":{frequencies:[261.6255653006,280.40333801024,299.48910562989,384.37207420335,402.78320381033,523.2511306012],description:"Gamelan Kebyar tuning begbeg, Andrew Toth, 1993"},"kebyar-s":{frequencies:[261.6255653006,283.00682726281,309.51375468789,385.26118901859,416.26536455926,523.2511306012],description:"Gamelan kebyar tuning sedung, Andrew Toth, 1993"},"kebyar-t":{frequencies:[261.6255653006,293.15632631094,325.27731021818,397.46748834812,422.07621250312,523.2511306012],description:"Gamelan kebyar tuning tirus, Andrew Toth, 1993"},keenan:{frequencies:[261.6255653006,279.77706779472,292.57243455474,305.95298478736,327.17991022208,349.87955533643,365.88099775759,391.26571058456,418.41160951721,437.54730686196,457.55816161244,489.30340830564,523.2511306012],description:"Dave Keenan 31-ET mode has 3 4:5:6:7 tetrads + 3 inv. is Fokker's 12-tone mode"},keenan2:{frequencies:[261.6255653006,278.14493936283,295.70736791055,306.84360659709,326.21810583671,346.81593583087,369.99442271164,393.35634555235,418.19337019276,433.94238997708,461.34206956593,490.47180009913,523.2511306012],description:"Dave Keenan strange 9-limit temperament TL 19-11-98"},keenan3:{frequencies:[261.6255653006,272.10155294862,282.99701916355,314.19580976213,326.77681046955,339.86157848985,377.32935907335,392.4383479509,408.1523292189,453.14877154631,471.29371440761,523.2511306012],description:"Chain of 1/6 kleisma tempered 6/5s, 10 tetrads, Dave Keenan, 30-Jun-99, TD235"},keenan3eb:{frequencies:[261.6255653006,272.52625793573,283.88113057344,314.31833892864,327.41448875753,341.05629284549,377.62371824792,393.35750206077,409.74683779238,453.67913385439,472.5817850056,523.2511306012],description:"Chain of 11 equal beating minor thirds, 6/5=3/2 same"},keenan3eb2:{frequencies:[261.6255653006,271.88912362492,282.55531921581,314.13446783,326.45794787121,339.26487744082,377.18204004818,391.97887331053,407.35618327602,452.88341485066,470.6500094,523.2511306012],description:"Chain of 11 equal beating minor thirds, 6/5=3/2 opposite"},keenan3j:{frequencies:[261.6255653006,291.88463270656,302.72962012827,313.97755176024,350.29154279212,363.30663963964,405.32593044476,420.38583225541,436.00528786292,486.43275040712,504.50618240233,523.2511306012],description:"Chain of 11 nearly just 19-tET minor thirds, Dave Keenan, 1-Jul-99"},keenan7:{frequencies:[261.6255653006,269.29177952703,279.86396690685,288.06460709314,296.5055443788,305.19382000629,314.13668154225,326.46944327063,336.03572815422,349.22823143301,359.46139971304,369.99442271164,380.8360868427,391.99543598175,407.38487419079,419.32216217931,435.78442404634,448.5538823653,461.69751437372,475.22628419761,489.15147723638,508.3551866238,523.2511306012],description:"Dave Keenan, 22 out of 72-tET periodicity block. TL 29-04-2001"},keenanmt:{frequencies:[261.6255653006,279.93529690293,292.50627485027,305.64177427204,327.03195662575,349.91912034749,365.63284274659,391.22147055517,418.60090448096,437.39890198442,457.04105241293,489.02683710225,523.2511306012],description:"Dave Keenan 1/4-comma tempered version of keenan with 6 7-limit tetrads"},keenanst:{frequencies:[261.6255653006,268.50609092997,277.46533822773,286.72352888229,294.26410920268,304.08282473376,314.22916151277,322.49311613356,333.25374941849,342.01803421352,353.43015577174,365.22306367425,374.82811589307,387.33500976677,397.52158713557,410.7856943143,424.4923875554,435.65616946139,450.19271626925,462.0323945472,477.44903730562,493.38008744487,506.35555615636,523.2511306012],description:"Dave Keenan, 7-limit temperament, g=260.353"},kelletat:{frequencies:[261.6255653006,275.58617649731,292.98704147282,310.05056613125,327.14272545641,348.82502010853,367.43868454848,391.99543598175,413.39000965417,437.97145880542,465.08793784701,489.90551202062,523.2511306012],description:"Herbert Kelletat's Bach-tuning (1967)"},kellner:{frequencies:[261.6255653006,275.62199471997,292.73769384471,310.07474405997,327.54963108844,348.83408706747,367.49599295996,391.37619916626,413.43299207996,437.91808280662,465.11211608996,491.32444638706,523.2511306012],description:"Herbert Anton Kellner's Bach tuning. 5 1/5 Pyth. comma and 7 pure fifths"},kellners:{frequencies:[261.6255653006,275.84425785506,292.86986732103,310.2247482054,327.84547867349,348.89032888179,367.85164222246,391.46454285105,413.69968681881,438.2147004401,465.26210635182,491.68894399626,523.2511306012],description:"Kellner's temperament with 1/5 synt. comma instead of 1/5 Pyth. comma"},kepler1:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"Kepler's Monochord no.1, Harmonices Mundi (1619)"},kepler2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"Kepler's Monochord no.2"},kepler3:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,441.49314144476,470.92601754108,496.67978412536,523.2511306012],description:"Kepler's choice system, Harmonices Mundi, Liber III (1619)"},kilroy:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Kilroy"},kimball:{frequencies:[261.6255653006,272.52663052146,275.93321340298,290.69507255622,294.32876096318,306.59245933664,327.03195662575,331.11985608357,348.83408706747,363.36884069528,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,459.88868900496,465.11211608996,490.54793493862,523.2511306012],description:"Buzz Kimball 18-note just scale"},kimball_53:{frequencies:[261.6255653006,277.01530443593,277.97716313189,279.06726965397,281.75060878526,283.42769574232,285.40970760065,287.78812183066,296.50897400735,299.00064605783,305.22982618403,307.79478270659,309.19384990071,313.95067836072,317.68818643644,319.76457981184,322.00069575458,327.03195662575,332.97799220076,338.57426097725,340.11323489078,342.12573923925,348.83408706747,359.73515228832,362.25078272391,366.27579142084,369.35373924791,370.63621750918,373.75080757229,377.90359432309,380.54627680087,392.4383479509,400.13321751856,402.50086969323,404.33041910093,411.12588832951,418.60090448096,425.14154361347,428.11456140098,430.91269578922,436.04260883433,442.75095666255,444.76346101102,448.50096908674,457.84473927605,461.69217405988,475.68284600109,479.64686971777,483.00104363188,485.87604984397,490.54793493862,492.47165233054,494.18162334558,523.2511306012],description:"Buzz Kimball 53-note just scale"},kirkwood:{frequencies:[261.6255653006,294.32876096318,305.22982618403,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Scale based on Kirkwood gaps of the asteroid belt"},"kirn-stan":{frequencies:[261.6255653006,276.16031892841,292.60754013883,310.68035879446,327.03195662575,348.83408706747,368.21375857121,392.4383479509,414.24047839262,437.1900893839,465.11211608996,490.54793493862,523.2511306012],description:"Kirnberger temperament improved by Charles Earl Stanhope (1806)"},kirnberger:{frequencies:[261.6255653006,275.62199471997,292.50627485027,310.07474405997,327.03195662575,348.83408706747,367.91095120397,391.22147055517,413.43299207996,437.39890198442,465.11211608996,490.54793493862,523.2511306012],description:"Kirnberger's well-temperament, also called Kirnberger III, letter to Forkel 1779"},kirnberger1:{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,438.75944753732,465.11211608996,490.54793493862,523.2511306012],description:"Kirnberger's temperament 1 (1766)"},kirnberger2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,438.75941205608,465.11211608996,490.54793493862,523.2511306012],description:'Kirnberger 2: 1/2 synt. comma. "Die Kunst des reinen Satzes" (1774)'},kirnberger3:{frequencies:[261.6255653006,275.93321340298,292.50627485027,310.07474405997,327.03195662575,348.83408706747,367.91095120397,391.22147055517,413.89982010446,437.39890198442,465.11211608996,490.54793493862,523.2511306012],description:"Kirnberger 3: 1/4 synt. comma (1744)"},kirnberger3v:{frequencies:[261.6255653006,275.93321340298,292.50063201309,310.07474405997,327.03195662575,348.83408706747,367.91095120397,391.21579858034,413.43299207996,437.39258595147,465.11211608996,490.54793493862,523.2511306012],description:"Variant well-temperament like Kirnberger 3, Kenneth Scholz, MTO 4.4, 1998"},klais:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,327.21690075602,348.83408706747,367.49599295996,391.99543598175,413.43299207996,438.01699797506,465.11211608996,489.99465727995,523.2511306012],description:"Johannes Klais, Bach temperament"},klonaris:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Johnny Klonaris, 19-limit harmonic scale"},knot:{frequencies:[261.6255653006,268.26840191956,280.31310567921,286.15296204753,294.32876096318,299.00064605783,306.59245933664,327.03195662575,348.83408706747,357.69120255941,366.27579142084,367.91095120397,381.53728273004,392.4383479509,408.78994578219,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,459.88868900496,476.92160341255,478.40103369253,490.54793493862,523.2511306012],description:"Smallest knot in 3-D, American Scientist, Nov-Dec '97 p506-510, trefoil knot"},koepf_36:{frequencies:[261.6255653006,272.26348829648,274.95017225036,277.18263097687,288.45311779165,291.29956028699,293.66476791741,305.60543275312,308.62113352716,311.12698372208,323.77767743764,326.97270111135,329.62755691287,343.03050002254,346.41550969045,349.22823143301,363.4281550135,367.0144478307,369.99442271164,385.03871768789,388.83826257328,391.99543598175,407.93431128975,411.95978887118,415.30469757995,432.19134773437,436.45619266906,440,457.89078262597,462.40922843744,466.16376151809,485.11838543951,489.90551202062,493.88330125613,513.96502576833,519.03680970905,523.2511306012],description:"Siegfried Koepf, 36-tone subset of 48-tone scale (1991)"},koepf_48:{frequencies:[261.6255653006,269.44737349144,272.26348829648,274.95017225036,277.18263097687,285.46954808622,288.45311779165,291.29956028699,293.66476791741,302.44445076078,305.60543275312,308.62113352716,311.12698372208,320.42873367481,323.77767743764,326.97270111135,329.62755691287,339.48241770075,343.03050002254,346.41550969045,349.22823143301,359.66909273781,363.4281550135,367.0144478307,369.99442271164,381.0561299374,385.03871768789,388.83826257328,391.99543598175,403.71490654806,407.93431128975,411.95978887118,415.30469757995,427.72104413038,432.19134773437,436.45619266906,440,453.15466093696,457.89078262597,462.40922843744,466.16376151809,480.10063929961,485.11838543951,489.90551202062,493.88330125613,508.64890891624,513.96502576833,519.03680970905,523.2511306012],description:"Siegfried Koepf, 48-tone scale (1991)"},kolinsky:{frequencies:[261.6255653006,277.2273508585,293.75953199293,311.27759533081,329.84032939425,349.51003591412,370.35272620855,392.4383479509,415.84102607989,440.63929776914,466.91639276282,494.76049384407,524.26505360912],description:"Kolinsky's 7th root of 3/2, also invented by Augusto Novaro"},kora1:{frequencies:[261.6255653006,293.66476791741,326.78388880949,349.22823143301,391.99543598175,440,489.62261321254,523.2511306012],description:"Kora tuning Tomora Ba, also called Silaba, 1/1=F, R. King"},kora2:{frequencies:[261.6255653006,298.79793764201,315.65242990842,349.22823143301,391.99543598175,447.69106452518,472.94426956511,523.2511306012],description:"Kora tuning Tomora Mesengo, also called Tomora, 1/1=F, R. King"},kora3:{frequencies:[261.6255653006,291.13134764929,330.58093469714,349.22823143301,391.99543598175,436.20415848357,495.31175393723,523.2511306012],description:"Kora tuning Hardino, 1/1=F, R.King"},kora4:{frequencies:[261.6255653006,291.13134764929,330.58093469714,371.06455309218,391.99543598175,436.20415848357,495.31175393723,523.2511306012],description:"Kora tuning Sauta, 1/1=F, R. King"},korea_5:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,470.92601754108,523.2511306012],description:'According to Lou Harrison, called "the Delightful" in Korea'},kornerup:{frequencies:[261.6255653006,272.97226153513,280.22976278938,292.38332274669,305.0639823888,313.17470478367,326.75708630452,340.92853547661,349.99278713323,365.17196824772,374.88056242272,391.13935185123,408.10305876469,418.95303445734,437.12302030357,456.08130156398,468.2068441924,488.51296691354,509.70006023951,523.2511306012],description:"Kornerup's temperament with fifth of (15 - sqrt 5) / 22 octaves"},kornerup_11:{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Kornerup's doric minor"},kraeh_22:{frequencies:[261.6255653006,267.07609791103,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,320.49131749323,336.37572681506,343.38355445704,353.19451315581,366.27579142084,381.53728273004,392.4383479509,400.61414686654,412.06026534844,436.04260883433,441.49314144476,457.84473927605,470.92601754108,488.36772189445,504.56359022259,523.2511306012],description:"Kraehenbuehl & Schmidt 7-limit 22-tone tuning"},kraeh_22a:{frequencies:[261.6255653006,267.07609791103,269.10058145205,272.52663052146,274.70684356563,279.06726965397,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,311.45900631024,313.95067836072,318.93402246168,320.49131749323,327.03195662575,336.37572681506,343.38355445704,348.83408706747,350.39138209902,353.19451315581,358.80077526939,366.27579142084,367.91095120397,373.75080757229,381.53728273004,392.4383479509,398.6675280771,400.61414686654,403.65087217807,408.78994578219,412.06026534844,418.60090448096,420.46965851882,436.04260883433,441.49314144476,448.50096908674,457.84473927605,467.18850946536,470.92601754108,476.92160341255,478.40103369253,488.36772189445,490.54793493862,498.33441009638,504.56359022259,523.2511306012],description:'Kraehenbuehl & Schmidt 7-limit 22-tone tuning with "inflections" for some tones'},kraeh_22b:{frequencies:[261.6255653006,269.10058145205,279.06726965397,286.15296204753,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,367.91095120397,381.53728273004,392.4383479509,408.78994578219,420.46965851882,436.04260883433,448.50096908674,457.84473927605,476.92160341255,490.54793493862,504.56359022259,523.2511306012],description:"Best 22-tET approximation of KRAEH_22A"},kring1:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,523.2511306012],description:"Double-tie circular mirroring of 4:5:6 and Partch's 5-limit tonality Diamond"},kring1p3:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,282.55561052465,290.69507255622,294.32876096318,301.39265122629,306.59245933664,310.07474405997,313.95067836072,327.03195662575,334.88072358477,340.65828815182,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,376.74081403286,387.59343007496,392.4383479509,401.85686830172,408.78994578219,418.60090448096,436.04260883433,441.49314144476,446.50763144636,454.2110508691,465.11211608996,470.92601754108,484.4917875937,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Third carthesian power of double-tie mirroring of 4:5:6 with kleismas removed"},kring2:{frequencies:[261.6255653006,299.00064605783,305.22982618403,348.83408706747,392.4383479509,448.50096908674,457.84473927605,523.2511306012],description:"Double-tie circular mirroring of 6:7:8"},kring2p3:{frequencies:[261.6255653006,265.7783520514,271.31540105247,288.32205155576,294.32876096318,299.00064605783,305.22982618403,310.07474405997,329.51091606373,336.37572681506,343.38355445704,348.83408706747,356.10146388137,384.42940207435,392.4383479509,398.6675280771,406.97310157871,415.4517078616,441.49314144476,448.50096908674,457.84473927605,465.11211608996,474.80195184183,504.56359022259,515.07533168556,523.2511306012],description:"Third power of 6:7:8 mirroring with 1029/1024 intervals removed"},kring3:{frequencies:[261.6255653006,305.22982618403,313.95067836072,366.27579142084,373.75080757229,436.04260883433,448.50096908674,523.2511306012],description:"Double-tie circular mirroring of 3:5:7"},kring3bp:{frequencies:[261.6255653006,336.37572681506,366.27579142084,436.04260883433,470.92601754108,560.62621135843,610.45965236807,784.8766959018],description:"Double-tie BP circular mirroring of 3:5:7"},kring4:{frequencies:[261.6255653006,299.00064605783,327.03195662575,366.27579142084,373.75080757229,418.60090448096,457.84473927605,523.2511306012],description:"Double-tie circular mirroring of 4:5:7"},kring4p3:{frequencies:[261.6255653006,267.90457886781,273.37201925287,280.42990280658,286.15296204753,293.02063313667,299.00064605783,305.10270005901,320.49131749323,327.03195662575,334.88072358477,341.71502406609,350.53737850823,357.69120255941,366.27579142084,373.75080757229,382.72082695402,390.53145607553,400.61414686654,408.78994578219,418.60090448096,427.14378008261,448.68784449053,457.84473927605,467.18850946536,478.40103369253,488.16432009441,500.76768358318,510.98743222773,523.2511306012],description:"Third power of 4:5:7 mirroring with 3136/3125 intervals removed"},kring5:{frequencies:[261.6255653006,290.69507255622,336.37572681506,366.27579142084,373.75080757229,406.97310157871,470.92601754108,523.2511306012],description:"Double-tie circular mirroring of 5:7:9"},kring5p3:{frequencies:[261.6255653006,266.96486255163,272.4643387202,278.02483542877,284.8811711051,290.69507255622,296.68339105088,302.73815413355,308.91648380975,316.53463456122,322.99452506247,329.64821227876,336.37572681506,343.24053756638,351.70514951247,358.88280562497,366.27579142084,373.75080757229,381.45007420827,389.23476960028,398.83363954714,406.97310157871,415.27867508032,423.83341578697,432.48307733364,443.14848838571,452.19233508746,461.42075008924,470.92601754108,480.53675259294,492.38720931745,502.43592787495,512.78610798918,523.2511306012],description:"Third power of 5:7:9 mirroring with 250047/250000 intervals removed"},kring6:{frequencies:[261.6255653006,305.22982618403,336.37572681506,348.83408706747,392.4383479509,406.97310157871,448.50096908674,523.2511306012],description:"Double-tie circular mirroring of 6:7:9"},kring6p3:{frequencies:[261.6255653006,267.07609791103,271.31540105247,276.96780524107,288.32205155576,294.32876096318,299.00064605783,305.22982618403,310.07474405997,316.53463456122,324.36230800023,329.51091606373,336.37572681506,343.38355445704,348.83408706747,356.10146388137,361.75386806997,369.29040698809,378.42269266694,384.42940207435,392.4383479509,398.6675280771,406.97310157871,415.4517078616,422.04617941496,432.48307733364,441.49314144476,448.50096908674,457.84473927605,465.11211608996,474.80195184183,494.26637409559,504.56359022259,512.57253609913,523.2511306012],description:"Third power of 6:7:9 mirroring with 118098/117649 intervals removed"},krousseau:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,343.38355445704,348.83408706747,366.27579142084,392.4383479509,406.97310157871,457.84473927605,465.11211608996,488.36772189445,523.2511306012],description:"Kami Rousseau's tri-blues scale"},krousseau2:{frequencies:[261.6255653006,271.34627406517,291.88463270656,302.72962012827,337.74269681563,350.29154279212,363.30663963964,390.80553229045,405.32593044476,452.20508247496,469.00678383895,486.43275040712,523.2511306012],description:"19-tET version of Kami Rousseau's tri-blues scale"},kukuya:{frequencies:[261.6255653006,307.37578701508,361.96165147221,412.67427966689,460.80941404108],description:"African Kukuya Horns (aerophone, ivory, one note only)"},kurzw_arab:{frequencies:[261.6255653006,282.02769802256,290.29174037004,302.26980244078,321.16993719469,349.63190883464,374.94271441196,393.35634555235,411.95978887118,429.20598402782,447.69106452518,496.7443381147,523.2511306012],description:'Kurzweil "Empirical Arabic"'},kurzw_harmp:{frequencies:[261.6255653006,285.46954808622,287.62123438446,306.48933163909,308.79945157961,324.90175210669,345.81573716922,348.42227432308,427.72104413038,430.94493093825,458.94995811222,462.40922843744,523.2511306012],description:'Kurzweil "Empirical Bali/Java Harmonic Pelog"'},kurzw_melp:{frequencies:[261.6255653006,281.53940445957,283.98935579354,303.66981774726,307.02089761314,323.96475278212,344.02264297658,347.0163224393,421.10213511252,424.76655906637,451.06547253417,454.99063696457,523.2511306012],description:'Kurzweil "Empirical Bali/Java Melodic Pelog"'},kurzw_slen:{frequencies:[261.6255653006,266.96862289802,288.95340229325,306.66641795878,318.95145438803,352.26720984209,352.26720984209,389.06292924114,404.41509766528,429.20598402782,464.81937009253,474.03826620294,523.2511306012],description:'Kurzweil "Empirical Bali/Java Slendro, Siam 7"'},kurzw_tibet:{frequencies:[261.6255653006,270.53905136894,299.14332201883,312.9293240034,325.46525203475,353.69443592699,373.86139962101,397.69714089209,408.87792937274,438.98455767189,471.30800669535,489.90551202062,523.2511306012],description:'Kurzweil "Empirical Tibetian Ceremonial"'},kwazy:{frequencies:[13.75,13.8425266748,13.92142234948,14.00076777204,14.0805654254,14.16081788707,14.25610896047,14.337361936,14.41907801447,14.50125983535,14.58391005315,14.66703125278,14.76572882594,14.84988638999,14.93452361174,15.01964313826,15.10524789197,15.20689431811,15.29356631363,15.38073220905,15.46839499707,15.55655742089,15.66124080485,15.75050226619,15.84027256598,15.93055451337,16.0213510245,16.11266503216,16.22109048883,16.31354291552,16.40652227664,16.50003157548,16.59407373656,16.70573878851,16.80095347779,16.89671084507,16.99301388521,17.08986590459,17.18726993397,17.30292672931,17.40154500258,17.50072545316,17.60047118468,17.70078541898,17.81989766631,17.92146252619,18.023606257,18.12633215803,18.22964354736,18.35231459047,18.45691397115,18.56210951808,18.66790462912,18.77430261304,18.88130712282,19.00836345475,19.11670199894,19.22565790976,19.335234928,19.44543648263,19.57628896102,19.68786429416,19.80007566685,19.91292659048,20.02642071019,20.16118263857,20.27609169854,20.39165568498,20.50787833065,20.62476338959,20.74231451743,20.88189396397,21.00091073243,21.12060583931,21.24098302814,21.36204643183,21.50579618625,21.62836889778,21.75164008927,21.875613993,22.00029448845,22.14833914981,22.27457391904,22.40152829449,22.52920624893,22.65761190639,22.78674941445,22.94008616579,23.07083364148,23.202326315,23.33456843363,23.46756413327,23.62548236417,23.76013626908,23.89555763659,24.03175070206,24.16872014141,24.30647024079,24.47003364934,24.60950094889,24.74976328722,24.89082505353,25.03269080417,25.2011409598,25.3447753621,25.48922841152,25.63450477396,25.78060914191,25.95409219477,26.10201805756,26.25078702673,26.40040390759,26.55087337946,26.70220060843,26.88188539622,27.03509923475,27.18918616153,27.34415146685,27.5],description:"Kwazy temperament, g=162.741892, p=600, 5-limit"},lambdoma5_12:{frequencies:[261.6255653006,21.80213044172,23.78414230005,26.16255653006,29.06950725562,32.70319566257,37.37508075723,43.60426088343,47.56828460011,52.32511306012,58.13901451124,65.40639132515,71.35242690016,74.75016151446,78.48766959018,87.20852176687,95.13656920022,98.10958698772,104.65022612024,109.01065220858,112.12524227169,116.27802902249,118.92071150027,130.8127826503,145.34753627811,149.50032302891,156.97533918036,163.51597831288,174.41704353373,186.87540378614,196.21917397545,209.30045224048,218.02130441717,261.6255653006,327.03195662575,348.83408706747,392.4383479509,436.04260883433,523.2511306012,654.0639132515,784.8766959018,1046.5022612024,1308.127826503],description:"5x12 Lambdoma"},lambdoma_prim:{frequencies:[261.6255653006,8.43953436454,9.02157121726,11.37502457829,13.76976659477,15.38973913533,16.87906872907,18.04314243452,20.12504348466,22.75004915657,23.78414230005,25.31860309361,27.06471365179,27.53953318954,30.77947827066,34.12507373486,37.37508075723,40.25008696932,41.30929978431,42.19767182268,45.10785608631,46.16921740599,47.56828460011,52.32511306012,56.87512289143,59.07674055175,60.37513045398,63.15099852083,68.84883297384,71.35242690016,74.75016151446,76.94869567665,79.62517204801,87.20852176687,96.38836616338,100.62521742331,104.65022612024,107.72817394731,112.12524227169,118.92071150027,130.8127826503,140.87530439263,156.97533918036,166.48899610038,174.41704353373,186.87540378614,261.6255653006,366.27579142084,392.4383479509,436.04260883433,523.2511306012,610.45965236807,654.0639132515,784.8766959018,915.6894785521,1308.127826503,1831.3789571042],description:"Prime Lambdoma"},lambert:{frequencies:[261.6255653006,276.15600972046,293.19138048956,310.67551062492,328.56569462012,349.50994910362,368.20801314466,391.67947347082,414.23401437362,438.93663604468,466.01326570444,491.89550004992,523.2511306012],description:"Lambert's temperament (1774) 1/7 Pyth. comma, 5 pure"},lara:{frequencies:[261.6255653006,286.4606265643,298.28060863281,313.11013128311,341.05478972476,377.11473546037,395.40657391157,420.13030572059,450.02449304881,492.74350578058,523.2511306012,577.23956595248,599.67057787333],description:"Sundanese 'multi-laras' gamelan Ki Barong tuning, Weintraub, TL 15-2-99 1/1=497"},lebanon:{frequencies:[261.6255653006,285.30470202322,311.12698372208,349.22823143301,391.99543598175,415.30469757995,466.16376151809,523.2511306012],description:"Lebanese scale? Dastgah Shur"},leedy:{frequencies:[261.6255653006,269.80136421624,290.69507255622,294.32876096318,305.22982618403,327.03195662575,348.83408706747,359.73515228832,392.4383479509,436.04260883433,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:'Douglas Leedy, scale for "Pastorale" (1987), 1/1=f, 10/9 only in vocal parts'},leeuw1:{frequencies:[261.6255653006,311.12698372208,349.22823143301,380.8360868427,415.30469757995,466.16376151809,508.3551866238,554.36526195375,604.53960488156,659.25511382574,739.98884542327,806.96355802011,880,987.76660251225],description:'Ton de Leeuw: non-oct. mode from "Car nos vignes sont en fleurs",part 5. 1/1=A'},leftpistol:{frequencies:[261.6255653006,275.93321340298,279.06726965397,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Left Pistol"},legros1:{frequencies:[261.6255653006,274.22463192287,292.50627485027,309.49749487796,327.03195662575,348.83408706747,365.63284274659,391.22147055517,411.33694767869,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Example of temperament with 3 just major thirds"},legros2:{frequencies:[261.6255653006,275.07759559501,292.50627485027,309.49749487796,327.03195662575,348.83408706747,366.77012764335,391.22147055517,412.61639318626,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Example of temperament with 2 just major thirds"},"lehman-bach":{frequencies:[261.6255653006,276.86979852503,293.00227310437,310.77584116741,328.14198392915,349.6228209638,369.15973155124,391.5530240856,414.83597850347,438.51190905657,465.63764214343,492.21297564769,523.2511306012],description:"Brad Lehman's Bach keyboard temperament"},lemba10:{frequencies:[261.6255653006,283.65327551057,298.9489942119,324.1191713102,341.59697290141,370.35792032269,401.5404117335,423.19307614937,458.82405293702,483.56568031466,524.27976214079],description:"10-note Lemba scale, Herman Miller"},lemba12:{frequencies:[261.6255653006,276.1173031791,283.29759227608,298.9897683987,323.75689816556,341.69016129748,369.99442271164,390.48883496177,400.64329718448,422.83538548023,457.86139629758,483.22286023634,523.2511306012],description:"Lemba[12] in 270-et (poptimal)"},lemba22:{frequencies:[261.6255653006,268.42900262332,276.1173031791,283.29759227608,298.9897683987,306.76484424299,315.55115201964,323.75689816556,341.69016129748,350.57563899649,360.61677037127,369.99442271164,379.61593604418,390.48883496177,400.64329718448,422.83538548023,433.83100318771,446.25671880862,457.86139629758,483.22286023634,495.78882330645,509.98912747823,523.2511306012],description:"Lemba[22] in 270-et (poptimal)"},lemba24:{frequencies:[261.6255653006,275.73346179752,283.65327551057,290.60211247891,298.9489942119,307.53562105228,315.06951922004,324.1191713102,332.05932738876,341.59697290141,351.40856549044,360.01724743313,370.35792032269,390.32910012969,401.5404117335,411.37720579947,423.19307614937,435.34833037897,446.01333880095,458.82405293702,470.06416125332,483.56568031466,497.45499966368,509.64147516102,524.27976214079],description:"24-note Lemba scale for mapping millerlemba24.kbm"},lemba8:{frequencies:[261.6255653006,275.73334871592,283.6533803711,298.94898212432,307.53584843097,324.11927802481,341.59694330429,351.4088110982,370.358025147],description:"Lemba temperament (4 down, 3 up) TOP tuning, Herman Miller, TL 22-11-2004"},leusden:{frequencies:[261.6255653006,275.54404190554,292.50627485027,310.51268695591,327.03195662575,349.91912034749,367.08095907728,391.22147055517,413.66634097248,437.39890198442,466.16376151809,489.02683710225,523.2511306012],description:"Organ in Gereformeerde kerk De Koningshof, Henk van Eeken, 1984, a'=415, modif. 1/4 mean"},leven:{frequencies:[261.6255653006,279.06726965397,298.97057995496,313.95067836072,330.39003879965,348.83408706747,369.35382642901,392.4383479509,418.60090448096,448.46752658184,465.11211608996,502.32108537715,523.2511306012],description:"Leven's monochord ?"},ligon:{frequencies:[261.6255653006,279.66870773512,292.40504357126,309.19384990071,329.87571277032,342.12573923925,366.27579142084,392.4383479509,411.12588832951,436.04260883433,462.87600014722,485.87604984397,523.2511306012],description:"Jacky Ligon, strictly proper all prime scale, TL 08-09-2000"},ligon2:{frequencies:[261.6255653006,276.16031892841,292.40504357126,310.68035879446,331.39238271409,355.06326719367,382.37582620857,411.78935130154,441.2028763945,470.61640148747,500.02992658044,529.4434516734,558.85697676637],description:"Jacky Ligon, 19-limit symmetrical non-octave scale, 2001"},ligon3:{frequencies:[261.6255653006,273.51763645063,286.54228580542,300.86940009569,316.70463167967,334.29933343966,341.25073734861,376.08675011961,401.15920012759,427.90314680276,471.58492637221,481.3910401531,508.13498682828,534.87893350345,561.62288017862,588.36682685379,615.11077352897],description:"Jacky Ligon, 23-limit non-octave scale (2001)"},ligon4:{frequencies:[261.6255653006,278.49926570678,289.46759601673,308.13698517552,320.27237341115,340.92853547661,362.91692931321,386.32347802158,401.53832428939,427.43578342293,444.26952759254,472.92296174596,491.54841572131,523.2511306012,556.99853141357,592.92249142473,616.27397035104,640.54474682231,681.85707095323,725.83385862642,754.41987838254,803.07664857879],description:"Jacky Ligon, 2/1 Phi Scale, TL 12-04-2001"},ligon5:{frequencies:[261.6255653006,273.22765669781,280.653851324,293.09977429907,314.41721066027,328.36040925687,337.28508524374,352.24238645938,377.86132347501,394.61802538749,405.34378524393,423.31898451752,454.1076550834,474.24531572837,487.13535379632,508.73764640933,545.73895363303],description:'Jacky Ligon, scale for "Two Golden Flutes" (2001)'},ligon6:{frequencies:[261.6255653006,280.653851324,293.09977429907,314.41721066027,328.36040925687,352.24238645938,377.86132347501,394.61802538749,423.31898451752,442.09155952525,474.24531572837,508.73764640933,531.29821178855,569.94005600595],description:'Jacky Ligon, "Primal Golden Tuning" (2001)'},ligon7:{frequencies:[261.6255653006,294.32876096318,321.08592105074,361.22166118208,394.05999401681,443.31749326891,483.61908356609,527.58445479937],description:"Jacky Ligon, 7 tone, 27/22=generator, MMM 22-01-2002"},lindley_ea:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,328.14198392915,349.6228209638,367.9112241576,391.5530240856,413.43299207996,438.51190905657,465.63764214343,491.10256480205,523.2511306012],description:"Mark Lindley +J. de Boer +W. Drake (1991), for organ Grosvenor Chapel, London"},lindley_sf:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.07474405997,328.14198392915,349.6228209638,368.32692341742,391.5530240856,413.90012676351,438.51190905657,465.63764214343,491.10256480205,523.2511306012],description:"Lindley (1988) suggestion nr. 2 for Stanford Fisk organ"},"ling-lun":{frequencies:[261.6255653006,279.38237857051,294.32876096318,314.30517589183,331.11985608357,353.59332287831,372.50983809402,392.4383479509,419.07356785577,441.49314144476,471.45776383774,496.67978412536,523.2511306012],description:"Scale of Ling Lun from C"},liu_major:{frequencies:[261.6255653006,290.69507255622,322.99452506247,348.83408706747,392.4383479509,436.04260883433,484.4917875937,523.2511306012],description:`Linus Liu's Major Scale, see his 1978 book, "Intonation Theory"`},liu_mel:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,392.4383479509,423.83341578697,436.04260883433,470.92601754108,484.4917875937,523.2511306012],description:"Linus Liu's Melodic Minor, use 5 and 7 descending and 6 and 8 ascending"},liu_minor:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,387.59343007496,418.60090448096,484.4917875937,523.2511306012],description:"Linus Liu's Harmonic Minor"},liu_pent:{frequencies:[261.6255653006,294.32876096318,331.11985608357,353.19451315581,392.4383479509,441.49314144476,496.67978412536,529.79176973372],description:`Linus Liu's "pentatonic scale"`},lorina:{frequencies:[261.6255653006,271.31540105247,293.02063313667,305.22982618403,313.95067836072,348.83408706747,348.83408706747,385.55346465352,406.97310157871,457.84473927605,457.84473927605,465.11211608996,523.2511306012],description:"Lorina"},lt46a:{frequencies:[261.6255653006,265.62583852249,273.73233506765,277.91772325275,286.39934942254,290.77841553921,299.65253047503,308.79746990018,313.51900484808,323.08712797864,328.02715279963,338.03804253716,348.35444940179,353.68081538041,364.47461587782,370.04745828823,381.3407438317,387.1714705201,398.98735486934,411.16384203565,417.45056598488,430.19052226982,436.76816801564,450.09766813034,463.83396431287,470.92601754108,485.29796386361,492.71820372913,507.75521382755,523.2511306012],description:"13-limit temperament, minimax g=495.66296 cents"},lucy_19:{frequencies:[261.6255653006,272.17716319349,280.81422591737,292.13972001074,301.4102593031,313.56641022552,326.2128298123,336.56461921066,350.13857756143,364.25998604447,375.81913491042,390.97626371576,406.74469336313,419.65201956185,436.57696862128,450.43096951372,468.59726172356,487.49621708267,502.96605061019,523.2511306012],description:"Lucy's 19-tone scale"},lucy_24:{frequencies:[261.6255653006,269.92785558198,272.17712546173,280.81425349217,292.13970819848,301.41031849758,303.92192719902,313.56642833783,326.21280343239,336.56467170065,339.36921655583,350.13858362887,364.25994396351,375.81917832675,390.97625694066,403.38329512334,406.744629928,419.65205349792,436.57694340361,450.43105016925,454.18442712942,468.59728067062,487.49616921257,502.96612033609,523.2511306012],description:"Lucy/Harrison, meantone tuning from Bbb to Cx, third=1200.0/pi, 1/1=A"},lucy_31:{frequencies:[261.6255653006,269.92785558198,272.17712546173,280.81425349217,283.15423815518,292.13970819848,301.41031849758,303.92192719902,313.56642833783,323.51698308414,326.21280343239,336.56467170065,339.36921655583,350.13858362887,361.24970022276,364.25994396351,375.81917832675,378.95082751155,390.97625694066,403.38329512334,406.744629928,419.65205349792,432.96907456701,436.57694340361,450.43105016925,454.18442712942,468.59728067062,483.46750424654,487.49616921257,502.96612033609,507.15726445705,523.2511306012],description:"Lucy/Harrison's meantone tuning, 1/1=A"},lucy_7:{frequencies:[261.6255653006,292.13972001074,326.2128298123,350.13857756143,390.97626371576,436.57696862128,487.49621708267,523.2511306012],description:"Diatonic Lucy's scale"},lumma5:{frequencies:[261.6255653006,279.06726965397,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,459.88868900496,490.54793493862,523.2511306012],description:"Carl Lumma's 5-limit version of lumma7, also Fokker 12-tone just."},lumma7:{frequencies:[261.6255653006,279.06726965397,293.02063313667,305.22982618403,327.03195662575,348.83408706747,366.27579142084,390.69417751556,418.60090448096,436.04260883433,457.84473927605,488.36772189445,523.2511306012],description:"Carl Lumma's 7-limit 12-tone scale, a.k.a GW Smith's Prism. TL 21-11-98"},lumma7t:{frequencies:[261.6255653006,279.68948643792,293.67396186758,305.56991806333,326.66797434652,349.22276480589,366.68390442934,392.00157215927,419.06732091375,436.04260883433,457.84473927605,489.45662770953,523.2511306012],description:"Tempered lumma7, 6 tetrads + 4 triads within 2c of Just, TL 19-2-99"},lumma7t72:{frequencies:[261.6255653006,279.86396690685,293.66476791741,305.19382000629,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,435.78442404634,457.27406033445,489.15147723638,523.2511306012],description:"72-tET version of lumma7t"},lumma7t_keen:{frequencies:[261.6255653006,279.95098841649,293.39965821869,305.14186035122,326.51537799354,349.38597341375,366.17023517096,391.81845653432,419.26317124465,436.04260556019,456.98979229899,488.99939844699,523.2511306012],description:"Dave Keenan's adaptation of lumma7t to include 6:8:11, TL 17-04-9"},lumma_10:{frequencies:[261.6255653006,281.2143451833,302.26980244078,324.90175210669,349.22823143301,375.37611551499,391.99543598175,421.34544350737,452.89298412314,486.80259447109,523.2511306012],description:"Carl Lumma's 10-tone 125 cent Pyth. scale, TL 29-12-1999"},lumma_12_fun:{frequencies:[261.6255653006,276.16031892841,293.246794009,310.68035879446,327.94037872749,348.23056788569,368.93292606842,390.99572534534,413.52379936426,439.8701910135,464.30742384759,491.05951174505,522.34585182853],description:"Rational well temperament based on 577/289, 3/2, and 19/16."},"lumma_12_moh-ha-ha":{frequencies:[261.6255653006,276.16031892841,293.42033886144,310.68035879446,330.09788121912,349.51540364377,368.93292606842,391.72740891476,414.24047839262,440.13050829216,466.02053819169,493.4335110265,523.2511306012],description:"Rational well temperament."},lumma_12_strangeion:{frequencies:[261.6255653006,277.97716313189,292.40504357126,310.68035879446,330.09788121912,349.23197505989,368.93292606842,391.9912339477,414.71297038361,440.63253103259,468.17206422213,492.47165233054,523.2511306012],description:'19-limit "dodekaphonic" scale.'},lumma_22:{frequencies:[261.6255653006,263.29318697558,262.98919438538,262.83732973433,262.68555277841,262.53386346698,263.29318697558,262.38226174944,262.98919438538,262.23074757519,263.29318697558,262.68555277841,262.07932089369,263.29318697558,262.83732973433,263.59753095473,262.38226174944,263.44531501617,262.68555277841,262.98919438538,263.29318697558,263.902226729,261.92798165442],description:"Carl Lumma, intervals of attraction by trial and error, 1999."},lumma_5151:{frequencies:[261.6255653006,276.7826524273,292.81785438923,309.78204413166,327.729041887,346.71578592374,369.67398581173,391.09077971329,413.74834001613,437.71854962063,463.0774559108,489.90551202062,522.3451906503],description:"Carl Lumma's 5151 temperament III (1197/709.5/696). June 2003"},lumma_al1:{frequencies:[261.6255653006,274.63272075836,292.81785438923,309.78204413166,327.729041887,346.71578592374,366.8025131876,391.09077971329,413.74834001613,437.71854962063,463.0774559108,489.90551202062,522.3451906503],description:"Alaska I (1197/709.5/696), Carl Lumma, 6 June 2003."},lumma_al2:{frequencies:[261.6255653006,275.18850165466,292.98704147282,310.05056613125,328.10786809908,347.216824829,367.43868454848,391.20374747207,413.98739946535,438.09796819065,463.6127330944,490.61347436729,522.3451906503],description:"Alaska II (1197/707/696.5), Carl Lumma, 6 June 2003."},lumma_al3:{frequencies:[261.6255653006,275.18850165466,292.98704147282,310.05056613125,328.10786809908,349.32910706765,367.43868454848,391.20374747207,413.98739946535,438.09796819065,463.6127330944,490.61347436729,522.3451906503],description:"Alaska III (1197/707/696.5), Carl Lumma, 6 June 2003."},lumma_al4:{frequencies:[261.6255653006,276.38325105256,293.32570896007,309.87152561537,328.86683469969,349.02656754477,368.7143392539,391.31674786192,413.39000965417,438.73106346722,464.55095742407,491.89038573682,522.04355935974],description:"Alaska IV (1196/701/697), Carl Lumma, 6 June 2003."},lumma_al5:{frequencies:[261.6255653006,276.84261239447,293.89809826895,310.99222741882,329.08061019985,349.35433052883,369.67398581173,391.17550247358,415.27471248744,439.42852501549,464.98720675925,493.63374591774,522.3451906503],description:"Alaska V (1197/702/696.375), Carl Lumma, 6 June 2003."},lumma_al6:{frequencies:[261.6255653006,276.86260193655,293.83444433876,310.94732162256,329.05685050583,349.22823143301,369.56723519412,391.09077971329,415.06487744922,439.23819834286,464.81937009253,493.31307433255,522.04355935974],description:"Alaska VI (1196/701/696), Carl Lumma, 6 June 2003."},lumma_al7:{frequencies:[261.6255653006,276.11677207256,293.26810788146,310.16878953668,328.73958549954,348.42227432308,368.499294457,391.39134599911,413.94674961638,438.72852926454,464.99660740427,491.79379203259,522.3451906503],description:"Alaska VII, Carl Lumma, 27 Jan 2004"},lumma_dec1:{frequencies:[261.6255653006,286.10322937235,299.18791603519,327.17991022208,342.14320575162,374.15409293384,391.26571058456,427.87249484695,457.55816161244,489.30340830564,523.2511306012],description:"Carl Lumma, two 5-tone 7/4-chains, 5/4 apart in 31-tET, TL 9-2-2000"},lumma_dec2:{frequencies:[261.6255653006,286.10322937235,292.57243455474,327.17991022208,342.14320575162,382.6142546815,391.26571058456,437.54730686196,457.55816161244,511.68128147674,523.2511306012],description:"Carl Lumma, two 5-tone 3/2-chains, 7/4 apart in 31-tET, TL 9-2-2000"},lumma_magic:{frequencies:[261.6255653006,293.02063313667,299.00064605783,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,418.60090448096,436.04260883433,457.84473927605,467.18850946536,523.2511306012],description:"Magic chord test, Carl Lumma, TL 24-06-99"},"lumma_synchtrines+2":{frequencies:[261.6255653006,277.1478691313,293.59111644706,311.009943641,329.46223568632,349.00930447981,369.71610741159,391.65144749868,414.88821865981,439.50363030131,465.57948255979,493.20241832805,522.46423212702],description:"The 12-tone equal temperament with 2:3:4 brats of +2"},"lumma_synchtrines-2":{frequencies:[261.6255653006,277.19623399848,293.69359242342,311.17279259662,329.69226891672,349.31393351076,370.10338321153,392.13011885309,415.46777761785,440.19437666896,466.39258399594,494.14997995304,523.55935978973],description:"The 12-tone equal temperament with 2:3:4 brats of -2"},lydian_chrom:{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,317.12189733406,327.03195662575,373.75080757229,402.50086969323,418.60090448096,427.14378008261,436.04260883433,475.68284600109,523.2511306012,550.79066379074,581.39014511244,615.58956541318,634.24379466812,654.0639132515,747.50161514457,805.00173938646,837.20180896192,854.28756016522,872.08521766867,951.36569200218,1046.5022612024],description:"Lydian Chromatic Tonos"},lydian_chrom2:{frequencies:[261.6255653006,272.09058791262,283.42769574232,340.11323489078,377.90359432309,400.13321751856,425.14154361347,523.2511306012],description:"Schlesinger's Lydian Harmonia in the chromatic genus"},lydian_chrominv:{frequencies:[261.6255653006,271.68808704293,281.75060878526,362.25078272391,402.50086969323,422.62591317789,442.75095666255,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Lydian inverted"},lydian_diat:{frequencies:[261.6255653006,275.39533189537,290.69507255622,327.03195662575,348.83408706747,373.75080757229,387.59343007496,402.50086969323,436.04260883433,455.00098313148,475.68284600109,498.33441009638,523.2511306012,550.79066379074,581.39014511244,654.0639132515,697.66817413493,747.50161514457,852.70554616492,805.00173938646,872.08521766867,910.00196626296,951.36569200218,996.66882019276,1046.5022612024],description:"Lydian Diatonic Tonos"},lydian_diat2:{frequencies:[261.6255653006,283.42769574232,309.19384990071,340.11323489078,358.01393146398,377.90359432309,425.14154361347,485.87604984397,523.2511306012],description:"Schlesinger's Lydian Harmonia, a subharmonic series through 13 from 26"},lydian_diat2inv:{frequencies:[261.6255653006,281.75060878526,322.00069575458,362.25078272391,382.37582620857,402.50086969323,442.75095666255,483.00104363188,523.2511306012],description:"Inverted Schlesinger's Lydian Harmonia, a harmonic series from 13 from 26"},lydian_diatcon:{frequencies:[261.6255653006,283.42769574232,309.19384990071,340.11323489078,358.01393146398,425.14154361347,485.87604984397,523.2511306012],description:"A Lydian Diatonic with its own trite synemmenon replacing paramese"},lydian_enh:{frequencies:[261.6255653006,275.39533189537,290.69507255622,299.00064605783,303.33398875432,307.79478270659,373.75080757229,402.50086969323,410.39304360878,414.45634107026,418.60090448096,475.68284600109,523.2511306012,550.79066379074,581.39014511244,598.00129211566,606.66797750864,615.58956541318,747.50161514457,805.00173938646,820.78608721757,828.91268214051,837.20180896192,951.36569200218,1046.5022612024],description:"Lydian Enharmonic Tonos"},lydian_enh2:{frequencies:[261.6255653006,266.75547834571,272.09058791262,340.11323489078,377.90359432309,388.70083987518,400.13321751856,523.2511306012],description:"Schlesinger's Lydian Harmonia in the enharmonic genus"},lydian_enhinv:{frequencies:[261.6255653006,266.65682617177,271.68808704293,362.25078272391,402.50086969323,412.56339143556,422.62591317789,523.2511306012],description:"A harmonic form of Schlesinger's Enharmonic Lydian inverted"},lydian_pent:{frequencies:[261.6255653006,269.93113880221,283.42769574232,340.11323489078,377.90359432309,395.48050568695,425.14154361347,523.2511306012],description:"Schlesinger's Lydian Harmonia in the pentachromatic genus"},lydian_pis:{frequencies:[261.6255653006,290.69507255622,327.03195662575,373.75080757229,402.50086969323,436.04260883433,475.68284600109,523.2511306012,550.79066379074,581.39014511244,654.0639132515,747.50161514457,805.00173938646,872.08521766867,951.36569200218,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Lydian Tonos"},lydian_tri:{frequencies:[261.6255653006,268.51044859798,275.76748774928,340.11323489078,377.90359432309,392.4383479509,408.13588186894,523.2511306012],description:"Schlesinger's Lydian Harmonia in the first trichromatic genus"},lydian_tri2:{frequencies:[261.6255653006,268.51044859798,283.42769574232,340.11323489078,377.90359432309,392.4383479509,425.14154361347,523.2511306012],description:"Schlesinger's Lydian Harmonia in the second trichromatic genus"},nachbaur_6:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,457.84473927605,523.2511306012],description:`Fred Nachbaur's harmonic hexatonic, as used in "Void of Sensation"`},nassarre:{frequencies:[261.6255653006,277.66336828161,294.34406205295,311.66659310186,331.15428443044,350.6431449633,372.56793743951,394.49404533893,419.16071913933,443.82887286778,471.58032351597,495.88429116026,523.2511306012],description:"Nassarre's Equal Semitones"},negri5_19:{frequencies:[261.6255653006,271.22480440713,281.41555648081,291.74090527404,302.70251050738,313.80889368201,325.59966315504,337.54616011163,350.22880998446,363.07896889448,376.72096510961,390.54314115106,405.21705098851,420.08476989056,435.86864979507,451.86099895106,468.83881245397,486.04086171852,504.30291533224,523.2511306012],description:"Negri temperament, g=126.238272, 5-limit"},negri_19:{frequencies:[261.6255653006,269.02825605326,281.18681366715,289.14299126725,302.21061955257,310.76166549402,324.80633749066,333.99672707734,349.09149261831,358.96903024071,375.19240283292,392.14898023137,403.24482870584,421.46921730446,433.39468387282,452.98167562873,465.79878414581,486.85025820508,500.62567766841,523.2511306012],description:"Negri temperament, 13-limit, g=124.831"},negri_29:{frequencies:[261.6255653006,269.02825605326,276.64040740805,281.18681366715,289.14299126725,297.32428710198,302.21061955257,310.76166549402,319.55466133443,324.80633749066,333.99672707734,343.44715857517,349.09149261831,358.96903024071,369.1260526158,375.19240283292,385.80846524917,392.14898023137,403.24482870584,414.65463641221,421.46921730446,433.39468387282,445.65757880387,452.98167562873,465.79878414581,478.97855252217,486.85025820508,500.62567766841,514.79087238232,523.2511306012],description:"Negri temperament, 13-limit, g=124.831"},"neid-mar-morg":{frequencies:[261.6255653006,277.49581689502,293.99657683935,311.12698372208,329.99999983505,349.6228209638,369.99442271164,392.4383479509,415.77394625748,440,466.69047534984,494.44133512215,523.2511306012],description:"Neidhardt-Marpurg-de Morgan temperament (1858)"},neidhardt1:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.42509491746,328.14198392915,348.83408706747,368.32692341742,391.5530240856,414.36778843034,438.51190905657,465.11211608996,491.65745674141,523.2511306012],description:"Neidhardt I temperament (1724)"},neidhardt2:{frequencies:[261.6255653006,276.55731914056,293.00227310437,310.77584116741,328.51274831708,349.22823143301,369.15973155124,391.5530240856,414.36778843034,438.51190905657,466.16376151809,492.7691222293,523.2511306012],description:"Neidhardt II temperament (1724)"},neidhardt3:{frequencies:[261.6255653006,276.55731914056,293.00227310437,310.77584116741,328.51274831708,348.83408706747,369.15973155124,391.5530240856,414.36778843034,438.51190905657,465.63764214343,492.7691222293,523.2511306012],description:"Neidhardt III temperament (1724) 'Grosse Stadt'"},neidhardt4:{frequencies:[261.6255653006,277.18263097687,293.66476791741,311.12698372208,329.62755691287,349.22823143301,369.99442271164,391.99543598175,415.30469757995,440,466.16376151809,493.88330125613,523.2511306012],description:"Neidhardt IV temperament (1724), equal temperament"},neidhardtn:{frequencies:[261.6255653006,276.86979852503,293.66476791741,310.77584116741,329.62755691287,348.83408706747,369.99442271164,391.5530240856,415.30469757995,439.50340943686,466.16376151809,493.32589719545,523.2511306012],description:"Johann Georg Neidhardt's temperament (1732), alt. 1/6 & 0 P, also Marpurg nr.10"},neogeb24:{frequencies:[261.6255653006,270.11478301563,282.39420473706,291.55732426372,295.23185084282,304.81152420286,308.65309481038,318.66826025208,333.15492371116,343.96512368902,348.30015108876,359.6017829051,375.94928703407,388.14807710176,393.03994675222,405.79329398283,424.24066266408,438.00640969567,443.52664897728,457.91818970179,463.68937649142,478.73515685363,500.49846361623,516.73862125829,523.2511306012],description:"Neo-Gothic e-based lineotuning (T/S or Blackwood's R=e, ~2.71828), 24 notes"},neogji12:{frequencies:[261.6255653006,282.52678126125,294.32876096318,317.84262891891,332.97799220076,348.83408706747,374.60024122586,392.4383479509,423.79017189188,441.49314144476,443.97065626768,499.46698830115,523.2511306012],description:"M. Schulter, neo-Gothic 12-note JI (prim. 2/3/7/11) 1/1=F with Eb key as D+1"},neogp16a:{frequencies:[261.6255653006,274.38778799819,281.28352228595,295.02457363685,309.19384990071,317.19205704586,332.33517754401,348.83408706747,366.27579142084,374.86334014511,392.4383479509,411.12588832951,422.62591317789,442.75095666255,464.34856430463,498.91386871277,523.2511306012],description:"M. Schulter, scale from mainly prime-to-prime ratios and octave complements (Gb-D#)"},neutr_diat:{frequencies:[261.6255653006,294.32876096318,320.24370022528,348.83408706747,392.4383479509,427.47405410759,479.82340237272,523.2511306012],description:"Neutral Diatonic, 9 + 9 + 12 parts, geometric mean of major and minor"},neutr_pent1:{frequencies:[261.6255653006,302.32287545847,348.83408706747,392.4383479509,453.48431318771,523.2511306012],description:"Quasi-Neutral Pentatonic 1, 15/13 x 52/45 in each trichord, after Dudon"},neutr_pent2:{frequencies:[261.6255653006,301.87565226992,348.83408706747,392.4383479509,452.81347840488,523.2511306012],description:"Quasi-Neutral Pentatonic 2, 15/13 x 52/45 in each trichord, after Dudon"},new_enh:{frequencies:[261.6255653006,264.89588486686,279.06726965397,348.83408706747,392.4383479509,397.34382730029,418.60090448096,523.2511306012],description:"New Enharmonic"},new_enh2:{frequencies:[261.6255653006,327.03195662575,331.11985608357,348.83408706747,392.4383479509,490.54793493862,496.67978412536,523.2511306012],description:"New Enharmonic permuted"},newcastle:{frequencies:[261.6255653006,273.65745935891,291.9012907804,312.65334602246,327.03195662575,350.28154752005,366.3906401674,390.81668391305,410.48618883318,436.04260883433,467.04206359353,490.54793493862,523.2511306012],description:"Newcastle modified 1/3-comma meantone"},norden:{frequencies:[261.6255653006,274.87601291722,292.73769384471,310.07474405997,327.54963108844,349.78078158391,366.5013507395,391.37619916626,412.31401916973,437.91808280662,466.37437567834,489.99465727995,523.2511306012],description:"Reconstructed Schnitger temperament, organ in Norden. Ortgies, 2002"},novaro:{frequencies:[261.6255653006,274.70684356563,279.06726965397,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,490.54793493862,498.33441009638,523.2511306012],description:"9-limit diamond with 21/20, 16/15, 15/8 and 40/21 added for evenness"},novaro15:{frequencies:[261.6255653006,279.06726965397,280.31310567921,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,301.87565226992,305.22982618403,309.19384990071,313.95067836072,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,356.76213450082,359.73515228832,362.25078272391,366.27579142084,373.75080757229,377.90359432309,380.54627680087,383.71749577421,392.4383479509,402.50086969323,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,442.75095666255,448.50096908674,453.48431318771,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,488.36772189445,490.54793493862,523.2511306012],description:"1-15 diamond, see Novaro, 1927, Sistema Natural base del Natural-Aproximado, p"},novaro_eb:{frequencies:[261.6255653006,277.27733921611,293.70273468471,311.34510173929,329.85947563084,349.74559786079,370.61463194963,392.51515715445,416.03831243363,440.72414616847,467.23897542105,495.06435356607,524.26505360912],description:"Novaro (?) equal beating 4/3 with strectched octave, almost pure 3/2"},janke1:{frequencies:[261.6255653006,276.38325105256,293.32570896007,310.58830860439,328.86683469969,349.02656754477,368.7143392539,391.76907592069,414.34624765043,439.23819834286,465.62553897253,492.45896815637,523.2511306012],description:"Rainer Janke, Temperatur I"},janke2:{frequencies:[261.6255653006,276.38325105256,292.98704147282,310.58830860439,328.48713220126,349.02656754477,368.7143392539,391.54284657258,414.34624765043,438.73106346722,465.62553897253,491.89038573682,523.2511306012],description:"Rainer Janke, Temperatur II"},janke3:{frequencies:[261.6255653006,276.22365192501,292.98704147282,310.40895756597,328.29744538229,349.02656754477,368.50142299854,391.54284657258,414.10698098223,438.47771564426,465.62553897253,491.60634075178,523.2511306012],description:"Rainer Janke, Temperatur III"},janke4:{frequencies:[261.6255653006,275.90473010106,292.98704147282,310.76776326996,328.10786809908,349.22823143301,368.07595926604,391.54284657258,413.86785247997,438.47771564426,465.89457252293,491.32245979018,523.2511306012],description:"Rainer Janke, Temperatur IV"},janke5:{frequencies:[261.6255653006,275.58617649731,292.98704147282,310.05056613125,328.10786809908,348.82502010853,367.43868454848,391.54284657258,413.39000965417,438.47771564426,465.08793784701,491.0387427573,523.2511306012],description:"Rainer Janke, Temperatur V"},janke6:{frequencies:[261.6255653006,275.74540729824,292.98704147282,310.58830860439,328.10786809908,349.43001184052,367.65098676472,391.54284657258,413.86785247997,438.47771564426,465.89457252293,491.0387427573,523.2511306012],description:"Rainer Janke, Temperatur VI"},janke7:{frequencies:[261.6255653006,275.42703764514,292.81785438923,311.12698372208,327.91840028839,349.63190883464,367.0144478307,391.54284657258,413.62886206386,438.22451411849,467.24207374344,490.75518955849,523.2511306012],description:"Rainer Janke, Temperatur VII"},jemblung1:{frequencies:[261.6255653006,298.87388797409,337.89601991959,388.44742741354,452.30188977628,523.2511306012],description:"Scale of bamboo gamelan jemblung from Kalijering, slendro-like. 1/1=590 Hz."},jemblung2:{frequencies:[261.6255653006,300.03885820455,355.06324470257,391.40016308218,451.61555914985,523.2511306012],description:"Bamboo gamelan jemblung at Royal Batavia Society. 1/1=504 Hz."},ji_10coh:{frequencies:[261.6255653006,283.42769574232,299.7792935736,327.03195662575,348.83408706747,370.63621750918,392.4383479509,436.04260883433,457.84473927605,485.0974023282,523.2511306012],description:"Differentially coherent 10-tone scale"},ji_10coh2:{frequencies:[261.6255653006,305.22982618403,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,470.92601754108,479.64686971777,523.2511306012],description:"Other diff. coherent 10-tone scale"},ji_11:{frequencies:[261.6255653006,276.96780524107,294.32876096318,316.53463456122,336.37572681506,356.10146388137,384.42940207435,406.97310157871,432.48307733364,465.11211608996,494.26637409559,523.2511306012],description:"3 and 7 prime rational interpretation of 11-tET. OdC 2000"},ji_12:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Basic JI with 7-limit tritone"},ji_12a:{frequencies:[261.6255653006,279.06726965397,294.32876096318,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"7-limit 12-tone scale"},ji_12b:{frequencies:[261.6255653006,272.52663052146,290.69507255622,305.22982618403,327.03195662575,343.38355445704,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"alternate 7-limit 12-tone scale"},ji_12c:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:'Kurzweil "Just with natural b7th", is Sauveur Just with 7/4'},ji_13:{frequencies:[261.6255653006,279.06726965397,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,372.08969287196,392.4383479509,418.60090448096,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"5-limit 12-tone symmetrical scale with two tritones"},ji_17:{frequencies:[261.6255653006,271.31540105247,283.8170195002,294.32876096318,310.07474405997,321.55899383997,336.37572681506,348.83408706747,361.75386806997,378.42269266694,392.4383479509,406.97310157871,425.72552925031,441.49314144476,465.11211608996,482.33849075995,504.56359022259,523.2511306012],description:"3 and 7 prime rational interpretation of 17-tET. OdC"},ji_17a:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,310.07474405997,321.08592105074,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,426.35277308246,441.49314144476,465.11211608996,484.4917875937,502.32108537715,523.2511306012],description:"3, 5 and 11 prime rational interpretation of 17-tET, OdC"},ji_17b:{frequencies:[261.6255653006,272.52663052146,285.40970760065,294.32876096318,310.07474405997,319.76457981184,334.88072358477,348.83408706747,359.73515228832,380.54627680087,392.4383479509,408.78994578219,428.11456140098,441.49314144476,465.11211608996,479.64686971777,502.32108537715,523.2511306012],description:"Alt. 3, 5 and 11 prime rational interpretation of 17-tET, OdC"},ji_19:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,353.19451315581,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,470.92601754108,490.54793493862,523.2511306012],description:"5-limit 19-tone scale"},ji_20:{frequencies:[261.6255653006,271.31540105247,279.38237857051,288.32205155576,299.00064605783,310.07474405997,321.55899383997,331.11985608357,348.83408706747,356.10146388137,372.50983809402,384.42940207435,392.4383479509,413.43299207996,425.72552925031,441.49314144476,457.84473927605,474.80195184183,489.99465727995,504.56359022259,523.2511306012],description:"3 and 7 prime rational interpretation of 20-tET. OdC"},ji_21:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,504.56359022259,523.2511306012],description:"7-limit 21-tone just scale, Op de Coul, 2001"},ji_22:{frequencies:[261.6255653006,272.52663052146,279.06726965397,282.55561052465,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,340.65828815182,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,470.92601754108,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"5-limit 22-tone scale (Zarlino?)"},ji_27:{frequencies:[261.6255653006,267.90457886781,275.62199471997,282.55561052465,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,331.11985608357,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,413.43299207996,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,484.4917875937,496.67978412536,510.98743222773,523.2511306012],description:"7-limit rational interpretation of 27-tET, OdC"},ji_29:{frequencies:[261.6255653006,267.90457886781,275.62199471997,282.55561052465,287.78812183066,294.32876096318,301.39265122629,310.07474405997,317.12189733406,323.76163705949,331.11985608357,340.65828815182,348.83408706747,356.76213450082,367.91095120397,372.08969287196,383.71749577421,392.4383479509,401.85686830172,413.43299207996,422.82919644541,431.68218274599,441.49314144476,454.2110508691,465.11211608996,475.68284600109,484.4917875937,496.67978412536,510.98743222773,523.2511306012],description:"3,5,11-prime rational interpretation of 29-tET, OdC"},ji_30:{frequencies:[261.6255653006,267.57160087561,274.70684356563,280.31310567921,286.15296204753,294.32876096318,299.7792935736,308.34441624714,313.95067836072,321.92208230347,329.64821227876,336.37572681506,344.91651675372,353.19451315581,360.81424763342,370.01329949656,379.40816842909,387.59343007496,396.89567239676,406.97310157871,415.27867508032,425.24536328225,436.04260883433,443.97065626768,456.65553216105,465.11211608996,478.40103369253,488.36772189445,498.33441009638,511.62332769895,523.2511306012],description:"11-limit rational interpretation of 30-tET"},ji_31:{frequencies:[261.6255653006,267.57160087561,274.08392555301,280.31310567921,285.40970760065,293.02063313667,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,334.88072358477,343.38355445704,348.83408706747,356.76213450082,366.27579142084,373.75080757229,383.71749577421,392.4383479509,398.6675280771,408.78994578219,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,467.18850946536,479.64686971777,490.54793493862,499.46698830115,512.78610798918,523.2511306012],description:"A just 11-limit 31-tone scale, optimized for Mann complexity"},ji_31a:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,318.93402246168,327.03195662575,334.88072358477,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,408.78994578219,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,465.11211608996,478.40103369253,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"A just 7-limit 31-tone scale"},ji_31b:{frequencies:[261.6255653006,267.90457886781,275.93321340298,282.55561052465,287.4304306281,294.32876096318,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,344.91651675372,353.19451315581,359.28803828513,367.91095120397,376.74081403286,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,431.14564594215,441.49314144476,452.08897683944,459.88868900496,470.92601754108,479.0507177135,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"A just 5-limit 31-tone scale, corner clipped genus"},ji_31c:{frequencies:[261.6255653006,267.57160087561,272.52663052146,279.06726965397,285.40970760065,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,334.88072358477,343.38355445704,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,398.6675280771,408.78994578219,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,479.64686971777,490.54793493862,502.32108537715,511.62332769895,523.2511306012],description:"A just 11-limit 31-tone scale"},ji_5coh:{frequencies:[261.6255653006,305.22982618403,348.83408706747,381.53728273004,446.94367405519,523.2511306012],description:"Differential fully coherent pentatonic scale"},ji_6coh:{frequencies:[261.6255653006,294.32876096318,330.74639366397,372.08969287196,418.60090448096,465.11211608996,523.2511306012],description:"Differential coherent 6-tone scale, OdC 2003"},ji_7:{frequencies:[261.6255653006,290.69507255622,318.93402246168,348.83408706747,392.4383479509,429.2294430713,470.92601754108,523.2511306012],description:"7-limit rational interpretation of 7-tET. OdC"},ji_7a:{frequencies:[261.6255653006,287.78812183066,319.76457981184,348.83408706747,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Superparticular approximation to 7-tET. Op de Coul, 1998"},ji_8coh:{frequencies:[261.6255653006,286.99041781007,312.35527031954,339.96223546814,370.00947616612,405.83764015148,441.71144237774,480.75585116768,523.2511306012],description:"Differential coherent 8-tone scale, OdC, 2003"},ji_8coh3:{frequencies:[261.6255653006,277.97716313189,302.50455987882,327.03195662575,359.73515228832,392.4383479509,425.14154361347,466.02053819169,523.2511306012],description:"Differential fully coherent 8-tone scale, OdC, 2003"},ji_9coh:{frequencies:[261.6255653006,287.78812183066,313.95067836072,327.03195662575,366.27579142084,392.4383479509,418.60090448096,470.92601754108,497.08857407114,523.2511306012],description:"Differentially coherent 9-tone scale"},ji_ri24a:{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,301.87565226992,310.68035879446,319.76457981184,329.87571277032,340.11323489078,348.83408706747,359.73515228832,370.63621750918,380.54627680087,392.4383479509,402.50086969323,414.99227599406,428.11456140098,440.63253103259,453.48431318771,465.11211608996,479.64686971777,494.18162334558,508.71637697339,523.2511306012],description:"M. Schulter, just/rational intonation system - with circulating 24-note set"},jioct12:{frequencies:[261.6255653006,272.52663052146,282.55561052465,302.80736724606,313.95067836072,327.03195662575,363.36884069528,376.74081403286,392.4383479509,436.04260883433,454.2110508691,470.92601754108,523.2511306012],description:"12-tone JI version of Messiaen's octatonic scale, Erlich & Par\xEF\xBF\xBDzek"},"jobin-bach":{frequencies:[261.6255653006,275.07759559501,292.50627485027,309.76836826904,327.03195662575,348.83408706747,366.77012764335,391.22147055517,412.61639318626,437.39890198442,464.6525521713,489.02683710225,523.2511306012],description:"Emile Jobin, WTC temperament after Bach's signet"},"johnson-secor_rwt":{frequencies:[261.6255653006,276.16031892841,293.03678286293,310.07474405997,327.94037872749,348.83408706747,368.21375857121,391.52992584916,414.24047839262,438.40450629885,465.11211608996,490.95167809495,523.2511306012],description:"Johnson/Secor proportional-beating well-temperament with five 24/19s."},johnson_44:{frequencies:[261.6255653006,265.7783520514,269.99705605222,274.2827236086,278.63641763414,283.05921791404,287.55222124002,292.11654190835,296.75331210627,301.46368356757,306.24882108355,311.17820103386,316.11753722951,321.13527558179,326.23266245367,331.4109583385,336.67144939063,342.01544029518,347.44425644654,352.9592442771,358.56177366235,364.2532300084,370.03502692537,375.90859839047,381.87540114246,387.93691728375,394.09464571975,400.35011587045,406.70487919155,413.16051176499,419.71861468993,426.38081694263,433.14876596753,440.02414274758,447.00865248514,454.10402744924,461.31203006992,468.63444275836,476.07308421189,483.62979961065,491.30646309654,499.10497838378,507.02727962797,515.07533168556,523.2511306012],description:"Aaron Johnson, 44-tET approximation"},johnson_7:{frequencies:[261.6255653006,288.83389952765,318.87182567809,352.10227751942,388.71994014354,429.2294430713,473.86811641255,523.2511306012],description:"Aaron Johnson, 7-tET approximation"},johnson_eb:{frequencies:[261.6255653006,273.1678696521,292.40504357126,312.71949922989,327.03195662575,349.65487315468,365.50630446407,390.89937403737,408.78994578219,437.06859144336,467.84806971401,488.62421754671,523.2511306012],description:'Aaron Johnson, "1/4-comma tempered" equal beating C-G-D-A-E plus just thirds'},johnson_ratwell:{frequencies:[261.6255653006,276.16031892841,292.90688289089,310.07474405997,327.94037872749,348.83408706747,368.21375857121,391.49724879514,414.24047839262,438.30776524386,465.11211608996,490.95167809495,523.2511306012],description:"Aaron Johnson, rational well-temperament with five 24/19's"},johnson_temp:{frequencies:[261.6255653006,275.52965735686,292.50638298357,309.88336774144,327.03195662575,348.76230617841,367.55223824197,391.22154286826,413.09299784305,437.39914452994,464.92072007996,490.30891677011,523.2511306012],description:"Aaron Johnson, temperament with just 5/4, 24/19 and 19/15"},johnston:{frequencies:[261.6255653006,275.93321340298,294.32876096318,315.35224388912,327.03195662575,359.73515228832,367.91095120397,392.4383479509,401.35740131342,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Ben Johnston's combined otonal-utonal scale"},johnston_21:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,340.65828815182,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,470.92601754108,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Johnston 21-note just enharmonic scale"},johnston_22:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,353.19451315581,367.91095120397,378.42269266694,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,504.56359022259,523.2511306012],description:"Johnston 22-note scale from end of string quartet nr. 4"},johnston_25:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,331.11985608357,334.88072358477,348.83408706747,353.19451315581,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Johnston 25-note just enharmonic scale"},"johnston_6-qt":{frequencies:[261.6255653006,262.79353657426,266.47048317654,267.57160087561,271.31540105247,272.52663052146,277.4816601673,280.31310567921,284.23518205497,290.69507255622,294.32876096318,297.30177875068,299.7792935736,300.33547037059,305.22982618403,306.59245933664,310.07474405997,311.45900631024,316.53463456122,317.12189733406,319.76457981184,322.99452506247,327.03195662575,334.46450109452,339.14425131559,342.60490694126,348.83408706747,350.39138209902,355.29397756872,356.76213450082,361.75386806997,363.36884069528,367.91095120397,373.75080757229,381.53728273004,382.24514410802,387.59343007496,390.82337532559,392.4383479509,396.40237166758,399.70572476481,406.97310157871,408.78994578219,413.43299207996,420.46965851882,426.35277308246,436.04260883433,445.95266812602,452.19233508746,459.88868900496,465.11211608996,467.18850946536,475.68284600109,479.64686971777,484.4917875937,486.49381977384,490.54793493862,248.7057842981,498.33441009638,508.71637697339,516.79124009995,523.2511306012],description:"11-limit complete system from Ben Johnston's _6th Quartet_"},"johnston_6-qt_row":{frequencies:[261.6255653006,272.52663052146,290.69507255622,306.59245933664,327.03195662575,350.39138209902,363.36884069528,399.70572476481,408.78994578219,436.04260883433,445.95266812602,490.54793493862,508.71637697339],description:`11-limit 'prime row' from Ben Johnston's "6th Quartet"`},johnston_81:{frequencies:[116.54094037952,117.99770213426,119.33792294863,119.89808681021,120.82964698549,121.39681289533,122.77564089365,122.91427305652,124.31033640482,124.45070146973,125.86421560988,127.43751830501,127.89129259755,128.03570110055,129.48993375502,131.10855792696,132.74741490105,134.25516331721,134.88534766148,135.93335285867,136.57141450725,138.12259600536,138.27855718859,139.84912845542,141.59724256112,142.26189011172,143.87770417225,145.6761754744,147.49712766783,149.17240368579,151.03705873186,151.74601611917,153.46955111706,155.38792050603,157.33026951235,159.11723059817,159.29689788126,161.10619598065,161.86241719378,163.70085452487,163.8856974087,165.74711520643,165.93426862631,167.81895414651,169.91669107334,170.71426813406,172.6532450067,174.81141056928,176.9965532014,179.00688442294,179.84713021531,181.24447047823,182.095219343,184.16346134048,184.37140958479,186.46550460723,188.79632341482,189.68252014896,191.15627745751,191.83693889633,194.23490063253,196.66283689044,198.89653824771,199.12112235157,199.83014468368,201.38274497581,202.32802149222,204.62606815608,204.85712176088,207.18389400804,207.41783578289,209.77369268314,212.39586384168,213.39283516758,215.81655625837,218.5142632116,221.24569150175,223.75860552868,226.55558809779,227.61902417875,230.2043266756,233.08188075904],description:"Johnston 81-note 5-limit scale of Sonata for Microtonal Piano"},jorgensen:{frequencies:[261.6255653006,269.51415085551,288.85811466493,309.59046173614,318.92511007349,352.12195684808,355.62605411908,388.77403176757,408.50706336067,429.24143792307,469.25139168707,473.92081401802,523.2511306012],description:"Jorgensen's 5&7 temperament"},jousse:{frequencies:[261.6255653006,276.90198715646,293.15566421679,311.51473523959,328.62702621286,349.28097970329,369.20264759391,391.76800554826,415.35298052707,439.0631553946,466.60176257857,492.27019703794,523.2511306012],description:"Temperament of Jean Jousse (1832)"},jousse2:{frequencies:[261.6255653006,277.21176919085,293.63180098233,311.16627887077,329.63881547742,349.36510452864,370.14670828388,392.04008509316,415.41939014292,440.0494382652,466.3511549761,494.0599599767,523.2511306012],description:"Jean Jousse's quasi-equal temperament"},quasi_5:{frequencies:[261.6255653006,302.26980244078,349.22823143301,391.99543598175,452.89298412314,523.2511306012],description:"Quasi-Equal 5-Tone in 24-tET, 5 5 4 5 5 steps"},quasi_9:{frequencies:[261.6255653006,281.2143451833,302.26980244078,324.90175210669,349.22823143301,391.99543598175,421.34544350737,452.89298412314,486.80259447109,523.2511306012],description:'Quasi-Equal Enneatonic, Each "tetrachord" has 125 + 125 + 125 + 125 cents'},quint_chrom:{frequencies:[261.6255653006,277.01530443593,294.32876096318,348.83408706747,392.4383479509,415.52295665389,441.49314144476,523.2511306012],description:"Aristides Quintilianus' Chromatic genus"},oconnell:{frequencies:[261.6255653006,267.57429119961,272.27874977392,278.46970304972,283.3657217904,288.34782337261,294.90414810658,300.08911516052,305.36524364276,312.30850472426,317.79947295261,323.38698268281,330.74001416845,336.55504284097,344.20748191927,350.25929591231,356.41751010259,364.52157313929,370.93054700815,377.45220049416,386.03454097812,392.82175095637,399.72829510222,408.81713953112,416.00491024634,423.31905787312],description:"Walter O'Connell, Pythagorean scale of 25 octaves reduced by Phi. XH 15 (1993)"},oconnell_11:{frequencies:[261.6255653006,272.27874977392,288.34782337261,300.08911516052,312.30850472426,323.38698268281,344.20748191927,356.41751010259,370.93054700815,386.03454097812,408.81713953112,423.31905787312],description:"Walter O'Connell, 11-note mode of 25-tone scale"},oconnell_14:{frequencies:[261.6255653006,272.27874977392,283.3657217904,288.34782337261,300.08911516052,312.30850472426,323.38698268281,336.55504284097,344.20748191927,356.41751010259,370.93054700815,386.03454097812,399.72829510222,408.81713953112,423.31905787312],description:"Walter O'Connell, 14-note mode of 25-tone scale"},oconnell_7:{frequencies:[261.6255653006,283.3657217904,300.08911516052,323.38698268281,344.20748191927,370.93054700815,392.82175095637,423.31905787312],description:"Walter O'Connell, 7-note mode of 25-tone scale"},oconnell_9:{frequencies:[261.6255653006,278.46970304972,294.90414810658,305.36524364276,323.38698268281,344.20748191927,364.52157313929,377.45220049416,399.72829510222,423.31905787312],description:"Walter O'Connell, 9-tone mode of 25-tone scale"},oconnell_9a:{frequencies:[261.6255653006,272.27874977392,288.34782337261,305.36524364276,323.38698268281,344.20748191927,356.41751010259,377.45220049416,399.72829510222,423.31905787312],description:"Walter O'Connell, 7+2 major mode analogy for 25-tone scale"},octony_min:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Octony on Harmonic Minor, from Palmer on an album of Turkish music"},octony_rot:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Rotated Octony on Harmonic Minor"},octony_trans:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,348.83408706747,408.78994578219,420.46965851882,436.04260883433,523.2511306012],description:"Complex 10 of p. 115, an Octony based on Archytas's Enharmonic,"},octony_trans2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,315.35224388912,324.36230800023,336.37572681506,348.83408706747,504.56359022259,523.2511306012],description:"Complex 6 of p. 115 based on Archytas's Enharmonic, an Octony"},octony_trans3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,306.59245933664,315.35224388912,327.03195662575,348.83408706747,490.54793493862,523.2511306012],description:"Complex 5 of p. 115 based on Archytas's Enharmonic, an Octony"},octony_trans4:{frequencies:[261.6255653006,271.31540105247,279.06726965397,336.37572681506,348.83408706747,420.46965851882,432.48307733364,448.50096908674,523.2511306012],description:"Complex 11 of p. 115, an Octony based on Archytas's Enharmonic, 8 tones"},octony_trans5:{frequencies:[261.6255653006,271.31540105247,279.06726965397,317.94773560837,327.03195662575,339.14425131559,348.83408706747,508.71637697339,523.2511306012],description:"Complex 15 of p. 115, an Octony based on Archytas's Enharmonic, 8 tones"},octony_trans6:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,336.37572681506,345.98646186692,348.83408706747,358.80077526939,523.2511306012],description:"Complex 14 of p. 115, an Octony based on Archytas's Enharmonic, 8 tones"},octony_u:{frequencies:[261.6255653006,280.31310567921,301.87565226992,327.03195662575,356.76213450082,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"7)8 octony from 1.3.5.7.9.11.13.15, 1.3.5.7.9.11.13 tonic (subharmonics 8-16)"},odd1:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"ODD-1"},odd2:{frequencies:[261.6255653006,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"ODD-2"},oettingen:{frequencies:[261.6255653006,264.89588486686,267.90457886781,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,298.00787047521,301.39265122629,306.59245933664,310.42486507835,313.95067836072,317.87506184023,323.35923445661,327.03195662575,331.11985608357,334.88072358477,339.06673262958,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.50983809402,376.74081403286,383.2405741708,388.03108134794,392.4383479509,397.34382730029,401.85686830172,408.78994578219,413.89982010446,418.60090448096,423.83341578697,431.14564594215,436.04260883433,441.49314144476,446.50763144636,452.08897683944,459.88868900496,465.11211608996,470.92601754108,476.81259276034,485.03885168492,490.54793493862,496.67978412536,502.32108537715,510.98743222773,517.37477513058,523.2511306012],description:"von Oettingen's Orthotonophonium tuning"},oettingen2:{frequencies:[261.6255653006,264.89588486686,267.90457886781,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,310.07474405997,313.95067836072,317.51653791741,322.99452506247,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,396.89567239676,401.85686830172,408.78994578219,413.43299207996,418.60090448096,423.83341578697,431.14564594215,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,476.27480687611,484.4917875937,490.54793493862,496.11959049595,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"von Oettingen's Orthotonophonium tuning with central 1/1"},ogr10:{frequencies:[261.6255653006,264.15640940857,271.89678302796,296.5055443788,342.56848033562,359.46139971304,411.32572372413,440,484.46499093218,513.27277840175,523.2511306012],description:"Optimal Golomb Ruler of 10 segments, length 72"},ogr10a:{frequencies:[261.6255653006,264.15640940857,285.30470202322,314.13668154225,329.62755691287,352.60650301302,431.60923940535,448.5538823653,457.27406033445,508.3551866238,523.2511306012],description:"2nd Optimal Golomb Ruler of 10 segments, length 72"},ogr11:{frequencies:[261.6255653006,265.92749183559,274.74472021414,318.1829357186,331.4244391468,362.52783176564,371.50609336774,409.69842558521,455.51656649021,482.27514684959,486.22402266421,523.2511306012],description:"Optimal Golomb Ruler of 11 segments, length 85"},ogr12:{frequencies:[261.6255653006,265.06964174786,270.3209511875,308.09015504092,333.2396629384,346.57411320722,384.79959982017,413.49815209867,456.11269186454,468.20039948765,496.58195036371,499.83980314828,523.2511306012],description:"Optimal Golomb Ruler of 12 segments, length 106"},ogr2:{frequencies:[261.6255653006,329.62755691287,523.2511306012],description:"Optimal Golomb Ruler of 2 segments, length 3"},ogr3:{frequencies:[261.6255653006,293.66476791741,415.30469757995,523.2511306012],description:"Optimal Golomb Ruler of 3 segments, length 6"},ogr4:{frequencies:[261.6255653006,278.64197723942,336.62443200122,461.29362042034,523.2511306012],description:"Optimal Golomb Ruler of 4 segments, length 11"},ogr4a:{frequencies:[261.6255653006,296.76515515861,406.67242132093,433.12283887627,523.2511306012],description:"2nd Optimal Golomb Ruler of 4 segments, length 11"},ogr5:{frequencies:[261.6255653006,272.51337835337,307.97166902637,393.32961502355,426.7484383229,523.2511306012],description:"Optimal Golomb Ruler of 5 segments, length 17"},ogr5a:{frequencies:[261.6255653006,272.51337835337,307.97166902637,393.32961502355,482.27514684959,523.2511306012],description:"2nd Optimal Golomb Ruler of 5 segments, length 17"},ogr5b:{frequencies:[261.6255653006,272.51337835337,362.52783176564,426.7484383229,463.0066556268,523.2511306012],description:"3rd Optimal Golomb Ruler of 5 segments, length 17"},ogr5c:{frequencies:[261.6255653006,272.51337835337,362.52783176564,409.69842558521,444.50800708553,523.2511306012],description:"4th Optimal Golomb Ruler of 5 segments, length 17"},ogr6:{frequencies:[261.6255653006,268.98086109226,292.31087910123,345.21700307457,430.94493093825,495.02573326308,523.2511306012],description:"Optimal Golomb Ruler of 6 segments, length 25"},ogr6a:{frequencies:[261.6255653006,276.5429423948,284.31762274025,345.21700307457,407.69874723177,468.32288027948,523.2511306012],description:"2nd Optimal Golomb Ruler of 6 segments, length 25"},ogr6b:{frequencies:[261.6255653006,268.98086109226,354.92237405774,407.69874723177,443.06044202496,495.02573326308,523.2511306012],description:"3rd Optimal Golomb Ruler of 6 segments, length 25"},ogr6c:{frequencies:[261.6255653006,268.98086109226,317.66442301495,354.92237405774,455.51656649021,495.02573326308,523.2511306012],description:"4th Optimal Golomb Ruler of 6 segments, length 25"},ogr6d:{frequencies:[261.6255653006,276.5429423948,317.66442301495,375.1593523779,468.32288027948,481.48922855473,523.2511306012],description:"5th Optimal Golomb Ruler of 6 segments, length 25"},ogr7:{frequencies:[261.6255653006,267.01398215014,283.85429714132,314.3146261019,355.21191871351,409.69842558521,502.34551296122,523.2511306012],description:"Optimal Golomb Ruler of 7 segments, length 34"},ogr8:{frequencies:[261.6255653006,265.77967818767,283.06627815664,316.06708432391,387.90015179087,400.3161696196,454.08364189083,499.09751029017,523.2511306012],description:"Optimal Golomb Ruler of 8 segments, length 44"},ogr9:{frequencies:[261.6255653006,264.94361147373,282.17583275232,296.76515515861,349.59519124833,363.06573983159,401.57942110183,438.61588607285,510.2272282764,523.2511306012],description:"Optimal Golomb Ruler of 9 segments, length 55"},oldani:{frequencies:[261.6255653006,272.52663052146,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"This scale by Norbert L. Oldani appeared in Interval 5(3), p.10-11"},oljare:{frequencies:[261.6255653006,286.15296204753,305.22982618403,327.03195662575,348.83408706747,381.53728273004,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,508.71637697339,523.2511306012],description:'Mats \xEF\xBF\xBDljare, scale for "Tampere" (2001)'},oljare17:{frequencies:[261.6255653006,272.51337835337,320.78822215662,334.13814720468,393.32961502355,409.69842558521,426.7484383229,502.34551296122,523.2511306012],description:'Mats \xEF\xBF\xBDljare, scale for "Fafner" (2001), MOS in 17-tET'},olympos:{frequencies:[261.6255653006,279.06726965397,348.83408706747,372.08969287196,465.11211608996,523.2511306012],description:"Scale of ancient Greek flutist Olympos, 6th century BC as reported by Partch"},opelt:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Friederich Wilhelm Opelt 19-tone"},organ1373a:{frequencies:[261.6255653006,277.01530443593,294.32876096318,311.64221749042,331.11985608357,348.83408706747,369.35373924791,392.4383479509,415.52295665389,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"English organ tuning (1373) with 18:17:16 ficta semitones (Eb-G#)"},organ1373b:{frequencies:[261.6255653006,277.01530443593,294.32876096318,311.64221749042,331.11985608357,348.83408706747,369.35373924791,392.4383479509,415.52295665389,441.49314144476,467.46332623563,496.67978412536,523.2511306012],description:"English organ tuning (1373) with 18:17:16 accidental semitones (Eb-G#)"},ragib:{frequencies:[261.6255653006,269.99542342683,281.01564479119,288.12007609225,294.32876096318,303.49446183192,311.45900631024,323.77767743764,335.77702597132,341.99420300732,348.83408706747,360.36579242507,371.06455309218,381.37837507376,392.4383479509,407.46331920162,417.22825371678,432.79663407874,450.28451247858,458.15534711532,465.11211608996,476.50902003141,487.19844562495,503.12608711654,523.2511306012],description:"Idris Ragib Bey, vol.5 d'Erlanger, p 40. Idris Rag'ib Bey"},ragib7:{frequencies:[261.6255653006,270.30192333353,281.29980781121,288.32205155576,294.32876096318,303.74668805875,311.45900631024,324.36230800023,336.37572681506,341.71502406609,348.83408706747,360.4025644447,370.6997805717,381.53728273004,392.4383479509,406.97310157871,417.13259773693,432.48307733364,450.69091522486,457.84473927605,465.11211608996,476.92160341255,486.65469735975,502.32108537715,523.2511306012],description:"7-limit version of Idris Rag'ib Bey scale"},"rameau-flat":{frequencies:[261.6255653006,276.01120901503,292.50629850443,312.00666699279,327.03195662575,349.91920725962,366.20974703841,391.22137338448,415.30469757995,437.39882871549,468.01000025525,489.02679755603,523.2511306012],description:'Rameau bemols, see Pierre-Yves Asselin in "Musique et temperament"'},"rameau-gall":{frequencies:[261.6255653006,274.65078342868,292.50627485027,310.49874388777,327.03195662575,349.91912034749,366.20104475463,391.22147055517,412.61639318626,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"Rameau's temperament, after Gallimard (1st solution)"},"rameau-merc":{frequencies:[261.6255653006,273.37431312998,292.50627485027,308.72950296259,327.03195662575,348.83408706747,365.63284274659,391.22147055517,409.55238583376,437.39890198442,464.53468854848,489.02683710225,523.2511306012],description:"Rameau's temperament, after Mercadier"},"rameau-minor":{frequencies:[261.6255653006,294.32876096318,313.95067836072,353.19451315581,392.4383479509,418.60090448096,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"Rameau's systeme diatonique mineur on E. Asc. 4-6-8-9, desc. 9-7-5-4"},"rameau-nouv":{frequencies:[261.6255653006,275.98004852257,292.50627485027,311.49614460359,327.03195662575,349.91912034749,367.37127028704,391.22147055517,414.64857675456,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"Temperament by Rameau in Nouveau Systeme (1726)"},"rameau-sharp":{frequencies:[261.6255653006,273.37431312998,292.50629850443,308.54983514133,327.03195662575,348.83408706747,365.63293356166,391.22137338448,409.42528169498,437.39882871549,464.33633889105,489.02679755603,523.2511306012],description:'Rameau dieses, see Pierre-Yves Asselin in "Musique et temperament"'},rameau:{frequencies:[261.6255653006,275.07757335026,292.50629850443,310.73186404381,327.03195662575,349.91920725962,366.77009798369,391.22137338448,412.61635981914,437.39882871549,468.01000025525,489.02679755603,523.2511306012],description:"Rameau's modified meantone temperament (1725)"},ramis:{frequencies:[261.6255653006,275.93321340298,290.69507255622,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Monochord of Ramos de Pareja (Ramis de Pareia), Musica practica (1482). Carlos: Switched on Bach"},rapoport_8:{frequencies:[261.6255653006,297.86386736488,316.53463456122,336.37572681506,382.96782946913,406.97310157871,432.48307733364,492.38720931745,523.2511306012],description:"Paul Rapoport, cycle of 14/9 close to 8 out of 11-tET, XH 13, 1991"},rast_moha:{frequencies:[261.6255653006,293.66476791741,320.24370022528,349.22823143301,391.99543598175,427.47405410759,479.82340237272,523.2511306012],description:"Rast + Mohajira (Dudon) 4 + 3 + 3 Rast and 3 + 4 + 3 Mohajira tetrachords"},rat_dorenh:{frequencies:[261.6255653006,267.70988077271,274.08392555301,359.73515228832,411.12588832951,418.60090448096,426.35277308246,523.2511306012],description:"Rationalized Schlesinger's Dorian Harmonia in the enharmonic genus"},rat_hypodenh:{frequencies:[261.6255653006,270.06509966514,279.06726965397,348.83408706747,380.54627680087,389.39619021485,398.6675280771,523.2511306012],description:"1+1 rationalized enharmonic genus derived from K.S.'s 'Bastard' Hypodorian"},rat_hypodenh2:{frequencies:[261.6255653006,270.06509966514,288.69027895239,348.83408706747,380.54627680087,389.39619021485,408.39112632289,523.2511306012],description:"1+2 rationalized enharmonic genus derived from K.S.'s 'Bastard' Hypodorian"},rat_hypodenh3:{frequencies:[261.6255653006,270.06509966514,299.00064605783,348.83408706747,380.54627680087,389.39619021485,418.60090448096,523.2511306012],description:"1+3 rationalized enharmonic genus derived from K.S.'s 'Bastard' Hypodorian"},rat_hypodhex:{frequencies:[261.6255653006,267.19206668997,273.00058987889,348.83408706747,380.54627680087,386.4008349055,392.4383479509,523.2511306012],description:"1+1 rationalized hexachromatic/hexenharmonic genus derived from K.S.'Bastard'"},rat_hypodhex2:{frequencies:[261.6255653006,267.19206668997,279.06726965397,348.83408706747,380.54627680087,386.4008349055,398.6675280771,523.2511306012],description:"1+2 rat. hexachromatic/hexenharmonic genus derived from K.S.'s 'Bastard' Hypodo"},rat_hypodhex3:{frequencies:[261.6255653006,267.19206668997,285.40970760065,348.83408706747,380.54627680087,386.4008349055,405.0976494977,523.2511306012],description:"1+3 rat. hexachromatic/hexenharmonic genus from K.S.'s 'Bastard' Hypodorian"},rat_hypodhex4:{frequencies:[261.6255653006,267.19206668997,292.04714266113,348.83408706747,380.54627680087,386.4008349055,411.73859457144,523.2511306012],description:"1+4 rat. hexachromatic/hexenharmonic genus from K.S.'s 'Bastard' Hypodorian"},rat_hypodhex5:{frequencies:[261.6255653006,267.19206668997,299.00064605783,348.83408706747,380.54627680087,386.4008349055,418.60090448096,523.2511306012],description:"1+5 rat. hexachromatic/hexenharmonic genus from K.S.'s 'Bastard' Hypodorian"},rat_hypodhex6:{frequencies:[261.6255653006,273.00058987889,292.04714266113,348.83408706747,380.54627680087,392.4383479509,411.73859457144,523.2511306012],description:"2+3 rationalized hexachromatic/hexenharmonic genus from K.S.'s 'Bastard' hypod"},rat_hypodpen:{frequencies:[261.6255653006,268.33391312882,275.39533189537,348.83408706747,380.54627680087,387.59343007496,394.90651366128,523.2511306012],description:"1+1 rationalized pentachromatic/pentenharmonic genus derived from K.S.'s 'Bastar"},rat_hypodpen2:{frequencies:[261.6255653006,268.33391312882,282.83844897362,348.83408706747,380.54627680087,387.59343007496,402.50086969323,523.2511306012],description:"1+2 rationalized pentachromatic/pentenharmonic genus from K.S.'s 'Bastard' hyp"},rat_hypodpen3:{frequencies:[261.6255653006,268.33391312882,290.69507255622,348.83408706747,380.54627680087,387.59343007496,410.39304360878,523.2511306012],description:"1+3 rationalized pentachromatic/pentenharmonic genus from 'Bastard' Hypodorian"},rat_hypodpen4:{frequencies:[261.6255653006,268.33391312882,299.00064605783,348.83408706747,380.54627680087,387.59343007496,418.60090448096,523.2511306012],description:"1+4 rationalized pentachromatic/pentenharmonic genus from 'Bastard' Hypodorian"},rat_hypodpen5:{frequencies:[261.6255653006,275.39533189537,290.69507255622,348.83408706747,380.54627680087,394.90651366128,410.39304360878,523.2511306012],description:"2+3 rationalized pentachromatic/pentenharmonic genus from 'Bastard' Hypodorian"},rat_hypodpen6:{frequencies:[261.6255653006,268.33391312882,299.00064605783,348.83408706747,380.54627680087,394.90651366128,418.60090448096,523.2511306012],description:"2+3 rationalized pentachromatic/pentenharmonic genus from 'Bastard' Hypodorian"},rat_hypodtri:{frequencies:[261.6255653006,273.00058987889,285.40970760065,348.83408706747,380.54627680087,392.4383479509,405.0976494977,523.2511306012],description:"rationalized first (1+1) trichromatic genus derived from K.S.'s 'Bastard' hyp"},rat_hypodtri2:{frequencies:[261.6255653006,273.00058987889,299.00064605783,348.83408706747,380.54627680087,392.4383479509,418.60090448096,523.2511306012],description:"rationalized second (1+2) trichromatic genus derived from K.S.'s 'Bastard' hyp"},rat_hypolenh:{frequencies:[261.6255653006,268.33391312882,275.39533189537,348.83408706747,373.75080757229,402.50086969323,410.39304360878,418.60090448096,523.2511306012],description:"Rationalized Schlesinger's Hypolydian Harmonia in the enharmonic genus"},rat_hypopchrom:{frequencies:[261.6255653006,277.01530443593,294.32876096318,362.25078272391,392.4383479509,409.50088481833,428.11456140098,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in the chromatic genus"},rat_hypopenh:{frequencies:[261.6255653006,269.10058145205,277.01530443593,362.25078272391,392.4383479509,400.78810003496,409.50088481833,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in the enharmonic genus"},rat_hypoppen:{frequencies:[261.6255653006,273.79419624481,294.32876096318,362.25078272391,392.4383479509,405.97070477679,428.11456140098,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in the pentachromatic genus"},rat_hypoptri:{frequencies:[261.6255653006,271.68808704293,282.55561052465,362.25078272391,392.4383479509,403.65087217807,415.52295665389,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in first trichromatic genus"},rat_hypoptri2:{frequencies:[261.6255653006,271.68808704293,294.32876096318,362.25078272391,392.4383479509,403.65087217807,428.11456140098,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in second trichromatic genus"},rectsp10:{frequencies:[261.6255653006,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,340.11323489078,348.83408706747,359.73515228832,366.27579142084,373.75080757229,377.90359432309,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,436.04260883433,444.76346101102,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,490.54793493862,494.18162334558,497.08857407114,523.2511306012],description:"Rectangle minimal beats spectrum of order 10"},rectsp10a:{frequencies:[261.6255653006,275.39533189537,277.01530443593,279.06726965397,281.75060878526,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,307.79478270659,313.95067836072,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,359.73515228832,362.25078272391,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,402.50086969323,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,444.76346101102,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,485.87604984397,490.54793493862,494.18162334558,497.08857407114,523.2511306012],description:"Rectangle minimal beats spectrum of order 10 union with inversion"},rectsp11:{frequencies:[261.6255653006,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,404.33041910093,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,444.76346101102,448.50096908674,451.89870370104,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,485.87604984397,490.54793493862,494.18162334558,497.08857407114,499.46698830115,523.2511306012],description:"Rectangle minimal beats spectrum of order 11"},rectsp12:{frequencies:[261.6255653006,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,356.76213450082,359.73515228832,366.27579142084,370.63621750918,373.75080757229,377.90359432309,380.54627680087,392.4383479509,404.33041910093,406.97310157871,411.12588832951,414.24047839262,418.60090448096,425.14154361347,428.11456140098,436.04260883433,444.76346101102,448.50096908674,451.89870370104,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,485.87604984397,490.54793493862,494.18162334558,497.08857407114,499.46698830115,501.44900015948,523.2511306012],description:"Rectangle minimal beats spectrum of order 12"},rectsp6:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Rectangle minimal beats spectrum of order 6 (=songlines)"},rectsp6a:{frequencies:[261.6255653006,285.40970760065,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Rectangle minimal beats spectrum of order 6 union with inversion"},rectsp7:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"Rectangle minimal beats spectrum of order 7"},rectsp7a:{frequencies:[261.6255653006,281.75060878526,285.40970760065,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,332.97799220076,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,411.12588832951,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"Rectangle minimal beats spectrum of order 7 union with inversion"},rectsp8:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,490.54793493862,523.2511306012],description:"Rectangle minimal beats spectrum of order 8"},rectsp8a:{frequencies:[261.6255653006,279.06726965397,281.75060878526,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,322.00069575458,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,490.54793493862,523.2511306012],description:"Rectangle minimal beats spectrum of order 8 union with inversion"},rectsp9:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,377.90359432309,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,490.54793493862,494.18162334558,523.2511306012],description:"Rectangle minimal beats spectrum of order 9"},rectsp9a:{frequencies:[261.6255653006,277.01530443593,279.06726965397,281.75060878526,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,362.25078272391,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,490.54793493862,494.18162334558,523.2511306012],description:"Rectangle minimal beats spectrum of order 9 union with inversion"},redfield:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Redfield New Diatonic"},reinhard:{frequencies:[261.6255653006,277.01530443593,294.32876096318,309.81974838229,327.03195662575,348.83408706747,369.35373924791,392.4383479509,413.09299784305,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"Reinhard 19-limit superparticular"},reinhard17:{frequencies:[261.6255653006,277.01530443593,277.97716313189,286.94416839421,292.40504357126,296.50897400735,307.79478270659,317.68818643644,338.57426097725,342.12573923925,369.35373924791,400.13321751856,404.33041910093,430.91269578922,444.76346101102,477.08191319521,492.47165233054,523.2511306012],description:`Reinhard's Harmonic-17 tuning for "Tresspass", 1998`},renteng1:{frequencies:[261.6255653006,285.40970760065,313.15788183285,391.64553850062,426.52890806662,523.2511306012],description:"Gamelan Renteng from Chileunyi (Tg. Sari). 1/1=330 Hz"},renteng2:{frequencies:[261.6255653006,294.32876096318,311.77048523333,396.07199334683,425.86840190162,523.2511306012],description:"Gamelan Renteng from Chikebo (Tg. Sari). 1/1=360 Hz"},renteng3:{frequencies:[261.6255653006,278.97471276149,312.97903559457,379.60005211265,409.44065404912,468.42785143649,523.2511306012],description:"Gamelan Renteng from Lebakwangi (Pameungpeuk). 1/1=377 Hz"},renteng4:{frequencies:[261.6255653006,296.45730715573,311.93819010347,397.0826586675,424.17395032031,523.2511306012],description:"Gamelan Renteng Bale` bandung from Kanoman (Cheribon). 1/1=338 Hz"},robot:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Dead Robot (see lattice)"},robot_live:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,334.88072358477,348.83408706747,376.74081403286,392.4383479509,418.60090448096,446.50763144636,490.54793493862,502.32108537715,523.2511306012],description:"Live Robot"},romieu:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Romieu's Monochord, Memoire theorique & pratique (1758)"},romieu_inv:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Romieu inverted, Pure (just) C minor in Wilkinson: Tuning In"},rosati_21:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Dante Rosati, JI guitar tuning"},rosati_21a:{frequencies:[261.6255653006,280.31310567921,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,488.36772189445,523.2511306012],description:"Alternative version of rosati_21 with more tetrads"},rousseau:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Rousseau's Monochord, Dictionnaire de musique (1768)"},rousseauw:{frequencies:[261.6255653006,276.81658657456,293.31219032635,311.14941643136,328.83652403056,349.33732971591,369.19521129916,391.76004912942,415.1051791302,439.20783490896,466.32059269121,492.40223109551,523.2511306012],description:"Jean-Jacques Rousseau's temperament (1768)"},rsr_12:{frequencies:[261.6255653006,279.06726965397,299.00064605783,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"RSR - 7 limit JI"},"rvf-1":{frequencies:[261.6255653006,272.14556467328,280.20095193414,292.09989854643,304.19649364034,313.29104303136,326.0297292803,340.21856244106,350.08660369014,364.11104988921,374.67209286633,390.97784457618,406.87534373272,419.03967825638,436.39317047385,454.92493848389,468.39051363853,487.22455955444,508.94280091833,523.2511306012],description:"D-A 695 cents, the increment is 0.25 cents, interval range 49.5 to 75.5"},"rvf-2":{frequencies:[261.6255653006,272.87751533003,278.75612859219,292.27711197479,305.71136588092,312.51386339015,326.29348693151,342.97106251658,349.87433921674,364.79522794952,372.13777859784,391.13596290168,408.38225803817,417.4934384938,436.65792486176,457.83788806384,467.7011114131,487.81592522452,513.9947144098,523.2511306012],description:"695 cents, 0.607 cents, 31-90 cents, C-A# is 7/4."},"rvf-3":{frequencies:[261.6255653006,272.98787180262,278.19314238431,292.29399505039,306.11778315204,312.24320803046,326.25579420701,343.90343447252,349.81371586656,364.81629995674,371.08598724028,391.15855645336,408.71263878415,416.89098941754,436.60748307387,458.73792719255,467.48503753613,487.78774868553,515.83876338215,523.2511306012],description:"694.737, 0.082, 25-97, the fifth E#-B# is 3/2."},majmin:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Malcolm & Marpurg 4 (Yamaha major & minor) mixed. Mersenne/Ban without D#"},major_clus:{frequencies:[261.6255653006,275.93321340298,290.69507255622,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Chalmers' Major Mode Cluster"},major_wing:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Chalmers' Major Wing with 7 major and 6 minor triads"},malcolm:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Malcolm's Monochord (1721), and C major in Yamaha synths, Wilkinson: Tuning In"},malcolm2:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,463.29527188648,490.54793493862,523.2511306012],description:"Malcolm 2"},malcolm_ap:{frequencies:[261.6255653006,279.47938236087,293.66476791741,313.97746652079,326.1838132033,349.22823143301,369.99442271164,391.99543598175,419.68935090103,436.0054062308,466.16376151809,489.82458627646,523.2511306012],description:"Best approximations in mix of all ETs from 12-23 to Malcolm's Monochord"},malcolm_me:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,457.84473927605,490.54793493862,523.2511306012],description:"Malcolm's Mid-East"},malcolme:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,465.11211608996,496.11959049595,523.2511306012],description:"Most equal interval permutation of Malcolm's Monochord"},malcolme2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Inverse most equal interval permutation of Malcolm's Monochord"},malcolms:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,369.99442271164,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Symmetrical version of Malcolm's Monochord and Albion scale"},malerbi:{frequencies:[261.6255653006,275.62199471997,292.73769384471,310.07474405997,327.54963108844,348.83408706747,367.49599295996,391.37619916626,413.43299207996,437.91808280662,465.11211608996,489.99465727995,523.2511306012],description:"Luigi Malerbi's well-temperament nr.1 (1794) (nr.2 = Young)"},malgache:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,327.03195662575,353.19451315581,367.91095120397,392.4383479509,413.89982010446,441.49314144476,459.88868900496,490.54793493862,523.2511306012],description:"tuning from Madagascar"},malgache1:{frequencies:[261.6255653006,279.06726965397,294.32876096318,310.07474405997,327.03195662575,353.19451315581,376.74081403286,392.4383479509,418.60090448096,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"tuning from Madagascar"},malgache2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,353.19451315581,367.91095120397,392.4383479509,408.78994578219,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"tuning from Madagascar"},malkauns:{frequencies:[261.6255653006,313.95067836072,348.83408706747,418.60090448096,465.11211608996,523.2511306012],description:"Raga Malkauns, inverse of prime_5"},mambuti:{frequencies:[261.6255653006,294.34406205295,331.72862856444,394.26624244126,466.16376151809,525.06772693396,590.39077962608,792.18471060794,999.82182774046],description:"African Mambuti Flutes (aerophone; vertical wooden; one note each)"},mandelbaum5:{frequencies:[261.6255653006,272.52663052146,282.55561052465,290.69507255622,302.80736724606,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,376.74081403286,392.4383479509,403.74315632809,418.60090448096,436.04260883433,454.2110508691,470.92601754108,484.4917875937,502.32108537715,523.2511306012],description:"Mandelbaum's 5-limit 19-tone scale, kleismic detempered circle of minor thirds"},mandelbaum7:{frequencies:[261.6255653006,272.52663052146,280.31310567921,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,376.74081403286,392.4383479509,406.97310157871,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,504.56359022259,523.2511306012],description:"Mandelbaum's 7-limit 19-tone scale"},marimba1:{frequencies:[261.6255653006,284.4818984792,319.50463429683,342.83241505062,371.92288545737,411.72190027758,457.09800545097,500.48847822777,547.68138927822,612.97866327818,651.68292300609,728.11694797601,807.8963375694,903.69557412727,1013.19282257599,1069.7265813247,1225.95732655636,1303.36584601218],description:"Marimba of the Bakwese, SW Belgian Congo (Zaire). 1/1=140.5 Hz"},marimba2:{frequencies:[261.6255653006,279.11058864149,318.03161540472,343.03050002254,379.95718438213,421.58889248327,458.6849347701,519.33670373121,571.2689787911,613.68721319418,694.83488613378,761.23234162637,846.59395682498,953.56868388592,1049.52904699774,1145.8425062572,1271.3918647407,1389.66977226756],description:"Marimba of the Bakubu, S. Belgian Congo (Zaire). 1/1=141.5 Hz"},marimba3:{frequencies:[261.6255653006,296.73398952435,348.2210758395,420.13030572059,476.50902003141,518.73708886244,603.49292471609,696.44215167899,840.26061144117,953.01804006282,1037.47417772488],description:"Marimba from the Yakoma tribe, Zaire. 1/1=185.5 Hz"},marion:{frequencies:[261.6255653006,269.91407136119,278.46532473603,287.28749371714,296.38899008685,305.77900572762,315.46632790985,325.46074015958,335.7715953476,346.4093067252,357.3838291689,368.70624618807,380.38737313392,392.4383479509,411.71310103548,431.93429139282,453.14890242083,475.40520223986,498.75490298644,523.2511306012],description:"scale with two different ET step sizes"},marion1:{frequencies:[261.6255653006,262.79353657426,272.52663052146,280.31310567921,286.15296204753,294.32876096318,305.22982618403,311.45900631024,327.03195662575,336.37572681506,343.38355445704,350.39138209902,367.91095120397,373.75080757229,381.53728273004,392.4383479509,408.78994578219,420.46965851882,436.04260883433,457.84473927605,467.18850946536,476.92160341255,490.54793493862,515.07533168556,523.2511306012],description:"Marion's 7-limit Scale # 1"},marion10:{frequencies:[261.6255653006,267.07609791103,272.52663052146,286.15296204753,290.69507255622,296.75121990114,305.22982618403,317.94773560837,327.03195662575,339.14425131559,356.10146388137,363.36884069528,370.93902487643,381.53728273004,400.61414686654,406.97310157871,408.78994578219,423.93031414449,436.04260883433,445.12682985172,457.84473927605,474.80195184183,476.92160341255,484.4917875937,508.71637697339,523.2511306012],description:"Marion's 7-limit Scale # 10"},marion15:{frequencies:[261.6255653006,269.10058145205,280.31310567921,288.32205155576,299.00064605783,313.95067836072,320.35783506196,327.03195662575,336.37572681506,353.19451315581,358.80077526939,360.4025644447,373.75080757229,384.42940207435,392.4383479509,403.65087217807,418.60090448096,420.46965851882,427.14378008261,448.50096908674,461.31528248922,470.92601754108,480.53675259294,504.56359022259,523.2511306012],description:"Marion's 7-limit Scale # 15"},marion19:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,294.32876096318,309.04519901133,313.95067836072,315.35224388912,327.03195662575,336.37572681506,343.38355445704,353.19451315581,366.27579142084,367.91095120397,373.75080757229,392.4383479509,403.65087217807,412.06026534844,420.46965851882,441.49314144476,457.84473927605,470.92601754108,490.54793493862,504.56359022259,515.07533168556,523.2511306012],description:"Marion's 7-limit Scale # 19"},marion26:{frequencies:[261.6255653006,271.31540105247,279.06726965397,284.8811711051,293.02063313667,303.87324917877,305.22982618403,310.07474405997,325.57848126297,334.88072358477,341.85740532612,348.83408706747,366.27579142084,379.84156147346,390.69417751556,406.97310157871,418.60090448096,427.32175665765,434.10464168396,455.80987376816,465.11211608996,474.80195184183,488.36772189445,512.78610798918,523.2511306012],description:"Marion's 7-limit Scale # 26"},marissing:{frequencies:[261.6255653006,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Peter van Marissing, just scale, Mens en Melodie, 1979"},"marpurg-1":{frequencies:[261.6255653006,276.86979852503,294.32876096318,311.47852302926,329.62755691287,348.83408706747,370.83100115625,392.4383479509,415.30469757995,439.50340943686,467.21778431035,494.44133512215,523.2511306012],description:"Other temperament by Marpurg, 3 fifths 1/3 Pyth. comma flat"},"marpurg-t1":{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Marpurg's temperament nr.1, Kirnbergersche Temperatur (1766)"},"marpurg-t11":{frequencies:[261.6255653006,278.12325072816,294.32876096318,311.47852302926,331.11985608357,348.83408706747,371.66947115233,392.4383479509,416.24372513446,441.49314144476,466.16376151809,496.67978412536,523.2511306012],description:"Marpurg's temperament nr.11, 6 tempered fifths"},"marpurg-t12":{frequencies:[261.6255653006,279.06706247425,294.66131982972,310.42509491746,330.74614861362,349.22823143301,372.08941681833,392.88175996935,418.60059350213,441.99197952365,465.63764214343,496.11922267243,523.2511306012],description:"Marpurg's temperament nr.12, 4 tempered fifths"},"marpurg-t2":{frequencies:[261.6255653006,278.75210322491,294.32876096318,313.59611581451,331.11985608357,348.83408706747,371.66947115233,392.4383479509,418.12815462835,441.49314144476,470.39417348663,495.55929511749,523.2511306012],description:"Marpurg's temperament nr.2, 2 tempered fifths, Neue Methode (1790)"},"marpurg-t3":{frequencies:[261.6255653006,276.55731914056,294.32876096318,311.12698372208,331.11985608357,348.83408706747,368.74309237173,392.4383479509,414.83597850347,441.49314144476,465.11211608996,491.65745674141,523.2511306012],description:"Marpurg's temperament nr.3, 2 tempered fifths"},"marpurg-t4":{frequencies:[261.6255653006,276.86979852503,294.32876096318,310.07474405997,331.11985608357,348.83408706747,369.15973155124,392.4383479509,415.30469757995,441.49314144476,465.11211608996,492.21297564769,523.2511306012],description:"Marpurg's temperament nr.4, 2 tempered fifths"},"marpurg-t5":{frequencies:[261.6255653006,277.80935667884,294.32876096318,312.53552595124,331.11985608357,348.83408706747,370.41247575694,392.4383479509,416.71403480995,441.49314144476,468.80328869252,493.88330125613,523.2511306012],description:"Marpurg's temperament nr.5, 2 tempered fifths"},"marpurg-t7":{frequencies:[261.6255653006,276.86979852503,293.00227310437,310.07474405997,329.62755691287,348.83408706747,369.15973155124,390.66969766777,415.30469757995,439.50340943686,465.11211608996,492.21297564769,523.2511306012],description:"Marpurg's temperament nr.7, 3 tempered fifths"},"marpurg-t8":{frequencies:[261.6255653006,277.49581689502,293.33333347996,311.12698372208,329.99999983505,348.83408706747,369.99442271164,391.11111150212,414.83597850347,440,466.69047534984,493.32589719545,523.2511306012],description:"Marpurg's temperament nr.8, 4 tempered fifths"},"marpurg-t9":{frequencies:[261.6255653006,277.49581689502,294.32876096318,312.18279369479,331.11985608357,350.01785633742,371.24999944327,392.4383479509,416.24372513446,441.49314144476,468.27419030811,496.67978412536,523.2511306012],description:"Marpurg's temperament nr.9, 4 tempered fifths"},marpurg:{frequencies:[261.6255653006,277.49581689502,293.83071040301,311.12698372208,329.99999983505,349.42557141756,369.99442271164,392.4383479509,415.53937569366,440,466.69047534984,494.16238213869,523.2511306012],description:"Marpurg, Versuch ueber die musikalische Temperatur (1776), p. 153"},marpurg1:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Marpurg's Monochord no.1 (1776)"},marpurg3:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Marpurg 3"},marpurg4:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Marpurg 4, also Yamaha Pure Minor"},marsh:{frequencies:[261.6255653006,275.50659558095,293.15632631094,311.93674864629,328.48713220126,349.53094576004,368.07595926604,391.65594491223,412.43597848639,438.85779226656,466.97226207056,491.74834273545,523.2511306012],description:"John Marsh's meantone temperament (1809)"},marsh2:{frequencies:[261.6255653006,277.22760066578,293.66431501254,311.21660561883,329.70790803338,349.18845812715,369.99117208793,391.90679138833,415.30984563838,439.96491544382,466.29335337935,494.03030700757,523.2511306012],description:"John Marsh's quasi-equal temperament (1840)"},mavila12:{frequencies:[261.6255653006,256.98292999787,287.53945699376,321.72930260925,316.02010771872,353.59644178868,347.32175377489,388.62000642034,381.72381344999,427.11263899087,477.89842030218,469.41794908116,525.2340355968],description:"A 12-note mavila scale (for warping meantone-based music)"},mavila9:{frequencies:[261.6255653006,287.53945699376,316.02010771872,321.72930260925,353.59644178868,388.62000642034,427.11263899087,434.82882549415,477.89842030218,525.2340355968],description:"9-note scale of mavila temperament (TOP tuning)"},mavlim1:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,465.11211608996,523.2511306012],description:"First 27/25&135/128 scale"},mbira_banda:{frequencies:[261.6255653006,291.13134764929,327.53979283172,368.50142299854,404.88256627495,443.57258128492,480.10063929961,555.00605988575],description:"Mubayiwa Bandambira's tuning of keys R2-R9 from Berliner: The soul of mbira."},mbira_banda2:{frequencies:[261.6255653006,321.16993719469,360.29289210659,380.8360868427,422.32008370967,461.34206956593,587.32953583482,513.96502576833,761.67217368541,711.48673390068,849.04255025658,936.10488897708,1046.50286568598,633.49659152295,1055.60951665979,1174.65975017952,1321.5609185619,1486.83332446121,1633.62433483289,1789.73120457747,1937.11498804338,2239.34414798534],description:"Mubayiwa Bandambira's Mbira DzaVadzimu tuning B1=114 Hz"},mbira_gondo:{frequencies:[261.6255653006,315.28798447451,345.21700307457,379.51849407657,422.56409582244,461.07566488503,564.05539604512,516.94239487354,778.57545143809,697.24717811406,842.69088701475,926.42243447898,1029.11884353824,628.3943418294,1040.47545270591,1153.813137635,1308.64724593201,1415.59600512246,1572.51770682594,1715.83353717518,1883.05646656025,2103.91477035149],description:"John Gondo's Mbira DzaVadzimu tuning B1=122 Hz"},mbira_kunaka:{frequencies:[261.6255653006,292.98704147282,325.27731021818,350.44066402496,386.59871897734,434.19311733646,479.82340237272,507.76825077597],description:"John Kunaka's mbira tuning of keys R2-R9"},mbira_kunaka2:{frequencies:[261.6255653006,340.26769547546,358.83903996308,405.11650317313,448.98591596033,490.75518955849,622.61349925697,541.70354187177,817.28364083393,724.3415782324,907.35693646861,997.5144154576,1094.73088724383,673.88551872153,1085.91380691742,1216.08403680913,1350.10935126711,1454.55340013417,1604.63250673428,1802.17976955899,1991.5747030301,2107.56373750553],description:"John Kunaka's Mbira DzaVadzimu tuning B1=113 Hz"},mbira_mude:{frequencies:[261.6255653006,289.28740724512,309.15639683494,364.68988616898,372.56793743951,408.17001145418,507.1819925915,459.74594725879,689.63684605432,610.50517472746,760.79276355093,824.39562982862,887.65774573556,562.75365576207,888.68380073365,1015.53708814899,1126.80895076279,1206.28956516212,1365.00817887311,1507.58874420517,1666.02447560859,1935.99638964471],description:"Hakurotwi Mude's Mbira DzaVadzimu tuning B1=132 Hz"},mbira_mujuru:{frequencies:[261.6255653006,281.37682788104,301.05008478933,329.43721154897,394.9500460767,419.64523240241,533.01280425363,488.77489658044,700.88132804992,602.10016957865,765.19999119503,809.29752893,942.6160133907,577.57308891646,937.72844143307,1046.50286568598,1145.18149427149,1243.7900049313,1411.51350174391,1540.15576038017,1658.34356815416,1904.9365287586],description:"Ephat Mujuru's Mbira DzaVadzimu tuning, B1=106 Hz"},mbira_zimb:{frequencies:[261.6255653006,276.86260193655,305.95868600104,343.62544191138,379.08031027329,408.40584780369,453.41648894489,507.76825077597],description:"Shona mbira scale"},mboko_bow:{frequencies:[261.6255653006,347.61817721989,375.37611551499],description:"African Mboko Mouth Bow (chordophone, single string, plucked)"},mboko_zither:{frequencies:[261.6255653006,294.68429813772,319.3201344739,354.92237405774,396.55020354877,418.67676528474,472.67116512585,513.07516347663],description:"African Mboko Zither (chordophone; idiochordic palm fibre, plucked)"},mcclain:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,327.03195662575,331.11985608357,367.91095120397,392.4383479509,408.78994578219,441.49314144476,490.54793493862,510.98743222773,523.2511306012],description:"McClain's 12-tone scale, see page 119 of The Myth of Invariance"},mcclain_18:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,319.36714514233,327.03195662575,331.11985608357,344.91651675372,367.91095120397,383.2405741708,392.4383479509,408.78994578219,413.89982010446,441.49314144476,459.88868900496,490.54793493862,496.67978412536,510.98743222773,523.2511306012],description:"McClain's 18-tone scale, see page 143 of The Myth of Invariance"},mcclain_8:{frequencies:[261.6255653006,294.32876096318,327.03195662575,367.91095120397,392.4383479509,408.78994578219,441.49314144476,490.54793493862,523.2511306012],description:"McClain's 8-tone scale, see page 51 of The Myth of Invariance"},mccoskey_22:{frequencies:[261.6255653006,270.06509966514,279.06726965397,287.78812183066,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,382.37582620857,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,506.89953276991,523.2511306012],description:"31-limit rational interpretation of 22-tET, Marion McCoskey"},mclaren_bar:{frequencies:[261.6255653006,281.77400528964,292.14326370913,304.76756192248,325.50548568708,328.66136118639,353.45752508165,360.67039921732,379.1552038283,397.63971531932,405.75513620619,436.411067852,476.98680497297,521.16951219839],description:"Metal bar scale. see McLaren, Xenharmonicon 15, pp.31-33"},mclaren_cps:{frequencies:[261.6255653006,275.93321340298,286.15296204753,294.32876096318,306.59245933664,327.03195662575,343.38355445704,367.91095120397,392.4383479509,408.78994578219,429.2294430713,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"2)12 [1,2,3,4,5,6,8,9,10,12,14,15] a degenerate CPS"},mclaren_harm:{frequencies:[261.6255653006,279.06726965397,299.00064605783,304.4370214407,307.2300216374,348.83408706747,380.54627680087,389.39619021485,393.97732186443,398.6675280771,465.11211608996,523.2511306012],description:'from "Wilson part 9", claimed to be Schlesingers Dorian Enharmonic, prov. unkn'},mclaren_rath1:{frequencies:[261.6255653006,279.06726965397,299.00064605783,334.88072358477,341.71502406609,348.83408706747,372.08969287196,380.54627680087,389.39619021485,398.6675280771,492.47165233054,507.3950357345,523.2511306012],description:"McLaren Rat H1"},mclaren_rath2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,334.88072358477,341.71502406609,348.83408706747,380.54627680087,389.39619021485,398.6675280771,440.63253103259,452.54151835779,465.11211608996,523.2511306012],description:"McLaren Rat H2"},mean10:{frequencies:[261.6255653006,272.18829429226,292.14313377277,313.56091500001,326.220453695,350.13653284039,364.27275363262,390.97854693193,406.76370320307,436.58461973079,468.59178605305,487.51045723915,523.2511306012],description:"3/10-comma meantone scale"},mean11:{frequencies:[261.6255653006,272.83457350033,292.34115464648,313.24237654315,326.6628419965,350.01792709981,365.01399145768,391.11103243201,407.86767761879,437.02858581415,468.2743796482,488.33699124025,523.2511306012],description:"3/11-comma meantone scale. A.J. Ellis no. 10"},mean11ls_19:{frequencies:[261.6255653006,272.93479580544,280.25721516838,292.37183188538,305.01012622427,313.1930753928,326.73140514978,340.85495140859,349.99956372811,365.12891753666,374.92476290643,391.13155279262,408.03891236124,418.98596425085,437.09738047696,455.99169236578,468.2252457596,488.46511500326,509.57988860269,523.2511306012],description:"Least squares appr. to 3/2, 5/4, 7/6, 15/14 and 11/8, Petr Par\xEF\xBF\xBDzek"},mean13:{frequencies:[261.6255653006,273.83184954717,292.64606374809,312.75295135888,327.34460995374,349.8355370417,366.15730590163,391.31494185909,409.57195510156,437.7124891801,467.78648270341,489.61131479929,523.2511306012],description:"3/13-comma meantone scale"},mean14:{frequencies:[261.6255653006,274.22463192287,292.76593693997,312.56088569186,327.61283758281,349.76390952171,366.60744235102,391.39507854003,410.24343789088,437.98145930734,467.59494724206,490.11285326462,523.2511306012],description:"3/14-comma meantone scale (Giordano Riccati, 1762)"},mean14_15:{frequencies:[261.6255653006,274.22463192287,279.31500250577,292.76593693997,306.86462618694,312.56088569186,327.61283758281,349.76390952171,366.60744235102,391.39507854003,410.24343789088,417.8586951835,437.98145930734,467.59494724206,490.11285326462,523.2511306012],description:"15 of 3/14-comma meantone scale"},mean14_19:{frequencies:[261.6255653006,274.22463192287,279.31500250577,292.76593693997,306.86462618694,312.56088569186,327.61283758281,343.38964426558,349.76390952171,366.60744235102,373.41269440635,391.39507854003,410.24343789088,417.8586951835,437.98145930734,459.07327263526,467.59494724206,490.11285326462,513.71515101261,523.2511306012],description:"19 of 3/14-comma meantone scale"},mean14_7:{frequencies:[261.6255653006,292.76593693997,327.61283758281,349.76390952171,391.39507854003,437.98145930734,490.11285326462,523.2511306012],description:"Least squares appr. of 5L+2S to Ptolemy's Intense Diatonic scale"},mean14a:{frequencies:[261.6255653006,274.24690838881,292.77273178776,312.55000460003,327.62804498858,349.75985073129,366.63296888199,391.39962048672,410.28152481852,437.9967071602,467.58409501387,490.1412915133,523.2511306012],description:'fifth of sqrt(5/2)-1 octave "recursive" meantone, Paul Hahn'},mean16:{frequencies:[261.6255653006,274.864106667,292.9608347655,312.24903186879,328.04917632434,349.64754658398,367.34009701877,391.52533508436,411.33694767869,438.41888642025,467.28387071703,490.92894854125,523.2511306012],description:"3/16-comma meantone scale"},mean17:{frequencies:[261.6255653006,273.72412433093,292.61316553779,312.80569569783,327.2710181906,349.85520131118,366.03383354947,391.29294726693,409.38781813791,437.63868343995,467.83907547741,489.47372981579,523.2511306012],description:"4/17-comma meantone scale, least squares error of 5/4 and 3/2"},mean17_17:{frequencies:[261.6255653006,273.72412433093,279.67971414776,292.61316553779,306.14471057197,312.80569569783,327.2710181906,349.85520131118,366.03383354947,373.99786656393,391.29294726693,409.38781813791,418.29512920081,437.63868343995,457.8767570375,467.83907547741,489.47372981579,523.2511306012],description:"4/17-comma meantone scale with split C#/Db, D#/Eb, F#/Gb, G#/Ab and A#/Bb"},mean17_19:{frequencies:[261.6255653006,273.72412433093,279.67971414776,292.61316553779,306.14471057197,312.80569569783,327.2710181906,342.40527209253,349.85520131118,366.03383354947,373.99786656393,391.29294726693,409.38781813791,418.29512920081,437.63868343995,457.8767570375,467.83907547741,489.47372981579,512.10885267608,523.2511306012],description:"4/17-comma meantone scale, least squares error of 5/4 and 3/2"},mean18:{frequencies:[261.6255653006,272.71477685134,292.30447317753,313.30134186202,326.58087306932,350.03988839382,364.87661266094,391.0864943589,407.66301227525,436.94633423564,468.33314368944,488.18382342185,523.2511306012],description:"5/18-comma meantone scale (Smith). 3/2 and 5/3 eq. beat. A.J. Ellis no. 9"},mean19:{frequencies:[261.6255653006,273.06170311607,292.41066686775,313.13068664042,326.81820677503,349.97632128221,365.27443420834,391.15752841841,408.25574814862,437.18446858874,468.16306089008,488.62733218513,523.2511306012],description:"5/19-comma meantone scale, fifths beats three times third. A.J. Ellis no. 11"},mean19r:{frequencies:[261.6255653006,273.04332227389,292.40504357126,313.13971948727,326.80563693258,349.97968716666,365.25335892465,391.15376651139,408.22434232755,437.17185753972,468.17206422213,488.60384173026,523.2511306012],description:"Approximate 5/19-comma meantone with 19/17 tone, Petr Parizek, 2002"},mean23:{frequencies:[261.6255653006,274.15058593695,292.74334833321,312.59706303545,327.56228503462,349.77740346966,366.52259116395,391.37997903742,410.11684180717,437.93077103284,467.63102771476,490.01832104213,523.2511306012],description:"5/23-comma meantone scale, A.J. Ellis no. 4"},mean23six:{frequencies:[261.6255653006,273.11604376732,292.42729246507,313.10398392891,326.85537164611,349.96637341293,365.33674088125,391.16864715511,408.34860251967,437.22175336101,468.13644404983,488.69678846289,523.2511306012],description:"6/23-comma meantone scale"},mean25:{frequencies:[261.6255653006,272.66208311698,292.28833573479,313.32728859832,326.54481265413,350.04955123355,364.81618195011,391.07569872695,407.57299290994,436.91015056532,468.35900068872,488.11644468937,523.2511306012],description:"7/25-comma meantone scale, least square weights 3/2:0 5/4:1 6/5:1"},mean26:{frequencies:[261.6255653006,272.91754119498,292.36655103694,313.20156187458,326.7196004604,350.00272362315,365.10913291207,391.12802157824,408.00943064927,437.08553692506,468.23370304224,488.44305713046,523.2511306012],description:"7/26-comma meantone scale (Woolhouse 1835). Almost equal to meaneb742"},mean26_21:{frequencies:[261.6255653006,272.91754592428,280.26986822267,292.36655272572,304.98534036063,313.20156006546,326.71960423481,335.52133892506,340.8210986211,350.00272362315,365.10913712997,374.9450750913,391.12802157824,408.00943771953,419.00109777107,437.08553944976,455.95052092314,468.23370033762,488.44306277317,501.60158217053,509.52467838008,523.2511306012],description:"21 of 7/26-comma meantone scale (Woolhouse 1835)"},mean27:{frequencies:[261.6255653006,273.15429014256,292.43899158768,313.08519355925,326.88152513903,349.9593710588,365.38059276675,391.17647406766,408.41395592075,437.24799400905,468.11771609009,488.74567091648,523.2511306012],description:"7/27-comma meantone scale, least square weights 3/2:2 5/4:1 6/5:1"},mean29:{frequencies:[261.6255653006,273.57932033947,292.56893127899,312.87664195194,327.1720749345,349.88164908166,365.86785468743,391.26336919078,409.14031659695,437.53944680455,467.90980928584,489.28875967044,523.2511306012],description:"7/29-comma meantone scale, least square weights 3/2:4 5/4:1 6/5:1"},mean2sev:{frequencies:[261.6255653006,272.52663052146,292.24684137387,313.39402123097,326.45210604021,350.07440004945,364.66083404534,391.04793957621,407.34160211012,436.81711699543,468.42550014967,487.94322738789,523.2511306012],description:"2/7-comma meantone scale. Zarlino's temperament (1558). See also meaneb371"},mean2sev_15:{frequencies:[261.6255653006,272.52663052146,280.55692507618,292.24689370448,304.42377254813,313.39402847191,326.45203249943,350.07447082328,364.66081719444,391.04786051887,407.34165622677,419.34452602299,436.81710690282,468.42541627199,487.94330348661,523.2511306012],description:"15 of 2/7-comma meantone scale"},mean2sev_19:{frequencies:[261.6255653006,272.52663052146,280.55692507618,292.24689370448,304.42377254813,313.39402847191,326.45203249943,340.0543130973,350.07447082328,364.66081719444,375.40603866065,391.04786051887,407.34165622677,419.34452602299,436.81710690282,455.01770749831,468.42541627199,487.94330348661,508.27414914183,523.2511306012],description:"19 of 2/7-comma meantone scale"},mean2sev_31:{frequencies:[261.6255653006,264.72620698393,272.52663052146,280.55692507618,283.88190679319,292.24689370448,300.8583415146,304.42377254813,313.39402847191,317.10820138491,326.45203249943,336.07138073182,340.0543130973,350.07447082328,354.22315547012,364.66081719444,375.40603866065,379.85514366424,391.04786051887,395.6823437549,407.34165622677,419.34452602299,424.31412061457,436.81710690282,449.68851049921,455.01770749831,468.42541627199,473.97693555703,487.94330348661,502.32108537715,508.27414914183,523.2511306012],description:"31 of 2/7-comma meantone scale"},mean2seveb:{frequencies:[261.6255653006,274.26749945295,292.59076110537,312.44357330613,327.42660602987,349.76102048238,366.6169314736,391.04794861134,410.01084835752,437.49574139527,467.27496094916,489.74950989452,523.2511306012],description:'"2/7-comma" meantone with equal beating fifths. A.J. Ellis no. 8'},mean2sevr:{frequencies:[261.6255653006,272.52663052146,292.24289114742,313.39346366789,326.45152465405,350.07234194042,364.65868952128,391.04531121882,407.33886585294,436.81651812993,468.41855142334,487.93599106598,523.2511306012],description:"Rational approximation to 2/7-comma meantone, 1/1 = 262.9333"},mean9:{frequencies:[261.6255653006,274.03547926168,292.70827332867,306.59245933664,327.48360691354,349.79835961887,366.39065074918,391.35653176554,409.92008797511,437.85206746661,467.68706357679,489.87127257422,523.2511306012],description:"2/9-comma meantone scale, Lemme Rossi, Sistema musico (1666)"},mean94:{frequencies:[261.6255653006,268.79084150406,291.09659021292,315.25339315665,323.88740273232,350.76536842075,360.37196303797,390.27761906502,400.96635635801,434.24075936811,470.27645613296,483.15616342113,523.2511306012],description:"4/9-comma meantone scale"},mean9_15:{frequencies:[261.6255653006,274.03547926168,279.45274708261,292.70827332867,306.59245933664,312.65343270838,327.48360691354,349.79835961887,366.39065074918,391.35653176554,409.92008797511,418.0235894185,437.85206746661,467.68706357679,489.87127257422,523.2511306012],description:"15 of 2/9-comma meantone scale"},mean9_19:{frequencies:[261.6255653006,274.03547926168,279.45274708261,292.70827332867,306.59245933664,312.65343270838,327.48360691354,343.0174228875,349.79835961887,366.39065074918,373.63364091796,391.35653176554,409.92008797511,418.0235894185,437.85206746661,458.62082212371,467.68706357679,489.87127257422,513.10776453427,523.2511306012],description:"19 of 2/9-comma meantone scale"},mean9_31:{frequencies:[261.6255653006,268.72322665693,274.03547926168,279.45274708261,287.03404351137,292.70827332867,298.49467410529,306.59245933664,312.65343270838,321.13524775754,327.48360691354,333.95746354843,343.0174228875,349.79835961887,359.28803828513,366.39065074918,373.63364091796,383.76997851754,391.35653176554,401.97367512027,409.92008797511,418.0235894185,429.36393755067,437.85181455341,446.50763144636,458.62082212371,467.68706357679,480.3749841712,489.87127257422,499.55528826613,513.10776453427,523.2511306012],description:"31 of 2/9-comma meantone scale"},meaneb1071:{frequencies:[261.6255653006,273.45959631537,292.5323192343,305.76452283047,327.09038632535,349.9034421565,365.73073124967,391.23900009103,408.93579686983,437.45744778434,457.24482979639,489.13584427285,523.2511306012],description:"Equal beating 7/4 = 3/2 same."},meaneb1071a:{frequencies:[261.6255653006,273.94115519525,292.67936294368,306.45675889694,327.41929816594,349.81553441422,366.28252094772,391.33731744348,409.75863641311,437.78732645584,458.39517452459,489.75074612717,523.2511306012],description:"Equal beating 7/4 = 3/2 opposite."},meaneb341:{frequencies:[261.6255653006,272.43747957464,292.21954801903,313.43802026715,326.39113133433,350.09085029289,364.55867287416,391.02956482064,407.18921698842,436.75579855003,468.46925117002,487.82916876009,523.2511306012],description:"Equal beating 6/5 = 5/4 same. Almost 4/15 Pyth. comma"},meaneb371:{frequencies:[261.6255653006,272.52577151658,292.24657972098,313.39444482621,326.45151771442,350.07455777399,364.65985037488,391.0477633913,407.34013625771,436.81652657765,468.42591953828,487.94213100406,523.2511306012],description:"Equal beating 6/5 = 3/2 same. Practically 2/7-comma (Zarlino)"},meaneb371a:{frequencies:[261.6255653006,269.83862220337,291.42039690163,314.72828847419,324.6081803116,350.57044084899,361.57569171511,390.49462500658,421.72650333798,434.96526321606,469.75391665508,484.50062400899,523.2511306012],description:"Equal beating 6/5 = 3/2 opposite. Almost 2/5-comma"},meaneb381:{frequencies:[261.6255653006,275.92799893014,293.28437056932,311.73248946737,328.77414682856,349.45463702831,368.55847249214,391.74146894101,416.38271791821,439.14534885862,466.76838786866,492.28548089506,523.2511306012],description:"Equal beating 6/5 = 8/5 same. Almost 1/7-comma"},meaneb451:{frequencies:[261.6255653006,274.36682021224,292.8092284668,312.49148032108,327.70992276921,349.73795145032,366.77030983847,391.42412846541,410.48661799548,438.07873640926,467.5258138363,490.29448158868,523.2511306012],description:"Equal beating 5/4 = 4/3 same, 5/24 comma meantone. A.J. Ellis no. 6"},meaneb471:{frequencies:[261.6255653006,272.3284467197,292.18612898941,313.49179640307,326.31648163178,350.11087068539,364.43361138613,391.00720457415,407.00321492741,436.68087780422,468.52283272721,487.68970701588,523.2511306012],description:"Equal beating 5/4 = 3/2 same. Almost 5/17-comma"},meaneb471a:{frequencies:[261.6255653006,274.14912748586,292.7429036132,312.59777626068,327.56128980523,349.7776701617,366.52092076205,391.37968062521,410.11434970273,437.92977184699,467.63173811584,490.01645860508,523.2511306012],description:"Equal beating 5/4 = 3/2 opposite. Almost 1/5 Pyth. Gottfried Keller (1707)"},meaneb471b:{frequencies:[261.6255653006,272.31089540773,292.18072491748,313.50040506268,326.30440921209,350.11400731728,364.41338872146,391.00370158472,406.97310157871,436.668886633,468.53149836075,487.66729542944,523.2511306012],description:"21/109-comma meantone with 9/7 major thirds, almost equal beating 5/4 and 3/2"},meaneb472:{frequencies:[261.6255653006,270.83769079127,291.72826852127,314.23020335825,325.29440843388,350.38540704884,362.72286472858,390.7008399429,404.45761497645,435.65472502222,469.25816799182,485.78126704788,523.2511306012],description:"Beating of 5/4 = twice 3/2 same. Almost 5/14-comma"},meaneb472_19:{frequencies:[261.6255653006,270.8378472333,281.80541953687,291.72826852127,302.00051792575,314.23002185182,325.29459633135,336.74877333101,350.38540704884,362.72307424558,377.41153667283,390.7008399429,404.45808222448,420.83660282593,435.65497666633,450.99513069838,469.25816799182,485.78154764623,502.88674365212,523.2511306012],description:"Beating of 5/4 = twice 3/2 same, 19 tones"},meaneb472a:{frequencies:[261.6255653006,274.74648495017,292.92493846141,312.30633997417,327.96897748493,349.66886860972,367.20529370531,391.50146074488,411.13561642091,438.33843670622,467.34113372786,490.7787182415,523.2511306012],description:"Beating of 5/4 = twice 3/2 opposite. Almost 3/17-comma"},meaneb591:{frequencies:[261.6255653006,273.06215106005,292.41085266114,313.13038820279,326.81843330822,349.97621009739,365.27491737756,391.15765268623,418.87439289145,437.18488525956,468.16276342643,488.62782610925,523.2511306012],description:"Equal beating 4/3 = 5/3 same."},meaneb732:{frequencies:[261.6255653006,272.00548436883,292.08705896894,313.65121264041,326.09523618955,350.1701397801,364.06303937825,390.94102347986,406.4514961644,436.45893055948,468.68174619223,487.27655969467,523.2511306012],description:"Beating of 3/2 = twice 6/5 same. Almost 4/13-comma"},meaneb732_19:{frequencies:[261.6255653006,272.00553778846,280.94077405591,292.08707584055,303.67560621907,313.65118727632,326.09527197795,339.03307470248,350.17012966679,364.06310036266,376.02237826726,390.94103477068,406.45158772689,419.80330474394,436.45896585468,453.77543893118,468.68171912011,487.27662724555,506.60928680033,523.2511306012],description:"Beating of 3/2 = twice 6/5 same, 19 tones"},meaneb732a:{frequencies:[261.6255653006,270.68848625127,291.6822692306,314.3042667302,325.1920204578,350.41293324447,362.5515203525,390.67014898736,404.20304509584,435.55206635241,469.33217160858,485.59021720901,523.2511306012],description:"Beating of 3/2 = twice 6/5 opposite. Almost 1/3 Pyth. comma"},meaneb742:{frequencies:[261.6255653006,272.89343543801,292.35917287023,313.21341909223,326.70311046689,350.00714105462,365.08148980199,391.12308516115,407.96824372307,437.06899032128,468.24551969328,488.41224041213,523.2511306012],description:"Beating of 3/2 = twice 5/4 same."},meaneb742a:{frequencies:[261.6255653006,273.78850133971,292.63287562287,312.77409391616,327.31510698093,349.84341999552,366.10759179471,391.30612443552,409.49789158088,437.68290117536,467.80756449982,489.55615570194,523.2511306012],description:"Beating of 3/2 = twice 5/4 opposite. Almost 3/13-comma, 3/14 Pyth. comma"},meaneb781:{frequencies:[261.6255653006,273.88372205101,292.66195046404,312.72748571568,327.38015167213,349.82604176358,366.21672762941,391.32556326448,418.15568884829,437.74813244966,467.76108961433,489.67748280644,523.2511306012],description:"Equal beating 3/2 = 8/5 same."},meaneb891:{frequencies:[261.6255653006,272.7426257605,292.31307409948,313.28760473417,326.59990179186,350.03483972175,364.90860969063,391.092135133,419.1546662649,436.96549358815,468.31936361194,488.21959184068,523.2511306012],description:"Equal beating 8/5 = 5/3 same. Almost 5/18-comma"},meaneight:{frequencies:[261.6255653006,276.08926119362,293.33333347996,311.65444160511,328.88393162803,349.42547049952,368.74309237173,391.77416758435,413.43299207996,439.25532436715,466.69047534984,492.49097043477,523.2511306012],description:"1/8 Pyth. comma meantone scale"},meanfifth:{frequencies:[261.6255653006,274.56546814423,292.86978442859,312.39456569414,327.84548435462,349.70179235499,366.99791252626,391.46460164194,410.82629477826,438.21464222188,467.42914467878,490.54793493862,523.2511306012],description:"1/5-comma meantone scale (Verheijen)"},meanfifth2:{frequencies:[261.6255653006,279.06726965397,292.86986732103,312.39452419152,327.84547867349,349.70184487387,366.99801003998,391.46454285105,417.56218018201,438.2147004401,467.42901237995,490.54793493862,523.2511306012],description:"1/5-comma meantone by John Holden (1770)"},meanfifth_19:{frequencies:[261.6255653006,274.56546814423,279.06726965397,292.86978442859,307.35519222791,312.39456569414,327.84548435462,344.06059968708,349.70179235499,366.99791252626,373.01539917593,391.46460164194,410.82629477826,417.56217294621,438.21464222188,459.88868900496,467.42914467878,490.54793493862,514.81033759999,523.2511306012],description:"19 of 1/5-comma meantone scale"},meanfifth_43:{frequencies:[261.6255653006,265.91515911649,270.13633240739,274.56546814423,279.06726965397,283.49717461664,288.14537375445,292.86978442859,297.67175429757,302.39711110066,307.35519222791,312.39456569414,317.35355938713,322.556865357,327.84548435462,333.22081516619,338.51040756711,344.06059968708,349.70179235499,355.43547760922,361.07770857381,366.99791252626,373.01539917593,378.93660287884,385.14971481892,391.46460164194,397.88302689184,404.19904307077,410.82629477826,417.56217294621,424.19061149626,431.14564594215,438.21464222188,445.39957775044,452.46991103879,459.88868900496,467.42914467878,475.09307907327,482.63477102771,490.54793493862,498.59100550039,506.50570672499,514.81033759999,523.2511306012],description:"Complete 1/5-comma meantone scale"},meanfiftheb:{frequencies:[261.6255653006,275.80023422757,293.11157312801,311.73372470712,328.53333183909,349.48325286892,368.3828117434,391.46459711956,412.7266004334,438.69360944226,466.62683936965,491.82624824197,523.2511306012],description:'"1/5-comma" meantone with equal beating fifths'},meangold:{frequencies:[261.6255653006,272.97231199113,292.38331430233,313.17462880702,326.75706743029,349.99269211627,365.17193449866,391.13923210785,408.10300926149,437.12312635029,468.20685771475,488.51307131873,523.2511306012],description:"Meantone scale with Blackwood's R = phi, and diat./chrom. ST = phi, ~4/15-comma"},meanhalf:{frequencies:[261.6255653006,267.49544939623,290.69507255622,315.90677595028,322.99452506247,351.00752840096,358.88280562497,390.00836666198,398.75867291663,433.34262909025,470.92601754108,481.49180950675,523.2511306012],description:"1/2-comma meantone scale"},meanhar2:{frequencies:[261.6255653006,273.08769296879,292.41861893027,305.22982618403,326.83598255713,349.97156260351,365.30423365264,391.16284711627,408.30015740759,437.20230245522,456.35665612784,488.66055322307,523.2511306012],description:"1/9-Harrison's comma meantone scale"},meanhar3:{frequencies:[261.6255653006,274.22153683641,292.76499331753,306.86017365004,327.61072570921,343.38355445704,366.60389537541,391.39444778107,410.23814647641,437.9793418028,459.06587176894,490.10890120058,523.2511306012],description:"1/11-Harrison's comma meantone scale"},meanharris:{frequencies:[261.6255653006,273.71072489962,292.60907359238,306.12544311476,327.26186315247,349.85764856047,366.01847563765,391.29021017831,409.36491649663,437.62950220286,457.84473927605,489.45661357347,523.2511306012],description:"1/10-Harrison's comma meantone scale"},meanhsev:{frequencies:[261.6255653006,265.69493617871,271.18768033644,275.4057836544,279.68949451567,284.03983498254,289.91182549392,294.4211659268,299.00064605783,305.1819244006,309.92877868547,314.74946639166,321.25632089757,326.25319922315,331.32779988873,336.4813337451,343.43745382287,348.77934146077,354.20431777528,361.52682728594,367.15008027699,372.86080050545,378.66034414493,386.48843610249,392.49994642563,398.60496085649,406.84537033315,413.17351844213,419.60009331305,426.12662827999,434.93599657884,441.70106893056,448.57136642871,457.84473927605,464.96613926104,472.19830582795,481.96011959425,489.45661357347,497.06970936204,504.80122352123,515.23704142273,523.2511306012],description:"1/14-septimal schisma tempered meantone scale"},meanhskl:{frequencies:[261.6255653006,275.0605216927,293.02063313667,312.15345277639,328.18310911307,349.61186736411,367.56508220664,391.56529173291,411.67289207144,438.55312706018,467.18850946536,491.17950266504,523.2511306012],description:"Half septimal kleisma meantone"},meanlst357_19:{frequencies:[261.6255653006,273.71260157103,279.68803244686,292.60971924044,306.12821574316,312.81131320311,327.26311833974,342.38279105966,349.85736361975,366.02068710341,374.01129952811,391.29052886394,409.36829077259,418.30522648629,437.63082426891,457.84952434322,467.84458559023,489.45917220726,512.07206464598,523.2511306012],description:"19 of mean-tone scale, least square error in 3/2, 5/4 and 7/4"},meanmalc:{frequencies:[261.6255653006,279.16226462633,292.82999876562,312.45832383396,327.75622702832,349.72564885805,366.84815356577,391.43789792004,417.67588698136,438.12522309524,467.49265244264,490.38100841085,523.2511306012],description:"Meantone approximation to Malcolm's Monochord, 3/16 Pyth. comma"},meannkleis:{frequencies:[261.6255653006,277.55670411237,293.77792781181,311.66693695111,329.88161264913,349.96913477239,370.42222384066,392.07096746411,415.94530241673,440.25439013544,467.06275302556,494.35929617392,523.2511306012],description:"1/5 kleisma tempered meantone scale"},meanpi:{frequencies:[261.6255653006,275.38456311745,294.43027471344,309.91448590794,326.2128298123,348.77404705732,367.11600789597,392.50613131028,413.14795414706,434.87532652316,464.95175460796,489.40347900327,523.2511306012],description:"Pi-based meantone with Harrison's major third by Erv Wilson"},meanpi2:{frequencies:[261.6255653006,287.5806999253,296.7710142931,326.2128298123,336.6377243117,370.0346037192,381.85992557156,394.06315326167,433.15704755212,446.99959483943,491.34516423327,507.04724898227,523.2511306012],description:"Pi-based meantone by Erv Wilson analogous to 22-tET"},meanpkleis:{frequencies:[261.6255653006,274.33428876064,294.88060759996,309.2047285643,324.22465805628,348.50752497012,365.43662717622,392.80607455881,411.88702081614,442.73537947933,464.24169412807,486.7926967469,523.2511306012],description:"1/5 kleisma positive temperament"},meanquar:{frequencies:[261.6255653006,273.37431312998,292.50627485027,312.977175335,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"1/4-comma meantone scale. Pietro Aaron's temp. (1523). 6/5 beats twice 3/2"},meanquar_14:{frequencies:[261.6255653006,273.37431312998,292.50627485027,305.64177427204,312.977175335,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,418.60090448096,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"1/4-comma meantone scale with split D#/Eb and G#/Ab, Otto Gibelius (1666)"},meanquar_15:{frequencies:[261.6255653006,273.37431312998,279.93529690293,292.50627485027,305.64177427204,312.977175335,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,418.60090448096,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"1/4-comma meantone scale with split C#/Db, D#/Eb and G#/Ab"},meanquar_16:{frequencies:[261.6255653006,273.37431312998,279.93548123753,292.50629850443,305.64179898843,312.97722776199,327.03195662575,349.91920725962,365.63293356166,391.22137338448,408.78994578219,418.60090448096,437.39882871549,457.04097849371,468.01000025525,489.02679755603,523.2511306012],description:"1/4-comma meantone scale with split C#/Db, D#/Eb, G#/Ab and A#/Bb"},meanquar_17:{frequencies:[261.6255653006,273.37431312998,279.93529690293,292.50627485027,305.64177250659,312.977175335,327.03195662575,349.91912034749,365.63284274659,374.40803131735,391.22147055517,408.78994578219,418.60090448096,437.39889945791,457.04105241293,468.01003810189,489.02683710225,523.2511306012],description:"1/4-comma meantone scale with split C#/Db, D#/Eb, F#/Gb, G#/Ab and A#/Bb"},meanquar_19:{frequencies:[261.6255653006,273.37431312998,279.93529690293,292.50627485027,305.64177427204,312.977175335,327.03195662575,341.71789064962,349.91912034749,365.63284274659,374.40803131735,391.22147055517,408.78994578219,418.60090448096,437.39890198442,457.04105241293,468.01003810189,489.02683710225,510.98743222773,523.2511306012],description:"19 of 1/4-comma meantone scale"},meanquar_27:{frequencies:[261.6255653006,273.37431312998,279.93529690293,285.65065877038,292.50627485027,299.52642572255,305.64177427204,312.977175335,327.03195662575,334.88072358477,341.71789064962,349.91912034749,365.63284274659,374.40803131735,382.05221698715,391.22147055517,400.61078621746,408.78994578219,418.60090448096,427.14736482575,437.39890198442,447.89647345742,457.04105241293,468.01003810189,489.02683710225,500.76348165392,510.98743222773,523.2511306012],description:"27 of 1/4-comma meantone scale"},meanquar_31:{frequencies:[261.6255653006,267.90457886781,273.37431312998,279.93529690293,285.65065877038,292.50627485027,299.52642572255,305.64177427204,312.977175335,320.48862783822,327.03195662575,334.88072358477,341.71789064962,349.91912034749,358.31717956585,365.63284274659,374.40803131735,382.05221698715,391.22147055517,400.61078621746,408.78994578219,418.60090448096,427.14736482575,437.39890198442,447.89647345742,457.04105241293,468.01003810189,479.24227945773,489.02683710225,500.76348165392,510.98743222773,523.2511306012],description:"31 of 1/4-comma meantone scale"},meanquareb:{frequencies:[261.6255653006,274.90575459855,292.80763523599,312.14798050979,327.88746490679,349.6453532581,367.3522744581,391.22144795733,411.14173398328,437.99455416256,467.00507093977,490.61429903129,523.2511306012],description:"Variation on 1/4-comma meantone with equal beating fifths"},meanquarm23:{frequencies:[261.6255653006,273.51763645063,292.40504357126,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,408.78994578219,436.04260883433,468.17206422213,489.12605686634,523.2511306012],description:"1/4-comma meantone approximation with minimal order 23 beatings"},meanquarr:{frequencies:[261.6255653006,273.37036621967,292.50063201309,312.98169478553,327.03195662575,349.92419358955,365.62579001637,391.21579858034,408.78994578219,437.39258595147,468.01906681552,489.01974822542,523.2511306012],description:"Rational approximation to 1/4-comma meantone, Kenneth Scholz, MTO 4.4, 1998"},meansabat:{frequencies:[261.6255653006,279.13726386405,294.25495796556,313.95067836072,330.95382015833,348.87783040382,372.229687597,392.38914286775,418.65339720992,441.32709511026,470.8669722571,496.36848628125,523.2511306012],description:"1/9-schisma meantone scale of Eduard Sa'bat-Garibaldi"},meansabat_53:{frequencies:[261.6255653006,264.79625752493,268.00537599851,271.25338610366,275.79485124716,279.13726386405,282.52018221184,285.94410045135,290.73152483281,294.25495796556,297.82109228474,301.4304452945,305.08354077075,310.19140758515,313.95067836072,317.75550958044,321.60645175541,326.99095182327,330.95382015833,334.96471528237,339.02421924159,343.13292113612,348.87783040382,353.10595017045,357.38531136087,361.71653498009,367.77258074571,372.229687597,376.74081403286,381.30660995465,385.92774054592,392.38914286775,397.14458487807,401.95765903525,406.82906379475,413.640406907,418.65339720992,423.72714093867,428.86237189887,436.04260883433,441.32709511026,446.67562589029,452.08897683944,457.56793273834,465.22877230071,470.8669722571,476.57350267936,482.349191678,490.42492909292,496.36848628125,502.38407462043,508.4725670703,514.63484717027,523.2511306012],description:"53-tone 1/9-schisma meantone scale"},meanschis:{frequencies:[261.6255653006,275.81646505128,294.24573392894,310.20599265769,327.03195662575,348.88329767713,367.80716871461,392.38299382393,413.66634097248,436.10412364188,465.24335632603,490.47874118496,523.2511306012],description:"1/8-schisma temperament, Helmholtz"},meanschis7:{frequencies:[261.6255653006,275.84425785506,294.23387584933,310.2247482054,327.0846843223,348.89032888179,367.85164222246,392.37508610937,413.69968681881,436.18322603255,465.26210635182,490.54793493862,523.2511306012],description:"1/7-schisma linear temperament"},meanschis_17:{frequencies:[261.6255653006,275.81646505128,290.77709705464,294.24573392894,310.20599265769,327.03195662575,330.93307160522,348.88329767713,367.80716871461,372.19468374184,392.38299382393,413.66634097248,436.10412364188,441.30634506723,465.24335632603,490.47874118496,496.32958936031,523.2511306012],description:"17-tone 1/8-schisma linear temperament"},meansept:{frequencies:[261.6255653006,273.93523095528,292.67762672082,312.70235991264,327.41522444303,349.81667202162,366.27579142084,391.33604481052,409.74867679276,437.78330574787,467.73603562223,489.74334292241,523.2511306012],description:"Meantone scale with septimal diminished fifth"},meansept2:{frequencies:[261.6255653006,273.61459551034,286.15296204753,292.57963558274,305.98714063953,320.00886175336,327.19620693615,342.18982383643,349.87514759905,365.9082279648,382.67602660872,391.27063976147,409.20043831214,427.95210889573,437.56358849756,457.61500463173,478.58500343311,489.333659422,511.75744671018,523.2511306012],description:"Meantone scale with septimal neutral second"},meansept3:{frequencies:[261.6255653006,267.11515986718,271.23581508831,275.42019673559,281.19923906193,285.53716249988,289.94217244295,296.02592413073,300.59257160392,305.22982618403,309.9384746623,316.44180152381,321.32358037849,326.28048244956,333.12670774706,338.26588629419,343.48414905091,348.7829114007,356.10146388137,361.59490682213,367.17305499414,374.87731434423,380.66058361349,386.53284867747,394.643327573,400.73152907611,406.91341882127,413.19091223118,421.86074762795,428.36858751681,434.97682067587,444.1040384307,450.95501471222,457.91167766162,464.97592623609,474.73234784313,482.05581210758,489.49253462334,499.76337935275,507.47298512535,515.30182087389,523.2511306012],description:"Pythagorean scale with septimal minor third"},meansept4:{frequencies:[261.6255653006,266.94086705872,271.13211808455,275.38917613856,280.98410555769,285.39585012732,289.87686370457,295.76613145071,300.40996929954,305.12672026341,309.91752915454,316.21395200486,321.17884203959,326.22168604472,332.8493514236,338.07543464185,343.38355445704,348.77505435772,355.86092403367,361.44831302863,367.12342987925,374.58207334188,380.46340397682,386.43730087372,394.28810581018,400.47907310734,406.76701374557,413.15368163355,421.54749623588,428.16623317002,434.88889120201,443.72428802318,450.69091522486,457.76754776364,464.95497741911,474.40121026751,481.84980583512,489.41535214975,499.35853288878,507.19898454493,515.16253949886,523.2511306012],description:"Pythagorean scale with septimal narrow fourth"},meansev:{frequencies:[261.6255653006,275.93321340298,293.28595453555,311.72996498387,328.77769811601,349.45369437647,368.5644419122,391.74252566418,413.16594588103,439.14890519043,466.76586696593,492.29212632197,523.2511306012],description:"1/7-comma meantone scale, Jean-Baptiste Romieu (1755)"},meansev2:{frequencies:[261.6255653006,273.98141462199,292.76593693997,312.83835055233,327.61283758281,350.07440004945,366.60744235102,391.74252566418,410.24343789088,438.37026184168,468.42550014967,490.54793493862,524.18054130269],description:"Meantone scale with 1/7-comma stretched octave (stretched meansept)"},meansev_19:{frequencies:[261.6255653006,275.93321340298,278.07859353335,293.28589524255,309.32501829942,311.72996858511,328.77775508885,346.75764506664,349.4536277652,368.56443339655,371.42996022741,391.74260033637,413.16585280598,416.37814821359,439.14890011719,463.16493144882,466.76596133102,492.29202110912,496.11959049595,523.2511306012],description:"19 of 1/7-comma meantone scale"},meanseveb:{frequencies:[261.6255653006,276.822915312,293.45907344559,311.2600957924,329.2717708679,349.29792128041,369.56105314287,391.74259807358,414.53862252605,439.49286138442,466.19439430972,493.21190508606,523.2511306012],description:'"1/7-comma" meantone with equal beating fifths'},meansixth:{frequencies:[261.6255653006,275.36245350283,293.11247215425,312.00666699279,328.38886075091,349.55699144229,367.91095120397,391.62676241399,412.18948168074,438.75944753732,467.04212833931,491.56459996916,523.2511306012],description:"1/6-comma meantone scale (tritonic temperament of Salinas)"},meansixth_19:{frequencies:[261.6255653006,275.36245350283,278.49009641114,293.11247215425,308.50278723002,312.00666699279,328.38886075091,345.6314161331,349.55699144229,367.91095120397,372.08969287196,391.62676241399,412.18948168074,416.87124381956,438.75944753732,461.79691129422,467.04212833931,491.56459996916,517.37477513058,523.2511306012],description:"19 of 1/6-comma meantone scale"},meansixtheb:{frequencies:[261.6255653006,276.39673661379,293.31426069206,311.4574698476,328.96404447481,349.37515437283,369.07004939896,391.62674884124,413.78350416977,439.15979251365,466.37460465854,492.63446576705,523.2511306012],description:'"1/6-comma" meantone with equal beating fifths'},meansixthm:{frequencies:[261.6255653006,275.36250599118,293.11251278827,312.00669222389,328.38895179964,349.55706816887,367.91095120397,391.62667645325,414.52369088643,438.75941205608,467.04206359353,491.56462836305,523.2511306012],description:"modified 1/6-comma meantone scale, wolf spread over 2 fifths"},meansixthm2:{frequencies:[261.6255653006,276.14113065853,293.11251278827,310.24975557428,328.38895179964,349.55706816887,367.91095120397,391.62667645325,414.52380581681,438.75941205608,465.72523006308,491.56462836305,523.2511306012],description:"modified 1/6-comma meantone scale, wolf spread over 4 fifths"},meansixthpm:{frequencies:[261.6255653006,275.00020270933,293.00227310437,309.72478954314,328.14198392915,348.83408706747,367.49599295996,391.5530240856,412.50030385781,438.51190905657,465.11211608996,491.10256480205,523.2511306012],description:"modified 1/6P-comma temperament, French 18th century"},meansixthso:{frequencies:[261.6255653006,273.09145986506,292.50627485027,313.30134186202,327.03195662575,350.28154752005,365.63284274659,391.62667645325,408.78994578219,437.85193595173,468.98001879925,489.53334447372,524.3356019912],description:"1/6-comma meantone scale with 1/6-comma stretched oct, Dave Keenan TL 13-12-99"},meanstr:{frequencies:[261.6255653006,272.52663052146,292.30447317753,313.51763757869,326.58087306932,350.28154752005,364.87661266094,391.35649333595,407.66301227525,437.24799400905,468.98001879925,488.52085380073,523.97386302914],description:"Meantone with 1/9-comma stretched octave, Petr Parizek (2006)"},meanten:{frequencies:[261.6255653006,276.96346718799,293.59840699152,311.2324721493,329.47860040677,349.26769656434,369.74365294187,391.95114287501,414.92943551322,439.85086739936,466.26912673157,493.60433806962,523.2511306012],description:"1/10-comma meantone scale"},meanthird:{frequencies:[261.6255653006,271.40047399919,291.9012907804,313.95067836072,325.68056936328,350.28154752005,363.36884069528,390.81668391305,405.4184580124,436.04260883433,468.98001879925,486.50215045777,523.2511306012],description:"1/3-comma meantone scale (Salinas)"},meanthird_19:{frequencies:[261.6255653006,271.40047399919,281.38801176707,291.9012907804,302.80736724606,313.95067836072,325.68056936328,337.848714425,350.28154752005,363.36884069528,376.74081403286,390.81668391305,405.4184580124,420.33785775232,436.04260883433,452.33412516107,468.98001879925,486.50215045777,504.40543017669,523.2511306012],description:"Complete 1/3-comma meantone scale"},meanthirdeb:{frequencies:[261.6255653006,273.41679662438,292.30169912182,312.83755546226,326.81234905863,349.91518709086,365.63683018302,390.81669745772,408.5035451685,436.83089868331,467.63468237516,488.59687355467,523.2511306012],description:'"1/3-comma" meantone with equal beating fifths'},meanvar1:{frequencies:[261.6255653006,274.22463192287,292.50627485027,312.00669222389,327.03195662575,349.55706816887,366.3906401674,391.22147055517,410.48618883318,437.39890198442,467.04206359353,489.53334447372,523.2511306012],description:"Variable meantone 1: C-G-D-A-E 1/4, others 1/6"},meanvar2:{frequencies:[261.6255653006,274.19219069011,292.50627485027,312.04360750473,327.03195662575,349.70184487387,366.23895640989,391.22147055517,410.65012590831,437.39890198442,467.23549927892,489.3306802979,523.2511306012],description:"Variable meantone 2: C..E 1/4, 1/5-1/6-1/7-1/8 outward both directions"},meanvar3:{frequencies:[261.6255653006,275.36250599118,292.50627485027,310.71739423852,327.03195662575,349.55706816887,367.15000817177,391.22147055517,413.04376116614,437.39890198442,466.0760911248,489.53334447372,523.2511306012],description:"Variable meantone 3: C..E 1/4, 1/6 next, then Pyth."},meanvar4:{frequencies:[261.6255653006,275.07759559501,292.50627485027,311.03921839762,327.03195662575,349.91912034749,366.77012764335,391.22147055517,412.61639318626,437.39890198442,466.55882736321,489.02683710225,523.2511306012],description:"Variable meantone 4: naturals 1/4-comma, accidentals Pyth."},mediant16:{frequencies:[261.6255653006,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,470.92601754108,523.2511306012],description:"Mediant doubling of octave done four times"},mercadier:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.42509491746,328.14198392915,349.22823143301,368.74309237173,391.5530240856,413.90012676351,438.51190905657,465.63764214343,492.21297564769,523.2511306012],description:"Mercadier's well-temperament (1777), 1/12 and 1/6 Pyth. comma"},mercadier2:{frequencies:[261.6255653006,276.14388692511,292.95319623755,310.40895756597,328.03206784165,349.20805980193,368.45885450371,391.49761638186,413.86785247997,438.37641748302,465.57175090792,491.63473786767,523.2511306012],description:"Mercadier de Belestas (1776)"},mercator:{frequencies:[261.6255653006,272.09448029963,279.3054110864,290.48161516351,306.08206748155,318.32990397837,326.76614606023,335.42596179815,348.84778913489,362.80689075348,372.42184279259,387.32403355801,408.12545368833,418.94141877379,435.70530841001,453.13974129598,465.14865565404,490.12996697565,509.74216322321,523.2511306012],description:"19 out of 53-tET, see Mandelbaum p. 331"},merrick:{frequencies:[261.6255653006,278.62147458377,295.28844751169,312.94924079019,329.91874474504,349.29981986967,371.62722343835,394.01440557319,416.60121863153,438.96906929631,468.0242659544,493.6331420766,523.2511306012],description:"A. Merrick's melodically tuned equal temperament (1811)"},mersen_l1:{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Mersenne lute 1"},mersen_l2:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Mersenne lute 2"},mersen_s1:{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Mersenne spinet 1"},mersen_s2:{frequencies:[261.6255653006,272.52663052146,294.32876096318,306.59245933664,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Mersenne spinet 2"},mersenmt1:{frequencies:[261.6255653006,273.37431312998,292.50627485027,311.03921839762,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,466.55882736321,489.02683710225,523.2511306012],description:"Mersenne's Improved Meantone 1"},mersenmt2:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.11326130363,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Mersenne's Improved Meantone 2"},mersenne:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,310.07474405997,313.95067836072,322.99452506247,327.03195662575,340.65828815182,344.52749339997,348.83408706747,363.36884069528,367.91095120397,372.08969287196,376.74081403286,387.59343007496,392.4383479509,408.78994578219,413.43299207996,418.60090448096,430.65936674996,436.04260883433,454.2110508691,459.88868900496,465.11211608996,470.92601754108,484.4917875937,490.54793493862,510.98743222773,523.2511306012],description:"31-note choice system of Mersenne, Harmonie universelle (1636)"},meyer:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Max Meyer, see Doty, David, 1/1 August 1992 (7:4) p.1 and 10-14"},meyer_29:{frequencies:[261.6255653006,268.26840191956,275.93321340298,286.15296204753,289.72987407313,294.32876096318,306.59245933664,321.92208230347,327.03195662575,331.11985608357,343.38355445704,344.91651675372,357.69120255941,367.91095120397,372.50983809402,383.2405741708,386.30649876417,392.4383479509,408.78994578219,413.89982010446,429.2294430713,441.49314144476,457.84473927605,459.88868900496,482.88312345521,490.54793493862,496.67978412536,510.98743222773,515.07533168556,523.2511306012],description:"Max Meyer, see Doty, David, 1/1 August 1992 (7:4) p.1 and 10-14"},mid_enh1:{frequencies:[261.6255653006,269.10058145205,336.37572681506,348.83408706747,392.4383479509,403.65087217807,504.56359022259,523.2511306012],description:"Mid-Mode1 Enharmonic, permutation of Archytas's with the 5/4 lying medially"},mid_enh2:{frequencies:[261.6255653006,271.31540105247,339.14425131559,348.83408706747,392.4383479509,406.97310157871,508.71637697339,523.2511306012],description:"Permutation of Archytas' Enharmonic with the 5/4 medially and 28/27 first"},miller19:{frequencies:[261.6255653006,271.16557874802,283.07475767856,293.39690257971,304.09543631541,315.18408718336,326.67707691855,338.58915326012,350.93559605343,363.73224209988,376.99551198295,390.74241649248,407.9032302438,422.77716528297,438.1934715504,454.17192383337,470.73301771751,487.89800430439,505.68889852562,524.12852955557],description:"TOP tempered nr. 64 [1202.9, 570.4479508], 7-limit {225/224, 1029/1000}"},miller7:{frequencies:[261.6255653006,274.70684356563,294.32876096318,313.95067836072,329.64821227876,353.19451315581,366.27579142084,392.4383479509,412.06026534844,439.53094970501,470.92601754108,494.47231841813,523.2511306012],description:"Herman Miller, 7-limit JI. mode of parizek_ji1"},miller_12:{frequencies:[261.6255653006,273.36657578691,291.63627719304,313.29104303136,327.35065305942,349.22823143301,364.90060015836,391.99543598175,418.19337019276,436.9606979923,456.57025003029,487.08386390194,523.2511306012],description:"Herman Miller, scale with appr. to three 7/4 and one 11/8. Tuning List 19-11-99"},miller_12a:{frequencies:[261.6255653006,273.46133384191,291.68681828778,313.23675853409,327.40738352015,349.22823143301,365.02708698668,391.99543598175,418.12090908234,437.03642407223,456.80766452229,487.25270356141,523.85596330884],description:'Herman Miller, "Starling" scale, alternative version TL 25-11-99'},miller_12r:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,454.2110508691,484.4917875937,523.2511306012],description:'Herman Miller, "Starling" scale rational version'},miller_ar1:{frequencies:[261.6255653006,276.1828093671,293.13465239421,310.07474405997,327.9937953665,348.83408706747,368.24374600687,391.64146650178,414.27421384356,438.21489534465,465.11211608996,490.99166158792,523.2511306012],description:'Herman Miller, "Arrow I" well-temperament'},miller_ar2:{frequencies:[261.6255653006,276.1828093671,293.13465239421,310.2849072826,328.2161033156,349.07052034394,368.24374600687,391.64146650178,414.27421384356,438.51190905657,465.42736069124,491.32444638706,523.2511306012],description:'Herman Miller, "Arrow II" well-temperament'},miller_b1:{frequencies:[261.6255653006,276.37000081643,292.93610587951,310.49521248455,328.2161033156,348.83408706747,368.4933346061,391.64146650178,413.993616853,438.80912407872,465.11211608996,491.32444638706,523.2511306012],description:'Herman Miller, "Butterfly I" well-temperament'},miller_b2:{frequencies:[261.6255653006,276.55731914056,293.13465239421,310.70566022736,328.2161033156,349.07052034394,368.74309237173,392.17254067411,414.27421384356,439.10654054756,465.42736069124,491.99069280383,523.2511306012],description:'Herman Miller, "Butterfly II" well-temperament'},miller_bug:{frequencies:[261.6255653006,275.99574470663,292.73769384471,310.49521248455,327.54963108844,348.83408706747,368.4933346061,391.64146650178,413.993616853,437.62147130622,465.11211608996,491.32444638706,523.2511306012],description:'Herman Miller, "Bug I" well-temperament'},miller_dim:{frequencies:[261.6255653006,272.37088095799,275.97178311718,291.10467300644,307.06737543415,311.12698372208,323.9053895548,328.18760802294,346.1837483498,365.1667076515,369.99442271164,385.1905938463,390.2830385166,411.68417663589,434.25884690128,440,458.07139483414,464.12736626882,489.57775198944,516.42371048788,523.2511306012],description:"Diminished temperament, g=92.421, oct=1/4, 7-limit"},miller_nikta:{frequencies:[261.6255653006,272.78230567952,282.82337239762,292.30660227893,305.1368529352,315.1779191367,326.89249731477,341.39626079795,349.76381456689,364.82541608424,379.88701473,391.60159255926,407.77886614283,422.28262813098,436.22855406869,456.86852448015,469.69877536137,488.10739794888,508.74736733766,523.2511306012],description:'Herman Miller, 19-tone scale of "Nikta". Tuning List 22-1-99'},miller_sp:{frequencies:[261.6255653006,276.74268633071,292.73329748773,304.15432597486,321.72882314722,340.31880135827,353.5963846,374.02771873076,395.63960626236,411.07553805605,434.82810464551,459.95313047266,477.89826295658,505.51194770063,525.23456349057],description:"Herman Miller, Superpelog temperament, TOP tuning"},minor_5:{frequencies:[261.6255653006,299.00064605783,348.83408706747,418.60090448096,465.11211608996,523.2511306012],description:"A minor pentatonic"},minor_clus:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,348.83408706747,353.19451315581,372.08969287196,392.4383479509,418.60090448096,441.49314144476,465.11211608996,470.92601754108,523.2511306012],description:"Chalmers' Minor Mode Cluster, Genus [333335]"},minor_wing:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Chalmers' Minor Wing with 7 minor and 6 major triads"},minortone:{frequencies:[261.6255653006,264.87670583656,269.18630372462,273.56601964703,276.96554054138,281.47182622933,286.05143175444,290.70554674078,294.31805527354,299.10666990622,303.97319627313,307.75057781118,312.75774231814,317.84637624619,323.01780144749,327.03184444407,332.35271908155,337.76016543181,341.95740725719,347.52112383796,353.17536321933,358.9216002989,363.3818066762,369.29410472703,375.30259493676,379.96636500161,386.14849505708,392.43120962619,398.81614754309,403.7721109712,410.34156772664,417.0179085097,422.20006196255,429.06934285921,436.05038835349,443.14501943782,448.65184388114,455.95150328441,463.36992699746,469.12808274602,476.76089208744,484.51788878959,492.4010934061,498.52001054206,506.63103252794,514.8740254656,523.2511306012],description:"Minortone temperament, g=182.466089, 5-limit"},miracle1:{frequencies:[261.6255653006,266.71173418545,279.86396690685,285.30470202322,299.37379946195,305.19382000629,320.24370022528,326.46944327063,342.56848033562,349.22823143301,366.44956000397,373.57357677338,391.99543598175,399.61607881612,419.32216217931,427.47405410759,448.5538823653,457.27406033445,479.82340237272,489.15147723638,513.27277840175,523.2511306012],description:'21 out of 72-tET Pyth. scale "Miracle/Blackjack", Keenan & Erlich, TL 2-5-2001'},miracle1a:{frequencies:[261.6255653006,266.57640943865,279.87817034289,285.17441410431,299.40418912991,305.0699313594,320.29246281951,326.35348199782,342.63803067389,349.1219037468,366.54256247747,373.47879032775,392.11482112276,399.53496279579,419.47115746916,427.40897376302,448.73603972606,457.22764679928,480.04261976898,489.12665346498,513.5333359992,523.2511306012],description:"Version of Blackjack with just 11/8 intervals"},miracle2:{frequencies:[261.6255653006,266.71172956369,274.52699087907,279.86396690685,285.30469707927,293.66477470251,299.3738011912,305.19381471768,314.13668880034,320.24370207508,326.46943949911,336.03573785931,342.56848231438,349.22822739856,359.4614100947,366.44956423737,373.57357245769,380.83607584373,391.99544051026,399.61607650784,407.38486242506,419.32216702351,427.4740516384,435.78441397758,448.55389013814,457.27405769313,466.16375074742,479.82341068742,489.15147723638,498.66088722045,513.27278729609,523.2511306012],description:'31 out of 72-tET Pythagorean scale "Miracle/Canasta", tempered Fokker-M, 36 7-limit tetrads'},miracle24:{frequencies:[261.6255653006,266.71173418545,274.52698453615,279.86396690685,285.30470202322,299.37379946195,305.19382000629,320.24370022528,326.46944327063,342.56848033562,349.22823143301,366.44956000397,373.57357677338,391.99543598175,399.61607881612,419.32216217931,427.47405410759,448.5538823653,457.27406033445,466.16376151809,479.82340237272,489.15147723638,498.66089874196,513.27277840175,523.2511306012],description:"Miracle[24] in 72-tET tuning."},miracle2a:{frequencies:[261.6255653006,266.57640943865,274.68028654691,279.87817034289,285.17441410431,293.84366906071,299.40418912991,305.0699313594,314.34400674513,320.29246281951,326.35348199782,336.27457379784,342.63803067389,349.1219037468,359.73515228832,366.54256247747,373.47879032775,380.54627680087,392.11482112276,399.53496279579,407.09552105481,419.47115746916,427.40897376302,435.49700296564,448.73603972606,457.22764679928,465.87994655565,480.04261976898,489.12665346498,498.38259075187,513.5333359992,523.2511306012],description:"Version of Canasta with just 11/8 intervals"},miracle3:{frequencies:[261.6255653006,266.71172956369,271.8967720342,274.52699087907,279.86396690685,285.30469707927,290.85119844166,293.66477470251,299.3738011912,305.19381471768,311.12697293924,314.13668880034,320.24370207508,326.46943949911,332.81620914398,336.03573785931,342.56848231438,349.22822739856,356.01744208336,359.4614100947,366.44956423737,373.57357245769,380.83607584373,384.52012922913,391.99544051026,399.61607650784,407.38486242506,411.32573797959,419.32216702351,427.4740516384,435.78441397758,440.00001524924,448.55389013814,457.27405769313,466.16375074742,470.67322937359,479.82341068742,489.15147723638,498.66088722045,503.48472993456,513.27278729609,523.2511306012],description:'41 out of 72-tET Pythagorean scale "Miracle/Studloco", Erlich/Keenan 2001'},miracle31s:{frequencies:[261.6255653006,266.63636836248,274.61234258734,279.87187586531,285.23214274484,293.7643779857,299.39072204343,305.12482507342,314.2521161294,320.27085311289,326.40486440328,336.1687117034,342.60720791066,349.16901789451,359.61381619398,366.50134650551,373.52079096839,380.6746756467,392.06191220286,399.57090708206,407.22371854314,419.40512463865,427.43781242392,435.62434685833,448.6553095271,457.24821364991,466.00569400686,479.94546308962,489.13765420145,498.50589943595,513.41785698047,523.2511306012],description:"Canasta with Secor's minimax generator of 116.7155941 cents (5:9 exact). XH5, 1976"},miracle3a:{frequencies:[261.6255653006,266.57640943865,271.6209387912,274.68028654691,279.87817034289,285.17441410431,290.57088243021,293.84366906071,299.40418912991,305.0699313594,310.84289043406,314.34400674513,320.29246281951,326.35348199782,332.52919812642,336.27457379784,342.63803067389,349.1219037468,355.72847573316,359.73515228832,366.54256247747,373.47879032775,380.54627680087,384.83248369581,392.11482112276,399.53496279579,407.09552105481,411.6807594913,419.47115746916,427.40897376302,435.49700296564,440.40213577526,448.73603972606,457.22764679928,465.87994655565,471.12729153307,480.04261976898,489.12665346498,498.38259075187,503.99602271809,513.5333359992,523.2511306012],description:"Version of Studloco with just 11/8 intervals"},miracle3ls:{frequencies:[261.6255653006,266.8561524992,272.19132869617,274.36355553357,279.84880885615,285.44374339214,291.1505189834,293.47406686496,299.34138986722,305.32601617869,311.43030899178,313.91568307924,320.1916880693,326.59318586748,333.12264767748,335.78115718319,342.4943108472,349.34167821305,356.32594256772,359.16962765504,366.35037871957,373.67471357934,381.14545968569,384.18721873359,391.86813762951,399.70261841457,407.69373119716,410.94736065575,419.16328558448,427.54349328421,436.09121881038,439.57145109254,448.35967321435,457.32356924795,466.46667727785,470.18934850506,479.58967749961,489.177972196,498.95793401383,502.93987502638,512.99500332159,523.2511306012],description:"Miracle-41 in a 7-limit least-squares tuning, Gene Ward Smith, 2001"},miracle3p:{frequencies:[261.6255653006,266.34679554672,270.06721067987,274.94077677072,279.90228841312,284.95333588433,290.09553330897,294.14767822015,299.45579274291,304.85969791727,310.36112062791,314.69634158508,320.37527393455,326.15668500873,332.04242788125,336.6805001021,342.75615313904,348.94144590806,355.2383548887,360.20043713509,366.70052302062,373.3179099666,380.0547104455,385.36343543368,392.31760641523,399.39727291251,406.60469732047,412.28427858225,419.7242587073,427.29849640545,435.00941939202,441.0857666732,449.04549132915,457.14885520764,465.39844769831,471.89927840742,480.41505607532,489.08450736089,497.91040254418,504.86537329764,513.97604599191,523.2511306012],description:"Least squares Pythagorean approximation to partch_43"},miracle41s:{frequencies:[261.6255653006,266.63636836248,269.45164985995,274.61234258734,279.87187586531,285.23214274484,290.69507255622,293.7643779857,299.39072204343,305.12482507342,310.96875093738,314.2521161294,320.27085311289,326.40486440328,332.65635780028,336.1687117034,342.60720791066,349.16901789451,355.85650343121,359.61381619398,366.50134650551,373.52079096839,380.6746756467,384.69403121132,392.06191220286,399.57090708206,407.22371854314,411.52339231679,419.40512463865,427.43781242392,435.62434685833,440.22388881539,448.6553095271,457.24821364991,466.00569400686,470.92601754108,479.94546308962,489.13765420145,498.50589943595,503.76937659657,513.41785698047,523.2511306012],description:"StudLoco with Secor's minimax generator of 116.7155941 cents (5:9 exact). XH5, 1976"},miracle_12:{frequencies:[261.6255653006,279.86396690685,299.37379946195,320.24370022528,336.03572815422,342.56848033562,359.46139971304,366.44956000397,384.52011812375,411.32572372413,440,470.6732130613,523.2511306012],description:"A 12-tone subset of Blackjack with six 4-7-9-11 tetrads"},miracle_12a:{frequencies:[261.6255653006,279.86396690685,299.37379946195,320.24370022528,342.56848033562,366.44956000397,391.99543598175,419.32216217931,448.5538823653,479.82339960115,489.15147723638,513.27277840175,523.2511306012],description:"A 12-tone chain of Miracle generators and subset of Blackjack"},"24erlich-keenan":{frequencies:[261.6255653006,266.71173469898,279.86396636799,285.30470202322,290.8512090818,299.37380003836,305.19381941867,320.24370022528,326.46944389922,342.56847967604,349.22823143301,356.01745305102,366.44956070954,373.5735760541,391.99543598175,399.61607958554,407.38487340641,419.32216137194,427.47405410759,448.55388322895,457.27405945401,479.82340237272,489.15147817819,498.66089778183,523.2511306012],description:"24 note mapping for Erlich/Keenan Miracle scale low version, tuned to 72-equal"},miracle_8:{frequencies:[261.6255653006,279.86396690685,314.13668154225,336.03572815422,366.44956000397,391.99543598175,419.32216217931,448.5538823653,523.2511306012],description:"tet3a in 72-et"},miring1:{frequencies:[261.6255653006,285.29448470177,307.6953604706,387.15515639797,420.96788906714,523.2511306012],description:"Gamelan Miring from Serdang wetan, Tangerang. 1/1=309.5 Hz"},miring2:{frequencies:[261.6255653006,279.34865171253,304.66723527068,384.42070010042,412.69311132744,523.2511306012],description:"Gamelan Miring (Melog gender) from Serdang wetan"},misca:{frequencies:[261.6255653006,274.70684356563,289.16509849014,305.22982618403,348.83408706747,392.4383479509,412.06026534844,433.74764773521,457.84473927605,523.2511306012],description:"21/20 x 20/19 x 19/18=7/6 7/6 x 8/7=4/3"},miscb:{frequencies:[261.6255653006,269.80136421624,278.50463402967,319.76457981184,348.83408706747,392.4383479509,404.70204632437,417.75695104451,479.64686971777,523.2511306012],description:"33/32 x 32/31x 31/27=11/9 11/9 x 12/11=4/3"},miscc:{frequencies:[261.6255653006,276.00059636107,292.04714266113,310.07474405997,348.83408706747,392.4383479509,414.00089454161,438.0707139917,465.11211608996,523.2511306012],description:"96/91 x 91/86 x 86/54=32/27. 32/27 x 9/8=4/3."},miscd:{frequencies:[261.6255653006,271.68808704293,282.55561052465,294.32876096318,348.83408706747,392.4383479509,407.5321305644,423.83341578697,441.49314144476,523.2511306012],description:"27/26 x 26/25 x 25/24=9/8. 9/8 x 32/27=4/3."},misce:{frequencies:[261.6255653006,280.31310567921,301.87565226992,327.03195662575,348.83408706747,392.4383479509,420.46965851882,452.81347840488,490.54793493862,523.2511306012],description:"15/14 x 14/13 x 13/12=5/4. 5/4 x 16/15= 4/3."},miscf:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,378.42269266694,392.4383479509,406.97310157871,418.60090448096,504.56359022259,523.2511306012],description:"SupraEnh1"},miscg:{frequencies:[261.6255653006,271.31540105247,279.06726965397,336.37572681506,348.83408706747,392.4383479509,406.97310157871,418.60090448096,504.56359022259,523.2511306012],description:"SupraEnh 2"},misch:{frequencies:[261.6255653006,271.31540105247,279.06726965397,336.37572681506,348.83408706747,392.4383479509,406.97310157871,490.54793493862,504.56359022259,523.2511306012],description:"SupraEnh 3"},misty:{frequencies:[261.6255653006,268.57642185399,270.57706033988,272.59260010205,274.62315370363,276.66883458144,284.01936005382,286.13503371773,288.26646546986,290.41377434565,292.57708030445,300.35025535204,302.58757688062,304.84156607104,307.11234355974,309.40003795144,311.70477168653,319.9861304005,322.36972224007,324.77106769218,327.19030275625,329.62755691287,338.38508739928,340.90573394089,343.44515491415,346.00349213972,348.58088853904,357.84197030948,360.50755209334,363.19298782427,365.89842747751,368.62402219236,378.41760905933,381.23645754858,384.07630597582,386.93730633346,389.81962065329,392.72340320054,403.157261366,406.16039889903,409.18590458221,412.23394976407,415.30469757995,426.33849458487,429.51431022199,432.71378016074,435.93708308397,439.18439906139,450.85263092877,454.21105352848,457.59449053401,461.00313090234,464.43716505707,476.77631130474,480.3278378528,483.9058226648,487.51045723915,491.14194572312,494.80048247871,507.94632001299,511.73003620658,515.54193450341,519.38223078906,523.2511306012],description:"Misty temperament, g=96.787939, p=400, 5-limit"},mistyschism:{frequencies:[261.6255653006,278.75251614148,294.32876096318,310.42486507835,330.74639366397,348.83408706747,372.08969287196,392.4383479509,418.12877421223,440.99519155196,465.63729761752,496.11959049595,523.2511306012],description:"Mistyschism scale 32805/32768 and 67108864/66430125"},mixed9_3:{frequencies:[261.6255653006,273.20871865617,285.30470202322,311.12698372208,349.22823143301,391.99543598175,409.35055662695,427.47405410759,466.16376151809,523.2511306012],description:"A mixture of the hemiolic chromatic and diatonic genera, 75 + 75 + 150 + 200 c"},mixed9_4:{frequencies:[261.6255653006,271.89678302796,282.57123920205,305.19382000629,349.22823143301,391.99543598175,407.38487419079,423.37848741825,457.27406033445,523.2511306012],description:'Mixed enneatonic 4, each "tetrachord" contains 67 + 67 + 133 + 233 cents.'},mixed9_5:{frequencies:[261.6255653006,277.18263097687,293.66476791741,329.62755691287,349.22823143301,391.99543598175,415.30469757995,440,493.88330125613,523.2511306012],description:"A mixture of the intense chromatic genus and the permuted intense diatonic"},mixed9_6:{frequencies:[261.6255653006,277.18263097687,293.66476791741,311.12698372208,349.22823143301,391.99543598175,415.30469757995,440,466.16376151809,523.2511306012],description:"Mixed 9-tonic 6, Mixture of Chromatic and Diatonic"},mixed9_7:{frequencies:[261.6255653006,277.18263097687,311.12698372208,329.62755691287,349.22823143301,391.99543598175,415.30469757995,466.16376151809,493.88330125613,523.2511306012],description:"Mixed 9-tonic 7, Mixture of Chromatic and Diatonic"},mixed9_8:{frequencies:[261.6255653006,293.66476791741,311.12698372208,329.62755691287,349.22823143301,391.99543598175,440,466.16376151809,493.88330125613,523.2511306012],description:"Mixed 9-tonic 8, Mixture of Chromatic and Diatonic"},mixol_chrom:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,311.12229387098,319.76457981184,359.73515228832,411.12588832951,426.35277308246,434.39716502741,442.75095666255,479.64686971777,523.2511306012,548.16785110602,575.57624366132,605.86973016981,622.24458774197,639.52915962369,719.47030457665,822.25177665903,852.70554616492,868.79433005482,885.50191332511,959.29373943553,1046.5022612024],description:"Mixolydian chromatic tonos"},mixol_chrom2:{frequencies:[261.6255653006,271.31540105247,281.75060878526,332.97799220076,366.27579142084,385.55346465352,406.97310157871,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the chromatic genus"},mixol_chrominv:{frequencies:[261.6255653006,279.06726965397,299.00064605783,373.75080757229,411.12588832951,429.81342870813,448.50096908674,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Mixolydian inverted"},mixol_diat:{frequencies:[261.6255653006,274.08392555301,287.78812183066,319.76457981184,338.57426097725,359.73515228832,383.71749577421,411.12588832951,442.75095666255,460.46099492906,479.64686971777,500.50108144463,523.2511306012,548.16785110602,575.57624366132,639.52915962369,677.14852195449,719.47030457665,767.43499154843,822.25177665903,885.50191332511,920.92198985811,959.29373943553,1001.00216288925,1046.5022612024],description:"Mixolydian diatonic tonos"},mixol_diat2:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,348.83408706747,366.27579142084,406.97310157871,457.84473927605,523.2511306012],description:"Schlesinger's Mixolydian Harmonia, a subharmonic series though 13 from 28"},mixol_diatcon:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"A Mixolydian Diatonic with its own trite synemmenon replacing paramese"},mixol_diatinv:{frequencies:[261.6255653006,299.00064605783,336.37572681506,348.83408706747,411.12588832951,448.50096908674,485.87604984397,523.2511306012],description:"A Mixolydian Diatonic with its own trite synemmenon replacing paramese"},mixol_diatinv2:{frequencies:[261.6255653006,299.00064605783,336.37572681506,348.83408706747,373.75080757229,411.12588832951,448.50096908674,485.87604984397,523.2511306012],description:"Inverted Schlesinger's Mixolydian Harmonia, a harmonic series from 14 from 28"},mixol_enh:{frequencies:[261.6255653006,274.08392555301,287.78812183066,295.1673044417,299.00064605783,302.93486508491,348.83408706747,411.12588832951,418.60090448096,422.44127975143,426.35277308246,469.85815809087,523.2511306012,548.16785110602,575.57624366132,590.33460888341,598.00129211566,605.86973016981,697.66817413493,822.25177665903,837.20180896192,844.88255950285,852.70554616492,939.71631618175,1046.5022612024],description:"Mixolydian Enharmonic Tonos"},mixol_enh2:{frequencies:[261.6255653006,266.38239376061,271.31540105247,332.97799220076,366.27579142084,375.66747838035,385.55346465352,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the enharmonic genus"},mixol_enhinv:{frequencies:[261.6255653006,270.34641747729,279.06726965397,373.75080757229,411.12588832951,420.46965851882,429.81342870813,523.2511306012],description:"A harmonic form of Schlesinger's Mixolydian inverted"},mixol_penta:{frequencies:[261.6255653006,269.32043486826,281.75060878526,332.97799220076,366.27579142084,381.53728273004,406.97310157871,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the pentachromatic genus"},mixol_pis:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,411.12588832951,442.75095666255,479.64686971777,523.2511306012,548.16785110602,575.57624366132,639.52915962369,719.47030457665,822.25177665903,885.50191332511,959.29373943553,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Mixolydian Tonos"},mixol_tri1:{frequencies:[261.6255653006,268.0066766494,274.70684356563,332.97799220076,366.27579142084,378.90599112501,392.4383479509,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the first trichromatic genus"},mixol_tri2:{frequencies:[261.6255653006,268.0066766494,281.75060878526,332.97799220076,366.27579142084,378.90599112501,406.97310157871,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the second trichromatic genus"},mmmgeo1:{frequencies:[261.6255653006,291.52662303231,317.822348206,348.40303271111,392.9238840789,423.23948674937,463.96335069158,523.2511306012],description:"Scale for MakeMicroMusic in Peppermint 24, maybe a bit like Georgian tunings"},mmmgeo2:{frequencies:[261.6255653006,295.05751399041,323.4477810403,352.62279726972,392.9238840789,430.73079539701,485.77193724523,529.58860866211],description:"Scale for MakeMicroMusic in Peppermint 24, maybe a bit like Georgian tunings"},mmmgeo3a:{frequencies:[261.6255653006,281.81099471089,317.822348206,348.40303271111,392.9238840789,423.23948674937,463.96335069158,523.2511306012],description:'Peppermint 24 scale for MakeMicroMusic, maybe a bit "Georgian-like"?'},mmmgeo4a:{frequencies:[261.6255653006,281.81099471089,317.822348206,348.40303271111,392.9238840789,423.23948674937,477.32335087626,523.2511306012],description:'Peppermint 24 scale for MakeMicroMusic, maybe a bit "Georgian-like"?'},mmmgeo4b:{frequencies:[261.6255653006,295.05751399041,323.4477810403,348.40303271111,392.9238840789,430.73079539701,485.77193724523,523.2511306012],description:'Peppermint 24 scale for MakeMicroMusic, maybe a bit "Georgian-like"?'},mmswap:{frequencies:[261.6255653006,251.16054268858,294.32876096318,282.55561052465,313.95067836072,348.83408706747,353.19451315581,392.4383479509,376.74081403286,418.60090448096,423.83341578697,470.92601754108,523.2511306012],description:"Swapping major and minor in 5-limit JI"},mokhalif:{frequencies:[261.6255653006,293.66476791741,329.62755691287,349.22823143301,391.99543598175,425.01198472693,477.05982293263,523.2511306012],description:"Iranian mode Mokhalif from C"},montvallon:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Montvallon's Monochord, Nouveau sisteme de musique (1742)"},monzismic:{frequencies:[261.6255653006,265.20988799749,268.52946324281,272.20837072565,275.61554447717,279.39153269358,282.88861654172,286.76424730356,290.69297498385,294.33151655947,298.3639173457,302.09847446042,306.23728412706,310.07039048391,314.31841699833,318.25267316085,322.61279858837,327.03265671938,331.12605620426,335.66254762155,339.86396564906,344.52016812641,348.83245514045,353.61152766937,358.03760933268,362.94279426564,367.48567344471,372.52029869489,377.62390147213,382.35053879638,387.58881783384,392.44018387738,397.81669307529,402.79607923799,408.31446627855,413.42525081527,419.08925963743,424.33490995001,430.14838328955,436.04150237937,441.49934027584,447.54796975207,453.14983163098,459.35807517454,465.10776160818,471.47983118983,477.38124304179,483.92146177974,489.97860285142,496.69140794435,503.49617981289,509.7983334288,516.78267280423,523.2511306012],description:"Monzismic temperament, g=249.018448, 5-limit"},sevengroups:{frequencies:[261.6255653006,261.6255653006,275.62199471997,265.19499215873,270.69536599394,266.7406479561],description:"Here are some suggestions for a logical system encompassing intervals into seven broad groups: skhisma, kleisma, comma,"},"monzo-sym-11":{frequencies:[261.6255653006,269.80136421624,276.76092858245,279.06726965397,285.40970760065,286.15296204753,287.78812183066,294.32876096318,299.00064605783,304.4370214407,305.22982618403,313.95067836072,314.76825825228,327.03195662575,332.97799220076,334.88072358477,341.71502406609,343.38355445704,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,398.6675280771,400.61414686654,408.78994578219,411.12588832951,418.60090448096,434.91003062957,436.04260883433,448.50096908674,449.66894036041,457.84473927605,465.11211608996,475.68284600109,478.40103369253,479.64686971777,490.54793493862,494.63583439645,507.3950357345,523.2511306012],description:"Monzo symmetrical system: 11-limit"},"monzo-sym-5":{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,334.88072358477,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Monzo symmetrical system: 5-limit"},"monzo-sym-7":{frequencies:[261.6255653006,279.06726965397,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,334.88072358477,341.71502406609,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,398.6675280771,400.61414686654,408.78994578219,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,478.40103369253,490.54793493862,523.2511306012],description:"Monzo symmetrical system: 7-limit"},monzo_sumerian_2place12:{frequencies:[261.6255653006,277.17835052447,293.68632213351,311.15032543183,329.66469551353,349.22211163595,369.93402791915,391.94841243536,415.27867508032,439.91220695103,466.03267445926,493.6331420766,523.2511306012],description:"Monzo - most accurate 2-place sexagesimal 12-tET approximation"},monzo_sumerian_simp12:{frequencies:[261.6255653006,277.34158865788,293.41184893525,310.84225580269,329.78012432849,348.83408706747,370.22485655745,392.4383479509,415.27867508032,440.11777340288,466.26338370404,493.6331420766,523.2511306012],description:"Monzo - simplified 2-place sexagesimal 12-tET approximation"},morgan:{frequencies:[261.6255653006,277.18263097687,294.07958763262,310.86358783941,330.18637907377,349.03110370139,370.30791823326,392.32757291716,415.07027187895,440.74593809176,465.76911360306,494.58094207912,523.2511306012],description:"Augustus de Morgan's temperament (1843)"},"mos11-34":{frequencies:[261.6255653006,272.51337835337,301.75671459889,314.3146261019,348.04364484358,362.52783176564,377.61479489998,418.13653788176,435.53771116377,453.66305442345,502.34551296122,523.2511306012],description:"Wilson 11 of 34-tET, G=9, Chain of minor & major thirds with Kleismatic fusion"},"mos12-17":{frequencies:[261.6255653006,272.51337835337,283.85429714132,307.97166902637,320.78822215662,348.04364484358,362.52783176564,377.61479489998,409.69842558521,426.7484383229,463.0066556268,482.27514684959,523.2511306012],description:"MOS 12 of 17, generator 7"},"mos12-22":{frequencies:[261.6255653006,287.56082683758,296.76515515861,326.18384711731,336.62443200122,347.39920007397,381.83730669135,394.05926325844,433.12283887627,446.9863572706,491.29666030217,507.02222283506,523.2511306012],description:"MOS 12 of 22, contains nearly just, recognizable diatonic, and pentatonic scales"},"mos13-22":{frequencies:[261.6255653006,278.64197723942,296.76515515861,316.06708432391,326.18384711731,347.39920007397,369.99442271164,381.83730669135,406.67242132093,433.12283887627,446.9863572706,476.05883716226,507.02222283506,523.2511306012],description:"MOS 13 of 22, contains 5 and 9 tone MOS as well. G=5 or 17"},"mos15-22":{frequencies:[261.6255653006,278.64197723942,287.56082683758,306.26409645618,316.06708432391,336.62443200122,347.39920007397,369.99442271164,381.83730669135,406.67242132093,419.68930726506,446.9863572706,461.29362042034,491.29666030217,507.02222283506,523.2511306012],description:"MOS 15 in 22, contains 7 and 8 tone MOS as well. G= 3 or 19"},moscow:{frequencies:[261.6255653006,277.4816141504,293.64820765919,311.48626315692,329.67368081467,349.7414907984,370.88289054572,392.4383479509,416.22242101754,440.4723112686,467.22939450183,494.51052097482,523.2511306012],description:"Charles E. Moscow's equal beating piano tuning (1895)"},mundeuc45:{frequencies:[261.6255653006,267.57160087561,269.80136421624,271.31540105247,274.70684356563,280.31310567921,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,488.36772189445,499.46698830115,504.56359022259,507.3950357345,513.90736041189,523.2511306012],description:"Euclidean reduced detempered Miracle[45] with Tenney tie-breaker"},musaqa:{frequencies:[261.6255653006,293.66476791741,320.24370022528,349.22823143301,391.99543598175,427.47405410759,466.16376151809,523.2511306012],description:"Egyptian scale by Miha'il Musaqa"},musaqa_24:{frequencies:[261.6255653006,269.02051582234,276.67624041581,284.6011815168,292.80374147632,300.29158209195,310.07474405997,319.15917884888,328.55303549378,338.26335715633,348.29659232622,358.65845048745,369.35373924791,380.38618160659,391.75821216589,403.47075130695,415.52295665389,427.91195157543,440.63253103259,453.67684579974,467.03406698289,480.69003385373,494.62688932105,508.8227088795,523.2511306012],description:"from d'Erlanger vol.5, p.34, after Mih.a'il Mu^saqah, 1899, a Lebanese scholar"},myna23:{frequencies:[261.6255653006,267.85369360167,274.23008563259,291.58574485564,298.52709031489,305.63367799752,312.90944157785,320.35840837329,327.98470157359,348.7424193045,357.04440817535,365.54403007102,374.24598974517,383.15510395049,392.27630410488,417.10295228105,427.03229805648,437.19801690717,447.60573581317,458.26121570764,469.17035466565,498.86352554567,510.73922293119,522.89762727195],description:"23 notes of Myna temperament, 7-limit TOP tuning (Paul Erlich)"},"mystic-r":{frequencies:[261.6255653006,367.91095120397,465.11211608996,654.0639132515,872.08521766867,1177.3150438527],description:"Skriabin's mystic chord, op. 60 rationalised"},mystic:{frequencies:[261.6255653006,369.99442271164,466.16376151809,659.25511382574,880,1174.65907166964],description:"Skriabin's mystic chord, op. 60"},urmawi:{frequencies:[261.6255653006,294.32876096318,326.6631048533,348.83408706747,392.4383479509,441.49314144476,471.45776383774,523.2511306012],description:"al-Urmawi, one of twelve maqam rows. First tetrachord is Rast"},valentine:{frequencies:[261.6255653006,276.16031892841,294.32876096318,310.68035879446,330.47439827444,348.83408706747,371.78369805875,392.4383479509,414.24047839262,440.63253103259,466.02053819169,495.71159741166,523.2511306012],description:"Robert Valentine, tuning with primes 3 & 19, TL 7-2-2002"},valentine2:{frequencies:[261.6255653006,286.10322937235,312.87102146627,349.87955533643,382.6142546815,418.41160951721,467.90420651233,511.68128147674,559.55413558945,625.74204293254,684.28641150324,748.30818586768,782.53142116911,855.74498969389,935.80841302466,1046.5022612024],description:"Robert Valentine, two octave 31-tET subset for guitar, TL 10-5-2002"},vallotti:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.77584116741,328.14198392915,349.6228209638,368.32692341742,391.5530240856,414.36778843034,438.51190905657,466.16376151809,491.10256480205,523.2511306012],description:"Vallotti & Young scale (Vallotti version)"},vavoom:{frequencies:[164.81377845643,165.83014536684,167.75567809608,168.79018601865,170.75008918846,172.7327497266,173.79795102719,175.81600173949,176.90021569146,178.95428827501,180.05785630665,182.14859375797,184.26360775673,185.39991601304,187.55268266167,188.70927492235,190.90046811205,192.07770535997,194.30800987601,196.56421264146,197.77637683895,200.07285246365,201.3066535986,203.64411977036,206.00872855044,207.27913480479,209.68595147418,210.9790342774,213.42881100738,214.74497512464,217.23848121866,219.76094059848,221.11615343515,223.68363702025,225.06304018178,227.6763542391,229.0803795269,231.74034082302,234.43118684139,235.87686755635,238.61574610914,240.08723199411,242.87499909192,244.37274935352,247.21027763268,250.08075380295,251.62294163139,254.54465534315,256.1143694988,259.0882353168,260.68597011615,263.71291896434,266.77501515601,268.42015092639,271.53690502834,273.21140777811,276.38379544331,278.08818779989,281.31720045362,284.58370833477,286.33866758091,289.66348210637,291.44976709494,294.83392732599,296.65209720599,300.09666587055,303.58123106099,305.45334345815,309.00010579622,310.90563508986,314.51570836542,316.45525105281,320.12976356015,323.84694071013,325.84402686189,329.62755691286],description:"Vavoom temperament, g=111.875426, 5-limit"},veroli:{frequencies:[261.6255653006,276.87699530057,293.57148765354,310.97965314221,329.42008585855,349.28270065725,369.64409253099,391.93430587921,414.97617910427,439.79164309579,466.09106516521,493.49262474744,523.2511306012],description:"Claudio di Veroli's well temperament (1978)"},vertex_chrom:{frequencies:[261.6255653006,271.89678302796,317.17549194805,349.22823143301,391.99543598175,407.38487419079,448.5538823653,523.2511306012],description:"A vertex tetrachord from Chapter 5, 66.7 + 266.7 + 166.7 cents"},vertex_chrom2:{frequencies:[261.6255653006,274.52698453615,323.3415889232,349.22823143301,391.99543598175,411.32572372413,484.46499093218,523.2511306012],description:"A vertex tetrachord from Chapter 5, 83.3 + 283.3 + 133.3 cents"},vertex_chrom3:{frequencies:[261.6255653006,275.18850165466,324.90175210669,349.22823143301,391.99543598175,412.31687950427,486.80259447109,523.2511306012],description:"A vertex tetrachord from Chapter 5, 87.5 + 287.5 + 125 cents"},vertex_chrom4:{frequencies:[261.6255653006,275.40936140075,325.42347822215,349.22823143301,391.99543598175,412.64779522483,487.58430040208,523.2511306012],description:"A vertex tetrachord from Chapter 5, 88.9 + 288.9 + 122.2 cents"},vertex_chrom5:{frequencies:[261.6255653006,282.57123920205,329.62755691287,349.22823143301,391.99543598175,423.37848741825,493.88330125613,523.2511306012],description:"A vertex tetrachord from Chapter 5, 133.3 + 266.7 + 100 cents"},vertex_diat:{frequencies:[261.6255653006,299.37379946195,323.3415889232,349.22823143301,391.99543598175,448.5538823653,484.46499932732,523.2511306012],description:"A vertex tetrachord from Chapter 5, 233.3 + 133.3 + 133.3 cents"},vertex_diat10:{frequencies:[261.6255653006,295.79278388132,324.90175210669,349.22823143301,391.99543598175,443.18842137843,486.80259447109,523.2511306012],description:"A vertex tetrachord from Chapter 5, 212.5 + 162.5 + 125 cents"},vertex_diat11:{frequencies:[261.6255653006,295.79278388132,306.66641795878,349.22823143301,391.99543598175,443.18842137843,459.48046426806,523.2511306012],description:"A vertex tetrachord from Chapter 5, 212.5 + 62.5 + 225 cents"},vertex_diat12:{frequencies:[261.6255653006,293.66476791741,315.65242990842,349.22823143301,391.99543598175,440,472.94426956511,523.2511306012],description:"A vertex tetrachord from Chapter 5, 200 + 125 + 175 cents"},vertex_diat2:{frequencies:[261.6255653006,299.37379946195,329.62755691287,349.22823143301,391.99543598175,448.5538823653,493.88330125613,523.2511306012],description:"A vertex tetrachord from Chapter 5, 233.3 + 166.7 + 100 cents"},vertex_diat3:{frequencies:[261.6255653006,273.20871865617,311.12698372208,349.22823143301,391.99543598175,409.35055662695,466.16376151809,523.2511306012],description:"A vertex tetrachord from Chapter 5, 75 + 225 + 200 cents"},vertex_diat4:{frequencies:[261.6255653006,297.93622032612,329.62755691287,349.22823143301,391.99543598175,446.39994737251,493.88330125613,523.2511306012],description:"A vertex tetrachord from Chapter 5, 225 + 175 + 100 cents"},vertex_diat5:{frequencies:[261.6255653006,275.18850165466,315.65242990842,349.22823143301,391.99543598175,412.31687950427,472.94426956511,523.2511306012],description:"A vertex tetrachord from Chapter 5, 87.5 + 237.5 + 175 cents"},vertex_diat7:{frequencies:[261.6255653006,293.66476791741,306.66641795878,349.22823143301,391.99543598175,440,459.48046426806,523.2511306012],description:"A vertex tetrachord from Chapter 5, 200 + 75 + 225 cents"},vertex_diat8:{frequencies:[261.6255653006,277.18263097687,306.66641795878,349.22823143301,391.99543598175,415.30469757995,459.48046426806,523.2511306012],description:"A vertex tetrachord from Chapter 5, 100 + 175 + 225 cents"},vertex_diat9:{frequencies:[261.6255653006,295.79278388132,320.24370022528,349.22823143301,391.99543598175,443.18842137843,479.82340237272,523.2511306012],description:"A vertex tetrachord from Chapter 5, 212.5 + 137.5 + 150 cents"},vertex_sdiat:{frequencies:[261.6255653006,275.18850165466,306.66641795878,349.22823143301,391.99543598175,412.31687950427,459.48046426806,523.2511306012],description:"A vertex tetrachord from Chapter 5, 87.5 + 187.5 + 225 cents"},vertex_sdiat2:{frequencies:[261.6255653006,273.20871865617,302.26980244078,349.22823143301,391.99543598175,409.35055662695,452.89298412314,523.2511306012],description:"A vertex tetrachord from Chapter 5, 75 + 175 + 250 cents"},vertex_sdiat3:{frequencies:[261.6255653006,265.43099677612,302.26980244078,349.22823143301,391.99543598175,397.69714089209,452.89298412314,523.2511306012],description:"A vertex tetrachord from Chapter 5, 25 + 225 + 250 cents"},vertex_sdiat4:{frequencies:[261.6255653006,271.8968348557,302.26980244078,349.22823143301,391.99543598175,407.38495184466,452.89298412314,523.2511306012],description:"A vertex tetrachord from Chapter 5, 66.7 + 183.3 + 250 cents"},vertex_sdiat5:{frequencies:[261.6255653006,299.37374239667,302.26980244078,349.22823143301,391.99543598175,448.55379686399,452.89298412314,523.2511306012],description:"A vertex tetrachord from Chapter 5, 233.33 + 16.67 + 250 cents"},vicentino1:{frequencies:[261.6255653006,267.54129532085,273.59078691818,279.77706779472,286.10322937235,292.57243455474,295.8616864168,299.18791603519,305.95298478736,312.87102146627,319.94548489658,327.17991022208,330.85823737058,334.57791819083,342.14320575162,349.87955533643,357.79083283678,365.88099775759,374.15409293384,382.6142546815,391.26571058456,395.66452371628,400.11279059885,409.15991580663,418.41160951721,427.87249484695,437.54730686196,442.46644183113,447.44088028055,457.55816161244,467.90420651233,478.48419305869,489.30340830564,494.80441235385,500.36726155789,511.68128147674,523.2511306012],description:"Usual Archicembalo tuning, 31-tET plus D,E,G,A,B a 10th tone higher"},vicentino2:{frequencies:[261.6255653006,262.40966637115,273.59078691818,274.41074818102,279.77706779472,280.61556956011,292.57243455474,293.44928279173,305.95298478736,306.86993670158,312.87102146627,313.80870698104,327.17991022208,328.16047998243,342.14320575162,343.16862103779,349.87955533643,350.92815470883,365.88099775759,366.97755604579,374.15409293384,391.26571058456,392.4383479509,409.15991580663,410.38618254261,418.41160951721,419.66560148231,437.54730686196,438.85865161274,457.55816161244,458.92947695163,467.90420651233,469.30653196482,489.30340830564,490.7698679226,511.68128147674,523.2511306012],description:"Alternative Archicembalo tuning, lower 3 rows the same upper 3 rows 3/2 higher"},vicentino2q217:{frequencies:[261.6255653006,262.46259217279,273.59078691818,274.46609608433,279.77706779472,280.67216895906,292.57243455474,293.50847071582,305.95298478736,306.93183153514,312.87102146627,313.87199953275,327.17991022208,328.2266690608,342.14320575162,343.23783523487,349.87955533643,350.99893596542,365.88099775759,367.05157442308,374.15409293384,391.26571058456,392.51750150462,409.15991580663,410.46895395112,418.41160951721,419.7502468954,437.54730686196,438.9471656765,457.55816161244,459.02204178186,467.90420651233,469.40118981889,489.30340830564,490.86885203792,511.68128147674,523.2511306012],description:"Vicentino's second tuning, 217-tET version"},vicentino36:{frequencies:[261.6255653006,262.43934012943,273.37431312998,274.22463192287,279.93529690293,280.80602334765,292.50627485027,293.41610276971,305.64177427204,306.59245933664,312.97717714283,313.95067836072,327.03195662575,328.04917632434,341.71789064962,349.91912034749,351.00752840096,365.63284274659,366.77012764335,374.40803131735,375.5726110527,391.22147055517,392.4383479509,408.78994578219,410.06146948999,418.60090448096,419.90294514449,437.39889945791,438.75941205608,457.04105505291,458.46266117889,468.01003810189,469.46576276783,489.02683710225,490.54793493862,510.98743222773,523.2511306012],description:"Vicentino's second tuning of 1555"},victor_eb:{frequencies:[261.6255653006,276.45300885359,293.16631378471,311.00963644582,328.52867116285,348.83408706747,368.60401198904,391.83966133014,414.6795130731,439.03603741286,465.77732204887,492.79300649794,523.2511306012],description:"Equal beating Victorian piano temperament, interpr. by Bill Bremmer (improved)"},victorian:{frequencies:[261.6255653006,276.5429423948,293.32570896007,310.76776326996,328.29744538229,349.22823143301,368.92737853004,391.99543598175,414.58565256441,438.73106346722,465.89457252293,492.17459484008,523.2511306012],description:"Form of Victorian temperament (1885)"},vitale1:{frequencies:[261.6255653006,280.31310567921,294.32876096318,305.22982618403,327.03195662575,336.37572681506,343.38355445704,348.83408706747,373.75080757229,392.4383479509,420.46965851882,441.49314144476,457.84473927605,490.54793493862,504.56359022259,515.07533168556,523.2511306012],description:"Rami Vitale's 7-limit just scale"},vitale2:{frequencies:[261.6255653006,274.70684356563,294.32876096318,299.00064605783,305.22982618403,313.95067836072,336.37572681506,348.83408706747,366.27579142084,392.4383479509,412.06026534844,441.49314144476,448.50096908674,457.84473927605,470.92601754108,504.56359022259,523.2511306012],description:"Rami Vitale, inverse mode of vitale1"},vitale3:{frequencies:[261.6255653006,274.70684356563,280.31310567921,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,412.06026534844,420.46965851882,441.49314144476,448.50096908674,457.84473927605,470.92601754108,490.54793493862,504.56359022259,515.07533168556,523.2511306012],description:"Superset of several Byzantine scales by Rami Vitale, TL 29-Aug-2001"},vogel_21:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,305.22982618403,310.07474405997,313.95067836072,321.55899383997,330.74639366397,348.83408706747,361.75386806997,372.08969287196,392.4383479509,406.97310157871,413.43299207996,418.60090448096,428.74532511996,440.99519155196,465.11211608996,482.33849075995,496.11959049595,523.2511306012],description:"Martin Vogel's 21-tone Archytas system, see Divisions of the tetrachord"},vogelh_b:{frequencies:[261.6255653006,276.37000081643,292.73769384471,310.07474405997,327.54963108844,349.78078158391,367.49599295996,391.37619916626,413.43299207996,437.91808280662,465.11211608996,489.99465727995,523.2511306012],description:"Harald Vogel's temperament, van Eeken organ in Bunschoten, Immanuelkerk, 1992"},vogelh_fisk:{frequencies:[261.6255653006,274.01856817608,292.73769384471,312.85332572834,327.54963108844,349.78078158391,366.49445363528,391.37619916626,409.75340805561,437.91808280662,467.82492621575,489.99465727995,523.2511306012],description:"Modified meantone tuning of Fisk organ in Memorial Church at Stanford"},vogelh_hb:{frequencies:[261.6255653006,276.50527247638,293.79744652436,312.85332572834,329.92547760025,349.78078158391,369.82037393809,392.08397832814,413.47189899094,440.29822362186,467.82492621575,494.44133512215,523.2511306012],description:"Harald Vogel hybrid meantone (1984)"},vogelh_jakobi:{frequencies:[261.6255653006,275.2485073924,292.86986732103,310.4251397446,327.84547867349,349.70184487387,366.99801003998,391.46454285105,412.87276088221,438.2147004401,466.26912673157,490.54793493862,523.2511306012],description:"Harald Vogel's temperament for the Schnitger organ in St. Jakobi, Hamburg"},volans:{frequencies:[261.6255653006,288.78654445823,322.09885310804,352.06379107796,388.6137256405,429.95038611107,482.60299106564,523.2511306012],description:"African scale according to Kevin Volans 1/1=G"},vong:{frequencies:[261.6255653006,287.78812183066,324.77656382143,353.19451315581,392.4383479509,431.68218274599,476.53227965466,523.2511306012],description:"Vong Co Dan Tranh scale, Vietnam"},"vries19-72":{frequencies:[261.6255653006,271.89678302796,282.57123920205,293.66476791741,305.19382000629,314.13668154225,326.46944327063,339.28638158975,352.60650301302,366.44956000397,377.18735172911,391.99543598175,407.38487419079,423.37848741825,452.89298412314,470.6732130613,489.15147723638,508.3551866238,523.2511306012],description:"Leo de Vries 19/72 Through-Transposing-Tonality 18 tone scale"},"vries35-72":{frequencies:[261.6255653006,320.24370022528,326.46944327063,332.81622067851,339.28638158975,345.88232658126,352.60650301302,359.46139971304,366.44956000397,448.5538823653,457.27406033445,466.16376151809,475.22628419761,484.46499093218,493.88330125613,503.48470957687,513.27277840175,523.2511306012],description:"Leo de Vries 35/72 Through-Transposing-Tonality 17 tone scale"},"vries5-72":{frequencies:[261.6255653006,269.29177952703,274.52698453615,282.57123920205,288.06460709314,296.5055443788,302.26980244078,317.17549194805,332.81622067851,349.22823143301,366.44956000397,384.52011812375,403.48177901006,423.37848741825,444.25635547592,466.16376151809,489.15147723638,513.27277840175,523.2511306012],description:"Leo de Vries 5/72 Through-Transposing-Tonality 18 tone scale"},"vries6-31":{frequencies:[261.6255653006,292.57243455474,299.18791603519,334.57791819083,342.14320575162,382.6142546815,391.26571058456,437.54730686196,447.44088028055,500.36726155789,511.68128147674,523.2511306012],description:'Leo de Vries 6/31 TTT used in "For 31-tone organ" (1995)'},vulture:{frequencies:[261.6255653006,265.58852967049,269.02996542365,272.51599294435,276.04719319079,279.62414831161,283.24745441839,286.9177088442,290.63552324927,294.40151054717,298.21629835234,302.73351960911,306.6562716924,310.62985211059,314.65492307423,318.73214815075,322.86220682342,327.0457799678,331.28356479042,335.57625992643,339.9245807679,344.32924417279,349.54496173019,354.07428378691,358.66229781376,363.30976018416,368.01744541334,372.78612960355,377.61660747204,382.50967536449,387.46614872711,392.486844677,398.43202813578,403.59481739244,408.82450722915,414.12195980508,419.48805795853,424.92368633675,430.42975080549,436.00715908665,441.65684067409,447.37972696622,453.17677170128,460.0412514682,466.0023613576,472.04071122634,478.15730738573,484.35315820906,490.6292962557,496.98675620078,503.42659462849,509.94988192555,516.55769649554,523.2511306012],description:"Vulture temperament, g=475.542233, 5-limit"},walker_21:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,327.03195662575,336.37572681506,348.83408706747,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:'Douglas Walker, 1977, for "out of the fathomless dark/into the limitless light'},walkerr_11:{frequencies:[261.6255653006,291.47537246454,299.00064605783,333.11471138804,341.71502406609,380.70252730062,390.53145607553,435.08860262928,484.72943438718,497.2441172906,510.08190181294,523.2511306012],description:'Robert Walker, "Seven to Pi" scale, TL 09-07-2002'},wauchope:{frequencies:[261.6255653006,274.70684356563,305.22982618403,327.03195662575,366.27579142084,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Symmetrical 7-limit JI whole-half step scale, Ken Wauchope"},wendell1:{frequencies:[261.6255653006,276.25045813601,293.35468319005,310.78176509232,328.42642049784,348.83408706747,369.47972269069,391.8804287311,414.37568699689,438.92294511207,466.17264740545,492.63963050051,523.2511306012],description:"Robert Wendell's Natural Synchronous well-temperament (2003)"},wendell1r:{frequencies:[261.6255653006,276.25560153172,293.36810129327,310.78755172318,328.43721515437,348.83408706747,369.49186704867,391.89926583958,414.38340229758,438.93945576706,466.18132758477,492.65582273156,523.2511306012],description:"Rational version of wendell1 by Gene Ward Smith"},wendell2:{frequencies:[261.6255653006,276.37223575148,293.46077701205,310.91876490958,328.50868755512,348.91469434159,369.57235851938,392.00856887742,414.55835341999,438.92345217603,466.37814713124,492.76314493882,523.2511306012],description:"Robert Wendell's Very Mild Synchronous well-temperament (2003)"},werck1:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,363.36884069528,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Werckmeister I (just intonation)"},werck3:{frequencies:[261.6255653006,275.62199471997,292.34127285051,310.07474405997,327.77163799145,348.83408706747,367.49599295996,391.11111150212,413.43299207996,437.02884834934,465.11211608996,491.65745674141,523.2511306012],description:"Andreas Werckmeister's temperament III (the most famous one, 1681)"},werck3_eb:{frequencies:[261.6255653006,275.62199471997,292.52927773082,310.07474405997,328.06371231954,348.83408706747,367.49599295996,391.41011079897,413.43299207996,437.41828331138,465.11211608996,492.10978071589,523.2511306012],description:"Werckmeister III equal beating version, 5/4 beats twice 3/2"},werck3_mod:{frequencies:[261.6255653006,275.62199471997,292.34127285051,310.07474405997,327.77163799145,348.83408706747,367.49599295996,391.11111150212,413.43299207996,437.02884834934,465.11211608996,490.82535372381,523.2511306012],description:"Modified Werckmeister III with B between E and F#, Nijsse (1997), organ Soest"},werck4:{frequencies:[261.6255653006,274.37997440822,293.00227310437,310.07474405997,328.14198392915,348.83408706747,367.49599295996,390.66969766777,411.5699614066,437.52264545758,467.21778431035,489.99465727995,523.2511306012],description:"Andreas Werckmeister's temperament IV"},werck5:{frequencies:[261.6255653006,276.55731914056,294.32876096318,311.12698372208,328.88393162803,350.01785633742,369.99442271164,392.4383479509,413.43299207996,440,466.69047534984,493.32589719545,523.2511306012],description:"Andreas Werckmeister's temperament V"},werck6:{frequencies:[261.6255653006,275.69145590816,291.35574317567,310.77945938738,328.70904358281,348.83408706747,368.91086905696,391.43977709097,413.53718386224,438.27872477707,466.16918908107,493.06356537421,523.2511306012],description:`Andreas Werckmeister's "septenarius" tuning VI`},werck6_dup:{frequencies:[261.6255653006,275.62199471997,291.49363009634,310.67551062492,328.56569462012,348.83408706747,368.92162485303,391.67947347082,413.43299207996,438.08759304581,466.01326570444,492.84854168382,523.2511306012],description:"Andreas Werckmeister's VI in the interpretation by Dupont (1935)"},werck_cl5:{frequencies:[261.6255653006,274.56549986328,292.86986732103,309.97737261399,327.84547867349,349.70184487387,366.99801003998,391.46454285105,412.14811800305,438.2147004401,466.26912673157,490.54793493862,523.2511306012],description:"Werckmeister Clavier temperament (Nothw. Anm.) Poletti reconstr. 1/5-comma"},werck_cl6:{frequencies:[261.6255653006,275.36250599118,293.11251278827,310.35057963607,328.38895179964,349.55706816887,367.91095120397,391.62667645325,413.31226430431,438.75941205608,466.0760911248,491.56462836305,523.2511306012],description:"Werckmeister Clavier temperament (Nothw. Anm.) Poletti reconstr. 1/6-comma"},werck_puzzle:{frequencies:[261.6255653006,272.52663052146,291.60349465796,306.59245933664,327.03195662575,347.47145391486,365.18568489875,389.71308164569,408.78994578219,436.04260883433,461.93263873387,490.54793493862,523.2511306012],description:"From Hypomnemata Musica, 1697, p. 49, 1/1=192, fifths tempered superparticular"},white:{frequencies:[261.6255653006,275.93321340298,289.72987407313,294.32876096318,305.22982618403,310.42486507835,327.03195662575,331.11985608357,343.38355445704,348.83408706747,367.91095120397,386.30649876417,392.4383479509,406.97310157871,413.89982010446,436.04260883433,441.49314144476,457.84473927605,465.11211608996,490.54793493862,496.67978412536,515.07533168556,523.2511306012],description:"Justin White's 22-tone scale based on Al-Farabi's tetrachord"},wicks:{frequencies:[261.6255653006,276.65728054629,293.45376109391,310.36444075595,329.26048109616,348.28499607284,369.54304125029,391.93835601961,414.48592121967,439.68064187634,465.04666232412,493.39072329352,523.2511306012],description:"Mark Wicks' equal beating temperament for organs (1887)"},wier_cl:{frequencies:[261.6255653006,276.16031892841,290.69507255622,305.22982618403,319.76457981184,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"Danny Wier, ClownTone (2003)"},wiesse:{frequencies:[261.6255653006,277.49581689502,294.32876096318,312.18279369479,331.11985608357,348.83408706747,369.99442271164,392.4383479509,416.24372513446,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"Von Wiesse's 1/2 Pyth. comma tuning"},wilson1:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,459.88868900496,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Wilson's 19-tone Scott scale (1976)"},wilson11:{frequencies:[261.6255653006,271.31540105247,277.4816601673,291.35574317567,305.22982618403,312.16686768822,325.57848126297,332.97799220076,348.83408706747,366.27579142084,374.60024122586,392.4383479509,406.97310157871,416.22249025095,437.0336147635,457.84473927605,468.25030153232,488.36772189445,499.46698830115,523.2511306012],description:"Wilson 11-limit 19-tone scale, 1977"},wilson1t:{frequencies:[261.6255653006,273.34666024156,279.64601698606,292.92954243175,306.05308604033,313.10617410217,327.13365148064,334.67254769546,349.66622272551,366.27579142084,374.71672979763,391.50442319155,409.04422481132,418.47077311482,437.21869500104,457.98711402938,468.54156606881,489.53271107931,500.81414097667,523.2511306012],description:"Wilson's Scott scale, wilson1, in minimax minerva tempering"},wilson2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,361.75386806997,372.08969287196,392.4383479509,406.97310157871,418.60090448096,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Wilson 19-tone, 1975"},wilson3:{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,412.06026534844,429.2294430713,441.49314144476,457.84473927605,470.92601754108,490.54793493862,515.07533168556,523.2511306012],description:"Wilson 19-tone"},wilson5:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Wilson's 22-tone 5-limit scale"},wilson7:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,353.19451315581,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Wilson's 22-tone 7-limit 'marimba' scale"},wilson7_2:{frequencies:[261.6255653006,263.718569823,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,329.64821227876,343.38355445704,353.19451315581,366.27579142084,376.74081403286,392.4383479509,408.78994578219,412.06026534844,436.04260883433,439.53094970501,457.84473927605,470.92601754108,490.54793493862,494.47231841813,523.2511306012],description:"Wilson 7-limit scale"},wilson7_3:{frequencies:[261.6255653006,267.90457886781,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,372.08969287196,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Wilson 7-limit scale"},wilson7_4:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,361.75386806997,372.08969287196,387.59343007496,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Wilson 7-limit 22-tone scale XH 3, 1975"},wilson_17:{frequencies:[261.6255653006,275.93321340298,290.69507255622,294.32876096318,310.42486507835,327.03195662575,331.11985608357,348.83408706747,367.91095120397,372.50983809402,392.4383479509,413.89982010446,436.04260883433,441.49314144476,465.11211608996,490.54793493862,496.67978412536,523.2511306012],description:"Wilson's 17-tone 5-limit scale"},wilson_31:{frequencies:[261.6255653006,265.7783520514,271.31540105247,279.06726965397,285.40970760065,294.32876096318,299.00064605783,305.22982618403,313.95067836072,321.08592105074,327.03195662575,332.22294006425,339.14425131559,348.83408706747,354.37113606854,361.75386806997,372.08969287196,380.54627680087,392.4383479509,398.6675280771,406.97310157871,418.60090448096,428.11456140098,441.49314144476,448.50096908674,457.84473927605,470.92601754108,481.6288815761,490.54793493862,498.33441009638,508.71637697339,523.2511306012],description:"Wilson 11-limit 31-tone scale XH 3, 1975"},wilson_41:{frequencies:[261.6255653006,265.7783520514,271.31540105247,275.62199471997,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,321.08592105074,327.03195662575,331.11985608357,336.37572681506,343.38355445704,348.83408706747,354.37113606854,361.75386806997,367.49599295996,372.08969287196,380.54627680087,387.59343007496,392.4383479509,398.6675280771,406.97310157871,413.43299207996,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,481.6288815761,490.54793493862,496.67978412536,504.56359022259,515.07533168556,523.2511306012],description:"Wilson 11-limit 41-tone scale XH 3, 1975"},wilson_alessandro:{frequencies:[261.6255653006,265.58571790036,269.80136421624,270.50397193556,275.93321340298,278.232656848,284.55612632182,286.15296204753,288.53757006459,294.32876096318,295.09524211152,303.52653474327,304.3169684275,305.22982618403,309.14739649778,314.76825825228,321.92208230347,324.60476632267,327.03195662575,331.98214737546,337.2517052703,340.06213614756,343.38355445704,347.79082106,351.18772614924,354.11429053382,359.73515228832,365.180362113,367.91095120397,370.97687579734,379.40816842909,386.30649876417,391.2646736925,392.4383479509,393.46032281536,404.70204632437,405.75595790334,413.89982010446,417.348985272,419.69101100305,429.2294430713,432.80635509689,441.49314144476,442.64286316727,449.66894036041,456.47545264125,457.84473927605,463.72109474667,472.15238737843,482.88312345521,486.907149484,490.54793493862,494.63583439645,505.87755790546,515.07533168556,521.68623159,523.2511306012],description:"D'Alessandro, genus [3 3 3 5 7 11 11] plus 8 pigtails, XH 12, 1989"},wilson_bag:{frequencies:[261.6255653006,294.32876096318,318.85615771011,349.51540364377,392.4383479509,425.14154361347,466.02053819169,523.2511306012],description:"Erv's bagpipe, mar '97, after Theodore Podnos (37-39)."},wilson_class:{frequencies:[261.6255653006,272.52663052146,293.02063313667,305.22982618403,327.03195662575,348.83408706747,366.27579142084,381.53728273004,418.60090448096,436.04260883433,457.84473927605,488.36772189445,523.2511306012],description:"Class Scale, Erv Wilson, 9 july 1967"},wilson_dia1:{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,303.82323712328,313.95067836072,324.77656382143,336.37572681506,348.83408706747,362.25078272391,371.78369805875,381.83190611439,392.4383479509,403.65087217807,415.52295665389,428.11456140098,441.49314144476,455.73485568492,470.92601754108,487.16484573215,504.56359022259,523.2511306012],description:"Wilson Diaphonic cycles, tetrachordal form"},wilson_dia2:{frequencies:[261.6255653006,268.51044859798,275.76748774928,283.42769574232,291.52562990638,300.09991313892,309.19384990071,318.85615771011,329.14184021688,340.11323489078,351.84127747322,364.40703738298,377.90359432309,388.70083987518,400.13321751856,412.25846653428,425.14154361347,438.85578695585,453.48431318771,469.12170329763,485.87604984397,503.87145909745,523.2511306012],description:"Wilson Diaphonic cycle, conjunctive form"},wilson_dia3:{frequencies:[261.6255653006,268.51044859798,275.76748774928,283.42769574232,291.52562990638,300.09991313892,309.19384990071,318.85615771011,329.14184021688,340.11323489078,351.84127747322,364.40703738298,377.90359432309,392.4383479509,403.65087217807,415.52295665389,428.11456140098,441.49314144476,455.73485568492,470.92601754108,487.16484573215,504.56359022259,523.2511306012],description:"Wilson Diaphonic cycle on 3/2"},wilson_dia4:{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,303.82323712328,313.95067836072,324.77656382143,336.37572681506,348.83408706747,358.01393146398,381.83190611439,377.90359432309,388.70083987518,400.13321751856,412.25846653428,425.14154361347,438.85578695585,453.48431318771,469.12170329763,485.87604984397,503.87145909745,523.2511306012],description:"Wilson Diaphonic cycle on 4/3"},wilson_duo:{frequencies:[261.6255653006,271.31540105247,279.06726965397,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,361.75386806997,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Wilson 'duovigene'"},wilson_enh:{frequencies:[261.6255653006,264.37951861955,279.06726965397,348.83408706747,392.4383479509,396.56927792933,418.60090448096,523.2511306012],description:"Wilson's Enharmonic & 3rd new Enharmonic on Hofmann's list of superp. 4chords"},wilson_enh2:{frequencies:[261.6255653006,265.7783520514,275.62199471997,348.83408706747,392.4383479509,398.6675280771,413.43299207996,523.2511306012],description:"Wilson's 81/64 Enharmonic, a strong division of the 256/243 pyknon"},wilson_facet:{frequencies:[261.6255653006,271.31540105247,274.70684356563,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,353.19451315581,366.27579142084,387.59343007496,392.4383479509,406.97310157871,412.06026534844,436.04260883433,452.19233508746,457.84473927605,470.92601754108,488.36772189445,508.71637697339,523.2511306012],description:"Wilson study in 'conjunct facets', Hexany based"},wilson_gh1:{frequencies:[261.6255653006,286.54684077898,313.84200313831,343.73718179912,398.2573899082,436.19359890902,477.74343791599,523.2511306012],description:"Golden Horagram nr.1: 1phi+0 / 7phi+1"},wilson_gh11:{frequencies:[261.6255653006,294.51148904212,316.87124012705,356.70145865606,383.78276711707,432.02365977685,464.82353976398,523.2511306012],description:"Golden Horagram nr.11: 1phi+0 / 3phi+1"},wilson_gh2:{frequencies:[261.6255653006,290.51361927671,322.59142140135,358.21117585067,382.16527586729,424.3630293795,471.22015545621,523.2511306012],description:"Golden Horagram nr.2: 1phi+0 / 6phi+1"},wilson_gh50:{frequencies:[261.6255653006,270.80964219588,280.31611759965,306.81496952381,317.58537244461,347.60736272384,359.80973785756,372.44046183271,407.64801512355,421.95805149354,461.8466031062,478.05922145,523.2511306012],description:"Golden Horagram nr.50: 7phi+2 / 17phi+5"},wilson_helix:{frequencies:[261.6255653006,283.42769574232,294.32876096318,305.22982618403,327.03195662575,348.83408706747,359.73515228832,392.4383479509,425.14154361347,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"Wilson's Helix Song, see David Rosenthal, Helix Song, XH 7&8, 1979. Also Secor, 1964"},wilson_hypenh:{frequencies:[261.6255653006,266.38239376061,271.31540105247,348.83408706747,392.4383479509,399.57359064092,406.97310157871,523.2511306012],description:"Wilson's Hyperenharmonic, this genus has a CI of 9/7"},wilson_l1:{frequencies:[261.6255653006,269.80136421624,274.70684356563,286.15296204753,294.32876096318,305.22982618403,314.76825825228,327.03195662575,337.2517052703,343.38355445704,359.73515228832,366.27579142084,377.72190990274,392.4383479509,404.70204632437,419.69101100305,431.68218274599,449.66894036041,457.84473927605,472.15238737843,490.54793493862,503.62921320365,523.2511306012],description:"Wilson 11-limit scale"},wilson_l2:{frequencies:[261.6255653006,267.07609791103,279.79400733536,287.78812183066,294.32876096318,305.22982618403,314.76825825228,327.03195662575,335.75280880244,348.83408706747,359.73515228832,373.05867644715,381.53728273004,392.4383479509,411.12588832951,419.69101100305,436.04260883433,447.67041173658,457.84473927605,479.64686971777,490.54793493862,503.62921320365,523.2511306012],description:"Wilson 11-limit scale"},wilson_l3:{frequencies:[261.6255653006,269.80136421624,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,332.97799220076,343.38355445704,359.73515228832,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,429.2294430713,441.49314144476,457.84473927605,470.92601754108,490.54793493862,499.46698830115,523.2511306012],description:"Wilson 11-limit scale"},wilson_l4:{frequencies:[261.6255653006,267.07609791103,274.70684356563,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,356.10146388137,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,508.71637697339,523.2511306012],description:"Wilson 11-limit scale"},wilson_l5:{frequencies:[261.6255653006,267.07609791103,279.79400733536,285.40970760065,299.00064605783,305.22982618403,313.95067836072,327.03195662575,332.97799220076,348.83408706747,356.10146388137,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,479.64686971777,488.36772189445,508.71637697339,523.2511306012],description:"Wilson 11-limit scale"},wilson_l6:{frequencies:[261.6255653006,267.57160087561,277.4816601673,285.40970760065,294.32876096318,305.22982618403,312.16686768822,327.03195662575,332.97799220076,348.83408706747,356.76213450082,369.97554688974,381.53728273004,392.4383479509,406.97310157871,416.22249025095,436.04260883433,443.97065626768,457.84473927605,475.68284600109,490.54793493862,499.46698830115,523.2511306012],description:"Wilson 1 3 7 9 11 15 eikosany plus 9/8 and tritone. Used Stearns: Jewel"},window:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,297.67175429757,306.59245933664,327.03195662575,334.88072358477,348.83408706747,363.36884069528,367.91095120397,372.08969287196,376.74081403286,392.4383479509,408.78994578219,418.60090448096,446.50763144636,459.88868900496,465.11211608996,470.92601754108,502.32108537715,523.2511306012],description:"Window lattice"},wonder1:{frequencies:[261.6255653006,272.72256190885,277.86237426839,283.09905309511,288.43442562998,293.8703485525,299.4087202614,312.10830899518,317.99039712482,323.98334274799,330.08923137594,336.31019538088,342.64839962317,357.18202566262,363.91358676728,370.77201292014,377.75969724053,384.87907140314,392.13262172187,408.76514672187,416.46885901676,424.31776026786,432.3145818485,440.46211650535,448.76319953449,467.79774494453,476.61400354229,485.59641603135,494.74811665626,504.07229015717,513.57219283465,523.2511306012],description:"Wonder Scale, gen=~233.54 cents, 8/7+1029/1024^7/25, LS 12:14:18:21, M.Schulter"},wonder36:{frequencies:[261.6255653006,271.89678302796,277.18263097687,282.57123920205,288.06460709314,293.66476791741,299.37379946195,311.12698372208,317.17549194805,323.3415889232,329.62755691287,336.03572815422,342.56848033562,356.01745236555,362.93866220634,369.99442271164,377.18735172911,384.52011812375,391.99543598175,407.38487419079,415.30469757995,423.37848741825,431.60923940535,440,448.5538823653,466.16376151809,475.22628419761,484.46499093218,493.88330125613,503.48470957687,513.27277840175,523.2511306012],description:"Wonder Scale, 36-tET version"},wronski:{frequencies:[261.6255653006,277.97716313189,294.32876096318,308.86351459099,327.03195662575,348.83408706747,370.63621750918,392.4383479509,416.96574469783,441.49314144476,463.29527188648,494.18162334558,523.2511306012],description:`Wronski's scale, from Jocelyn Godwin, "Music and the Occult", p. 105.`},wurschmidt:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,331.11985608357,353.19451315581,367.91095120397,392.4383479509,413.89982010446,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"W\xEF\xBF\xBDrschmidt's normalised 12-tone system"},wurschmidt1:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,490.54793493862,502.32108537715,523.2511306012],description:"W\xEF\xBF\xBDrschmidt-1 19-tone scale"},wurschmidt2:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,484.4917875937,502.32108537715,523.2511306012],description:"W\xEF\xBF\xBDrschmidt-2 19-tone scale"},wurschmidt_31:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,287.4304306281,294.32876096318,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,376.74081403286,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,428.6473261885,436.04260883433,446.50763144636,454.2110508691,465.11211608996,476.27480687611,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"W\xEF\xBF\xBDrschmidt's 31-tone system"},wurschmidt_31a:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,287.4304306281,294.32876096318,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,372.08969287196,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,428.6473261885,436.04260883433,446.50763144636,454.2110508691,465.11211608996,476.27480687611,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"W\xEF\xBF\xBDrschmidt's 31-tone system with alternative tritone"},wurschmidt_53:{frequencies:[261.6255653006,264.89588486686,267.90457886781,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,310.07474405997,313.95067836072,319.36714514233,321.48549464138,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,396.89567239676,401.85686830172,408.78994578219,413.43299207996,418.60090448096,425.82286018978,428.6473261885,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,476.27480687611,484.4917875937,490.54793493862,496.11959049595,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"W\xEF\xBF\xBDrschmidt's 53-tone system"},wurschmidt_temp:{frequencies:[261.6255653006,270.6876810201,276.46178051834,282.35904862511,288.38211267756,294.53365605714,300.81641938515,307.23320174366,313.78686192261,320.48031969341,327.31655710978,338.6540596739,345.87796520471,353.25596548096,360.79134753214,368.48746850413,376.34775715481,384.37571538166,392.57491978195,400.94902556208,409.5017589506,423.68596790742,432.72370810117,441.95423435346,451.38165902684,461.01018486849,470.84409628664,480.88777706987,491.14570185547,501.62244073019,512.32266126632,523.2511306012],description:"W\xEF\xBF\xBDrschmidt temperament, 5-limit, g=387.744375, 5-limit"},"t-side":{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Tau-on-Side"},"t-side2":{frequencies:[261.6255653006,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,459.88868900496,470.92601754108,490.54793493862,523.2511306012],description:"Tau-on-Side opposite"},tagawa_55:{frequencies:[261.6255653006,277.01530443593,277.97716313189,279.06726965397,280.31310567921,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,296.50897400735,299.00064605783,301.87565226992,305.22982618403,307.79478270659,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,356.76213450082,359.73515228832,362.25078272391,366.27579142084,369.35373924791,370.63621750918,373.75080757229,377.90359432309,380.54627680087,383.71749577421,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,442.75095666255,444.76346101102,448.50096908674,453.48431318771,457.84473927605,461.69217405988,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,488.36772189445,490.54793493862,492.47165233054,494.18162334558,523.2511306012],description:"Rick Tagawa, 17-limit diamond subset with good 72-tET approximation, 2003"},tamil:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,372.50983809402,387.59343007496,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"Possible Tamil sruti scale. Alternative 11th sruti is 45/32 or 64/45"},tamil_vi:{frequencies:[261.6255653006,275.62199471997,290.69507255622,310.07474405997,327.03195662575,348.83408706747,367.91095120397,387.59343007496,413.43299207996,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Vilarippalai scale in Tamil music, Vidyasankar Sundaresan"},tamil_vi2:{frequencies:[261.6255653006,275.62199471997,290.69507255622,310.07474405997,327.03195662575,348.83408706747,367.49599295996,387.59343007496,413.43299207996,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Vilarippalai scale with 1024/729 tritone"},tanaka:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,331.11985608357,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,387.59343007496,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"26-note choice system of Shoh\xEF\xBF\xBD Tanaka, Studien i.G.d. reinen Stimmung (1890)"},tanbur:{frequencies:[261.6255653006,268.33391312882,275.39533189537,282.83844897362,290.69507255622,299.00064605783,306.66732929008,314.73752216614,323.24394168414,332.22294006425,341.71502406609,351.76546595039,523.2511306012],description:"Sub-40 tanbur scale"},tansur:{frequencies:[261.6255653006,275.71279889585,293.19126194179,310.07474405997,328.21516866261,348.83408706747,367.61706537823,391.78834765065,413.56919813705,438.48689188122,465.11211608996,491.022754507,523.2511306012],description:"William Tans'ur temperament from A New Musical Grammar (1746) p. 73"},tartini_7:{frequencies:[261.6255653006,294.32876096318,313.95067836072,367.91095120397,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Tartini (1754) with 2 neochromatic tetrachords, 1/1=d, Minor Gipsy (Slovakia)"},taylor_g:{frequencies:[261.6255653006,274.70684356563,287.78812183066,294.32876096318,313.95067836072,353.19451315581,366.27579142084,392.4383479509,412.06026534844,418.60090448096,431.68218274599,470.92601754108,523.2511306012],description:"Gregory Taylor's Dutch train ride scale based on pelog_schmidt"},taylor_n:{frequencies:[261.6255653006,275.93341798027,292.67158636845,310.42509491746,327.40170814054,348.83408706747,367.9112241576,391.33200541501,413.90012676351,437.76975193523,465.63764214343,491.10256480205,523.2511306012],description:"Nigel Taylor's Circulating Balanced temperament (20th cent.)"},telemann:{frequencies:[261.6255653006,264.94361147373,271.70648167539,275.15237829755,278.64197723942,282.17583275232,289.3785657319,293.0485888979,296.76515515861,300.52885648597,304.34029066685,308.20006306951,312.10878854255,316.06708432391,324.13491490251,328.24573110938,332.40868242763,336.62443200122,345.21700307457,349.59519124833,354.02890545793,363.06573983159,367.67029324081,372.33324354561,377.05533136015,386.67993129161,391.58396987353,396.55020354877,406.67242132093,411.83001550364,417.05301810033,422.34226102699,433.12283887627,438.61588607285,444.17860098504,449.81186203693,461.29362042034,467.14394139401,473.06846134744,485.14386048744,491.29666030217,497.52749252881,503.83734680745,516.69814597997,523.2511306012],description:"G.Ph. Telemann (1767). 55-tET interpretation of Klang- und Intervallen-Tafel"},telemann_28:{frequencies:[261.6255653006,264.94361147373,275.15237829755,278.64197723942,293.0485888979,296.76515515861,308.20006306951,312.10878854255,328.24573110938,332.40868242763,345.21700307457,349.59519124833,354.02890545793,367.67029324081,372.33324354561,386.67993129161,391.58396987353,396.55020354877,406.67242132093,411.83001550364,438.61588607285,444.17860098504,461.29362042034,467.14394139401,473.06846134744,491.29666030217,497.52749252881,516.69814597997,523.2511306012],description:"Telemann's tuning as described on Sorge's monochord, 1746, 1748, 1749"},"temes-mix":{frequencies:[261.6255653006,306.31659399917,323.38698268281,342.47239171077,361.55773069062,378.62819763364,399.72843132859,423.31905787312,446.91000942727,523.2511306012],description:"Temes' 5-tone Phi scale mixed with its octave inverse"},"temes-ur":{frequencies:[261.6255653006,306.31659399917,323.38703872151,342.47239171077,361.55773069062,423.31905787312],description:"Temes' Ur 5-tone phi scale"},temes:{frequencies:[261.6255653006,306.31659399917,323.38703872151,342.47239171077,361.55773069062,423.31905787312,495.63057556553,523.2511306012,554.13187513888,585.01259700885,684.94462120932],description:"Temes' 5-tone Phi scale / 2 cycle"},"temes2-mix":{frequencies:[261.6255653006,306.31659399917,323.38698268281,342.47239171077,361.55773069062,399.72843132859,423.31905787312,468.0102705885,495.63057556553,523.2511306012,552.41124604023,585.01259700885,646.77396536561,684.94438778203,757.25639526728,799.45686265718,846.63811574624,893.82001885454,1046.5022612024],description:"Temes' 2 cycle Phi scale mixed with its 4/1 inverse"},temp10coh:{frequencies:[261.6255653006,279.06726965397,299.10339764541,320.57805584394,343.5945271479,368.2635494613,394.70435354475,423.05284121745,453.57582505819,488.36772189445,523.2511306012],description:"Differential coherent 10-tone scale, OdC, 2003"},temp10ebss:{frequencies:[261.6255653006,280.43397904206,300.58585223371,322.17714382919,345.31067040124,370.09659148016,396.65293718743,425.1061627261,455.59176355181,488.25490599611,523.2511306012],description:`Cycle of 10 equal "beating" 15/14's`},temp11ebst:{frequencies:[261.6255653006,278.68301283272,296.80966039395,316.07252488244,336.70993118161,358.64093492832,381.94662420398,406.71316497313,433.24697173408,461.44397806515,491.40843569917,523.2511306012],description:"Cycle of 11 equal beating 9/7's"},temp12coh3:{frequencies:[261.6255653006,279.8393060116,294.68135606466,311.32770136359,332.21069717879,353.56473801237,370.2386298036,397.61708850394,418.97112933752,440.1984563065,471.2874275201,496.80305467842,523.2511306012],description:"Differential coherent scale, interval=3, OdC, 2003"},temp12ebf:{frequencies:[261.6255653006,277.18807786937,293.58315284916,311.09098010692,329.5354160273,349.23174343306,369.98176018664,391.84186131702,415.18563115404,439.77824302677,466.03998256716,493.70667148145,523.2511306012],description:"Equal beating temperament tuned by The Best Factory Tuners (1840)"},temp12ebf4:{frequencies:[261.6255653006,276.98801737971,293.51517393789,310.79793252689,329.39098365485,348.83408706747,369.75126958642,391.78747833067,414.83115644933,439.62189128662,465.54602917011,493.43560586205,523.2511306012],description:"Eleven equal beating fifths and just fourth"},temp12ebfo:{frequencies:[261.6255653006,277.20265787963,293.64844512428,311.16011036869,329.64835309433,349.33484978517,370.11921182839,392.06266066657,415.42830219132,440.09698059047,466.36447845344,494.0968438935,523.62658899088],description:"Equal beating fifths and fifth beats twice octave at C"},temp12ebfp:{frequencies:[261.6255653006,277.75307788644,293.77513637875,310.82931496301,329.94340332986,349.12935317325,370.63270249518,391.99544730302,416.18671544528,440.21980402758,465.80107112682,494.47220378931,523.2511306012],description:"All fifths except G#-Eb beat same as 700 c. C-G"},temp12ebfr:{frequencies:[261.6255653006,277.1880780098,293.58315312731,311.09097992515,329.53543943235,349.23174457993,369.98176152553,391.84186168221,415.185630746,439.77824342227,466.03998361904,493.70667287983,523.2511306012],description:"Exact values of equal beating temperament of Best Factory Tuners (1840)"},temp12ep:{frequencies:[261.6255653006,277.19910487213,293.6996776193,311.18246278326,329.70593120198,349.3320268423,370.12638880276,392.15855510068,415.50221189151,440.23542223935,466.44090588941,494.20629608476,523.62445363767],description:"Pythagorean comma distributed equally over octave and fifth: 1/19-Pyth comma"},temp12fo1o:{frequencies:[261.6255653006,277.20349049726,293.7089710611,311.19723286579,329.72679517909,349.35966199273,370.1615231373,392.20198585541,415.5548023839,440.29810917508,466.51470234738,494.29230838881,523.72386870485],description:"Fifth beats same octave opposite"},temp12fo2o:{frequencies:[261.6255653006,277.19623399848,293.69359242342,311.17279259662,329.69226891672,349.31393351076,370.10338107372,392.13011658806,415.46777521802,440.19437666896,466.39258399594,494.14997995304,523.55935978973],description:"Fifth beats twice octave opposite"},temp12p10:{frequencies:[261.6255653006,277.12003622197,293.53214922797,310.91625060765,329.32990524605,349.3071136959,369.493381814,391.90691363044,415.11714643072,439.70197837153,465.74281849401,493.32589719545,523.2511306012],description:"1/10-Pyth. comma well temperament"},temp12p6:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,328.14198392915,349.6228209638,367.9112241576,391.5530240856,413.43299207996,438.51190905657,466.16376151809,491.10256480205,523.2511306012],description:"Modified 1/6-Pyth. comma temperament"},temp12p8:{frequencies:[261.6255653006,277.02617059261,293.33333347996,310.60041853231,328.88393162803,349.42547049952,369.36822764145,391.77416758435,414.83597850347,439.25532436715,465.90062756558,492.49097043477,523.2511306012],description:"1/8-Pyth. comma well temperament"},temp12p8a:{frequencies:[261.6255653006,276.55731914056,293.33333347996,311.12698372208,328.88393162803,349.42547049952,368.74309237173,391.77416758435,414.83597850347,439.25532436715,466.69047534984,492.49097043477,523.2511306012],description:"1/8-Pyth. comma well temperament, consecutive just fifths"},temp12s17:{frequencies:[261.6255653006,275.41266079541,292.61316553779,309.9334225479,327.2710181906,348.78108411875,367.16108497228,391.29294726693,413.18177371806,437.63868343995,464.97078294553,490.98112850332,523.2511306012],description:'4/17th synt. comma "well"-temperament. OdC 1999'},temp12s3:{frequencies:[261.6255653006,275.79485124716,293.07576161921,310.19140758515,326.99095182327,348.87783040382,367.77258074571,390.81668391305,413.640406907,437.79703699716,465.22877230071,490.42492909292,523.2511306012],description:'1/3 synt. comma "well"-temperament. OdC 1999'},temp12septendec:{frequencies:[261.6255653006,277.01530443593,293.31032234393,310.5638707171,328.83233370046,348.17541215342,368.65631875068,390.34198455955,413.30334035457,437.61515184999,463.35732874365,494.18162334558,523.2511306012],description:"Scale with 18/17 steps"},temp12w2b:{frequencies:[261.6255653006,276.80621914251,293.38957467182,310.9374037046,329.12408537692,349.33498699812,369.32540968366,391.68699838314,414.83365420901,439.33301386008,466.03043161756,492.93477894539,523.2511306012],description:"The fifths on white keys beat twice the amount of fifths on black keys"},temp15coh:{frequencies:[261.6255653006,273.98642352939,286.93424587686,300.52595924487,314.76156220527,329.6715499436,345.28562122078,360.48992106995,377.61407292725,395.54746439596,414.33033691342,434.93480826785,455.53927928881,477.11963158959,499.65025190386,523.2511306012],description:"Differential coherent 15-tone scale, OdC, 2003"},temp15ebmt:{frequencies:[261.6255653006,274.13344448045,287.10161388969,300.54701305042,315.02372625978,330.03318193885,345.59498492211,361.72946206059,379.10151766291,397.1128647533,415.78702800292,435.14840215297,455.99486887387,477.60848441971,500.01748339385,523.2511306012],description:"Cycle of 15 equal beating minor thirds"},temp15ebsi:{frequencies:[261.6255653006,274.09084013406,287.01483652929,300.41443756554,314.84183942382,329.80016763418,345.30896502873,361.38848559819,378.7013656391,396.65136316555,415.2619179078,434.55734100747,455.33280077531,476.87279531786,499.20546063174,523.2511306012],description:"Cycle of 15 equal beating major sixths"},temp15mt:{frequencies:[261.6255653006,272.10155294862,290.46827626332,302.09918118188,314.19580976213,326.77681046955,348.83408706747,362.80207077951,377.32935907335,392.4383479509,418.92774655891,435.70241417719,453.14877154631,471.29371440761,503.10581234929,523.2511306012],description:"Cycle of 15 minor thirds, Petr Parizek"},temp16d3:{frequencies:[261.6255653006,272.52663052146,287.69189096389,299.67905363019,312.16568143019,325.17258353382,338.72144179457,352.83483584176,372.46899992671,387.98854005196,404.15472995283,420.99451113006,438.53594735503,462.93911228358,482.22824196207,502.32108537715,523.2511306012],description:"Cycle of 16 thirds tempered by 1/3 small diesis"},temp16d4:{frequencies:[261.6255653006,271.36369423603,291.82218013836,302.68427617679,313.95067836072,325.63643364742,337.75715313333,350.32902355546,376.74081403286,390.76372105392,405.30858212106,420.39482899491,436.04260883433,468.91646607712,486.37029938793,504.47379566792,523.2511306012],description:"Cycle of 16 thirds tempered by 1/4 small diesis"},temp16ebs:{frequencies:[261.6255653006,273.35566334732,285.38860666159,297.73221513295,311.13803992337,324.88997598926,338.996955196,354.31789928052,370.0343963911,386.15666093499,403.66631166114,421.62802297921,440.05346707662,460.0644954801,480.59216613216,501.64981691394,523.2511306012],description:"Cycle of 16 equal beating sevenths"},temp16ebt:{frequencies:[261.6255653006,273.54317752885,285.74681450472,298.24333695649,311.03977535434,324.14332902314,339.04034606654,354.29488987405,369.91554384313,385.91109319424,402.29053605603,420.91180538217,439.97998583037,459.50580330844,479.50024102158,499.97454326842,523.2511306012],description:"Cycle of 16 equal beating thirds"},temp16l4:{frequencies:[261.6255653006,278.81939890042,286.59644689091,305.43134787805,313.95067836072,322.70763593891,343.91573686494,353.50850469302,376.74081403286,387.24916379762,412.69888495295,424.21020636659,436.04260883433,464.69899736225,477.66074674968,509.05224558146,523.2511306012],description:"Cycle of 16 fifths tempered by 1/4 major limma"},temp17c10:{frequencies:[261.6255653006,278.13248184697,287.25399162485,296.67464640038,315.39293803189,325.73642523995,336.41913481987,347.45218787195,369.37422084479,381.48805431277,393.9991677018,418.85802036446,432.59470262079,446.78188702878,474.97099505857,490.54793493862,506.63572944675,523.2511306012],description:'Cycle of 17 fifths tempered by 1/10 of "17-tET comma"'},temp17c11:{frequencies:[261.6255653006,276.93071634298,286.5293181416,296.46061382736,313.80362259461,324.68026371274,335.93389640617,347.57758745223,367.91095120397,380.66298908833,393.8570200719,416.89773925535,431.34769064645,446.29848691039,472.40704302301,488.78098359819,505.72245578392,523.2511306012],description:'Cycle of 17 fifths tempered by 1/11 of "17-tET comma"'},temp17c12:{frequencies:[261.6255653006,275.93321340298,285.92682111936,296.28237159295,312.48531442823,323.80274674587,335.53006800342,347.68212334757,366.69599021774,379.97679689512,393.73860099464,415.27118158544,430.3112595477,445.8960513142,470.2809925818,487.31338757149,504.96265307831,523.2511306012],description:'Cycle of 17 fifths tempered by 1/12 of "17-tET comma"'},temp17c13:{frequencies:[261.6255653006,275.09197878886,285.41800532755,296.13163442011,311.37414725128,323.06208421743,335.18874504319,347.77059980835,365.67107999768,379.3971387881,393.63842979584,413.89982010446,429.43622376713,445.55581352332,468.48950048969,486.07501593832,504.32063522708,523.2511306012],description:'Cycle of 17 fifths tempered by 1/13 of "17-tET comma"'},temp17c14:{frequencies:[261.6255653006,274.37296298479,284.98259752889,296.00249241327,310.42486507835,322.42857866752,334.89645942743,347.84645641687,364.79486552165,378.90099378095,393.5525871037,412.72797362103,428.68761089217,445.26438593469,466.95936897503,485.01606158014,503.77098227424,523.2511306012],description:'Cycle of 17 fifths tempered by 1/14 of "17-tET comma"'},temp17c15:{frequencies:[261.6255653006,273.75133628611,284.60578240525,295.8906154666,309.60449456672,321.88054534371,334.64335075548,347.91221098893,364.0371787025,378.47152629398,393.47820661021,411.71505587788,428.03986711385,445.01196937812,465.63729761752,484.10016650719,503.29510175355,523.2511306012],description:'Cycle of 17 fifths tempered by 1/15 of "17-tET comma"'},temp17ebf:{frequencies:[261.6255653006,272.44226039746,283.83762774933,295.84262353625,308.01140541539,320.83119298602,334.33681303028,348.02669374128,362.44895565855,377.64277622383,393.64943714798,409.87448211667,426.96753159265,444.97502525992,463.22819966593,482.45788080796,502.71631088044,523.2511306012],description:"Cycle of 17 equal beating fifths"},temp17ebs:{frequencies:[261.6255653006,272.25303191034,284.09302419378,294.99486987374,307.14054534497,320.67196534338,333.1312181383,347.01199086095,362.47647062671,376.71561430061,392.57935523584,410.25304697073,426.52635565248,444.65634289229,464.854847056,483.45291583119,504.17290303449,523.2511306012],description:"Cycle of 17 equal beating sevenths"},temp17fo2:{frequencies:[261.6255653006,272.49443630436,283.81483782984,295.60553136463,307.88605111976,320.67674980257,333.99881838086,347.87433573796,362.32629011314,377.37863296804,393.05630224552,409.38528080469,426.39262165238,444.10651133426,462.55629730628,481.77255670213,501.78712602614,522.6331757532],description:"Fifth beats twice octave"},temp17nt:{frequencies:[261.6255653006,272.67141175251,283.62400127587,295.59862296305,308.07881564783,321.08592105074,333.98321109015,348.08400151932,362.78013022893,377.35217954558,393.28401259522,409.88848628312,426.35277308246,444.35341180422,463.11404114636,482.66674266598,502.05436630802,523.2511306012],description:"17-tone temperament with 27/22 neutral thirds"},temp17s:{frequencies:[261.6255653006,272.47577100117,283.83144686231,295.66037914716,307.98229466369,320.75501909295,334.12277657932,348.04764753103,362.48197303348,377.58873713905,393.32509157531,409.63717539588,426.70917767843,444.49267120113,463.01730800927,482.21968335939,502.31662775181,523.2511306012],description:"Cycle of 17 fifths tempered by 2 schismas. Schulter, Tuning List 10-9-98"},temp19d5:{frequencies:[261.6255653006,270.66831710441,280.02362001571,289.70227696231,304.50185643804,315.02657220273,325.91506125677,337.17989695691,348.83408706747,360.89108965294,379.3273836973,392.4383479509,406.00247545366,420.03542981361,434.55341522625,449.57319616728,472.53985806789,488.87259164079,505.76984518255,523.2511306012],description:"Cycle of 19 thirds tempered by 1/5 small diesis. Third = 3\\5"},temp19ebf:{frequencies:[261.6255653006,271.21349495395,281.45216719787,291.55303152151,302.33945232218,313.85796000757,325.22143162672,337.35615460362,350.31447634238,363.09838134063,376.74994653359,390.21776437961,404.59965986997,419.95766938963,435.10896436483,451.288596451,468.56635736893,485.61156561298,503.81364896584,523.2511306012],description:"Cycle of 19 equal beating fifths"},temp19ebmt:{frequencies:[261.6255653006,271.3515811897,281.43551369743,291.89053542337,302.73030209663,313.98726376766,325.65848288741,337.75920164946,350.30522706536,363.3129458114,376.82130195458,390.82676353803,405.34762742982,420.40285701732,436.01212051281,452.22214724761,469.0287008844,486.45373685079,504.52001310976,523.2511306012],description:"Cycle of 19 equal beating minor thirds"},temp19ebo:{frequencies:[261.6255653006,277.22364042749,293.65618047886,311.2040149966,329.6906225544,349.43193638686,370.22936988938,392.1394232912,415.53653598153,440.18534605859,466.50709783521,494.2370091719,523.84897992059,555.04513017437,587.91021027711,623.0058793126,659.97909442818,699.46172209312,741.05658909815,784.8766959018],description:"Cycle of 19 equal beating octaves in twelfth"},temp19ebt:{frequencies:[261.6255653006,271.59402175166,281.80172126331,292.25440577595,302.95795550425,313.91838845704,325.14187338321,337.60244413755,350.36206814823,363.42792409681,376.80735887968,390.50790160795,404.53725818867,420.11297167574,436.06250107414,452.39482160095,469.11911613638,486.2447950704,503.78149001575,523.2511306012],description:"Cycle of 19 equal beating thirds"},temp19k10:{frequencies:[261.6255653006,271.76196854941,282.29109592175,293.22816309454,304.58897525989,314.09773337131,326.2671147593,338.90798583865,352.03861397416,365.67797428016,377.09383089344,391.70392883316,406.88007915549,422.6442137645,439.01911266466,452.72455471179,470.26488431194,488.48479525859,507.41061720556,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/10 kleisma"},temp19k3:{frequencies:[261.6255653006,272.95237156345,284.76956174698,297.09836322231,309.96092731219,314.44113201634,328.05453510669,342.25731432435,357.07498823553,372.53417996774,377.91882441317,394.28042610165,411.35038641496,429.15937528906,447.73938330242,454.2110508691,473.87564511273,494.39160029408,515.79576952378,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/3 kleisma"},temp19k4:{frequencies:[261.6255653006,272.52663052146,283.88190679319,295.71031957624,308.03158289191,314.31844786309,327.4150485592,341.05734286691,355.26806612985,370.07090075127,377.62397563434,393.35830866491,409.74823893478,426.8210805314,444.6052930255,453.67960031314,472.58291784883,492.27387080735,512.78528301977,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/4 kleisma"},temp19k5:{frequencies:[261.6255653006,272.27150423996,283.35064249518,294.88062803952,306.8797443789,314.24485853342,327.03195662575,340.33937954017,354.18830437416,368.6007608062,377.44717941318,392.80607455881,408.78994578219,425.42422593284,442.73537947933,453.36102900438,471.8089732132,491.00759210237,510.98743222773,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/5 kleisma"},temp19k6:{frequencies:[261.6255653006,272.10155294862,282.99701916355,294.32876096318,306.11424676116,314.19580976213,326.77681046955,339.86157848985,353.47028562902,367.62391141072,377.32935907335,392.4383479509,408.1523292189,424.49552853314,441.49314144476,453.14877154631,471.29371440761,490.16521545931,509.79236747994,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/6 kleisma"},temp19k7:{frequencies:[261.6255653006,271.9802243463,282.7447017667,293.93521741989,305.56863311614,314.16077935352,326.59468561952,339.52070304385,352.95830848174,366.92774752709,377.24522513926,392.17589782962,407.69749910471,423.83341578697,440.60837682578,452.99722066906,470.92601754108,489.56440442681,508.94046380742,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/7 kleisma"},temp19k8:{frequencies:[261.6255653006,271.88926339885,282.55561052465,293.64040364533,305.16005936662,314.13450956378,326.45815718343,339.26526937521,352.57481080357,366.4064920117,377.18213591051,391.97917444376,407.35670799125,423.33750965456,439.94524339387,452.88359011983,470.65043349884,489.11427877975,508.30246674991,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/8 kleisma"},temp19k9:{frequencies:[261.6255653006,271.81853598083,282.40862793607,293.41130980736,304.84265779003,314.11407882217,326.35200974457,339.06673262958,352.27682225125,366.00158141044,377.13307501509,391.82623534045,407.09184571451,422.95220417284,439.43048454013,452.79523167251,470.4362008006,488.76446469244,507.80680338678,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/9 kleisma"},temp19lst:{frequencies:[261.6255653006,270.56149416036,279.80263334807,289.3594074481,304.78245180412,315.19242188443,325.95794877725,337.09117667186,348.60466454729,360.5114003397,379.7268899367,392.69661814622,406.10933276067,419.98016416303,434.32475952075,449.15930043669,473.09978287909,489.25870067642,505.96953296163,523.2511306012],description:"Cycle of 19 least squares thirds 5/4^5 = 3/2"},temp19lst2:{frequencies:[261.6255653006,270.86681403244,280.43448605562,290.34011310859,303.98143643885,314.71879896063,325.83542931914,337.34472599098,349.26055890156,361.59728998429,378.58655645252,391.95915298383,405.80409975455,420.1380835834,434.97837844393,450.34287106955,471.50175486263,488.15634183652,505.39920634693,523.2511306012],description:"Cycle of 19 least squares thirds 5/4, 3/2 (5), 6/5 (4)"},temp21ebs:{frequencies:[261.6255653006,270.48603901573,279.57527100587,288.89916626223,298.46378542286,308.59004184051,318.97773454914,329.63361550747,340.56460989801,352.13747205507,364.00912264098,376.18727282918,388.67983604901,401.90596519454,415.47356606258,429.3914526989,443.66866815503,458.78424493347,474.29007331382,490.19622772738,506.51304733863,523.2511306012],description:"Cycle of 21 equal beating sevenths"},temp22ebf:{frequencies:[261.6255653006,269.81217946012,278.43675961795,287.52273893052,297.09479717246,306.30473778727,316.00739221221,326.22911792828,336.99768333647,347.35886661388,358.27435338478,369.77379349451,381.88843101834,394.65117841871,406.93109909525,419.8679691216,433.49693671533,447.85502662133,461.66993710068,476.2239184443,491.55650493929,507.70935693135,523.2511306012],description:"Cycle of 22 equal beating fifths"},temp22ebt:{frequencies:[261.6255653006,270.16401944699,278.90739732088,287.86061708193,297.02871287074,306.4168425362,316.03028815926,325.87445510174,336.54752540671,347.4767459334,358.66827061689,370.12838991426,381.86355177507,393.88036006393,406.18556836568,419.52690380046,433.1884314408,447.17783799964,461.50298590676,476.17193984405,491.19294816955,506.57446222015,523.2511306012],description:"Cycle of 22 equal beating thirds"},temp22fo2:{frequencies:[261.6255653006,269.97341665226,278.58762814388,287.47669703533,296.64939669548,306.114775449,315.88217199169,325.96122111215,336.36187067071,347.09438029185,358.16933884319,369.59767092309,381.39065611261,393.55992749281,406.11749146369,419.07573510033,432.44744798202,446.24582051114,460.48446638525,475.17743368268,490.33921589034,505.98477744485,522.12955176559],description:"Fifth beats twice opposite rate as octave"},temp23ebs:{frequencies:[261.6255653006,269.54528659271,277.75645349026,286.26979186473,295.09642104593,304.24787054065,313.41421505132,322.9178815064,332.77128133421,342.98728793362,353.5792427091,364.56098080918,375.56059498003,386.96499273375,398.78907363541,411.04828247111,423.75862731373,436.93671323096,450.13624919654,463.82153026575,478.01042762353,492.72147385367,507.97388874722,523.2511306012],description:"Cycle of 23 equal beating major sixths"},temp24ebaf:{frequencies:[261.6255653006,269.28287293678,277.23083697142,285.33112867981,293.73889258015,302.30779732819,311.20195864933,320.26658492056,329.67528611807,339.26431305611,349.21731641877,359.36108127338,369.88988063787,380.8183283077,391.95623237686,403.5169050439,415.29914897519,427.52862168357,439.9924847314,452.92944495636,466.1143590732,479.79973930305,493.74741628009,508.22451419243,523.2511306012],description:"Cycle of 24 equal beating 11/8's"},temp24ebf:{frequencies:[261.6255653006,269.29177952703,277.18807786937,285.37455545576,293.58315284916,302.20762754558,311.09098010692,320.17688686519,329.5354160273,339.23795459232,349.23174343306,359.45337270909,369.98176018664,380.89707445632,391.84186131702,403.3411703213,415.18563115404,427.4653330282,439.77824302677,452.71493931339,466.03998256716,479.66882917609,493.70667148145,508.26043277122,523.2511306012],description:"24-tone ET with 23 equal beatings fifths. Fifth on 17 slightly smaller."},temp25ebt:{frequencies:[261.6255653006,269.07040607882,276.69392272178,284.50040351526,292.49424189123,300.67993013952,309.06207502162,317.64539198503,326.43470939254,335.74076076764,345.27015661764,355.02825763358,365.02055286832,375.25266439783,385.73034580726,396.45949385543,407.44613828076,419.07870286007,430.99044652419,443.18807578441,455.67844358274,468.46858279232,481.56568677979,494.97711759939,508.71042703507,523.2511306012],description:"Cycle of 25 equal beating thirds"},temp26eb3:{frequencies:[261.6255653006,268.53506427639,276.23413316293,283.52944261778,291.01742029734,298.70315454572,307.26715974579,315.38204761281,323.71124866952,332.26042290088,341.78653782772,350.81307822085,360.07800843467,370.40166886388,380.18393134541,390.22454217496,400.5303243006,412.0137801623,422.89501338113,434.06361862988,445.5271853685,458.30072684004,470.40439262311,482.82771472967,495.57913524385,509.78770018956,523.2511306012],description:"Cycle of 26 fifths, 5/4 beats three times 3/2"},temp26ebf:{frequencies:[261.6255653006,268.42568455944,275.6873347244,283.44184249631,290.6057533496,298.25588724353,306.42524452376,315.14906491362,323.2084665433,331.81486605817,341.00539333861,350.8196903474,359.88651586494,369.56871668171,379.90806097321,389.45994242989,399.66012078319,410.55259814459,422.18435687733,432.93022440227,444.40542617247,456.65946119637,469.74519313893,481.83429211771,494.74389287961,508.52968420524,523.2511306012],description:"Cycle of 26 equal beating fifths"},temp26ebmt:{frequencies:[261.6255653006,268.65375733515,276.22103845862,283.50786797993,291.35362426947,298.90860888253,307.04308924768,315.80151824033,324.23534814673,333.31608510092,342.06028051348,351.47518831899,360.54116941247,370.30254728737,380.81265974123,390.93325547321,401.83014055422,412.32317421544,423.62106542614,434.50024245702,446.21389528982,458.82603004394,470.97074536855,484.04700949484,496.63864979835,510.1961187079,523.2511306012],description:"Cycle of 26 equal beating minor thirds"},temp26ebs:{frequencies:[261.6255653006,268.70854008298,275.97438147252,283.42781183148,291.07367309004,298.91693448926,307.01176285104,315.31558194419,323.83378869523,332.57191674,341.53564330438,350.78687613393,360.27695513986,370.01204624828,379.9984780646,390.24273934583,400.81557597059,411.66137956276,422.7871998129,434.200265189,445.90799193987,457.99123299379,470.38643795716,483.10166179174,496.14516363988,509.5254229925,523.2511306012],description:"Cycle of 26 equal beating sevenths"},temp27c8:{frequencies:[261.6255653006,268.8683660761,273.88218275531,281.46429379013,289.25630678777,297.26403435806,305.49344487497,313.95067836072,319.80518189674,328.65861797738,337.75715313333,347.10756874671,356.7168418477,363.36884069528,373.42828707985,383.76621672426,394.39034225616,405.30858212106,412.86671295557,424.29645219584,436.04260883433,448.1139452722,460.51946086698,473.26841152735,482.09384659572,495.44005640506,509.15574351714,523.2511306012],description:"Cycle of 27 fifths tempered by 1/8 of difference between augm. 2nd and 5/4"},temp27eb2:{frequencies:[261.6255653006,268.46319812592,275.47953375729,282.6792426258,290.06711722511,297.6480770209,305.21714541248,313.19405229436,321.37943712173,329.77875040935,338.39757940759,347.00289091411,356.07187808578,365.37788286775,374.92710181611,384.72589137834,394.78077412888,404.81988946592,415.39993259502,426.25648711974,437.39677971686,448.82822593369,460.24174609969,472.27024976331,484.61312060812,497.27857467888,510.27504274822,523.2511306012],description:"Cycle of 27 fourths, 5/4 beats twice 4/3"},temp28ebt:{frequencies:[261.6255653006,268.20719354764,274.94677993062,281.84811597329,288.91508487862,296.15166190523,303.56191452522,311.15001492268,318.92023016627,326.87692943437,335.10396312415,343.5284476344,352.15511767098,360.98882840285,370.03454814671,379.29736707683,388.78249121135,398.49525813745,408.44113355924,418.72492751128,429.25553103998,440.03886948281,451.08100913788,462.38815755283,473.96667987616,485.82308640697,497.96404651665,510.39638953936,523.2511306012],description:"Cycle of 28 equal beating thirds"},temp29c14:{frequencies:[261.6255653006,268.03384168485,274.59908446169,281.12309545065,288.00894581307,294.85155418799,302.07367045706,309.47268578827,316.82523654187,324.58557784847,332.29718551084,340.4364979057,348.77517523396,357.06148706459,365.80737813473,374.49834647311,383.67133729641,392.78672100419,402.40767098088,412.26427490957,422.0589810157,432.39692561869,442.66994710331,453.51274088813,464.62111626441,475.65973015548,487.31057837675,498.88825560972,511.10806227553,523.2511306012],description:"Cycle of 29 fifths 1/14 comma positive"},temp29ebf:{frequencies:[261.6255653006,267.97141371953,274.40384216744,281.08918054527,287.86573007783,294.90872015661,302.04780073409,309.28428172011,316.80528774769,324.42890571749,332.35226986162,340.383734589,348.52477529448,356.98590767403,365.56247629567,374.47626314535,383.51165984234,392.90231649713,402.42108995343,412.06973029551,422.09773822292,432.26256191617,442.8270465847,453.53566813958,464.39038927288,475.67189906986,487.10732348594,498.99237046175,511.03956815915,523.2511306012],description:"Cycle of 29 equal beating fifths"},temp29fo:{frequencies:[261.6255653006,267.94780983951,274.42283293416,281.05432651499,287.84607006616,294.80193939197,301.92589896847,309.2220107369,316.69443479624,324.34743177532,332.18536334326,340.21270232633,348.43402388135,356.85401564372,365.47747852664,374.30932945854,383.35460418662,392.61845788025,402.10617708826,411.82316930666,421.77497497272,431.96726840975,442.4058610624,453.0967048103,464.04589268124,475.25967298378,486.74443697706,498.50673304697,510.55326782272,522.89091000079],description:"Fifth beats with opposite equal rate as octave"},temp31c51:{frequencies:[261.6255653006,267.17944246504,273.80687224646,279.61933836952,286.55534345926,292.63843680803,298.85066583755,306.26370726525,312.76517639908,319.40466275447,327.32754956004,334.27616903285,342.56794607269,349.84009583671,357.26662128823,366.1286782788,373.90098334082,383.17565840352,391.30984260196,399.61670205031,409.52926208827,418.22288720188,428.59697681668,437.69538032917,446.98692528774,458.07451174337,467.79867446983,477.72926229583,489.57941763243,499.97237729845,512.37427391379,523.2511306012],description:"Cycle of 31 51/220-comma tempered fifths (twice diff. of 31-tET and 1/4-comma)"},temp31coh:{frequencies:[261.6255653006,267.17903658035,272.71444919697,278.8328003927,286.67318542907,292.31259119845,298.22448926086,305.9625493141,312.79375273624,319.37019903425,325.99008611032,333.53448283298,342.55073731576,349.35067604096,356.49690427728,365.94514964733,373.94225818849,381.74854907994,389.68867781295,401.66236977474,409.34549662494,417.52928752537,426.20510506248,437.61344561246,447.02040600938,456.30467151405,466.17931462488,479.8608061495,489.18804557359,499.02680928636,509.58872491278,523.2511306012],description:"Differential coherent 31-tone scale, interval=8, OdC, 2003"},temp31eb1:{frequencies:[261.6255653006,267.35556661283,273.21106374578,279.19480525048,287.36432599524,293.65804565963,300.08960744161,306.66203029506,313.37839929357,320.24186707858,327.25565533923,334.42305632458,341.74743438901,349.23222958864,356.8809512704,367.32364464292,375.36859607341,383.58974428421,391.99094825517,400.57615379751,409.34938620036,418.31476585427,427.47650107887,436.83889236244,446.40633438056,459.46863260649,469.5317006585,479.81516534138,490.32385367952,501.06269841655,512.03674033076,523.2511306012],description:"Cycle of 31 thirds, 3/2 beats equal 5/4. Third 1/18 synt. comma higher"},temp31eb1a:{frequencies:[261.6255653006,267.52830363402,273.56421824856,279.73631545395,286.19123047598,292.64821393201,299.25087842544,306.00251077972,312.90647197491,319.96619882071,327.18520755731,334.56708808783,342.11551697966,349.83425186023,357.90667665031,365.98168819447,374.23888853079,382.68238383924,391.31637942763,400.14517332125,409.17316051655,418.40483516889,427.84479530109,437.49773526159,447.36846272566,457.69148927209,468.01782376277,478.57713873597,489.37469064597,500.41585743254,511.7061296998,523.2511306012],description:"Cycle of 31 thirds, 5/4 beats equal 7/4"},temp31eb2:{frequencies:[261.6255653006,267.43633367564,273.37616065041,279.44791264824,286.8151286113,293.18536340431,299.69708268426,306.35342885652,313.15761412007,320.11292201761,327.22270902014,334.4904061467,341.91952062013,349.51363755953,357.2764217104,366.69546492458,374.83986170174,383.16514754137,391.67534003419,400.37454600262,409.26696348258,418.35688374945,427.64869338884,437.14687641357,446.85601642745,458.63669049374,468.82312458207,479.23580188553,489.87974732177,500.7600974131,511.88210276525,523.2511306012],description:"Cycle of 31 thirds, 3/2 beats twice 5/4"},temp31eb2a:{frequencies:[261.6255653006,267.30377559621,273.10522335955,279.03258328435,287.71713441117,293.9616250555,300.34164347605,306.86013111019,313.520093235,320.3246003528,327.27678960683,334.37986622751,341.63710501026,349.05185182525,356.62752721996,367.72712485201,375.70811839104,383.86232802855,392.19351543866,400.70551714108,409.40225971792,418.28775270674,427.36609266644,436.64146506587,446.11814621352,460.00303307438,469.98674378481,480.18713671772,490.60891465214,501.25688243424,512.13594919255,523.2511306012],description:"Cycle of 31 thirds, 5/4 beats twice 3/2"},temp31eb2b:{frequencies:[261.6255653006,267.52098517401,273.5492512983,279.71335720518,286.24081966732,292.69091492047,299.28635537219,306.03041620307,312.92644639599,319.97787039914,327.18818982659,334.56098519707,342.09991771207,349.80873107384,357.97195918064,366.0384300542,374.28666922186,382.72077261519,391.34492846269,400.16341936959,409.18062444454,418.40102147414,427.82918914659,437.46980932536,447.32766937413,457.76662230541,468.08184681118,478.62951259033,489.41485742956,500.44323714283,511.72012823096,523.2511306012],description:"Cycle of 31 thirds, 5/4 beats twice 7/4 (7/4 beats twice 5/4 gives 31-tET)"},temp31ebf:{frequencies:[261.6255653006,267.58895287558,273.47207673981,279.84020613447,286.1226232561,292.32048149598,299.02929415269,305.64780689513,312.81195283539,319.87967238294,326.85226402826,334.39967773649,341.84550545999,349.90516819854,357.85635261941,365.7005167875,374.19135817901,382.56791460144,390.83172556312,399.77680617055,408.60149248083,418.153686518,427.57731316062,436.87410111252,446.93731687602,456.86508723973,467.61130449655,478.21288647115,488.67177324268,499.99289085438,511.16163412976,523.2511306012],description:"Cycle of 31 equal beating fifths"},temp31ebf2:{frequencies:[261.6255653006,268.47208070676,273.9410776603,281.1098810272,286.83632036086,292.67941197057,300.33857976184,306.45672349367,312.69950064833,320.88257689406,327.41921873353,335.98749730659,342.8318387903,349.81560715632,358.96997989875,366.28249344322,375.86779039798,383.5245262314,391.33723606718,401.57819634767,409.75867428285,420.48170539436,429.04726334649,437.78730875453,449.24382765192,458.39529367535,467.73318258368,479.97335657757,489.75080836323,502.56716753771,512.80487382351,523.2511306012],description:"Cycle of 31 fifths, 3/2 beats equal 7/4"},temp31ebs:{frequencies:[261.6255653006,267.49970467488,273.5255021102,279.70687352555,286.04783307233,292.55250379055,299.22511217624,305.93841412724,312.82503848113,319.88946348152,327.13627425327,334.57018402367,342.19602042672,349.86836735032,357.73879552978,365.81242398075,374.09449397971,382.59039112658,391.30563169636,400.0740276901,409.06880268892,418.29580572823,427.76103041037,437.4706255228,447.4309015606,457.4519243295,467.73166961576,478.27681510244,489.09421437332,500.19089295757,511.57406697079,523.2511306012],description:"Cycle of 31 equal beating sevenths"},temp31ebs1:{frequencies:[261.6255653006,267.15774161678,272.80689957055,278.57550963341,287.00766304701,293.07655388437,299.27377555355,305.60203820353,312.06411627904,318.6628357552,328.30838543699,335.25059642555,342.33960321815,349.5785118895,356.97048813578,364.51877275634,375.55232561156,383.49353066309,391.60265342908,399.88324912115,408.33893898267,416.9734277591,429.59472356821,438.6786743379,447.954711436,457.42689142912,467.09936712211,476.97636845082,491.41388278482,501.80502418824,512.41589335668,523.2511306012],description:"Cycle of 31 sevenths, 3/2 beats equal 7/4. 17/9 schisma fifth"},temp31ebs2:{frequencies:[261.6255653006,267.52957387699,273.56681763873,279.74030009523,286.13080593576,292.58781532731,299.19053769144,305.94226304679,312.84635035505,319.90623967996,327.21431324819,334.59843914397,342.14920188821,349.87035796113,357.76575454309,365.83932576918,374.19671203989,382.64107477964,391.27599615891,400.10577865514,409.13482199124,418.3676180873,427.92498506647,437.58181190976,447.45656083737,457.55415226032,467.87960969795,478.43807796233,489.36771995709,500.41110255739,511.70370009509,523.2511306012],description:"Cycle of 31 sevenths, 3/2 beats twice 7/4. Almost 31-tET"},temp31ebsi:{frequencies:[261.6255653006,267.31506098272,273.2139312212,279.32987994092,285.67089487749,292.24525964349,299.06156112772,306.12870201667,312.71376833043,319.5411631371,326.61980701828,333.95894503443,341.56816427739,349.45740040562,357.63696227352,366.11753111539,374.01961057916,382.2124855973,390.7068565555,399.51382386635,408.64488423766,418.11197066674,427.92744450622,438.10412760018,447.58662182594,457.41807184609,467.61131789159,478.17967690081,489.136951815,500.49745466086,512.27602199232,523.2511306012],description:"Cycle of 31 equal beating major sixths"},temp31ebt:{frequencies:[261.6255653006,267.508686718,273.53300221315,279.70190221389,286.0188552526,292.48741633838,299.11122072338,305.89399777728,312.83956126154,319.95181832117,327.23477005018,334.588671338,342.11906613961,349.83019225353,357.72638299858,365.81208378543,374.09184045976,382.57031224079,391.25226584136,400.14258695229,409.24627647794,418.43865241641,427.85164834976,437.49055334209,447.36079317794,457.46791872903,467.81761394993,478.41570188597,489.26814549043,500.38104816704,511.76065992154,523.2511306012],description:"Cycle of 31 equal beating thirds"},temp31g3:{frequencies:[261.6255653006,266.21023205793,270.87523947024,275.62199471997,289.25983723073,294.32876096318,299.48651076576,304.73464409936,310.07474405997,315.5084236529,331.11985608357,336.92232427465,342.82647426905,348.83408706747,354.94697625466,361.16698614085,379.03761443004,385.6797831671,392.4383479509,399.31534788729,406.31285900225,413.43299207996,433.88975562921,441.49314144476,449.22976592409,457.10196592055,465.11211608996,473.26263524279,496.67978412536,505.38348615935,514.23971114652,523.2511306012],description:"Wonder Scale, cycle of 31 sevenths tempered by 1/3 gamelan residue, s.wonder1"},temp31g4:{frequencies:[261.6255653006,266.75106828164,271.97698492363,277.30528403104,287.97116616014,293.61280545832,299.36497003718,305.22982618403,311.20958045219,317.30648321666,329.51091606373,335.96636137331,342.54827390456,349.25913259695,356.10146388137,363.07784268567,377.0427625798,384.42940207435,391.96075366681,399.63965159508,407.46898671086,415.4517078616,431.43106138252,439.88322158593,448.50096908674,457.28754710584,466.24626137824,475.38048570318,493.66485502092,503.33623955776,513.19709315346,523.2511306012],description:"Cycle of 31 sevenths tempered by 1/4 gamelan residue"},temp31g5:{frequencies:[261.6255653006,267.07609791103,272.64018328418,278.3201871026,287.20071989568,293.1840695693,299.2920706603,305.52732176658,311.89247392994,318.39023342226,328.54930692245,335.39408374843,342.38146206091,349.5144087687,356.79595852417,364.22920722399,375.85089312601,383.68111960674,391.67447579625,399.83436022994,408.16424460367,416.66766586736,429.96253800336,438.92009035289,448.06425836543,457.39892986705,466.92807368021,476.65574406444,491.86469103391,502.11187209711,512.57253609913,523.2511306012],description:"Cycle of 31 sevenths tempered by 1/5 gamelan residue"},temp31g6:{frequencies:[261.6255653006,267.29300481931,273.08321314304,278.9988528944,286.68823620156,292.89859205665,299.24348036203,305.72581270733,312.34856974117,319.11478979112,327.9097940226,335.01310892782,342.27029731995,349.68469585889,357.2597060542,364.99881126821,375.05840734677,383.18307527508,391.48374080678,399.96422099622,408.62840644009,417.48028065389,428.98629965513,438.27917301224,447.77335490729,457.47320099372,467.3831713443,477.50781354513,490.66822826519,501.2972832058,512.15658610391,523.2511306012],description:"Cycle of 31 sevenths tempered by 1/6 gamelan residue"},temp31g7:{frequencies:[261.6255653006,267.44804485495,273.40010374961,279.48462577409,286.32273545638,292.69485077785,299.20877758909,305.86767190621,312.6747599825,319.63333987564,327.45376040978,334.74124806474,342.19091885571,349.80638115363,357.59132564064,365.54952414453,374.49336901227,382.82772265927,391.34755742947,400.0570012071,408.96027492626,418.06169111145,428.2903432132,437.821949061,447.565680886,457.52625955954,467.70851101039,478.11736856842,489.81539667363,500.71624319167,511.85968815724,523.2511306012],description:"Cycle of 31 sevenths tempered by 1/7 gamelan residue"},temp31h10:{frequencies:[261.6255653006,267.8597617245,273.71072489962,279.68949451567,286.35413084244,292.60907359238,299.00064605783,306.12544311476,312.81225819702,320.26616683613,327.26186315247,334.41036913783,342.37893460431,349.85764856047,358.19430059608,366.01847563765,374.01355928612,382.92581520849,391.29021017831,400.61414686654,409.36491649663,418.30683086326,428.27453775026,437.62950220286,447.18881072031,457.84473927605,467.84561789912,478.99376955124,489.45661357347,500.14800438647,512.06587983104,523.2511306012],description:"Cycle of 31 fifths tempered by 1/10 Harrison's comma"},temp31h11:{frequencies:[261.6255653006,269.21878403965,274.22153683641,279.31725480271,287.42394184039,292.76499331753,298.20529308835,306.86017365004,312.56239683413,321.63396690808,327.61072570921,333.69854562169,343.38355445704,349.7644731902,359.91576765193,366.60389537541,373.41630725864,384.25405432087,391.39444778107,402.75397853578,410.23814647641,417.86138882164,429.98907567166,437.9793418028,446.11808436842,459.06587176894,467.59645436585,481.16761342105,490.10890120058,499.21634316923,513.70521350358,523.2511306012],description:"Cycle of 31 fifths tempered by 1/11 Harrison's comma"},temp31h12:{frequencies:[261.6255653006,270.35656674398,274.64794212014,279.0074329748,288.31850430385,292.89498819461,297.54411640065,307.47379627264,312.35433239663,322.77826253379,327.90172667751,333.10651564349,344.2229903876,349.68684701428,361.35664068489,367.0924599966,372.91932620731,385.3644371109,391.48133253101,404.54589939324,410.96726244836,417.49055189439,431.4231018689,438.27108715714,445.22777061734,460.08596806997,467.38892215786,482.98668436162,490.65313915878,498.44128370652,515.07533168556,523.2511306012],description:"Cycle of 31 fifths tempered by 1/12 Harrison's comma"},temp31h8:{frequencies:[261.6255653006,264.15772162327,272.31089540773,280.71571360382,283.4326348965,292.18072491748,301.19882119914,304.11398928909,313.50040506268,316.53463456122,326.30440921209,336.37572681506,339.63135730234,350.11400731728,353.50260556257,364.41338872146,375.66093089504,379.29678648678,391.00370158472,394.788050771,406.97310157871,419.5342415638,423.59472503043,436.668886633,450.14658206855,454.50334862767,468.53149836075,473.06620699858,487.66729542944,502.71904336675,507.58463809481,523.2511306012],description:"Cycle of 31 fifths tempered by 1/8 Harrison's comma"},temp31h9:{frequencies:[261.6255653006,266.20804854623,273.08769296879,280.14512719472,285.05198845745,292.41861893027,299.97562432697,305.22982618403,313.11791376428,318.60230743232,326.83598255713,335.28243953396,341.15505431438,349.97156260351,356.10146388137,365.30423365264,374.74482972428,381.30864508241,391.16284711627,398.01423104415,408.30015740759,418.85190169901,426.18827121524,437.20230245522,448.50096908674,456.35665612784,468.15032961482,476.35018210031,488.66055322307,501.28905975035,510.06935121341,523.2511306012],description:"Cycle of 31 fifths tempered by 1/9 Harrison's comma"},temp31ms:{frequencies:[261.6255653006,267.90457886781,273.56603860918,280.13162379381,286.05147140959,292.91670530125,299.10673210371,306.2852939563,312.75782903301,320.26401722477,327.03195662575,334.88072358477,341.95754947331,350.16453098318,357.56433846376,366.14588292411,373.88341429498,382.85661659068,390.94728541851,400.33002063726,408.78994578219,418.60090448096,427.44693588739,437.70566275183,446.9554220819,457.68235263341,467.35426952494,478.57076966998,488.68410850494,500.41252756995,510.98743222773,523.2511306012],description:"Cycle of 31 5th root of 5/4 chromatic semitones"},temp31mt:{frequencies:[261.6255653006,267.90457886781,274.33428876064,280.9183116909,285.65057792122,292.50627485027,299.52642572255,306.71505845072,314.07622014281,319.36714514233,327.03195662575,334.88072358477,342.9178609508,351.14788961362,359.57543896435,365.63273925968,374.40803131735,383.39382442208,392.5952765698,402.01756125559,408.78994578219,418.60090448096,428.6473261885,438.93486201703,449.46929870544,457.04092569426,468.01003810189,479.24227945773,490.7440946167,502.52195335034,510.98743222773,523.2511306012],description:"Cycle of 31 square root of 5/4 meantones"},temp31to:{frequencies:[261.6255653006,267.53589118464,273.57973594714,279.76011588387,286.08011543105,292.54288870475,299.15166280294,305.90973254237,312.82047235615,319.88733118052,327.11383586587,334.50359293692,342.06029039257,349.78769954651,357.68967690936,365.77016611333,374.03319988033,382.48290424395,391.12349182016,399.95927701915,408.9946695077,418.23417857039,427.68241536008,437.34409519915,447.22403993284,457.32718033558,467.65855857191,478.22333071276,489.02676930874,500.07426891005,511.37133726836,522.92361522538],description:"Third beats with opposite equal rate as octave"},temp31w10:{frequencies:[261.6255653006,267.37376533775,273.24825962152,279.25182297475,287.24047076273,293.55146000581,300.00110689476,306.59245933664,313.32863150945,320.21280450383,327.24823031411,334.4382321302,341.78620813039,349.29562523194,356.97015906904,367.18199034811,375.24938058245,383.49402021056,391.91980359563,400.53071066429,409.33081115087,418.32425711308,427.51529892703,436.90827798988,446.50763144636,459.28102021135,469.37192694062,479.68454193593,490.22373920221,500.99449133668,512.00188868489,523.2511306012],description:"Cycle of 31 thirds tempered by 1/10 Wuerschmidt comma"},temp31w11:{frequencies:[261.6255653006,267.42197848694,273.34681181717,279.40291364591,286.91265577589,293.26931399985,299.76680465545,306.40825140143,313.19684009872,320.13583435099,327.22856275086,334.47843511672,341.88893114233,349.46360748692,357.20610515709,366.80702823839,374.93377645155,383.2405741708,391.73141324262,400.41036830387,409.28161120445,418.34939984118,427.61808628905,437.09212645494,446.77606497733,458.78443573652,468.94897543376,479.33871705477,489.95864449434,500.81386326642,511.90958055231,523.2511306012],description:"Cycle of 31 thirds tempered by 1/11 Wuerschmidt comma"},temp31w12:{frequencies:[261.6255653006,267.46216197987,273.42896553533,279.52888390694,286.63976159726,293.03439921138,299.57169286871,306.25482853931,313.08705807777,320.0717057658,327.2121755928,334.51194000906,341.9745565771,349.60365642833,357.40295156876,366.49485373999,374.67097398132,383.02949720151,391.57448819698,400.31011139524,409.24061734241,418.37035125513,427.70376253715,437.24539007841,446.99988402026,458.37102198078,468.59680699416,479.0507177135,489.73784363297,500.66339010461,511.83267129957,523.2511306012],description:"Cycle of 31 thirds tempered by 1/12 Wuerschmidt comma"},temp31w13:{frequencies:[261.6255653006,267.49616787535,273.49850059869,279.63551774138,286.40905375482,292.83577174957,299.40669857094,306.12507001426,312.99419468163,320.01745343487,327.19830857776,334.54029455907,342.04702698539,349.72220057363,357.56974544479,366.23091133098,374.44874787361,382.85098402684,391.44175752404,400.22529663315,409.2059314354,418.38808223908,427.77627085136,437.37511801764,447.18935574711,458.02150335998,468.29902426597,478.80716193382,489.55109116118,500.53609997149,511.7676037195,523.2511306012],description:"Cycle of 31 thirds tempered by 1/13 Wuerschmidt comma"},temp31w14:{frequencies:[261.6255653006,267.52531966849,273.55811412425,279.72695193191,286.21145362846,292.66562728487,299.26534666214,306.01389218024,312.91461811683,319.97095981222,327.18642276261,334.56459899164,342.10915585471,349.82384327668,357.71250180664,366.00482869479,374.25837321367,382.69803863807,391.32802257119,400.15261355898,409.17620468607,418.4030501472,427.83842920638,437.48634583318,447.35182400506,457.72212848121,468.04393370572,478.5984967348,489.39107187298,500.42702361787,511.71183724724,523.2511306012],description:"Cycle of 31 thirds tempered by 1/14 Wuerschmidt comma"},temp31w15:{frequencies:[261.6255653006,267.55058630145,273.60979095449,279.80621811014,286.0403087015,292.51824916652,299.142895223,305.91756930507,312.84566908988,319.93066920159,327.176122954,334.58566413263,342.16300881716,349.91195724514,357.83639571789,365.80900091179,374.09345893182,382.56553686518,391.22947931103,400.08963362509,409.15044340767,418.41645289306,427.89230922859,437.58276480531,447.49267964143,457.46282942114,467.82296651709,478.41773025336,489.25243249537,500.33250769337,511.66351279634,523.2511306012],description:"Cycle of 31 thirds tempered by 1/15 Wuerschmidt comma, almost 31-tET"},temp31w8:{frequencies:[261.6255653006,267.24122592191,272.97742543896,278.83674800471,288.14389744169,294.32876096318,300.64638059818,307.09960331181,313.69134300364,320.42456924675,327.30232268102,334.32770172848,341.50387698892,348.83408706747,356.32163474066,368.21511264804,376.11866406852,384.19186344763,392.4383479509,400.86184099795,409.46613795376,418.25512179799,427.23275920923,436.40309460541,445.77026919414,460.64940473745,470.53701427025,480.63685362987,490.95348377613,501.49155234204,512.25581818623,523.2511306012],description:"Cycle of 31 thirds tempered by 1/8 Wuerschmidt comma"},temp31w9:{frequencies:[261.6255653006,267.31485098896,273.12785536516,279.06726965397,287.64164332106,293.89667226994,300.28772424256,306.81775371411,313.48978461115,320.30690488373,327.27226963218,334.38910256736,341.66069947616,349.09042189481,356.68171037974,367.64079770339,375.63548096925,383.80401588848,392.15018302326,400.67784514756,409.39095139962,418.29352970104,427.38970265849,436.68368016368,446.1797636563,459.88868900496,469.88938665048,480.10755840871,490.54793493862,501.21534712998,512.11473036853,523.2511306012],description:"Cycle of 31 thirds tempered by 1/9 Wuerschmidt comma"},temp32ebf:{frequencies:[261.6255653006,266.99024669658,272.64192755012,278.59596223891,284.86852586219,291.47665855944,298.4383110444,304.47357861204,310.83171904039,317.53000821614,324.58664278196,332.02079024875,339.85265231199,346.64232633314,353.79523650997,361.33080945807,369.26952339658,377.6329406438,386.44378308989,395.72598875513,403.77301123196,412.25053247262,421.18158418009,430.59042797451,440.50262726312,450.945108697,459.9980085603,469.53522100534,479.58265227668,490.16760508681,501.31882698223,513.0666164148,523.2511306012],description:"Cycle of 32 equal beating fifths"},temp33a12:{frequencies:[261.6255653006,266.94139439278,272.36523138282,277.89927397158,284.73748648557,290.5229142688,296.42589304627,302.44880952638,308.5941041528,316.1876182869,322.61206437627,329.16704532903,335.85521147284,342.67927280589,351.11151394887,358.24555988319,365.52455654698,372.95145333883,382.12859604556,389.89286138208,397.81488464837,405.89786889835,414.14508930077,424.3358756666,432.95772800787,441.75476312782,450.73053786756,459.88868900496,471.20507923536,480.77924170569,490.54793493862,500.51511311891,512.83118959171,523.2511306012],description:'Cycle of 33 fifths tempered by 1/12 "11 fifths" comma'},temp34eb2a:{frequencies:[261.6255653006,267.30377714022,273.10522651459,279.03258811962,285.08859470169,291.27603831759,293.96161656556,300.34163653669,306.86012579271,313.52008961307,320.32459850253,327.27678960683,334.37986815896,341.63710895701,349.05185787385,356.62753339984,364.36762821878,372.27571081823,375.70810971034,383.86232137672,392.19350864246,400.70551251195,409.40225735312,418.28775270674,427.36609513501,436.64147011015,446.11815394416,455.80051576031,465.69301950749,469.98673021106,480.18712562304,490.60890615053,501.2568766435,512.13594623433,523.2511306012],description:"Cycle of 34 thirds, 5/4 beats twice 3/2"},temp34ebsi:{frequencies:[261.6255653006,266.99788221884,272.57696520339,278.14698300137,283.93137567849,289.70637009331,295.70363067102,301.69114426564,307.90910207865,314.36637542255,320.81315450625,327.50805511637,334.19207543599,341.13334896852,348.06334108321,355.26005273528,362.44506998142,369.90662102486,377.65534755435,385.39148338011,393.42536256589,401.44618836017,409.77571602141,418.09170597447,426.72775997548,435.3497813463,444.30364141769,453.60211446558,462.88547695756,472.52613162558,482.15112257833,492.14655599832,502.125745683,512.48900933996,523.2511306012],description:"Cycle of 34 equal beating major sixths"},temp34ebt:{frequencies:[261.6255653006,266.93199967636,272.36578831151,277.92998813547,283.62773001764,289.46221547291,295.43672985114,301.55463262869,307.81936583026,314.23445063866,320.80349820247,327.5302045997,334.16324661664,340.95548417522,347.91073392156,355.03290870525,362.32601803901,369.79415983503,377.44153922514,385.2724539348,393.29131162714,401.50262139782,409.91100286066,418.20230551726,426.69260242977,435.3866631899,444.28938530291,453.40576935587,462.74094691381,472.3001707563,482.08881469934,492.11238732973,502.37652397446,512.8870010249,523.2511306012],description:"Cycle of 34 equal beating thirds"},temp34w10:{frequencies:[261.6255653006,267.37376533775,273.24825962152,279.25182297475,281.06516151868,287.24047076273,293.55146000581,300.00110689476,306.59245933664,313.32863150945,320.21280450383,327.24823031411,334.4382321302,341.78620813039,349.29562523194,351.5637974276,359.28803828513,367.18199034811,375.24938058245,383.49402021056,391.91980359563,400.53071066429,409.33081115087,418.32425711308,427.51529892703,436.90827798988,446.50763144636,449.40705529895,459.28102021135,469.37192694062,479.68454193593,490.22373920221,500.99449133668,512.00188868489,523.2511306012],description:"Cycle of 34 thirds tempered by 1/10 Wuerschmidt comma"},temp34w5:{frequencies:[261.6255653006,266.84400329087,272.16653090376,277.59522118835,285.18293865736,290.87125860088,296.67303727804,302.5905394405,308.62607485572,314.78199505921,321.06070411799,327.46464776022,333.99632772474,340.65828815182,347.45313114562,356.95032497057,364.07013256472,371.33195122039,378.73861781039,386.29301712643,393.99809806388,401.85686830172,409.8723892274,418.04779164423,426.38625992488,434.89105154177,443.56547936435,455.68978545099,464.77906877635,474.04965097839,483.50514461458,493.14924173292,502.98569917153,513.01835960126,523.2511306012],description:"Cycle of 34 thirds tempered by 1/5 Wuerschmidt comma"},temp34w6:{frequencies:[261.6255653006,267.02047390967,272.52663052146,278.06968704778,283.80368699438,289.65592453275,295.6288411546,301.72492193478,307.94670831505,314.29679425134,320.77782174252,327.39249271371,334.14356492035,341.03384719449,348.06621207862,355.14570764395,362.46906930947,369.94344613252,377.57194788125,385.35775486011,393.30411308867,401.41432870635,409.69178284295,418.13992649314,426.76227456772,435.56242170336,444.42154779224,453.58584388327,462.93911228358,472.48525217168,482.22824196207,492.17213857029,502.32108537715,512.67931193931,523.2511306012],description:"Cycle of 34 thirds tempered by 1/6 Wuerschmidt comma"},temp34w7:{frequencies:[261.6255653006,267.14659557842,272.78413659373,276.97759061533,282.82259314675,288.79093992594,294.88523549471,301.10813946365,307.46236235072,313.95067836072,320.57591524951,327.34096447962,334.24877325582,341.30235609413,348.50479124753,353.86228320674,361.3297679824,368.9548354601,376.74081403286,384.69109896591,392.80915578714,401.0985286019,409.56282802254,418.20574780595,427.03105980737,436.04260883433,442.74580331919,452.08897683944,461.62931955889,471.37098776125,481.31823237599,491.47539447856,501.84689823661,512.43727265667,523.2511306012],description:"Cycle of 34 thirds tempered by 1/7 Wuerschmidt comma"},temp34w8:{frequencies:[261.6255653006,267.24122592191,272.97742543896,276.16133434798,282.08899791039,288.14389744169,294.32876096318,300.64638059818,307.09960331181,313.69134300364,320.42456924675,327.30232268102,334.32770172848,341.50387698892,348.83408706747,352.90276052629,360.47764004221,368.21511264804,376.11866406852,384.19186344763,392.4383479509,400.86184099795,409.46613795376,418.25512179799,427.23275920923,436.40309460541,441.49314144476,450.96957067185,460.64940473745,470.53701427025,480.63685362987,490.95348377613,501.49155234204,512.25581818623,523.2511306012],description:"Cycle of 34 thirds tempered by 1/8 Wuerschmidt comma"},temp34w9:{frequencies:[261.6255653006,267.31485098896,273.12785536516,279.06726965397,281.5197407082,287.64164332106,293.89667226994,300.28772424256,306.81775371411,313.48978461115,320.30690488373,327.27226963218,334.38910256736,341.66069947616,349.09042189481,352.15826244648,359.81626391233,367.64079770339,375.63548096925,383.80401588848,392.15018302326,400.67784514756,409.39095139962,418.29352970104,427.38970265849,436.68368016368,440.52130132575,450.10083737825,459.88868900496,469.88938665048,480.10755840871,490.54793493862,501.21534712998,512.11473036853,523.2511306012],description:"Cycle of 34 thirds tempered by 1/9 Wuerschmidt comma"},temp35ebsi:{frequencies:[261.6255653006,266.57889315685,271.71450319234,277.03910343536,282.55964921963,288.28335166643,294.21768457231,300.3704033182,306.74954035112,312.48255822683,318.42655208483,324.58928450704,330.97880464114,337.6034601246,344.47190142434,351.59310182482,358.97636423712,366.63132974323,373.51095055492,380.64374131787,388.03901984907,395.70644562254,403.65603146762,411.89816253905,420.4436041444,429.30351656419,438.48947534443,446.74502047858,455.30437022365,464.17870575399,473.37961532931,482.91911915131,492.80967579032,503.06420520117,513.69610107468,523.2511306012],description:"Cycle of 35 equal beating major sixths"},temp37ebs:{frequencies:[261.6255653006,266.54882370674,271.76117582243,276.81154351547,282.15846820925,287.3392230449,292.82419544994,298.13870690002,303.76528724985,309.7222634282,315.49411047005,321.60488016898,327.52574544851,333.79428377068,339.86801168664,346.29839044807,353.1063601343,359.70275861181,366.68649693083,373.45319917734,380.61724149647,387.55864668979,394.907650003,402.68818871569,410.22692643911,418.2083422233,425.94171605945,434.12919568644,442.06222705415,450.46108885682,459.35313199837,467.96883572953,477.09045247204,485.92859505436,495.28571063961,504.35203618851,513.95073426779,523.2511306012],description:"Cycle of 37 equal beating sevenths"},temp37ebt:{frequencies:[261.6255653006,266.44794669373,271.38606435347,276.44269655507,281.62068893017,286.92295259461,292.35247205526,297.91229840101,303.60556084342,309.43546158348,315.40528084,321.51837488336,327.7781831369,333.8061589736,339.9788066307,346.29959662983,352.77208770341,359.39991652139,366.18681567584,373.13659908053,380.25317623321,387.54055229398,395.00282568127,402.64419215928,410.46895395112,418.00392297279,425.71973353547,433.62072344005,441.71133574434,449.99612361773,458.47974493329,467.16697490003,476.06269518051,485.17191513214,494.49975815874,504.05146656861,513.83241864047,523.2511306012],description:"Cycle of 37 equal beating thirds"},temp3ebt:{frequencies:[261.6255653006,330.24866439584,416.02753826489,523.2511306012],description:"Cycle of 3 equal beating thirds"},temp4ebmt:{frequencies:[261.6255653006,310.36356181711,368.84915763691,439.03187262068,523.2511306012],description:"Cycle of 4 equal beating minor thirds"},temp4ebsi:{frequencies:[261.6255653006,310.92686529443,370.08842528703,441.08229727815,523.2511306012],description:"Cycle of 4 equal beating major sixths"},temp53ebs:{frequencies:[261.6255653006,264.97369574946,268.51842903659,272.2713107977,275.7058824095,279.342132921,283.19190440533,286.71515038985,290.44528277978,294.39444663109,298.00865518834,301.83509073593,305.88621462445,310.17522146598,314.10044576101,318.25616227247,322.65590013911,326.68246801001,330.94547393755,335.45880590636,339.58933056423,343.96239778214,348.59225483118,353.4939765515,357.97994689961,362.72933676467,367.75761084241,372.35940104854,377.23140801172,382.38950169412,387.11009989437,392.10789272021,397.3991578827,403.00112480292,408.12795020911,413.55582307376,419.3024201087,424.56160969567,430.12961973912,436.02458225248,441.41955172249,447.13131541518,453.17847579573,459.58072182695,465.43995070361,471.64323472325,478.21077610462,484.22127701861,490.5847168482,497.32181757346,503.48749858841,510.01522804676,516.92626488088,523.2511306012],description:"Cycle of 53 equal beating harmonic sevenths"},temp53ebsi:{frequencies:[261.6255653006,265.08815342092,268.54511416675,272.14096825888,275.73097879106,279.31515577755,283.04333763043,286.76545980208,290.48153462492,294.34691329876,298.20601137227,302.05883614112,306.06646174912,310.06757319581,314.22944103195,318.38454699407,322.53289853772,326.84792360782,331.1559371129,335.45694960827,339.93076775401,344.39731584765,348.85660497561,353.49505873963,358.12597594237,362.74936749482,367.55851619873,372.35985057275,377.35409330215,382.34021841275,387.3182413058,392.49627136254,397.66588656991,402.8271015422,408.19568270781,413.55554119639,418.90668980097,424.47283359145,430.02993471298,435.57800299537,441.34898312942,447.11058430799,453.10367443873,459.08702461554,465.06065502782,471.27428848056,477.47782740925,483.67128540638,490.11358366391,496.54541154487,502.96678854317,509.64616466331,516.31468511822,523.2511306012],description:"Cycle of 53 equal beating major sixths"},temp53ebt:{frequencies:[261.6255653006,265.06408390481,268.61942739596,272.14046995187,275.78114176924,279.3866896354,283.11473715719,286.8068186786,290.62433945466,294.40503066492,298.31417332138,302.18560037327,306.18856199636,310.15290198883,314.25193588094,318.31142144389,322.50883104059,326.66574402863,330.9638909587,335.40807143415,339.80937339101,344.36021509659,348.86714800611,353.52720940583,358.14231011275,362.91421253104,367.64007568808,372.5265022753,377.36578530136,382.3694885676,387.32491504393,392.44870495902,397.52306357866,402.76982394565,407.96596497751,413.33865052838,418.89387526617,424.39550434456,430.08405345947,435.71772111176,441.54279782575,447.31167294612,453.27655186057,459.18388087721,465.29191391782,471.34101945319,477.59564801313,483.78993007475,490.19466758193,496.53761595054,503.09606844751,509.59124455492,516.30709807412,523.2511306012],description:"Cycle of 53 equal beating thirds"},temp57ebs:{frequencies:[261.6255653006,264.8277951114,268.04955507264,271.33445958124,274.63939933433,278.00911284632,281.39937814535,284.85609135359,288.33388628378,291.8798428433,295.4474281527,299.08493440323,302.74462553584,306.42663750246,310.18081323211,313.95788745209,317.80898926922,321.68357852782,325.63410692083,329.60872876069,333.66125215256,337.73849074816,341.89564167341,346.07814569972,350.28615866377,354.57664765081,358.89330206442,363.2945606359,367.72266219717,372.23755268366,376.77997919433,381.41143316036,386.07113633698,390.82216502962,395.60217018381,400.41132814233,405.3147417445,410.24806349136,415.27807310888,420.33876095689,425.4986359826,430.68997922537,435.98307052812,441.30844296951,446.73819252663,452.20105472878,457.69723413281,463.30113726238,468.93921588924,474.68780077646,480.47144432851,486.36844238798,492.30140788993,498.35065469266,504.4367956254,510.6422225112,516.88549425379,523.2511306012],description:"Cycle of 57 equal beating harmonic sevenths"},temp59ebt:{frequencies:[261.6255653006,264.71774803536,267.84005552541,271.00645194849,274.20369404321,277.44608402629,280.72006081878,284.04026812198,287.39281927261,290.79271098314,294.22572486522,297.70721418515,301.22261902261,304.78766466692,308.38743972219,312.03804524126,315.72421513091,319.46243532331,323.23707283878,327.06501147453,330.93024062011,334.83312418563,338.79111909993,342.78767359614,346.84065928187,350.93313112856,355.08338946648,359.27407840069,363.52394351295,367.81521017702,372.16707169716,376.56132871014,381.01763522853,385.51735474883,390.08061088885,394.68832388107,399.36109834092,404.07939600279,408.86431870994,413.69585627072,418.57446131049,423.52195428502,428.51764625978,433.58387848862,438.69946807471,443.88729218006,449.12565432864,454.4379830027,459.80206875391,465.24189440938,470.73471441434,476.30509804765,481.92974808423,487.63381799831,493.39345924022,499.23442935246,505.13230099895,511.11345315981,517.15287439575,523.2511306012],description:"Cycle of 59 equal beating thirds"},temp5ebf:{frequencies:[261.6255653006,300.99242152138,345.28013476976,397.76927639746,456.81956072863,523.2511306012],description:"Cycle of 5 equal beating fifths"},temp5ebs:{frequencies:[261.6255653006,300.72264357012,345.40501873528,396.4705903526,454.83124362955,523.2511306012],description:"Cycle of 5 equal beating harmonic sevenths"},temp6:{frequencies:[261.6255653006,292.50629174609,327.17562781541,373.91502405318,418.23333786749,467.5991148023,523.2511306012],description:"Tempered wholetone scale with approximations to 5/4 (4), 7/5 (4) and 7/4 (1)"},temp65ebf:{frequencies:[261.6255653006,264.41601755103,267.24454169377,270.11165630441,273.01788702098,275.96376822181,278.903505094,281.88335012505,284.90384796088,287.96555727487,291.06903608099,294.16604397209,297.30530343106,300.48739162418,303.71289539257,306.98240612292,310.29652144782,313.60372560746,316.95605020285,320.35411162765,323.7985328567,327.28994911888,330.77408078649,334.30574717623,337.88559766085,341.51429052286,345.19248907458,348.92086961342,352.64147345074,356.41283883338,360.23565716142,364.11063345825,368.0384739541,371.95812372083,375.93124824951,379.95858022583,384.04085801267,388.17883226226,392.30817269042,396.49385281186,400.73664000181,405.03730976228,409.39665754461,413.81548025993,418.22508312451,422.69484912531,427.22559773342,431.81816208034,436.47338166162,441.11888946365,445.82778005125,450.60091414809,455.43916939942,460.34343547357,465.31460883154,470.27541574397,475.30390033467,480.4009926512,485.56762723834,490.80474851567,496.03094699932,501.32844669322,506.69822455894,512.14126217109,517.65855736571,523.2511306012],description:"Cycle of 65 equal beating fifths"},temp65ebt:{frequencies:[261.6255653006,264.43406811535,267.2034679247,270.07937559507,272.91523803531,275.86016780291,278.76409255008,281.77970028627,284.75331888701,287.84130158502,290.886287826,294.04838131756,297.16644728835,300.4044304772,303.59732911309,306.91302510559,310.18255295306,313.57782661988,316.92582314139,320.40258196387,323.83093239735,327.39113302053,330.90176198948,334.36350914498,337.95839429282,341.50322405771,345.18438591943,348.81429298672,352.58380229516,356.30082494405,360.1608038988,363.96703524466,367.91965255368,371.81723365001,375.86471396542,379.85583700975,384.00045811272,388.08736764479,392.33145942297,396.5164558179,400.86240365726,405.1478399234,409.59809307723,413.98637838791,418.31356254814,422.80716945583,427.23820566351,431.83965831621,436.37704077554,441.08892851835,445.73520856761,450.56017999004,455.31796985254,460.25874195194,465.13071889642,470.19006822446,475.1789734801,480.35974823468,485.46838574269,490.77349931217,496.0047455553,501.43718079349,506.7939752079,512.35679191473,517.84214996629,523.2511306012],description:"Cycle of 65 equal beating thirds"},temp6eb2:{frequencies:[261.6255653006,293.46010680596,329.2739659995,369.56455759223,414.89147313404,465.88425311859,523.2511306012],description:"Cycle of 6 equal beating 9/8 seconds"},temp6s:{frequencies:[261.6255653006,271.93638072959,309.96730300827,353.31693843766,402.72911708552,459.05170412301,523.2511306012],description:"Cycle of 6 tempered harmonic sevenths, 6/5 and 4/3 minimax, Op de Coul, 2002"},temp6teb:{frequencies:[261.6255653006,314.31996068356,377.55323514312,453.43316449459,544.48907971635,653.75617798246,784.8766959018],description:"Cycle of 6 equal beating 6/5's in a twelfth"},"temp7-5ebf":{frequencies:[261.6255653006,272.53310095338,288.29512120063,313.54121701986,318.29837158817,352.05202827415,359.67534615791,387.61143614087,414.35283422339,427.61576999092,475.86500581459,472.62064557223,523.2511306012],description:"7 equal beating fifths on white, 5 equal beating fifths on black"},temp7ebf:{frequencies:[261.6255653006,288.29512120063,318.29837158817,352.05202827415,387.61143614087,427.61576999092,472.62064557223,523.2511306012],description:"Cycle of 7 equal beating fifths"},temp7ebnt:{frequencies:[261.6255653006,288.84289825546,318.65722544634,351.9228541964,388.36258888271,429.02057812008,473.55803233064,523.2511306012],description:"Cycle of 7 equal beating 11/9 neutral thirds"},temp8eb3q:{frequencies:[261.6255653006,285.27029088455,311.06453578321,339.20371183191,369.9009952302,403.38894083349,439.92124473489,479.77466958441,523.2511306012],description:`Cycle of 8 equal "beating" 12/11's`},temp9ebmt:{frequencies:[261.6255653006,282.57058469242,305.18178513943,329.6176429161,355.99737593287,384.50587463168,415.28223014648,448.54214811156,484.4478959333,523.2511306012],description:"Cycle of 9 equal beating 7/6 septimal minor thirds"},tenney_11:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,457.84473927605,523.2511306012],description:`Scale of James Tenney's "Spectrum II" for wind quintet`},tertiadia:{frequencies:[261.6255653006,279.06726965397,297.67175429757,306.59245933664,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,431.14564594215,459.88868900496,490.54793493862,523.2511306012],description:"Tertiadia 2048/2025 and 262144/253125 scale"},tertiadie:{frequencies:[261.6255653006,279.06726965397,297.67175429757,306.59245933664,327.03195662575,348.83408706747,372.08969287196,383.2405741708,408.78994578219,436.04260883433,476.27480687611,490.54793493862,523.2511306012],description:"First Tertiadie 262144/253125 and 128/125 scale"},tet3a:{frequencies:[261.6255653006,280.31310567921,313.95067836072,336.37572681506,366.27579142084,392.4383479509,418.60090448096,448.50096908674,523.2511306012],description:"Eight notes, two major one minor tetrad"},tetracot:{frequencies:[261.6255653006,266.81074454173,272.09868928948,277.49143626213,289.66902367154,295.4099985897,301.26475437609,307.23554606336,320.71844041089,327.07478634962,333.55710924695,340.16790585091,355.09602205939,362.13370020095,369.31085868177,376.6302618745,393.15851224787,400.95055410677,408.89702710335,417.00099192139,435.30089370336,443.92815899023,452.72640877864,461.69903182491,481.96048707062,491.51250279099,501.25383072009,523.2511306012],description:"tetracot temperament, g=176.28227, 5-limit"},"tetragam-di":{frequencies:[261.6255653006,279.06726965397,290.69507255622,290.69507255622,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,436.04260883433,457.84473927605,523.2511306012],description:"Tetragam Dia2"},"tetragam-enh":{frequencies:[261.6255653006,271.31540105247,279.06726965397,279.06726965397,327.03195662575,348.83408706747,366.27579142084,392.4383479509,406.97310157871,418.60090448096,418.60090448096,457.84473927605,523.2511306012],description:"Tetragam Enharm."},"tetragam-hex":{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,327.03195662575,343.38355445704,381.53728273004,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Tetragam/Hexgam"},"tetragam-py":{frequencies:[261.6255653006,275.62199471997,294.32876096318,294.32876096318,331.11985608357,348.83408706747,372.50983809402,392.4383479509,413.43299207996,441.49314144476,441.49314144476,465.11211608996,523.2511306012],description:"Tetragam Pyth."},"tetragam-slpe":{frequencies:[261.6255653006,261.6255653006,300.52885648597,300.52885648597,279.06726965397,345.21700307457,348.83408706747,396.55020354877,455.51656649021,392.4383479509,455.51656649021,418.60090448096,523.2511306012],description:"Tetragam Slendro as 5-tET, Pelog-like pitches on C# E F# A B"},"tetragam-slpe2":{frequencies:[261.6255653006,261.6255653006,300.52885648597,300.52885648597,286.29520819723,345.21700307457,313.29104303136,396.55020354877,396.55020354877,387.04559340587,455.51656649021,423.54155496477,523.2511306012],description:"Tetragam Slendro as 5-tET, Pelog-like pitches on C# E F# A B"},"tetragam-sp":{frequencies:[261.6255653006,271.31540105247,271.31540105247,271.31540105247,336.37572681506,348.83408706747,366.27579142084,392.4383479509,406.97310157871,406.97310157871,406.97310157871,457.84473927605,523.2511306012],description:"Tetragam Septimal"},"tetragam-un":{frequencies:[261.6255653006,269.80136421624,285.40970760065,285.40970760065,319.76457981184,348.83408706747,359.73515228832,392.4383479509,404.70204632437,428.11456140098,428.11456140098,479.64686971777,523.2511306012],description:"Tetragam Undecimal"},tetragam13:{frequencies:[261.6255653006,275.95382006469,307.00724256551,307.00724256551,341.55514486295,341.55514486295,400.80167111126,400.80167111126,445.90437572008,445.90437572008,445.90437572008,496.08254310677,523.2511306012],description:"Tetragam (13-tET)"},tetragam5:{frequencies:[261.6255653006,300.52885648597,300.52885648597,300.52885648597,300.52885648597,345.21700307457,345.21700307457,396.55020354877,455.51656649021,455.51656649021,455.51656649021,455.51656649021,523.2511306012],description:"Tetragam (5-tET)"},tetragam7:{frequencies:[261.6255653006,288.85811466493,288.85811466493,288.85811466493,318.92511007349,352.12195684808,352.12195684808,388.77403176757,429.24143792307,429.24143792307,429.24143792307,473.92081401802,523.2511306012],description:"Tetragam (7-tET)"},tetragam8:{frequencies:[261.6255653006,285.30470202322,311.12698372208,311.12698372208,339.28638158975,339.28638158975,403.48177901006,403.48177901006,440,440,440,440,523.2511306012],description:"Tetragam (8-tET)"},tetragam9a:{frequencies:[261.6255653006,282.57118533961,305.19387818096,305.19387818096,329.62755691287,356.01738450312,415.30469757995,415.30469757995,448.55379686399,448.55379686399,448.55379686399,484.46508327871,523.2511306012],description:"Tetragam (9-tET) A"},tetragam9b:{frequencies:[261.6255653006,282.57118533961,282.57118533961,282.57118533961,305.19387818096,305.19387818096,384.52019141924,384.52019141924,415.30469757995,415.30469757995,415.30469757995,448.55379686399,523.2511306012],description:"Tetragam (9-tET) B"},tetraphonic_31:{frequencies:[261.6255653006,266.96486255163,272.52663052146,278.32506946872,284.37561445717,290.69507255622,297.30177875068,304.21577360535,311.45900631024,319.05556743976,327.03195662575,333.99008336247,341.25073734861,348.83408706747,356.76213450082,365.05892832642,373.75080757229,382.86668092771,392.4383479509,400.61414686654,409.13785211902,418.03215325205,427.32175665765,437.0336147635,447.19718719986,457.84473927605,467.58611670746,477.75103228805,488.36772189445,499.46698830115,511.08249965699,523.2511306012],description:"31-tone Tetraphonic Cycle, conjunctive form on 5/4, 6/5, 7/6 and 8/7"},tetratriad:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"4:5:6 Tetratriadic scale"},tetratriad1:{frequencies:[261.6255653006,290.69507255622,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"3:5:9 Tetratriadic scale"},tetratriad2:{frequencies:[261.6255653006,296.75121990114,305.22982618403,356.10146388137,373.75080757229,415.4517078616,436.04260883433,448.50096908674,508.71637697339,523.2511306012],description:"3:5:7 Tetratriadic scale"},thailand:{frequencies:[261.6255653006,281.86483947605,307.02089761314,350.84574289301,397.92692612688,408.40584780369,474.03826620294,539.82938999168],description:"Observed ranat tuning from Thailand, Helmholtz/Ellis p. 518, nr.85"},thailand2:{frequencies:[261.6255653006,293.66476791741,318.39923223688,356.77227917518,391.76907592069,435.19747628762,477.88722128969,525.37110555681],description:"Observed ranat t'hong tuning, Helmholtz/Ellis p. 518"},thailand3:{frequencies:[261.6255653006,293.32570896007,322.47117131255,354.92237405774,396.55020354877,437.46578647972,488.21056770985,538.58355905405],description:"Observed tak'hay tuning. Helmholtz, p. 518"},thailand4:{frequencies:[261.6255653006,281.88044777549,304.38587215019,332.5176539627,392.71966479735,416.35036198375,461.923848369,523.2511306012,563.76089555097,608.77174430039,665.59794246809,786.00196746963,831.57545378481,924.97296635309,1046.5022612024,1127.52179110194],description:"Khong mon (bronze percussion vessels) tuning, Gemeentemuseum Den Haag 1/1=465"},thirds:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,454.2110508691,502.32108537715,523.2511306012],description:"Major and minor thirds parallellogram"},thomas:{frequencies:[261.6255653006,280.80530480292,294.66217084622,313.95044496966,332.05645032639,350.21604710412,374.62015588545,391.99543598175,420.73257541073,441.99197952365,468.79922683914,499.49209883845,523.2511306012],description:"Tuning of the Thomas/Philpott organ, Gereformeerde Kerk, St. Jansklooster"},tiby1:{frequencies:[261.6255653006,295.66718139806,337.56154978455,348.04364484358,393.32961502355,444.50800708553,507.49227916989,523.2511306012],description:"Tiby's 1st Byzantine Liturgical genus, 12 + 13 + 3 parts"},tiby2:{frequencies:[261.6255653006,295.66718139806,311.12698372208,348.04364484358,393.32961502355,444.50800708553,467.75037672729,523.2511306012],description:"Tiby's second Byzantine Liturgical genus, 12 + 5 + 11 parts"},tiby3:{frequencies:[261.6255653006,295.66718139806,324.07484847125,348.04364484358,393.32961502355,444.50800708553,487.21628271135,523.2511306012],description:"Tiby's third Byzantine Liturgical genus, 12 + 9 + 7 parts"},tiby4:{frequencies:[261.6255653006,286.76251801126,324.07484847125,348.04364484358,393.32961502355,431.12067692221,487.21628271135,523.2511306012],description:"Tiby's fourth Byzantine Liturgical genus, 9 + 12 + 7 parts"},todi_av:{frequencies:[261.6255653006,276.38325105256,310.05056613125,371.27895029721,392.44854854484,413.39000965417,495.88429116026,523.2511306012],description:"Average of 8 interpretations of raga Todi, in B. Bel, 1988."},tonos15_pis:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,383.71749577421,442.75095666255,479.64686971777,523.2511306012,548.16785110602,575.57624366132,639.52915962369,719.47030457665,767.43499154843,885.50191332511,959.29373943553,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-15"},tonos17_pis:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,369.35373924791,418.60090448096,483.00104363188,523.2511306012,546.00117975777,570.81941520131,627.90135672144,697.66817413493,738.70747849581,784.8766959018,897.00193817349,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-17"},tonos19_pis:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,385.55346465352,406.97310157871,457.84473927605,523.2511306012,542.63080210495,563.50121757052,610.45965236807,665.95598440153,771.10692930703,813.94620315742,915.6894785521,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-19"},tonos21_pis:{frequencies:[261.6255653006,299.00064605783,322.00069575458,348.83408706747,398.6675280771,440.63253103259,465.11211608996,523.2511306012,558.13453930795,598.00129211566,644.00139150917,697.66817413493,797.33505615421,881.26506206518,930.22423217991,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-21"},tonos23_pis:{frequencies:[261.6255653006,294.32876096318,336.37572681506,362.25078272391,409.50088481833,448.50096908674,470.92601754108,523.2511306012,554.03060887186,588.65752192635,672.75145363011,724.50156544782,819.00176963666,897.00193817349,941.85203508216,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-23"},tonos25_pis:{frequencies:[261.6255653006,294.32876096318,336.37572681506,362.25078272391,376.74081403286,428.11456140098,470.92601754108,523.2511306012,554.03060887186,588.65752192635,672.75145363011,724.50156544782,753.48162806573,856.22912280196,941.85203508216,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-25"},tonos27_pis:{frequencies:[261.6255653006,290.69507255622,327.03195662575,373.75080757229,387.59343007496,436.04260883433,498.33441009638,523.2511306012,550.79066379074,581.39014511244,654.0639132515,747.50161514457,775.18686014993,872.08521766867,996.66882019276,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-27"},tonos29_pis:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,396.94913355953,442.75095666255,479.64686971777,523.2511306012,548.16785110602,575.57624366132,639.52915962369,719.47030457665,793.89826711906,885.50191332511,959.29373943553,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-29"},tonos31_pis:{frequencies:[261.6255653006,273.51763645063,300.86940009569,334.29933343966,388.21858076863,429.81342870813,462.87600014722,501.44900015948,523.2511306012,547.03527290125,601.73880019138,668.59866687931,776.43716153726,859.62685741626,925.75200029443,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-31"},tonos31_pis2:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,405.0976494977,448.50096908674,483.00104363188,523.2511306012,546.00117975777,570.81941520131,627.90135672144,697.66817413493,810.19529899541,897.00193817349,966.00208726375,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-31B"},tonos33_pis:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012,546.00117975777,570.81941520131,627.90135672144,697.66817413493,761.09255360175,837.20180896192,930.22423217991,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-33"},top31:{frequencies:[261.6255653006,267.49189720203,273.48976766293,279.62212612306,285.89198815637,292.30243695391,298.85662483994,305.55777482212,312.40918217641,319.41421606749,326.57632120555,333.89901954025,341.38591199258,349.04068022565,358.99452880887,367.04412845091,375.2742212459,383.6888543241,392.29216556304,401.08838562235,410.08184002413,419.27695128006,428.67824106611,438.29033244612,448.11795214515,458.16593287385,468.4392157049,478.94285250284,489.68200840824,500.66196437769,511.88811978069,523.36599505479],description:"Top temperament, 11-limit, {225/224, 385/384, 1331/1323}, Gene Ward Smith"},trab19:{frequencies:[261.6255653006,279.06726965397,294.32876096318,297.67175429757,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,367.91095120397,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,459.88868900496,465.11211608996,490.54793493862,523.2511306012],description:"Diamond {1,3,5,45,75,225}"},trab19a:{frequencies:[261.6255653006,279.06726965397,294.32876096318,297.67175429757,306.59245933664,313.95067836072,327.03195662575,344.91651675372,348.83408706747,367.91095120397,372.08969287196,392.4383479509,396.89567239676,418.60090448096,436.04260883433,446.50763144636,459.88868900496,465.11211608996,490.54793493862,523.2511306012],description:"Diamond {1,3,9,15,675}"},tranh:{frequencies:[261.6255653006,290.69507255622,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"Bac Dan Tranh scale, Vietnam"},tranh2:{frequencies:[261.6255653006,290.69507255622,307.79478270659,392.4383479509,436.04260883433,523.2511306012],description:"Dan Ca Dan Tranh Scale"},tranh3:{frequencies:[261.6255653006,317.68818643644,348.83408706747,392.4383479509,473.41768959156,476.53227965466,523.2511306012],description:"Sa Mac Dan Tranh scale"},"tri12-1":{frequencies:[261.6255653006,264.29521392612,275.21650375777,319.76457981184,323.02748368748,332.97799220076,336.37572681506,406.97310157871,411.12588832951,428.11456140098,432.48307733364,502.48719684718,523.2511306012],description:"12-tone Tritriadic of 7:9:11"},"tri12-2":{frequencies:[261.6255653006,294.32876096318,305.22982618403,336.37572681506,348.83408706747,356.10146388137,392.4383479509,406.97310157871,448.50096908674,457.84473927605,474.80195184183,504.56359022259,523.2511306012],description:"12-tone Tritriadic of 6:7:9"},"tri19-1":{frequencies:[261.6255653006,266.96486255163,269.10058145205,305.22982618403,311.45900631024,313.95067836072,320.35783506196,356.10146388137,363.36884069528,366.27579142084,373.75080757229,376.74081403286,384.42940207435,427.32175665765,436.04260883433,439.53094970501,448.50096908674,508.71637697339,512.78610798918,523.2511306012],description:"3:5:7 Tritriadic 19-Tone Matrix"},"tri19-2":{frequencies:[261.6255653006,282.55561052465,290.69507255622,294.32876096318,313.95067836072,322.99452506247,327.03195662575,348.83408706747,353.19451315581,363.36884069528,376.74081403286,387.59343007496,392.4383479509,418.60090448096,423.83341578697,436.04260883433,465.11211608996,470.92601754108,484.4917875937,523.2511306012],description:"3:5:9 Tritriadic 19-Tone Matrix"},"tri19-3":{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"4:5:6 Tritriadic 19-Tone Matrix"},"tri19-4":{frequencies:[261.6255653006,264.89588486686,290.69507255622,294.32876096318,322.99452506247,327.03195662575,331.11985608357,334.88072358477,363.36884069528,367.91095120397,372.08969287196,376.74081403286,408.78994578219,413.43299207996,418.60090448096,423.83341578697,465.11211608996,470.92601754108,516.79124009995,523.2511306012],description:"4:5:9 Tritriadic 19-Tone Matrix"},"tri19-5":{frequencies:[261.6255653006,266.96486255163,284.8811711051,290.69507255622,302.73815413355,316.53463456122,322.99452506247,329.64821227876,336.37572681506,366.27579142084,373.75080757229,406.97310157871,415.27867508032,423.83341578697,432.48307733364,452.19233508746,470.92601754108,480.53675259294,512.78610798918,523.2511306012],description:"5:7:9 Tritriadic 19-Tone Matrix"},"tri19-6":{frequencies:[261.6255653006,267.07609791103,294.32876096318,299.00064605783,305.22982618403,336.37572681506,341.71502406609,343.38355445704,348.83408706747,356.10146388137,384.42940207435,392.4383479509,398.6675280771,400.61414686654,406.97310157871,448.50096908674,457.84473927605,465.11211608996,512.57253609913,523.2511306012],description:"6:7:8 Tritriadic 19-Tone Matrix"},"tri19-7":{frequencies:[261.6255653006,271.31540105247,288.32205155576,294.32876096318,299.00064605783,305.22982618403,316.53463456122,336.37572681506,348.83408706747,356.10146388137,384.42940207435,392.4383479509,406.97310157871,432.48307733364,448.50096908674,457.84473927605,465.11211608996,474.80195184183,504.56359022259,523.2511306012],description:"6:7:9 Tritriadic 19-Tone Matrix"},"tri19-8":{frequencies:[261.6255653006,264.29521392612,272.43653907335,275.21650375777,316.53463456122,319.76457981184,323.02748368748,332.97799220076,336.37572681506,350.27555023717,390.82337532559,406.97310157871,411.12588832951,423.79017189188,428.11456140098,432.48307733364,497.4115685962,502.48719684718,517.96576564563,523.2511306012],description:"7:9:11 Tritriadic 19-Tone Matrix"},"tri19-9":{frequencies:[261.6255653006,266.96486255163,286.15296204753,293.02063313667,299.00064605783,320.49131749323,327.03195662575,334.88072358477,341.71502406609,366.27579142084,373.75080757229,400.61414686654,408.78994578219,418.60090448096,427.14378008261,457.84473927605,467.18850946536,478.40103369253,512.78610798918,523.2511306012],description:"4:5:7 Tritriadic 19-Tone Matrix"},triang11:{frequencies:[261.6255653006,294.32876096318,305.22982618403,313.95067836072,327.03195662575,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,418.60090448096,436.04260883433,448.50096908674,465.11211608996,523.2511306012],description:"11-limit triangular diamond lattice with 64/63 intervals removed"},triaphonic_12:{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,327.03195662575,348.83408706747,367.19377586049,387.59343007496,410.39304360878,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"12-tone Triaphonic Cycle, conjunctive form on 4/3, 5/4 and 6/5"},triaphonic_17:{frequencies:[261.6255653006,271.31540105247,281.75060878526,293.02063313667,305.22982618403,318.50068819203,332.97799220076,348.83408706747,361.75386806997,375.66747838035,390.69417751556,406.97310157871,422.62591317789,439.53094970501,457.84473927605,477.75103228805,499.46698830115,523.2511306012],description:"17-tone Triaphonic Cycle, conjunctive form on 4/3, 7/6 and 9/7"},trichord7:{frequencies:[261.6255653006,294.32876096318,305.22982618403,327.03195662575,343.38355445704,348.83408706747,392.4383479509,436.04260883433,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Trichordal undecatonic, 7-limit"},tricot:{frequencies:[261.6255653006,264.94025538413,268.70564228797,272.11003565477,275.55755973666,279.4738436282,283.01466417842,286.6003471482,290.673570175,294.35628843049,298.08566525814,302.32211998602,306.15242072385,310.03124984507,314.43747949204,318.42127516569,322.45554578164,327.03835025925,331.18179578139,335.37773516927,339.62683737367,344.45368576554,348.81777463097,353.23715677741,358.25743790514,362.79641682209,367.39290067029,372.61436622199,377.33523951767,382.11592657559,387.54663888312,392.45669803325,397.4289679423,403.0773124301,408.18413893183,413.35566924724,419.23036738005,424.541846554,429.92062250389,436.03074525334,441.55507841911,447.14940523431,453.50438708518,459.25010687752,465.06861996272,470.9608512551,477.65424916833,483.70593529179,489.8342966599,496.79592520903,503.09012862502,509.46407999504,516.70469117363,523.2511306012],description:"Tricot temperament, g=565.988015, 5-limit"},tritriad:{frequencies:[261.6255653006,294.32876096318,313.95067836072,348.83408706747,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Tritriadic scale of the 10:12:15 triad, natural minor mode"},tritriad10:{frequencies:[261.6255653006,274.70684356563,294.32876096318,348.83408706747,366.27579142084,392.4383479509,488.36772189445,523.2511306012],description:"Tritriadic scale of the 10:14:15 triad"},tritriad11:{frequencies:[261.6255653006,309.19384990071,356.76213450082,383.71749577421,421.62797713733,453.48431318771,486.49381977384,523.2511306012],description:"Tritriadic scale of the 11:13:15 triad"},tritriad13:{frequencies:[261.6255653006,294.32876096318,340.11323489078,348.83408706747,392.4383479509,453.48431318771,510.16985233617,523.2511306012],description:"Tritriadic scale of the 10:13:15 triad"},tritriad14:{frequencies:[261.6255653006,294.32876096318,336.37572681506,348.83408706747,392.4383479509,448.50096908674,504.56359022259,523.2511306012],description:"Tritriadic scale of the 14:18:21 triad"},tritriad18:{frequencies:[261.6255653006,294.32876096318,319.76457981184,348.83408706747,392.4383479509,426.35277308246,479.64686971777,523.2511306012],description:"Tritriadic scale of the 18:22:27 triad"},tritriad22:{frequencies:[261.6255653006,294.32876096318,321.08592105074,348.83408706747,392.4383479509,428.11456140098,481.6288815761,523.2511306012],description:"Tritriadic scale of the 22:27:33 triad"},tritriad26:{frequencies:[261.6255653006,294.32876096318,301.87565226992,348.83408706747,392.4383479509,402.50086969323,452.81347840488,523.2511306012],description:"Tritriadic scale of the 26:30:39 triad"},tritriad3:{frequencies:[261.6255653006,305.22982618403,356.10146388137,373.75080757229,436.04260883433,448.50096908674,508.71637697339,523.2511306012],description:"Tritriadic scale of the 3:5:7 triad. Possibly Mathews's 3.5.7a"},tritriad32:{frequencies:[261.6255653006,294.32876096318,322.00069575458,348.83408706747,392.4383479509,429.33426100611,483.00104363188,523.2511306012],description:"Tritriadic scale of the 26:32:39 triad"},tritriad3c:{frequencies:[261.6255653006,305.22982618403,366.27579142084,373.75080757229,427.32175665765,436.04260883433,512.78610798918,523.2511306012],description:"From 1/1 7/6 7/5, a variant of the 3.5.7 triad"},tritriad3d:{frequencies:[261.6255653006,305.22982618403,313.95067836072,363.36884069528,366.27579142084,436.04260883433,508.71637697339,523.2511306012],description:"From 1/1 7/6 5/3, a variant of the 3.5.7 triad"},tritriad5:{frequencies:[261.6255653006,290.69507255622,329.64821227876,366.27579142084,406.97310157871,423.83341578697,470.92601754108,523.2511306012],description:"Tritriadic scale of the 5:7:9 triad. Possibly Mathews's 5.7.9a."},tritriad68:{frequencies:[261.6255653006,305.22982618403,348.83408706747,392.4383479509,406.97310157871,457.84473927605,465.11211608996,523.2511306012],description:"Tritriadic scale of the 6:7:8 triad"},tritriad68i:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,398.6675280771,448.50096908674,465.11211608996,523.2511306012],description:"Tritriadic scale of the subharmonic 6:7:8 triad"},tritriad69:{frequencies:[261.6255653006,294.32876096318,305.22982618403,348.83408706747,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"Tritriadic scale of the 6:7:9 triad, septimal natural minor"},tritriad7:{frequencies:[261.6255653006,264.29521392612,323.02748368748,332.97799220076,336.37572681506,411.12588832951,428.11456140098,523.2511306012],description:"Tritriadic scale of the 7:9:11 triad"},tritriad9:{frequencies:[261.6255653006,272.93037367779,319.76457981184,362.25078272391,377.90359432309,442.75095666255,461.88217083933,523.2511306012],description:"Tritriadic scale of the 9:11:13 triad"},tsjerepnin:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,367.91095120397,392.4383479509,418.60090448096,470.92601754108,490.54793493862,523.2511306012],description:"Scale from Ivan Tsjerepnin's Santur Opera (1977) & suite from it Santur Live!"},tsuda13:{frequencies:[261.6255653006,281.75060878526,283.42769574232,322.00069575458,340.11323489078,362.25078272391,377.90359432309,402.50086969323,425.14154361347,442.75095666255,485.87604984397,518.26778650024,523.2511306012],description:"Mayumi Tsuda's Harmonic-13 scale. 1/1=440 Hz."},tuneable3:{frequencies:[36.70809598968,41.95210970249,42.82611198796,43.59086398774,44.04971518762,44.86545065405,45.8851199871,46.71939489596,47.1961234153,47.72052478658,48.94412798624,49.55592958607,50.47363198581,51.39133438555,52.00313598538,52.44013712811,53.02280531843,53.39359416681,55.06214398452,57.10148265061,57.68415084093,58.73295358349,59.65065598323,61.1801599828,62.40376318246,62.92816455374,64.23916798194,66.07457278142,66.74199270851,67.29817598108,68.17217826655,68.82767998065,70.35718398022,73.41619197936,79.53420797764,80.7578111773,82.59321597678,85.65222397592,87.18172797549,88.09943037523,89.14823311779,89.73090130811,90.10169015649,91.7702399742,94.39224683061,95.44104957317,96.35875197291,97.88825597248,100.94726397162,102.7826687711,104.00627197076,104.88027425623,105.53577597033,110.12428796904,114.20296530123,114.71279996775,115.36830168185,116.24230396732,117.46590716698,119.30131196646,120.61231539466,122.3603199656,123.88982396517,124.80752636491,125.85632910747,128.47833596388,132.14914556285,134.59635196216,137.6553599613,139.49076476078,140.71436796044,141.58837024591,146.83238395872,152.950399957,154.17400315666,156.00940795614,159.06841595528,161.51562235459,165.18643195356,168.85724155253,171.30444795184,174.36345595098,176.19886075046,183.5404799484,190.88209914634,192.71750394582,195.77651194496,201.89452794324,205.56533754221,208.01254394152,211.07155194066,220.24857593808,229.4255999355,232.48460793464,238.60262393292,244.7206399312,247.77964793034,256.95667192776,269.19270392432,275.3107199226,281.42873592088,293.66476791744],description:"Marc Sabat, 3 octaves of intervals tuneable by ear"},tuners1:{frequencies:[261.6255653006,276.50456653385,293.15590636358,311.0676370396,328.627540632,349.28088891463,369.11955599459,391.76814585061,414.75684959346,439.06365754828,466.60145532616,492.6062100846,523.2511306012],description:"The Tuner's Guide well temperament no. 1 (1840)"},tuners2:{frequencies:[261.6255653006,276.9861853325,293.55936848273,311.27971878774,329.48489606404,349.42029142443,369.90111701824,391.99869425741,415.03962525779,439.89939957166,466.4799232208,493.78769382322,523.2511306012],description:"The Tuner's Guide well temperament no. 2 (1840)"},tuners3:{frequencies:[261.6255653006,276.9180796764,293.64050032496,311.25753558078,329.38199580693,349.20116137147,369.59117881045,391.8877401954,415.37711930697,439.91014033466,466.33569310799,493.52238512763,523.2511306012],description:"The Tuner's Guide well temperament no. 3 (1840)"},turkish:{frequencies:[261.6255653006,279.06726965397,327.03195662575,348.83408706747,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:"Turkish, 5-limit from Palmer on a Turkish music record, harmonic minor inverse"},turkish_24:{frequencies:[261.6255653006,275.62199471997,279.38237857051,290.36720431405,294.32876096318,310.07474405997,314.30517589183,326.6631048533,331.11985608357,344.13890881665,348.83408706747,367.49599295996,372.50983809402,387.15627241873,392.4383479509,413.43299207996,419.07356785577,435.55080647107,441.49314144476,458.8518784222,465.11211608996,489.99465727995,496.67978412536,516.20836322497,523.2511306012],description:"Ra'uf Yekta, 24-tone Pythagorean Turkish Theoretical Gamut, 1/1=D (perde yegah) at 294 Hz"},turkish_24a:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,344.52749339997,348.83408706747,367.91095120397,372.08969287196,387.59343007496,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,459.36999119996,465.11211608996,490.54793493862,496.67978412536,516.79124009995,523.2511306012],description:"Turkish gamut with schismatic simplifications"},turkish_41:{frequencies:[261.6255653006,266.80864394988,272.09440643071,275.67629620338,281.13773466533,286.70737164501,290.48162858661,294.30556868769,300.13607443832,306.08208692954,310.11139540064,316.25503135793,322.52037740267,326.76608188608,333.2396629384,339.84149442859,344.31521657963,348.8478314504,355.75887527351,362.80683626646,367.58287746967,374.8650823332,382.29155536296,387.32409620162,392.42288612931,400.19720009986,408.12552912594,413.49815209867,421.6899870258,430.04411333507,435.70527569249,441.44096240275,450.1863739015,459.10504388656,465.14876849982,474.36385666592,483.76150545705,490.12981126508,499.83980314828,509.74215733443,516.45247616827,523.2511306012],description:"Abd\xEF\xBF\xBDlkadir T\xEF\xBF\xBDre and M. Ekrem Karadeniz theoretical Turkish gamut"},turkish_41a:{frequencies:[261.6255653006,268.5590565112,272.09440643071,275.67629620338,279.3053384865,286.70737164501,290.48162858661,294.30556868769,298.17984938441,306.08208692954,310.11139540064,314.19374626607,322.52037740267,326.76608188608,335.42589979828,339.84149442859,344.31521657963,348.8478314504,353.4401143131,362.80683626646,367.58287746967,377.32440283229,382.29155536296,387.32409620162,392.42288612931,402.82271318249,408.12552912594,413.49815209867,424.45650702809,430.04411333507,435.70527569249,441.44096240275,453.1398459935,459.10504388656,465.14876849982,477.47594368525,483.76150545705,490.12981126508,503.11902634639,509.74215733443,516.45247616827,523.2511306012],description:"Karadeniz's theoretical Turkish gamut, quantized to subset of 53-tET"},turkish_aeu:{frequencies:[261.6255653006,275.62199471997,279.38237857051,290.36720431405,294.32876096318,310.07474405997,314.30517589183,326.6631048533,331.11985608357,348.83408706747,353.59332287831,367.49599295996,372.50983809402,387.15627241873,392.4383479509,413.43299207996,419.07356785577,435.55080647107,441.49314144476,465.11211608996,471.45776383774,489.99465727995,496.67978412536,516.20836322497,523.2511306012],description:"Arel-Ezgi-Uzdilek (AEU) 24 tone theoretical system"},turkish_bagl:{frequencies:[261.6255653006,277.01530443593,285.40970760065,294.32876096318,311.64221749042,321.08592105074,331.11985608357,348.83408706747,369.35373924791,380.54627680087,392.4383479509,415.52295665389,428.11456140098,441.49314144476,465.11211608996,492.47165233054,507.3950357345,523.2511306012],description:'Ratios of the 17 frets on the neck of "Baglama" ("saz") according to Yal\xEF\xBF\xBD\xEF\xBF\xBDn Tura'},two29:{frequencies:[261.6255653006,265.43099677612,267.95417262175,271.85165581044,274.43586616969,278.42762776199,281.0743490329,285.16266958193,287.87341387594,292.06062910037,294.83694510625,299.12544722478,301.96892109338,306.36116019141,309.2734164419,313.77190187131,316.75460431924,321.36190613206,324.41675883995,329.13550925662,332.26425750751,337.09715242073,340.3015837153,345.25138423021,348.53332930799,353.60286331966,356.96419720496,362.15636101402,365.59900408717,370.91676405444,374.44268531179,379.88907958456,383.50028913155,389.07842928561,392.77699240278,398.49006531303,402.2780950448,408.12936467525,412.00902517967,418.00183444819,421.97534223334,428.1131149215,432.1827401118,438.46898282094,442.63705045414,449.07535460876,453.34424596425,459.9382898638,464.31044382305,471.06399474345,475.54190918343,482.45882552933,487.04505874954,494.12929225872,498.82646444278,506.0820624438,510.89285715645,518.32396488098,523.2511306012],description:"Two 29-tET scales 25 cents shifted, many near just intervals"},two29a:{frequencies:[261.6255653006,264.02813680074,267.95417262175,270.41486126945,274.43586616969,276.95607779319,281.0743490329,283.65552346679,287.87341387594,290.51702578379,294.83694510625,297.54450482308,301.96892109338,304.74197548856,309.2734164419,312.11354980287,316.75460431924,319.66343925668,324.41675883995,327.39595721478,332.26425750751,335.31552138031,340.3015837153,343.42665631876,348.53332930799,351.73399604284,356.96419720496,360.24228665998,365.59900408717,368.95638908389,374.44268531179,377.88128181162,383.50028913155,387.02206376789,392.77699240278,396.38395721814,402.2780950448,405.97231075214,412.00902517967,415.79260233969,421.97534223334,425.85044246025,432.1827401118,436.15157730833,442.63705045414,446.70189207635,453.34424596425,457.50741431695,464.31044382305,468.5743173866,475.54190918343,479.90892674463,487.04505874954,491.51771254425,498.82646444278,503.40730976502,510.89285715645,515.58451111167,523.2511306012],description:"Two 29-tET scales 15.826 cents shifted, 13-limit chords, Mystery temperament, Gene Ward Smith"},xenakis_chrom:{frequencies:[261.6255653006,274.52698453615,329.62755691287,349.22823143301,391.99543598175,411.32572372413,493.88330125613,523.2511306012],description:"Xenakis's Byzantine Liturgical mode, 5 + 19 + 6 parts"},xenakis_diat:{frequencies:[261.6255653006,293.66476791741,326.46944327063,349.22823143301,391.99543598175,440,489.15147723638,523.2511306012],description:"Xenakis's Byzantine Liturgical mode, 12 + 11 + 7 parts"},xenakis_schrom:{frequencies:[261.6255653006,279.86396690685,326.46944327063,349.22823143301,391.99543598175,419.32216217931,489.15147723638,523.2511306012],description:"Xenakis's Byzantine Liturgical mode, 7 + 16 + 7 parts"},xenoga24:{frequencies:[261.6255653006,265.7783520514,279.38237857051,283.8170195002,294.32876096318,299.00064605783,310.07474405997,314.99656539426,331.11985608357,336.37572681506,348.83408706747,354.37113606854,372.50983809402,378.42269266694,392.4383479509,398.6675280771,419.07356785577,425.72552925031,441.49314144476,448.50096908674,465.11211608996,472.49484809138,496.67978412536,504.56359022259,523.2511306012],description:"M. Schulter, 3+7 ratios Xeno-Gothic adaptive tuning (keyboards 64:63 apart)"},xylophone2:{frequencies:[261.6255653006,295.19538981304,332.68808325276,388.83826257328,446.65787257783,506.59641128799,527.19506190947,579.57827742703,633.13077520476,751.1860077911,842.69088701475],description:"African Yaswa xylophones (idiophone; calbash resonators with membrane)"},xylophone3:{frequencies:[261.6255653006,292.47977325983,348.01999353916,392.4383479509,442.29334161825,523.2511306012],description:"African Banyoro xylophone (idiophone; loose log)"},xylophone4:{frequencies:[261.6255653006,281.70207497315,314.1971709147,349.63190883464,391.76907592069,436.9606979923,505.71930677521,568.9637969584,597.94115990992,660.7800775993,716.43551549302],description:"African Bapare xylophone (idiophone, loose-log)"},zalzal:{frequencies:[261.6255653006,294.32876096318,321.08592105074,348.83408706747,392.4383479509,428.11456140098,465.11211608996,523.2511306012],description:"Tuning of popular flute by Al Farabi & Zalzal. First tetrachord is modern Rast"},zalzal2:{frequencies:[261.6255653006,294.32876096318,331.11985608357,348.83408706747,387.59343007496,419.89288258121,465.11211608996,523.2511306012],description:"Zalzal's Scale, a medieval Islamic with Ditone Diatonic & 10/9 x 13/12 x 72/65"},zarlino:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Ptolemy's Intense Diatonic Systonon, also Zarlino's scale"},zarlino2:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,348.83408706747,363.36884069528,367.91095120397,392.4383479509,408.78994578219,436.04260883433,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"16-note choice system of Zarlino, Sopplimenti musicali (1588)"},zartehijaz1:{frequencies:[261.6255653006,280.55696721076,336.07142343876,350.07440004945,375.4060213132,393.89732161404,446.43551156053,468.42549744394,502.32108537715,523.2511306012],description:"Scale from Zarlino temperament extraordinaire -- lower Hijaz tetrachord"},zesster_a:{frequencies:[261.6255653006,279.06726965397,313.95067836072,334.88072358477,348.83408706747,392.4383479509,418.60090448096,502.32108537715,523.2511306012],description:"Harmonic six-star, group A, from Fokker"},zesster_b:{frequencies:[261.6255653006,293.02063313667,299.00064605783,334.88072358477,366.27579142084,418.60090448096,457.84473927605,478.40103369253,523.2511306012],description:"Harmonic six-star, group B, from Fokker"},zesster_c:{frequencies:[261.6255653006,299.00064605783,305.22982618403,348.83408706747,398.6675280771,406.97310157871,457.84473927605,465.11211608996,523.2511306012],description:"Harmonic six-star, group C on Eb, from Fokker"},zesster_mix:{frequencies:[261.6255653006,274.70684356563,279.06726965397,293.02063313667,299.00064605783,313.95067836072,334.88072358477,348.83408706747,358.80077526939,366.27579142084,392.4383479509,418.60090448096,457.84473927605,478.40103369253,488.36772189445,502.32108537715,523.2511306012],description:"Harmonic six-star, groups A, B and C mixed, from Fokker"},zest24:{frequencies:[261.6255653006,269.33468959023,272.52663052146,280.55696721076,292.24684137387,300.8582598368,308.87634556583,317.97777315513,326.45210604021,336.07142343876,350.07440004945,360.38977980792,364.66083404534,375.4060213132,391.04793957621,402.57065589001,410.30971075781,422.39999923493,436.81711699543,449.68847932918,465.03699205118,478.73988827571,487.94322738789,502.32108537715,523.2511306012],description:"Zarlino Extraordinaire Spectrum Temperament (two circles at ~50.28c apart)"},zir_bouzourk:{frequencies:[261.6255653006,281.75060878526,305.22982618403,313.95067836072,353.19451315581,392.4383479509,523.2511306012],description:"Zirafkend Bouzourk (IG #3, DF #9), from both Rouanet and Safi al-Din"},zwolle:{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,331.11985608357,348.83408706747,367.49599295996,392.4383479509,413.43299207996,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"Henri Arnaut De Zwolle. Pythagorean on G flat."},zwolle2:{frequencies:[261.6255653006,273.37431312998,292.50627485027,311.68386704488,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,467.04206359353,489.02683710225,523.2511306012],description:"Henri Arnaut De Zwolle's modified meantone tuning (c. 1440)"},yarman12:{frequencies:[261.6255653006,283.42769574232,294.32876096318,309.19384990071,332.97799220076,348.83408706747,377.90359432309,392.4383479509,411.12588832951,442.75095666255,465.11211608996,499.46698830115,523.2511306012],description:"Detempered Yarman 13-limit, [<1 1 -20 -6 -3 -1|, <0 1 38 15 11 8|]"},yarman12_80:{frequencies:[261.6255653006,282.84340331238,295.36595061166,319.3201344739,333.45764463229,348.2210758395,376.46181130035,393.12919962609,425.01198472693,443.82887286778,479.82340237272,501.06699929295,523.2511306012],description:"Ozan Yarman MOS, 80-et version"},yarman17:{frequencies:[261.6255653006,274.08392555301,283.42769574232,294.32876096318,309.19384990071,322.00069575458,332.97799220076,348.83408706747,362.25078272391,377.90359432309,392.4383479509,411.12588832951,425.14154361347,442.75095666255,465.11211608996,485.87604984397,499.46698830115,523.2511306012],description:"80-et commas 13-limit detempering of a chain of 16 fifths"},"yarman_ney-ahengs":{frequencies:[261.6255653006,275.39533189537,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,436.04260883433,465.11211608996,494.18162334558,523.2511306012],description:"Well Temperament for piano by Ozan Yarman from Ney Ahengs"},yasser_6:{frequencies:[261.6255653006,291.88463270656,325.64340264099,363.30663963964,405.32593044476,452.20508247496,523.2511306012],description:"Yasser Hexad, 6 of 19 as whole tone scale"},yasser_diat:{frequencies:[261.6255653006,281.42815779395,291.88463270656,313.97755176024,325.64340264099,350.29154279212,376.80531512858,390.80553229045,420.38583225541,436.00528786292,469.00678383895,486.43275040712,523.2511306012],description:"Yasser's Supra-Diatonic, the flat notes are V,W,X,Y,and Z"},yasser_ji:{frequencies:[261.6255653006,282.64904822654,294.32876096318,304.39128270551,327.03195662575,347.87575166344,359.73515228832,391.36022062136,425.14154361347,434.84468957929,457.84473927605,478.32915853722,523.2511306012],description:"Yasser's just scale, 2 Yasser hexads, 121/91 apart"},yekta:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,470.92601754108,502.32108537715,523.2511306012],description:"Rauf Yekta's 12-tone tuning suggested in 1922 Lavignac Music Encyclopedia"},"young-g":{frequencies:[261.6255653006,299.07507698093,319.76457981184,341.88537054616,390.82337532559,446.76650366117,477.67301428683,510.71739232152,583.82257301724,667.39198333921,713.56092257662,762.92356430953,872.13001648254,996.96833978235,1065.93668681199,1139.67601990796,1302.81150610354,1489.29848625885,1592.32474578757,1702.47910946196,1946.17475603251,2224.75468143463,2378.65811671778,2543.20970830682,2907.24890901465,3323.39919648924,3553.30434397593,3799.11599765247,4342.92768045015],description:"Gayle Young's Harmonium, see PNM 26(2): 204-212 (1988)"},"young-lm_guitar":{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"LaMonte Young, Tuning of For Guitar '58. 1/1 March '92, inv.of Mersenne lute 1"},"young-lm_piano":{frequencies:[261.6255653006,289.72987407313,294.32876096318,300.46061014991,343.38355445704,338.01818641865,386.30649876417,392.4383479509,400.61414686654,457.84473927605,450.69091522486,515.07533168556,523.2511306012],description:"LaMonte Young's Well-Tempered Piano"},"young-w10":{frequencies:[261.6255653006,277.18263097687,302.26980244078,320.24370022528,349.22823143301,369.99442271164,391.99543598175,427.47405410759,452.89298412314,493.88330125613,523.2511306012],description:"William Lyman Young 10 out of 24-tET (1961)"},"young-w14":{frequencies:[261.6255653006,277.18263097687,293.66476791741,302.26980244078,320.24370022528,339.28638158975,359.46139971304,369.99442271164,391.99543598175,415.30469757995,427.47405410759,452.89298412314,479.82340237272,508.3551866238,523.2511306012],description:"William Lyman Young 14 out of 24-tET (1961)"},"young-wt":{frequencies:[261.6255653006,285.40970760065,309.19384990071,348.83408706747,392.4383479509,428.11456140098,463.79077485106,523.2511306012],description:'William Lyman Young "exquisite 3/4 tone Hellenic Lyre" dorian'},young:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,328.14198392915,348.83408706747,367.49599295996,391.5530240856,413.43299207996,438.51190905657,465.11211608996,491.10256480205,523.2511306012],description:"Thomas Young well temperament (1807), also Luigi Malerbi nr.2 (1794)"},young2:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.77584116741,328.14198392915,349.22823143301,368.32692341742,391.5530240856,414.36778843034,438.51190905657,466.16376151809,491.65745674141,523.2511306012],description:"Thomas Young well temperament no.2 (1799)"},yugo_bagpipe:{frequencies:[261.6255653006,277.02257024271,294.00421879736,322.47117131255,341.84370465044,381.9375744369,404.41509766528,430.1988069325,452.63145841613,463.74664903953,478.99265177484,502.22604835608,523.2511306012],description:"Yugoslavian Bagpipe"},yves:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:`St Yves's scale II from Jocelyn Godwin, "Music and the Occult", 1995.`},saba_sup:{frequencies:[261.6255653006,287.78812183066,313.95067836072,327.03195662575,392.4383479509,418.60090448096,470.92601754108,497.08857407114,523.2511306012],description:"Superparticular version of maqam Sab"},sabagh:{frequencies:[261.6255653006,275.67629620338,279.3053384865,286.70737164501,294.30556868769,310.11139540064,314.19374626607,322.52037740267,326.76608188608,331.06767743197,348.8478314504,362.80683626646,367.58287746967,372.42178901277,392.42288612931,413.49815209867,418.94150105041,430.04411333507,441.44096240275,465.14876849982,471.27205084813,483.76150545705,490.12981126508,496.58195036371,523.2511306012],description:"Twfiq Al-Sabagh, Arabic master musical scale in 53-tET (1954)"},sabbagh:{frequencies:[261.6255653006,294.30556868769,321.46759848648,348.8478314504,392.42288612931,428.64035280622,465.14876849982,523.2511306012],description:"Tawfiq as-Sabbagh, a composer from Syria. 1/1=G"},safi_diat:{frequencies:[261.6255653006,276.16031892841,305.22982618403,348.83408706747,392.4383479509,414.24047839262,457.84473927605,523.2511306012],description:"Safi al-Din's Diatonic, also the strong form of Avicenna's 8/7 diatonic"},safi_diat2:{frequencies:[261.6255653006,283.79722337692,310.07474405997,348.83408706747,392.4383479509,425.69583506538,465.11211608996,523.2511306012],description:"Safi al-Din's 2nd Diatonic, a 3/4 tone diatonic like Ptolemy's Equable Diatonic"},safi_major:{frequencies:[261.6255653006,281.75060878526,322.00069575458,348.83408706747,375.66747838035,392.4383479509,523.2511306012],description:"Singular Major (DF #6), from Safi al-Din, strong 32/27 chromatic"},salinas_19:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,465.11211608996,490.54793493862,510.98743222773,523.2511306012],description:`Salinas' enharmonic tuning for his 19-tone instr. "instrumentum imperfectum"`},salinas_24:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,367.91095120397,372.08969287196,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,459.88868900496,465.11211608996,470.92601754108,490.54793493862,510.98743222773,523.2511306012],description:'Salinas enharmonic system "instrumentum perfectum". Subset of Mersenne'},salinas_enh:{frequencies:[261.6255653006,272.52663052146,279.06726965397,348.83408706747,392.4383479509,408.78994578219,418.60090448096,523.2511306012],description:"Salinas's and Euler's enharmonic"},salunding:{frequencies:[261.6255653006,282.38958039978,310.76686573877,390.36201910543,419.43149305958,523.2511306012],description:"Gamelan slunding, Kengetan, South-Bali. 1/1=378 Hz"},sankey:{frequencies:[261.6255653006,274.88665260982,292.54735824399,309.58527581215,327.03195662575,348.83408706747,366.73895666255,391.24894371175,412.31687950427,437.13741259348,464.79252184829,489.99465727995,523.2511306012],description:"John Sankey's Scarlatti tuning, personal evaluation based on d'Alembert's"},santur1:{frequencies:[261.6255653006,282.02765077995,319.3201344739,347.21689301951,376.46192220133,427.47393558663,475.68393915562,504.55222794679,523.2511306012],description:"Persian santur tuning. 1/1=E"},santur2:{frequencies:[261.6255653006,281.2143451833,317.48098583281,345.21700307457,375.37611551499,423.78627283082,475.68393915562,498.18106573801,523.2511306012],description:"Persian santur tuning. 1/1=E"},sanza:{frequencies:[261.6255653006,293.15632631094,308.97787266236,346.21547002486,390.18821123181,462.40922843744,524.46149515038,595.18445928535,620.10113226249],description:"African N'Gundi Sanza (idiophone; set of lamellas, thumb-plucked)"},sanza2:{frequencies:[261.6255653006,390.63923480058,465.35666077712,523.2511306012,588.68812410589,663.45725712889,702.9084786129,783.08569314515],description:"African Baduma Sanza (idiophone, like mbira)"},sauveur:{frequencies:[261.6255653006,274.85950244128,292.7026939092,313.25286195357,328.80795208256,349.69755047152,367.27338607435,391.35133250294,417.15885134862,438.29716799286,468.84228427561,491.11646492505,523.2511306012],description:"Sauveur's tempered system of the harpsichord. Trait\xEF\xBF\xBD (1697)"},sauveur2:{frequencies:[261.6255653006,278.64199172491,293.04864983565,312.10886966906,328.2456799168,349.5951549002,372.33322418948,391.58401058733,417.05308314313,438.61577206336,467.14384425417,491.2966347616,523.2511306012],description:"Sauveur's Syste^me Chromatique des Musiciens (Memoires 1701), 12 out of 55."},sauveur_17:{frequencies:[261.6255653006,275.62199471997,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,367.49599295996,372.50983809402,392.4383479509,413.43299207996,419.07356785577,441.49314144476,465.11211608996,489.99465727995,496.67978412536,523.2511306012],description:"Sauveur's oriental system, aft. Kitab al-adwar (Bagdad 1294) by Safi al-Din"},sauveur_ji:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Aplication des sons harmoniques aux jeux d'orgues (1702) (PB 81/80 & 128/125)"},savas_bardiat:{frequencies:[261.6255653006,282.57123920205,317.17549194805,349.22823143301,391.99543598175,423.37848741825,475.22628419761,523.2511306012],description:"Savas's Byzantine Liturgical mode, 8 + 12 + 10 parts"},savas_barenh:{frequencies:[261.6255653006,282.57123920205,329.62755691287,349.22823143301,391.99543598175,423.37848741825,493.88330125613,523.2511306012],description:"Savas's Byzantine Liturgical mode, 8 + 16 + 6 parts"},savas_chrom:{frequencies:[261.6255653006,282.57123920205,323.3415889232,349.22823143301,391.99543598175,423.37848741825,484.46499093218,523.2511306012],description:"Savas's Chromatic, Byzantine Liturgical mode, 8 + 14 + 8 parts"},savas_diat:{frequencies:[261.6255653006,288.06460709314,311.12698372208,349.22823143301,391.99543598175,431.60923940535,466.16376151809,523.2511306012],description:"Savas's Diatonic, Byzantine Liturgical mode, 10 + 8 + 12 parts"},savas_palace:{frequencies:[261.6255653006,277.18263097687,336.03572815422,349.22823143301,391.99543598175,415.30469757995,503.48470957687,523.2511306012],description:"Savas's Byzantine Liturgical mode, 6 + 20 + 4 parts"},scalatron:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,340.65828815182,348.83408706747,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,459.88868900496,470.92601754108,490.54793493862,510.98743222773,523.2511306012],description:"Scalatron (tm) 19-tone scale, see manual, 1974"},scheengaas:{frequencies:[261.6255653006,273.84069463911,292.6487650037,312.74862113192,327.53979283172,350.03605285217,366.8025131876,391.54284657258,418.19337019276,437.97145880542,467.51204131067,489.62261321254,523.2511306012],description:"Scheengaas' variation"},scheffer:{frequencies:[261.6255653006,274.56546814423,292.86978442859,309.86465789076,327.84548435462,349.70179235499,366.99791252626,391.46460164194,410.82629477826,438.21464222188,467.42914467878,490.54793493862,523.2511306012],description:"H.Th. Scheffer (1748) modified 1/5-comma temperament, Sweden"},schidlof:{frequencies:[261.6255653006,264.89588486686,274.70684356563,280.31310567921,294.32876096318,305.22982618403,315.35224388912,322.99452506247,327.03195662575,348.83408706747,353.19451315581,366.27579142084,373.75080757229,392.4383479509,406.97310157871,420.46965851882,436.04260883433,457.84473927605,467.18850946536,484.4917875937,490.54793493862,523.2511306012],description:"Schidlof"},schillinger:{frequencies:[261.6255653006,262.8879410321,275.85161280553,277.18263097687,278.52007147562,292.25460328695,293.66476791741,295.08173676673,309.63296633914,311.12698372208,312.62820992379,328.04470063332,329.62755691287,331.21805066987,347.55125362114,349.22823143301,350.91330087035,368.21772660991,369.99442271164,371.77969159194,390.11309203208,391.99543598175,393.88686247394,413.31042363438,415.30469757995,417.30859414412,437.88714035463,440,442.12305445465,463.92526470026,466.16376151809,468.41305936011,491.51169649079,493.88330125613,496.26634930797,520.73850287792,523.2511306012],description:"Joseph Schillinger's double equal temperament, p.664 Mathematical Basis..."},schis41:{frequencies:[261.6255653006,266.96486255163,272.52663052146,275.21650375777,280.31310567921,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,311.45900631024,313.95067836072,321.08592105074,327.03195662575,329.64821227876,336.37572681506,343.38355445704,348.83408706747,355.95315006884,363.36884069528,366.27579142084,373.75080757229,380.54627680087,387.59343007496,392.4383479509,398.6675280771,406.97310157871,415.27867508032,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,484.4917875937,490.54793493862,497.4115685962,504.56359022259,512.78610798918,523.2511306012],description:"41&53 <<1 -8 -14 23 -15 -25 33 -10 81 113||"},schisynch17:{frequencies:[261.6255653006,275.80289341725,290.74848220557,294.25152581512,310.19683462128,327.0062098829,330.94609980123,348.87986495302,367.78544978395,387.71551660339,392.38685458718,413.65005636851,436.06549769577,441.31937388998,465.23419873014,490.4449531872,496.35401261224,523.2511306012],description:"fifth satisfies f^9 + f^8 - 64 = 0"},schlick:{frequencies:[261.6255653006,275.62199471997,293.00227310437,311.47852302926,328.14198392915,349.6228209638,367.9112241576,391.5530240856,414.36778843034,438.51190905657,466.69047534984,491.10256480205,523.2511306012],description:"Reconstructed temp. A. Schlick, Spiegel d. Orgelmacher und Organisten (1511)"},schlick2:{frequencies:[261.6255653006,275.31092272332,293.00227310437,311.83045953724,328.14198392915,349.6228209638,367.9112241576,391.5530240856,415.30469757995,438.51190905657,466.69047534984,491.10256480205,523.2511306012],description:"Schlick's temperament reconstructed by F.J. Ratte (1991)"},schlick3:{frequencies:[261.6255653006,275.31092431358,293.00227310437,311.83045953724,328.14198392915,349.6228209638,367.70355049744,391.5530240856,415.07027187895,438.51190905657,466.95405539699,491.10256480205,523.2511306012],description:"Possible well-tempered interpretation of 1555 tuning, Margo Schulter"},schlick4:{frequencies:[261.6255653006,275.29566620843,293.00166043901,311.83758337792,328.14192706649,349.6222474261,367.6987228158,391.55300599201,415.35839309639,438.51185079886,466.95962791236,491.10245700671,523.2511306012],description:"Another reconstructed Schlick's modified meantone (Poletti?)"},scholz:{frequencies:[261.6255653006,271.31540105247,299.00064605783,305.22982618403,348.83408706747,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"Simple Tune #1 Carter Scholz"},scholz_epi:{frequencies:[261.6255653006,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,2877.8812183066,3139.5067836072,3401.1323489078,3662.7579142084,3924.383479509,4186.0090448096,4709.2601754108,5232.511306012,5494.1368713126,5755.7624366132,6279.0135672144,6540.639132515,6802.2646978156,7063.8902631162,7325.5158284168,8372.0180896192,8633.6436549198,9156.894785521,9418.5203508216,10203.3970467234,10465.022612024,10988.2737426252,11511.5248732264,11773.150438527,12558.0271344288,12819.6526997294,13081.27826503,14127.7805262324,14389.406091533,14651.0316568336,16482.4106139378,16744.0361792384,17005.661744539],description:"Carter Scholz, Epimore"},schulter:{frequencies:[261.6255653006,277.184065539,293.66520219021,311.12905403417,329.62853176407,349.23107169224,369.99606406306,391.99572582396,415.30715405467,440.00097595231,466.1672081452,493.88512703986,523.25577305438],description:`Margo Schulter's 5-limit JI virt. ET, "scintilla of Artusi" tempered 22-08-98`},schulter_17:{frequencies:[261.6255653006,272.43653907335,282.13181390574,295.15344695336,308.77608605158,319.09647917983,332.97799220076,348.34640884647,361.82138782225,375.64984936577,392.98775403209,410.26687922759,423.79017189188,443.34998408798,463.81254988138,480.53289366295,500.16624277499,523.2511306012],description:"Neo-Gothic well-temperament (14:11, 9:7 hypermeantone fifths) TL 04-09-2000"},schulter_24:{frequencies:[261.6255653006,270.06509966514,283.8170195002,292.97240722602,295.75063903546,305.22982618403,307.79478270659,317.68818643644,334.29933343966,345.08318290545,348.06842720833,359.29644098925,377.90359432309,390.09403284964,393.30161007617,406.07983174306,426.86276443782,440.63253103259,444.76346101102,458.66231916761,462.87600014722,477.80748402293,502.32108537715,518.89070451286,523.2511306012],description:'Rational intonation (RI) scale with some "17-ish" features (24 notes)'},schulter_cart34:{frequencies:[261.6255653006,270.08718526646,272.51337835337,281.3271372098,283.85429714132,293.03484945212,295.66718139806,305.22982618403,307.97166902637,317.93223698752,320.78822215662,331.16330924834,334.13814720468,344.94500399825,348.04364484358,359.30023993517,362.52783176564,374.2528814026,377.61479489998,389.82779436071,393.32961502355,406.05087076101,409.69842558521,422.94908927295,426.7484383229,440.55054172958,444.50800708553,458.88449901367,463.0066556268,477.98143975034,482.27514684959,497.87312179111,502.34551296122,518.59261334435,523.2511306012],description:'"Carthesian tuning" with two 17-tET chains 55.106 cents apart'},schulter_diat7:{frequencies:[261.6255653006,295.1673044417,332.97799220076,348.83408706747,392.4383479509,442.75095666255,499.46698830115,523.2511306012],description:"Diatonic scale, symmetrical tetrachords based on 14/11 and 13/11 triads"},schulter_ham:{frequencies:[261.6255653006,272.52663052146,283.8170195002,295.75063903546,307.79478270659,320.70230585235,334.29933343966,348.01136516401,362.25078272391,377.90359432309,393.36609818246,409.50088481833,426.86276443782,444.76346101102,462.87600014722,482.33849075995,502.32108537715,523.2511306012],description:'New rational tuning of "Hammond organ type", TL 01-03-2002'},schulter_jot17a:{frequencies:[261.6255653006,271.31540105247,281.75060878526,295.1673044417,305.22982618403,318.50068819203,332.97799220076,348.83408706747,361.75386806997,375.66747838035,392.4383479509,406.97310157871,422.62591317789,442.75095666255,457.84473927605,477.75103228805,499.46698830115,523.2511306012],description:"Just octachord tuning -- 4:3-9:8-4:3 division, 17 steps (7 + 3 + 7), Bb-Bb"},schulter_jot17bb:{frequencies:[261.6255653006,271.31540105247,281.75060878526,295.15228855401,305.22982618403,318.50068819203,332.97799220076,348.83408706747,361.75386806997,375.66747838035,392.4383479509,406.97310157871,422.62591317789,442.72843283101,457.84473927605,477.75103228805,499.46698830115,523.2511306012],description:'"Just Octachord Tuning" (Bb-Eb, F-Bb) -- 896:891 divided into 1792:1787:1782'},schulter_jwt17:{frequencies:[261.6255653006,272.43653907335,282.34838235411,295.1673044417,308.34441624714,319.76457981184,332.97799220076,347.8430811383,362.25078272391,376.08675011961,393.55640592227,409.81906732402,425.14154361347,443.97065626768,462.87600014722,481.6288815761,500.8899711738,523.2511306012],description:'"Just well-tuned 17" circulating system'},"schulter_lin76-34":{frequencies:[261.6255653006,270.6250663876,281.88470155261,291.58108453077,295.07956188513,305.22982618403,308.89206602106,319.51745915009,332.81131277165,344.25948974019,348.39001840879,360.3740779397,375.36781334896,388.27986588625,392.93856423817,406.45502016129,423.36600317146,437.92911415628,443.18352164838,458.42832346067,463.9286840578,479.88708893184,499.85328649772,517.04744024951,523.2511306012],description:"Two 12-note chains, ~704.160 cents, 34 4ths apart (32 4ths = 7:6), TL 29-11-02"},schulter_pel:{frequencies:[261.6255653006,271.31540105247,305.22982618403,392.4383479509,406.97310157871,523.2511306012],description:"Just pelog-style Phrygian pentatonic"},schulter_pepr:{frequencies:[261.6255653006,270.64528702739,281.81099471089,291.52662303231,295.05751399041,305.22982618403,308.92668738628,319.57714790608,332.76158224462,344.23376719628,348.40303271111,360.41446953256,375.28368107222,388.22184469544,392.9238840789,406.47020586181,423.23948674937,437.83095983374,443.13385158124,458.41119660824,463.96335069158,479.95880706014,499.75992392917,516.98949183803,523.2511306012],description:"Peppermint 24: Wilson/Pepper apotome/limma=Phi, 2 chains spaced for pure 7:6"},schulter_qcm62a:{frequencies:[261.6255653006,262.43934012943,267.90457886781,268.73788454005,273.37431312998,274.22463192287,279.93529690293,280.80602334765,285.65065877038,286.53916259713,292.50627485027,293.41610276971,299.52642572255,300.45808951291,305.64177427204,306.59245933664,312.977175335,313.95067836072,320.36052345918,320.48862783822,327.03195662575,328.04917632434,334.88072358477,335.92235492515,341.71789064962,342.78078913836,349.91912034749,351.00752840096,358.31717956585,359.43170941363,365.63284274659,366.77012764335,374.40803131735,375.5726110527,382.05221698715,383.2405741708,391.22147055517,392.4383479509,400.61078621746,401.85686830172,408.78994578219,410.06146948999,418.60090448096,419.90294514449,427.14736482575,428.47598794138,437.39890198442,438.75941205608,447.89647345742,449.28963835923,457.04105241293,458.46266117889,468.01003810189,469.46576276783,479.24227945773,480.73294151703,489.02683710225,490.54793493862,500.76348165392,502.32108537715,510.98743222773,512.57683571821,523.2511306012],description:"1/4-comma meantone, two 31-notes at 1/4-comma (Vicentino-like system)"},schulter_qcmlji24:{frequencies:[261.6255653006,262.43934012943,273.37431312998,274.22463192287,292.50627485027,293.41610276971,306.59245933664,312.977175335,327.03195662575,328.04917632434,349.91912034749,351.00752840096,365.63284274659,366.77012764335,391.22147055517,392.4383479509,408.78994578219,410.06146948999,437.39890198442,438.75941205608,458.46266117889,468.01003810189,489.02683710225,490.54793493862,523.2511306012],description:"24-note adaptive JI (Eb-G#/F'-A#') for Lasso's Prologue to _Prophetiae_"},schulter_qcmqd8_4:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.28772967674,327.03195662575,349.91912034749,365.63284274659,391.22147055517,411.22091428214,437.39890198442,465.24335632603,489.02683710225,523.2511306012],description:"F-C# in 1/4-comma meantone, other 5ths ~4.888 cents wide or (2048/2025)^(1/4)"},schulter_sq:{frequencies:[261.6255653006,271.31540105247,279.38237857051,289.72987407313,294.32876096318,305.22982618403,310.07474405997,325.94610833227,331.11985608357,343.38355445704,348.83408706747,361.75386806997,372.50983809402,386.30649876417,392.4383479509,406.97310157871,419.07356785577,434.59481110969,441.49314144476,457.84473927605,465.11211608996,488.9191624984,496.67978412536,515.07533168556,523.2511306012],description:'"Sesquisexta" tuning, two 12-tone Pyth. manuals a 7/6 apart. TL 16-5-2001'},schulter_tedorian:{frequencies:[261.6255653006,295.99553712036,309.28772789022,347.85054122562,393.54796334264,442.61656607198,462.49302735707,523.2511306012],description:"Eb Dorian in temperament extraordinaire -- neo-medieval style"},schulter_zarte84:{frequencies:[261.6255653006,272.52663052146,292.24684137387,308.87634556583,326.45210604021,350.07440004945,364.66083404534,391.04793957621,410.30971075781,436.81711699543,465.03699205118,487.94322738789,523.2511306012],description:"Temperament extraordinaire, Zarlino's 2/7-comma meantone (F-C#)"},schulter_zarte84n:{frequencies:[261.6255653006,272.46997760396,292.1447183254,308.81896225817,326.44489157977,350.01709816983,364.52535053201,391.11195868293,410.09013064752,436.73596474349,465.11312402839,488.01232708701,523.2511306012],description:"Zarlino temperament extraordinaire, 1024-tET mapping"},scotbag:{frequencies:[261.6255653006,290.69507255622,327.03195662575,356.76213450082,387.59343007496,436.04260883433,479.64686971777,523.2511306012],description:"Scottish bagpipe tuning"},scotbag2:{frequencies:[261.6255653006,290.69507255622,319.76457981184,348.83408706747,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Scottish bagpipe tuning 2"},scotbag3:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,441.49314144476,479.64686971777,523.2511306012],description:"Scottish bagpipe tuning 3"},scotbag4:{frequencies:[261.6255653006,293.15632631094,318.58319997217,348.2210758395,392.67530119805,428.21545238314,468.59347232539,523.2511306012],description:"Scottish Higland Bagpipe by Macdonald, Edinburgh. Helmholtz/Ellis p. 515, nr.52"},scottd1:{frequencies:[261.6255653006,275.93341798027,292.67158636845,310.42509491746,327.40170814054,349.22823143301,367.9112241576,391.5530240856,413.90012676351,437.52264545758,465.63764214343,490.54829628849,523.2511306012],description:"Dale Scott's temperament 1, TL 9-6-1999"},scottd2:{frequencies:[261.6255653006,276.1828093671,292.93610587951,310.70566022736,327.9937953665,349.3071136959,368.24374600687,391.64146650178,414.27421384356,438.21489534465,466.05849010807,491.32444638706,523.2511306012],description:"Dale Scott's temperament 2, TL 9-6-1999"},scottd3:{frequencies:[261.6255653006,276.40121172404,293.16775656083,310.95136287868,328.51274831708,349.22813057195,368.53494914961,391.77416758435,414.60181737882,438.75957425603,466.42704408487,491.93513777943,523.2511306012],description:"Dale Scott's temperament 3, TL 9-6-1999"},scottd4:{frequencies:[261.6255653006,276.60439543337,293.30494246724,310.98285414553,328.78580734933,349.37474066871,369.05201453919,391.83105388699,414.77686160481,439.10664961187,466.16991430388,492.5350487994,523.2511306012],description:"Dale Scott's temperament 4, TL 9-6-1999"},scottj:{frequencies:[261.6255653006,294.32876096318,336.37572681506,348.83408706747,392.4383479509],description:`Jeff Scott's "seven and five" tuning, fifth-repeating. TL 20-04-99`},scottj2:{frequencies:[261.6255653006,290.69507255622,299.00064605783,305.22982618403,313.95067836072,348.83408706747,366.27579142084,406.97310157871,418.60090448096,428.11456140098,436.04260883433,485.87604984397,523.2511306012,566.85539148463,581.39014511244,598.00129211566,610.45965236807,680.22646978156,719.47030457665,784.8766959018],description:`Jeff Scott's "just tritone/13" tuning. TL 17-03-2001`},secor12_1:{frequencies:[261.6255653006,275.03488264166,292.74290192225,310.07362690431,327.56128791316,349.21167447253,366.91716522699,391.37968062521,412.76363757129,437.92977184699,465.61556619611,490.01645577464,523.2511306012],description:"George Secor's 12-tone temperament ordinaire #1, proportional beating"},secor12_2:{frequencies:[261.6255653006,275.62199471997,292.79557634972,310.07474405997,327.35540669465,348.83408706747,367.49599295996,391.60840570078,413.43299207996,437.83150862942,465.11211608996,489.99465727995,523.2511306012],description:"George Secor's closed 12-tone well-temperament #2, with 7 just fifths"},secor12_3:{frequencies:[261.6255653006,274.49585366342,292.50627485027,309.76836826904,327.03195662575,349.57337698802,365.99447173417,391.22147055517,411.74378028931,437.39890198442,466.09783352473,489.02683710225,523.2511306012],description:"George Secor's closed 12-tone temperament #3 with 5 meantone, 3 just, and 2 wide fifths"},secor17htt1:{frequencies:[261.6255653006,266.21235100401,283.6936382117,294.88137067808,304.94368688875,319.75456524059,327.03195662575,348.50707605838,360.3992766165,372.69727792826,392.80658053205,399.69321489333,425.93975025566,435.63385416574,457.84473927605,480.08189580921,491.0082387498,523.2511306012],description:"George Secor's 17-tone high-tolerance temperament subset #1 on C (5/4 & 7/4 exact)"},secor17htt2:{frequencies:[261.6255653006,266.21235100401,279.78524030783,294.88137067808,300.05119287674,319.75456524059,327.03195662575,348.50707605838,360.3992766165,372.69727792826,392.80658053205,399.69321489333,425.93975025566,442.73709545768,457.84473927605,480.08189580921,491.0082387498,523.2511306012],description:"George Secor's 17-tone high-tolerance temperament subset #2 on Eo (5/4 & 7/4 exact)"},secor17htt3:{frequencies:[261.6255653006,270.55308473255,279.78524030783,294.88137067808,300.05119287674,319.75456524059,327.03195662575,343.70575469589,360.3992766165,368.60172104124,392.80658053205,399.69321489333,425.93975025566,442.73709545768,457.84473927605,480.08189580921,491.0082387498,523.2511306012],description:"George Secor's 17-tone high-tolerance temperament subset #3 on G (5/4 & 7/4 exact)"},secor17htt4:{frequencies:[261.6255653006,270.55308473255,279.78524030783,294.88137067808,300.05119287674,319.75456524059,332.36439517321,343.70575469589,360.3992766165,368.60172104124,392.80658053205,399.69321489333,420.07165483694,442.73709545768,450.49910517366,480.08189580921,491.0082387498,523.2511306012],description:"George Secor's 17-tone high-tolerance temperament subset #4 on Bo (5/4 & 7/4 exact)"},secor17wt:{frequencies:[261.6255653006,271.90848849519,284.45827635845,296.12458543709,307.25838681362,320.91221742866,335.17278980765,347.77473997341,362.0378075073,378.74746489181,393.63374363584,408.43373030454,427.2847686483,445.53990619223,462.29147990415,482.0422296857,504.29062567056,523.2511306012],description:"George Secor's well temperament with 5 pure 11/7 and 3 near just 11/6"},secor19wt:{frequencies:[261.6255653006,272.32755795875,282.27948808054,292.18583194851,304.13791554835,314.37102040472,326.31582004031,339.6640167515,350.11094753355,364.43250202589,378.27942889874,391.0071187494,407.00156221801,421.24111755476,436.68033801788,454.54308187078,469.17957429271,487.6886112017,506.92782577841,523.2511306012],description:"George Secor's 19-tone well temperament with ten 5/17-comma fifths"},secor19wt1:{frequencies:[261.6255653006,272.32845615788,282.22605479514,292.18610873661,304.13920677667,314.3856167727,326.31643450984,339.6657766488,350.11078170334,364.43353349925,378.23315721313,391.00730395019,407.00309738029,421.33223555387,436.68095599763,454.54522431957,469.16941157468,487.689760539,506.89867708289,523.2511306012],description:"George Secor's 19-tone proportional-beating (5/17-comma) well temperament (v.1)"},secor19wt2:{frequencies:[261.6255653006,272.32845615788,282.22605479514,292.18610873661,304.13920677667,314.27577204952,326.31643450984,339.6657766488,350.11078170334,364.43353349925,378.23315721313,391.00730395019,407.00309738029,421.20165315727,436.68095599763,454.54522431957,469.03541436973,487.689760539,506.89867708289,523.2511306012],description:"George Secor's 19-tone proportional-beating (5/17-comma) well temperament (v.2)"},secor1_4tx:{frequencies:[261.6255653006,274.52656755164,292.65557420835,309.65910769439,327.20096538886,349.14957009195,366.50113643833,391.42429537222,412.04336447213,437.62002395673,465.5327601226,489.58458498887,523.2511306012],description:"George Secor's rational 1/4-comma temperament extraordinaire"},secor1_5tx:{frequencies:[261.6255653006,275.23833828784,292.86443876933,310.12174699459,327.84546895566,349.26796031009,366.98445105045,391.462133155,412.85750743176,438.21197504744,465.69061374678,490.54793493862,523.2511306012],description:"George Secor's 1/5-comma temperament extraordinaire (ratios supplied by G. W. Smith)"},secor1_5wt:{frequencies:[261.6255653006,275.62199471997,292.86443876933,310.07474405997,327.84546895566,348.83408706747,367.44664657419,391.462133155,413.43299207996,438.21197504744,465.11211608996,490.54793493862,523.2511306012],description:"George Secor's 1/5-comma well-temperament (ratios supplied by G. W. Smith)"},secor1_7wt:{frequencies:[261.6255653006,276.40791719395,293.28186156416,310.6264877857,328.77715667764,349.45479875891,368.54388959194,391.74026793015,414.61187579093,439.14616729155,465.93973167855,492.29203182992,523.2511306012],description:"George Secor's 1/7-comma well-temperament (ratios supplied by G. W. Smith)"},secor22_19p3:{frequencies:[261.6255653006,266.86058412305,272.32845615788,282.28026746552,292.18610873661,304.13920677667,314.37137994881,326.31643450984,339.6657766488,350.11078170334,357.11635499175,364.43353349925,378.28077924825,391.00730395019,407.00309738029,421.28573964817,436.68095599763,454.54522431957,469.17973147781,477.89781576412,487.689760539,506.93004530576,523.2511306012],description:"George Secor's 19+3 well temperament with ten ~5/17-comma (equal-beating) fifths and 3 pure 9:11. TL 28-6-2002,26-10-2006. Aux=1,10,19"},secor22_ji29:{frequencies:[261.6255653006,272.52663052146,283.42769574232,286.15296204753,294.32876096318,305.22982618403,316.13089140489,327.03195662575,340.65828815182,348.83408706747,359.73515228832,370.63621750918,381.53728273004,392.4383479509,414.24047839262,425.14154361347,436.04260883433,441.49314144476,457.84473927605,479.64686971777,490.54793493862,501.44900015948,523.2511306012],description:"George Secor's 22-tone just intonation (29-limit otonality on 4/3)"},secor29htt:{frequencies:[261.6255653006,270.55308473255,276.71069203503,283.6936382117,290.1503157249,294.88137067808,304.94368688875,310.54087273367,319.75456524059,327.03195662575,332.36439517321,343.70575469589,348.50707605838,360.3992766165,368.60172104124,377.19539564757,387.3949548402,392.80658053205,406.21042497925,415.4555026381,425.93975025566,435.63385416574,442.73709545768,457.84473927605,464.24049278842,480.08189580921,491.0082387498,499.01438878341,516.04239079678,523.2511306012],description:"George Secor's 29-tone 13-limit high-tolerance temperament (5/4 & 7/4 exact)"},secor2_11wt:{frequencies:[261.6255653006,275.91396717201,292.9984614786,310.40321306851,328.14053952957,349.20361470207,367.88528956268,391.55148162785,413.87095075801,438.50612639837,465.60481960276,491.10222639053,523.2511306012],description:"George Secor's rational 2/11-comma well-temperament"},secor41htt:{frequencies:[261.6255653006,266.21235100401,270.55308473255,276.71069203503,279.78524030783,283.6936382117,290.1503157249,294.88137067808,300.05119287674,304.94368688875,310.54087273367,315.34936221801,319.75456524059,327.03195662575,332.36439517321,338.19136297459,343.70575469589,348.50707605838,354.61705516636,360.3992766165,368.60172104124,372.69727792826,377.90358994896,387.3949548402,392.80658053205,399.69321489333,406.21042497925,415.4555026381,420.07165483694,425.93975025566,435.63385416574,442.73709545768,450.49910517366,457.84473927605,464.24049278842,473.46789104304,480.08189580921,491.0082387498,499.01438878341,507.7630447553,516.04239079678,523.2511306012],description:"George Secor's 13-limit high-tolerance temperament superset (5/4 & 7/4 exact)"},secor5_23tx:{frequencies:[261.6255653006,275.02417915696,292.7420830065,310.0721322444,327.56084927797,349.21018850905,366.91927748105,391.38056264645,412.75664067387,437.92311604224,465.61358467873,490.0190422864,523.2511306012],description:"George Secor's rational 5/23-comma temperament extraordinaire"},secor5_23wt:{frequencies:[261.6255653006,275.62199471997,292.75872440224,310.07474405997,327.56278518065,348.83408706747,367.49599295996,391.3766908411,413.43299207996,437.81158306864,465.11211608996,489.99465727995,523.2511306012],description:"George Secor's rational 5/23-comma proportional-beating well-temperament"},secor7p:{frequencies:[261.6255653006,281.10327891957,302.03108525935,356.94582815655,383.52002471837,412.07263653985,442.75095666255,523.2511306012],description:"George Secor's pelog-like MOS with near just 11:13:15:19 tetrads (1979)"},secor_vrwt:{frequencies:[261.6255653006,276.32932769153,293.15777167588,310.55777256823,328.11844153148,349.04269216937,368.62018440632,392.00375398861,414.25255044712,438.65017260809,465.6191423793,491.6947801169,523.2511306012],description:"George Secor's Victorian rational well-temperament (based on Ellis #2)"},"secor_wt1-7":{frequencies:[261.6255653006,276.2204353545,293.2843722634,310.74798946314,328.77415062671,349.45463702831,368.55847674989,391.74146894101,414.33065282463,439.14535139523,466.13275379077,492.28548658217,523.2511306012],description:"George Secor's 1/7-comma well-temperament"},secor_wt10:{frequencies:[261.6255653006,276.4188590209,293.2843722634,310.62634254146,328.77415062671,349.45463500978,368.55847887877,391.7414712038,414.6282883241,439.14535393183,465.93951357928,492.28548942572,523.2511306012],description:"George Secor's 12-tone well-temperament, proportional beating"},"secor_wtpb-24a":{frequencies:[261.6255653006,275.62199471997,292.84836938997,310.07474405997,327.30111872997,348.83408706747,367.49599295996,391.90002374246,413.43299207996,437.54991661796,465.11211608996,490.95167809495,523.2511306012],description:"George Secor's 24-triad proportional-beating well-temperament (24a)"},"secor_wtpb-24b":{frequencies:[261.6255653006,275.62199471997,292.56126314547,310.07474405997,327.51644841334,348.83408706747,367.49599295996,391.46936437571,413.43299207996,437.76524630133,465.11211608996,490.37746560595,523.2511306012],description:"George Secor's 24-triad proportional-beating well-temperament (24b)"},segah:{frequencies:[261.6255653006,293.66476791741,320.24370022528,349.22823143301,391.99543598175,440,479.82340237272,523.2511306012],description:"Arabic SEGAH (Dudon) Two 4 + 3 + 3 tetrachords"},segah2:{frequencies:[261.6255653006,293.66476791741,318.39923223688,349.22823143301,391.99543598175,425.01198472693,466.16376151809,523.2511306012],description:"Iranian mode Segah from C"},segah_rat:{frequencies:[261.6255653006,294.32876096318,319.76457981184,348.83408706747,392.4383479509,441.49314144476,479.64686971777,523.2511306012],description:"Rationalized Arabic Seg\xEF\xBF\xBDh\r"},seidel974:{frequencies:[261.6255653006,262.64754016506,266.73543962288,267.75741448733,268.77938935179,273.88926367407,274.91123853852,276.95518826743,277.97716313189,280.0211128608,283.08703745416,284.10901231862,285.13098718308,287.17493691199,289.2188866409,290.24086150535,294.32876096318,457.84473927605,461.93263873387,463.97658846278,468.0644879206,474.19633710734,476.24028683625,482.37213602298,486.4600354808,488.50398520971,492.59188466754,498.72373385427,506.89953276991,513.03138195665,515.07533168556,519.16323114338,523.2511306012],description:"Dave Seidel, Base 9:7:4 Symmetry, scale for Passacaglia and Fugue State (2005)"},seikilos:{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,336.37572681506,348.83408706747,356.10146388137,392.4383479509,406.97310157871,441.49314144476,457.84473927605,504.56359022259,523.2511306012],description:"Seikilos Tuning"},sekati1:{frequencies:[261.6255653006,285.2147362526,318.99014578736,340.97107458785,383.86043226246,424.60539155549,468.56721805116,523.2511306012],description:"Gamelan sekati from Sumenep, East-Madura. 1/1=244 Hz."},sekati2:{frequencies:[261.6255653006,288.87830434024,317.34219433319,357.31261688157,393.64955765984,420.29657220667,469.35141988267,523.2511306012],description:"Gamelan Kyahi Sepuh from kraton Solo. 1/1=216 Hz."},sekati3:{frequencies:[261.6255653006,291.90272733088,308.20569577938,369.53649673407,403.69531865382,425.43272843735,475.11832680028,523.2511306012],description:"Gamelan Kyahi Henem from kraton Solo. 1/1=168.5 Hz."},sekati4:{frequencies:[261.6255653006,271.36353278789,288.89182053123,342.12578909252,379.12979967788,410.29128883625,439.50493264224,523.2511306012],description:"Gamelan Kyahi Guntur madu from kraton Jogya. 1/1=201.5 Hz."},sekati5:{frequencies:[261.6255653006,274.79663866182,311.31645994273,355.61927540077,375.97459751383,397.52718524897,433.44837981883,523.2511306012],description:"Gamelan Kyahi Naga Ilaga from kraton Jogya. 1/1=218.5 Hz."},sekati6:{frequencies:[261.6255653006,284.57524936299,310.80330758934,358.01400474517,390.79902205709,427.51850178351,468.18764285778,523.2511306012],description:"Gamelan Kyahi Munggang from Paku Alaman, Jogya. 1/1=199.5 Hz."},sekati7:{frequencies:[261.6255653006,286.67481979642,318.21831168293,371.10013445627,390.58282835584,422.12643845206,463.87524473877,523.2511306012],description:"Gamelan of Sultan Anom from Cheribon. 1/1=282 Hz."},sekati8:{frequencies:[261.6255653006,287.04067548259,315.94410704802,350.82750428678,381.72407804086,425.57749367468,447.5043967797,523.2511306012],description:"The old Sultans-gamelan Kyahi Suka rame from Banten. 1/1=262.5 Hz."},sekati9:{frequencies:[261.6255653006,280.44107893528,310.90439774384,346.74342440827,376.31071188751,412.14996063869,455.1567650372,523.2511306012],description:"Gamelan Sekati from Katjerbonan, Cheribon. 1/1=292 Hz."},selisir:{frequencies:[261.6255653006,278.78833362316,320.24370022528,380.8360868427,417.71053321823,524.76452349887],description:"Gamelan semara pagulingan, Bali. Pagan Kelod"},selisir2:{frequencies:[261.6255653006,279.59466973861,299.66214729245,376.46181130035,408.17001145418,520.23742585195],description:"Gamelan semara pagulingan, Bali. Kamasan"},selisir3:{frequencies:[261.6255653006,284.98499077387,305.5412851438,378.42269266694,406.45400323486,523.2511306012],description:"Gamelan gong, Pliatan, Bali. 1/1=280 Hz, McPhee, 1966"},selisir4:{frequencies:[261.6255653006,277.23130136276,295.59098907682,376.373620257,399.32323124828,523.2511306012],description:"Gamelan gong, Apuan, Bali. 1/1=285 Hz. McPhee, 1966"},selisir5:{frequencies:[261.6255653006,275.89605068063,309.19384990071,383.40037296022,406.23315014465,523.2511306012],description:"Gamelan gong, Sayan, Bali. 1/1=275 Hz. McPhee, 1966"},selisir6:{frequencies:[261.6255653006,282.63199755101,312.23197007902,396.25769882774,415.35445602102,523.2511306012],description:"Gamelan gong, Gianyar, Bali. 1/1=274 Hz. McPhee, 1966"},semipor1:{frequencies:[261.6255653006,290.69507255622,313.95067836072,327.03195662575,353.19451315581,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:"First 16/15&250/243 = 648/625&250/243 scale"},semisixths:{frequencies:[261.6255653006,264.19830736984,270.23055453212,272.88791531122,275.57140613391,281.86332858923,284.63508234504,291.13394747727,293.99686553194,300.70948316519,303.66656221886,306.65272199551,313.65430163898,316.7386758187,323.97054074552,327.15636145846,330.37351240232,337.91669168384,341.23965429995,349.03093233441,352.46319080675,360.51072564419,364.05587272954,367.63587953306,376.02984347246,379.72760059524,388.39764380609,392.21702191873,396.07395857323,405.11722624758,409.10101938242,418.44172684717,422.55654641528,426.71183224275,436.45463212963,440.74658728358,450.80983509489,455.24295209046,465.63718490681,470.21611194415,474.84006394159,485.68174342829,490.45777940536,501.656046885,506.58917188228,511.57080469686,523.2511306012],description:"Semisixths temperament, 13-limit, g=443.0"},"scalamakesrc2\\semisixths_8":{frequencies:[261.6255653006,282.20554108354,304.40437778605,337.94858305883,364.53227585368,393.20709362444,436.53702313055,470.87587163898,522.76460573117],description:"8-note MOS of Semisixths [7, 9, 13, -2, 1, 5] temperament, TOP tuning"},semisuper:{frequencies:[261.6255653006,267.78942821112,272.60119889127,277.49943141001,284.03728045772,289.141002119,295.95312328758,301.27095467792,308.36885759663,313.90977919898,321.30545111289,327.07882560827,334.78475653951,340.80033382945,348.82954357113,355.09748450744,363.46353108469,369.99442271164,378.7114412363,385.5163125912,392.44345945086,401.68937424288,408.90712663484,418.54092077997,426.06147005461,436.09942062666,443.93546710474,454.39452662825,462.55931114028,473.45714317395,481.96445416288,493.31947147471,502.18367855499,514.01505508798,523.2511306012],description:"Semisuper temperament, g=71.146064, p=600, 5-limit"},semithirds:{frequencies:[13.75,13.81661017188,13.90316796691,13.99026794524,14.07791366516,14.14611237417,14.23473442257,14.3239115844,14.41364750281,14.48347263281,14.57420816344,14.665512046,14.73655738771,14.82887834882,14.92177776458,15.01525908647,15.08799873642,15.18252139242,15.27763629821,15.37334698758,15.4478213521,15.54459820959,15.64198144101,15.73997475533,15.81622511342,15.91530993122,16.01501558389,16.11534586889,16.19341466585,16.29486248479,16.39694594444,16.47637891809,16.57959953527,16.68346670883,16.78798468204,16.86931199442,16.97499424439,17.08133847,17.18834901569,17.27161584349,17.37981843193,17.48869878298,17.59826134469,17.68351394199,17.7942969746,17.90577393328,18.01794937217,18.10523509614,18.21866011204,18.33279560295,18.42160666689,18.53701356879,18.6531435747,18.77000099922,18.86093005309,18.97908920954,19.09798871479,19.21763298632,19.3107305405,19.43170758802,19.55344264036,19.67594033402,19.77125798984,19.89512013023,20.01975835255,20.14517740386,20.24276822054,20.36958425827,20.49719488615,20.62560496443,20.72552315291,20.85536353332,20.98601745346,21.08768161561,21.21979095359,21.352727802,21.48649759166,21.59058626784,21.72584618454,21.86195334633,21.99891331359,22.10548432428,22.24396995552,22.38332303719,22.52354926226,22.63266180681,22.7744500803,22.91712649141,23.06069686887,23.17241155847,23.3175812365,23.46366023269,23.57732716458,23.72503340608,23.87366512928,24.02322785632,24.1396055475,24.29083432682,24.44301065897,24.59614033986,24.71529329517,24.87012861873,25.02593409262,25.18271565096,25.30471019771,25.46323807533,25.62275923969,25.78327976642,25.90818367164,26.07049216435,26.23381763196,26.36090411207,26.52604894185,26.69222821075,26.85944870765,26.98956598001,27.15864922771,27.32879158412,27.5],description:"Semithirds temperament, g=193.199615, 5-limit"},sensisynch19:{frequencies:[261.6255653006,272.4389540986,281.73678149918,293.38139793239,303.39395317428,313.74821628003,326.71591476706,337.86611241253,351.83064080634,363.83795665907,376.25506171692,391.80626469239,405.17787315281,421.92450060765,436.32398762558,454.35793210906,469.86431365505,485.89989602801,505.98288939536,523.2511306012],description:"Sensi[19] in synch (brat=-1) tuning, generator ~162/125 satisfies g^9-g^7-4=0"},serre_enh:{frequencies:[261.6255653006,265.7783520514,279.06726965397,348.83408706747,392.4383479509,398.6675280771,418.60090448096,523.2511306012],description:"Dorian mode of the Serre's Enharmonic"},"sev-elev":{frequencies:[261.6255653006,279.06726965397,294.32876096318,305.22982618403,327.03195662575,336.37572681506,359.73515228832,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:'"Seven-Eleven Blues" of Pitch Palette'},sha:{frequencies:[261.6255653006,266.96486255163,280.31310567921,284.82183961519,290.63452941521,294.32876096318,300.33547037059,305.16625703708,320.42456924675,326.96384715385,343.31203882349,348.83408706747,355.95315006884,373.75080757229,392.4383479509,400.44729382745,406.8883429195,420.46965851882,427.23275920923,435.9517939049,457.74938532681,480.63685362987,490.44577048562,498.33441009638,523.2511306012],description:"Three chains of sqrt(3/2) separated by 10/7"},shahin:{frequencies:[261.6255653006,277.01530443593,282.55561052465,294.32876096318,310.50067090621,317.47821407264,328.55303549378,348.83408706747,357.66532977804,371.78369805875,376.74081403286,392.4383479509,415.52295665389,428.11456140098,441.49314144476,463.20591889287,478.90781444856,495.71159741166,523.2511306012],description:"Mohajeri Shahin Iranian style scale, TL 9-4-2006"},shahin_wt:{frequencies:[261.6255653006,276.93928561067,294.25491037444,311.47852302926,329.62755691287,348.92163548373,370.73795561568,392.4383479509,415.30469757995,439.61371330969,467.10055427519,494.44133512215,523.2511306012],description:"Mohajeri Shahin, well temperament, TL 28-12-2006"},shalfun:{frequencies:[261.6255653006,269.43930514995,277.46904793785,285.74220762407,294.32876096318,302.80736724606,311.45900631024,320.30554027987,329.50323085718,338.98103822311,348.83408706747,359.12912189513,369.78878487717,380.87868001252,392.4383479509,404.24222079821,416.2697936366,428.68354137408,441.49314144476,454.4477424016,467.68960547122,481.19471271032,494.94053216156,508.90014647073,523.2511306012],description:"d'Erlanger vol.5, p.40. After Alexandre ^Salfun (Chalfoun)"},"sharm1c-conm":{frequencies:[261.6255653006,305.22982618403,318.50068819203,332.97799220076,406.97310157871,430.91269578922,457.84473927605,523.2511306012],description:"Subharm1C-ConMixolydian"},"sharm1c-conp":{frequencies:[261.6255653006,313.95067836072,330.47439827444,348.83408706747,418.60090448096,448.50096908674,483.00104363188,523.2511306012],description:"Subharm1C-ConPhryg"},"sharm1c-dor":{frequencies:[261.6255653006,319.76457981184,338.57426097725,359.73515228832,383.71749577421,411.12588832951,479.64686971777,547.03527290125,523.2511306012],description:"Subharm1C-Dorian"},"sharm1c-lyd":{frequencies:[261.6255653006,309.19384990071,323.91736656265,340.11323489078,382.37582620857,377.90359432309,485.87604984397,503.87145909745,523.2511306012],description:"Subharm1C-Lydian"},"sharm1c-mix":{frequencies:[261.6255653006,305.22982618403,318.50068819203,332.97799220076,366.27579142084,457.84473927605,488.36772189445,523.2511306012],description:"Subharm1C-Mixolydian"},"sharm1c-phr":{frequencies:[261.6255653006,313.95067836072,330.47439827444,348.83408706747,392.4383479509,483.00104363188,502.32108537715,523.2511306012],description:"Subharm1C-Phrygian"},"sharm1e-conm":{frequencies:[261.6255653006,318.50068819203,325.57848126297,332.97799220076,430.91269578922,443.97065626768,457.84473927605,523.2511306012],description:"Subharm1E-ConMixolydian"},"sharm1e-conp":{frequencies:[261.6255653006,330.47439827444,339.40613876835,348.83408706747,448.50096908674,465.11211608996,483.00104363188,523.2511306012],description:"Subharm1E-ConPhrygian"},"sharm1e-dor":{frequencies:[261.6255653006,338.57426097725,348.83408706747,359.73515228832,383.71749577421,411.12588832951,500.50108144463,511.62332769895,523.2511306012],description:"Subharm1E-Dorian"},"sharm1e-lyd":{frequencies:[261.6255653006,323.91736656265,331.81779013735,340.11323489078,382.37582620857,377.90359432309,503.87145909745,513.37846775967,523.2511306012],description:"Subharm1E-Lydian"},"sharm1e-mix":{frequencies:[261.6255653006,318.50068819203,325.57848126297,332.97799220076,366.27579142084,488.36772189445,505.20798816668,523.2511306012],description:"Subharm1E-Mixolydian"},"sharm1e-phr":{frequencies:[261.6255653006,330.47439827444,339.40613876835,348.83408706747,392.4383479509,502.32108537715,512.57253609913,523.2511306012],description:"Subharm1E-Phrygian"},"sharm2c-15":{frequencies:[261.6255653006,327.03195662575,341.25073734861,356.76213450082,392.4383479509,461.69217405988,490.54793493862,523.2511306012],description:"Subharm2C-15-Harmonia"},"sharm2c-hypod":{frequencies:[261.6255653006,322.00069575458,334.88072358477,348.83408706747,364.00078650518,380.54627680087,465.11211608996,492.47165233054,523.2511306012],description:"SHarm2C-Hypodorian"},"sharm2c-hypol":{frequencies:[261.6255653006,307.79478270659,327.03195662575,348.83408706747,373.75080757229,402.50086969323,475.68284600109,498.33441009638,523.2511306012],description:"SHarm2C-Hypolydian"},"sharm2c-hypop":{frequencies:[261.6255653006,336.37572681506,348.83408706747,362.25078272391,376.74081403286,392.4383479509,470.92601754108,495.71159741166,523.2511306012],description:"SHarm2C-Hypophrygian"},"sharm2e-15":{frequencies:[261.6255653006,341.25073734861,348.83408706747,356.76213450082,392.4383479509,490.54793493862,506.37206187213,523.2511306012],description:"Subharm2E-15-Harmonia"},"sharm2e-hypod":{frequencies:[261.6255653006,334.88072358477,341.71502406609,348.83408706747,364.00078650518,380.54627680087,492.47165233054,507.3950357345,523.2511306012],description:"SHarm2E-Hypodorian"},"sharm2e-hypol":{frequencies:[261.6255653006,327.03195662575,337.58137458142,348.83408706747,373.75080757229,402.50086969323,498.33441009638,510.48890790361,523.2511306012],description:"SHarm2E-Hypolydian"},"sharm2e-hypop":{frequencies:[261.6255653006,348.83408706747,355.41586229515,362.25078272391,376.74081403286,392.4383479509,495.71159741166,509.10920815252,523.2511306012],description:"SHarm2E-Hypophrygian"},sherwood:{frequencies:[261.6255653006,279.50101530337,292.73346657716,312.73435005323,327.54017122074,349.91920725962,366.48547573919,391.52543233055,418.27599117656,438.07873640926,468.01000025525,490.16733894289,523.65750116998],description:"Sherwood's improved meantone temperament"},shrutar:{frequencies:[261.6255653006,269.80136421624,277.49581689502,285.40970760065,294.32876096318,304.37698984459,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,368.95121675679,379.48299988042,392.4383479509,405.83598431812,417.42065019394,428.11456140098,441.49314144476,457.84473927605,470.92601754108,490.54793493862,505.97733342682,523.2511306012],description:"Paul Erlich's Shrutar tuning (from 9th fret) tempered with Dave Keenan"},shrutar_temp:{frequencies:[261.6255653006,269.67683152447,277.97586744827,286.53029793775,295.34798250635,304.4370214407,313.80576690868,327.74897996102,337.83512841993,348.23166805304,358.94815083964,369.99442271164,381.38063259971,393.11724175776,405.21503337437,417.68512248001,430.53896367224,443.78837151315,463.50705251482,477.77102045752,492.47394780842,507.62934310616,523.2511306012],description:"Shrutar temperament, 11-limit, g=52.474, 1/2 oct."},shrutart:{frequencies:[261.6255653006,269.83675183105,278.27349931787,286.14641333958,294.32706056425,305.2349557921,313.94319125793,327.02936607233,337.2932679302,348.82502010853,358.79758764604,369.99442271164,381.540672377,392.44854854484,405.86600994967,418.6042204156,436.0530078362,448.49343183014,465.11480315564,478.41198231361,491.94721442498,507.32849364948,523.2511306012],description:"Paul Erlich's 'Shrutar' tuning tempered by Dave Keenan, TL 29-12-2000"},siamese:{frequencies:[261.6255653006,269.26067151764,288.95340229325,296.22023396764,319.13574119147,352.26720984209,362.5475414329,388.79334481031,400.18585940536,429.40436513853,443.77760270734,473.98350631811,523.2511306012],description:"Siamese Tuning, after Clem Fortuna's Microtonal Guide"},silbermann1:{frequencies:[261.6255653006,275.15551885617,293.66476791741,312.53552595124,327.77163799145,349.82028288879,367.9112241576,391.99543598175,411.56972129721,438.75957425603,467.74568907204,491.10256480205,523.2511306012],description:"Gottfried Silbermann's temperament nr. 1"},silbermann2:{frequencies:[261.6255653006,275.00020270933,293.00227310437,312.18279369479,328.14198392915,349.6228209638,367.49599295996,391.5530240856,411.56972129721,438.51190905657,467.21778431035,491.10256480205,523.2511306012],description:"Gottfried Silbermann's temperament nr. 2, 1/6 Pyth. comma meantone"},silbermann2a:{frequencies:[261.6255653006,275.00020270933,293.00227310437,310.77584116741,328.14198392915,349.6228209638,367.49599295996,391.5530240856,411.56972129721,438.51190905657,467.21778431035,491.10256480205,523.2511306012],description:"Modified Silbermann's temperament nr. 2, also used by Hinsz in Midwolda"},silver:{frequencies:[261.6255653006,277.18807786937,293.58315284916,311.09098010692,329.53543886896,349.23174545031,369.98176232374,391.84186131702,415.18563115404,439.77824302677,466.03998256716,493.70667148145,523.2511306012],description:"Equal beating chromatic scale, A.L.Leigh Silver JASA 29/4, 476-481, 1957"},silver_10:{frequencies:[261.6255653006,270.26884019355,294.27266239927,320.41022551991,330.99364634362,360.39280035711,392.40094712608,405.36462386145,441.36692569059,480.56953386201,523.2511306012],description:"Ten-tone MOS from 350.9 cents"},silver_11:{frequencies:[261.6255653006,277.73657748574,294.83971256733,315.81001885226,335.25773244276,355.90304440354,381.21644531515,404.69191411574,429.61301214396,460.16899244324,488.50639225338,523.2511306012],description:"Eleven-tone MOS from 1+sqr(2), 1525.864 cents"},silver_11a:{frequencies:[261.6255653006,272.21316796874,283.22923537857,314.22802528801,326.94437231289,340.17533123945,377.40674067136,392.67983758722,408.5710143206,453.28817432381,471.63208149661,523.2511306012],description:"Eleven-tone MOS from 317.17 cents"},silver_11b:{frequencies:[261.6255653006,281.48899567641,302.85877036442,316.87090334834,340.92873240472,366.81310701257,383.78194911277,412.91987382947,444.27004083312,464.82473992747,500.11279777071,523.2511306012],description:"Eleven-tone MOS from 331.67 cents"},silver_7:{frequencies:[261.6255653006,277.73649727228,315.81000061035,335.2576162513,381.21640127531,404.69175048432,460.16888612163,523.2511306012],description:"Seven-tone MOS from 1+sqr(2), 1525.864 cents"},silver_8:{frequencies:[261.6255653006,288.49477506296,306.46277751246,337.93681424842,358.98416079003,395.852196628,420.50662316693,492.57276348379,523.2511306012],description:"Eight-tone MOS from 273.85 cents"},silver_9:{frequencies:[261.6255653006,294.18258755347,307.6617709921,345.94759796409,361.79860795042,406.82129262791,425.46148093979,478.40645551359,500.32661205896,523.2511306012],description:"Nine-tone MOS from 280.61 cents"},silvermean:{frequencies:[261.6255653006,286.15296204753,327.03195662575,345.42750418595,392.4383479509,416.96574469783,474.19633710734,523.2511306012],description:"First 6 approximants to the Silver Mean, 1+ sqr(2) reduced by 2/1"},simonton:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,465.11211608996,494.18162334558,523.2511306012],description:"Simonton Integral Ratio Scale, JASA 25/6 (1953): A new integral ratio scale"},sims:{frequencies:[261.6255653006,272.52663052146,283.42769574232,294.32876096318,305.22982618403,316.13089140489,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Ezra Sims' 18-tone mode"},sims2:{frequencies:[261.6255653006,269.80136421624,277.97716313189,286.15296204753,294.32876096318,302.50455987882,310.68035879446,318.85615771011,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Sims II"},sims_24:{frequencies:[261.6255653006,269.80136421624,272.52663052146,277.97716313189,283.42769574232,286.15296204753,294.32876096318,302.50455987882,305.22982618403,310.68035879446,316.13089140489,318.85615771011,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"See his article, Reflections on This and That, 1991 p.93-106"},sin:{frequencies:[261.6255653006,275.08939827539,302.09917071192,334.63165645627,369.99442271164,407.01712569342,445.10399729103,483.9175316883,523.2511306012,562.97086325858,602.98541169118,643.23087116255,683.66056756853,724.23972686276,764.94197926416,805.74682982871,846.63811574624,887.6028851904,928.63083777952,969.71346974542,1010.84345850104,1052.01529432917],description:"1/sin(2pi/n), n=4..25"},sinemod12:{frequencies:[261.6255653006,270.6035983646,282.0485507085,292.16840832754,301.82804372114,314.42520179993,326.24260278214,336.76433478807,350.4641458176,364.21811789193,375.86233664064,390.61306119732,406.50371126161,419.61372202861,435.38454314112,453.55584308858,468.551249676,485.36279478778,505.89080731022,523.2511306012],description:"Sine modulated F=12, A=-.08203754"},sinemod8:{frequencies:[261.6255653006,272.43905323978,281.98404270447,290.99567087708,301.68076007415,314.40050256998,326.99158834066,337.97331861211,348.96407538813,362.38276875396,377.76595534172,392.29216556304,405.04934945717,418.6525822649,435.418746849,453.77727371169,470.43955130022,485.47382867757,502.48255971303,523.2511306012],description:"Sine modulated F=8, A=.11364155. Deviation minimal3/2, 4/3, 5/4, 6/5, 5/3, 8/5"},singapore:{frequencies:[261.6255653006,291.46787011619,321.35550581422,354.51258839996,385.70651737906,428.95813651779,462.1422075194,523.2511306012],description:"An observed xylophone tuning from Singapore"},sintemp6:{frequencies:[261.6255653006,277.18263097687,292.42974339757,312.08834713741,327.870830746,349.91196330865,369.15973155124,391.11111150212,416.11779639122,437.6550518996,467.60417912673,491.80624587316,523.2511306012],description:"Sine modulated fifths, A=1/6 Pyth, one cycle, f0=-90 degrees"},sintemp6a:{frequencies:[261.6255653006,276.17281343288,293.21211353711,310.64741311165,328.42667470471,349.22823143301,368.43838932195,391.77416758435,414.19655102258,438.82595961933,465.90062756558,491.80624587316,523.2511306012],description:"Sine modulated fifths, A=1/12 Pyth, one cycle, f0= D-A"},sintemp_19:{frequencies:[261.6255653006,272.86445838226,281.30973389888,292.50627485027,304.14845459111,313.56198179795,327.03195662575,338.65502209741,350.02113164026,365.30494475029,376.98581738134,391.19763056219,407.47965586966,419.94695489748,437.42555500456,453.91586039553,468.43012697388,488.88431353627,505.29249383438,523.2511306012],description:"Sine modulated thirds, A=7.366 cents, one cycle over fifths, f0=90 degrees"},sintemp_7:{frequencies:[261.6255653006,291.06608881088,319.67397341855,351.09362859375,390.60192440975,432.07134328681,473.03044489876,523.2511306012],description:"Sine modulated fifths, A=8.12 cents, one cycle, f0=90 degrees"},slen_pel:{frequencies:[261.6255653006,261.6255653006,283.17034563789,298.45295203849,338.50336851425,364.68988616898,346.01554587335,389.06292924114,398.38689497567,420.13030572059,455.51656649021,493.31307433255,523.2511306012],description:"Pelog white, Slendro black"},slen_pel16:{frequencies:[261.6255653006,261.6255653006,285.30470202322,285.30470202322,297.93622032612,311.12698372208,339.28638158975,386.37547528213,386.37547528213,403.48177901006,421.34544350737,440,523.2511306012],description:"16-tET Slendro and Pelog"},slen_pel23:{frequencies:[261.6255653006,261.6255653006,295.14355885465,295.14355885465,286.38154466424,343.14246862785,313.47984535337,398.94762483098,398.94762483098,387.10394860926,450.05828708186,423.73315704439,523.2511306012],description:"23-tET Slendro and Pelog"},slen_pel_jc:{frequencies:[261.6255653006,261.6255653006,299.00064605783,299.00064605783,279.06726965397,341.71502406609,348.83408706747,392.4383479509,392.4383479509,392.4383479509,448.50096908674,418.60090448096,523.2511306012],description:"Slendro/JC PELOG S1c,P1c#,S2d,eb,P2e,S3f,P3f#,S4g,ab,P4a,S5bb,P5b"},slen_pel_schmidt:{frequencies:[261.6255653006,261.6255653006,294.32876096318,305.22982618403,327.03195662575,348.83408706747,359.73515228832,392.4383479509,392.4383479509,457.84473927605,457.84473927605,490.54793493862,523.2511306012],description:"Dan Schmidt (Pelog white, Slendro black)"},slendro:{frequencies:[261.6255653006,298.45295203849,346.01554587335,398.38689497567,455.51656649021,523.2511306012],description:"Observed Javanese Slendro scale, Helmholtz/Ellis p. 518, nr.94"},slendro10:{frequencies:[261.6255653006,304.21577360535,342.24274530602,391.67780832635,463.92905474816,523.2511306012],description:"Low gender from Singaraja (banjar Lod Peken), Bali. 1/1=172 Hz. McPhee, 1966."},slendro11:{frequencies:[261.6255653006,299.11221417218,343.62760815601,387.36203100102,452.96366529656,523.2511306012],description:"Low gender from Sawan, Bali. 1/1=167.5 Hz. McPhee, 1966."},slendro2:{frequencies:[261.6255653006,299.13295468097,343.58614396263,395.91119354826,450.08870388136,523.2511306012],description:"Gamelan slendro from Ranchaiyuh, distr. Tanggerang, Batavia. 1/1=282.5 Hz"},slendro3:{frequencies:[261.6255653006,298.44694115772,339.14425131559,391.46936437571,453.48431318771,522.28214737536],description:"Gamelan kodok ngorek. 1/1=270 Hz"},slendro4:{frequencies:[261.6255653006,294.5074669504,344.54514337401,400.3014113889,467.49486258632,523.2511306012],description:"Low gender in saih lima from Kuta, Bali. 1/1=183 Hz. McPhee, 1966"},slendro5_1:{frequencies:[261.6255653006,299.00064605783,336.37572681506,392.4383479509,448.50096908674,523.2511306012],description:"A slendro type pentatonic which is based on intervals of 7; from Lou Harrison"},slendro5_2:{frequencies:[261.6255653006,305.22982618403,348.83408706747,392.4383479509,457.84473927605,523.2511306012],description:"A slendro type pentatonic which is based on intervals of 7, no. 2"},slendro5_4:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,448.50096908674,523.2511306012],description:"A slendro type pentatonic which is based on intervals of 7, no. 4"},slendro6:{frequencies:[261.6255653006,295.05549864457,341.56671025356,398.25224940202,461.478427683,523.2511306012],description:"Low gender from Klandis, Bali. 1/1=180 Hz. McPhee, 1966"},slendro8:{frequencies:[261.6255653006,309.85821141747,350.78288084997,406.32350365121,467.71050779996,523.2511306012],description:"Low gender from Tabanan, Bali. 1/1=179 Hz. McPhee, 1966."},slendro9:{frequencies:[261.6255653006,299.00064605783,336.37572681506,388.70083987518,448.50096908674,523.2511306012],description:"Low gender from Singaraja (banjar Panataran), Bali. 1/1=175 Hz. McPhee, 1966."},slendro_7_1:{frequencies:[261.6255653006,299.00064605783,341.71502406609,392.4383479509,448.50096908674,523.2511306012],description:"Septimal Slendro 1, From HMSL Manual, also Lou Harrison, Jacques Dudon"},slendro_7_2:{frequencies:[261.6255653006,294.32876096318,343.38355445704,392.4383479509,448.50096908674,523.2511306012],description:"Septimal Slendro 2, From Lou Harrison, Jacques Dudon's APTOS"},slendro_7_3:{frequencies:[261.6255653006,294.32876096318,336.37572681506,392.4383479509,448.50096908674,523.2511306012],description:'Septimal Slendro 3, Harrison, Dudon, called "MILLS" after Mills Gamelan'},slendro_7_4:{frequencies:[261.6255653006,294.32876096318,343.38355445704,392.4383479509,457.84473927605,523.2511306012],description:'Septimal Slendro 4, from Lou Harrison, Jacques Dudon, called "NAT"'},slendro_7_5:{frequencies:[261.6255653006,305.22982618403,343.38355445704,400.61414686654,467.3831713443,523.2511306012],description:"Septimal Slendro 5, from Jacques Dudon"},slendro_7_6:{frequencies:[261.6255653006,299.00064605783,341.71502406609,390.53145607553,455.62003208812,523.2511306012],description:"Septimal Slendro 6, from Robert Walker"},slendro_a1:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,457.84473927605,523.2511306012],description:`Dudon's Slendro A1, "Seven-Limit Slendro Mutations", 1/1 8:2'94 hexany 1.3.7.21`},slendro_a2:{frequencies:[261.6255653006,299.00064605783,341.71502406609,398.6675280771,448.50096908674,523.2511306012],description:`Dudon's Slendro A2 from "Seven-Limit Slendro Mutations", 1/1 8:2 Jan 1994`},slendro_alv:{frequencies:[261.6255653006,299.00064605783,348.83408706747,406.97310157871,465.11211608996,523.2511306012],description:"Bill Alves, slendro for Gender Barung, 1/1 vol.9 no.4, 1997. 1/1=282.86"},slendro_ang:{frequencies:[261.6255653006,299.00064605783,340.82516392797,388.43396508487,445.83123341082,523.2511306012],description:"Gamelan Angklung Sangsit, North Bali. 1/1=294 Hz"},slendro_av:{frequencies:[261.6255653006,298.97057995496,344.02264297658,395.86362945285,454.20288100724,525.67465946865],description:"Average of 30 measured slendro gamelans, W. Surjodiningrat et al., 1993."},slendro_dudon:{frequencies:[261.6255653006,305.22982618403,348.83408706747,399.70572476481,457.84473927605,523.2511306012],description:'Dudon\'s Slendro from "Fleurs de lumie`re"'},slendro_gum:{frequencies:[261.6255653006,305.03156112838,348.43777142572,394.8168394034,470.92601754108,525.62941881859],description:"Gumbeng, bamboo idiochord from Banyumas. 1/1=440 Hz"},slendro_ky1:{frequencies:[261.6255653006,297.58776037991,344.33874539242,394.68595744625,449.52853279627,523.2511306012],description:"Kyahi Kanyut Me`sem slendro, Mangku Nagaran, Solo. 1/1=291 Hz"},slendro_ky2:{frequencies:[261.6255653006,302.42139140287,345.87786599062,395.54249276388,453.1886900261,523.2511306012],description:"Kyahi Pengawe' sari, Paku Alaman, Jogya. 1/1=295 Hz"},slendro_laras:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,448.50096908674,523.2511306012,598.00129211566,697.66817413493],description:'Lou Harrison, gamelan "Si Betty"'},slendro_m:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,448.50096908674,523.2511306012],description:`Dudon's Slendro M from "Seven-Limit Slendro Mutations", 1/1 8:2 Jan 1994`},slendro_madu:{frequencies:[261.6255653006,300.52885648597,345.61604384578,394.49404533893,447.94973572445,522.94897617031],description:"Sultan's gamelan Madoe kentir, Jogjakarta, Jaap Kunst"},slendro_mat:{frequencies:[261.6255653006,261.6255653006,299.00064605783,299.00064605783,341.71502406609,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,455.62003208812,457.84473927605,523.2511306012],description:`Dudon's Slendro Matrix from "Seven-Limit Slendro Mutations", 1/1 8:2 Jan 1994`},slendro_pa:{frequencies:[261.6255653006,304.19649364034,353.69443592699,411.24653512154,478.16333951147,523.2511306012],description:'"Blown fifth" primitive slendro, von Hornbostel'},slendro_pas:{frequencies:[261.6255653006,300.35531433711,343.03050002254,393.12919962609,450.54468214486,523.2511306012],description:"Gamelan slendro of regent of Pasoeroean, Jaap Kunst"},slendro_pb:{frequencies:[261.6255653006,304.72408298441,342.83241505062,399.30842833955,449.24533531117,523.2511306012],description:'"Blown fifth" medium slendro, von Hornbostel'},slendro_pc:{frequencies:[261.6255653006,299.48910562989,342.83241505062,392.44854854484,449.24533531117,523.2511306012],description:'"Blown fifth" modern slendro, von Hornbostel'},slendro_pliat:{frequencies:[261.6255653006,299.73468146833,339.98478643783,393.08060743874,447.03290350508,523.2511306012,599.46936293666,679.96957287566,786.16121487749,894.06580701017],description:"Gender wayang from Pliatan, South Bali (Slendro), 1/1=305.5 Hz"},slendro_q13:{frequencies:[261.6255653006,307.00725675226,360.2608752926,400.8015646157,470.32478922042,523.2511306012],description:"13-tET quasi slendro, Blackwood"},slendro_s1:{frequencies:[261.6255653006,299.00064605783,348.83408706747,398.6675280771,457.84473927605,523.2511306012],description:`Dudon's Slendro S1 from "Seven-Limit Slendro Mutations", 1/1 8:2 Jan 1994`},slendro_s2:{frequencies:[261.6255653006,299.00064605783,341.71502406609,398.6675280771,455.62003208812,523.2511306012],description:"Dudon's Slendro S2"},slendro_udan:{frequencies:[261.6255653006,305.22982618403,351.32575911795,402.50086969323,465.11211608996,523.2511306012],description:"Slendro Udan Mas (approx)"},slendro_wolf:{frequencies:[261.6255653006,298.18866107946,339.86157848985,395.0032340925,450.20632964813,523.2511306012],description:"Daniel Wolf's slendro. Tuning List 30 5 1997"},slendrob1:{frequencies:[261.6255653006,307.44024341205,355.66611281954,409.9203247543,476.83364134848,523.2511306012],description:"Gamelan miring of Musadikrama, desa Katur, Bajanegara. 1/1=434 Hz"},slendrob2:{frequencies:[261.6255653006,307.55978097874,346.50416420081,398.42969909174,449.35693171058,523.2511306012],description:"Gamelan miring from Bajanegara. 1/1=262 Hz"},slendrob3:{frequencies:[261.6255653006,304.90191053936,342.27700149692,398.33972372326,447.51732140012,523.2511306012],description:"Gamelan miring from Ngumpak, Bajanegara. 1/1=266 Hz"},slendroc1:{frequencies:[261.6255653006,297.59222964268,344.42030317161,394.72197985873,449.50490455178,523.2511306012],description:"Kyahi Kanyut mesem slendro (Mangku Nagaran Solo). 1/1=291 Hz"},slendroc2:{frequencies:[261.6255653006,302.44445076078,346.01554587335,396.09235530397,453.15466093696,523.2511306012],description:"Kyahi Pengawe sari (Paku Alaman, Jogja). 1/1=295 Hz."},slendroc3:{frequencies:[261.6255653006,301.39807245198,344.42030317161,395.40657391157,451.84778706363,523.2511306012],description:"Gamelan slendro of R.M. Jayadipura, Jogja. 1/1=231 Hz"},slendroc4:{frequencies:[261.6255653006,299.14332201883,343.8239850859,396.09235530397,450.28451247858,523.2511306012],description:"Gamelan slendro, Rancha iyuh, Tanggerang, Batavia. 1/1=282.5 Hz"},slendroc5:{frequencies:[261.6255653006,299.83528893666,340.07120590121,393.12919962609,447.17417015401,523.2511306012],description:"Gender wayang from Pliatan, South Bali. 1/1=611 Hz"},slendroc6:{frequencies:[261.6255653006,296.73398952435,343.8239850859,396.7793260952,453.9405988926,527.19506190947,607.33963549452,696.44215167899,797.23415748628,918.4302691641,1071.58188326661],description:"from William Malm: Music Cultures of the Pacific, the Near East and Asia."},slendrod1:{frequencies:[261.6255653006,292.47977325983,340.6610152784,389.06292924114,444.85552088095,523.2511306012],description:"Gender wayang from Ubud (S. Bali). 1/1=347 Hz"},smith_eh:{frequencies:[261.6255653006,272.7117507892,292.30354792656,313.30283124826,326.5788018031,350.04044239751,364.87314355143,391.08587539224,407.65784362321,436.94425707006,468.33462614046,488.17995458879,523.2511306012],description:"Robert Smith's Equal Harmony temperament (1749)"},smith_mq:{frequencies:[261.6255653006,273.37438418823,292.50629623572,312.97714101186,327.03200500996,349.91910755601,365.63292511375,391.22148485648,408.79006910398,437.39894995248,468.01000388518,489.02693031834,523.2511306012],description:"Robert Smith approximation of quarter comma meantone fifth"},"scalamakesrc2\\smithgw-ball":{frequencies:[261.6255653006,267.07609791103,272.52663052146,274.70684356563,280.31310567921,286.15296204753,294.32876096318,300.46061014991,305.22982618403,306.59245933664,313.95067836072,320.49131749323,327.03195662575,333.84512238879,336.37572681506,343.38355445704,350.39138209902,357.69120255941,366.27579142084,367.91095120397,373.75080757229,381.53728273004,392.4383479509,400.61414686654,408.78994578219,412.06026534844,420.46965851882,429.2294430713,436.04260883433,448.50096908674,457.84473927605,467.18850946536,470.92601754108,476.92160341255,480.73697623985,490.54793493862,500.76768358318,515.07533168556,523.2511306012],description:"Ball 2 around tetrad lattice hole"},smithgw46:{frequencies:[261.6255653006,273.72380653152,313.47993226845,327.97605323154,364.46098649856,392.98113253789,436.69740466987,456.89141950378,523.2511306012],description:'Gene Ward Smith 46-tET subset "Star"'},smithgw46a:{frequencies:[261.6255653006,282.09853500802,313.47993226845,327.97605323154,375.61187043063,392.98113253789,436.69740466987,470.87026054824,523.2511306012],description:'46-tET version of "Star", alternative version'},smithgw72a:{frequencies:[261.6255653006,285.30470202322,299.37379946195,326.46944327063,342.56848033562,373.57357677338,391.99543598175,427.47405410759,435.78442404634,457.27406033445,498.66089874196,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72c:{frequencies:[261.6255653006,279.86396690685,305.19382000629,326.46944327063,349.22823143301,391.99543598175,419.32216217931,457.27406033445,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72d:{frequencies:[261.6255653006,305.19382000629,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72e:{frequencies:[261.6255653006,279.86396690685,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72f:{frequencies:[261.6255653006,326.46944327063,349.22823143301,435.78442404634,466.16376151809,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72g:{frequencies:[261.6255653006,326.46944327063,349.22823143301,391.99543598175,419.32216217931,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72h:{frequencies:[261.6255653006,279.86396690685,314.13668154225,349.22823143301,391.99543598175,435.78442404634,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 09-01-2002"},smithgw72i:{frequencies:[261.6255653006,279.86396690685,293.66476791741,314.13668154225,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,435.78442404634,470.6732130613,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset version of Duodene, TL 02-06-2002"},smithgw72j:{frequencies:[261.6255653006,274.52698453615,305.19382000629,326.46944327063,349.22823143301,366.44956000397,391.99543598175,435.78442404634,457.27406033445,489.15147723638,523.2511306012],description:"{225/224, 441/440} tempering of decad, 72-et version (2002)"},smithgw84:{frequencies:[261.6255653006,286.48426603331,306.03443598155,335.11270457212,357.98136125932,391.99543598175,418.74586628806,458.53356119912,489.82466832727,523.2511306012],description:'Gene Ward Smith 84-tET subset, 11-limit temperament "Orwell", 2002'},smithgw_18:{frequencies:[261.6255653006,272.52663052146,280.31310567921,286.15296204753,294.32876096318,306.59245933664,327.03195662575,343.38355445704,350.39138209902,367.91095120397,381.53728273004,392.4383479509,408.78994578219,420.46965851882,436.04260883433,457.84473927605,467.18850946536,490.54793493862,523.2511306012],description:"Gene Ward Smith chord analogue to periodicity blocks, TL 12-07-2002"},smithgw_21:{frequencies:[261.6255653006,267.07609791103,280.31310567921,286.15296204753,299.00064605783,305.22982618403,320.49131749323,327.03195662575,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,398.6675280771,418.60090448096,427.14378008261,448.50096908674,457.84473927605,478.40103369253,488.36772189445,512.57253609913,523.2511306012],description:"Gene Ward Smith symmetrical 7-limit JI version of Blackjack, TL 10-5-2002"},smithgw_45:{frequencies:[261.6255653006,267.02002970726,269.13627541126,274.68560334708,276.86260193655,282.57123920205,288.39758300936,290.68325478745,296.67686217097,299.02814898089,305.19382000629,311.48661940174,313.95528147508,320.42873367481,322.96826575344,329.62755691287,336.42415617173,339.09045868095,346.08217376006,348.82502010853,356.01745236555,363.35818557229,366.23795155866,373.78942366597,376.75185941212,384.52011812375,392.44854854484,395.55886785613,403.71490654806,406.9145164708,415.30469757995,423.86787605389,427.22720671064,436.03621571368,439.49198556474,448.5538823653,457.80262665414,461.43090443914,470.94516310483,474.67759826036,484.46499093218,494.45418731234,498.37294408452,508.64890891624,512.68016480935,523.2511306012],description:"Gene Ward Smith large limma repeating 5-tone MOS"},smithgw_58:{frequencies:[261.6255653006,264.89588486686,267.57160087561,269.80136421624,274.70684356563,279.06726965397,282.55561052465,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,301.49231810831,305.22982618403,310.07474405997,313.95067836072,317.12189733406,319.76457981184,323.76163705949,327.03195662575,332.97799220076,336.37572681506,340.54567384169,343.38355445704,348.83408706747,353.19451315581,356.76213450082,359.73515228832,366.27579142084,370.01329949656,373.75080757229,380.54627680087,383.71749577421,387.59343007496,392.4383479509,398.6675280771,401.98975747775,406.97310157871,411.12588832951,418.60090448096,423.83341578697,428.11456140098,431.68218274599,436.04260883433,441.49314144476,448.50096908674,452.23847716247,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,484.4917875937,490.54793493862,498.33441009638,507.3950357345,511.62332769895,516.79124009995,523.2511306012],description:"Gene Ward Smith 58-tone epimorphic superset of Partch's 43-tone scale"},smithgw_9:{frequencies:[261.6255653006,279.06726965397,305.22982618403,327.03195662575,348.83408706747,392.4383479509,418.60090448096,448.50096908674,490.54793493862,523.2511306012],description:'Gene Ward Smith "Miracle-Magic square" tuning, genus chromaticum of ji_12a'},"smithgw_al-baked":{frequencies:[261.6255653006,277.59364499865,293.85651796007,311.0721560172,330.05816364769,349.39467974592,369.86402907174,392.4383479509,415.42941801053,439.76742419786,466.60823379256,493.94455998605,522.88238970142],description:"Baked alaska, with beat ratios of 2 and 3/2"},"smithgw_al-fried":{frequencies:[261.6255653006,277.00141553195,293.28091128458,310.96067952124,329.23597434237,348.58531822795,369.59898601143,391.32048195179,414.31855981944,439.29480556849,465.11235566178,492.44721175277,522.13326741512],description:"Fried alaska, with octave-fifth brats of 1 and 2"},smithgw_asbru:{frequencies:[261.6255653006,275.52281548997,293.66476791741,313.00128725319,329.62755691287,351.33206601369,367.77883484915,391.99543598175,415.30469757995,440,468.97204376297,490.92584627687,523.2511306012],description:"Modified bifrost (2003)"},smithgw_bifrost:{frequencies:[261.6255653006,275.07759559501,292.50627485027,311.03921839762,327.03195662575,349.91912034749,366.77012764335,391.22147055517,413.66634097248,437.39889945791,466.55882736321,489.02683710225,523.2511306012],description:"Six meantone fifths, four pure, two of sqrt(2048/2025 sqrt(5))"},smithgw_cauldron:{frequencies:[261.6255653006,275.03056468741,291.83931845209,312.58541512404,325.54230007562,350.31873582686,364.83969341757,390.77519652096,414.65779561271,435.90375768372,469.07960710644,486.243977751,523.2511306012],description:"Circulating temperament with two pure 9/7 thirds"},smithgw_ck:{frequencies:[195.99771799087,198.06437430898,200.15282320192,202.2632921446,203.72940721765,205.87758869102,208.04842120778,210.24214482145,211.76609376362,213.99901760782,216.25548480725,218.5357448459,220.11981156469,222.44081817627,224.78629944762,227.15651084977,228.80306427848,231.21563094,233.65363506284,235.34728316698,237.82885399313,240.33658984216,242.87076938222,244.63122826831,247.21069030843,249.81735238129,252.45149840587,254.28140507407,256.96262135434,259.67210915034,262.4101678886,264.31225911206,267.09924514556,269.91561641866,272.7616843206,274.73881033537,277.63573538138,280.56320805899,282.59688215652,285.57666497222,288.58786914203,291.63082264784,293.74472081062,296.84205135845,299.9720393359,303.13503255793,305.33231946532,308.55183127196,311.80529233825,315.09305703284,317.37702217863,320.72353853051,324.10533989702,327.52280172307,329.89686439088,333.37539375097,336.89059979959,339.33256534187,342.91058750208,346.52633537645,350.18021075922,352.71850659998,356.43767199462,360.19605541958,363.99406623991,366.6324923874,370.49837299068,374.40501441099,378.35285076765,381.09535716275,385.11373623244,389.17448849491,391.99543598174],description:"Catakleismic temperament, g=316.745, 11-limit"},smithgw_decab:{frequencies:[261.6255653006,274.70684356563,293.02063313667,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,439.53094970501,488.36772189445,523.2511306012],description:"(10/9) <==> (16/15) transform of decaa"},smithgw_decac:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,348.83408706747,373.75080757229,392.4383479509,418.60090448096,448.50096908674,498.33441009638,523.2511306012],description:"inversion of decaa"},smithgw_decad:{frequencies:[261.6255653006,280.31310567921,311.45900631024,327.03195662575,348.83408706747,373.75080757229,392.4383479509,436.04260883433,467.18850946536,498.33441009638,523.2511306012],description:"inversion of decab"},smithgw_diff13:{frequencies:[261.6255653006,274.70684356563,280.31310567921,299.00064605783,313.95067836072,320.35783506196,336.37572681506,406.97310157871,427.32175665765,436.04260883433,457.84473927605,488.36772189445,498.33441009638,523.2511306012],description:"mod 13 perfect difference set, 7-limit"},smithgw_dwarf6_7:{frequencies:[261.6255653006,299.00064605783,327.03195662575,373.75080757229,392.4383479509,448.50096908674,523.2511306012],description:"Dwarf(<6 10 14 17|)"},smithgw_exotic1:{frequencies:[261.6255653006,274.95996987324,293.39100498914,313.05750197389,327.96500300935,349.94905375768,367.78508905896,392.4383479509,411.12588832951,438.68435539504,468.09011223803,491.94750426812,523.2511306012],description:"Exotic temperament featuring four pure 14/11 thirds and two pure fifths"},smithgw_glumma:{frequencies:[261.6255653006,269.10058145205,299.00064605783,313.95067836072,327.03195662575,358.80077526939,373.75080757229,392.4383479509,436.04260883433,448.50096908674,457.84473927605,512.57253609913,523.2511306012],description:"Gene Smith's Glumma scale, 7-limit, 2002"},smithgw_gm:{frequencies:[261.6255653006,264.89588486686,269.80136421624,274.70684356563,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,373.75080757229,380.54627680087,387.59343007496,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,498.33441009638,507.3950357345,516.79124009995,523.2511306012],description:'Gene Ward Smith "Genesis Minus" periodicity block'},smithgw_graileq:{frequencies:[261.6255653006,274.83794140225,293.02845982215,312.42294214419,328.20064112269,350.39711148969,365.67350481015,391.53226450123,414.40482204179,438.61355268439,469.63029662389,490.10494633744,523.2511306012],description:"56% RMS grail + 44% JI grail"},smithgw_grailrms:{frequencies:[261.6255653006,274.64037495938,293.11160698959,312.82513967025,328.38692028068,350.6222941497,365.93760986436,391.94882001935,414.52240989365,438.39608269016,469.55771333591,490.068176414,523.2511306012],description:"RMS optimized Holy Grail"},smithgw_hahn12:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Hahn-reduced 12 note scale, Fokker block 225/224, 126/125, 64/63"},smithgw_hahn15:{frequencies:[261.6255653006,279.06726965397,290.69507255622,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Hahn-reduced 15 note scale"},smithgw_hahn16:{frequencies:[261.6255653006,280.31310567921,294.32876096318,299.00064605783,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,392.4383479509,408.78994578219,418.60090448096,436.04260883433,457.84473927605,488.36772189445,490.54793493862,523.2511306012],description:"Hahn-reduced 16 note scale"},smithgw_hahn19:{frequencies:[261.6255653006,274.70684356563,280.31310567921,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Hahn-reduced 19 note scale"},smithgw_hahn22:{frequencies:[261.6255653006,272.52663052146,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Hahn-reduced 22 note scale"},smithgw_indianred:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.11959049595,523.2511306012],description:"32805/32768 Hahn-reduced"},smithgw_klv:{frequencies:[261.6255653006,271.78681896552,282.34272472006,293.30861211826,314.10491445143,326.30440921209,338.97771913949,352.14324873572,377.11107157735,391.75765725694,406.97310157871,422.77949745352,452.75560414132,470.34014155688,488.60764618722,523.2511306012],description:"Variant of kleismic with 9/7 thirds, g=316.492"},smithgw_meandin:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,336.37572681506,348.83408706747,373.75080757229,392.4383479509,418.60090448096,448.50096908674,470.92601754108,504.56359022259,523.2511306012],description:"Gene Smith, inverted detempered 7-limit meantone"},smithgw_meanred:{frequencies:[261.6255653006,281.29980781121,291.99281841585,313.95067836072,325.57848126297,350.39138209902,363.36884069528,390.69417751556,420.46965851882,436.04260883433,468.83301301868,486.65469735975,523.2511306012],description:"171-et Hahn reduced rational Meantone[12]"},smithgw_meantune:{frequencies:[261.6255653006,273.55401844854,279.77233440758,292.56174910339,312.85829351777,327.16018629281,334.59705725462,349.85254391288,365.77071543428,374.29488261541,391.03456781852,418.40555295943,437.51985793188,468.14464283802,489.08159472971,500.47948461038,523.2511306012],description:"Meantune scale/temperament, Gene Ward Smith, 2003"},smithgw_mir22:{frequencies:[261.6255653006,267.57160087561,274.70684356563,280.31310567921,285.40970760065,299.00064605783,305.22982618403,319.76457981184,327.03195662575,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,398.6675280771,418.60090448096,428.11456140098,448.50096908674,457.84473927605,479.64686971777,490.54793493862,512.78610798918,523.2511306012],description:"11-limit Miracle[22]"},smithgw_mmt:{frequencies:[261.6255653006,273.37431312998,292.50627485027,307.38829724655,327.03195662575,349.91912034749,365.63284274659,391.22147055517,411.12588832951,437.39890198442,459.65271605653,489.02683710225,523.2511306012],description:"Modified meantone with 5/4, 14/11 and 44/35 major thirds, TL 17-03-2003"},smithgw_modmos12a:{frequencies:[261.6255653006,265.27772209197,292.31087910123,304.72408298441,326.59518553839,340.46429857933,364.90060015836,391.09077971329,407.69874723177,425.01198472693,455.51656649021,488.21056770985,523.2511306012],description:"A 12-note modmos in 50-et meantone"},smithgw_octoid:{frequencies:[261.6255653006,272.34559486824,274.88944875317,277.45706359738,280.04865972334,282.66446436432,285.30470202322,296.99497716113,299.76906949343,302.56907333554,305.39522895084,308.24778413898,311.12698372208,323.87531915696,326.90048829645,329.95391413777,333.03585868997,336.14659218049,339.28638158975,353.18853996009,356.48751029933,359.81729479041,363.17817915623,366.5704580819,369.99442271164,385.15483391523,388.75238658,392.38354231563,396.04861270515,399.74791910495,403.48177901006,420.01432465796,423.93748365756,427.89728706578,431.89407466632,435.9281969008,440,458.02886886968,462.30710409523,466.62530033172,470.98382811593,475.38306960714,479.82340237272,499.48402328631,504.14947188193,508.85849826899,513.6115065207,518.40891338474,523.2511306012],description:"Octoid temperament, g=16.096, oct=1/8, 11-limit"},smithgw_orw18r:{frequencies:[261.6255653006,269.10058145205,280.31310567921,286.15296204753,299.00064605783,305.22982618403,327.03195662575,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,418.60090448096,448.50096908674,457.84473927605,474.80195184183,490.54793493862,523.2511306012],description:'Rational version of two cycles of 9-tone "Orwell"'},smithgw_pel1:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"125/108, 135/128 periodicity block no. 1"},smithgw_pel2:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"125/108, 135/128 periodicity block no. 2"},smithgw_pel3:{frequencies:[261.6255653006,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"125/108, 135/128 periodicity block no. 3"},smithgw_pk:{frequencies:[261.6255653006,271.01659746112,280.74472171431,290.822034715,313.8821415949,325.1489200649,336.82012073975,348.91025643633,376.57634157395,390.09352641046,404.09590743895,418.60090448096,451.79296003201,468.01003810189,484.80922990434,523.2511306012],description:"Parakleismic temperament, g=315.263, 5-limit"},smithgw_pris:{frequencies:[261.6255653006,279.06726965397,293.02063313667,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,488.36772189445,523.2511306012],description:"optimized (15/14)^3 (16/15)^4 (21/20)^3 (25/24)^2 scale"},smithgw_prisa:{frequencies:[261.6255653006,274.70684356563,293.02063313667,313.95067836072,327.03195662575,343.38355445704,366.27579142084,392.4383479509,418.60090448096,439.53094970501,457.84473927605,488.36772189445,523.2511306012],description:"optimized (15/14)^3 (16/15)^4 (21/20)^3 (25/24)^2 scale"},smithgw_pum13marv:{frequencies:[261.6255653006,293.67396865289,305.56991629828,343.00138030143,326.66798000724,366.68389807519,349.22276077151,392.00157668785,407.88051296056,457.84473927605,436.04260883433,489.45661357347,549.41368713126,523.2511306012],description:"pum13 marvel tempered and in epimorphic order"},smithgw_qm3a:{frequencies:[261.6255653006,279.86396690685,305.19382000629,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,457.27406033445,489.15147723638,523.2511306012],description:"Qm(3) 10-note quasi-miracle scale, mode A, 72-tET, TL 04-01-2002"},smithgw_qm3b:{frequencies:[261.6255653006,279.86396690685,299.37379946195,326.46944327063,349.22823143301,373.57357677338,391.99543598175,419.32216217931,448.5538823653,489.15147723638,523.2511306012],description:"Qm(3) 10-note quasi-miracle scale, mode B"},smithgw_ragasyn1:{frequencies:[261.6255653006,269.16210421872,290.69507255622,313.95067836072,322.99452506247,348.83408706747,363.36884069528,392.4383479509,403.74315632809,436.04260883433,470.92601754108,484.4917875937,523.2511306012],description:"Ragasyn 6561/6250 81/80 scale"},smithgw_rainbow:{frequencies:[261.6255653006,273.37431312998,292.50627485027,310.51268695591,327.03195662575,349.91912034749,365.63284274659,391.22147055517,412.03444522126,437.39889945791,468.01003810189,489.02683710225,523.2511306012],description:"Circulating 1/4-comma meantone, Gene Ward SMith"},smithgw_ratwell:{frequencies:[261.6255653006,275.62199471997,293.02063313667,310.07474405997,326.72451751701,348.83408706747,367.49599295996,392.4383479509,413.43299207996,437.57747881743,465.11211608996,489.99465727995,523.2511306012],description:"7-limit rational well-temperament"},smithgw_ratwolf:{frequencies:[261.6255653006,272.55669785235,292.25605339318,313.37920299881,326.47268679644,350.06888377949,364.69531895389,391.05410158062,407.39296674476,436.83777202739,468.410735204,487.98168129749,523.2511306012],description:"Eleven fifths of (418/5)^(1/11) and one 20/13 wolf, G.W. Smith 2003"},smithgw_rectoo:{frequencies:[261.6255653006,290.69507255622,299.00064605783,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,457.84473927605,470.92601754108,523.2511306012],description:"Hahn-reduced circle of fifths via <12 19 27 34| kernel"},smithgw_sc19:{frequencies:[261.6255653006,269.16210421872,282.55561052465,290.69507255622,302.80736724606,313.95067836072,327.03195662575,339.06673262958,348.83408706747,363.36884069528,376.74081403286,392.4383479509,403.74315632809,418.60090448096,436.04260883433,452.08897683944,470.92601754108,484.4917875937,508.60009894437,523.2511306012],description:"Fokker block from commas <81/80, 78732/78125>, Gene Ward Smith 2002"},smithgw_sch13:{frequencies:[261.6255653006,269.71217215021,278.04872701265,282.14859498561,290.86954990528,295.15846273282,304.2815407612,313.68660297237,318.31195648825,328.15068782436,332.98931632582,343.28171142549,353.89223299652,359.11042631209,370.21019888355,375.66900084958,387.28058594818,392.99109319609,405.13808832031,417.66053353744,423.81899742763,436.9188548657,443.36128543927,457.06517711961,471.19264083172,478.14044600934,492.91932687455,500.18749236202,515.64783010531,523.2511306012],description:"13-limit schismic temperament, g=704.3917, TL 31-10-2002"},smithgw_sch13a:{frequencies:[261.6255653006,266.49502311502,271.45511438723,280.18048669638,285.39529457963,294.56874561631,300.051354061,305.6360048159,315.46005229837,321.33149462105,331.66004360268,337.8330052901,344.12086009392,355.18192699392,361.79268541866,373.4217751344,380.37201938485,392.59830625439,399.90547017058,407.34863733398,420.4420328577,428.26743302475,442.03321824291,450.26048038501,458.64087358289,473.38295124548,482.19370453904,497.69284002863,506.95605959354,523.2511306012],description:"13-limit schismic temperament, g=702.660507, TL 31-10-2002"},smithgw_scj22a:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,301.39265122629,313.95067836072,327.03195662575,334.88072358477,348.83408706747,361.67118147155,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"225/224 ^ 15625/15552 = [6,5,22,37,-18,-6] catakleismic"},smithgw_scj22b:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,372.08969287196,387.59343007496,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"5120/5103 ^ 225/224 = [1,-8,-14,-10,25,-15] schismic candidate"},smithgw_scj22c:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,357.20610515709,367.91095120397,383.2405741708,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"225/224 ^ 65625/65536 = [7,-3,827,7,-21] orwell candidate"},smithgw_secab:{frequencies:[261.6255653006,274.07613169002,291.39807132323,313.10572011471,348.73657263424,365.33268718488,392.54808236386,417.35759110361,437.21932894603,486.97408086388,523.2511306012],description:"{126/125, 176/175} tempering of decab, 328-et version"},smithgw_secac:{frequencies:[261.6255653006,281.11531641881,298.8821409504,313.10572011471,348.73657263424,374.71564313773,392.54808236386,417.35759110361,448.44857247831,499.48119153644,523.2511306012],description:"{126/125, 176/175} tempering of decac, 328-et version"},smithgw_secad:{frequencies:[261.6255653006,281.11531641881,313.10572011471,328.00618883132,348.73657263424,374.71564313773,392.54808236386,437.21932894603,469.78990700991,499.48119153644,523.2511306012],description:"{126/125, 176/175} tempering of decad, 328-et version"},smithgw_smalldi11:{frequencies:[261.6255653006,269.10058145205,305.22982618403,313.95067836072,322.92069774245,366.27579142084,373.75080757229,423.93031414449,436.04260883433,448.50096908674,508.71637697339,523.2511306012],description:"Small diesic 11-note block, <10/9, 126/125, 1728/1715> commas"},smithgw_smalldi19a:{frequencies:[261.6255653006,269.10058145205,272.52663052146,299.00064605783,305.22982618403,313.95067836072,317.94773560837,327.03195662575,358.80077526939,366.27579142084,373.75080757229,381.53728273004,418.60090448096,430.56093032327,436.04260883433,448.50096908674,457.84473927605,502.32108537715,508.71637697339,523.2511306012],description:"Small diesic 19-note block, <16/15, 126/125, 1728/1715> commas"},smithgw_smalldi19b:{frequencies:[261.6255653006,266.96486255163,274.70684356563,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,358.80077526939,366.27579142084,373.75080757229,381.53728273004,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,498.33441009638,512.78610798918,523.2511306012],description:"Small diesic 19-note block, <16/15, 126/125, 2401/2400> commas"},smithgw_smalldi19c:{frequencies:[261.6255653006,267.07609791103,274.70684356563,280.31310567921,286.15296204753,313.95067836072,320.49131749323,327.03195662575,336.37572681506,343.38355445704,373.75080757229,381.53728273004,392.4383479509,400.61414686654,436.04260883433,448.50096908674,457.84473927605,470.92601754108,508.71637697339,523.2511306012],description:"Small diesic 19-note scale containing glumma"},smithgw_smalldiglum19:{frequencies:[261.6255653006,267.74077300753,273.99891691894,280.40333801024,286.95745534843,312.9293240034,320.24370022528,327.729041887,335.38934511627,343.22869944589,374.29355081838,383.0422478503,391.99543598175,401.15789496562,437.46578647972,447.69106452518,458.15534711532,468.86422071654,511.30005826145,523.2511306012],description:'Small diesic "glumma" variant of 19-note MOS, 31/120 version'},smithgw_smalldimos11:{frequencies:[261.6255653006,267.74077300753,305.78200836532,312.9293240034,320.24370022528,365.74467430283,374.29355081838,427.47405410759,437.46578647972,447.69106452518,511.30005826145,523.2511306012],description:"Small diesic 11-note MOS, 31/120 version"},smithgw_smalldimos19:{frequencies:[261.6255653006,267.74077300753,273.99891691894,298.79793764201,305.78200836532,312.9293240034,320.24370022528,327.729041887,357.39105439675,365.74467430283,374.29355081838,383.0422478503,417.71053321823,427.47405410759,437.46578647972,447.69106452518,458.15534711532,499.62194879119,511.30005826145,523.2511306012],description:"Small diesic 19-note MOS, 31/120 version"},smithgw_star:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,376.74081403286,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:'Gene Ward Smith "Star" scale, untempered version'},smithgw_star2:{frequencies:[261.6255653006,282.55561052465,313.95067836072,327.03195662575,376.74081403286,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:'Gene Ward Smith "Star" scale, alternative untempered version'},starra:{frequencies:[261.6255653006,274.07613169002,294.49338559574,313.10572011471,328.00618883132,343.61575980934,374.71564313773,392.54808236386,411.22915413197,437.21932894603,458.02627217006,492.14685988839,523.2511306012],description:"12 note {126/125, 176/175} scale, 328-et version"},smithgw_starrb:{frequencies:[261.6255653006,274.07613169002,287.1192112957,305.26548915336,328.00618883132,343.61575980934,365.33268718488,392.54808236386,411.22915413197,437.21932894603,458.02627217006,479.82340237272,523.2511306012],description:"12 note {126/125, 176/175} scale, 328-et version"},smithgw_starrc:{frequencies:[261.6255653006,274.07613169002,287.1192112957,313.10572011471,328.00618883132,343.61575980934,365.33268718488,392.54808236386,411.22915413197,437.21932894603,458.02627217006,492.14685988839,523.2511306012],description:"12 note {126/125, 176/175} scale, 328-et version"},smithgw_tetra:{frequencies:[261.6255653006,274.84135386022,293.90210492181,314.2847539672,326.44746606412,342.93767672779,366.7210324511,392.15380743582,419.35039192746,435.57910814854,457.58200907672,489.31615916483,523.2511306012],description:"{225/224, 385/384} tempering of two-tetrachord 12-note scale"},smithgw_tr31:{frequencies:[261.6255653006,267.54129532085,292.57243455474,299.18791603519,305.95298478736,334.57791819083,342.14320575162,349.87955533643,391.26571058456,400.11279059885,409.15991580663,447.44088028055,457.55816161244,467.90420651233,511.68128147674,523.2511306012],description:"6/31 generator supermajor seconds tripentatonic scale"},smithgw_tr7_13:{frequencies:[261.6255653006,183.87449048025,346.05860897284,243.21533855007,457.74028507734,321.70694650116,605.46440189891,425.52973856044,299.06887661109,562.85871464284,395.58580335293,744.50714985079,523.2511306012],description:"81/80 ==> 28561/28672"},smithgw_tr7_13b:{frequencies:[261.6255653006,372.25357492539,395.58580335293,281.42935732142,299.06887661109,425.52973856044,302.73220094945,321.70694650116,457.74028507734,486.43067710015,346.05860897284,367.7489809605,523.2511306012],description:"reverse reduced 81/80 ==> 28561/28672"},smithgw_tr7_13r:{frequencies:[261.6255653006,367.7489809605,346.05860897284,486.43067710015,457.74028507734,321.70694650116,302.73220094945,425.52973856044,299.06887661109,281.42935732142,395.58580335293,372.25357492539,523.2511306012],description:"reduced 81/80 ==> 28561/28672"},smithgw_tra:{frequencies:[261.6255653006,128.35937755236,399.56478905052,196.03545836752,610.23096296248,299.39301413087,931.96857771927,457.24471305759,224.33452437931,698.32199734535,342.61245382262,1066.50464849657,523.2511306012],description:"81/80 ==> 1029/512"},smithgw_tre:{frequencies:[261.6255653006,256.71872396454,399.56476227799,392.07084290614,305.11544059319,299.39293769309,465.98419519089,457.24482979639,448.66910888407,349.16106442144,342.6124767791,533.2523889322,523.2511306012],description:"81/80 ==> 1029/512 ==> reduction"},smithgw_treb:{frequencies:[261.6255653006,266.6261944661,342.6124767791,349.16106442144,448.66910888407,457.24482979639,465.98419519089,299.39293769309,305.11544059319,392.07084290614,399.56476227799,513.43744792908,523.2511306012],description:"reversed 81/80 ==> 1029/512 ==> reduction"},smithgw_trx:{frequencies:[261.6255653006,490.17835855476,354.35176059633,331.954494127,479.94227969828,449.60690021487,325.02250210538,304.47902995326,285.23403465053,412.39349145653,386.32762147798,279.2776760715,523.2511306012],description:"reduced 3/2->7/6 5/4->11/6 scale"},smithgw_trxb:{frequencies:[261.6255653006,279.2776760715,386.32762147798,412.39349145653,285.23403465053,304.47902995326,325.02250210538,449.60690021487,479.94227969828,331.954494127,354.35176059633,490.17835855476,523.2511306012],description:"reversed reduced 3/2->7/6 5/4->11/6 scale"},smithgw_wa:{frequencies:[261.6255653006,273.6474362764,299.37379946195,313.13022722746,327.51877211613,349.22823143301,374.77430422696,391.99543598175,417.97870684853,437.18511000944,469.1652354389,500.26367760099,523.2511306012],description:"Wreckmeister A temperament, TL 2-6-2002"},smithgw_wa120:{frequencies:[261.6255653006,273.99891691894,298.79793764201,312.9293240034,327.729041887,349.22823143301,374.29355081838,391.99543598175,417.71053321823,437.46578647972,468.86422071654,499.62194879119,523.2511306012],description:"120-tET version of Wreckmeister A temperament"},smithgw_wb:{frequencies:[261.6255653006,280.76349612739,291.78605424516,313.13022722746,327.51877211613,349.22823143301,365.2755039332,391.99543598175,417.97870684853,437.18511000944,469.1652354389,487.58430040208,523.2511306012],description:"Wreckmeister B temperament, TL 2-6-2002"},smithgw_well1:{frequencies:[261.6255653006,275.92984511873,292.92635710626,310.42107575858,327.5229776175,349.2237102284,367.90646015831,391.734151992,413.8947676781,437.99072463899,465.63161363786,490.54194687775,523.2511306012],description:"Well-temperament, Gene Ward Smith (2005)"},smithgw_whelp1:{frequencies:[261.6255653006,275.93321340298,292.50627485027,310.07474405997,327.03195662575,348.05120395042,368.50381975103,390.45372436301,413.66634097248,438.25895612273,464.36382062247,491.65133958137,523.2511306012],description:"well-temperament with one pure third, Gene Ward Smith, 2003"},smithgw_whelp2:{frequencies:[261.6255653006,275.85000668176,292.43269265164,309.98104674077,327.03195662575,347.97308568611,368.21146504308,391.7894791814,413.34036955908,438.14417346548,464.48314871299,489.73685071229,523.2511306012],description:"well-temperament with two pure thirds"},smithgw_whelp3:{frequencies:[261.6255653006,275.96871294479,292.50627485027,310.03485655885,327.03195662575,349.46135677641,368.11883862276,391.73393619399,413.66634097248,436.82669499534,464.84945270756,489.66742197778,523.2511306012],description:"well-temperament with three pure thirds"},smithgw_wiz28:{frequencies:[261.6255653006,269.80136421624,277.4816601673,280.31310567921,287.78812183066,297.30177875068,305.22982618403,308.34441624714,317.12189733406,327.03195662575,336.37572681506,345.34574619679,348.83408706747,359.73515228832,370.01329949656,380.54627680087,392.4383479509,396.40237166758,406.97310157871,418.60090448096,431.68218274599,436.04260883433,448.50096908674,460.46099492906,475.68284600109,490.54793493862,493.35106599542,508.71637697339,523.2511306012],description:"11-limit Wizard[28]"},smithgw_wiz34:{frequencies:[261.6255653006,269.80136421624,272.52663052146,277.4816601673,280.31310567921,287.78812183066,297.30177875068,305.22982618403,308.34441624714,313.95067836072,317.12189733406,327.03195662575,336.37572681506,345.34574619679,348.83408706747,356.76213450082,359.73515228832,370.01329949656,380.54627680087,383.71749577421,392.4383479509,396.40237166758,406.97310157871,418.60090448096,431.68218274599,436.04260883433,443.97065626768,448.50096908674,460.46099492906,475.68284600109,490.54793493862,493.35106599542,504.56359022259,508.71637697339,523.2511306012],description:"11-limit Wizard[34]"},smithgw_wiz38:{frequencies:[261.6255653006,269.80136421624,272.52663052146,277.4816601673,280.31310567921,285.40970760065,287.78812183066,297.30177875068,305.22982618403,308.34441624714,313.95067836072,317.12189733406,327.03195662575,336.37572681506,339.14425131559,345.34574619679,348.83408706747,356.76213450082,359.73515228832,370.01329949656,380.54627680087,383.71749577421,392.4383479509,396.40237166758,403.65087217807,406.97310157871,418.60090448096,431.68218274599,436.04260883433,443.97065626768,448.50096908674,460.46099492906,475.68284600109,479.64686971777,490.54793493862,493.35106599542,504.56359022259,508.71637697339,523.2511306012],description:"11-limit Wizard[38]"},smithgw_wreckpop:{frequencies:[261.6255653006,272.73569398658,292.31087910123,313.29104303136,326.59518553839,350.03605285217,364.90060015836,391.09077971329,419.16071913933,436.9606979923,455.51656649021,501.93603498211,523.2511306012],description:'"Wreckmeister" 13-limit meanpop (50-et) tempered thirds'},smithj12:{frequencies:[261.6255653006,272.52663052146,294.32876096318,306.59245933664,331.11985608357,344.91651675372,363.36884069528,392.4383479509,408.78994578219,441.49314144476,459.88868900496,496.67978412536,523.2511306012],description:"J. Smith, 5-limit JI scale, MMM 21-3-2006"},smithj17:{frequencies:[261.6255653006,272.57820116223,283.17034563789,295.02492750576,308.97787266236,319.3201344739,332.68808325276,348.42227432308,363.00854876594,377.11473546037,392.90218486657,411.48414905414,425.25755219187,443.06044202496,464.01459698705,479.54632553791,499.62194879119,523.2511306012],description:"J. Smith 17-tone well temperament, MMM 12-2006"},smithrk_19:{frequencies:[261.6255653006,274.68253637698,286.11368885031,294.3308008075,305.19387818096,313.95878694534,327.0246436172,343.34529416761,348.83287827711,366.24211271841,381.48359653409,392.43970784476,406.92376081862,418.61050714007,436.03134720211,457.79213919624,470.93981233279,488.32112480698,508.64303280756,523.2511306012],description:"19 out of 612-tET by Roger K. Smith, 1978"},smithrk_mult:{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,457.84473927605,470.92601754108,488.36772189445,508.71637697339,523.2511306012],description:'Roger K. Smith, "Multitonic" scale, just version'},solar:{frequencies:[261.6255653006,394.58976180129,774.00176545642,2207.36533954793,5481.83445910426,34573.03685904828,65024.37680021134,105705.6559450381],description:"Solar system scale: 0=Pluto, 8=Mercury. 1/1=248.54 years period"},solemn:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Solemn 6"},songlines:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Songlines.DEM, Bill Thibault and Scott Gresham-Lancaster. 1992 ICMC (=rectsp6)"},sorge:{frequencies:[261.6255653006,272.52663052146,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Sorge's Monochord (1756)"},sorge1:{frequencies:[261.6255653006,276.86979852503,293.00227310437,311.47852302926,328.88393162803,349.6228209638,369.57684148724,391.5530240856,415.30469757995,439.00737933323,466.69047534984,493.32589719545,523.2511306012],description:"Georg Andreas Sorge, 1744 (A)"},sorge2:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.77584116741,328.88393162803,348.83408706747,368.74309237173,391.5530240856,414.36778843034,438.51190905657,465.63764214343,492.21297564769,523.2511306012],description:"Georg Andreas Sorge, 1744 (B)"},sorge3:{frequencies:[261.6255653006,276.55731914056,293.00227310437,310.77584116741,328.51274831708,348.83408706747,369.15973155124,391.5530240856,414.83597850347,438.51190905657,465.63764214343,492.7691222293,523.2511306012],description:"Georg Andreas Sorge, well temperament, (1756, 1758)"},sparschuh:{frequencies:[261.6255653006,276.27659695743,293.02063313667,310.81117157711,328.60171001755,349.008504111,368.36879594324,391.3918456897,414.41489543615,439.53094970501,465.69350623507,491.85606276513,523.2511306012],description:"Andreas Sparschuh WTC temperament, 1/1=C=250, modified Collatz sequence"},sparschuh2:{frequencies:[261.6255653006,276.27659695743,293.02063313667,310.81117157711,328.60171001755,349.008504111,368.36879594324,391.3918456897,414.41489543615,438.48444744381,465.69350623507,491.85606276513,523.2511306012],description:"Modified Sparschuh temperament with A=419Hz by Tom Dent"},spec1_14:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,523.2511306012],description:"Spectrum sequence of 8/7: 1 to 27 reduced by 2/1"},spec1_17:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,490.54793493862,523.2511306012],description:"Spectrum sequence of 7/6: 1 to 27 reduced by 2/1"},spec1_25:{frequencies:[261.6255653006,277.97716313189,294.32876096318,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Spectrum sequence of 5/4: 1 to 25 reduced by 2/1"},spec1_33:{frequencies:[261.6255653006,277.97716313189,294.32876096318,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,457.84473927605,474.19633710734,490.54793493862,523.2511306012],description:"Spectrum sequence of 4/3: 1 to 29 reduced by 2/1"},spec1_4:{frequencies:[261.6255653006,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Spectrum sequence of 7/5: 1 to 25 reduced by 2/1"},spec1_5:{frequencies:[261.6255653006,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Spectrum sequence of 1.5: 1 to 27 reduced by 2/1"},specr2:{frequencies:[261.6255653006,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,457.84473927605,474.19633710734,490.54793493862,523.2511306012],description:"Spectrum sequence of sqrt(2): 1 to 29 reduced by 2/1"},specr3:{frequencies:[261.6255653006,277.97716313189,310.68035879446,327.03195662575,359.73515228832,392.4383479509,408.78994578219,425.14154361347,441.49314144476,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Spectrum sequence of sqrt(3): 1 to 31 reduced by 2/1"},spon_chal1:{frequencies:[261.6255653006,280.31310567921,285.40970760065,286.15296204753,348.83408706747,392.4383479509,420.46965851882,428.11456140098,429.2294430713,523.2511306012],description:"JC Spondeion, from discussions with George Kahrimanis about tritone of spondeion"},spon_chal2:{frequencies:[261.6255653006,275.62199471997,279.06726965397,285.40970760065,348.83408706747,392.4383479509,413.43299207996,418.60090448096,428.11456140098,523.2511306012],description:"JC Spondeion II, 10 May 1997. Various tunings for the parhypatai and hence trito"},spon_mont:{frequencies:[261.6255653006,271.31540105247,348.83408706747,392.4383479509,428.11456140098,523.2511306012],description:"Montford's Spondeion, a mixed septimal and undecimal pentatonic, 1923"},spon_terp:{frequencies:[261.6255653006,285.40970760065,348.83408706747,392.4383479509,428.11456140098,523.2511306012],description:"Subharm. 6-tone series, guess at Greek poet Terpander's, 6th c. BC & Spondeion, Winnington-Ingram (1928)"},stade:{frequencies:[261.6255653006,274.22463192287,292.50627485027,309.28772967674,327.03195662575,348.83408706747,365.63284274659,391.22147055517,411.33694767869,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Organs in St. Cosmae, Stade; Magnuskerk, Anloo; H.K. Sluipwijk, modif. 1/4 mean"},stanhope:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,326.6631048533,348.83408706747,367.49599295996,392.4383479509,413.43299207996,437.52264545758,465.11211608996,489.99465727995,523.2511306012],description:"Well temperament of Charles, third earl of Stanhope (1806)"},stanhope2:{frequencies:[261.6255653006,275.85537639807,293.11251278827,310.16223770573,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.66634097248,437.85193595173,465.11211608996,490.54793493862,523.2511306012],description:"Stanhope temperament (real version?) with 1/3 synt. comma temp."},stanhope_f:{frequencies:[261.6255653006,275.62199471997,292.46014274879,310.07474405997,326.6631048533,348.83408706747,367.49599295996,392.4383479509,413.43299207996,436.79202494356,465.11211608996,489.99465727995,523.2511306012],description:"Stanhope temperament, equal beating version by Farey (1807)"},stanhope_s:{frequencies:[261.6255653006,275.77758308753,293.11247215425,310.2497806633,327.03195662575,348.83408706747,367.7034443005,392.4383479509,413.66637442451,437.85181455341,465.11211608996,490.54793493862,523.2511306012],description:"Stanhope temperament, alt. version with 1/3 syntonic comma"},starling:{frequencies:[261.6255653006,278.9816419584,293.66476791741,313.14630527334,327.50195613664,349.22823143301,367.60851651046,391.99543598175,418.00016846495,437.16266336983,466.16376151809,490.69849857048,523.2511306012],description:"Starling temperament, Herman Miller (1999)"},stearns:{frequencies:[261.6255653006,299.00064605783,336.37572681506,366.27579142084,398.6675280771,448.50096908674,504.56359022259,523.2511306012],description:"Dan Stearns, guitar scale"},stearns2:{frequencies:[261.6255653006,280.31310567921,287.78812183066,299.00064605783,313.95067836072,317.68818643644,336.37572681506,340.11323489078,355.06326719367,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,429.81342870813,444.76346101102,448.50096908674,467.18850946536,470.92601754108,485.87604984397,497.08857407114,504.56359022259,523.2511306012],description:'Dan Stearns, scale for "At A Day Job" based on harmonics 10-20 and 14-28'},stearns3:{frequencies:[261.6255653006,304.11599009871,327.88291945286,364.30920726489,423.47641042702,470.52269644143,546.93995798074,607.70247408742,706.39900722312,784.8766959018],description:"Dan Stearns, trivalent version of Bohlen's Lambda scale"},stearns4:{frequencies:[261.6255653006,296.65550714972,336.37572681506,347.46339693852,393.986457405,446.73865184892,461.46412096988,523.2511306012],description:"Dan Stearns, 1/4-septimal comma temperament, tuning-math 2-12-2001"},steldek1:{frequencies:[261.6255653006,274.70684356563,275.93321340298,280.31310567921,286.15296204753,294.32876096318,305.22982618403,309.04519901133,315.35224388912,321.92208230347,327.03195662575,331.11985608357,343.38355445704,353.19451315581,367.91095120397,381.53728273004,386.30649876417,392.4383479509,400.61414686654,408.78994578219,412.06026534844,420.46965851882,429.2294430713,436.04260883433,441.49314144476,457.84473927605,490.54793493862,504.56359022259,508.71637697339,515.07533168556,523.2511306012],description:"Stellated two out of 1 3 5 7 9 dekany"},steldek1s:{frequencies:[261.6255653006,274.70684356563,275.93321340298,280.31310567921,286.15296204753,294.32876096318,305.22982618403,309.04519901133,315.35224388912,321.92208230347,327.03195662575,331.11985608357,339.14425131559,343.38355445704,353.19451315581,360.4025644447,367.91095120397,381.53728273004,386.30649876417,392.4383479509,400.61414686654,408.78994578219,412.06026534844,420.46965851882,429.2294430713,436.04260883433,441.49314144476,457.84473927605,482.88312345521,490.54793493862,494.47231841813,504.56359022259,508.71637697339,515.07533168556,523.2511306012],description:"Superstellated two out of 1 3 5 7 9 dekany"},steldek2:{frequencies:[261.6255653006,262.3068818769,269.80136421624,274.70684356563,280.31310567921,286.15296204753,294.32876096318,299.7792935736,308.34441624714,312.16686768822,314.76825825228,327.03195662575,337.2517052703,343.38355445704,356.76213450082,359.73515228832,377.72190990274,381.53728273004,385.43052030892,392.4383479509,393.46032281536,400.61414686654,408.78994578219,416.22249025095,419.69101100305,429.2294430713,431.68218274599,449.66894036041,457.84473927605,472.15238737843,490.54793493862,494.63583439645,499.46698830115,503.62921320365,513.90736041189,523.2511306012],description:"Stellated two out of 1 3 5 7 11 dekany"},steldek2s:{frequencies:[261.6255653006,262.3068818769,269.80136421624,274.70684356563,280.31310567921,286.15296204753,294.32876096318,295.09524211152,299.7792935736,302.17752792219,308.34441624714,312.16686768822,314.76825825228,327.03195662575,337.2517052703,343.38355445704,349.7425091692,356.76213450082,359.73515228832,377.72190990274,381.53728273004,385.43052030892,392.4383479509,393.46032281536,400.61414686654,408.78994578219,416.22249025095,419.69101100305,429.2294430713,431.68218274599,440.49202321019,449.66894036041,454.06089845559,457.84473927605,472.15238737843,490.54793493862,494.63583439645,499.46698830115,503.62921320365,513.90736041189,523.2511306012],description:"Superstellated two out of 1 3 5 7 11 dekany"},steleik1:{frequencies:[220,220.57291666667,224.58333333333,225,226.875,229.16666666667,232.03125,235.27777777778,238.21875,240.625,242.63020833333,243.08035714286,247.5,248.14453125,252.08333333333,252.65625,255.234375,256.66666666667,257.8125,262.5,264.6875,270.703125,272.25,275,277.29166666667,278.4375,280.72916666667,283.59375,288.75,294.09722222222,297.7734375,302.5,308.80208333333,309.375,311.953125,315,315.10416666667,317.625,320.83333333333,324.10714285714,324.84375,330,330.859375,336.11111111111,336.875,340.3125,343.75,346.5,346.61458333333,350,352.91666666667,353.57142857143,360.9375,366.66666666667,371.25,378.125,385,388.92857142857,392.12962962963,393.75,397.03125,401.04166666667,403.33333333333,412.5,415.9375,423.5,425.390625,427.77777777778,432.14285714286,433.125,440],description:"Stellated Eikosany 3 out of 1 3 5 7 9 11"},steleik1s:{frequencies:[123.47082531403,123.79236392162,125.33976847064,127.32928860509,129.9819821177,130.22313607339,131.308328874,132.59082945654,132.63467563031,133.69575303535,135.04621518722,136.42423779117,136.73429287706,138.90467847828,139.26640941182,141.47698733899,141.79852594658,143.24544968073,144.69237341488,145.8499124022,145.89814319334,147.3231438406,148.55083670594,148.82644122673,151.92699208562,154.33853164254,156.26776328807,156.6747105883,159.16161075637,160.43490364242,160.48795751267,162.05545822466,163.70908534941,165.05648522882,165.43161360434,165.73853682068,167.11969129419,168.80776898403,169.77238480679,173.63084809785,175.077771832,175.80123369908,178.26100404713,179.05681210091,180.06162024963,181.89898372156,182.31239050275,185.20623797104,185.68854588243,189.06470126211,189.41547065221,190.99393290764,192.92316455317,195.33470411009,198.06778227459,200.54362955302,202.56932278083,204.25740047067,204.63635668676,208.35701771743,208.89961411773,212.21548100849,212.69778891987,214.8681745211,216.07394429955,217.03856012232,220.07531363843,220.98471576091,222.82625505891,227.89048812843,229.19271948917,231.50779746381,233.43702910934,233.87012192772,234.4016449321,236.33087657764,238.74241613455,241.07423537553,241.15395569146,243.083187337,246.94165062806],description:"Superstellated Eikosany 3 out of 1 3 5 7 9 11"},steleik2:{frequencies:[123.47082531403,124.49974885831,126.04313417474,126.11662871362,127.68005799519,128.74405847848,129.64436657973,130.41605923794,132.04518818306,132.96858110742,133.76006075687,135.81790784543,137.94006265552,138.64744759221,140.44806379471,141.47698733899,144.0492961997,145.92006628022,146.26543921816,147.13606683255,148.16499037684,148.55083670594,151.25176100969,152.15206911093,154.33853164254,154.49287017418,155.62468607289,156.05340421634,157.14468676331,157.64578589202,158.45422581967,160.51207290824,160.9300730981,163.85607442716,164.62776708537,167.20007594608,169.77238480679,170.24007732692,171.65874463798,172.85915543964,173.88807898393,175.56007974339,176.56328019906,180.06162024963,181.09054379391,182.8317990227,183.92008354069,185.20623797104,186.74962328747,187.26408505961,190.14507098361,193.11608771773,194.02558263633,197.55332050245,198.06778227459,200.6400911353,201.66901467958,202.31209189476,203.72686176815,204.2880927923,205.78470885672,205.99049356557,208.95062745451,210.19438118936,214.01609721099,214.57343079747,216.07394429955,217.36009872991,217.87456050205,220.70410024883,224.71690207153,226.36317974239,229.30296129748,230.47887391952,234.08010632452,237.68133872951,239.0961086029,240.76810936236,243.77573203026,245.22677805425,246.94165062806],description:"Stellated Eikosany 3 out of 1 3 5 7 11 13"},steleik2s:{frequencies:[61.73541265702,61.89618196081,62.32902239411,62.70002847979,63.66464430255,64.65940436978,64.99099105886,65.83502990378,66.22690508177,66.31733781516,67.05419712422,67.52310759362,68.40003106886,68.56192463352,68.97003132776,69.45233923915,69.63320470592,70.8992629733,71.32128239576,72.34618670745,72.41853289415,72.94907159667,73.15003322642,73.66157192031,73.89646213689,74.27541835298,75.24003417574,75.43597176474,76.80753488774,77.16926582128,78.37503559973,79.58080537819,79.800036247,80.24397875634,80.46503654906,81.02772911234,81.51003702372,82.29378737972,82.71580680218,82.76403759332,84.40388449202,84.45309958502,84.8861924034,85.7024057919,86.21253915971,86.81542404893,87.05458499673,87.53888591601,87.7800398717,89.13050202357,90.52316611769,90.94949186079,92.60311898553,92.84427294122,94.05004271968,94.53235063106,94.83379307568,95.49696645383,95.7600434964,96.46158227659,96.55804385887,97.94560661931,98.52861618252,100.32004556766,100.58129568632,101.28466139042,101.88754627965,102.12870023534,103.45504699165,104.17850885872,105.33604784604,105.47988405157,106.10774050425,107.4857631082,108.03697214979,109.72504983963,111.41312752947,112.07630090762,112.86005126361,113.15395764711,114.2698743892,114.95005221294,115.75389873191,115.86965263064,116.71851455468,118.16543828883,118.23433941902,119.7000543705,120.57697784574,120.69755482359,121.54159366851,122.26505553558,123.47082531404],description:"Superstellated Eikosany 3 out of 1 3 5 7 11 13"},stelhex1:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,294.32876096318,327.03195662575,343.38355445704,381.53728273004,392.4383479509,400.61414686654,408.78994578219,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Stellated two out of 1 3 5 7 hexany, also dekatesserany, mandala, tetradekany"},stelhex2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,327.03195662575,331.11985608357,353.19451315581,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Stellated two out of 1 3 5 9 hexany"},stelhex3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,281.36411960997,289.40309445597,297.67175429757,339.14425131559,348.83408706747,358.80077526939,361.75386806997,372.08969287196,385.87079260796,434.10464168396,465.11211608996,523.2511306012],description:"Stellated Tetrachordal Hexany based on Archytas's Enharmonic"},stelhex4:{frequencies:[261.6255653006,269.10058145205,276.78916949353,279.06726965397,287.04062021552,297.67175429757,336.37572681506,348.83408706747,358.80077526939,361.75386806997,372.08969287196,382.72082695402,430.56093032327,465.11211608996,523.2511306012],description:"Stellated Tetrachordal Hexany based on the 1/1 35/36 16/15 4/3 tetrachord"},stelhex5:{frequencies:[261.6255653006,294.32876096318,305.22982618403,331.11985608357,343.38355445704,386.30649876417,392.4383479509,400.61414686654,441.49314144476,457.84473927605,504.56359022259,515.07533168556,523.2511306012],description:"Stellated two out of 1 3 7 9 hexany, stellation is degenerate"},stelhex6:{frequencies:[261.6255653006,269.80136421624,294.32876096318,299.7792935736,327.03195662575,337.2517052703,356.76213450082,359.73515228832,392.4383479509,408.78994578219,431.68218274599,449.66894036041,490.54793493862,494.63583439645,523.2511306012],description:"Stellated two out of 1 3 5 11 hexany, from The Giving, by Stephen J. Taylor"},stelpd1:{frequencies:[207.65234878997,208.19311011494,212.37172035338,214.14148468966,218.03496622947,219.00833661442,222.07265078927,222.48465941783,222.99030637105,224.84855892414,227.11975648903,229.43730502463,233.60889238872,237.93498298851,240.90917027586,242.2610735883,244.73312535961,245.28933700815,247.76700707894,249.83173213793,250.29524184505,254.84606442405,255.50972605016,256.96978162759,259.56543598746,262.81000393731,267.67685586207,272.54370778684,275.32476602956,277.59081348659,280.33067086646,281.06069865517,283.1622938045,285.52197958621,292.0111154859,297.32040849473,299.79807856552,302.82634198537,305.91640669951,306.61167126019,311.47852318496,312.28966517242,317.24664398468,317.96765908464,318.55758053007,321.21222703448,324.45679498433,327.0524493442,330.35600943859,333.10897618391,333.72698912674,340.67963473354,342.62637550345,346.08724798328,350.41333858307,356.90247448276,363.39161038245,367.09968803941,371.65051061841,374.7475982069,380.69597278161,385.45467244138,389.34815398119,392.59272193104,396.42721132631,399.73077142069,400.47238695209,401.51528379311,403.7684559805,407.88854226601,408.81556168025,415.30469757994],description:"Stellated two out of 1 3 5 7 9 11 pentadekany"},stelpd1s:{frequencies:[21.82676446456,21.88360499702,22.15715005948,22.2309638065,22.3228272933,22.50885085408,22.68892166091,22.91810268779,23.02041564622,23.14959867453,23.15196087848,23.34251199682,23.38581906917,23.43896865797,23.624449876,23.63429339678,23.87302363311,24.11662591508,24.35217522905,24.55511002263,24.61905562165,25.00983428231,25.20991295657,25.32245721084,25.46455854199,25.72440097609,25.78286552376,25.93612444091,26.04329850885,26.26032599642,26.30904645282,26.78739275196,26.85715158725,27.01062102489,27.2834555807,27.56185818867,27.62449877546,27.69643757435,28.01101439619,28.1360635676,28.29395393554,28.36115207614,28.41087110056,28.58266775121,28.64762835974,28.9399510981,29.17813999603,29.29871082246,29.46613202716,29.54286674598,29.7637697244,30.01180113877,30.06748166036,30.69388752829,30.99367756425,31.12334932909,31.25195821062,31.51239119571,31.65307151355,31.83069817748,32.15550122011,32.2285819047,32.41274522987,32.74014669684,32.82540749553,33.0742298264,33.34644570974,33.42223308636,33.48424093995,33.76327628112,34.09304532068,34.10431947588,34.37715403168,34.58149925455,34.7243980118,35.01376799523,35.07872860376,35.45144009517,35.80953544967,36.01416136652,36.17493887262,36.37794077427,36.74914425156,36.83266503394,36.92858343247,37.50234985274,37.51475142346,37.81486943485,37.88116146742,38.19683781298,38.26770393137,38.58660146413,38.90418666137,39.06494776328,39.39048899464,40.01573485169,40.28572738088,40.51593153734,40.92518337105,41.25258483802,41.26622656581,41.342787283,41.66927761416,42.01652159428,42.09447432451,42.2040953514,42.44093090331,42.61630665085,42.87400162681,42.9714425396,43.65352892912],description:"Superstellated two out of 1 3 5 7 9 11 pentadekany"},stelpent1:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,348.83408706747,353.19451315581,366.27579142084,367.91095120397,373.75080757229,381.53728273004,392.4383479509,406.97310157871,412.06026534844,420.46965851882,436.04260883433,441.49314144476,448.50096908674,457.84473927605,470.92601754108,490.54793493862,504.56359022259,508.71637697339,515.07533168556,523.2511306012],description:"Stellated one out of 1 3 5 7 9 pentany"},stelpent1s:{frequencies:[261.6255653006,271.31540105247,274.70684356563,275.93321340298,280.31310567921,282.55561052465,286.15296204753,288.32205155576,290.69507255622,294.32876096318,301.46155672497,305.22982618403,309.04519901133,313.95067836072,315.35224388912,320.35783506196,321.92208230347,327.03195662575,329.64821227876,336.37572681506,339.14425131559,343.38355445704,348.83408706747,353.19451315581,360.4025644447,366.27579142084,367.91095120397,373.75080757229,381.53728273004,386.30649876417,387.59343007496,392.4383479509,395.57785473451,403.65087217807,406.97310157871,411.88864507966,412.06026534844,420.46965851882,429.2294430713,436.04260883433,439.53094970501,441.49314144476,448.50096908674,452.19233508746,457.84473927605,470.92601754108,480.53675259294,482.88312345521,488.36772189445,490.54793493862,494.47231841813,498.33441009638,504.56359022259,508.71637697339,515.07533168556,523.2511306012],description:"Superstellated one out of 1 3 5 7 9 pentany"},steltet1:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,305.22982618403,313.95067836072,327.03195662575,343.38355445704,366.27579142084,373.75080757229,381.53728273004,392.4383479509,436.04260883433,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Stellated one out of 1 3 5 7 tetrany"},steltet1s:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,305.22982618403,313.95067836072,320.35783506196,327.03195662575,343.38355445704,366.27579142084,373.75080757229,381.53728273004,392.4383479509,429.2294430713,436.04260883433,439.53094970501,448.50096908674,457.84473927605,490.54793493862,508.71637697339,523.2511306012],description:"Superstellated one out of 1 3 5 7 tetrany"},steltet2:{frequencies:[261.6255653006,267.07609791103,272.52663052146,286.15296204753,305.22982618403,327.03195662575,333.84512238879,343.38355445704,381.53728273004,392.4383479509,400.61414686654,408.78994578219,436.04260883433,457.84473927605,476.92160341255,490.54793493862,523.2511306012],description:"Stellated three out of 1 3 5 7 tetrany"},steltet2s:{frequencies:[261.6255653006,286.15296204753,294.32876096318,300.46061014991,306.59245933664,327.03195662575,343.38355445704,350.53737850823,357.69120255941,367.91095120397,392.4383479509,400.61414686654,408.78994578219,429.2294430713,441.49314144476,457.84473927605,490.54793493862,500.76768358318,510.98743222773,515.07533168556,523.2511306012],description:"Superstellated three out of 1 3 5 7 tetrany"},steltri1:{frequencies:[261.6255653006,313.95067836072,327.03195662575,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Stellated one out of 1 3 5 triany"},steltri2:{frequencies:[261.6255653006,294.32876096318,327.03195662575,392.4383479509,408.78994578219,490.54793493862,523.2511306012],description:"Stellated two out of 1 3 5 triany"},stevin:{frequencies:[261.6255653006,277.20445571159,293.66434538175,311.1256573916,329.66931111467,349.25319089654,369.99797100919,392.00714009679,415.41055144586,440.15068186507,466.27261682516,494.00597677606,523.2511306012],description:"Simon Stevin, monochord division of 10000 parts for 12-tET (1585)"},stopper:{frequencies:[261.6255653006,277.19910487213,293.6996776193,311.18246278326,329.70593120198,349.3320268423,370.12638880276,392.15855510068,415.50221189151,440.23542223935,466.44090588941,494.20629608476,523.62445363767,554.79375523088,587.81844599272,622.80896314278,659.88233179115,699.16252826162,740.78092441407,784.8766959018],description:"Bernard Stopper, piano tuning with 19th root of 3 (1988)"},storbeck:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,353.19451315581,358.80077526939,381.53728273004,387.59343007496,392.4383479509,403.65087217807,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,523.2511306012],description:"Ulrich Storbeck, 2001"},strahle:{frequencies:[261.6255653006,278.94941459687,296.90543930973,315.65242990842,335.0021118691,355.12744448111,376.24442122187,398.15684412917,421.10213511252,444.85552088095,469.94877954106,496.17080790016,523.2511306012],description:"Strahle's Geometrical scale"},"sub24-12":{frequencies:[261.6255653006,273.00058987889,285.40970760065,299.00064605783,313.95067836072,330.47439827444,348.83408706747,369.35373924791,392.4383479509,418.60090448096,448.50096908674,483.00104363188,523.2511306012],description:"Subharmonics 24-12"},sub24:{frequencies:[261.6255653006,10.90106522086,11.37502457829,11.89207115003,12.45836025241,13.08127826503,13.76976659477,14.53475362781,15.38973913533,16.35159783129,17.44170435337,18.68754037861,20.12504348466,21.80213044172,23.78414230005,26.16255653006,29.06950725562,32.70319566257,37.37508075723,43.60426088343,52.32511306012,65.40639132515,87.20852176687,130.8127826503,261.6255653006],description:"Subharmonics 24-1"},sub40:{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,327.03195662575,348.83408706747,373.75080757229,402.50086969323,418.60090448096,436.04260883433,475.68284600109,498.33441009638,523.2511306012],description:"sub 40-20"},sub48:{frequencies:[261.6255653006,279.06726965397,299.00064605783,313.95067836072,330.47439827444,348.83408706747,369.35373924791,392.4383479509,418.60090448096,448.50096908674,465.11211608996,502.32108537715,523.2511306012],description:"12 of sub 48 (Leven)"},sub50:{frequencies:[261.6255653006,272.52663052146,290.69507255622,311.45900631024,327.03195662575,344.24416486921,373.75080757229,384.74347838324,408.78994578219,436.04260883433,467.18850946536,484.4917875937,523.2511306012],description:"12 of sub 50"},sub8:{frequencies:[261.6255653006,279.06726965397,299.00064605783,322.00069575458,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012],description:"Subharmonic series 1/16 - 1/8"},sumatra:{frequencies:[261.6255653006,266.79889483106,324.44528279699,356.96377863828,390.9602296356,474.47355835313,530.64156666967,639.28283484968,713.92755727656,784.8766959018],description:'"Archeological" tuning of Pasirah Rus orch. in Muaralakitan, Sumatra. 1/1=354 Hz'},super_10:{frequencies:[261.6255653006,283.42769574232,305.22982618403,327.03195662575,348.83408706747,370.63621750918,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"A superparticular 10-tone scale"},super_11:{frequencies:[261.6255653006,283.42769574232,305.22982618403,327.03195662575,348.83408706747,370.63621750918,392.4383479509,418.60090448096,444.76346101102,470.92601754108,497.08857407114,523.2511306012],description:"A superparticular 11-tone scale"},super_12:{frequencies:[261.6255653006,279.06726965397,296.50897400735,313.95067836072,331.39238271409,348.83408706747,372.08969287196,395.34529867646,418.60090448096,441.85651028546,465.11211608996,494.18162334558,523.2511306012],description:"A superparticular 12-tone scale"},super_12_1:{frequencies:[261.6255653006,280.31310567921,299.00064605783,317.68818643644,336.37572681506,355.06326719367,373.75080757229,392.4383479509,418.60090448096,444.76346101102,470.92601754108,497.08857407114,523.2511306012],description:"Another superparticular 12-tone scale"},super_12_2:{frequencies:[261.6255653006,280.31310567921,299.00064605783,317.68818643644,336.37572681506,355.06326719367,373.75080757229,392.4383479509,420.46965851882,448.50096908674,473.41768959156,498.33441009638,523.2511306012],description:"Another superparticular 12-tone scale"},super_13:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,418.60090448096,444.76346101102,470.92601754108,497.08857407114,523.2511306012],description:"A superparticular 13-tone scale"},super_14:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,501.44900015948,523.2511306012],description:"A superparticular 14-tone scale"},super_15:{frequencies:[261.6255653006,276.16031892841,290.69507255622,305.22982618403,319.76457981184,334.29933343966,348.83408706747,363.36884069528,381.53728273004,399.70572476481,417.87416679957,436.04260883433,457.84473927605,479.64686971777,501.44900015948,523.2511306012],description:"A superparticular 15-tone scale"},super_17:{frequencies:[261.6255653006,274.08392555301,286.54228580542,299.00064605783,311.45900631024,323.91736656265,336.37572681506,348.83408706747,363.36884069528,377.90359432309,392.4383479509,411.12588832951,429.81342870813,448.50096908674,467.18850946536,485.87604984397,504.56359022259,523.2511306012],description:"Superparticular 17-tone scale"},super_19:{frequencies:[261.6255653006,272.52663052146,283.42769574232,294.32876096318,305.22982618403,316.13089140489,327.03195662575,340.11323489078,353.19451315581,366.27579142084,379.35706968587,392.4383479509,408.13588186894,423.83341578697,439.53094970501,455.22848362304,470.92601754108,488.36772189445,505.80942624783,523.2511306012],description:"Superparticular 19-tone scale"},super_19_1:{frequencies:[261.6255653006,272.09058791262,282.55561052465,293.02063313667,303.4856557487,313.95067836072,325.57848126297,337.20628416522,348.83408706747,363.36884069528,377.90359432309,392.4383479509,408.13588186894,423.83341578697,439.53094970501,455.22848362304,470.92601754108,488.36772189445,505.80942624783,523.2511306012],description:"Superparticular 19-tone scale"},super_19_2:{frequencies:[261.6255653006,269.80136421624,277.97716313189,294.32876096318,302.50455987882,310.68035879446,318.85615771011,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Superparticular 19-tone scale"},super_22:{frequencies:[261.6255653006,270.96933548991,280.31310567921,289.65687586852,299.00064605783,308.34441624714,317.68818643644,327.03195662575,337.93302184661,348.83408706747,359.73515228832,370.63621750918,381.53728273004,392.4383479509,406.45400323486,420.46965851882,434.48531380278,448.50096908674,463.45100138963,478.40103369253,493.35106599542,508.30109829831,523.2511306012],description:"Superparticular 22-tone scale"},super_22_1:{frequencies:[261.6255653006,272.09058791262,282.55561052465,293.02063313667,303.4856557487,313.95067836072,325.16320258789,336.37572681506,347.58825104223,358.80077526939,370.01329949656,381.22582372373,392.4383479509,405.51962621593,418.60090448096,431.68218274599,444.76346101102,457.84473927605,470.92601754108,484.00729580611,497.08857407114,510.16985233617,523.2511306012],description:"Superparticular 22-tone scale"},super_24:{frequencies:[261.6255653006,270.34641747729,279.06726965397,287.78812183066,296.50897400735,305.22982618403,313.95067836072,322.67153053741,331.39238271409,340.11323489078,348.83408706747,359.73515228832,370.63621750918,381.53728273004,392.4383479509,405.51962621593,418.60090448096,431.68218274599,444.76346101102,457.84473927605,470.92601754108,484.00729580611,497.08857407114,510.16985233617,523.2511306012],description:"Superparticular 24-tone scale, inverse of Mans.ur 'Awad"},super_7:{frequencies:[261.6255653006,287.78812183066,313.95067836072,353.19451315581,392.4383479509,431.68218274599,470.92601754108,523.2511306012],description:"A superparticular 7-tone scale"},super_8:{frequencies:[261.6255653006,287.78812183066,313.95067836072,340.11323489078,366.27579142084,392.4383479509,436.04260883433,479.64686971777,523.2511306012],description:"A superparticular 8 tone scale"},super_9:{frequencies:[261.6255653006,287.78812183066,313.95067836072,340.11323489078,366.27579142084,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"A superparticular 9-tone scale"},suppig:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,340.65828815182,348.83408706747,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,459.88868900496,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Friedrich Suppig's 19-tone JI scale. Calculus Musicus, Berlin 1722"},sur_7:{frequencies:[261.6255653006,280.40333801024,327.729041887,351.25128999693,383.0422478503,410.5345162762,479.82340237272,523.2511306012],description:"7-tone surupan"},sur_9:{frequencies:[261.6255653006,280.40333801024,305.78200836532,327.729041887,351.25128999693,383.0422478503,410.5345162762,447.69106452518,479.82340237272,523.2511306012],description:"Theoretical nine-tone surupan gamut"},sur_ajeng:{frequencies:[261.6255653006,285.30470202322,305.78200836532,383.0422478503,417.71053321823,523.2511306012],description:"Surupan ajeng"},sur_degung:{frequencies:[261.6255653006,322.09885310804,345.21700307457,396.55020354877,488.21056770985,523.2511306012],description:"Surupan degung"},sur_madenda:{frequencies:[261.6255653006,322.09885310804,345.21700307457,425.01198472693,488.21056770985,523.2511306012],description:"Surupan madenda"},sur_melog:{frequencies:[261.6255653006,280.40333801024,305.78200836532,383.0422478503,410.5345162762,523.2511306012],description:"Surupan melog"},sur_miring:{frequencies:[261.6255653006,285.30470202322,305.78200836532,389.73770840504,417.71053321823,523.2511306012],description:"Surupan miring"},sur_x:{frequencies:[261.6255653006,280.40333801024,305.78200836532,383.0422478503,417.71053321823,523.2511306012],description:"Surupan tone-gender X (= unmodified nyorog)"},sur_y:{frequencies:[261.6255653006,280.40333801024,300.52885648597,383.0422478503,410.5345162762,523.2511306012],description:"Surupan tone-gender Y (= mode on pamiring)"},sverige:{frequencies:[261.6255653006,293.66476791741,329.62755691287,349.22823143301,391.99543598175,440,466.16376151809,493.88330125613,523.2511306012,554.36526195375,587.32953583482,622.25396744417,659.25511382574,698.45646286601,739.98884542327,783.9908719635,830.60939515989,880,932.32752303618,987.76660251225,1046.5022612024,1174.65907166964,1318.51022765149,1396.91292573202,1567.98174392701],description:"Scale on Swedish 50 crown banknote of some kind of violin."},syntonolydian:{frequencies:[261.6255653006,294.32876096318,331.11985608357,372.50983809402,392.4383479509,441.49314144476,496.67978412536,523.2511306012],description:"Greek Syntonolydian, also genus duplicatum medium, or ditonum (Al-Farabi)"},syrian:{frequencies:[261.6255653006,268.67837258085,275.62199471997,279.38237857051,286.74979536837,294.32876096318,302.10804307229,310.07474405997,314.30517589183,322.59351978942,326.6631048533,331.11985608357,339.85160932548,348.83408706747,358.05397697456,367.49599295996,372.50983809402,382.33306049116,392.4383479509,402.81072409638,413.43299207996,419.07356785577,430.12469305256,441.49314144476,453.13547910064,465.11211608996,477.40530263275,489.99465727995,496.67978412536,509.77741398822,523.2511306012],description:"After ^Sayh.'Ali ad-Darwis^ (Shaykh Darvish) from d'Erlanger vol.5, p.29"},szpak_24:{frequencies:[261.6255653006,270.98948203641,277.18263097687,287.10335517712,293.66476791741,304.17540907689,311.12698372208,322.26262012861,329.62755691287,341.42535271779,349.22823143301,361.7275606831,369.99442271164,383.23700075636,391.99543598175,406.02545869431,415.30469757995,430.16898885692,440,455.74816803176,466.16376151809,482.84836435151,493.88330125613,511.56002220218,523.2511306012],description:"Stephen Szpak's scale, TL 2-1-2004"},pagano_b:{frequencies:[261.6255653006,277.97716313189,289.55954492905,312.72430852337,333.57259575826,351.8148470888,370.63621750918,389.16802838464,416.96574469783,444.76346101102,463.29527188648,486.4600354808,523.2511306012],description:"Pat Pagano and David Beardsley, 17-limit scale, TL 27-2-2001"},palace:{frequencies:[261.6255653006,277.01530443593,294.32876096318,299.00064605783,336.37572681506,348.83408706747,373.75080757229,392.4383479509,409.50088481833,428.11456140098,448.50096908674,470.92601754108,523.2511306012],description:"Palace mode+"},palace2:{frequencies:[261.6255653006,277.01530443593,336.37572681506,348.83408706747,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Byzantine Palace mode, 17-limit"},panpipe1:{frequencies:[261.6255653006,305.78200836532,346.61566493686,386.59871897734,424.03113209229,475.68400784708,523.2511306012],description:"Palina panpipe of Solomon Islands. 1/1=f+45c. From Ocora CD Guadalcanal"},panpipe2:{frequencies:[261.6255653006,301.39807245198,340.46429857933,389.512652082,435.70052664441,481.48922855473,540.45338572244,606.98892366383,675.83458963267,749.45240308975,819.17415016614,915.78156525194,979.24522642508,1073.44040298899,1178.73719255088,1360.28482360484],description:"Lalave panpipe of Solomon Islands. 1/1=f'+47c."},panpipe3:{frequencies:[261.6255653006,302.44445076078,341.44901934006,382.59999559751,433.19107626846,482.88183400971,542.01653249392,602.10016957865,677.78929781797,755.1012944609,822.018116801,906.30932187391,994.06270356141,1067.87449159209,1155.14617783291,1300.35790771888],description:"Tenaho panpipe of Solomon Islands. 1/1=f'+67c."},parachrom:{frequencies:[261.6255653006,274.52698453615,288.06460709314,349.22823143301,391.99543598175,411.32572372413,431.60923940535,523.2511306012],description:"Parachromatic, new genus 5 + 5 + 20 parts"},parakleismic:{frequencies:[261.6255653006,269.41173453909,271.00883762044,279.07425994419,280.72864356353,282.39283618632,290.79705467987,292.52093234567,301.22657042972,303.0122754386,312.03014360907,313.87989341557,323.22118988972,325.13728335605,327.06473376202,336.79842078181,338.79499972275,348.87778808468,350.94597487438,361.39038519337,363.53274806687,374.35175001315,376.5709514911,387.77797996035,390.07677146523,392.38919046486,404.06698135965,406.46233589795,418.55895395107,421.04021853379,433.57068509561,436.14094342919,449.12081866987,451.783257426,465.22865943552,467.98658728446,470.76086444006,484.77105399159,487.64483417146,502.15750307968,505.13434926963,520.16751901001,523.2511306012],description:"Parakleismic temperament, g=315.250913, 5-limit"},parizek:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,425.14154361347,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Petr Parizek, 12-tone Linear Level tuning, 1/1=Ab"},parizek_13lqmt:{frequencies:[261.6255653006,272.70676208351,292.18581651805,313.05623198362,325.57848126297,348.83408706747,365.23227064756,391.32028997953,406.97310157871,436.04260883433,467.18850946536,486.97636086341,523.2511306012],description:"April 2003 - Petr Parizek"},parizek_17lqmt:{frequencies:[261.6255653006,272.52663052146,291.99281841585,312.60407618638,327.03195662575,350.39138209902,364.70475555078,390.75509523297,408.78994578219,436.04260883433,467.18850946536,488.44386904122,523.2511306012],description:"To tune the scale by ear, please choose the intervals in the following order:"},parizek_7lmtd1:{frequencies:[261.6255653006,280.31310567921,293.02063313667,313.95067836072,327.03195662575,350.39138209902,366.27579142084,392.4383479509,418.60090448096,437.98922762377,468.83301301868,490.54793493862,523.2511306012],description:"Use SET MIDDLE 62"},parizek_7lqmtd2:{frequencies:[261.6255653006,280.31310567921,293.02063313667,313.95067836072,327.03195662575,350.39138209902,366.27579142084,390.69417751556,418.60090448096,437.98922762377,468.83301301868,488.36772189445,523.2511306012],description:"Use SET MIDDLE 62"},parizek_cirot:{frequencies:[261.6255653006,273.76082553017,293.33333347996,307.98092841354,327.40170814054,348.04713286849,366.66693712906,392.88175996935,409.71484950008,438.01699797506,463.01593599647,491.10256480205,523.2511306012],description:"Overtempered circular tuning (1/1 is F)"},parizek_epi:{frequencies:[261.6255653006,283.42769574232,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"In The Epimoric World"},parizek_epi2:{frequencies:[261.6255653006,283.42769574232,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,523.2511306012,523.2511306012],description:"In the Epimoric World - extended (version for two keyboards)"},parizek_epi2a:{frequencies:[261.6255653006,283.42769574232,287.78812183066,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012,523.2511306012],description:"April 2003 - Petr Parizek"},parizek_ji1:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,343.38355445704,366.27579142084,392.4383479509,412.06026534844,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Petr Parizek, 12-tone septimal tuning, 2002."},parizek_jiweltmp:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,329.45441556372,348.83408706747,370.63621750918,392.4383479509,416.96574469783,440.63253103259,465.11211608996,494.18162334558,523.2511306012],description:"April 2003 - Petr Parizek"},jiwt2:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,331.11985608357,348.83408706747,372.08969287196,392.4383479509,415.8649508569,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"June 2003 - Petr Parizek"},parizek_llt7:{frequencies:[261.6255653006,283.42769574232,327.03195662575,359.73515228832,392.4383479509,425.14154361347,479.64686971777,523.2511306012],description:"7-tone mode of Linear Level Tuning 2000 (= wilson_helix)"},parizek_qmeb1:{frequencies:[261.6255653006,273.53155294581,293.066620053,305.25690181412,326.9069921792,350.33366042609,366.2083106197,392.1884190578,408.50877577745,437.87542071709,457.7197748295,488.61098601707,523.2511306012],description:"Equal beating quasi-meantone tuning no. 1 - F...A# (1/1 = 261.7Hz)(3/2 5/3 5/4 7/4 7/6)"},parizek_qmeb2:{frequencies:[261.6255653006,274.12423619715,293.39509530855,306.21121252767,327.1564453797,350.32795211486,366.55713600477,391.6914154272,409.44351174042,438.20041390279,457.4712730142,489.73875803795,523.2511306012],description:"Equal beating quasi-meantone tuning no. 2 - F...A# (1/1 = 262.7Hz)"},parizek_qmeb3:{frequencies:[261.6255653006,274.23252240717,293.57983281823,306.4052273004,327.28159934073,350.29865766202,366.78755898655,391.93906252094,409.53887392713,438.37260750749,457.59509656107,490.04864950866,523.2511306012],description:"Equal beating quasi-meantone tuning no. 3 - F...A#. 1/1 = 262Hz"},parizek_qmtp12:{frequencies:[261.6255653006,273.55480692456,293.00227310437,305.44101254122,326.6631048533,350.4133380576,366.39100206434,391.84790908124,408.48291326839,437.52264545758,457.47219685667,489.2574430773,523.2511306012],description:"12-tone quasi-meantone tuning with 1/9 Pyth. comma as basic tempering unit (F...A#)"},parizek_qmtp24:{frequencies:[261.6255653006,273.14323313659,280.64720643091,285.59764149034,293.00227310437,305.44101254122,313.83229199844,326.6631048533,335.63741195089,341.5578378819,350.4133380576,365.83975262993,375.89034660662,381.37064019061,391.84790908124,407.86833637529,419.07356785577,437.52264545758,448.86620556368,457.47219685667,469.33298761093,489.2574430773,502.69865025911,510.02774559919,523.2511306012],description:"24-tone quasi-meantone tuning with 1/9 Pyth. comma as basic tempering unit (Bbb...C##)"},parizek_syndiat:{frequencies:[261.6255653006,290.69507255622,294.32876096318,327.03195662575,348.83408706747,353.19451315581,387.59343007496,392.4383479509,436.04260883433,441.49314144476,484.4917875937,490.54793493862,523.2511306012],description:"Petr Parizek, diatonic scale with syntonic alternatives"},parizek_syntonal:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Petr Parizek, Syntonic corrections in JI tonality, Jan. 2004"},parizek_temp19:{frequencies:[261.6255653006,276.69969455132,294.32876096318,310.68035879446,328.58088727969,349.51540364377,368.93292606842,392.4383479509,415.04954182698,438.10784970625,466.02053819169,492.87133091954,523.2511306012],description:"Petr Parizek, genus [3 3 19 19 19] well temperament"},"partch-barstow":{frequencies:[261.6255653006,279.06726965397,287.78812183066,290.69507255622,294.32876096318,299.00064605783,313.95067836072,327.03195662575,348.83408706747,359.73515228832,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,470.92601754108,479.64686971777,490.54793493862,523.2511306012],description:"Guitar scale for Partch's Barstow (1941, 1968)"},"partch-greek":{frequencies:[261.6255653006,261.6255653006,271.31540105247,294.32876096318,279.06726965397,348.83408706747,313.95067836072,392.4383479509,392.4383479509,406.97310157871,418.60090448096,418.60090448096,523.2511306012],description:'Partch Greek scales from "Two Studies on Ancient Greek Scales" on black/white'},"partch-grm":{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,313.95067836072,348.83408706747,392.4383479509,406.97310157871,418.60090448096,523.2511306012],description:'Partch Greek scales from "Two Studies on Ancient Greek Scales" mixed'},"partch-indian":{frequencies:[261.6255653006,269.80136421624,277.97716313189,285.40970760065,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,383.71749577421,392.4383479509,406.97310157871,411.12588832951,428.11456140098,441.49314144476,457.84473927605,475.68284600109,490.54793493862,507.3950357345,523.2511306012],description:"Partch's Indian Chromatic, Exposition of Monophony, 1933."},"partch-ur":{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:"Ur-Partch curved keyboard, published in Interval"},"partch_29-av":{frequencies:[261.6255653006,269.80136421624,274.70684356563,280.31310567921,285.40970760065,290.69507255622,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,488.36772189445,498.33441009638,507.3950357345,523.2511306012],description:"29-tone JI scale from Partch's Adapted Viola 1928-30"},partch_29:{frequencies:[261.6255653006,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,523.2511306012],description:"Partch/Ptolemy 11-limit Diamond"},partch_37:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:'From "Exposition on Monophony" 1933, unp. see Ayers, 1/1 vol.9(2)'},partch_39:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:"Ur-Partch Keyboard 39 tones, published in Interval"},partch_41:{frequencies:[261.6255653006,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,359.73515228832,362.25078272391,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,402.50086969323,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,442.75095666255,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,523.2511306012],description:"13-limit Diamond after Partch, Genesis of a Music, p 454, 2nd edition"},partch_41a:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:'From "Exposition on Monophony" 1933, unp. see Ayers, 1/1 vol. 9(2)'},partch_41comb:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,274.70684356563,279.06726965397,280.31310567921,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,488.36772189445,490.54793493862,498.33441009638,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:"41-tone JI combination from Partch's 29-tone and 37-tone scales"},partch_43:{frequencies:[261.6255653006,264.89588486686,269.80136421624,274.70684356563,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,373.75080757229,380.54627680087,387.59343007496,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,498.33441009638,507.3950357345,516.79124009995,523.2511306012],description:"Harry Partch's 43-tone pure scale"},partch_43a:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.70684356563,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,498.33441009638,507.3950357345,512.57253609913,523.2511306012],description:'From "Exposition on Monophony" 1933, unp. see Ayers, 1/1 vol. 9(2)'},patala:{frequencies:[261.6255653006,289.6217982776,320.24370022528,355.94891173479,393.58362272115,439.74591942221,480.6555937997,537.34060327431],description:"Observed patala tuning from Burma, Helmholtz/Ellis p. 518, nr.83"},pelog1:{frequencies:[261.6255653006,285.79952600623,313.83440569119,359.87690576543,393.35634555235,426.98050185716,482.04578814299,523.2511306012],description:"Gamelan Saih pitu from Ksatria, Den Pasar (South Bali). 1/1=312.5 Hz"},pelog10:{frequencies:[261.6255653006,290.16653606067,310.14521470005,342.49164912079,385.30310526088,418.60090448096,442.38504678101,523.2511306012],description:"Balinese saih 7 scale, Krobokan. 1/1=275 Hz. McPhee, 1966"},pelog11:{frequencies:[261.6255653006,289.11520789678,327.03195662575,352.6257619269,388.64667309147,441.73012112348,478.69895237627,523.2511306012],description:"Balinese saih pitu, gamelan luang, banjar Se`se'h. 1/1=276 Hz. McPhee, 1966"},pelog11i:{frequencies:[261.6255653006,267.83009854382,287.76973397991,309.19384990071,332.21296611011,356.94582815655,383.52002471837,392.61532371972,421.84506978464,453.25093845942,486.99493426005,523.2511306012],description:"George Secor's isopelogic scale with ~537.84194 generator and just 13/11"},pelog12:{frequencies:[261.6255653006,284.41230790592,308.04300430555,358.68021049276,385.68672051706,409.31741667997,472.61392441399,523.2511306012],description:"Balinese saih pitu, gamelan Semar Pegulingan, Tampak Gangsai, 1/1=310, McPhee"},pelog13:{frequencies:[261.6255653006,289.80062617913,323.61069924911,351.78575931905,394.45085229937,454.02098012766,494.27106657141,523.2511306012],description:"Balinese saih pitu, gamelan Semar Pegulingan, Klungkung, 1/1=325. McPhee, 1966"},pelog14:{frequencies:[261.6255653006,287.66412867175,309.98289727559,347.18084494866,375.69927149802,402.97776645827,427.77639824032,523.2511306012],description:"Balinese saih pitu, suling gambuh, Tabanan, 1/1=211 Hz, McPhee, 1966"},pelog15:{frequencies:[261.6255653006,284.9387344858,307.6043148279,344.51683351465,375.60105909492,407.98046074103,427.4081017287,523.2511306012],description:"Balinese saih pitu, suling gambuh, Batuan, 1/1=202 Hz. McPhee, 1966"},pelog2:{frequencies:[261.6255653006,285.30470202322,314.92395982138,345.81573716922,388.6137256405,424.52127512829,466.97226207056,523.2511306012],description:"Bamboo gambang from Batu lulan (South Bali). 1/1=315 Hz"},pelog3:{frequencies:[261.6255653006,285.63448939555,315.83481057014,390.18821123181,421.34544350737,523.2511306012],description:"Gamelan Gong from Padangtegal, distr. Ubud (South Bali). 1/1=555 Hz"},pelog4:{frequencies:[261.6255653006,290.96323214696,317.29765457754,352.87817160549,385.03871768789,434.94616895528,470.49199937597,523.2511306012],description:"Hindu-Jav. demung, excavated in Banjarnegara. 1/1=427 Hz"},pelog5:{frequencies:[261.6255653006,284.64626913494,310.94732162256,358.21775774651,390.8649420513,427.47405410759,468.32288027948,523.2511306012],description:"Gamelan Kyahi Munggang (Paku Alaman, Jogja). 1/1=199.5 Hz"},pelog6:{frequencies:[261.6255653006,282.02769802256,315.83481057014,354.51258839996,386.37547528213,413.39000965417,523.2511306012],description:"Gamelan Semar pegulingan, Ubud (S. Bali). 1/1=263.5 Hz"},pelog7:{frequencies:[261.6255653006,281.2143451833,303.31920717687,353.89879686059,384.81637482457,412.43597848639,448.72664641273,523.2511306012],description:"Gamelan Kantjilbelik (kraton Jogja). Measured by Surjodiningrat, 1972."},pelog8:{frequencies:[261.6255653006,281.2143451833,305.0763174688,362.1707891162,386.59871897734,415.30469757995,456.83405152976,529.33101587613,573.91491069685,623.33318620372,730.64478690489,786.25839925218,840.74610520523,945.88853913022,1075.30214607265],description:"from William Malm: Music Cultures of the Pacific, the Near East and Asia."},pelog9:{frequencies:[261.6255653006,282.57123920205,305.19382000629,356.01745236555,384.52011812375,415.30469757995,448.5538823653,523.2511306012],description:"9-tET Pelog"},pelog9i:{frequencies:[261.6255653006,287.76973397991,309.19384990071,332.21296611011,356.94582815655,383.52002471837,421.84506978464,453.25093845942,486.99493426005,523.2511306012],description:"George Secor's isopelogic scale with ~537.84194 generator and just 13/11"},pelog_24:{frequencies:[261.6255653006,293.66476791741,320.24370022528,349.22823143301,391.99543598175,440,479.82340237272,523.2511306012],description:"Subset of 24-tET (Sumatra?)"},pelog_a:{frequencies:[261.6255653006,280.7274598329,305.95868600104,363.84824628932,386.82209166041,411.72190027758,452.10885997356,523.2511306012],description:"Pelog, average class A. Kunst 1949"},pelog_alv:{frequencies:[261.6255653006,299.00064605783,313.95067836072,343.38355445704,392.4383479509,418.60090448096,457.84473927605,523.2511306012],description:"Bill Alves JI Pelog, 1/1 vol. 9 no. 4, 1997. 1/1=293.33"},pelog_av:{frequencies:[261.6255653006,280.40333801024,305.78200836532,357.39105439675,385.26118901859,411.72190027758,452.89298412314,523.2511306012],description:'"Normalised Pelog", Kunst, 1949. Average of 39 Javanese gamelans'},pelog_b:{frequencies:[261.6255653006,280.07959041159,302.79405018898,354.30787302884,382.82105786018,408.64182041696,451.58686491179,523.2511306012],description:"Pelog, average class B. Kunst 1949"},pelog_c:{frequencies:[261.6255653006,279.91785681123,304.37225518229,350.84574289301,384.81637482457,410.29745071461,451.58686491179,523.2511306012],description:"Pelog, average class C. Kunst 1949"},pelog_he:{frequencies:[261.6255653006,283.17034563789,338.50336851425,364.68988616898,389.06292924114,420.13030572059,493.31307433255,523.2511306012],description:"Observed Javanese Pelog scale, Helmholtz/Ellis p. 518, nr.96"},pelog_jc:{frequencies:[261.6255653006,294.32876096318,313.95067836072,392.4383479509,418.60090448096,523.2511306012],description:"John Chalmers' Pelog, on keys C# E F# A B c#, like Olympos' Enharmonic on 4/3"},pelog_laras:{frequencies:[261.6255653006,283.42769574232,305.22982618403,370.63621750918,392.4383479509,414.24047839262,457.84473927605,523.2511306012],description:'Lou Harrison, gamelan "Si Betty"'},pelog_me1:{frequencies:[261.6255653006,281.13654920971,305.96893643544,353.85975480175,389.33427481332,412.3928606827,454.07565526112,523.2511306012],description:"Gamelan Kyahi Kanyut Mesem pelog (Mangku Nagaran). 1/1=295 Hz"},pelog_me2:{frequencies:[261.6255653006,277.86440299076,299.96729002515,349.58586605592,383.41679241104,405.97081699752,447.47001910635,523.2511306012],description:"Gamelan Kyahi Bermara (kraton Jogja). 1/1=290 Hz"},pelog_me3:{frequencies:[261.6255653006,281.75056896146,306.90688773629,358.59164065877,385.12012728597,411.64865826518,457.38747412584,523.2511306012],description:"Gamelan Kyahi Pangasih (kraton Solo). 1/1=286 Hz"},pelog_pa:{frequencies:[261.6255653006,286.29520819723,313.29104303136,342.83241505062,387.04559340587,423.54155496477,463.47885582013,523.2511306012],description:'"Blown fifth" pelog, von Hornbostel, type a.'},pelog_pa2:{frequencies:[261.6255653006,286.29520819723,313.29104303136,353.69443592699,387.04559340587,423.54155496477,463.47885582013,523.2511306012],description:"New mixed gender Pelog"},pelog_pb:{frequencies:[261.6255653006,277.98432293805,304.19649364034,353.69443592699,387.04559340587,411.24653512154,450.02449304881,523.2511306012],description:'"Primitive" Pelog, step of blown semi-fourths, von Hornbostel, type b.'},pelog_pb2:{frequencies:[261.6255653006,277.50302994288,303.66981774726,353.69443592699,387.04559340587,410.5345162762,449.24533531117,523.2511306012],description:'"Primitive" Pelog, Kunst: Music in Java, p. 28'},pelog_schmidt:{frequencies:[261.6255653006,287.78812183066,313.95067836072,366.27579142084,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Modern Pelog designed by Dan Schmidt and used by Berkeley Gamelan"},pelog_selun:{frequencies:[261.6255653006,281.10829462369,350.68958753059,378.52209447746,416.55977244877,523.2511306012,562.21664032682,701.37917506118,757.04418895493,833.11970794305,1046.5022612024,1124.43328065364],description:"Gamelan selunding from Kengetan, South Bali (Pelog), 1/1=141 Hz"},pelog_slen:{frequencies:[261.6255653006,289.4545544734,306.66641795878,334.42210013281,344.22141564971,354.30787302884,386.37547528213,397.69714089209,446.39994737251,459.48046426806,493.88330125613,523.2511306012],description:"W.P. Malm, pelog+slendro, Musical Cultures Of The Pacific, The Near East, And Asia. P: 1,3,5,6,8,10; S: 2,4,7,9"},pelog_str:{frequencies:[261.6255653006,282.73796785026,305.22982618403,329.86096249197,356.10146388137,384.83778957396,415.4517078616,448.97742116962,484.69365917187,523.80699136456],description:"JI Pelog with stretched 2/1 and extra tones between 2-3, 6-7. Wolf, XH 11, '87"},pelogic:{frequencies:[261.6255653006,268.93425429917,294.59920226397,322.71340889889,353.51061198674,363.38617257172,398.06486099125,436.0530078362,477.66644151787,523.2511306012],description:"Pelogic temperament, g=521.1, 5-limit"},pelogic2:{frequencies:[261.6255653006,252.56770712848,285.96465797334,276.06414495892,312.56802260838,301.74646235804,341.64630500046,386.82209166041,373.42974737602,422.80824892286,408.17001145418,462.1422075194,523.2511306012],description:"Pelogic temperament, g=677.0 in cycle of fifths order"},penta1:{frequencies:[261.6255653006,282.55561052465,294.32876096318,313.95067836072,331.11985608357,372.50983809402,376.74081403286,397.34382730029,423.83341578697,441.49314144476,470.92601754108,496.67978412536,523.2511306012],description:"Pentagonal scale 9/8 3/2 16/15 4/3 5/3"},penta2:{frequencies:[261.6255653006,267.07609791103,286.15296204753,305.22982618403,312.97980223949,333.84512238879,356.10146388137,363.36884069528,400.61414686654,436.04260883433,457.84473927605,476.92160341255,523.2511306012],description:"Pentagonal scale 7/4 4/3 15/8 32/21 6/5"},penta_opt:{frequencies:[261.6255653006,292.5084949701,327.03692214239,391.62201198054,436.95817401562,523.2511306012],description:"Optimally consonant major pentatonic, John deLaubenfels, 2001"},pentadekany:{frequencies:[261.6255653006,283.42769574232,299.7792935736,305.22982618403,327.03195662575,354.2846196779,359.73515228832,381.53728273004,389.71308164569,419.69101100305,425.14154361347,436.04260883433,457.84473927605,479.64686971777,495.99846754905,523.2511306012],description:"2)6 1.3.5.7.11.13 Pentadekany (1.3 tonic)"},pentadekany2:{frequencies:[261.6255653006,269.80136421624,294.32876096318,299.7792935736,305.22982618403,327.03195662575,343.38355445704,359.73515228832,381.53728273004,392.4383479509,419.69101100305,436.04260883433,457.84473927605,479.64686971777,490.54793493862,523.2511306012],description:"2)6 1.3.5.7.9.11 Pentadekany (1.3 tonic)"},pentadekany3:{frequencies:[261.6255653006,277.97716313189,278.79474302345,287.78812183066,291.4672313427,300.86940009569,305.77487944508,319.67373760167,359.73515228832,376.08675011961,405.51962621593,413.69542513157,430.86460285443,444.76346101102,506.89953276991,523.2511306012],description:"2)6 1.5.11.17.23.31 Pentadekany (1.5 tonic)"},pentatetra1:{frequencies:[261.6255653006,275.39533189537,290.69507255622,327.03195662575,348.83408706747,392.4383479509,413.09299784305,436.04260883433,490.54793493862,523.2511306012],description:"Penta-tetrachord 20/19 x 19/18 x 18/17 x 17/16 = 5/4. 5/4 x 16/15 = 4/3"},pentatetra2:{frequencies:[261.6255653006,275.39533189537,307.79478270659,327.03195662575,348.83408706747,392.4383479509,413.09299784305,461.69217405988,490.54793493862,523.2511306012],description:"Penta-tetrachord 20/19 x 19/18 x 18/17 x 17/16 = 5/4. 5/4 x 16/15 = 4/3"},pentatetra3:{frequencies:[261.6255653006,290.69507255622,307.79478270659,327.03195662575,348.83408706747,392.4383479509,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"Penta-tetrachord 20/19 x 19/18 x 18/17 x 17/16 = 5/4. 5/4 x 16/15 = 4/3"},pentatriad:{frequencies:[261.6255653006,290.69507255622,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"4:5:6 Pentatriadic scale"},pentatriad1:{frequencies:[261.6255653006,290.69507255622,294.32876096318,327.03195662575,348.83408706747,387.59343007496,392.4383479509,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"3:5:9 Pentatriadic scale"},pepper:{frequencies:[261.6255653006,274.70684356563,290.69507255622,294.32876096318,305.22982618403,327.03195662575,343.38355445704,348.83408706747,367.91095120397,392.4383479509,406.97310157871,436.04260883433,441.49314144476,457.84473927605,465.11211608996,490.54793493862,515.07533168556,523.2511306012],description:"Keenan Pepper's 17-tone jazz tuning, TL 07-06-2000"},pepper2:{frequencies:[261.6255653006,281.81099471089,295.05751399041,308.92668738628,332.76158224462,348.40303271111,375.28368107222,392.9238840789,423.23948674937,443.13385158124,463.96335069158,499.75992392917,523.2511306012],description:`Keenan Pepper's "Noble Fifth" with chromatic/diatonic semitone = Phi (12)`},peprmint:{frequencies:[261.6255653006,270.64528749638,281.81099405977,291.52662269553,295.0575145017,305.22982618403,308.92668738628,319.57714845986,332.76158147578,344.23376699744,348.40303331485,360.41446869983,375.28368085545,388.22184514393,392.92388339801,406.47020562703,423.23948723831,437.83096109824,443.13385158124,458.41119713782,463.9633498876,479.95880678291,499.75992479518,516.98949333115,523.2511306012],description:"Peppermint 24: Wilson/Pepper apotome/limma=Phi, 2 chains spaced for pure 7:6"},"perkis-indian":{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,303.82323712328,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.01393146398,369.99442271164,377.90359432309,388.70083987518,400.13321751856,412.18367363396,425.14154361347,438.99882991118,453.48431318771,469.12170329763,485.27322596079,503.87145909745,523.2511306012],description:"Indian 22 Perkis"},"perrett-tt":{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,412.06026534844,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,515.07533168556,523.2511306012],description:"Perrett Tierce-Tone"},perrett:{frequencies:[261.6255653006,274.70684356563,279.06726965397,348.83408706747,392.4383479509,412.06026534844,418.60090448096,523.2511306012],description:"Perrett / Tartini / Pachymeres Enharmonic"},perrett_14:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,343.38355445704,348.83408706747,366.27579142084,392.4383479509,412.06026534844,436.04260883433,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"Perrett's 14-tone system (subscale of tierce-tone)"},perrett_chrom:{frequencies:[261.6255653006,274.70684356563,294.32876096318,348.83408706747,392.4383479509,412.06026534844,441.49314144476,523.2511306012],description:"Perrett's Chromatic"},perry:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Robin Perry, Tuning List 22-9-'98"},perry2:{frequencies:[261.6255653006,274.70684356563,290.69507255622,305.22982618403,327.03195662575,348.83408706747,373.75080757229,392.4383479509,415.27867508032,436.04260883433,457.84473927605,498.33441009638,523.2511306012],description:"Robin Perry, 7-limit scale, TL 22-10-2006"},perry3:{frequencies:[261.6255653006,277.97716313189,294.32876096318,307.79478270659,327.03195662575,348.83408706747,369.35373924791,370.63621750918,392.4383479509,418.60090448096,444.76346101102,465.11211608996,492.47165233054,523.2511306012],description:"Robin Perry, symmetrical 3,5,17 scale, TL 22-10-2006"},"persian-far":{frequencies:[261.6255653006,275.58617649731,282.84340331238,294.51413096332,310.22971009486,318.39923223688,331.53706992441,349.22823143301,362.58942698662,376.46181130035,391.99543598175,412.91271853531,423.78627283082,441.27260666252,464.81937009253,477.05982293263,496.7443381147,523.2511306012],description:"Hormoz Farhat, average of observed Persian tar and sehtar tunings (1966)"},"persian-vaz":{frequencies:[261.6255653006,277.18263097687,285.30470202322,293.66476791741,311.12698372208,320.24370022528,329.62755691287,349.22823143301,359.46139971304,380.8360868427,391.99543598175,415.30469757995,427.47405410759,440,466.16376151809,479.82340237272,493.88330125613,523.2511306012],description:"Vaziri's Persian tuning, using quartertones"},persian:{frequencies:[261.6255653006,275.62199471997,282.55561052465,294.32876096318,310.07474405997,317.87506184023,331.11985608357,348.83408706747,363.36884069528,376.74081403286,392.4383479509,413.43299207996,423.83341578697,441.49314144476,465.11211608996,476.81259276034,496.67978412536,523.2511306012],description:"Persian Tar Scale, from Dariush Anooshfar, Internet Tuning List 2/10/94"},persian2:{frequencies:[261.6255653006,275.62199471997,288.32205155576,294.32876096318,310.07474405997,321.08592105074,331.11985608357,348.83408706747,367.49599295996,384.42940207435,392.4383479509,413.43299207996,428.11456140098,441.49314144476,465.11211608996,489.99465727995,512.57253609913,523.2511306012],description:"Traditional Persian scale, from Mark Rankin"},phi1_13:{frequencies:[261.6255653006,272.27874348295,293.41755524936,305.36527715608,329.07281683115,342.47239171077,356.41758627629,384.088434771,399.72820043646,416.00480451705,448.3020273708,466.55651779723,502.7784067407,523.2511306012],description:"Pythagorean scale with (Phi + 1) / 2 as fifth"},phi_10:{frequencies:[261.6255653006,277.06593756944,293.41755524936,323.38703872151,342.47239171077,362.68389667063,399.72820043646,423.31898451752,448.3020273708,494.09131284284,523.2511306012],description:"Pythagorean scale with Phi as fifth"},phi_12:{frequencies:[261.6255653006,280.653851324,301.06608340242,314.41721066027,337.28508524374,352.24238645938,377.86132347501,405.34355110824,423.31898451752,454.10739278061,474.24531572837,508.73764640933,531.29821178855],description:"Non-Octave Pythagorean scale with Phi as fourth. Jacky Ligon TL 12-04-2001"},phi_13:{frequencies:[261.6255653006,277.06593756944,293.41755524936,305.36527715608,323.38703872151,342.47239171077,362.68389667063,377.45230514615,399.72820043646,423.31898451752,448.3020273708,466.55651779723,494.09131284284,523.2511306012],description:"Pythagorean scale with Phi as fifth"},phi_13a:{frequencies:[261.6255653006,280.653851324,293.09977429907,314.41721066027,328.36040925687,352.24238645938,377.86132347501,394.61802538749,423.31898451752,442.09155952525,474.24531572837,508.73764640933,531.29821178855,569.94005600595],description:"Non-Octave Pythagorean scale with Phi as fifth, Jacky Ligon TL 12-04-2001"},phi_13b:{frequencies:[261.6255653006,277.56939878091,287.90530191745,305.45065986668,316.82478268872,336.13253486432,356.61692887617,369.89633953852,392.4383479509,407.05164722964,431.8579526603,458.17598957099,475.23717379553,504.19880204444],description:"Non-Octave Pythagorean scale with 12 3/2s, Jacky Ligon, TL 12-04-2001"},phi_17:{frequencies:[261.6255653006,276.86436108535,292.99059544936,310.05629713556,328.11582814217,347.22745468775,367.4522682176,388.8548834608,411.50435256812,435.47307590797,460.83762934409,487.67984759381,516.08523529366,546.14543793146,577.9565447239,611.62018657326,647.24497389216,684.94478342154],description:"Phi + 1 equal division by 17, Brouncker (1653)"},phi_7b:{frequencies:[261.6255653006,277.06593756944,299.7954575021,323.38703872151,342.47239171077,369.42210382256,399.72820043646,423.31898451752],description:"Heinz Bohlen's Pythagorean scale with Phi as fifth (1999)"},phi_7be:{frequencies:[261.6255653006,277.18263097687,299.37379946195,323.3415889232,342.56848033562,369.99442271164,399.61607881612,423.37848741825],description:"36-tET approximation of phi_7b"},phi_8:{frequencies:[261.6255653006,280.010356995,292.01318753119,312.53354015396,325.93049860793,348.83408706747,373.34714284662,389.35091690288,416.71138708025],description:"Non-Octave Pythagorean scale with 4/3s, Jacky Ligon, TL 12-04-2001"},phi_8a:{frequencies:[261.6255653006,275.77662731691,284.90271245142,300.31281179658,310.2506767011,327.03195662575,344.72084112096,356.12824371673,375.39107678967],description:"Non-Octave Pythagorean scale with 5/4s, Jacky Ligon, TL 12-04-2001"},phillips_19:{frequencies:[261.6255653006,274.63272075836,286.12988535196,293.66476791741,305.42895910556,326.59518553839,329.62755691287,342.83241505062,349.22823143301,366.5907009274,384.81637482457,391.99543598175,407.69874723177,428.71043212875,440,457.62637091093,489.33987776603,493.88330125613,513.66823365307,523.2511306012],description:"Pauline Phillips, organ manual scale, TL 7-10-2002"},phillips_19a:{frequencies:[261.6255653006,274.58143914872,285.65749968142,293.61100773131,305.45468261618,326.62388782443,329.50688232588,342.79852229325,349.26020182051,366.55580177366,381.34192228364,391.95955371998,407.7704102616,427.96347506501,439.87918162894,457.62301915088,489.33808574423,493.65730140218,509.07699553894,523.2511306012],description:"Adaptation by Gene Ward Smith with more consonant chords, TL 25-10-2002"},phillips_22:{frequencies:[261.6255653006,275.93321340298,286.15296204753,294.32876096318,305.5744765615,306.59245933664,327.03195662575,331.11985608357,343.38355445704,349.22797321314,367.91095120397,392.4383479509,407.76797091773,408.78994578219,416.96574469783,429.2294430713,441.49314144476,457.84473927605,459.88868900496,490.54793493862,496.67978412536,515.07533168556,523.2511306012],description:"All-key 19-limit JI scale (2002), TL 21-10-2002"},phillips_ji:{frequencies:[261.6255653006,275.93321340298,286.15296204753,294.32876096318,305.5744765615,306.59245933664,327.03195662575,331.11985608357,349.22797321314,367.91095120397,386.30649876417,392.4383479509,407.76797091773,408.78994578219,429.2294430713,441.49314144476,457.84473927605,459.88868900496,490.54793493862,496.67978412536,515.07533168556,523.2511306012],description:'Pauline Phillips, JI 0 #/b "C" scale (2002), TL 8-10-2002'},phryg_chromcon2:{frequencies:[261.6255653006,283.42769574232,294.32876096318,305.22982618403,392.4383479509,414.24047839262,436.04260883433,523.2511306012],description:"Harmonic Conjunct Chromatic Phrygian"},phryg_chromconi:{frequencies:[261.6255653006,283.42769574232,348.83408706747,370.63621750918,392.4383479509,479.64686971777,501.44900015948,523.2511306012],description:"Inverted Conjunct Chromatic Phrygian"},phryg_chrominv:{frequencies:[261.6255653006,272.52663052146,283.42769574232,348.83408706747,392.4383479509,414.24047839262,436.04260883433,523.2511306012],description:"Inverted Schlesinger's Chromatic Phrygian"},phryg_chromt:{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,324.77656382143,336.37572681506,362.25078272391,392.4383479509,409.50088481833,418.60090448096,428.11456140098,470.92601754108,523.2511306012,554.03060887186,588.65752192635,627.90135672144,649.55312764287,672.75145363011,724.50156544782,784.8766959018,819.00176963666,837.20180896192,856.22912280196,941.85203508216,1046.5022612024],description:"Phrygian Chromatic Tonos"},phryg_diat:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,369.35373924791,392.4383479509,448.50096908674,483.00104363188,523.2511306012],description:"Schlesinger's Phrygian Harmonia, a subharmonic series through 13 from 24"},phryg_diatcon:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,369.35373924791,448.50096908674,483.00104363188,523.2511306012],description:"A Phrygian Diatonic with its own trite synemmenon replacing paramese"},phryg_diatinv:{frequencies:[261.6255653006,283.42769574232,305.22982618403,370.63621750918,392.4383479509,436.04260883433,479.64686971777,523.2511306012],description:"Inverted Conjunct Phrygian Harmonia with 17, the local Trite Synemmenon"},phryg_diatsinv:{frequencies:[261.6255653006,283.42769574232,305.22982618403,348.83408706747,370.63621750918,392.4383479509,436.04260883433,479.64686971777,523.2511306012],description:"Inverted Schlesinger's Phrygian Harmonia, a harmonic series from 12 from 24"},phryg_enh:{frequencies:[261.6255653006,267.19206668997,273.00058987889,348.83408706747,392.4383479509,405.0976494977,418.60090448096,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the enharmonic genus"},phryg_enhcon:{frequencies:[261.6255653006,283.42769574232,288.87822835275,294.32876096318,392.4383479509,403.33941317176,414.24047839262,523.2511306012],description:"Harmonic Conjunct Enharmonic Phrygian"},phryg_enhinv:{frequencies:[261.6255653006,327.03195662575,337.93302184661,348.83408706747,392.4383479509,501.44900015948,512.35006538034,523.2511306012],description:"Inverted Schlesinger's Enharmonic Phrygian Harmonia"},phryg_enhinv2:{frequencies:[261.6255653006,267.07609791103,272.52663052146,348.83408706747,392.4383479509,403.33941317176,414.24047839262,523.2511306012],description:"Inverted harmonic form of Schlesinger's Enharmonic Phrygian"},phryg_penta:{frequencies:[261.6255653006,270.64713651786,285.40970760065,348.83408706747,392.4383479509,413.09299784305,448.50096908674,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the pentachromatic genus"},phryg_pis:{frequencies:[261.6255653006,294.32876096318,336.37572681506,362.25078272391,392.4383479509,428.11456140098,470.92601754108,523.2511306012,554.03060887186,588.65752192635,672.75145363011,724.50156544782,784.8766959018,856.22912280196,941.85203508216,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Phrygian Tonos"},phryg_tri1:{frequencies:[261.6255653006,273.00058987889,285.40970760065,348.83408706747,392.4383479509,418.60090448096,448.50096908674,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the chromatic genus"},phryg_tri1inv:{frequencies:[261.6255653006,305.22982618403,327.03195662575,348.83408706747,392.4383479509,479.64686971777,501.44900015948,523.2511306012],description:"Inverted Schlesinger's Chromatic Phrygian Harmonia"},phryg_tri2:{frequencies:[261.6255653006,269.10058145205,285.40970760065,348.83408706747,392.4383479509,409.50088481833,448.50096908674,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the second trichromatic genus"},phryg_tri3:{frequencies:[261.6255653006,269.10058145205,277.01530443593,348.83408706747,392.4383479509,409.50088481833,428.11456140098,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the first trichromatic genus"},phrygian:{frequencies:[261.6255653006,290.69507255622,313.95067836072,327.03195662575,348.83408706747,353.19451315581,387.59343007496,392.4383479509,418.60090448096,436.04260883433,465.11211608996,470.92601754108,523.2511306012],description:"Old Phrygian ??"},phrygian_diat:{frequencies:[261.6255653006,277.01530443593,294.32876096318,336.37572681506,348.83408706747,362.25078272391,376.74081403286,392.4383479509,428.11456140098,448.50096908674,470.92601754108,495.71159741166,523.2511306012,554.03060887186,588.65752192635,672.75145363011,697.66817413493,724.50156544782,753.48162806573,784.8766959018,856.22912280196,897.00193817349,941.85203508216,991.42319482333,1046.5022612024],description:"Phrygian Diatonic Tonos"},phrygian_enh:{frequencies:[261.6255653006,277.01530443593,294.32876096318,303.82323712328,308.80394592858,313.95067836072,348.83408706747,392.4383479509,400.78810003496,405.0976494977,409.50088481833,459.44001711325,523.2511306012],description:"Phrygian Enharmonic Tonos"},phrygian_harm:{frequencies:[261.6255653006,273.00058987889,285.40970760065,299.00064605783,313.95067836072,330.47439827444,348.83408706747,369.35373924791,392.4383479509,418.60090448096,448.50096908674,483.00104363188,523.2511306012],description:"Phrygian Harmonia-Aliquot 24 (flute tuning)"},piano:{frequencies:[261.6255653006,275.93321340298,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,348.83408706747,367.91095120397,372.08969287196,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,465.11211608996,490.54793493862,515.07533168556,523.2511306012],description:"Enhanced Piano Total Gamut, see 1/1 vol. 8/2 January 1994"},piano7:{frequencies:[261.6255653006,275.93321340298,294.32876096318,305.22982618403,327.03195662575,348.83408706747,367.91095120397,392.4383479509,406.97310157871,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Enhanced piano 7-limit"},pipedum_10:{frequencies:[261.6255653006,279.06726965397,306.59245933664,327.03195662575,348.83408706747,372.08969287196,396.89567239676,431.14564594215,459.88868900496,490.54793493862,523.2511306012],description:"2048/2025 and 34171875/33554432 are homophonic intervals"},pipedum_10a:{frequencies:[261.6255653006,279.06726965397,294.32876096318,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,465.11211608996,490.54793493862,523.2511306012],description:"2048/2025 and 25/24, Manuel Op de Coul, 2001"},pipedum_10b:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,348.83408706747,367.91095120397,392.4383479509,418.60090448096,446.50763144636,490.54793493862,523.2511306012],description:"225/224, 64/63 and 25/24 are homophonic intervals"},pipedum_10c:{frequencies:[261.6255653006,280.31310567921,305.22982618403,327.03195662575,348.83408706747,373.75080757229,392.4383479509,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"225/224, 64/63 and 49/48 are homophonic intervals"},pipedum_10d:{frequencies:[261.6255653006,279.06726965397,299.00064605783,318.93402246168,343.38355445704,372.08969287196,392.4383479509,425.24536328225,448.50096908674,488.36772189445,523.2511306012],description:"1029/1024, 2048/2025 and 64/63 are homophonic intervals"},pipedum_10e:{frequencies:[261.6255653006,286.15296204753,305.22982618403,327.03195662575,348.83408706747,367.91095120397,406.97310157871,429.2294430713,465.11211608996,490.54793493862,523.2511306012],description:"2048/2025, 64/63 and 49/48 are homophonic intervals"},pipedum_10f:{frequencies:[261.6255653006,280.31310567921,294.32876096318,327.03195662575,348.83408706747,373.75080757229,392.4383479509,420.46965851882,465.11211608996,490.54793493862,523.2511306012],description:"225/224, 64/63 and 28/27 are homophonic intervals"},pipedum_10g:{frequencies:[261.6255653006,280.31310567921,299.00064605783,325.57848126297,348.83408706747,372.08969287196,398.6675280771,425.24536328225,457.84473927605,490.54793493862,523.2511306012],description:"225/224, 1029/1024 and 2048/2025 are homophonic intervals"},pipedum_10h:{frequencies:[261.6255653006,286.15296204753,305.22982618403,327.03195662575,348.83408706747,373.75080757229,400.61414686654,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"225/224, 1029/1024 and 64/63 are homophonic intervals"},pipedum_10i:{frequencies:[261.6255653006,279.06726965397,294.32876096318,321.92208230347,343.38355445704,367.91095120397,392.4383479509,418.60090448096,457.84473927605,488.36772189445,523.2511306012],description:"225/224, 2048/2025 and 49/48 are homophonic intervals"},pipedum_10j:{frequencies:[261.6255653006,269.10058145205,305.22982618403,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,457.84473927605,488.36772189445,523.2511306012],description:"25/24, 28/27 and 49/48, Gene Ward Smith, 2002"},pipedum_10k:{frequencies:[261.6255653006,280.31310567921,299.00064605783,320.49131749323,343.38355445704,367.91095120397,394.1903048614,420.46965851882,455.80987376816,488.36772189445,523.2511306012],description:"2048/2025, 225/224 and 2401/2400"},pipedum_11:{frequencies:[261.6255653006,272.52663052146,282.55561052465,313.95067836072,327.03195662575,363.36884069528,376.74081403286,392.4383479509,436.04260883433,454.2110508691,470.92601754108,523.2511306012],description:"16/15 and 15625/15552 are homophonic intervals"},pipedum_11a:{frequencies:[261.6255653006,269.10058145205,305.22982618403,313.95067836072,322.92069774245,366.27579142084,376.74081403286,381.53728273004,436.04260883433,448.50096908674,508.71637697339,523.2511306012],description:"126/125, 1728/1715 and 10/9, Gene Ward Smith, 2002"},pipedum_12:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"81/80 and 2048/2025 are homophonic intervals"},pipedum_12a:{frequencies:[261.6255653006,279.06726965397,297.67175429757,306.59245933664,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"81/80 and 2048/2025 are homophonic intervals"},pipedum_12b:{frequencies:[261.6255653006,274.70684356563,299.00064605783,313.95067836072,320.49131749323,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,488.36772189445,523.2511306012],description:"64/63, 50/49 comma and 36/35 chroma"},pipedum_12c:{frequencies:[261.6255653006,280.31310567921,294.32876096318,315.35224388912,327.03195662575,348.83408706747,367.91095120397,392.4383479509,420.46965851882,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"225/224, 64/63 and 36/35 are homophonic intervals"},pipedum_12d:{frequencies:[261.6255653006,280.31310567921,293.02063313667,313.95067836072,327.03195662575,350.39138209902,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"50/49, 128/125 and 225/224 are homophonic intervals"},pipedum_12e:{frequencies:[261.6255653006,280.31310567921,293.02063313667,313.95067836072,327.03195662575,350.39138209902,373.75080757229,392.4383479509,418.60090448096,439.53094970501,467.18850946536,500.55911728431,523.2511306012],description:"50/49, 225/224 and 3136/3125 are homophonic intervals"},pipedum_12f:{frequencies:[261.6255653006,273.74326726486,293.02063313667,313.95067836072,327.03195662575,350.39138209902,366.27579142084,392.4383479509,408.78994578219,437.98922762377,468.83301301868,490.54793493862,523.2511306012],description:"128/125, 3136/3125 and 703125/702464 are homophonic intervals"},pipedum_12g:{frequencies:[261.6255653006,279.06726965397,286.15296204753,306.59245933664,327.03195662575,348.83408706747,366.27579142084,390.69417751556,408.78994578219,437.98922762377,457.84473927605,488.36772189445,523.2511306012],description:"50/49, 225/224 and 28672/28125 are homophonic intervals"},pipedum_12h:{frequencies:[261.6255653006,275.93321340298,291.02331101095,310.42486507835,330.74639366397,348.83408706747,367.91095120397,392.4383479509,413.89982010446,436.53496651643,465.11211608996,496.11959049595,523.2511306012],description:"2048/2025 and 67108864/66430125, Gene Ward Smith, 2004"},pipedum_12i:{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,336.37572681506,348.83408706747,378.42269266694,392.4383479509,406.97310157871,441.49314144476,465.11211608996,504.56359022259,523.2511306012],description:"64/63 and 6561/6272, Gene Ward Smith, 2004"},pipedum_12j:{frequencies:[261.6255653006,283.8170195002,285.83021674664,310.07474405997,336.37572681506,348.83408706747,378.42269266694,392.4383479509,413.43299207996,448.50096908674,465.11211608996,504.56359022259,523.2511306012],description:"6561/6272 and 59049/57344"},pipedum_12k:{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,336.37572681506,348.83408706747,356.10146388137,392.4383479509,406.97310157871,448.50096908674,457.84473927605,474.80195184183,523.2511306012],description:"64/63 and 729/686, Gene Ward Smith, 2004"},pipedum_12l:{frequencies:[261.6255653006,276.16031892841,294.32876096318,310.68035879446,331.39238271409,348.83408706747,368.21375857121,392.4383479509,414.24047839262,441.49314144476,465.11211608996,497.08857407114,523.2511306012],description:"81/80, 361/360 and 513/512, Gene Ward Smith"},pipedum_13:{frequencies:[261.6255653006,276.76092858245,287.78812183066,309.14739649778,327.03195662575,345.95116072807,359.73515228832,380.54627680087,408.78994578219,418.60090448096,449.66894036041,475.68284600109,494.63583439645,523.2511306012],description:"33275/32768 and 163840/161051 are homophonic intervals. Op de Coul, 2001"},pipedum_13a:{frequencies:[261.6255653006,266.96486255163,293.02063313667,299.00064605783,327.03195662575,334.88072358477,366.27579142084,373.75080757229,408.78994578219,418.60090448096,457.84473927605,467.18850946536,512.78610798918,523.2511306012],description:"15/14, 3136/3125, 2401/2400, Gene Ward Smith, 2002"},pipedum_13b:{frequencies:[261.6255653006,267.90457886781,293.02063313667,299.00064605783,327.03195662575,334.88072358477,366.27579142084,373.75080757229,408.78994578219,418.60090448096,457.84473927605,467.18850946536,510.98743222773,523.2511306012],description:"15/14, 3136/3125, 6144/6125, Gene Ward Smith, 2002"},pipedum_13bp:{frequencies:[261.6255653006,282.55561052465,305.16005936662,336.45263027341,363.36884069528,392.4383479509,436.04260883433,470.92601754108,508.60009894437,545.05326104292,605.61473449213,654.0639132515,706.38902631162,784.8766959018],description:"78732/78125 and 250/243, twelfth based, Manuel Op de Coul, 2003"},pipedum_13bp2:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,376.74081403286,392.4383479509,436.04260883433,470.92601754108,523.2511306012,565.1112210493,627.90135672144,678.13346525916,726.73768139056,784.8766959018],description:"250/243 and 648/625, twelfth based, Manuel Op de Coul, 2003"},pipedum_13c:{frequencies:[261.6255653006,267.07609791103,293.02063313667,299.00064605783,327.03195662575,334.88072358477,366.27579142084,373.75080757229,408.78994578219,418.60090448096,457.84473927605,467.18850946536,512.57253609913,523.2511306012],description:"15/14, 2401/2400, 6144/6125, Gene Ward Smith, 2002"},pipedum_13d:{frequencies:[261.6255653006,281.04308772525,287.78812183066,309.14739649778,327.03195662575,334.88072358477,359.73515228832,380.54627680087,408.78994578219,418.60090448096,449.66894036041,475.68284600109,494.63583439645,523.2511306012],description:"125/121 and 33275/32768, Joe Monzo, 2003"},pipedum_13e:{frequencies:[261.6255653006,276.76092858245,287.78812183066,304.4370214407,327.03195662575,334.88072358477,359.73515228832,380.54627680087,408.78994578219,418.60090448096,449.66894036041,475.68284600109,494.63583439645,523.2511306012],description:"33275/32768 and 163840/161051, Manuel Op de Coul, 2004"},pipedum_14:{frequencies:[261.6255653006,274.70684356563,284.76252005507,305.22982618403,320.49131749323,336.37572681506,348.83408706747,373.90653707544,392.4383479509,406.97310157871,427.14378008261,448.50096908674,480.73697623985,498.33441009638,523.2511306012],description:"81/80, 49/48 and 2401/2400, Paul Erlich, TL 17-1-2001"},pipedum_14a:{frequencies:[261.6255653006,274.70684356563,284.8811711051,305.22982618403,320.35783506196,336.37572681506,348.83408706747,366.27579142084,392.4383479509,406.97310157871,427.32175665765,448.50096908674,480.53675259294,498.33441009638,523.2511306012],description:"81/80, 50/49 and 2401/2400, Paul Erlich, 2001"},pipedum_14b:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,313.95067836072,339.14425131559,353.19451315581,366.27579142084,392.4383479509,406.97310157871,418.60090448096,457.84473927605,470.92601754108,508.71637697339,523.2511306012],description:"245/243, 81/80 comma and 25/24 chroma"},pipedum_14c:{frequencies:[261.6255653006,280.31310567921,282.55561052465,305.22982618403,327.03195662575,336.37572681506,363.36884069528,366.27579142084,392.4383479509,403.65087217807,436.04260883433,467.18850946536,470.92601754108,508.71637697339,523.2511306012],description:"245/243, 50/49 comma and 25/24 chroma"},pipedum_15:{frequencies:[261.6255653006,272.52663052146,290.69507255622,301.39265122629,313.95067836072,327.03195662575,348.83408706747,363.36884069528,376.74081403286,392.4383479509,418.60090448096,436.04260883433,454.2110508691,470.92601754108,502.32108537715,523.2511306012],description:"126/125, 128/125 and 875/864, 5-limit, Paul Erlich, 2001"},pipedum_15a:{frequencies:[261.6255653006,274.70684356563,290.69507255622,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,381.53728273004,392.4383479509,418.60090448096,436.04260883433,457.84473927605,488.36772189445,502.32108537715,523.2511306012],description:"Septimal version of pipedum_15, Manuel Op de Coul, 2001"},pipedum_15b:{frequencies:[261.6255653006,274.70684356563,286.15296204753,299.00064605783,311.45900631024,327.03195662575,343.38355445704,357.69120255941,382.72082695402,398.6675280771,418.60090448096,439.53094970501,457.84473927605,478.40103369253,498.33441009638,523.2511306012],description:"126/125, 128/125 and 1029/1024, Paul Erlich, 2001"},pipedum_15c:{frequencies:[261.6255653006,274.70684356563,284.76252005507,299.00064605783,313.95067836072,327.03195662575,341.71502406609,358.80077526939,381.53728273004,400.61414686654,418.60090448096,436.04260883433,457.84473927605,480.73697623985,498.33441009638,523.2511306012],description:"49/48, 126/125 and 1029/1024, Paul Erlich, 2001"},pipedum_15d:{frequencies:[261.6255653006,274.70684356563,286.15296204753,299.00064605783,313.95067836072,327.03195662575,343.38355445704,360.55273217989,379.68336007343,398.6675280771,418.60090448096,436.04260883433,457.84473927605,478.40103369253,498.33441009638,523.2511306012],description:"64/63, 126/125 and 1029/1024, Paul Erlich, 2001"},pipedum_15e:{frequencies:[261.6255653006,273.37201925287,286.15296204753,299.00064605783,313.95067836072,332.22294006425,343.38355445704,358.80077526939,381.53728273004,398.6675280771,412.06026534844,436.04260883433,457.84473927605,478.40103369253,500.76768358318,523.2511306012],description:"64/63, 875/864 and 1029/1024, Paul Erlich, 2001"},pipedum_15f:{frequencies:[261.6255653006,274.70684356563,290.69507255622,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,387.59343007496,392.4383479509,418.60090448096,436.04260883433,465.11211608996,488.36772189445,490.54793493862,523.2511306012],description:"126/125, 64/63 comma and 28/27 chroma"},pipedum_15g:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,376.74081403286,392.4383479509,418.60090448096,436.04260883433,465.11211608996,470.92601754108,502.32108537715,523.2511306012],description:"128/125 and 250/243"},pipedum_16:{frequencies:[261.6255653006,274.70684356563,286.15296204753,299.00064605783,313.95067836072,327.03195662575,343.38355445704,355.95315006884,373.75080757229,384.58958099188,400.61414686654,418.60090448096,439.53094970501,457.84473927605,480.73697623985,498.33441009638,523.2511306012],description:"50/49, 126/125 and 1029/1024, Paul Erlich, 2001"},pipedum_16a:{frequencies:[261.6255653006,272.52663052146,283.88190679319,301.39265122629,313.95067836072,327.03195662575,340.65828815182,354.85238349148,363.36884069528,385.78259356965,401.85686830172,418.60090448096,436.04260883433,454.2110508691,482.22824196207,502.32108537715,523.2511306012],description:"3125/3072 and 1990656/1953125, OdC 2004"},pipedum_17:{frequencies:[261.6255653006,269.10058145205,286.15296204753,294.32876096318,305.22982618403,318.93402246168,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,429.2294430713,448.50096908674,465.11211608996,478.40103369253,508.71637697339,523.2511306012],description:"245/243, 64/63 and 525/512, Paul Erlich, 2001"},pipedum_17a:{frequencies:[261.6255653006,271.31540105247,286.15296204753,296.75121990114,305.22982618403,318.93402246168,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,429.2294430713,448.50096908674,461.31528248922,478.40103369253,504.56359022259,523.2511306012],description:"245/243, 525/512 and 1728/1715, Paul Erlich, 2001"},pipedum_17b:{frequencies:[261.6255653006,264.89588486686,286.15296204753,294.32876096318,305.22982618403,327.03195662575,339.14425131559,343.38355445704,367.91095120397,381.53728273004,392.4383479509,406.97310157871,436.04260883433,441.49314144476,457.84473927605,490.54793493862,508.71637697339,523.2511306012],description:"245/243, 64/63 comma and 25/24 chroma"},pipedum_17c:{frequencies:[261.6255653006,273.6806973752,285.83021674664,299.00064605783,310.07474405997,321.55899383997,336.37572681506,348.83408706747,364.90759650026,378.42269266694,392.4383479509,413.43299207996,428.74532511996,448.50096908674,465.11211608996,486.54346200035,504.56359022259,523.2511306012],description:"1605632/1594323 and 177147/175616, Manuel Op de Coul, 2002"},pipedum_17d:{frequencies:[261.6255653006,274.08392555301,284.23518205497,299.00064605783,308.34441624714,319.76457981184,336.37572681506,348.83408706747,365.44523407068,373.05867644715,392.4383479509,411.12588832951,426.35277308246,448.50096908674,465.11211608996,479.64686971777,504.56359022259,523.2511306012],description:"243/242, 99/98 and 64/63, Manuel Op de Coul, 2002"},pipedum_17e:{frequencies:[261.6255653006,271.31540105247,286.15296204753,296.75121990114,310.07474405997,321.92208230347,336.37572681506,348.83408706747,362.16234259141,378.42269266694,395.66829320152,413.43299207996,429.2294430713,445.12682985172,465.11211608996,482.88312345521,504.56359022259,523.2511306012],description:"245/243, 1728/1715 and 32805/32768, Manuel Op de Coul, 2003"},pipedum_17f:{frequencies:[261.6255653006,269.80136421624,285.40970760065,294.32876096318,310.07474405997,319.76457981184,331.11985608357,348.83408706747,359.73515228832,380.54627680087,392.4383479509,413.43299207996,428.11456140098,441.49314144476,465.11211608996,479.64686971777,507.3950357345,523.2511306012],description:"243/242 and 8192/8019, Manuel Op de Coul"},pipedum_17g:{frequencies:[261.6255653006,274.08392555301,285.40970760065,299.00064605783,305.22982618403,319.76457981184,336.37572681506,348.83408706747,359.73515228832,380.54627680087,392.4383479509,406.97310157871,428.11456140098,448.50096908674,457.84473927605,479.64686971777,499.46698830115,523.2511306012],description:"243/242, 896/891 and 99/98, Manuel Op de Coul"},pipedum_18:{frequencies:[261.6255653006,272.52663052146,280.31310567921,296.75121990114,305.22982618403,317.94773560837,327.03195662575,340.65828815182,350.39138209902,379.84156147346,390.69417751556,406.97310157871,418.60090448096,436.04260883433,448.50096908674,474.80195184183,488.36772189445,508.71637697339,523.2511306012],description:"875/864, 686/675 and 128/125, Paul Erlich, 2001"},pipedum_18a:{frequencies:[261.6255653006,269.10058145205,280.31310567921,293.02063313667,305.22982618403,313.95067836072,327.03195662575,341.85740532612,356.10146388137,366.27579142084,384.42940207435,400.44729382745,418.60090448096,436.04260883433,448.50096908674,467.18850946536,488.36772189445,508.71637697339,523.2511306012],description:"875/864, 686/675 and 50/49, Paul Erlich, 2001"},pipedum_18b:{frequencies:[261.6255653006,272.52663052146,280.31310567921,296.75121990114,305.22982618403,317.94773560837,327.03195662575,346.20975655133,356.10146388137,373.75080757229,384.42940207435,400.44729382745,418.60090448096,436.04260883433,448.50096908674,467.18850946536,488.36772189445,508.71637697339,523.2511306012],description:"1728/1715, 875/864 and 686/675, Paul Erlich, 2001"},pipedum_19:{frequencies:[261.6255653006,272.52663052146,282.55561052465,290.69507255622,301.39265122629,313.95067836072,327.03195662575,339.06673262958,348.83408706747,363.36884069528,376.74081403286,392.4383479509,401.85686830172,418.60090448096,436.04260883433,452.08897683944,470.92601754108,484.4917875937,502.32108537715,523.2511306012],description:"81/80 and 15625/15552 are homophonic intervals, inverse of Mandelbaum"},pipedum_19a:{frequencies:[261.6255653006,271.25338610366,282.55561052465,294.32876096318,301.39265122629,313.95067836072,327.03195662575,339.06673262958,353.19451315581,361.67118147155,376.74081403286,392.4383479509,408.78994578219,416.64520105522,434.00541776586,452.08897683944,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"3125/3072 and 15625/15552 are homophonic intervals"},pipedum_19b:{frequencies:[261.6255653006,272.52663052146,282.55561052465,290.69507255622,302.80736724606,313.95067836072,327.03195662575,339.06673262958,348.83408706747,363.36884069528,376.74081403286,392.4383479509,403.74315632809,418.60090448096,436.04260883433,452.08897683944,470.92601754108,484.4917875937,502.32108537715,523.2511306012],description:"15625/15552 and 78732/78125, Paul Erlich, TL 19-2-2001"},pipedum_19c:{frequencies:[261.6255653006,269.10058145205,280.31310567921,290.69507255622,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,376.74081403286,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,470.92601754108,488.36772189445,508.71637697339,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19d:{frequencies:[261.6255653006,271.31540105247,280.31310567921,290.69507255622,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,376.74081403286,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,470.92601754108,488.36772189445,504.56359022259,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19e:{frequencies:[261.6255653006,269.10058145205,280.31310567921,287.04062021552,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,476.92160341255,488.36772189445,508.71637697339,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19f:{frequencies:[261.6255653006,269.10058145205,279.06726965397,287.04062021552,305.22982618403,315.35224388912,327.03195662575,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,418.60090448096,434.10464168396,448.50096908674,476.92160341255,490.54793493862,508.71637697339,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19g:{frequencies:[261.6255653006,269.10058145205,280.31310567921,288.32205155576,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,360.4025644447,379.84156147346,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,474.80195184183,488.36772189445,508.71637697339,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19h:{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,353.19451315581,366.27579142084,381.53728273004,392.4383479509,412.06026534844,415.27867508032,436.04260883433,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"126/125, 81/80 comma and 49/48 chroma"},pipedum_19i:{frequencies:[261.6255653006,275.93321340298,286.15296204753,294.32876096318,305.22982618403,321.92208230347,327.03195662575,343.38355445704,348.83408706747,367.91095120397,381.53728273004,392.4383479509,406.97310157871,429.2294430713,436.04260883433,457.84473927605,465.11211608996,490.54793493862,515.07533168556,523.2511306012],description:"225/224, 81/80 comma and 49/48 chroma"},pipedum_19j:{frequencies:[261.6255653006,266.96486255163,286.15296204753,293.02063313667,299.00064605783,320.49131749323,327.03195662575,333.70607818954,358.95027559242,366.27579142084,373.75080757229,381.37837507376,410.22888639134,418.60090448096,427.14378008261,457.84473927605,467.18850946536,478.40103369253,512.78610798918,523.2511306012],description:"21/20, 3136/3125 and 2401/2400, Gene Ward Smith, 2002"},pipedum_19k:{frequencies:[261.6255653006,267.90457886781,286.15296204753,293.02063313667,299.00064605783,320.49131749323,327.03195662575,334.88072358477,357.69120255941,366.27579142084,373.75080757229,382.72082695402,408.78994578219,418.60090448096,427.14378008261,457.84473927605,467.18850946536,478.40103369253,510.98743222773,523.2511306012],description:"21/20, 3136/3125 and 6144/6125, Gene Ward Smith, 2002"},pipedum_19l:{frequencies:[261.6255653006,267.07609791103,286.15296204753,293.02063313667,299.00064605783,320.49131749323,327.03195662575,333.84512238879,358.80077526939,366.27579142084,373.75080757229,381.53728273004,410.05802887931,418.60090448096,427.14378008261,457.84473927605,467.18850946536,478.40103369253,512.57253609913,523.2511306012],description:"21/20, 2401/2400 and 6144/6125, Gene Ward Smith, 2002"},pipedum_19m:{frequencies:[261.6255653006,269.10058145205,293.02063313667,299.00064605783,305.22982618403,313.95067836072,317.94773560837,348.83408706747,358.80077526939,366.27579142084,373.75080757229,406.97310157871,418.60090448096,430.56093032327,436.04260883433,448.50096908674,488.36772189445,502.32108537715,508.71637697339,523.2511306012],description:"126/125, 1728/1715 and 16/15, Gene Ward Smith, 2002"},pipedum_19n:{frequencies:[261.6255653006,267.07609791103,274.70684356563,280.31310567921,305.22982618403,313.95067836072,320.49131749323,327.03195662575,333.70607818954,366.27579142084,373.75080757229,381.53728273004,392.4383479509,427.32175665765,436.04260883433,448.50096908674,457.84473927605,467.18850946536,512.78610798918,523.2511306012],description:"126/125, 2401/2400 and 16/15, Gene Ward Smith, 2002"},pipedum_19o:{frequencies:[261.6255653006,272.52663052146,280.31310567921,290.69507255622,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,376.74081403286,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,470.92601754108,488.36772189445,502.32108537715,523.2511306012],description:"225/224, 3136/3125 and 4375/4374, OdC 2000"},pipedum_21:{frequencies:[261.6255653006,267.07609791103,280.31310567921,284.8811711051,299.00064605783,305.22982618403,320.35783506196,327.03195662575,341.85740532612,348.83408706747,366.27579142084,373.75080757229,392.4383479509,400.44729382745,418.60090448096,427.32175665765,448.50096908674,457.84473927605,480.53675259294,488.36772189445,512.57253609913,523.2511306012],description:"36/35, 225/224 and 2401/2400, P. Erlich, 2001. Just PB version of miracle1"},pipedum_21a:{frequencies:[261.6255653006,265.7783520514,286.15296204753,290.69507255622,299.00064605783,305.22982618403,327.03195662575,332.22294006425,343.38355445704,348.83408706747,373.75080757229,381.53728273004,392.4383479509,398.6675280771,429.2294430713,436.04260883433,448.50096908674,457.84473927605,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"1029/1024, 81/80 comma and 25/24 chroma"},pipedum_21b:{frequencies:[261.6255653006,267.07609791103,279.06726965397,284.8811711051,299.00064605783,305.22982618403,318.93402246168,325.57848126297,343.38355445704,348.83408706747,366.27579142084,372.08969287196,392.4383479509,398.6675280771,418.60090448096,427.32175665765,448.50096908674,457.84473927605,478.40103369253,488.36772189445,496.11959049595,523.2511306012],description:"36/35, 225/224 and 1029/1024, Gene Ward Smith, 2002"},pipedum_21c:{frequencies:[261.6255653006,269.46602871384,279.06726965397,287.4304306281,297.67175429757,306.59245933664,317.51653791741,327.03195662575,344.91651675372,348.83408706747,367.91095120397,372.08969287196,392.4383479509,396.89567239676,418.60090448096,431.14564594215,446.50763144636,459.88868900496,476.27480687611,490.54793493862,508.02646066786,523.2511306012],description:"First 128/125 and ampersand comma Fokker block"},pipedum_22:{frequencies:[261.6255653006,267.90457886781,279.06726965397,285.76488412567,299.40669857094,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,357.20610515709,365.77905168086,383.2405741708,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,457.22381460107,479.0507177135,490.54793493862,510.98743222773,523.2511306012],description:"3125/3072 and 2109375/2097152 are homophonic intervals"},pipedum_22a:{frequencies:[261.6255653006,267.90457886781,279.06726965397,287.4304306281,297.67175429757,306.59245933664,317.51653791741,327.03195662575,334.88072358477,348.83408706747,357.20610515709,372.08969287196,381.01984550089,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,459.88868900496,476.27480687611,490.54793493862,508.02646066786,523.2511306012],description:"2048/2025 and 2109375/2097152 are homophonic intervals"},pipedum_22b:{frequencies:[261.6255653006,271.31540105247,279.06726965397,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,357.69120255941,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,429.2294430713,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:'2025/2048, 245/243 and 64/63. P. Erlich "7-limit Indian", TL 19-12-2000'},pipedum_22b2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,429.2294430713,448.50096908674,465.11211608996,478.40103369253,490.54793493862,504.56359022259,523.2511306012],description:"Version of pipedum_22b with other shape, Paul Erlich"},pipedum_22c:{frequencies:[261.6255653006,267.07609791103,274.70684356563,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,498.33441009638,512.57253609913,523.2511306012],description:"1728/1715, 64/63 and 50/49, Paul Erlich, 2001"},pipedum_22d:{frequencies:[261.6255653006,269.10058145205,274.70684356563,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,333.84512238879,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,410.05802887931,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,498.33441009638,508.71637697339,523.2511306012],description:"1728/1715, 875/864 and 64/63, Paul Erlich, 2001"},pipedum_22e:{frequencies:[261.6255653006,269.10058145205,274.70684356563,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,356.10146388137,366.27579142084,384.42940207435,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,498.33441009638,508.71637697339,523.2511306012],description:"1728/1715, 245/243 and 50/49, Paul Erlich, 2001"},pipedum_22f:{frequencies:[261.6255653006,269.10058145205,276.78916949353,290.69507255622,296.75121990114,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,461.31528248922,470.92601754108,494.58536650191,508.71637697339,523.2511306012],description:"1728/1715, 245/243 and 875/864, Paul Erlich, 2001"},pipedum_22g:{frequencies:[261.6255653006,267.07609791103,279.06726965397,286.15296204753,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,478.40103369253,490.54793493862,512.57253609913,523.2511306012],description:"225/224, 1728/1715 and 64/63, Paul Erlich, 2001"},pipedum_22h:{frequencies:[261.6255653006,269.10058145205,280.31310567921,287.04062021552,296.75121990114,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,461.31528248922,476.92160341255,488.36772189445,508.71637697339,523.2511306012],description:"225/224, 1728/1715 and 875/864, Paul Erlich, 2001"},pipedum_22i:{frequencies:[261.6255653006,269.10058145205,279.06726965397,288.32205155576,296.75121990114,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,461.31528248922,474.80195184183,490.54793493862,508.71637697339,523.2511306012],description:"1728/1715, 245/243 and 245/243, Paul Erlich, 2001"},pipedum_22j:{frequencies:[261.6255653006,271.31540105247,280.31310567921,290.69507255622,299.00064605783,305.22982618403,320.35783506196,332.22294006425,336.37572681506,348.83408706747,353.19451315581,373.75080757229,387.59343007496,392.4383479509,406.97310157871,427.14378008261,436.04260883433,448.50096908674,465.11211608996,480.53675259294,498.33441009638,504.56359022259,523.2511306012],description:"50/49, 64/63 and 245/243, Gene Ward Smith, 2002"},pipedum_22k:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,334.88072358477,348.83408706747,359.73515228832,367.91095120397,380.54627680087,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"121/120, 2048/2025 and 4125/4096, Manuel Op de Coul"},pipedum_22l:{frequencies:[261.6255653006,275.62199471997,284.23518205497,290.69507255622,303.18419419197,310.07474405997,319.76457981184,330.74639366397,341.08221846597,348.83408706747,363.82103303037,372.08969287196,387.59343007496,404.24559225596,413.43299207996,426.35277308246,440.99519155196,454.77629128796,465.11211608996,485.09471070715,496.11959049595,511.62332769895,523.2511306012],description:"121/120, 736/729, 100/99 and 2048/2025"},pipedum_23:{frequencies:[261.6255653006,271.25338610366,276.85245005354,287.04062021552,297.60371503945,302.80736724606,313.95067836072,325.50406332439,332.22294006425,344.44874425862,348.83408706747,363.36884069528,376.74081403286,384.51729174103,398.6675280771,413.33849311034,420.56578784176,436.04260883433,452.08897683944,461.42075008924,478.40103369253,496.00619173241,504.67894541011,523.2511306012],description:"6144/6125, 15625/1552 and 5103/5000, Manuel Op de Coul, 2003"},pipedum_24:{frequencies:[261.6255653006,267.57160087561,275.93321340298,285.40970760065,290.69507255622,299.7792935736,310.07474405997,319.76457981184,327.03195662575,338.26335715633,348.83408706747,356.76213450082,367.91095120397,380.54627680087,392.4383479509,401.35740131342,413.43299207996,426.35277308246,436.04260883433,449.66894036041,465.11211608996,479.64686971777,490.54793493862,507.3950357345,523.2511306012],description:"121/120, 16384/16335 and 32805/32768. Manuel Op de Coul, 2001"},pipedum_24a:{frequencies:[261.6255653006,272.52663052146,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,321.92208230347,327.03195662575,343.38355445704,348.83408706747,366.27579142084,367.91095120397,381.53728273004,392.4383479509,412.06026534844,418.60090448096,429.2294430713,436.04260883433,457.84473927605,470.92601754108,488.36772189445,490.54793493862,515.07533168556,523.2511306012],description:"49/48, 81/80 and 128/125, Gene Ward Smith, 2002"},pipedum_24b:{frequencies:[261.6255653006,271.31540105247,275.62199471997,289.72987407313,294.32876096318,305.22982618403,310.07474405997,325.94610833227,331.11985608357,343.38355445704,348.83408706747,361.75386806997,372.50983809402,386.30649876417,392.4383479509,406.97310157871,413.43299207996,434.59481110969,441.49314144476,457.84473927605,465.11211608996,482.33849075995,496.67978412536,515.07533168556,523.2511306012],description:"49/48, 81/80 and 531441/524288"},pipedum_25:{frequencies:[261.6255653006,268.26840191956,274.70684356563,281.29980781121,291.99281841585,299.00064605783,306.17666156322,313.95067836072,327.03195662575,335.33550239945,343.38355445704,351.62475976401,364.99102301981,373.75080757229,382.72082695402,392.4383479509,408.78994578219,418.60090448096,429.2294430713,439.53094970501,447.89271634391,467.18850946536,478.40103369253,490.54793493862,502.32108537715,523.2511306012],description:"65625/65536, 1029/1024 and 3125/3072, Manuel Op de Coul, 2003"},pipedum_26:{frequencies:[261.6255653006,267.07609791103,274.70684356563,286.15296204753,292.89859205665,299.00064605783,305.22982618403,313.95067836072,327.03195662575,333.84512238879,341.71502406609,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,400.61414686654,410.05802887931,418.60090448096,436.04260883433,448.50096908674,457.84473927605,467.3831713443,478.40103369253,498.33441009638,512.57253609913,523.2511306012],description:"1029/1024, 1728/1715 and 50/49, Paul Erlich, 2001"},pipedum_26a:{frequencies:[261.6255653006,272.52663052146,274.70684356563,286.15296204753,294.32876096318,305.22982618403,306.59245933664,321.92208230347,325.57848126297,327.03195662575,343.38355445704,348.83408706747,366.27579142084,367.91095120397,381.53728273004,392.4383479509,408.78994578219,412.06026534844,429.2294430713,436.04260883433,457.84473927605,459.88868900496,465.11211608996,488.36772189445,490.54793493862,515.07533168556,523.2511306012],description:"50/49, 81/80 and 525/512, Gene Ward Smith, 2002"},pipedum_26b:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,290.69507255622,301.39265122629,306.59245933664,313.95067836072,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,376.74081403286,392.4383479509,401.85686830172,408.78994578219,418.60090448096,436.04260883433,446.50763144636,454.2110508691,470.92601754108,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"81/80 and 78125/73728, Gene Ward Smith, 2005"},pipedum_27:{frequencies:[261.6255653006,271.20240005245,278.95104005395,284.76252005507,292.89859205665,299.00064605783,307.54352165948,316.40280006119,325.44288006294,332.22294006425,341.71502406609,351.47831046798,358.80077526939,369.05222599138,379.68336007343,390.53145607553,398.6675280771,410.05802887931,418.60090448096,430.56093032327,442.86267118965,455.62003208812,468.63774729064,478.40103369253,492.06963465517,502.32108537715,516.67311638793,523.2511306012],description:"126/125, 1728/1715 and 4000/3969 are homophonic intervals, Paul Erlich"},pipedum_27a:{frequencies:[261.6255653006,269.10058145205,274.70684356563,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,406.97310157871,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,498.33441009638,508.71637697339,523.2511306012],description:"126/126, 1728/1715 and 64/63, Paul Erlich, 2001"},pipedum_27b:{frequencies:[261.6255653006,266.96486255163,272.52663052146,280.31310567921,293.02063313667,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,333.70607818954,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,410.22888639134,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,467.18850946536,488.36772189445,502.32108537715,512.78610798918,523.2511306012],description:"2401/2400, 126/125 and 128/125, Paul Erlich, 2001"},pipedum_27c:{frequencies:[261.6255653006,266.96486255163,274.70684356563,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.35783506196,327.03195662575,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,418.60090448096,427.32175665765,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,498.33441009638,512.78610798918,523.2511306012],description:"2401/2400, 126/125 and 686/675, Paul Erlich, 2001"},pipedum_27d:{frequencies:[261.6255653006,266.96486255163,274.70684356563,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,336.37572681506,348.83408706747,355.95315006884,366.27579142084,373.75080757229,384.58958099188,392.4383479509,406.97310157871,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,498.33441009638,512.78610798918,523.2511306012],description:"2401/2400, 126/125 and 64/63, Paul Erlich, 2001"},pipedum_27e:{frequencies:[261.6255653006,269.10058145205,274.70684356563,282.55561052465,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.35783506196,329.64821227876,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,415.27867508032,427.32175665765,436.04260883433,448.50096908674,457.84473927605,470.92601754108,484.4917875937,498.33441009638,508.71637697339,523.2511306012],description:"2401/2400, 126/125 and 245/243, Paul Erlich, 2001"},pipedum_27f:{frequencies:[261.6255653006,267.07609791103,272.52663052146,280.31310567921,293.02063313667,299.00064605783,305.22982618403,313.95067836072,320.35783506196,327.03195662575,333.84512238879,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,410.05802887931,418.60090448096,427.32175665765,436.04260883433,448.50096908674,457.84473927605,467.18850946536,488.36772189445,502.32108537715,512.57253609913,523.2511306012],description:"2401/2400, 1728/1715 and 128/125, Paul Erlich, 2001"},pipedum_27g:{frequencies:[261.6255653006,267.07609791103,274.59243005311,280.31310567921,290.81619550312,299.00064605783,305.22982618403,313.95067836072,320.35783506196,327.03195662575,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,418.60090448096,427.32175665765,436.04260883433,448.50096908674,457.84473927605,470.72988009104,488.36772189445,498.54204943392,512.57253609913,523.2511306012],description:"2401/2400, 1728/1715 and 686/675, Paul Erlich, 2001"},pipedum_27h:{frequencies:[261.6255653006,267.07609791103,274.70684356563,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,498.33441009638,512.57253609913,523.2511306012],description:"2401/2400, 1728/1715 and 64/63, Paul Erlich, 2001"},pipedum_27i:{frequencies:[261.6255653006,269.10058145205,274.70684356563,282.43792805463,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,329.51091606373,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,415.4517078616,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,484.69365917187,498.33441009638,508.71637697339,523.2511306012],description:"2401/2400, 1728/1715 and 245/243, Paul Erlich, 2001"},pipedum_27j:{frequencies:[261.6255653006,269.16210421872,276.91574508099,282.55561052465,290.69507255622,299.06900468747,305.16005936662,313.95067836072,322.99452506247,329.57286411595,339.06673262958,348.83408706747,358.88280562497,366.19207123994,376.74081403286,387.59343007496,395.48743693914,406.88007915549,418.60090448096,423.83341578697,436.04260883433,448.60350703121,461.52624180165,470.92601754108,484.4917875937,498.44834114579,508.60009894437,523.2511306012],description:"78732/78125 and 390625000/387420489"},pipedum_27k:{frequencies:[261.6255653006,264.89588486686,275.62199471997,279.38237857051,290.69507255622,294.32876096318,298.00787047521,310.07474405997,313.95067836072,331.11985608357,344.52749339997,348.83408706747,353.19451315581,367.49599295996,372.50983809402,387.59343007496,392.4383479509,397.34382730029,413.43299207996,418.60090448096,441.49314144476,447.01180571282,459.36999119996,465.11211608996,470.92601754108,496.67978412536,516.79124009995,523.2511306012],description:"67108864/66430125 and 25/24"},pipedum_28:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,285.76488412567,299.40669857094,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,428.6473261885,436.04260883433,446.50763144636,457.22381460107,479.0507177135,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"393216/390625 and 16875/16384"},pipedum_29:{frequencies:[261.6255653006,266.96486255163,274.70684356563,280.31310567921,288.44218574391,294.32876096318,300.33547037059,310.07474405997,316.40280006119,325.57848126297,332.22294006425,341.85740532612,348.83408706747,355.95315006884,366.27579142084,373.75080757229,384.58958099188,392.4383479509,400.44729382745,412.06026534844,420.46965851882,434.10464168396,442.96392008567,455.80987376816,465.11211608996,474.60420009179,488.36772189445,498.33441009638,512.78610798918,523.2511306012],description:"5120/5103, 225/224 and 50421/50000, Manuel Op de Coul, 2003"},pipedum_29a:{frequencies:[261.6255653006,272.52663052146,274.70684356563,286.15296204753,290.69507255622,294.32876096318,305.22982618403,313.95067836072,317.94773560837,327.03195662575,339.14425131559,343.38355445704,348.83408706747,363.36884069528,366.27579142084,372.60080508745,381.53728273004,392.4383479509,408.78994578219,412.06026534844,429.2294430713,436.04260883433,441.49314144476,457.84473927605,470.92601754108,476.92160341255,490.54793493862,508.71637697339,515.07533168556,523.2511306012],description:"49/48, 55/54, 65/64, 91/90 and 100/99"},pipedum_31:{frequencies:[261.6255653006,271.62175694356,275.93321340298,281.68182201554,289.72987407313,294.32876096318,300.46061014991,310.42486507835,316.89204976748,321.92208230347,331.11985608357,338.01818641865,343.38355445704,356.50355598842,362.16234259141,367.91095120397,380.27045972098,386.30649876417,392.4383479509,407.43263541533,413.89982010446,422.52273302331,434.59481110969,441.49314144476,450.69091522486,465.63729761752,475.33807465122,482.88312345521,496.67978412536,507.02727962797,515.07533168556,523.2511306012],description:"81/80, 225/224 and 1029/1024 are homophonic intervals"},pipedum_31a:{frequencies:[261.6255653006,269.46602871384,275.93321340298,282.55561052465,287.4304306281,294.32876096318,301.39265122629,306.59245933664,313.95067836072,321.48549464138,329.20114651277,336.83253589231,344.91651675372,353.19451315581,359.28803828513,367.91095120397,376.74081403286,385.78259356965,392.4383479509,401.85686830172,411.50143314096,421.04066986538,431.14564594215,441.49314144476,452.08897683944,459.88868900496,470.92601754108,482.22824196207,490.54793493862,502.32108537715,514.3767914262,523.2511306012],description:"393216/390625 and 2109375/2097152 are homophonic intervals"},pipedum_31b:{frequencies:[261.6255653006,267.07609791103,280.31310567921,286.15296204753,290.69507255622,294.32876096318,299.00064605783,305.22982618403,307.54352165948,327.03195662575,333.84512238879,339.14425131559,343.38355445704,348.83408706747,356.10146388137,373.75080757229,381.53728273004,387.59343007496,392.4383479509,400.61414686654,406.97310157871,429.2294430713,436.04260883433,445.12682985172,448.50096908674,457.84473927605,465.11211608996,490.54793493862,498.33441009638,508.71637697339,515.07533168556,523.2511306012],description:"245/243, 1029/1024 comma and 25/24 chroma"},pipedum_31c:{frequencies:[261.6255653006,265.7783520514,274.70684356563,279.06726965397,286.15296204753,293.02063313667,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,334.88072358477,343.38355445704,348.83408706747,360.55273217989,366.27579142084,373.75080757229,384.58958099188,392.4383479509,398.6675280771,412.06026534844,418.60090448096,429.2294430713,439.53094970501,448.50096908674,457.84473927605,470.92601754108,480.73697623985,490.54793493862,502.32108537715,515.07533168556,523.2511306012],description:"126/125, 225/224 and 1029/1024, Op de Coul"},pipedum_31d:{frequencies:[261.6255653006,269.10058145205,274.70684356563,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,316.53463456122,327.03195662575,336.37572681506,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,403.65087217807,406.97310157871,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,470.92601754108,478.40103369253,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"1728/1715, 225/224 and 81/80"},pipedum_31e:{frequencies:[261.6255653006,267.07609791103,272.52663052146,276.85245005354,286.15296204753,290.69507255622,299.00064605783,305.22982618403,311.45900631024,317.94773560837,327.03195662575,332.22294006425,343.38355445704,348.83408706747,357.69120255941,363.36884069528,373.75080757229,381.53728273004,392.4383479509,398.6675280771,408.78994578219,415.27867508032,429.2294430713,436.04260883433,448.50096908674,457.84473927605,467.18850946536,476.92160341255,490.54793493862,498.33441009638,508.71637697339,523.2511306012],description:'81/80, 126/125 and 1029/1024, Gene Smith (2005) "Synstargam"'},pipedum_32:{frequencies:[261.6255653006,267.07609791103,270.30192333353,280.31310567921,286.15296204753,292.11448209019,299.00064605783,305.22982618403,311.5887808962,315.35224388912,325.57848126297,333.84512238879,337.87740416691,348.83408706747,356.10146388137,360.4025644447,367.91095120397,379.84156147346,384.42940207435,394.1903048614,406.97310157871,415.4517078616,420.46965851882,429.2294430713,443.14848838571,448.50096908674,457.84473927605,474.80195184183,480.53675259294,490.54793493862,500.76768358318,512.57253609913,523.2511306012],description:"225/224, 2048/2025 and 117649/116640"},pipedum_32a:{frequencies:[261.6255653006,268.26840191956,274.59243005311,280.31310567921,286.15296204753,292.89859205665,299.00064605783,305.22982618403,311.5887808962,320.35783506196,327.03195662575,333.84512238879,341.71502406609,348.83408706747,356.10146388137,364.4960256705,372.08969287196,381.53728273004,390.53145607553,398.6675280771,406.97310157871,416.56688648057,425.24536328225,434.10464168396,438.17172313528,450.50320555588,459.88868900496,469.46970335923,480.53675259294,490.54793493862,500.76768358318,512.57253609913,523.2511306012],description:"589824/588245, 225/224 and 2048/2025"},pipedum_34:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,283.88190679319,290.69507255622,294.32876096318,301.39265122629,306.59245933664,313.95067836072,321.48549464138,327.03195662575,334.88072358477,340.65828815182,348.83408706747,354.85238349148,363.36884069528,367.91095120397,376.74081403286,385.78259356965,392.4383479509,401.85686830172,408.78994578219,418.60090448096,425.82286018978,436.04260883433,446.50763144636,454.2110508691,465.11211608996,470.92601754108,482.22824196207,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"15625/15552 and 393216/390625 are homophonic intervals"},pipedum_34a:{frequencies:[261.6255653006,264.89588486686,272.52663052146,279.06726965397,282.55561052465,290.69507255622,294.32876096318,301.39265122629,306.59245933664,313.95067836072,317.87506184023,327.03195662575,334.88072358477,340.65828815182,348.83408706747,353.19451315581,363.36884069528,367.91095120397,376.74081403286,387.59343007496,392.4383479509,401.85686830172,408.78994578219,418.60090448096,423.83341578697,436.04260883433,441.49314144476,452.08897683944,465.11211608996,470.92601754108,484.4917875937,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"15625/15552 and 2048/2025, Manuel Op de Coul, 2001"},pipedum_34b:{frequencies:[261.6255653006,267.57160087561,272.52663052146,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.7792935736,310.07474405997,313.95067836072,319.76457981184,327.03195662575,334.88072358477,342.49164912079,348.83408706747,356.76213450082,359.73515228832,367.91095120397,380.54627680087,383.71749577421,392.4383479509,399.70572476481,408.78994578219,418.60090448096,428.11456140098,436.04260883433,441.49314144476,449.66894036041,465.11211608996,470.92601754108,479.64686971777,490.54793493862,502.32108537715,511.62332769895,523.2511306012],description:"100/99, 243/242 and 5632/5625, Manuel Op de Coul"},pipedum_36:{frequencies:[261.6255653006,267.07609791103,269.10058145205,280.31310567921,286.15296204753,290.69507255622,294.32876096318,300.46061014991,305.22982618403,311.5887808962,320.35783506196,327.03195662575,333.84512238879,336.37572681506,343.38355445704,348.83408706747,356.10146388137,367.91095120397,373.75080757229,381.53728273004,384.42940207435,392.4383479509,400.61414686654,406.97310157871,420.46965851882,429.2294430713,436.04260883433,445.12682985172,448.50096908674,457.84473927605,467.3831713443,480.53675259294,490.54793493862,498.33441009638,508.71637697339,515.07533168556,523.2511306012],description:"1029/1024, 245/243 comma and 50/49 chroma, Gene Ward Smith, 2001"},pipedum_36a:{frequencies:[261.6255653006,264.89588486686,275.62199471997,275.93321340298,279.06726965397,290.69507255622,293.99679436797,294.32876096318,310.07474405997,310.42486507835,313.95067836072,327.03195662575,330.74639366397,331.11985608357,348.83408706747,349.22797321314,353.19451315581,367.91095120397,372.08969287196,372.50983809402,387.59343007496,392.4383479509,397.34382730029,413.43299207996,413.89982010446,418.60090448096,436.04260883433,440.99519155196,441.49314144476,465.11211608996,465.63729761752,470.92601754108,490.54793493862,496.11959049595,496.67978412536,516.79124009995,523.2511306012],description:"1125/1024 and 531441/524288, Op de Coul"},pipedum_37:{frequencies:[261.6255653006,263.718569823,276.85245005354,279.06726965397,280.31310567921,290.69507255622,293.02063313667,299.00064605783,308.98710943476,311.45900631024,313.95067836072,325.57848126297,332.22294006425,333.70607818954,346.06556256693,348.83408706747,351.62475976401,353.19451315581,370.78453132171,373.75080757229,376.74081403286,390.69417751556,392.4383479509,400.44729382745,415.27867508032,418.60090448096,421.94971171681,436.04260883433,444.94143758605,448.50096908674,465.11211608996,467.18850946536,470.92601754108,494.37937509562,498.33441009638,502.32108537715,519.0983438504,523.2511306012],description:"250/243, 3136/3125 and 3125/3087, Gene Ward Smith, 2002"},pipedum_38:{frequencies:[261.6255653006,271.25338610366,272.52663052146,280.3771918945,282.55561052465,290.69507255622,292.95365699196,301.39265122629,302.80736724606,313.95067836072,315.42434088132,325.50406332439,327.03195662575,336.45263027341,339.06673262958,348.83408706747,350.47148986813,361.67118147155,363.36884069528,376.74081403286,378.50920905758,390.60487598927,392.4383479509,403.74315632809,406.88007915549,418.60090448096,420.56578784176,434.00541776586,436.04260883433,452.08897683944,454.2110508691,467.29531982417,470.92601754108,484.4917875937,488.25609498659,502.32108537715,504.67894541011,519.21702202686,523.2511306012],description:"81/80 and 1224440064/1220703125, Manuel Op de Coul, 2001"},pipedum_38a:{frequencies:[261.6255653006,268.26840191956,272.52663052146,274.70684356563,279.06726965397,286.15296204753,293.02063313667,294.32876096318,305.22982618403,306.59245933664,313.95067836072,321.92208230347,327.03195662575,329.64821227876,340.65828815182,343.38355445704,348.83408706747,357.69120255941,366.27579142084,367.91095120397,381.53728273004,383.2405741708,390.69417751556,392.4383479509,408.78994578219,412.06026534844,418.60090448096,429.2294430713,436.04260883433,439.53094970501,457.84473927605,459.88868900496,470.92601754108,476.92160341255,488.36772189445,490.54793493862,510.98743222773,515.07533168556,523.2511306012],description:"50/49, 81/80 and 3125/3072, Gene Ward Smith, 2002"},pipedum_41:{frequencies:[261.6255653006,265.71346475842,269.80136421624,274.70684356563,280.31310567921,286.15296204753,290.69507255622,294.32876096318,299.00064605783,303.67253115248,308.34441624714,313.95067836072,320.49131749323,327.03195662575,331.11985608357,336.37572681506,343.38355445704,348.83408706747,354.2846196779,359.73515228832,366.27579142084,373.75080757229,381.53728273004,387.40708707973,392.4383479509,400.61414686654,406.97310157871,412.06026534844,418.60090448096,425.14154361347,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,495.99846754905,503.62921320365,513.90736041189,523.2511306012],description:"100/99 105/104 196/195 275/273 385/384, Paul Erlich, TL 3-11-2000"},pipedum_41a:{frequencies:[261.6255653006,265.71346475842,269.80136421624,274.70684356563,280.31310567921,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,373.75080757229,380.54627680087,387.59343007496,392.4383479509,400.61414686654,406.97310157871,411.12588832951,418.60090448096,425.14154361347,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,495.99846754905,503.62921320365,513.90736041189,523.2511306012],description:"pipedum_41 improved shape by Manuel Op de Coul, all intervals superparticular"},pipedum_41b:{frequencies:[261.6255653006,265.7783520514,271.31540105247,274.70684356563,279.06726965397,284.8811711051,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,331.11985608357,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,373.75080757229,381.53728273004,387.59343007496,392.4383479509,398.6675280771,406.97310157871,412.06026534844,418.60090448096,425.14154361347,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,498.33441009638,504.56359022259,515.07533168556,523.2511306012],description:"pipedum_41 more improved shape by M. OdC, all intervals superparticular"},pipedum_41c:{frequencies:[261.6255653006,267.07609791103,271.31540105247,275.93321340298,280.31310567921,286.15296204753,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,315.35224388912,320.35783506196,327.03195662575,333.84512238879,336.37572681506,343.38355445704,348.83408706747,356.10146388137,360.4025644447,367.91095120397,373.75080757229,381.53728273004,384.42940207435,392.4383479509,398.6675280771,406.97310157871,410.05802887931,420.46965851882,429.2294430713,436.04260883433,445.12682985172,448.50096908674,457.84473927605,465.11211608996,474.80195184183,480.53675259294,490.54793493862,498.33441009638,508.71637697339,512.57253609913,523.2511306012],description:"225/224, 245/243 and 1029/1024, Gene Ward Smith, 2002"},pipedum_41d:{frequencies:[261.6255653006,264.89588486686,272.52663052146,275.93321340298,279.06726965397,282.55561052465,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.07474405997,313.95067836072,317.51653791741,327.03195662575,331.11985608357,334.88072358477,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,376.74081403286,387.59343007496,392.4383479509,396.89567239676,408.78994578219,413.89982010446,418.60090448096,423.83341578697,436.04260883433,441.49314144476,446.50763144636,459.88868900496,465.11211608996,470.92601754108,484.4917875937,490.54793493862,496.11959049595,502.32108537715,517.37477513058,523.2511306012],description:"3125/3072 and 32805/32768"},pipedum_43:{frequencies:[261.6255653006,269.10058145205,273.37201925287,274.70684356563,282.55561052465,286.15296204753,287.04062021552,290.69507255622,299.00064605783,305.22982618403,307.54352165948,313.95067836072,322.92069774245,327.03195662575,328.04642310345,332.22294006425,341.71502406609,343.38355445704,348.83408706747,358.80077526939,366.27579142084,369.05222599138,376.74081403286,379.68336007343,381.53728273004,392.4383479509,398.6675280771,410.05802887931,412.06026534844,418.60090448096,423.93031414449,430.56093032327,436.04260883433,448.50096908674,455.62003208812,457.84473927605,470.92601754108,478.40103369253,492.06963465517,494.47231841813,498.33441009638,508.71637697339,512.57253609913,523.2511306012],description:"81/80, 126/125 and 12288/12005, Gene Ward Smith, 2002"},pipedum_45:{frequencies:[261.6255653006,265.7783520514,267.07609791103,274.70684356563,279.06726965397,280.31310567921,284.8811711051,293.02063313667,294.32876096318,299.00064605783,303.74668805875,305.22982618403,313.95067836072,320.49131749323,325.57848126297,327.03195662575,336.37572681506,341.85740532612,343.38355445704,348.83408706747,356.10146388137,358.80077526939,366.27579142084,372.08969287196,373.75080757229,384.58958099188,392.4383479509,398.6675280771,400.61414686654,406.97310157871,418.60090448096,420.46965851882,427.32175665765,436.04260883433,439.53094970501,448.50096908674,455.80987376816,457.84473927605,465.11211608996,478.40103369253,480.73697623985,488.36772189445,498.33441009638,512.78610798918,515.07533168556,523.2511306012],description:"81/80, 525/512 and 2401/2400, Gene Ward Smith, 2002"},scala205pipedum_45a:{frequencies:[261.6255653006,267.07609791103,269.10058145205,274.70684356563,276.85245005354,282.55561052465,288.32205155576,290.69507255622,296.75121990114,299.00064605783,305.22982618403,311.45900631024,313.95067836072,320.49131749323,322.99452506247,329.64821227876,336.37572681506,339.14425131559,345.98646186692,348.83408706747,356.10146388137,363.28578496026,366.27579142084,373.75080757229,376.82694590621,384.42940207435,392.4383479509,395.66829320152,403.65087217807,406.97310157871,415.27867508032,423.83341578697,427.14378008261,436.04260883433,439.53094970501,448.50096908674,457.84473927605,461.31528248922,470.92601754108,474.80195184183,484.4917875937,494.47231841813,498.33441009638,508.71637697339,512.57253609913,523.2511306012],description:"81/80, 2401/2400 and 4375/4374, Gene Ward Smith"},pipedum_46:{frequencies:[261.6255653006,265.7783520514,270.41454913492,274.70684356563,279.06726965397,280.31310567921,286.15296204753,290.69507255622,295.30928005711,300.46061014991,305.22982618403,310.07474405997,313.95067836072,320.49131749323,325.57848126297,327.03195662575,332.22294006425,339.14425131559,343.38355445704,348.83408706747,354.37113606854,360.55273217989,366.27579142084,372.08969287196,373.75080757229,381.53728273004,387.59343007496,392.4383479509,398.6675280771,406.97310157871,412.06026534844,418.60090448096,427.32175665765,429.2294430713,436.04260883433,442.96392008567,450.69091522486,457.84473927605,465.11211608996,470.92601754108,480.73697623985,488.36772189445,490.54793493862,498.33441009638,508.71637697339,515.07533168556,523.2511306012],description:"126/125, 1029/1024 and 5120/5103. Manuel Op de Coul, 2001"},pipedum_46a:{frequencies:[261.6255653006,267.07609791103,269.10058145205,274.70684356563,279.06726965397,280.31310567921,286.15296204753,290.69507255622,294.32876096318,299.00064605783,305.22982618403,307.54352165948,313.95067836072,320.35783506196,320.49131749323,327.03195662575,332.22294006425,336.37572681506,343.38355445704,348.83408706747,353.19451315581,358.80077526939,366.12324007081,366.27579142084,373.75080757229,381.53728273004,387.59343007496,392.4383479509,398.6675280771,406.97310157871,412.06026534844,418.60090448096,427.14378008261,427.32175665765,436.04260883433,445.12682985172,448.50096908674,457.84473927605,465.11211608996,470.92601754108,478.40103369253,488.36772189445,490.54793493862,498.33441009638,508.71637697339,512.57253609913,523.2511306012],description:"126/125, 1029/1024 and 245/243, Gene Ward Smith, 2002"},pipedum_46b:{frequencies:[261.6255653006,264.89588486686,271.25338610366,272.52663052146,279.06726965397,282.55561052465,283.88190679319,290.69507255622,294.32876096318,301.39265122629,302.80736724606,310.07474405997,313.95067836072,317.87506184023,322.99452506247,327.03195662575,334.88072358477,339.06673262958,340.65828815182,348.83408706747,353.19451315581,361.67118147155,363.36884069528,372.08969287196,376.74081403286,381.45007420827,387.59343007496,392.4383479509,401.85686830172,403.74315632809,408.78994578219,418.60090448096,423.83341578697,430.65936674996,436.04260883433,441.49314144476,452.08897683944,454.2110508691,465.11211608996,470.92601754108,482.22824196207,484.4917875937,490.54793493862,502.32108537715,508.60009894437,516.79124009995,523.2511306012],description:"2048/2025 and 78732/78125"},pipedum_46c:{frequencies:[261.6255653006,266.47048317654,271.31540105247,274.08392555301,279.06726965397,282.62020942966,287.78812183066,290.69507255622,297.67175429757,299.7792935736,306.97399661937,310.07474405997,313.95067836072,319.76457981184,325.57848126297,328.90071066361,332.22294006425,339.14425131559,342.60490694126,348.83408706747,355.29397756872,359.73515228832,363.36884069528,372.08969287196,374.72411696701,383.71749577421,387.59343007496,394.68085279633,399.70572476481,406.97310157871,411.12588832951,418.60090448096,426.35277308246,431.68218274599,436.04260883433,446.50763144636,449.66894036041,460.46099492906,465.11211608996,467.18850946536,479.64686971777,484.4917875937,496.11959049595,499.63215595601,511.62332769895,516.79124009995,523.2511306012],description:"126/125, 176/175, 385/384 and 896/891, Paul Erlich"},pipedum_46d:{frequencies:[261.6255653006,267.23182741418,272.79915715198,274.70684356563,278.36648688978,283.42769574232,287.78812183066,291.52562990638,297.59908052943,299.7792935736,303.67253115248,311.77046531655,313.95067836072,320.67819289702,324.7609013714,327.03195662575,334.03978426773,340.11323489078,343.04051394309,345.34574619679,354.2846196779,359.73515228832,366.27579142084,374.12455837986,376.74081403286,381.53728273004,389.71308164569,392.4383479509,402.90337056292,408.13588186894,411.12588832951,419.69101100305,425.14154361347,431.68218274599,439.53094970501,445.38637902364,448.50096908674,457.84473927605,467.65569797482,470.92601754108,479.64686971777,485.87604984397,490.54793493862,503.62921320365,510.16985233617,519.61744219425,523.2511306012],description:"91/90, 121/120, 126/125, 169/168 and 176/175"},pipedum_5:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"16/15 and 27/25"},pipedum_50:{frequencies:[261.6255653006,267.07609791103,269.10058145205,273.37201925287,274.70684356563,276.85245005354,284.76252005507,286.15296204753,290.69507255622,299.00064605783,300.46061014991,305.22982618403,307.54352165948,313.95067836072,316.40280006119,320.49131749323,327.03195662575,332.22294006425,333.84512238879,341.71502406609,343.38355445704,348.83408706747,358.80077526939,360.55273217989,361.60320006994,366.27579142084,373.75080757229,379.68336007343,381.53728273004,392.4383479509,398.6675280771,400.61414686654,410.05802887931,412.06026534844,418.60090448096,423.93031414449,427.14378008261,436.04260883433,445.12682985172,448.50096908674,455.62003208812,457.84473927605,470.92601754108,478.40103369253,480.73697623985,484.4917875937,498.33441009638,500.76768358318,508.71637697339,512.57253609913,523.2511306012],description:"81/80, 126/125 and 16807/16384, Gene Ward Smith, 2002"},pipedum_53:{frequencies:[261.6255653006,264.89588486686,269.16210421872,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,298.00787047521,302.80736724606,306.59245933664,310.07474405997,313.95067836072,317.87506184023,322.99452506247,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,397.34382730029,403.74315632809,408.78994578219,413.89982010446,418.60090448096,423.83341578697,430.65936674996,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,476.81259276034,484.4917875937,490.54793493862,496.67978412536,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"15625/15552 and 32805/32768, Manuel Op de Coul, 2001"},pipedum_53a:{frequencies:[261.6255653006,266.96486255163,269.10058145205,272.52663052146,276.85245005354,280.31310567921,282.55561052465,288.32205155576,290.69507255622,294.32876096318,299.00064605783,302.80736724606,305.22982618403,311.45900631024,313.95067836072,320.35783506196,322.99452506247,327.03195662575,332.22294006425,336.37572681506,339.14425131559,346.06556256693,348.83408706747,353.19451315581,358.80077526939,363.36884069528,366.27579142084,373.75080757229,376.74081403286,384.42940207435,387.59343007496,392.4383479509,398.6675280771,403.65087217807,406.97310157871,415.27867508032,418.60090448096,423.83341578697,430.56093032327,436.04260883433,441.49314144476,448.50096908674,454.2110508691,457.84473927605,467.18850946536,470.92601754108,480.53675259294,484.4917875937,490.54793493862,498.33441009638,504.56359022259,508.71637697339,519.0983438504,523.2511306012],description:"225/224, 1728/1715 and 4375/4374, Manuel Op de Coul, 2001"},pipedum_53b:{frequencies:[261.6255653006,266.96486255163,269.10058145205,272.52663052146,274.70684356563,280.31310567921,286.03378130532,288.32205155576,290.69507255622,293.02063313667,299.00064605783,301.39265122629,305.22982618403,311.45900631024,313.95067836072,320.35783506196,322.92069774245,327.03195662575,333.70607818954,336.37572681506,341.85740532612,343.24053756638,348.83408706747,351.62475976401,358.80077526939,363.36884069528,366.27579142084,373.75080757229,376.74081403286,384.42940207435,389.3237578878,392.4383479509,400.44729382745,403.65087217807,406.97310157871,410.22888639134,418.60090448096,427.14378008261,430.56093032327,436.04260883433,439.53094970501,448.50096908674,457.65405008851,457.84473927605,467.18850946536,470.92601754108,478.60036745656,480.53675259294,488.36772189445,498.33441009638,502.32108537715,512.57253609913,512.78610798918,523.2511306012],description:"225/224, 1728/1715 and 3125/3087, Gene Ward Smith, 2002"},pipedum_55:{frequencies:[261.6255653006,267.07609791103,269.10058145205,272.52663052146,274.70684356563,279.06726965397,280.31310567921,286.15296204753,293.02063313667,294.32876096318,296.75121990114,299.00064605783,305.22982618403,306.59245933664,313.95067836072,317.94773560837,320.49131749323,325.57848126297,327.03195662575,333.84512238879,336.37572681506,340.65828815182,343.38355445704,348.83408706747,356.10146388137,358.80077526939,366.27579142084,367.91095120397,373.75080757229,376.74081403286,381.53728273004,390.69417751556,392.4383479509,400.61414686654,403.65087217807,406.97310157871,408.78994578219,418.60090448096,427.32175665765,429.2294430713,436.04260883433,439.53094970501,445.12682985172,448.50096908674,457.84473927605,459.88868900496,470.92601754108,474.80195184183,476.92160341255,488.36772189445,490.54793493862,502.32108537715,504.56359022259,508.71637697339,520.92557002075,523.2511306012],description:"81/80, 686/675 and 6144/6125, Gene Ward Smith, 2002"},pipedum_58:{frequencies:[261.6255653006,264.29521392612,268.60224704195,271.31540105247,275.62199471997,277.50997462242,280.31310567921,284.8811711051,287.78812183066,292.35618725654,295.30928005711,297.33211566688,302.17752792219,305.22982618403,310.07474405997,313.23877206058,315.35224388912,320.49131749323,323.76163705949,328.90071066361,332.22294006425,337.63694353197,339.94971891247,343.38355445704,348.83408706747,352.39361856816,358.13632938927,361.75386806997,364.23184169193,370.01329949656,373.75080757229,379.84156147346,383.71749577421,389.80824967539,392.4383479509,396.44282088917,402.90337056292,406.97310157871,413.43299207996,417.65169608078,420.46965851882,427.32175665765,431.68218274599,438.53428088482,442.96392008567,445.99817350032,453.26629188329,457.84473927605,465.11211608996,469.85815809087,477.51510585235,480.73697623985,485.64245558924,493.35106599542,498.33441009638,506.45541529795,511.62332769895,515.07533168556,523.2511306012],description:"9801/9800, 2401/2400, 5120/5103 and 896/891"},pipedum_58a:{frequencies:[261.6255653006,265.65057399753,267.66008354786,270.48058443385,272.52663052146,277.4816601673,281.75060878526,285.40970760065,287.78812183066,293.02063313667,295.1673044417,297.30177875068,301.87565226992,305.22982618403,309.92566966379,313.95067836072,316.2506833304,322.00069575458,323.72860352852,327.03195662575,332.97799220076,338.10073054231,342.60490694126,344.24801655217,348.83408706747,352.18826098158,358.59168390851,362.25078272391,366.27579142084,368.95913055213,375.66747838035,379.50081999647,381.53728273004,388.47432423422,392.4383479509,399.57359064092,402.50086969323,406.97310157871,411.12588832951,418.60090448096,422.62591317789,428.25613367658,430.31002069022,436.04260883433,442.75095666255,450.80097405642,455.40098399577,457.84473927605,466.16918908107,469.58434797544,475.68284600109,483.00104363188,488.36772189445,495.88107146206,499.46698830115,503.12608711654,512.27383415502,516.54278277298,523.2511306012],description:"126/125, 144/143, 176/175, 196/195 and 364/363"},pipedum_5a:{frequencies:[261.6255653006,290.69507255622,348.83408706747,392.4383479509,470.92601754108,523.2511306012],description:"27/25 and 81/80"},pipedum_64:{frequencies:[261.6255653006,267.90457886781,266.96486255163,273.37201925287,274.70684356563,273.74326726486,280.31310567921,280.42990280658,284.76252005507,286.15296204753,294.32876096318,300.05312833195,299.00064605783,300.46061014991,307.67166479351,306.59245933664,313.95067836072,312.84944830269,320.35783506196,320.49131749323,328.18310911307,327.03195662575,336.37572681506,336.5158833679,341.71502406609,343.38355445704,351.62475976401,348.83408706747,358.80077526939,358.95027559242,366.12324007081,366.27579142084,375.06641041494,373.75080757229,382.72082695402,384.58958099188,383.2405741708,392.4383479509,392.60186392921,398.6675280771,400.61414686654,412.06026534844,408.78994578219,418.60090448096,428.6473261885,427.14378008261,429.2294430713,439.53094970501,437.98922762377,448.50096908674,448.68784449053,455.62003208812,457.84473927605,468.83301301868,467.18850946536,478.40103369253,480.73697623985,488.16432009441,490.54793493862,502.32108537715,500.55911728431,512.57253609913,512.78610798918,520.70860810071,523.2511306012],description:"225/224 235298/234375 and 67108864/66706983"},pipedum_65:{frequencies:[261.6255653006,264.59711493117,267.38234771992,270.72462706642,273.0589090967,275.93321340298,279.06726965397,282.00481986086,285.20783756792,287.99181818792,291.26283636981,294.32876096318,297.67175429757,300.80514118491,303.39878788522,306.84479880935,310.42486507835,313.95067836072,317.25542234346,320.85881726391,323.62537374423,327.30111872997,331.11985608357,334.60532825287,338.40578383303,341.32363637087,345.20039866051,348.83408706747,352.79615324157,356.9123501364,360.9661694219,364.07854546226,367.91095120397,372.08969287196,376.00642648114,380.70650681216,383.98909091723,388.35044849308,392.4383479509,396.89567239676,401.07352157989,404.53171718029,409.58836364504,413.89982010446,418.60090448096,423.00722979129,427.81175635188,431.50049832564,436.89425455471,441.49314144476,446.50763144636,451.20771177737,455.09818182783,460.26719821402,465.11211608996,470.92601754108,475.8831335152,481.28822589586,485.43806061635,490.95167809495,496.11959049595,501.90799237931,507.60867574954,511.9854545563,517.80059799077,523.2511306012],description:"1216/1215, 32805/32768 and 39858075/39845888. Manuel Op de Coul, 2001"},pipedum_65a:{frequencies:[261.6255653006,264.89588486686,267.90457886781,269.16210421872,272.52663052146,275.93321340298,279.06726965397,282.55561052465,286.08755565621,287.10624449997,290.69507255622,294.32876096318,298.00787047521,301.39265122629,302.80736724606,306.59245933664,310.07474405997,313.95067836072,317.87506184023,319.0069383333,322.99452506247,327.03195662575,331.11985608357,334.88072358477,339.06673262958,340.65828815182,344.52749339997,348.83408706747,353.19451315581,357.60944457026,358.88280562497,363.36884069528,367.91095120397,372.08969287196,376.74081403286,381.45007420827,383.2405741708,387.59343007496,392.4383479509,397.34382730029,401.85686830172,403.74315632809,408.78994578219,413.43299207996,418.60090448096,423.83341578697,429.13133348431,430.65936674996,436.04260883433,441.49314144476,446.50763144636,452.08897683944,454.2110508691,459.88868900496,465.11211608996,470.92601754108,476.81259276034,478.51040749995,484.4917875937,490.54793493862,496.67978412536,502.32108537715,508.60009894437,510.98743222773,516.79124009995,523.2511306012],description:"78732/78125 and 32805/32768"},pipedum_67:{frequencies:[261.6255653006,262.79353657426,266.96486255163,267.07609791103,272.52663052146,274.70684356563,279.06726965397,280.31310567921,284.8811711051,286.15296204753,293.02063313667,294.32876096318,299.00064605783,299.12522966035,300.33547037059,305.22982618403,306.59245933664,311.45900631024,313.95067836072,320.35783506196,320.49131749323,325.57848126297,327.03195662575,332.22294006425,336.5158833679,339.00300006557,341.85740532612,343.38355445704,348.83408706747,350.39138209902,355.95315006884,360.55273217989,366.27579142084,367.91095120397,373.75080757229,373.90653707544,381.53728273004,384.58958099188,390.69417751556,392.4383479509,398.83363954714,400.44729382745,400.61414686654,406.97310157871,408.78994578219,418.60090448096,420.46965851882,427.32175665765,429.2294430713,436.04260883433,439.53094970501,448.50096908674,448.68784449053,455.80987376816,457.84473927605,459.88868900496,465.11211608996,467.18850946536,474.60420009179,480.73697623985,488.36772189445,490.54793493862,498.33441009638,504.77382505185,512.78610798918,515.07533168556,520.92557002075,523.2511306012],description:"81/80, 1029/1024 and 9604/9375, Gene Ward Smith, 2002"},pipedum_68:{frequencies:[246.94165062806,250.86135936819,252.08626834948,253.99712636029,258.02882677871,259.28873315946,263.4044273366,264.58033995864,268.89201957278,272.13977824317,273.16014686758,276.57464870343,277.80935695657,282.21902928921,286.81815421096,288.0985923994,291.6998248044,292.67158592955,296.32998075367,301.03363124183,302.50352201937,307.30516522603,308.67706328508,311.01688942076,316.08531280392,317.49640795036,322.53603347338,324.11091644933,329.25553417075,333.37122834788,334.48181249092,338.66283514705,340.17472280396,345.71831087928,351.20590311546,352.77378661151,357.18345894416,358.5226927637,362.85303765756,368.76619827124,370.41247594209,376.29203905228,378.12940252422,384.13145653254,387.04324016806,388.93309973919,395.1066410049,396.87050993795,403.33802935916,409.74022030137,411.56941771343,414.86197305514,416.71403543485,423.32854393382,430.22723131644,432.1478885991,439.00737889433,441.15096961159,444.49497113051,451.55044686274,453.56629707195,460.95774783905,468.27453748728,470.36504881535,474.12796920588,476.24461192554,483.80405021008,491.68826436165,493.88330125612],description:"245/243, 2048/2025 and 2401/2400, Gene Ward Smith, 2002"},pipedum_7:{frequencies:[261.6255653006,290.69507255622,317.94773560837,347.75533582165,392.4383479509,429.2294430713,476.92160341255,523.2511306012],description:"81/80, 64/63 and 6144/6125, Manuel Op de Coul"},pipedum_72:{frequencies:[195.99771799087,198.44768946576,200.08100378235,201.59765279061,204.16428957382,205.79760389041,208.41771227328,209.06423252359,211.67753543014,214.37250405251,216.08748408493,217.77524221208,220.49743273973,222.31222642483,223.99739198957,226.79735938944,228.66400432268,231.52230437672,232.29359169288,235.19726158904,238.19167116946,240.09720453882,241.91718334873,244.99714748859,246.9571246685,250.10125472793,251.99706598826,254.07111591409,257.24700486302,258.04499557198,261.33029065449,264.59691928767,266.7746717098,268.79687038748,272.2190527651,274.39680518722,277.89028303104,279.99673998696,282.23671390685,285.83000540335,289.40288047089,290.3669896161,293.99657698631,296.41630189977,300.12150567352,302.39647918591,304.88533909691,308.69640583562,311.1074888744,313.59634878539,317.58889489261,321.55875607877,322.55624446497,326.66286331812,329.27616622466,333.46833963724,335.99608798435,338.76148788545,342.99600648402,347.28345656507,348.44038753932,352.79589238357,357.28750675419,360.14580680822,362.95873702013,365.86240691629,370.43568700274,373.32898664928,376.31561854247,381.10667387114,385.87050729453,387.1559861548,391.99543598174],description:"225/224, 1029/1024 and 4375/4374, Gene Ward Smith, 2002"},pipedum_72a:{frequencies:[195.99771799087,197.5656997348,200.08100378235,201.59765279061,203.21043401293,205.79760389041,207.44398472154,209.99755499022,211.67753543014,213.41973736784,216.04686727389,217.77524221208,219.51744414977,222.31222642483,223.99739198957,226.84921063758,228.66400432268,230.49331635726,233.3306166558,235.19726158904,237.07883968176,240.09720453882,241.91718334873,244.99714748859,246.9571246685,248.93278166584,251.99706598826,254.07111591409,256.1036848414,259.25624072866,261.33029065449,264.65741241051,266.7746717098,268.79687038748,272.2190527651,274.39680518722,276.59197962872,279.99673998696,282.23671390685,285.83000540335,288.11664544658,290.30062001848,293.99657698631,296.3485496022,298.59492344758,302.46561418344,304.88533909691,308.7669811456,311.1074888744,313.59634878539,317.58889489261,320.12960605175,322.55624446497,326.66286331812,329.27616622466,333.46833963724,335.99608798435,338.68405668822,342.99600648402,345.73997453589,348.36074402217,352.79589238357,355.69956227973,360.07811212314,362.95873702013,365.86240691629,370.52037737472,373.32898664928,376.31561854247,381.10667387114,384.15552726211,388.884361093,391.99543598174],description:"4375/4374, 2401/2400 and 15625/15552, Manuel Op de Coul, 2002"},pipedum_72b:{frequencies:[195.99771799087,197.5656997348,200.51849868858,202.12264667808,204.16428957382,205.79760389041,207.94510975112,209.60867062912,211.67753543014,213.41973736784,215.59748978996,218.74745311481,220.49743273973,222.7983318762,224.58071853121,226.79735938944,228.66400432268,230.99731048924,232.89852292125,235.19726158904,238.19167116946,240.62219842629,242.5471760137,244.99714748859,246.9571246685,249.53413170134,251.53040475495,254.07111591409,256.1036848414,259.87197430039,262.49694373777,264.59691928767,267.35799825143,269.49686223745,272.2190527651,274.39680518722,277.19677258709,279.4782275055,283.49669923679,285.83000540335,288.74663811155,291.12315365156,293.99657698631,296.3485496022,299.44095804161,301.83648570594,304.88533909691,309.37139797666,311.91766462667,314.99633248533,317.51630314521,320.82959790172,323.39623468494,326.66286331812,329.27616622466,332.71217560179,336.87107779681,340.19603908415,342.99600648402,346.49596573386,349.34778438187,352.79589238357,355.69956227973,359.32914964993,362.08404605941,367.49572123288,371.24567757199,374.30119755201,377.99559898239,381.10667387114,384.99551748207,388.16420486875,391.99543598174],description:"225/224, 3025/3024, 1375/1372 and 4375/4374"},pipedum_72b2:{frequencies:[195.99771799087,198.44768946576,200.45221158157,202.12264667808,204.16428957382,205.79760389041,207.87636756607,209.06423252359,211.67753543014,213.81569235368,215.59748978996,217.77524221208,220.49743273973,222.72467953508,223.99739198957,226.79735938944,228.66400432268,230.99731048924,233.3306166558,235.19726158904,237.57299150408,239.55276643329,241.97249134675,244.99714748859,246.39713118852,249.45164107929,251.99706598826,254.07111591409,257.24700486302,258.71698774795,261.33029065449,264.59691928767,267.2696154421,269.49686223745,272.2190527651,274.39680518722,277.19677258709,279.99673998696,282.23671390685,285.0875898049,287.46331971994,290.3669896161,293.99657698631,296.96623938011,298.66318931942,302.39647918591,304.88533909691,307.99641398565,311.81455134911,313.59634878539,317.51630314521,320.72353853051,323.39623468494,326.66286331812,329.27616622466,332.60218810572,335.99608798435,338.76148788545,342.99600648402,344.95598366393,348.44038753932,352.79589238357,356.35948725613,359.32914964993,362.95873702013,367.49572123288,369.59569678278,374.17746161893,376.31561854247,380.11678640654,383.28442629326,387.1559861548,391.99543598174],description:"Optimised version of pipedum_72b, Manuel Op de Coul"},pipedum_72c:{frequencies:[195.99771799087,197.5656997348,199.99767141926,201.59765279061,203.25689273127,205.79760389041,207.40499258293,209.99755499022,211.67753543014,213.41973736784,215.9974851328,217.77524221208,219.51744414977,222.31222642483,223.99739198957,226.79735938944,228.66400432268,230.49331635726,233.3306166558,235.19726158904,237.13304151982,239.99720570311,241.91718334873,244.99714748859,246.9571246685,248.88599109952,251.99706598826,254.07111591409,256.1036848414,259.19698215935,261.33029065449,264.59691928767,266.7746717098,268.79687038748,272.2190527651,274.39680518722,276.47678096998,279.99673998696,282.23671390685,285.83000540335,287.99664684373,290.3669896161,293.99657698631,296.41630189977,298.66318931942,302.39647918591,304.88533909691,308.69640583562,311.1074888744,313.59634878539,317.58889489261,320.12960605175,322.55624446497,326.66286331812,329.27616622466,333.32945236543,335.99608798435,338.76148788545,342.99600648402,345.59597621247,348.44038753932,352.79589238357,355.69956227973,359.99580855466,362.95873702013,365.86240691629,370.43568700274,373.32898664928,376.31561854247,381.10667387114,384.15552726211,388.884361093,391.99543598174],description:"441/440, 2401/2400, 4375/4374 and 1375/1372"},pipedum_74:{frequencies:[174.6141157165,175.4667237034,177.38576834692,178.25190979393,182.45393315683,183.34482150233,186.25505676427,187.16450528362,187.6669026756,191.57662981467,192.51206257744,194.01568412944,194.96302633711,195.48635695375,199.55898939029,200.53339851817,202.72659239648,203.71646833592,208.51878075067,209.5369388598,210.56006844408,212.8629220163,213.90229175271,216.62558481901,218.9447197882,220.01378580279,221.73221043365,222.81488724241,228.06741644604,229.18102687791,231.68753416741,232.81882095533,233.95563160453,239.47078726834,240.6400782218,243.27191087578,244.4597620031,249.5526737115,250.2225369008,251.44432663176,253.4082404956,254.6455854199,259.95070178281,260.64847593833,261.92117357475,266.07865252038,267.37786469089,273.68089973525,275.01723225349,278.02504100089,279.3825851464,280.74675792544,285.20305567028,287.36494472201,291.02352619417,291.92629305093,292.44453950566,297.08651632321,299.33848408543,304.08988859472,305.57470250388,310.42509460711,311.94084213937,312.778171126,319.29438302446,320.85343762907,325.94634933747,328.4170796823,333.63004920107,334.22233086361,335.25910217568,339.52744722653,342.10112466906,347.53130125111,349.228231433],description:"81/80, 126/125 and 4194304/4117715, Gene Ward Smith, 2002"},pipedum_81:{frequencies:[116.54094037952,117.10998793997,118.96887663743,119.87068153322,121.77339076391,122.3679873985,122.96548733697,124.86529326377,124.9173204693,126.84728204574,127.4666535401,128.08904930934,130.12220882219,130.47149010419,131.10855792696,133.18964614802,133.83998621711,135.96443044277,136.62831926329,136.99506460939,139.16958944446,139.84912845542,140.53198552796,142.70319230145,142.76265196491,144.96832233798,145.6761754744,146.38748492496,148.71109579678,149.83835191653,152.21673845488,152.95998424812,153.70685917121,155.38792050603,156.14665058662,156.56578812502,159.82757537763,160.60798346053,163.08936263023,163.15731653133,163.95398311595,166.48705768503,167.29998277138,169.12970939431,169.95553805347,170.78539907912,173.96198680558,174.81141056928,175.66498190995,177.58619486403,178.45331495614,182.66008614586,183.55198109774,184.08675852442,184.44823100545,186.46550460723,187.37598070395,190.2709230686,191.19998031015,193.29109645065,194.23490063253,195.18331323328,199.78446922203,200.75997932566,202.95565127318,203.94664566416,204.94247889494,208.7543841667,209.77369268314,210.79797829194,213.10343383684,214.14397794737,217.45248350698,218.5142632116,218.60531082127,221.98274358004,223.06664369518,227.71386543882,228.32510768232,229.43997637218,231.94931574077,233.08188075904],description:"81/80, 126/125 and 17294403/16777216, Gene Ward Smith, 2002"},pipedum_87:{frequencies:[82.40688922822,83.34286871081,83.43697534357,84.3846545697,84.87648045204,85.84050961273,86.81548824043,86.91351598289,87.90068184343,87.99993493267,88.99944036648,90.43280025045,90.53491248218,91.56321025358,92.60318745646,92.70775038175,93.76072729966,93.86659726152,95.37834401414,96.46165360048,96.57057331432,97.66742427048,97.77770548075,98.88826707386,100.01144245297,100.59434720242,101.73690028175,101.85177654245,103.00861153527,104.17858588852,104.29621917947,105.48081821212,105.59992191921,107.30063701591,108.51936030054,108.64189497861,109.87585230429,111.12382494775,111.2493004581,112.5128727596,113.16864060272,114.45401281697,115.75398432057,115.88468797718,117.20090912458,117.3332465769,118.66592048864,120.5770670006,120.7132166429,122.0842803381,122.22213185094,123.61033384233,125.01430306622,125.15546301536,127.17112535219,128.61553813397,128.76076441909,130.22323236064,130.37027397433,131.85102276515,133.3485899373,133.49916054972,135.64920037567,135.80236872326,137.34481538037,138.90478118469,139.06162557262,140.6410909495,140.79989589228,143.06751602122,144.69248040072,144.85585997148,146.50113640572,146.66655822112,148.3324006108,150.01716367946,150.89152080363,152.60535042263,154.33864576076,154.51291730291,156.26787883277,156.4443287692,158.22122731818,160.76942266746,160.95095552387,162.7790404508,162.96284246792,164.81377845644],description:"67108864/66430125 and 15625/15552, Op de Coul"},pipedum_9:{frequencies:[261.6255653006,280.31310567921,305.22982618403,327.03195662575,348.83408706747,392.4383479509,420.46965851882,448.50096908674,490.54793493862,523.2511306012],description:"225/224, 49/48 and 36/35 are homophonic intervals"},pipedum_99:{frequencies:[41.20344461411,41.53307217102,41.72802550619,42.06184971024,42.3806858888,42.72949811834,42.92025480636,43.26361684482,43.60972577957,43.95034092172,44.14654780083,44.49972018324,44.86597302425,45.06626754668,45.407877738,45.78160512679,46.1478579678,46.35387519087,46.73538856693,47.08965098755,47.46636819545,47.68917200707,48.07068538313,48.45525086619,48.65129757643,49.0517197787,49.44413353693,49.83968660523,50.07363060743,50.47421965228,50.85682306656,51.275397742,51.50430576764,51.91634021378,52.34363519496,52.55541404861,52.975857361,53.41187264792,53.8391676291,54.07952105602,54.50191086522,54.93792615215,55.37742956136,55.62465022905,56.08246628032,56.50758118507,56.7598471725,57.22700640849,57.68482245975,58.14630103943,58.41923570866,58.86206373444,59.33296024432,59.82129736567,60.08835672891,60.56906358274,61.04214016905,61.31464972338,61.80516692116,62.29960825653,62.81236223395,63.06649685833,63.5710288332,64.0942471775,64.60700115492,64.89542526722,65.40229303827,65.92551138258,66.21982170125,66.7648408099,67.29895953638,67.80909742208,68.12738858153,68.67240769018,69.2217869517,69.77556124732,70.1030828504,70.63447648133,71.19955229318,71.53375801061,72.10602807469,72.68287629929,73.25056820286,73.57757966805,74.1662003054,74.77662170709,75.37483468075,75.67979623,76.30267521131,76.91309661301,77.25645865146,77.87451032067,78.48275164592,79.11061365909,79.4637860415,80.11780897188,80.75875144366,81.37091690649,81.75286629784,82.40688922822],description:"2401/2400, 3136/3125 and 4375/4374, Gene Ward Smith, 2002"},pipedum_9a:{frequencies:[261.6255653006,282.62020942966,305.22982618403,329.72357766794,356.10146388137,384.67750727926,415.4517078616,448.79042515914,484.69365917187,523.2511306012],description:"4375/4374, 2401/2400 and 21/20 are homophonic intervals"},pipedum_9b:{frequencies:[261.6255653006,279.06726965397,306.59245933664,327.03195662575,357.20610515709,383.2405741708,418.60090448096,446.50763144636,490.54793493862,523.2511306012],description:"128/125 and 2109375/2097152 are homophonic intervals"},pipedum_9c:{frequencies:[261.6255653006,285.40970760065,305.22982618403,332.97799220076,348.83408706747,392.4383479509,411.12588832951,448.50096908674,479.64686971777,523.2511306012],description:"49/48, 21/20, 99/98 and 121/120, Gene Ward Smith, 2002"},pipedum_9d:{frequencies:[261.6255653006,277.4816601673,308.34441624714,327.03195662575,346.85207520913,394.68085279633,418.60090448096,443.97065626768,493.35106599542,523.2511306012],description:"128/125, 36/35, 99/98 and 121/120, Gene Ward Smith, 2002"},pipedum_9e:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,502.32108537715,523.2511306012],description:"21/20, 27/25 and 128/125"},polansky_ps:{frequencies:[261.6255653006,523.2511306012,784.8766959018,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,2877.8812183066,3139.5067836072,3401.1323489078,3662.7579142084,3924.383479509,4186.0090448096,4447.6346101102,327.03195662575,654.0639132515,981.09586987725,1308.127826503,1635.15978312875,1962.1917397545,2289.22369638025,2616.255653006,2943.28760963175,3270.3195662575,3597.35152288325,3924.383479509,4251.41543613475,4578.4473927605,4905.47934938625,5232.511306012,5559.54326263775,392.4383479509,784.8766959018,1177.3150438527,1569.7533918036,1962.1917397545,2354.6300877054,2747.0684356563,3139.5067836072,3531.9451315581,3924.383479509,4316.8218274599,4709.2601754108,5101.6985233617,5494.1368713126,5886.5752192635,6279.0135672144,6671.4519151653],description:"Three interlocking harmonic series on 1:5:3 by Larry Polansky in Psaltery"},poole:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Poole's double diatonic or dichordal scale"},porcupine:{frequencies:[261.6255653006,268.5059110196,275.56719913678,277.81869773502,285.12489766782,287.45448663717,295.01409284105,302.77250493809,305.24628043356,313.27378316024,315.83336022842,324.13928669805,332.66364612382,335.38164643474,344.20166244741,347.01393314922,356.13986022226,365.50578499276,368.49211923405,378.18288921726,381.27279846892,391.29968045081,401.5902538439,404.87141319969,415.51890206933,418.91386427268,429.93064777916,441.23715556831,444.84224659643,456.54090625717,460.27103529174,472.37544811397,484.79818817936,488.75918813348,501.6127950959,505.71118020326,519.01059820838,523.2511306012],description:"porcupine temperament, g=162.996, 5-limit"},portbag1:{frequencies:[261.6255653006,281.75060878526,311.64221749042,334.88072358477,376.74081403286,413.43299207996,457.84473927605,523.2511306012],description:"Portugese bagpipe tuning"},portbag2:{frequencies:[261.6255653006,274.70684356563,281.75060878526,310.07474405997,317.68818643644,343.38355445704,372.08969287196,392.4383479509,408.78994578219,482.37213602298,523.2511306012],description:"Portugese bagpipe tuning 2"},prelleur:{frequencies:[261.6255653006,276.42153822591,293.20376052703,310.91918875105,328.72923110101,349.43408698743,368.89538496172,391.53834819612,414.55891854195,438.90564190541,466.17878415199,492.19384741628,523.2511306012],description:"Peter Prelleur's well temperament (1731)"},preston:{frequencies:[261.6255653006,276.24946721727,293.45376109391,311.26733605541,328.91048112005,349.30075403587,368.79929095641,391.73834630677,413.67420227347,439.48064068428,466.20100528964,492.6657196346,523.2511306012],description:"Preston's equal beating temperament (1785)"},preston2:{frequencies:[261.6255653006,276.2302000593,293.37610901672,311.58628319174,328.97985807656,349.39999567988,368.9044325484,391.80273191286,413.67420227347,439.35140993827,466.62242981045,492.67053466508,523.2511306012],description:"Preston's theoretically correct well temperament"},prime_10:{frequencies:[261.6255653006,277.97716313189,310.68035879446,327.03195662575,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,474.19633710734,523.2511306012],description:"First 10 prime numbers reduced by 2/1"},prime_5:{frequencies:[261.6255653006,294.32876096318,327.03195662575,392.4383479509,436.04260883433,523.2511306012],description:'What Lou Harrison calls "the Prime Pentatonic", a widely used scale'},primes6:{frequencies:[261.6255653006,523.2511306012,784.8766959018,1308.127826503,1831.3789571042,2877.8812183066,3401.1323489078],description:"First 6 primes"},prinz:{frequencies:[261.6255653006,275.62199471997,292.50627485027,310.07474405997,327.03195662575,348.83408706747,367.49599295996,391.22147055517,413.43299207996,437.39890198442,465.11211608996,490.54793493862,523.2511306012],description:"Prinz well-tempermament (1808)"},prinz2:{frequencies:[261.6255653006,275.62199471997,291.81313052759,310.07474405997,327.03195662575,348.83408706747,367.49599295996,390.42584360243,413.43299207996,436.71344361716,465.11211608996,490.54793493862,523.2511306012],description:"Prinz equal beating temperament (1808)"},"prod13-2":{frequencies:[261.6255653006,265.71346475842,269.80136421624,286.15296204753,292.28481123426,294.32876096318,314.76825825228,318.85615771011,327.03195662575,343.38355445704,345.42750418595,359.73515228832,371.99885066179,392.4383479509,400.61414686654,408.78994578219,425.14154361347,449.66894036041,457.84473927605,490.54793493862,494.63583439645,523.2511306012],description:"13-limit binary products [1 3 5 7 11 13]"},prod13:{frequencies:[261.6255653006,265.71346475842,269.80136421624,286.15296204753,292.28481123426,294.32876096318,314.76825825228,318.85615771011,327.03195662575,331.11985608357,343.38355445704,345.42750418595,359.73515228832,367.91095120397,371.99885066179,392.4383479509,400.61414686654,404.70204632437,408.78994578219,425.14154361347,441.49314144476,449.66894036041,457.84473927605,478.28423656516,490.54793493862,494.63583439645,515.07533168556,523.2511306012],description:"13-limit binary products [1 3 5 7 9 11 13]"},prod7d:{frequencies:[261.6255653006,265.7783520514,267.90457886781,273.37201925287,279.06726965397,286.15296204753,294.32876096318,299.00064605783,300.46061014991,306.59245933664,310.07474405997,318.93402246168,327.03195662575,334.88072358477,341.71502406609,343.38355445704,348.83408706747,350.53737850823,357.69120255941,367.91095120397,372.08969287196,382.72082695402,390.53145607553,392.4383479509,398.6675280771,400.61414686654,408.78994578219,418.60090448096,429.2294430713,441.49314144476,446.50763144636,455.62003208812,457.84473927605,465.11211608996,478.40103369253,490.54793493862,500.76768358318,510.98743222773,515.07533168556,523.2511306012],description:"Double Cubic Corner 7-limit. Chalmers '96"},prod7s:{frequencies:[261.6255653006,286.15296204753,294.32876096318,300.46061014991,306.59245933664,327.03195662575,343.38355445704,350.53737850823,357.69120255941,367.91095120397,392.4383479509,400.61414686654,408.78994578219,429.2294430713,441.49314144476,457.84473927605,490.54793493862,500.76768358318,510.98743222773,515.07533168556,523.2511306012],description:"Single Cubic Corner 7-limit"},prodq13:{frequencies:[261.6255653006,265.71346475842,269.80136421624,276.76092858245,279.06726965397,286.15296204753,292.28481123426,294.32876096318,299.00064605783,304.4370214407,314.76825825228,318.85615771011,322.00069575458,327.03195662575,334.88072358477,341.71502406609,343.38355445704,345.42750418595,348.83408706747,359.73515228832,368.0007951481,371.99885066179,380.54627680087,392.4383479509,396.30854862103,400.61414686654,408.78994578219,418.60090448096,425.14154361347,429.33426100611,434.91003062957,449.66894036041,457.84473927605,465.11211608996,468.3646483703,478.40103369253,490.54793493862,494.63583439645,507.3950357345,515.20111320734,523.2511306012],description:"13-limit Binary products and quotients. Chalmers '96"},prog_ennea:{frequencies:[261.6255653006,269.29177952703,285.30470202322,311.12698372208,349.22823143301,391.99543598175,403.48177901006,427.47405410759,466.16376151809,523.2511306012],description:"Progressive Enneatonic, 50+100+150+200 cents in each half (500 cents)"},prog_ennea1:{frequencies:[261.6255653006,269.10058145205,285.40970760065,310.68035879446,348.83408706747,392.4383479509,404.33041910093,428.11456140098,465.11211608996,523.2511306012],description:"Progressive Enneatonic, appr. 50+100+150+200 cents in each half (500 cents)"},prog_ennea2:{frequencies:[261.6255653006,269.55361273395,285.40970760065,321.08592105074,348.83408706747,392.4383479509,404.33041910093,428.11456140098,481.6288815761,523.2511306012],description:"Progressive Enneatonic, appr. 50+100+200+150 cents in each half (500 cents)"},prog_ennea3:{frequencies:[261.6255653006,269.55361273395,285.40970760065,310.07474405997,348.83408706747,392.4383479509,404.33041910093,428.11456140098,465.11211608996,523.2511306012],description:"Progressive Enneatonic, appr. 50+100+150+200 cents in each half (500 cents)"},prooijen1:{frequencies:[261.6255653006,339.14425131559,366.27579142084,436.04260883433,470.92601754108,610.45965236807,726.73768139056,784.8766959018],description:"Kees van Prooijen, major mode of Bohlen-Pierce"},prooijen2:{frequencies:[261.6255653006,311.45900631024,336.37572681506,436.04260883433,470.92601754108,560.62621135843,726.73768139056,784.8766959018],description:"Kees van Prooijen, minor mode of Bohlen-Pierce"},"ps-dorian":{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,392.4383479509,490.54793493862,504.56359022259,523.2511306012],description:"Complex 4 of p. 115 based on Archytas's Enharmonic"},"ps-enh":{frequencies:[261.6255653006,266.38239376061,279.06726965397,348.83408706747,392.4383479509,399.57359064092,418.60090448096,523.2511306012],description:"Dorian mode of an Enharmonic genus found in Ptolemy's Harmonics"},"ps-hypod":{frequencies:[261.6255653006,294.32876096318,367.91095120397,378.42269266694,392.4383479509,406.97310157871,418.60090448096,523.2511306012],description:"Complex 7 of p. 115 based on Archytas's Enharmonic"},"ps-hypod2":{frequencies:[261.6255653006,294.32876096318,305.22982618403,313.95067836072,392.4383479509,490.54793493862,504.56359022259,523.2511306012],description:"Complex 8 of p. 115 based on Archytas's Enharmonic"},"ps-mixol":{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,436.04260883433,448.50096908674,465.11211608996,523.2511306012],description:"Complex 3 of p. 115 based on Archytas's Enharmonic"},ptolemy:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Intense Diatonic Syntonon, also Zarlino's scale"},ptolemy_chrom:{frequencies:[261.6255653006,271.31540105247,290.69507255622,348.83408706747,392.4383479509,406.97310157871,436.04260883433,523.2511306012],description:"Ptolemy Soft Chromatic"},ptolemy_ddiat:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,392.4383479509,413.43299207996,465.11211608996,523.2511306012],description:"Lyra tuning, Dorian mode, comb. of diatonon toniaion & diatonon ditoniaion"},ptolemy_diat:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:"Ptolemy's Diatonon Ditoniaion & Archytas' Diatonic, also Lyra tuning"},ptolemy_diat2:{frequencies:[261.6255653006,271.31540105247,305.22982618403,348.83408706747,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"Dorian mode of a permutation of Ptolemy's Tonic Diatonic"},ptolemy_diat3:{frequencies:[261.6255653006,294.32876096318,313.95067836072,348.83408706747,392.4383479509,441.49314144476,470.92601754108,523.2511306012],description:"Dorian mode of the remaining permutation of Ptolemy's Intense Diatonic"},ptolemy_diat4:{frequencies:[261.6255653006,299.00064605783,310.07474405997,348.83408706747,392.4383479509,448.50096908674,465.11211608996,523.2511306012],description:"permuted Ptolemy's diatonic"},ptolemy_diat5:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Sterea lyra, Dorian, comb. of 2 Tonic Diatonic 4chords, also Archytas' diatonic"},ptolemy_diff:{frequencies:[261.6255653006,294.32876096318,327.03195662575,343.38355445704,392.4383479509,425.14154361347,490.54793493862,523.2511306012],description:"Difference tones of Intense Diatonic reduced by 2/1"},ptolemy_enh:{frequencies:[261.6255653006,267.43946675172,279.06726965397,348.83408706747,392.4383479509,401.15920012759,418.60090448096,523.2511306012],description:"Dorian mode of Ptolemy's Enharmonic"},ptolemy_exp:{frequencies:[261.6255653006,272.52663052146,275.93321340298,287.4304306281,290.69507255622,294.32876096318,306.59245933664,327.03195662575,340.65828815182,344.91651675372,348.83408706747,363.36884069528,367.91095120397,383.2405741708,392.4383479509,408.78994578219,413.89982010446,431.14564594215,436.04260883433,441.49314144476,459.88868900496,490.54793493862,510.98743222773,517.37477513058,523.2511306012],description:"Intense Diatonic expanded: all interval combinations"},ptolemy_hom:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Dorian mode of Ptolemy's Equable Diatonic or Diatonon Homalon"},ptolemy_iast:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Ptolemy's Iastia or Lydia tuning, mixture of Tonic Diatonic & Intense Diatonic"},ptolemy_iastaiol:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,392.4383479509,441.49314144476,465.11211608996,523.2511306012],description:"Ptolemy's kithara tuning, mixture of Tonic Diatonic and Ditone Diatonic"},ptolemy_ichrom:{frequencies:[261.6255653006,274.08392555301,299.00064605783,348.83408706747,392.4383479509,411.12588832951,448.50096908674,523.2511306012],description:"Dorian mode of Ptolemy's Intense Chromatic"},ptolemy_idiat:{frequencies:[261.6255653006,279.06726965397,313.95067836072,348.83408706747,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Dorian mode of Ptolemy's Intense Diatonic (Diatonon Syntonon)"},ptolemy_imix:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Ptolemy Intense Diatonic mixed with its inverse"},ptolemy_malak:{frequencies:[261.6255653006,274.08392555301,299.00064605783,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Ptolemy's Malaka lyra tuning, a mixture of Intense Chrom. & Tonic Diatonic"},ptolemy_malak2:{frequencies:[261.6255653006,271.31540105247,290.69507255622,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Malaka lyra, mixture of his Soft Chromatic and Tonic Diatonic."},ptolemy_mdiat:{frequencies:[261.6255653006,274.70684356563,305.22982618403,348.83408706747,392.4383479509,412.06026534844,457.84473927605,523.2511306012],description:"Ptolemy soft diatonic"},ptolemy_mdiat2:{frequencies:[261.6255653006,290.69507255622,305.22982618403,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"permuted Ptolemy soft diatonic"},ptolemy_mdiat3:{frequencies:[261.6255653006,299.00064605783,313.95067836072,348.83408706747,392.4383479509,448.50096908674,470.92601754108,523.2511306012],description:"permuted Ptolemy soft diatonic"},ptolemy_meta:{frequencies:[261.6255653006,274.70684356563,305.22982618403,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Metabolika lyra tuning, mixture of Soft Diatonic & Tonic Diatonic"},ptolemy_mix:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,348.83408706747,353.19451315581,367.91095120397,372.08969287196,387.59343007496,392.4383479509,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"All modes of Ptolemy Intense Diatonic mixed"},ptolemy_prod:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,331.11985608357,348.83408706747,363.36884069528,367.91095120397,372.08969287196,387.59343007496,392.4383479509,418.60090448096,436.04260883433,441.49314144476,465.11211608996,484.4917875937,490.54793493862,523.2511306012],description:"Product of Intense Diatonic with its intervals"},ptolemy_tree:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,470.92601754108,479.64686971777,485.87604984397,490.54793493862,523.2511306012],description:"Intense Diatonic with all their Farey parent fractions"},pygmie:{frequencies:[261.6255653006,299.00064605783,343.38355445704,392.4383479509,457.84473927605,523.2511306012],description:"Pygmie scale"},pyle:{frequencies:[261.6255653006,277.19063644077,293.6461094938,311.15753660095,329.66944764997,349.23831768549,369.99228554622,391.93430587921,415.28070933274,439.96441988338,466.23108306565,493.99742571239,523.2511306012],description:"Howard Willet Pyle quasi equal temperament"},pyramid:{frequencies:[261.6255653006,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:'This scale may also be called the "Wedding Cake"'},pyramid_down:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,334.88072358477,348.83408706747,392.4383479509,418.60090448096,441.49314144476,465.11211608996,470.92601754108,502.32108537715,523.2511306012],description:"Upside-Down Wedding Cake (divorce cake)"},pyth_12:{frequencies:[261.6255653006,279.38237857051,294.32876096318,310.07474405997,331.11985608357,348.83408706747,372.50983809402,392.4383479509,419.07356785577,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"12-tone Pythagorean scale"},pyth_12s:{frequencies:[261.6255653006,279.38237857051,294.32876096318,314.30517589183,326.6631048533,348.83408706747,367.49599295996,392.4383479509,419.07356785577,435.55080647107,471.45776383774,489.99465727995,523.2511306012],description:"Scale with major thirds flat by a schisma"},pyth_17:{frequencies:[261.6255653006,275.62199471997,279.38237857051,294.32876096318,310.07474405997,314.30517589183,331.11985608357,348.83408706747,367.49599295996,372.50983809402,392.4383479509,413.43299207996,419.07356785577,441.49314144476,465.11211608996,471.45776383774,496.67978412536,523.2511306012],description:"17-tone Pythagorean scale"},pyth_17s:{frequencies:[261.6255653006,275.62199471997,279.06726965397,294.32876096318,310.07474405997,313.95067836072,331.11985608357,348.83408706747,367.49599295996,372.08969287196,392.4383479509,413.43299207996,418.60090448096,441.49314144476,465.11211608996,470.92601754108,496.67978412536,523.2511306012],description:"Schismatically altered 17-tone Pythagorean scale"},pyth_22:{frequencies:[261.6255653006,275.62199471997,279.38237857051,290.36720431405,294.32876096318,310.07474405997,314.30517589183,326.6631048533,331.11985608357,348.83408706747,353.59332287831,367.49599295996,372.50983809402,392.4383479509,413.43299207996,419.07356785577,435.55080647107,441.49314144476,465.11211608996,471.45776383774,489.99465727995,496.67978412536,523.2511306012],description:"Pythagorean shrutis"},pyth_27:{frequencies:[261.6255653006,265.19499215873,275.62199471997,279.38237857051,290.36720431405,294.32876096318,298.34436617857,310.07474405997,314.30517589183,326.6631048533,331.11985608357,348.83408706747,353.59332287831,367.49599295996,372.50983809402,387.15627241873,392.4383479509,397.79248823809,413.43299207996,419.07356785577,435.55080647107,441.49314144476,447.51654926786,465.11211608996,471.45776383774,489.99465727995,496.67978412536,523.2511306012],description:"27-tone Pythagorean scale"},pyth_31:{frequencies:[261.6255653006,265.19499215873,275.62199471997,279.38237857051,283.19406633357,294.32876096318,298.34436617857,310.07474405997,314.30517589183,318.59332496145,326.6631048533,331.11985608357,335.63741195089,348.83408706747,353.59332287831,367.49599295996,372.50983809402,377.59208844475,392.4383479509,397.79248823809,413.43299207996,419.07356785577,424.79110016094,441.49314144476,447.51654926786,465.11211608996,471.45776383774,477.8899872033,489.99465727995,496.67978412536,503.45611792634,523.2511306012],description:"31-tone Pythagorean scale"},pyth_7a:{frequencies:[261.6255653006,277.97716313189,294.32876096318,312.72430852337,331.11985608357,348.83408706747,370.63621750918,392.4383479509,416.96574469783,441.49314144476,469.08646278506,496.67978412536,523.2511306012],description:"Pythagorean 7-tone with whole tones divided arithmetically"},pyth_7h:{frequencies:[261.6255653006,277.01530443593,294.32876096318,311.64221749042,331.11985608357,348.83408706747,369.35373924791,392.4383479509,415.52295665389,441.49314144476,467.46332623563,496.67978412536,523.2511306012],description:"Pythagorean 7-tone with whole tones divided harmonically"},pyth_chrom:{frequencies:[261.6255653006,275.62199471997,294.32876096318,348.83408706747,392.4383479509,413.43299207996,441.49314144476,465.11211608996,523.2511306012],description:"Dorian mode of the so-called Pythagorean chromatic, recorded by Gaudentius"},pyth_sev:{frequencies:[261.6255653006,268.38018042036,275.30918532257,282.41708286353,291.47537246454,299.00064605783,306.7202061947,314.63906894008,322.76237975718,333.11471138804,341.71502406609,350.53737850823,359.58750736009,368.87129039875,380.70252730062,390.53145607553,400.61414686654,410.95715126868,421.56719060242,435.08860262928,446.32166408632,457.84473927605,469.66531573563,481.7910743145,497.2441172906,510.08190181294,523.2511306012],description:"26-tone Pythagorean scale based on 7/4"},pyth_sev_16:{frequencies:[261.6255653006,268.38018042036,275.30918532257,282.41708286353,306.7202061947,314.63906894008,322.76237975718,350.53737850823,359.58750736009,368.87129039875,400.61414686654,410.95715126868,421.56719060242,457.84473927605,469.66531573563,481.7910743145,523.2511306012],description:'16-tone Pythagorean scale based on 7/4, "Armodue"'},pyth_third:{frequencies:[261.6255653006,267.90457886781,274.33428876064,280.9183116909,287.66035117148,290.46272611903,297.43383186155,304.57224382623,311.88197767806,319.36714514233,327.03195662575,334.88072358477,342.9178609508,351.14788961362,359.57543896435,363.07840893547,371.79228894479,380.71530478279,389.85247209758,399.20893142792,408.78994578219,418.60090448096,428.6473261885,438.93486201703,449.46929870544,453.84801015616,464.74036282794,475.89413097849,487.31559012197,499.0111642849,510.98743222773,523.2511306012],description:"Cycle of 5/4 thirds"}};o.prototype._tune=function(i,n=220){const e=new t;if(!e.isValidScale(i))throw new Error('not a valid tune.js scale name: "'+i+'". See http://abbernie.github.io/tune/scales.html');return e.loadScale(i),e.tonicize(n),this._asNumber()._withHap(r=>r.withValue(()=>e.note(r.value)).setContext(a(c({},r.context),{type:"frequency"})))};o.prototype.define("tune",(i,n)=>n.tune(i),{composable:!0,patternified:!0}); diff --git a/assets/index.02484878.js b/assets/index.f7d7871f.js similarity index 99% rename from assets/index.02484878.js rename to assets/index.f7d7871f.js index 7463653ba..469ac5e98 100644 --- a/assets/index.02484878.js +++ b/assets/index.f7d7871f.js @@ -1 +1 @@ -var Bn=Object.defineProperty,Hn=Object.defineProperties;var Ln=Object.getOwnPropertyDescriptors;var kt=Object.getOwnPropertySymbols;var Un=Object.prototype.hasOwnProperty,Xn=Object.prototype.propertyIsEnumerable;var Rt=(t,n,e)=>n in t?Bn(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,y=(t,n)=>{for(var e in n||(n={}))Un.call(n,e)&&Rt(t,e,n[e]);if(kt)for(var e of kt(n))Xn.call(n,e)&&Rt(t,e,n[e]);return t},g=(t,n)=>Hn(t,Ln(n));import{P as w,z as Kn,A as Qn,B as Y,C as Yn,D as Zn,H as Jn,E as Wn}from"./index.da4a4bfc.js";const x=(t,n)=>Array(Math.abs(n)+1).join(t);function v(t,n,e){return function(...o){return console.warn(`${t} is deprecated. Use ${n}.`),e.apply(this,o)}}function q(t){return t!==null&&typeof t=="object"&&typeof t.name=="string"}function G(t){return t!==null&&typeof t=="object"&&typeof t.step=="number"&&typeof t.alt=="number"}const Yt=[0,2,4,-1,1,3,5],Zt=Yt.map(t=>Math.floor(t*7/12));function et(t){const{step:n,alt:e,oct:o,dir:r=1}=t,i=Yt[n]+7*e;if(o===void 0)return[r*i];const a=o-Zt[n]-4*e;return[r*i,r*a]}const te=[3,0,4,1,5,2,6];function ot(t){const[n,e,o]=t,r=te[ne(n)],i=Math.floor((n+1)/7);if(e===void 0)return{step:r,alt:i,dir:o};const a=e+4*i+Zt[r];return{step:r,alt:i,oct:a,dir:o}}function ne(t){const n=(t+1)%7;return n<0?7+n:n}const Jt={empty:!0,name:"",pc:"",acc:""},Ot=new Map,vt=t=>"CDEFGAB".charAt(t),k=t=>t<0?x("b",-t):x("#",t),B=t=>t[0]==="b"?-t.length:t.length;function u(t){const n=Ot.get(t);if(n)return n;const e=typeof t=="string"?re(t):G(t)?u(ie(t)):q(t)?u(t.name):Jt;return Ot.set(t,e),e}const ee=/^([a-gA-G]?)(#{1,}|b{1,}|x{1,}|)(-?\d*)\s*(.*)$/;function rt(t){const n=ee.exec(t);return[n[1].toUpperCase(),n[2].replace(/x/g,"##"),n[3],n[4]]}function z(t){return u(ot(t))}const oe=(t,n)=>(t%n+n)%n,ht=[0,2,4,5,7,9,11];function re(t){const n=rt(t);if(n[0]===""||n[3]!=="")return Jt;const e=n[0],o=n[1],r=n[2],i=(e.charCodeAt(0)+3)%7,a=B(o),s=r.length?+r:void 0,c=et({step:i,alt:a,oct:s}),l=e+o+r,m=e+o,d=(ht[i]+a+120)%12,M=s===void 0?oe(ht[i]+a,12)-12*99:ht[i]+a+12*(s+1),b=M>=0&&M<=127?M:null,p=s===void 0?null:Math.pow(2,(M-69)/12)*440;return{empty:!1,acc:o,alt:a,chroma:d,coord:c,freq:p,height:M,letter:e,midi:b,name:l,oct:s,pc:m,step:i}}function ie(t){const{step:n,alt:e,oct:o}=t,r=vt(n);if(!r)return"";const i=r+k(e);return o||o===0?i+o:i}const yt={empty:!0,name:"",acc:""},ae="([-+]?\\d+)(d{1,4}|m|M|P|A{1,4})",se="(AA|A|P|M|m|d|dd)([-+]?\\d+)",ce=new RegExp("^"+ae+"|"+se+"$");function Nt(t){const n=ce.exec(`${t}`);return n===null?["",""]:n[1]?[n[1],n[2]]:[n[4],n[3]]}const Ft={};function f(t){return typeof t=="string"?Ft[t]||(Ft[t]=me(t)):G(t)?f(le(t)):q(t)?f(t.name):yt}const zt=[0,2,4,5,7,9,11],Wt="PMMPPMM";function me(t){const n=Nt(t);if(n[0]==="")return yt;const e=+n[0],o=n[1],r=(Math.abs(e)-1)%7,i=Wt[r];if(i==="M"&&o==="P")return yt;const a=i==="M"?"majorable":"perfectable",s=""+e+o,c=e<0?-1:1,l=e===8||e===-8?e:c*(r+1),m=ue(a,o),d=Math.floor((Math.abs(e)-1)/7),M=c*(zt[r]+m+12*d),b=(c*(zt[r]+m)%12+12)%12,p=et({step:r,alt:m,oct:d,dir:c});return{empty:!1,name:s,num:e,q:o,step:r,alt:m,dir:c,type:a,simple:l,semitones:M,chroma:b,coord:p,oct:d}}function H(t,n){const[e,o=0]=t,r=e*7+o*12<0,i=n||r?[-e,-o,-1]:[e,o,1];return f(ot(i))}function ue(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 le(t){const{step:n,alt:e,oct:o=0,dir:r}=t;if(!r)return"";const i=n+1+7*o,a=i===0?n+1:i,s=r<0?"-":"",c=Wt[n]==="M"?"majorable":"perfectable";return s+a+de(c,e)}function de(t,n){return n===0?t==="majorable"?"M":"P":n===-1&&t==="majorable"?"m":n>0?x("A",n):x("d",t==="perfectable"?n:n+1)}function P(t,n){const e=u(t),o=f(n);if(e.empty||o.empty)return"";const r=e.coord,i=o.coord,a=r.length===1?[r[0]+i[0]]:[r[0]+i[0],r[1]+i[1]];return z(a).name}function R(t,n){const e=u(t),o=u(n);if(e.empty||o.empty)return"";const r=e.coord,i=o.coord,a=i[0]-r[0],s=r.length===2&&i.length===2?i[1]-r[1]:-Math.floor(a*7/12),c=o.height===e.height&&o.midi!==null&&e.midi!==null&&e.step>o.step;return H([a,s],c).name}var tn=Object.freeze(Object.defineProperty({__proto__:null,accToAlt:B,altToAcc:k,coordToInterval:H,coordToNote:z,decode:ot,deprecate:v,distance:R,encode:et,fillStr:x,interval:f,isNamed:q,isPitch:G,note:u,stepToLetter:vt,tokenizeInterval:Nt,tokenizeNote:rt,transpose:P},Symbol.toStringTag,{value:"Module"}));const qt=(t,n)=>Array(n+1).join(t),Me=/^(_{1,}|=|\^{1,}|)([abcdefgABCDEFG])([,']*)$/;function nn(t){const n=Me.exec(t);return n?[n[1],n[2],n[3]]:["","",""]}function W(t){const[n,e,o]=nn(t);if(e==="")return"";let r=4;for(let a=0;a96?e.toUpperCase()+i+(r+1):e+i+r}function en(t){const n=u(t);if(n.empty||!n.oct&&n.oct!==0)return"";const{letter:e,acc:o,oct:r}=n,i=o[0]==="b"?o.replace(/b/g,"_"):o.replace(/#/g,"^"),a=r>4?e.toLowerCase():e,s=r===5?"":r>4?qt("'",r-5):qt(",",4-r);return i+a+s}function fe(t,n){return en(P(W(t),n))}function Pe(t,n){return R(W(t),W(n))}var pe={abcToScientificNotation:W,scientificToAbcNotation:en,tokenize:nn,transpose:fe,distance:Pe};function he(t,n){const e=[];for(;n--;e[n]=n+t);return e}function ye(t,n){const e=[];for(;n--;e[n]=t-n);return e}function ge(t,n){return tn===0||n)}function on(t){return t.map(e=>u(e)).filter(e=>!e.empty).sort((e,o)=>e.height-o.height).map(e=>e.name)}function ve(t){return on(t).filter((n,e,o)=>e===0||n!==o[e-1])}function Ne(t,n=Math.random){let e,o,r=t.length;for(;r;)e=Math.floor(n()*r--),o=t[r],t[r]=t[e],t[e]=o;return t}function rn(t){return t.length===0?[[]]:rn(t.slice(1)).reduce((n,e)=>n.concat(t.map((o,r)=>{const i=e.slice();return i.splice(r,0,t[0]),i})),[])}var $e=Object.freeze(Object.defineProperty({__proto__:null,compact:Ae,permutations:rn,range:ge,rotate:be,shuffle:Ne,sortedNoteNames:on,sortedUniqNoteNames:ve},Symbol.toStringTag,{value:"Module"}));function Ie(t,n){const e=[];for(;n--;e[n]=n+t);return e}function je(t,n){const e=[];for(;n--;e[n]=t-n);return e}function it(t,n){return tn===0||n)}function Te(t,n=Math.random){let e,o,r=t.length;for(;r;)e=Math.floor(n()*r--),o=t[r],t[r]=t[e],t[e]=o;return t}function an(t){return t.length===0?[[]]:an(t.slice(1)).reduce((n,e)=>n.concat(t.map((o,r)=>{const i=e.slice();return i.splice(r,0,t[0]),i})),[])}var Se={compact:$t,permutations:an,range:it,rotate:L,shuffle:Te};const C={empty:!0,name:"",setNum:0,chroma:"000000000000",normalized:"000000000000",intervals:[]},It=t=>Number(t).toString(2),Gt=t=>parseInt(t,2),_e=/^[01]{12}$/;function sn(t){return _e.test(t)}const Ce=t=>typeof t=="number"&&t>=0&&t<=4095,Ve=t=>t&&sn(t.chroma),Bt={[C.chroma]:C};function h(t){const n=sn(t)?t:Ce(t)?It(t):Array.isArray(t)?Be(t):Ve(t)?t.chroma:C.chroma;return Bt[n]=Bt[n]||Ge(n)}const we=v("Pcset.pcset","Pcset.get",h),xe=t=>h(t).chroma,Ee=t=>h(t).intervals,De=t=>h(t).setNum,ke=["1P","2m","2M","3m","3M","4P","5d","5P","6m","6M","7m","7M"];function Re(t){const n=[];for(let e=0;e<12;e++)t.charAt(e)==="1"&&n.push(ke[e]);return n}function Oe(){return it(2048,4095).map(It)}function jt(t,n=!0){const o=h(t).chroma.split("");return $t(o.map((r,i)=>{const a=L(i,o);return n&&a[0]==="0"?null:a.join("")}))}function Fe(t,n){return h(t).setNum===h(n).setNum}function at(t){const n=h(t).setNum;return e=>{const o=h(e).setNum;return n&&n!==o&&(o&n)===o}}function st(t){const n=h(t).setNum;return e=>{const o=h(e).setNum;return n&&n!==o&&(o|n)===o}}function cn(t){const n=h(t);return e=>{const o=u(e);return n&&!o.empty&&n.chroma.charAt(o.chroma)==="1"}}function ze(t){const n=cn(t);return e=>e.filter(n)}var mn={get:h,chroma:xe,num:De,intervals:Ee,chromas:Oe,isSupersetOf:st,isSubsetOf:at,isNoteIncludedIn:cn,isEqual:Fe,filter:ze,modes:jt,pcset:we};function qe(t){const n=t.split("");return n.map((e,o)=>L(o,n).join(""))}function Ge(t){const n=Gt(t),e=qe(t).map(Gt).filter(i=>i>=2048).sort()[0],o=It(e),r=Re(t);return{empty:!1,name:"",setNum:n,chroma:t,normalized:o,intervals:r}}function Be(t){if(t.length===0)return C.chroma;let n;const e=[0,0,0,0,0,0,0,0,0,0,0,0];for(let o=0;ot.name).filter(t=>t)}function Ke(){return O.map(t=>t.aliases[0]).filter(t=>t)}function Qe(){return Object.keys(S)}function F(){return O.slice()}const Ye=v("ChordType.entries","ChordType.all",F);function Ze(){O=[],S={}}function un(t,n,e){const o=We(t),r=g(y({},h(t)),{name:e||"",quality:o,intervals:t,aliases:n});O.push(r),r.name&&(S[r.name]=r),S[r.setNum]=r,S[r.chroma]=r,r.aliases.forEach(i=>Je(r,i))}function Je(t,n){S[n]=t}function We(t){const n=e=>t.indexOf(e)!==-1;return n("5A")?"Augmented":n("3M")?"Major":n("5d")?"Diminished":n("3m")?"Minor":"Unknown"}He.forEach(([t,n,e])=>un(t.split(" "),e.split(" "),n));O.sort((t,n)=>t.setNum-n.setNum);var ln={names:Xe,symbols:Ke,get:Tt,all:F,add:un,removeAll:Ze,keys:Qe,entries:Ye,chordType:Ue};const to=t=>{const n=t.reduce((e,o)=>{const r=u(o).chroma;return r!==void 0&&(e[r]=e[r]||u(o).name),e},{});return e=>n[e]};function no(t){const n=t.map(o=>u(o).pc).filter(o=>o);return u.length===0?[]:eo(n,1).filter(o=>o.weight).sort((o,r)=>r.weight-o.weight).map(o=>o.name)}function eo(t,n){const e=t[0],o=u(e).chroma,r=to(t),i=jt(t,!1),a=[];return i.forEach((s,c)=>{F().filter(m=>m.chroma===s).forEach(m=>{const d=m.aliases[0],M=r(c);c!==o?a.push({weight:.5*n,name:`${M}${d}/${e}`}):a.push({weight:1*n,name:`${M}${d}`})})}),a}const oo=[["1P 2M 3M 5P 6M","major pentatonic","pentatonic"],["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 3m 3M 5P 6M","major blues"],["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 7m","whole tone","messiaen's mode #1"],["1P 2m 4P 4A 5P 7M","messiaen's mode #5"],["1P 3m 4P 5d 5P 7m","minor blues","blues"],["1P 2M 3M 4P 5d 6m 7m","locrian major","arabian"],["1P 2m 3M 4A 5P 6m 7M","double harmonic lydian"],["1P 2M 3m 4P 5P 6m 7M","harmonic minor"],["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 5P 6M 7M","lydian"],["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 4P 5P 6M 7M","melodic minor"],["1P 2m 3m 4P 5d 6m 7m","locrian"],["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 4P 5P 6m 7m","phrygian"],["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","aeolian","minor"],["1P 2M 3M 4P 5P 6m 7M","harmonic major"],["1P 2m 3M 4P 5P 6m 7M","double harmonic major","gypsy"],["1P 2M 3m 4P 5P 6M 7m","dorian"],["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 5P 6M 7m","mixolydian","dominant"],["1P 2m 3M 4P 5d 6m 7M","persian"],["1P 2M 3M 4P 5P 6M 7M","major","ionian"],["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 4P 5P 6M 7m 7M","bebop"],["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 6m 6M 7M","diminished","whole-half diminished"],["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"]],ro=g(y({},C),{intervals:[],aliases:[]});let ct=[],_={};function dn(){return ct.map(t=>t.name)}function mt(t){return _[t]||ro}const io=v("ScaleDictionary.scaleType","ScaleType.get",mt);function U(){return ct.slice()}const ao=v("ScaleDictionary.entries","ScaleType.all",U);function so(){return Object.keys(_)}function co(){ct=[],_={}}function Mn(t,n,e=[]){const o=g(y({},h(t)),{name:n,intervals:t,aliases:e});return ct.push(o),_[o.name]=o,_[o.setNum]=o,_[o.chroma]=o,o.aliases.forEach(r=>mo(o,r)),o}function mo(t,n){_[n]=t}oo.forEach(([t,n,...e])=>Mn(t.split(" "),n,e));var fn={names:dn,get:mt,all:U,add:Mn,removeAll:co,keys:so,entries:ao,scaleType:io};const gt={empty:!0,name:"",symbol:"",root:"",rootDegree:0,type:"",tonic:null,setNum:NaN,quality:"Unknown",chroma:"",normalized:"",aliases:[],notes:[],intervals:[]},uo=/^(6|64|7|9|11|13)$/;function ut(t){const[n,e,o,r]=rt(t);return n===""?["",t]:n==="A"&&r==="ug"?["","aug"]:!r&&(o==="4"||o==="5")?[n+e,o]:uo.test(o)?[n+e,o+r]:[n+e+o,r]}function X(t){if(t==="")return gt;if(Array.isArray(t)&&t.length===2)return Z(t[1],t[0]);{const[n,e]=ut(t),o=Z(e,n);return o.empty?Z(t):o}}function Z(t,n,e){const o=Tt(t),r=u(n||""),i=u(e||"");if(o.empty||n&&r.empty||e&&i.empty)return gt;const a=R(r.pc,i.pc),s=o.intervals.indexOf(a)+1;if(!i.empty&&!s)return gt;const c=Array.from(o.intervals);for(let M=1;MP(r,M));t=o.aliases.indexOf(t)!==-1?t:o.aliases[0];const m=`${r.empty?"":r.pc}${t}${i.empty||s<=1?"":"/"+i.pc}`,d=`${n?r.pc+" ":""}${o.name}${s>1&&e?" over "+i.pc:""}`;return g(y({},o),{name:d,symbol:m,type:o.name,root:i.name,intervals:c,rootDegree:s,tonic:r.name,notes:l})}const lo=v("Chord.chord","Chord.get",X);function Mo(t,n){const[e,o]=ut(t);return e?P(e,n)+o:t}function fo(t){const n=X(t),e=st(n.chroma);return U().filter(o=>e(o.chroma)).map(o=>o.name)}function Po(t){const n=X(t),e=st(n.chroma);return F().filter(o=>e(o.chroma)).map(o=>n.tonic+o.aliases[0])}function po(t){const n=X(t),e=at(n.chroma);return F().filter(o=>e(o.chroma)).map(o=>n.tonic+o.aliases[0])}var ho={getChord:Z,get:X,detect:no,chordScales:fo,extended:Po,reduced:po,tokenize:ut,transpose:Mo,chord:lo};const yo=[[.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"]]],lt=[];yo.forEach(([t,n,e])=>jo(t,n,e));const go={empty:!0,name:"",value:0,fraction:[0,0],shorthand:"",dots:"",names:[]};function bo(){return lt.reduce((t,n)=>(n.names.forEach(e=>t.push(e)),t),[])}function Ao(){return lt.map(t=>t.shorthand)}const vo=/^([^.]+)(\.*)$/;function St(t){const[n,e,o]=vo.exec(t)||[],r=lt.find(s=>s.shorthand===e||s.names.includes(e));if(!r)return go;const i=To(r.fraction,o.length),a=i[0]/i[1];return g(y({},r),{name:t,dots:o,value:a,fraction:i})}const No=t=>St(t).value,$o=t=>St(t).fraction;var Io={names:bo,shorthands:Ao,get:St,value:No,fraction:$o};function jo(t,n,e){lt.push({empty:!1,dots:"",name:"",value:1/t,fraction:t<1?[1/t,1]:[1,t],shorthand:n,names:e})}function To(t,n){const e=Math.pow(2,n);let o=t[0]*e,r=t[1]*e;const i=o;for(let a=0;af(t).name,Co=t=>f(t).semitones,Vo=t=>f(t).q,wo=t=>f(t).num;function pn(t){const n=f(t);return n.empty?"":n.simple+n.q}function xo(t){const n=f(t);if(n.empty)return"";const e=(7-n.step)%7,o=n.type==="perfectable"?-n.alt:-(n.alt+1);return f({step:e,alt:o,oct:n.oct,dir:n.dir}).name}const Eo=[1,2,2,3,3,4,5,5,6,6,7,7],Do="P m M m M P d P m M m M".split(" ");function ko(t){const n=t<0?-1:1,e=Math.abs(t),o=e%12,r=Math.floor(e/12);return n*(Eo[o]+7*r)+Do[o]}const Ro=R,hn=gn((t,n)=>[t[0]+n[0],t[1]+n[1]]),Oo=t=>n=>hn(t,n),Fo=gn((t,n)=>[t[0]-n[0],t[1]-n[1]]);function yn(t,n){const e=Pn(t);if(e.empty)return"";const[o,r,i]=e.coord;return H([o+n,r,i]).name}var bt={names:So,get:Pn,name:_o,num:wo,semitones:Co,quality:Vo,fromSemitones:ko,distance:Ro,invert:xo,simplify:pn,add:hn,addTo:Oo,substract:Fo,transposeFifths:yn};function gn(t){return(n,e)=>{const o=f(n).coord,r=f(e).coord;if(o&&r){const i=t(o,r);return H(i).name}}}function bn(t){return+t>=0&&+t<=127}function An(t){if(bn(t))return+t;const n=u(t);return n.empty?null:n.midi}function zo(t,n=440){return Math.pow(2,(t-69)/12)*n}const qo=Math.log(2),Go=Math.log(440);function _t(t){const n=12*(Math.log(t)-Go)/qo+69;return Math.round(n*100)/100}const Bo="C C# D D# E F F# G G# A A# B".split(" "),Ho="C Db D Eb E F Gb G Ab A Bb B".split(" ");function T(t,n={}){if(isNaN(t)||t===-1/0||t===1/0)return"";t=Math.round(t);const o=(n.sharps===!0?Bo:Ho)[t%12];if(n.pitchClass)return o;const r=Math.floor(t/12)-1;return o+r}var Lo={isMidi:bn,toMidi:An,midiToFreq:zo,midiToNoteName:T,freqToMidi:_t};const Uo=["C","D","E","F","G","A","B"],vn=t=>t.name,Nn=t=>t.map(u).filter(n=>!n.empty);function Xo(t){return t===void 0?Uo.slice():Array.isArray(t)?Nn(t).map(vn):[]}const A=u,Ko=t=>A(t).name,Qo=t=>A(t).pc,Yo=t=>A(t).acc,Zo=t=>A(t).oct,Jo=t=>A(t).midi,Wo=t=>A(t).freq,tr=t=>A(t).chroma;function $n(t){return T(t)}function nr(t){return T(_t(t))}function er(t){return T(_t(t),{sharps:!0})}function or(t){return T(t,{sharps:!0})}const Ct=P,rr=P,In=t=>n=>Ct(n,t),ir=In,jn=t=>n=>Ct(t,n),ar=jn;function tt(t,n){const e=A(t);if(e.empty)return"";const[o,r]=e.coord;return z(r===void 0?[o+n]:[o+n,r]).name}const sr=tt,Vt=(t,n)=>t.height-n.height,cr=(t,n)=>n.height-t.height;function Tn(t,n){return n=n||Vt,Nn(t).sort(n).map(vn)}function Sn(t){return Tn(t,Vt).filter((n,e,o)=>e===0||n!==o[e-1])}const mr=t=>{const n=A(t);return n.empty?"":T(n.midi||n.chroma,{sharps:n.alt>0,pitchClass:n.midi===null})};function _n(t,n){const e=A(t);if(e.empty)return"";const o=A(n||T(e.midi||e.chroma,{sharps:e.alt<0,pitchClass:!0}));if(o.empty||o.chroma!==e.chroma)return"";if(e.oct===void 0)return o.pc;const r=e.chroma-e.alt,i=o.chroma-o.alt,a=r>11||i<0?-1:r<0||i>11?1:0,s=e.oct+a;return o.pc+s}var E={names:Xo,get:A,name:Ko,pitchClass:Qo,accidentals:Yo,octave:Zo,midi:Jo,ascending:Vt,descending:cr,sortedNames:Tn,sortedUniqNames:Sn,fromMidi:$n,fromMidiSharps:or,freq:Wo,fromFreq:nr,fromFreqSharps:er,chroma:tr,transpose:Ct,tr:rr,transposeBy:In,trBy:ir,transposeFrom:jn,trFrom:ar,transposeFifths:tt,trFifths:sr,simplify:mr,enharmonic:_n};const Cn={empty:!0,name:"",chordType:""},Ht={};function I(t){return typeof t=="string"?Ht[t]||(Ht[t]=pr(t)):typeof t=="number"?I(dt[t]||""):G(t)?dr(t):q(t)?I(t.name):Cn}const ur=v("RomanNumeral.romanNumeral","RomanNumeral.get",I);function lr(t=!0){return(t?dt:Pr).slice()}function dr(t){return I(k(t.alt)+dt[t.step])}const Mr=/^(#{1,}|b{1,}|x{1,}|)(IV|I{1,3}|VI{0,2}|iv|i{1,3}|vi{0,2})([^IViv]*)$/;function fr(t){return Mr.exec(t)||["","","",""]}const Vn="I II III IV V VI VII",dt=Vn.split(" "),Pr=Vn.toLowerCase().split(" ");function pr(t){const[n,e,o,r]=fr(t);if(!o)return Cn;const i=o.toUpperCase(),a=dt.indexOf(i),s=B(e),c=1;return{empty:!1,name:n,roman:o,interval:f({step:a,alt:s,dir:c}).name,acc:e,chordType:r,alt:s,step:a,major:o===i,oct:0,dir:c}}var hr={names:lr,get:I,romanNumeral:ur};const N=Object.freeze([]),wn={type:"major",tonic:"",alteration:0,keySignature:""},J={tonic:"",grades:N,intervals:N,scale:N,chords:N,chordsHarmonicFunction:N,chordScales:N},yr=g(y(y({},wn),J),{type:"major",minorRelative:"",scale:N,secondaryDominants:N,secondaryDominantsMinorRelative:N,substituteDominants:N,substituteDominantsMinorRelative:N}),gr=g(y({},wn),{type:"minor",relativeMajor:"",natural:J,harmonic:J,melodic:J}),Lt=(t,n,e="")=>n.map((o,r)=>`${t[r]}${e}${o}`);function Mt(t,n,e,o){return r=>{const i=t.map(s=>I(s).interval||""),a=i.map(s=>P(r,s));return{tonic:r,grades:t,intervals:i,scale:a,chords:Lt(a,n),chordsHarmonicFunction:e.slice(),chordScales:Lt(a,o," ")}}}const xn=(t,n)=>{const e=u(t),o=u(n);return e.empty||o.empty?0:o.coord[0]-e.coord[0]},br=Mt("I II III IV V VI VII".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(",")),Ar=Mt("I II bIII IV V bVI bVII".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(",")),vr=Mt("I II bIII IV V bVI VII".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(",")),Nr=Mt("I II bIII IV V VI VII".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 $r(t){const n=u(t).pc;if(!n)return yr;const e=br(n),o=xn("C",n),r=i=>{const a=I(i);return a.empty?"":P(t,a.interval)+a.chordType};return g(y({},e),{type:"major",minorRelative:P(n,"-3m"),alteration:o,keySignature:k(o),secondaryDominants:"- VI7 VII7 I7 II7 III7 -".split(" ").map(r),secondaryDominantsMinorRelative:"- IIIm7b5 IV#m7 Vm7 VIm7 VIIm7b5 -".split(" ").map(r),substituteDominants:"- bIII7 IV7 bV7 bVI7 bVII7 -".split(" ").map(r),substituteDominantsMinorRelative:"- IIIm7 Im7 IIbm7 VIm7 IVm7 -".split(" ").map(r)})}function Ir(t){const n=u(t).pc;if(!n)return gr;const e=xn("C",n)-3;return{type:"minor",tonic:n,relativeMajor:P(n,"3m"),alteration:e,keySignature:k(e),natural:Ar(n),harmonic:vr(n),melodic:Nr(n)}}function jr(t){return typeof t=="number"?tt("C",t):typeof t=="string"&&/^b+|#+$/.test(t)?tt("C",B(t)):null}var Tr={majorKey:$r,majorTonicFromKeySignature:jr,minorKey:Ir};const wt=[[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"]],Ut=g(y({},C),{name:"",alt:0,modeNum:NaN,triad:"",seventh:"",aliases:[]}),xt=wt.map(Vr),At={};xt.forEach(t=>{At[t.name]=t,t.aliases.forEach(n=>{At[n]=t})});function V(t){return typeof t=="string"?At[t.toLowerCase()]||Ut:t&&t.name?V(t.name):Ut}const Sr=v("Mode.mode","Mode.get",V);function En(){return xt.slice()}const _r=v("Mode.mode","Mode.all",En);function Cr(){return xt.map(t=>t.name)}function Vr(t){const[n,e,o,r,i,a,s]=t,c=s?[s]:[],l=Number(e).toString(2),m=mt(r).intervals;return{empty:!1,intervals:m,modeNum:n,chroma:l,normalized:l,name:r,setNum:e,alt:o,triad:i,seventh:a,aliases:c}}function wr(t,n){return V(t).intervals.map(e=>P(n,e))}function Dn(t){return(n,e)=>{const o=V(n);if(o.empty)return[];const r=L(o.modeNum,t),i=o.intervals.map(a=>P(e,a));return r.map((a,s)=>i[s]+a)}}const xr=Dn(wt.map(t=>t[4])),Er=Dn(wt.map(t=>t[5]));function kn(t,n){const e=V(n),o=V(t);return e.empty||o.empty?"":pn(yn("1P",o.alt-e.alt))}function Dr(t,n,e){return P(e,kn(t,n))}var kr={get:V,names:Cr,all:En,distance:kn,relativeTonic:Dr,notes:wr,triads:xr,seventhChords:Er,entries:_r,mode:Sr};function Rr(t,n){return n.map(I).map(o=>P(t,f(o))+o.chordType)}function Or(t,n){return n.map(e=>{const[o,r]=ut(e),i=R(t,o);return I(f(i)).name+r})}var Fr={fromRomanNumerals:Rr,toRomanNumerals:Or};function Rn(t){const n=$t(t.map(An));return!t.length||n.length!==t.length?[]:n.reduce((e,o)=>{const r=e[e.length-1];return e.concat(it(r,o).slice(1))},[n[0]])}function zr(t,n){return Rn(t).map(e=>T(e,n))}var qr={numeric:Rn,chromatic:zr};const Gr={empty:!0,name:"",type:"",tonic:null,setNum:NaN,chroma:"",normalized:"",aliases:[],notes:[],intervals:[]};function On(t){if(typeof t!="string")return["",""];const n=t.indexOf(" "),e=u(t.substring(0,n));if(e.empty){const r=u(t);return r.empty?["",t]:[r.name,""]}const o=t.substring(e.name.length+1);return[e.name,o.length?o:""]}const Br=dn;function j(t){const n=Array.isArray(t)?t:On(t),e=u(n[0]).name,o=mt(n[1]);if(o.empty)return Gr;const r=o.name,i=e?o.intervals.map(s=>P(e,s)):[],a=e?e+" "+r:r;return g(y({},o),{name:a,type:r,tonic:e,notes:i})}const Hr=v("Scale.scale","Scale.get",j);function Lr(t){const n=j(t),e=at(n.chroma);return F().filter(o=>e(o.chroma)).map(o=>o.aliases[0])}function Ur(t){const n=j(t),e=st(n.chroma);return U().filter(o=>e(o.chroma)).map(o=>o.name)}function Xr(t){const n=at(j(t).chroma);return U().filter(e=>n(e.chroma)).map(e=>e.name)}function Fn(t){const n=t.map(r=>u(r).pc).filter(r=>r),e=n[0],o=Sn(n);return L(o.indexOf(e),o)}function Kr(t){const n=j(t);if(n.empty)return[];const e=n.tonic?n.notes:n.intervals;return jt(n.chroma).map((o,r)=>{const i=j(o).name;return i?[e[r],i]:["",""]}).filter(o=>o[0])}function Qr(t){const n=Array.isArray(t)?Fn(t):j(t).notes,e=n.map(o=>u(o).chroma);return o=>{const r=u(typeof o=="number"?$n(o):o),i=r.height;if(i===void 0)return;const a=i%12,s=e.indexOf(a);if(s!==-1)return _n(r.name,n[s])}}function Yr(t){const n=Qr(t);return(e,o)=>{const r=u(e).height,i=u(o).height;return r===void 0||i===void 0?[]:it(r,i).map(n).filter(a=>a)}}var nt={get:j,names:Br,extended:Ur,modeNames:Kr,reduced:Xr,scaleChords:Lr,scaleNotes:Fn,tokenize:On,rangeOf:Yr,scale:Hr};const Zr={empty:!0,name:"",upper:void 0,lower:void 0,type:void 0,additive:[]},Jr=["4/4","3/4","2/4","2/2","12/8","9/8","6/8","3/8"];function Wr(){return Jr.slice()}const ti=/^(\d?\d(?:\+\d)*)\/(\d)$/,Xt=new Map;function ni(t){const n=Xt.get(t);if(n)return n;const e=oi(Et(t));return Xt.set(t,e),e}function Et(t){if(typeof t=="string"){const[i,a,s]=ti.exec(t)||[];return Et([a,s])}const[n,e]=t,o=+e;if(typeof n=="number")return[n,o];const r=n.split("+").map(i=>+i);return r.length===1?[r[0],o]:[r,o]}var ei={names:Wr,parse:Et,get:ni};function oi([t,n]){const e=Array.isArray(t)?t.reduce((s,c)=>s+c,0):t,o=n;if(e===0||o===0)return Zr;const r=Array.isArray(t)?`${t.join("+")}/${n}`:`${t}/${n}`,i=Array.isArray(t)?t:[],a=o===4||o===2?"simple":o===8&&e%3===0?"compound":"irregular";return{empty:!1,name:r,type:a,upper:e,lower:o,additive:i}}const ri=tn,ii=mn,ai=ln,si=fn;var ci=Object.freeze(Object.defineProperty({__proto__:null,Array:$e,Core:tn,ChordDictionary:ai,PcSet:ii,ScaleDictionary:si,Tonal:ri,AbcNotation:pe,Chord:ho,ChordType:ln,Collection:Se,DurationValue:Io,Interval:bt,Key:Tr,Midi:Lo,Mode:kr,Note:E,Pcset:mn,Progression:Fr,Range:qr,RomanNumeral:hr,Scale:nt,ScaleType:fn,TimeSignature:ei,accToAlt:B,altToAcc:k,coordToInterval:H,coordToNote:z,decode:ot,deprecate:v,distance:R,encode:et,fillStr:x,interval:f,isNamed:q,isPitch:G,note:u,stepToLetter:vt,tokenizeInterval:Nt,tokenizeNote:rt,transpose:P},Symbol.toStringTag,{value:"Module"}));function zn(t,n,e){let[o,r]=nt.tokenize(t),{notes:i}=nt.get(`${o} ${r}`);if(i=i.map(b=>E.get(b).pc),n=Number(n),isNaN(n))throw new Error(`scale offset "${n}" not a number`);const{pc:a,oct:s=3}=E.get(e),c=i.indexOf(a);if(c===-1)throw new Error(`note "${e}" is not in scale "${t}"`);let l=c,m=s,d=a;const M=Math.sign(n);for(;Math.abs(l-c)0&&d[0]==="C"&&(m+=M)}return d+m}w.prototype._transpose=function(t){return this._withHap(n=>{const e=isNaN(Number(t))?String(t):bt.fromSemitones(t);if(typeof n.value=="number"){const o=typeof e=="string"?bt.semitones(e)||0:e;return n.withValue(()=>n.value+o)}return n.withValue(()=>E.simplify(E.transpose(n.value,e)))})};w.prototype._scaleTranspose=function(t){return this._withHap(n=>{if(!n.context.scale)throw new Error("can only use scaleTranspose after .scale");if(typeof n.value!="string")throw new Error("can only use scaleTranspose with notes");return n.withValue(()=>zn(n.context.scale,Number(t),n.value))})};w.prototype._scale=function(t){return this._withHap(n=>{let e=n.value;const o=Number(e);if(!isNaN(o)){let[r,i]=nt.tokenize(t);const{pc:a,oct:s=3}=E.get(r);e=zn(a+" "+i,o,a+s)}return n.withValue(()=>e).setContext(g(y({},n.context),{scale:t}))})};w.prototype.define("transpose",(t,n)=>n.transpose(t),{composable:!0,patternified:!0});w.prototype.define("scale",(t,n)=>n.scale(t),{composable:!0,patternified:!0});w.prototype.define("scaleTranspose",(t,n)=>n.scaleTranspose(t),{composable:!0,patternified:!0});var qn={},Dt={},K={};K.__esModule=!0;K.getBestVoicing=void 0;function mi(t){var n=t.chord,e=t.range,o=t.finder,r=t.picker,i=t.lastVoicing,a=o(n,e);return a.length?r(a,i):[]}K.getBestVoicing=mi;var ft={},Gn=Qn(ci),Q={};Q.__esModule=!0;Q.tokenizeChord=void 0;function ui(t){var n=(t||"").match(/^([A-G][b#]*)([^\/]*)[\/]?([A-G][b#]*)?$/);return n?n.slice(1):[]}Q.tokenizeChord=ui;ft.__esModule=!0;ft.voicingsInRange=void 0;var $=Gn,li=Dt,di=Q;function Mi(t,n,e){n===void 0&&(n=li.lefthand),e===void 0&&(e=["D3","A4"]);var o=(0,di.tokenizeChord)(t),r=o[0],i=o[1];if(!n[i])return[];var a=n[i].map(function(c){return c.split(" ")}),s=$.Range.chromatic(e);return a.reduce(function(c,l){var m=l.map(function(p){return $.Interval.substract(p,l[0])}),d=$.Note.transpose(r,l[0]),M=s.filter(function(p){return $.Note.chroma(p)===$.Note.chroma(d)}).filter(function(p){return $.Note.midi($.Note.transpose(p,m[m.length-1]))<=$.Note.midi(e[1])}).map(function(p){return $.Note.enharmonic(p,d)}),b=M.map(function(p){return m.map(function(pt){return $.Note.transpose(p,pt)})});return c.concat(b)},[])}ft.voicingsInRange=Mi;(function(t){var n=Y&&Y.__assign||function(){return n=Object.assign||function(s){for(var c,l=1,m=arguments.length;lPi({chord:t,dictionary:hi,range:e,picker:pi,lastVoicing:n}),D=w;D.prototype.fmapNested=function(t){return new D(n=>this.query(n).map(e=>Zn(t(e)).query(n).map(o=>new Jn(e.whole,e.part,o.value,o.context))).flat())};D.prototype.voicings=function(t){let n;return t!=null&&t.length||(t=["F3","A4"]),this.fmapNested(e=>(n=yi(e.value,n,t),Wn(...n)._withContext(()=>({locations:e.context.locations||[]}))))};D.prototype._rootNotes=function(t=2){return this.fmap(n=>{const[e,o]=n.match(/^([a-gA-G][b#]?).*$/);return o+t})};D.prototype.define("voicings",(t,n)=>n.voicings(t),{composable:!0});D.prototype.define("rootNotes",(t,n)=>n.rootNotes(t),{composable:!0,patternified:!0}); +var Bn=Object.defineProperty,Hn=Object.defineProperties;var Ln=Object.getOwnPropertyDescriptors;var kt=Object.getOwnPropertySymbols;var Un=Object.prototype.hasOwnProperty,Xn=Object.prototype.propertyIsEnumerable;var Rt=(t,n,e)=>n in t?Bn(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,y=(t,n)=>{for(var e in n||(n={}))Un.call(n,e)&&Rt(t,e,n[e]);if(kt)for(var e of kt(n))Xn.call(n,e)&&Rt(t,e,n[e]);return t},g=(t,n)=>Hn(t,Ln(n));import{P as w,z as Kn,A as Qn,B as Y,C as Yn,D as Zn,H as Jn,E as Wn}from"./index.3580fc4e.js";const x=(t,n)=>Array(Math.abs(n)+1).join(t);function v(t,n,e){return function(...o){return console.warn(`${t} is deprecated. Use ${n}.`),e.apply(this,o)}}function q(t){return t!==null&&typeof t=="object"&&typeof t.name=="string"}function G(t){return t!==null&&typeof t=="object"&&typeof t.step=="number"&&typeof t.alt=="number"}const Yt=[0,2,4,-1,1,3,5],Zt=Yt.map(t=>Math.floor(t*7/12));function et(t){const{step:n,alt:e,oct:o,dir:r=1}=t,i=Yt[n]+7*e;if(o===void 0)return[r*i];const a=o-Zt[n]-4*e;return[r*i,r*a]}const te=[3,0,4,1,5,2,6];function ot(t){const[n,e,o]=t,r=te[ne(n)],i=Math.floor((n+1)/7);if(e===void 0)return{step:r,alt:i,dir:o};const a=e+4*i+Zt[r];return{step:r,alt:i,oct:a,dir:o}}function ne(t){const n=(t+1)%7;return n<0?7+n:n}const Jt={empty:!0,name:"",pc:"",acc:""},Ot=new Map,vt=t=>"CDEFGAB".charAt(t),k=t=>t<0?x("b",-t):x("#",t),B=t=>t[0]==="b"?-t.length:t.length;function u(t){const n=Ot.get(t);if(n)return n;const e=typeof t=="string"?re(t):G(t)?u(ie(t)):q(t)?u(t.name):Jt;return Ot.set(t,e),e}const ee=/^([a-gA-G]?)(#{1,}|b{1,}|x{1,}|)(-?\d*)\s*(.*)$/;function rt(t){const n=ee.exec(t);return[n[1].toUpperCase(),n[2].replace(/x/g,"##"),n[3],n[4]]}function z(t){return u(ot(t))}const oe=(t,n)=>(t%n+n)%n,ht=[0,2,4,5,7,9,11];function re(t){const n=rt(t);if(n[0]===""||n[3]!=="")return Jt;const e=n[0],o=n[1],r=n[2],i=(e.charCodeAt(0)+3)%7,a=B(o),s=r.length?+r:void 0,c=et({step:i,alt:a,oct:s}),l=e+o+r,m=e+o,d=(ht[i]+a+120)%12,M=s===void 0?oe(ht[i]+a,12)-12*99:ht[i]+a+12*(s+1),b=M>=0&&M<=127?M:null,p=s===void 0?null:Math.pow(2,(M-69)/12)*440;return{empty:!1,acc:o,alt:a,chroma:d,coord:c,freq:p,height:M,letter:e,midi:b,name:l,oct:s,pc:m,step:i}}function ie(t){const{step:n,alt:e,oct:o}=t,r=vt(n);if(!r)return"";const i=r+k(e);return o||o===0?i+o:i}const yt={empty:!0,name:"",acc:""},ae="([-+]?\\d+)(d{1,4}|m|M|P|A{1,4})",se="(AA|A|P|M|m|d|dd)([-+]?\\d+)",ce=new RegExp("^"+ae+"|"+se+"$");function Nt(t){const n=ce.exec(`${t}`);return n===null?["",""]:n[1]?[n[1],n[2]]:[n[4],n[3]]}const Ft={};function f(t){return typeof t=="string"?Ft[t]||(Ft[t]=me(t)):G(t)?f(le(t)):q(t)?f(t.name):yt}const zt=[0,2,4,5,7,9,11],Wt="PMMPPMM";function me(t){const n=Nt(t);if(n[0]==="")return yt;const e=+n[0],o=n[1],r=(Math.abs(e)-1)%7,i=Wt[r];if(i==="M"&&o==="P")return yt;const a=i==="M"?"majorable":"perfectable",s=""+e+o,c=e<0?-1:1,l=e===8||e===-8?e:c*(r+1),m=ue(a,o),d=Math.floor((Math.abs(e)-1)/7),M=c*(zt[r]+m+12*d),b=(c*(zt[r]+m)%12+12)%12,p=et({step:r,alt:m,oct:d,dir:c});return{empty:!1,name:s,num:e,q:o,step:r,alt:m,dir:c,type:a,simple:l,semitones:M,chroma:b,coord:p,oct:d}}function H(t,n){const[e,o=0]=t,r=e*7+o*12<0,i=n||r?[-e,-o,-1]:[e,o,1];return f(ot(i))}function ue(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 le(t){const{step:n,alt:e,oct:o=0,dir:r}=t;if(!r)return"";const i=n+1+7*o,a=i===0?n+1:i,s=r<0?"-":"",c=Wt[n]==="M"?"majorable":"perfectable";return s+a+de(c,e)}function de(t,n){return n===0?t==="majorable"?"M":"P":n===-1&&t==="majorable"?"m":n>0?x("A",n):x("d",t==="perfectable"?n:n+1)}function P(t,n){const e=u(t),o=f(n);if(e.empty||o.empty)return"";const r=e.coord,i=o.coord,a=r.length===1?[r[0]+i[0]]:[r[0]+i[0],r[1]+i[1]];return z(a).name}function R(t,n){const e=u(t),o=u(n);if(e.empty||o.empty)return"";const r=e.coord,i=o.coord,a=i[0]-r[0],s=r.length===2&&i.length===2?i[1]-r[1]:-Math.floor(a*7/12),c=o.height===e.height&&o.midi!==null&&e.midi!==null&&e.step>o.step;return H([a,s],c).name}var tn=Object.freeze(Object.defineProperty({__proto__:null,accToAlt:B,altToAcc:k,coordToInterval:H,coordToNote:z,decode:ot,deprecate:v,distance:R,encode:et,fillStr:x,interval:f,isNamed:q,isPitch:G,note:u,stepToLetter:vt,tokenizeInterval:Nt,tokenizeNote:rt,transpose:P},Symbol.toStringTag,{value:"Module"}));const qt=(t,n)=>Array(n+1).join(t),Me=/^(_{1,}|=|\^{1,}|)([abcdefgABCDEFG])([,']*)$/;function nn(t){const n=Me.exec(t);return n?[n[1],n[2],n[3]]:["","",""]}function W(t){const[n,e,o]=nn(t);if(e==="")return"";let r=4;for(let a=0;a96?e.toUpperCase()+i+(r+1):e+i+r}function en(t){const n=u(t);if(n.empty||!n.oct&&n.oct!==0)return"";const{letter:e,acc:o,oct:r}=n,i=o[0]==="b"?o.replace(/b/g,"_"):o.replace(/#/g,"^"),a=r>4?e.toLowerCase():e,s=r===5?"":r>4?qt("'",r-5):qt(",",4-r);return i+a+s}function fe(t,n){return en(P(W(t),n))}function Pe(t,n){return R(W(t),W(n))}var pe={abcToScientificNotation:W,scientificToAbcNotation:en,tokenize:nn,transpose:fe,distance:Pe};function he(t,n){const e=[];for(;n--;e[n]=n+t);return e}function ye(t,n){const e=[];for(;n--;e[n]=t-n);return e}function ge(t,n){return tn===0||n)}function on(t){return t.map(e=>u(e)).filter(e=>!e.empty).sort((e,o)=>e.height-o.height).map(e=>e.name)}function ve(t){return on(t).filter((n,e,o)=>e===0||n!==o[e-1])}function Ne(t,n=Math.random){let e,o,r=t.length;for(;r;)e=Math.floor(n()*r--),o=t[r],t[r]=t[e],t[e]=o;return t}function rn(t){return t.length===0?[[]]:rn(t.slice(1)).reduce((n,e)=>n.concat(t.map((o,r)=>{const i=e.slice();return i.splice(r,0,t[0]),i})),[])}var $e=Object.freeze(Object.defineProperty({__proto__:null,compact:Ae,permutations:rn,range:ge,rotate:be,shuffle:Ne,sortedNoteNames:on,sortedUniqNoteNames:ve},Symbol.toStringTag,{value:"Module"}));function Ie(t,n){const e=[];for(;n--;e[n]=n+t);return e}function je(t,n){const e=[];for(;n--;e[n]=t-n);return e}function it(t,n){return tn===0||n)}function Te(t,n=Math.random){let e,o,r=t.length;for(;r;)e=Math.floor(n()*r--),o=t[r],t[r]=t[e],t[e]=o;return t}function an(t){return t.length===0?[[]]:an(t.slice(1)).reduce((n,e)=>n.concat(t.map((o,r)=>{const i=e.slice();return i.splice(r,0,t[0]),i})),[])}var Se={compact:$t,permutations:an,range:it,rotate:L,shuffle:Te};const C={empty:!0,name:"",setNum:0,chroma:"000000000000",normalized:"000000000000",intervals:[]},It=t=>Number(t).toString(2),Gt=t=>parseInt(t,2),_e=/^[01]{12}$/;function sn(t){return _e.test(t)}const Ce=t=>typeof t=="number"&&t>=0&&t<=4095,Ve=t=>t&&sn(t.chroma),Bt={[C.chroma]:C};function h(t){const n=sn(t)?t:Ce(t)?It(t):Array.isArray(t)?Be(t):Ve(t)?t.chroma:C.chroma;return Bt[n]=Bt[n]||Ge(n)}const we=v("Pcset.pcset","Pcset.get",h),xe=t=>h(t).chroma,Ee=t=>h(t).intervals,De=t=>h(t).setNum,ke=["1P","2m","2M","3m","3M","4P","5d","5P","6m","6M","7m","7M"];function Re(t){const n=[];for(let e=0;e<12;e++)t.charAt(e)==="1"&&n.push(ke[e]);return n}function Oe(){return it(2048,4095).map(It)}function jt(t,n=!0){const o=h(t).chroma.split("");return $t(o.map((r,i)=>{const a=L(i,o);return n&&a[0]==="0"?null:a.join("")}))}function Fe(t,n){return h(t).setNum===h(n).setNum}function at(t){const n=h(t).setNum;return e=>{const o=h(e).setNum;return n&&n!==o&&(o&n)===o}}function st(t){const n=h(t).setNum;return e=>{const o=h(e).setNum;return n&&n!==o&&(o|n)===o}}function cn(t){const n=h(t);return e=>{const o=u(e);return n&&!o.empty&&n.chroma.charAt(o.chroma)==="1"}}function ze(t){const n=cn(t);return e=>e.filter(n)}var mn={get:h,chroma:xe,num:De,intervals:Ee,chromas:Oe,isSupersetOf:st,isSubsetOf:at,isNoteIncludedIn:cn,isEqual:Fe,filter:ze,modes:jt,pcset:we};function qe(t){const n=t.split("");return n.map((e,o)=>L(o,n).join(""))}function Ge(t){const n=Gt(t),e=qe(t).map(Gt).filter(i=>i>=2048).sort()[0],o=It(e),r=Re(t);return{empty:!1,name:"",setNum:n,chroma:t,normalized:o,intervals:r}}function Be(t){if(t.length===0)return C.chroma;let n;const e=[0,0,0,0,0,0,0,0,0,0,0,0];for(let o=0;ot.name).filter(t=>t)}function Ke(){return O.map(t=>t.aliases[0]).filter(t=>t)}function Qe(){return Object.keys(S)}function F(){return O.slice()}const Ye=v("ChordType.entries","ChordType.all",F);function Ze(){O=[],S={}}function un(t,n,e){const o=We(t),r=g(y({},h(t)),{name:e||"",quality:o,intervals:t,aliases:n});O.push(r),r.name&&(S[r.name]=r),S[r.setNum]=r,S[r.chroma]=r,r.aliases.forEach(i=>Je(r,i))}function Je(t,n){S[n]=t}function We(t){const n=e=>t.indexOf(e)!==-1;return n("5A")?"Augmented":n("3M")?"Major":n("5d")?"Diminished":n("3m")?"Minor":"Unknown"}He.forEach(([t,n,e])=>un(t.split(" "),e.split(" "),n));O.sort((t,n)=>t.setNum-n.setNum);var ln={names:Xe,symbols:Ke,get:Tt,all:F,add:un,removeAll:Ze,keys:Qe,entries:Ye,chordType:Ue};const to=t=>{const n=t.reduce((e,o)=>{const r=u(o).chroma;return r!==void 0&&(e[r]=e[r]||u(o).name),e},{});return e=>n[e]};function no(t){const n=t.map(o=>u(o).pc).filter(o=>o);return u.length===0?[]:eo(n,1).filter(o=>o.weight).sort((o,r)=>r.weight-o.weight).map(o=>o.name)}function eo(t,n){const e=t[0],o=u(e).chroma,r=to(t),i=jt(t,!1),a=[];return i.forEach((s,c)=>{F().filter(m=>m.chroma===s).forEach(m=>{const d=m.aliases[0],M=r(c);c!==o?a.push({weight:.5*n,name:`${M}${d}/${e}`}):a.push({weight:1*n,name:`${M}${d}`})})}),a}const oo=[["1P 2M 3M 5P 6M","major pentatonic","pentatonic"],["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 3m 3M 5P 6M","major blues"],["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 7m","whole tone","messiaen's mode #1"],["1P 2m 4P 4A 5P 7M","messiaen's mode #5"],["1P 3m 4P 5d 5P 7m","minor blues","blues"],["1P 2M 3M 4P 5d 6m 7m","locrian major","arabian"],["1P 2m 3M 4A 5P 6m 7M","double harmonic lydian"],["1P 2M 3m 4P 5P 6m 7M","harmonic minor"],["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 5P 6M 7M","lydian"],["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 4P 5P 6M 7M","melodic minor"],["1P 2m 3m 4P 5d 6m 7m","locrian"],["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 4P 5P 6m 7m","phrygian"],["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","aeolian","minor"],["1P 2M 3M 4P 5P 6m 7M","harmonic major"],["1P 2m 3M 4P 5P 6m 7M","double harmonic major","gypsy"],["1P 2M 3m 4P 5P 6M 7m","dorian"],["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 5P 6M 7m","mixolydian","dominant"],["1P 2m 3M 4P 5d 6m 7M","persian"],["1P 2M 3M 4P 5P 6M 7M","major","ionian"],["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 4P 5P 6M 7m 7M","bebop"],["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 6m 6M 7M","diminished","whole-half diminished"],["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"]],ro=g(y({},C),{intervals:[],aliases:[]});let ct=[],_={};function dn(){return ct.map(t=>t.name)}function mt(t){return _[t]||ro}const io=v("ScaleDictionary.scaleType","ScaleType.get",mt);function U(){return ct.slice()}const ao=v("ScaleDictionary.entries","ScaleType.all",U);function so(){return Object.keys(_)}function co(){ct=[],_={}}function Mn(t,n,e=[]){const o=g(y({},h(t)),{name:n,intervals:t,aliases:e});return ct.push(o),_[o.name]=o,_[o.setNum]=o,_[o.chroma]=o,o.aliases.forEach(r=>mo(o,r)),o}function mo(t,n){_[n]=t}oo.forEach(([t,n,...e])=>Mn(t.split(" "),n,e));var fn={names:dn,get:mt,all:U,add:Mn,removeAll:co,keys:so,entries:ao,scaleType:io};const gt={empty:!0,name:"",symbol:"",root:"",rootDegree:0,type:"",tonic:null,setNum:NaN,quality:"Unknown",chroma:"",normalized:"",aliases:[],notes:[],intervals:[]},uo=/^(6|64|7|9|11|13)$/;function ut(t){const[n,e,o,r]=rt(t);return n===""?["",t]:n==="A"&&r==="ug"?["","aug"]:!r&&(o==="4"||o==="5")?[n+e,o]:uo.test(o)?[n+e,o+r]:[n+e+o,r]}function X(t){if(t==="")return gt;if(Array.isArray(t)&&t.length===2)return Z(t[1],t[0]);{const[n,e]=ut(t),o=Z(e,n);return o.empty?Z(t):o}}function Z(t,n,e){const o=Tt(t),r=u(n||""),i=u(e||"");if(o.empty||n&&r.empty||e&&i.empty)return gt;const a=R(r.pc,i.pc),s=o.intervals.indexOf(a)+1;if(!i.empty&&!s)return gt;const c=Array.from(o.intervals);for(let M=1;MP(r,M));t=o.aliases.indexOf(t)!==-1?t:o.aliases[0];const m=`${r.empty?"":r.pc}${t}${i.empty||s<=1?"":"/"+i.pc}`,d=`${n?r.pc+" ":""}${o.name}${s>1&&e?" over "+i.pc:""}`;return g(y({},o),{name:d,symbol:m,type:o.name,root:i.name,intervals:c,rootDegree:s,tonic:r.name,notes:l})}const lo=v("Chord.chord","Chord.get",X);function Mo(t,n){const[e,o]=ut(t);return e?P(e,n)+o:t}function fo(t){const n=X(t),e=st(n.chroma);return U().filter(o=>e(o.chroma)).map(o=>o.name)}function Po(t){const n=X(t),e=st(n.chroma);return F().filter(o=>e(o.chroma)).map(o=>n.tonic+o.aliases[0])}function po(t){const n=X(t),e=at(n.chroma);return F().filter(o=>e(o.chroma)).map(o=>n.tonic+o.aliases[0])}var ho={getChord:Z,get:X,detect:no,chordScales:fo,extended:Po,reduced:po,tokenize:ut,transpose:Mo,chord:lo};const yo=[[.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"]]],lt=[];yo.forEach(([t,n,e])=>jo(t,n,e));const go={empty:!0,name:"",value:0,fraction:[0,0],shorthand:"",dots:"",names:[]};function bo(){return lt.reduce((t,n)=>(n.names.forEach(e=>t.push(e)),t),[])}function Ao(){return lt.map(t=>t.shorthand)}const vo=/^([^.]+)(\.*)$/;function St(t){const[n,e,o]=vo.exec(t)||[],r=lt.find(s=>s.shorthand===e||s.names.includes(e));if(!r)return go;const i=To(r.fraction,o.length),a=i[0]/i[1];return g(y({},r),{name:t,dots:o,value:a,fraction:i})}const No=t=>St(t).value,$o=t=>St(t).fraction;var Io={names:bo,shorthands:Ao,get:St,value:No,fraction:$o};function jo(t,n,e){lt.push({empty:!1,dots:"",name:"",value:1/t,fraction:t<1?[1/t,1]:[1,t],shorthand:n,names:e})}function To(t,n){const e=Math.pow(2,n);let o=t[0]*e,r=t[1]*e;const i=o;for(let a=0;af(t).name,Co=t=>f(t).semitones,Vo=t=>f(t).q,wo=t=>f(t).num;function pn(t){const n=f(t);return n.empty?"":n.simple+n.q}function xo(t){const n=f(t);if(n.empty)return"";const e=(7-n.step)%7,o=n.type==="perfectable"?-n.alt:-(n.alt+1);return f({step:e,alt:o,oct:n.oct,dir:n.dir}).name}const Eo=[1,2,2,3,3,4,5,5,6,6,7,7],Do="P m M m M P d P m M m M".split(" ");function ko(t){const n=t<0?-1:1,e=Math.abs(t),o=e%12,r=Math.floor(e/12);return n*(Eo[o]+7*r)+Do[o]}const Ro=R,hn=gn((t,n)=>[t[0]+n[0],t[1]+n[1]]),Oo=t=>n=>hn(t,n),Fo=gn((t,n)=>[t[0]-n[0],t[1]-n[1]]);function yn(t,n){const e=Pn(t);if(e.empty)return"";const[o,r,i]=e.coord;return H([o+n,r,i]).name}var bt={names:So,get:Pn,name:_o,num:wo,semitones:Co,quality:Vo,fromSemitones:ko,distance:Ro,invert:xo,simplify:pn,add:hn,addTo:Oo,substract:Fo,transposeFifths:yn};function gn(t){return(n,e)=>{const o=f(n).coord,r=f(e).coord;if(o&&r){const i=t(o,r);return H(i).name}}}function bn(t){return+t>=0&&+t<=127}function An(t){if(bn(t))return+t;const n=u(t);return n.empty?null:n.midi}function zo(t,n=440){return Math.pow(2,(t-69)/12)*n}const qo=Math.log(2),Go=Math.log(440);function _t(t){const n=12*(Math.log(t)-Go)/qo+69;return Math.round(n*100)/100}const Bo="C C# D D# E F F# G G# A A# B".split(" "),Ho="C Db D Eb E F Gb G Ab A Bb B".split(" ");function T(t,n={}){if(isNaN(t)||t===-1/0||t===1/0)return"";t=Math.round(t);const o=(n.sharps===!0?Bo:Ho)[t%12];if(n.pitchClass)return o;const r=Math.floor(t/12)-1;return o+r}var Lo={isMidi:bn,toMidi:An,midiToFreq:zo,midiToNoteName:T,freqToMidi:_t};const Uo=["C","D","E","F","G","A","B"],vn=t=>t.name,Nn=t=>t.map(u).filter(n=>!n.empty);function Xo(t){return t===void 0?Uo.slice():Array.isArray(t)?Nn(t).map(vn):[]}const A=u,Ko=t=>A(t).name,Qo=t=>A(t).pc,Yo=t=>A(t).acc,Zo=t=>A(t).oct,Jo=t=>A(t).midi,Wo=t=>A(t).freq,tr=t=>A(t).chroma;function $n(t){return T(t)}function nr(t){return T(_t(t))}function er(t){return T(_t(t),{sharps:!0})}function or(t){return T(t,{sharps:!0})}const Ct=P,rr=P,In=t=>n=>Ct(n,t),ir=In,jn=t=>n=>Ct(t,n),ar=jn;function tt(t,n){const e=A(t);if(e.empty)return"";const[o,r]=e.coord;return z(r===void 0?[o+n]:[o+n,r]).name}const sr=tt,Vt=(t,n)=>t.height-n.height,cr=(t,n)=>n.height-t.height;function Tn(t,n){return n=n||Vt,Nn(t).sort(n).map(vn)}function Sn(t){return Tn(t,Vt).filter((n,e,o)=>e===0||n!==o[e-1])}const mr=t=>{const n=A(t);return n.empty?"":T(n.midi||n.chroma,{sharps:n.alt>0,pitchClass:n.midi===null})};function _n(t,n){const e=A(t);if(e.empty)return"";const o=A(n||T(e.midi||e.chroma,{sharps:e.alt<0,pitchClass:!0}));if(o.empty||o.chroma!==e.chroma)return"";if(e.oct===void 0)return o.pc;const r=e.chroma-e.alt,i=o.chroma-o.alt,a=r>11||i<0?-1:r<0||i>11?1:0,s=e.oct+a;return o.pc+s}var E={names:Xo,get:A,name:Ko,pitchClass:Qo,accidentals:Yo,octave:Zo,midi:Jo,ascending:Vt,descending:cr,sortedNames:Tn,sortedUniqNames:Sn,fromMidi:$n,fromMidiSharps:or,freq:Wo,fromFreq:nr,fromFreqSharps:er,chroma:tr,transpose:Ct,tr:rr,transposeBy:In,trBy:ir,transposeFrom:jn,trFrom:ar,transposeFifths:tt,trFifths:sr,simplify:mr,enharmonic:_n};const Cn={empty:!0,name:"",chordType:""},Ht={};function I(t){return typeof t=="string"?Ht[t]||(Ht[t]=pr(t)):typeof t=="number"?I(dt[t]||""):G(t)?dr(t):q(t)?I(t.name):Cn}const ur=v("RomanNumeral.romanNumeral","RomanNumeral.get",I);function lr(t=!0){return(t?dt:Pr).slice()}function dr(t){return I(k(t.alt)+dt[t.step])}const Mr=/^(#{1,}|b{1,}|x{1,}|)(IV|I{1,3}|VI{0,2}|iv|i{1,3}|vi{0,2})([^IViv]*)$/;function fr(t){return Mr.exec(t)||["","","",""]}const Vn="I II III IV V VI VII",dt=Vn.split(" "),Pr=Vn.toLowerCase().split(" ");function pr(t){const[n,e,o,r]=fr(t);if(!o)return Cn;const i=o.toUpperCase(),a=dt.indexOf(i),s=B(e),c=1;return{empty:!1,name:n,roman:o,interval:f({step:a,alt:s,dir:c}).name,acc:e,chordType:r,alt:s,step:a,major:o===i,oct:0,dir:c}}var hr={names:lr,get:I,romanNumeral:ur};const N=Object.freeze([]),wn={type:"major",tonic:"",alteration:0,keySignature:""},J={tonic:"",grades:N,intervals:N,scale:N,chords:N,chordsHarmonicFunction:N,chordScales:N},yr=g(y(y({},wn),J),{type:"major",minorRelative:"",scale:N,secondaryDominants:N,secondaryDominantsMinorRelative:N,substituteDominants:N,substituteDominantsMinorRelative:N}),gr=g(y({},wn),{type:"minor",relativeMajor:"",natural:J,harmonic:J,melodic:J}),Lt=(t,n,e="")=>n.map((o,r)=>`${t[r]}${e}${o}`);function Mt(t,n,e,o){return r=>{const i=t.map(s=>I(s).interval||""),a=i.map(s=>P(r,s));return{tonic:r,grades:t,intervals:i,scale:a,chords:Lt(a,n),chordsHarmonicFunction:e.slice(),chordScales:Lt(a,o," ")}}}const xn=(t,n)=>{const e=u(t),o=u(n);return e.empty||o.empty?0:o.coord[0]-e.coord[0]},br=Mt("I II III IV V VI VII".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(",")),Ar=Mt("I II bIII IV V bVI bVII".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(",")),vr=Mt("I II bIII IV V bVI VII".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(",")),Nr=Mt("I II bIII IV V VI VII".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 $r(t){const n=u(t).pc;if(!n)return yr;const e=br(n),o=xn("C",n),r=i=>{const a=I(i);return a.empty?"":P(t,a.interval)+a.chordType};return g(y({},e),{type:"major",minorRelative:P(n,"-3m"),alteration:o,keySignature:k(o),secondaryDominants:"- VI7 VII7 I7 II7 III7 -".split(" ").map(r),secondaryDominantsMinorRelative:"- IIIm7b5 IV#m7 Vm7 VIm7 VIIm7b5 -".split(" ").map(r),substituteDominants:"- bIII7 IV7 bV7 bVI7 bVII7 -".split(" ").map(r),substituteDominantsMinorRelative:"- IIIm7 Im7 IIbm7 VIm7 IVm7 -".split(" ").map(r)})}function Ir(t){const n=u(t).pc;if(!n)return gr;const e=xn("C",n)-3;return{type:"minor",tonic:n,relativeMajor:P(n,"3m"),alteration:e,keySignature:k(e),natural:Ar(n),harmonic:vr(n),melodic:Nr(n)}}function jr(t){return typeof t=="number"?tt("C",t):typeof t=="string"&&/^b+|#+$/.test(t)?tt("C",B(t)):null}var Tr={majorKey:$r,majorTonicFromKeySignature:jr,minorKey:Ir};const wt=[[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"]],Ut=g(y({},C),{name:"",alt:0,modeNum:NaN,triad:"",seventh:"",aliases:[]}),xt=wt.map(Vr),At={};xt.forEach(t=>{At[t.name]=t,t.aliases.forEach(n=>{At[n]=t})});function V(t){return typeof t=="string"?At[t.toLowerCase()]||Ut:t&&t.name?V(t.name):Ut}const Sr=v("Mode.mode","Mode.get",V);function En(){return xt.slice()}const _r=v("Mode.mode","Mode.all",En);function Cr(){return xt.map(t=>t.name)}function Vr(t){const[n,e,o,r,i,a,s]=t,c=s?[s]:[],l=Number(e).toString(2),m=mt(r).intervals;return{empty:!1,intervals:m,modeNum:n,chroma:l,normalized:l,name:r,setNum:e,alt:o,triad:i,seventh:a,aliases:c}}function wr(t,n){return V(t).intervals.map(e=>P(n,e))}function Dn(t){return(n,e)=>{const o=V(n);if(o.empty)return[];const r=L(o.modeNum,t),i=o.intervals.map(a=>P(e,a));return r.map((a,s)=>i[s]+a)}}const xr=Dn(wt.map(t=>t[4])),Er=Dn(wt.map(t=>t[5]));function kn(t,n){const e=V(n),o=V(t);return e.empty||o.empty?"":pn(yn("1P",o.alt-e.alt))}function Dr(t,n,e){return P(e,kn(t,n))}var kr={get:V,names:Cr,all:En,distance:kn,relativeTonic:Dr,notes:wr,triads:xr,seventhChords:Er,entries:_r,mode:Sr};function Rr(t,n){return n.map(I).map(o=>P(t,f(o))+o.chordType)}function Or(t,n){return n.map(e=>{const[o,r]=ut(e),i=R(t,o);return I(f(i)).name+r})}var Fr={fromRomanNumerals:Rr,toRomanNumerals:Or};function Rn(t){const n=$t(t.map(An));return!t.length||n.length!==t.length?[]:n.reduce((e,o)=>{const r=e[e.length-1];return e.concat(it(r,o).slice(1))},[n[0]])}function zr(t,n){return Rn(t).map(e=>T(e,n))}var qr={numeric:Rn,chromatic:zr};const Gr={empty:!0,name:"",type:"",tonic:null,setNum:NaN,chroma:"",normalized:"",aliases:[],notes:[],intervals:[]};function On(t){if(typeof t!="string")return["",""];const n=t.indexOf(" "),e=u(t.substring(0,n));if(e.empty){const r=u(t);return r.empty?["",t]:[r.name,""]}const o=t.substring(e.name.length+1);return[e.name,o.length?o:""]}const Br=dn;function j(t){const n=Array.isArray(t)?t:On(t),e=u(n[0]).name,o=mt(n[1]);if(o.empty)return Gr;const r=o.name,i=e?o.intervals.map(s=>P(e,s)):[],a=e?e+" "+r:r;return g(y({},o),{name:a,type:r,tonic:e,notes:i})}const Hr=v("Scale.scale","Scale.get",j);function Lr(t){const n=j(t),e=at(n.chroma);return F().filter(o=>e(o.chroma)).map(o=>o.aliases[0])}function Ur(t){const n=j(t),e=st(n.chroma);return U().filter(o=>e(o.chroma)).map(o=>o.name)}function Xr(t){const n=at(j(t).chroma);return U().filter(e=>n(e.chroma)).map(e=>e.name)}function Fn(t){const n=t.map(r=>u(r).pc).filter(r=>r),e=n[0],o=Sn(n);return L(o.indexOf(e),o)}function Kr(t){const n=j(t);if(n.empty)return[];const e=n.tonic?n.notes:n.intervals;return jt(n.chroma).map((o,r)=>{const i=j(o).name;return i?[e[r],i]:["",""]}).filter(o=>o[0])}function Qr(t){const n=Array.isArray(t)?Fn(t):j(t).notes,e=n.map(o=>u(o).chroma);return o=>{const r=u(typeof o=="number"?$n(o):o),i=r.height;if(i===void 0)return;const a=i%12,s=e.indexOf(a);if(s!==-1)return _n(r.name,n[s])}}function Yr(t){const n=Qr(t);return(e,o)=>{const r=u(e).height,i=u(o).height;return r===void 0||i===void 0?[]:it(r,i).map(n).filter(a=>a)}}var nt={get:j,names:Br,extended:Ur,modeNames:Kr,reduced:Xr,scaleChords:Lr,scaleNotes:Fn,tokenize:On,rangeOf:Yr,scale:Hr};const Zr={empty:!0,name:"",upper:void 0,lower:void 0,type:void 0,additive:[]},Jr=["4/4","3/4","2/4","2/2","12/8","9/8","6/8","3/8"];function Wr(){return Jr.slice()}const ti=/^(\d?\d(?:\+\d)*)\/(\d)$/,Xt=new Map;function ni(t){const n=Xt.get(t);if(n)return n;const e=oi(Et(t));return Xt.set(t,e),e}function Et(t){if(typeof t=="string"){const[i,a,s]=ti.exec(t)||[];return Et([a,s])}const[n,e]=t,o=+e;if(typeof n=="number")return[n,o];const r=n.split("+").map(i=>+i);return r.length===1?[r[0],o]:[r,o]}var ei={names:Wr,parse:Et,get:ni};function oi([t,n]){const e=Array.isArray(t)?t.reduce((s,c)=>s+c,0):t,o=n;if(e===0||o===0)return Zr;const r=Array.isArray(t)?`${t.join("+")}/${n}`:`${t}/${n}`,i=Array.isArray(t)?t:[],a=o===4||o===2?"simple":o===8&&e%3===0?"compound":"irregular";return{empty:!1,name:r,type:a,upper:e,lower:o,additive:i}}const ri=tn,ii=mn,ai=ln,si=fn;var ci=Object.freeze(Object.defineProperty({__proto__:null,Array:$e,Core:tn,ChordDictionary:ai,PcSet:ii,ScaleDictionary:si,Tonal:ri,AbcNotation:pe,Chord:ho,ChordType:ln,Collection:Se,DurationValue:Io,Interval:bt,Key:Tr,Midi:Lo,Mode:kr,Note:E,Pcset:mn,Progression:Fr,Range:qr,RomanNumeral:hr,Scale:nt,ScaleType:fn,TimeSignature:ei,accToAlt:B,altToAcc:k,coordToInterval:H,coordToNote:z,decode:ot,deprecate:v,distance:R,encode:et,fillStr:x,interval:f,isNamed:q,isPitch:G,note:u,stepToLetter:vt,tokenizeInterval:Nt,tokenizeNote:rt,transpose:P},Symbol.toStringTag,{value:"Module"}));function zn(t,n,e){let[o,r]=nt.tokenize(t),{notes:i}=nt.get(`${o} ${r}`);if(i=i.map(b=>E.get(b).pc),n=Number(n),isNaN(n))throw new Error(`scale offset "${n}" not a number`);const{pc:a,oct:s=3}=E.get(e),c=i.indexOf(a);if(c===-1)throw new Error(`note "${e}" is not in scale "${t}"`);let l=c,m=s,d=a;const M=Math.sign(n);for(;Math.abs(l-c)0&&d[0]==="C"&&(m+=M)}return d+m}w.prototype._transpose=function(t){return this._withHap(n=>{const e=isNaN(Number(t))?String(t):bt.fromSemitones(t);if(typeof n.value=="number"){const o=typeof e=="string"?bt.semitones(e)||0:e;return n.withValue(()=>n.value+o)}return n.withValue(()=>E.simplify(E.transpose(n.value,e)))})};w.prototype._scaleTranspose=function(t){return this._withHap(n=>{if(!n.context.scale)throw new Error("can only use scaleTranspose after .scale");if(typeof n.value!="string")throw new Error("can only use scaleTranspose with notes");return n.withValue(()=>zn(n.context.scale,Number(t),n.value))})};w.prototype._scale=function(t){return this._withHap(n=>{let e=n.value;const o=Number(e);if(!isNaN(o)){let[r,i]=nt.tokenize(t);const{pc:a,oct:s=3}=E.get(r);e=zn(a+" "+i,o,a+s)}return n.withValue(()=>e).setContext(g(y({},n.context),{scale:t}))})};w.prototype.define("transpose",(t,n)=>n.transpose(t),{composable:!0,patternified:!0});w.prototype.define("scale",(t,n)=>n.scale(t),{composable:!0,patternified:!0});w.prototype.define("scaleTranspose",(t,n)=>n.scaleTranspose(t),{composable:!0,patternified:!0});var qn={},Dt={},K={};K.__esModule=!0;K.getBestVoicing=void 0;function mi(t){var n=t.chord,e=t.range,o=t.finder,r=t.picker,i=t.lastVoicing,a=o(n,e);return a.length?r(a,i):[]}K.getBestVoicing=mi;var ft={},Gn=Qn(ci),Q={};Q.__esModule=!0;Q.tokenizeChord=void 0;function ui(t){var n=(t||"").match(/^([A-G][b#]*)([^\/]*)[\/]?([A-G][b#]*)?$/);return n?n.slice(1):[]}Q.tokenizeChord=ui;ft.__esModule=!0;ft.voicingsInRange=void 0;var $=Gn,li=Dt,di=Q;function Mi(t,n,e){n===void 0&&(n=li.lefthand),e===void 0&&(e=["D3","A4"]);var o=(0,di.tokenizeChord)(t),r=o[0],i=o[1];if(!n[i])return[];var a=n[i].map(function(c){return c.split(" ")}),s=$.Range.chromatic(e);return a.reduce(function(c,l){var m=l.map(function(p){return $.Interval.substract(p,l[0])}),d=$.Note.transpose(r,l[0]),M=s.filter(function(p){return $.Note.chroma(p)===$.Note.chroma(d)}).filter(function(p){return $.Note.midi($.Note.transpose(p,m[m.length-1]))<=$.Note.midi(e[1])}).map(function(p){return $.Note.enharmonic(p,d)}),b=M.map(function(p){return m.map(function(pt){return $.Note.transpose(p,pt)})});return c.concat(b)},[])}ft.voicingsInRange=Mi;(function(t){var n=Y&&Y.__assign||function(){return n=Object.assign||function(s){for(var c,l=1,m=arguments.length;lPi({chord:t,dictionary:hi,range:e,picker:pi,lastVoicing:n}),D=w;D.prototype.fmapNested=function(t){return new D(n=>this.query(n).map(e=>Zn(t(e)).query(n).map(o=>new Jn(e.whole,e.part,o.value,o.context))).flat())};D.prototype.voicings=function(t){let n;return t!=null&&t.length||(t=["F3","A4"]),this.fmapNested(e=>(n=yi(e.value,n,t),Wn(...n)._withContext(()=>({locations:e.context.locations||[]}))))};D.prototype._rootNotes=function(t=2){return this.fmap(n=>{const[e,o]=n.match(/^([a-gA-G][b#]?).*$/);return o+t})};D.prototype.define("voicings",(t,n)=>n.voicings(t),{composable:!0});D.prototype.define("rootNotes",(t,n)=>n.rootNotes(t),{composable:!0,patternified:!0}); diff --git a/tutorial/assets/osc.1eeee8f2.js b/assets/osc.1849dfcf.js similarity index 99% rename from tutorial/assets/osc.1eeee8f2.js rename to assets/osc.1849dfcf.js index 0d7c23f0a..bf2afe584 100644 --- a/tutorial/assets/osc.1eeee8f2.js +++ b/assets/osc.1849dfcf.js @@ -1 +1 @@ -var ot=Object.defineProperty,st=Object.defineProperties;var it=Object.getOwnPropertyDescriptors;var ke=Object.getOwnPropertySymbols;var at=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable;var be=(g,d,p)=>d in g?ot(g,d,{enumerable:!0,configurable:!0,writable:!0,value:p}):g[d]=p,Se=(g,d)=>{for(var p in d||(d={}))at.call(d,p)&&be(g,p,d[p]);if(ke)for(var p of ke(d))ut.call(d,p)&&be(g,p,d[p]);return g},Oe=(g,d)=>st(g,it(d));import{y as H,P as ct}from"./index.171fdc07.js";var Ee={exports:{}};(function(g,d){(function(p,u){g.exports=u()})(H,function(){function p(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e&&(t=t.filter(function(o){return Object.getOwnPropertyDescriptor(r,o).enumerable})),n.push.apply(n,t)}return n}function u(r){for(var e=1;e1&&e[e.length-1]==="/"&&(e=e.slice(0,e.length-1)),e.length>1&&e[0]!=="/"&&(e="/".concat(e)),e;throw new Error("OSC prepareAddress() needs addresses of type array or string")}function ae(r){if(!v(r))throw new Error("OSC prepareRegExPattern() needs strings");return r.replace(/\./g,"\\.").replace(/\(/g,"\\(").replace(/\)/g,"\\)").replace(/\{/g,"(").replace(/\}/g,")").replace(/,/g,"|").replace(/\[!/g,"[^").replace(/\?/g,".").replace(/\*/g,".*")}var ue=function(){function r(){f(this,r),this.data=[],this.byteLength=0}return l(r,[{key:"add",value:function(e){if(te(e)||ne(e)||oe(e))return this;var n=e.pack();return this.byteLength+=n.byteLength,this.data.push(n),this}},{key:"merge",value:function(){var e=new Uint8Array(this.byteLength),n=0;return this.data.forEach(function(t){e.set(t,n),n+=t.byteLength}),e}}]),r}(),C=function(){function r(e){f(this,r),this.value=e,this.offset=0}return l(r,[{key:"pack",value:function(e,n){if(!e||!n)throw new Error("OSC Atomic cant't be packed without given method or byteLength");var t=new Uint8Array(n),o=new DataView(t.buffer);if(A(this.value))throw new Error("OSC Atomic cant't be encoded with empty value");return o[e](this.offset,this.value,!1),t}},{key:"unpack",value:function(e,n,t){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(!(e&&n&&t))throw new Error("OSC Atomic cant't be unpacked without given dataView, method or byteLength");if(!(e instanceof DataView))throw new Error("OSC Atomic expects an instance of type DataView");return this.value=e[n](o,!1),this.offset=o+t,this.offset}}]),r}(),U=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&!b(t))throw new Error("OSC AtomicInt32 constructor expects value of type number");return e.call(this,t)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setInt32",4)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getInt32",4,o)}}]),n}(C),ce="utf-8";function De(r){if(se("Buffer"))return Buffer.from(r).toString(ce);if(se("TextDecoder"))return new TextDecoder(ce).decode(new Int8Array(r));for(var e="",n=0;n1&&arguments[1]!==void 0?arguments[1]:0;if(!(t instanceof DataView))throw new Error("OSC AtomicString expects an instance of type DataView");for(var i,s=o,a=[];s0&&arguments[0]!==void 0?arguments[0]:0,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(f(this,r),!b(e)||!b(n))throw new Error("OSC Timetag constructor expects values of type integer number");this.seconds=e,this.fractions=n}return l(r,[{key:"timestamp",value:function(e){var n;if(typeof e=="number"){n=e/1e3;var t=Math.floor(n);return this.seconds=t+fe,this.fractions=Math.round(le*(n-t)),e}return 1e3*((n=this.seconds-fe)+Math.round(this.fractions/le))}}]),r}(),B=function(r){k(n,r);var e=y(n);function n(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Date.now();f(this,n);var o=new G;return t instanceof G?o=t:b(t)?o.timestamp(t):Ae(t)&&o.timestamp(t.getTime()),e.call(this,o)}return l(n,[{key:"pack",value:function(){if(A(this.value))throw new Error("OSC AtomicTimetag can not be encoded with empty value");var t=this.value,o=t.seconds,i=t.fractions,s=new Uint8Array(8),a=new DataView(s.buffer);return a.setInt32(0,o,!1),a.setInt32(4,i,!1),s}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(t instanceof DataView))throw new Error("OSC AtomicTimetag expects an instance of type DataView");var i=t.getUint32(o,!1),s=t.getUint32(o+4,!1);return this.value=new G(i,s),this.offset=o+8,this.offset}}]),n}(C),he=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&!re(t))throw new Error("OSC AtomicBlob constructor expects value of type Uint8Array");return e.call(this,t)}return l(n,[{key:"pack",value:function(){if(A(this.value))throw new Error("OSC AtomicBlob can not be encoded with empty value");var t=V(this.value.byteLength),o=new Uint8Array(t+4);return new DataView(o.buffer).setInt32(0,this.value.byteLength,!1),o.set(this.value,4),o}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(t instanceof DataView))throw new Error("OSC AtomicBlob expects an instance of type DataView");var i=t.getInt32(o,!1);return this.value=new Uint8Array(t.buffer,o+4,i),this.offset=V(o+4+i),this.offset}}]),n}(C),pe=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&!ee(t))throw new Error("OSC AtomicFloat32 constructor expects value of type float");return e.call(this,t)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setFloat32",4)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getFloat32",4,o)}}]),n}(C),de=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&!ee(t))throw new Error("OSC AtomicFloat64 constructor expects value of type float");return e.call(this,t)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setFloat64",8)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getFloat64",8,o)}}]),n}(C),je=BigInt("9223372036854775807"),xe=BigInt("-9223372036854775808"),ge=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&typeof t!="bigint")throw new Error("OSC AtomicInt64 constructor expects value of type BigInt");if(t&&(tje))throw new Error("OSC AtomicInt64 value is out of bounds");var o;return t&&(o=BigInt.asIntN(64,t)),e.call(this,o)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setBigInt64",8)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getBigInt64",8,o)}}]),n}(C),Be=BigInt("18446744073709551615"),ve=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&typeof t!="bigint")throw new Error("OSC AtomicUInt64 constructor expects value of type BigInt");if(t&&(t<0||t>Be))throw new Error("OSC AtomicUInt64 value is out of bounds");var o;return t&&(o=BigInt.asUintN(64,t)),e.call(this,o)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setBigUint64",8)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getBigUint64",8,o)}}]),n}(C),Z=!0,q=!1,J=null,K=1/0,Q=function(){function r(e,n){var t=this;if(f(this,r),this.offset=0,this.address="",this.types="",this.args=[],!A(e)){if(!v(e)&&!D(e))throw new Error("OSC Message constructor first argument (address) must be a string or array");this.address=L(e)}if(!A(n)){if(!D(n))throw new Error("OSC Message constructor second argument (args) must be an array");n.forEach(function(o){return t.add(o.type,o.value)})}}return l(r,[{key:"add",value:function(e,n){if(A(e))throw new Error("OSC Message needs a valid OSC Atomic Data Type");e==="N"?this.args.push(J):e==="T"?this.args.push(Z):e==="F"?this.args.push(q):e==="I"?this.args.push(K):this.args.push(n),this.types+=e}},{key:"pack",value:function(){var e=this;if(this.address.length===0||this.address[0]!=="/")throw new Error("OSC Message has an invalid address");var n=new ue;if(n.add(new S(this.address)),n.add(new S(",".concat(this.types))),this.args.length>0){var t;if(this.args.length>this.types.length)throw new Error("OSC Message argument and type tag mismatch");this.args.forEach(function(o,i){var s=e.types[i];if(s==="i")t=new U(o);else if(s==="h")t=new ge(o);else if(s==="t")t=new ve(o);else if(s==="f")t=new pe(o);else if(s==="d")t=new de(o);else if(s==="s")t=new S(o);else if(s==="b")t=new he(o);else if(s==="T")t=Z;else if(s==="F")t=q;else if(s==="N")t=J;else{if(s!=="I")throw new Error("OSC Message found unknown argument type");t=K}n.add(t)})}return n.merge()}},{key:"unpack",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(e instanceof DataView))throw new Error("OSC Message expects an instance of type DataView.");var t=new S;t.unpack(e,n);var o=new S;if(o.unpack(e,t.offset),t.value.length===0||t.value[0]!=="/")throw new Error("OSC Message found malformed or missing address string");if(o.value.length===0&&o.value[0]!==",")throw new Error("OSC Message found malformed or missing type string");for(var i,s,a=o.offset,c=[],w=1;w0&&(o=a.shift()),a.length>0&&a[0]instanceof Array&&(i=a.shift()),t=e.call(this,o,i),a.length>0&&(t.types=a.map(function(w){return ie(w)}).join(""),t.args=a),t}return l(n,[{key:"add",value:function(t){m(h(n.prototype),"add",this).call(this,ie(t),t)}}]),n}(Q),_="#bundle",I=function(){function r(){var e=this;f(this,r),this.offset=0,this.timetag=new B,this.bundleElements=[];for(var n=arguments.length,t=new Array(n),o=0;o0&&(t[0]instanceof Date||b(t[0])?this.timetag=new B(t[0]):D(t[0])?(t[0].forEach(function(i){e.add(i)}),t.length>1&&(t[1]instanceof Date||b(t[1]))&&(this.timetag=new B(t[1]))):t.forEach(function(i){e.add(i)}))}return l(r,[{key:"timestamp",value:function(e){if(!b(e))throw new Error("OSC Bundle needs an integer for setting the timestamp");this.timetag=new B(e)}},{key:"add",value:function(e){if(!(e instanceof E||e instanceof r))throw new Error("OSC Bundle contains only Messages and Bundles");this.bundleElements.push(e)}},{key:"pack",value:function(){var e=new ue;return e.add(new S(_)),this.timetag||(this.timetag=new B),e.add(this.timetag),this.bundleElements.forEach(function(n){e.add(new U(n.pack().byteLength)),e.add(n)}),e.merge()}},{key:"unpack",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(e instanceof DataView))throw new Error("OSC Bundle expects an instance of type DataView");var t=new S;if(t.unpack(e,n),t.value!==_)throw new Error("OSC Bundle does not contain a valid #bundle head");var o=new B,i=o.unpack(e,t.offset);for(this.bundleElements=[];i1&&arguments[1]!==void 0?arguments[1]:0;if(!(e instanceof DataView))throw new Error("OSC Packet expects an instance of type DataView");if(e.byteLength%4!=0)throw new Error("OSC Packet byteLength has to be a multiple of four");var t,o=new S;return o.unpack(e,n),(t=o.value===_?new I:new E).unpack(e,n),this.offset=t.offset,this.value=t,this.offset}}]),r}(),Me={discardLateMessages:!1},He=function(){function r(e){f(this,r),this.options=u(u({},Me),e),this.addressHandlers=[],this.eventHandlers={open:[],error:[],close:[]},this.uuid=0}return l(r,[{key:"dispatch",value:function(e,n){var t=this;if(!(e instanceof M))throw new Error("OSC EventHander dispatch() accepts only arguments of type Packet");if(!e.value)throw new Error("OSC EventHander dispatch() can't read empty Packets");if(e.value instanceof I){var o=e.value;return o.bundleElements.forEach(function(s){if(s instanceof I){if(o.timetag.value.timestamp()1&&(s=n[1]);var a=null;if(n.length>2)if(b(n[2]))a=n[2];else{if(!(n[2]instanceof Date))throw new Error("OSC EventHandler timestamp has to be a number or Date");a=n[2].getTime()}var c=null;if(n.length>=3&&(c=n[3]),a){var w=Date.now();if(w>a&&!this.options.discardLateMessages)return this.call(i,s,c);var P=this;return setTimeout(function(){P.call(i,s,c)},a-w),!0}return this.call(i,s,c)}},{key:"on",value:function(e,n){if(!v(e)&&!D(e))throw new Error("OSC EventHandler accepts only strings or arrays for address patterns");if(!j(n))throw new Error("OSC EventHandler callback has to be a function");this.uuid+=1;var t={id:this.uuid,callback:n};if(v(e)&&e in this.eventHandlers)return this.eventHandlers[e].push(t),this.uuid;var o=L(e);return o in this.addressHandlers||(this.addressHandlers[o]=[]),this.addressHandlers[o].push(t),this.uuid}},{key:"off",value:function(e,n){if(!v(e)&&!D(e))throw new Error("OSC EventHandler accepts only strings or arrays for address patterns");if(!b(n))throw new Error("OSC EventHandler subscription id has to be a number");var t,o;return v(e)&&e in this.eventHandlers?(t=e,o=this.eventHandlers):(t=L(e),o=this.addressHandlers),t in o&&o[t].some(function(i,s){return i.id===n&&(o[t].splice(s,1),!0)})}}]),r}(),Te=0,Le=1,Ne=2,Ve=3,Ue=function(){function r(){throw f(this,r),new Error("DatagramPlugin can not be used in browser context")}return l(r,[{key:"registerNotify",value:function(e){this.notify=e}},{key:"status",value:function(){return this.socketStatus}},{key:"open",value:function(){var e=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=u(u({},this.options.open),n),o=t.port,i=t.exclusive;this.socketStatus=Te,this.socket.bind({address:t.host,port:o,exclusive:i},function(){e.socketStatus=Le,e.notify("open")})}},{key:"close",value:function(){var e=this;this.socketStatus=Ne,this.socket.close(function(){e.socketStatus=Ve,e.notify("close")})}},{key:"send",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=u(u({},this.options.send),n),o=t.port,i=t.host;this.socket.send(Buffer.from(e),0,e.byteLength,o,i)}}]),r}();typeof WebSocket!="undefined"?x=WebSocket:typeof MozWebSocket!="undefined"?x=MozWebSocket:typeof H!="undefined"?x=H.WebSocket||H.MozWebSocket:typeof window!="undefined"?x=window.WebSocket||window.MozWebSocket:typeof self!="undefined"&&(x=self.WebSocket||self.MozWebSocket);var X=void 0,we=x,_e=0,We=1,Re=2,Fe=3,W={udpServer:{host:"localhost",port:41234,exclusive:!1},udpClient:{host:"localhost",port:41235},wsServer:{host:"localhost",port:8080},receiver:"ws"};function ye(r,e){return u(u(u(u({},W),r),e),{},{udpServer:u(u(u({},W.udpServer),r.udpServer),e.udpServer),udpClient:u(u(u({},W.udpClient),r.udpClient),e.udpClient),wsServer:u(u(u({},W.wsServer),r.wsServer),e.wsServer)})}var ze=function(){function r(){throw f(this,r),new Error("BridgePlugin can not be used in browser context")}return l(r,[{key:"registerNotify",value:function(e){this.notify=e}},{key:"status",value:function(){return this.socketStatus}},{key:"open",value:function(){var e=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=ye(this.options,n);this.socketStatus=_e,this.socket.bind({address:t.udpServer.host,port:t.udpServer.port,exclusive:t.udpServer.exclusive},function(){var o={};t.wsServer.server?o.server=t.wsServer.server:o=t.wsServer,e.websocket=new X(o),e.websocket.binaryType="arraybuffer",e.websocket.on("listening",function(){e.socketStatus=We,e.notify("open")}),e.websocket.on("error",function(i){e.notify("error",i)}),e.websocket.on("connection",function(i){i.on("message",function(s,a){e.send(s,{receiver:"udp"}),e.notify(new Uint8Array(s),a)})})})}},{key:"close",value:function(){var e=this;this.socketStatus=Re,this.socket.close(function(){e.websocket.close(function(){e.socketStatus=Fe,e.notify("close")})})}},{key:"send",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=ye(this.options,n),o=t.receiver;if(o==="udp"){var i=e instanceof Buffer?e:Buffer.from(e);this.socket.send(i,0,i.byteLength,t.udpClient.port,t.udpClient.host)}else{if(o!=="ws")throw new Error("BridgePlugin can not send message to unknown receiver");this.websocket.clients.forEach(function(s){s.send(e,{binary:!0})})}}}]),r}(),Ge=-1,Ze=0,qe=1,Je=2,Ke=3,Qe={host:"localhost",port:8080,secure:!1,protocol:[]},me=function(){function r(e){if(f(this,r),!we)throw new Error("WebsocketClientPlugin can't find a WebSocket class");this.options=u(u({},Qe),e),this.socket=null,this.socketStatus=Ge,this.notify=function(){}}return l(r,[{key:"registerNotify",value:function(e){this.notify=e}},{key:"status",value:function(){return this.socketStatus}},{key:"open",value:function(){var e=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=u(u({},this.options),n),o=t.port,i=t.host,s=t.secure,a=t.protocol;this.socket&&this.close();var c=s?"wss":"ws",w={address:i,family:c,port:o,size:0};this.socket=new we("".concat(c,"://").concat(i,":").concat(o),a),this.socket.binaryType="arraybuffer",this.socketStatus=Ze,this.socket.onopen=function(){e.socketStatus=qe,e.notify("open")},this.socket.onclose=function(){e.socketStatus=Ke,e.notify("close")},this.socket.onerror=function(P){e.notify("error",P)},this.socket.onmessage=function(P){e.notify(P.data,w)}}},{key:"close",value:function(){this.socketStatus=Je,this.socket.close()}},{key:"send",value:function(e){this.socket.send(e)}}]),r}(),Xe=0,Ye=1,$e=2,et=3,tt=function(){function r(e){throw f(this,r),new Error("WebsocketServerPlugin can not be used in browser context")}return l(r,[{key:"registerNotify",value:function(e){this.notify=e}},{key:"status",value:function(){return this.socketStatus}},{key:"open",value:function(){var e=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=u(u({},this.options),n),o=t.port,i=t.host,s={address:i,family:"wsserver",port:o,size:0};this.socket&&this.close(),t.server?this.socket=new X({server:t.server}):this.socket=new X({host:i,port:o}),this.socket.binaryType="arraybuffer",this.socketStatus=Xe,this.socket.on("listening",function(){e.socketStatus=Ye,e.notify("open")}),this.socket.on("error",function(a){e.notify("error",a)}),this.socket.on("connection",function(a){a.on("message",function(c){e.notify(new Uint8Array(c),s)})})}},{key:"close",value:function(){var e=this;this.socketStatus=$e,this.socket.close(function(){e.socketStatus=et,e.notify("close")})}},{key:"send",value:function(e){this.socket.clients.forEach(function(n){n.send(e,{binary:!0})})}}]),r}(),nt={discardLateMessages:!1,plugin:new me},O=function(){function r(e){if(f(this,r),e&&!z(e))throw new Error("OSC options argument has to be an object.");this.options=u(u({},nt),e),this.eventHandler=new He({discardLateMessages:this.options.discardLateMessages});var n=this.eventHandler;this.options.plugin&&this.options.plugin.registerNotify&&this.options.plugin.registerNotify(function(){return n.notify.apply(n,arguments)})}return l(r,[{key:"on",value:function(e,n){if(!v(e)||!j(n))throw new Error("OSC on() needs event- or address string and callback function");return this.eventHandler.on(e,n)}},{key:"off",value:function(e,n){if(!v(e)||!b(n))throw new Error("OSC off() needs string and number (subscriptionId) to unsubscribe");return this.eventHandler.off(e,n)}},{key:"open",value:function(e){if(e&&!z(e))throw new Error("OSC open() options argument needs to be an object");if(!this.options.plugin||!j(this.options.plugin.open))throw new Error("OSC Plugin API #open is not implemented!");return this.options.plugin.open(e)}},{key:"status",value:function(){if(!this.options.plugin||!j(this.options.plugin.status))throw new Error("OSC Plugin API #status is not implemented!");return this.options.plugin.status()}},{key:"close",value:function(){if(!this.options.plugin||!j(this.options.plugin.close))throw new Error("OSC Plugin API #close is not implemented!");return this.options.plugin.close()}},{key:"send",value:function(e,n){if(!this.options.plugin||!j(this.options.plugin.send))throw new Error("OSC Plugin API #send is not implemented!");if(!(e instanceof Q||e instanceof E||e instanceof I||e instanceof M))throw new Error("OSC send() needs Messages, Bundles or Packets");if(n&&!z(n))throw new Error("OSC send() options argument has to be an object");return this.options.plugin.send(e.pack(),n)}}]),r}();return O.STATUS={IS_NOT_INITIALIZED:-1,IS_CONNECTING:0,IS_OPEN:1,IS_CLOSING:2,IS_CLOSED:3},O.Packet=M,O.Bundle=I,O.Message=E,O.TypedMessage=Q,O.DatagramPlugin=Ue,O.WebsocketClientPlugin=me,O.WebsocketServerPlugin=tt,O.BridgePlugin=ze,O})})(Ee);var $=Ee.exports;const Ce=new $;Ce.open();const ft=.1;let Y=-1;ct.prototype.osc=function(){return this._withHap(g=>{const d=(p,u,f,N)=>{const l=u.wholeOrPart().begin.valueOf(),R=u.duration.valueOf();Y<0&&(Y=Date.now()-f*1e3);const k=Object.assign({},{cps:N,cycle:l,delta:R},u.value),h=Object.entries(k).flat(),T=Math.floor(Y+(p+ft)*1e3),F=new $.Message("/dirt/play",...h),y=new $.Bundle([F],T);y.timestamp(T),Ce.send(y)};return g.setContext(Oe(Se({},g.context),{onTrigger:d}))})}; +var ot=Object.defineProperty,st=Object.defineProperties;var it=Object.getOwnPropertyDescriptors;var ke=Object.getOwnPropertySymbols;var at=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable;var be=(g,d,p)=>d in g?ot(g,d,{enumerable:!0,configurable:!0,writable:!0,value:p}):g[d]=p,Se=(g,d)=>{for(var p in d||(d={}))at.call(d,p)&&be(g,p,d[p]);if(ke)for(var p of ke(d))ut.call(d,p)&&be(g,p,d[p]);return g},Oe=(g,d)=>st(g,it(d));import{B as H,P as ct}from"./index.3580fc4e.js";var Ee={exports:{}};(function(g,d){(function(p,u){g.exports=u()})(H,function(){function p(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e&&(t=t.filter(function(o){return Object.getOwnPropertyDescriptor(r,o).enumerable})),n.push.apply(n,t)}return n}function u(r){for(var e=1;e1&&e[e.length-1]==="/"&&(e=e.slice(0,e.length-1)),e.length>1&&e[0]!=="/"&&(e="/".concat(e)),e;throw new Error("OSC prepareAddress() needs addresses of type array or string")}function ae(r){if(!v(r))throw new Error("OSC prepareRegExPattern() needs strings");return r.replace(/\./g,"\\.").replace(/\(/g,"\\(").replace(/\)/g,"\\)").replace(/\{/g,"(").replace(/\}/g,")").replace(/,/g,"|").replace(/\[!/g,"[^").replace(/\?/g,".").replace(/\*/g,".*")}var ue=function(){function r(){f(this,r),this.data=[],this.byteLength=0}return l(r,[{key:"add",value:function(e){if(te(e)||ne(e)||oe(e))return this;var n=e.pack();return this.byteLength+=n.byteLength,this.data.push(n),this}},{key:"merge",value:function(){var e=new Uint8Array(this.byteLength),n=0;return this.data.forEach(function(t){e.set(t,n),n+=t.byteLength}),e}}]),r}(),C=function(){function r(e){f(this,r),this.value=e,this.offset=0}return l(r,[{key:"pack",value:function(e,n){if(!e||!n)throw new Error("OSC Atomic cant't be packed without given method or byteLength");var t=new Uint8Array(n),o=new DataView(t.buffer);if(A(this.value))throw new Error("OSC Atomic cant't be encoded with empty value");return o[e](this.offset,this.value,!1),t}},{key:"unpack",value:function(e,n,t){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(!(e&&n&&t))throw new Error("OSC Atomic cant't be unpacked without given dataView, method or byteLength");if(!(e instanceof DataView))throw new Error("OSC Atomic expects an instance of type DataView");return this.value=e[n](o,!1),this.offset=o+t,this.offset}}]),r}(),U=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&!b(t))throw new Error("OSC AtomicInt32 constructor expects value of type number");return e.call(this,t)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setInt32",4)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getInt32",4,o)}}]),n}(C),ce="utf-8";function De(r){if(se("Buffer"))return Buffer.from(r).toString(ce);if(se("TextDecoder"))return new TextDecoder(ce).decode(new Int8Array(r));for(var e="",n=0;n1&&arguments[1]!==void 0?arguments[1]:0;if(!(t instanceof DataView))throw new Error("OSC AtomicString expects an instance of type DataView");for(var i,s=o,a=[];s0&&arguments[0]!==void 0?arguments[0]:0,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(f(this,r),!b(e)||!b(n))throw new Error("OSC Timetag constructor expects values of type integer number");this.seconds=e,this.fractions=n}return l(r,[{key:"timestamp",value:function(e){var n;if(typeof e=="number"){n=e/1e3;var t=Math.floor(n);return this.seconds=t+fe,this.fractions=Math.round(le*(n-t)),e}return 1e3*((n=this.seconds-fe)+Math.round(this.fractions/le))}}]),r}(),B=function(r){k(n,r);var e=y(n);function n(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Date.now();f(this,n);var o=new G;return t instanceof G?o=t:b(t)?o.timestamp(t):Ae(t)&&o.timestamp(t.getTime()),e.call(this,o)}return l(n,[{key:"pack",value:function(){if(A(this.value))throw new Error("OSC AtomicTimetag can not be encoded with empty value");var t=this.value,o=t.seconds,i=t.fractions,s=new Uint8Array(8),a=new DataView(s.buffer);return a.setInt32(0,o,!1),a.setInt32(4,i,!1),s}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(t instanceof DataView))throw new Error("OSC AtomicTimetag expects an instance of type DataView");var i=t.getUint32(o,!1),s=t.getUint32(o+4,!1);return this.value=new G(i,s),this.offset=o+8,this.offset}}]),n}(C),he=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&!re(t))throw new Error("OSC AtomicBlob constructor expects value of type Uint8Array");return e.call(this,t)}return l(n,[{key:"pack",value:function(){if(A(this.value))throw new Error("OSC AtomicBlob can not be encoded with empty value");var t=V(this.value.byteLength),o=new Uint8Array(t+4);return new DataView(o.buffer).setInt32(0,this.value.byteLength,!1),o.set(this.value,4),o}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(t instanceof DataView))throw new Error("OSC AtomicBlob expects an instance of type DataView");var i=t.getInt32(o,!1);return this.value=new Uint8Array(t.buffer,o+4,i),this.offset=V(o+4+i),this.offset}}]),n}(C),pe=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&!ee(t))throw new Error("OSC AtomicFloat32 constructor expects value of type float");return e.call(this,t)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setFloat32",4)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getFloat32",4,o)}}]),n}(C),de=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&!ee(t))throw new Error("OSC AtomicFloat64 constructor expects value of type float");return e.call(this,t)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setFloat64",8)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getFloat64",8,o)}}]),n}(C),je=BigInt("9223372036854775807"),xe=BigInt("-9223372036854775808"),ge=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&typeof t!="bigint")throw new Error("OSC AtomicInt64 constructor expects value of type BigInt");if(t&&(tje))throw new Error("OSC AtomicInt64 value is out of bounds");var o;return t&&(o=BigInt.asIntN(64,t)),e.call(this,o)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setBigInt64",8)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getBigInt64",8,o)}}]),n}(C),Be=BigInt("18446744073709551615"),ve=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&typeof t!="bigint")throw new Error("OSC AtomicUInt64 constructor expects value of type BigInt");if(t&&(t<0||t>Be))throw new Error("OSC AtomicUInt64 value is out of bounds");var o;return t&&(o=BigInt.asUintN(64,t)),e.call(this,o)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setBigUint64",8)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getBigUint64",8,o)}}]),n}(C),Z=!0,q=!1,J=null,K=1/0,Q=function(){function r(e,n){var t=this;if(f(this,r),this.offset=0,this.address="",this.types="",this.args=[],!A(e)){if(!v(e)&&!D(e))throw new Error("OSC Message constructor first argument (address) must be a string or array");this.address=L(e)}if(!A(n)){if(!D(n))throw new Error("OSC Message constructor second argument (args) must be an array");n.forEach(function(o){return t.add(o.type,o.value)})}}return l(r,[{key:"add",value:function(e,n){if(A(e))throw new Error("OSC Message needs a valid OSC Atomic Data Type");e==="N"?this.args.push(J):e==="T"?this.args.push(Z):e==="F"?this.args.push(q):e==="I"?this.args.push(K):this.args.push(n),this.types+=e}},{key:"pack",value:function(){var e=this;if(this.address.length===0||this.address[0]!=="/")throw new Error("OSC Message has an invalid address");var n=new ue;if(n.add(new S(this.address)),n.add(new S(",".concat(this.types))),this.args.length>0){var t;if(this.args.length>this.types.length)throw new Error("OSC Message argument and type tag mismatch");this.args.forEach(function(o,i){var s=e.types[i];if(s==="i")t=new U(o);else if(s==="h")t=new ge(o);else if(s==="t")t=new ve(o);else if(s==="f")t=new pe(o);else if(s==="d")t=new de(o);else if(s==="s")t=new S(o);else if(s==="b")t=new he(o);else if(s==="T")t=Z;else if(s==="F")t=q;else if(s==="N")t=J;else{if(s!=="I")throw new Error("OSC Message found unknown argument type");t=K}n.add(t)})}return n.merge()}},{key:"unpack",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(e instanceof DataView))throw new Error("OSC Message expects an instance of type DataView.");var t=new S;t.unpack(e,n);var o=new S;if(o.unpack(e,t.offset),t.value.length===0||t.value[0]!=="/")throw new Error("OSC Message found malformed or missing address string");if(o.value.length===0&&o.value[0]!==",")throw new Error("OSC Message found malformed or missing type string");for(var i,s,a=o.offset,c=[],w=1;w0&&(o=a.shift()),a.length>0&&a[0]instanceof Array&&(i=a.shift()),t=e.call(this,o,i),a.length>0&&(t.types=a.map(function(w){return ie(w)}).join(""),t.args=a),t}return l(n,[{key:"add",value:function(t){m(h(n.prototype),"add",this).call(this,ie(t),t)}}]),n}(Q),_="#bundle",I=function(){function r(){var e=this;f(this,r),this.offset=0,this.timetag=new B,this.bundleElements=[];for(var n=arguments.length,t=new Array(n),o=0;o0&&(t[0]instanceof Date||b(t[0])?this.timetag=new B(t[0]):D(t[0])?(t[0].forEach(function(i){e.add(i)}),t.length>1&&(t[1]instanceof Date||b(t[1]))&&(this.timetag=new B(t[1]))):t.forEach(function(i){e.add(i)}))}return l(r,[{key:"timestamp",value:function(e){if(!b(e))throw new Error("OSC Bundle needs an integer for setting the timestamp");this.timetag=new B(e)}},{key:"add",value:function(e){if(!(e instanceof E||e instanceof r))throw new Error("OSC Bundle contains only Messages and Bundles");this.bundleElements.push(e)}},{key:"pack",value:function(){var e=new ue;return e.add(new S(_)),this.timetag||(this.timetag=new B),e.add(this.timetag),this.bundleElements.forEach(function(n){e.add(new U(n.pack().byteLength)),e.add(n)}),e.merge()}},{key:"unpack",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(e instanceof DataView))throw new Error("OSC Bundle expects an instance of type DataView");var t=new S;if(t.unpack(e,n),t.value!==_)throw new Error("OSC Bundle does not contain a valid #bundle head");var o=new B,i=o.unpack(e,t.offset);for(this.bundleElements=[];i1&&arguments[1]!==void 0?arguments[1]:0;if(!(e instanceof DataView))throw new Error("OSC Packet expects an instance of type DataView");if(e.byteLength%4!=0)throw new Error("OSC Packet byteLength has to be a multiple of four");var t,o=new S;return o.unpack(e,n),(t=o.value===_?new I:new E).unpack(e,n),this.offset=t.offset,this.value=t,this.offset}}]),r}(),Me={discardLateMessages:!1},He=function(){function r(e){f(this,r),this.options=u(u({},Me),e),this.addressHandlers=[],this.eventHandlers={open:[],error:[],close:[]},this.uuid=0}return l(r,[{key:"dispatch",value:function(e,n){var t=this;if(!(e instanceof M))throw new Error("OSC EventHander dispatch() accepts only arguments of type Packet");if(!e.value)throw new Error("OSC EventHander dispatch() can't read empty Packets");if(e.value instanceof I){var o=e.value;return o.bundleElements.forEach(function(s){if(s instanceof I){if(o.timetag.value.timestamp()1&&(s=n[1]);var a=null;if(n.length>2)if(b(n[2]))a=n[2];else{if(!(n[2]instanceof Date))throw new Error("OSC EventHandler timestamp has to be a number or Date");a=n[2].getTime()}var c=null;if(n.length>=3&&(c=n[3]),a){var w=Date.now();if(w>a&&!this.options.discardLateMessages)return this.call(i,s,c);var P=this;return setTimeout(function(){P.call(i,s,c)},a-w),!0}return this.call(i,s,c)}},{key:"on",value:function(e,n){if(!v(e)&&!D(e))throw new Error("OSC EventHandler accepts only strings or arrays for address patterns");if(!j(n))throw new Error("OSC EventHandler callback has to be a function");this.uuid+=1;var t={id:this.uuid,callback:n};if(v(e)&&e in this.eventHandlers)return this.eventHandlers[e].push(t),this.uuid;var o=L(e);return o in this.addressHandlers||(this.addressHandlers[o]=[]),this.addressHandlers[o].push(t),this.uuid}},{key:"off",value:function(e,n){if(!v(e)&&!D(e))throw new Error("OSC EventHandler accepts only strings or arrays for address patterns");if(!b(n))throw new Error("OSC EventHandler subscription id has to be a number");var t,o;return v(e)&&e in this.eventHandlers?(t=e,o=this.eventHandlers):(t=L(e),o=this.addressHandlers),t in o&&o[t].some(function(i,s){return i.id===n&&(o[t].splice(s,1),!0)})}}]),r}(),Te=0,Le=1,Ne=2,Ve=3,Ue=function(){function r(){throw f(this,r),new Error("DatagramPlugin can not be used in browser context")}return l(r,[{key:"registerNotify",value:function(e){this.notify=e}},{key:"status",value:function(){return this.socketStatus}},{key:"open",value:function(){var e=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=u(u({},this.options.open),n),o=t.port,i=t.exclusive;this.socketStatus=Te,this.socket.bind({address:t.host,port:o,exclusive:i},function(){e.socketStatus=Le,e.notify("open")})}},{key:"close",value:function(){var e=this;this.socketStatus=Ne,this.socket.close(function(){e.socketStatus=Ve,e.notify("close")})}},{key:"send",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=u(u({},this.options.send),n),o=t.port,i=t.host;this.socket.send(Buffer.from(e),0,e.byteLength,o,i)}}]),r}();typeof WebSocket!="undefined"?x=WebSocket:typeof MozWebSocket!="undefined"?x=MozWebSocket:typeof H!="undefined"?x=H.WebSocket||H.MozWebSocket:typeof window!="undefined"?x=window.WebSocket||window.MozWebSocket:typeof self!="undefined"&&(x=self.WebSocket||self.MozWebSocket);var X=void 0,we=x,_e=0,We=1,Re=2,Fe=3,W={udpServer:{host:"localhost",port:41234,exclusive:!1},udpClient:{host:"localhost",port:41235},wsServer:{host:"localhost",port:8080},receiver:"ws"};function ye(r,e){return u(u(u(u({},W),r),e),{},{udpServer:u(u(u({},W.udpServer),r.udpServer),e.udpServer),udpClient:u(u(u({},W.udpClient),r.udpClient),e.udpClient),wsServer:u(u(u({},W.wsServer),r.wsServer),e.wsServer)})}var ze=function(){function r(){throw f(this,r),new Error("BridgePlugin can not be used in browser context")}return l(r,[{key:"registerNotify",value:function(e){this.notify=e}},{key:"status",value:function(){return this.socketStatus}},{key:"open",value:function(){var e=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=ye(this.options,n);this.socketStatus=_e,this.socket.bind({address:t.udpServer.host,port:t.udpServer.port,exclusive:t.udpServer.exclusive},function(){var o={};t.wsServer.server?o.server=t.wsServer.server:o=t.wsServer,e.websocket=new X(o),e.websocket.binaryType="arraybuffer",e.websocket.on("listening",function(){e.socketStatus=We,e.notify("open")}),e.websocket.on("error",function(i){e.notify("error",i)}),e.websocket.on("connection",function(i){i.on("message",function(s,a){e.send(s,{receiver:"udp"}),e.notify(new Uint8Array(s),a)})})})}},{key:"close",value:function(){var e=this;this.socketStatus=Re,this.socket.close(function(){e.websocket.close(function(){e.socketStatus=Fe,e.notify("close")})})}},{key:"send",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=ye(this.options,n),o=t.receiver;if(o==="udp"){var i=e instanceof Buffer?e:Buffer.from(e);this.socket.send(i,0,i.byteLength,t.udpClient.port,t.udpClient.host)}else{if(o!=="ws")throw new Error("BridgePlugin can not send message to unknown receiver");this.websocket.clients.forEach(function(s){s.send(e,{binary:!0})})}}}]),r}(),Ge=-1,Ze=0,qe=1,Je=2,Ke=3,Qe={host:"localhost",port:8080,secure:!1,protocol:[]},me=function(){function r(e){if(f(this,r),!we)throw new Error("WebsocketClientPlugin can't find a WebSocket class");this.options=u(u({},Qe),e),this.socket=null,this.socketStatus=Ge,this.notify=function(){}}return l(r,[{key:"registerNotify",value:function(e){this.notify=e}},{key:"status",value:function(){return this.socketStatus}},{key:"open",value:function(){var e=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=u(u({},this.options),n),o=t.port,i=t.host,s=t.secure,a=t.protocol;this.socket&&this.close();var c=s?"wss":"ws",w={address:i,family:c,port:o,size:0};this.socket=new we("".concat(c,"://").concat(i,":").concat(o),a),this.socket.binaryType="arraybuffer",this.socketStatus=Ze,this.socket.onopen=function(){e.socketStatus=qe,e.notify("open")},this.socket.onclose=function(){e.socketStatus=Ke,e.notify("close")},this.socket.onerror=function(P){e.notify("error",P)},this.socket.onmessage=function(P){e.notify(P.data,w)}}},{key:"close",value:function(){this.socketStatus=Je,this.socket.close()}},{key:"send",value:function(e){this.socket.send(e)}}]),r}(),Xe=0,Ye=1,$e=2,et=3,tt=function(){function r(e){throw f(this,r),new Error("WebsocketServerPlugin can not be used in browser context")}return l(r,[{key:"registerNotify",value:function(e){this.notify=e}},{key:"status",value:function(){return this.socketStatus}},{key:"open",value:function(){var e=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=u(u({},this.options),n),o=t.port,i=t.host,s={address:i,family:"wsserver",port:o,size:0};this.socket&&this.close(),t.server?this.socket=new X({server:t.server}):this.socket=new X({host:i,port:o}),this.socket.binaryType="arraybuffer",this.socketStatus=Xe,this.socket.on("listening",function(){e.socketStatus=Ye,e.notify("open")}),this.socket.on("error",function(a){e.notify("error",a)}),this.socket.on("connection",function(a){a.on("message",function(c){e.notify(new Uint8Array(c),s)})})}},{key:"close",value:function(){var e=this;this.socketStatus=$e,this.socket.close(function(){e.socketStatus=et,e.notify("close")})}},{key:"send",value:function(e){this.socket.clients.forEach(function(n){n.send(e,{binary:!0})})}}]),r}(),nt={discardLateMessages:!1,plugin:new me},O=function(){function r(e){if(f(this,r),e&&!z(e))throw new Error("OSC options argument has to be an object.");this.options=u(u({},nt),e),this.eventHandler=new He({discardLateMessages:this.options.discardLateMessages});var n=this.eventHandler;this.options.plugin&&this.options.plugin.registerNotify&&this.options.plugin.registerNotify(function(){return n.notify.apply(n,arguments)})}return l(r,[{key:"on",value:function(e,n){if(!v(e)||!j(n))throw new Error("OSC on() needs event- or address string and callback function");return this.eventHandler.on(e,n)}},{key:"off",value:function(e,n){if(!v(e)||!b(n))throw new Error("OSC off() needs string and number (subscriptionId) to unsubscribe");return this.eventHandler.off(e,n)}},{key:"open",value:function(e){if(e&&!z(e))throw new Error("OSC open() options argument needs to be an object");if(!this.options.plugin||!j(this.options.plugin.open))throw new Error("OSC Plugin API #open is not implemented!");return this.options.plugin.open(e)}},{key:"status",value:function(){if(!this.options.plugin||!j(this.options.plugin.status))throw new Error("OSC Plugin API #status is not implemented!");return this.options.plugin.status()}},{key:"close",value:function(){if(!this.options.plugin||!j(this.options.plugin.close))throw new Error("OSC Plugin API #close is not implemented!");return this.options.plugin.close()}},{key:"send",value:function(e,n){if(!this.options.plugin||!j(this.options.plugin.send))throw new Error("OSC Plugin API #send is not implemented!");if(!(e instanceof Q||e instanceof E||e instanceof I||e instanceof M))throw new Error("OSC send() needs Messages, Bundles or Packets");if(n&&!z(n))throw new Error("OSC send() options argument has to be an object");return this.options.plugin.send(e.pack(),n)}}]),r}();return O.STATUS={IS_NOT_INITIALIZED:-1,IS_CONNECTING:0,IS_OPEN:1,IS_CLOSING:2,IS_CLOSED:3},O.Packet=M,O.Bundle=I,O.Message=E,O.TypedMessage=Q,O.DatagramPlugin=Ue,O.WebsocketClientPlugin=me,O.WebsocketServerPlugin=tt,O.BridgePlugin=ze,O})})(Ee);var $=Ee.exports;const Ce=new $;Ce.open();const ft=.1;let Y=-1;ct.prototype.osc=function(){return this._withHap(g=>{const d=(p,u,f,N)=>{const l=u.wholeOrPart().begin.valueOf(),R=u.duration.valueOf();Y<0&&(Y=Date.now()-f*1e3);const k=Object.assign({},{cps:N,cycle:l,delta:R},u.value),h=Object.entries(k).flat(),T=Math.floor(Y+(p+ft)*1e3),F=new $.Message("/dirt/play",...h),y=new $.Bundle([F],T);y.timestamp(T),Ce.send(y)};return g.setContext(Oe(Se({},g.context),{onTrigger:d}))})}; diff --git a/assets/serial.981db6dc.js b/assets/serial.cc6ffa73.js similarity index 94% rename from assets/serial.981db6dc.js rename to assets/serial.cc6ffa73.js index 130c2bc1c..d79cc11e1 100644 --- a/assets/serial.981db6dc.js +++ b/assets/serial.cc6ffa73.js @@ -1 +1 @@ -var p=Object.defineProperty,y=Object.defineProperties;var d=Object.getOwnPropertyDescriptors;var s=Object.getOwnPropertySymbols;var m=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable;var c=(r,e,t)=>e in r?p(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,l=(r,e)=>{for(var t in e||(e={}))m.call(e,t)&&c(r,t,e[t]);if(s)for(var t of s(e))x.call(e,t)&&c(r,t,e[t]);return r},f=(r,e)=>y(r,d(e));import{P as T}from"./index.da4a4bfc.js";var o,u=!1;async function W(r=115200){if(!u){if(u=!0,o)return o;if("serial"in navigator){const e=await navigator.serial.requestPort();await e.open({baudRate:r});const t=new TextEncoderStream;t.readable.pipeTo(e.writable);const a=t.writable.getWriter();o=function(i){a.write(i)}}else throw"Webserial is not available in this browser."}}const P=.1;T.prototype.serial=async function(...r){return this._withHap(e=>{o||W(...r);const t=(a,i,w)=>{var n="";if(typeof i.value=="object")for(const[b,g]of Object.entries(i.value).flat())n+=`${b}:${g};`;else n=i.value;const v=(a-w+P)*1e3;window.setTimeout(o,v,n)};return e.setContext(f(l({},e.context),{onTrigger:t}))})};export{W as getWriter}; +var p=Object.defineProperty,y=Object.defineProperties;var d=Object.getOwnPropertyDescriptors;var s=Object.getOwnPropertySymbols;var m=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable;var c=(r,e,t)=>e in r?p(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,l=(r,e)=>{for(var t in e||(e={}))m.call(e,t)&&c(r,t,e[t]);if(s)for(var t of s(e))x.call(e,t)&&c(r,t,e[t]);return r},f=(r,e)=>y(r,d(e));import{P as T}from"./index.3580fc4e.js";var o,u=!1;async function W(r=115200){if(!u){if(u=!0,o)return o;if("serial"in navigator){const e=await navigator.serial.requestPort();await e.open({baudRate:r});const t=new TextEncoderStream;t.readable.pipeTo(e.writable);const a=t.writable.getWriter();o=function(i){a.write(i)}}else throw"Webserial is not available in this browser."}}const P=.1;T.prototype.serial=async function(...r){return this._withHap(e=>{o||W(...r);const t=(a,i,w)=>{var n="";if(typeof i.value=="object")for(const[b,g]of Object.entries(i.value).flat())n+=`${b}:${g};`;else n=i.value;const v=(a-w+P)*1e3;window.setTimeout(o,v,n)};return e.setContext(f(l({},e.context),{onTrigger:t}))})};export{W as getWriter}; diff --git a/index.html b/index.html index 9e3f1f356..f56f69d43 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,7 @@ Strudel REPL - + diff --git a/tutorial/assets/index.1d9d7c3e.js b/tutorial/assets/index.038826bf.js similarity index 90% rename from tutorial/assets/index.1d9d7c3e.js rename to tutorial/assets/index.038826bf.js index 96638f06b..e8110356b 100644 --- a/tutorial/assets/index.1d9d7c3e.js +++ b/tutorial/assets/index.038826bf.js @@ -1 +1 @@ -import{T as d}from"./index.171fdc07.js";import{T as A,o as T,a as k,u as E,d as N,f as O,g as I,t as j,k as q,l as x,m as B,b as D,c as F,n as _,q as v,r as C,j as z,h as H,p as S,e as U,s as G,i as J,v as K}from"./index.171fdc07.js";const f=()=>{document.getElementById("header").style="display:none"};function u(s){window.strudelAnimation&&cancelAnimationFrame(window.strudelAnimation);const a=e=>{const o=d.getTransport().seconds;s(e,o),window.strudelAnimation=requestAnimationFrame(a)};requestAnimationFrame(a)}const g=function(s,a={}){const e=document.getElementById("code"),o="background-image:url("+s+");background-size:contain;";e.style=o;const{className:c}=e,i=(t,n)=>{({style:()=>e.style=o+";"+n,className:()=>e.className=n+" "+c})[t]()},r=Object.entries(a).filter(([t,n])=>typeof n=="function");Object.entries(a).filter(([t,n])=>typeof n=="string").forEach(([t,n])=>i(t,n)),r.length!==0&&u((t,n)=>r.forEach(([l,m])=>{i(l,m(n))}))},h=()=>{const s=document.getElementById("code");s&&(s.style="",s.className="grow relative")};export{A as Tone,T as adsr,k as amsynth,g as backgroundImage,E as cleanupDraw,h as cleanupUi,N as duosynth,O as fmsynth,I as getDefaultSynth,j as getDrawContext,f as hideHeader,q as highpass,x as lowpass,B as membrane,D as metal,F as monosynth,_ as noise,v as osc,C as out,z as piano,H as players,S as pluck,U as polysynth,G as sampler,J as synth,K as vol}; +import{T as d}from"./index.268aabb2.js";import{T as A,o as T,a as k,u as E,d as N,f as O,g as I,t as j,k as q,l as x,m as B,b as D,c as F,n as _,q as v,r as C,j as z,h as H,p as S,e as U,s as G,i as J,v as K}from"./index.268aabb2.js";const f=()=>{document.getElementById("header").style="display:none"};function u(s){window.strudelAnimation&&cancelAnimationFrame(window.strudelAnimation);const a=e=>{const o=d.getTransport().seconds;s(e,o),window.strudelAnimation=requestAnimationFrame(a)};requestAnimationFrame(a)}const g=function(s,a={}){const e=document.getElementById("code"),o="background-image:url("+s+");background-size:contain;";e.style=o;const{className:c}=e,i=(t,n)=>{({style:()=>e.style=o+";"+n,className:()=>e.className=n+" "+c})[t]()},r=Object.entries(a).filter(([t,n])=>typeof n=="function");Object.entries(a).filter(([t,n])=>typeof n=="string").forEach(([t,n])=>i(t,n)),r.length!==0&&u((t,n)=>r.forEach(([l,m])=>{i(l,m(n))}))},h=()=>{const s=document.getElementById("code");s&&(s.style="",s.className="grow relative")};export{A as Tone,T as adsr,k as amsynth,g as backgroundImage,E as cleanupDraw,h as cleanupUi,N as duosynth,O as fmsynth,I as getDefaultSynth,j as getDrawContext,f as hideHeader,q as highpass,x as lowpass,B as membrane,D as metal,F as monosynth,_ as noise,v as osc,C as out,z as piano,H as players,S as pluck,U as polysynth,G as sampler,J as synth,K as vol}; diff --git a/tutorial/assets/index.153eae0f.css b/tutorial/assets/index.153eae0f.css new file mode 100644 index 000000000..8e32d4fa9 --- /dev/null +++ b/tutorial/assets/index.153eae0f.css @@ -0,0 +1 @@ +*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.container{width:100%}.\!container{width:100%!important}@media (min-width: 640px){.container{max-width:640px}.\!container{max-width:640px!important}}@media (min-width: 768px){.container{max-width:768px}.\!container{max-width:768px!important}}@media (min-width: 1024px){.container{max-width:1024px}.\!container{max-width:1024px!important}}@media (min-width: 1280px){.container{max-width:1280px}.\!container{max-width:1280px!important}}@media (min-width: 1536px){.container{max-width:1536px}.\!container{max-width:1536px!important}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where([class~="lead"]):not(:where([class~="not-prose"] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~="not-prose"] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~="not-prose"] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(ol):not(:where([class~="not-prose"] *)){list-style-type:decimal;padding-left:1.625em}.prose :where(ol[type="A"]):not(:where([class~="not-prose"] *)){list-style-type:upper-alpha}.prose :where(ol[type="a"]):not(:where([class~="not-prose"] *)){list-style-type:lower-alpha}.prose :where(ol[type="A" s]):not(:where([class~="not-prose"] *)){list-style-type:upper-alpha}.prose :where(ol[type="a" s]):not(:where([class~="not-prose"] *)){list-style-type:lower-alpha}.prose :where(ol[type="I"]):not(:where([class~="not-prose"] *)){list-style-type:upper-roman}.prose :where(ol[type="i"]):not(:where([class~="not-prose"] *)){list-style-type:lower-roman}.prose :where(ol[type="I" s]):not(:where([class~="not-prose"] *)){list-style-type:upper-roman}.prose :where(ol[type="i" s]):not(:where([class~="not-prose"] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~="not-prose"] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~="not-prose"] *)){list-style-type:disc;padding-left:1.625em}.prose :where(ol > li):not(:where([class~="not-prose"] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul > li):not(:where([class~="not-prose"] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~="not-prose"] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~="not-prose"] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-left-width:.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"\201c""\201d""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"] *)):after{content:close-quote}.prose :where(h1):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~="not-prose"] *)){font-weight:900}.prose :where(h2):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~="not-prose"] *)){font-weight:800}.prose :where(h3):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~="not-prose"] *)){font-weight:700}.prose :where(h4):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~="not-prose"] *)){font-weight:700}.prose :where(figure > *):not(:where([class~="not-prose"] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~="not-prose"] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose :where(code):not(:where([class~="not-prose"] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~="not-prose"] *)):before{content:"`"}.prose :where(code):not(:where([class~="not-prose"] *)):after{content:"`"}.prose :where(a code):not(:where([class~="not-prose"] *)){color:var(--tw-prose-links)}.prose :where(pre):not(:where([class~="not-prose"] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.prose :where(pre code):not(:where([class~="not-prose"] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~="not-prose"] *)):before{content:none}.prose :where(pre code):not(:where([class~="not-prose"] *)):after{content:none}.prose :where(table):not(:where([class~="not-prose"] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose :where(tbody tr):not(:where([class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~="not-prose"] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~="not-prose"] *)){vertical-align:baseline;padding:.5714286em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(p):not(:where([class~="not-prose"] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(img):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(h2 code):not(:where([class~="not-prose"] *)){font-size:.875em}.prose :where(h3 code):not(:where([class~="not-prose"] *)){font-size:.9em}.prose :where(li):not(:where([class~="not-prose"] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol > li):not(:where([class~="not-prose"] *)){padding-left:.375em}.prose :where(ul > li):not(:where([class~="not-prose"] *)){padding-left:.375em}.prose>:where(ul > li p):not(:where([class~="not-prose"] *)){margin-top:.75em;margin-bottom:.75em}.prose>:where(ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose>:where(ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose>:where(ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose>:where(ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~="not-prose"] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(hr + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h2 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h3 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h4 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose :where(tbody td:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose :where(tbody td:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose>:where(:first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose>:where(:last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.prose-lg{font-size:1.125rem;line-height:1.7777778}.prose-lg :where(p):not(:where([class~="not-prose"] *)){margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"] *)){font-size:1.2222222em;line-height:1.4545455;margin-top:1.0909091em;margin-bottom:1.0909091em}.prose-lg :where(blockquote):not(:where([class~="not-prose"] *)){margin-top:1.6666667em;margin-bottom:1.6666667em;padding-left:1em}.prose-lg :where(h1):not(:where([class~="not-prose"] *)){font-size:2.6666667em;margin-top:0;margin-bottom:.8333333em;line-height:1}.prose-lg :where(h2):not(:where([class~="not-prose"] *)){font-size:1.6666667em;margin-top:1.8666667em;margin-bottom:1.0666667em;line-height:1.3333333}.prose-lg :where(h3):not(:where([class~="not-prose"] *)){font-size:1.3333333em;margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.prose-lg :where(h4):not(:where([class~="not-prose"] *)){margin-top:1.7777778em;margin-bottom:.4444444em;line-height:1.5555556}.prose-lg :where(img):not(:where([class~="not-prose"] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(video):not(:where([class~="not-prose"] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(figure):not(:where([class~="not-prose"] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(figure > *):not(:where([class~="not-prose"] *)){margin-top:0;margin-bottom:0}.prose-lg :where(figcaption):not(:where([class~="not-prose"] *)){font-size:.8888889em;line-height:1.5;margin-top:1em}.prose-lg :where(code):not(:where([class~="not-prose"] *)){font-size:.8888889em}.prose-lg :where(h2 code):not(:where([class~="not-prose"] *)){font-size:.8666667em}.prose-lg :where(h3 code):not(:where([class~="not-prose"] *)){font-size:.875em}.prose-lg :where(pre):not(:where([class~="not-prose"] *)){font-size:.8888889em;line-height:1.75;margin-top:2em;margin-bottom:2em;border-radius:.375rem;padding:1em 1.5em}.prose-lg :where(ol):not(:where([class~="not-prose"] *)){padding-left:1.5555556em}.prose-lg :where(ul):not(:where([class~="not-prose"] *)){padding-left:1.5555556em}.prose-lg :where(li):not(:where([class~="not-prose"] *)){margin-top:.6666667em;margin-bottom:.6666667em}.prose-lg :where(ol > li):not(:where([class~="not-prose"] *)){padding-left:.4444444em}.prose-lg :where(ul > li):not(:where([class~="not-prose"] *)){padding-left:.4444444em}.prose-lg>:where(ul > li p):not(:where([class~="not-prose"] *)){margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg>:where(ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.3333333em}.prose-lg>:where(ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.3333333em}.prose-lg>:where(ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.3333333em}.prose-lg>:where(ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.3333333em}.prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~="not-prose"] *)){margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg :where(hr):not(:where([class~="not-prose"] *)){margin-top:3.1111111em;margin-bottom:3.1111111em}.prose-lg :where(hr + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose-lg :where(h2 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose-lg :where(h3 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose-lg :where(h4 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose-lg :where(table):not(:where([class~="not-prose"] *)){font-size:.8888889em;line-height:1.5}.prose-lg :where(thead th):not(:where([class~="not-prose"] *)){padding-right:.75em;padding-bottom:.75em;padding-left:.75em}.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose-lg :where(tbody td):not(:where([class~="not-prose"] *)){padding:.75em}.prose-lg :where(tbody td:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose-lg :where(tbody td:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose-lg>:where(:first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose-lg>:where(:last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.\!visible{visibility:visible!important}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.\!fixed{position:fixed!important}.absolute{position:absolute}.\!absolute{position:absolute!important}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.-inset-1{top:-.25rem;right:-.25rem;bottom:-.25rem;left:-.25rem}.top-0{top:0px}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-\[2\]{z-index:2}.float-right{float:right}.float-left{float:left}.float-none{float:none}.clear-left{clear:left}.clear-right{clear:right}.clear-both{clear:both}.clear-none{clear:none}.mt-2{margin-top:.5rem}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.block{display:block}.\!block{display:block!important}.inline-block{display:inline-block}.inline{display:inline}.\!inline{display:inline!important}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!table{display:table!important}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.h-16{height:4rem}.h-10{height:2.5rem}.h-1{height:.25rem}.h-\[calc\(100\%-theme\(\'spacing\.1\'\)\)\],.h-\[calc\(100\%-theme\(\"spacing\.1\"\)\)\]{height:calc(100% - .25rem)}.min-h-screen{min-height:100vh}.w-full{width:100%}.w-10{width:2.5rem}.max-w-3xl{max-width:48rem}.flex-none{flex:none}.flex-shrink,.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\!transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.transform-cpu{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-gpu{transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}.cursor-pointer{cursor:pointer}.touch-auto{touch-action:auto}.touch-none{touch-action:none}.touch-pan-x{--tw-pan-x: pan-x;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.touch-pan-left{--tw-pan-x: pan-left;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.touch-pan-right{--tw-pan-x: pan-right;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.touch-pan-y{--tw-pan-y: pan-y;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.touch-pan-up{--tw-pan-y: pan-up;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.touch-pan-down{--tw-pan-y: pan-down;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.touch-pinch-zoom{--tw-pinch-zoom: pinch-zoom;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.touch-manipulation{touch-action:manipulation}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.resize-none{resize:none}.resize-y{resize:vertical}.resize-x{resize:horizontal}.resize{resize:both}.snap-none{-ms-scroll-snap-type:none;scroll-snap-type:none}.snap-x{-ms-scroll-snap-type:x var(--tw-scroll-snap-strictness);scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-y{-ms-scroll-snap-type:y var(--tw-scroll-snap-strictness);scroll-snap-type:y var(--tw-scroll-snap-strictness)}.snap-both{-ms-scroll-snap-type:both var(--tw-scroll-snap-strictness);scroll-snap-type:both var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness: mandatory}.snap-proximity{--tw-scroll-snap-strictness: proximity}.snap-start{scroll-snap-align:start}.snap-end{scroll-snap-align:end}.snap-center{scroll-snap-align:center}.snap-align-none{scroll-snap-align:none}.snap-normal{scroll-snap-stop:normal}.snap-always{scroll-snap-stop:always}.list-inside{list-style-position:inside}.list-outside{list-style-position:outside}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.break-before-auto{-moz-column-break-before:auto;break-before:auto}.break-before-avoid{-moz-column-break-before:avoid;break-before:avoid}.break-before-all{-moz-column-break-before:all;break-before:all}.break-before-avoid-page{-moz-column-break-before:avoid;break-before:avoid-page}.break-before-page{-moz-column-break-before:page;break-before:page}.break-before-left{-moz-column-break-before:left;break-before:left}.break-before-right{-moz-column-break-before:right;break-before:right}.break-before-column{-moz-column-break-before:column;break-before:column}.break-inside-auto{-moz-column-break-inside:auto;break-inside:auto}.break-inside-avoid{-moz-column-break-inside:avoid;break-inside:avoid}.break-inside-avoid-page{break-inside:avoid-page}.break-inside-avoid-column{-moz-column-break-inside:avoid;break-inside:avoid-column}.break-after-auto{-moz-column-break-after:auto;break-after:auto}.break-after-avoid{-moz-column-break-after:avoid;break-after:avoid}.break-after-all{-moz-column-break-after:all;break-after:all}.break-after-avoid-page{-moz-column-break-after:avoid;break-after:avoid-page}.break-after-page{-moz-column-break-after:page;break-after:page}.break-after-left{-moz-column-break-after:left;break-after:left}.break-after-right{-moz-column-break-after:right;break-after:right}.break-after-column{-moz-column-break-after:column;break-after:column}.grid-flow-row{grid-auto-flow:row}.grid-flow-col{grid-auto-flow:column}.grid-flow-row-dense{grid-auto-flow:row dense}.grid-flow-col-dense{grid-auto-flow:column dense}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-nowrap{flex-wrap:nowrap}.place-content-center{place-content:center}.place-content-start{place-content:start}.place-content-end{place-content:end}.place-content-between{place-content:space-between}.place-content-around{place-content:space-around}.place-content-evenly{place-content:space-evenly}.place-content-stretch{place-content:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch}.content-center{align-content:center}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 1}.space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 1}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 1}.divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 1}.divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.divide-double>:not([hidden])~:not([hidden]){border-style:double}.divide-none>:not([hidden])~:not([hidden]){border-style:none}.place-self-auto{place-self:auto}.place-self-start{place-self:start}.place-self-end{place-self:end}.place-self-center{place-self:center}.place-self-stretch{place-self:stretch}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.self-baseline{align-self:baseline}.justify-self-auto{justify-self:auto}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.justify-self-stretch{justify-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-clip{overflow:clip}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-clip{overflow-x:clip}.overflow-y-clip{overflow-y:clip}.overflow-x-visible{overflow-x:visible}.overflow-y-visible{overflow-y:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.overscroll-auto{-ms-scroll-chaining:chained;overscroll-behavior:auto}.overscroll-contain{-ms-scroll-chaining:none;overscroll-behavior:contain}.overscroll-none{-ms-scroll-chaining:none;overscroll-behavior:none}.overscroll-y-auto{overscroll-behavior-y:auto}.overscroll-y-contain{overscroll-behavior-y:contain}.overscroll-y-none{overscroll-behavior-y:none}.overscroll-x-auto{overscroll-behavior-x:auto}.overscroll-x-contain{overscroll-behavior-x:contain}.overscroll-x-none{overscroll-behavior-x:none}.scroll-auto{scroll-behavior:auto}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-ellipsis,.text-ellipsis{text-overflow:ellipsis}.text-clip{text-overflow:clip}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-normal{overflow-wrap:normal;word-break:normal}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-width:1px}.border-x{border-left-width:1px;border-right-width:1px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-l{border-left-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-double{border-style:double}.border-hidden{border-style:hidden}.border-none{border-style:none}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-\[rgb\(255\,0\,0\)\]{--tw-bg-opacity: 1;background-color:rgb(255 0 0 / var(--tw-bg-opacity))}.bg-\[url\(\'\.\.\.\'\)\]{background-image:url(...)}.bg-\[url\(\"\.\.\.\"\)\]{background-image:url(...)}.bg-\[url\(\'\.\.\.\'\)\,url\(\'\.\.\.\'\)\]{background-image:url(...),url(...)}.bg-\[url\(\"\.\.\.\"\)\,url\(\"\.\.\.\"\)\]{background-image:url(...),url(...)}.decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.box-decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.box-decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.bg-fixed{background-attachment:fixed}.bg-local{background-attachment:local}.bg-scroll{background-attachment:scroll}.bg-clip-border{background-clip:border-box}.bg-clip-padding{background-clip:padding-box}.bg-clip-content{background-clip:content-box}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-repeat{background-repeat:repeat}.bg-no-repeat{background-repeat:no-repeat}.bg-repeat-x{background-repeat:repeat-x}.bg-repeat-y{background-repeat:repeat-y}.bg-repeat-round{background-repeat:round}.bg-repeat-space{background-repeat:space}.bg-origin-border{background-origin:border-box}.bg-origin-padding{background-origin:padding-box}.bg-origin-content{background-origin:content-box}.fill-\[\#bada55\]{fill:#bada55}.fill-\[\#bada55\]\/50{fill:#bada5580}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.object-none{-o-object-fit:none;object-fit:none}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.p-4{padding:1rem}.p-1{padding:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-1{padding-left:.25rem;padding-right:.25rem}.pl-6{padding-left:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-top{vertical-align:text-top}.align-text-bottom{vertical-align:text-bottom}.align-sub{vertical-align:sub}.align-super{vertical-align:super}.font-\[\'some_font\'\,sans-serif\],.font-\[\"some_font\"\,sans-serif\]{font-family:some font,sans-serif}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.normal-nums{font-variant-numeric:normal}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.slashed-zero{--tw-slashed-zero: slashed-zero;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lining-nums{--tw-numeric-figure: lining-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.oldstyle-nums{--tw-numeric-figure: oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.proportional-nums{--tw-numeric-spacing: proportional-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.diagonal-fractions{--tw-numeric-fraction: diagonal-fractions;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.stacked-fractions{--tw-numeric-fraction: stacked-fractions;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.overline{-webkit-text-decoration-line:overline;text-decoration-line:overline}.line-through{-webkit-text-decoration-line:line-through;text-decoration-line:line-through}.no-underline{-webkit-text-decoration-line:none;text-decoration-line:none}.decoration-solid{-webkit-text-decoration-style:solid;text-decoration-style:solid}.decoration-double{-webkit-text-decoration-style:double;text-decoration-style:double}.decoration-dotted{-webkit-text-decoration-style:dotted;text-decoration-style:dotted}.decoration-dashed{-webkit-text-decoration-style:dashed;text-decoration-style:dashed}.decoration-wavy{-webkit-text-decoration-style:wavy;text-decoration-style:wavy}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.bg-blend-normal{background-blend-mode:normal}.bg-blend-multiply{background-blend-mode:multiply}.bg-blend-screen{background-blend-mode:screen}.bg-blend-overlay{background-blend-mode:overlay}.bg-blend-darken{background-blend-mode:darken}.bg-blend-lighten{background-blend-mode:lighten}.bg-blend-color-dodge{background-blend-mode:color-dodge}.bg-blend-color-burn{background-blend-mode:color-burn}.bg-blend-hard-light{background-blend-mode:hard-light}.bg-blend-soft-light{background-blend-mode:soft-light}.bg-blend-difference{background-blend-mode:difference}.bg-blend-exclusion{background-blend-mode:exclusion}.bg-blend-hue{background-blend-mode:hue}.bg-blend-saturation{background-blend-mode:saturation}.bg-blend-color{background-blend-mode:color}.bg-blend-luminosity{background-blend-mode:luminosity}.mix-blend-normal{mix-blend-mode:normal}.mix-blend-multiply{mix-blend-mode:multiply}.mix-blend-screen{mix-blend-mode:screen}.mix-blend-overlay{mix-blend-mode:overlay}.mix-blend-darken{mix-blend-mode:darken}.mix-blend-lighten{mix-blend-mode:lighten}.mix-blend-color-dodge{mix-blend-mode:color-dodge}.mix-blend-color-burn{mix-blend-mode:color-burn}.mix-blend-hard-light{mix-blend-mode:hard-light}.mix-blend-soft-light{mix-blend-mode:soft-light}.mix-blend-difference{mix-blend-mode:difference}.mix-blend-exclusion{mix-blend-mode:exclusion}.mix-blend-hue{mix-blend-mode:hue}.mix-blend-saturation{mix-blend-mode:saturation}.mix-blend-color{mix-blend-mode:color}.mix-blend-luminosity{mix-blend-mode:luminosity}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.\!shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1) !important;--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color) !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-dashed{outline-style:dashed}.outline-dotted{outline-style:dotted}.outline-double{outline-style:double}.outline-hidden{outline-style:hidden}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!invert{--tw-invert: invert(100%) !important;filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter-none{filter:none}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-grayscale{--tw-backdrop-grayscale: grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-invert{--tw-backdrop-invert: invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-sepia{--tw-backdrop-sepia: sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter-none{-webkit-backdrop-filter:none;backdrop-filter:none}.transition{transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.content-\[\'hello\'\],.content-\[\"hello\"\]{--tw-content: "hello";content:var(--tw-content)}.content-\[\'this-is-also-valid\]-weirdly-enough\'\]{--tw-content: "this-is-also-valid]-weirdly-enough";content:var(--tw-content)}.\[attr\:value\]{attr:value}.\[content\:\'hello\'\],.\[content\:\"hello\"\]{content:"hello"}.\[vite\:css\]{vite:css}h1:before,h2:before,h3:before,h4:before,h5:before,h6:before{display:block;content:" ";margin-top:-70px;height:70px;visibility:hidden;pointer-events:none;position:relative}h1:hover .icon-link,h2:hover .icon-link,h3:hover .icon-link,h4:hover .icon-link,h5:hover .icon-link,h6:hover .icon-link,.icon.icon-link:hover{visibility:visible}.icon.icon-link{background-image:url(/tutorial/assets/link.55bc37e1.svg);background-repeat:no-repeat;height:16px;display:block;color:gray;fill:#000;position:absolute;visibility:hidden;margin-left:-20px;width:20px;margin-top:8px}#table-of-contents{display:none}#table-of-contents+ul{position:fixed;right:0;top:64px;overflow:auto;height:calc(100vh - 64px);width:33%;margin:2px;padding:12px 0 12px 8px}#table-of-contents+ul ul{padding-left:8px}#table-of-contents+ul li{list-style:none;margin:2px}#table-of-contents+ul li p{margin:0}#table-of-contents+ul li a{text-decoration:none}@media only screen and (max-width: 1120px){#table-of-contents+ul{display:none}}.hover\:font-bold:hover{font-weight:700}.before\:hover\:text-center:hover:before{content:var(--tw-content);text-align:center}.hover\:before\:text-center:hover:before{content:var(--tw-content);text-align:center}.hover\:focus\:text-center:focus:hover{text-align:center}.focus\:hover\:text-center:hover:focus{text-align:center}.prose-headings\:underline :is(:where(h1,h2,h3,h4,th):not(:where([class~="not-prose"] *))){-webkit-text-decoration-line:underline;text-decoration-line:underline}.prose-lead\:italic :is(:where([class~="lead"]):not(:where([class~="not-prose"] *))){font-style:italic}.prose-h1\:text-3xl :is(:where(h1):not(:where([class~="not-prose"] *))){font-size:1.875rem;line-height:2.25rem}.prose-h2\:text-2xl :is(:where(h2):not(:where([class~="not-prose"] *))){font-size:1.5rem;line-height:2rem}.prose-h3\:text-xl :is(:where(h3):not(:where([class~="not-prose"] *))){font-size:1.25rem;line-height:1.75rem}.prose-h4\:text-lg :is(:where(h4):not(:where([class~="not-prose"] *))){font-size:1.125rem;line-height:1.75rem}.prose-p\:text-gray-700 :is(:where(p):not(:where([class~="not-prose"] *))){--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.prose-a\:font-bold :is(:where(a):not(:where([class~="not-prose"] *))){font-weight:700}.prose-blockquote\:italic :is(:where(blockquote):not(:where([class~="not-prose"] *))){font-style:italic}.prose-figure\:mx-auto :is(:where(figure):not(:where([class~="not-prose"] *))){margin-left:auto;margin-right:auto}.prose-figcaption\:opacity-75 :is(:where(figcaption):not(:where([class~="not-prose"] *))){opacity:.75}.prose-strong\:font-medium :is(:where(strong):not(:where([class~="not-prose"] *))){font-weight:500}.prose-em\:italic :is(:where(em):not(:where([class~="not-prose"] *))){font-style:italic}.prose-code\:font-mono :is(:where(code):not(:where([class~="not-prose"] *))){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.prose-pre\:font-mono :is(:where(pre):not(:where([class~="not-prose"] *))){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.prose-ol\:pl-6 :is(:where(ol):not(:where([class~="not-prose"] *))){padding-left:1.5rem}.prose-ul\:pl-8 :is(:where(ul):not(:where([class~="not-prose"] *))){padding-left:2rem}.prose-li\:my-4 :is(:where(li):not(:where([class~="not-prose"] *))){margin-top:1rem;margin-bottom:1rem}.prose-table\:my-8 :is(:where(table):not(:where([class~="not-prose"] *))){margin-top:2rem;margin-bottom:2rem}.prose-thead\:border-red-300 :is(:where(thead):not(:where([class~="not-prose"] *))){--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity))}.prose-tr\:border-red-200 :is(:where(tr):not(:where([class~="not-prose"] *))){--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity))}.prose-th\:text-left :is(:where(th):not(:where([class~="not-prose"] *))){text-align:left}.prose-img\:rounded-lg :is(:where(img):not(:where([class~="not-prose"] *))){border-radius:.5rem}.prose-video\:my-12 :is(:where(video):not(:where([class~="not-prose"] *))){margin-top:3rem;margin-bottom:3rem}.prose-hr\:border-t-2 :is(:where(hr):not(:where([class~="not-prose"] *))){border-top-width:2px}@media (min-width: 640px){.sm\:container{width:100%}@media (min-width: 640px){.sm\:container{max-width:640px}}@media (min-width: 768px){.sm\:container{max-width:768px}}@media (min-width: 1024px){.sm\:container{max-width:1024px}}@media (min-width: 1280px){.sm\:container{max-width:1280px}}@media (min-width: 1536px){.sm\:container{max-width:1536px}}.sm\:underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}}@media (prefers-color-scheme: dark){@media (min-width: 1024px){.dark\:lg\:hover\:\[paint-order\:markers\]:hover{paint-order:markers}}}*,:before,:after{--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.sc-h-5{height:1.25rem}.sc-w-5{width:1.25rem}@-webkit-keyframes sc-pulse{50%{opacity:.5}}@keyframes sc-pulse{50%{opacity:.5}}.sc-animate-pulse{-webkit-animation:sc-pulse 2s cubic-bezier(.4,0,.6,1) infinite;animation:sc-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cm-editor{background-color:transparent!important}._container_10e1g_1{overflow:hidden;border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(68 76 87 / var(--tw-bg-opacity))}._header_10e1g_5{display:flex;justify-content:space-between;border-top-width:1px;--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}._buttons_10e1g_9{display:flex}._button_10e1g_9{display:flex;width:4rem;cursor:pointer;align-items:center;justify-content:center;border-right-width:1px;--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity));padding:.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}._button_10e1g_9:hover{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}._buttonDisabled_10e1g_17{display:flex;width:4rem;cursor:pointer;cursor:not-allowed;align-items:center;justify-content:center;--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity));padding:.25rem;--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}._error_10e1g_21{padding:.25rem;text-align:right;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity))}._body_10e1g_25{position:relative;overflow:auto} diff --git a/tutorial/assets/index.1c5b63f7.js b/tutorial/assets/index.1c5b63f7.js new file mode 100644 index 000000000..6fb7ae72d --- /dev/null +++ b/tutorial/assets/index.1c5b63f7.js @@ -0,0 +1 @@ +import{O as a}from"./index.268aabb2.js";export{a as loadWebDirt}; diff --git a/tutorial/assets/index.171fdc07.js b/tutorial/assets/index.268aabb2.js similarity index 95% rename from tutorial/assets/index.171fdc07.js rename to tutorial/assets/index.268aabb2.js index bb91ff8bd..3d9f07b8b 100644 --- a/tutorial/assets/index.171fdc07.js +++ b/tutorial/assets/index.268aabb2.js @@ -16,7 +16,7 @@ object-assign * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(o){var e,s,a,c;if(typeof performance=="object"&&typeof performance.now=="function"){var d=performance;o.unstable_now=function(){return d.now()}}else{var _=Date,b=_.now();o.unstable_now=function(){return _.now()-b}}if(typeof window=="undefined"||typeof MessageChannel!="function"){var k=null,$=null,j=function(){if(k!==null)try{var St=o.unstable_now();k(!0,St),k=null}catch(Ct){throw setTimeout(j,0),Ct}};e=function(St){k!==null?setTimeout(e,0,St):(k=St,setTimeout(j,0))},s=function(St,Ct){$=setTimeout(St,Ct)},a=function(){clearTimeout($)},o.unstable_shouldYield=function(){return!1},c=o.unstable_forceFrameRate=function(){}}else{var _e=window.setTimeout,et=window.clearTimeout;if(typeof console!="undefined"){var tt=window.cancelAnimationFrame;typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),typeof tt!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var nt=!1,st=null,rt=-1,it=5,at=0;o.unstable_shouldYield=function(){return o.unstable_now()>=at},c=function(){},o.unstable_forceFrameRate=function(St){0>St||125>>1,Mt=St[Rt];if(Mt!==void 0&&0ht(Ft,xt))jt!==void 0&&0>ht(jt,Ft)?(St[Rt]=jt,St[Vt]=xt,Rt=Vt):(St[Rt]=Ft,St[It]=xt,Rt=It);else if(jt!==void 0&&0>ht(jt,xt))St[Rt]=jt,St[Vt]=xt,Rt=Vt;else break e}}return Ct}return null}function ht(St,Ct){var xt=St.sortIndex-Ct.sortIndex;return xt!==0?xt:St.id-Ct.id}var dt=[],gt=[],yt=1,ft=null,mt=3,Et=!1,vt=!1,At=!1;function _t(St){for(var Ct=ut(gt);Ct!==null;){if(Ct.callback===null)lt(gt);else if(Ct.startTime<=St)lt(gt),Ct.sortIndex=Ct.expirationTime,ct(dt,Ct);else break;Ct=ut(gt)}}function Dt(St){if(At=!1,_t(St),!vt)if(ut(dt)!==null)vt=!0,e(bt);else{var Ct=ut(gt);Ct!==null&&s(Dt,Ct.startTime-St)}}function bt(St,Ct){vt=!1,At&&(At=!1,a()),Et=!0;var xt=mt;try{for(_t(Ct),ft=ut(dt);ft!==null&&(!(ft.expirationTime>Ct)||St&&!o.unstable_shouldYield());){var Rt=ft.callback;if(typeof Rt=="function"){ft.callback=null,mt=ft.priorityLevel;var Mt=Rt(ft.expirationTime<=Ct);Ct=o.unstable_now(),typeof Mt=="function"?ft.callback=Mt:ft===ut(dt)&<(dt),_t(Ct)}else lt(dt);ft=ut(dt)}if(ft!==null)var It=!0;else{var Ft=ut(gt);Ft!==null&&s(Dt,Ft.startTime-Ct),It=!1}return It}finally{ft=null,mt=xt,Et=!1}}var Tt=c;o.unstable_IdlePriority=5,o.unstable_ImmediatePriority=1,o.unstable_LowPriority=4,o.unstable_NormalPriority=3,o.unstable_Profiling=null,o.unstable_UserBlockingPriority=2,o.unstable_cancelCallback=function(St){St.callback=null},o.unstable_continueExecution=function(){vt||Et||(vt=!0,e(bt))},o.unstable_getCurrentPriorityLevel=function(){return mt},o.unstable_getFirstCallbackNode=function(){return ut(dt)},o.unstable_next=function(St){switch(mt){case 1:case 2:case 3:var Ct=3;break;default:Ct=mt}var xt=mt;mt=Ct;try{return St()}finally{mt=xt}},o.unstable_pauseExecution=function(){},o.unstable_requestPaint=Tt,o.unstable_runWithPriority=function(St,Ct){switch(St){case 1:case 2:case 3:case 4:case 5:break;default:St=3}var xt=mt;mt=St;try{return Ct()}finally{mt=xt}},o.unstable_scheduleCallback=function(St,Ct,xt){var Rt=o.unstable_now();switch(typeof xt=="object"&&xt!==null?(xt=xt.delay,xt=typeof xt=="number"&&0Rt?(St.sortIndex=xt,ct(gt,St),ut(dt)===null&&St===ut(gt)&&(At?a():At=!0,s(Dt,xt-Rt))):(St.sortIndex=Mt,ct(dt,St),vt||Et||(vt=!0,e(bt))),St},o.unstable_wrapCallback=function(St){var Ct=mt;return function(){var xt=mt;mt=Ct;try{return St.apply(this,arguments)}finally{mt=xt}}}})(scheduler_production_min);scheduler.exports=scheduler_production_min;/** @license React v17.0.2 + */(function(o){var e,s,a,c;if(typeof performance=="object"&&typeof performance.now=="function"){var d=performance;o.unstable_now=function(){return d.now()}}else{var _=Date,b=_.now();o.unstable_now=function(){return _.now()-b}}if(typeof window=="undefined"||typeof MessageChannel!="function"){var k=null,$=null,j=function(){if(k!==null)try{var St=o.unstable_now();k(!0,St),k=null}catch(Ct){throw setTimeout(j,0),Ct}};e=function(St){k!==null?setTimeout(e,0,St):(k=St,setTimeout(j,0))},s=function(St,Ct){$=setTimeout(St,Ct)},a=function(){clearTimeout($)},o.unstable_shouldYield=function(){return!1},c=o.unstable_forceFrameRate=function(){}}else{var _e=window.setTimeout,et=window.clearTimeout;if(typeof console!="undefined"){var tt=window.cancelAnimationFrame;typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),typeof tt!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var nt=!1,it=null,rt=-1,st=5,at=0;o.unstable_shouldYield=function(){return o.unstable_now()>=at},c=function(){},o.unstable_forceFrameRate=function(St){0>St||125>>1,Mt=St[Rt];if(Mt!==void 0&&0ht(Ft,xt))jt!==void 0&&0>ht(jt,Ft)?(St[Rt]=jt,St[Vt]=xt,Rt=Vt):(St[Rt]=Ft,St[It]=xt,Rt=It);else if(jt!==void 0&&0>ht(jt,xt))St[Rt]=jt,St[Vt]=xt,Rt=Vt;else break e}}return Ct}return null}function ht(St,Ct){var xt=St.sortIndex-Ct.sortIndex;return xt!==0?xt:St.id-Ct.id}var dt=[],gt=[],yt=1,ft=null,mt=3,Et=!1,vt=!1,At=!1;function _t(St){for(var Ct=ut(gt);Ct!==null;){if(Ct.callback===null)lt(gt);else if(Ct.startTime<=St)lt(gt),Ct.sortIndex=Ct.expirationTime,ct(dt,Ct);else break;Ct=ut(gt)}}function Dt(St){if(At=!1,_t(St),!vt)if(ut(dt)!==null)vt=!0,e(bt);else{var Ct=ut(gt);Ct!==null&&s(Dt,Ct.startTime-St)}}function bt(St,Ct){vt=!1,At&&(At=!1,a()),Et=!0;var xt=mt;try{for(_t(Ct),ft=ut(dt);ft!==null&&(!(ft.expirationTime>Ct)||St&&!o.unstable_shouldYield());){var Rt=ft.callback;if(typeof Rt=="function"){ft.callback=null,mt=ft.priorityLevel;var Mt=Rt(ft.expirationTime<=Ct);Ct=o.unstable_now(),typeof Mt=="function"?ft.callback=Mt:ft===ut(dt)&<(dt),_t(Ct)}else lt(dt);ft=ut(dt)}if(ft!==null)var It=!0;else{var Ft=ut(gt);Ft!==null&&s(Dt,Ft.startTime-Ct),It=!1}return It}finally{ft=null,mt=xt,Et=!1}}var Tt=c;o.unstable_IdlePriority=5,o.unstable_ImmediatePriority=1,o.unstable_LowPriority=4,o.unstable_NormalPriority=3,o.unstable_Profiling=null,o.unstable_UserBlockingPriority=2,o.unstable_cancelCallback=function(St){St.callback=null},o.unstable_continueExecution=function(){vt||Et||(vt=!0,e(bt))},o.unstable_getCurrentPriorityLevel=function(){return mt},o.unstable_getFirstCallbackNode=function(){return ut(dt)},o.unstable_next=function(St){switch(mt){case 1:case 2:case 3:var Ct=3;break;default:Ct=mt}var xt=mt;mt=Ct;try{return St()}finally{mt=xt}},o.unstable_pauseExecution=function(){},o.unstable_requestPaint=Tt,o.unstable_runWithPriority=function(St,Ct){switch(St){case 1:case 2:case 3:case 4:case 5:break;default:St=3}var xt=mt;mt=St;try{return Ct()}finally{mt=xt}},o.unstable_scheduleCallback=function(St,Ct,xt){var Rt=o.unstable_now();switch(typeof xt=="object"&&xt!==null?(xt=xt.delay,xt=typeof xt=="number"&&0Rt?(St.sortIndex=xt,ct(gt,St),ut(dt)===null&&St===ut(gt)&&(At?a():At=!0,s(Dt,xt-Rt))):(St.sortIndex=Mt,ct(dt,St),vt||Et||(vt=!0,e(bt))),St},o.unstable_wrapCallback=function(St){var Ct=mt;return function(){var xt=mt;mt=Ct;try{return St.apply(this,arguments)}finally{mt=xt}}}})(scheduler_production_min);scheduler.exports=scheduler_production_min;/** @license React v17.0.2 * react-dom.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. @@ -27,20 +27,20 @@ object-assign `+Ma+o}var Oa=!1;function Pa(o,e){if(!o||Oa)return"";Oa=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(e)if(e=function(){throw Error()},Object.defineProperty(e.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(e,[])}catch(k){var a=k}Reflect.construct(o,[],e)}else{try{e.call()}catch(k){a=k}o.call(e.prototype)}else{try{throw Error()}catch(k){a=k}o()}}catch(k){if(k&&a&&typeof k.stack=="string"){for(var c=k.stack.split(` `),d=a.stack.split(` `),_=c.length-1,b=d.length-1;1<=_&&0<=b&&c[_]!==d[b];)b--;for(;1<=_&&0<=b;_--,b--)if(c[_]!==d[b]){if(_!==1||b!==1)do if(_--,b--,0>b||c[_]!==d[b])return` -`+c[_].replace(" at new "," at ");while(1<=_&&0<=b);break}}}finally{Oa=!1,Error.prepareStackTrace=s}return(o=o?o.displayName||o.name:"")?Na(o):""}function Qa(o){switch(o.tag){case 5:return Na(o.type);case 16:return Na("Lazy");case 13:return Na("Suspense");case 19:return Na("SuspenseList");case 0:case 2:case 15:return o=Pa(o.type,!1),o;case 11:return o=Pa(o.type.render,!1),o;case 22:return o=Pa(o.type._render,!1),o;case 1:return o=Pa(o.type,!0),o;default:return""}}function Ra(o){if(o==null)return null;if(typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case ua:return"Fragment";case ta:return"Portal";case xa:return"Profiler";case wa:return"StrictMode";case Ba:return"Suspense";case Ca:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case za:return(o.displayName||"Context")+".Consumer";case ya:return(o._context.displayName||"Context")+".Provider";case Aa:var e=o.render;return e=e.displayName||e.name||"",o.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case Da:return Ra(o.type);case Fa:return Ra(o._render);case Ea:e=o._payload,o=o._init;try{return Ra(o(e))}catch{}}return null}function Sa(o){switch(typeof o){case"boolean":case"number":case"object":case"string":case"undefined":return o;default:return""}}function Ta(o){var e=o.type;return(o=o.nodeName)&&o.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Ua(o){var e=Ta(o)?"checked":"value",s=Object.getOwnPropertyDescriptor(o.constructor.prototype,e),a=""+o[e];if(!o.hasOwnProperty(e)&&typeof s!="undefined"&&typeof s.get=="function"&&typeof s.set=="function"){var c=s.get,d=s.set;return Object.defineProperty(o,e,{configurable:!0,get:function(){return c.call(this)},set:function(_){a=""+_,d.call(this,_)}}),Object.defineProperty(o,e,{enumerable:s.enumerable}),{getValue:function(){return a},setValue:function(_){a=""+_},stopTracking:function(){o._valueTracker=null,delete o[e]}}}}function Va(o){o._valueTracker||(o._valueTracker=Ua(o))}function Wa(o){if(!o)return!1;var e=o._valueTracker;if(!e)return!0;var s=e.getValue(),a="";return o&&(a=Ta(o)?o.checked?"true":"false":o.value),o=a,o!==s?(e.setValue(o),!0):!1}function Xa(o){if(o=o||(typeof document!="undefined"?document:void 0),typeof o=="undefined")return null;try{return o.activeElement||o.body}catch{return o.body}}function Ya(o,e){var s=e.checked;return m$1({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:s!=null?s:o._wrapperState.initialChecked})}function Za(o,e){var s=e.defaultValue==null?"":e.defaultValue,a=e.checked!=null?e.checked:e.defaultChecked;s=Sa(e.value!=null?e.value:s),o._wrapperState={initialChecked:a,initialValue:s,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function $a(o,e){e=e.checked,e!=null&&qa(o,"checked",e,!1)}function ab(o,e){$a(o,e);var s=Sa(e.value),a=e.type;if(s!=null)a==="number"?(s===0&&o.value===""||o.value!=s)&&(o.value=""+s):o.value!==""+s&&(o.value=""+s);else if(a==="submit"||a==="reset"){o.removeAttribute("value");return}e.hasOwnProperty("value")?bb(o,e.type,s):e.hasOwnProperty("defaultValue")&&bb(o,e.type,Sa(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(o.defaultChecked=!!e.defaultChecked)}function cb(o,e,s){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var a=e.type;if(!(a!=="submit"&&a!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+o._wrapperState.initialValue,s||e===o.value||(o.value=e),o.defaultValue=e}s=o.name,s!==""&&(o.name=""),o.defaultChecked=!!o._wrapperState.initialChecked,s!==""&&(o.name=s)}function bb(o,e,s){(e!=="number"||Xa(o.ownerDocument)!==o)&&(s==null?o.defaultValue=""+o._wrapperState.initialValue:o.defaultValue!==""+s&&(o.defaultValue=""+s))}function db(o){var e="";return aa.Children.forEach(o,function(s){s!=null&&(e+=s)}),e}function eb(o,e){return o=m$1({children:void 0},e),(e=db(e.children))&&(o.children=e),o}function fb(o,e,s,a){if(o=o.options,e){e={};for(var c=0;c=s.length))throw Error(y(93));s=s[0]}e=s}e==null&&(e=""),s=e}o._wrapperState={initialValue:Sa(s)}}function ib(o,e){var s=Sa(e.value),a=Sa(e.defaultValue);s!=null&&(s=""+s,s!==o.value&&(o.value=s),e.defaultValue==null&&o.defaultValue!==s&&(o.defaultValue=s)),a!=null&&(o.defaultValue=""+a)}function jb(o){var e=o.textContent;e===o._wrapperState.initialValue&&e!==""&&e!==null&&(o.value=e)}var kb={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function lb(o){switch(o){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function mb(o,e){return o==null||o==="http://www.w3.org/1999/xhtml"?lb(e):o==="http://www.w3.org/2000/svg"&&e==="foreignObject"?"http://www.w3.org/1999/xhtml":o}var nb,ob=function(o){return typeof MSApp!="undefined"&&MSApp.execUnsafeLocalFunction?function(e,s,a,c){MSApp.execUnsafeLocalFunction(function(){return o(e,s,a,c)})}:o}(function(o,e){if(o.namespaceURI!==kb.svg||"innerHTML"in o)o.innerHTML=e;else{for(nb=nb||document.createElement("div"),nb.innerHTML=""+e.valueOf().toString()+"",e=nb.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;e.firstChild;)o.appendChild(e.firstChild)}});function pb(o,e){if(e){var s=o.firstChild;if(s&&s===o.lastChild&&s.nodeType===3){s.nodeValue=e;return}}o.textContent=e}var qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=["Webkit","ms","Moz","O"];Object.keys(qb).forEach(function(o){rb.forEach(function(e){e=e+o.charAt(0).toUpperCase()+o.substring(1),qb[e]=qb[o]})});function sb(o,e,s){return e==null||typeof e=="boolean"||e===""?"":s||typeof e!="number"||e===0||qb.hasOwnProperty(o)&&qb[o]?(""+e).trim():e+"px"}function tb(o,e){o=o.style;for(var s in e)if(e.hasOwnProperty(s)){var a=s.indexOf("--")===0,c=sb(s,e[s],a);s==="float"&&(s="cssFloat"),a?o.setProperty(s,c):o[s]=c}}var ub=m$1({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function vb(o,e){if(e){if(ub[o]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(y(137,o));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(y(60));if(!(typeof e.dangerouslySetInnerHTML=="object"&&"__html"in e.dangerouslySetInnerHTML))throw Error(y(61))}if(e.style!=null&&typeof e.style!="object")throw Error(y(62))}}function wb(o,e){if(o.indexOf("-")===-1)return typeof e.is=="string";switch(o){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function xb(o){return o=o.target||o.srcElement||window,o.correspondingUseElement&&(o=o.correspondingUseElement),o.nodeType===3?o.parentNode:o}var yb=null,zb=null,Ab=null;function Bb(o){if(o=Cb(o)){if(typeof yb!="function")throw Error(y(280));var e=o.stateNode;e&&(e=Db(e),yb(o.stateNode,o.type,e))}}function Eb(o){zb?Ab?Ab.push(o):Ab=[o]:zb=o}function Fb(){if(zb){var o=zb,e=Ab;if(Ab=zb=null,Bb(o),e)for(o=0;oa?0:1<s;s++)e.push(o);return e}function $c(o,e,s){o.pendingLanes|=e;var a=e-1;o.suspendedLanes&=a,o.pingedLanes&=a,o=o.eventTimes,e=31-Vc(e),o[e]=s}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(o){return o===0?32:31-(bd(o)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(o,e,s,a){Kb||Ib();var c=hd,d=Kb;Kb=!0;try{Hb(c,o,e,s,a)}finally{(Kb=d)||Mb()}}function id$2(o,e,s,a){ed(dd,hd.bind(null,o,e,s,a))}function hd(o,e,s,a){if(fd){var c;if((c=(e&4)===0)&&0=be),ee=String.fromCharCode(32),fe=!1;function ge(o,e){switch(o){case"keyup":return $d.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function he(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var ie$2=!1;function je(o,e){switch(o){case"compositionend":return he(e);case"keypress":return e.which!==32?null:(fe=!0,ee);case"textInput":return o=e.data,o===ee&&fe?null:o;default:return null}}function ke(o,e){if(ie$2)return o==="compositionend"||!ae&&ge(o,e)?(o=nd(),md=ld=kd=null,ie$2=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:s,offset:e-o};o=a}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=Ke(s)}}function Me(o,e){return o&&e?o===e?!0:o&&o.nodeType===3?!1:e&&e.nodeType===3?Me(o,e.parentNode):"contains"in o?o.contains(e):o.compareDocumentPosition?!!(o.compareDocumentPosition(e)&16):!1:!1}function Ne(){for(var o=window,e=Xa();e instanceof o.HTMLIFrameElement;){try{var s=typeof e.contentWindow.location.href=="string"}catch{s=!1}if(s)o=e.contentWindow;else break;e=Xa(o.document)}return e}function Oe(o){var e=o&&o.nodeName&&o.nodeName.toLowerCase();return e&&(e==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||e==="textarea"||o.contentEditable==="true")}var Pe=fa&&"documentMode"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;function Ue(o,e,s){var a=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;Te||Qe==null||Qe!==Xa(a)||(a=Qe,"selectionStart"in a&&Oe(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Se&&Je(Se,a)||(Se=a,a=oe(Re,"onSelect"),0Af||(o.current=zf[Af],zf[Af]=null,Af--)}function I$1(o,e){Af++,zf[Af]=o.current,o.current=e}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;function Ef(o,e){var s=o.type.contextTypes;if(!s)return Cf;var a=o.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===e)return a.__reactInternalMemoizedMaskedChildContext;var c={},d;for(d in s)c[d]=e[d];return a&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=e,o.__reactInternalMemoizedMaskedChildContext=c),c}function Ff(o){return o=o.childContextTypes,o!=null}function Gf(){H(N),H(M)}function Hf(o,e,s){if(M.current!==Cf)throw Error(y(168));I$1(M,e),I$1(N,s)}function If(o,e,s){var a=o.stateNode;if(o=e.childContextTypes,typeof a.getChildContext!="function")return s;a=a.getChildContext();for(var c in a)if(!(c in o))throw Error(y(108,Ra(e)||"Unknown",c));return m$1({},s,a)}function Jf(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||Cf,Df=M.current,I$1(M,o),I$1(N,N.current),!0}function Kf(o,e,s){var a=o.stateNode;if(!a)throw Error(y(169));s?(o=If(o,e,Df),a.__reactInternalMemoizedMergedChildContext=o,H(N),H(M),I$1(M,o)):H(N),I$1(N,s)}var Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=Rf!==void 0?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1e4>dg?Sf:function(){return Sf()-dg};function eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332))}}function fg(o){switch(o){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332))}}function gg(o,e){return o=fg(o),Nf(o,e)}function hg(o,e,s){return o=fg(o),Of(o,e,s)}function ig(){if(bg!==null){var o=bg;bg=null,Pf(o)}jg()}function jg(){if(!cg&&ag!==null){cg=!0;var o=0;try{var e=ag;gg(99,function(){for(;olt?(ht=ut,ut=null):ht=ut.sibling;var dt=et(rt,ut,at[lt],ot);if(dt===null){ut===null&&(ut=ht);break}o&&ut&&dt.alternate===null&&e(rt,ut),it=d(dt,it,lt),ct===null?pt=dt:ct.sibling=dt,ct=dt,ut=ht}if(lt===at.length)return s(rt,ut),pt;if(ut===null){for(;ltlt?(ht=ut,ut=null):ht=ut.sibling;var gt=et(rt,ut,dt.value,ot);if(gt===null){ut===null&&(ut=ht);break}o&&ut&>.alternate===null&&e(rt,ut),it=d(gt,it,lt),ct===null?pt=gt:ct.sibling=gt,ct=gt,ut=ht}if(dt.done)return s(rt,ut),pt;if(ut===null){for(;!dt.done;lt++,dt=at.next())dt=_e(rt,dt.value,ot),dt!==null&&(it=d(dt,it,lt),ct===null?pt=dt:ct.sibling=dt,ct=dt);return pt}for(ut=a(rt,ut);!dt.done;lt++,dt=at.next())dt=tt(ut,rt,lt,dt.value,ot),dt!==null&&(o&&dt.alternate!==null&&ut.delete(dt.key===null?lt:dt.key),it=d(dt,it,lt),ct===null?pt=dt:ct.sibling=dt,ct=dt);return o&&ut.forEach(function(yt){return e(rt,yt)}),pt}return function(rt,it,at,ot){var pt=typeof at=="object"&&at!==null&&at.type===ua&&at.key===null;pt&&(at=at.props.children);var ct=typeof at=="object"&&at!==null;if(ct)switch(at.$$typeof){case sa:e:{for(ct=at.key,pt=it;pt!==null;){if(pt.key===ct){switch(pt.tag){case 7:if(at.type===ua){s(rt,pt.sibling),it=c(pt,at.props.children),it.return=rt,rt=it;break e}break;default:if(pt.elementType===at.type){s(rt,pt.sibling),it=c(pt,at.props),it.ref=Qg(rt,pt,at),it.return=rt,rt=it;break e}}s(rt,pt);break}else e(rt,pt);pt=pt.sibling}at.type===ua?(it=Xg(at.props.children,rt.mode,ot,at.key),it.return=rt,rt=it):(ot=Vg(at.type,at.key,at.props,null,rt.mode,ot),ot.ref=Qg(rt,it,at),ot.return=rt,rt=ot)}return _(rt);case ta:e:{for(pt=at.key;it!==null;){if(it.key===pt)if(it.tag===4&&it.stateNode.containerInfo===at.containerInfo&&it.stateNode.implementation===at.implementation){s(rt,it.sibling),it=c(it,at.children||[]),it.return=rt,rt=it;break e}else{s(rt,it);break}else e(rt,it);it=it.sibling}it=Wg(at,rt.mode,ot),it.return=rt,rt=it}return _(rt)}if(typeof at=="string"||typeof at=="number")return at=""+at,it!==null&&it.tag===6?(s(rt,it.sibling),it=c(it,at),it.return=rt,rt=it):(s(rt,it),it=Ug(at,rt.mode,ot),it.return=rt,rt=it),_(rt);if(Pg(at))return nt(rt,it,at,ot);if(La(at))return st(rt,it,at,ot);if(ct&&Rg(rt,at),typeof at=="undefined"&&!pt)switch(rt.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(rt.type)||"Component"))}return s(rt,it)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);function dh(o){if(o===$g)throw Error(y(174));return o}function eh(o,e){switch(I$1(ch,e),I$1(bh,o),I$1(ah,$g),o=e.nodeType,o){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:mb(null,"");break;default:o=o===8?e.parentNode:e,e=o.namespaceURI||null,o=o.tagName,e=mb(e,o)}H(ah),I$1(ah,e)}function fh(){H(ah),H(bh),H(ch)}function gh(o){dh(ch.current);var e=dh(ah.current),s=mb(e,o.type);e!==s&&(I$1(bh,o),I$1(ah,s))}function hh(o){bh.current===o&&(H(ah),H(bh))}var P=Bf(0);function ih(o){for(var e=o;e!==null;){if(e.tag===13){var s=e.memoizedState;if(s!==null&&(s=s.dehydrated,s===null||s.data==="$?"||s.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if((e.flags&64)!==0)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===o)break;for(;e.sibling===null;){if(e.return===null||e.return===o)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var jh=null,kh=null,lh=!1;function mh(o,e){var s=nh(5,null,null,0);s.elementType="DELETED",s.type="DELETED",s.stateNode=e,s.return=o,s.flags=8,o.lastEffect!==null?(o.lastEffect.nextEffect=s,o.lastEffect=s):o.firstEffect=o.lastEffect=s}function oh(o,e){switch(o.tag){case 5:var s=o.type;return e=e.nodeType!==1||s.toLowerCase()!==e.nodeName.toLowerCase()?null:e,e!==null?(o.stateNode=e,!0):!1;case 6:return e=o.pendingProps===""||e.nodeType!==3?null:e,e!==null?(o.stateNode=e,!0):!1;case 13:return!1;default:return!1}}function ph(o){if(lh){var e=kh;if(e){var s=e;if(!oh(o,e)){if(e=rf(s.nextSibling),!e||!oh(o,e)){o.flags=o.flags&-1025|2,lh=!1,jh=o;return}mh(jh,s)}jh=o,kh=rf(e.firstChild)}else o.flags=o.flags&-1025|2,lh=!1,jh=o}}function qh(o){for(o=o.return;o!==null&&o.tag!==5&&o.tag!==3&&o.tag!==13;)o=o.return;jh=o}function rh(o){if(o!==jh)return!1;if(!lh)return qh(o),lh=!0,!1;var e=o.type;if(o.tag!==5||e!=="head"&&e!=="body"&&!nf(e,o.memoizedProps))for(e=kh;e;)mh(o,e),e=rf(e.nextSibling);if(qh(o),o.tag===13){if(o=o.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(y(317));e:{for(o=o.nextSibling,e=0;o;){if(o.nodeType===8){var s=o.data;if(s==="/$"){if(e===0){kh=rf(o.nextSibling);break e}e--}else s!=="$"&&s!=="$!"&&s!=="$?"||e++}o=o.nextSibling}kh=null}}else kh=jh?rf(o.stateNode.nextSibling):null;return!0}function sh(){kh=jh=null,lh=!1}var th=[];function uh(){for(var o=0;od))throw Error(y(301));d+=1,T$1=S=null,e.updateQueue=null,vh.current=Fh,o=s(a,c)}while(zh)}if(vh.current=Gh,e=S!==null&&S.next!==null,xh=0,T$1=S=R$1=null,yh=!1,e)throw Error(y(300));return o}function Hh(){var o={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return T$1===null?R$1.memoizedState=T$1=o:T$1=T$1.next=o,T$1}function Ih(){if(S===null){var o=R$1.alternate;o=o!==null?o.memoizedState:null}else o=S.next;var e=T$1===null?R$1.memoizedState:T$1.next;if(e!==null)T$1=e,S=o;else{if(o===null)throw Error(y(310));S=o,o={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null},T$1===null?R$1.memoizedState=T$1=o:T$1=T$1.next=o}return T$1}function Jh(o,e){return typeof e=="function"?e(o):e}function Kh(o){var e=Ih(),s=e.queue;if(s===null)throw Error(y(311));s.lastRenderedReducer=o;var a=S,c=a.baseQueue,d=s.pending;if(d!==null){if(c!==null){var _=c.next;c.next=d.next,d.next=_}a.baseQueue=c=d,s.pending=null}if(c!==null){c=c.next,a=a.baseState;var b=_=d=null,k=c;do{var $=k.lane;if((xh&$)===$)b!==null&&(b=b.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),a=k.eagerReducer===o?k.eagerState:o(a,k.action);else{var j={lane:$,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null};b===null?(_=b=j,d=a):b=b.next=j,R$1.lanes|=$,Dg|=$}k=k.next}while(k!==null&&k!==c);b===null?d=a:b.next=_,He(a,e.memoizedState)||(ug=!0),e.memoizedState=a,e.baseState=d,e.baseQueue=b,s.lastRenderedState=a}return[e.memoizedState,s.dispatch]}function Lh(o){var e=Ih(),s=e.queue;if(s===null)throw Error(y(311));s.lastRenderedReducer=o;var a=s.dispatch,c=s.pending,d=e.memoizedState;if(c!==null){s.pending=null;var _=c=c.next;do d=o(d,_.action),_=_.next;while(_!==c);He(d,e.memoizedState)||(ug=!0),e.memoizedState=d,e.baseQueue===null&&(e.baseState=d),s.lastRenderedState=d}return[d,a]}function Mh(o,e,s){var a=e._getVersion;a=a(e._source);var c=e._workInProgressVersionPrimary;if(c!==null?o=c===a:(o=o.mutableReadLanes,(o=(xh&o)===o)&&(e._workInProgressVersionPrimary=a,th.push(e))),o)return s(e._source);throw th.push(e),Error(y(350))}function Nh(o,e,s,a){var c=U;if(c===null)throw Error(y(349));var d=e._getVersion,_=d(e._source),b=vh.current,k=b.useState(function(){return Mh(c,e,s)}),$=k[1],j=k[0];k=T$1;var _e=o.memoizedState,et=_e.refs,tt=et.getSnapshot,nt=_e.source;_e=_e.subscribe;var st=R$1;return o.memoizedState={refs:et,source:e,subscribe:a},b.useEffect(function(){et.getSnapshot=s,et.setSnapshot=$;var rt=d(e._source);if(!He(_,rt)){rt=s(e._source),He(j,rt)||($(rt),rt=Ig(st),c.mutableReadLanes|=rt&c.pendingLanes),rt=c.mutableReadLanes,c.entangledLanes|=rt;for(var it=c.entanglements,at=rt;0s?98:s,function(){o(!0)}),gg(97<\/script>",o=o.removeChild(o.firstChild)):typeof a.is=="string"?o=_.createElement(s,{is:a.is}):(o=_.createElement(s),s==="select"&&(_=o,a.multiple?_.multiple=!0:a.size&&(_.size=a.size))):o=_.createElementNS(o,s),o[wf]=e,o[xf]=a,Bi(o,e,!1,!1),e.stateNode=o,_=wb(s,a),s){case"dialog":G("cancel",o),G("close",o),c=a;break;case"iframe":case"object":case"embed":G("load",o),c=a;break;case"video":case"audio":for(c=0;cJi&&(e.flags|=64,d=!0,Fi(a,!1),e.lanes=33554432)}else{if(!d)if(o=ih(_),o!==null){if(e.flags|=64,d=!0,s=o.updateQueue,s!==null&&(e.updateQueue=s,e.flags|=4),Fi(a,!0),a.tail===null&&a.tailMode==="hidden"&&!_.alternate&&!lh)return e=e.lastEffect=a.lastEffect,e!==null&&(e.nextEffect=null),null}else 2*O()-a.renderingStartTime>Ji&&s!==1073741824&&(e.flags|=64,d=!0,Fi(a,!1),e.lanes=33554432);a.isBackwards?(_.sibling=e.child,e.child=_):(s=a.last,s!==null?s.sibling=_:e.child=_,a.last=_)}return a.tail!==null?(s=a.tail,a.rendering=s,a.tail=s.sibling,a.lastEffect=e.lastEffect,a.renderingStartTime=O(),s.sibling=null,e=P.current,I$1(P,d?e&1|2:e&1),s):null;case 23:case 24:return Ki(),o!==null&&o.memoizedState!==null!=(e.memoizedState!==null)&&a.mode!=="unstable-defer-without-hiding"&&(e.flags|=4),null}throw Error(y(156,e.tag))}function Li(o){switch(o.tag){case 1:Ff(o.type)&&Gf();var e=o.flags;return e&4096?(o.flags=e&-4097|64,o):null;case 3:if(fh(),H(N),H(M),uh(),e=o.flags,(e&64)!==0)throw Error(y(285));return o.flags=e&-4097|64,o;case 5:return hh(o),null;case 13:return H(P),e=o.flags,e&4096?(o.flags=e&-4097|64,o):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(o),null;case 23:case 24:return Ki(),null;default:return null}}function Mi(o,e){try{var s="",a=e;do s+=Qa(a),a=a.return;while(a);var c=s}catch(d){c=` +`+c[_].replace(" at new "," at ");while(1<=_&&0<=b);break}}}finally{Oa=!1,Error.prepareStackTrace=s}return(o=o?o.displayName||o.name:"")?Na(o):""}function Qa(o){switch(o.tag){case 5:return Na(o.type);case 16:return Na("Lazy");case 13:return Na("Suspense");case 19:return Na("SuspenseList");case 0:case 2:case 15:return o=Pa(o.type,!1),o;case 11:return o=Pa(o.type.render,!1),o;case 22:return o=Pa(o.type._render,!1),o;case 1:return o=Pa(o.type,!0),o;default:return""}}function Ra(o){if(o==null)return null;if(typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case ua:return"Fragment";case ta:return"Portal";case xa:return"Profiler";case wa:return"StrictMode";case Ba:return"Suspense";case Ca:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case za:return(o.displayName||"Context")+".Consumer";case ya:return(o._context.displayName||"Context")+".Provider";case Aa:var e=o.render;return e=e.displayName||e.name||"",o.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case Da:return Ra(o.type);case Fa:return Ra(o._render);case Ea:e=o._payload,o=o._init;try{return Ra(o(e))}catch{}}return null}function Sa(o){switch(typeof o){case"boolean":case"number":case"object":case"string":case"undefined":return o;default:return""}}function Ta(o){var e=o.type;return(o=o.nodeName)&&o.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Ua(o){var e=Ta(o)?"checked":"value",s=Object.getOwnPropertyDescriptor(o.constructor.prototype,e),a=""+o[e];if(!o.hasOwnProperty(e)&&typeof s!="undefined"&&typeof s.get=="function"&&typeof s.set=="function"){var c=s.get,d=s.set;return Object.defineProperty(o,e,{configurable:!0,get:function(){return c.call(this)},set:function(_){a=""+_,d.call(this,_)}}),Object.defineProperty(o,e,{enumerable:s.enumerable}),{getValue:function(){return a},setValue:function(_){a=""+_},stopTracking:function(){o._valueTracker=null,delete o[e]}}}}function Va(o){o._valueTracker||(o._valueTracker=Ua(o))}function Wa(o){if(!o)return!1;var e=o._valueTracker;if(!e)return!0;var s=e.getValue(),a="";return o&&(a=Ta(o)?o.checked?"true":"false":o.value),o=a,o!==s?(e.setValue(o),!0):!1}function Xa(o){if(o=o||(typeof document!="undefined"?document:void 0),typeof o=="undefined")return null;try{return o.activeElement||o.body}catch{return o.body}}function Ya(o,e){var s=e.checked;return m$1({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:s!=null?s:o._wrapperState.initialChecked})}function Za(o,e){var s=e.defaultValue==null?"":e.defaultValue,a=e.checked!=null?e.checked:e.defaultChecked;s=Sa(e.value!=null?e.value:s),o._wrapperState={initialChecked:a,initialValue:s,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function $a(o,e){e=e.checked,e!=null&&qa(o,"checked",e,!1)}function ab(o,e){$a(o,e);var s=Sa(e.value),a=e.type;if(s!=null)a==="number"?(s===0&&o.value===""||o.value!=s)&&(o.value=""+s):o.value!==""+s&&(o.value=""+s);else if(a==="submit"||a==="reset"){o.removeAttribute("value");return}e.hasOwnProperty("value")?bb(o,e.type,s):e.hasOwnProperty("defaultValue")&&bb(o,e.type,Sa(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(o.defaultChecked=!!e.defaultChecked)}function cb(o,e,s){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var a=e.type;if(!(a!=="submit"&&a!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+o._wrapperState.initialValue,s||e===o.value||(o.value=e),o.defaultValue=e}s=o.name,s!==""&&(o.name=""),o.defaultChecked=!!o._wrapperState.initialChecked,s!==""&&(o.name=s)}function bb(o,e,s){(e!=="number"||Xa(o.ownerDocument)!==o)&&(s==null?o.defaultValue=""+o._wrapperState.initialValue:o.defaultValue!==""+s&&(o.defaultValue=""+s))}function db(o){var e="";return aa.Children.forEach(o,function(s){s!=null&&(e+=s)}),e}function eb(o,e){return o=m$1({children:void 0},e),(e=db(e.children))&&(o.children=e),o}function fb(o,e,s,a){if(o=o.options,e){e={};for(var c=0;c=s.length))throw Error(y(93));s=s[0]}e=s}e==null&&(e=""),s=e}o._wrapperState={initialValue:Sa(s)}}function ib(o,e){var s=Sa(e.value),a=Sa(e.defaultValue);s!=null&&(s=""+s,s!==o.value&&(o.value=s),e.defaultValue==null&&o.defaultValue!==s&&(o.defaultValue=s)),a!=null&&(o.defaultValue=""+a)}function jb(o){var e=o.textContent;e===o._wrapperState.initialValue&&e!==""&&e!==null&&(o.value=e)}var kb={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function lb(o){switch(o){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function mb(o,e){return o==null||o==="http://www.w3.org/1999/xhtml"?lb(e):o==="http://www.w3.org/2000/svg"&&e==="foreignObject"?"http://www.w3.org/1999/xhtml":o}var nb,ob=function(o){return typeof MSApp!="undefined"&&MSApp.execUnsafeLocalFunction?function(e,s,a,c){MSApp.execUnsafeLocalFunction(function(){return o(e,s,a,c)})}:o}(function(o,e){if(o.namespaceURI!==kb.svg||"innerHTML"in o)o.innerHTML=e;else{for(nb=nb||document.createElement("div"),nb.innerHTML=""+e.valueOf().toString()+"",e=nb.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;e.firstChild;)o.appendChild(e.firstChild)}});function pb(o,e){if(e){var s=o.firstChild;if(s&&s===o.lastChild&&s.nodeType===3){s.nodeValue=e;return}}o.textContent=e}var qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=["Webkit","ms","Moz","O"];Object.keys(qb).forEach(function(o){rb.forEach(function(e){e=e+o.charAt(0).toUpperCase()+o.substring(1),qb[e]=qb[o]})});function sb(o,e,s){return e==null||typeof e=="boolean"||e===""?"":s||typeof e!="number"||e===0||qb.hasOwnProperty(o)&&qb[o]?(""+e).trim():e+"px"}function tb(o,e){o=o.style;for(var s in e)if(e.hasOwnProperty(s)){var a=s.indexOf("--")===0,c=sb(s,e[s],a);s==="float"&&(s="cssFloat"),a?o.setProperty(s,c):o[s]=c}}var ub=m$1({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function vb(o,e){if(e){if(ub[o]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(y(137,o));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(y(60));if(!(typeof e.dangerouslySetInnerHTML=="object"&&"__html"in e.dangerouslySetInnerHTML))throw Error(y(61))}if(e.style!=null&&typeof e.style!="object")throw Error(y(62))}}function wb(o,e){if(o.indexOf("-")===-1)return typeof e.is=="string";switch(o){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function xb(o){return o=o.target||o.srcElement||window,o.correspondingUseElement&&(o=o.correspondingUseElement),o.nodeType===3?o.parentNode:o}var yb=null,zb=null,Ab=null;function Bb(o){if(o=Cb(o)){if(typeof yb!="function")throw Error(y(280));var e=o.stateNode;e&&(e=Db(e),yb(o.stateNode,o.type,e))}}function Eb(o){zb?Ab?Ab.push(o):Ab=[o]:zb=o}function Fb(){if(zb){var o=zb,e=Ab;if(Ab=zb=null,Bb(o),e)for(o=0;oa?0:1<s;s++)e.push(o);return e}function $c(o,e,s){o.pendingLanes|=e;var a=e-1;o.suspendedLanes&=a,o.pingedLanes&=a,o=o.eventTimes,e=31-Vc(e),o[e]=s}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(o){return o===0?32:31-(bd(o)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(o,e,s,a){Kb||Ib();var c=hd,d=Kb;Kb=!0;try{Hb(c,o,e,s,a)}finally{(Kb=d)||Mb()}}function id$2(o,e,s,a){ed(dd,hd.bind(null,o,e,s,a))}function hd(o,e,s,a){if(fd){var c;if((c=(e&4)===0)&&0=be),ee=String.fromCharCode(32),fe=!1;function ge(o,e){switch(o){case"keyup":return $d.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function he(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var ie$2=!1;function je(o,e){switch(o){case"compositionend":return he(e);case"keypress":return e.which!==32?null:(fe=!0,ee);case"textInput":return o=e.data,o===ee&&fe?null:o;default:return null}}function ke(o,e){if(ie$2)return o==="compositionend"||!ae&&ge(o,e)?(o=nd(),md=ld=kd=null,ie$2=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:s,offset:e-o};o=a}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=Ke(s)}}function Me(o,e){return o&&e?o===e?!0:o&&o.nodeType===3?!1:e&&e.nodeType===3?Me(o,e.parentNode):"contains"in o?o.contains(e):o.compareDocumentPosition?!!(o.compareDocumentPosition(e)&16):!1:!1}function Ne(){for(var o=window,e=Xa();e instanceof o.HTMLIFrameElement;){try{var s=typeof e.contentWindow.location.href=="string"}catch{s=!1}if(s)o=e.contentWindow;else break;e=Xa(o.document)}return e}function Oe(o){var e=o&&o.nodeName&&o.nodeName.toLowerCase();return e&&(e==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||e==="textarea"||o.contentEditable==="true")}var Pe=fa&&"documentMode"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;function Ue(o,e,s){var a=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;Te||Qe==null||Qe!==Xa(a)||(a=Qe,"selectionStart"in a&&Oe(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Se&&Je(Se,a)||(Se=a,a=oe(Re,"onSelect"),0Af||(o.current=zf[Af],zf[Af]=null,Af--)}function I$1(o,e){Af++,zf[Af]=o.current,o.current=e}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;function Ef(o,e){var s=o.type.contextTypes;if(!s)return Cf;var a=o.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===e)return a.__reactInternalMemoizedMaskedChildContext;var c={},d;for(d in s)c[d]=e[d];return a&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=e,o.__reactInternalMemoizedMaskedChildContext=c),c}function Ff(o){return o=o.childContextTypes,o!=null}function Gf(){H(N),H(M)}function Hf(o,e,s){if(M.current!==Cf)throw Error(y(168));I$1(M,e),I$1(N,s)}function If(o,e,s){var a=o.stateNode;if(o=e.childContextTypes,typeof a.getChildContext!="function")return s;a=a.getChildContext();for(var c in a)if(!(c in o))throw Error(y(108,Ra(e)||"Unknown",c));return m$1({},s,a)}function Jf(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||Cf,Df=M.current,I$1(M,o),I$1(N,N.current),!0}function Kf(o,e,s){var a=o.stateNode;if(!a)throw Error(y(169));s?(o=If(o,e,Df),a.__reactInternalMemoizedMergedChildContext=o,H(N),H(M),I$1(M,o)):H(N),I$1(N,s)}var Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=Rf!==void 0?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1e4>dg?Sf:function(){return Sf()-dg};function eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332))}}function fg(o){switch(o){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332))}}function gg(o,e){return o=fg(o),Nf(o,e)}function hg(o,e,s){return o=fg(o),Of(o,e,s)}function ig(){if(bg!==null){var o=bg;bg=null,Pf(o)}jg()}function jg(){if(!cg&&ag!==null){cg=!0;var o=0;try{var e=ag;gg(99,function(){for(;olt?(ht=ut,ut=null):ht=ut.sibling;var dt=et(rt,ut,at[lt],ot);if(dt===null){ut===null&&(ut=ht);break}o&&ut&&dt.alternate===null&&e(rt,ut),st=d(dt,st,lt),ct===null?pt=dt:ct.sibling=dt,ct=dt,ut=ht}if(lt===at.length)return s(rt,ut),pt;if(ut===null){for(;ltlt?(ht=ut,ut=null):ht=ut.sibling;var gt=et(rt,ut,dt.value,ot);if(gt===null){ut===null&&(ut=ht);break}o&&ut&>.alternate===null&&e(rt,ut),st=d(gt,st,lt),ct===null?pt=gt:ct.sibling=gt,ct=gt,ut=ht}if(dt.done)return s(rt,ut),pt;if(ut===null){for(;!dt.done;lt++,dt=at.next())dt=_e(rt,dt.value,ot),dt!==null&&(st=d(dt,st,lt),ct===null?pt=dt:ct.sibling=dt,ct=dt);return pt}for(ut=a(rt,ut);!dt.done;lt++,dt=at.next())dt=tt(ut,rt,lt,dt.value,ot),dt!==null&&(o&&dt.alternate!==null&&ut.delete(dt.key===null?lt:dt.key),st=d(dt,st,lt),ct===null?pt=dt:ct.sibling=dt,ct=dt);return o&&ut.forEach(function(yt){return e(rt,yt)}),pt}return function(rt,st,at,ot){var pt=typeof at=="object"&&at!==null&&at.type===ua&&at.key===null;pt&&(at=at.props.children);var ct=typeof at=="object"&&at!==null;if(ct)switch(at.$$typeof){case sa:e:{for(ct=at.key,pt=st;pt!==null;){if(pt.key===ct){switch(pt.tag){case 7:if(at.type===ua){s(rt,pt.sibling),st=c(pt,at.props.children),st.return=rt,rt=st;break e}break;default:if(pt.elementType===at.type){s(rt,pt.sibling),st=c(pt,at.props),st.ref=Qg(rt,pt,at),st.return=rt,rt=st;break e}}s(rt,pt);break}else e(rt,pt);pt=pt.sibling}at.type===ua?(st=Xg(at.props.children,rt.mode,ot,at.key),st.return=rt,rt=st):(ot=Vg(at.type,at.key,at.props,null,rt.mode,ot),ot.ref=Qg(rt,st,at),ot.return=rt,rt=ot)}return _(rt);case ta:e:{for(pt=at.key;st!==null;){if(st.key===pt)if(st.tag===4&&st.stateNode.containerInfo===at.containerInfo&&st.stateNode.implementation===at.implementation){s(rt,st.sibling),st=c(st,at.children||[]),st.return=rt,rt=st;break e}else{s(rt,st);break}else e(rt,st);st=st.sibling}st=Wg(at,rt.mode,ot),st.return=rt,rt=st}return _(rt)}if(typeof at=="string"||typeof at=="number")return at=""+at,st!==null&&st.tag===6?(s(rt,st.sibling),st=c(st,at),st.return=rt,rt=st):(s(rt,st),st=Ug(at,rt.mode,ot),st.return=rt,rt=st),_(rt);if(Pg(at))return nt(rt,st,at,ot);if(La(at))return it(rt,st,at,ot);if(ct&&Rg(rt,at),typeof at=="undefined"&&!pt)switch(rt.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(rt.type)||"Component"))}return s(rt,st)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);function dh(o){if(o===$g)throw Error(y(174));return o}function eh(o,e){switch(I$1(ch,e),I$1(bh,o),I$1(ah,$g),o=e.nodeType,o){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:mb(null,"");break;default:o=o===8?e.parentNode:e,e=o.namespaceURI||null,o=o.tagName,e=mb(e,o)}H(ah),I$1(ah,e)}function fh(){H(ah),H(bh),H(ch)}function gh(o){dh(ch.current);var e=dh(ah.current),s=mb(e,o.type);e!==s&&(I$1(bh,o),I$1(ah,s))}function hh(o){bh.current===o&&(H(ah),H(bh))}var P=Bf(0);function ih(o){for(var e=o;e!==null;){if(e.tag===13){var s=e.memoizedState;if(s!==null&&(s=s.dehydrated,s===null||s.data==="$?"||s.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if((e.flags&64)!==0)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===o)break;for(;e.sibling===null;){if(e.return===null||e.return===o)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var jh=null,kh=null,lh=!1;function mh(o,e){var s=nh(5,null,null,0);s.elementType="DELETED",s.type="DELETED",s.stateNode=e,s.return=o,s.flags=8,o.lastEffect!==null?(o.lastEffect.nextEffect=s,o.lastEffect=s):o.firstEffect=o.lastEffect=s}function oh(o,e){switch(o.tag){case 5:var s=o.type;return e=e.nodeType!==1||s.toLowerCase()!==e.nodeName.toLowerCase()?null:e,e!==null?(o.stateNode=e,!0):!1;case 6:return e=o.pendingProps===""||e.nodeType!==3?null:e,e!==null?(o.stateNode=e,!0):!1;case 13:return!1;default:return!1}}function ph(o){if(lh){var e=kh;if(e){var s=e;if(!oh(o,e)){if(e=rf(s.nextSibling),!e||!oh(o,e)){o.flags=o.flags&-1025|2,lh=!1,jh=o;return}mh(jh,s)}jh=o,kh=rf(e.firstChild)}else o.flags=o.flags&-1025|2,lh=!1,jh=o}}function qh(o){for(o=o.return;o!==null&&o.tag!==5&&o.tag!==3&&o.tag!==13;)o=o.return;jh=o}function rh(o){if(o!==jh)return!1;if(!lh)return qh(o),lh=!0,!1;var e=o.type;if(o.tag!==5||e!=="head"&&e!=="body"&&!nf(e,o.memoizedProps))for(e=kh;e;)mh(o,e),e=rf(e.nextSibling);if(qh(o),o.tag===13){if(o=o.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(y(317));e:{for(o=o.nextSibling,e=0;o;){if(o.nodeType===8){var s=o.data;if(s==="/$"){if(e===0){kh=rf(o.nextSibling);break e}e--}else s!=="$"&&s!=="$!"&&s!=="$?"||e++}o=o.nextSibling}kh=null}}else kh=jh?rf(o.stateNode.nextSibling):null;return!0}function sh(){kh=jh=null,lh=!1}var th=[];function uh(){for(var o=0;od))throw Error(y(301));d+=1,T$1=S=null,e.updateQueue=null,vh.current=Fh,o=s(a,c)}while(zh)}if(vh.current=Gh,e=S!==null&&S.next!==null,xh=0,T$1=S=R$1=null,yh=!1,e)throw Error(y(300));return o}function Hh(){var o={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return T$1===null?R$1.memoizedState=T$1=o:T$1=T$1.next=o,T$1}function Ih(){if(S===null){var o=R$1.alternate;o=o!==null?o.memoizedState:null}else o=S.next;var e=T$1===null?R$1.memoizedState:T$1.next;if(e!==null)T$1=e,S=o;else{if(o===null)throw Error(y(310));S=o,o={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null},T$1===null?R$1.memoizedState=T$1=o:T$1=T$1.next=o}return T$1}function Jh(o,e){return typeof e=="function"?e(o):e}function Kh(o){var e=Ih(),s=e.queue;if(s===null)throw Error(y(311));s.lastRenderedReducer=o;var a=S,c=a.baseQueue,d=s.pending;if(d!==null){if(c!==null){var _=c.next;c.next=d.next,d.next=_}a.baseQueue=c=d,s.pending=null}if(c!==null){c=c.next,a=a.baseState;var b=_=d=null,k=c;do{var $=k.lane;if((xh&$)===$)b!==null&&(b=b.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),a=k.eagerReducer===o?k.eagerState:o(a,k.action);else{var j={lane:$,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null};b===null?(_=b=j,d=a):b=b.next=j,R$1.lanes|=$,Dg|=$}k=k.next}while(k!==null&&k!==c);b===null?d=a:b.next=_,He(a,e.memoizedState)||(ug=!0),e.memoizedState=a,e.baseState=d,e.baseQueue=b,s.lastRenderedState=a}return[e.memoizedState,s.dispatch]}function Lh(o){var e=Ih(),s=e.queue;if(s===null)throw Error(y(311));s.lastRenderedReducer=o;var a=s.dispatch,c=s.pending,d=e.memoizedState;if(c!==null){s.pending=null;var _=c=c.next;do d=o(d,_.action),_=_.next;while(_!==c);He(d,e.memoizedState)||(ug=!0),e.memoizedState=d,e.baseQueue===null&&(e.baseState=d),s.lastRenderedState=d}return[d,a]}function Mh(o,e,s){var a=e._getVersion;a=a(e._source);var c=e._workInProgressVersionPrimary;if(c!==null?o=c===a:(o=o.mutableReadLanes,(o=(xh&o)===o)&&(e._workInProgressVersionPrimary=a,th.push(e))),o)return s(e._source);throw th.push(e),Error(y(350))}function Nh(o,e,s,a){var c=U;if(c===null)throw Error(y(349));var d=e._getVersion,_=d(e._source),b=vh.current,k=b.useState(function(){return Mh(c,e,s)}),$=k[1],j=k[0];k=T$1;var _e=o.memoizedState,et=_e.refs,tt=et.getSnapshot,nt=_e.source;_e=_e.subscribe;var it=R$1;return o.memoizedState={refs:et,source:e,subscribe:a},b.useEffect(function(){et.getSnapshot=s,et.setSnapshot=$;var rt=d(e._source);if(!He(_,rt)){rt=s(e._source),He(j,rt)||($(rt),rt=Ig(it),c.mutableReadLanes|=rt&c.pendingLanes),rt=c.mutableReadLanes,c.entangledLanes|=rt;for(var st=c.entanglements,at=rt;0s?98:s,function(){o(!0)}),gg(97<\/script>",o=o.removeChild(o.firstChild)):typeof a.is=="string"?o=_.createElement(s,{is:a.is}):(o=_.createElement(s),s==="select"&&(_=o,a.multiple?_.multiple=!0:a.size&&(_.size=a.size))):o=_.createElementNS(o,s),o[wf]=e,o[xf]=a,Bi(o,e,!1,!1),e.stateNode=o,_=wb(s,a),s){case"dialog":G("cancel",o),G("close",o),c=a;break;case"iframe":case"object":case"embed":G("load",o),c=a;break;case"video":case"audio":for(c=0;cJi&&(e.flags|=64,d=!0,Fi(a,!1),e.lanes=33554432)}else{if(!d)if(o=ih(_),o!==null){if(e.flags|=64,d=!0,s=o.updateQueue,s!==null&&(e.updateQueue=s,e.flags|=4),Fi(a,!0),a.tail===null&&a.tailMode==="hidden"&&!_.alternate&&!lh)return e=e.lastEffect=a.lastEffect,e!==null&&(e.nextEffect=null),null}else 2*O()-a.renderingStartTime>Ji&&s!==1073741824&&(e.flags|=64,d=!0,Fi(a,!1),e.lanes=33554432);a.isBackwards?(_.sibling=e.child,e.child=_):(s=a.last,s!==null?s.sibling=_:e.child=_,a.last=_)}return a.tail!==null?(s=a.tail,a.rendering=s,a.tail=s.sibling,a.lastEffect=e.lastEffect,a.renderingStartTime=O(),s.sibling=null,e=P.current,I$1(P,d?e&1|2:e&1),s):null;case 23:case 24:return Ki(),o!==null&&o.memoizedState!==null!=(e.memoizedState!==null)&&a.mode!=="unstable-defer-without-hiding"&&(e.flags|=4),null}throw Error(y(156,e.tag))}function Li(o){switch(o.tag){case 1:Ff(o.type)&&Gf();var e=o.flags;return e&4096?(o.flags=e&-4097|64,o):null;case 3:if(fh(),H(N),H(M),uh(),e=o.flags,(e&64)!==0)throw Error(y(285));return o.flags=e&-4097|64,o;case 5:return hh(o),null;case 13:return H(P),e=o.flags,e&4096?(o.flags=e&-4097|64,o):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(o),null;case 23:case 24:return Ki(),null;default:return null}}function Mi(o,e){try{var s="",a=e;do s+=Qa(a),a=a.return;while(a);var c=s}catch(d){c=` Error generating stack: `+d.message+` -`+d.stack}return{value:o,source:e,stack:c}}function Ni(o,e){try{console.error(e.value)}catch(s){setTimeout(function(){throw s})}}var Oi=typeof WeakMap=="function"?WeakMap:Map;function Pi(o,e,s){s=zg(-1,s),s.tag=3,s.payload={element:null};var a=e.value;return s.callback=function(){Qi||(Qi=!0,Ri=a),Ni(o,e)},s}function Si(o,e,s){s=zg(-1,s),s.tag=3;var a=o.type.getDerivedStateFromError;if(typeof a=="function"){var c=e.value;s.payload=function(){return Ni(o,e),a(c)}}var d=o.stateNode;return d!==null&&typeof d.componentDidCatch=="function"&&(s.callback=function(){typeof a!="function"&&(Ti===null?Ti=new Set([this]):Ti.add(this),Ni(o,e));var _=e.stack;this.componentDidCatch(e.value,{componentStack:_!==null?_:""})}),s}var Ui=typeof WeakSet=="function"?WeakSet:Set;function Vi(o){var e=o.ref;if(e!==null)if(typeof e=="function")try{e(null)}catch(s){Wi(o,s)}else e.current=null}function Xi(o,e){switch(e.tag){case 0:case 11:case 15:case 22:return;case 1:if(e.flags&256&&o!==null){var s=o.memoizedProps,a=o.memoizedState;o=e.stateNode,e=o.getSnapshotBeforeUpdate(e.elementType===e.type?s:lg(e.type,s),a),o.__reactInternalSnapshotBeforeUpdate=e}return;case 3:e.flags&256&&qf(e.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163))}function Yi(o,e,s){switch(s.tag){case 0:case 11:case 15:case 22:if(e=s.updateQueue,e=e!==null?e.lastEffect:null,e!==null){o=e=e.next;do{if((o.tag&3)===3){var a=o.create;o.destroy=a()}o=o.next}while(o!==e)}if(e=s.updateQueue,e=e!==null?e.lastEffect:null,e!==null){o=e=e.next;do{var c=o;a=c.next,c=c.tag,(c&4)!==0&&(c&1)!==0&&(Zi(s,o),$i(s,o)),o=a}while(o!==e)}return;case 1:o=s.stateNode,s.flags&4&&(e===null?o.componentDidMount():(a=s.elementType===s.type?e.memoizedProps:lg(s.type,e.memoizedProps),o.componentDidUpdate(a,e.memoizedState,o.__reactInternalSnapshotBeforeUpdate))),e=s.updateQueue,e!==null&&Eg(s,e,o);return;case 3:if(e=s.updateQueue,e!==null){if(o=null,s.child!==null)switch(s.child.tag){case 5:o=s.child.stateNode;break;case 1:o=s.child.stateNode}Eg(s,e,o)}return;case 5:o=s.stateNode,e===null&&s.flags&4&&mf(s.type,s.memoizedProps)&&o.focus();return;case 6:return;case 4:return;case 12:return;case 13:s.memoizedState===null&&(s=s.alternate,s!==null&&(s=s.memoizedState,s!==null&&(s=s.dehydrated,s!==null&&Cc(s))));return;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163))}function aj(o,e){for(var s=o;;){if(s.tag===5){var a=s.stateNode;if(e)a=a.style,typeof a.setProperty=="function"?a.setProperty("display","none","important"):a.display="none";else{a=s.stateNode;var c=s.memoizedProps.style;c=c!=null&&c.hasOwnProperty("display")?c.display:null,a.style.display=sb("display",c)}}else if(s.tag===6)s.stateNode.nodeValue=e?"":s.memoizedProps;else if((s.tag!==23&&s.tag!==24||s.memoizedState===null||s===o)&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===o)break;for(;s.sibling===null;){if(s.return===null||s.return===o)return;s=s.return}s.sibling.return=s.return,s=s.sibling}}function bj(o,e){if(Mf&&typeof Mf.onCommitFiberUnmount=="function")try{Mf.onCommitFiberUnmount(Lf,e)}catch{}switch(e.tag){case 0:case 11:case 14:case 15:case 22:if(o=e.updateQueue,o!==null&&(o=o.lastEffect,o!==null)){var s=o=o.next;do{var a=s,c=a.destroy;if(a=a.tag,c!==void 0)if((a&4)!==0)Zi(e,s);else{a=e;try{c()}catch(d){Wi(a,d)}}s=s.next}while(s!==o)}break;case 1:if(Vi(e),o=e.stateNode,typeof o.componentWillUnmount=="function")try{o.props=e.memoizedProps,o.state=e.memoizedState,o.componentWillUnmount()}catch(d){Wi(e,d)}break;case 5:Vi(e);break;case 4:cj(o,e)}}function dj(o){o.alternate=null,o.child=null,o.dependencies=null,o.firstEffect=null,o.lastEffect=null,o.memoizedProps=null,o.memoizedState=null,o.pendingProps=null,o.return=null,o.updateQueue=null}function ej(o){return o.tag===5||o.tag===3||o.tag===4}function fj(o){e:{for(var e=o.return;e!==null;){if(ej(e))break e;e=e.return}throw Error(y(160))}var s=e;switch(e=s.stateNode,s.tag){case 5:var a=!1;break;case 3:e=e.containerInfo,a=!0;break;case 4:e=e.containerInfo,a=!0;break;default:throw Error(y(161))}s.flags&16&&(pb(e,""),s.flags&=-17);e:t:for(s=o;;){for(;s.sibling===null;){if(s.return===null||ej(s.return)){s=null;break e}s=s.return}for(s.sibling.return=s.return,s=s.sibling;s.tag!==5&&s.tag!==6&&s.tag!==18;){if(s.flags&2||s.child===null||s.tag===4)continue t;s.child.return=s,s=s.child}if(!(s.flags&2)){s=s.stateNode;break e}}a?gj(o,s,e):hj(o,s,e)}function gj(o,e,s){var a=o.tag,c=a===5||a===6;if(c)o=c?o.stateNode:o.stateNode.instance,e?s.nodeType===8?s.parentNode.insertBefore(o,e):s.insertBefore(o,e):(s.nodeType===8?(e=s.parentNode,e.insertBefore(o,s)):(e=s,e.appendChild(o)),s=s._reactRootContainer,s!=null||e.onclick!==null||(e.onclick=jf));else if(a!==4&&(o=o.child,o!==null))for(gj(o,e,s),o=o.sibling;o!==null;)gj(o,e,s),o=o.sibling}function hj(o,e,s){var a=o.tag,c=a===5||a===6;if(c)o=c?o.stateNode:o.stateNode.instance,e?s.insertBefore(o,e):s.appendChild(o);else if(a!==4&&(o=o.child,o!==null))for(hj(o,e,s),o=o.sibling;o!==null;)hj(o,e,s),o=o.sibling}function cj(o,e){for(var s=e,a=!1,c,d;;){if(!a){a=s.return;e:for(;;){if(a===null)throw Error(y(160));switch(c=a.stateNode,a.tag){case 5:d=!1;break e;case 3:c=c.containerInfo,d=!0;break e;case 4:c=c.containerInfo,d=!0;break e}a=a.return}a=!0}if(s.tag===5||s.tag===6){e:for(var _=o,b=s,k=b;;)if(bj(_,k),k.child!==null&&k.tag!==4)k.child.return=k,k=k.child;else{if(k===b)break e;for(;k.sibling===null;){if(k.return===null||k.return===b)break e;k=k.return}k.sibling.return=k.return,k=k.sibling}d?(_=c,b=s.stateNode,_.nodeType===8?_.parentNode.removeChild(b):_.removeChild(b)):c.removeChild(s.stateNode)}else if(s.tag===4){if(s.child!==null){c=s.stateNode.containerInfo,d=!0,s.child.return=s,s=s.child;continue}}else if(bj(o,s),s.child!==null){s.child.return=s,s=s.child;continue}if(s===e)break;for(;s.sibling===null;){if(s.return===null||s.return===e)return;s=s.return,s.tag===4&&(a=!1)}s.sibling.return=s.return,s=s.sibling}}function ij(o,e){switch(e.tag){case 0:case 11:case 14:case 15:case 22:var s=e.updateQueue;if(s=s!==null?s.lastEffect:null,s!==null){var a=s=s.next;do(a.tag&3)===3&&(o=a.destroy,a.destroy=void 0,o!==void 0&&o()),a=a.next;while(a!==s)}return;case 1:return;case 5:if(s=e.stateNode,s!=null){a=e.memoizedProps;var c=o!==null?o.memoizedProps:a;o=e.type;var d=e.updateQueue;if(e.updateQueue=null,d!==null){for(s[xf]=a,o==="input"&&a.type==="radio"&&a.name!=null&&$a(s,a),wb(o,c),e=wb(o,a),c=0;cc&&(c=_),s&=~d}if(s=c,s=O()-s,s=(120>s?120:480>s?480:1080>s?1080:1920>s?1920:3e3>s?3e3:4320>s?4320:1960*nj(s/1960))-s,10c&&(c=_),s&=~d}if(s=c,s=O()-s,s=(120>s?120:480>s?480:1080>s?1080:1920>s?1920:3e3>s?3e3:4320>s?4320:1960*nj(s/1960))-s,10 component higher in the tree to provide a loading indicator or placeholder to display.`)}V!==5&&(V=2),k=Mi(k,b),et=_;do{switch(et.tag){case 3:d=k,et.flags|=4096,e&=-e,et.lanes|=e;var ct=Pi(et,d,e);Bg(et,ct);break e;case 1:d=k;var ut=et.type,lt=et.stateNode;if((et.flags&64)===0&&(typeof ut.getDerivedStateFromError=="function"||lt!==null&&typeof lt.componentDidCatch=="function"&&(Ti===null||!Ti.has(lt)))){et.flags|=4096,e&=-e,et.lanes|=e;var ht=Si(et,d,e);Bg(et,ht);break e}}et=et.return}while(et!==null)}Zj(s)}catch(dt){e=dt,Y===s&&s!==null&&(Y=s=s.return);continue}break}while(1)}function Pj(){var o=oj.current;return oj.current=Gh,o===null?Gh:o}function Tj(o,e){var s=X;X|=16;var a=Pj();U===o&&W===e||Qj(o,e);do try{ak();break}catch(c){Sj(o,c)}while(1);if(qg(),X=s,oj.current=a,Y!==null)throw Error(y(261));return U=null,W=0,V}function ak(){for(;Y!==null;)bk(Y)}function Rj(){for(;Y!==null&&!Qf();)bk(Y)}function bk(o){var e=ck(o.alternate,o,qj);o.memoizedProps=o.pendingProps,e===null?Zj(o):Y=e,pj.current=null}function Zj(o){var e=o;do{var s=e.alternate;if(o=e.return,(e.flags&2048)===0){if(s=Gi(s,e,qj),s!==null){Y=s;return}if(s=e,s.tag!==24&&s.tag!==23||s.memoizedState===null||(qj&1073741824)!==0||(s.mode&4)===0){for(var a=0,c=s.child;c!==null;)a|=c.lanes|c.childLanes,c=c.sibling;s.childLanes=a}o!==null&&(o.flags&2048)===0&&(o.firstEffect===null&&(o.firstEffect=e.firstEffect),e.lastEffect!==null&&(o.lastEffect!==null&&(o.lastEffect.nextEffect=e.firstEffect),o.lastEffect=e.lastEffect),1_&&(b=_,_=ct,ct=b),b=Le(at,ct),d=Le(at,_),b&&d&&(pt.rangeCount!==1||pt.anchorNode!==b.node||pt.anchorOffset!==b.offset||pt.focusNode!==d.node||pt.focusOffset!==d.offset)&&(ot=ot.createRange(),ot.setStart(b.node,b.offset),pt.removeAllRanges(),ct>_?(pt.addRange(ot),pt.extend(d.node,d.offset)):(ot.setEnd(d.node,d.offset),pt.addRange(ot)))))),ot=[],pt=at;pt=pt.parentNode;)pt.nodeType===1&&ot.push({element:pt,left:pt.scrollLeft,top:pt.scrollTop});for(typeof at.focus=="function"&&at.focus(),at=0;atO()-jj?Qj(o,0):uj|=s),Mj(o,e)}function lj(o,e){var s=o.stateNode;s!==null&&s.delete(e),e=0,e===0&&(e=o.mode,(e&2)===0?e=1:(e&4)===0?e=eg()===99?1:2:(Gj===0&&(Gj=tj),e=Yc(62914560&~Gj),e===0&&(e=4194304))),s=Hg(),o=Kj(o,e),o!==null&&($c(o,e,s),Mj(o,s))}var ck;ck=function(o,e,s){var a=e.lanes;if(o!==null)if(o.memoizedProps!==e.pendingProps||N.current)ug=!0;else if((s&a)!==0)ug=(o.flags&16384)!==0;else{switch(ug=!1,e.tag){case 3:ri(e),sh();break;case 5:gh(e);break;case 1:Ff(e.type)&&Jf(e);break;case 4:eh(e,e.stateNode.containerInfo);break;case 10:a=e.memoizedProps.value;var c=e.type._context;I$1(mg,c._currentValue),c._currentValue=a;break;case 13:if(e.memoizedState!==null)return(s&e.child.childLanes)!==0?ti(o,e,s):(I$1(P,P.current&1),e=hi(o,e,s),e!==null?e.sibling:null);I$1(P,P.current&1);break;case 19:if(a=(s&e.childLanes)!==0,(o.flags&64)!==0){if(a)return Ai(o,e,s);e.flags|=64}if(c=e.memoizedState,c!==null&&(c.rendering=null,c.tail=null,c.lastEffect=null),I$1(P,P.current),a)break;return null;case 23:case 24:return e.lanes=0,mi(o,e,s)}return hi(o,e,s)}else ug=!1;switch(e.lanes=0,e.tag){case 2:if(a=e.type,o!==null&&(o.alternate=null,e.alternate=null,e.flags|=2),o=e.pendingProps,c=Ef(e,M.current),tg(e,s),c=Ch(null,e,a,o,c,s),e.flags|=1,typeof c=="object"&&c!==null&&typeof c.render=="function"&&c.$$typeof===void 0){if(e.tag=1,e.memoizedState=null,e.updateQueue=null,Ff(a)){var d=!0;Jf(e)}else d=!1;e.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,xg(e);var _=a.getDerivedStateFromProps;typeof _=="function"&&Gg(e,a,_,o),c.updater=Kg,e.stateNode=c,c._reactInternals=e,Og(e,a,o,s),e=qi(null,e,a,!0,d,s)}else e.tag=0,fi(null,e,c,s),e=e.child;return e;case 16:c=e.elementType;e:{switch(o!==null&&(o.alternate=null,e.alternate=null,e.flags|=2),o=e.pendingProps,d=c._init,c=d(c._payload),e.type=c,d=e.tag=hk(c),o=lg(c,o),d){case 0:e=li(null,e,c,o,s);break e;case 1:e=pi(null,e,c,o,s);break e;case 11:e=gi(null,e,c,o,s);break e;case 14:e=ii(null,e,c,lg(c.type,o),a,s);break e}throw Error(y(306,c,""))}return e;case 0:return a=e.type,c=e.pendingProps,c=e.elementType===a?c:lg(a,c),li(o,e,a,c,s);case 1:return a=e.type,c=e.pendingProps,c=e.elementType===a?c:lg(a,c),pi(o,e,a,c,s);case 3:if(ri(e),a=e.updateQueue,o===null||a===null)throw Error(y(282));if(a=e.pendingProps,c=e.memoizedState,c=c!==null?c.element:null,yg(o,e),Cg(e,a,null,s),a=e.memoizedState.element,a===c)sh(),e=hi(o,e,s);else{if(c=e.stateNode,(d=c.hydrate)&&(kh=rf(e.stateNode.containerInfo.firstChild),jh=e,d=lh=!0),d){if(o=c.mutableSourceEagerHydrationData,o!=null)for(c=0;c=0)&&(s[c]=o[c]);return s}function _objectWithoutProperties(o,e){if(o==null)return{};var s=_objectWithoutPropertiesLoose(o,e),a,c;if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(o);for(c=0;c=0)&&(!Object.prototype.propertyIsEnumerable.call(o,a)||(s[a]=o[a]))}return s}var isFunction$1=function(e){return typeof e=="function"},MDXContext=React.createContext({}),useMDXComponents=function(e){var s=React.useContext(MDXContext),a=s;return e&&(a=isFunction$1(e)?e(s):_objectSpread2(_objectSpread2({},s),e)),a},TYPE_PROP_NAME="mdxType",DEFAULTS={inlineCode:"code",wrapper:function(e){var s=e.children;return React.createElement(React.Fragment,{},s)}},MDXCreateElement=React.forwardRef(function(o,e){var s=o.components,a=o.mdxType,c=o.originalType,d=o.parentName,_=_objectWithoutProperties(o,["components","mdxType","originalType","parentName"]),b=useMDXComponents(s),k=a,$=b["".concat(d,".").concat(k)]||b[k]||DEFAULTS[k]||c;return s?React.createElement($,_objectSpread2(_objectSpread2({ref:e},_),{},{components:s})):React.createElement($,_objectSpread2({ref:e},_))});MDXCreateElement.displayName="MDXCreateElement";function createElement(o,e){var s=arguments,a=e&&e.mdxType;if(typeof o=="string"||a){var c=s.length,d=new Array(c);d[0]=MDXCreateElement;var _={};for(var b in e)hasOwnProperty.call(e,b)&&(_[b]=e[b]);_.originalType=o,_[TYPE_PROP_NAME]=typeof o=="string"?o:a,d[1]=_;for(var k=2;k{if(a=`${base$1}${a}`,a in seen)return;seen[a]=!0;const c=a.endsWith(".css"),d=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${a}"]${d}`))return;const _=document.createElement("link");if(_.rel=c?"stylesheet":scriptRel,c||(_.as="script",_.crossOrigin=""),_.href=a,document.head.appendChild(_),c)return new Promise((b,k)=>{_.addEventListener("load",b),_.addEventListener("error",()=>k(new Error(`Unable to preload CSS for ${a}`)))})})).then(()=>e())};var fraction$1={exports:{}};/** +Add a component higher in the tree to provide a loading indicator or placeholder to display.`)}V!==5&&(V=2),k=Mi(k,b),et=_;do{switch(et.tag){case 3:d=k,et.flags|=4096,e&=-e,et.lanes|=e;var ct=Pi(et,d,e);Bg(et,ct);break e;case 1:d=k;var ut=et.type,lt=et.stateNode;if((et.flags&64)===0&&(typeof ut.getDerivedStateFromError=="function"||lt!==null&&typeof lt.componentDidCatch=="function"&&(Ti===null||!Ti.has(lt)))){et.flags|=4096,e&=-e,et.lanes|=e;var ht=Si(et,d,e);Bg(et,ht);break e}}et=et.return}while(et!==null)}Zj(s)}catch(dt){e=dt,Y===s&&s!==null&&(Y=s=s.return);continue}break}while(1)}function Pj(){var o=oj.current;return oj.current=Gh,o===null?Gh:o}function Tj(o,e){var s=X;X|=16;var a=Pj();U===o&&W===e||Qj(o,e);do try{ak();break}catch(c){Sj(o,c)}while(1);if(qg(),X=s,oj.current=a,Y!==null)throw Error(y(261));return U=null,W=0,V}function ak(){for(;Y!==null;)bk(Y)}function Rj(){for(;Y!==null&&!Qf();)bk(Y)}function bk(o){var e=ck(o.alternate,o,qj);o.memoizedProps=o.pendingProps,e===null?Zj(o):Y=e,pj.current=null}function Zj(o){var e=o;do{var s=e.alternate;if(o=e.return,(e.flags&2048)===0){if(s=Gi(s,e,qj),s!==null){Y=s;return}if(s=e,s.tag!==24&&s.tag!==23||s.memoizedState===null||(qj&1073741824)!==0||(s.mode&4)===0){for(var a=0,c=s.child;c!==null;)a|=c.lanes|c.childLanes,c=c.sibling;s.childLanes=a}o!==null&&(o.flags&2048)===0&&(o.firstEffect===null&&(o.firstEffect=e.firstEffect),e.lastEffect!==null&&(o.lastEffect!==null&&(o.lastEffect.nextEffect=e.firstEffect),o.lastEffect=e.lastEffect),1_&&(b=_,_=ct,ct=b),b=Le(at,ct),d=Le(at,_),b&&d&&(pt.rangeCount!==1||pt.anchorNode!==b.node||pt.anchorOffset!==b.offset||pt.focusNode!==d.node||pt.focusOffset!==d.offset)&&(ot=ot.createRange(),ot.setStart(b.node,b.offset),pt.removeAllRanges(),ct>_?(pt.addRange(ot),pt.extend(d.node,d.offset)):(ot.setEnd(d.node,d.offset),pt.addRange(ot)))))),ot=[],pt=at;pt=pt.parentNode;)pt.nodeType===1&&ot.push({element:pt,left:pt.scrollLeft,top:pt.scrollTop});for(typeof at.focus=="function"&&at.focus(),at=0;atO()-jj?Qj(o,0):uj|=s),Mj(o,e)}function lj(o,e){var s=o.stateNode;s!==null&&s.delete(e),e=0,e===0&&(e=o.mode,(e&2)===0?e=1:(e&4)===0?e=eg()===99?1:2:(Gj===0&&(Gj=tj),e=Yc(62914560&~Gj),e===0&&(e=4194304))),s=Hg(),o=Kj(o,e),o!==null&&($c(o,e,s),Mj(o,s))}var ck;ck=function(o,e,s){var a=e.lanes;if(o!==null)if(o.memoizedProps!==e.pendingProps||N.current)ug=!0;else if((s&a)!==0)ug=(o.flags&16384)!==0;else{switch(ug=!1,e.tag){case 3:ri(e),sh();break;case 5:gh(e);break;case 1:Ff(e.type)&&Jf(e);break;case 4:eh(e,e.stateNode.containerInfo);break;case 10:a=e.memoizedProps.value;var c=e.type._context;I$1(mg,c._currentValue),c._currentValue=a;break;case 13:if(e.memoizedState!==null)return(s&e.child.childLanes)!==0?ti(o,e,s):(I$1(P,P.current&1),e=hi(o,e,s),e!==null?e.sibling:null);I$1(P,P.current&1);break;case 19:if(a=(s&e.childLanes)!==0,(o.flags&64)!==0){if(a)return Ai(o,e,s);e.flags|=64}if(c=e.memoizedState,c!==null&&(c.rendering=null,c.tail=null,c.lastEffect=null),I$1(P,P.current),a)break;return null;case 23:case 24:return e.lanes=0,mi(o,e,s)}return hi(o,e,s)}else ug=!1;switch(e.lanes=0,e.tag){case 2:if(a=e.type,o!==null&&(o.alternate=null,e.alternate=null,e.flags|=2),o=e.pendingProps,c=Ef(e,M.current),tg(e,s),c=Ch(null,e,a,o,c,s),e.flags|=1,typeof c=="object"&&c!==null&&typeof c.render=="function"&&c.$$typeof===void 0){if(e.tag=1,e.memoizedState=null,e.updateQueue=null,Ff(a)){var d=!0;Jf(e)}else d=!1;e.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,xg(e);var _=a.getDerivedStateFromProps;typeof _=="function"&&Gg(e,a,_,o),c.updater=Kg,e.stateNode=c,c._reactInternals=e,Og(e,a,o,s),e=qi(null,e,a,!0,d,s)}else e.tag=0,fi(null,e,c,s),e=e.child;return e;case 16:c=e.elementType;e:{switch(o!==null&&(o.alternate=null,e.alternate=null,e.flags|=2),o=e.pendingProps,d=c._init,c=d(c._payload),e.type=c,d=e.tag=hk(c),o=lg(c,o),d){case 0:e=li(null,e,c,o,s);break e;case 1:e=pi(null,e,c,o,s);break e;case 11:e=gi(null,e,c,o,s);break e;case 14:e=ii(null,e,c,lg(c.type,o),a,s);break e}throw Error(y(306,c,""))}return e;case 0:return a=e.type,c=e.pendingProps,c=e.elementType===a?c:lg(a,c),li(o,e,a,c,s);case 1:return a=e.type,c=e.pendingProps,c=e.elementType===a?c:lg(a,c),pi(o,e,a,c,s);case 3:if(ri(e),a=e.updateQueue,o===null||a===null)throw Error(y(282));if(a=e.pendingProps,c=e.memoizedState,c=c!==null?c.element:null,yg(o,e),Cg(e,a,null,s),a=e.memoizedState.element,a===c)sh(),e=hi(o,e,s);else{if(c=e.stateNode,(d=c.hydrate)&&(kh=rf(e.stateNode.containerInfo.firstChild),jh=e,d=lh=!0),d){if(o=c.mutableSourceEagerHydrationData,o!=null)for(c=0;c=0)&&(s[c]=o[c]);return s}function _objectWithoutProperties(o,e){if(o==null)return{};var s=_objectWithoutPropertiesLoose(o,e),a,c;if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(o);for(c=0;c=0)&&(!Object.prototype.propertyIsEnumerable.call(o,a)||(s[a]=o[a]))}return s}var isFunction$1=function(e){return typeof e=="function"},MDXContext=React.createContext({}),useMDXComponents=function(e){var s=React.useContext(MDXContext),a=s;return e&&(a=isFunction$1(e)?e(s):_objectSpread2(_objectSpread2({},s),e)),a},TYPE_PROP_NAME="mdxType",DEFAULTS={inlineCode:"code",wrapper:function(e){var s=e.children;return React.createElement(React.Fragment,{},s)}},MDXCreateElement=React.forwardRef(function(o,e){var s=o.components,a=o.mdxType,c=o.originalType,d=o.parentName,_=_objectWithoutProperties(o,["components","mdxType","originalType","parentName"]),b=useMDXComponents(s),k=a,$=b["".concat(d,".").concat(k)]||b[k]||DEFAULTS[k]||c;return s?React.createElement($,_objectSpread2(_objectSpread2({ref:e},_),{},{components:s})):React.createElement($,_objectSpread2({ref:e},_))});MDXCreateElement.displayName="MDXCreateElement";function createElement(o,e){var s=arguments,a=e&&e.mdxType;if(typeof o=="string"||a){var c=s.length,d=new Array(c);d[0]=MDXCreateElement;var _={};for(var b in e)hasOwnProperty.call(e,b)&&(_[b]=e[b]);_.originalType=o,_[TYPE_PROP_NAME]=typeof o=="string"?o:a,d[1]=_;for(var k=2;k{if(a=`${base$1}${a}`,a in seen)return;seen[a]=!0;const c=a.endsWith(".css"),d=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${a}"]${d}`))return;const _=document.createElement("link");if(_.rel=c?"stylesheet":scriptRel,c||(_.as="script",_.crossOrigin=""),_.href=a,document.head.appendChild(_),c)return new Promise((b,k)=>{_.addEventListener("load",b),_.addEventListener("error",()=>k(new Error(`Unable to preload CSS for ${a}`)))})})).then(()=>e())};var fraction$1={exports:{}};/** * @license Fraction.js v4.2.0 05/03/2022 * https://www.xarg.org/2014/03/rational-numbers-in-javascript/ * * Copyright (c) 2021, Robert Eisele (robert@xarg.org) * Dual licensed under the MIT or GPL Version 2 licenses. - **/(function(o,e){(function(s){var a=2e3,c={s:1,n:0,d:1};function d(nt,st){if(isNaN(nt=parseInt(nt,10)))throw tt.InvalidParameter;return nt*st}function _(nt,st){if(st===0)throw tt.DivisionByZero;var rt=Object.create(tt.prototype);rt.s=nt<0?-1:1,nt=nt<0?-nt:nt;var it=et(nt,st);return rt.n=nt/it,rt.d=st/it,rt}function b(nt){for(var st={},rt=nt,it=2,at=4;at<=rt;){for(;rt%it===0;)rt/=it,st[it]=(st[it]||0)+1;at+=1+2*it++}return rt!==nt?rt>1&&(st[rt]=(st[rt]||0)+1):st[nt]=(st[nt]||0)+1,st}var k=function(nt,st){var rt=0,it=1,at=1,ot=0,pt=0,ct=0,ut=1,lt=1,ht=0,dt=1,gt=1,yt=1,ft=1e7,mt;if(nt!=null)if(st!==void 0){if(rt=nt,it=st,at=rt*it,rt%1!==0||it%1!==0)throw tt.NonIntegerParameter}else switch(typeof nt){case"object":{if("d"in nt&&"n"in nt)rt=nt.n,it=nt.d,"s"in nt&&(rt*=nt.s);else if(0 in nt)rt=nt[0],1 in nt&&(it=nt[1]);else throw tt.InvalidParameter;at=rt*it;break}case"number":{if(nt<0&&(at=nt,nt=-nt),nt%1===0)rt=nt;else if(nt>0){for(nt>=1&&(lt=Math.pow(10,Math.floor(1+Math.log(nt)/Math.LN10)),nt/=lt);dt<=ft&&yt<=ft;)if(mt=(ht+gt)/(dt+yt),nt===mt){dt+yt<=ft?(rt=ht+gt,it=dt+yt):yt>dt?(rt=gt,it=yt):(rt=ht,it=dt);break}else nt>mt?(ht+=gt,dt+=yt):(gt+=ht,yt+=dt),dt>ft?(rt=gt,it=yt):(rt=ht,it=dt);rt*=lt}else(isNaN(nt)||isNaN(st))&&(it=rt=NaN);break}case"string":{if(dt=nt.match(/\d+|./g),dt===null)throw tt.InvalidParameter;if(dt[ht]==="-"?(at=-1,ht++):dt[ht]==="+"&&ht++,dt.length===ht+1?pt=d(dt[ht++],at):dt[ht+1]==="."||dt[ht]==="."?(dt[ht]!=="."&&(ot=d(dt[ht++],at)),ht++,(ht+1===dt.length||dt[ht+1]==="("&&dt[ht+3]===")"||dt[ht+1]==="'"&&dt[ht+3]==="'")&&(pt=d(dt[ht],at),ut=Math.pow(10,dt[ht].length),ht++),(dt[ht]==="("&&dt[ht+2]===")"||dt[ht]==="'"&&dt[ht+2]==="'")&&(ct=d(dt[ht+1],at),lt=Math.pow(10,dt[ht+1].length)-1,ht+=3)):dt[ht+1]==="/"||dt[ht+1]===":"?(pt=d(dt[ht],at),ut=d(dt[ht+2],1),ht+=3):dt[ht+3]==="/"&&dt[ht+1]===" "&&(ot=d(dt[ht],at),pt=d(dt[ht+2],at),ut=d(dt[ht+4],1),ht+=5),dt.length<=ht){it=ut*lt,at=rt=ct+it*ot+lt*pt;break}}default:throw tt.InvalidParameter}if(it===0)throw tt.DivisionByZero;c.s=at<0?-1:1,c.n=Math.abs(rt),c.d=Math.abs(it)};function $(nt,st,rt){for(var it=1;st>0;nt=nt*nt%rt,st>>=1)st&1&&(it=it*nt%rt);return it}function j(nt,st){for(;st%2===0;st/=2);for(;st%5===0;st/=5);if(st===1)return 0;for(var rt=10%st,it=1;rt!==1;it++)if(rt=rt*10%st,it>a)return 0;return it}function _e(nt,st,rt){for(var it=1,at=$(10,rt,st),ot=0;ot<300;ot++){if(it===at)return ot;it=it*10%st,at=at*10%st}return 0}function et(nt,st){if(!nt)return st;if(!st)return nt;for(;;){if(nt%=st,!nt)return st;if(st%=nt,!st)return nt}}function tt(nt,st){if(k(nt,st),this instanceof tt)nt=et(c.d,c.n),this.s=c.s,this.n=c.n/nt,this.d=c.d/nt;else return _(c.s*c.n,c.d)}tt.DivisionByZero=new Error("Division by Zero"),tt.InvalidParameter=new Error("Invalid argument"),tt.NonIntegerParameter=new Error("Parameters must be integer"),tt.prototype={s:1,n:0,d:1,abs:function(){return _(this.n,this.d)},neg:function(){return _(-this.s*this.n,this.d)},add:function(nt,st){return k(nt,st),_(this.s*this.n*c.d+c.s*this.d*c.n,this.d*c.d)},sub:function(nt,st){return k(nt,st),_(this.s*this.n*c.d-c.s*this.d*c.n,this.d*c.d)},mul:function(nt,st){return k(nt,st),_(this.s*c.s*this.n*c.n,this.d*c.d)},div:function(nt,st){return k(nt,st),_(this.s*c.s*this.n*c.d,this.d*c.n)},clone:function(){return _(this.s*this.n,this.d)},mod:function(nt,st){if(isNaN(this.n)||isNaN(this.d))return new tt(NaN);if(nt===void 0)return _(this.s*this.n%this.d,1);if(k(nt,st),c.n===0&&this.d===0)throw tt.DivisionByZero;return _(this.s*(c.d*this.n)%(c.n*this.d),c.d*this.d)},gcd:function(nt,st){return k(nt,st),_(et(c.n,this.n)*et(c.d,this.d),c.d*this.d)},lcm:function(nt,st){return k(nt,st),c.n===0&&this.n===0?_(0,1):_(c.n*this.n,et(c.n,this.n)*et(c.d,this.d))},ceil:function(nt){return nt=Math.pow(10,nt||0),isNaN(this.n)||isNaN(this.d)?new tt(NaN):_(Math.ceil(nt*this.s*this.n/this.d),nt)},floor:function(nt){return nt=Math.pow(10,nt||0),isNaN(this.n)||isNaN(this.d)?new tt(NaN):_(Math.floor(nt*this.s*this.n/this.d),nt)},round:function(nt){return nt=Math.pow(10,nt||0),isNaN(this.n)||isNaN(this.d)?new tt(NaN):_(Math.round(nt*this.s*this.n/this.d),nt)},inverse:function(){return _(this.s*this.d,this.n)},pow:function(nt,st){if(k(nt,st),c.d===1)return c.s<0?_(Math.pow(this.s*this.d,c.n),Math.pow(this.n,c.n)):_(Math.pow(this.s*this.n,c.n),Math.pow(this.d,c.n));if(this.s<0)return null;var rt=b(this.n),it=b(this.d),at=1,ot=1;for(var pt in rt)if(pt!=="1"){if(pt==="0"){at=0;break}if(rt[pt]*=c.n,rt[pt]%c.d===0)rt[pt]/=c.d;else return null;at*=Math.pow(pt,rt[pt])}for(var pt in it)if(pt!=="1"){if(it[pt]*=c.n,it[pt]%c.d===0)it[pt]/=c.d;else return null;ot*=Math.pow(pt,it[pt])}return c.s<0?_(ot,at):_(at,ot)},equals:function(nt,st){return k(nt,st),this.s*this.n*c.d===c.s*c.n*this.d},compare:function(nt,st){k(nt,st);var rt=this.s*this.n*c.d-c.s*c.n*this.d;return(0=0;ot--)at=at.inverse().add(rt[ot]);if(at.sub(st).abs().valueOf()0&&(rt+=st,rt+=" ",it%=at),rt+=it,rt+="/",rt+=at),rt},toLatex:function(nt){var st,rt="",it=this.n,at=this.d;return this.s<0&&(rt+="-"),at===1?rt+=it:(nt&&(st=Math.floor(it/at))>0&&(rt+=st,it%=at),rt+="\\frac{",rt+=it,rt+="}{",rt+=at,rt+="}"),rt},toContinued:function(){var nt,st=this.n,rt=this.d,it=[];if(isNaN(st)||isNaN(rt))return it;do it.push(Math.floor(st/rt)),nt=st%rt,st=rt,rt=nt;while(st!==1);return it},toString:function(nt){var st=this.n,rt=this.d;if(isNaN(st)||isNaN(rt))return"NaN";nt=nt||15;var it=j(st,rt),at=_e(st,rt,it),ot=this.s<0?"-":"";if(ot+=st/rt|0,st%=rt,st*=10,st&&(ot+="."),it){for(var pt=at;pt--;)ot+=st/rt|0,st%=rt,st*=10;ot+="(";for(var pt=it;pt--;)ot+=st/rt|0,st%=rt,st*=10;ot+=")"}else for(var pt=nt;st&&pt--;)ot+=st/rt|0,st%=rt,st*=10;return ot}},Object.defineProperty(tt,"__esModule",{value:!0}),tt.default=tt,tt.Fraction=tt,o.exports=tt})()})(fraction$1);var Fraction=getDefaultExportFromCjs(fraction$1.exports);Fraction.prototype.sam=function(){return this.floor()};Fraction.prototype.nextSam=function(){return this.sam().add(1)};Fraction.prototype.wholeCycle=function(){return new TimeSpan$1(this.sam(),this.nextSam())};Fraction.prototype.cyclePos=function(){return this.sub(this.sam())};Fraction.prototype.lt=function(o){return this.compare(o)<0};Fraction.prototype.gt=function(o){return this.compare(o)>0};Fraction.prototype.lte=function(o){return this.compare(o)<=0};Fraction.prototype.gte=function(o){return this.compare(o)>=0};Fraction.prototype.eq=function(o){return this.compare(o)==0};Fraction.prototype.max=function(o){return this.gt(o)?this:o};Fraction.prototype.min=function(o){return this.lt(o)?this:o};Fraction.prototype.show=function(){return this.s*this.n+"/"+this.d};Fraction.prototype.or=function(o){return this.eq(0)?o:this};const fraction=o=>(typeof o=="number"&&(o=String(o)),Fraction(o)),gcd=(...o)=>o.reduce((e,s)=>e.gcd(s),fraction(1));fraction._original=Fraction;class TimeSpan$1{constructor(e,s){this.begin=fraction(e),this.end=fraction(s)}get spanCycles(){const e=[];var s=this.begin;const a=this.end,c=a.sam();for(;a.gt(s);){if(s.sam().equals(c)){e.push(new TimeSpan$1(s,this.end));break}const d=s.nextSam();e.push(new TimeSpan$1(s,d)),s=d}return e}get duration(){return this.end.sub(this.begin)}cycleArc(){const e=this.begin.cyclePos(),s=e.add(this.duration);return new TimeSpan$1(e,s)}withTime(e){return new TimeSpan$1(e(this.begin),e(this.end))}withEnd(e){return new TimeSpan$1(this.begin,e(this.end))}withCycle(e){const s=this.begin.sam(),a=s.add(e(this.begin.sub(s))),c=s.add(e(this.end.sub(s)));return new TimeSpan$1(a,c)}intersection(e){const s=this.begin.max(e.begin),a=this.end.min(e.end);if(!s.gt(a)&&!(s.equals(a)&&(s.equals(this.end)&&this.begin.lt(this.end)||s.equals(e.end)&&e.begin.lt(e.end))))return new TimeSpan$1(s,a)}intersection_e(e){const s=this.intersection(e);if(s==null)throw"TimeSpans do not intersect";return s}midpoint(){return this.begin.add(this.duration.div(fraction(2)))}equals(e){return this.begin.equals(e.begin)&&this.end.equals(e.end)}show(){return this.begin.show()+" -> "+this.end.show()}}class Hap{constructor(e,s,a,c={},d=!1){this.whole=e,this.part=s,this.value=a,this.context=c,this.stateful=d,d&&console.assert(typeof this.value=="function","Stateful values must be functions")}get duration(){return this.whole.end.sub(this.whole.begin)}wholeOrPart(){return this.whole?this.whole:this.part}withSpan(e){const s=this.whole?e(this.whole):void 0;return new Hap(s,e(this.part),this.value,this.context)}withValue(e){return new Hap(this.whole,this.part,e(this.value),this.context)}hasOnset(){return this.whole!=null&&this.whole.begin.equals(this.part.begin)}resolveState(e){if(this.stateful&&this.hasOnset()){console.log("stateful");const s=this.value,[a,c]=s(e);return[a,new Hap(this.whole,this.part,c,this.context,!1)]}return[e,this]}spanEquals(e){return this.whole==null&&e.whole==null||this.whole.equals(e.whole)}equals(e){return this.spanEquals(e)&&this.part.equals(e.part)&&this.value===e.value}show(){return"("+(this.whole==null?"~":this.whole.show())+", "+this.part.show()+", "+this.value+")"}showWhole(){return`${this.whole==null?"~":this.whole.show()}: ${typeof this.value=="object"?JSON.stringify(this.value):this.value}`}combineContext(e){const s=this;return wt(Ot(Ot({},s.context),e.context),{locations:(s.context.locations||[]).concat(e.context.locations||[])})}setContext(e){return new Hap(this.whole,this.part,this.value,e)}}class State$1{constructor(e,s={}){this.span=e,this.controls=s}setSpan(e){return new State$1(e,this.controls)}withSpan(e){return this.setSpan(e(this.span))}setControls(e){return new State$1(this.span,e)}}const isNote$3=o=>/^[a-gA-G][#b]*[0-9]$/.test(o),tokenizeNote=o=>{var c;if(typeof o!="string")return[];const[e,s="",a]=((c=o.match(/^([a-gA-G])([#b]*)([0-9])?$/))==null?void 0:c.slice(1))||[];return e?[e,s,a?Number(a):void 0]:[]},toMidi$1=o=>{const[e,s,a]=tokenizeNote(o);if(!e)throw new Error('not a note: "'+o+'"');const c={c:0,d:2,e:4,f:5,g:7,a:9,b:11}[e.toLowerCase()],d=(s==null?void 0:s.split("").reduce((_,b)=>_+{"#":1,b:-1}[b],0))||0;return(Number(a)+1)*12+c+d},fromMidi=o=>Math.pow(2,(o-69)/12)*440,mod=(o,e)=>(o%e+e)%e,getPlayableNoteValue=o=>{let{value:e,context:s}=o;if(typeof e=="number"&&s.type!=="frequency")e=fromMidi(o.value);else if(typeof e=="string"&&!isNote$3(e))throw new Error("not a note: "+e);return e},getFrequency=o=>{let{value:e,context:s}=o;if(typeof e=="object"&&e.freq)return e.freq;if(typeof e=="number"&&s.type!=="frequency")e=fromMidi(o.value);else if(typeof e=="string"&&isNote$3(e))e=fromMidi(toMidi$1(o.value));else if(typeof e!="number")throw new Error("not a note or frequency:"+e);return e},rotate=(o,e)=>o.slice(e).concat(o.slice(0,e)),pipe=(...o)=>o.reduce((e,s)=>(...a)=>e(s(...a)),e=>e),compose=(...o)=>pipe(...o.reverse()),removeUndefineds=o=>o.filter(e=>e!=null),flatten$1=o=>[].concat(...o),id$1=o=>o,constant=(o,e)=>o,listRange=(o,e)=>Array.from({length:e-o+1},(s,a)=>a+o);function curry(o,e){const s=function a(...c){if(c.length>=o.length)return o.apply(this,c);{const d=function(..._){return a.apply(this,c.concat(_))};return e&&e(d,c),d}};return e&&e(s,[]),s}function unionWithObj(o,e,s){const a=Object.keys(o).filter(c=>Object.keys(e).includes(c));return Object.assign({},o,e,Object.fromEntries(a.map(c=>[c,s(o[c],e[c])])))}curry((o,e)=>o*e);curry((o,e)=>e.map(o));function drawLine(o,e=60){let s=0,a=fraction(0),c=[""],d="";for(;c[0].lengthj.hasOnset()).map(j=>j.duration),k=gcd(...b),$=k.inverse();c=c.map(j=>j+"|"),d+="|";for(let j=0;j<$;j++){const[_e,et]=[a,a.add(k)],tt=_.filter(st=>st.whole.begin.lte(_e)&&st.whole.end.gte(et)),nt=tt.length-c.length;nt>0&&(c=c.concat(Array(nt).fill(d))),c=c.map((st,rt)=>{const it=tt[rt];if(it){const ot=it.whole.begin.eq(_e)?""+it.value:"-";return st+ot}return st+"."}),d+=".",a=a.add(k)}s++}return c.join(` -`)}class Pattern$5{constructor(e){this.query=e}queryArc(e,s){return this.query(new State$1(new TimeSpan$1(e,s)))}_splitQueries(){const e=this,s=a=>flatten$1(a.span.spanCycles.map(c=>e.query(a.setSpan(c))));return new Pattern$5(s)}withQuerySpan(e){return new Pattern$5(s=>this.query(s.withSpan(e)))}withQueryTime(e){return new Pattern$5(s=>this.query(s.withSpan(a=>a.withTime(e))))}withHapSpan(e){return new Pattern$5(s=>this.query(s).map(a=>a.withSpan(e)))}withHapTime(e){return this.withHapSpan(s=>s.withTime(e))}_withHaps(e){return new Pattern$5(s=>e(this.query(s)))}_withHap(e){return this._withHaps(s=>s.map(e))}_setContext(e){return this._withHap(s=>s.setContext(e))}_withContext(e){return this._withHap(s=>s.setContext(e(s.context)))}_stripContext(){return this._withHap(e=>e.setContext({}))}withLocation(e,s){const a={start:{line:e[0],column:e[1],offset:e[2]},end:{line:s[0],column:s[1],offset:s[2]}};return this._withContext(c=>{const d=(c.locations||[]).concat([a]);return wt(Ot({},c),{locations:d})})}withMiniLocation(e,s){const a={start:{line:e[0],column:e[1],offset:e[2]},end:{line:s[0],column:s[1],offset:s[2]}};return this._withContext(c=>{let d=c.locations||[];return d=d.map(({start:_,end:b})=>{const k=_.line===1?a.start.column:0;return{start:wt(Ot({},_),{line:_.line-1+(a.start.line-1)+1,column:_.column-1+k}),end:wt(Ot({},b),{line:b.line-1+(a.start.line-1)+1,column:b.column-1+k})}}),wt(Ot({},c),{locations:d})})}withValue(e){return new Pattern$5(s=>this.query(s).map(a=>a.withValue(e)))}fmap(e){return this.withValue(e)}_filterHaps(e){return new Pattern$5(s=>this.query(s).filter(e))}_filterValues(e){return new Pattern$5(s=>this.query(s).filter(a=>e(a.value)))}_removeUndefineds(){return this._filterValues(e=>e!=null)}onsetsOnly(){return this._filterHaps(e=>e.hasOnset())}discreteOnly(){return this._filterHaps(e=>e.whole)}_appWhole(e,s){const a=this,c=function(d){const _=a.query(d),b=s.query(d),k=function($,j){const _e=$.part.intersection(j.part);if(_e!=null)return new Hap(e($.whole,j.whole),_e,$.value(j.value),j.combineContext($))};return flatten$1(_.map($=>removeUndefineds(b.map(j=>k($,j)))))};return new Pattern$5(c)}appBoth(e){const s=function(a,c){if(!(a==null||c==null))return a.intersection_e(c)};return this._appWhole(s,e)}appLeft(e){const s=this,a=function(c){const d=[];for(const _ of s.query(c)){const b=e.query(c.setSpan(_.wholeOrPart()));for(const k of b){const $=_.whole,j=_.part.intersection(k.part);if(j){const _e=_.value(k.value),et=k.combineContext(_),tt=new Hap($,j,_e,et);d.push(tt)}}}return d};return new Pattern$5(a)}appRight(e){const s=this,a=function(c){const d=[];for(const _ of e.query(c)){const b=s.query(c.setSpan(_.wholeOrPart()));for(const k of b){const $=_.whole,j=k.part.intersection(_.part);if(j){const _e=k.value(_.value),et=_.combineContext(k),tt=new Hap($,j,_e,et);d.push(tt)}}}return d};return new Pattern$5(a)}firstCycle(e=!1){var s=this;return e||(s=s._stripContext()),s.query(new State$1(new TimeSpan$1(fraction(0),fraction(1))))}get _firstCycleValues(){return this.firstCycle().map(e=>e.value)}get _showFirstCycle(){return this.firstCycle().map(e=>`${e.value}: ${e.whole.begin.toFraction()} - ${e.whole.end.toFraction()}`)}_sortHapsByPart(){return this._withHaps(e=>e.sort((s,a)=>s.part.begin.sub(a.part.begin).or(s.part.end.sub(a.part.end)).or(s.whole.begin.sub(a.whole.begin).or(s.whole.end.sub(a.whole.end)))))}_opIn(e,s){return this.fmap(s).appLeft(reify$1(e))}_opOut(e,s){return this.fmap(s).appRight(reify$1(e))}_opMix(e,s){return this.fmap(s).appBoth(reify$1(e))}_opSqueeze(e,s){const a=reify$1(e);return this.fmap(c=>a.fmap(d=>s(c)(d)))._squeezeJoin()}_opSqueezeOut(e,s){const a=this;return reify$1(e).fmap(d=>a.fmap(_=>s(_)(d)))._squeezeJoin()}_opTrig(e,s){return reify$1(e).fmap(c=>this.fmap(d=>s(d)(c)))._trigJoin()}_opTrigzero(e,s){return reify$1(e).fmap(c=>this.fmap(d=>s(d)(c)))._TrigzeroJoin()}_asNumber(e=!1,s=!1){return this._withHap(a=>{const c=Number(a.value);if(!isNaN(c))return a.withValue(()=>c);const d={e:Math.E,pi:Math.PI}[a.value];if(typeof d!="undefined")return a.withValue(()=>d);if(isNote$3(a.value))return new Hap(a.whole,a.part,toMidi$1(a.value),wt(Ot({},a.context),{type:"midi"}));if(!e){if(s)return a;throw new Error('cannot parse as number: "'+a.value+'"')}})}round(){return this._asNumber().fmap(e=>Math.round(e))}floor(){return this._asNumber().fmap(e=>Math.floor(e))}ceil(){return this._asNumber().fmap(e=>Math.ceil(e))}_toBipolar(){return this.fmap(e=>e*2-1)}_fromBipolar(){return this.fmap(e=>(e+1)/2)}range(e,s){return this.mul(s-e).add(e)}rangex(e,s){return this.range(Math.log(e),Math.log(s)).fmap(Math.exp)}range2(e,s){return this._fromBipolar().range(e,s)}_bindWhole(e,s){const a=this,c=function(d){const _=function(k,$){return new Hap(e(k.whole,$.whole),$.part,$.value,Object.assign({},k.context,$.context,{locations:(k.context.locations||[]).concat($.context.locations||[])}))},b=function(k){return s(k.value).query(d.setSpan(k.part)).map($=>_(k,$))};return flatten$1(a.query(d).map(k=>b(k)))};return new Pattern$5(c)}bind(e){const s=function(a,c){if(!(a==null||c==null))return a.intersection_e(c)};return this._bindWhole(s,e)}join(){return this.bind(id$1)}outerBind(e){return this._bindWhole((s,a)=>s,e)}outerJoin(){return this.outerBind(id$1)}innerBind(e){return this._bindWhole((s,a)=>a,e)}innerJoin(){return this.innerBind(id$1)}_trigJoin(e=!1){const s=this;return new Pattern$5(a=>s.discreteOnly().query(a).map(c=>c.value.late(e?c.whole.begin:c.whole.begin.cyclePos()).query(a).map(d=>new Hap(d.whole?d.whole.intersection(c.whole):void 0,d.part.intersection(c.part),d.value).setContext(c.combineContext(d))).filter(d=>d.part)).flat())}_TrigzeroJoin(){return this._trigJoin(!0)}_squeezeJoin(){const e=this;function s(a){const c=e.discreteOnly().query(a);function d(b){const $=b.value._compressSpan(b.wholeOrPart().cycleArc()).query(a.setSpan(b.part));function j(_e,et){let tt;if(et.whole&&_e.whole&&(tt=et.whole.intersection(_e.whole),!tt))return;const nt=et.part.intersection(_e.part);if(!nt)return;const st=et.combineContext(_e);return new Hap(tt,nt,et.value,st)}return $.map(_e=>j(b,_e))}return flatten$1(c.map(d)).filter(b=>b)}return new Pattern$5(s)}_squeezeBind(e){return this.fmap(e)._squeezeJoin()}_apply(e){return e(this)}layer(...e){return stack(...e.map(s=>s(this)))}_patternify(e){const s=this;return function(...c){return c=c.map(_=>isPattern$1(_)?_.fmap(b=>b.value||b):_),sequence(...c).fmap(_=>e.call(s,_)).innerJoin()}}_fastGap(e){const s=function(c){const d=c.begin.sam(),_=d.add(c.begin.sub(d).mul(e).min(1)),b=d.add(c.end.sub(d).mul(e).min(1));return new TimeSpan$1(_,b)},a=function(c){const d=c.begin.sam(),_=d.add(c.begin.sub(d).div(e).min(1)),b=d.add(c.end.sub(d).div(e).min(1));return new TimeSpan$1(_,b)};return this.withQuerySpan(s).withHapSpan(a)._splitQueries()}_compress(e,s){return e.gt(s)||e.gt(1)||s.gt(1)||e.lt(0)||s.lt(0)?silence:this._fastGap(fraction(1).div(s.sub(e)))._late(e)}_compressSpan(e){return this._compress(e.begin,e.end)}_fast(e){return this.withQueryTime(a=>a.mul(e)).withHapTime(a=>a.div(e))}_slow(e){return this._fast(fraction(1).div(e))}_inside(e,s){return s(this._slow(e))._fast(e)}_outside(e,s){return s(this._fast(e))._slow(e)}_ply(e){return this.fmap(s=>pure(s)._fast(e))._squeezeJoin()}_chop(e){const a=Array.from({length:e},(d,_)=>_).map(d=>({begin:d/e,end:(d+1)/e})),c=function(d){return sequence(a.map(_=>Object.assign({},d,_)))};return this._squeezeBind(c)}_striate(e){const a=Array.from({length:e},(d,_)=>_).map(d=>({begin:d/e,end:(d+1)/e})),c=slowcat(...a);return this.set(c)._fast(e)}_cpm(e){return this._fast(e/60)}_early(e){return e=fraction(e),this.withQueryTime(s=>s.add(e)).withHapTime(s=>s.sub(e))}_late(e){return e=fraction(e),this._early(fraction(0).sub(e))}_zoom(e,s){s=fraction(s),e=fraction(e);const a=s.sub(e);return this.withQuerySpan(c=>c.withCycle(d=>d.mul(a).add(e))).withHapSpan(c=>c.withCycle(d=>d.sub(e).div(a)))._splitQueries()}_zoomArc(e){return this.zoom(e.begin,e.end)}_linger(e){return e==0?silence:e<0?this._zoom(e.add(1),1)._slow(e):this._zoom(0,e)._slow(e)}_color(e){return this._withContext(s=>wt(Ot({},s),{color:e}))}log(){return this._withHap(e=>{var s;return e.setContext(wt(Ot({},e.context),{logs:(((s=e.context)==null?void 0:s.logs)||[]).concat([e.show()])}))})}drawLine(){return console.log(drawLine(this)),this}_segment(e){return this.struct(pure(!0)._fast(e))}invert(){return this.fmap(e=>!e)}inv(){return this.invert()}when(e,s){const a=e._filterValues(id$1),c=e._filterValues(b=>!b),d=a.fmap(b=>k=>k).appRight(s(this)),_=c.fmap(b=>k=>k).appRight(this);return stack(d,_)}off(e,s){return stack(this,s(this.late(e)))}every(e,s){const a=this,c=Array(e-1).fill(a);return c.unshift(s(a)),slowcatPrime(...c)}brak(){return this.when(slowcat(!1,!0),e=>fastcat(e,silence)._late(.25))}rev(){const e=this,s=function(a){const c=a.span,d=c.begin.sam(),_=c.begin.nextSam(),b=function($){const j=$.withTime(et=>d.add(_.sub(et))),_e=j.begin;return j.begin=j.end,j.end=_e,j};return e.query(a.setSpan(b(c))).map($=>$.withSpan(b))};return new Pattern$5(s)._splitQueries()}palindrome(){return this.every(2,rev)}juxBy(e,s){e/=2;const a=function(_,b,k){return b in _?_[b]:k},c=this.withValue(_=>Object.assign({},_,{pan:a(_,"pan",.5)-e})),d=this.withValue(_=>Object.assign({},_,{pan:a(_,"pan",.5)+e}));return stack(c,s(d))}_jux(e){return this.juxBy(1,e)}stack(...e){return stack(this,...e)}sequence(...e){return sequence(this,...e)}seq(...e){return sequence(this,...e)}cat(...e){return cat(this,...e)}fastcat(...e){return fastcat(this,...e)}slowcat(...e){return slowcat(this,...e)}superimpose(...e){return this.stack(...e.map(s=>s(this)))}stutWith(e,s,a){return stack(...listRange(0,e-1).map(c=>a(this.late(fraction(s).mul(c)),c)))}stut(e,s,a){return this.stutWith(e,a,(c,d)=>c.velocity(Math.pow(s,d)))}_echoWith(e,s,a){return stack(...listRange(0,e-1).map(c=>a(this.late(fraction(s).mul(c)),c)))}_echo(e,s,a){return this._echoWith(e,s,(c,d)=>c.velocity(Math.pow(a,d)))}iter(e,s=!1){return slowcat(...listRange(0,e-1).map(a=>s?this.late(a/e):this.early(a/e)))}iterBack(e){return this.iter(e,!0)}_chunk(e,s,a=!1){const c=Array(e-1).fill(!1);c.unshift(!0);const d=sequence(...c).iter(e,a);return this.when(d,s)}_chunkBack(e,s){return this._chunk(e,s,!0)}edit(...e){return stack(...e.map(s=>s(this)))}pipe(e){return e(this)}_bypass(e){return e=Boolean(parseInt(e)),e?silence:this}hush(){return silence}_duration(e){return this.withHapSpan(s=>new TimeSpan$1(s.begin,s.begin.add(e)))}_legato(e){return this.withHapSpan(s=>new TimeSpan$1(s.begin,s.begin.add(s.end.sub(s.begin).mul(e))))}_velocity(e){return this._withContext(s=>wt(Ot({},s),{velocity:(s.velocity||1)*e}))}_loopAt(e,s=1){return this.speed(1/e*s).unit("c").slow(e)}onTrigger(e){return this._withHap(s=>s.setContext(wt(Ot({},s.context),{onTrigger:e})))}}function _composeOp(o,e,s){function a(c){return c instanceof Object&&!(c instanceof Function)}return a(o)||a(e)?(a(o)||(o={value:o}),a(e)||(e={value:e}),unionWithObj(o,e,s)):s(o,e)}(function(){const o=a=>a._asNumber(),s={set:[(a,c)=>c],keep:[(a,c)=>a],keepif:[(a,c)=>c?a:void 0],add:[(a,c)=>a+c,a=>a._asNumber(!1,!0)],sub:[(a,c)=>a-c,o],mul:[(a,c)=>a*c,o],div:[(a,c)=>a/c,o],mod:[mod,o],pow:[Math.pow,o],_and:[(a,c)=>a&c,o],_or:[(a,c)=>a|c,o],_xor:[(a,c)=>a^c,o],_lshift:[(a,c)=>a<a>>c,o],lt:[(a,c)=>aa>c],lte:[(a,c)=>a<=c],gte:[(a,c)=>a>=c],eq:[(a,c)=>a==c],eqt:[(a,c)=>a===c],ne:[(a,c)=>a!=c],net:[(a,c)=>a!==c],and:[(a,c)=>a&&c],or:[(a,c)=>a||c],func:[(a,c)=>c(a)]};for(const[a,[c,d]]of Object.entries(s))for(const _ of["In","Out","Mix","Squeeze","SqueezeOut","Trig","Trigzero"])Pattern$5.prototype[a+_]=function(...b){var k=this;b=sequence(b),d&&(k=d(k),b=d(b));var $=k["_op"+_](b,j=>_e=>_composeOp(j,_e,c));return a==="keepif"&&($=$._removeUndefineds()),$},_==="Squeeze"&&(Pattern$5.prototype[a+"SqueezeIn"]=Pattern$5.prototype[a+_]),_==="In"?Pattern$5.prototype[a]=Pattern$5.prototype[a+_]:a==="set"&&(Pattern$5.prototype[_.toLowerCase()]=Pattern$5.prototype[a+_]);Pattern$5.prototype.struct=Pattern$5.prototype.keepifOut,Pattern$5.prototype.structAll=Pattern$5.prototype.keepOut,Pattern$5.prototype.mask=Pattern$5.prototype.keepifIn,Pattern$5.prototype.maskAll=Pattern$5.prototype.keepIn,Pattern$5.prototype.reset=Pattern$5.prototype.keepifTrig,Pattern$5.prototype.resetAll=Pattern$5.prototype.keepTrig,Pattern$5.prototype.restart=Pattern$5.prototype.keepifTrigzero,Pattern$5.prototype.restartAll=Pattern$5.prototype.keepTrigzero})();Pattern$5.prototype.patternified=["apply","chop","color","cpm","duration","early","fast","jux","late","legato","linger","ply","segment","striate","slow","velocity"];Pattern$5.prototype.factories={pure,stack,slowcat,fastcat,cat,timeCat,sequence,seq:seq$2,polymeter,pm,polyrhythm,pr};const silence=new Pattern$5(o=>[]);function pure(o){function e(s){return s.span.spanCycles.map(a=>new Hap(fraction(a.begin).wholeCycle(),a,o))}return new Pattern$5(e)}function isPattern$1(o){return o instanceof Pattern$5}function reify$1(o){return isPattern$1(o)?o:pure(o)}function stack(...o){o=o.map(s=>Array.isArray(s)?sequence(...s):reify$1(s));const e=s=>flatten$1(o.map(a=>a.query(s)));return new Pattern$5(e)}function slowcat(...o){o=o.map(s=>Array.isArray(s)?sequence(...s):reify$1(s));const e=function(s){const a=s.span,c=mod(a.begin.sam(),o.length),d=o[c];if(!d)return[];const _=a.begin.floor().sub(a.begin.div(o.length).floor());return d.withHapTime(b=>b.add(_)).query(s.setSpan(a.withTime(b=>b.sub(_))))};return new Pattern$5(e)._splitQueries()}function slowcatPrime(...o){o=o.map(reify$1);const e=function(s){const a=Math.floor(s.span.begin)%o.length;return o[a].query(s)};return new Pattern$5(e)._splitQueries()}function fastcat(...o){return slowcat(...o)._fast(o.length)}function cat(...o){return slowcat(...o)}function timeCat(...o){const e=o.map(c=>c[0]).reduce((c,d)=>c.add(d),fraction(0));let s=fraction(0);const a=[];for(const[c,d]of o){const _=s.add(c);a.push(reify$1(d)._compress(s.div(e),_.div(e))),s=_}return stack(...a)}function sequence(...o){return fastcat(...o)}function seq$2(...o){return fastcat(...o)}function _sequenceCount(o){return Array.isArray(o)?o.length==0?[silence,0]:o.length==1?_sequenceCount(o[0]):[fastcat(...o.map(e=>_sequenceCount(e)[0])),o.length]:[reify$1(o),1]}function polymeterSteps(o,...e){const s=e.map(c=>_sequenceCount(c));if(s.length==0)return silence;o==0&&(o=s[0][1]);const a=[];for(const c of s)c[1]==0&&next,o==c[1]?a.push(c[0]):a.push(c[0]._fast(fraction(o).div(fraction(c[1]))));return stack(...a)}function polymeter(...o){return polymeterSteps(0,...o)}function pm(...o){polymeter(...o)}function polyrhythm(...o){const e=o.map(s=>sequence(s));return e.length==0?silence:stack(...e)}function pr(o){polyrhythm(o)}const add$1=curry((o,e)=>e.add(o)),chop=curry((o,e)=>e.chop(o)),chunk=curry((o,e)=>e.chunk(o)),chunkBack=curry((o,e)=>e.chunkBack(o)),div=curry((o,e)=>e.div(o)),early=curry((o,e)=>e.early(o)),echo=curry((o,e,s,a)=>a.echo(o,e,s)),every=curry((o,e,s)=>s.every(o,e)),fast=curry((o,e)=>e.fast(o)),inv=o=>o.inv(),invert=o=>o.invert(),iter=curry((o,e)=>e.iter(o)),iterBack=curry((o,e)=>e.iter(o)),jux=curry((o,e)=>e.jux(o)),juxBy=curry((o,e,s)=>s.juxBy(o,e)),late=curry((o,e)=>e.late(o)),linger=curry((o,e)=>e.linger(o)),mask=curry((o,e)=>e.mask(o)),mul=curry((o,e)=>e.mul(o)),off=curry((o,e,s)=>s.off(o,e)),ply=curry((o,e)=>e.ply(o)),range$1=curry((o,e,s)=>s.range(o,e)),range2=curry((o,e,s)=>s.range2(o,e)),rev=o=>o.rev(),slow=curry((o,e)=>e.slow(o)),struct=curry((o,e)=>e.struct(o)),sub=curry((o,e)=>e.sub(o)),superimpose=curry((o,e)=>e.superimpose(...o)),set=curry((o,e)=>e.set(o)),when=curry((o,e,s)=>s.when(o,e));Pattern$5.prototype.composable={fast,slow,early,late,superimpose};function makeComposable(o){return Object.entries(Pattern$5.prototype.composable).forEach(([e,s])=>{o[e]=(...a)=>{const c=compose(o,s(...a));return makeComposable(c)}}),o}const patternify2=o=>(e,s,a)=>e.fmap(c=>d=>o.call(a,c,d)).appLeft(s).innerJoin(),patternify3=o=>(e,s,a,c)=>e.fmap(d=>_=>b=>o.call(c,d,_,b)).appLeft(s).appLeft(a).innerJoin(),patternify4=o=>(e,s,a,c,d)=>e.fmap(_=>b=>k=>$=>o.call(d,_,b,k,$)).appLeft(s).appLeft(a).appLeft(c).innerJoin();Pattern$5.prototype.echo=function(...o){return o=o.map(reify$1),patternify3(Pattern$5.prototype._echo)(...o,this)};Pattern$5.prototype.echoWith=function(...o){return o=o.map(reify$1),patternify3(Pattern$5.prototype._echoWith)(...o,this)};Pattern$5.prototype.chunk=function(...o){return o=o.map(reify$1),patternify2(Pattern$5.prototype._chunk)(...o,this)};Pattern$5.prototype.chunkBack=function(...o){return o=o.map(reify$1),patternify2(Pattern$5.prototype._chunkBack)(...o,this)};Pattern$5.prototype.loopAt=function(...o){return o=o.map(reify$1),patternify2(Pattern$5.prototype._loopAt)(...o,this)};Pattern$5.prototype.zoom=function(...o){return o=o.map(reify$1),patternify2(Pattern$5.prototype._zoom)(...o,this)};Pattern$5.prototype.compress=function(...o){return o=o.map(reify$1),patternify2(Pattern$5.prototype._compress)(...o,this)};Pattern$5.prototype.outside=function(...o){return o=o.map(reify$1),patternify2(Pattern$5.prototype._outside)(...o,this)};Pattern$5.prototype.inside=function(...o){return o=o.map(reify$1),patternify2(Pattern$5.prototype._inside)(...o,this)};Pattern$5.prototype.bootstrap=function(){const o=Object.fromEntries(Object.entries(Pattern$5.prototype.composable).map(([e,s])=>(Pattern$5.prototype[e]&&(Pattern$5.prototype[e]=makeComposable(Pattern$5.prototype[e])),[e,curry(s,makeComposable)])));return this.patternified.forEach(e=>{Pattern$5.prototype[e]=function(...s){return this._patternify(Pattern$5.prototype["_"+e])(...s)}}),o};Pattern$5.prototype.define=(o,e,s={})=>{s.composable&&(Pattern$5.prototype.composable[o]=e),s.patternified&&(Pattern$5.prototype.patternified=Pattern$5.prototype.patternified.concat([o])),Pattern$5.prototype.bootstrap()};Pattern$5.prototype.define("hush",o=>o.hush(),{patternified:!1,composable:!0});Pattern$5.prototype.define("bypass",o=>o.bypass(on),{patternified:!0,composable:!0});const controls={},generic_params=[["s","s","sound"],["f","n","The note or sample number to choose for a synth or sampleset"],["f","note","The note or pitch to play a sound or synth with"],["f","accelerate","a pattern of numbers that speed up (or slow down) samples while they play."],["f","gain","a pattern of numbers that specify volume. Values less than 1 make the sound quieter. Values greater than 1 make the sound louder. For the linear equivalent, see @amp@."],["f","amp","like @gain@, but linear."],["f","attack","a pattern of numbers to specify the attack time (in seconds) of an envelope applied to each sample."],["f","decay",""],["f","sustain",""],["f","release","a pattern of numbers to specify the release time (in seconds) of an envelope applied to each sample."],["f","hold","a pattern of numbers to specify the hold time (in seconds) of an envelope applied to each sample. Only takes effect if `attack` and `release` are also specified."],["f","bandf","A pattern of numbers from 0 to 1. Sets the center frequency of the band-pass filter."],["f","bandq","a pattern of anumbers from 0 to 1. Sets the q-factor of the band-pass filter."],["f","begin","a pattern of numbers from 0 to 1. Skips the beginning of each sample, e.g. `0.25` to cut off the first quarter from each sample."],["f","end","the same as `begin`, but cuts the end off samples, shortening them; e.g. `0.75` to cut off the last quarter of each sample."],["f","loop","loops the sample (from `begin` to `end`) the specified number of times."],["f","legato","controls the amount of overlap between two adjacent sounds"],["f","crush","bit crushing, a pattern of numbers from 1 (for drastic reduction in bit-depth) to 16 (for barely no reduction)."],["f","coarse","fake-resampling, a pattern of numbers for lowering the sample rate, i.e. 1 for original 2 for half, 3 for a third and so on."],["i","channel","choose the channel the pattern is sent to in superdirt"],["i","cut","In the style of classic drum-machines, `cut` will stop a playing sample as soon as another samples with in same cutgroup is to be played. An example would be an open hi-hat followed by a closed one, essentially muting the open."],["f","cutoff","a pattern of numbers from 0 to 1. Applies the cutoff frequency of the low-pass filter."],["f","hcutoff","a pattern of numbers from 0 to 1. Applies the cutoff frequency of the high-pass filter. Also has alias @hpf@"],["f","hresonance","a pattern of numbers from 0 to 1. Applies the resonance of the high-pass filter. Has alias @hpq@"],["f","resonance","a pattern of numbers from 0 to 1. Specifies the resonance of the low-pass filter."],["f","djf","DJ filter, below 0.5 is low pass filter, above is high pass filter."],["f","delay","a pattern of numbers from 0 to 1. Sets the level of the delay signal."],["f","delayfeedback","a pattern of numbers from 0 to 1. Sets the amount of delay feedback."],["f","delaytime","a pattern of numbers from 0 to 1. Sets the length of the delay."],["f","lock","A pattern of numbers. Specifies whether delaytime is calculated relative to cps. When set to 1, delaytime is a direct multiple of a cycle."],["f","detune",""],["f","dry","when set to `1` will disable all reverb for this pattern. See `room` and `size` for more information about reverb."],["f","fadeTime","Used when using begin/end or chop/striate and friends, to change the fade out time of the 'grain' envelope."],["f","fadeInTime","As with fadeTime, but controls the fade in time of the grain envelope. Not used if the grain begins at position 0 in the sample."],["f","freq",""],["f","gate",""],["f","leslie",""],["f","lrate",""],["f","lsize",""],["f","degree",""],["f","mtranspose",""],["f","ctranspose",""],["f","harmonic",""],["f","stepsPerOctave",""],["f","octaveR",""],["f","nudge","Nudges events into the future by the specified number of seconds. Negative numbers work up to a point as well (due to internal latency)"],["i","octave",""],["f","offset",""],["i","orbit","a pattern of numbers. An `orbit` is a global parameter context for patterns. Patterns with the same orbit will share hardware output bus offset and global effects, e.g. reverb and delay. The maximum number of orbits is specified in the superdirt startup, numbers higher than maximum will wrap around."],["f","overgain",""],["f","overshape",""],["f","pan","a pattern of numbers between 0 and 1, from left to right (assuming stereo), once round a circle (assuming multichannel)"],["f","panspan","a pattern of numbers between -inf and inf, which controls how much multichannel output is fanned out (negative is backwards ordering)"],["f","pansplay","a pattern of numbers between 0.0 and 1.0, which controls the multichannel spread range (multichannel only)"],["f","panwidth","a pattern of numbers between 0.0 and inf, which controls how much each channel is distributed over neighbours (multichannel only)"],["f","panorient","a pattern of numbers between -1.0 and 1.0, which controls the relative position of the centre pan in a pair of adjacent speakers (multichannel only)"],["f","rate","used in SuperDirt softsynths as a control rate or 'speed'"],["f","slide",""],["f","semitone",""],["f","velocity",""],["f","voice",""],["f","room","a pattern of numbers from 0 to 1. Sets the level of reverb."],["f","size","a pattern of numbers from 0 to 1. Sets the perceptual size (reverb time) of the `room` to be used in reverb."],["f","shape","wave shaping distortion, a pattern of numbers from 0 for no distortion up to 1 for loads of distortion."],["f","speed","a pattern of numbers which changes the speed of sample playback, i.e. a cheap way of changing pitch. Negative values will play the sample backwards!"],["s","unit",'used in conjunction with `speed`, accepts values of "r" (rate, default behavior), "c" (cycles), or "s" (seconds). Using `unit "c"` means `speed` will be interpreted in units of cycles, e.g. `speed "1"` means samples will be stretched to fill a cycle. Using `unit "s"` means the playback speed will be adjusted so that the duration is the number of seconds specified by `speed`.'],["f","squiz",""],["f","stutterdepth",""],["f","stuttertime",""],["f","timescale",""],["f","timescalewin",""],["s","vowel","formant filter to make things sound like vowels, a pattern of either `a`, `e`, `i`, `o` or `u`. Use a rest (`~`) for no effect."],["f","waveloss",""],["f","dur",""],["f","expression",""],["f","sustainpedal",""],["f","tremolodepth","Tremolo Audio DSP effect | params are 'tremolorate' and 'tremolodepth'"],["f","tremolorate","Tremolo Audio DSP effect | params are 'tremolorate' and 'tremolodepth'"],["f","phaserdepth","Phaser Audio DSP effect | params are 'phaserrate' and 'phaserdepth'"],["f","phaserrate","Phaser Audio DSP effect | params are 'phaserrate' and 'phaserdepth'"],["f","fshift","frequency shifter"],["f","fshiftnote","frequency shifter"],["f","fshiftphase","frequency shifter"],["f","triode","tube distortion"],["f","krush","shape/bass enhancer"],["f","kcutoff",""],["f","octer","octaver effect"],["f","octersub","octaver effect"],["f","octersubsub","octaver effect"],["f","ring","ring modulation"],["f","ringf","ring modulation"],["f","ringdf","ring modulation"],["f","distort","noisy fuzzy distortion"],["f","freeze","Spectral freeze"],["f","xsdelay",""],["f","tsdelay",""],["f","real","Spectral conform"],["f","imag",""],["f","enhance","Spectral enhance"],["f","partials",""],["f","comb","Spectral comb"],["f","smear","Spectral smear"],["f","scram","Spectral scramble"],["f","binshift","Spectral binshift"],["f","hbrick","High pass sort of spectral filter"],["f","lbrick","Low pass sort of spectral filter"],["f","midichan",""],["f","control",""],["f","ccn",""],["f","ccv",""],["f","polyTouch",""],["f","midibend",""],["f","miditouch",""],["f","ctlNum",""],["f","frameRate",""],["f","frames",""],["f","hours",""],["s","midicmd",""],["f","minutes",""],["f","progNum",""],["f","seconds",""],["f","songPtr",""],["f","uid",""],["f","val",""],["f","cps",""]],_name=(o,...e)=>sequence(...e).withValue(s=>({[o]:s})),_setter=(o,e)=>function(...s){return s.length?this.set(o(...s)):this.fmap(a=>({[e]:a}))};generic_params.forEach(([o,e,s])=>{controls[e]=(...a)=>_name(e,...a),Pattern$5.prototype[e]=_setter(controls[e],e)});controls.createParam=o=>(Pattern$5.prototype[o]=_setter(controls[o],o),(...e)=>_name(o,...e));controls.createParams=(...o)=>o.reduce((e,s)=>Object.assign(e,{[s]:createParam(s)}),{});function bjorklund(o,e){for(var s=[],a=[],c=[e],d=o-e,_=0,b=function(k){if(k==-1)s.push(0);else if(k==-2)s.push(1);else{for(var $=0;$1;)a.push(Math.floor(d/c[_])),c.push(d%c[_]),d=c[_],_++;return a.push(d),b(_),s.reverse()}var bjork=function(o,e){return o>e?bjorklund(o,e):bjorklund(e,o)};const euclid=(o,e,s=0)=>{const a=bjork(e,o);return s?rotate(a,-s):a};Pattern$5.prototype.euclid=function(o,e,s=0){return this.struct(euclid(o,e,s))};Pattern$5.prototype.euclidLegato=function(o,e,s=0){const a=euclid(o,e,s),c=a.indexOf(1),d=rotate(a,c).join("").split("1").slice(1).map(_=>[_.length+1,!0]);return this.struct(timeCat(...d)).late(fraction(c).div(e))};function steady(o){return new Pattern$5(e=>[new Hap(void 0,e.span,o)])}const signal=o=>{const e=s=>[new Hap(void 0,s.span,o(s.span.midpoint()))];return new Pattern$5(e)},isaw=signal(o=>1-o%1),isaw2=isaw._toBipolar(),saw=signal(o=>o%1),saw2=saw._toBipolar(),sine2=signal(o=>Math.sin(Math.PI*2*o)),sine=sine2._fromBipolar(),cosine=sine._early(fraction(1).div(4)),cosine2=sine2._early(fraction(1).div(4)),square=signal(o=>Math.floor(o*2%2)),square2=square._toBipolar(),tri=fastcat(isaw,saw),tri2=fastcat(isaw2,saw2),time=signal(id$1),xorwise=o=>{const e=o<<13^o,s=e>>17^e;return s<<5^s},_frac=o=>o-Math.trunc(o),timeToIntSeed=o=>xorwise(Math.trunc(_frac(o/300)*536870912)),intSeedToRand=o=>o%536870912/536870912,timeToRand=o=>Math.abs(intSeedToRand(timeToIntSeed(o))),rand=signal(timeToRand),_brandBy=o=>rand.fmap(e=>ereify$1(o).fmap(_brandBy).innerJoin(),brand=_brandBy(.5),_irand=o=>rand.fmap(e=>Math.trunc(e*o)),irand=o=>reify$1(o).fmap(_irand).innerJoin(),chooseWith=(o,e)=>(e=e.map(reify$1),e.length==0?silence:o.range(0,e.length).fmap(s=>e[Math.floor(s)]).outerJoin()),choose=(...o)=>chooseWith(rand,o),_wchooseWith=function(o,...e){const s=e.map(b=>reify$1(b[0])),a=[];let c=0;for(const b of e)c+=b[1],a.push(c);const d=c,_=function(b){const k=b*d;return s[a.findIndex($=>$>k,a)]};return o.fmap(_)},wchooseWith=(...o)=>_wchooseWith(...o).outerJoin(),wchoose=(...o)=>wchooseWith(rand,...o),wchooseCycles=(...o)=>_wchooseWith(rand,...o).innerJoin(),perlinWith=o=>{const e=o.fmap(Math.floor),s=o.fmap(d=>Math.floor(d)+1),a=d=>6*d**5-15*d**4+10*d**3,c=d=>_=>b=>_+a(d)*(b-_);return o.sub(e).fmap(c).appBoth(e.fmap(timeToRand)).appBoth(s.fmap(timeToRand))},perlin=perlinWith(time);Pattern$5.prototype._degradeByWith=function(o,e){return this.fmap(s=>a=>s).appLeft(o._filterValues(s=>s>e))};Pattern$5.prototype._degradeBy=function(o){return this._degradeByWith(rand,o)};Pattern$5.prototype.degrade=function(){return this._degradeBy(.5)};Pattern$5.prototype._undegradeBy=function(o){return this._degradeByWith(rand.fmap(e=>1-e),o)};Pattern$5.prototype.undegrade=function(){return this._undegradeBy(.5)};Pattern$5.prototype._sometimesBy=function(o,e){return stack(this._degradeBy(o),e(this._undegradeBy(1-o)))};Pattern$5.prototype.sometimesBy=function(o,e){const s=this;return reify$1(o).fmap(a=>s._sometimesBy(a,e)).innerJoin()};Pattern$5.prototype._sometimesByPre=function(o,e){return stack(this._degradeBy(o),e(this).undegradeBy(1-o))};Pattern$5.prototype.sometimesByPre=function(o,e){const s=this;return reify$1(o).fmap(a=>s._sometimesByPre(a,e)).innerJoin()};Pattern$5.prototype.sometimes=function(o){return this._sometimesBy(.5,o)};Pattern$5.prototype.sometimesPre=function(o){return this._sometimesByPre(.5,o)};Pattern$5.prototype._someCyclesBy=function(o,e){return stack(this._degradeByWith(rand._segment(1),o),e(this._degradeByWith(rand.fmap(s=>1-s)._segment(1),1-o)))};Pattern$5.prototype.someCyclesBy=function(o,e){const s=this;return reify$1(o).fmap(a=>s._someCyclesBy(a,e)).innerJoin()};Pattern$5.prototype.someCycles=function(o){return this._someCyclesBy(.5,o)};Pattern$5.prototype.often=function(o){return this.sometimesBy(.75,o)};Pattern$5.prototype.rarely=function(o){return this.sometimesBy(.25,o)};Pattern$5.prototype.almostNever=function(o){return this.sometimesBy(.1,o)};Pattern$5.prototype.almostAlways=function(o){return this.sometimesBy(.9,o)};Pattern$5.prototype.never=function(o){return this};Pattern$5.prototype.always=function(o){return o(this)};Pattern$5.prototype.patternified.push("degradeBy","undegradeBy");let synth$1;try{synth$1=window==null?void 0:window.speechSynthesis}catch{console.warn("cannot use window: not in browser?")}let allVoices=synth$1==null?void 0:synth$1.getVoices();function speak(o,e,s){synth$1.cancel();const a=new SpeechSynthesisUtterance(o);a.lang=e,allVoices=synth$1.getVoices();const c=allVoices.filter(d=>d.lang.includes(e));typeof s=="number"?a.voice=c[s%c.length]:typeof s=="string"&&(a.voice=c.find(d=>d.name===d)),speechSynthesis.speak(a)}Pattern$5.prototype._speak=function(o,e){return this._withHap(s=>{const a=(c,d)=>{speak(d.value,o,e)};return s.setContext(wt(Ot({},s.context),{onTrigger:a}))})};Pattern$5.prototype.speak=function(o,e){return patternify2(Pattern$5.prototype._speak)(reify(o),reify(e),this)};var gist=(route,cache=!0)=>fetch(`https://gist.githubusercontent.com/${route}?cachebust=${cache?"":Date.now()}`).then(o=>o.text()).then(code=>eval(code)),strudel=Object.freeze(Object.defineProperty({__proto__:null,Fraction:fraction,gist,Hap,Pattern:Pattern$5,silence,pure,isPattern:isPattern$1,reify:reify$1,stack,slowcat,slowcatPrime,fastcat,cat,timeCat,sequence,seq:seq$2,polymeterSteps,polymeter,pm,polyrhythm,pr,add:add$1,chop,chunk,chunkBack,div,early,echo,every,fast,inv,invert,iter,iterBack,jux,juxBy,late,linger,mask,mul,off,ply,range:range$1,range2,rev,slow,struct,sub,superimpose,set,when,makeComposable,patternify2,patternify3,patternify4,steady,signal,isaw,isaw2,saw,saw2,sine2,sine,cosine,cosine2,square,square2,tri,tri2,time,rand,_brandBy,brandBy,brand,_irand,irand,chooseWith,choose,wchoose,wchooseCycles,perlinWith,perlin,State:State$1,TimeSpan:TimeSpan$1,isNote:isNote$3,tokenizeNote,toMidi:toMidi$1,fromMidi,mod,getPlayableNoteValue,getFrequency,rotate,pipe,compose,removeUndefineds,flatten:flatten$1,id:id$1,constant,listRange,curry},Symbol.toStringTag,{value:"Module"}));const scale=(o,e,s)=>o*(s-e)+e;Pattern$5.prototype.pianoroll=function({cycles:o=4,playhead:e=.5,overscan:s=1,flipTime:a=0,flipValues:c=0,hideNegative:d=!1,inactive:_="#C9E597",active:b="#FFCA28",background:k="transparent",minMidi:$=10,maxMidi:j=90,autorange:_e=0,timeframe:et,fold:tt=0,vertical:nt=0}={}){const st=getDrawContext(),rt=st.canvas.width,it=st.canvas.height;let at=-o*e,ot=o*(1-e);et&&(console.warn("timeframe is deprecated! use from/to instead"),at=0,ot=et),!_e&&tt&&console.warn("disabling autorange has no effect when fold is enabled");const pt=nt?it:rt,ct=nt?rt:it;let ut=nt?[pt,0]:[0,pt];const lt=ot-at,ht=nt?[0,ct]:[ct,0];let dt=j-$+1,gt=ct/dt,yt=[];a&&ut.reverse(),c&&ht.reverse();const ft=scale(-at/lt,...ut);return this.draw((mt,Et,vt)=>{mt.fillStyle=k,mt.clearRect(0,0,rt,it),mt.fillRect(0,0,rt,it);const At=_t=>(!d||_t.whole.begin>=0)&&_t.whole.begin<=vt+ot&&_t.whole.end>=vt+at;Et.filter(At).forEach(_t=>{var Mt,It,Ft;const Dt=_t.whole.begin<=vt&&_t.whole.end>vt;mt.fillStyle=((Mt=_t.context)==null?void 0:Mt.color)||_,mt.strokeStyle=((It=_t.context)==null?void 0:It.color)||b,mt.globalAlpha=(Ft=_t.context.velocity)!=null?Ft:1,mt.beginPath(),nt?(mt.moveTo(0,ft),mt.lineTo(ct,ft)):(mt.moveTo(ft,0),mt.lineTo(ft,ct)),mt.stroke();const bt=scale((_t.whole.begin-(a?ot:at))/lt,...ut);let Tt=scale(_t.duration/lt,0,pt);const St=scale(tt?yt.indexOf(_t.value)/yt.length:(Number(_t.value)-$)/dt,...ht);let Ct=0;const xt=scale(vt/lt,...ut);let Rt;nt?Rt=[St+1-(c?gt:0),pt-xt+bt+Ct+1-(a?0:Tt),gt-2,Tt-2]:Rt=[bt-xt+Ct+1-(a?Tt:0),St+1-(c?0:gt),Tt-2,gt-2],Dt?mt.strokeRect(...Rt):mt.fillRect(...Rt)})},{from:at-s,to:ot+s,onQuery:mt=>{const Et=Dt=>Number(Dt.value),{min:vt,max:At,values:_t}=mt.reduce(({min:Dt,max:bt,values:Tt},St)=>{const Ct=Et(St);return{min:Ctbt?Ct:bt,values:Tt.includes(Ct)?Tt:[...Tt,Ct]}},{min:1/0,max:-1/0,values:[]});_e&&($=vt,j=At,dt=j-$+1),yt=_t.sort((Dt,bt)=>Dt-bt),gt=tt?ct/yt.length:ct/dt}}),this};const version="14.7.77",createExtendedExponentialRampToValueAutomationEvent=(o,e,s)=>({endTime:e,insertTime:s,type:"exponentialRampToValue",value:o}),createExtendedLinearRampToValueAutomationEvent=(o,e,s)=>({endTime:e,insertTime:s,type:"linearRampToValue",value:o}),createSetValueAutomationEvent=(o,e)=>({startTime:e,type:"setValue",value:o}),createSetValueCurveAutomationEvent=(o,e,s)=>({duration:s,startTime:e,type:"setValueCurve",values:o}),getTargetValueAtTime=(o,e,{startTime:s,target:a,timeConstant:c})=>a+(e-a)*Math.exp((s-o)/c),isExponentialRampToValueAutomationEvent=o=>o.type==="exponentialRampToValue",isLinearRampToValueAutomationEvent=o=>o.type==="linearRampToValue",isAnyRampToValueAutomationEvent=o=>isExponentialRampToValueAutomationEvent(o)||isLinearRampToValueAutomationEvent(o),isSetValueAutomationEvent=o=>o.type==="setValue",isSetValueCurveAutomationEvent=o=>o.type==="setValueCurve",getValueOfAutomationEventAtIndexAtTime=(o,e,s,a)=>{const c=o[e];return c===void 0?a:isAnyRampToValueAutomationEvent(c)||isSetValueAutomationEvent(c)?c.value:isSetValueCurveAutomationEvent(c)?c.values[c.values.length-1]:getTargetValueAtTime(s,getValueOfAutomationEventAtIndexAtTime(o,e-1,c.startTime,a),c)},getEndTimeAndValueOfPreviousAutomationEvent=(o,e,s,a,c)=>s===void 0?[a.insertTime,c]:isAnyRampToValueAutomationEvent(s)?[s.endTime,s.value]:isSetValueAutomationEvent(s)?[s.startTime,s.value]:isSetValueCurveAutomationEvent(s)?[s.startTime+s.duration,s.values[s.values.length-1]]:[s.startTime,getValueOfAutomationEventAtIndexAtTime(o,e-1,s.startTime,c)],isCancelAndHoldAutomationEvent=o=>o.type==="cancelAndHold",isCancelScheduledValuesAutomationEvent=o=>o.type==="cancelScheduledValues",getEventTime=o=>isCancelAndHoldAutomationEvent(o)||isCancelScheduledValuesAutomationEvent(o)?o.cancelTime:isExponentialRampToValueAutomationEvent(o)||isLinearRampToValueAutomationEvent(o)?o.endTime:o.startTime,getExponentialRampValueAtTime=(o,e,s,{endTime:a,value:c})=>s===c?c:0s+(o-e)/(a-e)*(c-s),interpolateValue=(o,e)=>{const s=Math.floor(e),a=Math.ceil(e);return s===a?o[s]:(1-(e-s))*o[s]+(1-(a-e))*o[a]},getValueCurveValueAtTime=(o,{duration:e,startTime:s,values:a})=>{const c=(o-s)/e*(a.length-1);return interpolateValue(a,c)},isSetTargetAutomationEvent=o=>o.type==="setTarget";class AutomationEventList{constructor(e){this._automationEvents=[],this._currenTime=0,this._defaultValue=e}[Symbol.iterator](){return this._automationEvents[Symbol.iterator]()}add(e){const s=getEventTime(e);if(isCancelAndHoldAutomationEvent(e)||isCancelScheduledValuesAutomationEvent(e)){const a=this._automationEvents.findIndex(d=>isCancelScheduledValuesAutomationEvent(e)&&isSetValueCurveAutomationEvent(d)?d.startTime+d.duration>=s:getEventTime(d)>=s),c=this._automationEvents[a];if(a!==-1&&(this._automationEvents=this._automationEvents.slice(0,a)),isCancelAndHoldAutomationEvent(e)){const d=this._automationEvents[this._automationEvents.length-1];if(c!==void 0&&isAnyRampToValueAutomationEvent(c)){if(isSetTargetAutomationEvent(d))throw new Error("The internal list is malformed.");const _=isSetValueCurveAutomationEvent(d)?d.startTime+d.duration:getEventTime(d),b=isSetValueCurveAutomationEvent(d)?d.values[d.values.length-1]:d.value,k=isExponentialRampToValueAutomationEvent(c)?getExponentialRampValueAtTime(s,_,b,c):getLinearRampValueAtTime(s,_,b,c),$=isExponentialRampToValueAutomationEvent(c)?createExtendedExponentialRampToValueAutomationEvent(k,s,this._currenTime):createExtendedLinearRampToValueAutomationEvent(k,s,this._currenTime);this._automationEvents.push($)}d!==void 0&&isSetTargetAutomationEvent(d)&&this._automationEvents.push(createSetValueAutomationEvent(this.getValue(s),s)),d!==void 0&&isSetValueCurveAutomationEvent(d)&&d.startTime+d.duration>s&&(this._automationEvents[this._automationEvents.length-1]=createSetValueCurveAutomationEvent(new Float32Array([6,7]),d.startTime,s-d.startTime))}}else{const a=this._automationEvents.findIndex(_=>getEventTime(_)>s),c=a===-1?this._automationEvents[this._automationEvents.length-1]:this._automationEvents[a-1];if(c!==void 0&&isSetValueCurveAutomationEvent(c)&&getEventTime(c)+c.duration>s)return!1;const d=isExponentialRampToValueAutomationEvent(e)?createExtendedExponentialRampToValueAutomationEvent(e.value,e.endTime,this._currenTime):isLinearRampToValueAutomationEvent(e)?createExtendedLinearRampToValueAutomationEvent(e.value,s,this._currenTime):e;if(a===-1)this._automationEvents.push(d);else{if(isSetValueCurveAutomationEvent(e)&&s+e.duration>getEventTime(this._automationEvents[a]))return!1;this._automationEvents.splice(a,0,d)}}return!0}flush(e){const s=this._automationEvents.findIndex(a=>getEventTime(a)>e);if(s>1){const a=this._automationEvents.slice(s-1),c=a[0];isSetTargetAutomationEvent(c)&&a.unshift(createSetValueAutomationEvent(getValueOfAutomationEventAtIndexAtTime(this._automationEvents,s-2,c.startTime,this._defaultValue),c.startTime)),this._automationEvents=a}}getValue(e){if(this._automationEvents.length===0)return this._defaultValue;const s=this._automationEvents.findIndex(_=>getEventTime(_)>e),a=this._automationEvents[s],c=(s===-1?this._automationEvents.length:s)-1,d=this._automationEvents[c];if(d!==void 0&&isSetTargetAutomationEvent(d)&&(a===void 0||!isAnyRampToValueAutomationEvent(a)||a.insertTime>e))return getTargetValueAtTime(e,getValueOfAutomationEventAtIndexAtTime(this._automationEvents,c-1,d.startTime,this._defaultValue),d);if(d!==void 0&&isSetValueAutomationEvent(d)&&(a===void 0||!isAnyRampToValueAutomationEvent(a)))return d.value;if(d!==void 0&&isSetValueCurveAutomationEvent(d)&&(a===void 0||!isAnyRampToValueAutomationEvent(a)||d.startTime+d.duration>e))return e({cancelTime:o,type:"cancelAndHold"}),createCancelScheduledValuesAutomationEvent=o=>({cancelTime:o,type:"cancelScheduledValues"}),createExponentialRampToValueAutomationEvent=(o,e)=>({endTime:e,type:"exponentialRampToValue",value:o}),createLinearRampToValueAutomationEvent=(o,e)=>({endTime:e,type:"linearRampToValue",value:o}),createSetTargetAutomationEvent=(o,e,s)=>({startTime:e,target:o,timeConstant:s,type:"setTarget"}),createAbortError=()=>new DOMException("","AbortError"),createAddActiveInputConnectionToAudioNode=o=>(e,s,[a,c,d],_)=>{o(e[c],[s,a,d],b=>b[0]===s&&b[1]===a,_)},createAddAudioNodeConnections=o=>(e,s,a)=>{const c=[];for(let d=0;d(e,s)=>{o.set(e,{activeInputs:new Set,passiveInputs:new WeakMap,renderer:s})},ACTIVE_AUDIO_NODE_STORE=new WeakSet,AUDIO_NODE_CONNECTIONS_STORE=new WeakMap,AUDIO_NODE_STORE=new WeakMap,AUDIO_PARAM_CONNECTIONS_STORE=new WeakMap,AUDIO_PARAM_STORE=new WeakMap,CONTEXT_STORE=new WeakMap,EVENT_LISTENERS=new WeakMap,CYCLE_COUNTERS=new WeakMap,NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS=new WeakMap,NODE_TO_PROCESSOR_MAPS=new WeakMap,handler={construct(){return handler}},isConstructible=o=>{try{const e=new Proxy(o,handler);new e}catch{return!1}return!0},IMPORT_STATEMENT_REGEX=/^import(?:(?:[\s]+[\w]+|(?:[\s]+[\w]+[\s]*,)?[\s]*\{[\s]*[\w]+(?:[\s]+as[\s]+[\w]+)?(?:[\s]*,[\s]*[\w]+(?:[\s]+as[\s]+[\w]+)?)*[\s]*}|(?:[\s]+[\w]+[\s]*,)?[\s]*\*[\s]+as[\s]+[\w]+)[\s]+from)?(?:[\s]*)("([^"\\]|\\.)+"|'([^'\\]|\\.)+')(?:[\s]*);?/,splitImportStatements=(o,e)=>{const s=[];let a=o.replace(/^[\s]+/,""),c=a.match(IMPORT_STATEMENT_REGEX);for(;c!==null;){const d=c[1].slice(1,-1),_=c[0].replace(/([\s]+)?;?$/,"").replace(d,new URL(d,e).toString());s.push(_),a=a.slice(c[0].length).replace(/^[\s]+/,""),c=a.match(IMPORT_STATEMENT_REGEX)}return[s.join(";"),a]},verifyParameterDescriptors=o=>{if(o!==void 0&&!Array.isArray(o))throw new TypeError("The parameterDescriptors property of given value for processorCtor is not an array.")},verifyProcessorCtor=o=>{if(!isConstructible(o))throw new TypeError("The given value for processorCtor should be a constructor.");if(o.prototype===null||typeof o.prototype!="object")throw new TypeError("The given value for processorCtor should have a prototype.")},createAddAudioWorkletModule=(o,e,s,a,c,d,_,b,k,$,j,_e,et)=>{let tt=0;return(nt,st,rt={credentials:"omit"})=>{const it=j.get(nt);if(it!==void 0&&it.has(st))return Promise.resolve();const at=$.get(nt);if(at!==void 0){const ct=at.get(st);if(ct!==void 0)return ct}const ot=d(nt),pt=ot.audioWorklet===void 0?c(st).then(([ct,ut])=>{const[lt,ht]=splitImportStatements(ct,ut),dt=`${lt};((a,b)=>{(a[b]=a[b]||[]).push((AudioWorkletProcessor,global,registerProcessor,sampleRate,self,window)=>{${ht} -})})(window,'_AWGS')`;return s(dt)}).then(()=>{const ct=et._AWGS.pop();if(ct===void 0)throw new SyntaxError;a(ot.currentTime,ot.sampleRate,()=>ct(class{},void 0,(ut,lt)=>{if(ut.trim()==="")throw e();const ht=NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS.get(ot);if(ht!==void 0){if(ht.has(ut))throw e();verifyProcessorCtor(lt),verifyParameterDescriptors(lt.parameterDescriptors),ht.set(ut,lt)}else verifyProcessorCtor(lt),verifyParameterDescriptors(lt.parameterDescriptors),NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS.set(ot,new Map([[ut,lt]]))},ot.sampleRate,void 0,void 0))}):Promise.all([c(st),Promise.resolve(o(_e,_e))]).then(([[ct,ut],lt])=>{const ht=tt+1;tt=ht;const[dt,gt]=splitImportStatements(ct,ut),Et=`${dt};((AudioWorkletProcessor,registerProcessor)=>{${gt} -})(${lt?"AudioWorkletProcessor":"class extends AudioWorkletProcessor {__b=new WeakSet();constructor(){super();(p=>p.postMessage=(q=>(m,t)=>q.call(p,m,t?t.filter(u=>!this.__b.has(u)):t))(p.postMessage))(this.port)}}"},(n,p)=>registerProcessor(n,class extends p{${lt?"":"__c = (a) => a.forEach(e=>this.__b.add(e.buffer));"}process(i,o,p){${lt?"":"i.forEach(this.__c);o.forEach(this.__c);this.__c(Object.values(p));"}return super.process(i.map(j=>j.some(k=>k.length===0)?[]:j),o,p)}}));registerProcessor('__sac${ht}',class extends AudioWorkletProcessor{process(){return !1}})`,vt=new Blob([Et],{type:"application/javascript; charset=utf-8"}),At=URL.createObjectURL(vt);return ot.audioWorklet.addModule(At,rt).then(()=>{if(b(ot))return ot;const _t=_(ot);return _t.audioWorklet.addModule(At,rt).then(()=>_t)}).then(_t=>{if(k===null)throw new SyntaxError;try{new k(_t,`__sac${ht}`)}catch{throw new SyntaxError}}).finally(()=>URL.revokeObjectURL(At))});return at===void 0?$.set(nt,new Map([[st,pt]])):at.set(st,pt),pt.then(()=>{const ct=j.get(nt);ct===void 0?j.set(nt,new Set([st])):ct.add(st)}).finally(()=>{const ct=$.get(nt);ct!==void 0&&ct.delete(st)}),pt}},getValueForKey=(o,e)=>{const s=o.get(e);if(s===void 0)throw new Error("A value with the given key could not be found.");return s},pickElementFromSet=(o,e)=>{const s=Array.from(o).filter(e);if(s.length>1)throw Error("More than one element was found.");if(s.length===0)throw Error("No element was found.");const[a]=s;return o.delete(a),a},deletePassiveInputConnectionToAudioNode=(o,e,s,a)=>{const c=getValueForKey(o,e),d=pickElementFromSet(c,_=>_[0]===s&&_[1]===a);return c.size===0&&o.delete(e),d},getEventListenersOfAudioNode=o=>getValueForKey(EVENT_LISTENERS,o),setInternalStateToActive=o=>{if(ACTIVE_AUDIO_NODE_STORE.has(o))throw new Error("The AudioNode is already stored.");ACTIVE_AUDIO_NODE_STORE.add(o),getEventListenersOfAudioNode(o).forEach(e=>e(!0))},isAudioWorkletNode=o=>"port"in o,setInternalStateToPassive=o=>{if(!ACTIVE_AUDIO_NODE_STORE.has(o))throw new Error("The AudioNode is not stored.");ACTIVE_AUDIO_NODE_STORE.delete(o),getEventListenersOfAudioNode(o).forEach(e=>e(!1))},setInternalStateToPassiveWhenNecessary=(o,e)=>{!isAudioWorkletNode(o)&&e.every(s=>s.size===0)&&setInternalStateToPassive(o)},createAddConnectionToAudioNode=(o,e,s,a,c,d,_,b,k,$,j,_e,et)=>{const tt=new WeakMap;return(nt,st,rt,it,at)=>{const{activeInputs:ot,passiveInputs:pt}=d(st),{outputs:ct}=d(nt),ut=b(nt),lt=ht=>{const dt=k(st),gt=k(nt);if(ht){const yt=deletePassiveInputConnectionToAudioNode(pt,nt,rt,it);o(ot,nt,yt,!1),!at&&!_e(nt)&&s(gt,dt,rt,it),et(st)&&setInternalStateToActive(st)}else{const yt=a(ot,nt,rt,it);e(pt,it,yt,!1),!at&&!_e(nt)&&c(gt,dt,rt,it);const ft=_(st);if(ft===0)j(st)&&setInternalStateToPassiveWhenNecessary(st,ot);else{const mt=tt.get(st);mt!==void 0&&clearTimeout(mt),tt.set(st,setTimeout(()=>{j(st)&&setInternalStateToPassiveWhenNecessary(st,ot)},ft*1e3))}}};return $(ct,[st,rt,it],ht=>ht[0]===st&&ht[1]===rt&&ht[2]===it,!0)?(ut.add(lt),j(nt)?o(ot,nt,[rt,it,lt],!0):e(pt,it,[nt,rt,lt],!0),!0):!1}},createAddPassiveInputConnectionToAudioNode=o=>(e,s,[a,c,d],_)=>{const b=e.get(a);b===void 0?e.set(a,new Set([[c,s,d]])):o(b,[c,s,d],k=>k[0]===c&&k[1]===s,_)},createAddSilentConnection=o=>(e,s)=>{const a=o(e,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});s.connect(a).connect(e.destination);const c=()=>{s.removeEventListener("ended",c),s.disconnect(a),a.disconnect()};s.addEventListener("ended",c)},createAddUnrenderedAudioWorkletNode=o=>(e,s)=>{o(e).add(s)},DEFAULT_OPTIONS$j={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",fftSize:2048,maxDecibels:-30,minDecibels:-100,smoothingTimeConstant:.8},createAnalyserNodeConstructor=(o,e,s,a,c,d)=>class extends o{constructor(b,k){const $=c(b),j=Ot(Ot({},DEFAULT_OPTIONS$j),k),_e=a($,j),et=d($)?e():null;super(b,!1,_e,et),this._nativeAnalyserNode=_e}get fftSize(){return this._nativeAnalyserNode.fftSize}set fftSize(b){this._nativeAnalyserNode.fftSize=b}get frequencyBinCount(){return this._nativeAnalyserNode.frequencyBinCount}get maxDecibels(){return this._nativeAnalyserNode.maxDecibels}set maxDecibels(b){const k=this._nativeAnalyserNode.maxDecibels;if(this._nativeAnalyserNode.maxDecibels=b,!(b>this._nativeAnalyserNode.minDecibels))throw this._nativeAnalyserNode.maxDecibels=k,s()}get minDecibels(){return this._nativeAnalyserNode.minDecibels}set minDecibels(b){const k=this._nativeAnalyserNode.minDecibels;if(this._nativeAnalyserNode.minDecibels=b,!(this._nativeAnalyserNode.maxDecibels>b))throw this._nativeAnalyserNode.minDecibels=k,s()}get smoothingTimeConstant(){return this._nativeAnalyserNode.smoothingTimeConstant}set smoothingTimeConstant(b){this._nativeAnalyserNode.smoothingTimeConstant=b}getByteFrequencyData(b){this._nativeAnalyserNode.getByteFrequencyData(b)}getByteTimeDomainData(b){this._nativeAnalyserNode.getByteTimeDomainData(b)}getFloatFrequencyData(b){this._nativeAnalyserNode.getFloatFrequencyData(b)}getFloatTimeDomainData(b){this._nativeAnalyserNode.getFloatTimeDomainData(b)}},isOwnedByContext=(o,e)=>o.context===e,createAnalyserNodeRendererFactory=(o,e,s)=>()=>{const a=new WeakMap,c=async(d,_)=>{let b=e(d);if(!isOwnedByContext(b,_)){const $={channelCount:b.channelCount,channelCountMode:b.channelCountMode,channelInterpretation:b.channelInterpretation,fftSize:b.fftSize,maxDecibels:b.maxDecibels,minDecibels:b.minDecibels,smoothingTimeConstant:b.smoothingTimeConstant};b=o(_,$)}return a.set(_,b),await s(d,_,b),b};return{render(d,_){const b=a.get(_);return b!==void 0?Promise.resolve(b):c(d,_)}}},testAudioBufferCopyChannelMethodsOutOfBoundsSupport=o=>{try{o.copyToChannel(new Float32Array(1),0,-1)}catch{return!1}return!0},createIndexSizeError=()=>new DOMException("","IndexSizeError"),wrapAudioBufferGetChannelDataMethod=o=>{o.getChannelData=(e=>s=>{try{return e.call(o,s)}catch(a){throw a.code===12?createIndexSizeError():a}})(o.getChannelData)},DEFAULT_OPTIONS$i={numberOfChannels:1},createAudioBufferConstructor=(o,e,s,a,c,d,_,b)=>{let k=null;return class fr{constructor(j){if(c===null)throw new Error("Missing the native OfflineAudioContext constructor.");const{length:_e,numberOfChannels:et,sampleRate:tt}=Ot(Ot({},DEFAULT_OPTIONS$i),j);k===null&&(k=new c(1,1,44100));const nt=a!==null&&e(d,d)?new a({length:_e,numberOfChannels:et,sampleRate:tt}):k.createBuffer(et,_e,tt);if(nt.numberOfChannels===0)throw s();return typeof nt.copyFromChannel!="function"?(_(nt),wrapAudioBufferGetChannelDataMethod(nt)):e(testAudioBufferCopyChannelMethodsOutOfBoundsSupport,()=>testAudioBufferCopyChannelMethodsOutOfBoundsSupport(nt))||b(nt),o.add(nt),nt}static[Symbol.hasInstance](j){return j!==null&&typeof j=="object"&&Object.getPrototypeOf(j)===fr.prototype||o.has(j)}}},MOST_NEGATIVE_SINGLE_FLOAT=-34028234663852886e22,MOST_POSITIVE_SINGLE_FLOAT=-MOST_NEGATIVE_SINGLE_FLOAT,isActiveAudioNode=o=>ACTIVE_AUDIO_NODE_STORE.has(o),DEFAULT_OPTIONS$h={buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1},createAudioBufferSourceNodeConstructor=(o,e,s,a,c,d,_,b)=>class extends o{constructor($,j){const _e=d($),et=Ot(Ot({},DEFAULT_OPTIONS$h),j),tt=c(_e,et),nt=_(_e),st=nt?e():null;super($,!1,tt,st),this._audioBufferSourceNodeRenderer=st,this._isBufferNullified=!1,this._isBufferSet=et.buffer!==null,this._nativeAudioBufferSourceNode=tt,this._onended=null,this._playbackRate=s(this,nt,tt.playbackRate,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT)}get buffer(){return this._isBufferNullified?null:this._nativeAudioBufferSourceNode.buffer}set buffer($){if(this._nativeAudioBufferSourceNode.buffer=$,$!==null){if(this._isBufferSet)throw a();this._isBufferSet=!0}}get loop(){return this._nativeAudioBufferSourceNode.loop}set loop($){this._nativeAudioBufferSourceNode.loop=$}get loopEnd(){return this._nativeAudioBufferSourceNode.loopEnd}set loopEnd($){this._nativeAudioBufferSourceNode.loopEnd=$}get loopStart(){return this._nativeAudioBufferSourceNode.loopStart}set loopStart($){this._nativeAudioBufferSourceNode.loopStart=$}get onended(){return this._onended}set onended($){const j=typeof $=="function"?b(this,$):null;this._nativeAudioBufferSourceNode.onended=j;const _e=this._nativeAudioBufferSourceNode.onended;this._onended=_e!==null&&_e===j?$:_e}get playbackRate(){return this._playbackRate}start($=0,j=0,_e){if(this._nativeAudioBufferSourceNode.start($,j,_e),this._audioBufferSourceNodeRenderer!==null&&(this._audioBufferSourceNodeRenderer.start=_e===void 0?[$,j]:[$,j,_e]),this.context.state!=="closed"){setInternalStateToActive(this);const et=()=>{this._nativeAudioBufferSourceNode.removeEventListener("ended",et),isActiveAudioNode(this)&&setInternalStateToPassive(this)};this._nativeAudioBufferSourceNode.addEventListener("ended",et)}}stop($=0){this._nativeAudioBufferSourceNode.stop($),this._audioBufferSourceNodeRenderer!==null&&(this._audioBufferSourceNodeRenderer.stop=$)}},createAudioBufferSourceNodeRendererFactory=(o,e,s,a,c)=>()=>{const d=new WeakMap;let _=null,b=null;const k=async($,j)=>{let _e=s($);const et=isOwnedByContext(_e,j);if(!et){const tt={buffer:_e.buffer,channelCount:_e.channelCount,channelCountMode:_e.channelCountMode,channelInterpretation:_e.channelInterpretation,loop:_e.loop,loopEnd:_e.loopEnd,loopStart:_e.loopStart,playbackRate:_e.playbackRate.value};_e=e(j,tt),_!==null&&_e.start(..._),b!==null&&_e.stop(b)}return d.set(j,_e),et?await o(j,$.playbackRate,_e.playbackRate):await a(j,$.playbackRate,_e.playbackRate),await c($,j,_e),_e};return{set start($){_=$},set stop($){b=$},render($,j){const _e=d.get(j);return _e!==void 0?Promise.resolve(_e):k($,j)}}},isAudioBufferSourceNode=o=>"playbackRate"in o,isBiquadFilterNode=o=>"frequency"in o&&"gain"in o,isConstantSourceNode=o=>"offset"in o,isGainNode=o=>!("frequency"in o)&&"gain"in o,isOscillatorNode=o=>"detune"in o&&"frequency"in o,isStereoPannerNode=o=>"pan"in o,getAudioNodeConnections=o=>getValueForKey(AUDIO_NODE_CONNECTIONS_STORE,o),getAudioParamConnections=o=>getValueForKey(AUDIO_PARAM_CONNECTIONS_STORE,o),deactivateActiveAudioNodeInputConnections=(o,e)=>{const{activeInputs:s}=getAudioNodeConnections(o);s.forEach(c=>c.forEach(([d])=>{e.includes(o)||deactivateActiveAudioNodeInputConnections(d,[...e,o])}));const a=isAudioBufferSourceNode(o)?[o.playbackRate]:isAudioWorkletNode(o)?Array.from(o.parameters.values()):isBiquadFilterNode(o)?[o.Q,o.detune,o.frequency,o.gain]:isConstantSourceNode(o)?[o.offset]:isGainNode(o)?[o.gain]:isOscillatorNode(o)?[o.detune,o.frequency]:isStereoPannerNode(o)?[o.pan]:[];for(const c of a){const d=getAudioParamConnections(c);d!==void 0&&d.activeInputs.forEach(([_])=>deactivateActiveAudioNodeInputConnections(_,e))}isActiveAudioNode(o)&&setInternalStateToPassive(o)},deactivateAudioGraph=o=>{deactivateActiveAudioNodeInputConnections(o.destination,[])},isValidLatencyHint=o=>o===void 0||typeof o=="number"||typeof o=="string"&&(o==="balanced"||o==="interactive"||o==="playback"),createAudioContextConstructor=(o,e,s,a,c,d,_,b,k)=>class extends o{constructor(j={}){if(k===null)throw new Error("Missing the native AudioContext constructor.");let _e;try{_e=new k(j)}catch(nt){throw nt.code===12&&nt.message==="sampleRate is not in range"?s():nt}if(_e===null)throw a();if(!isValidLatencyHint(j.latencyHint))throw new TypeError(`The provided value '${j.latencyHint}' is not a valid enum value of type AudioContextLatencyCategory.`);if(j.sampleRate!==void 0&&_e.sampleRate!==j.sampleRate)throw s();super(_e,2);const{latencyHint:et}=j,{sampleRate:tt}=_e;if(this._baseLatency=typeof _e.baseLatency=="number"?_e.baseLatency:et==="balanced"?512/tt:et==="interactive"||et===void 0?256/tt:et==="playback"?1024/tt:Math.max(2,Math.min(128,Math.round(et*tt/128)))*128/tt,this._nativeAudioContext=_e,k.name==="webkitAudioContext"?(this._nativeGainNode=_e.createGain(),this._nativeOscillatorNode=_e.createOscillator(),this._nativeGainNode.gain.value=1e-37,this._nativeOscillatorNode.connect(this._nativeGainNode).connect(_e.destination),this._nativeOscillatorNode.start()):(this._nativeGainNode=null,this._nativeOscillatorNode=null),this._state=null,_e.state==="running"){this._state="suspended";const nt=()=>{this._state==="suspended"&&(this._state=null),_e.removeEventListener("statechange",nt)};_e.addEventListener("statechange",nt)}}get baseLatency(){return this._baseLatency}get state(){return this._state!==null?this._state:this._nativeAudioContext.state}close(){return this.state==="closed"?this._nativeAudioContext.close().then(()=>{throw e()}):(this._state==="suspended"&&(this._state=null),this._nativeAudioContext.close().then(()=>{this._nativeGainNode!==null&&this._nativeOscillatorNode!==null&&(this._nativeOscillatorNode.stop(),this._nativeGainNode.disconnect(),this._nativeOscillatorNode.disconnect()),deactivateAudioGraph(this)}))}createMediaElementSource(j){return new c(this,{mediaElement:j})}createMediaStreamDestination(){return new d(this)}createMediaStreamSource(j){return new _(this,{mediaStream:j})}createMediaStreamTrackSource(j){return new b(this,{mediaStreamTrack:j})}resume(){return this._state==="suspended"?new Promise((j,_e)=>{const et=()=>{this._nativeAudioContext.removeEventListener("statechange",et),this._nativeAudioContext.state==="running"?j():this.resume().then(j,_e)};this._nativeAudioContext.addEventListener("statechange",et)}):this._nativeAudioContext.resume().catch(j=>{throw j===void 0||j.code===15?e():j})}suspend(){return this._nativeAudioContext.suspend().catch(j=>{throw j===void 0?e():j})}},createAudioDestinationNodeConstructor=(o,e,s,a,c,d,_,b)=>class extends o{constructor($,j){const _e=d($),et=_(_e),tt=c(_e,j,et),nt=et?e(b):null;super($,!1,tt,nt),this._isNodeOfNativeOfflineAudioContext=et,this._nativeAudioDestinationNode=tt}get channelCount(){return this._nativeAudioDestinationNode.channelCount}set channelCount($){if(this._isNodeOfNativeOfflineAudioContext)throw a();if($>this._nativeAudioDestinationNode.maxChannelCount)throw s();this._nativeAudioDestinationNode.channelCount=$}get channelCountMode(){return this._nativeAudioDestinationNode.channelCountMode}set channelCountMode($){if(this._isNodeOfNativeOfflineAudioContext)throw a();this._nativeAudioDestinationNode.channelCountMode=$}get maxChannelCount(){return this._nativeAudioDestinationNode.maxChannelCount}},createAudioDestinationNodeRenderer=o=>{const e=new WeakMap,s=async(a,c)=>{const d=c.destination;return e.set(c,d),await o(a,c,d),d};return{render(a,c){const d=e.get(c);return d!==void 0?Promise.resolve(d):s(a,c)}}},createAudioListenerFactory=(o,e,s,a,c,d,_,b)=>(k,$)=>{const j=$.listener,_e=()=>{const ct=new Float32Array(1),ut=e($,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:9}),lt=_($);let ht=!1,dt=[0,0,-1,0,1,0],gt=[0,0,0];const yt=()=>{if(ht)return;ht=!0;const vt=a($,256,9,0);vt.onaudioprocess=({inputBuffer:At})=>{const _t=[d(At,ct,0),d(At,ct,1),d(At,ct,2),d(At,ct,3),d(At,ct,4),d(At,ct,5)];_t.some((bt,Tt)=>bt!==dt[Tt])&&(j.setOrientation(..._t),dt=_t);const Dt=[d(At,ct,6),d(At,ct,7),d(At,ct,8)];Dt.some((bt,Tt)=>bt!==gt[Tt])&&(j.setPosition(...Dt),gt=Dt)},ut.connect(vt)},ft=vt=>At=>{At!==dt[vt]&&(dt[vt]=At,j.setOrientation(...dt))},mt=vt=>At=>{At!==gt[vt]&&(gt[vt]=At,j.setPosition(...gt))},Et=(vt,At,_t)=>{const Dt=s($,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:At});Dt.connect(ut,0,vt),Dt.start(),Object.defineProperty(Dt.offset,"defaultValue",{get(){return At}});const bt=o({context:k},lt,Dt.offset,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT);return b(bt,"value",Tt=>()=>Tt.call(bt),Tt=>St=>{try{Tt.call(bt,St)}catch(Ct){if(Ct.code!==9)throw Ct}yt(),lt&&_t(St)}),bt.cancelAndHoldAtTime=(Tt=>lt?()=>{throw c()}:(...St)=>{const Ct=Tt.apply(bt,St);return yt(),Ct})(bt.cancelAndHoldAtTime),bt.cancelScheduledValues=(Tt=>lt?()=>{throw c()}:(...St)=>{const Ct=Tt.apply(bt,St);return yt(),Ct})(bt.cancelScheduledValues),bt.exponentialRampToValueAtTime=(Tt=>lt?()=>{throw c()}:(...St)=>{const Ct=Tt.apply(bt,St);return yt(),Ct})(bt.exponentialRampToValueAtTime),bt.linearRampToValueAtTime=(Tt=>lt?()=>{throw c()}:(...St)=>{const Ct=Tt.apply(bt,St);return yt(),Ct})(bt.linearRampToValueAtTime),bt.setTargetAtTime=(Tt=>lt?()=>{throw c()}:(...St)=>{const Ct=Tt.apply(bt,St);return yt(),Ct})(bt.setTargetAtTime),bt.setValueAtTime=(Tt=>lt?()=>{throw c()}:(...St)=>{const Ct=Tt.apply(bt,St);return yt(),Ct})(bt.setValueAtTime),bt.setValueCurveAtTime=(Tt=>lt?()=>{throw c()}:(...St)=>{const Ct=Tt.apply(bt,St);return yt(),Ct})(bt.setValueCurveAtTime),bt};return{forwardX:Et(0,0,ft(0)),forwardY:Et(1,0,ft(1)),forwardZ:Et(2,-1,ft(2)),positionX:Et(6,0,mt(0)),positionY:Et(7,0,mt(1)),positionZ:Et(8,0,mt(2)),upX:Et(3,0,ft(3)),upY:Et(4,1,ft(4)),upZ:Et(5,0,ft(5))}},{forwardX:et,forwardY:tt,forwardZ:nt,positionX:st,positionY:rt,positionZ:it,upX:at,upY:ot,upZ:pt}=j.forwardX===void 0?_e():j;return{get forwardX(){return et},get forwardY(){return tt},get forwardZ(){return nt},get positionX(){return st},get positionY(){return rt},get positionZ(){return it},get upX(){return at},get upY(){return ot},get upZ(){return pt}}},isAudioNode$1=o=>"context"in o,isAudioNodeOutputConnection=o=>isAudioNode$1(o[0]),insertElementInSet=(o,e,s,a)=>{for(const c of o)if(s(c)){if(a)return!1;throw Error("The set contains at least one similar element.")}return o.add(e),!0},addActiveInputConnectionToAudioParam=(o,e,[s,a],c)=>{insertElementInSet(o,[e,s,a],d=>d[0]===e&&d[1]===s,c)},addPassiveInputConnectionToAudioParam=(o,[e,s,a],c)=>{const d=o.get(e);d===void 0?o.set(e,new Set([[s,a]])):insertElementInSet(d,[s,a],_=>_[0]===s,c)},isNativeAudioNodeFaker=o=>"inputs"in o,connectNativeAudioNodeToNativeAudioNode=(o,e,s,a)=>{if(isNativeAudioNodeFaker(e)){const c=e.inputs[a];return o.connect(c,s,0),[c,s,0]}return o.connect(e,s,a),[e,s,a]},deleteActiveInputConnection=(o,e,s)=>{for(const a of o)if(a[0]===e&&a[1]===s)return o.delete(a),a;return null},deleteActiveInputConnectionToAudioParam=(o,e,s)=>pickElementFromSet(o,a=>a[0]===e&&a[1]===s),deleteEventListenerOfAudioNode=(o,e)=>{if(!getEventListenersOfAudioNode(o).delete(e))throw new Error("Missing the expected event listener.")},deletePassiveInputConnectionToAudioParam=(o,e,s)=>{const a=getValueForKey(o,e),c=pickElementFromSet(a,d=>d[0]===s);return a.size===0&&o.delete(e),c},disconnectNativeAudioNodeFromNativeAudioNode=(o,e,s,a)=>{isNativeAudioNodeFaker(e)?o.disconnect(e.inputs[a],s,0):o.disconnect(e,s,a)},getNativeAudioNode=o=>getValueForKey(AUDIO_NODE_STORE,o),getNativeAudioParam=o=>getValueForKey(AUDIO_PARAM_STORE,o),isPartOfACycle=o=>CYCLE_COUNTERS.has(o),isPassiveAudioNode=o=>!ACTIVE_AUDIO_NODE_STORE.has(o),testAudioNodeDisconnectMethodSupport=(o,e)=>new Promise(s=>{if(e!==null)s(!0);else{const a=o.createScriptProcessor(256,1,1),c=o.createGain(),d=o.createBuffer(1,2,44100),_=d.getChannelData(0);_[0]=1,_[1]=1;const b=o.createBufferSource();b.buffer=d,b.loop=!0,b.connect(a).connect(o.destination),b.connect(c),b.disconnect(c),a.onaudioprocess=k=>{const $=k.inputBuffer.getChannelData(0);Array.prototype.some.call($,j=>j===1)?s(!0):s(!1),b.stop(),a.onaudioprocess=null,b.disconnect(a),a.disconnect(o.destination)},b.start()}}),visitEachAudioNodeOnce=(o,e)=>{const s=new Map;for(const a of o)for(const c of a){const d=s.get(c);s.set(c,d===void 0?1:d+1)}s.forEach((a,c)=>e(c,a))},isNativeAudioNode$1=o=>"context"in o,wrapAudioNodeDisconnectMethod=o=>{const e=new Map;o.connect=(s=>(a,c=0,d=0)=>{const _=isNativeAudioNode$1(a)?s(a,c,d):s(a,c),b=e.get(a);return b===void 0?e.set(a,[{input:d,output:c}]):b.every(k=>k.input!==d||k.output!==c)&&b.push({input:d,output:c}),_})(o.connect.bind(o)),o.disconnect=(s=>(a,c,d)=>{if(s.apply(o),a===void 0)e.clear();else if(typeof a=="number")for(const[_,b]of e){const k=b.filter($=>$.output!==a);k.length===0?e.delete(_):e.set(_,k)}else if(e.has(a))if(c===void 0)e.delete(a);else{const _=e.get(a);if(_!==void 0){const b=_.filter(k=>k.output!==c&&(k.input!==d||d===void 0));b.length===0?e.delete(a):e.set(a,b)}}for(const[_,b]of e)b.forEach(k=>{isNativeAudioNode$1(_)?o.connect(_,k.output,k.input):o.connect(_,k.output)})})(o.disconnect)},addConnectionToAudioParamOfAudioContext=(o,e,s,a)=>{const{activeInputs:c,passiveInputs:d}=getAudioParamConnections(e),{outputs:_}=getAudioNodeConnections(o),b=getEventListenersOfAudioNode(o),k=$=>{const j=getNativeAudioNode(o),_e=getNativeAudioParam(e);if($){const et=deletePassiveInputConnectionToAudioParam(d,o,s);addActiveInputConnectionToAudioParam(c,o,et,!1),!a&&!isPartOfACycle(o)&&j.connect(_e,s)}else{const et=deleteActiveInputConnectionToAudioParam(c,o,s);addPassiveInputConnectionToAudioParam(d,et,!1),!a&&!isPartOfACycle(o)&&j.disconnect(_e,s)}};return insertElementInSet(_,[e,s],$=>$[0]===e&&$[1]===s,!0)?(b.add(k),isActiveAudioNode(o)?addActiveInputConnectionToAudioParam(c,o,[s,k],!0):addPassiveInputConnectionToAudioParam(d,[o,s,k],!0),!0):!1},deleteInputConnectionOfAudioNode=(o,e,s,a)=>{const{activeInputs:c,passiveInputs:d}=getAudioNodeConnections(e),_=deleteActiveInputConnection(c[a],o,s);return _===null?[deletePassiveInputConnectionToAudioNode(d,o,s,a)[2],!1]:[_[2],!0]},deleteInputConnectionOfAudioParam=(o,e,s)=>{const{activeInputs:a,passiveInputs:c}=getAudioParamConnections(e),d=deleteActiveInputConnection(a,o,s);return d===null?[deletePassiveInputConnectionToAudioParam(c,o,s)[1],!1]:[d[2],!0]},deleteInputsOfAudioNode=(o,e,s,a,c)=>{const[d,_]=deleteInputConnectionOfAudioNode(o,s,a,c);if(d!==null&&(deleteEventListenerOfAudioNode(o,d),_&&!e&&!isPartOfACycle(o)&&disconnectNativeAudioNodeFromNativeAudioNode(getNativeAudioNode(o),getNativeAudioNode(s),a,c)),isActiveAudioNode(s)){const{activeInputs:b}=getAudioNodeConnections(s);setInternalStateToPassiveWhenNecessary(s,b)}},deleteInputsOfAudioParam=(o,e,s,a)=>{const[c,d]=deleteInputConnectionOfAudioParam(o,s,a);c!==null&&(deleteEventListenerOfAudioNode(o,c),d&&!e&&!isPartOfACycle(o)&&getNativeAudioNode(o).disconnect(getNativeAudioParam(s),a))},deleteAnyConnection=(o,e)=>{const s=getAudioNodeConnections(o),a=[];for(const c of s.outputs)isAudioNodeOutputConnection(c)?deleteInputsOfAudioNode(o,e,...c):deleteInputsOfAudioParam(o,e,...c),a.push(c[0]);return s.outputs.clear(),a},deleteConnectionAtOutput=(o,e,s)=>{const a=getAudioNodeConnections(o),c=[];for(const d of a.outputs)d[1]===s&&(isAudioNodeOutputConnection(d)?deleteInputsOfAudioNode(o,e,...d):deleteInputsOfAudioParam(o,e,...d),c.push(d[0]),a.outputs.delete(d));return c},deleteConnectionToDestination=(o,e,s,a,c)=>{const d=getAudioNodeConnections(o);return Array.from(d.outputs).filter(_=>_[0]===s&&(a===void 0||_[1]===a)&&(c===void 0||_[2]===c)).map(_=>(isAudioNodeOutputConnection(_)?deleteInputsOfAudioNode(o,e,..._):deleteInputsOfAudioParam(o,e,..._),d.outputs.delete(_),_[0]))},createAudioNodeConstructor=(o,e,s,a,c,d,_,b,k,$,j,_e,et,tt,nt,st)=>class extends ${constructor(it,at,ot,pt){super(ot),this._context=it,this._nativeAudioNode=ot;const ct=j(it);_e(ct)&&s(testAudioNodeDisconnectMethodSupport,()=>testAudioNodeDisconnectMethodSupport(ct,st))!==!0&&wrapAudioNodeDisconnectMethod(ot),AUDIO_NODE_STORE.set(this,ot),EVENT_LISTENERS.set(this,new Set),it.state!=="closed"&&at&&setInternalStateToActive(this),o(this,pt,ot)}get channelCount(){return this._nativeAudioNode.channelCount}set channelCount(it){this._nativeAudioNode.channelCount=it}get channelCountMode(){return this._nativeAudioNode.channelCountMode}set channelCountMode(it){this._nativeAudioNode.channelCountMode=it}get channelInterpretation(){return this._nativeAudioNode.channelInterpretation}set channelInterpretation(it){this._nativeAudioNode.channelInterpretation=it}get context(){return this._context}get numberOfInputs(){return this._nativeAudioNode.numberOfInputs}get numberOfOutputs(){return this._nativeAudioNode.numberOfOutputs}connect(it,at=0,ot=0){if(at<0||at>=this._nativeAudioNode.numberOfOutputs)throw c();const pt=j(this._context),ct=nt(pt);if(et(it)||tt(it))throw d();if(isAudioNode$1(it)){const ht=getNativeAudioNode(it);try{const gt=connectNativeAudioNodeToNativeAudioNode(this._nativeAudioNode,ht,at,ot),yt=isPassiveAudioNode(this);(ct||yt)&&this._nativeAudioNode.disconnect(...gt),this.context.state!=="closed"&&!yt&&isPassiveAudioNode(it)&&setInternalStateToActive(it)}catch(gt){throw gt.code===12?d():gt}if(e(this,it,at,ot,ct)){const gt=k([this],it);visitEachAudioNodeOnce(gt,a(ct))}return it}const ut=getNativeAudioParam(it);if(ut.name==="playbackRate"&&ut.maxValue===1024)throw _();try{this._nativeAudioNode.connect(ut,at),(ct||isPassiveAudioNode(this))&&this._nativeAudioNode.disconnect(ut,at)}catch(ht){throw ht.code===12?d():ht}if(addConnectionToAudioParamOfAudioContext(this,it,at,ct)){const ht=k([this],it);visitEachAudioNodeOnce(ht,a(ct))}}disconnect(it,at,ot){let pt;const ct=j(this._context),ut=nt(ct);if(it===void 0)pt=deleteAnyConnection(this,ut);else if(typeof it=="number"){if(it<0||it>=this.numberOfOutputs)throw c();pt=deleteConnectionAtOutput(this,ut,it)}else{if(at!==void 0&&(at<0||at>=this.numberOfOutputs)||isAudioNode$1(it)&&ot!==void 0&&(ot<0||ot>=it.numberOfInputs))throw c();if(pt=deleteConnectionToDestination(this,ut,it,at,ot),pt.length===0)throw d()}for(const lt of pt){const ht=k([this],lt);visitEachAudioNodeOnce(ht,b)}}},createAudioParamFactory=(o,e,s,a,c,d,_,b,k,$,j,_e,et)=>(tt,nt,st,rt=null,it=null)=>{const at=new AutomationEventList(st.defaultValue),ot=nt?a(at):null,pt={get defaultValue(){return st.defaultValue},get maxValue(){return rt===null?st.maxValue:rt},get minValue(){return it===null?st.minValue:it},get value(){return st.value},set value(ct){st.value=ct,pt.setValueAtTime(ct,tt.context.currentTime)},cancelAndHoldAtTime(ct){if(typeof st.cancelAndHoldAtTime=="function")ot===null&&at.flush(tt.context.currentTime),at.add(c(ct)),st.cancelAndHoldAtTime(ct);else{const ut=Array.from(at).pop();ot===null&&at.flush(tt.context.currentTime),at.add(c(ct));const lt=Array.from(at).pop();st.cancelScheduledValues(ct),ut!==lt&<!==void 0&&(lt.type==="exponentialRampToValue"?st.exponentialRampToValueAtTime(lt.value,lt.endTime):lt.type==="linearRampToValue"?st.linearRampToValueAtTime(lt.value,lt.endTime):lt.type==="setValue"?st.setValueAtTime(lt.value,lt.startTime):lt.type==="setValueCurve"&&st.setValueCurveAtTime(lt.values,lt.startTime,lt.duration))}return pt},cancelScheduledValues(ct){return ot===null&&at.flush(tt.context.currentTime),at.add(d(ct)),st.cancelScheduledValues(ct),pt},exponentialRampToValueAtTime(ct,ut){if(ct===0)throw new RangeError;if(!Number.isFinite(ut)||ut<0)throw new RangeError;return ot===null&&at.flush(tt.context.currentTime),at.add(_(ct,ut)),st.exponentialRampToValueAtTime(ct,ut),pt},linearRampToValueAtTime(ct,ut){return ot===null&&at.flush(tt.context.currentTime),at.add(b(ct,ut)),st.linearRampToValueAtTime(ct,ut),pt},setTargetAtTime(ct,ut,lt){return ot===null&&at.flush(tt.context.currentTime),at.add(k(ct,ut,lt)),st.setTargetAtTime(ct,ut,lt),pt},setValueAtTime(ct,ut){return ot===null&&at.flush(tt.context.currentTime),at.add($(ct,ut)),st.setValueAtTime(ct,ut),pt},setValueCurveAtTime(ct,ut,lt){const ht=ct instanceof Float32Array?ct:new Float32Array(ct);if(_e!==null&&_e.name==="webkitAudioContext"){const dt=ut+lt,gt=tt.context.sampleRate,yt=Math.ceil(ut*gt),ft=Math.floor(dt*gt),mt=ft-yt,Et=new Float32Array(mt);for(let At=0;At({replay(e){for(const s of o)if(s.type==="exponentialRampToValue"){const{endTime:a,value:c}=s;e.exponentialRampToValueAtTime(c,a)}else if(s.type==="linearRampToValue"){const{endTime:a,value:c}=s;e.linearRampToValueAtTime(c,a)}else if(s.type==="setTarget"){const{startTime:a,target:c,timeConstant:d}=s;e.setTargetAtTime(c,a,d)}else if(s.type==="setValue"){const{startTime:a,value:c}=s;e.setValueAtTime(c,a)}else if(s.type==="setValueCurve"){const{duration:a,startTime:c,values:d}=s;e.setValueCurveAtTime(d,c,a)}else throw new Error("Can't apply an unknown automation.")}});class ReadOnlyMap{constructor(e){this._map=new Map(e)}get size(){return this._map.size}entries(){return this._map.entries()}forEach(e,s=null){return this._map.forEach((a,c)=>e.call(s,a,c,this))}get(e){return this._map.get(e)}has(e){return this._map.has(e)}keys(){return this._map.keys()}values(){return this._map.values()}}const DEFAULT_OPTIONS$g={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:1,numberOfOutputs:1,parameterData:{},processorOptions:{}},createAudioWorkletNodeConstructor=(o,e,s,a,c,d,_,b,k,$,j,_e,et,tt)=>class extends e{constructor(st,rt,it){var at;const ot=b(st),pt=k(ot),ct=j(Ot(Ot({},DEFAULT_OPTIONS$g),it));et(ct);const ut=NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS.get(ot),lt=ut==null?void 0:ut.get(rt),ht=pt||ot.state!=="closed"?ot:(at=_(ot))!==null&&at!==void 0?at:ot,dt=c(ht,pt?null:st.baseLatency,$,rt,lt,ct),gt=pt?a(rt,ct,lt):null;super(st,!0,dt,gt);const yt=[];dt.parameters.forEach((mt,Et)=>{const vt=s(this,pt,mt);yt.push([Et,vt])}),this._nativeAudioWorkletNode=dt,this._onprocessorerror=null,this._parameters=new ReadOnlyMap(yt),pt&&o(ot,this);const{activeInputs:ft}=d(this);_e(dt,ft)}get onprocessorerror(){return this._onprocessorerror}set onprocessorerror(st){const rt=typeof st=="function"?tt(this,st):null;this._nativeAudioWorkletNode.onprocessorerror=rt;const it=this._nativeAudioWorkletNode.onprocessorerror;this._onprocessorerror=it!==null&&it===rt?st:it}get parameters(){return this._parameters===null?this._nativeAudioWorkletNode.parameters:this._parameters}get port(){return this._nativeAudioWorkletNode.port}};function copyFromChannel(o,e,s,a,c){if(typeof o.copyFromChannel=="function")e[s].byteLength===0&&(e[s]=new Float32Array(128)),o.copyFromChannel(e[s],a,c);else{const d=o.getChannelData(a);if(e[s].byteLength===0)e[s]=d.slice(c,c+128);else{const _=new Float32Array(d.buffer,c*Float32Array.BYTES_PER_ELEMENT,128);e[s].set(_)}}}const copyToChannel=(o,e,s,a,c)=>{typeof o.copyToChannel=="function"?e[s].byteLength!==0&&o.copyToChannel(e[s],a,c):e[s].byteLength!==0&&o.getChannelData(a).set(e[s],c)},createNestedArrays=(o,e)=>{const s=[];for(let a=0;a{const s=getValueForKey(NODE_TO_PROCESSOR_MAPS,o),a=getNativeAudioNode(e);return getValueForKey(s,a)},processBuffer=async(o,e,s,a,c,d,_)=>{const b=e===null?Math.ceil(o.context.length/128)*128:e.length,k=a.channelCount*a.numberOfInputs,$=c.reduce((rt,it)=>rt+it,0),j=$===0?null:s.createBuffer($,b,s.sampleRate);if(d===void 0)throw new Error("Missing the processor constructor.");const _e=getAudioNodeConnections(o),et=await getAudioWorkletProcessor(s,o),tt=createNestedArrays(a.numberOfInputs,a.channelCount),nt=createNestedArrays(a.numberOfOutputs,c),st=Array.from(o.parameters.keys()).reduce((rt,it)=>wt(Ot({},rt),{[it]:new Float32Array(128)}),{});for(let rt=0;rt0&&e!==null)for(let it=0;it{copyFromChannel(e,st,it,k+at,rt)});for(let it=0;it_e.activeInputs[pt].size===0?[]:ot),at=_(rt/s.sampleRate,s.sampleRate,()=>et.process(it,nt,st));if(j!==null)for(let ot=0,pt=0;ot(rt,it,at)=>{const ot=new WeakMap;let pt=null;const ct=async(ut,lt)=>{let ht=j(ut),dt=null;const gt=isOwnedByContext(ht,lt),yt=Array.isArray(it.outputChannelCount)?it.outputChannelCount:Array.from(it.outputChannelCount);if(_e===null){const ft=yt.reduce((At,_t)=>At+_t,0),mt=c(lt,{channelCount:Math.max(1,ft),channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:Math.max(1,ft)}),Et=[];for(let At=0;At{const St=new et(bt,Math.ceil(ut.context.length/128)*128,lt.sampleRate),Ct=[],xt=[];for(let It=0;It{const Ft=d(St,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:It.value});return await tt(St,It,Ft.offset),Ft})),Mt=a(St,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:Math.max(1,_t+Dt)});for(let It=0;Itnt(ut,St,It))),st(St)})(),lt,it,yt,at,$)}const ft=await pt,mt=s(lt,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),[Et,vt,At]=dt;ft!==null&&(mt.buffer=ft,mt.start(0)),mt.connect(Et);for(let _t=0,Dt=0;_tclass extends nt{constructor(ct,ut){super(ct,ut),this._nativeContext=ct,this._audioWorklet=o===void 0?void 0:{addModule:(lt,ht)=>o(this,lt,ht)}}get audioWorklet(){return this._audioWorklet}createAnalyser(){return new e(this)}createBiquadFilter(){return new c(this)}createBuffer(ct,ut,lt){return new s({length:ut,numberOfChannels:ct,sampleRate:lt})}createBufferSource(){return new a(this)}createChannelMerger(ct=6){return new d(this,{numberOfInputs:ct})}createChannelSplitter(ct=6){return new _(this,{numberOfOutputs:ct})}createConstantSource(){return new b(this)}createConvolver(){return new k(this)}createDelay(ct=1){return new j(this,{maxDelayTime:ct})}createDynamicsCompressor(){return new _e(this)}createGain(){return new et(this)}createIIRFilter(ct,ut){return new tt(this,{feedback:ut,feedforward:ct})}createOscillator(){return new st(this)}createPanner(){return new rt(this)}createPeriodicWave(ct,ut,lt={disableNormalization:!1}){return new it(this,wt(Ot({},lt),{imag:ut,real:ct}))}createStereoPanner(){return new at(this)}createWaveShaper(){return new ot(this)}decodeAudioData(ct,ut,lt){return $(this._nativeContext,ct).then(ht=>(typeof ut=="function"&&ut(ht),ht),ht=>{throw typeof lt=="function"&<(ht),ht})}},DEFAULT_OPTIONS$f={Q:1,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",detune:0,frequency:350,gain:0,type:"lowpass"},createBiquadFilterNodeConstructor=(o,e,s,a,c,d,_,b)=>class extends o{constructor($,j){const _e=d($),et=Ot(Ot({},DEFAULT_OPTIONS$f),j),tt=c(_e,et),nt=_(_e),st=nt?s():null;super($,!1,tt,st),this._Q=e(this,nt,tt.Q,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT),this._detune=e(this,nt,tt.detune,1200*Math.log2(MOST_POSITIVE_SINGLE_FLOAT),-1200*Math.log2(MOST_POSITIVE_SINGLE_FLOAT)),this._frequency=e(this,nt,tt.frequency,$.sampleRate/2,0),this._gain=e(this,nt,tt.gain,40*Math.log10(MOST_POSITIVE_SINGLE_FLOAT),MOST_NEGATIVE_SINGLE_FLOAT),this._nativeBiquadFilterNode=tt,b(this,1)}get detune(){return this._detune}get frequency(){return this._frequency}get gain(){return this._gain}get Q(){return this._Q}get type(){return this._nativeBiquadFilterNode.type}set type($){this._nativeBiquadFilterNode.type=$}getFrequencyResponse($,j,_e){try{this._nativeBiquadFilterNode.getFrequencyResponse($,j,_e)}catch(et){throw et.code===11?a():et}if($.length!==j.length||j.length!==_e.length)throw a()}},createBiquadFilterNodeRendererFactory=(o,e,s,a,c)=>()=>{const d=new WeakMap,_=async(b,k)=>{let $=s(b);const j=isOwnedByContext($,k);if(!j){const _e={Q:$.Q.value,channelCount:$.channelCount,channelCountMode:$.channelCountMode,channelInterpretation:$.channelInterpretation,detune:$.detune.value,frequency:$.frequency.value,gain:$.gain.value,type:$.type};$=e(k,_e)}return d.set(k,$),j?(await o(k,b.Q,$.Q),await o(k,b.detune,$.detune),await o(k,b.frequency,$.frequency),await o(k,b.gain,$.gain)):(await a(k,b.Q,$.Q),await a(k,b.detune,$.detune),await a(k,b.frequency,$.frequency),await a(k,b.gain,$.gain)),await c(b,k,$),$};return{render(b,k){const $=d.get(k);return $!==void 0?Promise.resolve($):_(b,k)}}},createCacheTestResult=(o,e)=>(s,a)=>{const c=e.get(s);if(c!==void 0)return c;const d=o.get(s);if(d!==void 0)return d;try{const _=a();return _ instanceof Promise?(o.set(s,_),_.catch(()=>!1).then(b=>(o.delete(s),e.set(s,b),b))):(e.set(s,_),_)}catch{return e.set(s,!1),!1}},DEFAULT_OPTIONS$e={channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:6},createChannelMergerNodeConstructor=(o,e,s,a,c)=>class extends o{constructor(_,b){const k=a(_),$=Ot(Ot({},DEFAULT_OPTIONS$e),b),j=s(k,$),_e=c(k)?e():null;super(_,!1,j,_e)}},createChannelMergerNodeRendererFactory=(o,e,s)=>()=>{const a=new WeakMap,c=async(d,_)=>{let b=e(d);if(!isOwnedByContext(b,_)){const $={channelCount:b.channelCount,channelCountMode:b.channelCountMode,channelInterpretation:b.channelInterpretation,numberOfInputs:b.numberOfInputs};b=o(_,$)}return a.set(_,b),await s(d,_,b),b};return{render(d,_){const b=a.get(_);return b!==void 0?Promise.resolve(b):c(d,_)}}},DEFAULT_OPTIONS$d={channelCount:6,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:6},createChannelSplitterNodeConstructor=(o,e,s,a,c,d)=>class extends o{constructor(b,k){const $=a(b),j=d(Ot(Ot({},DEFAULT_OPTIONS$d),k)),_e=s($,j),et=c($)?e():null;super(b,!1,_e,et)}},createChannelSplitterNodeRendererFactory=(o,e,s)=>()=>{const a=new WeakMap,c=async(d,_)=>{let b=e(d);if(!isOwnedByContext(b,_)){const $={channelCount:b.channelCount,channelCountMode:b.channelCountMode,channelInterpretation:b.channelInterpretation,numberOfOutputs:b.numberOfOutputs};b=o(_,$)}return a.set(_,b),await s(d,_,b),b};return{render(d,_){const b=a.get(_);return b!==void 0?Promise.resolve(b):c(d,_)}}},createConnectAudioParam=o=>(e,s,a)=>o(s,e,a),createConnectMultipleOutputs=o=>(e,s,a=0,c=0)=>{const d=e[a];if(d===void 0)throw o();return isNativeAudioNode$1(s)?d.connect(s,0,c):d.connect(s,0)},createConnectedNativeAudioBufferSourceNodeFactory=o=>(e,s)=>{const a=o(e,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),c=e.createBuffer(1,2,44100);return a.buffer=c,a.loop=!0,a.connect(s),a.start(),()=>{a.stop(),a.disconnect(s)}},DEFAULT_OPTIONS$c={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",offset:1},createConstantSourceNodeConstructor=(o,e,s,a,c,d,_)=>class extends o{constructor(k,$){const j=c(k),_e=Ot(Ot({},DEFAULT_OPTIONS$c),$),et=a(j,_e),tt=d(j),nt=tt?s():null;super(k,!1,et,nt),this._constantSourceNodeRenderer=nt,this._nativeConstantSourceNode=et,this._offset=e(this,tt,et.offset,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT),this._onended=null}get offset(){return this._offset}get onended(){return this._onended}set onended(k){const $=typeof k=="function"?_(this,k):null;this._nativeConstantSourceNode.onended=$;const j=this._nativeConstantSourceNode.onended;this._onended=j!==null&&j===$?k:j}start(k=0){if(this._nativeConstantSourceNode.start(k),this._constantSourceNodeRenderer!==null&&(this._constantSourceNodeRenderer.start=k),this.context.state!=="closed"){setInternalStateToActive(this);const $=()=>{this._nativeConstantSourceNode.removeEventListener("ended",$),isActiveAudioNode(this)&&setInternalStateToPassive(this)};this._nativeConstantSourceNode.addEventListener("ended",$)}}stop(k=0){this._nativeConstantSourceNode.stop(k),this._constantSourceNodeRenderer!==null&&(this._constantSourceNodeRenderer.stop=k)}},createConstantSourceNodeRendererFactory=(o,e,s,a,c)=>()=>{const d=new WeakMap;let _=null,b=null;const k=async($,j)=>{let _e=s($);const et=isOwnedByContext(_e,j);if(!et){const tt={channelCount:_e.channelCount,channelCountMode:_e.channelCountMode,channelInterpretation:_e.channelInterpretation,offset:_e.offset.value};_e=e(j,tt),_!==null&&_e.start(_),b!==null&&_e.stop(b)}return d.set(j,_e),et?await o(j,$.offset,_e.offset):await a(j,$.offset,_e.offset),await c($,j,_e),_e};return{set start($){_=$},set stop($){b=$},render($,j){const _e=d.get(j);return _e!==void 0?Promise.resolve(_e):k($,j)}}},createConvertNumberToUnsignedLong=o=>e=>(o[0]=e,o[0]),DEFAULT_OPTIONS$b={buffer:null,channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",disableNormalization:!1},createConvolverNodeConstructor=(o,e,s,a,c,d)=>class extends o{constructor(b,k){const $=a(b),j=Ot(Ot({},DEFAULT_OPTIONS$b),k),_e=s($,j),tt=c($)?e():null;super(b,!1,_e,tt),this._isBufferNullified=!1,this._nativeConvolverNode=_e,j.buffer!==null&&d(this,j.buffer.duration)}get buffer(){return this._isBufferNullified?null:this._nativeConvolverNode.buffer}set buffer(b){if(this._nativeConvolverNode.buffer=b,b===null&&this._nativeConvolverNode.buffer!==null){const k=this._nativeConvolverNode.context;this._nativeConvolverNode.buffer=k.createBuffer(1,1,44100),this._isBufferNullified=!0,d(this,0)}else this._isBufferNullified=!1,d(this,this._nativeConvolverNode.buffer===null?0:this._nativeConvolverNode.buffer.duration)}get normalize(){return this._nativeConvolverNode.normalize}set normalize(b){this._nativeConvolverNode.normalize=b}},createConvolverNodeRendererFactory=(o,e,s)=>()=>{const a=new WeakMap,c=async(d,_)=>{let b=e(d);if(!isOwnedByContext(b,_)){const $={buffer:b.buffer,channelCount:b.channelCount,channelCountMode:b.channelCountMode,channelInterpretation:b.channelInterpretation,disableNormalization:!b.normalize};b=o(_,$)}return a.set(_,b),isNativeAudioNodeFaker(b)?await s(d,_,b.inputs[0]):await s(d,_,b),b};return{render(d,_){const b=a.get(_);return b!==void 0?Promise.resolve(b):c(d,_)}}},createCreateNativeOfflineAudioContext=(o,e)=>(s,a,c)=>{if(e===null)throw new Error("Missing the native OfflineAudioContext constructor.");try{return new e(s,a,c)}catch(d){throw d.name==="SyntaxError"?o():d}},createDataCloneError=()=>new DOMException("","DataCloneError"),detachArrayBuffer=o=>{const{port1:e,port2:s}=new MessageChannel;return new Promise(a=>{const c=()=>{s.onmessage=null,e.close(),s.close(),a()};s.onmessage=()=>c();try{e.postMessage(o,[o])}finally{c()}})},createDecodeAudioData=(o,e,s,a,c,d,_,b,k,$,j)=>(_e,et)=>{const tt=_(_e)?_e:d(_e);if(c.has(et)){const nt=s();return Promise.reject(nt)}try{c.add(et)}catch{}return e(k,()=>k(tt))?tt.decodeAudioData(et).then(nt=>(detachArrayBuffer(et).catch(()=>{}),e(b,()=>b(nt))||j(nt),o.add(nt),nt)):new Promise((nt,st)=>{const rt=async()=>{try{await detachArrayBuffer(et)}catch{}},it=at=>{st(at),rt()};try{tt.decodeAudioData(et,at=>{typeof at.copyFromChannel!="function"&&($(at),wrapAudioBufferGetChannelDataMethod(at)),o.add(at),rt().then(()=>nt(at))},at=>{it(at===null?a():at)})}catch(at){it(at)}})},createDecrementCycleCounter=(o,e,s,a,c,d,_,b)=>(k,$)=>{const j=e.get(k);if(j===void 0)throw new Error("Missing the expected cycle count.");const _e=d(k.context),et=b(_e);if(j===$){if(e.delete(k),!et&&_(k)){const tt=a(k),{outputs:nt}=s(k);for(const st of nt)if(isAudioNodeOutputConnection(st)){const rt=a(st[0]);o(tt,rt,st[1],st[2])}else{const rt=c(st[0]);tt.connect(rt,st[1])}}}else e.set(k,j-$)},DEFAULT_OPTIONS$a={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",delayTime:0,maxDelayTime:1},createDelayNodeConstructor=(o,e,s,a,c,d,_)=>class extends o{constructor(k,$){const j=c(k),_e=Ot(Ot({},DEFAULT_OPTIONS$a),$),et=a(j,_e),tt=d(j),nt=tt?s(_e.maxDelayTime):null;super(k,!1,et,nt),this._delayTime=e(this,tt,et.delayTime),_(this,_e.maxDelayTime)}get delayTime(){return this._delayTime}},createDelayNodeRendererFactory=(o,e,s,a,c)=>d=>{const _=new WeakMap,b=async(k,$)=>{let j=s(k);const _e=isOwnedByContext(j,$);if(!_e){const et={channelCount:j.channelCount,channelCountMode:j.channelCountMode,channelInterpretation:j.channelInterpretation,delayTime:j.delayTime.value,maxDelayTime:d};j=e($,et)}return _.set($,j),_e?await o($,k.delayTime,j.delayTime):await a($,k.delayTime,j.delayTime),await c(k,$,j),j};return{render(k,$){const j=_.get($);return j!==void 0?Promise.resolve(j):b(k,$)}}},createDeleteActiveInputConnectionToAudioNode=o=>(e,s,a,c)=>o(e[c],d=>d[0]===s&&d[1]===a),createDeleteUnrenderedAudioWorkletNode=o=>(e,s)=>{o(e).delete(s)},isDelayNode=o=>"delayTime"in o,createDetectCycles=(o,e,s)=>function a(c,d){const _=isAudioNode$1(d)?d:s(o,d);if(isDelayNode(_))return[];if(c[0]===_)return[c];if(c.includes(_))return[];const{outputs:b}=e(_);return Array.from(b).map(k=>a([...c,_],k[0])).reduce((k,$)=>k.concat($),[])},getOutputAudioNodeAtIndex=(o,e,s)=>{const a=e[s];if(a===void 0)throw o();return a},createDisconnectMultipleOutputs=o=>(e,s=void 0,a=void 0,c=0)=>s===void 0?e.forEach(d=>d.disconnect()):typeof s=="number"?getOutputAudioNodeAtIndex(o,e,s).disconnect():isNativeAudioNode$1(s)?a===void 0?e.forEach(d=>d.disconnect(s)):c===void 0?getOutputAudioNodeAtIndex(o,e,a).disconnect(s,0):getOutputAudioNodeAtIndex(o,e,a).disconnect(s,0,c):a===void 0?e.forEach(d=>d.disconnect(s)):getOutputAudioNodeAtIndex(o,e,a).disconnect(s,0),DEFAULT_OPTIONS$9={attack:.003,channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",knee:30,ratio:12,release:.25,threshold:-24},createDynamicsCompressorNodeConstructor=(o,e,s,a,c,d,_,b)=>class extends o{constructor($,j){const _e=d($),et=Ot(Ot({},DEFAULT_OPTIONS$9),j),tt=a(_e,et),nt=_(_e),st=nt?s():null;super($,!1,tt,st),this._attack=e(this,nt,tt.attack),this._knee=e(this,nt,tt.knee),this._nativeDynamicsCompressorNode=tt,this._ratio=e(this,nt,tt.ratio),this._release=e(this,nt,tt.release),this._threshold=e(this,nt,tt.threshold),b(this,.006)}get attack(){return this._attack}get channelCount(){return this._nativeDynamicsCompressorNode.channelCount}set channelCount($){const j=this._nativeDynamicsCompressorNode.channelCount;if(this._nativeDynamicsCompressorNode.channelCount=$,$>2)throw this._nativeDynamicsCompressorNode.channelCount=j,c()}get channelCountMode(){return this._nativeDynamicsCompressorNode.channelCountMode}set channelCountMode($){const j=this._nativeDynamicsCompressorNode.channelCountMode;if(this._nativeDynamicsCompressorNode.channelCountMode=$,$==="max")throw this._nativeDynamicsCompressorNode.channelCountMode=j,c()}get knee(){return this._knee}get ratio(){return this._ratio}get reduction(){return typeof this._nativeDynamicsCompressorNode.reduction.value=="number"?this._nativeDynamicsCompressorNode.reduction.value:this._nativeDynamicsCompressorNode.reduction}get release(){return this._release}get threshold(){return this._threshold}},createDynamicsCompressorNodeRendererFactory=(o,e,s,a,c)=>()=>{const d=new WeakMap,_=async(b,k)=>{let $=s(b);const j=isOwnedByContext($,k);if(!j){const _e={attack:$.attack.value,channelCount:$.channelCount,channelCountMode:$.channelCountMode,channelInterpretation:$.channelInterpretation,knee:$.knee.value,ratio:$.ratio.value,release:$.release.value,threshold:$.threshold.value};$=e(k,_e)}return d.set(k,$),j?(await o(k,b.attack,$.attack),await o(k,b.knee,$.knee),await o(k,b.ratio,$.ratio),await o(k,b.release,$.release),await o(k,b.threshold,$.threshold)):(await a(k,b.attack,$.attack),await a(k,b.knee,$.knee),await a(k,b.ratio,$.ratio),await a(k,b.release,$.release),await a(k,b.threshold,$.threshold)),await c(b,k,$),$};return{render(b,k){const $=d.get(k);return $!==void 0?Promise.resolve($):_(b,k)}}},createEncodingError=()=>new DOMException("","EncodingError"),createEvaluateSource=o=>e=>new Promise((s,a)=>{if(o===null){a(new SyntaxError);return}const c=o.document.head;if(c===null)a(new SyntaxError);else{const d=o.document.createElement("script"),_=new Blob([e],{type:"application/javascript"}),b=URL.createObjectURL(_),k=o.onerror,$=()=>{o.onerror=k,URL.revokeObjectURL(b)};o.onerror=(j,_e,et,tt,nt)=>{if(_e===b||_e===o.location.href&&et===1&&tt===1)return $(),a(nt),!1;if(k!==null)return k(j,_e,et,tt,nt)},d.onerror=()=>{$(),a(new SyntaxError)},d.onload=()=>{$(),s()},d.src=b,d.type="module",c.appendChild(d)}}),createEventTargetConstructor=o=>class{constructor(s){this._nativeEventTarget=s,this._listeners=new WeakMap}addEventListener(s,a,c){if(a!==null){let d=this._listeners.get(a);d===void 0&&(d=o(this,a),typeof a=="function"&&this._listeners.set(a,d)),this._nativeEventTarget.addEventListener(s,d,c)}}dispatchEvent(s){return this._nativeEventTarget.dispatchEvent(s)}removeEventListener(s,a,c){const d=a===null?void 0:this._listeners.get(a);this._nativeEventTarget.removeEventListener(s,d===void 0?null:d,c)}},createExposeCurrentFrameAndCurrentTime=o=>(e,s,a)=>{Object.defineProperties(o,{currentFrame:{configurable:!0,get(){return Math.round(e*s)}},currentTime:{configurable:!0,get(){return e}}});try{return a()}finally{o!==null&&(delete o.currentFrame,delete o.currentTime)}},createFetchSource=o=>async e=>{try{const s=await fetch(e);if(s.ok)return[await s.text(),s.url]}catch{}throw o()},DEFAULT_OPTIONS$8={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",gain:1},createGainNodeConstructor=(o,e,s,a,c,d)=>class extends o{constructor(b,k){const $=c(b),j=Ot(Ot({},DEFAULT_OPTIONS$8),k),_e=a($,j),et=d($),tt=et?s():null;super(b,!1,_e,tt),this._gain=e(this,et,_e.gain,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT)}get gain(){return this._gain}},createGainNodeRendererFactory=(o,e,s,a,c)=>()=>{const d=new WeakMap,_=async(b,k)=>{let $=s(b);const j=isOwnedByContext($,k);if(!j){const _e={channelCount:$.channelCount,channelCountMode:$.channelCountMode,channelInterpretation:$.channelInterpretation,gain:$.gain.value};$=e(k,_e)}return d.set(k,$),j?await o(k,b.gain,$.gain):await a(k,b.gain,$.gain),await c(b,k,$),$};return{render(b,k){const $=d.get(k);return $!==void 0?Promise.resolve($):_(b,k)}}},createGetActiveAudioWorkletNodeInputs=(o,e)=>s=>e(o,s),createGetAudioNodeRenderer=o=>e=>{const s=o(e);if(s.renderer===null)throw new Error("Missing the renderer of the given AudioNode in the audio graph.");return s.renderer},createGetAudioNodeTailTime=o=>e=>{var s;return(s=o.get(e))!==null&&s!==void 0?s:0},createGetAudioParamRenderer=o=>e=>{const s=o(e);if(s.renderer===null)throw new Error("Missing the renderer of the given AudioParam in the audio graph.");return s.renderer},createGetBackupOfflineAudioContext=o=>e=>o.get(e),createInvalidStateError=()=>new DOMException("","InvalidStateError"),createGetNativeContext=o=>e=>{const s=o.get(e);if(s===void 0)throw createInvalidStateError();return s},createGetOrCreateBackupOfflineAudioContext=(o,e)=>s=>{let a=o.get(s);if(a!==void 0)return a;if(e===null)throw new Error("Missing the native OfflineAudioContext constructor.");return a=new e(1,1,44100),o.set(s,a),a},createGetUnrenderedAudioWorkletNodes=o=>e=>{const s=o.get(e);if(s===void 0)throw new Error("The context has no set of AudioWorkletNodes.");return s},createInvalidAccessError=()=>new DOMException("","InvalidAccessError"),wrapIIRFilterNodeGetFrequencyResponseMethod=o=>{o.getFrequencyResponse=(e=>(s,a,c)=>{if(s.length!==a.length||a.length!==c.length)throw createInvalidAccessError();return e.call(o,s,a,c)})(o.getFrequencyResponse)},DEFAULT_OPTIONS$7={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers"},createIIRFilterNodeConstructor=(o,e,s,a,c,d)=>class extends o{constructor(b,k){const $=a(b),j=c($),_e=Ot(Ot({},DEFAULT_OPTIONS$7),k),et=e($,j?null:b.baseLatency,_e),tt=j?s(_e.feedback,_e.feedforward):null;super(b,!1,et,tt),wrapIIRFilterNodeGetFrequencyResponseMethod(et),this._nativeIIRFilterNode=et,d(this,1)}getFrequencyResponse(b,k,$){return this._nativeIIRFilterNode.getFrequencyResponse(b,k,$)}},filterBuffer=(o,e,s,a,c,d,_,b,k,$,j)=>{const _e=$.length;let et=b;for(let tt=0;tt<_e;tt+=1){let nt=s[0]*$[tt];for(let st=1;st{const c=s instanceof Float64Array?s:new Float64Array(s),d=a instanceof Float64Array?a:new Float64Array(a),_=c.length,b=d.length,k=Math.min(_,b);if(c[0]!==1){for(let nt=0;nt<_;nt+=1)d[nt]/=c[0];for(let nt=1;nt(d,_)=>{const b=new WeakMap;let k=null;const $=async(j,_e)=>{let et=null,tt=e(j);const nt=isOwnedByContext(tt,_e);if(_e.createIIRFilter===void 0?et=o(_e,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}):nt||(tt=_e.createIIRFilter(_,d)),b.set(_e,et===null?tt:et),et!==null){if(k===null){if(s===null)throw new Error("Missing the native OfflineAudioContext constructor.");const rt=new s(j.context.destination.channelCount,j.context.length,_e.sampleRate);k=(async()=>{await a(j,rt,rt.destination);const it=await c(rt);return filterFullBuffer(it,_e,d,_)})()}const st=await k;return et.buffer=st,et.start(0),et}return await a(j,_e,tt),tt};return{render(j,_e){const et=b.get(_e);return et!==void 0?Promise.resolve(et):$(j,_e)}}},createIncrementCycleCounterFactory=(o,e,s,a,c,d)=>_=>(b,k)=>{const $=o.get(b);if($===void 0){if(!_&&d(b)){const j=a(b),{outputs:_e}=s(b);for(const et of _e)if(isAudioNodeOutputConnection(et)){const tt=a(et[0]);e(j,tt,et[1],et[2])}else{const tt=c(et[0]);j.disconnect(tt,et[1])}}o.set(b,k)}else o.set(b,$+k)},createIsAnyAudioContext=(o,e)=>s=>{const a=o.get(s);return e(a)||e(s)},createIsAnyAudioNode=(o,e)=>s=>o.has(s)||e(s),createIsAnyAudioParam=(o,e)=>s=>o.has(s)||e(s),createIsAnyOfflineAudioContext=(o,e)=>s=>{const a=o.get(s);return e(a)||e(s)},createIsNativeAudioContext=o=>e=>o!==null&&e instanceof o,createIsNativeAudioNode=o=>e=>o!==null&&typeof o.AudioNode=="function"&&e instanceof o.AudioNode,createIsNativeAudioParam=o=>e=>o!==null&&typeof o.AudioParam=="function"&&e instanceof o.AudioParam,createIsNativeContext=(o,e)=>s=>o(s)||e(s),createIsNativeOfflineAudioContext=o=>e=>o!==null&&e instanceof o,createIsSecureContext=o=>o!==null&&o.isSecureContext,createIsSupportedPromise=async(o,e,s,a,c,d,_,b,k,$,j,_e,et,tt,nt,st)=>o(e,e)&&o(s,s)&&o(c,c)&&o(d,d)&&o(b,b)&&o(k,k)&&o($,$)&&o(j,j)&&o(_e,_e)&&o(et,et)&&o(tt,tt)?(await Promise.all([o(a,a),o(_,_),o(nt,nt),o(st,st)])).every(it=>it):!1,createMediaElementAudioSourceNodeConstructor=(o,e,s,a)=>class extends o{constructor(d,_){const b=s(d),k=e(b,_);if(a(b))throw TypeError();super(d,!0,k,null),this._nativeMediaElementAudioSourceNode=k}get mediaElement(){return this._nativeMediaElementAudioSourceNode.mediaElement}},DEFAULT_OPTIONS$6={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers"},createMediaStreamAudioDestinationNodeConstructor=(o,e,s,a)=>class extends o{constructor(d,_){const b=s(d);if(a(b))throw new TypeError;const k=Ot(Ot({},DEFAULT_OPTIONS$6),_),$=e(b,k);super(d,!1,$,null),this._nativeMediaStreamAudioDestinationNode=$}get stream(){return this._nativeMediaStreamAudioDestinationNode.stream}},createMediaStreamAudioSourceNodeConstructor=(o,e,s,a)=>class extends o{constructor(d,_){const b=s(d),k=e(b,_);if(a(b))throw new TypeError;super(d,!0,k,null),this._nativeMediaStreamAudioSourceNode=k}get mediaStream(){return this._nativeMediaStreamAudioSourceNode.mediaStream}},createMediaStreamTrackAudioSourceNodeConstructor=(o,e,s)=>class extends o{constructor(c,d){const _=s(c),b=e(_,d);super(c,!0,b,null)}},createMinimalBaseAudioContextConstructor=(o,e,s,a,c,d)=>class extends s{constructor(b,k){super(b),this._nativeContext=b,CONTEXT_STORE.set(this,b),a(b)&&c.set(b,new Set),this._destination=new o(this,k),this._listener=e(this,b),this._onstatechange=null}get currentTime(){return this._nativeContext.currentTime}get destination(){return this._destination}get listener(){return this._listener}get onstatechange(){return this._onstatechange}set onstatechange(b){const k=typeof b=="function"?d(this,b):null;this._nativeContext.onstatechange=k;const $=this._nativeContext.onstatechange;this._onstatechange=$!==null&&$===k?b:$}get sampleRate(){return this._nativeContext.sampleRate}get state(){return this._nativeContext.state}},testPromiseSupport=o=>{const e=new Uint32Array([1179011410,40,1163280727,544501094,16,131073,44100,176400,1048580,1635017060,4,0]);try{const s=o.decodeAudioData(e.buffer,()=>{});return s===void 0?!1:(s.catch(()=>{}),!0)}catch{}return!1},createMonitorConnections=(o,e)=>(s,a,c)=>{const d=new Set;return s.connect=(_=>(b,k=0,$=0)=>{const j=d.size===0;if(e(b))return _.call(s,b,k,$),o(d,[b,k,$],_e=>_e[0]===b&&_e[1]===k&&_e[2]===$,!0),j&&a(),b;_.call(s,b,k),o(d,[b,k],_e=>_e[0]===b&&_e[1]===k,!0),j&&a()})(s.connect),s.disconnect=(_=>(b,k,$)=>{const j=d.size>0;if(b===void 0)_.apply(s),d.clear();else if(typeof b=="number"){_.call(s,b);for(const et of d)et[1]===b&&d.delete(et)}else{e(b)?_.call(s,b,k,$):_.call(s,b,k);for(const et of d)et[0]===b&&(k===void 0||et[1]===k)&&($===void 0||et[2]===$)&&d.delete(et)}const _e=d.size===0;j&&_e&&c()})(s.disconnect),s},assignNativeAudioNodeOption=(o,e,s)=>{const a=e[s];a!==void 0&&a!==o[s]&&(o[s]=a)},assignNativeAudioNodeOptions=(o,e)=>{assignNativeAudioNodeOption(o,e,"channelCount"),assignNativeAudioNodeOption(o,e,"channelCountMode"),assignNativeAudioNodeOption(o,e,"channelInterpretation")},testAnalyserNodeGetFloatTimeDomainDataMethodSupport=o=>typeof o.getFloatTimeDomainData=="function",wrapAnalyserNodeGetFloatTimeDomainDataMethod=o=>{o.getFloatTimeDomainData=e=>{const s=new Uint8Array(e.length);o.getByteTimeDomainData(s);const a=Math.max(s.length,o.fftSize);for(let c=0;c(s,a)=>{const c=s.createAnalyser();if(assignNativeAudioNodeOptions(c,a),!(a.maxDecibels>a.minDecibels))throw e();return assignNativeAudioNodeOption(c,a,"fftSize"),assignNativeAudioNodeOption(c,a,"maxDecibels"),assignNativeAudioNodeOption(c,a,"minDecibels"),assignNativeAudioNodeOption(c,a,"smoothingTimeConstant"),o(testAnalyserNodeGetFloatTimeDomainDataMethodSupport,()=>testAnalyserNodeGetFloatTimeDomainDataMethodSupport(c))||wrapAnalyserNodeGetFloatTimeDomainDataMethod(c),c},createNativeAudioBufferConstructor=o=>o===null?null:o.hasOwnProperty("AudioBuffer")?o.AudioBuffer:null,assignNativeAudioNodeAudioParamValue=(o,e,s)=>{const a=e[s];a!==void 0&&a!==o[s].value&&(o[s].value=a)},wrapAudioBufferSourceNodeStartMethodConsecutiveCalls=o=>{o.start=(e=>{let s=!1;return(a=0,c=0,d)=>{if(s)throw createInvalidStateError();e.call(o,a,c,d),s=!0}})(o.start)},wrapAudioScheduledSourceNodeStartMethodNegativeParameters=o=>{o.start=(e=>(s=0,a=0,c)=>{if(typeof c=="number"&&c<0||a<0||s<0)throw new RangeError("The parameters can't be negative.");e.call(o,s,a,c)})(o.start)},wrapAudioScheduledSourceNodeStopMethodNegativeParameters=o=>{o.stop=(e=>(s=0)=>{if(s<0)throw new RangeError("The parameter can't be negative.");e.call(o,s)})(o.stop)},createNativeAudioBufferSourceNodeFactory=(o,e,s,a,c,d,_,b,k,$,j)=>(_e,et)=>{const tt=_e.createBufferSource();return assignNativeAudioNodeOptions(tt,et),assignNativeAudioNodeAudioParamValue(tt,et,"playbackRate"),assignNativeAudioNodeOption(tt,et,"buffer"),assignNativeAudioNodeOption(tt,et,"loop"),assignNativeAudioNodeOption(tt,et,"loopEnd"),assignNativeAudioNodeOption(tt,et,"loopStart"),e(s,()=>s(_e))||wrapAudioBufferSourceNodeStartMethodConsecutiveCalls(tt),e(a,()=>a(_e))||k(tt),e(c,()=>c(_e))||$(tt,_e),e(d,()=>d(_e))||wrapAudioScheduledSourceNodeStartMethodNegativeParameters(tt),e(_,()=>_(_e))||j(tt,_e),e(b,()=>b(_e))||wrapAudioScheduledSourceNodeStopMethodNegativeParameters(tt),o(_e,tt),tt},createNativeAudioContextConstructor=o=>o===null?null:o.hasOwnProperty("AudioContext")?o.AudioContext:o.hasOwnProperty("webkitAudioContext")?o.webkitAudioContext:null,createNativeAudioDestinationNodeFactory=(o,e)=>(s,a,c)=>{const d=s.destination;if(d.channelCount!==a)try{d.channelCount=a}catch{}c&&d.channelCountMode!=="explicit"&&(d.channelCountMode="explicit"),d.maxChannelCount===0&&Object.defineProperty(d,"maxChannelCount",{value:a});const _=o(s,{channelCount:a,channelCountMode:d.channelCountMode,channelInterpretation:d.channelInterpretation,gain:1});return e(_,"channelCount",b=>()=>b.call(_),b=>k=>{b.call(_,k);try{d.channelCount=k}catch($){if(k>d.maxChannelCount)throw $}}),e(_,"channelCountMode",b=>()=>b.call(_),b=>k=>{b.call(_,k),d.channelCountMode=k}),e(_,"channelInterpretation",b=>()=>b.call(_),b=>k=>{b.call(_,k),d.channelInterpretation=k}),Object.defineProperty(_,"maxChannelCount",{get:()=>d.maxChannelCount}),_.connect(d),_},createNativeAudioWorkletNodeConstructor=o=>o===null?null:o.hasOwnProperty("AudioWorkletNode")?o.AudioWorkletNode:null,testClonabilityOfAudioWorkletNodeOptions=o=>{const{port1:e}=new MessageChannel;try{e.postMessage(o)}finally{e.close()}},createNativeAudioWorkletNodeFactory=(o,e,s,a,c)=>(d,_,b,k,$,j)=>{if(b!==null)try{const _e=new b(d,k,j),et=new Map;let tt=null;if(Object.defineProperties(_e,{channelCount:{get:()=>j.channelCount,set:()=>{throw o()}},channelCountMode:{get:()=>"explicit",set:()=>{throw o()}},onprocessorerror:{get:()=>tt,set:nt=>{typeof tt=="function"&&_e.removeEventListener("processorerror",tt),tt=typeof nt=="function"?nt:null,typeof tt=="function"&&_e.addEventListener("processorerror",tt)}}}),_e.addEventListener=(nt=>(...st)=>{if(st[0]==="processorerror"){const rt=typeof st[1]=="function"?st[1]:typeof st[1]=="object"&&st[1]!==null&&typeof st[1].handleEvent=="function"?st[1].handleEvent:null;if(rt!==null){const it=et.get(st[1]);it!==void 0?st[1]=it:(st[1]=at=>{at.type==="error"?(Object.defineProperties(at,{type:{value:"processorerror"}}),rt(at)):rt(new ErrorEvent(st[0],Ot({},at)))},et.set(rt,st[1]))}}return nt.call(_e,"error",st[1],st[2]),nt.call(_e,...st)})(_e.addEventListener),_e.removeEventListener=(nt=>(...st)=>{if(st[0]==="processorerror"){const rt=et.get(st[1]);rt!==void 0&&(et.delete(st[1]),st[1]=rt)}return nt.call(_e,"error",st[1],st[2]),nt.call(_e,st[0],st[1],st[2])})(_e.removeEventListener),j.numberOfOutputs!==0){const nt=s(d,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});return _e.connect(nt).connect(d.destination),c(_e,()=>nt.disconnect(),()=>nt.connect(d.destination))}return _e}catch(_e){throw _e.code===11?a():_e}if($===void 0)throw a();return testClonabilityOfAudioWorkletNodeOptions(j),e(d,_,$,j)},computeBufferSize=(o,e)=>o===null?512:Math.max(512,Math.min(16384,Math.pow(2,Math.round(Math.log2(o*e))))),cloneAudioWorkletNodeOptions=o=>new Promise((e,s)=>{const{port1:a,port2:c}=new MessageChannel;a.onmessage=({data:d})=>{a.close(),c.close(),e(d)},a.onmessageerror=({data:d})=>{a.close(),c.close(),s(d)},c.postMessage(o)}),createAudioWorkletProcessorPromise=async(o,e)=>{const s=await cloneAudioWorkletNodeOptions(e);return new o(s)},createAudioWorkletProcessor=(o,e,s,a)=>{let c=NODE_TO_PROCESSOR_MAPS.get(o);c===void 0&&(c=new WeakMap,NODE_TO_PROCESSOR_MAPS.set(o,c));const d=createAudioWorkletProcessorPromise(s,a);return c.set(e,d),d},createNativeAudioWorkletNodeFakerFactory=(o,e,s,a,c,d,_,b,k,$,j,_e,et)=>(tt,nt,st,rt)=>{if(rt.numberOfInputs===0&&rt.numberOfOutputs===0)throw k();const it=Array.isArray(rt.outputChannelCount)?rt.outputChannelCount:Array.from(rt.outputChannelCount);if(it.some(kt=>kt<1))throw k();if(it.length!==rt.numberOfOutputs)throw e();if(rt.channelCountMode!=="explicit")throw k();const at=rt.channelCount*rt.numberOfInputs,ot=it.reduce((kt,Bt)=>kt+Bt,0),pt=st.parameterDescriptors===void 0?0:st.parameterDescriptors.length;if(at+pt>6||ot>6)throw k();const ct=new MessageChannel,ut=[],lt=[];for(let kt=0;ktkt===void 0?0:kt},maxValue:{get:()=>Bt===void 0?MOST_POSITIVE_SINGLE_FLOAT:Bt},minValue:{get:()=>Qt===void 0?MOST_NEGATIVE_SINGLE_FLOAT:Qt}}),ht.push($t)}const dt=a(tt,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:Math.max(1,at+pt)}),gt=computeBufferSize(nt,tt.sampleRate),yt=b(tt,gt,at+pt,Math.max(1,ot)),ft=c(tt,{channelCount:Math.max(1,ot),channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:Math.max(1,ot)}),mt=[];for(let kt=0;kt{const Qt=ht[Bt];return Qt.connect(dt,0,at+Bt),Qt.start(0),[kt,Qt.offset]}));dt.connect(yt);let vt=rt.channelInterpretation,At=null;const _t=rt.numberOfOutputs===0?[yt]:mt,Dt={get bufferSize(){return gt},get channelCount(){return rt.channelCount},set channelCount(kt){throw s()},get channelCountMode(){return rt.channelCountMode},set channelCountMode(kt){throw s()},get channelInterpretation(){return vt},set channelInterpretation(kt){for(const Bt of ut)Bt.channelInterpretation=kt;vt=kt},get context(){return yt.context},get inputs(){return ut},get numberOfInputs(){return rt.numberOfInputs},get numberOfOutputs(){return rt.numberOfOutputs},get onprocessorerror(){return At},set onprocessorerror(kt){typeof At=="function"&&Dt.removeEventListener("processorerror",At),At=typeof kt=="function"?kt:null,typeof At=="function"&&Dt.addEventListener("processorerror",At)},get parameters(){return Et},get port(){return ct.port2},addEventListener(...kt){return yt.addEventListener(kt[0],kt[1],kt[2])},connect:o.bind(null,_t),disconnect:$.bind(null,_t),dispatchEvent(...kt){return yt.dispatchEvent(kt[0])},removeEventListener(...kt){return yt.removeEventListener(kt[0],kt[1],kt[2])}},bt=new Map;ct.port1.addEventListener=(kt=>(...Bt)=>{if(Bt[0]==="message"){const Qt=typeof Bt[1]=="function"?Bt[1]:typeof Bt[1]=="object"&&Bt[1]!==null&&typeof Bt[1].handleEvent=="function"?Bt[1].handleEvent:null;if(Qt!==null){const Lt=bt.get(Bt[1]);Lt!==void 0?Bt[1]=Lt:(Bt[1]=$t=>{j(tt.currentTime,tt.sampleRate,()=>Qt($t))},bt.set(Qt,Bt[1]))}}return kt.call(ct.port1,Bt[0],Bt[1],Bt[2])})(ct.port1.addEventListener),ct.port1.removeEventListener=(kt=>(...Bt)=>{if(Bt[0]==="message"){const Qt=bt.get(Bt[1]);Qt!==void 0&&(bt.delete(Bt[1]),Bt[1]=Qt)}return kt.call(ct.port1,Bt[0],Bt[1],Bt[2])})(ct.port1.removeEventListener);let Tt=null;Object.defineProperty(ct.port1,"onmessage",{get:()=>Tt,set:kt=>{typeof Tt=="function"&&ct.port1.removeEventListener("message",Tt),Tt=typeof kt=="function"?kt:null,typeof Tt=="function"&&(ct.port1.addEventListener("message",Tt),ct.port1.start())}}),st.prototype.port=ct.port1;let St=null;createAudioWorkletProcessor(tt,Dt,st,rt).then(kt=>St=kt);const xt=createNestedArrays(rt.numberOfInputs,rt.channelCount),Rt=createNestedArrays(rt.numberOfOutputs,it),Mt=st.parameterDescriptors===void 0?[]:st.parameterDescriptors.reduce((kt,{name:Bt})=>wt(Ot({},kt),{[Bt]:new Float32Array(128)}),{});let It=!0;const Ft=()=>{rt.numberOfOutputs>0&&yt.disconnect(ft);for(let kt=0,Bt=0;kt{if(St!==null){const Qt=_e(Dt);for(let Lt=0;Lt{copyFromChannel(kt,Mt,$t,at+Wt,Lt)});for(let $t=0;$t{if(Qt[zt].size>0)return Vt.set(zt,gt/128),Gt;const Xt=Vt.get(zt);return Xt===void 0?[]:(Gt.every(Zt=>Zt.every(sn=>sn===0))&&(Xt===1?Vt.delete(zt):Vt.set(zt,Xt-1)),Gt)});It=j(tt.currentTime+Lt/tt.sampleRate,tt.sampleRate,()=>St.process($t,Rt,Mt));for(let Gt=0,zt=0;Gtyt.connect(Nt).connect(tt.destination),Jt=()=>{yt.disconnect(Nt),Nt.disconnect()},en=()=>{if(It){Jt(),rt.numberOfOutputs>0&&yt.connect(ft);for(let kt=0,Bt=0;kt{It&&(Kt(),Ft()),jt=!1};return Kt(),et(Dt,en,tn)},createNativeBiquadFilterNode=(o,e)=>{const s=o.createBiquadFilter();return assignNativeAudioNodeOptions(s,e),assignNativeAudioNodeAudioParamValue(s,e,"Q"),assignNativeAudioNodeAudioParamValue(s,e,"detune"),assignNativeAudioNodeAudioParamValue(s,e,"frequency"),assignNativeAudioNodeAudioParamValue(s,e,"gain"),assignNativeAudioNodeOption(s,e,"type"),s},createNativeChannelMergerNodeFactory=(o,e)=>(s,a)=>{const c=s.createChannelMerger(a.numberOfInputs);return o!==null&&o.name==="webkitAudioContext"&&e(s,c),assignNativeAudioNodeOptions(c,a),c},wrapChannelSplitterNode=o=>{const e=o.numberOfOutputs;Object.defineProperty(o,"channelCount",{get:()=>e,set:s=>{if(s!==e)throw createInvalidStateError()}}),Object.defineProperty(o,"channelCountMode",{get:()=>"explicit",set:s=>{if(s!=="explicit")throw createInvalidStateError()}}),Object.defineProperty(o,"channelInterpretation",{get:()=>"discrete",set:s=>{if(s!=="discrete")throw createInvalidStateError()}})},createNativeChannelSplitterNode=(o,e)=>{const s=o.createChannelSplitter(e.numberOfOutputs);return assignNativeAudioNodeOptions(s,e),wrapChannelSplitterNode(s),s},createNativeConstantSourceNodeFactory=(o,e,s,a,c)=>(d,_)=>{if(d.createConstantSource===void 0)return s(d,_);const b=d.createConstantSource();return assignNativeAudioNodeOptions(b,_),assignNativeAudioNodeAudioParamValue(b,_,"offset"),e(a,()=>a(d))||wrapAudioScheduledSourceNodeStartMethodNegativeParameters(b),e(c,()=>c(d))||wrapAudioScheduledSourceNodeStopMethodNegativeParameters(b),o(d,b),b},interceptConnections=(o,e)=>(o.connect=e.connect.bind(e),o.disconnect=e.disconnect.bind(e),o),createNativeConstantSourceNodeFakerFactory=(o,e,s,a)=>(c,b)=>{var k=b,{offset:d}=k,_=ln(k,["offset"]);const $=c.createBuffer(1,2,44100),j=e(c,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),_e=s(c,wt(Ot({},_),{gain:d})),et=$.getChannelData(0);et[0]=1,et[1]=1,j.buffer=$,j.loop=!0;const tt={get bufferSize(){},get channelCount(){return _e.channelCount},set channelCount(rt){_e.channelCount=rt},get channelCountMode(){return _e.channelCountMode},set channelCountMode(rt){_e.channelCountMode=rt},get channelInterpretation(){return _e.channelInterpretation},set channelInterpretation(rt){_e.channelInterpretation=rt},get context(){return _e.context},get inputs(){return[]},get numberOfInputs(){return j.numberOfInputs},get numberOfOutputs(){return _e.numberOfOutputs},get offset(){return _e.gain},get onended(){return j.onended},set onended(rt){j.onended=rt},addEventListener(...rt){return j.addEventListener(rt[0],rt[1],rt[2])},dispatchEvent(...rt){return j.dispatchEvent(rt[0])},removeEventListener(...rt){return j.removeEventListener(rt[0],rt[1],rt[2])},start(rt=0){j.start.call(j,rt)},stop(rt=0){j.stop.call(j,rt)}},nt=()=>j.connect(_e),st=()=>j.disconnect(_e);return o(c,j),a(interceptConnections(tt,_e),nt,st)},createNativeConvolverNodeFactory=(o,e)=>(s,a)=>{const c=s.createConvolver();if(assignNativeAudioNodeOptions(c,a),a.disableNormalization===c.normalize&&(c.normalize=!a.disableNormalization),assignNativeAudioNodeOption(c,a,"buffer"),a.channelCount>2||(e(c,"channelCount",d=>()=>d.call(c),d=>_=>{if(_>2)throw o();return d.call(c,_)}),a.channelCountMode==="max"))throw o();return e(c,"channelCountMode",d=>()=>d.call(c),d=>_=>{if(_==="max")throw o();return d.call(c,_)}),c},createNativeDelayNode=(o,e)=>{const s=o.createDelay(e.maxDelayTime);return assignNativeAudioNodeOptions(s,e),assignNativeAudioNodeAudioParamValue(s,e,"delayTime"),s},createNativeDynamicsCompressorNodeFactory=o=>(e,s)=>{const a=e.createDynamicsCompressor();if(assignNativeAudioNodeOptions(a,s),s.channelCount>2||s.channelCountMode==="max")throw o();return assignNativeAudioNodeAudioParamValue(a,s,"attack"),assignNativeAudioNodeAudioParamValue(a,s,"knee"),assignNativeAudioNodeAudioParamValue(a,s,"ratio"),assignNativeAudioNodeAudioParamValue(a,s,"release"),assignNativeAudioNodeAudioParamValue(a,s,"threshold"),a},createNativeGainNode=(o,e)=>{const s=o.createGain();return assignNativeAudioNodeOptions(s,e),assignNativeAudioNodeAudioParamValue(s,e,"gain"),s},createNativeIIRFilterNodeFactory=o=>(e,s,a)=>{if(e.createIIRFilter===void 0)return o(e,s,a);const c=e.createIIRFilter(a.feedforward,a.feedback);return assignNativeAudioNodeOptions(c,a),c};function divide(o,e){const s=e[0]*e[0]+e[1]*e[1];return[(o[0]*e[0]+o[1]*e[1])/s,(o[1]*e[0]-o[0]*e[1])/s]}function multiply(o,e){return[o[0]*e[0]-o[1]*e[1],o[0]*e[1]+o[1]*e[0]]}function evaluatePolynomial(o,e){let s=[0,0];for(let a=o.length-1;a>=0;a-=1)s=multiply(s,e),s[0]+=o[a];return s}const createNativeIIRFilterNodeFakerFactory=(o,e,s,a)=>(c,d,{channelCount:_,channelCountMode:b,channelInterpretation:k,feedback:$,feedforward:j})=>{const _e=computeBufferSize(d,c.sampleRate),et=$ instanceof Float64Array?$:new Float64Array($),tt=j instanceof Float64Array?j:new Float64Array(j),nt=et.length,st=tt.length,rt=Math.min(nt,st);if(nt===0||nt>20)throw a();if(et[0]===0)throw e();if(st===0||st>20)throw a();if(tt[0]===0)throw e();if(et[0]!==1){for(let ht=0;ht{const dt=ht.inputBuffer,gt=ht.outputBuffer,yt=dt.numberOfChannels;for(let ft=0;fto.createMediaElementSource(e.mediaElement),createNativeMediaStreamAudioDestinationNode=(o,e)=>{const s=o.createMediaStreamDestination();return assignNativeAudioNodeOptions(s,e),s.numberOfOutputs===1&&Object.defineProperty(s,"numberOfOutputs",{get:()=>0}),s},createNativeMediaStreamAudioSourceNode=(o,{mediaStream:e})=>{const s=e.getAudioTracks();s.sort((d,_)=>d.id<_.id?-1:d.id>_.id?1:0);const a=s.slice(0,1),c=o.createMediaStreamSource(new MediaStream(a));return Object.defineProperty(c,"mediaStream",{value:e}),c},createNativeMediaStreamTrackAudioSourceNodeFactory=(o,e)=>(s,{mediaStreamTrack:a})=>{if(typeof s.createMediaStreamTrackSource=="function")return s.createMediaStreamTrackSource(a);const c=new MediaStream([a]),d=s.createMediaStreamSource(c);if(a.kind!=="audio")throw o();if(e(s))throw new TypeError;return d},createNativeOfflineAudioContextConstructor=o=>o===null?null:o.hasOwnProperty("OfflineAudioContext")?o.OfflineAudioContext:o.hasOwnProperty("webkitOfflineAudioContext")?o.webkitOfflineAudioContext:null,createNativeOscillatorNodeFactory=(o,e,s,a,c,d)=>(_,b)=>{const k=_.createOscillator();return assignNativeAudioNodeOptions(k,b),assignNativeAudioNodeAudioParamValue(k,b,"detune"),assignNativeAudioNodeAudioParamValue(k,b,"frequency"),b.periodicWave!==void 0?k.setPeriodicWave(b.periodicWave):assignNativeAudioNodeOption(k,b,"type"),e(s,()=>s(_))||wrapAudioScheduledSourceNodeStartMethodNegativeParameters(k),e(a,()=>a(_))||d(k,_),e(c,()=>c(_))||wrapAudioScheduledSourceNodeStopMethodNegativeParameters(k),o(_,k),k},createNativePannerNodeFactory=o=>(e,s)=>{const a=e.createPanner();return a.orientationX===void 0?o(e,s):(assignNativeAudioNodeOptions(a,s),assignNativeAudioNodeAudioParamValue(a,s,"orientationX"),assignNativeAudioNodeAudioParamValue(a,s,"orientationY"),assignNativeAudioNodeAudioParamValue(a,s,"orientationZ"),assignNativeAudioNodeAudioParamValue(a,s,"positionX"),assignNativeAudioNodeAudioParamValue(a,s,"positionY"),assignNativeAudioNodeAudioParamValue(a,s,"positionZ"),assignNativeAudioNodeOption(a,s,"coneInnerAngle"),assignNativeAudioNodeOption(a,s,"coneOuterAngle"),assignNativeAudioNodeOption(a,s,"coneOuterGain"),assignNativeAudioNodeOption(a,s,"distanceModel"),assignNativeAudioNodeOption(a,s,"maxDistance"),assignNativeAudioNodeOption(a,s,"panningModel"),assignNativeAudioNodeOption(a,s,"refDistance"),assignNativeAudioNodeOption(a,s,"rolloffFactor"),a)},createNativePannerNodeFakerFactory=(o,e,s,a,c,d,_,b,k,$)=>(j,gt)=>{var yt=gt,{coneInnerAngle:_e,coneOuterAngle:et,coneOuterGain:tt,distanceModel:nt,maxDistance:st,orientationX:rt,orientationY:it,orientationZ:at,panningModel:ot,positionX:pt,positionY:ct,positionZ:ut,refDistance:lt,rolloffFactor:ht}=yt,dt=ln(yt,["coneInnerAngle","coneOuterAngle","coneOuterGain","distanceModel","maxDistance","orientationX","orientationY","orientationZ","panningModel","positionX","positionY","positionZ","refDistance","rolloffFactor"]);const ft=j.createPanner();if(dt.channelCount>2||dt.channelCountMode==="max")throw _();assignNativeAudioNodeOptions(ft,dt);const mt={channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete"},Et=s(j,wt(Ot({},mt),{channelInterpretation:"speakers",numberOfInputs:6})),vt=a(j,wt(Ot({},dt),{gain:1})),At=a(j,wt(Ot({},mt),{gain:1})),_t=a(j,wt(Ot({},mt),{gain:0})),Dt=a(j,wt(Ot({},mt),{gain:0})),bt=a(j,wt(Ot({},mt),{gain:0})),Tt=a(j,wt(Ot({},mt),{gain:0})),St=a(j,wt(Ot({},mt),{gain:0})),Ct=c(j,256,6,1),xt=d(j,wt(Ot({},mt),{curve:new Float32Array([1,1]),oversample:"none"}));let Rt=[rt,it,at],Mt=[pt,ct,ut];const It=new Float32Array(1);Ct.onaudioprocess=({inputBuffer:Nt})=>{const Kt=[k(Nt,It,0),k(Nt,It,1),k(Nt,It,2)];Kt.some((en,tn)=>en!==Rt[tn])&&(ft.setOrientation(...Kt),Rt=Kt);const Jt=[k(Nt,It,3),k(Nt,It,4),k(Nt,It,5)];Jt.some((en,tn)=>en!==Mt[tn])&&(ft.setPosition(...Jt),Mt=Jt)},Object.defineProperty(_t.gain,"defaultValue",{get:()=>0}),Object.defineProperty(Dt.gain,"defaultValue",{get:()=>0}),Object.defineProperty(bt.gain,"defaultValue",{get:()=>0}),Object.defineProperty(Tt.gain,"defaultValue",{get:()=>0}),Object.defineProperty(St.gain,"defaultValue",{get:()=>0});const Ft={get bufferSize(){},get channelCount(){return ft.channelCount},set channelCount(Nt){if(Nt>2)throw _();vt.channelCount=Nt,ft.channelCount=Nt},get channelCountMode(){return ft.channelCountMode},set channelCountMode(Nt){if(Nt==="max")throw _();vt.channelCountMode=Nt,ft.channelCountMode=Nt},get channelInterpretation(){return ft.channelInterpretation},set channelInterpretation(Nt){vt.channelInterpretation=Nt,ft.channelInterpretation=Nt},get coneInnerAngle(){return ft.coneInnerAngle},set coneInnerAngle(Nt){ft.coneInnerAngle=Nt},get coneOuterAngle(){return ft.coneOuterAngle},set coneOuterAngle(Nt){ft.coneOuterAngle=Nt},get coneOuterGain(){return ft.coneOuterGain},set coneOuterGain(Nt){if(Nt<0||Nt>1)throw e();ft.coneOuterGain=Nt},get context(){return ft.context},get distanceModel(){return ft.distanceModel},set distanceModel(Nt){ft.distanceModel=Nt},get inputs(){return[vt]},get maxDistance(){return ft.maxDistance},set maxDistance(Nt){if(Nt<0)throw new RangeError;ft.maxDistance=Nt},get numberOfInputs(){return ft.numberOfInputs},get numberOfOutputs(){return ft.numberOfOutputs},get orientationX(){return At.gain},get orientationY(){return _t.gain},get orientationZ(){return Dt.gain},get panningModel(){return ft.panningModel},set panningModel(Nt){ft.panningModel=Nt},get positionX(){return bt.gain},get positionY(){return Tt.gain},get positionZ(){return St.gain},get refDistance(){return ft.refDistance},set refDistance(Nt){if(Nt<0)throw new RangeError;ft.refDistance=Nt},get rolloffFactor(){return ft.rolloffFactor},set rolloffFactor(Nt){if(Nt<0)throw new RangeError;ft.rolloffFactor=Nt},addEventListener(...Nt){return vt.addEventListener(Nt[0],Nt[1],Nt[2])},dispatchEvent(...Nt){return vt.dispatchEvent(Nt[0])},removeEventListener(...Nt){return vt.removeEventListener(Nt[0],Nt[1],Nt[2])}};_e!==Ft.coneInnerAngle&&(Ft.coneInnerAngle=_e),et!==Ft.coneOuterAngle&&(Ft.coneOuterAngle=et),tt!==Ft.coneOuterGain&&(Ft.coneOuterGain=tt),nt!==Ft.distanceModel&&(Ft.distanceModel=nt),st!==Ft.maxDistance&&(Ft.maxDistance=st),rt!==Ft.orientationX.value&&(Ft.orientationX.value=rt),it!==Ft.orientationY.value&&(Ft.orientationY.value=it),at!==Ft.orientationZ.value&&(Ft.orientationZ.value=at),ot!==Ft.panningModel&&(Ft.panningModel=ot),pt!==Ft.positionX.value&&(Ft.positionX.value=pt),ct!==Ft.positionY.value&&(Ft.positionY.value=ct),ut!==Ft.positionZ.value&&(Ft.positionZ.value=ut),lt!==Ft.refDistance&&(Ft.refDistance=lt),ht!==Ft.rolloffFactor&&(Ft.rolloffFactor=ht),(Rt[0]!==1||Rt[1]!==0||Rt[2]!==0)&&ft.setOrientation(...Rt),(Mt[0]!==0||Mt[1]!==0||Mt[2]!==0)&&ft.setPosition(...Mt);const Vt=()=>{vt.connect(ft),o(vt,xt,0,0),xt.connect(At).connect(Et,0,0),xt.connect(_t).connect(Et,0,1),xt.connect(Dt).connect(Et,0,2),xt.connect(bt).connect(Et,0,3),xt.connect(Tt).connect(Et,0,4),xt.connect(St).connect(Et,0,5),Et.connect(Ct).connect(j.destination)},jt=()=>{vt.disconnect(ft),b(vt,xt,0,0),xt.disconnect(At),At.disconnect(Et),xt.disconnect(_t),_t.disconnect(Et),xt.disconnect(Dt),Dt.disconnect(Et),xt.disconnect(bt),bt.disconnect(Et),xt.disconnect(Tt),Tt.disconnect(Et),xt.disconnect(St),St.disconnect(Et),Et.disconnect(Ct),Ct.disconnect(j.destination)};return $(interceptConnections(Ft,ft),Vt,jt)},createNativePeriodicWaveFactory=o=>(e,{disableNormalization:s,imag:a,real:c})=>{const d=a instanceof Float32Array?a:new Float32Array(a),_=c instanceof Float32Array?c:new Float32Array(c),b=e.createPeriodicWave(_,d,{disableNormalization:s});if(Array.from(a).length<2)throw o();return b},createNativeScriptProcessorNode=(o,e,s,a)=>o.createScriptProcessor(e,s,a),createNativeStereoPannerNodeFactory=(o,e)=>(s,a)=>{const c=a.channelCountMode;if(c==="clamped-max")throw e();if(s.createStereoPanner===void 0)return o(s,a);const d=s.createStereoPanner();return assignNativeAudioNodeOptions(d,a),assignNativeAudioNodeAudioParamValue(d,a,"pan"),Object.defineProperty(d,"channelCountMode",{get:()=>c,set:_=>{if(_!==c)throw e()}}),d},createNativeStereoPannerNodeFakerFactory=(o,e,s,a,c,d)=>{const b=new Float32Array([1,1]),k=Math.PI/2,$={channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete"},j=wt(Ot({},$),{oversample:"none"}),_e=(nt,st,rt,it)=>{const at=new Float32Array(16385),ot=new Float32Array(16385);for(let dt=0;dt<16385;dt+=1){const gt=dt/16384*k;at[dt]=Math.cos(gt),ot[dt]=Math.sin(gt)}const pt=s(nt,wt(Ot({},$),{gain:0})),ct=a(nt,wt(Ot({},j),{curve:at})),ut=a(nt,wt(Ot({},j),{curve:b})),lt=s(nt,wt(Ot({},$),{gain:0})),ht=a(nt,wt(Ot({},j),{curve:ot}));return{connectGraph(){st.connect(pt),st.connect(ut.inputs===void 0?ut:ut.inputs[0]),st.connect(lt),ut.connect(rt),rt.connect(ct.inputs===void 0?ct:ct.inputs[0]),rt.connect(ht.inputs===void 0?ht:ht.inputs[0]),ct.connect(pt.gain),ht.connect(lt.gain),pt.connect(it,0,0),lt.connect(it,0,1)},disconnectGraph(){st.disconnect(pt),st.disconnect(ut.inputs===void 0?ut:ut.inputs[0]),st.disconnect(lt),ut.disconnect(rt),rt.disconnect(ct.inputs===void 0?ct:ct.inputs[0]),rt.disconnect(ht.inputs===void 0?ht:ht.inputs[0]),ct.disconnect(pt.gain),ht.disconnect(lt.gain),pt.disconnect(it,0,0),lt.disconnect(it,0,1)}}},et=(nt,st,rt,it)=>{const at=new Float32Array(16385),ot=new Float32Array(16385),pt=new Float32Array(16385),ct=new Float32Array(16385),ut=Math.floor(16385/2);for(let _t=0;_t<16385;_t+=1)if(_t>ut){const Dt=(_t-ut)/(16384-ut)*k;at[_t]=Math.cos(Dt),ot[_t]=Math.sin(Dt),pt[_t]=0,ct[_t]=1}else{const Dt=_t/(16384-ut)*k;at[_t]=1,ot[_t]=0,pt[_t]=Math.cos(Dt),ct[_t]=Math.sin(Dt)}const lt=e(nt,{channelCount:2,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:2}),ht=s(nt,wt(Ot({},$),{gain:0})),dt=a(nt,wt(Ot({},j),{curve:at})),gt=s(nt,wt(Ot({},$),{gain:0})),yt=a(nt,wt(Ot({},j),{curve:ot})),ft=a(nt,wt(Ot({},j),{curve:b})),mt=s(nt,wt(Ot({},$),{gain:0})),Et=a(nt,wt(Ot({},j),{curve:pt})),vt=s(nt,wt(Ot({},$),{gain:0})),At=a(nt,wt(Ot({},j),{curve:ct}));return{connectGraph(){st.connect(lt),st.connect(ft.inputs===void 0?ft:ft.inputs[0]),lt.connect(ht,0),lt.connect(gt,0),lt.connect(mt,1),lt.connect(vt,1),ft.connect(rt),rt.connect(dt.inputs===void 0?dt:dt.inputs[0]),rt.connect(yt.inputs===void 0?yt:yt.inputs[0]),rt.connect(Et.inputs===void 0?Et:Et.inputs[0]),rt.connect(At.inputs===void 0?At:At.inputs[0]),dt.connect(ht.gain),yt.connect(gt.gain),Et.connect(mt.gain),At.connect(vt.gain),ht.connect(it,0,0),mt.connect(it,0,0),gt.connect(it,0,1),vt.connect(it,0,1)},disconnectGraph(){st.disconnect(lt),st.disconnect(ft.inputs===void 0?ft:ft.inputs[0]),lt.disconnect(ht,0),lt.disconnect(gt,0),lt.disconnect(mt,1),lt.disconnect(vt,1),ft.disconnect(rt),rt.disconnect(dt.inputs===void 0?dt:dt.inputs[0]),rt.disconnect(yt.inputs===void 0?yt:yt.inputs[0]),rt.disconnect(Et.inputs===void 0?Et:Et.inputs[0]),rt.disconnect(At.inputs===void 0?At:At.inputs[0]),dt.disconnect(ht.gain),yt.disconnect(gt.gain),Et.disconnect(mt.gain),At.disconnect(vt.gain),ht.disconnect(it,0,0),mt.disconnect(it,0,0),gt.disconnect(it,0,1),vt.disconnect(it,0,1)}}},tt=(nt,st,rt,it,at)=>{if(st===1)return _e(nt,rt,it,at);if(st===2)return et(nt,rt,it,at);throw c()};return(nt,ot)=>{var pt=ot,{channelCount:st,channelCountMode:rt,pan:it}=pt,at=ln(pt,["channelCount","channelCountMode","pan"]);if(rt==="max")throw c();const ct=o(nt,wt(Ot({},at),{channelCount:1,channelCountMode:rt,numberOfInputs:2})),ut=s(nt,wt(Ot({},at),{channelCount:st,channelCountMode:rt,gain:1})),lt=s(nt,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:it});let{connectGraph:ht,disconnectGraph:dt}=tt(nt,st,ut,lt,ct);Object.defineProperty(lt.gain,"defaultValue",{get:()=>0}),Object.defineProperty(lt.gain,"maxValue",{get:()=>1}),Object.defineProperty(lt.gain,"minValue",{get:()=>-1});const gt={get bufferSize(){},get channelCount(){return ut.channelCount},set channelCount(Et){ut.channelCount!==Et&&(yt&&dt(),{connectGraph:ht,disconnectGraph:dt}=tt(nt,Et,ut,lt,ct),yt&&ht()),ut.channelCount=Et},get channelCountMode(){return ut.channelCountMode},set channelCountMode(Et){if(Et==="clamped-max"||Et==="max")throw c();ut.channelCountMode=Et},get channelInterpretation(){return ut.channelInterpretation},set channelInterpretation(Et){ut.channelInterpretation=Et},get context(){return ut.context},get inputs(){return[ut]},get numberOfInputs(){return ut.numberOfInputs},get numberOfOutputs(){return ut.numberOfOutputs},get pan(){return lt.gain},addEventListener(...Et){return ut.addEventListener(Et[0],Et[1],Et[2])},dispatchEvent(...Et){return ut.dispatchEvent(Et[0])},removeEventListener(...Et){return ut.removeEventListener(Et[0],Et[1],Et[2])}};let yt=!1;const ft=()=>{ht(),yt=!0},mt=()=>{dt(),yt=!1};return d(interceptConnections(gt,ct),ft,mt)}},createNativeWaveShaperNodeFactory=(o,e,s,a,c,d,_)=>(b,k)=>{const $=b.createWaveShaper();if(d!==null&&d.name==="webkitAudioContext"&&b.createGain().gain.automationRate===void 0)return s(b,k);assignNativeAudioNodeOptions($,k);const j=k.curve===null||k.curve instanceof Float32Array?k.curve:new Float32Array(k.curve);if(j!==null&&j.length<2)throw e();assignNativeAudioNodeOption($,{curve:j},"curve"),assignNativeAudioNodeOption($,k,"oversample");let _e=null,et=!1;return _($,"curve",st=>()=>st.call($),st=>rt=>(st.call($,rt),et&&(a(rt)&&_e===null?_e=o(b,$):!a(rt)&&_e!==null&&(_e(),_e=null)),rt)),c($,()=>{et=!0,a($.curve)&&(_e=o(b,$))},()=>{et=!1,_e!==null&&(_e(),_e=null)})},createNativeWaveShaperNodeFakerFactory=(o,e,s,a,c)=>(d,$)=>{var j=$,{curve:_,oversample:b}=j,k=ln(j,["curve","oversample"]);const _e=d.createWaveShaper(),et=d.createWaveShaper();assignNativeAudioNodeOptions(_e,k),assignNativeAudioNodeOptions(et,k);const tt=s(d,wt(Ot({},k),{gain:1})),nt=s(d,wt(Ot({},k),{gain:-1})),st=s(d,wt(Ot({},k),{gain:1})),rt=s(d,wt(Ot({},k),{gain:-1}));let it=null,at=!1,ot=null;const pt={get bufferSize(){},get channelCount(){return _e.channelCount},set channelCount(lt){tt.channelCount=lt,nt.channelCount=lt,_e.channelCount=lt,st.channelCount=lt,et.channelCount=lt,rt.channelCount=lt},get channelCountMode(){return _e.channelCountMode},set channelCountMode(lt){tt.channelCountMode=lt,nt.channelCountMode=lt,_e.channelCountMode=lt,st.channelCountMode=lt,et.channelCountMode=lt,rt.channelCountMode=lt},get channelInterpretation(){return _e.channelInterpretation},set channelInterpretation(lt){tt.channelInterpretation=lt,nt.channelInterpretation=lt,_e.channelInterpretation=lt,st.channelInterpretation=lt,et.channelInterpretation=lt,rt.channelInterpretation=lt},get context(){return _e.context},get curve(){return ot},set curve(lt){if(lt!==null&<.length<2)throw e();if(lt===null)_e.curve=lt,et.curve=lt;else{const ht=lt.length,dt=new Float32Array(ht+2-ht%2),gt=new Float32Array(ht+2-ht%2);dt[0]=lt[0],gt[0]=-lt[ht-1];const yt=Math.ceil((ht+1)/2),ft=(ht+1)/2-1;for(let mt=1;mt{tt.connect(_e).connect(st),tt.connect(nt).connect(et).connect(rt).connect(st),at=!0,a(ot)&&(it=o(d,tt))},ut=()=>{tt.disconnect(_e),_e.disconnect(st),tt.disconnect(nt),nt.disconnect(et),et.disconnect(rt),rt.disconnect(st),at=!1,it!==null&&(it(),it=null)};return c(interceptConnections(pt,st),ct,ut)},createNotSupportedError=()=>new DOMException("","NotSupportedError"),DEFAULT_OPTIONS$5={numberOfChannels:1},createOfflineAudioContextConstructor=(o,e,s,a,c)=>class extends o{constructor(_,b,k){let $;if(typeof _=="number"&&b!==void 0&&k!==void 0)$={length:b,numberOfChannels:_,sampleRate:k};else if(typeof _=="object")$=_;else throw new Error("The given parameters are not valid.");const{length:j,numberOfChannels:_e,sampleRate:et}=Ot(Ot({},DEFAULT_OPTIONS$5),$),tt=a(_e,j,et);e(testPromiseSupport,()=>testPromiseSupport(tt))||tt.addEventListener("statechange",(()=>{let nt=0;const st=rt=>{this._state==="running"&&(nt>0?(tt.removeEventListener("statechange",st),rt.stopImmediatePropagation(),this._waitForThePromiseToSettle(rt)):nt+=1)};return st})()),super(tt,_e),this._length=j,this._nativeOfflineAudioContext=tt,this._state=null}get length(){return this._nativeOfflineAudioContext.length===void 0?this._length:this._nativeOfflineAudioContext.length}get state(){return this._state===null?this._nativeOfflineAudioContext.state:this._state}startRendering(){return this._state==="running"?Promise.reject(s()):(this._state="running",c(this.destination,this._nativeOfflineAudioContext).finally(()=>{this._state=null,deactivateAudioGraph(this)}))}_waitForThePromiseToSettle(_){this._state===null?this._nativeOfflineAudioContext.dispatchEvent(_):setTimeout(()=>this._waitForThePromiseToSettle(_))}},DEFAULT_OPTIONS$4={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",detune:0,frequency:440,periodicWave:void 0,type:"sine"},createOscillatorNodeConstructor=(o,e,s,a,c,d,_)=>class extends o{constructor(k,$){const j=c(k),_e=Ot(Ot({},DEFAULT_OPTIONS$4),$),et=s(j,_e),tt=d(j),nt=tt?a():null,st=k.sampleRate/2;super(k,!1,et,nt),this._detune=e(this,tt,et.detune,153600,-153600),this._frequency=e(this,tt,et.frequency,st,-st),this._nativeOscillatorNode=et,this._onended=null,this._oscillatorNodeRenderer=nt,this._oscillatorNodeRenderer!==null&&_e.periodicWave!==void 0&&(this._oscillatorNodeRenderer.periodicWave=_e.periodicWave)}get detune(){return this._detune}get frequency(){return this._frequency}get onended(){return this._onended}set onended(k){const $=typeof k=="function"?_(this,k):null;this._nativeOscillatorNode.onended=$;const j=this._nativeOscillatorNode.onended;this._onended=j!==null&&j===$?k:j}get type(){return this._nativeOscillatorNode.type}set type(k){this._nativeOscillatorNode.type=k,this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.periodicWave=null)}setPeriodicWave(k){this._nativeOscillatorNode.setPeriodicWave(k),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.periodicWave=k)}start(k=0){if(this._nativeOscillatorNode.start(k),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.start=k),this.context.state!=="closed"){setInternalStateToActive(this);const $=()=>{this._nativeOscillatorNode.removeEventListener("ended",$),isActiveAudioNode(this)&&setInternalStateToPassive(this)};this._nativeOscillatorNode.addEventListener("ended",$)}}stop(k=0){this._nativeOscillatorNode.stop(k),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.stop=k)}},createOscillatorNodeRendererFactory=(o,e,s,a,c)=>()=>{const d=new WeakMap;let _=null,b=null,k=null;const $=async(j,_e)=>{let et=s(j);const tt=isOwnedByContext(et,_e);if(!tt){const nt={channelCount:et.channelCount,channelCountMode:et.channelCountMode,channelInterpretation:et.channelInterpretation,detune:et.detune.value,frequency:et.frequency.value,periodicWave:_===null?void 0:_,type:et.type};et=e(_e,nt),b!==null&&et.start(b),k!==null&&et.stop(k)}return d.set(_e,et),tt?(await o(_e,j.detune,et.detune),await o(_e,j.frequency,et.frequency)):(await a(_e,j.detune,et.detune),await a(_e,j.frequency,et.frequency)),await c(j,_e,et),et};return{set periodicWave(j){_=j},set start(j){b=j},set stop(j){k=j},render(j,_e){const et=d.get(_e);return et!==void 0?Promise.resolve(et):$(j,_e)}}},DEFAULT_OPTIONS$3={channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",coneInnerAngle:360,coneOuterAngle:360,coneOuterGain:0,distanceModel:"inverse",maxDistance:1e4,orientationX:1,orientationY:0,orientationZ:0,panningModel:"equalpower",positionX:0,positionY:0,positionZ:0,refDistance:1,rolloffFactor:1},createPannerNodeConstructor=(o,e,s,a,c,d,_)=>class extends o{constructor(k,$){const j=c(k),_e=Ot(Ot({},DEFAULT_OPTIONS$3),$),et=s(j,_e),tt=d(j),nt=tt?a():null;super(k,!1,et,nt),this._nativePannerNode=et,this._orientationX=e(this,tt,et.orientationX,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT),this._orientationY=e(this,tt,et.orientationY,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT),this._orientationZ=e(this,tt,et.orientationZ,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT),this._positionX=e(this,tt,et.positionX,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT),this._positionY=e(this,tt,et.positionY,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT),this._positionZ=e(this,tt,et.positionZ,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT),_(this,1)}get coneInnerAngle(){return this._nativePannerNode.coneInnerAngle}set coneInnerAngle(k){this._nativePannerNode.coneInnerAngle=k}get coneOuterAngle(){return this._nativePannerNode.coneOuterAngle}set coneOuterAngle(k){this._nativePannerNode.coneOuterAngle=k}get coneOuterGain(){return this._nativePannerNode.coneOuterGain}set coneOuterGain(k){this._nativePannerNode.coneOuterGain=k}get distanceModel(){return this._nativePannerNode.distanceModel}set distanceModel(k){this._nativePannerNode.distanceModel=k}get maxDistance(){return this._nativePannerNode.maxDistance}set maxDistance(k){this._nativePannerNode.maxDistance=k}get orientationX(){return this._orientationX}get orientationY(){return this._orientationY}get orientationZ(){return this._orientationZ}get panningModel(){return this._nativePannerNode.panningModel}set panningModel(k){this._nativePannerNode.panningModel=k}get positionX(){return this._positionX}get positionY(){return this._positionY}get positionZ(){return this._positionZ}get refDistance(){return this._nativePannerNode.refDistance}set refDistance(k){this._nativePannerNode.refDistance=k}get rolloffFactor(){return this._nativePannerNode.rolloffFactor}set rolloffFactor(k){this._nativePannerNode.rolloffFactor=k}},createPannerNodeRendererFactory=(o,e,s,a,c,d,_,b,k,$)=>()=>{const j=new WeakMap;let _e=null;const et=async(tt,nt)=>{let st=null,rt=d(tt);const it={channelCount:rt.channelCount,channelCountMode:rt.channelCountMode,channelInterpretation:rt.channelInterpretation},at=wt(Ot({},it),{coneInnerAngle:rt.coneInnerAngle,coneOuterAngle:rt.coneOuterAngle,coneOuterGain:rt.coneOuterGain,distanceModel:rt.distanceModel,maxDistance:rt.maxDistance,panningModel:rt.panningModel,refDistance:rt.refDistance,rolloffFactor:rt.rolloffFactor}),ot=isOwnedByContext(rt,nt);if("bufferSize"in rt)st=a(nt,wt(Ot({},it),{gain:1}));else if(!ot){const pt=wt(Ot({},at),{orientationX:rt.orientationX.value,orientationY:rt.orientationY.value,orientationZ:rt.orientationZ.value,positionX:rt.positionX.value,positionY:rt.positionY.value,positionZ:rt.positionZ.value});rt=c(nt,pt)}if(j.set(nt,st===null?rt:st),st!==null){if(_e===null){if(_===null)throw new Error("Missing the native OfflineAudioContext constructor.");const yt=new _(6,tt.context.length,nt.sampleRate),ft=e(yt,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:6});ft.connect(yt.destination),_e=(async()=>{const mt=await Promise.all([tt.orientationX,tt.orientationY,tt.orientationZ,tt.positionX,tt.positionY,tt.positionZ].map(async(Et,vt)=>{const At=s(yt,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:vt===0?1:0});return await b(yt,Et,At.offset),At}));for(let Et=0;Et<6;Et+=1)mt[Et].connect(ft,0,Et),mt[Et].start(0);return $(yt)})()}const pt=await _e,ct=a(nt,wt(Ot({},it),{gain:1}));await k(tt,nt,ct);const ut=[];for(let yt=0;ytEt!==lt[vt])||mt.some((Et,vt)=>Et!==ht[vt])){lt=ft,ht=mt;const Et=yt/nt.sampleRate;dt.gain.setValueAtTime(0,Et),dt=a(nt,wt(Ot({},it),{gain:0})),gt=c(nt,wt(Ot({},at),{orientationX:lt[0],orientationY:lt[1],orientationZ:lt[2],positionX:ht[0],positionY:ht[1],positionZ:ht[2]})),dt.gain.setValueAtTime(1,Et),ct.connect(dt).connect(gt.inputs[0]),gt.connect(st)}}return st}return ot?(await o(nt,tt.orientationX,rt.orientationX),await o(nt,tt.orientationY,rt.orientationY),await o(nt,tt.orientationZ,rt.orientationZ),await o(nt,tt.positionX,rt.positionX),await o(nt,tt.positionY,rt.positionY),await o(nt,tt.positionZ,rt.positionZ)):(await b(nt,tt.orientationX,rt.orientationX),await b(nt,tt.orientationY,rt.orientationY),await b(nt,tt.orientationZ,rt.orientationZ),await b(nt,tt.positionX,rt.positionX),await b(nt,tt.positionY,rt.positionY),await b(nt,tt.positionZ,rt.positionZ)),isNativeAudioNodeFaker(rt)?await k(tt,nt,rt.inputs[0]):await k(tt,nt,rt),rt};return{render(tt,nt){const st=j.get(nt);return st!==void 0?Promise.resolve(st):et(tt,nt)}}},DEFAULT_OPTIONS$2={disableNormalization:!1},createPeriodicWaveConstructor=(o,e,s,a)=>class mr{constructor(d,_){const b=e(d),k=a(Ot(Ot({},DEFAULT_OPTIONS$2),_)),$=o(b,k);return s.add($),$}static[Symbol.hasInstance](d){return d!==null&&typeof d=="object"&&Object.getPrototypeOf(d)===mr.prototype||s.has(d)}},createRenderAutomation=(o,e)=>(s,a,c)=>(o(a).replay(c),e(a,s,c)),createRenderInputsOfAudioNode=(o,e,s)=>async(a,c,d)=>{const _=o(a);await Promise.all(_.activeInputs.map((b,k)=>Array.from(b).map(async([$,j])=>{const et=await e($).render($,c),tt=a.context.destination;!s($)&&(a!==tt||!s(a))&&et.connect(d,j,k)})).reduce((b,k)=>[...b,...k],[]))},createRenderInputsOfAudioParam=(o,e,s)=>async(a,c,d)=>{const _=e(a);await Promise.all(Array.from(_.activeInputs).map(async([b,k])=>{const j=await o(b).render(b,c);s(b)||j.connect(d,k)}))},createRenderNativeOfflineAudioContext=(o,e,s,a)=>c=>o(testPromiseSupport,()=>testPromiseSupport(c))?Promise.resolve(o(a,a)).then(d=>{if(!d){const _=s(c,512,0,1);c.oncomplete=()=>{_.onaudioprocess=null,_.disconnect()},_.onaudioprocess=()=>c.currentTime,_.connect(c.destination)}return c.startRendering()}):new Promise(d=>{const _=e(c,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});c.oncomplete=b=>{_.disconnect(),d(b.renderedBuffer)},_.connect(c.destination),c.startRendering()}),createSetActiveAudioWorkletNodeInputs=o=>(e,s)=>{o.set(e,s)},createSetAudioNodeTailTime=o=>(e,s)=>o.set(e,s),createStartRendering=(o,e,s,a,c,d,_,b)=>(k,$)=>s(k).render(k,$).then(()=>Promise.all(Array.from(a($)).map(j=>s(j).render(j,$)))).then(()=>c($)).then(j=>(typeof j.copyFromChannel!="function"?(_(j),wrapAudioBufferGetChannelDataMethod(j)):e(d,()=>d(j))||b(j),o.add(j),j)),DEFAULT_OPTIONS$1={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers",pan:0},createStereoPannerNodeConstructor=(o,e,s,a,c,d)=>class extends o{constructor(b,k){const $=c(b),j=Ot(Ot({},DEFAULT_OPTIONS$1),k),_e=s($,j),et=d($),tt=et?a():null;super(b,!1,_e,tt),this._pan=e(this,et,_e.pan)}get pan(){return this._pan}},createStereoPannerNodeRendererFactory=(o,e,s,a,c)=>()=>{const d=new WeakMap,_=async(b,k)=>{let $=s(b);const j=isOwnedByContext($,k);if(!j){const _e={channelCount:$.channelCount,channelCountMode:$.channelCountMode,channelInterpretation:$.channelInterpretation,pan:$.pan.value};$=e(k,_e)}return d.set(k,$),j?await o(k,b.pan,$.pan):await a(k,b.pan,$.pan),isNativeAudioNodeFaker($)?await c(b,k,$.inputs[0]):await c(b,k,$),$};return{render(b,k){const $=d.get(k);return $!==void 0?Promise.resolve($):_(b,k)}}},createTestAudioBufferConstructorSupport=o=>()=>{if(o===null)return!1;try{new o({length:1,sampleRate:44100})}catch{return!1}return!0},createTestAudioBufferCopyChannelMethodsSubarraySupport=o=>()=>{if(o===null)return!1;const s=new o(1,1,44100).createBuffer(1,1,44100);if(s.copyToChannel===void 0)return!0;const a=new Float32Array(2);try{s.copyFromChannel(a,0,0)}catch{return!1}return!0},createTestAudioContextCloseMethodSupport=o=>()=>{if(o===null)return!1;if(o.prototype!==void 0&&o.prototype.close!==void 0)return!0;const e=new o,s=e.close!==void 0;try{e.close()}catch{}return s},createTestAudioContextDecodeAudioDataMethodTypeErrorSupport=o=>()=>{if(o===null)return Promise.resolve(!1);const e=new o(1,1,44100);return new Promise(s=>{let a=!0;const c=_=>{a&&(a=!1,e.startRendering(),s(_ instanceof TypeError))};let d;try{d=e.decodeAudioData(null,()=>{},c)}catch(_){c(_)}d!==void 0&&d.catch(c)})},createTestAudioContextOptionsSupport=o=>()=>{if(o===null)return!1;let e;try{e=new o({latencyHint:"balanced"})}catch{return!1}return e.close(),!0},createTestAudioNodeConnectMethodSupport=o=>()=>{if(o===null)return!1;const s=new o(1,1,44100).createGain(),a=s.connect(s)===s;return s.disconnect(s),a},createTestAudioWorkletProcessorNoOutputsSupport=(o,e)=>async()=>{if(o===null)return!0;if(e===null)return!1;const s=new Blob(['let c,p;class A extends AudioWorkletProcessor{constructor(){super();this.port.onmessage=(e)=>{p=e.data;p.onmessage=()=>{p.postMessage(c);p.close()};this.port.postMessage(0)}}process(){c=1}}registerProcessor("a",A)'],{type:"application/javascript; charset=utf-8"}),a=new MessageChannel,c=new e(1,128,44100),d=URL.createObjectURL(s);let _=!1;try{await c.audioWorklet.addModule(d);const b=new o(c,"a",{numberOfOutputs:0}),k=c.createOscillator();await new Promise($=>{b.port.onmessage=()=>$(),b.port.postMessage(a.port2,[a.port2])}),b.port.onmessage=()=>_=!0,k.connect(b),k.start(0),await c.startRendering(),_=await new Promise($=>{a.port1.onmessage=({data:j})=>$(j===1),a.port1.postMessage(0)})}catch{}finally{a.port1.close(),URL.revokeObjectURL(d)}return _},createTestAudioWorkletProcessorPostMessageSupport=(o,e)=>async()=>{if(o===null)return!0;if(e===null)return!1;const s=new Blob(['class A extends AudioWorkletProcessor{process(i){this.port.postMessage(i,[i[0][0].buffer])}}registerProcessor("a",A)'],{type:"application/javascript; charset=utf-8"}),a=new e(1,128,44100),c=URL.createObjectURL(s);let d=!1,_=!1;try{await a.audioWorklet.addModule(c);const b=new o(a,"a",{numberOfOutputs:0}),k=a.createOscillator();b.port.onmessage=()=>d=!0,b.onprocessorerror=()=>_=!0,k.connect(b),k.start(0),await a.startRendering()}catch{}finally{URL.revokeObjectURL(c)}return d&&!_},createTestChannelMergerNodeChannelCountSupport=o=>()=>{if(o===null)return!1;const s=new o(1,1,44100).createChannelMerger();if(s.channelCountMode==="max")return!0;try{s.channelCount=2}catch{return!0}return!1},createTestConstantSourceNodeAccurateSchedulingSupport=o=>()=>{if(o===null)return!1;const e=new o(1,1,44100);return e.createConstantSource===void 0?!0:e.createConstantSource().offset.maxValue!==Number.POSITIVE_INFINITY},createTestConvolverNodeBufferReassignabilitySupport=o=>()=>{if(o===null)return!1;const e=new o(1,1,44100),s=e.createConvolver();s.buffer=e.createBuffer(1,1,e.sampleRate);try{s.buffer=e.createBuffer(1,1,e.sampleRate)}catch{return!1}return!0},createTestConvolverNodeChannelCountSupport=o=>()=>{if(o===null)return!1;const s=new o(1,1,44100).createConvolver();try{s.channelCount=1}catch{return!1}return!0},createTestIsSecureContextSupport=o=>()=>o!==null&&o.hasOwnProperty("isSecureContext"),createTestMediaStreamAudioSourceNodeMediaStreamWithoutAudioTrackSupport=o=>()=>{if(o===null)return!1;const e=new o;try{return e.createMediaStreamSource(new MediaStream),!1}catch{return!0}finally{e.close()}},createTestOfflineAudioContextCurrentTimeSupport=(o,e)=>()=>{if(e===null)return Promise.resolve(!1);const s=new e(1,1,44100),a=o(s,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});return new Promise(c=>{s.oncomplete=()=>{a.disconnect(),c(s.currentTime!==0)},s.startRendering()})},createTestStereoPannerNodeDefaultValueSupport=o=>()=>{if(o===null)return Promise.resolve(!1);const e=new o(1,1,44100);if(e.createStereoPanner===void 0||e.createConstantSource===void 0)return Promise.resolve(!0);const s=e.createConstantSource(),a=e.createStereoPanner();return s.channelCount=1,s.offset.value=1,a.channelCount=1,s.start(),s.connect(a).connect(e.destination),e.startRendering().then(c=>c.getChannelData(0)[0]!==1)},createUnknownError=()=>new DOMException("","UnknownError"),DEFAULT_OPTIONS={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",curve:null,oversample:"none"},createWaveShaperNodeConstructor=(o,e,s,a,c,d,_)=>class extends o{constructor(k,$){const j=c(k),_e=Ot(Ot({},DEFAULT_OPTIONS),$),et=s(j,_e),nt=d(j)?a():null;super(k,!0,et,nt),this._isCurveNullified=!1,this._nativeWaveShaperNode=et,_(this,1)}get curve(){return this._isCurveNullified?null:this._nativeWaveShaperNode.curve}set curve(k){if(k===null)this._isCurveNullified=!0,this._nativeWaveShaperNode.curve=new Float32Array([0,0]);else{if(k.length<2)throw e();this._isCurveNullified=!1,this._nativeWaveShaperNode.curve=k}}get oversample(){return this._nativeWaveShaperNode.oversample}set oversample(k){this._nativeWaveShaperNode.oversample=k}},createWaveShaperNodeRendererFactory=(o,e,s)=>()=>{const a=new WeakMap,c=async(d,_)=>{let b=e(d);if(!isOwnedByContext(b,_)){const $={channelCount:b.channelCount,channelCountMode:b.channelCountMode,channelInterpretation:b.channelInterpretation,curve:b.curve,oversample:b.oversample};b=o(_,$)}return a.set(_,b),isNativeAudioNodeFaker(b)?await s(d,_,b.inputs[0]):await s(d,_,b),b};return{render(d,_){const b=a.get(_);return b!==void 0?Promise.resolve(b):c(d,_)}}},createWindow=()=>typeof window=="undefined"?null:window,createWrapAudioBufferCopyChannelMethods=(o,e)=>s=>{s.copyFromChannel=(a,c,d=0)=>{const _=o(d),b=o(c);if(b>=s.numberOfChannels)throw e();const k=s.length,$=s.getChannelData(b),j=a.length;for(let _e=_<0?-_:0;_e+_{const _=o(d),b=o(c);if(b>=s.numberOfChannels)throw e();const k=s.length,$=s.getChannelData(b),j=a.length;for(let _e=_<0?-_:0;_e+_e=>{e.copyFromChannel=(s=>(a,c,d=0)=>{const _=o(d),b=o(c);if(_(a,c,d=0)=>{const _=o(d),b=o(c);if(_(e,s)=>{const a=s.createBuffer(1,1,44100);e.buffer===null&&(e.buffer=a),o(e,"buffer",c=>()=>{const d=c.call(e);return d===a?null:d},c=>d=>c.call(e,d===null?a:d))},createWrapChannelMergerNode=(o,e)=>(s,a)=>{a.channelCount=1,a.channelCountMode="explicit",Object.defineProperty(a,"channelCount",{get:()=>1,set:()=>{throw o()}}),Object.defineProperty(a,"channelCountMode",{get:()=>"explicit",set:()=>{throw o()}});const c=s.createBufferSource();e(a,()=>{const b=a.numberOfInputs;for(let k=0;kc.disconnect(a))},getFirstSample=(o,e,s)=>o.copyFromChannel===void 0?o.getChannelData(s)[0]:(o.copyFromChannel(e,s),e[0]),isDCCurve=o=>{if(o===null)return!1;const e=o.length;return e%2!==0?o[Math.floor(e/2)]!==0:o[e/2-1]+o[e/2]!==0},overwriteAccessors=(o,e,s,a)=>{let c=o;for(;!c.hasOwnProperty(e);)c=Object.getPrototypeOf(c);const{get:d,set:_}=Object.getOwnPropertyDescriptor(c,e);Object.defineProperty(o,e,{get:s(d),set:a(_)})},sanitizeAudioWorkletNodeOptions=o=>wt(Ot({},o),{outputChannelCount:o.outputChannelCount!==void 0?o.outputChannelCount:o.numberOfInputs===1&&o.numberOfOutputs===1?[o.channelCount]:Array.from({length:o.numberOfOutputs},()=>1)}),sanitizeChannelSplitterOptions=o=>wt(Ot({},o),{channelCount:o.numberOfOutputs}),sanitizePeriodicWaveOptions=o=>{const{imag:e,real:s}=o;return e===void 0?s===void 0?wt(Ot({},o),{imag:[0,0],real:[0,0]}):wt(Ot({},o),{imag:Array.from(s,()=>0),real:s}):s===void 0?wt(Ot({},o),{imag:e,real:Array.from(e,()=>0)}):wt(Ot({},o),{imag:e,real:s})},setValueAtTimeUntilPossible=(o,e,s)=>{try{o.setValueAtTime(e,s)}catch(a){if(a.code!==9)throw a;setValueAtTimeUntilPossible(o,e,s+1e-7)}},testAudioBufferSourceNodeStartMethodConsecutiveCallsSupport=o=>{const e=o.createBufferSource();e.start();try{e.start()}catch{return!0}return!1},testAudioBufferSourceNodeStartMethodOffsetClampingSupport=o=>{const e=o.createBufferSource(),s=o.createBuffer(1,1,44100);e.buffer=s;try{e.start(0,1)}catch{return!1}return!0},testAudioBufferSourceNodeStopMethodNullifiedBufferSupport=o=>{const e=o.createBufferSource();e.start();try{e.stop()}catch{return!1}return!0},testAudioScheduledSourceNodeStartMethodNegativeParametersSupport=o=>{const e=o.createOscillator();try{e.start(-1)}catch(s){return s instanceof RangeError}return!1},testAudioScheduledSourceNodeStopMethodConsecutiveCallsSupport=o=>{const e=o.createBuffer(1,1,44100),s=o.createBufferSource();s.buffer=e,s.start(),s.stop();try{return s.stop(),!0}catch{return!1}},testAudioScheduledSourceNodeStopMethodNegativeParametersSupport=o=>{const e=o.createOscillator();try{e.stop(-1)}catch(s){return s instanceof RangeError}return!1},testAudioWorkletNodeOptionsClonability=o=>{const{port1:e,port2:s}=new MessageChannel;try{e.postMessage(o)}finally{e.close(),s.close()}},testDomExceptionConstructorSupport=()=>{try{new DOMException}catch{return!1}return!0},testTransferablesSupport=()=>new Promise(o=>{const e=new ArrayBuffer(0),{port1:s,port2:a}=new MessageChannel;s.onmessage=({data:c})=>o(c!==null),a.postMessage(e,[e])}),wrapAudioBufferSourceNodeStartMethodOffsetClamping=o=>{o.start=(e=>(s=0,a=0,c)=>{const d=o.buffer,_=d===null?a:Math.min(d.duration,a);d!==null&&_>d.duration-.5/o.context.sampleRate?e.call(o,s,0,0):e.call(o,s,_,c)})(o.start)},wrapAudioScheduledSourceNodeStopMethodConsecutiveCalls=(o,e)=>{const s=e.createGain();o.connect(s);const a=(c=>()=>{c.call(o,s),o.removeEventListener("ended",a)})(o.disconnect);o.addEventListener("ended",a),interceptConnections(o,s),o.stop=(c=>{let d=!1;return(_=0)=>{if(d)try{c.call(o,_)}catch{s.gain.setValueAtTime(0,_)}else c.call(o,_),d=!0}})(o.stop)},wrapEventListener=(o,e)=>s=>{const a={value:o};return Object.defineProperties(s,{currentTarget:a,target:a}),typeof e=="function"?e.call(o,s):e.handleEvent.call(o,s)},addActiveInputConnectionToAudioNode=createAddActiveInputConnectionToAudioNode(insertElementInSet),addPassiveInputConnectionToAudioNode=createAddPassiveInputConnectionToAudioNode(insertElementInSet),deleteActiveInputConnectionToAudioNode=createDeleteActiveInputConnectionToAudioNode(pickElementFromSet),audioNodeTailTimeStore=new WeakMap,getAudioNodeTailTime=createGetAudioNodeTailTime(audioNodeTailTimeStore),cacheTestResult=createCacheTestResult(new Map,new WeakMap),window$1=createWindow(),createNativeAnalyserNode=createNativeAnalyserNodeFactory(cacheTestResult,createIndexSizeError),getAudioNodeRenderer=createGetAudioNodeRenderer(getAudioNodeConnections),renderInputsOfAudioNode=createRenderInputsOfAudioNode(getAudioNodeConnections,getAudioNodeRenderer,isPartOfACycle),createAnalyserNodeRenderer=createAnalyserNodeRendererFactory(createNativeAnalyserNode,getNativeAudioNode,renderInputsOfAudioNode),getNativeContext=createGetNativeContext(CONTEXT_STORE),nativeOfflineAudioContextConstructor=createNativeOfflineAudioContextConstructor(window$1),isNativeOfflineAudioContext=createIsNativeOfflineAudioContext(nativeOfflineAudioContextConstructor),audioParamAudioNodeStore=new WeakMap,eventTargetConstructor=createEventTargetConstructor(wrapEventListener),nativeAudioContextConstructor=createNativeAudioContextConstructor(window$1),isNativeAudioContext=createIsNativeAudioContext(nativeAudioContextConstructor),isNativeAudioNode=createIsNativeAudioNode(window$1),isNativeAudioParam=createIsNativeAudioParam(window$1),nativeAudioWorkletNodeConstructor=createNativeAudioWorkletNodeConstructor(window$1),audioNodeConstructor=createAudioNodeConstructor(createAddAudioNodeConnections(AUDIO_NODE_CONNECTIONS_STORE),createAddConnectionToAudioNode(addActiveInputConnectionToAudioNode,addPassiveInputConnectionToAudioNode,connectNativeAudioNodeToNativeAudioNode,deleteActiveInputConnectionToAudioNode,disconnectNativeAudioNodeFromNativeAudioNode,getAudioNodeConnections,getAudioNodeTailTime,getEventListenersOfAudioNode,getNativeAudioNode,insertElementInSet,isActiveAudioNode,isPartOfACycle,isPassiveAudioNode),cacheTestResult,createIncrementCycleCounterFactory(CYCLE_COUNTERS,disconnectNativeAudioNodeFromNativeAudioNode,getAudioNodeConnections,getNativeAudioNode,getNativeAudioParam,isActiveAudioNode),createIndexSizeError,createInvalidAccessError,createNotSupportedError,createDecrementCycleCounter(connectNativeAudioNodeToNativeAudioNode,CYCLE_COUNTERS,getAudioNodeConnections,getNativeAudioNode,getNativeAudioParam,getNativeContext,isActiveAudioNode,isNativeOfflineAudioContext),createDetectCycles(audioParamAudioNodeStore,getAudioNodeConnections,getValueForKey),eventTargetConstructor,getNativeContext,isNativeAudioContext,isNativeAudioNode,isNativeAudioParam,isNativeOfflineAudioContext,nativeAudioWorkletNodeConstructor),analyserNodeConstructor=createAnalyserNodeConstructor(audioNodeConstructor,createAnalyserNodeRenderer,createIndexSizeError,createNativeAnalyserNode,getNativeContext,isNativeOfflineAudioContext),audioBufferStore=new WeakSet,nativeAudioBufferConstructor=createNativeAudioBufferConstructor(window$1),convertNumberToUnsignedLong=createConvertNumberToUnsignedLong(new Uint32Array(1)),wrapAudioBufferCopyChannelMethods=createWrapAudioBufferCopyChannelMethods(convertNumberToUnsignedLong,createIndexSizeError),wrapAudioBufferCopyChannelMethodsOutOfBounds=createWrapAudioBufferCopyChannelMethodsOutOfBounds(convertNumberToUnsignedLong),audioBufferConstructor=createAudioBufferConstructor(audioBufferStore,cacheTestResult,createNotSupportedError,nativeAudioBufferConstructor,nativeOfflineAudioContextConstructor,createTestAudioBufferConstructorSupport(nativeAudioBufferConstructor),wrapAudioBufferCopyChannelMethods,wrapAudioBufferCopyChannelMethodsOutOfBounds),addSilentConnection=createAddSilentConnection(createNativeGainNode),renderInputsOfAudioParam=createRenderInputsOfAudioParam(getAudioNodeRenderer,getAudioParamConnections,isPartOfACycle),connectAudioParam=createConnectAudioParam(renderInputsOfAudioParam),createNativeAudioBufferSourceNode=createNativeAudioBufferSourceNodeFactory(addSilentConnection,cacheTestResult,testAudioBufferSourceNodeStartMethodConsecutiveCallsSupport,testAudioBufferSourceNodeStartMethodOffsetClampingSupport,testAudioBufferSourceNodeStopMethodNullifiedBufferSupport,testAudioScheduledSourceNodeStartMethodNegativeParametersSupport,testAudioScheduledSourceNodeStopMethodConsecutiveCallsSupport,testAudioScheduledSourceNodeStopMethodNegativeParametersSupport,wrapAudioBufferSourceNodeStartMethodOffsetClamping,createWrapAudioBufferSourceNodeStopMethodNullifiedBuffer(overwriteAccessors),wrapAudioScheduledSourceNodeStopMethodConsecutiveCalls),renderAutomation=createRenderAutomation(createGetAudioParamRenderer(getAudioParamConnections),renderInputsOfAudioParam),createAudioBufferSourceNodeRenderer=createAudioBufferSourceNodeRendererFactory(connectAudioParam,createNativeAudioBufferSourceNode,getNativeAudioNode,renderAutomation,renderInputsOfAudioNode),createAudioParam=createAudioParamFactory(createAddAudioParamConnections(AUDIO_PARAM_CONNECTIONS_STORE),audioParamAudioNodeStore,AUDIO_PARAM_STORE,createAudioParamRenderer,createCancelAndHoldAutomationEvent,createCancelScheduledValuesAutomationEvent,createExponentialRampToValueAutomationEvent,createLinearRampToValueAutomationEvent,createSetTargetAutomationEvent,createSetValueAutomationEvent,createSetValueCurveAutomationEvent,nativeAudioContextConstructor,setValueAtTimeUntilPossible),audioBufferSourceNodeConstructor=createAudioBufferSourceNodeConstructor(audioNodeConstructor,createAudioBufferSourceNodeRenderer,createAudioParam,createInvalidStateError,createNativeAudioBufferSourceNode,getNativeContext,isNativeOfflineAudioContext,wrapEventListener),audioDestinationNodeConstructor=createAudioDestinationNodeConstructor(audioNodeConstructor,createAudioDestinationNodeRenderer,createIndexSizeError,createInvalidStateError,createNativeAudioDestinationNodeFactory(createNativeGainNode,overwriteAccessors),getNativeContext,isNativeOfflineAudioContext,renderInputsOfAudioNode),createBiquadFilterNodeRenderer=createBiquadFilterNodeRendererFactory(connectAudioParam,createNativeBiquadFilterNode,getNativeAudioNode,renderAutomation,renderInputsOfAudioNode),setAudioNodeTailTime=createSetAudioNodeTailTime(audioNodeTailTimeStore),biquadFilterNodeConstructor=createBiquadFilterNodeConstructor(audioNodeConstructor,createAudioParam,createBiquadFilterNodeRenderer,createInvalidAccessError,createNativeBiquadFilterNode,getNativeContext,isNativeOfflineAudioContext,setAudioNodeTailTime),monitorConnections=createMonitorConnections(insertElementInSet,isNativeAudioNode),wrapChannelMergerNode=createWrapChannelMergerNode(createInvalidStateError,monitorConnections),createNativeChannelMergerNode=createNativeChannelMergerNodeFactory(nativeAudioContextConstructor,wrapChannelMergerNode),createChannelMergerNodeRenderer=createChannelMergerNodeRendererFactory(createNativeChannelMergerNode,getNativeAudioNode,renderInputsOfAudioNode),channelMergerNodeConstructor=createChannelMergerNodeConstructor(audioNodeConstructor,createChannelMergerNodeRenderer,createNativeChannelMergerNode,getNativeContext,isNativeOfflineAudioContext),createChannelSplitterNodeRenderer=createChannelSplitterNodeRendererFactory(createNativeChannelSplitterNode,getNativeAudioNode,renderInputsOfAudioNode),channelSplitterNodeConstructor=createChannelSplitterNodeConstructor(audioNodeConstructor,createChannelSplitterNodeRenderer,createNativeChannelSplitterNode,getNativeContext,isNativeOfflineAudioContext,sanitizeChannelSplitterOptions),createNativeConstantSourceNodeFaker=createNativeConstantSourceNodeFakerFactory(addSilentConnection,createNativeAudioBufferSourceNode,createNativeGainNode,monitorConnections),createNativeConstantSourceNode=createNativeConstantSourceNodeFactory(addSilentConnection,cacheTestResult,createNativeConstantSourceNodeFaker,testAudioScheduledSourceNodeStartMethodNegativeParametersSupport,testAudioScheduledSourceNodeStopMethodNegativeParametersSupport),createConstantSourceNodeRenderer=createConstantSourceNodeRendererFactory(connectAudioParam,createNativeConstantSourceNode,getNativeAudioNode,renderAutomation,renderInputsOfAudioNode),constantSourceNodeConstructor=createConstantSourceNodeConstructor(audioNodeConstructor,createAudioParam,createConstantSourceNodeRenderer,createNativeConstantSourceNode,getNativeContext,isNativeOfflineAudioContext,wrapEventListener),createNativeConvolverNode=createNativeConvolverNodeFactory(createNotSupportedError,overwriteAccessors),createConvolverNodeRenderer=createConvolverNodeRendererFactory(createNativeConvolverNode,getNativeAudioNode,renderInputsOfAudioNode),convolverNodeConstructor=createConvolverNodeConstructor(audioNodeConstructor,createConvolverNodeRenderer,createNativeConvolverNode,getNativeContext,isNativeOfflineAudioContext,setAudioNodeTailTime),createDelayNodeRenderer=createDelayNodeRendererFactory(connectAudioParam,createNativeDelayNode,getNativeAudioNode,renderAutomation,renderInputsOfAudioNode),delayNodeConstructor=createDelayNodeConstructor(audioNodeConstructor,createAudioParam,createDelayNodeRenderer,createNativeDelayNode,getNativeContext,isNativeOfflineAudioContext,setAudioNodeTailTime),createNativeDynamicsCompressorNode=createNativeDynamicsCompressorNodeFactory(createNotSupportedError),createDynamicsCompressorNodeRenderer=createDynamicsCompressorNodeRendererFactory(connectAudioParam,createNativeDynamicsCompressorNode,getNativeAudioNode,renderAutomation,renderInputsOfAudioNode),dynamicsCompressorNodeConstructor=createDynamicsCompressorNodeConstructor(audioNodeConstructor,createAudioParam,createDynamicsCompressorNodeRenderer,createNativeDynamicsCompressorNode,createNotSupportedError,getNativeContext,isNativeOfflineAudioContext,setAudioNodeTailTime),createGainNodeRenderer=createGainNodeRendererFactory(connectAudioParam,createNativeGainNode,getNativeAudioNode,renderAutomation,renderInputsOfAudioNode),gainNodeConstructor=createGainNodeConstructor(audioNodeConstructor,createAudioParam,createGainNodeRenderer,createNativeGainNode,getNativeContext,isNativeOfflineAudioContext),createNativeIIRFilterNodeFaker=createNativeIIRFilterNodeFakerFactory(createInvalidAccessError,createInvalidStateError,createNativeScriptProcessorNode,createNotSupportedError),renderNativeOfflineAudioContext=createRenderNativeOfflineAudioContext(cacheTestResult,createNativeGainNode,createNativeScriptProcessorNode,createTestOfflineAudioContextCurrentTimeSupport(createNativeGainNode,nativeOfflineAudioContextConstructor)),createIIRFilterNodeRenderer=createIIRFilterNodeRendererFactory(createNativeAudioBufferSourceNode,getNativeAudioNode,nativeOfflineAudioContextConstructor,renderInputsOfAudioNode,renderNativeOfflineAudioContext),createNativeIIRFilterNode=createNativeIIRFilterNodeFactory(createNativeIIRFilterNodeFaker),iIRFilterNodeConstructor=createIIRFilterNodeConstructor(audioNodeConstructor,createNativeIIRFilterNode,createIIRFilterNodeRenderer,getNativeContext,isNativeOfflineAudioContext,setAudioNodeTailTime),createAudioListener=createAudioListenerFactory(createAudioParam,createNativeChannelMergerNode,createNativeConstantSourceNode,createNativeScriptProcessorNode,createNotSupportedError,getFirstSample,isNativeOfflineAudioContext,overwriteAccessors),unrenderedAudioWorkletNodeStore=new WeakMap,minimalBaseAudioContextConstructor=createMinimalBaseAudioContextConstructor(audioDestinationNodeConstructor,createAudioListener,eventTargetConstructor,isNativeOfflineAudioContext,unrenderedAudioWorkletNodeStore,wrapEventListener),createNativeOscillatorNode=createNativeOscillatorNodeFactory(addSilentConnection,cacheTestResult,testAudioScheduledSourceNodeStartMethodNegativeParametersSupport,testAudioScheduledSourceNodeStopMethodConsecutiveCallsSupport,testAudioScheduledSourceNodeStopMethodNegativeParametersSupport,wrapAudioScheduledSourceNodeStopMethodConsecutiveCalls),createOscillatorNodeRenderer=createOscillatorNodeRendererFactory(connectAudioParam,createNativeOscillatorNode,getNativeAudioNode,renderAutomation,renderInputsOfAudioNode),oscillatorNodeConstructor=createOscillatorNodeConstructor(audioNodeConstructor,createAudioParam,createNativeOscillatorNode,createOscillatorNodeRenderer,getNativeContext,isNativeOfflineAudioContext,wrapEventListener),createConnectedNativeAudioBufferSourceNode=createConnectedNativeAudioBufferSourceNodeFactory(createNativeAudioBufferSourceNode),createNativeWaveShaperNodeFaker=createNativeWaveShaperNodeFakerFactory(createConnectedNativeAudioBufferSourceNode,createInvalidStateError,createNativeGainNode,isDCCurve,monitorConnections),createNativeWaveShaperNode=createNativeWaveShaperNodeFactory(createConnectedNativeAudioBufferSourceNode,createInvalidStateError,createNativeWaveShaperNodeFaker,isDCCurve,monitorConnections,nativeAudioContextConstructor,overwriteAccessors),createNativePannerNodeFaker=createNativePannerNodeFakerFactory(connectNativeAudioNodeToNativeAudioNode,createInvalidStateError,createNativeChannelMergerNode,createNativeGainNode,createNativeScriptProcessorNode,createNativeWaveShaperNode,createNotSupportedError,disconnectNativeAudioNodeFromNativeAudioNode,getFirstSample,monitorConnections),createNativePannerNode=createNativePannerNodeFactory(createNativePannerNodeFaker),createPannerNodeRenderer=createPannerNodeRendererFactory(connectAudioParam,createNativeChannelMergerNode,createNativeConstantSourceNode,createNativeGainNode,createNativePannerNode,getNativeAudioNode,nativeOfflineAudioContextConstructor,renderAutomation,renderInputsOfAudioNode,renderNativeOfflineAudioContext),pannerNodeConstructor=createPannerNodeConstructor(audioNodeConstructor,createAudioParam,createNativePannerNode,createPannerNodeRenderer,getNativeContext,isNativeOfflineAudioContext,setAudioNodeTailTime),createNativePeriodicWave=createNativePeriodicWaveFactory(createIndexSizeError),periodicWaveConstructor=createPeriodicWaveConstructor(createNativePeriodicWave,getNativeContext,new WeakSet,sanitizePeriodicWaveOptions),nativeStereoPannerNodeFakerFactory=createNativeStereoPannerNodeFakerFactory(createNativeChannelMergerNode,createNativeChannelSplitterNode,createNativeGainNode,createNativeWaveShaperNode,createNotSupportedError,monitorConnections),createNativeStereoPannerNode=createNativeStereoPannerNodeFactory(nativeStereoPannerNodeFakerFactory,createNotSupportedError),createStereoPannerNodeRenderer=createStereoPannerNodeRendererFactory(connectAudioParam,createNativeStereoPannerNode,getNativeAudioNode,renderAutomation,renderInputsOfAudioNode),stereoPannerNodeConstructor=createStereoPannerNodeConstructor(audioNodeConstructor,createAudioParam,createNativeStereoPannerNode,createStereoPannerNodeRenderer,getNativeContext,isNativeOfflineAudioContext),createWaveShaperNodeRenderer=createWaveShaperNodeRendererFactory(createNativeWaveShaperNode,getNativeAudioNode,renderInputsOfAudioNode),waveShaperNodeConstructor=createWaveShaperNodeConstructor(audioNodeConstructor,createInvalidStateError,createNativeWaveShaperNode,createWaveShaperNodeRenderer,getNativeContext,isNativeOfflineAudioContext,setAudioNodeTailTime),isSecureContext=createIsSecureContext(window$1),exposeCurrentFrameAndCurrentTime=createExposeCurrentFrameAndCurrentTime(window$1),backupOfflineAudioContextStore=new WeakMap,getOrCreateBackupOfflineAudioContext=createGetOrCreateBackupOfflineAudioContext(backupOfflineAudioContextStore,nativeOfflineAudioContextConstructor),addAudioWorkletModule=isSecureContext?createAddAudioWorkletModule(cacheTestResult,createNotSupportedError,createEvaluateSource(window$1),exposeCurrentFrameAndCurrentTime,createFetchSource(createAbortError),getNativeContext,getOrCreateBackupOfflineAudioContext,isNativeOfflineAudioContext,nativeAudioWorkletNodeConstructor,new WeakMap,new WeakMap,createTestAudioWorkletProcessorPostMessageSupport(nativeAudioWorkletNodeConstructor,nativeOfflineAudioContextConstructor),window$1):void 0,isNativeContext=createIsNativeContext(isNativeAudioContext,isNativeOfflineAudioContext),decodeAudioData=createDecodeAudioData(audioBufferStore,cacheTestResult,createDataCloneError,createEncodingError,new WeakSet,getNativeContext,isNativeContext,testAudioBufferCopyChannelMethodsOutOfBoundsSupport,testPromiseSupport,wrapAudioBufferCopyChannelMethods,wrapAudioBufferCopyChannelMethodsOutOfBounds),baseAudioContextConstructor=createBaseAudioContextConstructor(addAudioWorkletModule,analyserNodeConstructor,audioBufferConstructor,audioBufferSourceNodeConstructor,biquadFilterNodeConstructor,channelMergerNodeConstructor,channelSplitterNodeConstructor,constantSourceNodeConstructor,convolverNodeConstructor,decodeAudioData,delayNodeConstructor,dynamicsCompressorNodeConstructor,gainNodeConstructor,iIRFilterNodeConstructor,minimalBaseAudioContextConstructor,oscillatorNodeConstructor,pannerNodeConstructor,periodicWaveConstructor,stereoPannerNodeConstructor,waveShaperNodeConstructor),mediaElementAudioSourceNodeConstructor=createMediaElementAudioSourceNodeConstructor(audioNodeConstructor,createNativeMediaElementAudioSourceNode,getNativeContext,isNativeOfflineAudioContext),mediaStreamAudioDestinationNodeConstructor=createMediaStreamAudioDestinationNodeConstructor(audioNodeConstructor,createNativeMediaStreamAudioDestinationNode,getNativeContext,isNativeOfflineAudioContext),mediaStreamAudioSourceNodeConstructor=createMediaStreamAudioSourceNodeConstructor(audioNodeConstructor,createNativeMediaStreamAudioSourceNode,getNativeContext,isNativeOfflineAudioContext),createNativeMediaStreamTrackAudioSourceNode=createNativeMediaStreamTrackAudioSourceNodeFactory(createInvalidStateError,isNativeOfflineAudioContext),mediaStreamTrackAudioSourceNodeConstructor=createMediaStreamTrackAudioSourceNodeConstructor(audioNodeConstructor,createNativeMediaStreamTrackAudioSourceNode,getNativeContext),audioContextConstructor=createAudioContextConstructor(baseAudioContextConstructor,createInvalidStateError,createNotSupportedError,createUnknownError,mediaElementAudioSourceNodeConstructor,mediaStreamAudioDestinationNodeConstructor,mediaStreamAudioSourceNodeConstructor,mediaStreamTrackAudioSourceNodeConstructor,nativeAudioContextConstructor),getUnrenderedAudioWorkletNodes=createGetUnrenderedAudioWorkletNodes(unrenderedAudioWorkletNodeStore),addUnrenderedAudioWorkletNode=createAddUnrenderedAudioWorkletNode(getUnrenderedAudioWorkletNodes),connectMultipleOutputs=createConnectMultipleOutputs(createIndexSizeError),deleteUnrenderedAudioWorkletNode=createDeleteUnrenderedAudioWorkletNode(getUnrenderedAudioWorkletNodes),disconnectMultipleOutputs=createDisconnectMultipleOutputs(createIndexSizeError),activeAudioWorkletNodeInputsStore=new WeakMap,getActiveAudioWorkletNodeInputs=createGetActiveAudioWorkletNodeInputs(activeAudioWorkletNodeInputsStore,getValueForKey),createNativeAudioWorkletNodeFaker=createNativeAudioWorkletNodeFakerFactory(connectMultipleOutputs,createIndexSizeError,createInvalidStateError,createNativeChannelMergerNode,createNativeChannelSplitterNode,createNativeConstantSourceNode,createNativeGainNode,createNativeScriptProcessorNode,createNotSupportedError,disconnectMultipleOutputs,exposeCurrentFrameAndCurrentTime,getActiveAudioWorkletNodeInputs,monitorConnections),createNativeAudioWorkletNode=createNativeAudioWorkletNodeFactory(createInvalidStateError,createNativeAudioWorkletNodeFaker,createNativeGainNode,createNotSupportedError,monitorConnections),createAudioWorkletNodeRenderer=createAudioWorkletNodeRendererFactory(connectAudioParam,connectMultipleOutputs,createNativeAudioBufferSourceNode,createNativeChannelMergerNode,createNativeChannelSplitterNode,createNativeConstantSourceNode,createNativeGainNode,deleteUnrenderedAudioWorkletNode,disconnectMultipleOutputs,exposeCurrentFrameAndCurrentTime,getNativeAudioNode,nativeAudioWorkletNodeConstructor,nativeOfflineAudioContextConstructor,renderAutomation,renderInputsOfAudioNode,renderNativeOfflineAudioContext),getBackupOfflineAudioContext=createGetBackupOfflineAudioContext(backupOfflineAudioContextStore),setActiveAudioWorkletNodeInputs=createSetActiveAudioWorkletNodeInputs(activeAudioWorkletNodeInputsStore),audioWorkletNodeConstructor=isSecureContext?createAudioWorkletNodeConstructor(addUnrenderedAudioWorkletNode,audioNodeConstructor,createAudioParam,createAudioWorkletNodeRenderer,createNativeAudioWorkletNode,getAudioNodeConnections,getBackupOfflineAudioContext,getNativeContext,isNativeOfflineAudioContext,nativeAudioWorkletNodeConstructor,sanitizeAudioWorkletNodeOptions,setActiveAudioWorkletNodeInputs,testAudioWorkletNodeOptionsClonability,wrapEventListener):void 0,createNativeOfflineAudioContext=createCreateNativeOfflineAudioContext(createNotSupportedError,nativeOfflineAudioContextConstructor),startRendering=createStartRendering(audioBufferStore,cacheTestResult,getAudioNodeRenderer,getUnrenderedAudioWorkletNodes,renderNativeOfflineAudioContext,testAudioBufferCopyChannelMethodsOutOfBoundsSupport,wrapAudioBufferCopyChannelMethods,wrapAudioBufferCopyChannelMethodsOutOfBounds),offlineAudioContextConstructor=createOfflineAudioContextConstructor(baseAudioContextConstructor,cacheTestResult,createInvalidStateError,createNativeOfflineAudioContext,startRendering),isAnyAudioContext=createIsAnyAudioContext(CONTEXT_STORE,isNativeAudioContext),isAnyAudioNode=createIsAnyAudioNode(AUDIO_NODE_STORE,isNativeAudioNode),isAnyAudioParam=createIsAnyAudioParam(AUDIO_PARAM_STORE,isNativeAudioParam),isAnyOfflineAudioContext=createIsAnyOfflineAudioContext(CONTEXT_STORE,isNativeOfflineAudioContext),isSupported=()=>createIsSupportedPromise(cacheTestResult,createTestAudioBufferCopyChannelMethodsSubarraySupport(nativeOfflineAudioContextConstructor),createTestAudioContextCloseMethodSupport(nativeAudioContextConstructor),createTestAudioContextDecodeAudioDataMethodTypeErrorSupport(nativeOfflineAudioContextConstructor),createTestAudioContextOptionsSupport(nativeAudioContextConstructor),createTestAudioNodeConnectMethodSupport(nativeOfflineAudioContextConstructor),createTestAudioWorkletProcessorNoOutputsSupport(nativeAudioWorkletNodeConstructor,nativeOfflineAudioContextConstructor),createTestChannelMergerNodeChannelCountSupport(nativeOfflineAudioContextConstructor),createTestConstantSourceNodeAccurateSchedulingSupport(nativeOfflineAudioContextConstructor),createTestConvolverNodeBufferReassignabilitySupport(nativeOfflineAudioContextConstructor),createTestConvolverNodeChannelCountSupport(nativeOfflineAudioContextConstructor),testDomExceptionConstructorSupport,createTestIsSecureContextSupport(window$1),createTestMediaStreamAudioSourceNodeMediaStreamWithoutAudioTrackSupport(nativeAudioContextConstructor),createTestStereoPannerNodeDefaultValueSupport(nativeOfflineAudioContextConstructor),testTransferablesSupport);function assert(o,e){if(!o)throw new Error(e)}function assertRange(o,e,s=1/0){if(!(e<=o&&o<=s))throw new RangeError(`Value must be within [${e}, ${s}], got: ${o}`)}function assertContextRunning(o){!o.isOffline&&o.state!=="running"&&warn('The AudioContext is "suspended". Invoke Tone.start() from a user action to start the audio.')}let defaultLogger=console;function setLogger(o){defaultLogger=o}function log(...o){defaultLogger.log(...o)}function warn(...o){defaultLogger.warn(...o)}var Debug=Object.freeze(Object.defineProperty({__proto__:null,assert,assertRange,assertContextRunning,setLogger,log,warn},Symbol.toStringTag,{value:"Module"}));function isUndef(o){return typeof o=="undefined"}function isDefined(o){return!isUndef(o)}function isFunction(o){return typeof o=="function"}function isNumber(o){return typeof o=="number"}function isObject(o){return Object.prototype.toString.call(o)==="[object Object]"&&o.constructor===Object}function isBoolean(o){return typeof o=="boolean"}function isArray(o){return Array.isArray(o)}function isString(o){return typeof o=="string"}function isNote$2(o){return isString(o)&&/^([a-g]{1}(?:b|#|x|bb)?)(-?[0-9]+)/i.test(o)}function createAudioContext(o){return new audioContextConstructor(o)}function createOfflineAudioContext(o,e,s){return new offlineAudioContextConstructor(o,e,s)}const theWindow=typeof self=="object"?self:null,hasAudioContext=theWindow&&(theWindow.hasOwnProperty("AudioContext")||theWindow.hasOwnProperty("webkitAudioContext"));function createAudioWorkletNode(o,e,s){return assert(isDefined(audioWorkletNodeConstructor),"This node only works in a secure context (https or localhost)"),new audioWorkletNodeConstructor(o,e,s)}/*! ***************************************************************************** + **/(function(o,e){(function(s){var a=2e3,c={s:1,n:0,d:1};function d(nt,it){if(isNaN(nt=parseInt(nt,10)))throw tt.InvalidParameter;return nt*it}function _(nt,it){if(it===0)throw tt.DivisionByZero;var rt=Object.create(tt.prototype);rt.s=nt<0?-1:1,nt=nt<0?-nt:nt;var st=et(nt,it);return rt.n=nt/st,rt.d=it/st,rt}function b(nt){for(var it={},rt=nt,st=2,at=4;at<=rt;){for(;rt%st===0;)rt/=st,it[st]=(it[st]||0)+1;at+=1+2*st++}return rt!==nt?rt>1&&(it[rt]=(it[rt]||0)+1):it[nt]=(it[nt]||0)+1,it}var k=function(nt,it){var rt=0,st=1,at=1,ot=0,pt=0,ct=0,ut=1,lt=1,ht=0,dt=1,gt=1,yt=1,ft=1e7,mt;if(nt!=null)if(it!==void 0){if(rt=nt,st=it,at=rt*st,rt%1!==0||st%1!==0)throw tt.NonIntegerParameter}else switch(typeof nt){case"object":{if("d"in nt&&"n"in nt)rt=nt.n,st=nt.d,"s"in nt&&(rt*=nt.s);else if(0 in nt)rt=nt[0],1 in nt&&(st=nt[1]);else throw tt.InvalidParameter;at=rt*st;break}case"number":{if(nt<0&&(at=nt,nt=-nt),nt%1===0)rt=nt;else if(nt>0){for(nt>=1&&(lt=Math.pow(10,Math.floor(1+Math.log(nt)/Math.LN10)),nt/=lt);dt<=ft&&yt<=ft;)if(mt=(ht+gt)/(dt+yt),nt===mt){dt+yt<=ft?(rt=ht+gt,st=dt+yt):yt>dt?(rt=gt,st=yt):(rt=ht,st=dt);break}else nt>mt?(ht+=gt,dt+=yt):(gt+=ht,yt+=dt),dt>ft?(rt=gt,st=yt):(rt=ht,st=dt);rt*=lt}else(isNaN(nt)||isNaN(it))&&(st=rt=NaN);break}case"string":{if(dt=nt.match(/\d+|./g),dt===null)throw tt.InvalidParameter;if(dt[ht]==="-"?(at=-1,ht++):dt[ht]==="+"&&ht++,dt.length===ht+1?pt=d(dt[ht++],at):dt[ht+1]==="."||dt[ht]==="."?(dt[ht]!=="."&&(ot=d(dt[ht++],at)),ht++,(ht+1===dt.length||dt[ht+1]==="("&&dt[ht+3]===")"||dt[ht+1]==="'"&&dt[ht+3]==="'")&&(pt=d(dt[ht],at),ut=Math.pow(10,dt[ht].length),ht++),(dt[ht]==="("&&dt[ht+2]===")"||dt[ht]==="'"&&dt[ht+2]==="'")&&(ct=d(dt[ht+1],at),lt=Math.pow(10,dt[ht+1].length)-1,ht+=3)):dt[ht+1]==="/"||dt[ht+1]===":"?(pt=d(dt[ht],at),ut=d(dt[ht+2],1),ht+=3):dt[ht+3]==="/"&&dt[ht+1]===" "&&(ot=d(dt[ht],at),pt=d(dt[ht+2],at),ut=d(dt[ht+4],1),ht+=5),dt.length<=ht){st=ut*lt,at=rt=ct+st*ot+lt*pt;break}}default:throw tt.InvalidParameter}if(st===0)throw tt.DivisionByZero;c.s=at<0?-1:1,c.n=Math.abs(rt),c.d=Math.abs(st)};function $(nt,it,rt){for(var st=1;it>0;nt=nt*nt%rt,it>>=1)it&1&&(st=st*nt%rt);return st}function j(nt,it){for(;it%2===0;it/=2);for(;it%5===0;it/=5);if(it===1)return 0;for(var rt=10%it,st=1;rt!==1;st++)if(rt=rt*10%it,st>a)return 0;return st}function _e(nt,it,rt){for(var st=1,at=$(10,rt,it),ot=0;ot<300;ot++){if(st===at)return ot;st=st*10%it,at=at*10%it}return 0}function et(nt,it){if(!nt)return it;if(!it)return nt;for(;;){if(nt%=it,!nt)return it;if(it%=nt,!it)return nt}}function tt(nt,it){if(k(nt,it),this instanceof tt)nt=et(c.d,c.n),this.s=c.s,this.n=c.n/nt,this.d=c.d/nt;else return _(c.s*c.n,c.d)}tt.DivisionByZero=new Error("Division by Zero"),tt.InvalidParameter=new Error("Invalid argument"),tt.NonIntegerParameter=new Error("Parameters must be integer"),tt.prototype={s:1,n:0,d:1,abs:function(){return _(this.n,this.d)},neg:function(){return _(-this.s*this.n,this.d)},add:function(nt,it){return k(nt,it),_(this.s*this.n*c.d+c.s*this.d*c.n,this.d*c.d)},sub:function(nt,it){return k(nt,it),_(this.s*this.n*c.d-c.s*this.d*c.n,this.d*c.d)},mul:function(nt,it){return k(nt,it),_(this.s*c.s*this.n*c.n,this.d*c.d)},div:function(nt,it){return k(nt,it),_(this.s*c.s*this.n*c.d,this.d*c.n)},clone:function(){return _(this.s*this.n,this.d)},mod:function(nt,it){if(isNaN(this.n)||isNaN(this.d))return new tt(NaN);if(nt===void 0)return _(this.s*this.n%this.d,1);if(k(nt,it),c.n===0&&this.d===0)throw tt.DivisionByZero;return _(this.s*(c.d*this.n)%(c.n*this.d),c.d*this.d)},gcd:function(nt,it){return k(nt,it),_(et(c.n,this.n)*et(c.d,this.d),c.d*this.d)},lcm:function(nt,it){return k(nt,it),c.n===0&&this.n===0?_(0,1):_(c.n*this.n,et(c.n,this.n)*et(c.d,this.d))},ceil:function(nt){return nt=Math.pow(10,nt||0),isNaN(this.n)||isNaN(this.d)?new tt(NaN):_(Math.ceil(nt*this.s*this.n/this.d),nt)},floor:function(nt){return nt=Math.pow(10,nt||0),isNaN(this.n)||isNaN(this.d)?new tt(NaN):_(Math.floor(nt*this.s*this.n/this.d),nt)},round:function(nt){return nt=Math.pow(10,nt||0),isNaN(this.n)||isNaN(this.d)?new tt(NaN):_(Math.round(nt*this.s*this.n/this.d),nt)},inverse:function(){return _(this.s*this.d,this.n)},pow:function(nt,it){if(k(nt,it),c.d===1)return c.s<0?_(Math.pow(this.s*this.d,c.n),Math.pow(this.n,c.n)):_(Math.pow(this.s*this.n,c.n),Math.pow(this.d,c.n));if(this.s<0)return null;var rt=b(this.n),st=b(this.d),at=1,ot=1;for(var pt in rt)if(pt!=="1"){if(pt==="0"){at=0;break}if(rt[pt]*=c.n,rt[pt]%c.d===0)rt[pt]/=c.d;else return null;at*=Math.pow(pt,rt[pt])}for(var pt in st)if(pt!=="1"){if(st[pt]*=c.n,st[pt]%c.d===0)st[pt]/=c.d;else return null;ot*=Math.pow(pt,st[pt])}return c.s<0?_(ot,at):_(at,ot)},equals:function(nt,it){return k(nt,it),this.s*this.n*c.d===c.s*c.n*this.d},compare:function(nt,it){k(nt,it);var rt=this.s*this.n*c.d-c.s*c.n*this.d;return(0=0;ot--)at=at.inverse().add(rt[ot]);if(at.sub(it).abs().valueOf()0&&(rt+=it,rt+=" ",st%=at),rt+=st,rt+="/",rt+=at),rt},toLatex:function(nt){var it,rt="",st=this.n,at=this.d;return this.s<0&&(rt+="-"),at===1?rt+=st:(nt&&(it=Math.floor(st/at))>0&&(rt+=it,st%=at),rt+="\\frac{",rt+=st,rt+="}{",rt+=at,rt+="}"),rt},toContinued:function(){var nt,it=this.n,rt=this.d,st=[];if(isNaN(it)||isNaN(rt))return st;do st.push(Math.floor(it/rt)),nt=it%rt,it=rt,rt=nt;while(it!==1);return st},toString:function(nt){var it=this.n,rt=this.d;if(isNaN(it)||isNaN(rt))return"NaN";nt=nt||15;var st=j(it,rt),at=_e(it,rt,st),ot=this.s<0?"-":"";if(ot+=it/rt|0,it%=rt,it*=10,it&&(ot+="."),st){for(var pt=at;pt--;)ot+=it/rt|0,it%=rt,it*=10;ot+="(";for(var pt=st;pt--;)ot+=it/rt|0,it%=rt,it*=10;ot+=")"}else for(var pt=nt;it&&pt--;)ot+=it/rt|0,it%=rt,it*=10;return ot}},Object.defineProperty(tt,"__esModule",{value:!0}),tt.default=tt,tt.Fraction=tt,o.exports=tt})()})(fraction$1);var Fraction=getDefaultExportFromCjs(fraction$1.exports);Fraction.prototype.sam=function(){return this.floor()};Fraction.prototype.nextSam=function(){return this.sam().add(1)};Fraction.prototype.wholeCycle=function(){return new TimeSpan$1(this.sam(),this.nextSam())};Fraction.prototype.cyclePos=function(){return this.sub(this.sam())};Fraction.prototype.lt=function(o){return this.compare(o)<0};Fraction.prototype.gt=function(o){return this.compare(o)>0};Fraction.prototype.lte=function(o){return this.compare(o)<=0};Fraction.prototype.gte=function(o){return this.compare(o)>=0};Fraction.prototype.eq=function(o){return this.compare(o)==0};Fraction.prototype.max=function(o){return this.gt(o)?this:o};Fraction.prototype.min=function(o){return this.lt(o)?this:o};Fraction.prototype.show=function(){return this.s*this.n+"/"+this.d};Fraction.prototype.or=function(o){return this.eq(0)?o:this};const fraction=o=>(typeof o=="number"&&(o=String(o)),Fraction(o)),gcd=(...o)=>o.reduce((e,s)=>e.gcd(s),fraction(1));fraction._original=Fraction;class TimeSpan$1{constructor(e,s){this.begin=fraction(e),this.end=fraction(s)}get spanCycles(){const e=[];var s=this.begin;const a=this.end,c=a.sam();for(;a.gt(s);){if(s.sam().equals(c)){e.push(new TimeSpan$1(s,this.end));break}const d=s.nextSam();e.push(new TimeSpan$1(s,d)),s=d}return e}get duration(){return this.end.sub(this.begin)}cycleArc(){const e=this.begin.cyclePos(),s=e.add(this.duration);return new TimeSpan$1(e,s)}withTime(e){return new TimeSpan$1(e(this.begin),e(this.end))}withEnd(e){return new TimeSpan$1(this.begin,e(this.end))}withCycle(e){const s=this.begin.sam(),a=s.add(e(this.begin.sub(s))),c=s.add(e(this.end.sub(s)));return new TimeSpan$1(a,c)}intersection(e){const s=this.begin.max(e.begin),a=this.end.min(e.end);if(!s.gt(a)&&!(s.equals(a)&&(s.equals(this.end)&&this.begin.lt(this.end)||s.equals(e.end)&&e.begin.lt(e.end))))return new TimeSpan$1(s,a)}intersection_e(e){const s=this.intersection(e);if(s==null)throw"TimeSpans do not intersect";return s}midpoint(){return this.begin.add(this.duration.div(fraction(2)))}equals(e){return this.begin.equals(e.begin)&&this.end.equals(e.end)}show(){return this.begin.show()+" -> "+this.end.show()}}class Hap{constructor(e,s,a,c={},d=!1){this.whole=e,this.part=s,this.value=a,this.context=c,this.stateful=d,d&&console.assert(typeof this.value=="function","Stateful values must be functions")}get duration(){return this.whole.end.sub(this.whole.begin)}wholeOrPart(){return this.whole?this.whole:this.part}withSpan(e){const s=this.whole?e(this.whole):void 0;return new Hap(s,e(this.part),this.value,this.context)}withValue(e){return new Hap(this.whole,this.part,e(this.value),this.context)}hasOnset(){return this.whole!=null&&this.whole.begin.equals(this.part.begin)}resolveState(e){if(this.stateful&&this.hasOnset()){console.log("stateful");const s=this.value,[a,c]=s(e);return[a,new Hap(this.whole,this.part,c,this.context,!1)]}return[e,this]}spanEquals(e){return this.whole==null&&e.whole==null||this.whole.equals(e.whole)}equals(e){return this.spanEquals(e)&&this.part.equals(e.part)&&this.value===e.value}show(){return"("+(this.whole==null?"~":this.whole.show())+", "+this.part.show()+", "+this.value+")"}showWhole(){return`${this.whole==null?"~":this.whole.show()}: ${typeof this.value=="object"?JSON.stringify(this.value):this.value}`}combineContext(e){const s=this;return wt(Ot(Ot({},s.context),e.context),{locations:(s.context.locations||[]).concat(e.context.locations||[])})}setContext(e){return new Hap(this.whole,this.part,this.value,e)}}class State$1{constructor(e,s={}){this.span=e,this.controls=s}setSpan(e){return new State$1(e,this.controls)}withSpan(e){return this.setSpan(e(this.span))}setControls(e){return new State$1(this.span,e)}}const isNote$3=o=>/^[a-gA-G][#b]*[0-9]$/.test(o),tokenizeNote=o=>{var c;if(typeof o!="string")return[];const[e,s="",a]=((c=o.match(/^([a-gA-G])([#b]*)([0-9])?$/))==null?void 0:c.slice(1))||[];return e?[e,s,a?Number(a):void 0]:[]},toMidi$1=o=>{const[e,s,a]=tokenizeNote(o);if(!e)throw new Error('not a note: "'+o+'"');const c={c:0,d:2,e:4,f:5,g:7,a:9,b:11}[e.toLowerCase()],d=(s==null?void 0:s.split("").reduce((_,b)=>_+{"#":1,b:-1}[b],0))||0;return(Number(a)+1)*12+c+d},fromMidi=o=>Math.pow(2,(o-69)/12)*440,mod=(o,e)=>(o%e+e)%e,getPlayableNoteValue=o=>{let{value:e,context:s}=o;if(typeof e=="number"&&s.type!=="frequency")e=fromMidi(o.value);else if(typeof e=="string"&&!isNote$3(e))throw new Error("not a note: "+e);return e},getFrequency=o=>{let{value:e,context:s}=o;if(typeof e=="object"&&e.freq)return e.freq;if(typeof e=="number"&&s.type!=="frequency")e=fromMidi(o.value);else if(typeof e=="string"&&isNote$3(e))e=fromMidi(toMidi$1(o.value));else if(typeof e!="number")throw new Error("not a note or frequency:"+e);return e},rotate=(o,e)=>o.slice(e).concat(o.slice(0,e)),pipe=(...o)=>o.reduce((e,s)=>(...a)=>e(s(...a)),e=>e),compose=(...o)=>pipe(...o.reverse()),removeUndefineds=o=>o.filter(e=>e!=null),flatten$1=o=>[].concat(...o),id$1=o=>o,constant=(o,e)=>o,listRange=(o,e)=>Array.from({length:e-o+1},(s,a)=>a+o);function curry(o,e){const s=function a(...c){if(c.length>=o.length)return o.apply(this,c);{const d=function(..._){return a.apply(this,c.concat(_))};return e&&e(d,c),d}};return e&&e(s,[]),s}function unionWithObj(o,e,s){const a=Object.keys(o).filter(c=>Object.keys(e).includes(c));return Object.assign({},o,e,Object.fromEntries(a.map(c=>[c,s(o[c],e[c])])))}curry((o,e)=>o*e);curry((o,e)=>e.map(o));function drawLine(o,e=60){let s=0,a=fraction(0),c=[""],d="";for(;c[0].lengthj.hasOnset()).map(j=>j.duration),k=gcd(...b),$=k.inverse();c=c.map(j=>j+"|"),d+="|";for(let j=0;j<$;j++){const[_e,et]=[a,a.add(k)],tt=_.filter(it=>it.whole.begin.lte(_e)&&it.whole.end.gte(et)),nt=tt.length-c.length;nt>0&&(c=c.concat(Array(nt).fill(d))),c=c.map((it,rt)=>{const st=tt[rt];if(st){const ot=st.whole.begin.eq(_e)?""+st.value:"-";return it+ot}return it+"."}),d+=".",a=a.add(k)}s++}return c.join(` +`)}class Pattern$5{constructor(e){this.query=e}queryArc(e,s){return this.query(new State$1(new TimeSpan$1(e,s)))}_splitQueries(){const e=this,s=a=>flatten$1(a.span.spanCycles.map(c=>e.query(a.setSpan(c))));return new Pattern$5(s)}withQuerySpan(e){return new Pattern$5(s=>this.query(s.withSpan(e)))}withQueryTime(e){return new Pattern$5(s=>this.query(s.withSpan(a=>a.withTime(e))))}withHapSpan(e){return new Pattern$5(s=>this.query(s).map(a=>a.withSpan(e)))}withHapTime(e){return this.withHapSpan(s=>s.withTime(e))}_withHaps(e){return new Pattern$5(s=>e(this.query(s)))}_withHap(e){return this._withHaps(s=>s.map(e))}_setContext(e){return this._withHap(s=>s.setContext(e))}_withContext(e){return this._withHap(s=>s.setContext(e(s.context)))}_stripContext(){return this._withHap(e=>e.setContext({}))}withLocation(e,s){const a={start:{line:e[0],column:e[1],offset:e[2]},end:{line:s[0],column:s[1],offset:s[2]}};return this._withContext(c=>{const d=(c.locations||[]).concat([a]);return wt(Ot({},c),{locations:d})})}withMiniLocation(e,s){const a={start:{line:e[0],column:e[1],offset:e[2]},end:{line:s[0],column:s[1],offset:s[2]}};return this._withContext(c=>{let d=c.locations||[];return d=d.map(({start:_,end:b})=>{const k=_.line===1?a.start.column:0;return{start:wt(Ot({},_),{line:_.line-1+(a.start.line-1)+1,column:_.column-1+k}),end:wt(Ot({},b),{line:b.line-1+(a.start.line-1)+1,column:b.column-1+k})}}),wt(Ot({},c),{locations:d})})}withValue(e){return new Pattern$5(s=>this.query(s).map(a=>a.withValue(e)))}fmap(e){return this.withValue(e)}_filterHaps(e){return new Pattern$5(s=>this.query(s).filter(e))}_filterValues(e){return new Pattern$5(s=>this.query(s).filter(a=>e(a.value)))}_removeUndefineds(){return this._filterValues(e=>e!=null)}onsetsOnly(){return this._filterHaps(e=>e.hasOnset())}discreteOnly(){return this._filterHaps(e=>e.whole)}_appWhole(e,s){const a=this,c=function(d){const _=a.query(d),b=s.query(d),k=function($,j){const _e=$.part.intersection(j.part);if(_e!=null)return new Hap(e($.whole,j.whole),_e,$.value(j.value),j.combineContext($))};return flatten$1(_.map($=>removeUndefineds(b.map(j=>k($,j)))))};return new Pattern$5(c)}appBoth(e){const s=function(a,c){if(!(a==null||c==null))return a.intersection_e(c)};return this._appWhole(s,e)}appLeft(e){const s=this,a=function(c){const d=[];for(const _ of s.query(c)){const b=e.query(c.setSpan(_.wholeOrPart()));for(const k of b){const $=_.whole,j=_.part.intersection(k.part);if(j){const _e=_.value(k.value),et=k.combineContext(_),tt=new Hap($,j,_e,et);d.push(tt)}}}return d};return new Pattern$5(a)}appRight(e){const s=this,a=function(c){const d=[];for(const _ of e.query(c)){const b=s.query(c.setSpan(_.wholeOrPart()));for(const k of b){const $=_.whole,j=k.part.intersection(_.part);if(j){const _e=k.value(_.value),et=_.combineContext(k),tt=new Hap($,j,_e,et);d.push(tt)}}}return d};return new Pattern$5(a)}firstCycle(e=!1){var s=this;return e||(s=s._stripContext()),s.query(new State$1(new TimeSpan$1(fraction(0),fraction(1))))}get _firstCycleValues(){return this.firstCycle().map(e=>e.value)}get _showFirstCycle(){return this.firstCycle().map(e=>`${e.value}: ${e.whole.begin.toFraction()} - ${e.whole.end.toFraction()}`)}_sortHapsByPart(){return this._withHaps(e=>e.sort((s,a)=>s.part.begin.sub(a.part.begin).or(s.part.end.sub(a.part.end)).or(s.whole.begin.sub(a.whole.begin).or(s.whole.end.sub(a.whole.end)))))}_opIn(e,s){return this.fmap(s).appLeft(reify$1(e))}_opOut(e,s){return this.fmap(s).appRight(reify$1(e))}_opMix(e,s){return this.fmap(s).appBoth(reify$1(e))}_opSqueeze(e,s){const a=reify$1(e);return this.fmap(c=>a.fmap(d=>s(c)(d)))._squeezeJoin()}_opSqueezeOut(e,s){const a=this;return reify$1(e).fmap(d=>a.fmap(_=>s(_)(d)))._squeezeJoin()}_opTrig(e,s){return reify$1(e).fmap(c=>this.fmap(d=>s(d)(c)))._trigJoin()}_opTrigzero(e,s){return reify$1(e).fmap(c=>this.fmap(d=>s(d)(c)))._TrigzeroJoin()}_asNumber(e=!1,s=!1){return this._withHap(a=>{const c=Number(a.value);if(!isNaN(c))return a.withValue(()=>c);const d={e:Math.E,pi:Math.PI}[a.value];if(typeof d!="undefined")return a.withValue(()=>d);if(isNote$3(a.value))return new Hap(a.whole,a.part,toMidi$1(a.value),wt(Ot({},a.context),{type:"midi"}));if(!e){if(s)return a;throw new Error('cannot parse as number: "'+a.value+'"')}})}round(){return this._asNumber().fmap(e=>Math.round(e))}floor(){return this._asNumber().fmap(e=>Math.floor(e))}ceil(){return this._asNumber().fmap(e=>Math.ceil(e))}_toBipolar(){return this.fmap(e=>e*2-1)}_fromBipolar(){return this.fmap(e=>(e+1)/2)}range(e,s){return this.mul(s-e).add(e)}rangex(e,s){return this.range(Math.log(e),Math.log(s)).fmap(Math.exp)}range2(e,s){return this._fromBipolar().range(e,s)}_bindWhole(e,s){const a=this,c=function(d){const _=function(k,$){return new Hap(e(k.whole,$.whole),$.part,$.value,Object.assign({},k.context,$.context,{locations:(k.context.locations||[]).concat($.context.locations||[])}))},b=function(k){return s(k.value).query(d.setSpan(k.part)).map($=>_(k,$))};return flatten$1(a.query(d).map(k=>b(k)))};return new Pattern$5(c)}bind(e){const s=function(a,c){if(!(a==null||c==null))return a.intersection_e(c)};return this._bindWhole(s,e)}join(){return this.bind(id$1)}outerBind(e){return this._bindWhole((s,a)=>s,e)}outerJoin(){return this.outerBind(id$1)}innerBind(e){return this._bindWhole((s,a)=>a,e)}innerJoin(){return this.innerBind(id$1)}_trigJoin(e=!1){const s=this;return new Pattern$5(a=>s.discreteOnly().query(a).map(c=>c.value.late(e?c.whole.begin:c.whole.begin.cyclePos()).query(a).map(d=>new Hap(d.whole?d.whole.intersection(c.whole):void 0,d.part.intersection(c.part),d.value).setContext(c.combineContext(d))).filter(d=>d.part)).flat())}_TrigzeroJoin(){return this._trigJoin(!0)}_squeezeJoin(){const e=this;function s(a){const c=e.discreteOnly().query(a);function d(b){const $=b.value._compressSpan(b.wholeOrPart().cycleArc()).query(a.setSpan(b.part));function j(_e,et){let tt;if(et.whole&&_e.whole&&(tt=et.whole.intersection(_e.whole),!tt))return;const nt=et.part.intersection(_e.part);if(!nt)return;const it=et.combineContext(_e);return new Hap(tt,nt,et.value,it)}return $.map(_e=>j(b,_e))}return flatten$1(c.map(d)).filter(b=>b)}return new Pattern$5(s)}_squeezeBind(e){return this.fmap(e)._squeezeJoin()}_apply(e){return e(this)}layer(...e){return stack(...e.map(s=>s(this)))}_patternify(e){const s=this;return function(...c){return c=c.map(_=>isPattern$1(_)?_.fmap(b=>b.value||b):_),sequence(...c).fmap(_=>e.call(s,_)).innerJoin()}}_fastGap(e){const s=function(c){const d=c.begin.sam(),_=d.add(c.begin.sub(d).mul(e).min(1)),b=d.add(c.end.sub(d).mul(e).min(1));return new TimeSpan$1(_,b)},a=function(c){const d=c.begin.sam(),_=d.add(c.begin.sub(d).div(e).min(1)),b=d.add(c.end.sub(d).div(e).min(1));return new TimeSpan$1(_,b)};return this.withQuerySpan(s).withHapSpan(a)._splitQueries()}_compress(e,s){return e.gt(s)||e.gt(1)||s.gt(1)||e.lt(0)||s.lt(0)?silence:this._fastGap(fraction(1).div(s.sub(e)))._late(e)}_compressSpan(e){return this._compress(e.begin,e.end)}_fast(e){return this.withQueryTime(a=>a.mul(e)).withHapTime(a=>a.div(e))}_slow(e){return this._fast(fraction(1).div(e))}_inside(e,s){return s(this._slow(e))._fast(e)}_outside(e,s){return s(this._fast(e))._slow(e)}_ply(e){return this.fmap(s=>pure(s)._fast(e))._squeezeJoin()}_chop(e){const a=Array.from({length:e},(d,_)=>_).map(d=>({begin:d/e,end:(d+1)/e})),c=function(d){return sequence(a.map(_=>Object.assign({},d,_)))};return this._squeezeBind(c)}_striate(e){const a=Array.from({length:e},(d,_)=>_).map(d=>({begin:d/e,end:(d+1)/e})),c=slowcat(...a);return this.set(c)._fast(e)}_cpm(e){return this._fast(e/60)}_early(e){return e=fraction(e),this.withQueryTime(s=>s.add(e)).withHapTime(s=>s.sub(e))}_late(e){return e=fraction(e),this._early(fraction(0).sub(e))}_zoom(e,s){s=fraction(s),e=fraction(e);const a=s.sub(e);return this.withQuerySpan(c=>c.withCycle(d=>d.mul(a).add(e))).withHapSpan(c=>c.withCycle(d=>d.sub(e).div(a)))._splitQueries()}_zoomArc(e){return this.zoom(e.begin,e.end)}_linger(e){return e==0?silence:e<0?this._zoom(e.add(1),1)._slow(e):this._zoom(0,e)._slow(e)}_color(e){return this._withContext(s=>wt(Ot({},s),{color:e}))}log(){return this._withHap(e=>{var s;return e.setContext(wt(Ot({},e.context),{logs:(((s=e.context)==null?void 0:s.logs)||[]).concat([e.show()])}))})}drawLine(){return console.log(drawLine(this)),this}_segment(e){return this.struct(pure(!0)._fast(e))}invert(){return this.fmap(e=>!e)}inv(){return this.invert()}when(e,s){const a=e._filterValues(id$1),c=e._filterValues(b=>!b),d=a.fmap(b=>k=>k).appRight(s(this)),_=c.fmap(b=>k=>k).appRight(this);return stack(d,_)}off(e,s){return stack(this,s(this.late(e)))}every(e,s){const a=this,c=Array(e-1).fill(a);return c.unshift(s(a)),slowcatPrime(...c)}brak(){return this.when(slowcat(!1,!0),e=>fastcat(e,silence)._late(.25))}rev(){const e=this,s=function(a){const c=a.span,d=c.begin.sam(),_=c.begin.nextSam(),b=function($){const j=$.withTime(et=>d.add(_.sub(et))),_e=j.begin;return j.begin=j.end,j.end=_e,j};return e.query(a.setSpan(b(c))).map($=>$.withSpan(b))};return new Pattern$5(s)._splitQueries()}palindrome(){return this.every(2,rev)}juxBy(e,s){e/=2;const a=function(_,b,k){return b in _?_[b]:k},c=this.withValue(_=>Object.assign({},_,{pan:a(_,"pan",.5)-e})),d=this.withValue(_=>Object.assign({},_,{pan:a(_,"pan",.5)+e}));return stack(c,s(d))}_jux(e){return this.juxBy(1,e)}stack(...e){return stack(this,...e)}sequence(...e){return sequence(this,...e)}seq(...e){return sequence(this,...e)}cat(...e){return cat(this,...e)}fastcat(...e){return fastcat(this,...e)}slowcat(...e){return slowcat(this,...e)}superimpose(...e){return this.stack(...e.map(s=>s(this)))}stutWith(e,s,a){return stack(...listRange(0,e-1).map(c=>a(this.late(fraction(s).mul(c)),c)))}stut(e,s,a){return this.stutWith(e,a,(c,d)=>c.velocity(Math.pow(s,d)))}_echoWith(e,s,a){return stack(...listRange(0,e-1).map(c=>a(this.late(fraction(s).mul(c)),c)))}_echo(e,s,a){return this._echoWith(e,s,(c,d)=>c.velocity(Math.pow(a,d)))}iter(e,s=!1){return slowcat(...listRange(0,e-1).map(a=>s?this.late(a/e):this.early(a/e)))}iterBack(e){return this.iter(e,!0)}_chunk(e,s,a=!1){const c=Array(e-1).fill(!1);c.unshift(!0);const d=sequence(...c).iter(e,a);return this.when(d,s)}_chunkBack(e,s){return this._chunk(e,s,!0)}edit(...e){return stack(...e.map(s=>s(this)))}pipe(e){return e(this)}_bypass(e){return e=Boolean(parseInt(e)),e?silence:this}hush(){return silence}_duration(e){return this.withHapSpan(s=>new TimeSpan$1(s.begin,s.begin.add(e)))}_legato(e){return this.withHapSpan(s=>new TimeSpan$1(s.begin,s.begin.add(s.end.sub(s.begin).mul(e))))}_velocity(e){return this._withContext(s=>wt(Ot({},s),{velocity:(s.velocity||1)*e}))}_loopAt(e,s=1){return this.speed(1/e*s).unit("c").slow(e)}onTrigger(e){return this._withHap(s=>s.setContext(wt(Ot({},s.context),{onTrigger:e})))}}function _composeOp(o,e,s){function a(c){return c instanceof Object&&!(c instanceof Function)}return a(o)||a(e)?(a(o)||(o={value:o}),a(e)||(e={value:e}),unionWithObj(o,e,s)):s(o,e)}(function(){const o=a=>a._asNumber(),s={set:[(a,c)=>c],keep:[(a,c)=>a],keepif:[(a,c)=>c?a:void 0],add:[(a,c)=>a+c,a=>a._asNumber(!1,!0)],sub:[(a,c)=>a-c,o],mul:[(a,c)=>a*c,o],div:[(a,c)=>a/c,o],mod:[mod,o],pow:[Math.pow,o],_and:[(a,c)=>a&c,o],_or:[(a,c)=>a|c,o],_xor:[(a,c)=>a^c,o],_lshift:[(a,c)=>a<a>>c,o],lt:[(a,c)=>aa>c],lte:[(a,c)=>a<=c],gte:[(a,c)=>a>=c],eq:[(a,c)=>a==c],eqt:[(a,c)=>a===c],ne:[(a,c)=>a!=c],net:[(a,c)=>a!==c],and:[(a,c)=>a&&c],or:[(a,c)=>a||c],func:[(a,c)=>c(a)]};for(const[a,[c,d]]of Object.entries(s))for(const _ of["In","Out","Mix","Squeeze","SqueezeOut","Trig","Trigzero"])Pattern$5.prototype[a+_]=function(...b){var k=this;b=sequence(b),d&&(k=d(k),b=d(b));var $=k["_op"+_](b,j=>_e=>_composeOp(j,_e,c));return a==="keepif"&&($=$._removeUndefineds()),$},_==="Squeeze"&&(Pattern$5.prototype[a+"SqueezeIn"]=Pattern$5.prototype[a+_]),_==="In"?Pattern$5.prototype[a]=Pattern$5.prototype[a+_]:a==="set"&&(Pattern$5.prototype[_.toLowerCase()]=Pattern$5.prototype[a+_]);Pattern$5.prototype.struct=Pattern$5.prototype.keepifOut,Pattern$5.prototype.structAll=Pattern$5.prototype.keepOut,Pattern$5.prototype.mask=Pattern$5.prototype.keepifIn,Pattern$5.prototype.maskAll=Pattern$5.prototype.keepIn,Pattern$5.prototype.reset=Pattern$5.prototype.keepifTrig,Pattern$5.prototype.resetAll=Pattern$5.prototype.keepTrig,Pattern$5.prototype.restart=Pattern$5.prototype.keepifTrigzero,Pattern$5.prototype.restartAll=Pattern$5.prototype.keepTrigzero})();Pattern$5.prototype.patternified=["apply","chop","color","cpm","duration","early","fast","jux","late","legato","linger","ply","segment","striate","slow","velocity"];Pattern$5.prototype.factories={pure,stack,slowcat,fastcat,cat,timeCat,sequence,seq:seq$2,polymeter,pm,polyrhythm,pr};const silence=new Pattern$5(o=>[]);function pure(o){function e(s){return s.span.spanCycles.map(a=>new Hap(fraction(a.begin).wholeCycle(),a,o))}return new Pattern$5(e)}function isPattern$1(o){return o instanceof Pattern$5}function reify$1(o){return isPattern$1(o)?o:pure(o)}function stack(...o){o=o.map(s=>Array.isArray(s)?sequence(...s):reify$1(s));const e=s=>flatten$1(o.map(a=>a.query(s)));return new Pattern$5(e)}function slowcat(...o){o=o.map(s=>Array.isArray(s)?sequence(...s):reify$1(s));const e=function(s){const a=s.span,c=mod(a.begin.sam(),o.length),d=o[c];if(!d)return[];const _=a.begin.floor().sub(a.begin.div(o.length).floor());return d.withHapTime(b=>b.add(_)).query(s.setSpan(a.withTime(b=>b.sub(_))))};return new Pattern$5(e)._splitQueries()}function slowcatPrime(...o){o=o.map(reify$1);const e=function(s){const a=Math.floor(s.span.begin)%o.length;return o[a].query(s)};return new Pattern$5(e)._splitQueries()}function fastcat(...o){return slowcat(...o)._fast(o.length)}function cat(...o){return slowcat(...o)}function timeCat(...o){const e=o.map(c=>c[0]).reduce((c,d)=>c.add(d),fraction(0));let s=fraction(0);const a=[];for(const[c,d]of o){const _=s.add(c);a.push(reify$1(d)._compress(s.div(e),_.div(e))),s=_}return stack(...a)}function sequence(...o){return fastcat(...o)}function seq$2(...o){return fastcat(...o)}function _sequenceCount(o){return Array.isArray(o)?o.length==0?[silence,0]:o.length==1?_sequenceCount(o[0]):[fastcat(...o.map(e=>_sequenceCount(e)[0])),o.length]:[reify$1(o),1]}function polymeterSteps(o,...e){const s=e.map(c=>_sequenceCount(c));if(s.length==0)return silence;o==0&&(o=s[0][1]);const a=[];for(const c of s)c[1]==0&&next,o==c[1]?a.push(c[0]):a.push(c[0]._fast(fraction(o).div(fraction(c[1]))));return stack(...a)}function polymeter(...o){return polymeterSteps(0,...o)}function pm(...o){polymeter(...o)}function polyrhythm(...o){const e=o.map(s=>sequence(s));return e.length==0?silence:stack(...e)}function pr(o){polyrhythm(o)}const add$1=curry((o,e)=>e.add(o)),chop=curry((o,e)=>e.chop(o)),chunk=curry((o,e)=>e.chunk(o)),chunkBack=curry((o,e)=>e.chunkBack(o)),div=curry((o,e)=>e.div(o)),early=curry((o,e)=>e.early(o)),echo=curry((o,e,s,a)=>a.echo(o,e,s)),every=curry((o,e,s)=>s.every(o,e)),fast=curry((o,e)=>e.fast(o)),inv=o=>o.inv(),invert=o=>o.invert(),iter=curry((o,e)=>e.iter(o)),iterBack=curry((o,e)=>e.iter(o)),jux=curry((o,e)=>e.jux(o)),juxBy=curry((o,e,s)=>s.juxBy(o,e)),late=curry((o,e)=>e.late(o)),linger=curry((o,e)=>e.linger(o)),mask=curry((o,e)=>e.mask(o)),mul=curry((o,e)=>e.mul(o)),off=curry((o,e,s)=>s.off(o,e)),ply=curry((o,e)=>e.ply(o)),range$1=curry((o,e,s)=>s.range(o,e)),range2=curry((o,e,s)=>s.range2(o,e)),rev=o=>o.rev(),slow=curry((o,e)=>e.slow(o)),struct=curry((o,e)=>e.struct(o)),sub=curry((o,e)=>e.sub(o)),superimpose=curry((o,e)=>e.superimpose(...o)),set=curry((o,e)=>e.set(o)),when=curry((o,e,s)=>s.when(o,e));Pattern$5.prototype.composable={fast,slow,early,late,superimpose};function makeComposable(o){return Object.entries(Pattern$5.prototype.composable).forEach(([e,s])=>{o[e]=(...a)=>{const c=compose(o,s(...a));return makeComposable(c)}}),o}const patternify2=o=>(e,s,a)=>e.fmap(c=>d=>o.call(a,c,d)).appLeft(s).innerJoin(),patternify3=o=>(e,s,a,c)=>e.fmap(d=>_=>b=>o.call(c,d,_,b)).appLeft(s).appLeft(a).innerJoin(),patternify4=o=>(e,s,a,c,d)=>e.fmap(_=>b=>k=>$=>o.call(d,_,b,k,$)).appLeft(s).appLeft(a).appLeft(c).innerJoin();Pattern$5.prototype.echo=function(...o){return o=o.map(reify$1),patternify3(Pattern$5.prototype._echo)(...o,this)};Pattern$5.prototype.echoWith=function(...o){return o=o.map(reify$1),patternify3(Pattern$5.prototype._echoWith)(...o,this)};Pattern$5.prototype.chunk=function(...o){return o=o.map(reify$1),patternify2(Pattern$5.prototype._chunk)(...o,this)};Pattern$5.prototype.chunkBack=function(...o){return o=o.map(reify$1),patternify2(Pattern$5.prototype._chunkBack)(...o,this)};Pattern$5.prototype.loopAt=function(...o){return o=o.map(reify$1),patternify2(Pattern$5.prototype._loopAt)(...o,this)};Pattern$5.prototype.zoom=function(...o){return o=o.map(reify$1),patternify2(Pattern$5.prototype._zoom)(...o,this)};Pattern$5.prototype.compress=function(...o){return o=o.map(reify$1),patternify2(Pattern$5.prototype._compress)(...o,this)};Pattern$5.prototype.outside=function(...o){return o=o.map(reify$1),patternify2(Pattern$5.prototype._outside)(...o,this)};Pattern$5.prototype.inside=function(...o){return o=o.map(reify$1),patternify2(Pattern$5.prototype._inside)(...o,this)};Pattern$5.prototype.bootstrap=function(){const o=Object.fromEntries(Object.entries(Pattern$5.prototype.composable).map(([e,s])=>(Pattern$5.prototype[e]&&(Pattern$5.prototype[e]=makeComposable(Pattern$5.prototype[e])),[e,curry(s,makeComposable)])));return this.patternified.forEach(e=>{Pattern$5.prototype[e]=function(...s){return this._patternify(Pattern$5.prototype["_"+e])(...s)}}),o};Pattern$5.prototype.define=(o,e,s={})=>{s.composable&&(Pattern$5.prototype.composable[o]=e),s.patternified&&(Pattern$5.prototype.patternified=Pattern$5.prototype.patternified.concat([o])),Pattern$5.prototype.bootstrap()};Pattern$5.prototype.define("hush",o=>o.hush(),{patternified:!1,composable:!0});Pattern$5.prototype.define("bypass",o=>o.bypass(on),{patternified:!0,composable:!0});const controls={},generic_params=[["s","s","sound"],["f","n","The note or sample number to choose for a synth or sampleset"],["f","note","The note or pitch to play a sound or synth with"],["f","accelerate","a pattern of numbers that speed up (or slow down) samples while they play."],["f","gain","a pattern of numbers that specify volume. Values less than 1 make the sound quieter. Values greater than 1 make the sound louder. For the linear equivalent, see @amp@."],["f","amp","like @gain@, but linear."],["f","attack","a pattern of numbers to specify the attack time (in seconds) of an envelope applied to each sample."],["f","decay",""],["f","sustain",""],["f","release","a pattern of numbers to specify the release time (in seconds) of an envelope applied to each sample."],["f","hold","a pattern of numbers to specify the hold time (in seconds) of an envelope applied to each sample. Only takes effect if `attack` and `release` are also specified."],["f","bandf","A pattern of numbers from 0 to 1. Sets the center frequency of the band-pass filter."],["f","bandq","a pattern of anumbers from 0 to 1. Sets the q-factor of the band-pass filter."],["f","begin","a pattern of numbers from 0 to 1. Skips the beginning of each sample, e.g. `0.25` to cut off the first quarter from each sample."],["f","end","the same as `begin`, but cuts the end off samples, shortening them; e.g. `0.75` to cut off the last quarter of each sample."],["f","loop","loops the sample (from `begin` to `end`) the specified number of times."],["f","legato","controls the amount of overlap between two adjacent sounds"],["f","crush","bit crushing, a pattern of numbers from 1 (for drastic reduction in bit-depth) to 16 (for barely no reduction)."],["f","coarse","fake-resampling, a pattern of numbers for lowering the sample rate, i.e. 1 for original 2 for half, 3 for a third and so on."],["i","channel","choose the channel the pattern is sent to in superdirt"],["i","cut","In the style of classic drum-machines, `cut` will stop a playing sample as soon as another samples with in same cutgroup is to be played. An example would be an open hi-hat followed by a closed one, essentially muting the open."],["f","cutoff","a pattern of numbers from 0 to 1. Applies the cutoff frequency of the low-pass filter."],["f","hcutoff","a pattern of numbers from 0 to 1. Applies the cutoff frequency of the high-pass filter. Also has alias @hpf@"],["f","hresonance","a pattern of numbers from 0 to 1. Applies the resonance of the high-pass filter. Has alias @hpq@"],["f","resonance","a pattern of numbers from 0 to 1. Specifies the resonance of the low-pass filter."],["f","djf","DJ filter, below 0.5 is low pass filter, above is high pass filter."],["f","delay","a pattern of numbers from 0 to 1. Sets the level of the delay signal."],["f","delayfeedback","a pattern of numbers from 0 to 1. Sets the amount of delay feedback."],["f","delaytime","a pattern of numbers from 0 to 1. Sets the length of the delay."],["f","lock","A pattern of numbers. Specifies whether delaytime is calculated relative to cps. When set to 1, delaytime is a direct multiple of a cycle."],["f","detune",""],["f","dry","when set to `1` will disable all reverb for this pattern. See `room` and `size` for more information about reverb."],["f","fadeTime","Used when using begin/end or chop/striate and friends, to change the fade out time of the 'grain' envelope."],["f","fadeInTime","As with fadeTime, but controls the fade in time of the grain envelope. Not used if the grain begins at position 0 in the sample."],["f","freq",""],["f","gate",""],["f","leslie",""],["f","lrate",""],["f","lsize",""],["f","degree",""],["f","mtranspose",""],["f","ctranspose",""],["f","harmonic",""],["f","stepsPerOctave",""],["f","octaveR",""],["f","nudge","Nudges events into the future by the specified number of seconds. Negative numbers work up to a point as well (due to internal latency)"],["i","octave",""],["f","offset",""],["i","orbit","a pattern of numbers. An `orbit` is a global parameter context for patterns. Patterns with the same orbit will share hardware output bus offset and global effects, e.g. reverb and delay. The maximum number of orbits is specified in the superdirt startup, numbers higher than maximum will wrap around."],["f","overgain",""],["f","overshape",""],["f","pan","a pattern of numbers between 0 and 1, from left to right (assuming stereo), once round a circle (assuming multichannel)"],["f","panspan","a pattern of numbers between -inf and inf, which controls how much multichannel output is fanned out (negative is backwards ordering)"],["f","pansplay","a pattern of numbers between 0.0 and 1.0, which controls the multichannel spread range (multichannel only)"],["f","panwidth","a pattern of numbers between 0.0 and inf, which controls how much each channel is distributed over neighbours (multichannel only)"],["f","panorient","a pattern of numbers between -1.0 and 1.0, which controls the relative position of the centre pan in a pair of adjacent speakers (multichannel only)"],["f","rate","used in SuperDirt softsynths as a control rate or 'speed'"],["f","slide",""],["f","semitone",""],["f","velocity",""],["f","voice",""],["f","room","a pattern of numbers from 0 to 1. Sets the level of reverb."],["f","size","a pattern of numbers from 0 to 1. Sets the perceptual size (reverb time) of the `room` to be used in reverb."],["f","shape","wave shaping distortion, a pattern of numbers from 0 for no distortion up to 1 for loads of distortion."],["f","speed","a pattern of numbers which changes the speed of sample playback, i.e. a cheap way of changing pitch. Negative values will play the sample backwards!"],["s","unit",'used in conjunction with `speed`, accepts values of "r" (rate, default behavior), "c" (cycles), or "s" (seconds). Using `unit "c"` means `speed` will be interpreted in units of cycles, e.g. `speed "1"` means samples will be stretched to fill a cycle. Using `unit "s"` means the playback speed will be adjusted so that the duration is the number of seconds specified by `speed`.'],["f","squiz",""],["f","stutterdepth",""],["f","stuttertime",""],["f","timescale",""],["f","timescalewin",""],["s","vowel","formant filter to make things sound like vowels, a pattern of either `a`, `e`, `i`, `o` or `u`. Use a rest (`~`) for no effect."],["f","waveloss",""],["f","dur",""],["f","expression",""],["f","sustainpedal",""],["f","tremolodepth","Tremolo Audio DSP effect | params are 'tremolorate' and 'tremolodepth'"],["f","tremolorate","Tremolo Audio DSP effect | params are 'tremolorate' and 'tremolodepth'"],["f","phaserdepth","Phaser Audio DSP effect | params are 'phaserrate' and 'phaserdepth'"],["f","phaserrate","Phaser Audio DSP effect | params are 'phaserrate' and 'phaserdepth'"],["f","fshift","frequency shifter"],["f","fshiftnote","frequency shifter"],["f","fshiftphase","frequency shifter"],["f","triode","tube distortion"],["f","krush","shape/bass enhancer"],["f","kcutoff",""],["f","octer","octaver effect"],["f","octersub","octaver effect"],["f","octersubsub","octaver effect"],["f","ring","ring modulation"],["f","ringf","ring modulation"],["f","ringdf","ring modulation"],["f","distort","noisy fuzzy distortion"],["f","freeze","Spectral freeze"],["f","xsdelay",""],["f","tsdelay",""],["f","real","Spectral conform"],["f","imag",""],["f","enhance","Spectral enhance"],["f","partials",""],["f","comb","Spectral comb"],["f","smear","Spectral smear"],["f","scram","Spectral scramble"],["f","binshift","Spectral binshift"],["f","hbrick","High pass sort of spectral filter"],["f","lbrick","Low pass sort of spectral filter"],["f","midichan",""],["f","control",""],["f","ccn",""],["f","ccv",""],["f","polyTouch",""],["f","midibend",""],["f","miditouch",""],["f","ctlNum",""],["f","frameRate",""],["f","frames",""],["f","hours",""],["s","midicmd",""],["f","minutes",""],["f","progNum",""],["f","seconds",""],["f","songPtr",""],["f","uid",""],["f","val",""],["f","cps",""]],_name=(o,...e)=>sequence(...e).withValue(s=>({[o]:s})),_setter=(o,e)=>function(...s){return s.length?this.set(o(...s)):this.fmap(a=>({[e]:a}))};generic_params.forEach(([o,e,s])=>{controls[e]=(...a)=>_name(e,...a),Pattern$5.prototype[e]=_setter(controls[e],e)});controls.createParam=o=>(Pattern$5.prototype[o]=_setter(controls[o],o),(...e)=>_name(o,...e));controls.createParams=(...o)=>o.reduce((e,s)=>Object.assign(e,{[s]:createParam(s)}),{});function bjorklund(o,e){for(var s=[],a=[],c=[e],d=o-e,_=0,b=function(k){if(k==-1)s.push(0);else if(k==-2)s.push(1);else{for(var $=0;$1;)a.push(Math.floor(d/c[_])),c.push(d%c[_]),d=c[_],_++;return a.push(d),b(_),s.reverse()}var bjork=function(o,e){return o>e?bjorklund(o,e):bjorklund(e,o)};const euclid=(o,e,s=0)=>{const a=bjork(e,o);return s?rotate(a,-s):a};Pattern$5.prototype.euclid=function(o,e,s=0){return this.struct(euclid(o,e,s))};Pattern$5.prototype.euclidLegato=function(o,e,s=0){const a=euclid(o,e,s),c=a.indexOf(1),d=rotate(a,c).join("").split("1").slice(1).map(_=>[_.length+1,!0]);return this.struct(timeCat(...d)).late(fraction(c).div(e))};function steady(o){return new Pattern$5(e=>[new Hap(void 0,e.span,o)])}const signal=o=>{const e=s=>[new Hap(void 0,s.span,o(s.span.midpoint()))];return new Pattern$5(e)},isaw=signal(o=>1-o%1),isaw2=isaw._toBipolar(),saw=signal(o=>o%1),saw2=saw._toBipolar(),sine2=signal(o=>Math.sin(Math.PI*2*o)),sine=sine2._fromBipolar(),cosine=sine._early(fraction(1).div(4)),cosine2=sine2._early(fraction(1).div(4)),square=signal(o=>Math.floor(o*2%2)),square2=square._toBipolar(),tri=fastcat(isaw,saw),tri2=fastcat(isaw2,saw2),time=signal(id$1),xorwise=o=>{const e=o<<13^o,s=e>>17^e;return s<<5^s},_frac=o=>o-Math.trunc(o),timeToIntSeed=o=>xorwise(Math.trunc(_frac(o/300)*536870912)),intSeedToRand=o=>o%536870912/536870912,timeToRand=o=>Math.abs(intSeedToRand(timeToIntSeed(o))),rand=signal(timeToRand),_brandBy=o=>rand.fmap(e=>ereify$1(o).fmap(_brandBy).innerJoin(),brand=_brandBy(.5),_irand=o=>rand.fmap(e=>Math.trunc(e*o)),irand=o=>reify$1(o).fmap(_irand).innerJoin(),chooseWith=(o,e)=>(e=e.map(reify$1),e.length==0?silence:o.range(0,e.length).fmap(s=>e[Math.floor(s)]).outerJoin()),choose=(...o)=>chooseWith(rand,o),_wchooseWith=function(o,...e){const s=e.map(b=>reify$1(b[0])),a=[];let c=0;for(const b of e)c+=b[1],a.push(c);const d=c,_=function(b){const k=b*d;return s[a.findIndex($=>$>k,a)]};return o.fmap(_)},wchooseWith=(...o)=>_wchooseWith(...o).outerJoin(),wchoose=(...o)=>wchooseWith(rand,...o),wchooseCycles=(...o)=>_wchooseWith(rand,...o).innerJoin(),perlinWith=o=>{const e=o.fmap(Math.floor),s=o.fmap(d=>Math.floor(d)+1),a=d=>6*d**5-15*d**4+10*d**3,c=d=>_=>b=>_+a(d)*(b-_);return o.sub(e).fmap(c).appBoth(e.fmap(timeToRand)).appBoth(s.fmap(timeToRand))},perlin=perlinWith(time);Pattern$5.prototype._degradeByWith=function(o,e){return this.fmap(s=>a=>s).appLeft(o._filterValues(s=>s>e))};Pattern$5.prototype._degradeBy=function(o){return this._degradeByWith(rand,o)};Pattern$5.prototype.degrade=function(){return this._degradeBy(.5)};Pattern$5.prototype._undegradeBy=function(o){return this._degradeByWith(rand.fmap(e=>1-e),o)};Pattern$5.prototype.undegrade=function(){return this._undegradeBy(.5)};Pattern$5.prototype._sometimesBy=function(o,e){return stack(this._degradeBy(o),e(this._undegradeBy(1-o)))};Pattern$5.prototype.sometimesBy=function(o,e){const s=this;return reify$1(o).fmap(a=>s._sometimesBy(a,e)).innerJoin()};Pattern$5.prototype._sometimesByPre=function(o,e){return stack(this._degradeBy(o),e(this).undegradeBy(1-o))};Pattern$5.prototype.sometimesByPre=function(o,e){const s=this;return reify$1(o).fmap(a=>s._sometimesByPre(a,e)).innerJoin()};Pattern$5.prototype.sometimes=function(o){return this._sometimesBy(.5,o)};Pattern$5.prototype.sometimesPre=function(o){return this._sometimesByPre(.5,o)};Pattern$5.prototype._someCyclesBy=function(o,e){return stack(this._degradeByWith(rand._segment(1),o),e(this._degradeByWith(rand.fmap(s=>1-s)._segment(1),1-o)))};Pattern$5.prototype.someCyclesBy=function(o,e){const s=this;return reify$1(o).fmap(a=>s._someCyclesBy(a,e)).innerJoin()};Pattern$5.prototype.someCycles=function(o){return this._someCyclesBy(.5,o)};Pattern$5.prototype.often=function(o){return this.sometimesBy(.75,o)};Pattern$5.prototype.rarely=function(o){return this.sometimesBy(.25,o)};Pattern$5.prototype.almostNever=function(o){return this.sometimesBy(.1,o)};Pattern$5.prototype.almostAlways=function(o){return this.sometimesBy(.9,o)};Pattern$5.prototype.never=function(o){return this};Pattern$5.prototype.always=function(o){return o(this)};Pattern$5.prototype.patternified.push("degradeBy","undegradeBy");let synth$1;try{synth$1=window==null?void 0:window.speechSynthesis}catch{console.warn("cannot use window: not in browser?")}let allVoices=synth$1==null?void 0:synth$1.getVoices();function speak(o,e,s){synth$1.cancel();const a=new SpeechSynthesisUtterance(o);a.lang=e,allVoices=synth$1.getVoices();const c=allVoices.filter(d=>d.lang.includes(e));typeof s=="number"?a.voice=c[s%c.length]:typeof s=="string"&&(a.voice=c.find(d=>d.name===d)),speechSynthesis.speak(a)}Pattern$5.prototype._speak=function(o,e){return this._withHap(s=>{const a=(c,d)=>{speak(d.value,o,e)};return s.setContext(wt(Ot({},s.context),{onTrigger:a}))})};Pattern$5.prototype.speak=function(o,e){return patternify2(Pattern$5.prototype._speak)(reify(o),reify(e),this)};var gist=(route,cache=!0)=>fetch(`https://gist.githubusercontent.com/${route}?cachebust=${cache?"":Date.now()}`).then(o=>o.text()).then(code=>eval(code)),strudel=Object.freeze(Object.defineProperty({__proto__:null,Fraction:fraction,gist,Hap,Pattern:Pattern$5,silence,pure,isPattern:isPattern$1,reify:reify$1,stack,slowcat,slowcatPrime,fastcat,cat,timeCat,sequence,seq:seq$2,polymeterSteps,polymeter,pm,polyrhythm,pr,add:add$1,chop,chunk,chunkBack,div,early,echo,every,fast,inv,invert,iter,iterBack,jux,juxBy,late,linger,mask,mul,off,ply,range:range$1,range2,rev,slow,struct,sub,superimpose,set,when,makeComposable,patternify2,patternify3,patternify4,steady,signal,isaw,isaw2,saw,saw2,sine2,sine,cosine,cosine2,square,square2,tri,tri2,time,rand,_brandBy,brandBy,brand,_irand,irand,chooseWith,choose,wchoose,wchooseCycles,perlinWith,perlin,State:State$1,TimeSpan:TimeSpan$1,isNote:isNote$3,tokenizeNote,toMidi:toMidi$1,fromMidi,mod,getPlayableNoteValue,getFrequency,rotate,pipe,compose,removeUndefineds,flatten:flatten$1,id:id$1,constant,listRange,curry},Symbol.toStringTag,{value:"Module"}));const scale=(o,e,s)=>o*(s-e)+e;Pattern$5.prototype.pianoroll=function({cycles:o=4,playhead:e=.5,overscan:s=1,flipTime:a=0,flipValues:c=0,hideNegative:d=!1,inactive:_="#C9E597",active:b="#FFCA28",background:k="transparent",minMidi:$=10,maxMidi:j=90,autorange:_e=0,timeframe:et,fold:tt=0,vertical:nt=0}={}){const it=getDrawContext(),rt=it.canvas.width,st=it.canvas.height;let at=-o*e,ot=o*(1-e);et&&(console.warn("timeframe is deprecated! use from/to instead"),at=0,ot=et),!_e&&tt&&console.warn("disabling autorange has no effect when fold is enabled");const pt=nt?st:rt,ct=nt?rt:st;let ut=nt?[pt,0]:[0,pt];const lt=ot-at,ht=nt?[0,ct]:[ct,0];let dt=j-$+1,gt=ct/dt,yt=[];a&&ut.reverse(),c&&ht.reverse();const ft=scale(-at/lt,...ut);return this.draw((mt,Et,vt)=>{mt.fillStyle=k,mt.clearRect(0,0,rt,st),mt.fillRect(0,0,rt,st);const At=_t=>(!d||_t.whole.begin>=0)&&_t.whole.begin<=vt+ot&&_t.whole.end>=vt+at;Et.filter(At).forEach(_t=>{var Mt,It,Ft;const Dt=_t.whole.begin<=vt&&_t.whole.end>vt;mt.fillStyle=((Mt=_t.context)==null?void 0:Mt.color)||_,mt.strokeStyle=((It=_t.context)==null?void 0:It.color)||b,mt.globalAlpha=(Ft=_t.context.velocity)!=null?Ft:1,mt.beginPath(),nt?(mt.moveTo(0,ft),mt.lineTo(ct,ft)):(mt.moveTo(ft,0),mt.lineTo(ft,ct)),mt.stroke();const bt=scale((_t.whole.begin-(a?ot:at))/lt,...ut);let Tt=scale(_t.duration/lt,0,pt);const St=scale(tt?yt.indexOf(_t.value)/yt.length:(Number(_t.value)-$)/dt,...ht);let Ct=0;const xt=scale(vt/lt,...ut);let Rt;nt?Rt=[St+1-(c?gt:0),pt-xt+bt+Ct+1-(a?0:Tt),gt-2,Tt-2]:Rt=[bt-xt+Ct+1-(a?Tt:0),St+1-(c?0:gt),Tt-2,gt-2],Dt?mt.strokeRect(...Rt):mt.fillRect(...Rt)})},{from:at-s,to:ot+s,onQuery:mt=>{const Et=Dt=>Number(Dt.value),{min:vt,max:At,values:_t}=mt.reduce(({min:Dt,max:bt,values:Tt},St)=>{const Ct=Et(St);return{min:Ctbt?Ct:bt,values:Tt.includes(Ct)?Tt:[...Tt,Ct]}},{min:1/0,max:-1/0,values:[]});_e&&($=vt,j=At,dt=j-$+1),yt=_t.sort((Dt,bt)=>Dt-bt),gt=tt?ct/yt.length:ct/dt}}),this};const version="14.7.77",createExtendedExponentialRampToValueAutomationEvent=(o,e,s)=>({endTime:e,insertTime:s,type:"exponentialRampToValue",value:o}),createExtendedLinearRampToValueAutomationEvent=(o,e,s)=>({endTime:e,insertTime:s,type:"linearRampToValue",value:o}),createSetValueAutomationEvent=(o,e)=>({startTime:e,type:"setValue",value:o}),createSetValueCurveAutomationEvent=(o,e,s)=>({duration:s,startTime:e,type:"setValueCurve",values:o}),getTargetValueAtTime=(o,e,{startTime:s,target:a,timeConstant:c})=>a+(e-a)*Math.exp((s-o)/c),isExponentialRampToValueAutomationEvent=o=>o.type==="exponentialRampToValue",isLinearRampToValueAutomationEvent=o=>o.type==="linearRampToValue",isAnyRampToValueAutomationEvent=o=>isExponentialRampToValueAutomationEvent(o)||isLinearRampToValueAutomationEvent(o),isSetValueAutomationEvent=o=>o.type==="setValue",isSetValueCurveAutomationEvent=o=>o.type==="setValueCurve",getValueOfAutomationEventAtIndexAtTime=(o,e,s,a)=>{const c=o[e];return c===void 0?a:isAnyRampToValueAutomationEvent(c)||isSetValueAutomationEvent(c)?c.value:isSetValueCurveAutomationEvent(c)?c.values[c.values.length-1]:getTargetValueAtTime(s,getValueOfAutomationEventAtIndexAtTime(o,e-1,c.startTime,a),c)},getEndTimeAndValueOfPreviousAutomationEvent=(o,e,s,a,c)=>s===void 0?[a.insertTime,c]:isAnyRampToValueAutomationEvent(s)?[s.endTime,s.value]:isSetValueAutomationEvent(s)?[s.startTime,s.value]:isSetValueCurveAutomationEvent(s)?[s.startTime+s.duration,s.values[s.values.length-1]]:[s.startTime,getValueOfAutomationEventAtIndexAtTime(o,e-1,s.startTime,c)],isCancelAndHoldAutomationEvent=o=>o.type==="cancelAndHold",isCancelScheduledValuesAutomationEvent=o=>o.type==="cancelScheduledValues",getEventTime=o=>isCancelAndHoldAutomationEvent(o)||isCancelScheduledValuesAutomationEvent(o)?o.cancelTime:isExponentialRampToValueAutomationEvent(o)||isLinearRampToValueAutomationEvent(o)?o.endTime:o.startTime,getExponentialRampValueAtTime=(o,e,s,{endTime:a,value:c})=>s===c?c:0s+(o-e)/(a-e)*(c-s),interpolateValue=(o,e)=>{const s=Math.floor(e),a=Math.ceil(e);return s===a?o[s]:(1-(e-s))*o[s]+(1-(a-e))*o[a]},getValueCurveValueAtTime=(o,{duration:e,startTime:s,values:a})=>{const c=(o-s)/e*(a.length-1);return interpolateValue(a,c)},isSetTargetAutomationEvent=o=>o.type==="setTarget";class AutomationEventList{constructor(e){this._automationEvents=[],this._currenTime=0,this._defaultValue=e}[Symbol.iterator](){return this._automationEvents[Symbol.iterator]()}add(e){const s=getEventTime(e);if(isCancelAndHoldAutomationEvent(e)||isCancelScheduledValuesAutomationEvent(e)){const a=this._automationEvents.findIndex(d=>isCancelScheduledValuesAutomationEvent(e)&&isSetValueCurveAutomationEvent(d)?d.startTime+d.duration>=s:getEventTime(d)>=s),c=this._automationEvents[a];if(a!==-1&&(this._automationEvents=this._automationEvents.slice(0,a)),isCancelAndHoldAutomationEvent(e)){const d=this._automationEvents[this._automationEvents.length-1];if(c!==void 0&&isAnyRampToValueAutomationEvent(c)){if(isSetTargetAutomationEvent(d))throw new Error("The internal list is malformed.");const _=isSetValueCurveAutomationEvent(d)?d.startTime+d.duration:getEventTime(d),b=isSetValueCurveAutomationEvent(d)?d.values[d.values.length-1]:d.value,k=isExponentialRampToValueAutomationEvent(c)?getExponentialRampValueAtTime(s,_,b,c):getLinearRampValueAtTime(s,_,b,c),$=isExponentialRampToValueAutomationEvent(c)?createExtendedExponentialRampToValueAutomationEvent(k,s,this._currenTime):createExtendedLinearRampToValueAutomationEvent(k,s,this._currenTime);this._automationEvents.push($)}d!==void 0&&isSetTargetAutomationEvent(d)&&this._automationEvents.push(createSetValueAutomationEvent(this.getValue(s),s)),d!==void 0&&isSetValueCurveAutomationEvent(d)&&d.startTime+d.duration>s&&(this._automationEvents[this._automationEvents.length-1]=createSetValueCurveAutomationEvent(new Float32Array([6,7]),d.startTime,s-d.startTime))}}else{const a=this._automationEvents.findIndex(_=>getEventTime(_)>s),c=a===-1?this._automationEvents[this._automationEvents.length-1]:this._automationEvents[a-1];if(c!==void 0&&isSetValueCurveAutomationEvent(c)&&getEventTime(c)+c.duration>s)return!1;const d=isExponentialRampToValueAutomationEvent(e)?createExtendedExponentialRampToValueAutomationEvent(e.value,e.endTime,this._currenTime):isLinearRampToValueAutomationEvent(e)?createExtendedLinearRampToValueAutomationEvent(e.value,s,this._currenTime):e;if(a===-1)this._automationEvents.push(d);else{if(isSetValueCurveAutomationEvent(e)&&s+e.duration>getEventTime(this._automationEvents[a]))return!1;this._automationEvents.splice(a,0,d)}}return!0}flush(e){const s=this._automationEvents.findIndex(a=>getEventTime(a)>e);if(s>1){const a=this._automationEvents.slice(s-1),c=a[0];isSetTargetAutomationEvent(c)&&a.unshift(createSetValueAutomationEvent(getValueOfAutomationEventAtIndexAtTime(this._automationEvents,s-2,c.startTime,this._defaultValue),c.startTime)),this._automationEvents=a}}getValue(e){if(this._automationEvents.length===0)return this._defaultValue;const s=this._automationEvents.findIndex(_=>getEventTime(_)>e),a=this._automationEvents[s],c=(s===-1?this._automationEvents.length:s)-1,d=this._automationEvents[c];if(d!==void 0&&isSetTargetAutomationEvent(d)&&(a===void 0||!isAnyRampToValueAutomationEvent(a)||a.insertTime>e))return getTargetValueAtTime(e,getValueOfAutomationEventAtIndexAtTime(this._automationEvents,c-1,d.startTime,this._defaultValue),d);if(d!==void 0&&isSetValueAutomationEvent(d)&&(a===void 0||!isAnyRampToValueAutomationEvent(a)))return d.value;if(d!==void 0&&isSetValueCurveAutomationEvent(d)&&(a===void 0||!isAnyRampToValueAutomationEvent(a)||d.startTime+d.duration>e))return e({cancelTime:o,type:"cancelAndHold"}),createCancelScheduledValuesAutomationEvent=o=>({cancelTime:o,type:"cancelScheduledValues"}),createExponentialRampToValueAutomationEvent=(o,e)=>({endTime:e,type:"exponentialRampToValue",value:o}),createLinearRampToValueAutomationEvent=(o,e)=>({endTime:e,type:"linearRampToValue",value:o}),createSetTargetAutomationEvent=(o,e,s)=>({startTime:e,target:o,timeConstant:s,type:"setTarget"}),createAbortError=()=>new DOMException("","AbortError"),createAddActiveInputConnectionToAudioNode=o=>(e,s,[a,c,d],_)=>{o(e[c],[s,a,d],b=>b[0]===s&&b[1]===a,_)},createAddAudioNodeConnections=o=>(e,s,a)=>{const c=[];for(let d=0;d(e,s)=>{o.set(e,{activeInputs:new Set,passiveInputs:new WeakMap,renderer:s})},ACTIVE_AUDIO_NODE_STORE=new WeakSet,AUDIO_NODE_CONNECTIONS_STORE=new WeakMap,AUDIO_NODE_STORE=new WeakMap,AUDIO_PARAM_CONNECTIONS_STORE=new WeakMap,AUDIO_PARAM_STORE=new WeakMap,CONTEXT_STORE=new WeakMap,EVENT_LISTENERS=new WeakMap,CYCLE_COUNTERS=new WeakMap,NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS=new WeakMap,NODE_TO_PROCESSOR_MAPS=new WeakMap,handler={construct(){return handler}},isConstructible=o=>{try{const e=new Proxy(o,handler);new e}catch{return!1}return!0},IMPORT_STATEMENT_REGEX=/^import(?:(?:[\s]+[\w]+|(?:[\s]+[\w]+[\s]*,)?[\s]*\{[\s]*[\w]+(?:[\s]+as[\s]+[\w]+)?(?:[\s]*,[\s]*[\w]+(?:[\s]+as[\s]+[\w]+)?)*[\s]*}|(?:[\s]+[\w]+[\s]*,)?[\s]*\*[\s]+as[\s]+[\w]+)[\s]+from)?(?:[\s]*)("([^"\\]|\\.)+"|'([^'\\]|\\.)+')(?:[\s]*);?/,splitImportStatements=(o,e)=>{const s=[];let a=o.replace(/^[\s]+/,""),c=a.match(IMPORT_STATEMENT_REGEX);for(;c!==null;){const d=c[1].slice(1,-1),_=c[0].replace(/([\s]+)?;?$/,"").replace(d,new URL(d,e).toString());s.push(_),a=a.slice(c[0].length).replace(/^[\s]+/,""),c=a.match(IMPORT_STATEMENT_REGEX)}return[s.join(";"),a]},verifyParameterDescriptors=o=>{if(o!==void 0&&!Array.isArray(o))throw new TypeError("The parameterDescriptors property of given value for processorCtor is not an array.")},verifyProcessorCtor=o=>{if(!isConstructible(o))throw new TypeError("The given value for processorCtor should be a constructor.");if(o.prototype===null||typeof o.prototype!="object")throw new TypeError("The given value for processorCtor should have a prototype.")},createAddAudioWorkletModule=(o,e,s,a,c,d,_,b,k,$,j,_e,et)=>{let tt=0;return(nt,it,rt={credentials:"omit"})=>{const st=j.get(nt);if(st!==void 0&&st.has(it))return Promise.resolve();const at=$.get(nt);if(at!==void 0){const ct=at.get(it);if(ct!==void 0)return ct}const ot=d(nt),pt=ot.audioWorklet===void 0?c(it).then(([ct,ut])=>{const[lt,ht]=splitImportStatements(ct,ut),dt=`${lt};((a,b)=>{(a[b]=a[b]||[]).push((AudioWorkletProcessor,global,registerProcessor,sampleRate,self,window)=>{${ht} +})})(window,'_AWGS')`;return s(dt)}).then(()=>{const ct=et._AWGS.pop();if(ct===void 0)throw new SyntaxError;a(ot.currentTime,ot.sampleRate,()=>ct(class{},void 0,(ut,lt)=>{if(ut.trim()==="")throw e();const ht=NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS.get(ot);if(ht!==void 0){if(ht.has(ut))throw e();verifyProcessorCtor(lt),verifyParameterDescriptors(lt.parameterDescriptors),ht.set(ut,lt)}else verifyProcessorCtor(lt),verifyParameterDescriptors(lt.parameterDescriptors),NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS.set(ot,new Map([[ut,lt]]))},ot.sampleRate,void 0,void 0))}):Promise.all([c(it),Promise.resolve(o(_e,_e))]).then(([[ct,ut],lt])=>{const ht=tt+1;tt=ht;const[dt,gt]=splitImportStatements(ct,ut),Et=`${dt};((AudioWorkletProcessor,registerProcessor)=>{${gt} +})(${lt?"AudioWorkletProcessor":"class extends AudioWorkletProcessor {__b=new WeakSet();constructor(){super();(p=>p.postMessage=(q=>(m,t)=>q.call(p,m,t?t.filter(u=>!this.__b.has(u)):t))(p.postMessage))(this.port)}}"},(n,p)=>registerProcessor(n,class extends p{${lt?"":"__c = (a) => a.forEach(e=>this.__b.add(e.buffer));"}process(i,o,p){${lt?"":"i.forEach(this.__c);o.forEach(this.__c);this.__c(Object.values(p));"}return super.process(i.map(j=>j.some(k=>k.length===0)?[]:j),o,p)}}));registerProcessor('__sac${ht}',class extends AudioWorkletProcessor{process(){return !1}})`,vt=new Blob([Et],{type:"application/javascript; charset=utf-8"}),At=URL.createObjectURL(vt);return ot.audioWorklet.addModule(At,rt).then(()=>{if(b(ot))return ot;const _t=_(ot);return _t.audioWorklet.addModule(At,rt).then(()=>_t)}).then(_t=>{if(k===null)throw new SyntaxError;try{new k(_t,`__sac${ht}`)}catch{throw new SyntaxError}}).finally(()=>URL.revokeObjectURL(At))});return at===void 0?$.set(nt,new Map([[it,pt]])):at.set(it,pt),pt.then(()=>{const ct=j.get(nt);ct===void 0?j.set(nt,new Set([it])):ct.add(it)}).finally(()=>{const ct=$.get(nt);ct!==void 0&&ct.delete(it)}),pt}},getValueForKey=(o,e)=>{const s=o.get(e);if(s===void 0)throw new Error("A value with the given key could not be found.");return s},pickElementFromSet=(o,e)=>{const s=Array.from(o).filter(e);if(s.length>1)throw Error("More than one element was found.");if(s.length===0)throw Error("No element was found.");const[a]=s;return o.delete(a),a},deletePassiveInputConnectionToAudioNode=(o,e,s,a)=>{const c=getValueForKey(o,e),d=pickElementFromSet(c,_=>_[0]===s&&_[1]===a);return c.size===0&&o.delete(e),d},getEventListenersOfAudioNode=o=>getValueForKey(EVENT_LISTENERS,o),setInternalStateToActive=o=>{if(ACTIVE_AUDIO_NODE_STORE.has(o))throw new Error("The AudioNode is already stored.");ACTIVE_AUDIO_NODE_STORE.add(o),getEventListenersOfAudioNode(o).forEach(e=>e(!0))},isAudioWorkletNode=o=>"port"in o,setInternalStateToPassive=o=>{if(!ACTIVE_AUDIO_NODE_STORE.has(o))throw new Error("The AudioNode is not stored.");ACTIVE_AUDIO_NODE_STORE.delete(o),getEventListenersOfAudioNode(o).forEach(e=>e(!1))},setInternalStateToPassiveWhenNecessary=(o,e)=>{!isAudioWorkletNode(o)&&e.every(s=>s.size===0)&&setInternalStateToPassive(o)},createAddConnectionToAudioNode=(o,e,s,a,c,d,_,b,k,$,j,_e,et)=>{const tt=new WeakMap;return(nt,it,rt,st,at)=>{const{activeInputs:ot,passiveInputs:pt}=d(it),{outputs:ct}=d(nt),ut=b(nt),lt=ht=>{const dt=k(it),gt=k(nt);if(ht){const yt=deletePassiveInputConnectionToAudioNode(pt,nt,rt,st);o(ot,nt,yt,!1),!at&&!_e(nt)&&s(gt,dt,rt,st),et(it)&&setInternalStateToActive(it)}else{const yt=a(ot,nt,rt,st);e(pt,st,yt,!1),!at&&!_e(nt)&&c(gt,dt,rt,st);const ft=_(it);if(ft===0)j(it)&&setInternalStateToPassiveWhenNecessary(it,ot);else{const mt=tt.get(it);mt!==void 0&&clearTimeout(mt),tt.set(it,setTimeout(()=>{j(it)&&setInternalStateToPassiveWhenNecessary(it,ot)},ft*1e3))}}};return $(ct,[it,rt,st],ht=>ht[0]===it&&ht[1]===rt&&ht[2]===st,!0)?(ut.add(lt),j(nt)?o(ot,nt,[rt,st,lt],!0):e(pt,st,[nt,rt,lt],!0),!0):!1}},createAddPassiveInputConnectionToAudioNode=o=>(e,s,[a,c,d],_)=>{const b=e.get(a);b===void 0?e.set(a,new Set([[c,s,d]])):o(b,[c,s,d],k=>k[0]===c&&k[1]===s,_)},createAddSilentConnection=o=>(e,s)=>{const a=o(e,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});s.connect(a).connect(e.destination);const c=()=>{s.removeEventListener("ended",c),s.disconnect(a),a.disconnect()};s.addEventListener("ended",c)},createAddUnrenderedAudioWorkletNode=o=>(e,s)=>{o(e).add(s)},DEFAULT_OPTIONS$j={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",fftSize:2048,maxDecibels:-30,minDecibels:-100,smoothingTimeConstant:.8},createAnalyserNodeConstructor=(o,e,s,a,c,d)=>class extends o{constructor(b,k){const $=c(b),j=Ot(Ot({},DEFAULT_OPTIONS$j),k),_e=a($,j),et=d($)?e():null;super(b,!1,_e,et),this._nativeAnalyserNode=_e}get fftSize(){return this._nativeAnalyserNode.fftSize}set fftSize(b){this._nativeAnalyserNode.fftSize=b}get frequencyBinCount(){return this._nativeAnalyserNode.frequencyBinCount}get maxDecibels(){return this._nativeAnalyserNode.maxDecibels}set maxDecibels(b){const k=this._nativeAnalyserNode.maxDecibels;if(this._nativeAnalyserNode.maxDecibels=b,!(b>this._nativeAnalyserNode.minDecibels))throw this._nativeAnalyserNode.maxDecibels=k,s()}get minDecibels(){return this._nativeAnalyserNode.minDecibels}set minDecibels(b){const k=this._nativeAnalyserNode.minDecibels;if(this._nativeAnalyserNode.minDecibels=b,!(this._nativeAnalyserNode.maxDecibels>b))throw this._nativeAnalyserNode.minDecibels=k,s()}get smoothingTimeConstant(){return this._nativeAnalyserNode.smoothingTimeConstant}set smoothingTimeConstant(b){this._nativeAnalyserNode.smoothingTimeConstant=b}getByteFrequencyData(b){this._nativeAnalyserNode.getByteFrequencyData(b)}getByteTimeDomainData(b){this._nativeAnalyserNode.getByteTimeDomainData(b)}getFloatFrequencyData(b){this._nativeAnalyserNode.getFloatFrequencyData(b)}getFloatTimeDomainData(b){this._nativeAnalyserNode.getFloatTimeDomainData(b)}},isOwnedByContext=(o,e)=>o.context===e,createAnalyserNodeRendererFactory=(o,e,s)=>()=>{const a=new WeakMap,c=async(d,_)=>{let b=e(d);if(!isOwnedByContext(b,_)){const $={channelCount:b.channelCount,channelCountMode:b.channelCountMode,channelInterpretation:b.channelInterpretation,fftSize:b.fftSize,maxDecibels:b.maxDecibels,minDecibels:b.minDecibels,smoothingTimeConstant:b.smoothingTimeConstant};b=o(_,$)}return a.set(_,b),await s(d,_,b),b};return{render(d,_){const b=a.get(_);return b!==void 0?Promise.resolve(b):c(d,_)}}},testAudioBufferCopyChannelMethodsOutOfBoundsSupport=o=>{try{o.copyToChannel(new Float32Array(1),0,-1)}catch{return!1}return!0},createIndexSizeError=()=>new DOMException("","IndexSizeError"),wrapAudioBufferGetChannelDataMethod=o=>{o.getChannelData=(e=>s=>{try{return e.call(o,s)}catch(a){throw a.code===12?createIndexSizeError():a}})(o.getChannelData)},DEFAULT_OPTIONS$i={numberOfChannels:1},createAudioBufferConstructor=(o,e,s,a,c,d,_,b)=>{let k=null;return class fr{constructor(j){if(c===null)throw new Error("Missing the native OfflineAudioContext constructor.");const{length:_e,numberOfChannels:et,sampleRate:tt}=Ot(Ot({},DEFAULT_OPTIONS$i),j);k===null&&(k=new c(1,1,44100));const nt=a!==null&&e(d,d)?new a({length:_e,numberOfChannels:et,sampleRate:tt}):k.createBuffer(et,_e,tt);if(nt.numberOfChannels===0)throw s();return typeof nt.copyFromChannel!="function"?(_(nt),wrapAudioBufferGetChannelDataMethod(nt)):e(testAudioBufferCopyChannelMethodsOutOfBoundsSupport,()=>testAudioBufferCopyChannelMethodsOutOfBoundsSupport(nt))||b(nt),o.add(nt),nt}static[Symbol.hasInstance](j){return j!==null&&typeof j=="object"&&Object.getPrototypeOf(j)===fr.prototype||o.has(j)}}},MOST_NEGATIVE_SINGLE_FLOAT=-34028234663852886e22,MOST_POSITIVE_SINGLE_FLOAT=-MOST_NEGATIVE_SINGLE_FLOAT,isActiveAudioNode=o=>ACTIVE_AUDIO_NODE_STORE.has(o),DEFAULT_OPTIONS$h={buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1},createAudioBufferSourceNodeConstructor=(o,e,s,a,c,d,_,b)=>class extends o{constructor($,j){const _e=d($),et=Ot(Ot({},DEFAULT_OPTIONS$h),j),tt=c(_e,et),nt=_(_e),it=nt?e():null;super($,!1,tt,it),this._audioBufferSourceNodeRenderer=it,this._isBufferNullified=!1,this._isBufferSet=et.buffer!==null,this._nativeAudioBufferSourceNode=tt,this._onended=null,this._playbackRate=s(this,nt,tt.playbackRate,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT)}get buffer(){return this._isBufferNullified?null:this._nativeAudioBufferSourceNode.buffer}set buffer($){if(this._nativeAudioBufferSourceNode.buffer=$,$!==null){if(this._isBufferSet)throw a();this._isBufferSet=!0}}get loop(){return this._nativeAudioBufferSourceNode.loop}set loop($){this._nativeAudioBufferSourceNode.loop=$}get loopEnd(){return this._nativeAudioBufferSourceNode.loopEnd}set loopEnd($){this._nativeAudioBufferSourceNode.loopEnd=$}get loopStart(){return this._nativeAudioBufferSourceNode.loopStart}set loopStart($){this._nativeAudioBufferSourceNode.loopStart=$}get onended(){return this._onended}set onended($){const j=typeof $=="function"?b(this,$):null;this._nativeAudioBufferSourceNode.onended=j;const _e=this._nativeAudioBufferSourceNode.onended;this._onended=_e!==null&&_e===j?$:_e}get playbackRate(){return this._playbackRate}start($=0,j=0,_e){if(this._nativeAudioBufferSourceNode.start($,j,_e),this._audioBufferSourceNodeRenderer!==null&&(this._audioBufferSourceNodeRenderer.start=_e===void 0?[$,j]:[$,j,_e]),this.context.state!=="closed"){setInternalStateToActive(this);const et=()=>{this._nativeAudioBufferSourceNode.removeEventListener("ended",et),isActiveAudioNode(this)&&setInternalStateToPassive(this)};this._nativeAudioBufferSourceNode.addEventListener("ended",et)}}stop($=0){this._nativeAudioBufferSourceNode.stop($),this._audioBufferSourceNodeRenderer!==null&&(this._audioBufferSourceNodeRenderer.stop=$)}},createAudioBufferSourceNodeRendererFactory=(o,e,s,a,c)=>()=>{const d=new WeakMap;let _=null,b=null;const k=async($,j)=>{let _e=s($);const et=isOwnedByContext(_e,j);if(!et){const tt={buffer:_e.buffer,channelCount:_e.channelCount,channelCountMode:_e.channelCountMode,channelInterpretation:_e.channelInterpretation,loop:_e.loop,loopEnd:_e.loopEnd,loopStart:_e.loopStart,playbackRate:_e.playbackRate.value};_e=e(j,tt),_!==null&&_e.start(..._),b!==null&&_e.stop(b)}return d.set(j,_e),et?await o(j,$.playbackRate,_e.playbackRate):await a(j,$.playbackRate,_e.playbackRate),await c($,j,_e),_e};return{set start($){_=$},set stop($){b=$},render($,j){const _e=d.get(j);return _e!==void 0?Promise.resolve(_e):k($,j)}}},isAudioBufferSourceNode=o=>"playbackRate"in o,isBiquadFilterNode=o=>"frequency"in o&&"gain"in o,isConstantSourceNode=o=>"offset"in o,isGainNode=o=>!("frequency"in o)&&"gain"in o,isOscillatorNode=o=>"detune"in o&&"frequency"in o,isStereoPannerNode=o=>"pan"in o,getAudioNodeConnections=o=>getValueForKey(AUDIO_NODE_CONNECTIONS_STORE,o),getAudioParamConnections=o=>getValueForKey(AUDIO_PARAM_CONNECTIONS_STORE,o),deactivateActiveAudioNodeInputConnections=(o,e)=>{const{activeInputs:s}=getAudioNodeConnections(o);s.forEach(c=>c.forEach(([d])=>{e.includes(o)||deactivateActiveAudioNodeInputConnections(d,[...e,o])}));const a=isAudioBufferSourceNode(o)?[o.playbackRate]:isAudioWorkletNode(o)?Array.from(o.parameters.values()):isBiquadFilterNode(o)?[o.Q,o.detune,o.frequency,o.gain]:isConstantSourceNode(o)?[o.offset]:isGainNode(o)?[o.gain]:isOscillatorNode(o)?[o.detune,o.frequency]:isStereoPannerNode(o)?[o.pan]:[];for(const c of a){const d=getAudioParamConnections(c);d!==void 0&&d.activeInputs.forEach(([_])=>deactivateActiveAudioNodeInputConnections(_,e))}isActiveAudioNode(o)&&setInternalStateToPassive(o)},deactivateAudioGraph=o=>{deactivateActiveAudioNodeInputConnections(o.destination,[])},isValidLatencyHint=o=>o===void 0||typeof o=="number"||typeof o=="string"&&(o==="balanced"||o==="interactive"||o==="playback"),createAudioContextConstructor=(o,e,s,a,c,d,_,b,k)=>class extends o{constructor(j={}){if(k===null)throw new Error("Missing the native AudioContext constructor.");let _e;try{_e=new k(j)}catch(nt){throw nt.code===12&&nt.message==="sampleRate is not in range"?s():nt}if(_e===null)throw a();if(!isValidLatencyHint(j.latencyHint))throw new TypeError(`The provided value '${j.latencyHint}' is not a valid enum value of type AudioContextLatencyCategory.`);if(j.sampleRate!==void 0&&_e.sampleRate!==j.sampleRate)throw s();super(_e,2);const{latencyHint:et}=j,{sampleRate:tt}=_e;if(this._baseLatency=typeof _e.baseLatency=="number"?_e.baseLatency:et==="balanced"?512/tt:et==="interactive"||et===void 0?256/tt:et==="playback"?1024/tt:Math.max(2,Math.min(128,Math.round(et*tt/128)))*128/tt,this._nativeAudioContext=_e,k.name==="webkitAudioContext"?(this._nativeGainNode=_e.createGain(),this._nativeOscillatorNode=_e.createOscillator(),this._nativeGainNode.gain.value=1e-37,this._nativeOscillatorNode.connect(this._nativeGainNode).connect(_e.destination),this._nativeOscillatorNode.start()):(this._nativeGainNode=null,this._nativeOscillatorNode=null),this._state=null,_e.state==="running"){this._state="suspended";const nt=()=>{this._state==="suspended"&&(this._state=null),_e.removeEventListener("statechange",nt)};_e.addEventListener("statechange",nt)}}get baseLatency(){return this._baseLatency}get state(){return this._state!==null?this._state:this._nativeAudioContext.state}close(){return this.state==="closed"?this._nativeAudioContext.close().then(()=>{throw e()}):(this._state==="suspended"&&(this._state=null),this._nativeAudioContext.close().then(()=>{this._nativeGainNode!==null&&this._nativeOscillatorNode!==null&&(this._nativeOscillatorNode.stop(),this._nativeGainNode.disconnect(),this._nativeOscillatorNode.disconnect()),deactivateAudioGraph(this)}))}createMediaElementSource(j){return new c(this,{mediaElement:j})}createMediaStreamDestination(){return new d(this)}createMediaStreamSource(j){return new _(this,{mediaStream:j})}createMediaStreamTrackSource(j){return new b(this,{mediaStreamTrack:j})}resume(){return this._state==="suspended"?new Promise((j,_e)=>{const et=()=>{this._nativeAudioContext.removeEventListener("statechange",et),this._nativeAudioContext.state==="running"?j():this.resume().then(j,_e)};this._nativeAudioContext.addEventListener("statechange",et)}):this._nativeAudioContext.resume().catch(j=>{throw j===void 0||j.code===15?e():j})}suspend(){return this._nativeAudioContext.suspend().catch(j=>{throw j===void 0?e():j})}},createAudioDestinationNodeConstructor=(o,e,s,a,c,d,_,b)=>class extends o{constructor($,j){const _e=d($),et=_(_e),tt=c(_e,j,et),nt=et?e(b):null;super($,!1,tt,nt),this._isNodeOfNativeOfflineAudioContext=et,this._nativeAudioDestinationNode=tt}get channelCount(){return this._nativeAudioDestinationNode.channelCount}set channelCount($){if(this._isNodeOfNativeOfflineAudioContext)throw a();if($>this._nativeAudioDestinationNode.maxChannelCount)throw s();this._nativeAudioDestinationNode.channelCount=$}get channelCountMode(){return this._nativeAudioDestinationNode.channelCountMode}set channelCountMode($){if(this._isNodeOfNativeOfflineAudioContext)throw a();this._nativeAudioDestinationNode.channelCountMode=$}get maxChannelCount(){return this._nativeAudioDestinationNode.maxChannelCount}},createAudioDestinationNodeRenderer=o=>{const e=new WeakMap,s=async(a,c)=>{const d=c.destination;return e.set(c,d),await o(a,c,d),d};return{render(a,c){const d=e.get(c);return d!==void 0?Promise.resolve(d):s(a,c)}}},createAudioListenerFactory=(o,e,s,a,c,d,_,b)=>(k,$)=>{const j=$.listener,_e=()=>{const ct=new Float32Array(1),ut=e($,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:9}),lt=_($);let ht=!1,dt=[0,0,-1,0,1,0],gt=[0,0,0];const yt=()=>{if(ht)return;ht=!0;const vt=a($,256,9,0);vt.onaudioprocess=({inputBuffer:At})=>{const _t=[d(At,ct,0),d(At,ct,1),d(At,ct,2),d(At,ct,3),d(At,ct,4),d(At,ct,5)];_t.some((bt,Tt)=>bt!==dt[Tt])&&(j.setOrientation(..._t),dt=_t);const Dt=[d(At,ct,6),d(At,ct,7),d(At,ct,8)];Dt.some((bt,Tt)=>bt!==gt[Tt])&&(j.setPosition(...Dt),gt=Dt)},ut.connect(vt)},ft=vt=>At=>{At!==dt[vt]&&(dt[vt]=At,j.setOrientation(...dt))},mt=vt=>At=>{At!==gt[vt]&&(gt[vt]=At,j.setPosition(...gt))},Et=(vt,At,_t)=>{const Dt=s($,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:At});Dt.connect(ut,0,vt),Dt.start(),Object.defineProperty(Dt.offset,"defaultValue",{get(){return At}});const bt=o({context:k},lt,Dt.offset,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT);return b(bt,"value",Tt=>()=>Tt.call(bt),Tt=>St=>{try{Tt.call(bt,St)}catch(Ct){if(Ct.code!==9)throw Ct}yt(),lt&&_t(St)}),bt.cancelAndHoldAtTime=(Tt=>lt?()=>{throw c()}:(...St)=>{const Ct=Tt.apply(bt,St);return yt(),Ct})(bt.cancelAndHoldAtTime),bt.cancelScheduledValues=(Tt=>lt?()=>{throw c()}:(...St)=>{const Ct=Tt.apply(bt,St);return yt(),Ct})(bt.cancelScheduledValues),bt.exponentialRampToValueAtTime=(Tt=>lt?()=>{throw c()}:(...St)=>{const Ct=Tt.apply(bt,St);return yt(),Ct})(bt.exponentialRampToValueAtTime),bt.linearRampToValueAtTime=(Tt=>lt?()=>{throw c()}:(...St)=>{const Ct=Tt.apply(bt,St);return yt(),Ct})(bt.linearRampToValueAtTime),bt.setTargetAtTime=(Tt=>lt?()=>{throw c()}:(...St)=>{const Ct=Tt.apply(bt,St);return yt(),Ct})(bt.setTargetAtTime),bt.setValueAtTime=(Tt=>lt?()=>{throw c()}:(...St)=>{const Ct=Tt.apply(bt,St);return yt(),Ct})(bt.setValueAtTime),bt.setValueCurveAtTime=(Tt=>lt?()=>{throw c()}:(...St)=>{const Ct=Tt.apply(bt,St);return yt(),Ct})(bt.setValueCurveAtTime),bt};return{forwardX:Et(0,0,ft(0)),forwardY:Et(1,0,ft(1)),forwardZ:Et(2,-1,ft(2)),positionX:Et(6,0,mt(0)),positionY:Et(7,0,mt(1)),positionZ:Et(8,0,mt(2)),upX:Et(3,0,ft(3)),upY:Et(4,1,ft(4)),upZ:Et(5,0,ft(5))}},{forwardX:et,forwardY:tt,forwardZ:nt,positionX:it,positionY:rt,positionZ:st,upX:at,upY:ot,upZ:pt}=j.forwardX===void 0?_e():j;return{get forwardX(){return et},get forwardY(){return tt},get forwardZ(){return nt},get positionX(){return it},get positionY(){return rt},get positionZ(){return st},get upX(){return at},get upY(){return ot},get upZ(){return pt}}},isAudioNode$1=o=>"context"in o,isAudioNodeOutputConnection=o=>isAudioNode$1(o[0]),insertElementInSet=(o,e,s,a)=>{for(const c of o)if(s(c)){if(a)return!1;throw Error("The set contains at least one similar element.")}return o.add(e),!0},addActiveInputConnectionToAudioParam=(o,e,[s,a],c)=>{insertElementInSet(o,[e,s,a],d=>d[0]===e&&d[1]===s,c)},addPassiveInputConnectionToAudioParam=(o,[e,s,a],c)=>{const d=o.get(e);d===void 0?o.set(e,new Set([[s,a]])):insertElementInSet(d,[s,a],_=>_[0]===s,c)},isNativeAudioNodeFaker=o=>"inputs"in o,connectNativeAudioNodeToNativeAudioNode=(o,e,s,a)=>{if(isNativeAudioNodeFaker(e)){const c=e.inputs[a];return o.connect(c,s,0),[c,s,0]}return o.connect(e,s,a),[e,s,a]},deleteActiveInputConnection=(o,e,s)=>{for(const a of o)if(a[0]===e&&a[1]===s)return o.delete(a),a;return null},deleteActiveInputConnectionToAudioParam=(o,e,s)=>pickElementFromSet(o,a=>a[0]===e&&a[1]===s),deleteEventListenerOfAudioNode=(o,e)=>{if(!getEventListenersOfAudioNode(o).delete(e))throw new Error("Missing the expected event listener.")},deletePassiveInputConnectionToAudioParam=(o,e,s)=>{const a=getValueForKey(o,e),c=pickElementFromSet(a,d=>d[0]===s);return a.size===0&&o.delete(e),c},disconnectNativeAudioNodeFromNativeAudioNode=(o,e,s,a)=>{isNativeAudioNodeFaker(e)?o.disconnect(e.inputs[a],s,0):o.disconnect(e,s,a)},getNativeAudioNode=o=>getValueForKey(AUDIO_NODE_STORE,o),getNativeAudioParam=o=>getValueForKey(AUDIO_PARAM_STORE,o),isPartOfACycle=o=>CYCLE_COUNTERS.has(o),isPassiveAudioNode=o=>!ACTIVE_AUDIO_NODE_STORE.has(o),testAudioNodeDisconnectMethodSupport=(o,e)=>new Promise(s=>{if(e!==null)s(!0);else{const a=o.createScriptProcessor(256,1,1),c=o.createGain(),d=o.createBuffer(1,2,44100),_=d.getChannelData(0);_[0]=1,_[1]=1;const b=o.createBufferSource();b.buffer=d,b.loop=!0,b.connect(a).connect(o.destination),b.connect(c),b.disconnect(c),a.onaudioprocess=k=>{const $=k.inputBuffer.getChannelData(0);Array.prototype.some.call($,j=>j===1)?s(!0):s(!1),b.stop(),a.onaudioprocess=null,b.disconnect(a),a.disconnect(o.destination)},b.start()}}),visitEachAudioNodeOnce=(o,e)=>{const s=new Map;for(const a of o)for(const c of a){const d=s.get(c);s.set(c,d===void 0?1:d+1)}s.forEach((a,c)=>e(c,a))},isNativeAudioNode$1=o=>"context"in o,wrapAudioNodeDisconnectMethod=o=>{const e=new Map;o.connect=(s=>(a,c=0,d=0)=>{const _=isNativeAudioNode$1(a)?s(a,c,d):s(a,c),b=e.get(a);return b===void 0?e.set(a,[{input:d,output:c}]):b.every(k=>k.input!==d||k.output!==c)&&b.push({input:d,output:c}),_})(o.connect.bind(o)),o.disconnect=(s=>(a,c,d)=>{if(s.apply(o),a===void 0)e.clear();else if(typeof a=="number")for(const[_,b]of e){const k=b.filter($=>$.output!==a);k.length===0?e.delete(_):e.set(_,k)}else if(e.has(a))if(c===void 0)e.delete(a);else{const _=e.get(a);if(_!==void 0){const b=_.filter(k=>k.output!==c&&(k.input!==d||d===void 0));b.length===0?e.delete(a):e.set(a,b)}}for(const[_,b]of e)b.forEach(k=>{isNativeAudioNode$1(_)?o.connect(_,k.output,k.input):o.connect(_,k.output)})})(o.disconnect)},addConnectionToAudioParamOfAudioContext=(o,e,s,a)=>{const{activeInputs:c,passiveInputs:d}=getAudioParamConnections(e),{outputs:_}=getAudioNodeConnections(o),b=getEventListenersOfAudioNode(o),k=$=>{const j=getNativeAudioNode(o),_e=getNativeAudioParam(e);if($){const et=deletePassiveInputConnectionToAudioParam(d,o,s);addActiveInputConnectionToAudioParam(c,o,et,!1),!a&&!isPartOfACycle(o)&&j.connect(_e,s)}else{const et=deleteActiveInputConnectionToAudioParam(c,o,s);addPassiveInputConnectionToAudioParam(d,et,!1),!a&&!isPartOfACycle(o)&&j.disconnect(_e,s)}};return insertElementInSet(_,[e,s],$=>$[0]===e&&$[1]===s,!0)?(b.add(k),isActiveAudioNode(o)?addActiveInputConnectionToAudioParam(c,o,[s,k],!0):addPassiveInputConnectionToAudioParam(d,[o,s,k],!0),!0):!1},deleteInputConnectionOfAudioNode=(o,e,s,a)=>{const{activeInputs:c,passiveInputs:d}=getAudioNodeConnections(e),_=deleteActiveInputConnection(c[a],o,s);return _===null?[deletePassiveInputConnectionToAudioNode(d,o,s,a)[2],!1]:[_[2],!0]},deleteInputConnectionOfAudioParam=(o,e,s)=>{const{activeInputs:a,passiveInputs:c}=getAudioParamConnections(e),d=deleteActiveInputConnection(a,o,s);return d===null?[deletePassiveInputConnectionToAudioParam(c,o,s)[1],!1]:[d[2],!0]},deleteInputsOfAudioNode=(o,e,s,a,c)=>{const[d,_]=deleteInputConnectionOfAudioNode(o,s,a,c);if(d!==null&&(deleteEventListenerOfAudioNode(o,d),_&&!e&&!isPartOfACycle(o)&&disconnectNativeAudioNodeFromNativeAudioNode(getNativeAudioNode(o),getNativeAudioNode(s),a,c)),isActiveAudioNode(s)){const{activeInputs:b}=getAudioNodeConnections(s);setInternalStateToPassiveWhenNecessary(s,b)}},deleteInputsOfAudioParam=(o,e,s,a)=>{const[c,d]=deleteInputConnectionOfAudioParam(o,s,a);c!==null&&(deleteEventListenerOfAudioNode(o,c),d&&!e&&!isPartOfACycle(o)&&getNativeAudioNode(o).disconnect(getNativeAudioParam(s),a))},deleteAnyConnection=(o,e)=>{const s=getAudioNodeConnections(o),a=[];for(const c of s.outputs)isAudioNodeOutputConnection(c)?deleteInputsOfAudioNode(o,e,...c):deleteInputsOfAudioParam(o,e,...c),a.push(c[0]);return s.outputs.clear(),a},deleteConnectionAtOutput=(o,e,s)=>{const a=getAudioNodeConnections(o),c=[];for(const d of a.outputs)d[1]===s&&(isAudioNodeOutputConnection(d)?deleteInputsOfAudioNode(o,e,...d):deleteInputsOfAudioParam(o,e,...d),c.push(d[0]),a.outputs.delete(d));return c},deleteConnectionToDestination=(o,e,s,a,c)=>{const d=getAudioNodeConnections(o);return Array.from(d.outputs).filter(_=>_[0]===s&&(a===void 0||_[1]===a)&&(c===void 0||_[2]===c)).map(_=>(isAudioNodeOutputConnection(_)?deleteInputsOfAudioNode(o,e,..._):deleteInputsOfAudioParam(o,e,..._),d.outputs.delete(_),_[0]))},createAudioNodeConstructor=(o,e,s,a,c,d,_,b,k,$,j,_e,et,tt,nt,it)=>class extends ${constructor(st,at,ot,pt){super(ot),this._context=st,this._nativeAudioNode=ot;const ct=j(st);_e(ct)&&s(testAudioNodeDisconnectMethodSupport,()=>testAudioNodeDisconnectMethodSupport(ct,it))!==!0&&wrapAudioNodeDisconnectMethod(ot),AUDIO_NODE_STORE.set(this,ot),EVENT_LISTENERS.set(this,new Set),st.state!=="closed"&&at&&setInternalStateToActive(this),o(this,pt,ot)}get channelCount(){return this._nativeAudioNode.channelCount}set channelCount(st){this._nativeAudioNode.channelCount=st}get channelCountMode(){return this._nativeAudioNode.channelCountMode}set channelCountMode(st){this._nativeAudioNode.channelCountMode=st}get channelInterpretation(){return this._nativeAudioNode.channelInterpretation}set channelInterpretation(st){this._nativeAudioNode.channelInterpretation=st}get context(){return this._context}get numberOfInputs(){return this._nativeAudioNode.numberOfInputs}get numberOfOutputs(){return this._nativeAudioNode.numberOfOutputs}connect(st,at=0,ot=0){if(at<0||at>=this._nativeAudioNode.numberOfOutputs)throw c();const pt=j(this._context),ct=nt(pt);if(et(st)||tt(st))throw d();if(isAudioNode$1(st)){const ht=getNativeAudioNode(st);try{const gt=connectNativeAudioNodeToNativeAudioNode(this._nativeAudioNode,ht,at,ot),yt=isPassiveAudioNode(this);(ct||yt)&&this._nativeAudioNode.disconnect(...gt),this.context.state!=="closed"&&!yt&&isPassiveAudioNode(st)&&setInternalStateToActive(st)}catch(gt){throw gt.code===12?d():gt}if(e(this,st,at,ot,ct)){const gt=k([this],st);visitEachAudioNodeOnce(gt,a(ct))}return st}const ut=getNativeAudioParam(st);if(ut.name==="playbackRate"&&ut.maxValue===1024)throw _();try{this._nativeAudioNode.connect(ut,at),(ct||isPassiveAudioNode(this))&&this._nativeAudioNode.disconnect(ut,at)}catch(ht){throw ht.code===12?d():ht}if(addConnectionToAudioParamOfAudioContext(this,st,at,ct)){const ht=k([this],st);visitEachAudioNodeOnce(ht,a(ct))}}disconnect(st,at,ot){let pt;const ct=j(this._context),ut=nt(ct);if(st===void 0)pt=deleteAnyConnection(this,ut);else if(typeof st=="number"){if(st<0||st>=this.numberOfOutputs)throw c();pt=deleteConnectionAtOutput(this,ut,st)}else{if(at!==void 0&&(at<0||at>=this.numberOfOutputs)||isAudioNode$1(st)&&ot!==void 0&&(ot<0||ot>=st.numberOfInputs))throw c();if(pt=deleteConnectionToDestination(this,ut,st,at,ot),pt.length===0)throw d()}for(const lt of pt){const ht=k([this],lt);visitEachAudioNodeOnce(ht,b)}}},createAudioParamFactory=(o,e,s,a,c,d,_,b,k,$,j,_e,et)=>(tt,nt,it,rt=null,st=null)=>{const at=new AutomationEventList(it.defaultValue),ot=nt?a(at):null,pt={get defaultValue(){return it.defaultValue},get maxValue(){return rt===null?it.maxValue:rt},get minValue(){return st===null?it.minValue:st},get value(){return it.value},set value(ct){it.value=ct,pt.setValueAtTime(ct,tt.context.currentTime)},cancelAndHoldAtTime(ct){if(typeof it.cancelAndHoldAtTime=="function")ot===null&&at.flush(tt.context.currentTime),at.add(c(ct)),it.cancelAndHoldAtTime(ct);else{const ut=Array.from(at).pop();ot===null&&at.flush(tt.context.currentTime),at.add(c(ct));const lt=Array.from(at).pop();it.cancelScheduledValues(ct),ut!==lt&<!==void 0&&(lt.type==="exponentialRampToValue"?it.exponentialRampToValueAtTime(lt.value,lt.endTime):lt.type==="linearRampToValue"?it.linearRampToValueAtTime(lt.value,lt.endTime):lt.type==="setValue"?it.setValueAtTime(lt.value,lt.startTime):lt.type==="setValueCurve"&&it.setValueCurveAtTime(lt.values,lt.startTime,lt.duration))}return pt},cancelScheduledValues(ct){return ot===null&&at.flush(tt.context.currentTime),at.add(d(ct)),it.cancelScheduledValues(ct),pt},exponentialRampToValueAtTime(ct,ut){if(ct===0)throw new RangeError;if(!Number.isFinite(ut)||ut<0)throw new RangeError;return ot===null&&at.flush(tt.context.currentTime),at.add(_(ct,ut)),it.exponentialRampToValueAtTime(ct,ut),pt},linearRampToValueAtTime(ct,ut){return ot===null&&at.flush(tt.context.currentTime),at.add(b(ct,ut)),it.linearRampToValueAtTime(ct,ut),pt},setTargetAtTime(ct,ut,lt){return ot===null&&at.flush(tt.context.currentTime),at.add(k(ct,ut,lt)),it.setTargetAtTime(ct,ut,lt),pt},setValueAtTime(ct,ut){return ot===null&&at.flush(tt.context.currentTime),at.add($(ct,ut)),it.setValueAtTime(ct,ut),pt},setValueCurveAtTime(ct,ut,lt){const ht=ct instanceof Float32Array?ct:new Float32Array(ct);if(_e!==null&&_e.name==="webkitAudioContext"){const dt=ut+lt,gt=tt.context.sampleRate,yt=Math.ceil(ut*gt),ft=Math.floor(dt*gt),mt=ft-yt,Et=new Float32Array(mt);for(let At=0;At({replay(e){for(const s of o)if(s.type==="exponentialRampToValue"){const{endTime:a,value:c}=s;e.exponentialRampToValueAtTime(c,a)}else if(s.type==="linearRampToValue"){const{endTime:a,value:c}=s;e.linearRampToValueAtTime(c,a)}else if(s.type==="setTarget"){const{startTime:a,target:c,timeConstant:d}=s;e.setTargetAtTime(c,a,d)}else if(s.type==="setValue"){const{startTime:a,value:c}=s;e.setValueAtTime(c,a)}else if(s.type==="setValueCurve"){const{duration:a,startTime:c,values:d}=s;e.setValueCurveAtTime(d,c,a)}else throw new Error("Can't apply an unknown automation.")}});class ReadOnlyMap{constructor(e){this._map=new Map(e)}get size(){return this._map.size}entries(){return this._map.entries()}forEach(e,s=null){return this._map.forEach((a,c)=>e.call(s,a,c,this))}get(e){return this._map.get(e)}has(e){return this._map.has(e)}keys(){return this._map.keys()}values(){return this._map.values()}}const DEFAULT_OPTIONS$g={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:1,numberOfOutputs:1,parameterData:{},processorOptions:{}},createAudioWorkletNodeConstructor=(o,e,s,a,c,d,_,b,k,$,j,_e,et,tt)=>class extends e{constructor(it,rt,st){var at;const ot=b(it),pt=k(ot),ct=j(Ot(Ot({},DEFAULT_OPTIONS$g),st));et(ct);const ut=NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS.get(ot),lt=ut==null?void 0:ut.get(rt),ht=pt||ot.state!=="closed"?ot:(at=_(ot))!==null&&at!==void 0?at:ot,dt=c(ht,pt?null:it.baseLatency,$,rt,lt,ct),gt=pt?a(rt,ct,lt):null;super(it,!0,dt,gt);const yt=[];dt.parameters.forEach((mt,Et)=>{const vt=s(this,pt,mt);yt.push([Et,vt])}),this._nativeAudioWorkletNode=dt,this._onprocessorerror=null,this._parameters=new ReadOnlyMap(yt),pt&&o(ot,this);const{activeInputs:ft}=d(this);_e(dt,ft)}get onprocessorerror(){return this._onprocessorerror}set onprocessorerror(it){const rt=typeof it=="function"?tt(this,it):null;this._nativeAudioWorkletNode.onprocessorerror=rt;const st=this._nativeAudioWorkletNode.onprocessorerror;this._onprocessorerror=st!==null&&st===rt?it:st}get parameters(){return this._parameters===null?this._nativeAudioWorkletNode.parameters:this._parameters}get port(){return this._nativeAudioWorkletNode.port}};function copyFromChannel(o,e,s,a,c){if(typeof o.copyFromChannel=="function")e[s].byteLength===0&&(e[s]=new Float32Array(128)),o.copyFromChannel(e[s],a,c);else{const d=o.getChannelData(a);if(e[s].byteLength===0)e[s]=d.slice(c,c+128);else{const _=new Float32Array(d.buffer,c*Float32Array.BYTES_PER_ELEMENT,128);e[s].set(_)}}}const copyToChannel=(o,e,s,a,c)=>{typeof o.copyToChannel=="function"?e[s].byteLength!==0&&o.copyToChannel(e[s],a,c):e[s].byteLength!==0&&o.getChannelData(a).set(e[s],c)},createNestedArrays=(o,e)=>{const s=[];for(let a=0;a{const s=getValueForKey(NODE_TO_PROCESSOR_MAPS,o),a=getNativeAudioNode(e);return getValueForKey(s,a)},processBuffer=async(o,e,s,a,c,d,_)=>{const b=e===null?Math.ceil(o.context.length/128)*128:e.length,k=a.channelCount*a.numberOfInputs,$=c.reduce((rt,st)=>rt+st,0),j=$===0?null:s.createBuffer($,b,s.sampleRate);if(d===void 0)throw new Error("Missing the processor constructor.");const _e=getAudioNodeConnections(o),et=await getAudioWorkletProcessor(s,o),tt=createNestedArrays(a.numberOfInputs,a.channelCount),nt=createNestedArrays(a.numberOfOutputs,c),it=Array.from(o.parameters.keys()).reduce((rt,st)=>wt(Ot({},rt),{[st]:new Float32Array(128)}),{});for(let rt=0;rt0&&e!==null)for(let st=0;st{copyFromChannel(e,it,st,k+at,rt)});for(let st=0;st_e.activeInputs[pt].size===0?[]:ot),at=_(rt/s.sampleRate,s.sampleRate,()=>et.process(st,nt,it));if(j!==null)for(let ot=0,pt=0;ot(rt,st,at)=>{const ot=new WeakMap;let pt=null;const ct=async(ut,lt)=>{let ht=j(ut),dt=null;const gt=isOwnedByContext(ht,lt),yt=Array.isArray(st.outputChannelCount)?st.outputChannelCount:Array.from(st.outputChannelCount);if(_e===null){const ft=yt.reduce((At,_t)=>At+_t,0),mt=c(lt,{channelCount:Math.max(1,ft),channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:Math.max(1,ft)}),Et=[];for(let At=0;At{const St=new et(bt,Math.ceil(ut.context.length/128)*128,lt.sampleRate),Ct=[],xt=[];for(let It=0;It{const Ft=d(St,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:It.value});return await tt(St,It,Ft.offset),Ft})),Mt=a(St,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:Math.max(1,_t+Dt)});for(let It=0;Itnt(ut,St,It))),it(St)})(),lt,st,yt,at,$)}const ft=await pt,mt=s(lt,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),[Et,vt,At]=dt;ft!==null&&(mt.buffer=ft,mt.start(0)),mt.connect(Et);for(let _t=0,Dt=0;_tclass extends nt{constructor(ct,ut){super(ct,ut),this._nativeContext=ct,this._audioWorklet=o===void 0?void 0:{addModule:(lt,ht)=>o(this,lt,ht)}}get audioWorklet(){return this._audioWorklet}createAnalyser(){return new e(this)}createBiquadFilter(){return new c(this)}createBuffer(ct,ut,lt){return new s({length:ut,numberOfChannels:ct,sampleRate:lt})}createBufferSource(){return new a(this)}createChannelMerger(ct=6){return new d(this,{numberOfInputs:ct})}createChannelSplitter(ct=6){return new _(this,{numberOfOutputs:ct})}createConstantSource(){return new b(this)}createConvolver(){return new k(this)}createDelay(ct=1){return new j(this,{maxDelayTime:ct})}createDynamicsCompressor(){return new _e(this)}createGain(){return new et(this)}createIIRFilter(ct,ut){return new tt(this,{feedback:ut,feedforward:ct})}createOscillator(){return new it(this)}createPanner(){return new rt(this)}createPeriodicWave(ct,ut,lt={disableNormalization:!1}){return new st(this,wt(Ot({},lt),{imag:ut,real:ct}))}createStereoPanner(){return new at(this)}createWaveShaper(){return new ot(this)}decodeAudioData(ct,ut,lt){return $(this._nativeContext,ct).then(ht=>(typeof ut=="function"&&ut(ht),ht),ht=>{throw typeof lt=="function"&<(ht),ht})}},DEFAULT_OPTIONS$f={Q:1,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",detune:0,frequency:350,gain:0,type:"lowpass"},createBiquadFilterNodeConstructor=(o,e,s,a,c,d,_,b)=>class extends o{constructor($,j){const _e=d($),et=Ot(Ot({},DEFAULT_OPTIONS$f),j),tt=c(_e,et),nt=_(_e),it=nt?s():null;super($,!1,tt,it),this._Q=e(this,nt,tt.Q,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT),this._detune=e(this,nt,tt.detune,1200*Math.log2(MOST_POSITIVE_SINGLE_FLOAT),-1200*Math.log2(MOST_POSITIVE_SINGLE_FLOAT)),this._frequency=e(this,nt,tt.frequency,$.sampleRate/2,0),this._gain=e(this,nt,tt.gain,40*Math.log10(MOST_POSITIVE_SINGLE_FLOAT),MOST_NEGATIVE_SINGLE_FLOAT),this._nativeBiquadFilterNode=tt,b(this,1)}get detune(){return this._detune}get frequency(){return this._frequency}get gain(){return this._gain}get Q(){return this._Q}get type(){return this._nativeBiquadFilterNode.type}set type($){this._nativeBiquadFilterNode.type=$}getFrequencyResponse($,j,_e){try{this._nativeBiquadFilterNode.getFrequencyResponse($,j,_e)}catch(et){throw et.code===11?a():et}if($.length!==j.length||j.length!==_e.length)throw a()}},createBiquadFilterNodeRendererFactory=(o,e,s,a,c)=>()=>{const d=new WeakMap,_=async(b,k)=>{let $=s(b);const j=isOwnedByContext($,k);if(!j){const _e={Q:$.Q.value,channelCount:$.channelCount,channelCountMode:$.channelCountMode,channelInterpretation:$.channelInterpretation,detune:$.detune.value,frequency:$.frequency.value,gain:$.gain.value,type:$.type};$=e(k,_e)}return d.set(k,$),j?(await o(k,b.Q,$.Q),await o(k,b.detune,$.detune),await o(k,b.frequency,$.frequency),await o(k,b.gain,$.gain)):(await a(k,b.Q,$.Q),await a(k,b.detune,$.detune),await a(k,b.frequency,$.frequency),await a(k,b.gain,$.gain)),await c(b,k,$),$};return{render(b,k){const $=d.get(k);return $!==void 0?Promise.resolve($):_(b,k)}}},createCacheTestResult=(o,e)=>(s,a)=>{const c=e.get(s);if(c!==void 0)return c;const d=o.get(s);if(d!==void 0)return d;try{const _=a();return _ instanceof Promise?(o.set(s,_),_.catch(()=>!1).then(b=>(o.delete(s),e.set(s,b),b))):(e.set(s,_),_)}catch{return e.set(s,!1),!1}},DEFAULT_OPTIONS$e={channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:6},createChannelMergerNodeConstructor=(o,e,s,a,c)=>class extends o{constructor(_,b){const k=a(_),$=Ot(Ot({},DEFAULT_OPTIONS$e),b),j=s(k,$),_e=c(k)?e():null;super(_,!1,j,_e)}},createChannelMergerNodeRendererFactory=(o,e,s)=>()=>{const a=new WeakMap,c=async(d,_)=>{let b=e(d);if(!isOwnedByContext(b,_)){const $={channelCount:b.channelCount,channelCountMode:b.channelCountMode,channelInterpretation:b.channelInterpretation,numberOfInputs:b.numberOfInputs};b=o(_,$)}return a.set(_,b),await s(d,_,b),b};return{render(d,_){const b=a.get(_);return b!==void 0?Promise.resolve(b):c(d,_)}}},DEFAULT_OPTIONS$d={channelCount:6,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:6},createChannelSplitterNodeConstructor=(o,e,s,a,c,d)=>class extends o{constructor(b,k){const $=a(b),j=d(Ot(Ot({},DEFAULT_OPTIONS$d),k)),_e=s($,j),et=c($)?e():null;super(b,!1,_e,et)}},createChannelSplitterNodeRendererFactory=(o,e,s)=>()=>{const a=new WeakMap,c=async(d,_)=>{let b=e(d);if(!isOwnedByContext(b,_)){const $={channelCount:b.channelCount,channelCountMode:b.channelCountMode,channelInterpretation:b.channelInterpretation,numberOfOutputs:b.numberOfOutputs};b=o(_,$)}return a.set(_,b),await s(d,_,b),b};return{render(d,_){const b=a.get(_);return b!==void 0?Promise.resolve(b):c(d,_)}}},createConnectAudioParam=o=>(e,s,a)=>o(s,e,a),createConnectMultipleOutputs=o=>(e,s,a=0,c=0)=>{const d=e[a];if(d===void 0)throw o();return isNativeAudioNode$1(s)?d.connect(s,0,c):d.connect(s,0)},createConnectedNativeAudioBufferSourceNodeFactory=o=>(e,s)=>{const a=o(e,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),c=e.createBuffer(1,2,44100);return a.buffer=c,a.loop=!0,a.connect(s),a.start(),()=>{a.stop(),a.disconnect(s)}},DEFAULT_OPTIONS$c={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",offset:1},createConstantSourceNodeConstructor=(o,e,s,a,c,d,_)=>class extends o{constructor(k,$){const j=c(k),_e=Ot(Ot({},DEFAULT_OPTIONS$c),$),et=a(j,_e),tt=d(j),nt=tt?s():null;super(k,!1,et,nt),this._constantSourceNodeRenderer=nt,this._nativeConstantSourceNode=et,this._offset=e(this,tt,et.offset,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT),this._onended=null}get offset(){return this._offset}get onended(){return this._onended}set onended(k){const $=typeof k=="function"?_(this,k):null;this._nativeConstantSourceNode.onended=$;const j=this._nativeConstantSourceNode.onended;this._onended=j!==null&&j===$?k:j}start(k=0){if(this._nativeConstantSourceNode.start(k),this._constantSourceNodeRenderer!==null&&(this._constantSourceNodeRenderer.start=k),this.context.state!=="closed"){setInternalStateToActive(this);const $=()=>{this._nativeConstantSourceNode.removeEventListener("ended",$),isActiveAudioNode(this)&&setInternalStateToPassive(this)};this._nativeConstantSourceNode.addEventListener("ended",$)}}stop(k=0){this._nativeConstantSourceNode.stop(k),this._constantSourceNodeRenderer!==null&&(this._constantSourceNodeRenderer.stop=k)}},createConstantSourceNodeRendererFactory=(o,e,s,a,c)=>()=>{const d=new WeakMap;let _=null,b=null;const k=async($,j)=>{let _e=s($);const et=isOwnedByContext(_e,j);if(!et){const tt={channelCount:_e.channelCount,channelCountMode:_e.channelCountMode,channelInterpretation:_e.channelInterpretation,offset:_e.offset.value};_e=e(j,tt),_!==null&&_e.start(_),b!==null&&_e.stop(b)}return d.set(j,_e),et?await o(j,$.offset,_e.offset):await a(j,$.offset,_e.offset),await c($,j,_e),_e};return{set start($){_=$},set stop($){b=$},render($,j){const _e=d.get(j);return _e!==void 0?Promise.resolve(_e):k($,j)}}},createConvertNumberToUnsignedLong=o=>e=>(o[0]=e,o[0]),DEFAULT_OPTIONS$b={buffer:null,channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",disableNormalization:!1},createConvolverNodeConstructor=(o,e,s,a,c,d)=>class extends o{constructor(b,k){const $=a(b),j=Ot(Ot({},DEFAULT_OPTIONS$b),k),_e=s($,j),tt=c($)?e():null;super(b,!1,_e,tt),this._isBufferNullified=!1,this._nativeConvolverNode=_e,j.buffer!==null&&d(this,j.buffer.duration)}get buffer(){return this._isBufferNullified?null:this._nativeConvolverNode.buffer}set buffer(b){if(this._nativeConvolverNode.buffer=b,b===null&&this._nativeConvolverNode.buffer!==null){const k=this._nativeConvolverNode.context;this._nativeConvolverNode.buffer=k.createBuffer(1,1,44100),this._isBufferNullified=!0,d(this,0)}else this._isBufferNullified=!1,d(this,this._nativeConvolverNode.buffer===null?0:this._nativeConvolverNode.buffer.duration)}get normalize(){return this._nativeConvolverNode.normalize}set normalize(b){this._nativeConvolverNode.normalize=b}},createConvolverNodeRendererFactory=(o,e,s)=>()=>{const a=new WeakMap,c=async(d,_)=>{let b=e(d);if(!isOwnedByContext(b,_)){const $={buffer:b.buffer,channelCount:b.channelCount,channelCountMode:b.channelCountMode,channelInterpretation:b.channelInterpretation,disableNormalization:!b.normalize};b=o(_,$)}return a.set(_,b),isNativeAudioNodeFaker(b)?await s(d,_,b.inputs[0]):await s(d,_,b),b};return{render(d,_){const b=a.get(_);return b!==void 0?Promise.resolve(b):c(d,_)}}},createCreateNativeOfflineAudioContext=(o,e)=>(s,a,c)=>{if(e===null)throw new Error("Missing the native OfflineAudioContext constructor.");try{return new e(s,a,c)}catch(d){throw d.name==="SyntaxError"?o():d}},createDataCloneError=()=>new DOMException("","DataCloneError"),detachArrayBuffer=o=>{const{port1:e,port2:s}=new MessageChannel;return new Promise(a=>{const c=()=>{s.onmessage=null,e.close(),s.close(),a()};s.onmessage=()=>c();try{e.postMessage(o,[o])}finally{c()}})},createDecodeAudioData=(o,e,s,a,c,d,_,b,k,$,j)=>(_e,et)=>{const tt=_(_e)?_e:d(_e);if(c.has(et)){const nt=s();return Promise.reject(nt)}try{c.add(et)}catch{}return e(k,()=>k(tt))?tt.decodeAudioData(et).then(nt=>(detachArrayBuffer(et).catch(()=>{}),e(b,()=>b(nt))||j(nt),o.add(nt),nt)):new Promise((nt,it)=>{const rt=async()=>{try{await detachArrayBuffer(et)}catch{}},st=at=>{it(at),rt()};try{tt.decodeAudioData(et,at=>{typeof at.copyFromChannel!="function"&&($(at),wrapAudioBufferGetChannelDataMethod(at)),o.add(at),rt().then(()=>nt(at))},at=>{st(at===null?a():at)})}catch(at){st(at)}})},createDecrementCycleCounter=(o,e,s,a,c,d,_,b)=>(k,$)=>{const j=e.get(k);if(j===void 0)throw new Error("Missing the expected cycle count.");const _e=d(k.context),et=b(_e);if(j===$){if(e.delete(k),!et&&_(k)){const tt=a(k),{outputs:nt}=s(k);for(const it of nt)if(isAudioNodeOutputConnection(it)){const rt=a(it[0]);o(tt,rt,it[1],it[2])}else{const rt=c(it[0]);tt.connect(rt,it[1])}}}else e.set(k,j-$)},DEFAULT_OPTIONS$a={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",delayTime:0,maxDelayTime:1},createDelayNodeConstructor=(o,e,s,a,c,d,_)=>class extends o{constructor(k,$){const j=c(k),_e=Ot(Ot({},DEFAULT_OPTIONS$a),$),et=a(j,_e),tt=d(j),nt=tt?s(_e.maxDelayTime):null;super(k,!1,et,nt),this._delayTime=e(this,tt,et.delayTime),_(this,_e.maxDelayTime)}get delayTime(){return this._delayTime}},createDelayNodeRendererFactory=(o,e,s,a,c)=>d=>{const _=new WeakMap,b=async(k,$)=>{let j=s(k);const _e=isOwnedByContext(j,$);if(!_e){const et={channelCount:j.channelCount,channelCountMode:j.channelCountMode,channelInterpretation:j.channelInterpretation,delayTime:j.delayTime.value,maxDelayTime:d};j=e($,et)}return _.set($,j),_e?await o($,k.delayTime,j.delayTime):await a($,k.delayTime,j.delayTime),await c(k,$,j),j};return{render(k,$){const j=_.get($);return j!==void 0?Promise.resolve(j):b(k,$)}}},createDeleteActiveInputConnectionToAudioNode=o=>(e,s,a,c)=>o(e[c],d=>d[0]===s&&d[1]===a),createDeleteUnrenderedAudioWorkletNode=o=>(e,s)=>{o(e).delete(s)},isDelayNode=o=>"delayTime"in o,createDetectCycles=(o,e,s)=>function a(c,d){const _=isAudioNode$1(d)?d:s(o,d);if(isDelayNode(_))return[];if(c[0]===_)return[c];if(c.includes(_))return[];const{outputs:b}=e(_);return Array.from(b).map(k=>a([...c,_],k[0])).reduce((k,$)=>k.concat($),[])},getOutputAudioNodeAtIndex=(o,e,s)=>{const a=e[s];if(a===void 0)throw o();return a},createDisconnectMultipleOutputs=o=>(e,s=void 0,a=void 0,c=0)=>s===void 0?e.forEach(d=>d.disconnect()):typeof s=="number"?getOutputAudioNodeAtIndex(o,e,s).disconnect():isNativeAudioNode$1(s)?a===void 0?e.forEach(d=>d.disconnect(s)):c===void 0?getOutputAudioNodeAtIndex(o,e,a).disconnect(s,0):getOutputAudioNodeAtIndex(o,e,a).disconnect(s,0,c):a===void 0?e.forEach(d=>d.disconnect(s)):getOutputAudioNodeAtIndex(o,e,a).disconnect(s,0),DEFAULT_OPTIONS$9={attack:.003,channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",knee:30,ratio:12,release:.25,threshold:-24},createDynamicsCompressorNodeConstructor=(o,e,s,a,c,d,_,b)=>class extends o{constructor($,j){const _e=d($),et=Ot(Ot({},DEFAULT_OPTIONS$9),j),tt=a(_e,et),nt=_(_e),it=nt?s():null;super($,!1,tt,it),this._attack=e(this,nt,tt.attack),this._knee=e(this,nt,tt.knee),this._nativeDynamicsCompressorNode=tt,this._ratio=e(this,nt,tt.ratio),this._release=e(this,nt,tt.release),this._threshold=e(this,nt,tt.threshold),b(this,.006)}get attack(){return this._attack}get channelCount(){return this._nativeDynamicsCompressorNode.channelCount}set channelCount($){const j=this._nativeDynamicsCompressorNode.channelCount;if(this._nativeDynamicsCompressorNode.channelCount=$,$>2)throw this._nativeDynamicsCompressorNode.channelCount=j,c()}get channelCountMode(){return this._nativeDynamicsCompressorNode.channelCountMode}set channelCountMode($){const j=this._nativeDynamicsCompressorNode.channelCountMode;if(this._nativeDynamicsCompressorNode.channelCountMode=$,$==="max")throw this._nativeDynamicsCompressorNode.channelCountMode=j,c()}get knee(){return this._knee}get ratio(){return this._ratio}get reduction(){return typeof this._nativeDynamicsCompressorNode.reduction.value=="number"?this._nativeDynamicsCompressorNode.reduction.value:this._nativeDynamicsCompressorNode.reduction}get release(){return this._release}get threshold(){return this._threshold}},createDynamicsCompressorNodeRendererFactory=(o,e,s,a,c)=>()=>{const d=new WeakMap,_=async(b,k)=>{let $=s(b);const j=isOwnedByContext($,k);if(!j){const _e={attack:$.attack.value,channelCount:$.channelCount,channelCountMode:$.channelCountMode,channelInterpretation:$.channelInterpretation,knee:$.knee.value,ratio:$.ratio.value,release:$.release.value,threshold:$.threshold.value};$=e(k,_e)}return d.set(k,$),j?(await o(k,b.attack,$.attack),await o(k,b.knee,$.knee),await o(k,b.ratio,$.ratio),await o(k,b.release,$.release),await o(k,b.threshold,$.threshold)):(await a(k,b.attack,$.attack),await a(k,b.knee,$.knee),await a(k,b.ratio,$.ratio),await a(k,b.release,$.release),await a(k,b.threshold,$.threshold)),await c(b,k,$),$};return{render(b,k){const $=d.get(k);return $!==void 0?Promise.resolve($):_(b,k)}}},createEncodingError=()=>new DOMException("","EncodingError"),createEvaluateSource=o=>e=>new Promise((s,a)=>{if(o===null){a(new SyntaxError);return}const c=o.document.head;if(c===null)a(new SyntaxError);else{const d=o.document.createElement("script"),_=new Blob([e],{type:"application/javascript"}),b=URL.createObjectURL(_),k=o.onerror,$=()=>{o.onerror=k,URL.revokeObjectURL(b)};o.onerror=(j,_e,et,tt,nt)=>{if(_e===b||_e===o.location.href&&et===1&&tt===1)return $(),a(nt),!1;if(k!==null)return k(j,_e,et,tt,nt)},d.onerror=()=>{$(),a(new SyntaxError)},d.onload=()=>{$(),s()},d.src=b,d.type="module",c.appendChild(d)}}),createEventTargetConstructor=o=>class{constructor(s){this._nativeEventTarget=s,this._listeners=new WeakMap}addEventListener(s,a,c){if(a!==null){let d=this._listeners.get(a);d===void 0&&(d=o(this,a),typeof a=="function"&&this._listeners.set(a,d)),this._nativeEventTarget.addEventListener(s,d,c)}}dispatchEvent(s){return this._nativeEventTarget.dispatchEvent(s)}removeEventListener(s,a,c){const d=a===null?void 0:this._listeners.get(a);this._nativeEventTarget.removeEventListener(s,d===void 0?null:d,c)}},createExposeCurrentFrameAndCurrentTime=o=>(e,s,a)=>{Object.defineProperties(o,{currentFrame:{configurable:!0,get(){return Math.round(e*s)}},currentTime:{configurable:!0,get(){return e}}});try{return a()}finally{o!==null&&(delete o.currentFrame,delete o.currentTime)}},createFetchSource=o=>async e=>{try{const s=await fetch(e);if(s.ok)return[await s.text(),s.url]}catch{}throw o()},DEFAULT_OPTIONS$8={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",gain:1},createGainNodeConstructor=(o,e,s,a,c,d)=>class extends o{constructor(b,k){const $=c(b),j=Ot(Ot({},DEFAULT_OPTIONS$8),k),_e=a($,j),et=d($),tt=et?s():null;super(b,!1,_e,tt),this._gain=e(this,et,_e.gain,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT)}get gain(){return this._gain}},createGainNodeRendererFactory=(o,e,s,a,c)=>()=>{const d=new WeakMap,_=async(b,k)=>{let $=s(b);const j=isOwnedByContext($,k);if(!j){const _e={channelCount:$.channelCount,channelCountMode:$.channelCountMode,channelInterpretation:$.channelInterpretation,gain:$.gain.value};$=e(k,_e)}return d.set(k,$),j?await o(k,b.gain,$.gain):await a(k,b.gain,$.gain),await c(b,k,$),$};return{render(b,k){const $=d.get(k);return $!==void 0?Promise.resolve($):_(b,k)}}},createGetActiveAudioWorkletNodeInputs=(o,e)=>s=>e(o,s),createGetAudioNodeRenderer=o=>e=>{const s=o(e);if(s.renderer===null)throw new Error("Missing the renderer of the given AudioNode in the audio graph.");return s.renderer},createGetAudioNodeTailTime=o=>e=>{var s;return(s=o.get(e))!==null&&s!==void 0?s:0},createGetAudioParamRenderer=o=>e=>{const s=o(e);if(s.renderer===null)throw new Error("Missing the renderer of the given AudioParam in the audio graph.");return s.renderer},createGetBackupOfflineAudioContext=o=>e=>o.get(e),createInvalidStateError=()=>new DOMException("","InvalidStateError"),createGetNativeContext=o=>e=>{const s=o.get(e);if(s===void 0)throw createInvalidStateError();return s},createGetOrCreateBackupOfflineAudioContext=(o,e)=>s=>{let a=o.get(s);if(a!==void 0)return a;if(e===null)throw new Error("Missing the native OfflineAudioContext constructor.");return a=new e(1,1,44100),o.set(s,a),a},createGetUnrenderedAudioWorkletNodes=o=>e=>{const s=o.get(e);if(s===void 0)throw new Error("The context has no set of AudioWorkletNodes.");return s},createInvalidAccessError=()=>new DOMException("","InvalidAccessError"),wrapIIRFilterNodeGetFrequencyResponseMethod=o=>{o.getFrequencyResponse=(e=>(s,a,c)=>{if(s.length!==a.length||a.length!==c.length)throw createInvalidAccessError();return e.call(o,s,a,c)})(o.getFrequencyResponse)},DEFAULT_OPTIONS$7={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers"},createIIRFilterNodeConstructor=(o,e,s,a,c,d)=>class extends o{constructor(b,k){const $=a(b),j=c($),_e=Ot(Ot({},DEFAULT_OPTIONS$7),k),et=e($,j?null:b.baseLatency,_e),tt=j?s(_e.feedback,_e.feedforward):null;super(b,!1,et,tt),wrapIIRFilterNodeGetFrequencyResponseMethod(et),this._nativeIIRFilterNode=et,d(this,1)}getFrequencyResponse(b,k,$){return this._nativeIIRFilterNode.getFrequencyResponse(b,k,$)}},filterBuffer=(o,e,s,a,c,d,_,b,k,$,j)=>{const _e=$.length;let et=b;for(let tt=0;tt<_e;tt+=1){let nt=s[0]*$[tt];for(let it=1;it{const c=s instanceof Float64Array?s:new Float64Array(s),d=a instanceof Float64Array?a:new Float64Array(a),_=c.length,b=d.length,k=Math.min(_,b);if(c[0]!==1){for(let nt=0;nt<_;nt+=1)d[nt]/=c[0];for(let nt=1;nt(d,_)=>{const b=new WeakMap;let k=null;const $=async(j,_e)=>{let et=null,tt=e(j);const nt=isOwnedByContext(tt,_e);if(_e.createIIRFilter===void 0?et=o(_e,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}):nt||(tt=_e.createIIRFilter(_,d)),b.set(_e,et===null?tt:et),et!==null){if(k===null){if(s===null)throw new Error("Missing the native OfflineAudioContext constructor.");const rt=new s(j.context.destination.channelCount,j.context.length,_e.sampleRate);k=(async()=>{await a(j,rt,rt.destination);const st=await c(rt);return filterFullBuffer(st,_e,d,_)})()}const it=await k;return et.buffer=it,et.start(0),et}return await a(j,_e,tt),tt};return{render(j,_e){const et=b.get(_e);return et!==void 0?Promise.resolve(et):$(j,_e)}}},createIncrementCycleCounterFactory=(o,e,s,a,c,d)=>_=>(b,k)=>{const $=o.get(b);if($===void 0){if(!_&&d(b)){const j=a(b),{outputs:_e}=s(b);for(const et of _e)if(isAudioNodeOutputConnection(et)){const tt=a(et[0]);e(j,tt,et[1],et[2])}else{const tt=c(et[0]);j.disconnect(tt,et[1])}}o.set(b,k)}else o.set(b,$+k)},createIsAnyAudioContext=(o,e)=>s=>{const a=o.get(s);return e(a)||e(s)},createIsAnyAudioNode=(o,e)=>s=>o.has(s)||e(s),createIsAnyAudioParam=(o,e)=>s=>o.has(s)||e(s),createIsAnyOfflineAudioContext=(o,e)=>s=>{const a=o.get(s);return e(a)||e(s)},createIsNativeAudioContext=o=>e=>o!==null&&e instanceof o,createIsNativeAudioNode=o=>e=>o!==null&&typeof o.AudioNode=="function"&&e instanceof o.AudioNode,createIsNativeAudioParam=o=>e=>o!==null&&typeof o.AudioParam=="function"&&e instanceof o.AudioParam,createIsNativeContext=(o,e)=>s=>o(s)||e(s),createIsNativeOfflineAudioContext=o=>e=>o!==null&&e instanceof o,createIsSecureContext=o=>o!==null&&o.isSecureContext,createIsSupportedPromise=async(o,e,s,a,c,d,_,b,k,$,j,_e,et,tt,nt,it)=>o(e,e)&&o(s,s)&&o(c,c)&&o(d,d)&&o(b,b)&&o(k,k)&&o($,$)&&o(j,j)&&o(_e,_e)&&o(et,et)&&o(tt,tt)?(await Promise.all([o(a,a),o(_,_),o(nt,nt),o(it,it)])).every(st=>st):!1,createMediaElementAudioSourceNodeConstructor=(o,e,s,a)=>class extends o{constructor(d,_){const b=s(d),k=e(b,_);if(a(b))throw TypeError();super(d,!0,k,null),this._nativeMediaElementAudioSourceNode=k}get mediaElement(){return this._nativeMediaElementAudioSourceNode.mediaElement}},DEFAULT_OPTIONS$6={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers"},createMediaStreamAudioDestinationNodeConstructor=(o,e,s,a)=>class extends o{constructor(d,_){const b=s(d);if(a(b))throw new TypeError;const k=Ot(Ot({},DEFAULT_OPTIONS$6),_),$=e(b,k);super(d,!1,$,null),this._nativeMediaStreamAudioDestinationNode=$}get stream(){return this._nativeMediaStreamAudioDestinationNode.stream}},createMediaStreamAudioSourceNodeConstructor=(o,e,s,a)=>class extends o{constructor(d,_){const b=s(d),k=e(b,_);if(a(b))throw new TypeError;super(d,!0,k,null),this._nativeMediaStreamAudioSourceNode=k}get mediaStream(){return this._nativeMediaStreamAudioSourceNode.mediaStream}},createMediaStreamTrackAudioSourceNodeConstructor=(o,e,s)=>class extends o{constructor(c,d){const _=s(c),b=e(_,d);super(c,!0,b,null)}},createMinimalBaseAudioContextConstructor=(o,e,s,a,c,d)=>class extends s{constructor(b,k){super(b),this._nativeContext=b,CONTEXT_STORE.set(this,b),a(b)&&c.set(b,new Set),this._destination=new o(this,k),this._listener=e(this,b),this._onstatechange=null}get currentTime(){return this._nativeContext.currentTime}get destination(){return this._destination}get listener(){return this._listener}get onstatechange(){return this._onstatechange}set onstatechange(b){const k=typeof b=="function"?d(this,b):null;this._nativeContext.onstatechange=k;const $=this._nativeContext.onstatechange;this._onstatechange=$!==null&&$===k?b:$}get sampleRate(){return this._nativeContext.sampleRate}get state(){return this._nativeContext.state}},testPromiseSupport=o=>{const e=new Uint32Array([1179011410,40,1163280727,544501094,16,131073,44100,176400,1048580,1635017060,4,0]);try{const s=o.decodeAudioData(e.buffer,()=>{});return s===void 0?!1:(s.catch(()=>{}),!0)}catch{}return!1},createMonitorConnections=(o,e)=>(s,a,c)=>{const d=new Set;return s.connect=(_=>(b,k=0,$=0)=>{const j=d.size===0;if(e(b))return _.call(s,b,k,$),o(d,[b,k,$],_e=>_e[0]===b&&_e[1]===k&&_e[2]===$,!0),j&&a(),b;_.call(s,b,k),o(d,[b,k],_e=>_e[0]===b&&_e[1]===k,!0),j&&a()})(s.connect),s.disconnect=(_=>(b,k,$)=>{const j=d.size>0;if(b===void 0)_.apply(s),d.clear();else if(typeof b=="number"){_.call(s,b);for(const et of d)et[1]===b&&d.delete(et)}else{e(b)?_.call(s,b,k,$):_.call(s,b,k);for(const et of d)et[0]===b&&(k===void 0||et[1]===k)&&($===void 0||et[2]===$)&&d.delete(et)}const _e=d.size===0;j&&_e&&c()})(s.disconnect),s},assignNativeAudioNodeOption=(o,e,s)=>{const a=e[s];a!==void 0&&a!==o[s]&&(o[s]=a)},assignNativeAudioNodeOptions=(o,e)=>{assignNativeAudioNodeOption(o,e,"channelCount"),assignNativeAudioNodeOption(o,e,"channelCountMode"),assignNativeAudioNodeOption(o,e,"channelInterpretation")},testAnalyserNodeGetFloatTimeDomainDataMethodSupport=o=>typeof o.getFloatTimeDomainData=="function",wrapAnalyserNodeGetFloatTimeDomainDataMethod=o=>{o.getFloatTimeDomainData=e=>{const s=new Uint8Array(e.length);o.getByteTimeDomainData(s);const a=Math.max(s.length,o.fftSize);for(let c=0;c(s,a)=>{const c=s.createAnalyser();if(assignNativeAudioNodeOptions(c,a),!(a.maxDecibels>a.minDecibels))throw e();return assignNativeAudioNodeOption(c,a,"fftSize"),assignNativeAudioNodeOption(c,a,"maxDecibels"),assignNativeAudioNodeOption(c,a,"minDecibels"),assignNativeAudioNodeOption(c,a,"smoothingTimeConstant"),o(testAnalyserNodeGetFloatTimeDomainDataMethodSupport,()=>testAnalyserNodeGetFloatTimeDomainDataMethodSupport(c))||wrapAnalyserNodeGetFloatTimeDomainDataMethod(c),c},createNativeAudioBufferConstructor=o=>o===null?null:o.hasOwnProperty("AudioBuffer")?o.AudioBuffer:null,assignNativeAudioNodeAudioParamValue=(o,e,s)=>{const a=e[s];a!==void 0&&a!==o[s].value&&(o[s].value=a)},wrapAudioBufferSourceNodeStartMethodConsecutiveCalls=o=>{o.start=(e=>{let s=!1;return(a=0,c=0,d)=>{if(s)throw createInvalidStateError();e.call(o,a,c,d),s=!0}})(o.start)},wrapAudioScheduledSourceNodeStartMethodNegativeParameters=o=>{o.start=(e=>(s=0,a=0,c)=>{if(typeof c=="number"&&c<0||a<0||s<0)throw new RangeError("The parameters can't be negative.");e.call(o,s,a,c)})(o.start)},wrapAudioScheduledSourceNodeStopMethodNegativeParameters=o=>{o.stop=(e=>(s=0)=>{if(s<0)throw new RangeError("The parameter can't be negative.");e.call(o,s)})(o.stop)},createNativeAudioBufferSourceNodeFactory=(o,e,s,a,c,d,_,b,k,$,j)=>(_e,et)=>{const tt=_e.createBufferSource();return assignNativeAudioNodeOptions(tt,et),assignNativeAudioNodeAudioParamValue(tt,et,"playbackRate"),assignNativeAudioNodeOption(tt,et,"buffer"),assignNativeAudioNodeOption(tt,et,"loop"),assignNativeAudioNodeOption(tt,et,"loopEnd"),assignNativeAudioNodeOption(tt,et,"loopStart"),e(s,()=>s(_e))||wrapAudioBufferSourceNodeStartMethodConsecutiveCalls(tt),e(a,()=>a(_e))||k(tt),e(c,()=>c(_e))||$(tt,_e),e(d,()=>d(_e))||wrapAudioScheduledSourceNodeStartMethodNegativeParameters(tt),e(_,()=>_(_e))||j(tt,_e),e(b,()=>b(_e))||wrapAudioScheduledSourceNodeStopMethodNegativeParameters(tt),o(_e,tt),tt},createNativeAudioContextConstructor=o=>o===null?null:o.hasOwnProperty("AudioContext")?o.AudioContext:o.hasOwnProperty("webkitAudioContext")?o.webkitAudioContext:null,createNativeAudioDestinationNodeFactory=(o,e)=>(s,a,c)=>{const d=s.destination;if(d.channelCount!==a)try{d.channelCount=a}catch{}c&&d.channelCountMode!=="explicit"&&(d.channelCountMode="explicit"),d.maxChannelCount===0&&Object.defineProperty(d,"maxChannelCount",{value:a});const _=o(s,{channelCount:a,channelCountMode:d.channelCountMode,channelInterpretation:d.channelInterpretation,gain:1});return e(_,"channelCount",b=>()=>b.call(_),b=>k=>{b.call(_,k);try{d.channelCount=k}catch($){if(k>d.maxChannelCount)throw $}}),e(_,"channelCountMode",b=>()=>b.call(_),b=>k=>{b.call(_,k),d.channelCountMode=k}),e(_,"channelInterpretation",b=>()=>b.call(_),b=>k=>{b.call(_,k),d.channelInterpretation=k}),Object.defineProperty(_,"maxChannelCount",{get:()=>d.maxChannelCount}),_.connect(d),_},createNativeAudioWorkletNodeConstructor=o=>o===null?null:o.hasOwnProperty("AudioWorkletNode")?o.AudioWorkletNode:null,testClonabilityOfAudioWorkletNodeOptions=o=>{const{port1:e}=new MessageChannel;try{e.postMessage(o)}finally{e.close()}},createNativeAudioWorkletNodeFactory=(o,e,s,a,c)=>(d,_,b,k,$,j)=>{if(b!==null)try{const _e=new b(d,k,j),et=new Map;let tt=null;if(Object.defineProperties(_e,{channelCount:{get:()=>j.channelCount,set:()=>{throw o()}},channelCountMode:{get:()=>"explicit",set:()=>{throw o()}},onprocessorerror:{get:()=>tt,set:nt=>{typeof tt=="function"&&_e.removeEventListener("processorerror",tt),tt=typeof nt=="function"?nt:null,typeof tt=="function"&&_e.addEventListener("processorerror",tt)}}}),_e.addEventListener=(nt=>(...it)=>{if(it[0]==="processorerror"){const rt=typeof it[1]=="function"?it[1]:typeof it[1]=="object"&&it[1]!==null&&typeof it[1].handleEvent=="function"?it[1].handleEvent:null;if(rt!==null){const st=et.get(it[1]);st!==void 0?it[1]=st:(it[1]=at=>{at.type==="error"?(Object.defineProperties(at,{type:{value:"processorerror"}}),rt(at)):rt(new ErrorEvent(it[0],Ot({},at)))},et.set(rt,it[1]))}}return nt.call(_e,"error",it[1],it[2]),nt.call(_e,...it)})(_e.addEventListener),_e.removeEventListener=(nt=>(...it)=>{if(it[0]==="processorerror"){const rt=et.get(it[1]);rt!==void 0&&(et.delete(it[1]),it[1]=rt)}return nt.call(_e,"error",it[1],it[2]),nt.call(_e,it[0],it[1],it[2])})(_e.removeEventListener),j.numberOfOutputs!==0){const nt=s(d,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});return _e.connect(nt).connect(d.destination),c(_e,()=>nt.disconnect(),()=>nt.connect(d.destination))}return _e}catch(_e){throw _e.code===11?a():_e}if($===void 0)throw a();return testClonabilityOfAudioWorkletNodeOptions(j),e(d,_,$,j)},computeBufferSize=(o,e)=>o===null?512:Math.max(512,Math.min(16384,Math.pow(2,Math.round(Math.log2(o*e))))),cloneAudioWorkletNodeOptions=o=>new Promise((e,s)=>{const{port1:a,port2:c}=new MessageChannel;a.onmessage=({data:d})=>{a.close(),c.close(),e(d)},a.onmessageerror=({data:d})=>{a.close(),c.close(),s(d)},c.postMessage(o)}),createAudioWorkletProcessorPromise=async(o,e)=>{const s=await cloneAudioWorkletNodeOptions(e);return new o(s)},createAudioWorkletProcessor=(o,e,s,a)=>{let c=NODE_TO_PROCESSOR_MAPS.get(o);c===void 0&&(c=new WeakMap,NODE_TO_PROCESSOR_MAPS.set(o,c));const d=createAudioWorkletProcessorPromise(s,a);return c.set(e,d),d},createNativeAudioWorkletNodeFakerFactory=(o,e,s,a,c,d,_,b,k,$,j,_e,et)=>(tt,nt,it,rt)=>{if(rt.numberOfInputs===0&&rt.numberOfOutputs===0)throw k();const st=Array.isArray(rt.outputChannelCount)?rt.outputChannelCount:Array.from(rt.outputChannelCount);if(st.some(kt=>kt<1))throw k();if(st.length!==rt.numberOfOutputs)throw e();if(rt.channelCountMode!=="explicit")throw k();const at=rt.channelCount*rt.numberOfInputs,ot=st.reduce((kt,Bt)=>kt+Bt,0),pt=it.parameterDescriptors===void 0?0:it.parameterDescriptors.length;if(at+pt>6||ot>6)throw k();const ct=new MessageChannel,ut=[],lt=[];for(let kt=0;ktkt===void 0?0:kt},maxValue:{get:()=>Bt===void 0?MOST_POSITIVE_SINGLE_FLOAT:Bt},minValue:{get:()=>Qt===void 0?MOST_NEGATIVE_SINGLE_FLOAT:Qt}}),ht.push($t)}const dt=a(tt,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:Math.max(1,at+pt)}),gt=computeBufferSize(nt,tt.sampleRate),yt=b(tt,gt,at+pt,Math.max(1,ot)),ft=c(tt,{channelCount:Math.max(1,ot),channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:Math.max(1,ot)}),mt=[];for(let kt=0;kt{const Qt=ht[Bt];return Qt.connect(dt,0,at+Bt),Qt.start(0),[kt,Qt.offset]}));dt.connect(yt);let vt=rt.channelInterpretation,At=null;const _t=rt.numberOfOutputs===0?[yt]:mt,Dt={get bufferSize(){return gt},get channelCount(){return rt.channelCount},set channelCount(kt){throw s()},get channelCountMode(){return rt.channelCountMode},set channelCountMode(kt){throw s()},get channelInterpretation(){return vt},set channelInterpretation(kt){for(const Bt of ut)Bt.channelInterpretation=kt;vt=kt},get context(){return yt.context},get inputs(){return ut},get numberOfInputs(){return rt.numberOfInputs},get numberOfOutputs(){return rt.numberOfOutputs},get onprocessorerror(){return At},set onprocessorerror(kt){typeof At=="function"&&Dt.removeEventListener("processorerror",At),At=typeof kt=="function"?kt:null,typeof At=="function"&&Dt.addEventListener("processorerror",At)},get parameters(){return Et},get port(){return ct.port2},addEventListener(...kt){return yt.addEventListener(kt[0],kt[1],kt[2])},connect:o.bind(null,_t),disconnect:$.bind(null,_t),dispatchEvent(...kt){return yt.dispatchEvent(kt[0])},removeEventListener(...kt){return yt.removeEventListener(kt[0],kt[1],kt[2])}},bt=new Map;ct.port1.addEventListener=(kt=>(...Bt)=>{if(Bt[0]==="message"){const Qt=typeof Bt[1]=="function"?Bt[1]:typeof Bt[1]=="object"&&Bt[1]!==null&&typeof Bt[1].handleEvent=="function"?Bt[1].handleEvent:null;if(Qt!==null){const Lt=bt.get(Bt[1]);Lt!==void 0?Bt[1]=Lt:(Bt[1]=$t=>{j(tt.currentTime,tt.sampleRate,()=>Qt($t))},bt.set(Qt,Bt[1]))}}return kt.call(ct.port1,Bt[0],Bt[1],Bt[2])})(ct.port1.addEventListener),ct.port1.removeEventListener=(kt=>(...Bt)=>{if(Bt[0]==="message"){const Qt=bt.get(Bt[1]);Qt!==void 0&&(bt.delete(Bt[1]),Bt[1]=Qt)}return kt.call(ct.port1,Bt[0],Bt[1],Bt[2])})(ct.port1.removeEventListener);let Tt=null;Object.defineProperty(ct.port1,"onmessage",{get:()=>Tt,set:kt=>{typeof Tt=="function"&&ct.port1.removeEventListener("message",Tt),Tt=typeof kt=="function"?kt:null,typeof Tt=="function"&&(ct.port1.addEventListener("message",Tt),ct.port1.start())}}),it.prototype.port=ct.port1;let St=null;createAudioWorkletProcessor(tt,Dt,it,rt).then(kt=>St=kt);const xt=createNestedArrays(rt.numberOfInputs,rt.channelCount),Rt=createNestedArrays(rt.numberOfOutputs,st),Mt=it.parameterDescriptors===void 0?[]:it.parameterDescriptors.reduce((kt,{name:Bt})=>wt(Ot({},kt),{[Bt]:new Float32Array(128)}),{});let It=!0;const Ft=()=>{rt.numberOfOutputs>0&&yt.disconnect(ft);for(let kt=0,Bt=0;kt{if(St!==null){const Qt=_e(Dt);for(let Lt=0;Lt{copyFromChannel(kt,Mt,$t,at+Wt,Lt)});for(let $t=0;$t{if(Qt[zt].size>0)return Vt.set(zt,gt/128),Gt;const Xt=Vt.get(zt);return Xt===void 0?[]:(Gt.every(Zt=>Zt.every(sn=>sn===0))&&(Xt===1?Vt.delete(zt):Vt.set(zt,Xt-1)),Gt)});It=j(tt.currentTime+Lt/tt.sampleRate,tt.sampleRate,()=>St.process($t,Rt,Mt));for(let Gt=0,zt=0;Gtyt.connect(Nt).connect(tt.destination),Jt=()=>{yt.disconnect(Nt),Nt.disconnect()},en=()=>{if(It){Jt(),rt.numberOfOutputs>0&&yt.connect(ft);for(let kt=0,Bt=0;kt{It&&(Kt(),Ft()),jt=!1};return Kt(),et(Dt,en,tn)},createNativeBiquadFilterNode=(o,e)=>{const s=o.createBiquadFilter();return assignNativeAudioNodeOptions(s,e),assignNativeAudioNodeAudioParamValue(s,e,"Q"),assignNativeAudioNodeAudioParamValue(s,e,"detune"),assignNativeAudioNodeAudioParamValue(s,e,"frequency"),assignNativeAudioNodeAudioParamValue(s,e,"gain"),assignNativeAudioNodeOption(s,e,"type"),s},createNativeChannelMergerNodeFactory=(o,e)=>(s,a)=>{const c=s.createChannelMerger(a.numberOfInputs);return o!==null&&o.name==="webkitAudioContext"&&e(s,c),assignNativeAudioNodeOptions(c,a),c},wrapChannelSplitterNode=o=>{const e=o.numberOfOutputs;Object.defineProperty(o,"channelCount",{get:()=>e,set:s=>{if(s!==e)throw createInvalidStateError()}}),Object.defineProperty(o,"channelCountMode",{get:()=>"explicit",set:s=>{if(s!=="explicit")throw createInvalidStateError()}}),Object.defineProperty(o,"channelInterpretation",{get:()=>"discrete",set:s=>{if(s!=="discrete")throw createInvalidStateError()}})},createNativeChannelSplitterNode=(o,e)=>{const s=o.createChannelSplitter(e.numberOfOutputs);return assignNativeAudioNodeOptions(s,e),wrapChannelSplitterNode(s),s},createNativeConstantSourceNodeFactory=(o,e,s,a,c)=>(d,_)=>{if(d.createConstantSource===void 0)return s(d,_);const b=d.createConstantSource();return assignNativeAudioNodeOptions(b,_),assignNativeAudioNodeAudioParamValue(b,_,"offset"),e(a,()=>a(d))||wrapAudioScheduledSourceNodeStartMethodNegativeParameters(b),e(c,()=>c(d))||wrapAudioScheduledSourceNodeStopMethodNegativeParameters(b),o(d,b),b},interceptConnections=(o,e)=>(o.connect=e.connect.bind(e),o.disconnect=e.disconnect.bind(e),o),createNativeConstantSourceNodeFakerFactory=(o,e,s,a)=>(c,b)=>{var k=b,{offset:d}=k,_=ln(k,["offset"]);const $=c.createBuffer(1,2,44100),j=e(c,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),_e=s(c,wt(Ot({},_),{gain:d})),et=$.getChannelData(0);et[0]=1,et[1]=1,j.buffer=$,j.loop=!0;const tt={get bufferSize(){},get channelCount(){return _e.channelCount},set channelCount(rt){_e.channelCount=rt},get channelCountMode(){return _e.channelCountMode},set channelCountMode(rt){_e.channelCountMode=rt},get channelInterpretation(){return _e.channelInterpretation},set channelInterpretation(rt){_e.channelInterpretation=rt},get context(){return _e.context},get inputs(){return[]},get numberOfInputs(){return j.numberOfInputs},get numberOfOutputs(){return _e.numberOfOutputs},get offset(){return _e.gain},get onended(){return j.onended},set onended(rt){j.onended=rt},addEventListener(...rt){return j.addEventListener(rt[0],rt[1],rt[2])},dispatchEvent(...rt){return j.dispatchEvent(rt[0])},removeEventListener(...rt){return j.removeEventListener(rt[0],rt[1],rt[2])},start(rt=0){j.start.call(j,rt)},stop(rt=0){j.stop.call(j,rt)}},nt=()=>j.connect(_e),it=()=>j.disconnect(_e);return o(c,j),a(interceptConnections(tt,_e),nt,it)},createNativeConvolverNodeFactory=(o,e)=>(s,a)=>{const c=s.createConvolver();if(assignNativeAudioNodeOptions(c,a),a.disableNormalization===c.normalize&&(c.normalize=!a.disableNormalization),assignNativeAudioNodeOption(c,a,"buffer"),a.channelCount>2||(e(c,"channelCount",d=>()=>d.call(c),d=>_=>{if(_>2)throw o();return d.call(c,_)}),a.channelCountMode==="max"))throw o();return e(c,"channelCountMode",d=>()=>d.call(c),d=>_=>{if(_==="max")throw o();return d.call(c,_)}),c},createNativeDelayNode=(o,e)=>{const s=o.createDelay(e.maxDelayTime);return assignNativeAudioNodeOptions(s,e),assignNativeAudioNodeAudioParamValue(s,e,"delayTime"),s},createNativeDynamicsCompressorNodeFactory=o=>(e,s)=>{const a=e.createDynamicsCompressor();if(assignNativeAudioNodeOptions(a,s),s.channelCount>2||s.channelCountMode==="max")throw o();return assignNativeAudioNodeAudioParamValue(a,s,"attack"),assignNativeAudioNodeAudioParamValue(a,s,"knee"),assignNativeAudioNodeAudioParamValue(a,s,"ratio"),assignNativeAudioNodeAudioParamValue(a,s,"release"),assignNativeAudioNodeAudioParamValue(a,s,"threshold"),a},createNativeGainNode=(o,e)=>{const s=o.createGain();return assignNativeAudioNodeOptions(s,e),assignNativeAudioNodeAudioParamValue(s,e,"gain"),s},createNativeIIRFilterNodeFactory=o=>(e,s,a)=>{if(e.createIIRFilter===void 0)return o(e,s,a);const c=e.createIIRFilter(a.feedforward,a.feedback);return assignNativeAudioNodeOptions(c,a),c};function divide(o,e){const s=e[0]*e[0]+e[1]*e[1];return[(o[0]*e[0]+o[1]*e[1])/s,(o[1]*e[0]-o[0]*e[1])/s]}function multiply(o,e){return[o[0]*e[0]-o[1]*e[1],o[0]*e[1]+o[1]*e[0]]}function evaluatePolynomial(o,e){let s=[0,0];for(let a=o.length-1;a>=0;a-=1)s=multiply(s,e),s[0]+=o[a];return s}const createNativeIIRFilterNodeFakerFactory=(o,e,s,a)=>(c,d,{channelCount:_,channelCountMode:b,channelInterpretation:k,feedback:$,feedforward:j})=>{const _e=computeBufferSize(d,c.sampleRate),et=$ instanceof Float64Array?$:new Float64Array($),tt=j instanceof Float64Array?j:new Float64Array(j),nt=et.length,it=tt.length,rt=Math.min(nt,it);if(nt===0||nt>20)throw a();if(et[0]===0)throw e();if(it===0||it>20)throw a();if(tt[0]===0)throw e();if(et[0]!==1){for(let ht=0;ht{const dt=ht.inputBuffer,gt=ht.outputBuffer,yt=dt.numberOfChannels;for(let ft=0;fto.createMediaElementSource(e.mediaElement),createNativeMediaStreamAudioDestinationNode=(o,e)=>{const s=o.createMediaStreamDestination();return assignNativeAudioNodeOptions(s,e),s.numberOfOutputs===1&&Object.defineProperty(s,"numberOfOutputs",{get:()=>0}),s},createNativeMediaStreamAudioSourceNode=(o,{mediaStream:e})=>{const s=e.getAudioTracks();s.sort((d,_)=>d.id<_.id?-1:d.id>_.id?1:0);const a=s.slice(0,1),c=o.createMediaStreamSource(new MediaStream(a));return Object.defineProperty(c,"mediaStream",{value:e}),c},createNativeMediaStreamTrackAudioSourceNodeFactory=(o,e)=>(s,{mediaStreamTrack:a})=>{if(typeof s.createMediaStreamTrackSource=="function")return s.createMediaStreamTrackSource(a);const c=new MediaStream([a]),d=s.createMediaStreamSource(c);if(a.kind!=="audio")throw o();if(e(s))throw new TypeError;return d},createNativeOfflineAudioContextConstructor=o=>o===null?null:o.hasOwnProperty("OfflineAudioContext")?o.OfflineAudioContext:o.hasOwnProperty("webkitOfflineAudioContext")?o.webkitOfflineAudioContext:null,createNativeOscillatorNodeFactory=(o,e,s,a,c,d)=>(_,b)=>{const k=_.createOscillator();return assignNativeAudioNodeOptions(k,b),assignNativeAudioNodeAudioParamValue(k,b,"detune"),assignNativeAudioNodeAudioParamValue(k,b,"frequency"),b.periodicWave!==void 0?k.setPeriodicWave(b.periodicWave):assignNativeAudioNodeOption(k,b,"type"),e(s,()=>s(_))||wrapAudioScheduledSourceNodeStartMethodNegativeParameters(k),e(a,()=>a(_))||d(k,_),e(c,()=>c(_))||wrapAudioScheduledSourceNodeStopMethodNegativeParameters(k),o(_,k),k},createNativePannerNodeFactory=o=>(e,s)=>{const a=e.createPanner();return a.orientationX===void 0?o(e,s):(assignNativeAudioNodeOptions(a,s),assignNativeAudioNodeAudioParamValue(a,s,"orientationX"),assignNativeAudioNodeAudioParamValue(a,s,"orientationY"),assignNativeAudioNodeAudioParamValue(a,s,"orientationZ"),assignNativeAudioNodeAudioParamValue(a,s,"positionX"),assignNativeAudioNodeAudioParamValue(a,s,"positionY"),assignNativeAudioNodeAudioParamValue(a,s,"positionZ"),assignNativeAudioNodeOption(a,s,"coneInnerAngle"),assignNativeAudioNodeOption(a,s,"coneOuterAngle"),assignNativeAudioNodeOption(a,s,"coneOuterGain"),assignNativeAudioNodeOption(a,s,"distanceModel"),assignNativeAudioNodeOption(a,s,"maxDistance"),assignNativeAudioNodeOption(a,s,"panningModel"),assignNativeAudioNodeOption(a,s,"refDistance"),assignNativeAudioNodeOption(a,s,"rolloffFactor"),a)},createNativePannerNodeFakerFactory=(o,e,s,a,c,d,_,b,k,$)=>(j,gt)=>{var yt=gt,{coneInnerAngle:_e,coneOuterAngle:et,coneOuterGain:tt,distanceModel:nt,maxDistance:it,orientationX:rt,orientationY:st,orientationZ:at,panningModel:ot,positionX:pt,positionY:ct,positionZ:ut,refDistance:lt,rolloffFactor:ht}=yt,dt=ln(yt,["coneInnerAngle","coneOuterAngle","coneOuterGain","distanceModel","maxDistance","orientationX","orientationY","orientationZ","panningModel","positionX","positionY","positionZ","refDistance","rolloffFactor"]);const ft=j.createPanner();if(dt.channelCount>2||dt.channelCountMode==="max")throw _();assignNativeAudioNodeOptions(ft,dt);const mt={channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete"},Et=s(j,wt(Ot({},mt),{channelInterpretation:"speakers",numberOfInputs:6})),vt=a(j,wt(Ot({},dt),{gain:1})),At=a(j,wt(Ot({},mt),{gain:1})),_t=a(j,wt(Ot({},mt),{gain:0})),Dt=a(j,wt(Ot({},mt),{gain:0})),bt=a(j,wt(Ot({},mt),{gain:0})),Tt=a(j,wt(Ot({},mt),{gain:0})),St=a(j,wt(Ot({},mt),{gain:0})),Ct=c(j,256,6,1),xt=d(j,wt(Ot({},mt),{curve:new Float32Array([1,1]),oversample:"none"}));let Rt=[rt,st,at],Mt=[pt,ct,ut];const It=new Float32Array(1);Ct.onaudioprocess=({inputBuffer:Nt})=>{const Kt=[k(Nt,It,0),k(Nt,It,1),k(Nt,It,2)];Kt.some((en,tn)=>en!==Rt[tn])&&(ft.setOrientation(...Kt),Rt=Kt);const Jt=[k(Nt,It,3),k(Nt,It,4),k(Nt,It,5)];Jt.some((en,tn)=>en!==Mt[tn])&&(ft.setPosition(...Jt),Mt=Jt)},Object.defineProperty(_t.gain,"defaultValue",{get:()=>0}),Object.defineProperty(Dt.gain,"defaultValue",{get:()=>0}),Object.defineProperty(bt.gain,"defaultValue",{get:()=>0}),Object.defineProperty(Tt.gain,"defaultValue",{get:()=>0}),Object.defineProperty(St.gain,"defaultValue",{get:()=>0});const Ft={get bufferSize(){},get channelCount(){return ft.channelCount},set channelCount(Nt){if(Nt>2)throw _();vt.channelCount=Nt,ft.channelCount=Nt},get channelCountMode(){return ft.channelCountMode},set channelCountMode(Nt){if(Nt==="max")throw _();vt.channelCountMode=Nt,ft.channelCountMode=Nt},get channelInterpretation(){return ft.channelInterpretation},set channelInterpretation(Nt){vt.channelInterpretation=Nt,ft.channelInterpretation=Nt},get coneInnerAngle(){return ft.coneInnerAngle},set coneInnerAngle(Nt){ft.coneInnerAngle=Nt},get coneOuterAngle(){return ft.coneOuterAngle},set coneOuterAngle(Nt){ft.coneOuterAngle=Nt},get coneOuterGain(){return ft.coneOuterGain},set coneOuterGain(Nt){if(Nt<0||Nt>1)throw e();ft.coneOuterGain=Nt},get context(){return ft.context},get distanceModel(){return ft.distanceModel},set distanceModel(Nt){ft.distanceModel=Nt},get inputs(){return[vt]},get maxDistance(){return ft.maxDistance},set maxDistance(Nt){if(Nt<0)throw new RangeError;ft.maxDistance=Nt},get numberOfInputs(){return ft.numberOfInputs},get numberOfOutputs(){return ft.numberOfOutputs},get orientationX(){return At.gain},get orientationY(){return _t.gain},get orientationZ(){return Dt.gain},get panningModel(){return ft.panningModel},set panningModel(Nt){ft.panningModel=Nt},get positionX(){return bt.gain},get positionY(){return Tt.gain},get positionZ(){return St.gain},get refDistance(){return ft.refDistance},set refDistance(Nt){if(Nt<0)throw new RangeError;ft.refDistance=Nt},get rolloffFactor(){return ft.rolloffFactor},set rolloffFactor(Nt){if(Nt<0)throw new RangeError;ft.rolloffFactor=Nt},addEventListener(...Nt){return vt.addEventListener(Nt[0],Nt[1],Nt[2])},dispatchEvent(...Nt){return vt.dispatchEvent(Nt[0])},removeEventListener(...Nt){return vt.removeEventListener(Nt[0],Nt[1],Nt[2])}};_e!==Ft.coneInnerAngle&&(Ft.coneInnerAngle=_e),et!==Ft.coneOuterAngle&&(Ft.coneOuterAngle=et),tt!==Ft.coneOuterGain&&(Ft.coneOuterGain=tt),nt!==Ft.distanceModel&&(Ft.distanceModel=nt),it!==Ft.maxDistance&&(Ft.maxDistance=it),rt!==Ft.orientationX.value&&(Ft.orientationX.value=rt),st!==Ft.orientationY.value&&(Ft.orientationY.value=st),at!==Ft.orientationZ.value&&(Ft.orientationZ.value=at),ot!==Ft.panningModel&&(Ft.panningModel=ot),pt!==Ft.positionX.value&&(Ft.positionX.value=pt),ct!==Ft.positionY.value&&(Ft.positionY.value=ct),ut!==Ft.positionZ.value&&(Ft.positionZ.value=ut),lt!==Ft.refDistance&&(Ft.refDistance=lt),ht!==Ft.rolloffFactor&&(Ft.rolloffFactor=ht),(Rt[0]!==1||Rt[1]!==0||Rt[2]!==0)&&ft.setOrientation(...Rt),(Mt[0]!==0||Mt[1]!==0||Mt[2]!==0)&&ft.setPosition(...Mt);const Vt=()=>{vt.connect(ft),o(vt,xt,0,0),xt.connect(At).connect(Et,0,0),xt.connect(_t).connect(Et,0,1),xt.connect(Dt).connect(Et,0,2),xt.connect(bt).connect(Et,0,3),xt.connect(Tt).connect(Et,0,4),xt.connect(St).connect(Et,0,5),Et.connect(Ct).connect(j.destination)},jt=()=>{vt.disconnect(ft),b(vt,xt,0,0),xt.disconnect(At),At.disconnect(Et),xt.disconnect(_t),_t.disconnect(Et),xt.disconnect(Dt),Dt.disconnect(Et),xt.disconnect(bt),bt.disconnect(Et),xt.disconnect(Tt),Tt.disconnect(Et),xt.disconnect(St),St.disconnect(Et),Et.disconnect(Ct),Ct.disconnect(j.destination)};return $(interceptConnections(Ft,ft),Vt,jt)},createNativePeriodicWaveFactory=o=>(e,{disableNormalization:s,imag:a,real:c})=>{const d=a instanceof Float32Array?a:new Float32Array(a),_=c instanceof Float32Array?c:new Float32Array(c),b=e.createPeriodicWave(_,d,{disableNormalization:s});if(Array.from(a).length<2)throw o();return b},createNativeScriptProcessorNode=(o,e,s,a)=>o.createScriptProcessor(e,s,a),createNativeStereoPannerNodeFactory=(o,e)=>(s,a)=>{const c=a.channelCountMode;if(c==="clamped-max")throw e();if(s.createStereoPanner===void 0)return o(s,a);const d=s.createStereoPanner();return assignNativeAudioNodeOptions(d,a),assignNativeAudioNodeAudioParamValue(d,a,"pan"),Object.defineProperty(d,"channelCountMode",{get:()=>c,set:_=>{if(_!==c)throw e()}}),d},createNativeStereoPannerNodeFakerFactory=(o,e,s,a,c,d)=>{const b=new Float32Array([1,1]),k=Math.PI/2,$={channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete"},j=wt(Ot({},$),{oversample:"none"}),_e=(nt,it,rt,st)=>{const at=new Float32Array(16385),ot=new Float32Array(16385);for(let dt=0;dt<16385;dt+=1){const gt=dt/16384*k;at[dt]=Math.cos(gt),ot[dt]=Math.sin(gt)}const pt=s(nt,wt(Ot({},$),{gain:0})),ct=a(nt,wt(Ot({},j),{curve:at})),ut=a(nt,wt(Ot({},j),{curve:b})),lt=s(nt,wt(Ot({},$),{gain:0})),ht=a(nt,wt(Ot({},j),{curve:ot}));return{connectGraph(){it.connect(pt),it.connect(ut.inputs===void 0?ut:ut.inputs[0]),it.connect(lt),ut.connect(rt),rt.connect(ct.inputs===void 0?ct:ct.inputs[0]),rt.connect(ht.inputs===void 0?ht:ht.inputs[0]),ct.connect(pt.gain),ht.connect(lt.gain),pt.connect(st,0,0),lt.connect(st,0,1)},disconnectGraph(){it.disconnect(pt),it.disconnect(ut.inputs===void 0?ut:ut.inputs[0]),it.disconnect(lt),ut.disconnect(rt),rt.disconnect(ct.inputs===void 0?ct:ct.inputs[0]),rt.disconnect(ht.inputs===void 0?ht:ht.inputs[0]),ct.disconnect(pt.gain),ht.disconnect(lt.gain),pt.disconnect(st,0,0),lt.disconnect(st,0,1)}}},et=(nt,it,rt,st)=>{const at=new Float32Array(16385),ot=new Float32Array(16385),pt=new Float32Array(16385),ct=new Float32Array(16385),ut=Math.floor(16385/2);for(let _t=0;_t<16385;_t+=1)if(_t>ut){const Dt=(_t-ut)/(16384-ut)*k;at[_t]=Math.cos(Dt),ot[_t]=Math.sin(Dt),pt[_t]=0,ct[_t]=1}else{const Dt=_t/(16384-ut)*k;at[_t]=1,ot[_t]=0,pt[_t]=Math.cos(Dt),ct[_t]=Math.sin(Dt)}const lt=e(nt,{channelCount:2,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:2}),ht=s(nt,wt(Ot({},$),{gain:0})),dt=a(nt,wt(Ot({},j),{curve:at})),gt=s(nt,wt(Ot({},$),{gain:0})),yt=a(nt,wt(Ot({},j),{curve:ot})),ft=a(nt,wt(Ot({},j),{curve:b})),mt=s(nt,wt(Ot({},$),{gain:0})),Et=a(nt,wt(Ot({},j),{curve:pt})),vt=s(nt,wt(Ot({},$),{gain:0})),At=a(nt,wt(Ot({},j),{curve:ct}));return{connectGraph(){it.connect(lt),it.connect(ft.inputs===void 0?ft:ft.inputs[0]),lt.connect(ht,0),lt.connect(gt,0),lt.connect(mt,1),lt.connect(vt,1),ft.connect(rt),rt.connect(dt.inputs===void 0?dt:dt.inputs[0]),rt.connect(yt.inputs===void 0?yt:yt.inputs[0]),rt.connect(Et.inputs===void 0?Et:Et.inputs[0]),rt.connect(At.inputs===void 0?At:At.inputs[0]),dt.connect(ht.gain),yt.connect(gt.gain),Et.connect(mt.gain),At.connect(vt.gain),ht.connect(st,0,0),mt.connect(st,0,0),gt.connect(st,0,1),vt.connect(st,0,1)},disconnectGraph(){it.disconnect(lt),it.disconnect(ft.inputs===void 0?ft:ft.inputs[0]),lt.disconnect(ht,0),lt.disconnect(gt,0),lt.disconnect(mt,1),lt.disconnect(vt,1),ft.disconnect(rt),rt.disconnect(dt.inputs===void 0?dt:dt.inputs[0]),rt.disconnect(yt.inputs===void 0?yt:yt.inputs[0]),rt.disconnect(Et.inputs===void 0?Et:Et.inputs[0]),rt.disconnect(At.inputs===void 0?At:At.inputs[0]),dt.disconnect(ht.gain),yt.disconnect(gt.gain),Et.disconnect(mt.gain),At.disconnect(vt.gain),ht.disconnect(st,0,0),mt.disconnect(st,0,0),gt.disconnect(st,0,1),vt.disconnect(st,0,1)}}},tt=(nt,it,rt,st,at)=>{if(it===1)return _e(nt,rt,st,at);if(it===2)return et(nt,rt,st,at);throw c()};return(nt,ot)=>{var pt=ot,{channelCount:it,channelCountMode:rt,pan:st}=pt,at=ln(pt,["channelCount","channelCountMode","pan"]);if(rt==="max")throw c();const ct=o(nt,wt(Ot({},at),{channelCount:1,channelCountMode:rt,numberOfInputs:2})),ut=s(nt,wt(Ot({},at),{channelCount:it,channelCountMode:rt,gain:1})),lt=s(nt,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:st});let{connectGraph:ht,disconnectGraph:dt}=tt(nt,it,ut,lt,ct);Object.defineProperty(lt.gain,"defaultValue",{get:()=>0}),Object.defineProperty(lt.gain,"maxValue",{get:()=>1}),Object.defineProperty(lt.gain,"minValue",{get:()=>-1});const gt={get bufferSize(){},get channelCount(){return ut.channelCount},set channelCount(Et){ut.channelCount!==Et&&(yt&&dt(),{connectGraph:ht,disconnectGraph:dt}=tt(nt,Et,ut,lt,ct),yt&&ht()),ut.channelCount=Et},get channelCountMode(){return ut.channelCountMode},set channelCountMode(Et){if(Et==="clamped-max"||Et==="max")throw c();ut.channelCountMode=Et},get channelInterpretation(){return ut.channelInterpretation},set channelInterpretation(Et){ut.channelInterpretation=Et},get context(){return ut.context},get inputs(){return[ut]},get numberOfInputs(){return ut.numberOfInputs},get numberOfOutputs(){return ut.numberOfOutputs},get pan(){return lt.gain},addEventListener(...Et){return ut.addEventListener(Et[0],Et[1],Et[2])},dispatchEvent(...Et){return ut.dispatchEvent(Et[0])},removeEventListener(...Et){return ut.removeEventListener(Et[0],Et[1],Et[2])}};let yt=!1;const ft=()=>{ht(),yt=!0},mt=()=>{dt(),yt=!1};return d(interceptConnections(gt,ct),ft,mt)}},createNativeWaveShaperNodeFactory=(o,e,s,a,c,d,_)=>(b,k)=>{const $=b.createWaveShaper();if(d!==null&&d.name==="webkitAudioContext"&&b.createGain().gain.automationRate===void 0)return s(b,k);assignNativeAudioNodeOptions($,k);const j=k.curve===null||k.curve instanceof Float32Array?k.curve:new Float32Array(k.curve);if(j!==null&&j.length<2)throw e();assignNativeAudioNodeOption($,{curve:j},"curve"),assignNativeAudioNodeOption($,k,"oversample");let _e=null,et=!1;return _($,"curve",it=>()=>it.call($),it=>rt=>(it.call($,rt),et&&(a(rt)&&_e===null?_e=o(b,$):!a(rt)&&_e!==null&&(_e(),_e=null)),rt)),c($,()=>{et=!0,a($.curve)&&(_e=o(b,$))},()=>{et=!1,_e!==null&&(_e(),_e=null)})},createNativeWaveShaperNodeFakerFactory=(o,e,s,a,c)=>(d,$)=>{var j=$,{curve:_,oversample:b}=j,k=ln(j,["curve","oversample"]);const _e=d.createWaveShaper(),et=d.createWaveShaper();assignNativeAudioNodeOptions(_e,k),assignNativeAudioNodeOptions(et,k);const tt=s(d,wt(Ot({},k),{gain:1})),nt=s(d,wt(Ot({},k),{gain:-1})),it=s(d,wt(Ot({},k),{gain:1})),rt=s(d,wt(Ot({},k),{gain:-1}));let st=null,at=!1,ot=null;const pt={get bufferSize(){},get channelCount(){return _e.channelCount},set channelCount(lt){tt.channelCount=lt,nt.channelCount=lt,_e.channelCount=lt,it.channelCount=lt,et.channelCount=lt,rt.channelCount=lt},get channelCountMode(){return _e.channelCountMode},set channelCountMode(lt){tt.channelCountMode=lt,nt.channelCountMode=lt,_e.channelCountMode=lt,it.channelCountMode=lt,et.channelCountMode=lt,rt.channelCountMode=lt},get channelInterpretation(){return _e.channelInterpretation},set channelInterpretation(lt){tt.channelInterpretation=lt,nt.channelInterpretation=lt,_e.channelInterpretation=lt,it.channelInterpretation=lt,et.channelInterpretation=lt,rt.channelInterpretation=lt},get context(){return _e.context},get curve(){return ot},set curve(lt){if(lt!==null&<.length<2)throw e();if(lt===null)_e.curve=lt,et.curve=lt;else{const ht=lt.length,dt=new Float32Array(ht+2-ht%2),gt=new Float32Array(ht+2-ht%2);dt[0]=lt[0],gt[0]=-lt[ht-1];const yt=Math.ceil((ht+1)/2),ft=(ht+1)/2-1;for(let mt=1;mt{tt.connect(_e).connect(it),tt.connect(nt).connect(et).connect(rt).connect(it),at=!0,a(ot)&&(st=o(d,tt))},ut=()=>{tt.disconnect(_e),_e.disconnect(it),tt.disconnect(nt),nt.disconnect(et),et.disconnect(rt),rt.disconnect(it),at=!1,st!==null&&(st(),st=null)};return c(interceptConnections(pt,it),ct,ut)},createNotSupportedError=()=>new DOMException("","NotSupportedError"),DEFAULT_OPTIONS$5={numberOfChannels:1},createOfflineAudioContextConstructor=(o,e,s,a,c)=>class extends o{constructor(_,b,k){let $;if(typeof _=="number"&&b!==void 0&&k!==void 0)$={length:b,numberOfChannels:_,sampleRate:k};else if(typeof _=="object")$=_;else throw new Error("The given parameters are not valid.");const{length:j,numberOfChannels:_e,sampleRate:et}=Ot(Ot({},DEFAULT_OPTIONS$5),$),tt=a(_e,j,et);e(testPromiseSupport,()=>testPromiseSupport(tt))||tt.addEventListener("statechange",(()=>{let nt=0;const it=rt=>{this._state==="running"&&(nt>0?(tt.removeEventListener("statechange",it),rt.stopImmediatePropagation(),this._waitForThePromiseToSettle(rt)):nt+=1)};return it})()),super(tt,_e),this._length=j,this._nativeOfflineAudioContext=tt,this._state=null}get length(){return this._nativeOfflineAudioContext.length===void 0?this._length:this._nativeOfflineAudioContext.length}get state(){return this._state===null?this._nativeOfflineAudioContext.state:this._state}startRendering(){return this._state==="running"?Promise.reject(s()):(this._state="running",c(this.destination,this._nativeOfflineAudioContext).finally(()=>{this._state=null,deactivateAudioGraph(this)}))}_waitForThePromiseToSettle(_){this._state===null?this._nativeOfflineAudioContext.dispatchEvent(_):setTimeout(()=>this._waitForThePromiseToSettle(_))}},DEFAULT_OPTIONS$4={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",detune:0,frequency:440,periodicWave:void 0,type:"sine"},createOscillatorNodeConstructor=(o,e,s,a,c,d,_)=>class extends o{constructor(k,$){const j=c(k),_e=Ot(Ot({},DEFAULT_OPTIONS$4),$),et=s(j,_e),tt=d(j),nt=tt?a():null,it=k.sampleRate/2;super(k,!1,et,nt),this._detune=e(this,tt,et.detune,153600,-153600),this._frequency=e(this,tt,et.frequency,it,-it),this._nativeOscillatorNode=et,this._onended=null,this._oscillatorNodeRenderer=nt,this._oscillatorNodeRenderer!==null&&_e.periodicWave!==void 0&&(this._oscillatorNodeRenderer.periodicWave=_e.periodicWave)}get detune(){return this._detune}get frequency(){return this._frequency}get onended(){return this._onended}set onended(k){const $=typeof k=="function"?_(this,k):null;this._nativeOscillatorNode.onended=$;const j=this._nativeOscillatorNode.onended;this._onended=j!==null&&j===$?k:j}get type(){return this._nativeOscillatorNode.type}set type(k){this._nativeOscillatorNode.type=k,this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.periodicWave=null)}setPeriodicWave(k){this._nativeOscillatorNode.setPeriodicWave(k),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.periodicWave=k)}start(k=0){if(this._nativeOscillatorNode.start(k),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.start=k),this.context.state!=="closed"){setInternalStateToActive(this);const $=()=>{this._nativeOscillatorNode.removeEventListener("ended",$),isActiveAudioNode(this)&&setInternalStateToPassive(this)};this._nativeOscillatorNode.addEventListener("ended",$)}}stop(k=0){this._nativeOscillatorNode.stop(k),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.stop=k)}},createOscillatorNodeRendererFactory=(o,e,s,a,c)=>()=>{const d=new WeakMap;let _=null,b=null,k=null;const $=async(j,_e)=>{let et=s(j);const tt=isOwnedByContext(et,_e);if(!tt){const nt={channelCount:et.channelCount,channelCountMode:et.channelCountMode,channelInterpretation:et.channelInterpretation,detune:et.detune.value,frequency:et.frequency.value,periodicWave:_===null?void 0:_,type:et.type};et=e(_e,nt),b!==null&&et.start(b),k!==null&&et.stop(k)}return d.set(_e,et),tt?(await o(_e,j.detune,et.detune),await o(_e,j.frequency,et.frequency)):(await a(_e,j.detune,et.detune),await a(_e,j.frequency,et.frequency)),await c(j,_e,et),et};return{set periodicWave(j){_=j},set start(j){b=j},set stop(j){k=j},render(j,_e){const et=d.get(_e);return et!==void 0?Promise.resolve(et):$(j,_e)}}},DEFAULT_OPTIONS$3={channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",coneInnerAngle:360,coneOuterAngle:360,coneOuterGain:0,distanceModel:"inverse",maxDistance:1e4,orientationX:1,orientationY:0,orientationZ:0,panningModel:"equalpower",positionX:0,positionY:0,positionZ:0,refDistance:1,rolloffFactor:1},createPannerNodeConstructor=(o,e,s,a,c,d,_)=>class extends o{constructor(k,$){const j=c(k),_e=Ot(Ot({},DEFAULT_OPTIONS$3),$),et=s(j,_e),tt=d(j),nt=tt?a():null;super(k,!1,et,nt),this._nativePannerNode=et,this._orientationX=e(this,tt,et.orientationX,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT),this._orientationY=e(this,tt,et.orientationY,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT),this._orientationZ=e(this,tt,et.orientationZ,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT),this._positionX=e(this,tt,et.positionX,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT),this._positionY=e(this,tt,et.positionY,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT),this._positionZ=e(this,tt,et.positionZ,MOST_POSITIVE_SINGLE_FLOAT,MOST_NEGATIVE_SINGLE_FLOAT),_(this,1)}get coneInnerAngle(){return this._nativePannerNode.coneInnerAngle}set coneInnerAngle(k){this._nativePannerNode.coneInnerAngle=k}get coneOuterAngle(){return this._nativePannerNode.coneOuterAngle}set coneOuterAngle(k){this._nativePannerNode.coneOuterAngle=k}get coneOuterGain(){return this._nativePannerNode.coneOuterGain}set coneOuterGain(k){this._nativePannerNode.coneOuterGain=k}get distanceModel(){return this._nativePannerNode.distanceModel}set distanceModel(k){this._nativePannerNode.distanceModel=k}get maxDistance(){return this._nativePannerNode.maxDistance}set maxDistance(k){this._nativePannerNode.maxDistance=k}get orientationX(){return this._orientationX}get orientationY(){return this._orientationY}get orientationZ(){return this._orientationZ}get panningModel(){return this._nativePannerNode.panningModel}set panningModel(k){this._nativePannerNode.panningModel=k}get positionX(){return this._positionX}get positionY(){return this._positionY}get positionZ(){return this._positionZ}get refDistance(){return this._nativePannerNode.refDistance}set refDistance(k){this._nativePannerNode.refDistance=k}get rolloffFactor(){return this._nativePannerNode.rolloffFactor}set rolloffFactor(k){this._nativePannerNode.rolloffFactor=k}},createPannerNodeRendererFactory=(o,e,s,a,c,d,_,b,k,$)=>()=>{const j=new WeakMap;let _e=null;const et=async(tt,nt)=>{let it=null,rt=d(tt);const st={channelCount:rt.channelCount,channelCountMode:rt.channelCountMode,channelInterpretation:rt.channelInterpretation},at=wt(Ot({},st),{coneInnerAngle:rt.coneInnerAngle,coneOuterAngle:rt.coneOuterAngle,coneOuterGain:rt.coneOuterGain,distanceModel:rt.distanceModel,maxDistance:rt.maxDistance,panningModel:rt.panningModel,refDistance:rt.refDistance,rolloffFactor:rt.rolloffFactor}),ot=isOwnedByContext(rt,nt);if("bufferSize"in rt)it=a(nt,wt(Ot({},st),{gain:1}));else if(!ot){const pt=wt(Ot({},at),{orientationX:rt.orientationX.value,orientationY:rt.orientationY.value,orientationZ:rt.orientationZ.value,positionX:rt.positionX.value,positionY:rt.positionY.value,positionZ:rt.positionZ.value});rt=c(nt,pt)}if(j.set(nt,it===null?rt:it),it!==null){if(_e===null){if(_===null)throw new Error("Missing the native OfflineAudioContext constructor.");const yt=new _(6,tt.context.length,nt.sampleRate),ft=e(yt,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:6});ft.connect(yt.destination),_e=(async()=>{const mt=await Promise.all([tt.orientationX,tt.orientationY,tt.orientationZ,tt.positionX,tt.positionY,tt.positionZ].map(async(Et,vt)=>{const At=s(yt,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:vt===0?1:0});return await b(yt,Et,At.offset),At}));for(let Et=0;Et<6;Et+=1)mt[Et].connect(ft,0,Et),mt[Et].start(0);return $(yt)})()}const pt=await _e,ct=a(nt,wt(Ot({},st),{gain:1}));await k(tt,nt,ct);const ut=[];for(let yt=0;ytEt!==lt[vt])||mt.some((Et,vt)=>Et!==ht[vt])){lt=ft,ht=mt;const Et=yt/nt.sampleRate;dt.gain.setValueAtTime(0,Et),dt=a(nt,wt(Ot({},st),{gain:0})),gt=c(nt,wt(Ot({},at),{orientationX:lt[0],orientationY:lt[1],orientationZ:lt[2],positionX:ht[0],positionY:ht[1],positionZ:ht[2]})),dt.gain.setValueAtTime(1,Et),ct.connect(dt).connect(gt.inputs[0]),gt.connect(it)}}return it}return ot?(await o(nt,tt.orientationX,rt.orientationX),await o(nt,tt.orientationY,rt.orientationY),await o(nt,tt.orientationZ,rt.orientationZ),await o(nt,tt.positionX,rt.positionX),await o(nt,tt.positionY,rt.positionY),await o(nt,tt.positionZ,rt.positionZ)):(await b(nt,tt.orientationX,rt.orientationX),await b(nt,tt.orientationY,rt.orientationY),await b(nt,tt.orientationZ,rt.orientationZ),await b(nt,tt.positionX,rt.positionX),await b(nt,tt.positionY,rt.positionY),await b(nt,tt.positionZ,rt.positionZ)),isNativeAudioNodeFaker(rt)?await k(tt,nt,rt.inputs[0]):await k(tt,nt,rt),rt};return{render(tt,nt){const it=j.get(nt);return it!==void 0?Promise.resolve(it):et(tt,nt)}}},DEFAULT_OPTIONS$2={disableNormalization:!1},createPeriodicWaveConstructor=(o,e,s,a)=>class mr{constructor(d,_){const b=e(d),k=a(Ot(Ot({},DEFAULT_OPTIONS$2),_)),$=o(b,k);return s.add($),$}static[Symbol.hasInstance](d){return d!==null&&typeof d=="object"&&Object.getPrototypeOf(d)===mr.prototype||s.has(d)}},createRenderAutomation=(o,e)=>(s,a,c)=>(o(a).replay(c),e(a,s,c)),createRenderInputsOfAudioNode=(o,e,s)=>async(a,c,d)=>{const _=o(a);await Promise.all(_.activeInputs.map((b,k)=>Array.from(b).map(async([$,j])=>{const et=await e($).render($,c),tt=a.context.destination;!s($)&&(a!==tt||!s(a))&&et.connect(d,j,k)})).reduce((b,k)=>[...b,...k],[]))},createRenderInputsOfAudioParam=(o,e,s)=>async(a,c,d)=>{const _=e(a);await Promise.all(Array.from(_.activeInputs).map(async([b,k])=>{const j=await o(b).render(b,c);s(b)||j.connect(d,k)}))},createRenderNativeOfflineAudioContext=(o,e,s,a)=>c=>o(testPromiseSupport,()=>testPromiseSupport(c))?Promise.resolve(o(a,a)).then(d=>{if(!d){const _=s(c,512,0,1);c.oncomplete=()=>{_.onaudioprocess=null,_.disconnect()},_.onaudioprocess=()=>c.currentTime,_.connect(c.destination)}return c.startRendering()}):new Promise(d=>{const _=e(c,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});c.oncomplete=b=>{_.disconnect(),d(b.renderedBuffer)},_.connect(c.destination),c.startRendering()}),createSetActiveAudioWorkletNodeInputs=o=>(e,s)=>{o.set(e,s)},createSetAudioNodeTailTime=o=>(e,s)=>o.set(e,s),createStartRendering=(o,e,s,a,c,d,_,b)=>(k,$)=>s(k).render(k,$).then(()=>Promise.all(Array.from(a($)).map(j=>s(j).render(j,$)))).then(()=>c($)).then(j=>(typeof j.copyFromChannel!="function"?(_(j),wrapAudioBufferGetChannelDataMethod(j)):e(d,()=>d(j))||b(j),o.add(j),j)),DEFAULT_OPTIONS$1={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers",pan:0},createStereoPannerNodeConstructor=(o,e,s,a,c,d)=>class extends o{constructor(b,k){const $=c(b),j=Ot(Ot({},DEFAULT_OPTIONS$1),k),_e=s($,j),et=d($),tt=et?a():null;super(b,!1,_e,tt),this._pan=e(this,et,_e.pan)}get pan(){return this._pan}},createStereoPannerNodeRendererFactory=(o,e,s,a,c)=>()=>{const d=new WeakMap,_=async(b,k)=>{let $=s(b);const j=isOwnedByContext($,k);if(!j){const _e={channelCount:$.channelCount,channelCountMode:$.channelCountMode,channelInterpretation:$.channelInterpretation,pan:$.pan.value};$=e(k,_e)}return d.set(k,$),j?await o(k,b.pan,$.pan):await a(k,b.pan,$.pan),isNativeAudioNodeFaker($)?await c(b,k,$.inputs[0]):await c(b,k,$),$};return{render(b,k){const $=d.get(k);return $!==void 0?Promise.resolve($):_(b,k)}}},createTestAudioBufferConstructorSupport=o=>()=>{if(o===null)return!1;try{new o({length:1,sampleRate:44100})}catch{return!1}return!0},createTestAudioBufferCopyChannelMethodsSubarraySupport=o=>()=>{if(o===null)return!1;const s=new o(1,1,44100).createBuffer(1,1,44100);if(s.copyToChannel===void 0)return!0;const a=new Float32Array(2);try{s.copyFromChannel(a,0,0)}catch{return!1}return!0},createTestAudioContextCloseMethodSupport=o=>()=>{if(o===null)return!1;if(o.prototype!==void 0&&o.prototype.close!==void 0)return!0;const e=new o,s=e.close!==void 0;try{e.close()}catch{}return s},createTestAudioContextDecodeAudioDataMethodTypeErrorSupport=o=>()=>{if(o===null)return Promise.resolve(!1);const e=new o(1,1,44100);return new Promise(s=>{let a=!0;const c=_=>{a&&(a=!1,e.startRendering(),s(_ instanceof TypeError))};let d;try{d=e.decodeAudioData(null,()=>{},c)}catch(_){c(_)}d!==void 0&&d.catch(c)})},createTestAudioContextOptionsSupport=o=>()=>{if(o===null)return!1;let e;try{e=new o({latencyHint:"balanced"})}catch{return!1}return e.close(),!0},createTestAudioNodeConnectMethodSupport=o=>()=>{if(o===null)return!1;const s=new o(1,1,44100).createGain(),a=s.connect(s)===s;return s.disconnect(s),a},createTestAudioWorkletProcessorNoOutputsSupport=(o,e)=>async()=>{if(o===null)return!0;if(e===null)return!1;const s=new Blob(['let c,p;class A extends AudioWorkletProcessor{constructor(){super();this.port.onmessage=(e)=>{p=e.data;p.onmessage=()=>{p.postMessage(c);p.close()};this.port.postMessage(0)}}process(){c=1}}registerProcessor("a",A)'],{type:"application/javascript; charset=utf-8"}),a=new MessageChannel,c=new e(1,128,44100),d=URL.createObjectURL(s);let _=!1;try{await c.audioWorklet.addModule(d);const b=new o(c,"a",{numberOfOutputs:0}),k=c.createOscillator();await new Promise($=>{b.port.onmessage=()=>$(),b.port.postMessage(a.port2,[a.port2])}),b.port.onmessage=()=>_=!0,k.connect(b),k.start(0),await c.startRendering(),_=await new Promise($=>{a.port1.onmessage=({data:j})=>$(j===1),a.port1.postMessage(0)})}catch{}finally{a.port1.close(),URL.revokeObjectURL(d)}return _},createTestAudioWorkletProcessorPostMessageSupport=(o,e)=>async()=>{if(o===null)return!0;if(e===null)return!1;const s=new Blob(['class A extends AudioWorkletProcessor{process(i){this.port.postMessage(i,[i[0][0].buffer])}}registerProcessor("a",A)'],{type:"application/javascript; charset=utf-8"}),a=new e(1,128,44100),c=URL.createObjectURL(s);let d=!1,_=!1;try{await a.audioWorklet.addModule(c);const b=new o(a,"a",{numberOfOutputs:0}),k=a.createOscillator();b.port.onmessage=()=>d=!0,b.onprocessorerror=()=>_=!0,k.connect(b),k.start(0),await a.startRendering()}catch{}finally{URL.revokeObjectURL(c)}return d&&!_},createTestChannelMergerNodeChannelCountSupport=o=>()=>{if(o===null)return!1;const s=new o(1,1,44100).createChannelMerger();if(s.channelCountMode==="max")return!0;try{s.channelCount=2}catch{return!0}return!1},createTestConstantSourceNodeAccurateSchedulingSupport=o=>()=>{if(o===null)return!1;const e=new o(1,1,44100);return e.createConstantSource===void 0?!0:e.createConstantSource().offset.maxValue!==Number.POSITIVE_INFINITY},createTestConvolverNodeBufferReassignabilitySupport=o=>()=>{if(o===null)return!1;const e=new o(1,1,44100),s=e.createConvolver();s.buffer=e.createBuffer(1,1,e.sampleRate);try{s.buffer=e.createBuffer(1,1,e.sampleRate)}catch{return!1}return!0},createTestConvolverNodeChannelCountSupport=o=>()=>{if(o===null)return!1;const s=new o(1,1,44100).createConvolver();try{s.channelCount=1}catch{return!1}return!0},createTestIsSecureContextSupport=o=>()=>o!==null&&o.hasOwnProperty("isSecureContext"),createTestMediaStreamAudioSourceNodeMediaStreamWithoutAudioTrackSupport=o=>()=>{if(o===null)return!1;const e=new o;try{return e.createMediaStreamSource(new MediaStream),!1}catch{return!0}finally{e.close()}},createTestOfflineAudioContextCurrentTimeSupport=(o,e)=>()=>{if(e===null)return Promise.resolve(!1);const s=new e(1,1,44100),a=o(s,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});return new Promise(c=>{s.oncomplete=()=>{a.disconnect(),c(s.currentTime!==0)},s.startRendering()})},createTestStereoPannerNodeDefaultValueSupport=o=>()=>{if(o===null)return Promise.resolve(!1);const e=new o(1,1,44100);if(e.createStereoPanner===void 0||e.createConstantSource===void 0)return Promise.resolve(!0);const s=e.createConstantSource(),a=e.createStereoPanner();return s.channelCount=1,s.offset.value=1,a.channelCount=1,s.start(),s.connect(a).connect(e.destination),e.startRendering().then(c=>c.getChannelData(0)[0]!==1)},createUnknownError=()=>new DOMException("","UnknownError"),DEFAULT_OPTIONS={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",curve:null,oversample:"none"},createWaveShaperNodeConstructor=(o,e,s,a,c,d,_)=>class extends o{constructor(k,$){const j=c(k),_e=Ot(Ot({},DEFAULT_OPTIONS),$),et=s(j,_e),nt=d(j)?a():null;super(k,!0,et,nt),this._isCurveNullified=!1,this._nativeWaveShaperNode=et,_(this,1)}get curve(){return this._isCurveNullified?null:this._nativeWaveShaperNode.curve}set curve(k){if(k===null)this._isCurveNullified=!0,this._nativeWaveShaperNode.curve=new Float32Array([0,0]);else{if(k.length<2)throw e();this._isCurveNullified=!1,this._nativeWaveShaperNode.curve=k}}get oversample(){return this._nativeWaveShaperNode.oversample}set oversample(k){this._nativeWaveShaperNode.oversample=k}},createWaveShaperNodeRendererFactory=(o,e,s)=>()=>{const a=new WeakMap,c=async(d,_)=>{let b=e(d);if(!isOwnedByContext(b,_)){const $={channelCount:b.channelCount,channelCountMode:b.channelCountMode,channelInterpretation:b.channelInterpretation,curve:b.curve,oversample:b.oversample};b=o(_,$)}return a.set(_,b),isNativeAudioNodeFaker(b)?await s(d,_,b.inputs[0]):await s(d,_,b),b};return{render(d,_){const b=a.get(_);return b!==void 0?Promise.resolve(b):c(d,_)}}},createWindow=()=>typeof window=="undefined"?null:window,createWrapAudioBufferCopyChannelMethods=(o,e)=>s=>{s.copyFromChannel=(a,c,d=0)=>{const _=o(d),b=o(c);if(b>=s.numberOfChannels)throw e();const k=s.length,$=s.getChannelData(b),j=a.length;for(let _e=_<0?-_:0;_e+_{const _=o(d),b=o(c);if(b>=s.numberOfChannels)throw e();const k=s.length,$=s.getChannelData(b),j=a.length;for(let _e=_<0?-_:0;_e+_e=>{e.copyFromChannel=(s=>(a,c,d=0)=>{const _=o(d),b=o(c);if(_(a,c,d=0)=>{const _=o(d),b=o(c);if(_(e,s)=>{const a=s.createBuffer(1,1,44100);e.buffer===null&&(e.buffer=a),o(e,"buffer",c=>()=>{const d=c.call(e);return d===a?null:d},c=>d=>c.call(e,d===null?a:d))},createWrapChannelMergerNode=(o,e)=>(s,a)=>{a.channelCount=1,a.channelCountMode="explicit",Object.defineProperty(a,"channelCount",{get:()=>1,set:()=>{throw o()}}),Object.defineProperty(a,"channelCountMode",{get:()=>"explicit",set:()=>{throw o()}});const c=s.createBufferSource();e(a,()=>{const b=a.numberOfInputs;for(let k=0;kc.disconnect(a))},getFirstSample=(o,e,s)=>o.copyFromChannel===void 0?o.getChannelData(s)[0]:(o.copyFromChannel(e,s),e[0]),isDCCurve=o=>{if(o===null)return!1;const e=o.length;return e%2!==0?o[Math.floor(e/2)]!==0:o[e/2-1]+o[e/2]!==0},overwriteAccessors=(o,e,s,a)=>{let c=o;for(;!c.hasOwnProperty(e);)c=Object.getPrototypeOf(c);const{get:d,set:_}=Object.getOwnPropertyDescriptor(c,e);Object.defineProperty(o,e,{get:s(d),set:a(_)})},sanitizeAudioWorkletNodeOptions=o=>wt(Ot({},o),{outputChannelCount:o.outputChannelCount!==void 0?o.outputChannelCount:o.numberOfInputs===1&&o.numberOfOutputs===1?[o.channelCount]:Array.from({length:o.numberOfOutputs},()=>1)}),sanitizeChannelSplitterOptions=o=>wt(Ot({},o),{channelCount:o.numberOfOutputs}),sanitizePeriodicWaveOptions=o=>{const{imag:e,real:s}=o;return e===void 0?s===void 0?wt(Ot({},o),{imag:[0,0],real:[0,0]}):wt(Ot({},o),{imag:Array.from(s,()=>0),real:s}):s===void 0?wt(Ot({},o),{imag:e,real:Array.from(e,()=>0)}):wt(Ot({},o),{imag:e,real:s})},setValueAtTimeUntilPossible=(o,e,s)=>{try{o.setValueAtTime(e,s)}catch(a){if(a.code!==9)throw a;setValueAtTimeUntilPossible(o,e,s+1e-7)}},testAudioBufferSourceNodeStartMethodConsecutiveCallsSupport=o=>{const e=o.createBufferSource();e.start();try{e.start()}catch{return!0}return!1},testAudioBufferSourceNodeStartMethodOffsetClampingSupport=o=>{const e=o.createBufferSource(),s=o.createBuffer(1,1,44100);e.buffer=s;try{e.start(0,1)}catch{return!1}return!0},testAudioBufferSourceNodeStopMethodNullifiedBufferSupport=o=>{const e=o.createBufferSource();e.start();try{e.stop()}catch{return!1}return!0},testAudioScheduledSourceNodeStartMethodNegativeParametersSupport=o=>{const e=o.createOscillator();try{e.start(-1)}catch(s){return s instanceof RangeError}return!1},testAudioScheduledSourceNodeStopMethodConsecutiveCallsSupport=o=>{const e=o.createBuffer(1,1,44100),s=o.createBufferSource();s.buffer=e,s.start(),s.stop();try{return s.stop(),!0}catch{return!1}},testAudioScheduledSourceNodeStopMethodNegativeParametersSupport=o=>{const e=o.createOscillator();try{e.stop(-1)}catch(s){return s instanceof RangeError}return!1},testAudioWorkletNodeOptionsClonability=o=>{const{port1:e,port2:s}=new MessageChannel;try{e.postMessage(o)}finally{e.close(),s.close()}},testDomExceptionConstructorSupport=()=>{try{new DOMException}catch{return!1}return!0},testTransferablesSupport=()=>new Promise(o=>{const e=new ArrayBuffer(0),{port1:s,port2:a}=new MessageChannel;s.onmessage=({data:c})=>o(c!==null),a.postMessage(e,[e])}),wrapAudioBufferSourceNodeStartMethodOffsetClamping=o=>{o.start=(e=>(s=0,a=0,c)=>{const d=o.buffer,_=d===null?a:Math.min(d.duration,a);d!==null&&_>d.duration-.5/o.context.sampleRate?e.call(o,s,0,0):e.call(o,s,_,c)})(o.start)},wrapAudioScheduledSourceNodeStopMethodConsecutiveCalls=(o,e)=>{const s=e.createGain();o.connect(s);const a=(c=>()=>{c.call(o,s),o.removeEventListener("ended",a)})(o.disconnect);o.addEventListener("ended",a),interceptConnections(o,s),o.stop=(c=>{let d=!1;return(_=0)=>{if(d)try{c.call(o,_)}catch{s.gain.setValueAtTime(0,_)}else c.call(o,_),d=!0}})(o.stop)},wrapEventListener=(o,e)=>s=>{const a={value:o};return Object.defineProperties(s,{currentTarget:a,target:a}),typeof e=="function"?e.call(o,s):e.handleEvent.call(o,s)},addActiveInputConnectionToAudioNode=createAddActiveInputConnectionToAudioNode(insertElementInSet),addPassiveInputConnectionToAudioNode=createAddPassiveInputConnectionToAudioNode(insertElementInSet),deleteActiveInputConnectionToAudioNode=createDeleteActiveInputConnectionToAudioNode(pickElementFromSet),audioNodeTailTimeStore=new WeakMap,getAudioNodeTailTime=createGetAudioNodeTailTime(audioNodeTailTimeStore),cacheTestResult=createCacheTestResult(new Map,new WeakMap),window$1=createWindow(),createNativeAnalyserNode=createNativeAnalyserNodeFactory(cacheTestResult,createIndexSizeError),getAudioNodeRenderer=createGetAudioNodeRenderer(getAudioNodeConnections),renderInputsOfAudioNode=createRenderInputsOfAudioNode(getAudioNodeConnections,getAudioNodeRenderer,isPartOfACycle),createAnalyserNodeRenderer=createAnalyserNodeRendererFactory(createNativeAnalyserNode,getNativeAudioNode,renderInputsOfAudioNode),getNativeContext=createGetNativeContext(CONTEXT_STORE),nativeOfflineAudioContextConstructor=createNativeOfflineAudioContextConstructor(window$1),isNativeOfflineAudioContext=createIsNativeOfflineAudioContext(nativeOfflineAudioContextConstructor),audioParamAudioNodeStore=new WeakMap,eventTargetConstructor=createEventTargetConstructor(wrapEventListener),nativeAudioContextConstructor=createNativeAudioContextConstructor(window$1),isNativeAudioContext=createIsNativeAudioContext(nativeAudioContextConstructor),isNativeAudioNode=createIsNativeAudioNode(window$1),isNativeAudioParam=createIsNativeAudioParam(window$1),nativeAudioWorkletNodeConstructor=createNativeAudioWorkletNodeConstructor(window$1),audioNodeConstructor=createAudioNodeConstructor(createAddAudioNodeConnections(AUDIO_NODE_CONNECTIONS_STORE),createAddConnectionToAudioNode(addActiveInputConnectionToAudioNode,addPassiveInputConnectionToAudioNode,connectNativeAudioNodeToNativeAudioNode,deleteActiveInputConnectionToAudioNode,disconnectNativeAudioNodeFromNativeAudioNode,getAudioNodeConnections,getAudioNodeTailTime,getEventListenersOfAudioNode,getNativeAudioNode,insertElementInSet,isActiveAudioNode,isPartOfACycle,isPassiveAudioNode),cacheTestResult,createIncrementCycleCounterFactory(CYCLE_COUNTERS,disconnectNativeAudioNodeFromNativeAudioNode,getAudioNodeConnections,getNativeAudioNode,getNativeAudioParam,isActiveAudioNode),createIndexSizeError,createInvalidAccessError,createNotSupportedError,createDecrementCycleCounter(connectNativeAudioNodeToNativeAudioNode,CYCLE_COUNTERS,getAudioNodeConnections,getNativeAudioNode,getNativeAudioParam,getNativeContext,isActiveAudioNode,isNativeOfflineAudioContext),createDetectCycles(audioParamAudioNodeStore,getAudioNodeConnections,getValueForKey),eventTargetConstructor,getNativeContext,isNativeAudioContext,isNativeAudioNode,isNativeAudioParam,isNativeOfflineAudioContext,nativeAudioWorkletNodeConstructor),analyserNodeConstructor=createAnalyserNodeConstructor(audioNodeConstructor,createAnalyserNodeRenderer,createIndexSizeError,createNativeAnalyserNode,getNativeContext,isNativeOfflineAudioContext),audioBufferStore=new WeakSet,nativeAudioBufferConstructor=createNativeAudioBufferConstructor(window$1),convertNumberToUnsignedLong=createConvertNumberToUnsignedLong(new Uint32Array(1)),wrapAudioBufferCopyChannelMethods=createWrapAudioBufferCopyChannelMethods(convertNumberToUnsignedLong,createIndexSizeError),wrapAudioBufferCopyChannelMethodsOutOfBounds=createWrapAudioBufferCopyChannelMethodsOutOfBounds(convertNumberToUnsignedLong),audioBufferConstructor=createAudioBufferConstructor(audioBufferStore,cacheTestResult,createNotSupportedError,nativeAudioBufferConstructor,nativeOfflineAudioContextConstructor,createTestAudioBufferConstructorSupport(nativeAudioBufferConstructor),wrapAudioBufferCopyChannelMethods,wrapAudioBufferCopyChannelMethodsOutOfBounds),addSilentConnection=createAddSilentConnection(createNativeGainNode),renderInputsOfAudioParam=createRenderInputsOfAudioParam(getAudioNodeRenderer,getAudioParamConnections,isPartOfACycle),connectAudioParam=createConnectAudioParam(renderInputsOfAudioParam),createNativeAudioBufferSourceNode=createNativeAudioBufferSourceNodeFactory(addSilentConnection,cacheTestResult,testAudioBufferSourceNodeStartMethodConsecutiveCallsSupport,testAudioBufferSourceNodeStartMethodOffsetClampingSupport,testAudioBufferSourceNodeStopMethodNullifiedBufferSupport,testAudioScheduledSourceNodeStartMethodNegativeParametersSupport,testAudioScheduledSourceNodeStopMethodConsecutiveCallsSupport,testAudioScheduledSourceNodeStopMethodNegativeParametersSupport,wrapAudioBufferSourceNodeStartMethodOffsetClamping,createWrapAudioBufferSourceNodeStopMethodNullifiedBuffer(overwriteAccessors),wrapAudioScheduledSourceNodeStopMethodConsecutiveCalls),renderAutomation=createRenderAutomation(createGetAudioParamRenderer(getAudioParamConnections),renderInputsOfAudioParam),createAudioBufferSourceNodeRenderer=createAudioBufferSourceNodeRendererFactory(connectAudioParam,createNativeAudioBufferSourceNode,getNativeAudioNode,renderAutomation,renderInputsOfAudioNode),createAudioParam=createAudioParamFactory(createAddAudioParamConnections(AUDIO_PARAM_CONNECTIONS_STORE),audioParamAudioNodeStore,AUDIO_PARAM_STORE,createAudioParamRenderer,createCancelAndHoldAutomationEvent,createCancelScheduledValuesAutomationEvent,createExponentialRampToValueAutomationEvent,createLinearRampToValueAutomationEvent,createSetTargetAutomationEvent,createSetValueAutomationEvent,createSetValueCurveAutomationEvent,nativeAudioContextConstructor,setValueAtTimeUntilPossible),audioBufferSourceNodeConstructor=createAudioBufferSourceNodeConstructor(audioNodeConstructor,createAudioBufferSourceNodeRenderer,createAudioParam,createInvalidStateError,createNativeAudioBufferSourceNode,getNativeContext,isNativeOfflineAudioContext,wrapEventListener),audioDestinationNodeConstructor=createAudioDestinationNodeConstructor(audioNodeConstructor,createAudioDestinationNodeRenderer,createIndexSizeError,createInvalidStateError,createNativeAudioDestinationNodeFactory(createNativeGainNode,overwriteAccessors),getNativeContext,isNativeOfflineAudioContext,renderInputsOfAudioNode),createBiquadFilterNodeRenderer=createBiquadFilterNodeRendererFactory(connectAudioParam,createNativeBiquadFilterNode,getNativeAudioNode,renderAutomation,renderInputsOfAudioNode),setAudioNodeTailTime=createSetAudioNodeTailTime(audioNodeTailTimeStore),biquadFilterNodeConstructor=createBiquadFilterNodeConstructor(audioNodeConstructor,createAudioParam,createBiquadFilterNodeRenderer,createInvalidAccessError,createNativeBiquadFilterNode,getNativeContext,isNativeOfflineAudioContext,setAudioNodeTailTime),monitorConnections=createMonitorConnections(insertElementInSet,isNativeAudioNode),wrapChannelMergerNode=createWrapChannelMergerNode(createInvalidStateError,monitorConnections),createNativeChannelMergerNode=createNativeChannelMergerNodeFactory(nativeAudioContextConstructor,wrapChannelMergerNode),createChannelMergerNodeRenderer=createChannelMergerNodeRendererFactory(createNativeChannelMergerNode,getNativeAudioNode,renderInputsOfAudioNode),channelMergerNodeConstructor=createChannelMergerNodeConstructor(audioNodeConstructor,createChannelMergerNodeRenderer,createNativeChannelMergerNode,getNativeContext,isNativeOfflineAudioContext),createChannelSplitterNodeRenderer=createChannelSplitterNodeRendererFactory(createNativeChannelSplitterNode,getNativeAudioNode,renderInputsOfAudioNode),channelSplitterNodeConstructor=createChannelSplitterNodeConstructor(audioNodeConstructor,createChannelSplitterNodeRenderer,createNativeChannelSplitterNode,getNativeContext,isNativeOfflineAudioContext,sanitizeChannelSplitterOptions),createNativeConstantSourceNodeFaker=createNativeConstantSourceNodeFakerFactory(addSilentConnection,createNativeAudioBufferSourceNode,createNativeGainNode,monitorConnections),createNativeConstantSourceNode=createNativeConstantSourceNodeFactory(addSilentConnection,cacheTestResult,createNativeConstantSourceNodeFaker,testAudioScheduledSourceNodeStartMethodNegativeParametersSupport,testAudioScheduledSourceNodeStopMethodNegativeParametersSupport),createConstantSourceNodeRenderer=createConstantSourceNodeRendererFactory(connectAudioParam,createNativeConstantSourceNode,getNativeAudioNode,renderAutomation,renderInputsOfAudioNode),constantSourceNodeConstructor=createConstantSourceNodeConstructor(audioNodeConstructor,createAudioParam,createConstantSourceNodeRenderer,createNativeConstantSourceNode,getNativeContext,isNativeOfflineAudioContext,wrapEventListener),createNativeConvolverNode=createNativeConvolverNodeFactory(createNotSupportedError,overwriteAccessors),createConvolverNodeRenderer=createConvolverNodeRendererFactory(createNativeConvolverNode,getNativeAudioNode,renderInputsOfAudioNode),convolverNodeConstructor=createConvolverNodeConstructor(audioNodeConstructor,createConvolverNodeRenderer,createNativeConvolverNode,getNativeContext,isNativeOfflineAudioContext,setAudioNodeTailTime),createDelayNodeRenderer=createDelayNodeRendererFactory(connectAudioParam,createNativeDelayNode,getNativeAudioNode,renderAutomation,renderInputsOfAudioNode),delayNodeConstructor=createDelayNodeConstructor(audioNodeConstructor,createAudioParam,createDelayNodeRenderer,createNativeDelayNode,getNativeContext,isNativeOfflineAudioContext,setAudioNodeTailTime),createNativeDynamicsCompressorNode=createNativeDynamicsCompressorNodeFactory(createNotSupportedError),createDynamicsCompressorNodeRenderer=createDynamicsCompressorNodeRendererFactory(connectAudioParam,createNativeDynamicsCompressorNode,getNativeAudioNode,renderAutomation,renderInputsOfAudioNode),dynamicsCompressorNodeConstructor=createDynamicsCompressorNodeConstructor(audioNodeConstructor,createAudioParam,createDynamicsCompressorNodeRenderer,createNativeDynamicsCompressorNode,createNotSupportedError,getNativeContext,isNativeOfflineAudioContext,setAudioNodeTailTime),createGainNodeRenderer=createGainNodeRendererFactory(connectAudioParam,createNativeGainNode,getNativeAudioNode,renderAutomation,renderInputsOfAudioNode),gainNodeConstructor=createGainNodeConstructor(audioNodeConstructor,createAudioParam,createGainNodeRenderer,createNativeGainNode,getNativeContext,isNativeOfflineAudioContext),createNativeIIRFilterNodeFaker=createNativeIIRFilterNodeFakerFactory(createInvalidAccessError,createInvalidStateError,createNativeScriptProcessorNode,createNotSupportedError),renderNativeOfflineAudioContext=createRenderNativeOfflineAudioContext(cacheTestResult,createNativeGainNode,createNativeScriptProcessorNode,createTestOfflineAudioContextCurrentTimeSupport(createNativeGainNode,nativeOfflineAudioContextConstructor)),createIIRFilterNodeRenderer=createIIRFilterNodeRendererFactory(createNativeAudioBufferSourceNode,getNativeAudioNode,nativeOfflineAudioContextConstructor,renderInputsOfAudioNode,renderNativeOfflineAudioContext),createNativeIIRFilterNode=createNativeIIRFilterNodeFactory(createNativeIIRFilterNodeFaker),iIRFilterNodeConstructor=createIIRFilterNodeConstructor(audioNodeConstructor,createNativeIIRFilterNode,createIIRFilterNodeRenderer,getNativeContext,isNativeOfflineAudioContext,setAudioNodeTailTime),createAudioListener=createAudioListenerFactory(createAudioParam,createNativeChannelMergerNode,createNativeConstantSourceNode,createNativeScriptProcessorNode,createNotSupportedError,getFirstSample,isNativeOfflineAudioContext,overwriteAccessors),unrenderedAudioWorkletNodeStore=new WeakMap,minimalBaseAudioContextConstructor=createMinimalBaseAudioContextConstructor(audioDestinationNodeConstructor,createAudioListener,eventTargetConstructor,isNativeOfflineAudioContext,unrenderedAudioWorkletNodeStore,wrapEventListener),createNativeOscillatorNode=createNativeOscillatorNodeFactory(addSilentConnection,cacheTestResult,testAudioScheduledSourceNodeStartMethodNegativeParametersSupport,testAudioScheduledSourceNodeStopMethodConsecutiveCallsSupport,testAudioScheduledSourceNodeStopMethodNegativeParametersSupport,wrapAudioScheduledSourceNodeStopMethodConsecutiveCalls),createOscillatorNodeRenderer=createOscillatorNodeRendererFactory(connectAudioParam,createNativeOscillatorNode,getNativeAudioNode,renderAutomation,renderInputsOfAudioNode),oscillatorNodeConstructor=createOscillatorNodeConstructor(audioNodeConstructor,createAudioParam,createNativeOscillatorNode,createOscillatorNodeRenderer,getNativeContext,isNativeOfflineAudioContext,wrapEventListener),createConnectedNativeAudioBufferSourceNode=createConnectedNativeAudioBufferSourceNodeFactory(createNativeAudioBufferSourceNode),createNativeWaveShaperNodeFaker=createNativeWaveShaperNodeFakerFactory(createConnectedNativeAudioBufferSourceNode,createInvalidStateError,createNativeGainNode,isDCCurve,monitorConnections),createNativeWaveShaperNode=createNativeWaveShaperNodeFactory(createConnectedNativeAudioBufferSourceNode,createInvalidStateError,createNativeWaveShaperNodeFaker,isDCCurve,monitorConnections,nativeAudioContextConstructor,overwriteAccessors),createNativePannerNodeFaker=createNativePannerNodeFakerFactory(connectNativeAudioNodeToNativeAudioNode,createInvalidStateError,createNativeChannelMergerNode,createNativeGainNode,createNativeScriptProcessorNode,createNativeWaveShaperNode,createNotSupportedError,disconnectNativeAudioNodeFromNativeAudioNode,getFirstSample,monitorConnections),createNativePannerNode=createNativePannerNodeFactory(createNativePannerNodeFaker),createPannerNodeRenderer=createPannerNodeRendererFactory(connectAudioParam,createNativeChannelMergerNode,createNativeConstantSourceNode,createNativeGainNode,createNativePannerNode,getNativeAudioNode,nativeOfflineAudioContextConstructor,renderAutomation,renderInputsOfAudioNode,renderNativeOfflineAudioContext),pannerNodeConstructor=createPannerNodeConstructor(audioNodeConstructor,createAudioParam,createNativePannerNode,createPannerNodeRenderer,getNativeContext,isNativeOfflineAudioContext,setAudioNodeTailTime),createNativePeriodicWave=createNativePeriodicWaveFactory(createIndexSizeError),periodicWaveConstructor=createPeriodicWaveConstructor(createNativePeriodicWave,getNativeContext,new WeakSet,sanitizePeriodicWaveOptions),nativeStereoPannerNodeFakerFactory=createNativeStereoPannerNodeFakerFactory(createNativeChannelMergerNode,createNativeChannelSplitterNode,createNativeGainNode,createNativeWaveShaperNode,createNotSupportedError,monitorConnections),createNativeStereoPannerNode=createNativeStereoPannerNodeFactory(nativeStereoPannerNodeFakerFactory,createNotSupportedError),createStereoPannerNodeRenderer=createStereoPannerNodeRendererFactory(connectAudioParam,createNativeStereoPannerNode,getNativeAudioNode,renderAutomation,renderInputsOfAudioNode),stereoPannerNodeConstructor=createStereoPannerNodeConstructor(audioNodeConstructor,createAudioParam,createNativeStereoPannerNode,createStereoPannerNodeRenderer,getNativeContext,isNativeOfflineAudioContext),createWaveShaperNodeRenderer=createWaveShaperNodeRendererFactory(createNativeWaveShaperNode,getNativeAudioNode,renderInputsOfAudioNode),waveShaperNodeConstructor=createWaveShaperNodeConstructor(audioNodeConstructor,createInvalidStateError,createNativeWaveShaperNode,createWaveShaperNodeRenderer,getNativeContext,isNativeOfflineAudioContext,setAudioNodeTailTime),isSecureContext=createIsSecureContext(window$1),exposeCurrentFrameAndCurrentTime=createExposeCurrentFrameAndCurrentTime(window$1),backupOfflineAudioContextStore=new WeakMap,getOrCreateBackupOfflineAudioContext=createGetOrCreateBackupOfflineAudioContext(backupOfflineAudioContextStore,nativeOfflineAudioContextConstructor),addAudioWorkletModule=isSecureContext?createAddAudioWorkletModule(cacheTestResult,createNotSupportedError,createEvaluateSource(window$1),exposeCurrentFrameAndCurrentTime,createFetchSource(createAbortError),getNativeContext,getOrCreateBackupOfflineAudioContext,isNativeOfflineAudioContext,nativeAudioWorkletNodeConstructor,new WeakMap,new WeakMap,createTestAudioWorkletProcessorPostMessageSupport(nativeAudioWorkletNodeConstructor,nativeOfflineAudioContextConstructor),window$1):void 0,isNativeContext=createIsNativeContext(isNativeAudioContext,isNativeOfflineAudioContext),decodeAudioData=createDecodeAudioData(audioBufferStore,cacheTestResult,createDataCloneError,createEncodingError,new WeakSet,getNativeContext,isNativeContext,testAudioBufferCopyChannelMethodsOutOfBoundsSupport,testPromiseSupport,wrapAudioBufferCopyChannelMethods,wrapAudioBufferCopyChannelMethodsOutOfBounds),baseAudioContextConstructor=createBaseAudioContextConstructor(addAudioWorkletModule,analyserNodeConstructor,audioBufferConstructor,audioBufferSourceNodeConstructor,biquadFilterNodeConstructor,channelMergerNodeConstructor,channelSplitterNodeConstructor,constantSourceNodeConstructor,convolverNodeConstructor,decodeAudioData,delayNodeConstructor,dynamicsCompressorNodeConstructor,gainNodeConstructor,iIRFilterNodeConstructor,minimalBaseAudioContextConstructor,oscillatorNodeConstructor,pannerNodeConstructor,periodicWaveConstructor,stereoPannerNodeConstructor,waveShaperNodeConstructor),mediaElementAudioSourceNodeConstructor=createMediaElementAudioSourceNodeConstructor(audioNodeConstructor,createNativeMediaElementAudioSourceNode,getNativeContext,isNativeOfflineAudioContext),mediaStreamAudioDestinationNodeConstructor=createMediaStreamAudioDestinationNodeConstructor(audioNodeConstructor,createNativeMediaStreamAudioDestinationNode,getNativeContext,isNativeOfflineAudioContext),mediaStreamAudioSourceNodeConstructor=createMediaStreamAudioSourceNodeConstructor(audioNodeConstructor,createNativeMediaStreamAudioSourceNode,getNativeContext,isNativeOfflineAudioContext),createNativeMediaStreamTrackAudioSourceNode=createNativeMediaStreamTrackAudioSourceNodeFactory(createInvalidStateError,isNativeOfflineAudioContext),mediaStreamTrackAudioSourceNodeConstructor=createMediaStreamTrackAudioSourceNodeConstructor(audioNodeConstructor,createNativeMediaStreamTrackAudioSourceNode,getNativeContext),audioContextConstructor=createAudioContextConstructor(baseAudioContextConstructor,createInvalidStateError,createNotSupportedError,createUnknownError,mediaElementAudioSourceNodeConstructor,mediaStreamAudioDestinationNodeConstructor,mediaStreamAudioSourceNodeConstructor,mediaStreamTrackAudioSourceNodeConstructor,nativeAudioContextConstructor),getUnrenderedAudioWorkletNodes=createGetUnrenderedAudioWorkletNodes(unrenderedAudioWorkletNodeStore),addUnrenderedAudioWorkletNode=createAddUnrenderedAudioWorkletNode(getUnrenderedAudioWorkletNodes),connectMultipleOutputs=createConnectMultipleOutputs(createIndexSizeError),deleteUnrenderedAudioWorkletNode=createDeleteUnrenderedAudioWorkletNode(getUnrenderedAudioWorkletNodes),disconnectMultipleOutputs=createDisconnectMultipleOutputs(createIndexSizeError),activeAudioWorkletNodeInputsStore=new WeakMap,getActiveAudioWorkletNodeInputs=createGetActiveAudioWorkletNodeInputs(activeAudioWorkletNodeInputsStore,getValueForKey),createNativeAudioWorkletNodeFaker=createNativeAudioWorkletNodeFakerFactory(connectMultipleOutputs,createIndexSizeError,createInvalidStateError,createNativeChannelMergerNode,createNativeChannelSplitterNode,createNativeConstantSourceNode,createNativeGainNode,createNativeScriptProcessorNode,createNotSupportedError,disconnectMultipleOutputs,exposeCurrentFrameAndCurrentTime,getActiveAudioWorkletNodeInputs,monitorConnections),createNativeAudioWorkletNode=createNativeAudioWorkletNodeFactory(createInvalidStateError,createNativeAudioWorkletNodeFaker,createNativeGainNode,createNotSupportedError,monitorConnections),createAudioWorkletNodeRenderer=createAudioWorkletNodeRendererFactory(connectAudioParam,connectMultipleOutputs,createNativeAudioBufferSourceNode,createNativeChannelMergerNode,createNativeChannelSplitterNode,createNativeConstantSourceNode,createNativeGainNode,deleteUnrenderedAudioWorkletNode,disconnectMultipleOutputs,exposeCurrentFrameAndCurrentTime,getNativeAudioNode,nativeAudioWorkletNodeConstructor,nativeOfflineAudioContextConstructor,renderAutomation,renderInputsOfAudioNode,renderNativeOfflineAudioContext),getBackupOfflineAudioContext=createGetBackupOfflineAudioContext(backupOfflineAudioContextStore),setActiveAudioWorkletNodeInputs=createSetActiveAudioWorkletNodeInputs(activeAudioWorkletNodeInputsStore),audioWorkletNodeConstructor=isSecureContext?createAudioWorkletNodeConstructor(addUnrenderedAudioWorkletNode,audioNodeConstructor,createAudioParam,createAudioWorkletNodeRenderer,createNativeAudioWorkletNode,getAudioNodeConnections,getBackupOfflineAudioContext,getNativeContext,isNativeOfflineAudioContext,nativeAudioWorkletNodeConstructor,sanitizeAudioWorkletNodeOptions,setActiveAudioWorkletNodeInputs,testAudioWorkletNodeOptionsClonability,wrapEventListener):void 0,createNativeOfflineAudioContext=createCreateNativeOfflineAudioContext(createNotSupportedError,nativeOfflineAudioContextConstructor),startRendering=createStartRendering(audioBufferStore,cacheTestResult,getAudioNodeRenderer,getUnrenderedAudioWorkletNodes,renderNativeOfflineAudioContext,testAudioBufferCopyChannelMethodsOutOfBoundsSupport,wrapAudioBufferCopyChannelMethods,wrapAudioBufferCopyChannelMethodsOutOfBounds),offlineAudioContextConstructor=createOfflineAudioContextConstructor(baseAudioContextConstructor,cacheTestResult,createInvalidStateError,createNativeOfflineAudioContext,startRendering),isAnyAudioContext=createIsAnyAudioContext(CONTEXT_STORE,isNativeAudioContext),isAnyAudioNode=createIsAnyAudioNode(AUDIO_NODE_STORE,isNativeAudioNode),isAnyAudioParam=createIsAnyAudioParam(AUDIO_PARAM_STORE,isNativeAudioParam),isAnyOfflineAudioContext=createIsAnyOfflineAudioContext(CONTEXT_STORE,isNativeOfflineAudioContext),isSupported=()=>createIsSupportedPromise(cacheTestResult,createTestAudioBufferCopyChannelMethodsSubarraySupport(nativeOfflineAudioContextConstructor),createTestAudioContextCloseMethodSupport(nativeAudioContextConstructor),createTestAudioContextDecodeAudioDataMethodTypeErrorSupport(nativeOfflineAudioContextConstructor),createTestAudioContextOptionsSupport(nativeAudioContextConstructor),createTestAudioNodeConnectMethodSupport(nativeOfflineAudioContextConstructor),createTestAudioWorkletProcessorNoOutputsSupport(nativeAudioWorkletNodeConstructor,nativeOfflineAudioContextConstructor),createTestChannelMergerNodeChannelCountSupport(nativeOfflineAudioContextConstructor),createTestConstantSourceNodeAccurateSchedulingSupport(nativeOfflineAudioContextConstructor),createTestConvolverNodeBufferReassignabilitySupport(nativeOfflineAudioContextConstructor),createTestConvolverNodeChannelCountSupport(nativeOfflineAudioContextConstructor),testDomExceptionConstructorSupport,createTestIsSecureContextSupport(window$1),createTestMediaStreamAudioSourceNodeMediaStreamWithoutAudioTrackSupport(nativeAudioContextConstructor),createTestStereoPannerNodeDefaultValueSupport(nativeOfflineAudioContextConstructor),testTransferablesSupport);function assert(o,e){if(!o)throw new Error(e)}function assertRange(o,e,s=1/0){if(!(e<=o&&o<=s))throw new RangeError(`Value must be within [${e}, ${s}], got: ${o}`)}function assertContextRunning(o){!o.isOffline&&o.state!=="running"&&warn('The AudioContext is "suspended". Invoke Tone.start() from a user action to start the audio.')}let defaultLogger=console;function setLogger(o){defaultLogger=o}function log(...o){defaultLogger.log(...o)}function warn(...o){defaultLogger.warn(...o)}var Debug=Object.freeze(Object.defineProperty({__proto__:null,assert,assertRange,assertContextRunning,setLogger,log,warn},Symbol.toStringTag,{value:"Module"}));function isUndef(o){return typeof o=="undefined"}function isDefined(o){return!isUndef(o)}function isFunction(o){return typeof o=="function"}function isNumber(o){return typeof o=="number"}function isObject(o){return Object.prototype.toString.call(o)==="[object Object]"&&o.constructor===Object}function isBoolean(o){return typeof o=="boolean"}function isArray(o){return Array.isArray(o)}function isString(o){return typeof o=="string"}function isNote$2(o){return isString(o)&&/^([a-g]{1}(?:b|#|x|bb)?)(-?[0-9]+)/i.test(o)}function createAudioContext(o){return new audioContextConstructor(o)}function createOfflineAudioContext(o,e,s){return new offlineAudioContextConstructor(o,e,s)}const theWindow=typeof self=="object"?self:null,hasAudioContext=theWindow&&(theWindow.hasOwnProperty("AudioContext")||theWindow.hasOwnProperty("webkitAudioContext"));function createAudioWorkletNode(o,e,s){return assert(isDefined(audioWorkletNodeConstructor),"This node only works in a secure context (https or localhost)"),new audioWorkletNodeConstructor(o,e,s)}/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any @@ -264,37 +264,37 @@ PERFORMANCE OF THIS SOFTWARE. return val; } } -`;registerProcessor(workletName,bitCrusherWorklet);class BitCrusher extends Effect{constructor(){super(optionsFromArguments(BitCrusher.getDefaults(),arguments,["bits"])),this.name="BitCrusher";const e=optionsFromArguments(BitCrusher.getDefaults(),arguments,["bits"]);this._bitCrusherWorklet=new BitCrusherWorklet({context:this.context,bits:e.bits}),this.connectEffect(this._bitCrusherWorklet),this.bits=this._bitCrusherWorklet.bits}static getDefaults(){return Object.assign(Effect.getDefaults(),{bits:4})}dispose(){return super.dispose(),this._bitCrusherWorklet.dispose(),this}}class BitCrusherWorklet extends ToneAudioWorklet{constructor(){super(optionsFromArguments(BitCrusherWorklet.getDefaults(),arguments)),this.name="BitCrusherWorklet";const e=optionsFromArguments(BitCrusherWorklet.getDefaults(),arguments);this.input=new Gain$1({context:this.context}),this.output=new Gain$1({context:this.context}),this.bits=new Param({context:this.context,value:e.bits,units:"positive",minValue:1,maxValue:16,param:this._dummyParam,swappable:!0})}static getDefaults(){return Object.assign(ToneAudioWorklet.getDefaults(),{bits:12})}_audioWorkletName(){return workletName}onReady(e){connectSeries(this.input,e,this.output);const s=e.parameters.get("bits");this.bits.setParam(s)}dispose(){return super.dispose(),this.input.dispose(),this.output.dispose(),this.bits.dispose(),this}}class Chebyshev extends Effect{constructor(){super(optionsFromArguments(Chebyshev.getDefaults(),arguments,["order"])),this.name="Chebyshev";const e=optionsFromArguments(Chebyshev.getDefaults(),arguments,["order"]);this._shaper=new WaveShaper({context:this.context,length:4096}),this._order=e.order,this.connectEffect(this._shaper),this.order=e.order,this.oversample=e.oversample}static getDefaults(){return Object.assign(Effect.getDefaults(),{order:1,oversample:"none"})}_getCoefficient(e,s,a){return a.has(s)||(s===0?a.set(s,0):s===1?a.set(s,e):a.set(s,2*e*this._getCoefficient(e,s-1,a)-this._getCoefficient(e,s-2,a))),a.get(s)}get order(){return this._order}set order(e){this._order=e,this._shaper.setMap(s=>this._getCoefficient(s,e,new Map))}get oversample(){return this._shaper.oversample}set oversample(e){this._shaper.oversample=e}dispose(){return super.dispose(),this._shaper.dispose(),this}}class Split extends ToneAudioNode{constructor(){super(optionsFromArguments(Split.getDefaults(),arguments,["channels"])),this.name="Split";const e=optionsFromArguments(Split.getDefaults(),arguments,["channels"]);this._splitter=this.input=this.output=this.context.createChannelSplitter(e.channels),this._internalChannels=[this._splitter]}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{channels:2})}dispose(){return super.dispose(),this._splitter.disconnect(),this}}class Merge extends ToneAudioNode{constructor(){super(optionsFromArguments(Merge.getDefaults(),arguments,["channels"])),this.name="Merge";const e=optionsFromArguments(Merge.getDefaults(),arguments,["channels"]);this._merger=this.output=this.input=this.context.createChannelMerger(e.channels)}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{channels:2})}dispose(){return super.dispose(),this._merger.disconnect(),this}}class StereoEffect extends ToneAudioNode{constructor(e){super(e),this.name="StereoEffect",this.input=new Gain$1({context:this.context}),this.input.channelCount=2,this.input.channelCountMode="explicit",this._dryWet=this.output=new CrossFade({context:this.context,fade:e.wet}),this.wet=this._dryWet.fade,this._split=new Split({context:this.context,channels:2}),this._merge=new Merge({context:this.context,channels:2}),this.input.connect(this._split),this.input.connect(this._dryWet.a),this._merge.connect(this._dryWet.b),readOnly$1(this,["wet"])}connectEffectLeft(...e){this._split.connect(e[0],0,0),connectSeries(...e),connect(e[e.length-1],this._merge,0,0)}connectEffectRight(...e){this._split.connect(e[0],1,0),connectSeries(...e),connect(e[e.length-1],this._merge,0,1)}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{wet:1})}dispose(){return super.dispose(),this._dryWet.dispose(),this._split.dispose(),this._merge.dispose(),this}}class StereoFeedbackEffect extends StereoEffect{constructor(e){super(e),this.feedback=new Signal({context:this.context,value:e.feedback,units:"normalRange"}),this._feedbackL=new Gain$1({context:this.context}),this._feedbackR=new Gain$1({context:this.context}),this._feedbackSplit=new Split({context:this.context,channels:2}),this._feedbackMerge=new Merge({context:this.context,channels:2}),this._merge.connect(this._feedbackSplit),this._feedbackMerge.connect(this._split),this._feedbackSplit.connect(this._feedbackL,0,0),this._feedbackL.connect(this._feedbackMerge,0,0),this._feedbackSplit.connect(this._feedbackR,1,0),this._feedbackR.connect(this._feedbackMerge,0,1),this.feedback.fan(this._feedbackL.gain,this._feedbackR.gain),readOnly$1(this,["feedback"])}static getDefaults(){return Object.assign(StereoEffect.getDefaults(),{feedback:.5})}dispose(){return super.dispose(),this.feedback.dispose(),this._feedbackL.dispose(),this._feedbackR.dispose(),this._feedbackSplit.dispose(),this._feedbackMerge.dispose(),this}}class Chorus extends StereoFeedbackEffect{constructor(){super(optionsFromArguments(Chorus.getDefaults(),arguments,["frequency","delayTime","depth"])),this.name="Chorus";const e=optionsFromArguments(Chorus.getDefaults(),arguments,["frequency","delayTime","depth"]);this._depth=e.depth,this._delayTime=e.delayTime/1e3,this._lfoL=new LFO({context:this.context,frequency:e.frequency,min:0,max:1}),this._lfoR=new LFO({context:this.context,frequency:e.frequency,min:0,max:1,phase:180}),this._delayNodeL=new Delay({context:this.context}),this._delayNodeR=new Delay({context:this.context}),this.frequency=this._lfoL.frequency,readOnly$1(this,["frequency"]),this._lfoL.frequency.connect(this._lfoR.frequency),this.connectEffectLeft(this._delayNodeL),this.connectEffectRight(this._delayNodeR),this._lfoL.connect(this._delayNodeL.delayTime),this._lfoR.connect(this._delayNodeR.delayTime),this.depth=this._depth,this.type=e.type,this.spread=e.spread}static getDefaults(){return Object.assign(StereoFeedbackEffect.getDefaults(),{frequency:1.5,delayTime:3.5,depth:.7,type:"sine",spread:180,feedback:0,wet:.5})}get depth(){return this._depth}set depth(e){this._depth=e;const s=this._delayTime*e;this._lfoL.min=Math.max(this._delayTime-s,0),this._lfoL.max=this._delayTime+s,this._lfoR.min=Math.max(this._delayTime-s,0),this._lfoR.max=this._delayTime+s}get delayTime(){return this._delayTime*1e3}set delayTime(e){this._delayTime=e/1e3,this.depth=this._depth}get type(){return this._lfoL.type}set type(e){this._lfoL.type=e,this._lfoR.type=e}get spread(){return this._lfoR.phase-this._lfoL.phase}set spread(e){this._lfoL.phase=90-e/2,this._lfoR.phase=e/2+90}start(e){return this._lfoL.start(e),this._lfoR.start(e),this}stop(e){return this._lfoL.stop(e),this._lfoR.stop(e),this}sync(){return this._lfoL.sync(),this._lfoR.sync(),this}unsync(){return this._lfoL.unsync(),this._lfoR.unsync(),this}dispose(){return super.dispose(),this._lfoL.dispose(),this._lfoR.dispose(),this._delayNodeL.dispose(),this._delayNodeR.dispose(),this.frequency.dispose(),this}}class Distortion extends Effect{constructor(){super(optionsFromArguments(Distortion.getDefaults(),arguments,["distortion"])),this.name="Distortion";const e=optionsFromArguments(Distortion.getDefaults(),arguments,["distortion"]);this._shaper=new WaveShaper({context:this.context,length:4096}),this._distortion=e.distortion,this.connectEffect(this._shaper),this.distortion=e.distortion,this.oversample=e.oversample}static getDefaults(){return Object.assign(Effect.getDefaults(),{distortion:.4,oversample:"none"})}get distortion(){return this._distortion}set distortion(e){this._distortion=e;const s=e*100,a=Math.PI/180;this._shaper.setMap(c=>Math.abs(c)<.001?0:(3+s)*c*20*a/(Math.PI+s*Math.abs(c)))}get oversample(){return this._shaper.oversample}set oversample(e){this._shaper.oversample=e}dispose(){return super.dispose(),this._shaper.dispose(),this}}class FeedbackEffect extends Effect{constructor(e){super(e),this.name="FeedbackEffect",this._feedbackGain=new Gain$1({context:this.context,gain:e.feedback,units:"normalRange"}),this.feedback=this._feedbackGain.gain,readOnly$1(this,"feedback"),this.effectReturn.chain(this._feedbackGain,this.effectSend)}static getDefaults(){return Object.assign(Effect.getDefaults(),{feedback:.125})}dispose(){return super.dispose(),this._feedbackGain.dispose(),this.feedback.dispose(),this}}class FeedbackDelay extends FeedbackEffect{constructor(){super(optionsFromArguments(FeedbackDelay.getDefaults(),arguments,["delayTime","feedback"])),this.name="FeedbackDelay";const e=optionsFromArguments(FeedbackDelay.getDefaults(),arguments,["delayTime","feedback"]);this._delayNode=new Delay({context:this.context,delayTime:e.delayTime,maxDelay:e.maxDelay}),this.delayTime=this._delayNode.delayTime,this.connectEffect(this._delayNode),readOnly$1(this,"delayTime")}static getDefaults(){return Object.assign(FeedbackEffect.getDefaults(),{delayTime:.25,maxDelay:1})}dispose(){return super.dispose(),this._delayNode.dispose(),this.delayTime.dispose(),this}}class PhaseShiftAllpass extends ToneAudioNode{constructor(e){super(e),this.name="PhaseShiftAllpass",this.input=new Gain$1({context:this.context}),this.output=new Gain$1({context:this.context}),this.offset90=new Gain$1({context:this.context});const s=[.6923878,.9360654322959,.988229522686,.9987488452737],a=[.4021921162426,.856171088242,.9722909545651,.9952884791278];this._bank0=this._createAllPassFilterBank(s),this._bank1=this._createAllPassFilterBank(a),this._oneSampleDelay=this.context.createIIRFilter([0,1],[1,0]),connectSeries(this.input,...this._bank0,this._oneSampleDelay,this.output),connectSeries(this.input,...this._bank1,this.offset90)}_createAllPassFilterBank(e){return e.map(a=>{const c=[[a*a,0,-1],[1,0,-(a*a)]];return this.context.createIIRFilter(c[0],c[1])})}dispose(){return super.dispose(),this.input.dispose(),this.output.dispose(),this.offset90.dispose(),this._bank0.forEach(e=>e.disconnect()),this._bank1.forEach(e=>e.disconnect()),this._oneSampleDelay.disconnect(),this}}class FrequencyShifter extends Effect{constructor(){super(optionsFromArguments(FrequencyShifter.getDefaults(),arguments,["frequency"])),this.name="FrequencyShifter";const e=optionsFromArguments(FrequencyShifter.getDefaults(),arguments,["frequency"]);this.frequency=new Signal({context:this.context,units:"frequency",value:e.frequency,minValue:-this.context.sampleRate/2,maxValue:this.context.sampleRate/2}),this._sine=new ToneOscillatorNode({context:this.context,type:"sine"}),this._cosine=new Oscillator({context:this.context,phase:-90,type:"sine"}),this._sineMultiply=new Multiply({context:this.context}),this._cosineMultiply=new Multiply({context:this.context}),this._negate=new Negate({context:this.context}),this._add=new Add({context:this.context}),this._phaseShifter=new PhaseShiftAllpass({context:this.context}),this.effectSend.connect(this._phaseShifter),this.frequency.fan(this._sine.frequency,this._cosine.frequency),this._phaseShifter.offset90.connect(this._cosineMultiply),this._cosine.connect(this._cosineMultiply.factor),this._phaseShifter.connect(this._sineMultiply),this._sine.connect(this._sineMultiply.factor),this._sineMultiply.connect(this._negate),this._cosineMultiply.connect(this._add),this._negate.connect(this._add.addend),this._add.connect(this.effectReturn);const s=this.immediate();this._sine.start(s),this._cosine.start(s)}static getDefaults(){return Object.assign(Effect.getDefaults(),{frequency:0})}dispose(){return super.dispose(),this.frequency.dispose(),this._add.dispose(),this._cosine.dispose(),this._cosineMultiply.dispose(),this._negate.dispose(),this._phaseShifter.dispose(),this._sine.dispose(),this._sineMultiply.dispose(),this}}const combFilterTunings=[1557/44100,1617/44100,1491/44100,1422/44100,1277/44100,1356/44100,1188/44100,1116/44100],allpassFilterFrequencies=[225,556,441,341];class Freeverb extends StereoEffect{constructor(){super(optionsFromArguments(Freeverb.getDefaults(),arguments,["roomSize","dampening"])),this.name="Freeverb",this._combFilters=[],this._allpassFiltersL=[],this._allpassFiltersR=[];const e=optionsFromArguments(Freeverb.getDefaults(),arguments,["roomSize","dampening"]);this.roomSize=new Signal({context:this.context,value:e.roomSize,units:"normalRange"}),this._allpassFiltersL=allpassFilterFrequencies.map(s=>{const a=this.context.createBiquadFilter();return a.type="allpass",a.frequency.value=s,a}),this._allpassFiltersR=allpassFilterFrequencies.map(s=>{const a=this.context.createBiquadFilter();return a.type="allpass",a.frequency.value=s,a}),this._combFilters=combFilterTunings.map((s,a)=>{const c=new LowpassCombFilter({context:this.context,dampening:e.dampening,delayTime:s});return as.dampening=e)}dispose(){return super.dispose(),this._allpassFiltersL.forEach(e=>e.disconnect()),this._allpassFiltersR.forEach(e=>e.disconnect()),this._combFilters.forEach(e=>e.dispose()),this.roomSize.dispose(),this}}const combFilterDelayTimes=[1687/25e3,1601/25e3,2053/25e3,2251/25e3],combFilterResonances=[.773,.802,.753,.733],allpassFilterFreqs=[347,113,37];class JCReverb extends StereoEffect{constructor(){super(optionsFromArguments(JCReverb.getDefaults(),arguments,["roomSize"])),this.name="JCReverb",this._allpassFilters=[],this._feedbackCombFilters=[];const e=optionsFromArguments(JCReverb.getDefaults(),arguments,["roomSize"]);this.roomSize=new Signal({context:this.context,value:e.roomSize,units:"normalRange"}),this._scaleRoomSize=new Scale({context:this.context,min:-.733,max:.197}),this._allpassFilters=allpassFilterFreqs.map(s=>{const a=this.context.createBiquadFilter();return a.type="allpass",a.frequency.value=s,a}),this._feedbackCombFilters=combFilterDelayTimes.map((s,a)=>{const c=new FeedbackCombFilter({context:this.context,delayTime:s});return this._scaleRoomSize.connect(c.resonance),c.resonance.value=combFilterResonances[a],ae.disconnect()),this._feedbackCombFilters.forEach(e=>e.dispose()),this.roomSize.dispose(),this._scaleRoomSize.dispose(),this}}class StereoXFeedbackEffect extends StereoFeedbackEffect{constructor(e){super(e),this._feedbackL.disconnect(),this._feedbackL.connect(this._feedbackMerge,0,1),this._feedbackR.disconnect(),this._feedbackR.connect(this._feedbackMerge,0,0),readOnly$1(this,["feedback"])}}class PingPongDelay extends StereoXFeedbackEffect{constructor(){super(optionsFromArguments(PingPongDelay.getDefaults(),arguments,["delayTime","feedback"])),this.name="PingPongDelay";const e=optionsFromArguments(PingPongDelay.getDefaults(),arguments,["delayTime","feedback"]);this._leftDelay=new Delay({context:this.context,maxDelay:e.maxDelay}),this._rightDelay=new Delay({context:this.context,maxDelay:e.maxDelay}),this._rightPreDelay=new Delay({context:this.context,maxDelay:e.maxDelay}),this.delayTime=new Signal({context:this.context,units:"time",value:e.delayTime}),this.connectEffectLeft(this._leftDelay),this.connectEffectRight(this._rightPreDelay,this._rightDelay),this.delayTime.fan(this._leftDelay.delayTime,this._rightDelay.delayTime,this._rightPreDelay.delayTime),this._feedbackL.disconnect(),this._feedbackL.connect(this._rightDelay),readOnly$1(this,["delayTime"])}static getDefaults(){return Object.assign(StereoXFeedbackEffect.getDefaults(),{delayTime:.25,maxDelay:1})}dispose(){return super.dispose(),this._leftDelay.dispose(),this._rightDelay.dispose(),this._rightPreDelay.dispose(),this.delayTime.dispose(),this}}class PitchShift extends FeedbackEffect{constructor(){super(optionsFromArguments(PitchShift.getDefaults(),arguments,["pitch"])),this.name="PitchShift";const e=optionsFromArguments(PitchShift.getDefaults(),arguments,["pitch"]);this._frequency=new Signal({context:this.context}),this._delayA=new Delay({maxDelay:1,context:this.context}),this._lfoA=new LFO({context:this.context,min:0,max:.1,type:"sawtooth"}).connect(this._delayA.delayTime),this._delayB=new Delay({maxDelay:1,context:this.context}),this._lfoB=new LFO({context:this.context,min:0,max:.1,type:"sawtooth",phase:180}).connect(this._delayB.delayTime),this._crossFade=new CrossFade({context:this.context}),this._crossFadeLFO=new LFO({context:this.context,min:0,max:1,type:"triangle",phase:90}).connect(this._crossFade.fade),this._feedbackDelay=new Delay({delayTime:e.delayTime,context:this.context}),this.delayTime=this._feedbackDelay.delayTime,readOnly$1(this,"delayTime"),this._pitch=e.pitch,this._windowSize=e.windowSize,this._delayA.connect(this._crossFade.a),this._delayB.connect(this._crossFade.b),this._frequency.fan(this._lfoA.frequency,this._lfoB.frequency,this._crossFadeLFO.frequency),this.effectSend.fan(this._delayA,this._delayB),this._crossFade.chain(this._feedbackDelay,this.effectReturn);const s=this.now();this._lfoA.start(s),this._lfoB.start(s),this._crossFadeLFO.start(s),this.windowSize=this._windowSize}static getDefaults(){return Object.assign(FeedbackEffect.getDefaults(),{pitch:0,windowSize:.1,delayTime:0,feedback:0})}get pitch(){return this._pitch}set pitch(e){this._pitch=e;let s=0;e<0?(this._lfoA.min=0,this._lfoA.max=this._windowSize,this._lfoB.min=0,this._lfoB.max=this._windowSize,s=intervalToFrequencyRatio(e-1)+1):(this._lfoA.min=this._windowSize,this._lfoA.max=0,this._lfoB.min=this._windowSize,this._lfoB.max=0,s=intervalToFrequencyRatio(e)-1),this._frequency.value=s*(1.2/this._windowSize)}get windowSize(){return this._windowSize}set windowSize(e){this._windowSize=this.toSeconds(e),this.pitch=this._pitch}dispose(){return super.dispose(),this._frequency.dispose(),this._delayA.dispose(),this._delayB.dispose(),this._lfoA.dispose(),this._lfoB.dispose(),this._crossFade.dispose(),this._crossFadeLFO.dispose(),this._feedbackDelay.dispose(),this}}class Phaser extends StereoEffect{constructor(){super(optionsFromArguments(Phaser.getDefaults(),arguments,["frequency","octaves","baseFrequency"])),this.name="Phaser";const e=optionsFromArguments(Phaser.getDefaults(),arguments,["frequency","octaves","baseFrequency"]);this._lfoL=new LFO({context:this.context,frequency:e.frequency,min:0,max:1}),this._lfoR=new LFO({context:this.context,frequency:e.frequency,min:0,max:1,phase:180}),this._baseFrequency=this.toFrequency(e.baseFrequency),this._octaves=e.octaves,this.Q=new Signal({context:this.context,value:e.Q,units:"positive"}),this._filtersL=this._makeFilters(e.stages,this._lfoL),this._filtersR=this._makeFilters(e.stages,this._lfoR),this.frequency=this._lfoL.frequency,this.frequency.value=e.frequency,this.connectEffectLeft(...this._filtersL),this.connectEffectRight(...this._filtersR),this._lfoL.frequency.connect(this._lfoR.frequency),this.baseFrequency=e.baseFrequency,this.octaves=e.octaves,this._lfoL.start(),this._lfoR.start(),readOnly$1(this,["frequency","Q"])}static getDefaults(){return Object.assign(StereoEffect.getDefaults(),{frequency:.5,octaves:3,stages:10,Q:10,baseFrequency:350})}_makeFilters(e,s){const a=[];for(let c=0;ce.disconnect()),this._filtersR.forEach(e=>e.disconnect()),this.frequency.dispose(),this}}class Reverb extends Effect{constructor(){super(optionsFromArguments(Reverb.getDefaults(),arguments,["decay"])),this.name="Reverb",this._convolver=this.context.createConvolver(),this.ready=Promise.resolve();const e=optionsFromArguments(Reverb.getDefaults(),arguments,["decay"]);this._decay=e.decay,this._preDelay=e.preDelay,this.generate(),this.connectEffect(this._convolver)}static getDefaults(){return Object.assign(Effect.getDefaults(),{decay:1.5,preDelay:.01})}get decay(){return this._decay}set decay(e){e=this.toSeconds(e),assertRange(e,.001),this._decay=e,this.generate()}get preDelay(){return this._preDelay}set preDelay(e){e=this.toSeconds(e),assertRange(e,0),this._preDelay=e,this.generate()}generate(){return __awaiter$4(this,void 0,void 0,function*(){const e=this.ready,s=new OfflineContext(2,this._decay+this._preDelay,this.context.sampleRate),a=new Noise({context:s}),c=new Noise({context:s}),d=new Merge({context:s});a.connect(d,0,0),c.connect(d,0,1);const _=new Gain$1({context:s}).toDestination();d.connect(_),a.start(0),c.start(0),_.gain.setValueAtTime(0,0),_.gain.setValueAtTime(1,this._preDelay),_.gain.exponentialApproachValueAtTime(0,this._preDelay,this.decay);const b=s.render();return this.ready=b.then(noOp),yield e,this._convolver.buffer=(yield b).get(),this})}dispose(){return super.dispose(),this._convolver.disconnect(),this}}class MidSideSplit extends ToneAudioNode{constructor(){super(optionsFromArguments(MidSideSplit.getDefaults(),arguments)),this.name="MidSideSplit",this._split=this.input=new Split({channels:2,context:this.context}),this._midAdd=new Add({context:this.context}),this.mid=new Multiply({context:this.context,value:Math.SQRT1_2}),this._sideSubtract=new Subtract({context:this.context}),this.side=new Multiply({context:this.context,value:Math.SQRT1_2}),this._split.connect(this._midAdd,0),this._split.connect(this._midAdd.addend,1),this._split.connect(this._sideSubtract,0),this._split.connect(this._sideSubtract.subtrahend,1),this._midAdd.connect(this.mid),this._sideSubtract.connect(this.side)}dispose(){return super.dispose(),this.mid.dispose(),this.side.dispose(),this._midAdd.dispose(),this._sideSubtract.dispose(),this._split.dispose(),this}}class MidSideMerge extends ToneAudioNode{constructor(){super(optionsFromArguments(MidSideMerge.getDefaults(),arguments)),this.name="MidSideMerge",this.mid=new Gain$1({context:this.context}),this.side=new Gain$1({context:this.context}),this._left=new Add({context:this.context}),this._leftMult=new Multiply({context:this.context,value:Math.SQRT1_2}),this._right=new Subtract({context:this.context}),this._rightMult=new Multiply({context:this.context,value:Math.SQRT1_2}),this._merge=this.output=new Merge({context:this.context}),this.mid.fan(this._left),this.side.connect(this._left.addend),this.mid.connect(this._right),this.side.connect(this._right.subtrahend),this._left.connect(this._leftMult),this._right.connect(this._rightMult),this._leftMult.connect(this._merge,0,0),this._rightMult.connect(this._merge,0,1)}dispose(){return super.dispose(),this.mid.dispose(),this.side.dispose(),this._leftMult.dispose(),this._rightMult.dispose(),this._left.dispose(),this._right.dispose(),this}}class MidSideEffect extends Effect{constructor(e){super(e),this.name="MidSideEffect",this._midSideMerge=new MidSideMerge({context:this.context}),this._midSideSplit=new MidSideSplit({context:this.context}),this._midSend=this._midSideSplit.mid,this._sideSend=this._midSideSplit.side,this._midReturn=this._midSideMerge.mid,this._sideReturn=this._midSideMerge.side,this.effectSend.connect(this._midSideSplit),this._midSideMerge.connect(this.effectReturn)}connectEffectMid(...e){this._midSend.chain(...e,this._midReturn)}connectEffectSide(...e){this._sideSend.chain(...e,this._sideReturn)}dispose(){return super.dispose(),this._midSideSplit.dispose(),this._midSideMerge.dispose(),this._midSend.dispose(),this._sideSend.dispose(),this._midReturn.dispose(),this._sideReturn.dispose(),this}}class StereoWidener extends MidSideEffect{constructor(){super(optionsFromArguments(StereoWidener.getDefaults(),arguments,["width"])),this.name="StereoWidener";const e=optionsFromArguments(StereoWidener.getDefaults(),arguments,["width"]);this.width=new Signal({context:this.context,value:e.width,units:"normalRange"}),readOnly$1(this,["width"]),this._twoTimesWidthMid=new Multiply({context:this.context,value:2}),this._twoTimesWidthSide=new Multiply({context:this.context,value:2}),this._midMult=new Multiply({context:this.context}),this._twoTimesWidthMid.connect(this._midMult.factor),this.connectEffectMid(this._midMult),this._oneMinusWidth=new Subtract({context:this.context}),this._oneMinusWidth.connect(this._twoTimesWidthMid),connect(this.context.getConstant(1),this._oneMinusWidth),this.width.connect(this._oneMinusWidth.subtrahend),this._sideMult=new Multiply({context:this.context}),this.width.connect(this._twoTimesWidthSide),this._twoTimesWidthSide.connect(this._sideMult.factor),this.connectEffectSide(this._sideMult)}static getDefaults(){return Object.assign(MidSideEffect.getDefaults(),{width:.5})}dispose(){return super.dispose(),this.width.dispose(),this._midMult.dispose(),this._sideMult.dispose(),this._twoTimesWidthMid.dispose(),this._twoTimesWidthSide.dispose(),this._oneMinusWidth.dispose(),this}}class Tremolo extends StereoEffect{constructor(){super(optionsFromArguments(Tremolo.getDefaults(),arguments,["frequency","depth"])),this.name="Tremolo";const e=optionsFromArguments(Tremolo.getDefaults(),arguments,["frequency","depth"]);this._lfoL=new LFO({context:this.context,type:e.type,min:1,max:0}),this._lfoR=new LFO({context:this.context,type:e.type,min:1,max:0}),this._amplitudeL=new Gain$1({context:this.context}),this._amplitudeR=new Gain$1({context:this.context}),this.frequency=new Signal({context:this.context,value:e.frequency,units:"frequency"}),this.depth=new Signal({context:this.context,value:e.depth,units:"normalRange"}),readOnly$1(this,["frequency","depth"]),this.connectEffectLeft(this._amplitudeL),this.connectEffectRight(this._amplitudeR),this._lfoL.connect(this._amplitudeL.gain),this._lfoR.connect(this._amplitudeR.gain),this.frequency.fan(this._lfoL.frequency,this._lfoR.frequency),this.depth.fan(this._lfoR.amplitude,this._lfoL.amplitude),this.spread=e.spread}static getDefaults(){return Object.assign(StereoEffect.getDefaults(),{frequency:10,type:"sine",depth:.5,spread:180})}start(e){return this._lfoL.start(e),this._lfoR.start(e),this}stop(e){return this._lfoL.stop(e),this._lfoR.stop(e),this}sync(){return this._lfoL.sync(),this._lfoR.sync(),this.context.transport.syncSignal(this.frequency),this}unsync(){return this._lfoL.unsync(),this._lfoR.unsync(),this.context.transport.unsyncSignal(this.frequency),this}get type(){return this._lfoL.type}set type(e){this._lfoL.type=e,this._lfoR.type=e}get spread(){return this._lfoR.phase-this._lfoL.phase}set spread(e){this._lfoL.phase=90-e/2,this._lfoR.phase=e/2+90}dispose(){return super.dispose(),this._lfoL.dispose(),this._lfoR.dispose(),this._amplitudeL.dispose(),this._amplitudeR.dispose(),this.frequency.dispose(),this.depth.dispose(),this}}class Vibrato extends Effect{constructor(){super(optionsFromArguments(Vibrato.getDefaults(),arguments,["frequency","depth"])),this.name="Vibrato";const e=optionsFromArguments(Vibrato.getDefaults(),arguments,["frequency","depth"]);this._delayNode=new Delay({context:this.context,delayTime:0,maxDelay:e.maxDelay}),this._lfo=new LFO({context:this.context,type:e.type,min:0,max:e.maxDelay,frequency:e.frequency,phase:-90}).start().connect(this._delayNode.delayTime),this.frequency=this._lfo.frequency,this.depth=this._lfo.amplitude,this.depth.value=e.depth,readOnly$1(this,["frequency","depth"]),this.effectSend.chain(this._delayNode,this.effectReturn)}static getDefaults(){return Object.assign(Effect.getDefaults(),{maxDelay:.005,frequency:5,depth:.1,type:"sine"})}get type(){return this._lfo.type}set type(e){this._lfo.type=e}dispose(){return super.dispose(),this._delayNode.dispose(),this._lfo.dispose(),this.frequency.dispose(),this.depth.dispose(),this}}class Analyser extends ToneAudioNode{constructor(){super(optionsFromArguments(Analyser.getDefaults(),arguments,["type","size"])),this.name="Analyser",this._analysers=[],this._buffers=[];const e=optionsFromArguments(Analyser.getDefaults(),arguments,["type","size"]);this.input=this.output=this._gain=new Gain$1({context:this.context}),this._split=new Split({context:this.context,channels:e.channels}),this.input.connect(this._split),assertRange(e.channels,1);for(let s=0;s{const a=this._buffers[s];this._type==="fft"?e.getFloatFrequencyData(a):this._type==="waveform"&&e.getFloatTimeDomainData(a)}),this.channels===1?this._buffers[0]:this._buffers}get size(){return this._analysers[0].frequencyBinCount}set size(e){this._analysers.forEach((s,a)=>{s.fftSize=e*2,this._buffers[a]=new Float32Array(e)})}get channels(){return this._analysers.length}get type(){return this._type}set type(e){assert(e==="waveform"||e==="fft",`Analyser: invalid type: ${e}`),this._type=e}get smoothing(){return this._analysers[0].smoothingTimeConstant}set smoothing(e){this._analysers.forEach(s=>s.smoothingTimeConstant=e)}dispose(){return super.dispose(),this._analysers.forEach(e=>e.disconnect()),this._split.dispose(),this._gain.dispose(),this}}class MeterBase extends ToneAudioNode{constructor(){super(optionsFromArguments(MeterBase.getDefaults(),arguments)),this.name="MeterBase",this.input=this.output=this._analyser=new Analyser({context:this.context,size:256,type:"waveform"})}dispose(){return super.dispose(),this._analyser.dispose(),this}}class Meter extends MeterBase{constructor(){super(optionsFromArguments(Meter.getDefaults(),arguments,["smoothing"])),this.name="Meter",this._rms=0;const e=optionsFromArguments(Meter.getDefaults(),arguments,["smoothing"]);this.input=this.output=this._analyser=new Analyser({context:this.context,size:256,type:"waveform",channels:e.channels}),this.smoothing=e.smoothing,this.normalRange=e.normalRange}static getDefaults(){return Object.assign(MeterBase.getDefaults(),{smoothing:.8,normalRange:!1,channels:1})}getLevel(){return warn("'getLevel' has been changed to 'getValue'"),this.getValue()}getValue(){const e=this._analyser.getValue(),a=(this.channels===1?[e]:e).map(c=>{const d=c.reduce((b,k)=>b+k*k,0),_=Math.sqrt(d/c.length);return this._rms=Math.max(_,this._rms*this.smoothing),this.normalRange?this._rms:gainToDb(this._rms)});return this.channels===1?a[0]:a}get channels(){return this._analyser.channels}dispose(){return super.dispose(),this._analyser.dispose(),this}}class FFT extends MeterBase{constructor(){super(optionsFromArguments(FFT.getDefaults(),arguments,["size"])),this.name="FFT";const e=optionsFromArguments(FFT.getDefaults(),arguments,["size"]);this.normalRange=e.normalRange,this._analyser.type="fft",this.size=e.size}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{normalRange:!1,size:1024,smoothing:.8})}getValue(){return this._analyser.getValue().map(s=>this.normalRange?dbToGain(s):s)}get size(){return this._analyser.size}set size(e){this._analyser.size=e}get smoothing(){return this._analyser.smoothing}set smoothing(e){this._analyser.smoothing=e}getFrequencyOfIndex(e){return assert(0<=e&&es._updateSolo())}get muted(){return this.input.gain.value===0}_addSolo(){Solo._soloed.has(this.context)||Solo._soloed.set(this.context,new Set),Solo._soloed.get(this.context).add(this)}_removeSolo(){Solo._soloed.has(this.context)&&Solo._soloed.get(this.context).delete(this)}_isSoloed(){return Solo._soloed.has(this.context)&&Solo._soloed.get(this.context).has(this)}_noSolos(){return!Solo._soloed.has(this.context)||Solo._soloed.has(this.context)&&Solo._soloed.get(this.context).size===0}_updateSolo(){this._isSoloed()?this.input.gain.value=1:this._noSolos()?this.input.gain.value=1:this.input.gain.value=0}dispose(){return super.dispose(),Solo._allSolos.get(this.context).delete(this),this._removeSolo(),this}}Solo._allSolos=new Map;Solo._soloed=new Map;class PanVol extends ToneAudioNode{constructor(){super(optionsFromArguments(PanVol.getDefaults(),arguments,["pan","volume"])),this.name="PanVol";const e=optionsFromArguments(PanVol.getDefaults(),arguments,["pan","volume"]);this._panner=this.input=new Panner({context:this.context,pan:e.pan,channelCount:e.channelCount}),this.pan=this._panner.pan,this._volume=this.output=new Volume({context:this.context,volume:e.volume}),this.volume=this._volume.volume,this._panner.connect(this._volume),this.mute=e.mute,readOnly$1(this,["pan","volume"])}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{mute:!1,pan:0,volume:0,channelCount:1})}get mute(){return this._volume.mute}set mute(e){this._volume.mute=e}dispose(){return super.dispose(),this._panner.dispose(),this.pan.dispose(),this._volume.dispose(),this.volume.dispose(),this}}class Channel extends ToneAudioNode{constructor(){super(optionsFromArguments(Channel.getDefaults(),arguments,["volume","pan"])),this.name="Channel";const e=optionsFromArguments(Channel.getDefaults(),arguments,["volume","pan"]);this._solo=this.input=new Solo({solo:e.solo,context:this.context}),this._panVol=this.output=new PanVol({context:this.context,pan:e.pan,volume:e.volume,mute:e.mute,channelCount:e.channelCount}),this.pan=this._panVol.pan,this.volume=this._panVol.volume,this._solo.connect(this._panVol),readOnly$1(this,["pan","volume"])}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{pan:0,volume:0,mute:!1,solo:!1,channelCount:1})}get solo(){return this._solo.solo}set solo(e){this._solo.solo=e}get muted(){return this._solo.muted||this.mute}get mute(){return this._panVol.mute}set mute(e){this._panVol.mute=e}_getBus(e){return Channel.buses.has(e)||Channel.buses.set(e,new Gain$1({context:this.context})),Channel.buses.get(e)}send(e,s=0){const a=this._getBus(e),c=new Gain$1({context:this.context,units:"decibels",gain:s});return this.connect(c),c.connect(a),c}receive(e){return this._getBus(e).connect(this),this}dispose(){return super.dispose(),this._panVol.dispose(),this.pan.dispose(),this.volume.dispose(),this._solo.dispose(),this}}Channel.buses=new Map;class Mono extends ToneAudioNode{constructor(){super(optionsFromArguments(Mono.getDefaults(),arguments)),this.name="Mono",this.input=new Gain$1({context:this.context}),this._merge=this.output=new Merge({channels:2,context:this.context}),this.input.connect(this._merge,0,0),this.input.connect(this._merge,0,1)}dispose(){return super.dispose(),this._merge.dispose(),this.input.dispose(),this}}class MultibandSplit extends ToneAudioNode{constructor(){super(optionsFromArguments(MultibandSplit.getDefaults(),arguments,["lowFrequency","highFrequency"])),this.name="MultibandSplit",this.input=new Gain$1({context:this.context}),this.output=void 0,this.low=new Filter$1({context:this.context,frequency:0,type:"lowpass"}),this._lowMidFilter=new Filter$1({context:this.context,frequency:0,type:"highpass"}),this.mid=new Filter$1({context:this.context,frequency:0,type:"lowpass"}),this.high=new Filter$1({context:this.context,frequency:0,type:"highpass"}),this._internalChannels=[this.low,this.mid,this.high];const e=optionsFromArguments(MultibandSplit.getDefaults(),arguments,["lowFrequency","highFrequency"]);this.lowFrequency=new Signal({context:this.context,units:"frequency",value:e.lowFrequency}),this.highFrequency=new Signal({context:this.context,units:"frequency",value:e.highFrequency}),this.Q=new Signal({context:this.context,units:"positive",value:e.Q}),this.input.fan(this.low,this.high),this.input.chain(this._lowMidFilter,this.mid),this.lowFrequency.fan(this.low.frequency,this._lowMidFilter.frequency),this.highFrequency.fan(this.mid.frequency,this.high.frequency),this.Q.connect(this.low.Q),this.Q.connect(this._lowMidFilter.Q),this.Q.connect(this.mid.Q),this.Q.connect(this.high.Q),readOnly$1(this,["high","mid","low","highFrequency","lowFrequency"])}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{Q:1,highFrequency:2500,lowFrequency:400})}dispose(){return super.dispose(),writable(this,["high","mid","low","highFrequency","lowFrequency"]),this.low.dispose(),this._lowMidFilter.dispose(),this.mid.dispose(),this.high.dispose(),this.lowFrequency.dispose(),this.highFrequency.dispose(),this.Q.dispose(),this}}class Listener$1 extends ToneAudioNode{constructor(){super(...arguments),this.name="Listener",this.positionX=new Param({context:this.context,param:this.context.rawContext.listener.positionX}),this.positionY=new Param({context:this.context,param:this.context.rawContext.listener.positionY}),this.positionZ=new Param({context:this.context,param:this.context.rawContext.listener.positionZ}),this.forwardX=new Param({context:this.context,param:this.context.rawContext.listener.forwardX}),this.forwardY=new Param({context:this.context,param:this.context.rawContext.listener.forwardY}),this.forwardZ=new Param({context:this.context,param:this.context.rawContext.listener.forwardZ}),this.upX=new Param({context:this.context,param:this.context.rawContext.listener.upX}),this.upY=new Param({context:this.context,param:this.context.rawContext.listener.upY}),this.upZ=new Param({context:this.context,param:this.context.rawContext.listener.upZ})}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{positionX:0,positionY:0,positionZ:0,forwardX:0,forwardY:0,forwardZ:-1,upX:0,upY:1,upZ:0})}dispose(){return super.dispose(),this.positionX.dispose(),this.positionY.dispose(),this.positionZ.dispose(),this.forwardX.dispose(),this.forwardY.dispose(),this.forwardZ.dispose(),this.upX.dispose(),this.upY.dispose(),this.upZ.dispose(),this}}onContextInit(o=>{o.listener=new Listener$1({context:o})});onContextClose(o=>{o.listener.dispose()});class Panner3D extends ToneAudioNode{constructor(){super(optionsFromArguments(Panner3D.getDefaults(),arguments,["positionX","positionY","positionZ"])),this.name="Panner3D";const e=optionsFromArguments(Panner3D.getDefaults(),arguments,["positionX","positionY","positionZ"]);this._panner=this.input=this.output=this.context.createPanner(),this.panningModel=e.panningModel,this.maxDistance=e.maxDistance,this.distanceModel=e.distanceModel,this.coneOuterGain=e.coneOuterGain,this.coneOuterAngle=e.coneOuterAngle,this.coneInnerAngle=e.coneInnerAngle,this.refDistance=e.refDistance,this.rolloffFactor=e.rolloffFactor,this.positionX=new Param({context:this.context,param:this._panner.positionX,value:e.positionX}),this.positionY=new Param({context:this.context,param:this._panner.positionY,value:e.positionY}),this.positionZ=new Param({context:this.context,param:this._panner.positionZ,value:e.positionZ}),this.orientationX=new Param({context:this.context,param:this._panner.orientationX,value:e.orientationX}),this.orientationY=new Param({context:this.context,param:this._panner.orientationY,value:e.orientationY}),this.orientationZ=new Param({context:this.context,param:this._panner.orientationZ,value:e.orientationZ})}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{coneInnerAngle:360,coneOuterAngle:360,coneOuterGain:0,distanceModel:"inverse",maxDistance:1e4,orientationX:0,orientationY:0,orientationZ:0,panningModel:"equalpower",positionX:0,positionY:0,positionZ:0,refDistance:1,rolloffFactor:1})}setPosition(e,s,a){return this.positionX.value=e,this.positionY.value=s,this.positionZ.value=a,this}setOrientation(e,s,a){return this.orientationX.value=e,this.orientationY.value=s,this.orientationZ.value=a,this}get panningModel(){return this._panner.panningModel}set panningModel(e){this._panner.panningModel=e}get refDistance(){return this._panner.refDistance}set refDistance(e){this._panner.refDistance=e}get rolloffFactor(){return this._panner.rolloffFactor}set rolloffFactor(e){this._panner.rolloffFactor=e}get distanceModel(){return this._panner.distanceModel}set distanceModel(e){this._panner.distanceModel=e}get coneInnerAngle(){return this._panner.coneInnerAngle}set coneInnerAngle(e){this._panner.coneInnerAngle=e}get coneOuterAngle(){return this._panner.coneOuterAngle}set coneOuterAngle(e){this._panner.coneOuterAngle=e}get coneOuterGain(){return this._panner.coneOuterGain}set coneOuterGain(e){this._panner.coneOuterGain=e}get maxDistance(){return this._panner.maxDistance}set maxDistance(e){this._panner.maxDistance=e}dispose(){return super.dispose(),this._panner.disconnect(),this.orientationX.dispose(),this.orientationY.dispose(),this.orientationZ.dispose(),this.positionX.dispose(),this.positionY.dispose(),this.positionZ.dispose(),this}}class Recorder extends ToneAudioNode{constructor(){super(optionsFromArguments(Recorder.getDefaults(),arguments)),this.name="Recorder";const e=optionsFromArguments(Recorder.getDefaults(),arguments);this.input=new Gain$1({context:this.context}),assert(Recorder.supported,"Media Recorder API is not available"),this._stream=this.context.createMediaStreamDestination(),this.input.connect(this._stream),this._recorder=new MediaRecorder(this._stream.stream,{mimeType:e.mimeType})}static getDefaults(){return ToneAudioNode.getDefaults()}get mimeType(){return this._recorder.mimeType}static get supported(){return theWindow!==null&&Reflect.has(theWindow,"MediaRecorder")}get state(){return this._recorder.state==="inactive"?"stopped":this._recorder.state==="paused"?"paused":"started"}start(){return __awaiter$4(this,void 0,void 0,function*(){assert(this.state!=="started","Recorder is already started");const e=new Promise(s=>{const a=()=>{this._recorder.removeEventListener("start",a,!1),s()};this._recorder.addEventListener("start",a,!1)});return this._recorder.start(),yield e})}stop(){return __awaiter$4(this,void 0,void 0,function*(){assert(this.state!=="stopped","Recorder is not started");const e=new Promise(s=>{const a=c=>{this._recorder.removeEventListener("dataavailable",a,!1),s(c.data)};this._recorder.addEventListener("dataavailable",a,!1)});return this._recorder.stop(),yield e})}pause(){return assert(this.state==="started","Recorder must be started"),this._recorder.pause(),this}dispose(){return super.dispose(),this.input.dispose(),this._stream.disconnect(),this}}class Compressor extends ToneAudioNode{constructor(){super(optionsFromArguments(Compressor.getDefaults(),arguments,["threshold","ratio"])),this.name="Compressor",this._compressor=this.context.createDynamicsCompressor(),this.input=this._compressor,this.output=this._compressor;const e=optionsFromArguments(Compressor.getDefaults(),arguments,["threshold","ratio"]);this.threshold=new Param({minValue:this._compressor.threshold.minValue,maxValue:this._compressor.threshold.maxValue,context:this.context,convert:!1,param:this._compressor.threshold,units:"decibels",value:e.threshold}),this.attack=new Param({minValue:this._compressor.attack.minValue,maxValue:this._compressor.attack.maxValue,context:this.context,param:this._compressor.attack,units:"time",value:e.attack}),this.release=new Param({minValue:this._compressor.release.minValue,maxValue:this._compressor.release.maxValue,context:this.context,param:this._compressor.release,units:"time",value:e.release}),this.knee=new Param({minValue:this._compressor.knee.minValue,maxValue:this._compressor.knee.maxValue,context:this.context,convert:!1,param:this._compressor.knee,units:"decibels",value:e.knee}),this.ratio=new Param({minValue:this._compressor.ratio.minValue,maxValue:this._compressor.ratio.maxValue,context:this.context,convert:!1,param:this._compressor.ratio,units:"positive",value:e.ratio}),readOnly$1(this,["knee","release","attack","ratio","threshold"])}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{attack:.003,knee:30,ratio:12,release:.25,threshold:-24})}get reduction(){return this._compressor.reduction}dispose(){return super.dispose(),this._compressor.disconnect(),this.attack.dispose(),this.release.dispose(),this.threshold.dispose(),this.ratio.dispose(),this.knee.dispose(),this}}class Gate extends ToneAudioNode{constructor(){super(Object.assign(optionsFromArguments(Gate.getDefaults(),arguments,["threshold","smoothing"]))),this.name="Gate";const e=optionsFromArguments(Gate.getDefaults(),arguments,["threshold","smoothing"]);this._follower=new Follower({context:this.context,smoothing:e.smoothing}),this._gt=new GreaterThan({context:this.context,value:dbToGain(e.threshold)}),this.input=new Gain$1({context:this.context}),this._gate=this.output=new Gain$1({context:this.context}),this.input.connect(this._gate),this.input.chain(this._follower,this._gt,this._gate.gain)}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{smoothing:.1,threshold:-40})}get threshold(){return gainToDb(this._gt.value)}set threshold(e){this._gt.value=dbToGain(e)}get smoothing(){return this._follower.smoothing}set smoothing(e){this._follower.smoothing=e}dispose(){return super.dispose(),this.input.dispose(),this._follower.dispose(),this._gt.dispose(),this._gate.dispose(),this}}class Limiter extends ToneAudioNode{constructor(){super(Object.assign(optionsFromArguments(Limiter.getDefaults(),arguments,["threshold"]))),this.name="Limiter";const e=optionsFromArguments(Limiter.getDefaults(),arguments,["threshold"]);this._compressor=this.input=this.output=new Compressor({context:this.context,ratio:20,attack:.003,release:.01,threshold:e.threshold}),this.threshold=this._compressor.threshold,readOnly$1(this,"threshold")}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{threshold:-12})}get reduction(){return this._compressor.reduction}dispose(){return super.dispose(),this._compressor.dispose(),this.threshold.dispose(),this}}class MidSideCompressor extends ToneAudioNode{constructor(){super(Object.assign(optionsFromArguments(MidSideCompressor.getDefaults(),arguments))),this.name="MidSideCompressor";const e=optionsFromArguments(MidSideCompressor.getDefaults(),arguments);this._midSideSplit=this.input=new MidSideSplit({context:this.context}),this._midSideMerge=this.output=new MidSideMerge({context:this.context}),this.mid=new Compressor(Object.assign(e.mid,{context:this.context})),this.side=new Compressor(Object.assign(e.side,{context:this.context})),this._midSideSplit.mid.chain(this.mid,this._midSideMerge.mid),this._midSideSplit.side.chain(this.side,this._midSideMerge.side),readOnly$1(this,["mid","side"])}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{mid:{ratio:3,threshold:-24,release:.03,attack:.02,knee:16},side:{ratio:6,threshold:-30,release:.25,attack:.03,knee:10}})}dispose(){return super.dispose(),this.mid.dispose(),this.side.dispose(),this._midSideSplit.dispose(),this._midSideMerge.dispose(),this}}class MultibandCompressor extends ToneAudioNode{constructor(){super(Object.assign(optionsFromArguments(MultibandCompressor.getDefaults(),arguments))),this.name="MultibandCompressor";const e=optionsFromArguments(MultibandCompressor.getDefaults(),arguments);this._splitter=this.input=new MultibandSplit({context:this.context,lowFrequency:e.lowFrequency,highFrequency:e.highFrequency}),this.lowFrequency=this._splitter.lowFrequency,this.highFrequency=this._splitter.highFrequency,this.output=new Gain$1({context:this.context}),this.low=new Compressor(Object.assign(e.low,{context:this.context})),this.mid=new Compressor(Object.assign(e.mid,{context:this.context})),this.high=new Compressor(Object.assign(e.high,{context:this.context})),this._splitter.low.chain(this.low,this.output),this._splitter.mid.chain(this.mid,this.output),this._splitter.high.chain(this.high,this.output),readOnly$1(this,["high","mid","low","highFrequency","lowFrequency"])}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{lowFrequency:250,highFrequency:2e3,low:{ratio:6,threshold:-30,release:.25,attack:.03,knee:10},mid:{ratio:3,threshold:-24,release:.03,attack:.02,knee:16},high:{ratio:3,threshold:-24,release:.03,attack:.02,knee:16}})}dispose(){return super.dispose(),this._splitter.dispose(),this.low.dispose(),this.mid.dispose(),this.high.dispose(),this.output.dispose(),this}}class EQ3 extends ToneAudioNode{constructor(){super(optionsFromArguments(EQ3.getDefaults(),arguments,["low","mid","high"])),this.name="EQ3",this.output=new Gain$1({context:this.context}),this._internalChannels=[];const e=optionsFromArguments(EQ3.getDefaults(),arguments,["low","mid","high"]);this.input=this._multibandSplit=new MultibandSplit({context:this.context,highFrequency:e.highFrequency,lowFrequency:e.lowFrequency}),this._lowGain=new Gain$1({context:this.context,gain:e.low,units:"decibels"}),this._midGain=new Gain$1({context:this.context,gain:e.mid,units:"decibels"}),this._highGain=new Gain$1({context:this.context,gain:e.high,units:"decibels"}),this.low=this._lowGain.gain,this.mid=this._midGain.gain,this.high=this._highGain.gain,this.Q=this._multibandSplit.Q,this.lowFrequency=this._multibandSplit.lowFrequency,this.highFrequency=this._multibandSplit.highFrequency,this._multibandSplit.low.chain(this._lowGain,this.output),this._multibandSplit.mid.chain(this._midGain,this.output),this._multibandSplit.high.chain(this._highGain,this.output),readOnly$1(this,["low","mid","high","lowFrequency","highFrequency"]),this._internalChannels=[this._multibandSplit]}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{high:0,highFrequency:2500,low:0,lowFrequency:400,mid:0})}dispose(){return super.dispose(),writable(this,["low","mid","high","lowFrequency","highFrequency"]),this._multibandSplit.dispose(),this.lowFrequency.dispose(),this.highFrequency.dispose(),this._lowGain.dispose(),this._midGain.dispose(),this._highGain.dispose(),this.low.dispose(),this.mid.dispose(),this.high.dispose(),this.Q.dispose(),this}}class Convolver extends ToneAudioNode{constructor(){super(optionsFromArguments(Convolver.getDefaults(),arguments,["url","onload"])),this.name="Convolver",this._convolver=this.context.createConvolver();const e=optionsFromArguments(Convolver.getDefaults(),arguments,["url","onload"]);this._buffer=new ToneAudioBuffer(e.url,s=>{this.buffer=s,e.onload()}),this.input=new Gain$1({context:this.context}),this.output=new Gain$1({context:this.context}),this._buffer.loaded&&(this.buffer=this._buffer),this.normalize=e.normalize,this.input.chain(this._convolver,this.output)}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{normalize:!0,onload:noOp})}load(e){return __awaiter$4(this,void 0,void 0,function*(){this.buffer=yield this._buffer.load(e)})}get buffer(){return this._buffer.length?this._buffer:null}set buffer(e){e&&this._buffer.set(e),this._convolver.buffer&&(this.input.disconnect(),this._convolver.disconnect(),this._convolver=this.context.createConvolver(),this.input.chain(this._convolver,this.output));const s=this._buffer.get();this._convolver.buffer=s||null}get normalize(){return this._convolver.normalize}set normalize(e){this._convolver.normalize=e}dispose(){return super.dispose(),this._buffer.dispose(),this._convolver.disconnect(),this}}function now(){return getContext().now()}function immediate(){return getContext().immediate()}const Transport=getContext().transport;function getTransport(){return getContext().transport}const Destination$1=getContext().destination,Master=getContext().destination;function getDestination$1(){return getContext().destination}const Listener=getContext().listener;function getListener(){return getContext().listener}const Draw=getContext().draw;function getDraw(){return getContext().draw}const context=getContext();function loaded(){return ToneAudioBuffer.loaded()}const Buffer=ToneAudioBuffer,Buffers=ToneAudioBuffers,BufferSource=ToneBufferSource;var _Tone=Object.freeze(Object.defineProperty({__proto__:null,now,immediate,Transport,getTransport,Destination:Destination$1,Master,getDestination:getDestination$1,Listener,getListener,Draw,getDraw,context,loaded,Buffer,Buffers,BufferSource,getContext,setContext,start,supported:isSupported,dbToGain,gainToDb,intervalToFrequencyRatio,ftom,mtof,optionsFromArguments,defaultArg,Clock,Context,BaseContext,Delay,Gain:Gain$1,Offline,OfflineContext,Param,ToneAudioBuffer,ToneAudioBuffers,ToneAudioNode,connectSeries,connect,disconnect,FrequencyClass,Frequency,MidiClass,Midi,TimeClass,Time,TicksClass,Ticks,TransportTimeClass,TransportTime,Emitter,IntervalTimeline,StateTimeline,Timeline,isUndef,isDefined,isFunction,isNumber,isObject,isBoolean,isArray,isString,isNote:isNote$2,Unit:Units,debug:Debug,Noise,UserMedia,Oscillator,AMOscillator,FMOscillator,PulseOscillator,FatOscillator,PWMOscillator,OmniOscillator,ToneOscillatorNode,LFO,ToneBufferSource,Player,Players:Players$1,GrainPlayer,Add,Abs,AudioToGain,GainToAudio,GreaterThan,GreaterThanZero,Multiply,Negate,Pow,Signal,connectSignal,Scale,ScaleExp,Subtract,SyncedSignal,WaveShaper,Zero,AMSynth:AMSynth$1,DuoSynth:DuoSynth$1,FMSynth:FMSynth$1,MetalSynth:MetalSynth$1,MembraneSynth:MembraneSynth$1,MonoSynth:MonoSynth$1,NoiseSynth:NoiseSynth$1,PluckSynth:PluckSynth$1,PolySynth:PolySynth$1,Sampler:Sampler$1,Synth:Synth$1,Loop,Part,Pattern:Pattern$4,Sequence,ToneEvent,AutoFilter:AutoFilter$1,AutoPanner,AutoWah,BitCrusher,Chebyshev,Chorus,Distortion,FeedbackDelay,FrequencyShifter,Freeverb,JCReverb,PingPongDelay,PitchShift,Phaser,Reverb,StereoWidener,Tremolo,Vibrato,Analyser,Meter,FFT,DCMeter,Waveform,Follower,Channel,CrossFade,Merge,MidSideMerge,MidSideSplit,Mono,MultibandSplit,Panner,Panner3D,PanVol,Recorder,Solo,Split,Volume,Compressor,Gate,Limiter,MidSideCompressor,MultibandCompressor,AmplitudeEnvelope,Envelope,FrequencyEnvelope,EQ3,Filter:Filter$1,OnePoleFilter,FeedbackCombFilter,LowpassCombFilter,Convolver,BiquadFilter,version},Symbol.toStringTag,{value:"Module"})),__awaiter$3=globalThis&&globalThis.__awaiter||function(o,e,s,a){function c(d){return d instanceof s?d:new s(function(_){_(d)})}return new(s||(s=Promise))(function(d,_){function b(j){try{$(a.next(j))}catch(_e){_(_e)}}function k(j){try{$(a.throw(j))}catch(_e){_(_e)}}function $(j){j.done?d(j.value):c(j.value).then(b,k)}$((a=a.apply(o,e||[])).next())})};class PianoComponent extends ToneAudioNode{constructor(e){super(e),this.name="PianoComponent",this.input=void 0,this.output=new Volume({context:this.context}),this._enabled=!1,this.volume=this.output.volume,this._loaded=!1,this.volume.value=e.volume,this._enabled=e.enabled,this.samples=e.samples}get loaded(){return this._loaded}load(){return __awaiter$3(this,void 0,void 0,function*(){if(this._enabled)yield this._internalLoad(),this._loaded=!0;else return Promise.resolve()})}}function midiToNote(o){return Frequency(o,"midi").toNote()}function randomBetween(o,e){return Math.random()*(e-o)+o}function getReleasesUrl(o){return`rel${o-20}.[mp3|ogg]`}function getHarmonicsUrl(o){return`harmS${midiToNote(o).replace("#","s")}.[mp3|ogg]`}function getNotesUrl(o,e){return`${midiToNote(o).replace("#","s")}v${e}.[mp3|ogg]`}const velocitiesMap={1:[8],2:[6,12],3:[1,7,15],4:[1,5,10,15],5:[1,4,8,12,16],6:[1,3,7,10,13,16],7:[1,3,6,9,11,13,16],8:[1,3,5,7,9,11,13,16],9:[1,3,5,7,9,11,13,15,16],10:[1,2,3,5,7,9,11,13,15,16],11:[1,2,3,5,7,9,11,13,14,15,16],12:[1,2,3,4,5,7,9,11,13,14,15,16],13:[1,2,3,4,5,7,9,11,12,13,14,15,16],14:[1,2,3,4,5,6,7,9,11,12,13,14,15,16],15:[1,2,3,4,5,6,7,9,10,11,12,13,14,15,16],16:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]},allNotes=[21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,96,99,102,105,108];function getNotesInRange(o,e){return allNotes.filter(s=>o<=s&&s<=e)}const harmonics=[21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87];function getHarmonicsInRange(o,e){return harmonics.filter(s=>o<=s&&s<=e)}function inHarmonicsRange(o){return harmonics[0]<=o&&o<=harmonics[harmonics.length-1]}class Harmonics extends PianoComponent{constructor(e){super(e),this._urls={};const s=getHarmonicsInRange(e.minNote,e.maxNote);for(const a of s)this._urls[a]=getHarmonicsUrl(a)}triggerAttack(e,s,a){this._enabled&&inHarmonicsRange(e)&&this._sampler.triggerAttack(Midi(e).toNote(),s,a*randomBetween(.5,1))}_internalLoad(){return new Promise(e=>{this._sampler=new Sampler$1({baseUrl:this.samples,onload:e,urls:this._urls}).connect(this.output)})}}class Keybed extends PianoComponent{constructor(e){super(e),this._urls={};for(let s=e.minNote;s<=e.maxNote;s++)this._urls[s]=getReleasesUrl(s)}_internalLoad(){return new Promise(e=>{this._buffers=new ToneAudioBuffers(this._urls,e,this.samples)})}start(e,s,a){this._enabled&&this._buffers.has(e)&&new ToneBufferSource({url:this._buffers.get(e),context:this.context}).connect(this.output).start(s,0,void 0,.015*a*randomBetween(.5,1))}}class Pedal extends PianoComponent{constructor(e){super(e),this._downTime=1/0,this._currentSound=null,this._downTime=1/0}_internalLoad(){return new Promise(e=>{this._buffers=new ToneAudioBuffers({down1:"pedalD1.mp3",down2:"pedalD2.mp3",up1:"pedalU1.mp3",up2:"pedalU2.mp3"},e,this.samples)})}_squash(e){this._currentSound&&this._currentSound.state!=="stopped"&&this._currentSound.stop(e),this._currentSound=null}_playSample(e,s){this._enabled&&(this._currentSound=new ToneBufferSource({url:this._buffers.get(`${s}${Math.random()>.5?1:2}`),context:this.context,curve:"exponential",fadeIn:.05,fadeOut:.1}).connect(this.output),this._currentSound.start(e,randomBetween(0,.01),void 0,.1*randomBetween(.5,1)))}down(e){this._squash(e),this._downTime=e,this._playSample(e,"down")}up(e){this._squash(e),this._downTime=1/0,this._playSample(e,"up")}isDown(e){return e>this._downTime}}class PianoString extends ToneAudioNode{constructor(e){super(e),this.name="PianoString",this._urls={},e.notes.forEach(s=>this._urls[s]=getNotesUrl(s,e.velocity)),this.samples=e.samples}load(){return new Promise(e=>{this._sampler=this.output=new Sampler$1({attack:0,baseUrl:this.samples,curve:"exponential",onload:e,release:.4,urls:this._urls,volume:3})})}triggerAttack(e,s,a){this._sampler.triggerAttack(e,s,a)}triggerRelease(e,s){this._sampler.triggerRelease(e,s)}}var __awaiter$2=globalThis&&globalThis.__awaiter||function(o,e,s,a){function c(d){return d instanceof s?d:new s(function(_){_(d)})}return new(s||(s=Promise))(function(d,_){function b(j){try{$(a.next(j))}catch(_e){_(_e)}}function k(j){try{$(a.throw(j))}catch(_e){_(_e)}}function $(j){j.done?d(j.value):c(j.value).then(b,k)}$((a=a.apply(o,e||[])).next())})};class PianoStrings extends PianoComponent{constructor(e){super(e);const s=getNotesInRange(e.minNote,e.maxNote),a=velocitiesMap[e.velocities].slice();this._strings=a.map(c=>new PianoString(Object.assign(e,{notes:s,velocity:c}))),this._activeNotes=new Map}scale(e,s,a,c,d){return(e-s)/(a-s)*(d-c)+c}triggerAttack(e,s,a){const c=this.scale(a,0,1,-.5,this._strings.length-.51),d=Math.max(Math.round(c),0);let _=1+c-d;this._strings.length===1&&(_=a);const b=this._strings[d];this._activeNotes.has(e)&&this.triggerRelease(e,s),this._activeNotes.set(e,b),b.triggerAttack(Midi(e).toNote(),s,_)}triggerRelease(e,s){this._activeNotes.has(e)&&(this._activeNotes.get(e).triggerRelease(Midi(e).toNote(),s),this._activeNotes.delete(e))}_internalLoad(){return __awaiter$2(this,void 0,void 0,function*(){yield Promise.all(this._strings.map(e=>__awaiter$2(this,void 0,void 0,function*(){yield e.load(),e.connect(this.output)})))})}}var __awaiter$1=globalThis&&globalThis.__awaiter||function(o,e,s,a){function c(d){return d instanceof s?d:new s(function(_){_(d)})}return new(s||(s=Promise))(function(d,_){function b(j){try{$(a.next(j))}catch(_e){_(_e)}}function k(j){try{$(a.throw(j))}catch(_e){_(_e)}}function $(j){j.done?d(j.value):c(j.value).then(b,k)}$((a=a.apply(o,e||[])).next())})};class Piano$1 extends ToneAudioNode{constructor(){super(optionsFromArguments(Piano$1.getDefaults(),arguments)),this.name="Piano",this.input=void 0,this.output=new Gain$1({context:this.context}),this._heldNotes=new Map,this._loaded=!1;const e=optionsFromArguments(Piano$1.getDefaults(),arguments);e.url.endsWith("/")||(e.url+="/"),this.maxPolyphony=e.maxPolyphony,this._heldNotes=new Map,this._sustainedNotes=new Map,this._strings=new PianoStrings(Object.assign({},e,{enabled:!0,samples:e.url,volume:e.volume.strings})).connect(this.output),this.strings=this._strings.volume,this._pedal=new Pedal(Object.assign({},e,{enabled:e.pedal,samples:e.url,volume:e.volume.pedal})).connect(this.output),this.pedal=this._pedal.volume,this._keybed=new Keybed(Object.assign({},e,{enabled:e.release,samples:e.url,volume:e.volume.keybed})).connect(this.output),this.keybed=this._keybed.volume,this._harmonics=new Harmonics(Object.assign({},e,{enabled:e.release,samples:e.url,volume:e.volume.harmonics})).connect(this.output),this.harmonics=this._harmonics.volume}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{maxNote:108,minNote:21,pedal:!0,release:!1,url:"https://tambien.github.io/Piano/audio/",velocities:1,maxPolyphony:32,volume:{harmonics:0,keybed:0,pedal:0,strings:0}})}load(){return __awaiter$1(this,void 0,void 0,function*(){yield Promise.all([this._strings.load(),this._pedal.load(),this._keybed.load(),this._harmonics.load()]),this._loaded=!0})}get loaded(){return this._loaded}pedalDown({time:e=this.immediate()}={}){return this.loaded&&(e=this.toSeconds(e),this._pedal.isDown(e)||this._pedal.down(e)),this}pedalUp({time:e=this.immediate()}={}){if(this.loaded){const s=this.toSeconds(e);this._pedal.isDown(s)&&(this._pedal.up(s),this._sustainedNotes.forEach((a,c)=>{this._heldNotes.has(c)||this._strings.triggerRelease(c,s)}),this._sustainedNotes.clear())}return this}keyDown({note:e,midi:s,time:a=this.immediate(),velocity:c=.8}){return this.loaded&&this.maxPolyphony>this._heldNotes.size+this._sustainedNotes.size?(a=this.toSeconds(a),isString(e)&&(s=Math.round(Midi(e).toMidi())),this._heldNotes.has(s)||(this._heldNotes.set(s,{time:a,velocity:c}),this._strings.triggerAttack(s,a,c))):console.warn("samples not loaded"),this}keyUp({note:e,midi:s,time:a=this.immediate(),velocity:c=.8}){if(this.loaded&&(a=this.toSeconds(a),isString(e)&&(s=Math.round(Midi(e).toMidi())),this._heldNotes.has(s))){const d=this._heldNotes.get(s);this._heldNotes.delete(s);const _=Math.pow(Math.max(a-d.time,.1),.7),b=d.velocity;let k=3/_*b*c;k=Math.max(k,.4),k=Math.min(k,4),this._pedal.isDown(a)?this._sustainedNotes.has(s)||this._sustainedNotes.set(s,a):(this._strings.triggerRelease(s,a),this._harmonics.triggerAttack(s,a,k)),this._keybed.start(s,a,c)}return this}stopAll(){return this.pedalUp(),this._heldNotes.forEach((e,s)=>{this.keyUp({midi:s})}),this}}var events={exports:{}},R=typeof Reflect=="object"?Reflect:null,ReflectApply=R&&typeof R.apply=="function"?R.apply:function o(e,s,a){return Function.prototype.apply.call(e,s,a)},ReflectOwnKeys;R&&typeof R.ownKeys=="function"?ReflectOwnKeys=R.ownKeys:Object.getOwnPropertySymbols?ReflectOwnKeys=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:ReflectOwnKeys=function(e){return Object.getOwnPropertyNames(e)};function ProcessEmitWarning(o){console&&console.warn&&console.warn(o)}var NumberIsNaN=Number.isNaN||function o(e){return e!==e};function EventEmitter(){EventEmitter.init.call(this)}events.exports=EventEmitter;events.exports.once=once;EventEmitter.EventEmitter=EventEmitter;EventEmitter.prototype._events=void 0;EventEmitter.prototype._eventsCount=0;EventEmitter.prototype._maxListeners=void 0;var defaultMaxListeners=10;function checkListener(o){if(typeof o!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof o)}Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:!0,get:function(){return defaultMaxListeners},set:function(o){if(typeof o!="number"||o<0||NumberIsNaN(o))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+o+".");defaultMaxListeners=o}});EventEmitter.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};EventEmitter.prototype.setMaxListeners=function o(e){if(typeof e!="number"||e<0||NumberIsNaN(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function _getMaxListeners(o){return o._maxListeners===void 0?EventEmitter.defaultMaxListeners:o._maxListeners}EventEmitter.prototype.getMaxListeners=function o(){return _getMaxListeners(this)};EventEmitter.prototype.emit=function o(e){for(var s=[],a=1;a0&&(_=s[0]),_ instanceof Error)throw _;var b=new Error("Unhandled error."+(_?" ("+_.message+")":""));throw b.context=_,b}var k=d[e];if(k===void 0)return!1;if(typeof k=="function")ReflectApply(k,this,s);else for(var $=k.length,j=arrayClone(k,$),a=0;a<$;++a)ReflectApply(j[a],this,s);return!0};function _addListener(o,e,s,a){var c,d,_;if(checkListener(s),d=o._events,d===void 0?(d=o._events=Object.create(null),o._eventsCount=0):(d.newListener!==void 0&&(o.emit("newListener",e,s.listener?s.listener:s),d=o._events),_=d[e]),_===void 0)_=d[e]=s,++o._eventsCount;else if(typeof _=="function"?_=d[e]=a?[s,_]:[_,s]:a?_.unshift(s):_.push(s),c=_getMaxListeners(o),c>0&&_.length>c&&!_.warned){_.warned=!0;var b=new Error("Possible EventEmitter memory leak detected. "+_.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");b.name="MaxListenersExceededWarning",b.emitter=o,b.type=e,b.count=_.length,ProcessEmitWarning(b)}return o}EventEmitter.prototype.addListener=function o(e,s){return _addListener(this,e,s,!1)};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.prependListener=function o(e,s){return _addListener(this,e,s,!0)};function onceWrapper(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _onceWrap(o,e,s){var a={fired:!1,wrapFn:void 0,target:o,type:e,listener:s},c=onceWrapper.bind(a);return c.listener=s,a.wrapFn=c,c}EventEmitter.prototype.once=function o(e,s){return checkListener(s),this.on(e,_onceWrap(this,e,s)),this};EventEmitter.prototype.prependOnceListener=function o(e,s){return checkListener(s),this.prependListener(e,_onceWrap(this,e,s)),this};EventEmitter.prototype.removeListener=function o(e,s){var a,c,d,_,b;if(checkListener(s),c=this._events,c===void 0)return this;if(a=c[e],a===void 0)return this;if(a===s||a.listener===s)--this._eventsCount===0?this._events=Object.create(null):(delete c[e],c.removeListener&&this.emit("removeListener",e,a.listener||s));else if(typeof a!="function"){for(d=-1,_=a.length-1;_>=0;_--)if(a[_]===s||a[_].listener===s){b=a[_].listener,d=_;break}if(d<0)return this;d===0?a.shift():spliceOne(a,d),a.length===1&&(c[e]=a[0]),c.removeListener!==void 0&&this.emit("removeListener",e,b||s)}return this};EventEmitter.prototype.off=EventEmitter.prototype.removeListener;EventEmitter.prototype.removeAllListeners=function o(e){var s,a,c;if(a=this._events,a===void 0)return this;if(a.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):a[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete a[e]),this;if(arguments.length===0){var d=Object.keys(a),_;for(c=0;c=0;c--)this.removeListener(e,s[c]);return this};function _listeners(o,e,s){var a=o._events;if(a===void 0)return[];var c=a[e];return c===void 0?[]:typeof c=="function"?s?[c.listener||c]:[c]:s?unwrapListeners(c):arrayClone(c,c.length)}EventEmitter.prototype.listeners=function o(e){return _listeners(this,e,!0)};EventEmitter.prototype.rawListeners=function o(e){return _listeners(this,e,!1)};EventEmitter.listenerCount=function(o,e){return typeof o.listenerCount=="function"?o.listenerCount(e):listenerCount.call(o,e)};EventEmitter.prototype.listenerCount=listenerCount;function listenerCount(o){var e=this._events;if(e!==void 0){var s=e[o];if(typeof s=="function")return 1;if(s!==void 0)return s.length}return 0}EventEmitter.prototype.eventNames=function o(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]};function arrayClone(o,e){for(var s=new Array(e),a=0;a>4,j=15&_.data[0],_e=1+j;if(1<_.data.length&&(b=_.data[1],k=2<_.data.length?_.data[2]:void 0),a.nrpnEventsEnabled&&$===a.MIDI_CHANNEL_MESSAGES.controlchange&&(b>=a.MIDI_NRPN_MESSAGES.increment&&b<=a.MIDI_NRPN_MESSAGES.parammsb||b===a.MIDI_NRPN_MESSAGES.entrymsb||b===a.MIDI_NRPN_MESSAGES.entrylsb)){var et={target:this,type:"controlchange",data:_.data,timestamp:_.timeStamp,channel:_e,controller:{number:b,name:this.getCcNameByNumber(b)},value:k};if(et.controller.number===a.MIDI_NRPN_MESSAGES.parammsb&&et.value!=a.MIDI_NRPN_MESSAGES.nullactiveparameter)a._nrpnBuffer[j]=[],a._nrpnBuffer[j][0]=et;else if(a._nrpnBuffer[j].length===1&&et.controller.number===a.MIDI_NRPN_MESSAGES.paramlsb)a._nrpnBuffer[j].push(et);else if(a._nrpnBuffer[j].length!==2||et.controller.number!==a.MIDI_NRPN_MESSAGES.increment&&et.controller.number!==a.MIDI_NRPN_MESSAGES.decrement&&et.controller.number!==a.MIDI_NRPN_MESSAGES.entrymsb)if(a._nrpnBuffer[j].length===3&&a._nrpnBuffer[j][2].number===a.MIDI_NRPN_MESSAGES.entrymsb&&et.controller.number===a.MIDI_NRPN_MESSAGES.entrylsb)a._nrpnBuffer[j].push(et);else if(3<=a._nrpnBuffer[j].length&&a._nrpnBuffer[j].length<=4&&et.controller.number===a.MIDI_NRPN_MESSAGES.parammsb&&et.value===a.MIDI_NRPN_MESSAGES.nullactiveparameter)a._nrpnBuffer[j].push(et);else if(4<=a._nrpnBuffer[j].length&&a._nrpnBuffer[j].length<=5&&et.controller.number===a.MIDI_NRPN_MESSAGES.paramlsb&&et.value===a.MIDI_NRPN_MESSAGES.nullactiveparameter){a._nrpnBuffer[j].push(et);var tt=[];a._nrpnBuffer[j].forEach(function(at){tt.push(at.data)});var nt=a._nrpnBuffer[j][0].value<<7|a._nrpnBuffer[j][1].value,st=a._nrpnBuffer[j][2].value;a._nrpnBuffer[j].length===6&&(st=a._nrpnBuffer[j][2].value<<7|a._nrpnBuffer[j][3].value);var rt="";switch(a._nrpnBuffer[j][2].controller.number){case a.MIDI_NRPN_MESSAGES.entrymsb:rt=a._nrpnTypes[0];break;case a.MIDI_NRPN_MESSAGES.increment:rt=a._nrpnTypes[1];break;case a.MIDI_NRPN_MESSAGES.decrement:rt=a._nrpnTypes[2];break;default:throw new Error("The NPRN type was unidentifiable.")}var it={timestamp:et.timestamp,channel:et.channel,type:"nrpn",data:tt,controller:{number:nt,type:rt,name:"Non-Registered Parameter "+nt},value:st};a._nrpnBuffer[j]=[],this._userHandlers.channel[it.type]&&this._userHandlers.channel[it.type][it.channel]&&this._userHandlers.channel[it.type][it.channel].forEach(function(at){at(it)})}else a._nrpnBuffer[j]=[];else a._nrpnBuffer[j].push(et)}},c.prototype._parseChannelEvent=function(_){var b,k,$=_.data[0]>>4,j=1+(15&_.data[0]);1<_.data.length&&(b=_.data[1],k=2<_.data.length?_.data[2]:void 0);var _e={target:this,data:_.data,timestamp:_.timeStamp,channel:j};$===a.MIDI_CHANNEL_MESSAGES.noteoff||$===a.MIDI_CHANNEL_MESSAGES.noteon&&k===0?(_e.type="noteoff",_e.note={number:b,name:a._notes[b%12],octave:a.getOctave(b)},_e.velocity=k/127,_e.rawVelocity=k):$===a.MIDI_CHANNEL_MESSAGES.noteon?(_e.type="noteon",_e.note={number:b,name:a._notes[b%12],octave:a.getOctave(b)},_e.velocity=k/127,_e.rawVelocity=k):$===a.MIDI_CHANNEL_MESSAGES.keyaftertouch?(_e.type="keyaftertouch",_e.note={number:b,name:a._notes[b%12],octave:a.getOctave(b)},_e.value=k/127):$===a.MIDI_CHANNEL_MESSAGES.controlchange&&0<=b&&b<=119?(_e.type="controlchange",_e.controller={number:b,name:this.getCcNameByNumber(b)},_e.value=k):$===a.MIDI_CHANNEL_MESSAGES.channelmode&&120<=b&&b<=127?(_e.type="channelmode",_e.controller={number:b,name:this.getChannelModeByNumber(b)},_e.value=k):$===a.MIDI_CHANNEL_MESSAGES.programchange?(_e.type="programchange",_e.value=b):$===a.MIDI_CHANNEL_MESSAGES.channelaftertouch?(_e.type="channelaftertouch",_e.value=b/127):$===a.MIDI_CHANNEL_MESSAGES.pitchbend?(_e.type="pitchbend",_e.value=((k<<7)+b-8192)/8192):_e.type="unknownchannelmessage",this._userHandlers.channel[_e.type]&&this._userHandlers.channel[_e.type][j]&&this._userHandlers.channel[_e.type][j].forEach(function(et){et(_e)})},c.prototype.getCcNameByNumber=function(_){if(!(0<=(_=Math.floor(_))&&_<=119))throw new RangeError("The control change number must be between 0 and 119.");for(var b in a.MIDI_CONTROL_CHANGE_MESSAGES)if(Object.prototype.hasOwnProperty.call(a.MIDI_CONTROL_CHANGE_MESSAGES,b)&&_===a.MIDI_CONTROL_CHANGE_MESSAGES[b])return b},c.prototype.getChannelModeByNumber=function(_){if(!(120<=(_=Math.floor(_))&&status<=127))throw new RangeError("The control change number must be between 120 and 127.");for(var b in a.MIDI_CHANNEL_MODE_MESSAGES)if(Object.prototype.hasOwnProperty.call(a.MIDI_CHANNEL_MODE_MESSAGES,b)&&_===a.MIDI_CHANNEL_MODE_MESSAGES[b])return b},c.prototype._parseSystemEvent=function(_){var b=_.data[0],k={target:this,data:_.data,timestamp:_.timeStamp};b===a.MIDI_SYSTEM_MESSAGES.sysex?k.type="sysex":b===a.MIDI_SYSTEM_MESSAGES.timecode?k.type="timecode":b===a.MIDI_SYSTEM_MESSAGES.songposition?k.type="songposition":b===a.MIDI_SYSTEM_MESSAGES.songselect?(k.type="songselect",k.song=_.data[1]):b===a.MIDI_SYSTEM_MESSAGES.tuningrequest?k.type="tuningrequest":b===a.MIDI_SYSTEM_MESSAGES.clock?k.type="clock":b===a.MIDI_SYSTEM_MESSAGES.start?k.type="start":b===a.MIDI_SYSTEM_MESSAGES.continue?k.type="continue":b===a.MIDI_SYSTEM_MESSAGES.stop?k.type="stop":b===a.MIDI_SYSTEM_MESSAGES.activesensing?k.type="activesensing":b===a.MIDI_SYSTEM_MESSAGES.reset?k.type="reset":k.type="unknownsystemmessage",this._userHandlers.system[k.type]&&this._userHandlers.system[k.type].forEach(function($){$(k)})},d.prototype.send=function(_,b,k){if(!(128<=_&&_<=255))throw new RangeError("The status byte must be an integer between 128 (0x80) and 255 (0xFF).");b===void 0&&(b=[]),Array.isArray(b)||(b=[b]);var $=[];return b.forEach(function(j){var _e=Math.floor(j);if(!(0<=_e&&_e<=255))throw new RangeError("Data bytes must be integers between 0 (0x00) and 255 (0xFF).");$.push(_e)}),this._midiOutput.send([_].concat($),parseFloat(k)||0),this},d.prototype.sendSysex=function(_,b,k){if(!a.sysexEnabled)throw new Error("Sysex message support must first be activated.");return k=k||{},_=[].concat(_),b.forEach(function($){if($<0||127<$)throw new RangeError("The data bytes of a sysex message must be integers between 0 (0x00) and 127 (0x7F).")}),b=_.concat(b,a.MIDI_SYSTEM_MESSAGES.sysexend),this.send(a.MIDI_SYSTEM_MESSAGES.sysex,b,this._parseTimeParameter(k.time)),this},d.prototype.sendTimecodeQuarterFrame=function(_,b){return b=b||{},this.send(a.MIDI_SYSTEM_MESSAGES.timecode,_,this._parseTimeParameter(b.time)),this},d.prototype.sendSongPosition=function(_,b){b=b||{};var k=(_=Math.floor(_)||0)>>7&127,$=127&_;return this.send(a.MIDI_SYSTEM_MESSAGES.songposition,[k,$],this._parseTimeParameter(b.time)),this},d.prototype.sendSongSelect=function(_,b){if(b=b||{},!(0<=(_=Math.floor(_))&&_<=127))throw new RangeError("The song number must be between 0 and 127.");return this.send(a.MIDI_SYSTEM_MESSAGES.songselect,[_],this._parseTimeParameter(b.time)),this},d.prototype.sendTuningRequest=function(_){return _=_||{},this.send(a.MIDI_SYSTEM_MESSAGES.tuningrequest,void 0,this._parseTimeParameter(_.time)),this},d.prototype.sendClock=function(_){return _=_||{},this.send(a.MIDI_SYSTEM_MESSAGES.clock,void 0,this._parseTimeParameter(_.time)),this},d.prototype.sendStart=function(_){return _=_||{},this.send(a.MIDI_SYSTEM_MESSAGES.start,void 0,this._parseTimeParameter(_.time)),this},d.prototype.sendContinue=function(_){return _=_||{},this.send(a.MIDI_SYSTEM_MESSAGES.continue,void 0,this._parseTimeParameter(_.time)),this},d.prototype.sendStop=function(_){return _=_||{},this.send(a.MIDI_SYSTEM_MESSAGES.stop,void 0,this._parseTimeParameter(_.time)),this},d.prototype.sendActiveSensing=function(_){return _=_||{},this.send(a.MIDI_SYSTEM_MESSAGES.activesensing,[],this._parseTimeParameter(_.time)),this},d.prototype.sendReset=function(_){return _=_||{},this.send(a.MIDI_SYSTEM_MESSAGES.reset,void 0,this._parseTimeParameter(_.time)),this},d.prototype.stopNote=function(_,b,k){if(_==="all")return this.sendChannelMode("allnotesoff",0,b,k);var $=64;return(k=k||{}).rawVelocity?!isNaN(k.velocity)&&0<=k.velocity&&k.velocity<=127&&($=k.velocity):!isNaN(k.velocity)&&0<=k.velocity&&k.velocity<=1&&($=127*k.velocity),this._convertNoteToArray(_).forEach(function(j){a.toMIDIChannels(b).forEach(function(_e){this.send((a.MIDI_CHANNEL_MESSAGES.noteoff<<4)+(_e-1),[j,Math.round($)],this._parseTimeParameter(k.time))}.bind(this))}.bind(this)),this},d.prototype.playNote=function(_,b,k){var $,j=64;if((k=k||{}).rawVelocity?!isNaN(k.velocity)&&0<=k.velocity&&k.velocity<=127&&(j=k.velocity):!isNaN(k.velocity)&&0<=k.velocity&&k.velocity<=1&&(j=127*k.velocity),$=this._parseTimeParameter(k.time),this._convertNoteToArray(_).forEach(function(et){a.toMIDIChannels(b).forEach(function(tt){this.send((a.MIDI_CHANNEL_MESSAGES.noteon<<4)+(tt-1),[et,Math.round(j)],$)}.bind(this))}.bind(this)),!isNaN(k.duration)){k.duration<=0&&(k.duration=0);var _e=64;k.rawVelocity?!isNaN(k.release)&&0<=k.release&&k.release<=127&&(_e=k.release):!isNaN(k.release)&&0<=k.release&&k.release<=1&&(_e=127*k.release),this._convertNoteToArray(_).forEach(function(et){a.toMIDIChannels(b).forEach(function(tt){this.send((a.MIDI_CHANNEL_MESSAGES.noteoff<<4)+(tt-1),[et,Math.round(_e)],($||a.time)+k.duration)}.bind(this))}.bind(this))}return this},d.prototype.sendKeyAftertouch=function(_,b,k,$){var j=this;if($=$||{},b<1||16>7&127,tt=127&_e;return a.toMIDIChannels(b).forEach(function(){$.setRegisteredParameter("channelcoarsetuning",j,b,{time:k.time}),$.setRegisteredParameter("channelfinetuning",[et,tt],b,{time:k.time})}),this},d.prototype.setTuningProgram=function(_,b,k){var $=this;if(k=k||{},!(0<=(_=Math.floor(_))&&_<=127))throw new RangeError("The program value must be between 0 and 127");return a.toMIDIChannels(b).forEach(function(){$.setRegisteredParameter("tuningprogram",_,b,{time:k.time})}),this},d.prototype.setTuningBank=function(_,b,k){var $=this;if(k=k||{},!(0<=(_=Math.floor(_)||0)&&_<=127))throw new RangeError("The bank value must be between 0 and 127");return a.toMIDIChannels(b).forEach(function(){$.setRegisteredParameter("tuningbank",_,b,{time:k.time})}),this},d.prototype.sendChannelMode=function(_,b,k,$){if($=$||{},typeof _=="string"){if(!(_=a.MIDI_CHANNEL_MODE_MESSAGES[_]))throw new TypeError("Invalid channel mode message name.")}else if(!(120<=(_=Math.floor(_))&&_<=127))throw new RangeError("Channel mode numerical identifiers must be between 120 and 127.");if((b=Math.floor(b)||0)<0||127>7&127,et=127&j;return a.toMIDIChannels(b).forEach(function(tt){$.send((a.MIDI_CHANNEL_MESSAGES.pitchbend<<4)+(tt-1),[et,_e],$._parseTimeParameter(k.time))}),this},d.prototype._parseTimeParameter=function(_){var b,k=parseFloat(_);return typeof _=="string"&&_.substring(0,1)==="+"?k&&0a.time&&(b=k),b},d.prototype._convertNoteToArray=function(_){var b=[];return Array.isArray(_)||(_=[_]),_.forEach(function(k){b.push(a.guessNoteNumber(k))}),b},o.exports?o.exports=a:e.WebMidi||(e.WebMidi=a)})(commonjsGlobal)})(webmidi_min);var _WebMidi=webmidi_min.exports,__awaiter=globalThis&&globalThis.__awaiter||function(o,e,s,a){function c(d){return d instanceof s?d:new s(function(_){_(d)})}return new(s||(s=Promise))(function(d,_){function b(j){try{$(a.next(j))}catch(_e){_(_e)}}function k(j){try{$(a.throw(j))}catch(_e){_(_e)}}function $(j){j.done?d(j.value):c(j.value).then(b,k)}$((a=a.apply(o,e||[])).next())})};class MidiInput extends events.exports.EventEmitter{constructor(e="all"){super(),this.deviceId=e,MidiInput.enabled().then(()=>{_WebMidi.addListener("connected",s=>{s.port.type==="input"&&this._addListeners(s.port)}),_WebMidi.addListener("disconnected",s=>{this._removeListeners(s.port)}),_WebMidi.inputs.forEach(s=>this._addListeners(s))})}_addListeners(e){MidiInput.connectedDevices.has(e.id)||(MidiInput.connectedDevices.set(e.id,e),this.emit("connect",this._inputToDevice(e)),e.addListener("noteon","all",s=>{(this.deviceId==="all"||this.deviceId===e.id)&&this.emit("keyDown",{note:`${s.note.name}${s.note.octave}`,midi:s.note.number,velocity:s.velocity,device:this._inputToDevice(e)})}),e.addListener("noteoff","all",s=>{(this.deviceId==="all"||this.deviceId===e.id)&&this.emit("keyUp",{note:`${s.note.name}${s.note.octave}`,midi:s.note.number,velocity:s.velocity,device:this._inputToDevice(e)})}),e.addListener("controlchange","all",s=>{(this.deviceId==="all"||this.deviceId===e.id)&&s.controller.name==="holdpedal"&&this.emit(s.value?"pedalDown":"pedalUp",{device:this._inputToDevice(e)})}))}_inputToDevice(e){return{name:e.name,id:e.id,manufacturer:e.manufacturer}}_removeListeners(e){if(MidiInput.connectedDevices.has(e.id)){const s=MidiInput.connectedDevices.get(e.id);this.emit("disconnect",this._inputToDevice(s)),MidiInput.connectedDevices.delete(e.id),s.removeListener("noteon"),s.removeListener("noteoff"),s.removeListener("controlchange")}}emit(e,s){return super.emit(e,s)}on(e,s){return super.on(e,s),this}once(e,s){return super.once(e,s),this}off(e,s){return super.off(e,s),this}static enabled(){return __awaiter(this,void 0,void 0,function*(){MidiInput._isEnabled||(yield new Promise((e,s)=>{_WebMidi.enable(a=>{a?s(a):(MidiInput._isEnabled=!0,e())})}))})}static getDevices(){return __awaiter(this,void 0,void 0,function*(){return yield MidiInput.enabled(),_WebMidi.inputs})}}MidiInput.connectedDevices=new Map;MidiInput._isEnabled=!1;var tonePiano=Object.freeze(Object.defineProperty({__proto__:null,Piano:Piano$1,MidiInput},Symbol.toStringTag,{value:"Module"}));const Tone=_Tone,{AutoFilter,Destination,Filter,Gain,isNote:isNote$1,Synth,PolySynth,MembraneSynth,MetalSynth,MonoSynth,AMSynth,DuoSynth,FMSynth,NoiseSynth,PluckSynth,Sampler,getDestination,Players}=Tone,{Piano}=tonePiano,getDefaultSynth=()=>{const o=new PolySynth().chain(new Gain(.5),getDestination());return o.set({oscillator:{type:"triangle"},envelope:{release:.01}}),o};Pattern$5.prototype.tone=function(o){return this._withHap(e=>{const s=(a,c)=>{var b,k;let d,_=(k=(b=c.context)==null?void 0:b.velocity)!=null?k:.75;if(o instanceof PluckSynth)d=getPlayableNoteValue(c),o.triggerAttack(d,a);else if(o instanceof NoiseSynth)o.triggerAttackRelease(c.duration.valueOf(),a);else if(o instanceof Piano)d=getPlayableNoteValue(c),o.keyDown({note:d,time:a,velocity:_}),o.keyUp({note:d,time:a+c.duration.valueOf(),velocity:_});else if(o instanceof Sampler)d=getPlayableNoteValue(c),o.triggerAttackRelease(d,c.duration.valueOf(),a,_);else if(o instanceof Players){if(!o.has(c.value))throw new Error(`name "${c.value}" not defined for players`);const $=o.player(c.value);$.start(a),$.stop(a+c.duration.valueOf())}else d=getPlayableNoteValue(c),o.triggerAttackRelease(d,c.duration.valueOf(),a,_)};return e.setContext(wt(Ot({},e.context),{instrument:o,onTrigger:s}))})};Pattern$5.prototype.define("tone",(o,e)=>e.tone(o),{composable:!0,patternified:!1});const amsynth=o=>new AMSynth(o),duosynth=o=>new DuoSynth(o),fmsynth=o=>new FMSynth(o),membrane=o=>new MembraneSynth(o),metal=o=>new MetalSynth(o),monosynth=o=>new MonoSynth(o),noise=o=>new NoiseSynth(o),pluck=o=>new PluckSynth(o),polysynth=o=>new PolySynth(o),sampler=(o,e)=>new Promise(s=>{const a=new Sampler(o,()=>s(a),e)}),players=(o,e="")=>(o=e?Object.fromEntries(Object.entries(o).map(([s,a])=>[s,e+a])):o,new Promise(s=>{const a=new Players(o,()=>s(a))})),synth=o=>new Synth(o),piano=async(o={velocities:1})=>{const e=new Piano(o);return await e.load(),e},vol=o=>new Gain(o),lowpass=o=>new Filter(o,"lowpass"),highpass=o=>new Filter(o,"highpass"),adsr=(o,e=.1,s=.4,a=.01)=>({envelope:{attack:o,decay:e,sustain:s,release:a}}),osc=o=>({oscillator:{type:o}}),out=()=>getDestination(),getDrawContext$1=(o="test-canvas")=>{let e=document.querySelector("#"+o);return e||(e=document.createElement("canvas"),e.id=o,e.width=window.innerWidth,e.height=window.innerHeight,e.style="pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:5",document.body.prepend(e)),e.getContext("2d")};Pattern$5.prototype.draw=function(o,{from:e,to:s,onQuery:a}){window.strudelAnimation&&cancelAnimationFrame(window.strudelAnimation);const c=getDrawContext$1();let d,_=[];const b=k=>{const $=Tone.getTransport().seconds;if(e!==void 0&&s!==void 0){const j=Math.floor($);if(d!==j){d=j;const _e=j+e,et=j+s;setTimeout(()=>{_=this._asNumber(!0).query(new State(new TimeSpan(_e,et))).filter(Boolean).filter(tt=>tt.part.begin.equals(tt.whole.begin)),a==null||a(_)},0)}}o(c,_,$,k),window.strudelAnimation=requestAnimationFrame(b)};return requestAnimationFrame(b),this};const cleanupDraw=()=>{getDrawContext$1().clearRect(0,0,window.innerWidth,window.innerHeight),window.strudelAnimation&&cancelAnimationFrame(window.strudelAnimation),window.strudelScheduler&&clearInterval(window.strudelScheduler)};var dist$7={},tokenizer={},utils$1={},unicode$2={};Object.defineProperty(unicode$2,"__esModule",{value:!0});unicode$2.whitespaceArray=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];unicode$2.whitespaceBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!0,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1];unicode$2.idStartLargeRegex=/^[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]$/;unicode$2.idStartBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1];unicode$2.idContinueLargeRegex=/^[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]$/;unicode$2.idContinueBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1];Object.defineProperty(utils$1,"__esModule",{value:!0});utils$1.isStrictModeReservedWord=isStrictModeReservedWord;utils$1.isWhiteSpace=isWhiteSpace;utils$1.isLineTerminator=isLineTerminator;utils$1.isIdentifierStart=isIdentifierStart$1;utils$1.isIdentifierPart=isIdentifierPart$1;utils$1.isDecimalDigit=isDecimalDigit;utils$1.getHexValue=getHexValue;var _unicode$2=unicode$2,strictReservedWords=["null","true","false","implements","interface","package","private","protected","public","static","let","if","in","do","var","for","new","try","this","else","case","void","with","enum","while","break","catch","throw","const","yield","class","super","return","typeof","delete","switch","export","import","default","finally","extends","function","continue","debugger","instanceof"];function isStrictModeReservedWord(o){return strictReservedWords.indexOf(o)!==-1}function isWhiteSpace(o){return o<128?_unicode$2.whitespaceBool[o]:o===160||o>5759&&_unicode$2.whitespaceArray.indexOf(o)!==-1}function isLineTerminator(o){return o===10||o===13||o===8232||o===8233}function isIdentifierStart$1(o){return o<128?_unicode$2.idStartBool[o]:_unicode$2.idStartLargeRegex.test(String.fromCodePoint(o))}function isIdentifierPart$1(o){return o<128?_unicode$2.idContinueBool[o]:_unicode$2.idContinueLargeRegex.test(String.fromCodePoint(o))}function isDecimalDigit(o){return o>=48&&o<=57}function getHexValue(o){return o>="0"&&o<="9"?o.charCodeAt(0)-48:o>="a"&&o<="f"?o.charCodeAt(0)-87:o>="A"&&o<="F"?o.charCodeAt(0)-55:-1}var errors={};Object.defineProperty(errors,"__esModule",{value:!0});errors.ErrorMessages={UNEXPECTED_TOKEN:function o(e){return"Unexpected token "+JSON.stringify(e)},UNEXPECTED_ILLEGAL_TOKEN:function o(e){return"Unexpected "+JSON.stringify(e)},UNEXPECTED_ESCAPED_KEYWORD:"Unexpected escaped keyword",UNEXPECTED_NUMBER:"Unexpected number",UNEXPECTED_STRING:"Unexpected string",UNEXPECTED_IDENTIFIER:"Unexpected identifier",UNEXPECTED_RESERVED_WORD:"Unexpected reserved word",UNEXPECTED_TEMPLATE:"Unexpected template",UNEXPECTED_EOS:"Unexpected end of input",UNEXPECTED_LINE_TERMINATOR:"Unexpected line terminator",UNEXPECTED_COMMA_AFTER_REST:"Unexpected comma after rest",UNEXPECTED_REST_PARAMETERS_INITIALIZATION:"Rest parameter may not have a default initializer",NEWLINE_AFTER_THROW:"Illegal newline after throw",UNTERMINATED_REGEXP:"Invalid regular expression: missing /",INVALID_LAST_REST_PARAMETER:"Rest parameter must be last formal parameter",INVALID_REST_PARAMETERS_INITIALIZATION:"Rest parameter may not have a default initializer",INVALID_REGEXP_FLAGS:"Invalid regular expression flags",INVALID_REGEX:"Invalid regular expression",INVALID_LHS_IN_ASSIGNMENT:"Invalid left-hand side in assignment",INVALID_LHS_IN_BINDING:"Invalid left-hand side in binding",INVALID_LHS_IN_FOR_IN:"Invalid left-hand side in for-in",INVALID_LHS_IN_FOR_OF:"Invalid left-hand side in for-of",INVALID_LHS_IN_FOR_AWAIT:"Invalid left-hand side in for-await",INVALID_UPDATE_OPERAND:"Increment/decrement target must be an identifier or member expression",INVALID_EXPONENTIATION_LHS:"Unary expressions as the left operand of an exponentation expression must be disambiguated with parentheses",MULTIPLE_DEFAULTS_IN_SWITCH:"More than one default clause in switch statement",NO_CATCH_OR_FINALLY:"Missing catch or finally after try",ILLEGAL_RETURN:"Illegal return statement",ILLEGAL_ARROW_FUNCTION_PARAMS:"Illegal arrow function parameter list",INVALID_ASYNC_PARAMS:"Async function parameters must not contain await expressions",INVALID_VAR_INIT_FOR_IN:"Invalid variable declaration in for-in statement",INVALID_VAR_INIT_FOR_OF:"Invalid variable declaration in for-of statement",INVALID_VAR_INIT_FOR_AWAIT:"Invalid variable declaration in for-await statement",UNINITIALIZED_BINDINGPATTERN_IN_FOR_INIT:"Binding pattern appears without initializer in for statement init",ILLEGAL_PROPERTY:"Illegal property initializer",INVALID_ID_BINDING_STRICT_MODE:function o(e){return"The identifier "+JSON.stringify(e)+" must not be in binding position in strict mode"},INVALID_ID_IN_LABEL_STRICT_MODE:function o(e){return"The identifier "+JSON.stringify(e)+" must not be in label position in strict mode"},INVALID_ID_IN_EXPRESSION_STRICT_MODE:function o(e){return"The identifier "+JSON.stringify(e)+" must not be in expression position in strict mode"},INVALID_CALL_TO_SUPER:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',INVALID_DELETE_STRICT_MODE:"Identifier expressions must not be deleted in strict mode",DUPLICATE_BINDING:function o(e){return"Duplicate binding "+JSON.stringify(e)},ILLEGAL_ID_IN_LEXICAL_DECLARATION:function o(e){return"Lexical declarations must not have a binding named "+JSON.stringify(e)},UNITIALIZED_CONST:"Constant lexical declarations must have an initialiser",ILLEGAL_LABEL_IN_BODY:function o(e){return"The body of a "+e+" statement must not be a labeled function declaration"},ILLEGEAL_LABEL_IN_IF:"The consequent of an if statement must not be a labeled function declaration",ILLEGAL_LABEL_IN_ELSE:"The alternate of an if statement must not be a labeled function declaration",ILLEGAL_CONTINUE_WITHOUT_ITERATION_WITH_ID:function o(e){return"Continue statement must be nested within an iteration statement with label "+JSON.stringify(e)},ILLEGAL_CONTINUE_WITHOUT_ITERATION:"Continue statement must be nested within an iteration statement",ILLEGAL_BREAK_WITHOUT_ITERATION_OR_SWITCH:"Break statement must be nested within an iteration statement or a switch statement",ILLEGAL_WITH_STRICT_MODE:"Strict mode code must not include a with statement",ILLEGAL_ACCESS_SUPER_MEMBER:"Member access on super must be in a method",ILLEGAL_SUPER_CALL:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',DUPLICATE_LABEL_DECLARATION:function o(e){return"Label "+JSON.stringify(e)+" has already been declared"},ILLEGAL_BREAK_WITHIN_LABEL:function o(e){return"Break statement must be nested within a statement with label "+JSON.stringify(e)},ILLEGAL_YIELD_EXPRESSIONS:function o(e){return e+" parameters must not contain yield expressions"},ILLEGAL_YIELD_IDENTIFIER:'"yield" may not be used as an identifier in this context',ILLEGAL_AWAIT_IDENTIFIER:'"await" may not be used as an identifier in this context',DUPLICATE_CONSTRUCTOR:"Duplicate constructor method in class",ILLEGAL_CONSTRUCTORS:"Constructors cannot be async, generators, getters or setters",ILLEGAL_STATIC_CLASS_NAME:'Static class methods cannot be named "prototype"',NEW_TARGET_ERROR:"new.target must be within function (but not arrow expression) code",DUPLICATE_EXPORT:function o(e){return"Duplicate export "+JSON.stringify(e)},UNDECLARED_BINDING:function o(e){return"Exported binding "+JSON.stringify(e)+" is not declared"},DUPLICATE_PROPTO_PROP:"Duplicate __proto__ property in object literal not allowed",ILLEGAL_LABEL_FUNC_DECLARATION:"Labeled FunctionDeclarations are disallowed in strict mode",ILLEGAL_FUNC_DECL_IF:"FunctionDeclarations in IfStatements are disallowed in strict mode",ILLEGAL_USE_STRICT:'Functions with non-simple parameter lists may not contain a "use strict" directive',ILLEGAL_EXPORTED_NAME:"Names of variables used in an export specifier from the current module must be identifiers",NO_OCTALS_IN_TEMPLATES:"Template literals may not contain octal escape sequences",NO_AWAIT_IN_ASYNC_PARAMS:'Async arrow parameters may not contain "await"'};Object.defineProperty(tokenizer,"__esModule",{value:!0});tokenizer.JsError=tokenizer.TokenType=tokenizer.TokenClass=void 0;var _slicedToArray=function(){function o(e,s){var a=[],c=!0,d=!1,_=void 0;try{for(var b=e[Symbol.iterator](),k;!(c=(k=b.next()).done)&&(a.push(k.value),!(s&&a.length===s));c=!0);}catch($){d=!0,_=$}finally{try{!c&&b.return&&b.return()}finally{if(d)throw _}}return a}return function(e,s){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return o(e,s);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),_createClass$e=function(){function o(e,s){for(var a=0;a"},Ident:{name:"Identifier",isIdentifierName:!0},Keyword:{name:"Keyword",isIdentifierName:!0},NumericLiteral:{name:"Numeric"},TemplateElement:{name:"Template"},Punctuator:{name:"Punctuator"},StringLiteral:{name:"String"},RegularExpression:{name:"RegularExpression"},Illegal:{name:"Illegal"}},TokenType=tokenizer.TokenType={EOS:{klass:TokenClass.Eof,name:"EOS"},LPAREN:{klass:TokenClass.Punctuator,name:"("},RPAREN:{klass:TokenClass.Punctuator,name:")"},LBRACK:{klass:TokenClass.Punctuator,name:"["},RBRACK:{klass:TokenClass.Punctuator,name:"]"},LBRACE:{klass:TokenClass.Punctuator,name:"{"},RBRACE:{klass:TokenClass.Punctuator,name:"}"},COLON:{klass:TokenClass.Punctuator,name:":"},SEMICOLON:{klass:TokenClass.Punctuator,name:";"},PERIOD:{klass:TokenClass.Punctuator,name:"."},ELLIPSIS:{klass:TokenClass.Punctuator,name:"..."},ARROW:{klass:TokenClass.Punctuator,name:"=>"},CONDITIONAL:{klass:TokenClass.Punctuator,name:"?"},INC:{klass:TokenClass.Punctuator,name:"++"},DEC:{klass:TokenClass.Punctuator,name:"--"},ASSIGN:{klass:TokenClass.Punctuator,name:"="},ASSIGN_BIT_OR:{klass:TokenClass.Punctuator,name:"|="},ASSIGN_BIT_XOR:{klass:TokenClass.Punctuator,name:"^="},ASSIGN_BIT_AND:{klass:TokenClass.Punctuator,name:"&="},ASSIGN_SHL:{klass:TokenClass.Punctuator,name:"<<="},ASSIGN_SHR:{klass:TokenClass.Punctuator,name:">>="},ASSIGN_SHR_UNSIGNED:{klass:TokenClass.Punctuator,name:">>>="},ASSIGN_ADD:{klass:TokenClass.Punctuator,name:"+="},ASSIGN_SUB:{klass:TokenClass.Punctuator,name:"-="},ASSIGN_MUL:{klass:TokenClass.Punctuator,name:"*="},ASSIGN_DIV:{klass:TokenClass.Punctuator,name:"/="},ASSIGN_MOD:{klass:TokenClass.Punctuator,name:"%="},ASSIGN_EXP:{klass:TokenClass.Punctuator,name:"**="},COMMA:{klass:TokenClass.Punctuator,name:","},OR:{klass:TokenClass.Punctuator,name:"||"},AND:{klass:TokenClass.Punctuator,name:"&&"},BIT_OR:{klass:TokenClass.Punctuator,name:"|"},BIT_XOR:{klass:TokenClass.Punctuator,name:"^"},BIT_AND:{klass:TokenClass.Punctuator,name:"&"},SHL:{klass:TokenClass.Punctuator,name:"<<"},SHR:{klass:TokenClass.Punctuator,name:">>"},SHR_UNSIGNED:{klass:TokenClass.Punctuator,name:">>>"},ADD:{klass:TokenClass.Punctuator,name:"+"},SUB:{klass:TokenClass.Punctuator,name:"-"},MUL:{klass:TokenClass.Punctuator,name:"*"},DIV:{klass:TokenClass.Punctuator,name:"/"},MOD:{klass:TokenClass.Punctuator,name:"%"},EXP:{klass:TokenClass.Punctuator,name:"**"},EQ:{klass:TokenClass.Punctuator,name:"=="},NE:{klass:TokenClass.Punctuator,name:"!="},EQ_STRICT:{klass:TokenClass.Punctuator,name:"==="},NE_STRICT:{klass:TokenClass.Punctuator,name:"!=="},LT:{klass:TokenClass.Punctuator,name:"<"},GT:{klass:TokenClass.Punctuator,name:">"},LTE:{klass:TokenClass.Punctuator,name:"<="},GTE:{klass:TokenClass.Punctuator,name:">="},INSTANCEOF:{klass:TokenClass.Keyword,name:"instanceof"},IN:{klass:TokenClass.Keyword,name:"in"},NOT:{klass:TokenClass.Punctuator,name:"!"},BIT_NOT:{klass:TokenClass.Punctuator,name:"~"},ASYNC:{klass:TokenClass.Keyword,name:"async"},AWAIT:{klass:TokenClass.Keyword,name:"await"},ENUM:{klass:TokenClass.Keyword,name:"enum"},DELETE:{klass:TokenClass.Keyword,name:"delete"},TYPEOF:{klass:TokenClass.Keyword,name:"typeof"},VOID:{klass:TokenClass.Keyword,name:"void"},BREAK:{klass:TokenClass.Keyword,name:"break"},CASE:{klass:TokenClass.Keyword,name:"case"},CATCH:{klass:TokenClass.Keyword,name:"catch"},CLASS:{klass:TokenClass.Keyword,name:"class"},CONTINUE:{klass:TokenClass.Keyword,name:"continue"},DEBUGGER:{klass:TokenClass.Keyword,name:"debugger"},DEFAULT:{klass:TokenClass.Keyword,name:"default"},DO:{klass:TokenClass.Keyword,name:"do"},ELSE:{klass:TokenClass.Keyword,name:"else"},EXPORT:{klass:TokenClass.Keyword,name:"export"},EXTENDS:{klass:TokenClass.Keyword,name:"extends"},FINALLY:{klass:TokenClass.Keyword,name:"finally"},FOR:{klass:TokenClass.Keyword,name:"for"},FUNCTION:{klass:TokenClass.Keyword,name:"function"},IF:{klass:TokenClass.Keyword,name:"if"},IMPORT:{klass:TokenClass.Keyword,name:"import"},LET:{klass:TokenClass.Keyword,name:"let"},NEW:{klass:TokenClass.Keyword,name:"new"},RETURN:{klass:TokenClass.Keyword,name:"return"},SUPER:{klass:TokenClass.Keyword,name:"super"},SWITCH:{klass:TokenClass.Keyword,name:"switch"},THIS:{klass:TokenClass.Keyword,name:"this"},THROW:{klass:TokenClass.Keyword,name:"throw"},TRY:{klass:TokenClass.Keyword,name:"try"},VAR:{klass:TokenClass.Keyword,name:"var"},WHILE:{klass:TokenClass.Keyword,name:"while"},WITH:{klass:TokenClass.Keyword,name:"with"},NULL:{klass:TokenClass.Keyword,name:"null"},TRUE:{klass:TokenClass.Keyword,name:"true"},FALSE:{klass:TokenClass.Keyword,name:"false"},YIELD:{klass:TokenClass.Keyword,name:"yield"},NUMBER:{klass:TokenClass.NumericLiteral,name:""},STRING:{klass:TokenClass.StringLiteral,name:""},REGEXP:{klass:TokenClass.RegularExpression,name:""},IDENTIFIER:{klass:TokenClass.Ident,name:""},CONST:{klass:TokenClass.Keyword,name:"const"},TEMPLATE:{klass:TokenClass.TemplateElement,name:""},ESCAPED_KEYWORD:{klass:TokenClass.Keyword,name:""},ILLEGAL:{klass:TokenClass.Illegal,name:""}},TT=TokenType,I=TT.ILLEGAL,F=!1,T=!0,ONE_CHAR_PUNCTUATOR=[I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,TT.NOT,I,I,I,TT.MOD,TT.BIT_AND,I,TT.LPAREN,TT.RPAREN,TT.MUL,TT.ADD,TT.COMMA,TT.SUB,TT.PERIOD,TT.DIV,I,I,I,I,I,I,I,I,I,I,TT.COLON,TT.SEMICOLON,TT.LT,TT.ASSIGN,TT.GT,TT.CONDITIONAL,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,TT.LBRACK,I,TT.RBRACK,TT.BIT_XOR,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,TT.LBRACE,TT.BIT_OR,TT.RBRACE,TT.BIT_NOT],PUNCTUATOR_START=[F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,T,F,F,F,T,T,F,T,T,T,T,T,T,F,T,F,F,F,F,F,F,F,F,F,F,T,T,T,T,T,T,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,T,F,T,T,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,T,T,T,T,F],JsError=tokenizer.JsError=function(o){_inherits$8(e,o);function e(s,a,c,d){_classCallCheck$i(this,e);var _=_possibleConstructorReturn$8(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,d));_.index=s;try{_.line=a,_.column=c}catch{}return _.parseErrorLine=a,_.parseErrorColumn=c,_.description=d,_.message="["+a+":"+c+"]: "+d,_}return e}(Error);function fromCodePoint$1(o){if(o<=65535)return String.fromCharCode(o);var e=String.fromCharCode(Math.floor((o-65536)/1024)+55296),s=String.fromCharCode((o-65536)%1024+56320);return e+s}function decodeUtf16(o,e){return(o-55296)*1024+(e-56320)+65536}var Tokenizer=function(){function o(e){_classCallCheck$i(this,o),this.source=e,this.index=0,this.line=0,this.lineStart=0,this.startIndex=0,this.startLine=0,this.startLineStart=0,this.lastIndex=0,this.lastLine=0,this.lastLineStart=0,this.hasLineTerminatorBeforeNext=!1,this.tokenIndex=0}return _createClass$e(o,[{key:"saveLexerState",value:function(){return{source:this.source,index:this.index,line:this.line,lineStart:this.lineStart,startIndex:this.startIndex,startLine:this.startLine,startLineStart:this.startLineStart,lastIndex:this.lastIndex,lastLine:this.lastLine,lastLineStart:this.lastLineStart,lookahead:this.lookahead,hasLineTerminatorBeforeNext:this.hasLineTerminatorBeforeNext,tokenIndex:this.tokenIndex}}},{key:"restoreLexerState",value:function(s){this.source=s.source,this.index=s.index,this.line=s.line,this.lineStart=s.lineStart,this.startIndex=s.startIndex,this.startLine=s.startLine,this.startLineStart=s.startLineStart,this.lastIndex=s.lastIndex,this.lastLine=s.lastLine,this.lastLineStart=s.lastLineStart,this.lookahead=s.lookahead,this.hasLineTerminatorBeforeNext=s.hasLineTerminatorBeforeNext,this.tokenIndex=s.tokenIndex}},{key:"createILLEGAL",value:function(){return this.startIndex=this.index,this.startLine=this.line,this.startLineStart=this.lineStart,this.index1?c-1:0),_=1;_10)return TokenType.IDENTIFIER;switch(s.length){case 2:switch(s.charAt(0)){case"i":switch(s.charAt(1)){case"f":return TokenType.IF;case"n":return TokenType.IN}break;case"d":if(s.charAt(1)==="o")return TokenType.DO;break}break;case 3:switch(s.charAt(0)){case"v":if(o.cse2(s,"a","r"))return TokenType.VAR;break;case"f":if(o.cse2(s,"o","r"))return TokenType.FOR;break;case"n":if(o.cse2(s,"e","w"))return TokenType.NEW;break;case"t":if(o.cse2(s,"r","y"))return TokenType.TRY;break;case"l":if(o.cse2(s,"e","t"))return TokenType.LET;break}break;case 4:switch(s.charAt(0)){case"t":if(o.cse3(s,"h","i","s"))return TokenType.THIS;if(o.cse3(s,"r","u","e"))return TokenType.TRUE;break;case"n":if(o.cse3(s,"u","l","l"))return TokenType.NULL;break;case"e":if(o.cse3(s,"l","s","e"))return TokenType.ELSE;if(o.cse3(s,"n","u","m"))return TokenType.ENUM;break;case"c":if(o.cse3(s,"a","s","e"))return TokenType.CASE;break;case"v":if(o.cse3(s,"o","i","d"))return TokenType.VOID;break;case"w":if(o.cse3(s,"i","t","h"))return TokenType.WITH;break}break;case 5:switch(s.charAt(0)){case"a":if(o.cse4(s,"s","y","n","c"))return TokenType.ASYNC;if(o.cse4(s,"w","a","i","t"))return TokenType.AWAIT;break;case"w":if(o.cse4(s,"h","i","l","e"))return TokenType.WHILE;break;case"b":if(o.cse4(s,"r","e","a","k"))return TokenType.BREAK;break;case"f":if(o.cse4(s,"a","l","s","e"))return TokenType.FALSE;break;case"c":if(o.cse4(s,"a","t","c","h"))return TokenType.CATCH;if(o.cse4(s,"o","n","s","t"))return TokenType.CONST;if(o.cse4(s,"l","a","s","s"))return TokenType.CLASS;break;case"t":if(o.cse4(s,"h","r","o","w"))return TokenType.THROW;break;case"y":if(o.cse4(s,"i","e","l","d"))return TokenType.YIELD;break;case"s":if(o.cse4(s,"u","p","e","r"))return TokenType.SUPER;break}break;case 6:switch(s.charAt(0)){case"r":if(o.cse5(s,"e","t","u","r","n"))return TokenType.RETURN;break;case"t":if(o.cse5(s,"y","p","e","o","f"))return TokenType.TYPEOF;break;case"d":if(o.cse5(s,"e","l","e","t","e"))return TokenType.DELETE;break;case"s":if(o.cse5(s,"w","i","t","c","h"))return TokenType.SWITCH;break;case"e":if(o.cse5(s,"x","p","o","r","t"))return TokenType.EXPORT;break;case"i":if(o.cse5(s,"m","p","o","r","t"))return TokenType.IMPORT;break}break;case 7:switch(s.charAt(0)){case"d":if(o.cse6(s,"e","f","a","u","l","t"))return TokenType.DEFAULT;break;case"f":if(o.cse6(s,"i","n","a","l","l","y"))return TokenType.FINALLY;break;case"e":if(o.cse6(s,"x","t","e","n","d","s"))return TokenType.EXTENDS;break}break;case 8:switch(s.charAt(0)){case"f":if(o.cse7(s,"u","n","c","t","i","o","n"))return TokenType.FUNCTION;break;case"c":if(o.cse7(s,"o","n","t","i","n","u","e"))return TokenType.CONTINUE;break;case"d":if(o.cse7(s,"e","b","u","g","g","e","r"))return TokenType.DEBUGGER;break}break;case 10:if(s==="instanceof")return TokenType.INSTANCEOF;break}return TokenType.IDENTIFIER}},{key:"skipSingleLineComment",value:function(s){for(this.index+=s;this.indexthis._getCoefficient(s,e,new Map))}get oversample(){return this._shaper.oversample}set oversample(e){this._shaper.oversample=e}dispose(){return super.dispose(),this._shaper.dispose(),this}}class Split extends ToneAudioNode{constructor(){super(optionsFromArguments(Split.getDefaults(),arguments,["channels"])),this.name="Split";const e=optionsFromArguments(Split.getDefaults(),arguments,["channels"]);this._splitter=this.input=this.output=this.context.createChannelSplitter(e.channels),this._internalChannels=[this._splitter]}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{channels:2})}dispose(){return super.dispose(),this._splitter.disconnect(),this}}class Merge extends ToneAudioNode{constructor(){super(optionsFromArguments(Merge.getDefaults(),arguments,["channels"])),this.name="Merge";const e=optionsFromArguments(Merge.getDefaults(),arguments,["channels"]);this._merger=this.output=this.input=this.context.createChannelMerger(e.channels)}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{channels:2})}dispose(){return super.dispose(),this._merger.disconnect(),this}}class StereoEffect extends ToneAudioNode{constructor(e){super(e),this.name="StereoEffect",this.input=new Gain$1({context:this.context}),this.input.channelCount=2,this.input.channelCountMode="explicit",this._dryWet=this.output=new CrossFade({context:this.context,fade:e.wet}),this.wet=this._dryWet.fade,this._split=new Split({context:this.context,channels:2}),this._merge=new Merge({context:this.context,channels:2}),this.input.connect(this._split),this.input.connect(this._dryWet.a),this._merge.connect(this._dryWet.b),readOnly$1(this,["wet"])}connectEffectLeft(...e){this._split.connect(e[0],0,0),connectSeries(...e),connect(e[e.length-1],this._merge,0,0)}connectEffectRight(...e){this._split.connect(e[0],1,0),connectSeries(...e),connect(e[e.length-1],this._merge,0,1)}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{wet:1})}dispose(){return super.dispose(),this._dryWet.dispose(),this._split.dispose(),this._merge.dispose(),this}}class StereoFeedbackEffect extends StereoEffect{constructor(e){super(e),this.feedback=new Signal({context:this.context,value:e.feedback,units:"normalRange"}),this._feedbackL=new Gain$1({context:this.context}),this._feedbackR=new Gain$1({context:this.context}),this._feedbackSplit=new Split({context:this.context,channels:2}),this._feedbackMerge=new Merge({context:this.context,channels:2}),this._merge.connect(this._feedbackSplit),this._feedbackMerge.connect(this._split),this._feedbackSplit.connect(this._feedbackL,0,0),this._feedbackL.connect(this._feedbackMerge,0,0),this._feedbackSplit.connect(this._feedbackR,1,0),this._feedbackR.connect(this._feedbackMerge,0,1),this.feedback.fan(this._feedbackL.gain,this._feedbackR.gain),readOnly$1(this,["feedback"])}static getDefaults(){return Object.assign(StereoEffect.getDefaults(),{feedback:.5})}dispose(){return super.dispose(),this.feedback.dispose(),this._feedbackL.dispose(),this._feedbackR.dispose(),this._feedbackSplit.dispose(),this._feedbackMerge.dispose(),this}}class Chorus extends StereoFeedbackEffect{constructor(){super(optionsFromArguments(Chorus.getDefaults(),arguments,["frequency","delayTime","depth"])),this.name="Chorus";const e=optionsFromArguments(Chorus.getDefaults(),arguments,["frequency","delayTime","depth"]);this._depth=e.depth,this._delayTime=e.delayTime/1e3,this._lfoL=new LFO({context:this.context,frequency:e.frequency,min:0,max:1}),this._lfoR=new LFO({context:this.context,frequency:e.frequency,min:0,max:1,phase:180}),this._delayNodeL=new Delay({context:this.context}),this._delayNodeR=new Delay({context:this.context}),this.frequency=this._lfoL.frequency,readOnly$1(this,["frequency"]),this._lfoL.frequency.connect(this._lfoR.frequency),this.connectEffectLeft(this._delayNodeL),this.connectEffectRight(this._delayNodeR),this._lfoL.connect(this._delayNodeL.delayTime),this._lfoR.connect(this._delayNodeR.delayTime),this.depth=this._depth,this.type=e.type,this.spread=e.spread}static getDefaults(){return Object.assign(StereoFeedbackEffect.getDefaults(),{frequency:1.5,delayTime:3.5,depth:.7,type:"sine",spread:180,feedback:0,wet:.5})}get depth(){return this._depth}set depth(e){this._depth=e;const s=this._delayTime*e;this._lfoL.min=Math.max(this._delayTime-s,0),this._lfoL.max=this._delayTime+s,this._lfoR.min=Math.max(this._delayTime-s,0),this._lfoR.max=this._delayTime+s}get delayTime(){return this._delayTime*1e3}set delayTime(e){this._delayTime=e/1e3,this.depth=this._depth}get type(){return this._lfoL.type}set type(e){this._lfoL.type=e,this._lfoR.type=e}get spread(){return this._lfoR.phase-this._lfoL.phase}set spread(e){this._lfoL.phase=90-e/2,this._lfoR.phase=e/2+90}start(e){return this._lfoL.start(e),this._lfoR.start(e),this}stop(e){return this._lfoL.stop(e),this._lfoR.stop(e),this}sync(){return this._lfoL.sync(),this._lfoR.sync(),this}unsync(){return this._lfoL.unsync(),this._lfoR.unsync(),this}dispose(){return super.dispose(),this._lfoL.dispose(),this._lfoR.dispose(),this._delayNodeL.dispose(),this._delayNodeR.dispose(),this.frequency.dispose(),this}}class Distortion extends Effect{constructor(){super(optionsFromArguments(Distortion.getDefaults(),arguments,["distortion"])),this.name="Distortion";const e=optionsFromArguments(Distortion.getDefaults(),arguments,["distortion"]);this._shaper=new WaveShaper({context:this.context,length:4096}),this._distortion=e.distortion,this.connectEffect(this._shaper),this.distortion=e.distortion,this.oversample=e.oversample}static getDefaults(){return Object.assign(Effect.getDefaults(),{distortion:.4,oversample:"none"})}get distortion(){return this._distortion}set distortion(e){this._distortion=e;const s=e*100,a=Math.PI/180;this._shaper.setMap(c=>Math.abs(c)<.001?0:(3+s)*c*20*a/(Math.PI+s*Math.abs(c)))}get oversample(){return this._shaper.oversample}set oversample(e){this._shaper.oversample=e}dispose(){return super.dispose(),this._shaper.dispose(),this}}class FeedbackEffect extends Effect{constructor(e){super(e),this.name="FeedbackEffect",this._feedbackGain=new Gain$1({context:this.context,gain:e.feedback,units:"normalRange"}),this.feedback=this._feedbackGain.gain,readOnly$1(this,"feedback"),this.effectReturn.chain(this._feedbackGain,this.effectSend)}static getDefaults(){return Object.assign(Effect.getDefaults(),{feedback:.125})}dispose(){return super.dispose(),this._feedbackGain.dispose(),this.feedback.dispose(),this}}class FeedbackDelay extends FeedbackEffect{constructor(){super(optionsFromArguments(FeedbackDelay.getDefaults(),arguments,["delayTime","feedback"])),this.name="FeedbackDelay";const e=optionsFromArguments(FeedbackDelay.getDefaults(),arguments,["delayTime","feedback"]);this._delayNode=new Delay({context:this.context,delayTime:e.delayTime,maxDelay:e.maxDelay}),this.delayTime=this._delayNode.delayTime,this.connectEffect(this._delayNode),readOnly$1(this,"delayTime")}static getDefaults(){return Object.assign(FeedbackEffect.getDefaults(),{delayTime:.25,maxDelay:1})}dispose(){return super.dispose(),this._delayNode.dispose(),this.delayTime.dispose(),this}}class PhaseShiftAllpass extends ToneAudioNode{constructor(e){super(e),this.name="PhaseShiftAllpass",this.input=new Gain$1({context:this.context}),this.output=new Gain$1({context:this.context}),this.offset90=new Gain$1({context:this.context});const s=[.6923878,.9360654322959,.988229522686,.9987488452737],a=[.4021921162426,.856171088242,.9722909545651,.9952884791278];this._bank0=this._createAllPassFilterBank(s),this._bank1=this._createAllPassFilterBank(a),this._oneSampleDelay=this.context.createIIRFilter([0,1],[1,0]),connectSeries(this.input,...this._bank0,this._oneSampleDelay,this.output),connectSeries(this.input,...this._bank1,this.offset90)}_createAllPassFilterBank(e){return e.map(a=>{const c=[[a*a,0,-1],[1,0,-(a*a)]];return this.context.createIIRFilter(c[0],c[1])})}dispose(){return super.dispose(),this.input.dispose(),this.output.dispose(),this.offset90.dispose(),this._bank0.forEach(e=>e.disconnect()),this._bank1.forEach(e=>e.disconnect()),this._oneSampleDelay.disconnect(),this}}class FrequencyShifter extends Effect{constructor(){super(optionsFromArguments(FrequencyShifter.getDefaults(),arguments,["frequency"])),this.name="FrequencyShifter";const e=optionsFromArguments(FrequencyShifter.getDefaults(),arguments,["frequency"]);this.frequency=new Signal({context:this.context,units:"frequency",value:e.frequency,minValue:-this.context.sampleRate/2,maxValue:this.context.sampleRate/2}),this._sine=new ToneOscillatorNode({context:this.context,type:"sine"}),this._cosine=new Oscillator({context:this.context,phase:-90,type:"sine"}),this._sineMultiply=new Multiply({context:this.context}),this._cosineMultiply=new Multiply({context:this.context}),this._negate=new Negate({context:this.context}),this._add=new Add({context:this.context}),this._phaseShifter=new PhaseShiftAllpass({context:this.context}),this.effectSend.connect(this._phaseShifter),this.frequency.fan(this._sine.frequency,this._cosine.frequency),this._phaseShifter.offset90.connect(this._cosineMultiply),this._cosine.connect(this._cosineMultiply.factor),this._phaseShifter.connect(this._sineMultiply),this._sine.connect(this._sineMultiply.factor),this._sineMultiply.connect(this._negate),this._cosineMultiply.connect(this._add),this._negate.connect(this._add.addend),this._add.connect(this.effectReturn);const s=this.immediate();this._sine.start(s),this._cosine.start(s)}static getDefaults(){return Object.assign(Effect.getDefaults(),{frequency:0})}dispose(){return super.dispose(),this.frequency.dispose(),this._add.dispose(),this._cosine.dispose(),this._cosineMultiply.dispose(),this._negate.dispose(),this._phaseShifter.dispose(),this._sine.dispose(),this._sineMultiply.dispose(),this}}const combFilterTunings=[1557/44100,1617/44100,1491/44100,1422/44100,1277/44100,1356/44100,1188/44100,1116/44100],allpassFilterFrequencies=[225,556,441,341];class Freeverb extends StereoEffect{constructor(){super(optionsFromArguments(Freeverb.getDefaults(),arguments,["roomSize","dampening"])),this.name="Freeverb",this._combFilters=[],this._allpassFiltersL=[],this._allpassFiltersR=[];const e=optionsFromArguments(Freeverb.getDefaults(),arguments,["roomSize","dampening"]);this.roomSize=new Signal({context:this.context,value:e.roomSize,units:"normalRange"}),this._allpassFiltersL=allpassFilterFrequencies.map(s=>{const a=this.context.createBiquadFilter();return a.type="allpass",a.frequency.value=s,a}),this._allpassFiltersR=allpassFilterFrequencies.map(s=>{const a=this.context.createBiquadFilter();return a.type="allpass",a.frequency.value=s,a}),this._combFilters=combFilterTunings.map((s,a)=>{const c=new LowpassCombFilter({context:this.context,dampening:e.dampening,delayTime:s});return as.dampening=e)}dispose(){return super.dispose(),this._allpassFiltersL.forEach(e=>e.disconnect()),this._allpassFiltersR.forEach(e=>e.disconnect()),this._combFilters.forEach(e=>e.dispose()),this.roomSize.dispose(),this}}const combFilterDelayTimes=[1687/25e3,1601/25e3,2053/25e3,2251/25e3],combFilterResonances=[.773,.802,.753,.733],allpassFilterFreqs=[347,113,37];class JCReverb extends StereoEffect{constructor(){super(optionsFromArguments(JCReverb.getDefaults(),arguments,["roomSize"])),this.name="JCReverb",this._allpassFilters=[],this._feedbackCombFilters=[];const e=optionsFromArguments(JCReverb.getDefaults(),arguments,["roomSize"]);this.roomSize=new Signal({context:this.context,value:e.roomSize,units:"normalRange"}),this._scaleRoomSize=new Scale({context:this.context,min:-.733,max:.197}),this._allpassFilters=allpassFilterFreqs.map(s=>{const a=this.context.createBiquadFilter();return a.type="allpass",a.frequency.value=s,a}),this._feedbackCombFilters=combFilterDelayTimes.map((s,a)=>{const c=new FeedbackCombFilter({context:this.context,delayTime:s});return this._scaleRoomSize.connect(c.resonance),c.resonance.value=combFilterResonances[a],ae.disconnect()),this._feedbackCombFilters.forEach(e=>e.dispose()),this.roomSize.dispose(),this._scaleRoomSize.dispose(),this}}class StereoXFeedbackEffect extends StereoFeedbackEffect{constructor(e){super(e),this._feedbackL.disconnect(),this._feedbackL.connect(this._feedbackMerge,0,1),this._feedbackR.disconnect(),this._feedbackR.connect(this._feedbackMerge,0,0),readOnly$1(this,["feedback"])}}class PingPongDelay extends StereoXFeedbackEffect{constructor(){super(optionsFromArguments(PingPongDelay.getDefaults(),arguments,["delayTime","feedback"])),this.name="PingPongDelay";const e=optionsFromArguments(PingPongDelay.getDefaults(),arguments,["delayTime","feedback"]);this._leftDelay=new Delay({context:this.context,maxDelay:e.maxDelay}),this._rightDelay=new Delay({context:this.context,maxDelay:e.maxDelay}),this._rightPreDelay=new Delay({context:this.context,maxDelay:e.maxDelay}),this.delayTime=new Signal({context:this.context,units:"time",value:e.delayTime}),this.connectEffectLeft(this._leftDelay),this.connectEffectRight(this._rightPreDelay,this._rightDelay),this.delayTime.fan(this._leftDelay.delayTime,this._rightDelay.delayTime,this._rightPreDelay.delayTime),this._feedbackL.disconnect(),this._feedbackL.connect(this._rightDelay),readOnly$1(this,["delayTime"])}static getDefaults(){return Object.assign(StereoXFeedbackEffect.getDefaults(),{delayTime:.25,maxDelay:1})}dispose(){return super.dispose(),this._leftDelay.dispose(),this._rightDelay.dispose(),this._rightPreDelay.dispose(),this.delayTime.dispose(),this}}class PitchShift extends FeedbackEffect{constructor(){super(optionsFromArguments(PitchShift.getDefaults(),arguments,["pitch"])),this.name="PitchShift";const e=optionsFromArguments(PitchShift.getDefaults(),arguments,["pitch"]);this._frequency=new Signal({context:this.context}),this._delayA=new Delay({maxDelay:1,context:this.context}),this._lfoA=new LFO({context:this.context,min:0,max:.1,type:"sawtooth"}).connect(this._delayA.delayTime),this._delayB=new Delay({maxDelay:1,context:this.context}),this._lfoB=new LFO({context:this.context,min:0,max:.1,type:"sawtooth",phase:180}).connect(this._delayB.delayTime),this._crossFade=new CrossFade({context:this.context}),this._crossFadeLFO=new LFO({context:this.context,min:0,max:1,type:"triangle",phase:90}).connect(this._crossFade.fade),this._feedbackDelay=new Delay({delayTime:e.delayTime,context:this.context}),this.delayTime=this._feedbackDelay.delayTime,readOnly$1(this,"delayTime"),this._pitch=e.pitch,this._windowSize=e.windowSize,this._delayA.connect(this._crossFade.a),this._delayB.connect(this._crossFade.b),this._frequency.fan(this._lfoA.frequency,this._lfoB.frequency,this._crossFadeLFO.frequency),this.effectSend.fan(this._delayA,this._delayB),this._crossFade.chain(this._feedbackDelay,this.effectReturn);const s=this.now();this._lfoA.start(s),this._lfoB.start(s),this._crossFadeLFO.start(s),this.windowSize=this._windowSize}static getDefaults(){return Object.assign(FeedbackEffect.getDefaults(),{pitch:0,windowSize:.1,delayTime:0,feedback:0})}get pitch(){return this._pitch}set pitch(e){this._pitch=e;let s=0;e<0?(this._lfoA.min=0,this._lfoA.max=this._windowSize,this._lfoB.min=0,this._lfoB.max=this._windowSize,s=intervalToFrequencyRatio(e-1)+1):(this._lfoA.min=this._windowSize,this._lfoA.max=0,this._lfoB.min=this._windowSize,this._lfoB.max=0,s=intervalToFrequencyRatio(e)-1),this._frequency.value=s*(1.2/this._windowSize)}get windowSize(){return this._windowSize}set windowSize(e){this._windowSize=this.toSeconds(e),this.pitch=this._pitch}dispose(){return super.dispose(),this._frequency.dispose(),this._delayA.dispose(),this._delayB.dispose(),this._lfoA.dispose(),this._lfoB.dispose(),this._crossFade.dispose(),this._crossFadeLFO.dispose(),this._feedbackDelay.dispose(),this}}class Phaser extends StereoEffect{constructor(){super(optionsFromArguments(Phaser.getDefaults(),arguments,["frequency","octaves","baseFrequency"])),this.name="Phaser";const e=optionsFromArguments(Phaser.getDefaults(),arguments,["frequency","octaves","baseFrequency"]);this._lfoL=new LFO({context:this.context,frequency:e.frequency,min:0,max:1}),this._lfoR=new LFO({context:this.context,frequency:e.frequency,min:0,max:1,phase:180}),this._baseFrequency=this.toFrequency(e.baseFrequency),this._octaves=e.octaves,this.Q=new Signal({context:this.context,value:e.Q,units:"positive"}),this._filtersL=this._makeFilters(e.stages,this._lfoL),this._filtersR=this._makeFilters(e.stages,this._lfoR),this.frequency=this._lfoL.frequency,this.frequency.value=e.frequency,this.connectEffectLeft(...this._filtersL),this.connectEffectRight(...this._filtersR),this._lfoL.frequency.connect(this._lfoR.frequency),this.baseFrequency=e.baseFrequency,this.octaves=e.octaves,this._lfoL.start(),this._lfoR.start(),readOnly$1(this,["frequency","Q"])}static getDefaults(){return Object.assign(StereoEffect.getDefaults(),{frequency:.5,octaves:3,stages:10,Q:10,baseFrequency:350})}_makeFilters(e,s){const a=[];for(let c=0;ce.disconnect()),this._filtersR.forEach(e=>e.disconnect()),this.frequency.dispose(),this}}class Reverb extends Effect{constructor(){super(optionsFromArguments(Reverb.getDefaults(),arguments,["decay"])),this.name="Reverb",this._convolver=this.context.createConvolver(),this.ready=Promise.resolve();const e=optionsFromArguments(Reverb.getDefaults(),arguments,["decay"]);this._decay=e.decay,this._preDelay=e.preDelay,this.generate(),this.connectEffect(this._convolver)}static getDefaults(){return Object.assign(Effect.getDefaults(),{decay:1.5,preDelay:.01})}get decay(){return this._decay}set decay(e){e=this.toSeconds(e),assertRange(e,.001),this._decay=e,this.generate()}get preDelay(){return this._preDelay}set preDelay(e){e=this.toSeconds(e),assertRange(e,0),this._preDelay=e,this.generate()}generate(){return __awaiter$4(this,void 0,void 0,function*(){const e=this.ready,s=new OfflineContext(2,this._decay+this._preDelay,this.context.sampleRate),a=new Noise({context:s}),c=new Noise({context:s}),d=new Merge({context:s});a.connect(d,0,0),c.connect(d,0,1);const _=new Gain$1({context:s}).toDestination();d.connect(_),a.start(0),c.start(0),_.gain.setValueAtTime(0,0),_.gain.setValueAtTime(1,this._preDelay),_.gain.exponentialApproachValueAtTime(0,this._preDelay,this.decay);const b=s.render();return this.ready=b.then(noOp),yield e,this._convolver.buffer=(yield b).get(),this})}dispose(){return super.dispose(),this._convolver.disconnect(),this}}class MidSideSplit extends ToneAudioNode{constructor(){super(optionsFromArguments(MidSideSplit.getDefaults(),arguments)),this.name="MidSideSplit",this._split=this.input=new Split({channels:2,context:this.context}),this._midAdd=new Add({context:this.context}),this.mid=new Multiply({context:this.context,value:Math.SQRT1_2}),this._sideSubtract=new Subtract({context:this.context}),this.side=new Multiply({context:this.context,value:Math.SQRT1_2}),this._split.connect(this._midAdd,0),this._split.connect(this._midAdd.addend,1),this._split.connect(this._sideSubtract,0),this._split.connect(this._sideSubtract.subtrahend,1),this._midAdd.connect(this.mid),this._sideSubtract.connect(this.side)}dispose(){return super.dispose(),this.mid.dispose(),this.side.dispose(),this._midAdd.dispose(),this._sideSubtract.dispose(),this._split.dispose(),this}}class MidSideMerge extends ToneAudioNode{constructor(){super(optionsFromArguments(MidSideMerge.getDefaults(),arguments)),this.name="MidSideMerge",this.mid=new Gain$1({context:this.context}),this.side=new Gain$1({context:this.context}),this._left=new Add({context:this.context}),this._leftMult=new Multiply({context:this.context,value:Math.SQRT1_2}),this._right=new Subtract({context:this.context}),this._rightMult=new Multiply({context:this.context,value:Math.SQRT1_2}),this._merge=this.output=new Merge({context:this.context}),this.mid.fan(this._left),this.side.connect(this._left.addend),this.mid.connect(this._right),this.side.connect(this._right.subtrahend),this._left.connect(this._leftMult),this._right.connect(this._rightMult),this._leftMult.connect(this._merge,0,0),this._rightMult.connect(this._merge,0,1)}dispose(){return super.dispose(),this.mid.dispose(),this.side.dispose(),this._leftMult.dispose(),this._rightMult.dispose(),this._left.dispose(),this._right.dispose(),this}}class MidSideEffect extends Effect{constructor(e){super(e),this.name="MidSideEffect",this._midSideMerge=new MidSideMerge({context:this.context}),this._midSideSplit=new MidSideSplit({context:this.context}),this._midSend=this._midSideSplit.mid,this._sideSend=this._midSideSplit.side,this._midReturn=this._midSideMerge.mid,this._sideReturn=this._midSideMerge.side,this.effectSend.connect(this._midSideSplit),this._midSideMerge.connect(this.effectReturn)}connectEffectMid(...e){this._midSend.chain(...e,this._midReturn)}connectEffectSide(...e){this._sideSend.chain(...e,this._sideReturn)}dispose(){return super.dispose(),this._midSideSplit.dispose(),this._midSideMerge.dispose(),this._midSend.dispose(),this._sideSend.dispose(),this._midReturn.dispose(),this._sideReturn.dispose(),this}}class StereoWidener extends MidSideEffect{constructor(){super(optionsFromArguments(StereoWidener.getDefaults(),arguments,["width"])),this.name="StereoWidener";const e=optionsFromArguments(StereoWidener.getDefaults(),arguments,["width"]);this.width=new Signal({context:this.context,value:e.width,units:"normalRange"}),readOnly$1(this,["width"]),this._twoTimesWidthMid=new Multiply({context:this.context,value:2}),this._twoTimesWidthSide=new Multiply({context:this.context,value:2}),this._midMult=new Multiply({context:this.context}),this._twoTimesWidthMid.connect(this._midMult.factor),this.connectEffectMid(this._midMult),this._oneMinusWidth=new Subtract({context:this.context}),this._oneMinusWidth.connect(this._twoTimesWidthMid),connect(this.context.getConstant(1),this._oneMinusWidth),this.width.connect(this._oneMinusWidth.subtrahend),this._sideMult=new Multiply({context:this.context}),this.width.connect(this._twoTimesWidthSide),this._twoTimesWidthSide.connect(this._sideMult.factor),this.connectEffectSide(this._sideMult)}static getDefaults(){return Object.assign(MidSideEffect.getDefaults(),{width:.5})}dispose(){return super.dispose(),this.width.dispose(),this._midMult.dispose(),this._sideMult.dispose(),this._twoTimesWidthMid.dispose(),this._twoTimesWidthSide.dispose(),this._oneMinusWidth.dispose(),this}}class Tremolo extends StereoEffect{constructor(){super(optionsFromArguments(Tremolo.getDefaults(),arguments,["frequency","depth"])),this.name="Tremolo";const e=optionsFromArguments(Tremolo.getDefaults(),arguments,["frequency","depth"]);this._lfoL=new LFO({context:this.context,type:e.type,min:1,max:0}),this._lfoR=new LFO({context:this.context,type:e.type,min:1,max:0}),this._amplitudeL=new Gain$1({context:this.context}),this._amplitudeR=new Gain$1({context:this.context}),this.frequency=new Signal({context:this.context,value:e.frequency,units:"frequency"}),this.depth=new Signal({context:this.context,value:e.depth,units:"normalRange"}),readOnly$1(this,["frequency","depth"]),this.connectEffectLeft(this._amplitudeL),this.connectEffectRight(this._amplitudeR),this._lfoL.connect(this._amplitudeL.gain),this._lfoR.connect(this._amplitudeR.gain),this.frequency.fan(this._lfoL.frequency,this._lfoR.frequency),this.depth.fan(this._lfoR.amplitude,this._lfoL.amplitude),this.spread=e.spread}static getDefaults(){return Object.assign(StereoEffect.getDefaults(),{frequency:10,type:"sine",depth:.5,spread:180})}start(e){return this._lfoL.start(e),this._lfoR.start(e),this}stop(e){return this._lfoL.stop(e),this._lfoR.stop(e),this}sync(){return this._lfoL.sync(),this._lfoR.sync(),this.context.transport.syncSignal(this.frequency),this}unsync(){return this._lfoL.unsync(),this._lfoR.unsync(),this.context.transport.unsyncSignal(this.frequency),this}get type(){return this._lfoL.type}set type(e){this._lfoL.type=e,this._lfoR.type=e}get spread(){return this._lfoR.phase-this._lfoL.phase}set spread(e){this._lfoL.phase=90-e/2,this._lfoR.phase=e/2+90}dispose(){return super.dispose(),this._lfoL.dispose(),this._lfoR.dispose(),this._amplitudeL.dispose(),this._amplitudeR.dispose(),this.frequency.dispose(),this.depth.dispose(),this}}class Vibrato extends Effect{constructor(){super(optionsFromArguments(Vibrato.getDefaults(),arguments,["frequency","depth"])),this.name="Vibrato";const e=optionsFromArguments(Vibrato.getDefaults(),arguments,["frequency","depth"]);this._delayNode=new Delay({context:this.context,delayTime:0,maxDelay:e.maxDelay}),this._lfo=new LFO({context:this.context,type:e.type,min:0,max:e.maxDelay,frequency:e.frequency,phase:-90}).start().connect(this._delayNode.delayTime),this.frequency=this._lfo.frequency,this.depth=this._lfo.amplitude,this.depth.value=e.depth,readOnly$1(this,["frequency","depth"]),this.effectSend.chain(this._delayNode,this.effectReturn)}static getDefaults(){return Object.assign(Effect.getDefaults(),{maxDelay:.005,frequency:5,depth:.1,type:"sine"})}get type(){return this._lfo.type}set type(e){this._lfo.type=e}dispose(){return super.dispose(),this._delayNode.dispose(),this._lfo.dispose(),this.frequency.dispose(),this.depth.dispose(),this}}class Analyser extends ToneAudioNode{constructor(){super(optionsFromArguments(Analyser.getDefaults(),arguments,["type","size"])),this.name="Analyser",this._analysers=[],this._buffers=[];const e=optionsFromArguments(Analyser.getDefaults(),arguments,["type","size"]);this.input=this.output=this._gain=new Gain$1({context:this.context}),this._split=new Split({context:this.context,channels:e.channels}),this.input.connect(this._split),assertRange(e.channels,1);for(let s=0;s{const a=this._buffers[s];this._type==="fft"?e.getFloatFrequencyData(a):this._type==="waveform"&&e.getFloatTimeDomainData(a)}),this.channels===1?this._buffers[0]:this._buffers}get size(){return this._analysers[0].frequencyBinCount}set size(e){this._analysers.forEach((s,a)=>{s.fftSize=e*2,this._buffers[a]=new Float32Array(e)})}get channels(){return this._analysers.length}get type(){return this._type}set type(e){assert(e==="waveform"||e==="fft",`Analyser: invalid type: ${e}`),this._type=e}get smoothing(){return this._analysers[0].smoothingTimeConstant}set smoothing(e){this._analysers.forEach(s=>s.smoothingTimeConstant=e)}dispose(){return super.dispose(),this._analysers.forEach(e=>e.disconnect()),this._split.dispose(),this._gain.dispose(),this}}class MeterBase extends ToneAudioNode{constructor(){super(optionsFromArguments(MeterBase.getDefaults(),arguments)),this.name="MeterBase",this.input=this.output=this._analyser=new Analyser({context:this.context,size:256,type:"waveform"})}dispose(){return super.dispose(),this._analyser.dispose(),this}}class Meter extends MeterBase{constructor(){super(optionsFromArguments(Meter.getDefaults(),arguments,["smoothing"])),this.name="Meter",this._rms=0;const e=optionsFromArguments(Meter.getDefaults(),arguments,["smoothing"]);this.input=this.output=this._analyser=new Analyser({context:this.context,size:256,type:"waveform",channels:e.channels}),this.smoothing=e.smoothing,this.normalRange=e.normalRange}static getDefaults(){return Object.assign(MeterBase.getDefaults(),{smoothing:.8,normalRange:!1,channels:1})}getLevel(){return warn("'getLevel' has been changed to 'getValue'"),this.getValue()}getValue(){const e=this._analyser.getValue(),a=(this.channels===1?[e]:e).map(c=>{const d=c.reduce((b,k)=>b+k*k,0),_=Math.sqrt(d/c.length);return this._rms=Math.max(_,this._rms*this.smoothing),this.normalRange?this._rms:gainToDb(this._rms)});return this.channels===1?a[0]:a}get channels(){return this._analyser.channels}dispose(){return super.dispose(),this._analyser.dispose(),this}}class FFT extends MeterBase{constructor(){super(optionsFromArguments(FFT.getDefaults(),arguments,["size"])),this.name="FFT";const e=optionsFromArguments(FFT.getDefaults(),arguments,["size"]);this.normalRange=e.normalRange,this._analyser.type="fft",this.size=e.size}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{normalRange:!1,size:1024,smoothing:.8})}getValue(){return this._analyser.getValue().map(s=>this.normalRange?dbToGain(s):s)}get size(){return this._analyser.size}set size(e){this._analyser.size=e}get smoothing(){return this._analyser.smoothing}set smoothing(e){this._analyser.smoothing=e}getFrequencyOfIndex(e){return assert(0<=e&&es._updateSolo())}get muted(){return this.input.gain.value===0}_addSolo(){Solo._soloed.has(this.context)||Solo._soloed.set(this.context,new Set),Solo._soloed.get(this.context).add(this)}_removeSolo(){Solo._soloed.has(this.context)&&Solo._soloed.get(this.context).delete(this)}_isSoloed(){return Solo._soloed.has(this.context)&&Solo._soloed.get(this.context).has(this)}_noSolos(){return!Solo._soloed.has(this.context)||Solo._soloed.has(this.context)&&Solo._soloed.get(this.context).size===0}_updateSolo(){this._isSoloed()?this.input.gain.value=1:this._noSolos()?this.input.gain.value=1:this.input.gain.value=0}dispose(){return super.dispose(),Solo._allSolos.get(this.context).delete(this),this._removeSolo(),this}}Solo._allSolos=new Map;Solo._soloed=new Map;class PanVol extends ToneAudioNode{constructor(){super(optionsFromArguments(PanVol.getDefaults(),arguments,["pan","volume"])),this.name="PanVol";const e=optionsFromArguments(PanVol.getDefaults(),arguments,["pan","volume"]);this._panner=this.input=new Panner({context:this.context,pan:e.pan,channelCount:e.channelCount}),this.pan=this._panner.pan,this._volume=this.output=new Volume({context:this.context,volume:e.volume}),this.volume=this._volume.volume,this._panner.connect(this._volume),this.mute=e.mute,readOnly$1(this,["pan","volume"])}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{mute:!1,pan:0,volume:0,channelCount:1})}get mute(){return this._volume.mute}set mute(e){this._volume.mute=e}dispose(){return super.dispose(),this._panner.dispose(),this.pan.dispose(),this._volume.dispose(),this.volume.dispose(),this}}class Channel extends ToneAudioNode{constructor(){super(optionsFromArguments(Channel.getDefaults(),arguments,["volume","pan"])),this.name="Channel";const e=optionsFromArguments(Channel.getDefaults(),arguments,["volume","pan"]);this._solo=this.input=new Solo({solo:e.solo,context:this.context}),this._panVol=this.output=new PanVol({context:this.context,pan:e.pan,volume:e.volume,mute:e.mute,channelCount:e.channelCount}),this.pan=this._panVol.pan,this.volume=this._panVol.volume,this._solo.connect(this._panVol),readOnly$1(this,["pan","volume"])}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{pan:0,volume:0,mute:!1,solo:!1,channelCount:1})}get solo(){return this._solo.solo}set solo(e){this._solo.solo=e}get muted(){return this._solo.muted||this.mute}get mute(){return this._panVol.mute}set mute(e){this._panVol.mute=e}_getBus(e){return Channel.buses.has(e)||Channel.buses.set(e,new Gain$1({context:this.context})),Channel.buses.get(e)}send(e,s=0){const a=this._getBus(e),c=new Gain$1({context:this.context,units:"decibels",gain:s});return this.connect(c),c.connect(a),c}receive(e){return this._getBus(e).connect(this),this}dispose(){return super.dispose(),this._panVol.dispose(),this.pan.dispose(),this.volume.dispose(),this._solo.dispose(),this}}Channel.buses=new Map;class Mono extends ToneAudioNode{constructor(){super(optionsFromArguments(Mono.getDefaults(),arguments)),this.name="Mono",this.input=new Gain$1({context:this.context}),this._merge=this.output=new Merge({channels:2,context:this.context}),this.input.connect(this._merge,0,0),this.input.connect(this._merge,0,1)}dispose(){return super.dispose(),this._merge.dispose(),this.input.dispose(),this}}class MultibandSplit extends ToneAudioNode{constructor(){super(optionsFromArguments(MultibandSplit.getDefaults(),arguments,["lowFrequency","highFrequency"])),this.name="MultibandSplit",this.input=new Gain$1({context:this.context}),this.output=void 0,this.low=new Filter$1({context:this.context,frequency:0,type:"lowpass"}),this._lowMidFilter=new Filter$1({context:this.context,frequency:0,type:"highpass"}),this.mid=new Filter$1({context:this.context,frequency:0,type:"lowpass"}),this.high=new Filter$1({context:this.context,frequency:0,type:"highpass"}),this._internalChannels=[this.low,this.mid,this.high];const e=optionsFromArguments(MultibandSplit.getDefaults(),arguments,["lowFrequency","highFrequency"]);this.lowFrequency=new Signal({context:this.context,units:"frequency",value:e.lowFrequency}),this.highFrequency=new Signal({context:this.context,units:"frequency",value:e.highFrequency}),this.Q=new Signal({context:this.context,units:"positive",value:e.Q}),this.input.fan(this.low,this.high),this.input.chain(this._lowMidFilter,this.mid),this.lowFrequency.fan(this.low.frequency,this._lowMidFilter.frequency),this.highFrequency.fan(this.mid.frequency,this.high.frequency),this.Q.connect(this.low.Q),this.Q.connect(this._lowMidFilter.Q),this.Q.connect(this.mid.Q),this.Q.connect(this.high.Q),readOnly$1(this,["high","mid","low","highFrequency","lowFrequency"])}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{Q:1,highFrequency:2500,lowFrequency:400})}dispose(){return super.dispose(),writable(this,["high","mid","low","highFrequency","lowFrequency"]),this.low.dispose(),this._lowMidFilter.dispose(),this.mid.dispose(),this.high.dispose(),this.lowFrequency.dispose(),this.highFrequency.dispose(),this.Q.dispose(),this}}class Listener$1 extends ToneAudioNode{constructor(){super(...arguments),this.name="Listener",this.positionX=new Param({context:this.context,param:this.context.rawContext.listener.positionX}),this.positionY=new Param({context:this.context,param:this.context.rawContext.listener.positionY}),this.positionZ=new Param({context:this.context,param:this.context.rawContext.listener.positionZ}),this.forwardX=new Param({context:this.context,param:this.context.rawContext.listener.forwardX}),this.forwardY=new Param({context:this.context,param:this.context.rawContext.listener.forwardY}),this.forwardZ=new Param({context:this.context,param:this.context.rawContext.listener.forwardZ}),this.upX=new Param({context:this.context,param:this.context.rawContext.listener.upX}),this.upY=new Param({context:this.context,param:this.context.rawContext.listener.upY}),this.upZ=new Param({context:this.context,param:this.context.rawContext.listener.upZ})}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{positionX:0,positionY:0,positionZ:0,forwardX:0,forwardY:0,forwardZ:-1,upX:0,upY:1,upZ:0})}dispose(){return super.dispose(),this.positionX.dispose(),this.positionY.dispose(),this.positionZ.dispose(),this.forwardX.dispose(),this.forwardY.dispose(),this.forwardZ.dispose(),this.upX.dispose(),this.upY.dispose(),this.upZ.dispose(),this}}onContextInit(o=>{o.listener=new Listener$1({context:o})});onContextClose(o=>{o.listener.dispose()});class Panner3D extends ToneAudioNode{constructor(){super(optionsFromArguments(Panner3D.getDefaults(),arguments,["positionX","positionY","positionZ"])),this.name="Panner3D";const e=optionsFromArguments(Panner3D.getDefaults(),arguments,["positionX","positionY","positionZ"]);this._panner=this.input=this.output=this.context.createPanner(),this.panningModel=e.panningModel,this.maxDistance=e.maxDistance,this.distanceModel=e.distanceModel,this.coneOuterGain=e.coneOuterGain,this.coneOuterAngle=e.coneOuterAngle,this.coneInnerAngle=e.coneInnerAngle,this.refDistance=e.refDistance,this.rolloffFactor=e.rolloffFactor,this.positionX=new Param({context:this.context,param:this._panner.positionX,value:e.positionX}),this.positionY=new Param({context:this.context,param:this._panner.positionY,value:e.positionY}),this.positionZ=new Param({context:this.context,param:this._panner.positionZ,value:e.positionZ}),this.orientationX=new Param({context:this.context,param:this._panner.orientationX,value:e.orientationX}),this.orientationY=new Param({context:this.context,param:this._panner.orientationY,value:e.orientationY}),this.orientationZ=new Param({context:this.context,param:this._panner.orientationZ,value:e.orientationZ})}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{coneInnerAngle:360,coneOuterAngle:360,coneOuterGain:0,distanceModel:"inverse",maxDistance:1e4,orientationX:0,orientationY:0,orientationZ:0,panningModel:"equalpower",positionX:0,positionY:0,positionZ:0,refDistance:1,rolloffFactor:1})}setPosition(e,s,a){return this.positionX.value=e,this.positionY.value=s,this.positionZ.value=a,this}setOrientation(e,s,a){return this.orientationX.value=e,this.orientationY.value=s,this.orientationZ.value=a,this}get panningModel(){return this._panner.panningModel}set panningModel(e){this._panner.panningModel=e}get refDistance(){return this._panner.refDistance}set refDistance(e){this._panner.refDistance=e}get rolloffFactor(){return this._panner.rolloffFactor}set rolloffFactor(e){this._panner.rolloffFactor=e}get distanceModel(){return this._panner.distanceModel}set distanceModel(e){this._panner.distanceModel=e}get coneInnerAngle(){return this._panner.coneInnerAngle}set coneInnerAngle(e){this._panner.coneInnerAngle=e}get coneOuterAngle(){return this._panner.coneOuterAngle}set coneOuterAngle(e){this._panner.coneOuterAngle=e}get coneOuterGain(){return this._panner.coneOuterGain}set coneOuterGain(e){this._panner.coneOuterGain=e}get maxDistance(){return this._panner.maxDistance}set maxDistance(e){this._panner.maxDistance=e}dispose(){return super.dispose(),this._panner.disconnect(),this.orientationX.dispose(),this.orientationY.dispose(),this.orientationZ.dispose(),this.positionX.dispose(),this.positionY.dispose(),this.positionZ.dispose(),this}}class Recorder extends ToneAudioNode{constructor(){super(optionsFromArguments(Recorder.getDefaults(),arguments)),this.name="Recorder";const e=optionsFromArguments(Recorder.getDefaults(),arguments);this.input=new Gain$1({context:this.context}),assert(Recorder.supported,"Media Recorder API is not available"),this._stream=this.context.createMediaStreamDestination(),this.input.connect(this._stream),this._recorder=new MediaRecorder(this._stream.stream,{mimeType:e.mimeType})}static getDefaults(){return ToneAudioNode.getDefaults()}get mimeType(){return this._recorder.mimeType}static get supported(){return theWindow!==null&&Reflect.has(theWindow,"MediaRecorder")}get state(){return this._recorder.state==="inactive"?"stopped":this._recorder.state==="paused"?"paused":"started"}start(){return __awaiter$4(this,void 0,void 0,function*(){assert(this.state!=="started","Recorder is already started");const e=new Promise(s=>{const a=()=>{this._recorder.removeEventListener("start",a,!1),s()};this._recorder.addEventListener("start",a,!1)});return this._recorder.start(),yield e})}stop(){return __awaiter$4(this,void 0,void 0,function*(){assert(this.state!=="stopped","Recorder is not started");const e=new Promise(s=>{const a=c=>{this._recorder.removeEventListener("dataavailable",a,!1),s(c.data)};this._recorder.addEventListener("dataavailable",a,!1)});return this._recorder.stop(),yield e})}pause(){return assert(this.state==="started","Recorder must be started"),this._recorder.pause(),this}dispose(){return super.dispose(),this.input.dispose(),this._stream.disconnect(),this}}class Compressor extends ToneAudioNode{constructor(){super(optionsFromArguments(Compressor.getDefaults(),arguments,["threshold","ratio"])),this.name="Compressor",this._compressor=this.context.createDynamicsCompressor(),this.input=this._compressor,this.output=this._compressor;const e=optionsFromArguments(Compressor.getDefaults(),arguments,["threshold","ratio"]);this.threshold=new Param({minValue:this._compressor.threshold.minValue,maxValue:this._compressor.threshold.maxValue,context:this.context,convert:!1,param:this._compressor.threshold,units:"decibels",value:e.threshold}),this.attack=new Param({minValue:this._compressor.attack.minValue,maxValue:this._compressor.attack.maxValue,context:this.context,param:this._compressor.attack,units:"time",value:e.attack}),this.release=new Param({minValue:this._compressor.release.minValue,maxValue:this._compressor.release.maxValue,context:this.context,param:this._compressor.release,units:"time",value:e.release}),this.knee=new Param({minValue:this._compressor.knee.minValue,maxValue:this._compressor.knee.maxValue,context:this.context,convert:!1,param:this._compressor.knee,units:"decibels",value:e.knee}),this.ratio=new Param({minValue:this._compressor.ratio.minValue,maxValue:this._compressor.ratio.maxValue,context:this.context,convert:!1,param:this._compressor.ratio,units:"positive",value:e.ratio}),readOnly$1(this,["knee","release","attack","ratio","threshold"])}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{attack:.003,knee:30,ratio:12,release:.25,threshold:-24})}get reduction(){return this._compressor.reduction}dispose(){return super.dispose(),this._compressor.disconnect(),this.attack.dispose(),this.release.dispose(),this.threshold.dispose(),this.ratio.dispose(),this.knee.dispose(),this}}class Gate extends ToneAudioNode{constructor(){super(Object.assign(optionsFromArguments(Gate.getDefaults(),arguments,["threshold","smoothing"]))),this.name="Gate";const e=optionsFromArguments(Gate.getDefaults(),arguments,["threshold","smoothing"]);this._follower=new Follower({context:this.context,smoothing:e.smoothing}),this._gt=new GreaterThan({context:this.context,value:dbToGain(e.threshold)}),this.input=new Gain$1({context:this.context}),this._gate=this.output=new Gain$1({context:this.context}),this.input.connect(this._gate),this.input.chain(this._follower,this._gt,this._gate.gain)}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{smoothing:.1,threshold:-40})}get threshold(){return gainToDb(this._gt.value)}set threshold(e){this._gt.value=dbToGain(e)}get smoothing(){return this._follower.smoothing}set smoothing(e){this._follower.smoothing=e}dispose(){return super.dispose(),this.input.dispose(),this._follower.dispose(),this._gt.dispose(),this._gate.dispose(),this}}class Limiter extends ToneAudioNode{constructor(){super(Object.assign(optionsFromArguments(Limiter.getDefaults(),arguments,["threshold"]))),this.name="Limiter";const e=optionsFromArguments(Limiter.getDefaults(),arguments,["threshold"]);this._compressor=this.input=this.output=new Compressor({context:this.context,ratio:20,attack:.003,release:.01,threshold:e.threshold}),this.threshold=this._compressor.threshold,readOnly$1(this,"threshold")}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{threshold:-12})}get reduction(){return this._compressor.reduction}dispose(){return super.dispose(),this._compressor.dispose(),this.threshold.dispose(),this}}class MidSideCompressor extends ToneAudioNode{constructor(){super(Object.assign(optionsFromArguments(MidSideCompressor.getDefaults(),arguments))),this.name="MidSideCompressor";const e=optionsFromArguments(MidSideCompressor.getDefaults(),arguments);this._midSideSplit=this.input=new MidSideSplit({context:this.context}),this._midSideMerge=this.output=new MidSideMerge({context:this.context}),this.mid=new Compressor(Object.assign(e.mid,{context:this.context})),this.side=new Compressor(Object.assign(e.side,{context:this.context})),this._midSideSplit.mid.chain(this.mid,this._midSideMerge.mid),this._midSideSplit.side.chain(this.side,this._midSideMerge.side),readOnly$1(this,["mid","side"])}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{mid:{ratio:3,threshold:-24,release:.03,attack:.02,knee:16},side:{ratio:6,threshold:-30,release:.25,attack:.03,knee:10}})}dispose(){return super.dispose(),this.mid.dispose(),this.side.dispose(),this._midSideSplit.dispose(),this._midSideMerge.dispose(),this}}class MultibandCompressor extends ToneAudioNode{constructor(){super(Object.assign(optionsFromArguments(MultibandCompressor.getDefaults(),arguments))),this.name="MultibandCompressor";const e=optionsFromArguments(MultibandCompressor.getDefaults(),arguments);this._splitter=this.input=new MultibandSplit({context:this.context,lowFrequency:e.lowFrequency,highFrequency:e.highFrequency}),this.lowFrequency=this._splitter.lowFrequency,this.highFrequency=this._splitter.highFrequency,this.output=new Gain$1({context:this.context}),this.low=new Compressor(Object.assign(e.low,{context:this.context})),this.mid=new Compressor(Object.assign(e.mid,{context:this.context})),this.high=new Compressor(Object.assign(e.high,{context:this.context})),this._splitter.low.chain(this.low,this.output),this._splitter.mid.chain(this.mid,this.output),this._splitter.high.chain(this.high,this.output),readOnly$1(this,["high","mid","low","highFrequency","lowFrequency"])}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{lowFrequency:250,highFrequency:2e3,low:{ratio:6,threshold:-30,release:.25,attack:.03,knee:10},mid:{ratio:3,threshold:-24,release:.03,attack:.02,knee:16},high:{ratio:3,threshold:-24,release:.03,attack:.02,knee:16}})}dispose(){return super.dispose(),this._splitter.dispose(),this.low.dispose(),this.mid.dispose(),this.high.dispose(),this.output.dispose(),this}}class EQ3 extends ToneAudioNode{constructor(){super(optionsFromArguments(EQ3.getDefaults(),arguments,["low","mid","high"])),this.name="EQ3",this.output=new Gain$1({context:this.context}),this._internalChannels=[];const e=optionsFromArguments(EQ3.getDefaults(),arguments,["low","mid","high"]);this.input=this._multibandSplit=new MultibandSplit({context:this.context,highFrequency:e.highFrequency,lowFrequency:e.lowFrequency}),this._lowGain=new Gain$1({context:this.context,gain:e.low,units:"decibels"}),this._midGain=new Gain$1({context:this.context,gain:e.mid,units:"decibels"}),this._highGain=new Gain$1({context:this.context,gain:e.high,units:"decibels"}),this.low=this._lowGain.gain,this.mid=this._midGain.gain,this.high=this._highGain.gain,this.Q=this._multibandSplit.Q,this.lowFrequency=this._multibandSplit.lowFrequency,this.highFrequency=this._multibandSplit.highFrequency,this._multibandSplit.low.chain(this._lowGain,this.output),this._multibandSplit.mid.chain(this._midGain,this.output),this._multibandSplit.high.chain(this._highGain,this.output),readOnly$1(this,["low","mid","high","lowFrequency","highFrequency"]),this._internalChannels=[this._multibandSplit]}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{high:0,highFrequency:2500,low:0,lowFrequency:400,mid:0})}dispose(){return super.dispose(),writable(this,["low","mid","high","lowFrequency","highFrequency"]),this._multibandSplit.dispose(),this.lowFrequency.dispose(),this.highFrequency.dispose(),this._lowGain.dispose(),this._midGain.dispose(),this._highGain.dispose(),this.low.dispose(),this.mid.dispose(),this.high.dispose(),this.Q.dispose(),this}}class Convolver extends ToneAudioNode{constructor(){super(optionsFromArguments(Convolver.getDefaults(),arguments,["url","onload"])),this.name="Convolver",this._convolver=this.context.createConvolver();const e=optionsFromArguments(Convolver.getDefaults(),arguments,["url","onload"]);this._buffer=new ToneAudioBuffer(e.url,s=>{this.buffer=s,e.onload()}),this.input=new Gain$1({context:this.context}),this.output=new Gain$1({context:this.context}),this._buffer.loaded&&(this.buffer=this._buffer),this.normalize=e.normalize,this.input.chain(this._convolver,this.output)}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{normalize:!0,onload:noOp})}load(e){return __awaiter$4(this,void 0,void 0,function*(){this.buffer=yield this._buffer.load(e)})}get buffer(){return this._buffer.length?this._buffer:null}set buffer(e){e&&this._buffer.set(e),this._convolver.buffer&&(this.input.disconnect(),this._convolver.disconnect(),this._convolver=this.context.createConvolver(),this.input.chain(this._convolver,this.output));const s=this._buffer.get();this._convolver.buffer=s||null}get normalize(){return this._convolver.normalize}set normalize(e){this._convolver.normalize=e}dispose(){return super.dispose(),this._buffer.dispose(),this._convolver.disconnect(),this}}function now(){return getContext().now()}function immediate(){return getContext().immediate()}const Transport=getContext().transport;function getTransport(){return getContext().transport}const Destination$1=getContext().destination,Master=getContext().destination;function getDestination$1(){return getContext().destination}const Listener=getContext().listener;function getListener(){return getContext().listener}const Draw=getContext().draw;function getDraw(){return getContext().draw}const context=getContext();function loaded(){return ToneAudioBuffer.loaded()}const Buffer=ToneAudioBuffer,Buffers=ToneAudioBuffers,BufferSource=ToneBufferSource;var _Tone=Object.freeze(Object.defineProperty({__proto__:null,now,immediate,Transport,getTransport,Destination:Destination$1,Master,getDestination:getDestination$1,Listener,getListener,Draw,getDraw,context,loaded,Buffer,Buffers,BufferSource,getContext,setContext,start,supported:isSupported,dbToGain,gainToDb,intervalToFrequencyRatio,ftom,mtof,optionsFromArguments,defaultArg,Clock,Context,BaseContext,Delay,Gain:Gain$1,Offline,OfflineContext,Param,ToneAudioBuffer,ToneAudioBuffers,ToneAudioNode,connectSeries,connect,disconnect,FrequencyClass,Frequency,MidiClass,Midi,TimeClass,Time,TicksClass,Ticks,TransportTimeClass,TransportTime,Emitter,IntervalTimeline,StateTimeline,Timeline,isUndef,isDefined,isFunction,isNumber,isObject,isBoolean,isArray,isString,isNote:isNote$2,Unit:Units,debug:Debug,Noise,UserMedia,Oscillator,AMOscillator,FMOscillator,PulseOscillator,FatOscillator,PWMOscillator,OmniOscillator,ToneOscillatorNode,LFO,ToneBufferSource,Player,Players:Players$1,GrainPlayer,Add,Abs,AudioToGain,GainToAudio,GreaterThan,GreaterThanZero,Multiply,Negate,Pow,Signal,connectSignal,Scale,ScaleExp,Subtract,SyncedSignal,WaveShaper,Zero,AMSynth:AMSynth$1,DuoSynth:DuoSynth$1,FMSynth:FMSynth$1,MetalSynth:MetalSynth$1,MembraneSynth:MembraneSynth$1,MonoSynth:MonoSynth$1,NoiseSynth:NoiseSynth$1,PluckSynth:PluckSynth$1,PolySynth:PolySynth$1,Sampler:Sampler$1,Synth:Synth$1,Loop,Part,Pattern:Pattern$4,Sequence,ToneEvent,AutoFilter:AutoFilter$1,AutoPanner,AutoWah,BitCrusher,Chebyshev,Chorus,Distortion,FeedbackDelay,FrequencyShifter,Freeverb,JCReverb,PingPongDelay,PitchShift,Phaser,Reverb,StereoWidener,Tremolo,Vibrato,Analyser,Meter,FFT,DCMeter,Waveform,Follower,Channel,CrossFade,Merge,MidSideMerge,MidSideSplit,Mono,MultibandSplit,Panner,Panner3D,PanVol,Recorder,Solo,Split,Volume,Compressor,Gate,Limiter,MidSideCompressor,MultibandCompressor,AmplitudeEnvelope,Envelope,FrequencyEnvelope,EQ3,Filter:Filter$1,OnePoleFilter,FeedbackCombFilter,LowpassCombFilter,Convolver,BiquadFilter,version},Symbol.toStringTag,{value:"Module"})),__awaiter$3=globalThis&&globalThis.__awaiter||function(o,e,s,a){function c(d){return d instanceof s?d:new s(function(_){_(d)})}return new(s||(s=Promise))(function(d,_){function b(j){try{$(a.next(j))}catch(_e){_(_e)}}function k(j){try{$(a.throw(j))}catch(_e){_(_e)}}function $(j){j.done?d(j.value):c(j.value).then(b,k)}$((a=a.apply(o,e||[])).next())})};class PianoComponent extends ToneAudioNode{constructor(e){super(e),this.name="PianoComponent",this.input=void 0,this.output=new Volume({context:this.context}),this._enabled=!1,this.volume=this.output.volume,this._loaded=!1,this.volume.value=e.volume,this._enabled=e.enabled,this.samples=e.samples}get loaded(){return this._loaded}load(){return __awaiter$3(this,void 0,void 0,function*(){if(this._enabled)yield this._internalLoad(),this._loaded=!0;else return Promise.resolve()})}}function midiToNote(o){return Frequency(o,"midi").toNote()}function randomBetween(o,e){return Math.random()*(e-o)+o}function getReleasesUrl(o){return`rel${o-20}.[mp3|ogg]`}function getHarmonicsUrl(o){return`harmS${midiToNote(o).replace("#","s")}.[mp3|ogg]`}function getNotesUrl(o,e){return`${midiToNote(o).replace("#","s")}v${e}.[mp3|ogg]`}const velocitiesMap={1:[8],2:[6,12],3:[1,7,15],4:[1,5,10,15],5:[1,4,8,12,16],6:[1,3,7,10,13,16],7:[1,3,6,9,11,13,16],8:[1,3,5,7,9,11,13,16],9:[1,3,5,7,9,11,13,15,16],10:[1,2,3,5,7,9,11,13,15,16],11:[1,2,3,5,7,9,11,13,14,15,16],12:[1,2,3,4,5,7,9,11,13,14,15,16],13:[1,2,3,4,5,7,9,11,12,13,14,15,16],14:[1,2,3,4,5,6,7,9,11,12,13,14,15,16],15:[1,2,3,4,5,6,7,9,10,11,12,13,14,15,16],16:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]},allNotes=[21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,96,99,102,105,108];function getNotesInRange(o,e){return allNotes.filter(s=>o<=s&&s<=e)}const harmonics=[21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87];function getHarmonicsInRange(o,e){return harmonics.filter(s=>o<=s&&s<=e)}function inHarmonicsRange(o){return harmonics[0]<=o&&o<=harmonics[harmonics.length-1]}class Harmonics extends PianoComponent{constructor(e){super(e),this._urls={};const s=getHarmonicsInRange(e.minNote,e.maxNote);for(const a of s)this._urls[a]=getHarmonicsUrl(a)}triggerAttack(e,s,a){this._enabled&&inHarmonicsRange(e)&&this._sampler.triggerAttack(Midi(e).toNote(),s,a*randomBetween(.5,1))}_internalLoad(){return new Promise(e=>{this._sampler=new Sampler$1({baseUrl:this.samples,onload:e,urls:this._urls}).connect(this.output)})}}class Keybed extends PianoComponent{constructor(e){super(e),this._urls={};for(let s=e.minNote;s<=e.maxNote;s++)this._urls[s]=getReleasesUrl(s)}_internalLoad(){return new Promise(e=>{this._buffers=new ToneAudioBuffers(this._urls,e,this.samples)})}start(e,s,a){this._enabled&&this._buffers.has(e)&&new ToneBufferSource({url:this._buffers.get(e),context:this.context}).connect(this.output).start(s,0,void 0,.015*a*randomBetween(.5,1))}}class Pedal extends PianoComponent{constructor(e){super(e),this._downTime=1/0,this._currentSound=null,this._downTime=1/0}_internalLoad(){return new Promise(e=>{this._buffers=new ToneAudioBuffers({down1:"pedalD1.mp3",down2:"pedalD2.mp3",up1:"pedalU1.mp3",up2:"pedalU2.mp3"},e,this.samples)})}_squash(e){this._currentSound&&this._currentSound.state!=="stopped"&&this._currentSound.stop(e),this._currentSound=null}_playSample(e,s){this._enabled&&(this._currentSound=new ToneBufferSource({url:this._buffers.get(`${s}${Math.random()>.5?1:2}`),context:this.context,curve:"exponential",fadeIn:.05,fadeOut:.1}).connect(this.output),this._currentSound.start(e,randomBetween(0,.01),void 0,.1*randomBetween(.5,1)))}down(e){this._squash(e),this._downTime=e,this._playSample(e,"down")}up(e){this._squash(e),this._downTime=1/0,this._playSample(e,"up")}isDown(e){return e>this._downTime}}class PianoString extends ToneAudioNode{constructor(e){super(e),this.name="PianoString",this._urls={},e.notes.forEach(s=>this._urls[s]=getNotesUrl(s,e.velocity)),this.samples=e.samples}load(){return new Promise(e=>{this._sampler=this.output=new Sampler$1({attack:0,baseUrl:this.samples,curve:"exponential",onload:e,release:.4,urls:this._urls,volume:3})})}triggerAttack(e,s,a){this._sampler.triggerAttack(e,s,a)}triggerRelease(e,s){this._sampler.triggerRelease(e,s)}}var __awaiter$2=globalThis&&globalThis.__awaiter||function(o,e,s,a){function c(d){return d instanceof s?d:new s(function(_){_(d)})}return new(s||(s=Promise))(function(d,_){function b(j){try{$(a.next(j))}catch(_e){_(_e)}}function k(j){try{$(a.throw(j))}catch(_e){_(_e)}}function $(j){j.done?d(j.value):c(j.value).then(b,k)}$((a=a.apply(o,e||[])).next())})};class PianoStrings extends PianoComponent{constructor(e){super(e);const s=getNotesInRange(e.minNote,e.maxNote),a=velocitiesMap[e.velocities].slice();this._strings=a.map(c=>new PianoString(Object.assign(e,{notes:s,velocity:c}))),this._activeNotes=new Map}scale(e,s,a,c,d){return(e-s)/(a-s)*(d-c)+c}triggerAttack(e,s,a){const c=this.scale(a,0,1,-.5,this._strings.length-.51),d=Math.max(Math.round(c),0);let _=1+c-d;this._strings.length===1&&(_=a);const b=this._strings[d];this._activeNotes.has(e)&&this.triggerRelease(e,s),this._activeNotes.set(e,b),b.triggerAttack(Midi(e).toNote(),s,_)}triggerRelease(e,s){this._activeNotes.has(e)&&(this._activeNotes.get(e).triggerRelease(Midi(e).toNote(),s),this._activeNotes.delete(e))}_internalLoad(){return __awaiter$2(this,void 0,void 0,function*(){yield Promise.all(this._strings.map(e=>__awaiter$2(this,void 0,void 0,function*(){yield e.load(),e.connect(this.output)})))})}}var __awaiter$1=globalThis&&globalThis.__awaiter||function(o,e,s,a){function c(d){return d instanceof s?d:new s(function(_){_(d)})}return new(s||(s=Promise))(function(d,_){function b(j){try{$(a.next(j))}catch(_e){_(_e)}}function k(j){try{$(a.throw(j))}catch(_e){_(_e)}}function $(j){j.done?d(j.value):c(j.value).then(b,k)}$((a=a.apply(o,e||[])).next())})};class Piano$1 extends ToneAudioNode{constructor(){super(optionsFromArguments(Piano$1.getDefaults(),arguments)),this.name="Piano",this.input=void 0,this.output=new Gain$1({context:this.context}),this._heldNotes=new Map,this._loaded=!1;const e=optionsFromArguments(Piano$1.getDefaults(),arguments);e.url.endsWith("/")||(e.url+="/"),this.maxPolyphony=e.maxPolyphony,this._heldNotes=new Map,this._sustainedNotes=new Map,this._strings=new PianoStrings(Object.assign({},e,{enabled:!0,samples:e.url,volume:e.volume.strings})).connect(this.output),this.strings=this._strings.volume,this._pedal=new Pedal(Object.assign({},e,{enabled:e.pedal,samples:e.url,volume:e.volume.pedal})).connect(this.output),this.pedal=this._pedal.volume,this._keybed=new Keybed(Object.assign({},e,{enabled:e.release,samples:e.url,volume:e.volume.keybed})).connect(this.output),this.keybed=this._keybed.volume,this._harmonics=new Harmonics(Object.assign({},e,{enabled:e.release,samples:e.url,volume:e.volume.harmonics})).connect(this.output),this.harmonics=this._harmonics.volume}static getDefaults(){return Object.assign(ToneAudioNode.getDefaults(),{maxNote:108,minNote:21,pedal:!0,release:!1,url:"https://tambien.github.io/Piano/audio/",velocities:1,maxPolyphony:32,volume:{harmonics:0,keybed:0,pedal:0,strings:0}})}load(){return __awaiter$1(this,void 0,void 0,function*(){yield Promise.all([this._strings.load(),this._pedal.load(),this._keybed.load(),this._harmonics.load()]),this._loaded=!0})}get loaded(){return this._loaded}pedalDown({time:e=this.immediate()}={}){return this.loaded&&(e=this.toSeconds(e),this._pedal.isDown(e)||this._pedal.down(e)),this}pedalUp({time:e=this.immediate()}={}){if(this.loaded){const s=this.toSeconds(e);this._pedal.isDown(s)&&(this._pedal.up(s),this._sustainedNotes.forEach((a,c)=>{this._heldNotes.has(c)||this._strings.triggerRelease(c,s)}),this._sustainedNotes.clear())}return this}keyDown({note:e,midi:s,time:a=this.immediate(),velocity:c=.8}){return this.loaded&&this.maxPolyphony>this._heldNotes.size+this._sustainedNotes.size?(a=this.toSeconds(a),isString(e)&&(s=Math.round(Midi(e).toMidi())),this._heldNotes.has(s)||(this._heldNotes.set(s,{time:a,velocity:c}),this._strings.triggerAttack(s,a,c))):console.warn("samples not loaded"),this}keyUp({note:e,midi:s,time:a=this.immediate(),velocity:c=.8}){if(this.loaded&&(a=this.toSeconds(a),isString(e)&&(s=Math.round(Midi(e).toMidi())),this._heldNotes.has(s))){const d=this._heldNotes.get(s);this._heldNotes.delete(s);const _=Math.pow(Math.max(a-d.time,.1),.7),b=d.velocity;let k=3/_*b*c;k=Math.max(k,.4),k=Math.min(k,4),this._pedal.isDown(a)?this._sustainedNotes.has(s)||this._sustainedNotes.set(s,a):(this._strings.triggerRelease(s,a),this._harmonics.triggerAttack(s,a,k)),this._keybed.start(s,a,c)}return this}stopAll(){return this.pedalUp(),this._heldNotes.forEach((e,s)=>{this.keyUp({midi:s})}),this}}var events={exports:{}},R=typeof Reflect=="object"?Reflect:null,ReflectApply=R&&typeof R.apply=="function"?R.apply:function o(e,s,a){return Function.prototype.apply.call(e,s,a)},ReflectOwnKeys;R&&typeof R.ownKeys=="function"?ReflectOwnKeys=R.ownKeys:Object.getOwnPropertySymbols?ReflectOwnKeys=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:ReflectOwnKeys=function(e){return Object.getOwnPropertyNames(e)};function ProcessEmitWarning(o){console&&console.warn&&console.warn(o)}var NumberIsNaN=Number.isNaN||function o(e){return e!==e};function EventEmitter(){EventEmitter.init.call(this)}events.exports=EventEmitter;events.exports.once=once;EventEmitter.EventEmitter=EventEmitter;EventEmitter.prototype._events=void 0;EventEmitter.prototype._eventsCount=0;EventEmitter.prototype._maxListeners=void 0;var defaultMaxListeners=10;function checkListener(o){if(typeof o!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof o)}Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:!0,get:function(){return defaultMaxListeners},set:function(o){if(typeof o!="number"||o<0||NumberIsNaN(o))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+o+".");defaultMaxListeners=o}});EventEmitter.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};EventEmitter.prototype.setMaxListeners=function o(e){if(typeof e!="number"||e<0||NumberIsNaN(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function _getMaxListeners(o){return o._maxListeners===void 0?EventEmitter.defaultMaxListeners:o._maxListeners}EventEmitter.prototype.getMaxListeners=function o(){return _getMaxListeners(this)};EventEmitter.prototype.emit=function o(e){for(var s=[],a=1;a0&&(_=s[0]),_ instanceof Error)throw _;var b=new Error("Unhandled error."+(_?" ("+_.message+")":""));throw b.context=_,b}var k=d[e];if(k===void 0)return!1;if(typeof k=="function")ReflectApply(k,this,s);else for(var $=k.length,j=arrayClone(k,$),a=0;a<$;++a)ReflectApply(j[a],this,s);return!0};function _addListener(o,e,s,a){var c,d,_;if(checkListener(s),d=o._events,d===void 0?(d=o._events=Object.create(null),o._eventsCount=0):(d.newListener!==void 0&&(o.emit("newListener",e,s.listener?s.listener:s),d=o._events),_=d[e]),_===void 0)_=d[e]=s,++o._eventsCount;else if(typeof _=="function"?_=d[e]=a?[s,_]:[_,s]:a?_.unshift(s):_.push(s),c=_getMaxListeners(o),c>0&&_.length>c&&!_.warned){_.warned=!0;var b=new Error("Possible EventEmitter memory leak detected. "+_.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");b.name="MaxListenersExceededWarning",b.emitter=o,b.type=e,b.count=_.length,ProcessEmitWarning(b)}return o}EventEmitter.prototype.addListener=function o(e,s){return _addListener(this,e,s,!1)};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.prependListener=function o(e,s){return _addListener(this,e,s,!0)};function onceWrapper(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _onceWrap(o,e,s){var a={fired:!1,wrapFn:void 0,target:o,type:e,listener:s},c=onceWrapper.bind(a);return c.listener=s,a.wrapFn=c,c}EventEmitter.prototype.once=function o(e,s){return checkListener(s),this.on(e,_onceWrap(this,e,s)),this};EventEmitter.prototype.prependOnceListener=function o(e,s){return checkListener(s),this.prependListener(e,_onceWrap(this,e,s)),this};EventEmitter.prototype.removeListener=function o(e,s){var a,c,d,_,b;if(checkListener(s),c=this._events,c===void 0)return this;if(a=c[e],a===void 0)return this;if(a===s||a.listener===s)--this._eventsCount===0?this._events=Object.create(null):(delete c[e],c.removeListener&&this.emit("removeListener",e,a.listener||s));else if(typeof a!="function"){for(d=-1,_=a.length-1;_>=0;_--)if(a[_]===s||a[_].listener===s){b=a[_].listener,d=_;break}if(d<0)return this;d===0?a.shift():spliceOne(a,d),a.length===1&&(c[e]=a[0]),c.removeListener!==void 0&&this.emit("removeListener",e,b||s)}return this};EventEmitter.prototype.off=EventEmitter.prototype.removeListener;EventEmitter.prototype.removeAllListeners=function o(e){var s,a,c;if(a=this._events,a===void 0)return this;if(a.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):a[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete a[e]),this;if(arguments.length===0){var d=Object.keys(a),_;for(c=0;c=0;c--)this.removeListener(e,s[c]);return this};function _listeners(o,e,s){var a=o._events;if(a===void 0)return[];var c=a[e];return c===void 0?[]:typeof c=="function"?s?[c.listener||c]:[c]:s?unwrapListeners(c):arrayClone(c,c.length)}EventEmitter.prototype.listeners=function o(e){return _listeners(this,e,!0)};EventEmitter.prototype.rawListeners=function o(e){return _listeners(this,e,!1)};EventEmitter.listenerCount=function(o,e){return typeof o.listenerCount=="function"?o.listenerCount(e):listenerCount.call(o,e)};EventEmitter.prototype.listenerCount=listenerCount;function listenerCount(o){var e=this._events;if(e!==void 0){var s=e[o];if(typeof s=="function")return 1;if(s!==void 0)return s.length}return 0}EventEmitter.prototype.eventNames=function o(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]};function arrayClone(o,e){for(var s=new Array(e),a=0;a>4,j=15&_.data[0],_e=1+j;if(1<_.data.length&&(b=_.data[1],k=2<_.data.length?_.data[2]:void 0),a.nrpnEventsEnabled&&$===a.MIDI_CHANNEL_MESSAGES.controlchange&&(b>=a.MIDI_NRPN_MESSAGES.increment&&b<=a.MIDI_NRPN_MESSAGES.parammsb||b===a.MIDI_NRPN_MESSAGES.entrymsb||b===a.MIDI_NRPN_MESSAGES.entrylsb)){var et={target:this,type:"controlchange",data:_.data,timestamp:_.timeStamp,channel:_e,controller:{number:b,name:this.getCcNameByNumber(b)},value:k};if(et.controller.number===a.MIDI_NRPN_MESSAGES.parammsb&&et.value!=a.MIDI_NRPN_MESSAGES.nullactiveparameter)a._nrpnBuffer[j]=[],a._nrpnBuffer[j][0]=et;else if(a._nrpnBuffer[j].length===1&&et.controller.number===a.MIDI_NRPN_MESSAGES.paramlsb)a._nrpnBuffer[j].push(et);else if(a._nrpnBuffer[j].length!==2||et.controller.number!==a.MIDI_NRPN_MESSAGES.increment&&et.controller.number!==a.MIDI_NRPN_MESSAGES.decrement&&et.controller.number!==a.MIDI_NRPN_MESSAGES.entrymsb)if(a._nrpnBuffer[j].length===3&&a._nrpnBuffer[j][2].number===a.MIDI_NRPN_MESSAGES.entrymsb&&et.controller.number===a.MIDI_NRPN_MESSAGES.entrylsb)a._nrpnBuffer[j].push(et);else if(3<=a._nrpnBuffer[j].length&&a._nrpnBuffer[j].length<=4&&et.controller.number===a.MIDI_NRPN_MESSAGES.parammsb&&et.value===a.MIDI_NRPN_MESSAGES.nullactiveparameter)a._nrpnBuffer[j].push(et);else if(4<=a._nrpnBuffer[j].length&&a._nrpnBuffer[j].length<=5&&et.controller.number===a.MIDI_NRPN_MESSAGES.paramlsb&&et.value===a.MIDI_NRPN_MESSAGES.nullactiveparameter){a._nrpnBuffer[j].push(et);var tt=[];a._nrpnBuffer[j].forEach(function(at){tt.push(at.data)});var nt=a._nrpnBuffer[j][0].value<<7|a._nrpnBuffer[j][1].value,it=a._nrpnBuffer[j][2].value;a._nrpnBuffer[j].length===6&&(it=a._nrpnBuffer[j][2].value<<7|a._nrpnBuffer[j][3].value);var rt="";switch(a._nrpnBuffer[j][2].controller.number){case a.MIDI_NRPN_MESSAGES.entrymsb:rt=a._nrpnTypes[0];break;case a.MIDI_NRPN_MESSAGES.increment:rt=a._nrpnTypes[1];break;case a.MIDI_NRPN_MESSAGES.decrement:rt=a._nrpnTypes[2];break;default:throw new Error("The NPRN type was unidentifiable.")}var st={timestamp:et.timestamp,channel:et.channel,type:"nrpn",data:tt,controller:{number:nt,type:rt,name:"Non-Registered Parameter "+nt},value:it};a._nrpnBuffer[j]=[],this._userHandlers.channel[st.type]&&this._userHandlers.channel[st.type][st.channel]&&this._userHandlers.channel[st.type][st.channel].forEach(function(at){at(st)})}else a._nrpnBuffer[j]=[];else a._nrpnBuffer[j].push(et)}},c.prototype._parseChannelEvent=function(_){var b,k,$=_.data[0]>>4,j=1+(15&_.data[0]);1<_.data.length&&(b=_.data[1],k=2<_.data.length?_.data[2]:void 0);var _e={target:this,data:_.data,timestamp:_.timeStamp,channel:j};$===a.MIDI_CHANNEL_MESSAGES.noteoff||$===a.MIDI_CHANNEL_MESSAGES.noteon&&k===0?(_e.type="noteoff",_e.note={number:b,name:a._notes[b%12],octave:a.getOctave(b)},_e.velocity=k/127,_e.rawVelocity=k):$===a.MIDI_CHANNEL_MESSAGES.noteon?(_e.type="noteon",_e.note={number:b,name:a._notes[b%12],octave:a.getOctave(b)},_e.velocity=k/127,_e.rawVelocity=k):$===a.MIDI_CHANNEL_MESSAGES.keyaftertouch?(_e.type="keyaftertouch",_e.note={number:b,name:a._notes[b%12],octave:a.getOctave(b)},_e.value=k/127):$===a.MIDI_CHANNEL_MESSAGES.controlchange&&0<=b&&b<=119?(_e.type="controlchange",_e.controller={number:b,name:this.getCcNameByNumber(b)},_e.value=k):$===a.MIDI_CHANNEL_MESSAGES.channelmode&&120<=b&&b<=127?(_e.type="channelmode",_e.controller={number:b,name:this.getChannelModeByNumber(b)},_e.value=k):$===a.MIDI_CHANNEL_MESSAGES.programchange?(_e.type="programchange",_e.value=b):$===a.MIDI_CHANNEL_MESSAGES.channelaftertouch?(_e.type="channelaftertouch",_e.value=b/127):$===a.MIDI_CHANNEL_MESSAGES.pitchbend?(_e.type="pitchbend",_e.value=((k<<7)+b-8192)/8192):_e.type="unknownchannelmessage",this._userHandlers.channel[_e.type]&&this._userHandlers.channel[_e.type][j]&&this._userHandlers.channel[_e.type][j].forEach(function(et){et(_e)})},c.prototype.getCcNameByNumber=function(_){if(!(0<=(_=Math.floor(_))&&_<=119))throw new RangeError("The control change number must be between 0 and 119.");for(var b in a.MIDI_CONTROL_CHANGE_MESSAGES)if(Object.prototype.hasOwnProperty.call(a.MIDI_CONTROL_CHANGE_MESSAGES,b)&&_===a.MIDI_CONTROL_CHANGE_MESSAGES[b])return b},c.prototype.getChannelModeByNumber=function(_){if(!(120<=(_=Math.floor(_))&&status<=127))throw new RangeError("The control change number must be between 120 and 127.");for(var b in a.MIDI_CHANNEL_MODE_MESSAGES)if(Object.prototype.hasOwnProperty.call(a.MIDI_CHANNEL_MODE_MESSAGES,b)&&_===a.MIDI_CHANNEL_MODE_MESSAGES[b])return b},c.prototype._parseSystemEvent=function(_){var b=_.data[0],k={target:this,data:_.data,timestamp:_.timeStamp};b===a.MIDI_SYSTEM_MESSAGES.sysex?k.type="sysex":b===a.MIDI_SYSTEM_MESSAGES.timecode?k.type="timecode":b===a.MIDI_SYSTEM_MESSAGES.songposition?k.type="songposition":b===a.MIDI_SYSTEM_MESSAGES.songselect?(k.type="songselect",k.song=_.data[1]):b===a.MIDI_SYSTEM_MESSAGES.tuningrequest?k.type="tuningrequest":b===a.MIDI_SYSTEM_MESSAGES.clock?k.type="clock":b===a.MIDI_SYSTEM_MESSAGES.start?k.type="start":b===a.MIDI_SYSTEM_MESSAGES.continue?k.type="continue":b===a.MIDI_SYSTEM_MESSAGES.stop?k.type="stop":b===a.MIDI_SYSTEM_MESSAGES.activesensing?k.type="activesensing":b===a.MIDI_SYSTEM_MESSAGES.reset?k.type="reset":k.type="unknownsystemmessage",this._userHandlers.system[k.type]&&this._userHandlers.system[k.type].forEach(function($){$(k)})},d.prototype.send=function(_,b,k){if(!(128<=_&&_<=255))throw new RangeError("The status byte must be an integer between 128 (0x80) and 255 (0xFF).");b===void 0&&(b=[]),Array.isArray(b)||(b=[b]);var $=[];return b.forEach(function(j){var _e=Math.floor(j);if(!(0<=_e&&_e<=255))throw new RangeError("Data bytes must be integers between 0 (0x00) and 255 (0xFF).");$.push(_e)}),this._midiOutput.send([_].concat($),parseFloat(k)||0),this},d.prototype.sendSysex=function(_,b,k){if(!a.sysexEnabled)throw new Error("Sysex message support must first be activated.");return k=k||{},_=[].concat(_),b.forEach(function($){if($<0||127<$)throw new RangeError("The data bytes of a sysex message must be integers between 0 (0x00) and 127 (0x7F).")}),b=_.concat(b,a.MIDI_SYSTEM_MESSAGES.sysexend),this.send(a.MIDI_SYSTEM_MESSAGES.sysex,b,this._parseTimeParameter(k.time)),this},d.prototype.sendTimecodeQuarterFrame=function(_,b){return b=b||{},this.send(a.MIDI_SYSTEM_MESSAGES.timecode,_,this._parseTimeParameter(b.time)),this},d.prototype.sendSongPosition=function(_,b){b=b||{};var k=(_=Math.floor(_)||0)>>7&127,$=127&_;return this.send(a.MIDI_SYSTEM_MESSAGES.songposition,[k,$],this._parseTimeParameter(b.time)),this},d.prototype.sendSongSelect=function(_,b){if(b=b||{},!(0<=(_=Math.floor(_))&&_<=127))throw new RangeError("The song number must be between 0 and 127.");return this.send(a.MIDI_SYSTEM_MESSAGES.songselect,[_],this._parseTimeParameter(b.time)),this},d.prototype.sendTuningRequest=function(_){return _=_||{},this.send(a.MIDI_SYSTEM_MESSAGES.tuningrequest,void 0,this._parseTimeParameter(_.time)),this},d.prototype.sendClock=function(_){return _=_||{},this.send(a.MIDI_SYSTEM_MESSAGES.clock,void 0,this._parseTimeParameter(_.time)),this},d.prototype.sendStart=function(_){return _=_||{},this.send(a.MIDI_SYSTEM_MESSAGES.start,void 0,this._parseTimeParameter(_.time)),this},d.prototype.sendContinue=function(_){return _=_||{},this.send(a.MIDI_SYSTEM_MESSAGES.continue,void 0,this._parseTimeParameter(_.time)),this},d.prototype.sendStop=function(_){return _=_||{},this.send(a.MIDI_SYSTEM_MESSAGES.stop,void 0,this._parseTimeParameter(_.time)),this},d.prototype.sendActiveSensing=function(_){return _=_||{},this.send(a.MIDI_SYSTEM_MESSAGES.activesensing,[],this._parseTimeParameter(_.time)),this},d.prototype.sendReset=function(_){return _=_||{},this.send(a.MIDI_SYSTEM_MESSAGES.reset,void 0,this._parseTimeParameter(_.time)),this},d.prototype.stopNote=function(_,b,k){if(_==="all")return this.sendChannelMode("allnotesoff",0,b,k);var $=64;return(k=k||{}).rawVelocity?!isNaN(k.velocity)&&0<=k.velocity&&k.velocity<=127&&($=k.velocity):!isNaN(k.velocity)&&0<=k.velocity&&k.velocity<=1&&($=127*k.velocity),this._convertNoteToArray(_).forEach(function(j){a.toMIDIChannels(b).forEach(function(_e){this.send((a.MIDI_CHANNEL_MESSAGES.noteoff<<4)+(_e-1),[j,Math.round($)],this._parseTimeParameter(k.time))}.bind(this))}.bind(this)),this},d.prototype.playNote=function(_,b,k){var $,j=64;if((k=k||{}).rawVelocity?!isNaN(k.velocity)&&0<=k.velocity&&k.velocity<=127&&(j=k.velocity):!isNaN(k.velocity)&&0<=k.velocity&&k.velocity<=1&&(j=127*k.velocity),$=this._parseTimeParameter(k.time),this._convertNoteToArray(_).forEach(function(et){a.toMIDIChannels(b).forEach(function(tt){this.send((a.MIDI_CHANNEL_MESSAGES.noteon<<4)+(tt-1),[et,Math.round(j)],$)}.bind(this))}.bind(this)),!isNaN(k.duration)){k.duration<=0&&(k.duration=0);var _e=64;k.rawVelocity?!isNaN(k.release)&&0<=k.release&&k.release<=127&&(_e=k.release):!isNaN(k.release)&&0<=k.release&&k.release<=1&&(_e=127*k.release),this._convertNoteToArray(_).forEach(function(et){a.toMIDIChannels(b).forEach(function(tt){this.send((a.MIDI_CHANNEL_MESSAGES.noteoff<<4)+(tt-1),[et,Math.round(_e)],($||a.time)+k.duration)}.bind(this))}.bind(this))}return this},d.prototype.sendKeyAftertouch=function(_,b,k,$){var j=this;if($=$||{},b<1||16>7&127,tt=127&_e;return a.toMIDIChannels(b).forEach(function(){$.setRegisteredParameter("channelcoarsetuning",j,b,{time:k.time}),$.setRegisteredParameter("channelfinetuning",[et,tt],b,{time:k.time})}),this},d.prototype.setTuningProgram=function(_,b,k){var $=this;if(k=k||{},!(0<=(_=Math.floor(_))&&_<=127))throw new RangeError("The program value must be between 0 and 127");return a.toMIDIChannels(b).forEach(function(){$.setRegisteredParameter("tuningprogram",_,b,{time:k.time})}),this},d.prototype.setTuningBank=function(_,b,k){var $=this;if(k=k||{},!(0<=(_=Math.floor(_)||0)&&_<=127))throw new RangeError("The bank value must be between 0 and 127");return a.toMIDIChannels(b).forEach(function(){$.setRegisteredParameter("tuningbank",_,b,{time:k.time})}),this},d.prototype.sendChannelMode=function(_,b,k,$){if($=$||{},typeof _=="string"){if(!(_=a.MIDI_CHANNEL_MODE_MESSAGES[_]))throw new TypeError("Invalid channel mode message name.")}else if(!(120<=(_=Math.floor(_))&&_<=127))throw new RangeError("Channel mode numerical identifiers must be between 120 and 127.");if((b=Math.floor(b)||0)<0||127>7&127,et=127&j;return a.toMIDIChannels(b).forEach(function(tt){$.send((a.MIDI_CHANNEL_MESSAGES.pitchbend<<4)+(tt-1),[et,_e],$._parseTimeParameter(k.time))}),this},d.prototype._parseTimeParameter=function(_){var b,k=parseFloat(_);return typeof _=="string"&&_.substring(0,1)==="+"?k&&0a.time&&(b=k),b},d.prototype._convertNoteToArray=function(_){var b=[];return Array.isArray(_)||(_=[_]),_.forEach(function(k){b.push(a.guessNoteNumber(k))}),b},o.exports?o.exports=a:e.WebMidi||(e.WebMidi=a)})(commonjsGlobal)})(webmidi_min);var _WebMidi=webmidi_min.exports,__awaiter=globalThis&&globalThis.__awaiter||function(o,e,s,a){function c(d){return d instanceof s?d:new s(function(_){_(d)})}return new(s||(s=Promise))(function(d,_){function b(j){try{$(a.next(j))}catch(_e){_(_e)}}function k(j){try{$(a.throw(j))}catch(_e){_(_e)}}function $(j){j.done?d(j.value):c(j.value).then(b,k)}$((a=a.apply(o,e||[])).next())})};class MidiInput extends events.exports.EventEmitter{constructor(e="all"){super(),this.deviceId=e,MidiInput.enabled().then(()=>{_WebMidi.addListener("connected",s=>{s.port.type==="input"&&this._addListeners(s.port)}),_WebMidi.addListener("disconnected",s=>{this._removeListeners(s.port)}),_WebMidi.inputs.forEach(s=>this._addListeners(s))})}_addListeners(e){MidiInput.connectedDevices.has(e.id)||(MidiInput.connectedDevices.set(e.id,e),this.emit("connect",this._inputToDevice(e)),e.addListener("noteon","all",s=>{(this.deviceId==="all"||this.deviceId===e.id)&&this.emit("keyDown",{note:`${s.note.name}${s.note.octave}`,midi:s.note.number,velocity:s.velocity,device:this._inputToDevice(e)})}),e.addListener("noteoff","all",s=>{(this.deviceId==="all"||this.deviceId===e.id)&&this.emit("keyUp",{note:`${s.note.name}${s.note.octave}`,midi:s.note.number,velocity:s.velocity,device:this._inputToDevice(e)})}),e.addListener("controlchange","all",s=>{(this.deviceId==="all"||this.deviceId===e.id)&&s.controller.name==="holdpedal"&&this.emit(s.value?"pedalDown":"pedalUp",{device:this._inputToDevice(e)})}))}_inputToDevice(e){return{name:e.name,id:e.id,manufacturer:e.manufacturer}}_removeListeners(e){if(MidiInput.connectedDevices.has(e.id)){const s=MidiInput.connectedDevices.get(e.id);this.emit("disconnect",this._inputToDevice(s)),MidiInput.connectedDevices.delete(e.id),s.removeListener("noteon"),s.removeListener("noteoff"),s.removeListener("controlchange")}}emit(e,s){return super.emit(e,s)}on(e,s){return super.on(e,s),this}once(e,s){return super.once(e,s),this}off(e,s){return super.off(e,s),this}static enabled(){return __awaiter(this,void 0,void 0,function*(){MidiInput._isEnabled||(yield new Promise((e,s)=>{_WebMidi.enable(a=>{a?s(a):(MidiInput._isEnabled=!0,e())})}))})}static getDevices(){return __awaiter(this,void 0,void 0,function*(){return yield MidiInput.enabled(),_WebMidi.inputs})}}MidiInput.connectedDevices=new Map;MidiInput._isEnabled=!1;var tonePiano=Object.freeze(Object.defineProperty({__proto__:null,Piano:Piano$1,MidiInput},Symbol.toStringTag,{value:"Module"}));const Tone=_Tone,{AutoFilter,Destination,Filter,Gain,isNote:isNote$1,Synth,PolySynth,MembraneSynth,MetalSynth,MonoSynth,AMSynth,DuoSynth,FMSynth,NoiseSynth,PluckSynth,Sampler,getDestination,Players}=Tone,{Piano}=tonePiano,getDefaultSynth=()=>{const o=new PolySynth().chain(new Gain(.5),getDestination());return o.set({oscillator:{type:"triangle"},envelope:{release:.01}}),o};Pattern$5.prototype.tone=function(o){return this._withHap(e=>{const s=(a,c)=>{var b,k;let d,_=(k=(b=c.context)==null?void 0:b.velocity)!=null?k:.75;if(o instanceof PluckSynth)d=getPlayableNoteValue(c),o.triggerAttack(d,a);else if(o instanceof NoiseSynth)o.triggerAttackRelease(c.duration.valueOf(),a);else if(o instanceof Piano)d=getPlayableNoteValue(c),o.keyDown({note:d,time:a,velocity:_}),o.keyUp({note:d,time:a+c.duration.valueOf(),velocity:_});else if(o instanceof Sampler)d=getPlayableNoteValue(c),o.triggerAttackRelease(d,c.duration.valueOf(),a,_);else if(o instanceof Players){if(!o.has(c.value))throw new Error(`name "${c.value}" not defined for players`);const $=o.player(c.value);$.start(a),$.stop(a+c.duration.valueOf())}else d=getPlayableNoteValue(c),o.triggerAttackRelease(d,c.duration.valueOf(),a,_)};return e.setContext(wt(Ot({},e.context),{instrument:o,onTrigger:s}))})};Pattern$5.prototype.define("tone",(o,e)=>e.tone(o),{composable:!0,patternified:!1});const amsynth=o=>new AMSynth(o),duosynth=o=>new DuoSynth(o),fmsynth=o=>new FMSynth(o),membrane=o=>new MembraneSynth(o),metal=o=>new MetalSynth(o),monosynth=o=>new MonoSynth(o),noise=o=>new NoiseSynth(o),pluck=o=>new PluckSynth(o),polysynth=o=>new PolySynth(o),sampler=(o,e)=>new Promise(s=>{const a=new Sampler(o,()=>s(a),e)}),players=(o,e="")=>(o=e?Object.fromEntries(Object.entries(o).map(([s,a])=>[s,e+a])):o,new Promise(s=>{const a=new Players(o,()=>s(a))})),synth=o=>new Synth(o),piano=async(o={velocities:1})=>{const e=new Piano(o);return await e.load(),e},vol=o=>new Gain(o),lowpass=o=>new Filter(o,"lowpass"),highpass=o=>new Filter(o,"highpass"),adsr=(o,e=.1,s=.4,a=.01)=>({envelope:{attack:o,decay:e,sustain:s,release:a}}),osc=o=>({oscillator:{type:o}}),out=()=>getDestination(),getDrawContext$1=(o="test-canvas")=>{let e=document.querySelector("#"+o);return e||(e=document.createElement("canvas"),e.id=o,e.width=window.innerWidth,e.height=window.innerHeight,e.style="pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:5",document.body.prepend(e)),e.getContext("2d")};Pattern$5.prototype.draw=function(o,{from:e,to:s,onQuery:a}){window.strudelAnimation&&cancelAnimationFrame(window.strudelAnimation);const c=getDrawContext$1();let d,_=[];const b=k=>{const $=Tone.getTransport().seconds;if(e!==void 0&&s!==void 0){const j=Math.floor($);if(d!==j){d=j;const _e=j+e,et=j+s;setTimeout(()=>{_=this._asNumber(!0).query(new State(new TimeSpan(_e,et))).filter(Boolean).filter(tt=>tt.part.begin.equals(tt.whole.begin)),a==null||a(_)},0)}}o(c,_,$,k),window.strudelAnimation=requestAnimationFrame(b)};return requestAnimationFrame(b),this};const cleanupDraw=()=>{getDrawContext$1().clearRect(0,0,window.innerWidth,window.innerHeight),window.strudelAnimation&&cancelAnimationFrame(window.strudelAnimation),window.strudelScheduler&&clearInterval(window.strudelScheduler)};var dist$7={},tokenizer={},utils$1={},unicode$2={};Object.defineProperty(unicode$2,"__esModule",{value:!0});unicode$2.whitespaceArray=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];unicode$2.whitespaceBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!0,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1];unicode$2.idStartLargeRegex=/^[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]$/;unicode$2.idStartBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1];unicode$2.idContinueLargeRegex=/^[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]$/;unicode$2.idContinueBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1];Object.defineProperty(utils$1,"__esModule",{value:!0});utils$1.isStrictModeReservedWord=isStrictModeReservedWord;utils$1.isWhiteSpace=isWhiteSpace;utils$1.isLineTerminator=isLineTerminator;utils$1.isIdentifierStart=isIdentifierStart$1;utils$1.isIdentifierPart=isIdentifierPart$1;utils$1.isDecimalDigit=isDecimalDigit;utils$1.getHexValue=getHexValue;var _unicode$2=unicode$2,strictReservedWords=["null","true","false","implements","interface","package","private","protected","public","static","let","if","in","do","var","for","new","try","this","else","case","void","with","enum","while","break","catch","throw","const","yield","class","super","return","typeof","delete","switch","export","import","default","finally","extends","function","continue","debugger","instanceof"];function isStrictModeReservedWord(o){return strictReservedWords.indexOf(o)!==-1}function isWhiteSpace(o){return o<128?_unicode$2.whitespaceBool[o]:o===160||o>5759&&_unicode$2.whitespaceArray.indexOf(o)!==-1}function isLineTerminator(o){return o===10||o===13||o===8232||o===8233}function isIdentifierStart$1(o){return o<128?_unicode$2.idStartBool[o]:_unicode$2.idStartLargeRegex.test(String.fromCodePoint(o))}function isIdentifierPart$1(o){return o<128?_unicode$2.idContinueBool[o]:_unicode$2.idContinueLargeRegex.test(String.fromCodePoint(o))}function isDecimalDigit(o){return o>=48&&o<=57}function getHexValue(o){return o>="0"&&o<="9"?o.charCodeAt(0)-48:o>="a"&&o<="f"?o.charCodeAt(0)-87:o>="A"&&o<="F"?o.charCodeAt(0)-55:-1}var errors={};Object.defineProperty(errors,"__esModule",{value:!0});errors.ErrorMessages={UNEXPECTED_TOKEN:function o(e){return"Unexpected token "+JSON.stringify(e)},UNEXPECTED_ILLEGAL_TOKEN:function o(e){return"Unexpected "+JSON.stringify(e)},UNEXPECTED_ESCAPED_KEYWORD:"Unexpected escaped keyword",UNEXPECTED_NUMBER:"Unexpected number",UNEXPECTED_STRING:"Unexpected string",UNEXPECTED_IDENTIFIER:"Unexpected identifier",UNEXPECTED_RESERVED_WORD:"Unexpected reserved word",UNEXPECTED_TEMPLATE:"Unexpected template",UNEXPECTED_EOS:"Unexpected end of input",UNEXPECTED_LINE_TERMINATOR:"Unexpected line terminator",UNEXPECTED_COMMA_AFTER_REST:"Unexpected comma after rest",UNEXPECTED_REST_PARAMETERS_INITIALIZATION:"Rest parameter may not have a default initializer",NEWLINE_AFTER_THROW:"Illegal newline after throw",UNTERMINATED_REGEXP:"Invalid regular expression: missing /",INVALID_LAST_REST_PARAMETER:"Rest parameter must be last formal parameter",INVALID_REST_PARAMETERS_INITIALIZATION:"Rest parameter may not have a default initializer",INVALID_REGEXP_FLAGS:"Invalid regular expression flags",INVALID_REGEX:"Invalid regular expression",INVALID_LHS_IN_ASSIGNMENT:"Invalid left-hand side in assignment",INVALID_LHS_IN_BINDING:"Invalid left-hand side in binding",INVALID_LHS_IN_FOR_IN:"Invalid left-hand side in for-in",INVALID_LHS_IN_FOR_OF:"Invalid left-hand side in for-of",INVALID_LHS_IN_FOR_AWAIT:"Invalid left-hand side in for-await",INVALID_UPDATE_OPERAND:"Increment/decrement target must be an identifier or member expression",INVALID_EXPONENTIATION_LHS:"Unary expressions as the left operand of an exponentation expression must be disambiguated with parentheses",MULTIPLE_DEFAULTS_IN_SWITCH:"More than one default clause in switch statement",NO_CATCH_OR_FINALLY:"Missing catch or finally after try",ILLEGAL_RETURN:"Illegal return statement",ILLEGAL_ARROW_FUNCTION_PARAMS:"Illegal arrow function parameter list",INVALID_ASYNC_PARAMS:"Async function parameters must not contain await expressions",INVALID_VAR_INIT_FOR_IN:"Invalid variable declaration in for-in statement",INVALID_VAR_INIT_FOR_OF:"Invalid variable declaration in for-of statement",INVALID_VAR_INIT_FOR_AWAIT:"Invalid variable declaration in for-await statement",UNINITIALIZED_BINDINGPATTERN_IN_FOR_INIT:"Binding pattern appears without initializer in for statement init",ILLEGAL_PROPERTY:"Illegal property initializer",INVALID_ID_BINDING_STRICT_MODE:function o(e){return"The identifier "+JSON.stringify(e)+" must not be in binding position in strict mode"},INVALID_ID_IN_LABEL_STRICT_MODE:function o(e){return"The identifier "+JSON.stringify(e)+" must not be in label position in strict mode"},INVALID_ID_IN_EXPRESSION_STRICT_MODE:function o(e){return"The identifier "+JSON.stringify(e)+" must not be in expression position in strict mode"},INVALID_CALL_TO_SUPER:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',INVALID_DELETE_STRICT_MODE:"Identifier expressions must not be deleted in strict mode",DUPLICATE_BINDING:function o(e){return"Duplicate binding "+JSON.stringify(e)},ILLEGAL_ID_IN_LEXICAL_DECLARATION:function o(e){return"Lexical declarations must not have a binding named "+JSON.stringify(e)},UNITIALIZED_CONST:"Constant lexical declarations must have an initialiser",ILLEGAL_LABEL_IN_BODY:function o(e){return"The body of a "+e+" statement must not be a labeled function declaration"},ILLEGEAL_LABEL_IN_IF:"The consequent of an if statement must not be a labeled function declaration",ILLEGAL_LABEL_IN_ELSE:"The alternate of an if statement must not be a labeled function declaration",ILLEGAL_CONTINUE_WITHOUT_ITERATION_WITH_ID:function o(e){return"Continue statement must be nested within an iteration statement with label "+JSON.stringify(e)},ILLEGAL_CONTINUE_WITHOUT_ITERATION:"Continue statement must be nested within an iteration statement",ILLEGAL_BREAK_WITHOUT_ITERATION_OR_SWITCH:"Break statement must be nested within an iteration statement or a switch statement",ILLEGAL_WITH_STRICT_MODE:"Strict mode code must not include a with statement",ILLEGAL_ACCESS_SUPER_MEMBER:"Member access on super must be in a method",ILLEGAL_SUPER_CALL:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',DUPLICATE_LABEL_DECLARATION:function o(e){return"Label "+JSON.stringify(e)+" has already been declared"},ILLEGAL_BREAK_WITHIN_LABEL:function o(e){return"Break statement must be nested within a statement with label "+JSON.stringify(e)},ILLEGAL_YIELD_EXPRESSIONS:function o(e){return e+" parameters must not contain yield expressions"},ILLEGAL_YIELD_IDENTIFIER:'"yield" may not be used as an identifier in this context',ILLEGAL_AWAIT_IDENTIFIER:'"await" may not be used as an identifier in this context',DUPLICATE_CONSTRUCTOR:"Duplicate constructor method in class",ILLEGAL_CONSTRUCTORS:"Constructors cannot be async, generators, getters or setters",ILLEGAL_STATIC_CLASS_NAME:'Static class methods cannot be named "prototype"',NEW_TARGET_ERROR:"new.target must be within function (but not arrow expression) code",DUPLICATE_EXPORT:function o(e){return"Duplicate export "+JSON.stringify(e)},UNDECLARED_BINDING:function o(e){return"Exported binding "+JSON.stringify(e)+" is not declared"},DUPLICATE_PROPTO_PROP:"Duplicate __proto__ property in object literal not allowed",ILLEGAL_LABEL_FUNC_DECLARATION:"Labeled FunctionDeclarations are disallowed in strict mode",ILLEGAL_FUNC_DECL_IF:"FunctionDeclarations in IfStatements are disallowed in strict mode",ILLEGAL_USE_STRICT:'Functions with non-simple parameter lists may not contain a "use strict" directive',ILLEGAL_EXPORTED_NAME:"Names of variables used in an export specifier from the current module must be identifiers",NO_OCTALS_IN_TEMPLATES:"Template literals may not contain octal escape sequences",NO_AWAIT_IN_ASYNC_PARAMS:'Async arrow parameters may not contain "await"'};Object.defineProperty(tokenizer,"__esModule",{value:!0});tokenizer.JsError=tokenizer.TokenType=tokenizer.TokenClass=void 0;var _slicedToArray=function(){function o(e,s){var a=[],c=!0,d=!1,_=void 0;try{for(var b=e[Symbol.iterator](),k;!(c=(k=b.next()).done)&&(a.push(k.value),!(s&&a.length===s));c=!0);}catch($){d=!0,_=$}finally{try{!c&&b.return&&b.return()}finally{if(d)throw _}}return a}return function(e,s){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return o(e,s);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),_createClass$e=function(){function o(e,s){for(var a=0;a"},Ident:{name:"Identifier",isIdentifierName:!0},Keyword:{name:"Keyword",isIdentifierName:!0},NumericLiteral:{name:"Numeric"},TemplateElement:{name:"Template"},Punctuator:{name:"Punctuator"},StringLiteral:{name:"String"},RegularExpression:{name:"RegularExpression"},Illegal:{name:"Illegal"}},TokenType=tokenizer.TokenType={EOS:{klass:TokenClass.Eof,name:"EOS"},LPAREN:{klass:TokenClass.Punctuator,name:"("},RPAREN:{klass:TokenClass.Punctuator,name:")"},LBRACK:{klass:TokenClass.Punctuator,name:"["},RBRACK:{klass:TokenClass.Punctuator,name:"]"},LBRACE:{klass:TokenClass.Punctuator,name:"{"},RBRACE:{klass:TokenClass.Punctuator,name:"}"},COLON:{klass:TokenClass.Punctuator,name:":"},SEMICOLON:{klass:TokenClass.Punctuator,name:";"},PERIOD:{klass:TokenClass.Punctuator,name:"."},ELLIPSIS:{klass:TokenClass.Punctuator,name:"..."},ARROW:{klass:TokenClass.Punctuator,name:"=>"},CONDITIONAL:{klass:TokenClass.Punctuator,name:"?"},INC:{klass:TokenClass.Punctuator,name:"++"},DEC:{klass:TokenClass.Punctuator,name:"--"},ASSIGN:{klass:TokenClass.Punctuator,name:"="},ASSIGN_BIT_OR:{klass:TokenClass.Punctuator,name:"|="},ASSIGN_BIT_XOR:{klass:TokenClass.Punctuator,name:"^="},ASSIGN_BIT_AND:{klass:TokenClass.Punctuator,name:"&="},ASSIGN_SHL:{klass:TokenClass.Punctuator,name:"<<="},ASSIGN_SHR:{klass:TokenClass.Punctuator,name:">>="},ASSIGN_SHR_UNSIGNED:{klass:TokenClass.Punctuator,name:">>>="},ASSIGN_ADD:{klass:TokenClass.Punctuator,name:"+="},ASSIGN_SUB:{klass:TokenClass.Punctuator,name:"-="},ASSIGN_MUL:{klass:TokenClass.Punctuator,name:"*="},ASSIGN_DIV:{klass:TokenClass.Punctuator,name:"/="},ASSIGN_MOD:{klass:TokenClass.Punctuator,name:"%="},ASSIGN_EXP:{klass:TokenClass.Punctuator,name:"**="},COMMA:{klass:TokenClass.Punctuator,name:","},OR:{klass:TokenClass.Punctuator,name:"||"},AND:{klass:TokenClass.Punctuator,name:"&&"},BIT_OR:{klass:TokenClass.Punctuator,name:"|"},BIT_XOR:{klass:TokenClass.Punctuator,name:"^"},BIT_AND:{klass:TokenClass.Punctuator,name:"&"},SHL:{klass:TokenClass.Punctuator,name:"<<"},SHR:{klass:TokenClass.Punctuator,name:">>"},SHR_UNSIGNED:{klass:TokenClass.Punctuator,name:">>>"},ADD:{klass:TokenClass.Punctuator,name:"+"},SUB:{klass:TokenClass.Punctuator,name:"-"},MUL:{klass:TokenClass.Punctuator,name:"*"},DIV:{klass:TokenClass.Punctuator,name:"/"},MOD:{klass:TokenClass.Punctuator,name:"%"},EXP:{klass:TokenClass.Punctuator,name:"**"},EQ:{klass:TokenClass.Punctuator,name:"=="},NE:{klass:TokenClass.Punctuator,name:"!="},EQ_STRICT:{klass:TokenClass.Punctuator,name:"==="},NE_STRICT:{klass:TokenClass.Punctuator,name:"!=="},LT:{klass:TokenClass.Punctuator,name:"<"},GT:{klass:TokenClass.Punctuator,name:">"},LTE:{klass:TokenClass.Punctuator,name:"<="},GTE:{klass:TokenClass.Punctuator,name:">="},INSTANCEOF:{klass:TokenClass.Keyword,name:"instanceof"},IN:{klass:TokenClass.Keyword,name:"in"},NOT:{klass:TokenClass.Punctuator,name:"!"},BIT_NOT:{klass:TokenClass.Punctuator,name:"~"},ASYNC:{klass:TokenClass.Keyword,name:"async"},AWAIT:{klass:TokenClass.Keyword,name:"await"},ENUM:{klass:TokenClass.Keyword,name:"enum"},DELETE:{klass:TokenClass.Keyword,name:"delete"},TYPEOF:{klass:TokenClass.Keyword,name:"typeof"},VOID:{klass:TokenClass.Keyword,name:"void"},BREAK:{klass:TokenClass.Keyword,name:"break"},CASE:{klass:TokenClass.Keyword,name:"case"},CATCH:{klass:TokenClass.Keyword,name:"catch"},CLASS:{klass:TokenClass.Keyword,name:"class"},CONTINUE:{klass:TokenClass.Keyword,name:"continue"},DEBUGGER:{klass:TokenClass.Keyword,name:"debugger"},DEFAULT:{klass:TokenClass.Keyword,name:"default"},DO:{klass:TokenClass.Keyword,name:"do"},ELSE:{klass:TokenClass.Keyword,name:"else"},EXPORT:{klass:TokenClass.Keyword,name:"export"},EXTENDS:{klass:TokenClass.Keyword,name:"extends"},FINALLY:{klass:TokenClass.Keyword,name:"finally"},FOR:{klass:TokenClass.Keyword,name:"for"},FUNCTION:{klass:TokenClass.Keyword,name:"function"},IF:{klass:TokenClass.Keyword,name:"if"},IMPORT:{klass:TokenClass.Keyword,name:"import"},LET:{klass:TokenClass.Keyword,name:"let"},NEW:{klass:TokenClass.Keyword,name:"new"},RETURN:{klass:TokenClass.Keyword,name:"return"},SUPER:{klass:TokenClass.Keyword,name:"super"},SWITCH:{klass:TokenClass.Keyword,name:"switch"},THIS:{klass:TokenClass.Keyword,name:"this"},THROW:{klass:TokenClass.Keyword,name:"throw"},TRY:{klass:TokenClass.Keyword,name:"try"},VAR:{klass:TokenClass.Keyword,name:"var"},WHILE:{klass:TokenClass.Keyword,name:"while"},WITH:{klass:TokenClass.Keyword,name:"with"},NULL:{klass:TokenClass.Keyword,name:"null"},TRUE:{klass:TokenClass.Keyword,name:"true"},FALSE:{klass:TokenClass.Keyword,name:"false"},YIELD:{klass:TokenClass.Keyword,name:"yield"},NUMBER:{klass:TokenClass.NumericLiteral,name:""},STRING:{klass:TokenClass.StringLiteral,name:""},REGEXP:{klass:TokenClass.RegularExpression,name:""},IDENTIFIER:{klass:TokenClass.Ident,name:""},CONST:{klass:TokenClass.Keyword,name:"const"},TEMPLATE:{klass:TokenClass.TemplateElement,name:""},ESCAPED_KEYWORD:{klass:TokenClass.Keyword,name:""},ILLEGAL:{klass:TokenClass.Illegal,name:""}},TT=TokenType,I=TT.ILLEGAL,F=!1,T=!0,ONE_CHAR_PUNCTUATOR=[I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,TT.NOT,I,I,I,TT.MOD,TT.BIT_AND,I,TT.LPAREN,TT.RPAREN,TT.MUL,TT.ADD,TT.COMMA,TT.SUB,TT.PERIOD,TT.DIV,I,I,I,I,I,I,I,I,I,I,TT.COLON,TT.SEMICOLON,TT.LT,TT.ASSIGN,TT.GT,TT.CONDITIONAL,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,TT.LBRACK,I,TT.RBRACK,TT.BIT_XOR,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,TT.LBRACE,TT.BIT_OR,TT.RBRACE,TT.BIT_NOT],PUNCTUATOR_START=[F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,T,F,F,F,T,T,F,T,T,T,T,T,T,F,T,F,F,F,F,F,F,F,F,F,F,T,T,T,T,T,T,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,T,F,T,T,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,T,T,T,T,F],JsError=tokenizer.JsError=function(o){_inherits$8(e,o);function e(s,a,c,d){_classCallCheck$i(this,e);var _=_possibleConstructorReturn$8(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,d));_.index=s;try{_.line=a,_.column=c}catch{}return _.parseErrorLine=a,_.parseErrorColumn=c,_.description=d,_.message="["+a+":"+c+"]: "+d,_}return e}(Error);function fromCodePoint$1(o){if(o<=65535)return String.fromCharCode(o);var e=String.fromCharCode(Math.floor((o-65536)/1024)+55296),s=String.fromCharCode((o-65536)%1024+56320);return e+s}function decodeUtf16(o,e){return(o-55296)*1024+(e-56320)+65536}var Tokenizer=function(){function o(e){_classCallCheck$i(this,o),this.source=e,this.index=0,this.line=0,this.lineStart=0,this.startIndex=0,this.startLine=0,this.startLineStart=0,this.lastIndex=0,this.lastLine=0,this.lastLineStart=0,this.hasLineTerminatorBeforeNext=!1,this.tokenIndex=0}return _createClass$e(o,[{key:"saveLexerState",value:function(){return{source:this.source,index:this.index,line:this.line,lineStart:this.lineStart,startIndex:this.startIndex,startLine:this.startLine,startLineStart:this.startLineStart,lastIndex:this.lastIndex,lastLine:this.lastLine,lastLineStart:this.lastLineStart,lookahead:this.lookahead,hasLineTerminatorBeforeNext:this.hasLineTerminatorBeforeNext,tokenIndex:this.tokenIndex}}},{key:"restoreLexerState",value:function(s){this.source=s.source,this.index=s.index,this.line=s.line,this.lineStart=s.lineStart,this.startIndex=s.startIndex,this.startLine=s.startLine,this.startLineStart=s.startLineStart,this.lastIndex=s.lastIndex,this.lastLine=s.lastLine,this.lastLineStart=s.lastLineStart,this.lookahead=s.lookahead,this.hasLineTerminatorBeforeNext=s.hasLineTerminatorBeforeNext,this.tokenIndex=s.tokenIndex}},{key:"createILLEGAL",value:function(){return this.startIndex=this.index,this.startLine=this.line,this.startLineStart=this.lineStart,this.index1?c-1:0),_=1;_10)return TokenType.IDENTIFIER;switch(s.length){case 2:switch(s.charAt(0)){case"i":switch(s.charAt(1)){case"f":return TokenType.IF;case"n":return TokenType.IN}break;case"d":if(s.charAt(1)==="o")return TokenType.DO;break}break;case 3:switch(s.charAt(0)){case"v":if(o.cse2(s,"a","r"))return TokenType.VAR;break;case"f":if(o.cse2(s,"o","r"))return TokenType.FOR;break;case"n":if(o.cse2(s,"e","w"))return TokenType.NEW;break;case"t":if(o.cse2(s,"r","y"))return TokenType.TRY;break;case"l":if(o.cse2(s,"e","t"))return TokenType.LET;break}break;case 4:switch(s.charAt(0)){case"t":if(o.cse3(s,"h","i","s"))return TokenType.THIS;if(o.cse3(s,"r","u","e"))return TokenType.TRUE;break;case"n":if(o.cse3(s,"u","l","l"))return TokenType.NULL;break;case"e":if(o.cse3(s,"l","s","e"))return TokenType.ELSE;if(o.cse3(s,"n","u","m"))return TokenType.ENUM;break;case"c":if(o.cse3(s,"a","s","e"))return TokenType.CASE;break;case"v":if(o.cse3(s,"o","i","d"))return TokenType.VOID;break;case"w":if(o.cse3(s,"i","t","h"))return TokenType.WITH;break}break;case 5:switch(s.charAt(0)){case"a":if(o.cse4(s,"s","y","n","c"))return TokenType.ASYNC;if(o.cse4(s,"w","a","i","t"))return TokenType.AWAIT;break;case"w":if(o.cse4(s,"h","i","l","e"))return TokenType.WHILE;break;case"b":if(o.cse4(s,"r","e","a","k"))return TokenType.BREAK;break;case"f":if(o.cse4(s,"a","l","s","e"))return TokenType.FALSE;break;case"c":if(o.cse4(s,"a","t","c","h"))return TokenType.CATCH;if(o.cse4(s,"o","n","s","t"))return TokenType.CONST;if(o.cse4(s,"l","a","s","s"))return TokenType.CLASS;break;case"t":if(o.cse4(s,"h","r","o","w"))return TokenType.THROW;break;case"y":if(o.cse4(s,"i","e","l","d"))return TokenType.YIELD;break;case"s":if(o.cse4(s,"u","p","e","r"))return TokenType.SUPER;break}break;case 6:switch(s.charAt(0)){case"r":if(o.cse5(s,"e","t","u","r","n"))return TokenType.RETURN;break;case"t":if(o.cse5(s,"y","p","e","o","f"))return TokenType.TYPEOF;break;case"d":if(o.cse5(s,"e","l","e","t","e"))return TokenType.DELETE;break;case"s":if(o.cse5(s,"w","i","t","c","h"))return TokenType.SWITCH;break;case"e":if(o.cse5(s,"x","p","o","r","t"))return TokenType.EXPORT;break;case"i":if(o.cse5(s,"m","p","o","r","t"))return TokenType.IMPORT;break}break;case 7:switch(s.charAt(0)){case"d":if(o.cse6(s,"e","f","a","u","l","t"))return TokenType.DEFAULT;break;case"f":if(o.cse6(s,"i","n","a","l","l","y"))return TokenType.FINALLY;break;case"e":if(o.cse6(s,"x","t","e","n","d","s"))return TokenType.EXTENDS;break}break;case 8:switch(s.charAt(0)){case"f":if(o.cse7(s,"u","n","c","t","i","o","n"))return TokenType.FUNCTION;break;case"c":if(o.cse7(s,"o","n","t","i","n","u","e"))return TokenType.CONTINUE;break;case"d":if(o.cse7(s,"e","b","u","g","g","e","r"))return TokenType.DEBUGGER;break}break;case 10:if(s==="instanceof")return TokenType.INSTANCEOF;break}return TokenType.IDENTIFIER}},{key:"skipSingleLineComment",value:function(s){for(this.index+=s;this.index=a)break;if(c=this.source.charCodeAt(this.index+1),c===47)this.skipSingleLineComment(2),s=!0;else if(c===42)s=this.skipMultiLineComment()||s;else break}else if(!this.moduleIsTheGoalSymbol&&s&&c===45){if(this.index+2>=a)break;if(this.source.charAt(this.index+1)==="-"&&this.source.charAt(this.index+2)===">")this.skipSingleLineComment(3);else break}else if(!this.moduleIsTheGoalSymbol&&c===60)if(this.source.slice(this.index+1,this.index+4)==="!--")this.skipSingleLineComment(4),s=!0;else break;else break}}},{key:"scanHexEscape2",value:function(){if(this.index+2>this.source.length)return-1;var s=(0,_utils$1.getHexValue)(this.source.charAt(this.index));if(s===-1)return-1;var a=(0,_utils$1.getHexValue)(this.source.charAt(this.index+1));return a===-1?-1:(this.index+=2,s<<4|a)}},{key:"scanUnicode",value:function(){if(this.source.charAt(this.index)==="{"){for(var s=this.index+1,a=0,c=void 0;s1114111)throw this.createILLEGAL();s++}if(c!=="}")throw this.createILLEGAL();if(s===this.index+1)throw++this.index,this.createILLEGAL();return this.index=s+1,a}if(this.index+4>this.source.length)return-1;var _=(0,_utils$1.getHexValue)(this.source.charAt(this.index));if(_===-1)return-1;var b=(0,_utils$1.getHexValue)(this.source.charAt(this.index+1));if(b===-1)return-1;var k=(0,_utils$1.getHexValue)(this.source.charAt(this.index+2));if(k===-1)return-1;var $=(0,_utils$1.getHexValue)(this.source.charAt(this.index+3));return $===-1?-1:(this.index+=4,_<<12|b<<8|k<<4|$)}},{key:"getEscapedIdentifier",value:function(){for(var s="",a=_utils$1.isIdentifierStart;this.index=this.source.length)throw this.createILLEGAL();if(this.source.charAt(this.index)!=="u")throw this.createILLEGAL();if(++this.index,d=this.scanUnicode(),d<0)throw this.createILLEGAL();c=fromCodePoint$1(d)}else if(d>=55296&&d<=56319){if(this.index>=this.source.length)throw this.createILLEGAL();var b=this.source.charCodeAt(this.index);if(++this.index,!(b>=56320&&b<=57343))throw this.createILLEGAL();d=decodeUtf16(d,b),c=fromCodePoint$1(d)}if(!a(d)){if(s.length<1)throw this.createILLEGAL();return this.index=_,s}a=_utils$1.isIdentifierPart,s+=c}return s}},{key:"getIdentifier",value:function(){for(var s=this.index,a=this.source.length,c=this.index,d=_utils$1.isIdentifierStart;c=55296&&b<=56319)return this.index=s,this.getEscapedIdentifier();if(!d(b))return this.index=c,this.source.slice(s,c);++c,d=_utils$1.isIdentifierPart}return this.index=c,this.source.slice(s,c)}},{key:"scanIdentifier",value:function(){var s=this.getLocation(),a=this.index,c=this.source.charAt(this.index)==="\\"?this.getEscapedIdentifier():this.getIdentifier(),d=this.getSlice(a,s);d.text=c;var _=this.index-a!==c.length,b=this.getKeyword(c);return _&&b!==TokenType.IDENTIFIER&&(b=TokenType.ESCAPED_KEYWORD),{type:b,value:c,slice:d,escaped:_}}},{key:"getLocation",value:function(){return{line:this.startLine+1,column:this.startIndex-this.startLineStart,offset:this.startIndex}}},{key:"getLastTokenEndLocation",value:function(){return{line:this.lastLine+1,column:this.lastIndex-this.lastLineStart,offset:this.lastIndex}}},{key:"getSlice",value:function(s,a){return{text:this.source.slice(s,this.index),start:s,startLocation:a,end:this.index}}},{key:"scanPunctuatorHelper",value:function(){var s=this.source.charAt(this.index);switch(s){case".":{var a=this.source.charAt(this.index+1);if(a!==".")return TokenType.PERIOD;var c=this.source.charAt(this.index+2);return c!=="."?TokenType.PERIOD:TokenType.ELLIPSIS}case"(":return TokenType.LPAREN;case")":case";":case",":return ONE_CHAR_PUNCTUATOR[s.charCodeAt(0)];case"{":return TokenType.LBRACE;case"}":case"[":case"]":case":":case"?":case"~":return ONE_CHAR_PUNCTUATOR[s.charCodeAt(0)];default:if(this.index+1":return TokenType.GTE;case"/":return TokenType.ASSIGN_DIV;case"%":return TokenType.ASSIGN_MOD;case"^":return TokenType.ASSIGN_BIT_XOR;case"&":return TokenType.ASSIGN_BIT_AND}}if(this.index+1"&&_===">")return this.index+3"&&_==="=")return TokenType.ASSIGN_SHR;if(s==="*"&&_==="=")return TokenType.ASSIGN_EXP}switch(s){case"*":return TokenType.EXP;case"+":return TokenType.INC;case"-":return TokenType.DEC;case"<":return TokenType.SHL;case">":return TokenType.SHR;case"&":return TokenType.AND;case"|":return TokenType.OR}}else if(s==="="&&d===">")return TokenType.ARROW}return ONE_CHAR_PUNCTUATOR[s.charCodeAt(0)]}},{key:"scanPunctuator",value:function(){var s=this.getLocation(),a=this.index,c=this.scanPunctuatorHelper();return this.index+=c.name.length,{type:c,value:c.name,slice:this.getSlice(a,s)}}},{key:"scanHexLiteral",value:function(s,a){for(var c=this.index;c="0"&&c<="7")this.index++;else{if((0,_utils$1.isIdentifierPart)(c.charCodeAt(0)))throw this.createILLEGAL();break}}if(this.index-s===2)throw this.createILLEGAL();return{type:TokenType.NUMBER,value:parseInt(this.getSlice(s,a).text.substr(2),8),slice:this.getSlice(s,a),octal:!1,noctal:!1}}},{key:"scanLegacyOctalLiteral",value:function(s,a){for(var c=!0;this.index="0"&&d<="7")this.index++;else if(d==="8"||d==="9")c=!1,this.index++;else{if((0,_utils$1.isIdentifierPart)(d.charCodeAt(0)))throw this.createILLEGAL();break}}var _=this.getSlice(s,a);return c?{type:TokenType.NUMBER,slice:_,value:parseInt(_.text.substr(1),8),octal:!0,noctal:!c}:(this.eatDecimalLiteralSuffix(),{type:TokenType.NUMBER,slice:_,value:+_.text,octal:!0,noctal:!c})}},{key:"scanNumericLiteral",value:function(){var s=this.source.charAt(this.index),a=this.getLocation(),c=this.index;if(s==="0")if(this.index++,this.index="0"&&s<="9")return this.scanLegacyOctalLiteral(c,a)}else{var d=this.getSlice(c,a);return{type:TokenType.NUMBER,value:+d.text,slice:d,octal:!1,noctal:!1}}else if(s!==".")for(s=this.source.charAt(this.index);s>="0"&&s<="9";){if(this.index++,this.index===this.source.length){var _=this.getSlice(c,a);return{type:TokenType.NUMBER,value:+_.text,slice:_,octal:!1,noctal:!1}}s=this.source.charAt(this.index)}if(this.eatDecimalLiteralSuffix(),this.index!==this.source.length&&(0,_utils$1.isIdentifierStart)(this.source.charCodeAt(this.index)))throw this.createILLEGAL();var b=this.getSlice(c,a);return{type:TokenType.NUMBER,value:+b.text,slice:b,octal:!1,noctal:!1}}},{key:"eatDecimalLiteralSuffix",value:function(){var s=this.source.charAt(this.index);if(s==="."){if(this.index++,this.index===this.source.length)return;for(s=this.source.charAt(this.index);s>="0"&&s<="9";){if(this.index++,this.index===this.source.length)return;s=this.source.charAt(this.index)}}if(s==="e"||s==="E"){if(this.index++,this.index===this.source.length)throw this.createILLEGAL();if(s=this.source.charAt(this.index),s==="+"||s==="-"){if(this.index++,this.index===this.source.length)throw this.createILLEGAL();s=this.source.charAt(this.index)}if(s>="0"&&s<="9")for(;s>="0"&&s<="9"&&(this.index++,this.index!==this.source.length);)s=this.source.charAt(this.index);else throw this.createILLEGAL()}}},{key:"scanStringEscape",value:function(s,a){if(this.index++,this.index===this.source.length)throw this.createILLEGAL();var c=this.source.charAt(this.index);if((0,_utils$1.isLineTerminator)(c.charCodeAt(0)))this.index++,c==="\r"&&this.source.charAt(this.index)===` `&&this.index++,this.lineStart=this.index,this.line++;else switch(c){case"n":s+=` `,this.index++;break;case"r":s+="\r",this.index++;break;case"t":s+=" ",this.index++;break;case"u":case"x":{var d=void 0;if(this.index++,this.index>=this.source.length)throw this.createILLEGAL();if(d=c==="u"?this.scanUnicode():this.scanHexEscape2(),d<0)throw this.createILLEGAL();s+=fromCodePoint$1(d);break}case"b":s+="\b",this.index++;break;case"f":s+="\f",this.index++;break;case"v":s+="\v",this.index++;break;default:if(c>="0"&&c<="7"){var _=this.index,b=1;c>="0"&&c<="3"&&(b=0);for(var k=0;b<3&&c>="0"&&c<="7";){if(this.index++,(b>0||c!=="0")&&(a=this.source.slice(_,this.index)),k*=8,k+=c-"0",b++,this.index===this.source.length)throw this.createILLEGAL();c=this.source.charAt(this.index)}k===0&&b===1&&(c==="8"||c==="9")&&(a=this.source.slice(_,this.index+1)),s+=String.fromCharCode(k)}else{if(c==="8"||c==="9")throw this.createILLEGAL();s+=c,this.index++}}return[s,a]}},{key:"scanStringLiteral",value:function(){var s="",a=this.source.charAt(this.index),c=this.getLocation(),d=this.index;this.index++;for(var _=null;this.index=this.source.length)return{type:TokenType.EOS,slice:this.getSlice(this.index,s)};var a=this.source.charCodeAt(this.index);if(a<128){if(PUNCTUATOR_START[a])return this.scanPunctuator();if((0,_utils$1.isIdentifierStart)(a)||a===92)return this.scanIdentifier();if(a===46)return this.index+1=48&&a<=57)return this.scanNumericLiteral();throw this.createILLEGAL()}else{if((0,_utils$1.isIdentifierStart)(a)||a>=55296&&a<=56319)return this.scanIdentifier();throw this.createILLEGAL()}}},{key:"eof",value:function(){return this.lookahead.type===TokenType.EOS}},{key:"lex",value:function(){var s=this.lookahead;return this.lookahead=this.advance(),this.tokenIndex++,s}}],[{key:"cse2",value:function(s,a,c){return s.charAt(1)===a&&s.charAt(2)===c}},{key:"cse3",value:function(s,a,c,d){return s.charAt(1)===a&&s.charAt(2)===c&&s.charAt(3)===d}},{key:"cse4",value:function(s,a,c,d,_){return s.charAt(1)===a&&s.charAt(2)===c&&s.charAt(3)===d&&s.charAt(4)===_}},{key:"cse5",value:function(s,a,c,d,_,b){return s.charAt(1)===a&&s.charAt(2)===c&&s.charAt(3)===d&&s.charAt(4)===_&&s.charAt(5)===b}},{key:"cse6",value:function(s,a,c,d,_,b,k){return s.charAt(1)===a&&s.charAt(2)===c&&s.charAt(3)===d&&s.charAt(4)===_&&s.charAt(5)===b&&s.charAt(6)===k}},{key:"cse7",value:function(s,a,c,d,_,b,k,$){return s.charAt(1)===a&&s.charAt(2)===c&&s.charAt(3)===d&&s.charAt(4)===_&&s.charAt(5)===b&&s.charAt(6)===k&&s.charAt(7)===$}}]),o}();tokenizer.default=Tokenizer;var parser$1={},dist$6={},mappings=new Map([["General_Category",new Map([["C","Other"],["Cc","Control"],["cntrl","Control"],["Cf","Format"],["Cn","Unassigned"],["Co","Private_Use"],["Cs","Surrogate"],["L","Letter"],["LC","Cased_Letter"],["Ll","Lowercase_Letter"],["Lm","Modifier_Letter"],["Lo","Other_Letter"],["Lt","Titlecase_Letter"],["Lu","Uppercase_Letter"],["M","Mark"],["Combining_Mark","Mark"],["Mc","Spacing_Mark"],["Me","Enclosing_Mark"],["Mn","Nonspacing_Mark"],["N","Number"],["Nd","Decimal_Number"],["digit","Decimal_Number"],["Nl","Letter_Number"],["No","Other_Number"],["P","Punctuation"],["punct","Punctuation"],["Pc","Connector_Punctuation"],["Pd","Dash_Punctuation"],["Pe","Close_Punctuation"],["Pf","Final_Punctuation"],["Pi","Initial_Punctuation"],["Po","Other_Punctuation"],["Ps","Open_Punctuation"],["S","Symbol"],["Sc","Currency_Symbol"],["Sk","Modifier_Symbol"],["Sm","Math_Symbol"],["So","Other_Symbol"],["Z","Separator"],["Zl","Line_Separator"],["Zp","Paragraph_Separator"],["Zs","Space_Separator"],["Other","Other"],["Control","Control"],["Format","Format"],["Unassigned","Unassigned"],["Private_Use","Private_Use"],["Surrogate","Surrogate"],["Letter","Letter"],["Cased_Letter","Cased_Letter"],["Lowercase_Letter","Lowercase_Letter"],["Modifier_Letter","Modifier_Letter"],["Other_Letter","Other_Letter"],["Titlecase_Letter","Titlecase_Letter"],["Uppercase_Letter","Uppercase_Letter"],["Mark","Mark"],["Spacing_Mark","Spacing_Mark"],["Enclosing_Mark","Enclosing_Mark"],["Nonspacing_Mark","Nonspacing_Mark"],["Number","Number"],["Decimal_Number","Decimal_Number"],["Letter_Number","Letter_Number"],["Other_Number","Other_Number"],["Punctuation","Punctuation"],["Connector_Punctuation","Connector_Punctuation"],["Dash_Punctuation","Dash_Punctuation"],["Close_Punctuation","Close_Punctuation"],["Final_Punctuation","Final_Punctuation"],["Initial_Punctuation","Initial_Punctuation"],["Other_Punctuation","Other_Punctuation"],["Open_Punctuation","Open_Punctuation"],["Symbol","Symbol"],["Currency_Symbol","Currency_Symbol"],["Modifier_Symbol","Modifier_Symbol"],["Math_Symbol","Math_Symbol"],["Other_Symbol","Other_Symbol"],["Separator","Separator"],["Line_Separator","Line_Separator"],["Paragraph_Separator","Paragraph_Separator"],["Space_Separator","Space_Separator"]])],["Script",new Map([["Adlm","Adlam"],["Aghb","Caucasian_Albanian"],["Ahom","Ahom"],["Arab","Arabic"],["Armi","Imperial_Aramaic"],["Armn","Armenian"],["Avst","Avestan"],["Bali","Balinese"],["Bamu","Bamum"],["Bass","Bassa_Vah"],["Batk","Batak"],["Beng","Bengali"],["Bhks","Bhaiksuki"],["Bopo","Bopomofo"],["Brah","Brahmi"],["Brai","Braille"],["Bugi","Buginese"],["Buhd","Buhid"],["Cakm","Chakma"],["Cans","Canadian_Aboriginal"],["Cari","Carian"],["Cham","Cham"],["Cher","Cherokee"],["Copt","Coptic"],["Qaac","Coptic"],["Cprt","Cypriot"],["Cyrl","Cyrillic"],["Deva","Devanagari"],["Dogr","Dogra"],["Dsrt","Deseret"],["Dupl","Duployan"],["Egyp","Egyptian_Hieroglyphs"],["Elba","Elbasan"],["Ethi","Ethiopic"],["Geor","Georgian"],["Glag","Glagolitic"],["Gong","Gunjala_Gondi"],["Gonm","Masaram_Gondi"],["Goth","Gothic"],["Gran","Grantha"],["Grek","Greek"],["Gujr","Gujarati"],["Guru","Gurmukhi"],["Hang","Hangul"],["Hani","Han"],["Hano","Hanunoo"],["Hatr","Hatran"],["Hebr","Hebrew"],["Hira","Hiragana"],["Hluw","Anatolian_Hieroglyphs"],["Hmng","Pahawh_Hmong"],["Hrkt","Katakana_Or_Hiragana"],["Hung","Old_Hungarian"],["Ital","Old_Italic"],["Java","Javanese"],["Kali","Kayah_Li"],["Kana","Katakana"],["Khar","Kharoshthi"],["Khmr","Khmer"],["Khoj","Khojki"],["Knda","Kannada"],["Kthi","Kaithi"],["Lana","Tai_Tham"],["Laoo","Lao"],["Latn","Latin"],["Lepc","Lepcha"],["Limb","Limbu"],["Lina","Linear_A"],["Linb","Linear_B"],["Lisu","Lisu"],["Lyci","Lycian"],["Lydi","Lydian"],["Mahj","Mahajani"],["Maka","Makasar"],["Mand","Mandaic"],["Mani","Manichaean"],["Marc","Marchen"],["Medf","Medefaidrin"],["Mend","Mende_Kikakui"],["Merc","Meroitic_Cursive"],["Mero","Meroitic_Hieroglyphs"],["Mlym","Malayalam"],["Modi","Modi"],["Mong","Mongolian"],["Mroo","Mro"],["Mtei","Meetei_Mayek"],["Mult","Multani"],["Mymr","Myanmar"],["Narb","Old_North_Arabian"],["Nbat","Nabataean"],["Newa","Newa"],["Nkoo","Nko"],["Nshu","Nushu"],["Ogam","Ogham"],["Olck","Ol_Chiki"],["Orkh","Old_Turkic"],["Orya","Oriya"],["Osge","Osage"],["Osma","Osmanya"],["Palm","Palmyrene"],["Pauc","Pau_Cin_Hau"],["Perm","Old_Permic"],["Phag","Phags_Pa"],["Phli","Inscriptional_Pahlavi"],["Phlp","Psalter_Pahlavi"],["Phnx","Phoenician"],["Plrd","Miao"],["Prti","Inscriptional_Parthian"],["Rjng","Rejang"],["Rohg","Hanifi_Rohingya"],["Runr","Runic"],["Samr","Samaritan"],["Sarb","Old_South_Arabian"],["Saur","Saurashtra"],["Sgnw","SignWriting"],["Shaw","Shavian"],["Shrd","Sharada"],["Sidd","Siddham"],["Sind","Khudawadi"],["Sinh","Sinhala"],["Sogd","Sogdian"],["Sogo","Old_Sogdian"],["Sora","Sora_Sompeng"],["Soyo","Soyombo"],["Sund","Sundanese"],["Sylo","Syloti_Nagri"],["Syrc","Syriac"],["Tagb","Tagbanwa"],["Takr","Takri"],["Tale","Tai_Le"],["Talu","New_Tai_Lue"],["Taml","Tamil"],["Tang","Tangut"],["Tavt","Tai_Viet"],["Telu","Telugu"],["Tfng","Tifinagh"],["Tglg","Tagalog"],["Thaa","Thaana"],["Thai","Thai"],["Tibt","Tibetan"],["Tirh","Tirhuta"],["Ugar","Ugaritic"],["Vaii","Vai"],["Wara","Warang_Citi"],["Xpeo","Old_Persian"],["Xsux","Cuneiform"],["Yiii","Yi"],["Zanb","Zanabazar_Square"],["Zinh","Inherited"],["Qaai","Inherited"],["Zyyy","Common"],["Zzzz","Unknown"],["Adlam","Adlam"],["Caucasian_Albanian","Caucasian_Albanian"],["Arabic","Arabic"],["Imperial_Aramaic","Imperial_Aramaic"],["Armenian","Armenian"],["Avestan","Avestan"],["Balinese","Balinese"],["Bamum","Bamum"],["Bassa_Vah","Bassa_Vah"],["Batak","Batak"],["Bengali","Bengali"],["Bhaiksuki","Bhaiksuki"],["Bopomofo","Bopomofo"],["Brahmi","Brahmi"],["Braille","Braille"],["Buginese","Buginese"],["Buhid","Buhid"],["Chakma","Chakma"],["Canadian_Aboriginal","Canadian_Aboriginal"],["Carian","Carian"],["Cherokee","Cherokee"],["Coptic","Coptic"],["Cypriot","Cypriot"],["Cyrillic","Cyrillic"],["Devanagari","Devanagari"],["Dogra","Dogra"],["Deseret","Deseret"],["Duployan","Duployan"],["Egyptian_Hieroglyphs","Egyptian_Hieroglyphs"],["Elbasan","Elbasan"],["Ethiopic","Ethiopic"],["Georgian","Georgian"],["Glagolitic","Glagolitic"],["Gunjala_Gondi","Gunjala_Gondi"],["Masaram_Gondi","Masaram_Gondi"],["Gothic","Gothic"],["Grantha","Grantha"],["Greek","Greek"],["Gujarati","Gujarati"],["Gurmukhi","Gurmukhi"],["Hangul","Hangul"],["Han","Han"],["Hanunoo","Hanunoo"],["Hatran","Hatran"],["Hebrew","Hebrew"],["Hiragana","Hiragana"],["Anatolian_Hieroglyphs","Anatolian_Hieroglyphs"],["Pahawh_Hmong","Pahawh_Hmong"],["Katakana_Or_Hiragana","Katakana_Or_Hiragana"],["Old_Hungarian","Old_Hungarian"],["Old_Italic","Old_Italic"],["Javanese","Javanese"],["Kayah_Li","Kayah_Li"],["Katakana","Katakana"],["Kharoshthi","Kharoshthi"],["Khmer","Khmer"],["Khojki","Khojki"],["Kannada","Kannada"],["Kaithi","Kaithi"],["Tai_Tham","Tai_Tham"],["Lao","Lao"],["Latin","Latin"],["Lepcha","Lepcha"],["Limbu","Limbu"],["Linear_A","Linear_A"],["Linear_B","Linear_B"],["Lycian","Lycian"],["Lydian","Lydian"],["Mahajani","Mahajani"],["Makasar","Makasar"],["Mandaic","Mandaic"],["Manichaean","Manichaean"],["Marchen","Marchen"],["Medefaidrin","Medefaidrin"],["Mende_Kikakui","Mende_Kikakui"],["Meroitic_Cursive","Meroitic_Cursive"],["Meroitic_Hieroglyphs","Meroitic_Hieroglyphs"],["Malayalam","Malayalam"],["Mongolian","Mongolian"],["Mro","Mro"],["Meetei_Mayek","Meetei_Mayek"],["Multani","Multani"],["Myanmar","Myanmar"],["Old_North_Arabian","Old_North_Arabian"],["Nabataean","Nabataean"],["Nko","Nko"],["Nushu","Nushu"],["Ogham","Ogham"],["Ol_Chiki","Ol_Chiki"],["Old_Turkic","Old_Turkic"],["Oriya","Oriya"],["Osage","Osage"],["Osmanya","Osmanya"],["Palmyrene","Palmyrene"],["Pau_Cin_Hau","Pau_Cin_Hau"],["Old_Permic","Old_Permic"],["Phags_Pa","Phags_Pa"],["Inscriptional_Pahlavi","Inscriptional_Pahlavi"],["Psalter_Pahlavi","Psalter_Pahlavi"],["Phoenician","Phoenician"],["Miao","Miao"],["Inscriptional_Parthian","Inscriptional_Parthian"],["Rejang","Rejang"],["Hanifi_Rohingya","Hanifi_Rohingya"],["Runic","Runic"],["Samaritan","Samaritan"],["Old_South_Arabian","Old_South_Arabian"],["Saurashtra","Saurashtra"],["SignWriting","SignWriting"],["Shavian","Shavian"],["Sharada","Sharada"],["Siddham","Siddham"],["Khudawadi","Khudawadi"],["Sinhala","Sinhala"],["Sogdian","Sogdian"],["Old_Sogdian","Old_Sogdian"],["Sora_Sompeng","Sora_Sompeng"],["Soyombo","Soyombo"],["Sundanese","Sundanese"],["Syloti_Nagri","Syloti_Nagri"],["Syriac","Syriac"],["Tagbanwa","Tagbanwa"],["Takri","Takri"],["Tai_Le","Tai_Le"],["New_Tai_Lue","New_Tai_Lue"],["Tamil","Tamil"],["Tangut","Tangut"],["Tai_Viet","Tai_Viet"],["Telugu","Telugu"],["Tifinagh","Tifinagh"],["Tagalog","Tagalog"],["Thaana","Thaana"],["Tibetan","Tibetan"],["Tirhuta","Tirhuta"],["Ugaritic","Ugaritic"],["Vai","Vai"],["Warang_Citi","Warang_Citi"],["Old_Persian","Old_Persian"],["Cuneiform","Cuneiform"],["Yi","Yi"],["Zanabazar_Square","Zanabazar_Square"],["Inherited","Inherited"],["Common","Common"],["Unknown","Unknown"]])],["Script_Extensions",new Map([["Adlm","Adlam"],["Aghb","Caucasian_Albanian"],["Ahom","Ahom"],["Arab","Arabic"],["Armi","Imperial_Aramaic"],["Armn","Armenian"],["Avst","Avestan"],["Bali","Balinese"],["Bamu","Bamum"],["Bass","Bassa_Vah"],["Batk","Batak"],["Beng","Bengali"],["Bhks","Bhaiksuki"],["Bopo","Bopomofo"],["Brah","Brahmi"],["Brai","Braille"],["Bugi","Buginese"],["Buhd","Buhid"],["Cakm","Chakma"],["Cans","Canadian_Aboriginal"],["Cari","Carian"],["Cham","Cham"],["Cher","Cherokee"],["Copt","Coptic"],["Qaac","Coptic"],["Cprt","Cypriot"],["Cyrl","Cyrillic"],["Deva","Devanagari"],["Dogr","Dogra"],["Dsrt","Deseret"],["Dupl","Duployan"],["Egyp","Egyptian_Hieroglyphs"],["Elba","Elbasan"],["Ethi","Ethiopic"],["Geor","Georgian"],["Glag","Glagolitic"],["Gong","Gunjala_Gondi"],["Gonm","Masaram_Gondi"],["Goth","Gothic"],["Gran","Grantha"],["Grek","Greek"],["Gujr","Gujarati"],["Guru","Gurmukhi"],["Hang","Hangul"],["Hani","Han"],["Hano","Hanunoo"],["Hatr","Hatran"],["Hebr","Hebrew"],["Hira","Hiragana"],["Hluw","Anatolian_Hieroglyphs"],["Hmng","Pahawh_Hmong"],["Hrkt","Katakana_Or_Hiragana"],["Hung","Old_Hungarian"],["Ital","Old_Italic"],["Java","Javanese"],["Kali","Kayah_Li"],["Kana","Katakana"],["Khar","Kharoshthi"],["Khmr","Khmer"],["Khoj","Khojki"],["Knda","Kannada"],["Kthi","Kaithi"],["Lana","Tai_Tham"],["Laoo","Lao"],["Latn","Latin"],["Lepc","Lepcha"],["Limb","Limbu"],["Lina","Linear_A"],["Linb","Linear_B"],["Lisu","Lisu"],["Lyci","Lycian"],["Lydi","Lydian"],["Mahj","Mahajani"],["Maka","Makasar"],["Mand","Mandaic"],["Mani","Manichaean"],["Marc","Marchen"],["Medf","Medefaidrin"],["Mend","Mende_Kikakui"],["Merc","Meroitic_Cursive"],["Mero","Meroitic_Hieroglyphs"],["Mlym","Malayalam"],["Modi","Modi"],["Mong","Mongolian"],["Mroo","Mro"],["Mtei","Meetei_Mayek"],["Mult","Multani"],["Mymr","Myanmar"],["Narb","Old_North_Arabian"],["Nbat","Nabataean"],["Newa","Newa"],["Nkoo","Nko"],["Nshu","Nushu"],["Ogam","Ogham"],["Olck","Ol_Chiki"],["Orkh","Old_Turkic"],["Orya","Oriya"],["Osge","Osage"],["Osma","Osmanya"],["Palm","Palmyrene"],["Pauc","Pau_Cin_Hau"],["Perm","Old_Permic"],["Phag","Phags_Pa"],["Phli","Inscriptional_Pahlavi"],["Phlp","Psalter_Pahlavi"],["Phnx","Phoenician"],["Plrd","Miao"],["Prti","Inscriptional_Parthian"],["Rjng","Rejang"],["Rohg","Hanifi_Rohingya"],["Runr","Runic"],["Samr","Samaritan"],["Sarb","Old_South_Arabian"],["Saur","Saurashtra"],["Sgnw","SignWriting"],["Shaw","Shavian"],["Shrd","Sharada"],["Sidd","Siddham"],["Sind","Khudawadi"],["Sinh","Sinhala"],["Sogd","Sogdian"],["Sogo","Old_Sogdian"],["Sora","Sora_Sompeng"],["Soyo","Soyombo"],["Sund","Sundanese"],["Sylo","Syloti_Nagri"],["Syrc","Syriac"],["Tagb","Tagbanwa"],["Takr","Takri"],["Tale","Tai_Le"],["Talu","New_Tai_Lue"],["Taml","Tamil"],["Tang","Tangut"],["Tavt","Tai_Viet"],["Telu","Telugu"],["Tfng","Tifinagh"],["Tglg","Tagalog"],["Thaa","Thaana"],["Thai","Thai"],["Tibt","Tibetan"],["Tirh","Tirhuta"],["Ugar","Ugaritic"],["Vaii","Vai"],["Wara","Warang_Citi"],["Xpeo","Old_Persian"],["Xsux","Cuneiform"],["Yiii","Yi"],["Zanb","Zanabazar_Square"],["Zinh","Inherited"],["Qaai","Inherited"],["Zyyy","Common"],["Zzzz","Unknown"],["Adlam","Adlam"],["Caucasian_Albanian","Caucasian_Albanian"],["Arabic","Arabic"],["Imperial_Aramaic","Imperial_Aramaic"],["Armenian","Armenian"],["Avestan","Avestan"],["Balinese","Balinese"],["Bamum","Bamum"],["Bassa_Vah","Bassa_Vah"],["Batak","Batak"],["Bengali","Bengali"],["Bhaiksuki","Bhaiksuki"],["Bopomofo","Bopomofo"],["Brahmi","Brahmi"],["Braille","Braille"],["Buginese","Buginese"],["Buhid","Buhid"],["Chakma","Chakma"],["Canadian_Aboriginal","Canadian_Aboriginal"],["Carian","Carian"],["Cherokee","Cherokee"],["Coptic","Coptic"],["Cypriot","Cypriot"],["Cyrillic","Cyrillic"],["Devanagari","Devanagari"],["Dogra","Dogra"],["Deseret","Deseret"],["Duployan","Duployan"],["Egyptian_Hieroglyphs","Egyptian_Hieroglyphs"],["Elbasan","Elbasan"],["Ethiopic","Ethiopic"],["Georgian","Georgian"],["Glagolitic","Glagolitic"],["Gunjala_Gondi","Gunjala_Gondi"],["Masaram_Gondi","Masaram_Gondi"],["Gothic","Gothic"],["Grantha","Grantha"],["Greek","Greek"],["Gujarati","Gujarati"],["Gurmukhi","Gurmukhi"],["Hangul","Hangul"],["Han","Han"],["Hanunoo","Hanunoo"],["Hatran","Hatran"],["Hebrew","Hebrew"],["Hiragana","Hiragana"],["Anatolian_Hieroglyphs","Anatolian_Hieroglyphs"],["Pahawh_Hmong","Pahawh_Hmong"],["Katakana_Or_Hiragana","Katakana_Or_Hiragana"],["Old_Hungarian","Old_Hungarian"],["Old_Italic","Old_Italic"],["Javanese","Javanese"],["Kayah_Li","Kayah_Li"],["Katakana","Katakana"],["Kharoshthi","Kharoshthi"],["Khmer","Khmer"],["Khojki","Khojki"],["Kannada","Kannada"],["Kaithi","Kaithi"],["Tai_Tham","Tai_Tham"],["Lao","Lao"],["Latin","Latin"],["Lepcha","Lepcha"],["Limbu","Limbu"],["Linear_A","Linear_A"],["Linear_B","Linear_B"],["Lycian","Lycian"],["Lydian","Lydian"],["Mahajani","Mahajani"],["Makasar","Makasar"],["Mandaic","Mandaic"],["Manichaean","Manichaean"],["Marchen","Marchen"],["Medefaidrin","Medefaidrin"],["Mende_Kikakui","Mende_Kikakui"],["Meroitic_Cursive","Meroitic_Cursive"],["Meroitic_Hieroglyphs","Meroitic_Hieroglyphs"],["Malayalam","Malayalam"],["Mongolian","Mongolian"],["Mro","Mro"],["Meetei_Mayek","Meetei_Mayek"],["Multani","Multani"],["Myanmar","Myanmar"],["Old_North_Arabian","Old_North_Arabian"],["Nabataean","Nabataean"],["Nko","Nko"],["Nushu","Nushu"],["Ogham","Ogham"],["Ol_Chiki","Ol_Chiki"],["Old_Turkic","Old_Turkic"],["Oriya","Oriya"],["Osage","Osage"],["Osmanya","Osmanya"],["Palmyrene","Palmyrene"],["Pau_Cin_Hau","Pau_Cin_Hau"],["Old_Permic","Old_Permic"],["Phags_Pa","Phags_Pa"],["Inscriptional_Pahlavi","Inscriptional_Pahlavi"],["Psalter_Pahlavi","Psalter_Pahlavi"],["Phoenician","Phoenician"],["Miao","Miao"],["Inscriptional_Parthian","Inscriptional_Parthian"],["Rejang","Rejang"],["Hanifi_Rohingya","Hanifi_Rohingya"],["Runic","Runic"],["Samaritan","Samaritan"],["Old_South_Arabian","Old_South_Arabian"],["Saurashtra","Saurashtra"],["SignWriting","SignWriting"],["Shavian","Shavian"],["Sharada","Sharada"],["Siddham","Siddham"],["Khudawadi","Khudawadi"],["Sinhala","Sinhala"],["Sogdian","Sogdian"],["Old_Sogdian","Old_Sogdian"],["Sora_Sompeng","Sora_Sompeng"],["Soyombo","Soyombo"],["Sundanese","Sundanese"],["Syloti_Nagri","Syloti_Nagri"],["Syriac","Syriac"],["Tagbanwa","Tagbanwa"],["Takri","Takri"],["Tai_Le","Tai_Le"],["New_Tai_Lue","New_Tai_Lue"],["Tamil","Tamil"],["Tangut","Tangut"],["Tai_Viet","Tai_Viet"],["Telugu","Telugu"],["Tifinagh","Tifinagh"],["Tagalog","Tagalog"],["Thaana","Thaana"],["Tibetan","Tibetan"],["Tirhuta","Tirhuta"],["Ugaritic","Ugaritic"],["Vai","Vai"],["Warang_Citi","Warang_Citi"],["Old_Persian","Old_Persian"],["Cuneiform","Cuneiform"],["Yi","Yi"],["Zanabazar_Square","Zanabazar_Square"],["Inherited","Inherited"],["Common","Common"],["Unknown","Unknown"]])]]);const propertyToValueAliases=mappings,matchPropertyValue=function(o,e){const s=propertyToValueAliases.get(o);if(!s)throw new Error(`Unknown property \`${o}\`.`);const a=s.get(e);if(a)return a;throw new Error(`Unknown value \`${e}\` for property \`${o}\`.`)};var unicodeMatchPropertyValueEcmascript=matchPropertyValue,unicodeCanonicalPropertyNamesEcmascript=new Set(["General_Category","Script","Script_Extensions","Alphabetic","Any","ASCII","ASCII_Hex_Digit","Assigned","Bidi_Control","Bidi_Mirrored","Case_Ignorable","Cased","Changes_When_Casefolded","Changes_When_Casemapped","Changes_When_Lowercased","Changes_When_NFKC_Casefolded","Changes_When_Titlecased","Changes_When_Uppercased","Dash","Default_Ignorable_Code_Point","Deprecated","Diacritic","Emoji","Emoji_Component","Emoji_Modifier","Emoji_Modifier_Base","Emoji_Presentation","Extended_Pictographic","Extender","Grapheme_Base","Grapheme_Extend","Hex_Digit","ID_Continue","ID_Start","Ideographic","IDS_Binary_Operator","IDS_Trinary_Operator","Join_Control","Logical_Order_Exception","Lowercase","Math","Noncharacter_Code_Point","Pattern_Syntax","Pattern_White_Space","Quotation_Mark","Radical","Regional_Indicator","Sentence_Terminal","Soft_Dotted","Terminal_Punctuation","Unified_Ideograph","Uppercase","Variation_Selector","White_Space","XID_Continue","XID_Start"]),unicodePropertyAliasesEcmascript=new Map([["scx","Script_Extensions"],["sc","Script"],["gc","General_Category"],["AHex","ASCII_Hex_Digit"],["Alpha","Alphabetic"],["Bidi_C","Bidi_Control"],["Bidi_M","Bidi_Mirrored"],["Cased","Cased"],["CI","Case_Ignorable"],["CWCF","Changes_When_Casefolded"],["CWCM","Changes_When_Casemapped"],["CWKCF","Changes_When_NFKC_Casefolded"],["CWL","Changes_When_Lowercased"],["CWT","Changes_When_Titlecased"],["CWU","Changes_When_Uppercased"],["Dash","Dash"],["Dep","Deprecated"],["DI","Default_Ignorable_Code_Point"],["Dia","Diacritic"],["Ext","Extender"],["Gr_Base","Grapheme_Base"],["Gr_Ext","Grapheme_Extend"],["Hex","Hex_Digit"],["IDC","ID_Continue"],["Ideo","Ideographic"],["IDS","ID_Start"],["IDSB","IDS_Binary_Operator"],["IDST","IDS_Trinary_Operator"],["Join_C","Join_Control"],["LOE","Logical_Order_Exception"],["Lower","Lowercase"],["Math","Math"],["NChar","Noncharacter_Code_Point"],["Pat_Syn","Pattern_Syntax"],["Pat_WS","Pattern_White_Space"],["QMark","Quotation_Mark"],["Radical","Radical"],["RI","Regional_Indicator"],["SD","Soft_Dotted"],["STerm","Sentence_Terminal"],["Term","Terminal_Punctuation"],["UIdeo","Unified_Ideograph"],["Upper","Uppercase"],["VS","Variation_Selector"],["WSpace","White_Space"],["space","White_Space"],["XIDC","XID_Continue"],["XIDS","XID_Start"]]);const canonicalProperties=unicodeCanonicalPropertyNamesEcmascript,propertyAliases=unicodePropertyAliasesEcmascript,matchProperty=function(o){if(canonicalProperties.has(o))return o;if(propertyAliases.has(o))return propertyAliases.get(o);throw new Error(`Unknown property: ${o}`)};var unicodeMatchPropertyEcmascript=matchProperty,unicode$1={};Object.defineProperty(unicode$1,"__esModule",{value:!0});unicode$1.whitespaceArray=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];unicode$1.whitespaceBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!0,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1];unicode$1.idStartLargeRegex=/^[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]$/;unicode$1.idStartBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1];unicode$1.idContinueLargeRegex=/^[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]$/;unicode$1.idContinueBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1];Object.defineProperty(dist$6,"__esModule",{value:!0});var _createClass$d=function(){function o(e,s){for(var a=0;a=this.pattern.length}},{key:"backreference",value:function(s){s>this.largestBackreference&&(this.largestBackreference=s)}},{key:"nextCodePoint",value:function(){return this.empty()?null:this.unicode?String.fromCodePoint(this.pattern.codePointAt(this.index)):this.pattern.charAt(this.index)}},{key:"skipCodePoint",value:function(){this.index+=this.nextCodePoint().length}},{key:"eat",value:function(s){return this.index+s.length>this.pattern.length||this.pattern.slice(this.index,this.index+s.length)!==s?!1:(this.index+=s.length,!0)}},{key:"eatIdentifierCodePoint",value:function(){var s=void 0,a=this.index,c=void 0;if(this.match("\\u")){if(this.skipCodePoint(),s=acceptUnicodeEscape(this),!s.matched)return this.index=a,null;s=s.value,c=String.fromCodePoint(s)}else{if(c=this.nextCodePoint(),c==null)return this.index=a,null;this.index+=c.length,s=c.codePointAt(0)}return{character:c,characterValue:s}}},{key:"eatIdentifierStart",value:function(){var s=this.index,a=this.eatIdentifierCodePoint();return a===null?(this.index=s,null):a.character==="_"||a.character==="$"||isIdentifierStart(a.characterValue)?a.character:(this.index=s,null)}},{key:"eatIdentifierPart",value:function(){var s=this.index,a=this.eatIdentifierCodePoint();return a===null?(this.index=s,null):a.character==="\u200C"||a.character==="\u200D"||a.character==="$"||isIdentifierPart(a.characterValue)?a.character:(this.index=s,null)}},{key:"eatAny",value:function(){for(var s=arguments.length,a=Array(s),c=0;c1&&arguments[1]!==void 0?arguments[1]:{},s=e.unicode,a=s===void 0?!1:s,c=new PatternAcceptorState(o,a),d=acceptDisjunction(c);if(d.matched){if(c.unicode&&c.largestBackreference>c.capturingGroups)return!1;if(c.groupingNames.length>0||c.unicode){var _=!0,b=!1,k=void 0;try{for(var $=c.backreferenceNames[Symbol.iterator](),j;!(_=(j=$.next()).done);_=!0){var _e=j.value;if(c.groupingNames.indexOf(_e)===-1)return!1}}catch(et){b=!0,k=et}finally{try{!_&&$.return&&$.return()}finally{if(b)throw k}}}}return d.matched};var backtrackOnFailure=function o(e){return function(s){var a=s.index,c=s.largestBackreference,d=s.capturingGroups,_=e(s);return _.matched||(s.index=a,s.largestBackreference=c,s.capturingGroups=d),_}},acceptUnicodeEscape=backtrackOnFailure(function(o){if(!o.eat("u"))return{matched:!1};if(o.unicode&&o.eat("{")){for(var e=[];!o.eat("}");){var s=o.eatAny.apply(o,_toConsumableArray$6(hexDigits));if(s===null)return{matched:!1};e.push(s)}var a=parseInt(e.join(""),16);return a>1114111?{matched:!1}:{matched:!0,value:a}}var c=[0,0,0,0].map(function(){return o.eatAny.apply(o,_toConsumableArray$6(hexDigits))});if(c.some(function(b){return b===null}))return{matched:!1};var d=parseInt(c.join(""),16);if(o.unicode&&d>=55296&&d<=56319){var _=backtrackOnFailure(function(b){if(!b.eat("\\u"))return{matched:!1};var k=[0,0,0,0].map(function(){return b.eatAny.apply(b,_toConsumableArray$6(hexDigits))});if(k.some(function(j){return j===null}))return{matched:!1};var $=parseInt(k.join(""),16);return $<56320||$>=57344?{matched:!1}:{matched:!0,value:65536+((d&1023)<<10)+($&1023)}})(o);if(_.matched)return _}return{matched:!0,value:d}}),acceptDisjunction=function o(e,s){do{if(s!==void 0&&e.eat(s))return{matched:!0};if(e.match("|"))continue;if(!acceptAlternative(e,s).matched)return{matched:!1}}while(e.eat("|"));return{matched:s===void 0||!!e.eat(s)}},acceptAlternative=function o(e,s){for(;!e.match("|")&&!e.empty()&&(s===void 0||!e.match(s));)if(!acceptTerm(e).matched)return{matched:!1};return{matched:!0}},anyOf=function o(){for(var e=arguments.length,s=Array(e),a=0;aparseInt(_))return{matched:!1}}return c.eat("}")?(c.eat("?"),{matched:!0}):{matched:!1}})(s);return a.matched?a:{matched:!s.unicode}}else s.eatAny("*","+","?")&&s.eat("?");return{matched:!0}})},acceptCharacterExcept=function o(e){return function(s){var a=s.nextCodePoint();return a===null||e.indexOf(a)!==-1?{matched:!1}:(s.skipCodePoint(),{matched:!0})}},acceptPatternCharacter=acceptCharacterExcept(syntaxCharacters),acceptExtendedPatternCharacter=acceptCharacterExcept(extendedSyntaxCharacters),acceptInvalidBracedQuantifier=function o(e){return backtrackOnFailure(function(s){return{matched:!!(s.eat("{")&&acceptDecimal(s).matched&&(!s.eat(",")||s.match("}")||acceptDecimal(s).matched)&&s.eat("}"))}})(e)},acceptAtom=function o(e){if(e.unicode)return anyOf(acceptPatternCharacter,function(a){return{matched:!!a.eat(".")}},backtrackOnFailure(function(a){return a.eat("\\")?acceptAtomEscape(a):{matched:!1}}),acceptCharacterClass,acceptLabeledGroup(function(a){return a.eat("?:")}),acceptGrouping)(e);var s=anyOf(function(a){return{matched:!!a.eat(".")}},backtrackOnFailure(function(a){return a.eat("\\")?acceptAtomEscape(a):{matched:!1}}),backtrackOnFailure(function(a){return{matched:a.eat("\\")&&a.match("c")}}),acceptCharacterClass,acceptLabeledGroup(function(a){return a.eat("?:")}),acceptGrouping)(e);return!s.matched&&acceptInvalidBracedQuantifier(e).matched?{matched:!1}:s.matched?s:acceptExtendedPatternCharacter(e)},acceptGrouping=backtrackOnFailure(function(o){if(!o.eat("("))return{matched:!1};var e=backtrackOnFailure(function(s){return o.eat("?")?acceptGroupName(s):{matched:!1}})(o);if(!acceptDisjunction(o,")").matched)return{matched:!1};if(e.matched){if(o.groupingNames.indexOf(e.data)!==-1)return{matched:!1};o.groupingNames.push(e.data)}return o.capturingGroups++,{matched:!0}}),acceptDecimalEscape=backtrackOnFailure(function(o){var e=o.eatAny.apply(o,_toConsumableArray$6(decimalDigits));return e===null?{matched:!1}:e==="0"?{matched:!0}:(o.backreference(parseInt(e+(o.eatNaturalNumber()||""))),{matched:!0})}),acceptCharacterClassEscape=function o(e){return e.eatAny("d","D","s","S","w","W")?{matched:!0}:e.unicode?backtrackOnFailure(function(s){return!s.eat("p{")&&!s.eat("P{")?{matched:!1}:acceptUnicodePropertyValueExpression(s).matched?{matched:!!s.eat("}")}:{matched:!1}})(e):{matched:!1}},acceptUnicodePropertyName=function o(e){for(var s=[],a=void 0;a=e.eatAny.apply(e,_toConsumableArray$6(controlCharacters).concat(["_"]));)s.push(a);return{matched:s.length>0,data:s.join("")}},acceptUnicodePropertyValue=function o(e){for(var s=[],a=void 0;a=e.eatAny.apply(e,_toConsumableArray$6(controlCharacters).concat(_toConsumableArray$6(decimalDigits),["_"]));)s.push(a);return{matched:s.length>0,data:s.join("")}},illegalLoneUnicodePropertyNames=["General_Category","Script","Script_Extensions","scx","sc","gc"],generalCategoryValues=_mappings2.default.get("General_Category"),acceptLoneUnicodePropertyNameOrValue=function o(e){var s=acceptUnicodePropertyValue(e);return!s.matched||illegalLoneUnicodePropertyNames.includes(s.data)?{matched:!1}:{matched:catchIsFalse(function(){return(0,_unicodeMatchPropertyEcmascript2.default)(s.data)})||generalCategoryValues.get(s.data)!=null}},acceptUnicodePropertyValueExpression=function o(e){return anyOf(backtrackOnFailure(function(s){var a=acceptUnicodePropertyName(s);if(!a.matched||!s.eat("="))return{matched:!1};var c=acceptUnicodePropertyValue(s);return c.matched?{matched:catchIsFalse(function(){return(0,_unicodeMatchPropertyValueEcmascript2.default)(_unicodePropertyAliasesEcmascript2.default.get(a.data)||a.data,c.data)})}:{matched:!1}}),backtrackOnFailure(acceptLoneUnicodePropertyNameOrValue))(e)},acceptCharacterEscape=anyOf(function(o){var e=o.eatAny.apply(o,_toConsumableArray$6(controlEscapeCharacters));return e===null?{matched:!1}:{matched:!0,value:controlEscapeCharacterValues[e]}},backtrackOnFailure(function(o){if(!o.eat("c"))return{matched:!1};var e=o.eatAny.apply(o,_toConsumableArray$6(controlCharacters));return e===null?{matched:!1}:{matched:!0,value:e.charCodeAt(0)%32}}),backtrackOnFailure(function(o){return!o.eat("0")||o.eatAny.apply(o,_toConsumableArray$6(decimalDigits))?{matched:!1}:{matched:!0,value:0}}),backtrackOnFailure(function(o){if(!o.eat("x"))return{matched:!1};var e=[0,0].map(function(){return o.eatAny.apply(o,_toConsumableArray$6(hexDigits))});return e.some(function(s){return s===null})?{matched:!1}:{matched:!0,value:parseInt(e.join(""),16)}}),acceptUnicodeEscape,backtrackOnFailure(function(o){if(o.unicode)return{matched:!1};var e=o.eatAny.apply(o,_toConsumableArray$6(octalDigits));if(e===null)return{matched:!1};var s=parseInt(e,8);if(octalDigits.indexOf(o.nextCodePoint())===-1)return{matched:!0,value:s};var a=o.eatAny.apply(o,_toConsumableArray$6(octalDigits)),c=parseInt(a,8);if(s<4){if(octalDigits.indexOf(o.nextCodePoint())===-1)return{matched:!0,value:s<<3|c};var d=o.eatAny.apply(o,_toConsumableArray$6(octalDigits)),_=parseInt(d,8);return{matched:!0,value:s<<6|c<<3|_}}return{matched:!0,value:s<<3|c}}),backtrackOnFailure(function(o){if(!o.unicode)return{matched:!1};var e=o.eatAny.apply(o,_toConsumableArray$6(syntaxCharacters));return e===null?{matched:!1}:{matched:!0,value:e.charCodeAt(0)}}),function(o){return!o.unicode||!o.eat("/")?{matched:!1}:{matched:!0,value:"/".charCodeAt(0)}},backtrackOnFailure(function(o){if(o.unicode)return{matched:!1};var e=o.nextCodePoint();return e!==null&&e!=="c"&&e!=="k"?(o.skipCodePoint(),{matched:!0,value:e.codePointAt(0)}):{matched:!1}})),acceptGroupNameBackreference=backtrackOnFailure(function(o){if(!o.eat("k"))return{matched:!1};var e=acceptGroupName(o);return e.matched?(o.backreferenceNames.push(e.data),{matched:!0}):(o.backreferenceNames.push(INVALID_NAMED_BACKREFERENCE_SENTINEL),{matched:!0})}),acceptGroupName=backtrackOnFailure(function(o){if(!o.eat("<"))return{matched:!1};var e=[],s=o.eatIdentifierStart();if(!s)return{matched:!1};e.push(s);for(var a=void 0;a=o.eatIdentifierPart();)e.push(a);return o.eat(">")?{matched:e.length>0,data:e.join("")}:{matched:!1}}),acceptAtomEscape=anyOf(acceptDecimalEscape,acceptCharacterClassEscape,acceptCharacterEscape,acceptGroupNameBackreference),acceptCharacterClass=backtrackOnFailure(function(o){if(!o.eat("["))return{matched:!1};o.eat("^");var e=anyOf(function(k){return{matched:!!k.eat("b"),value:8}},function(k){return{matched:k.unicode&&!!k.eat("-"),value:"-".charCodeAt(0)}},backtrackOnFailure(function(k){if(k.unicode||!k.eat("c"))return{matched:!1};var $=k.eatAny.apply(k,_toConsumableArray$6(decimalDigits).concat(["_"]));return $===null?{matched:!1}:{matched:!0,value:$.charCodeAt(0)%32}}),acceptCharacterClassEscape,acceptCharacterEscape,function(k){return{matched:!k.unicode&&!!k.eat("k"),value:107}}),s=function($){var j=$.nextCodePoint();if(j==="]"||j==="-"||j===null)return{matched:!1};if(j!=="\\")return $.skipCodePoint(),{matched:!0,value:j.codePointAt(0)};$.eat("\\");var _e=e($);return!_e.matched&&$.nextCodePoint()==="c"&&!$.unicode?{matched:!0,value:"\\".charCodeAt(0)}:_e},a=function($){return $.eat("-")?{matched:!0,value:"-".charCodeAt(0)}:s($)},c=function($,j){var _e=function(nt){return nt.value===void 0&&nt.matched};if($.eat("-")){if($.match("]"))return{matched:!0};var et=a($);return et.matched?$.unicode&&(_e(j)||_e(et))?{matched:!1}:!(!$.unicode&&(_e(j)||_e(et)))&&j.value>et.value?{matched:!1}:$.match("]")?{matched:!0}:d($):{matched:!1}}return $.match("]")?{matched:!0}:_($)},d=function($){var j=a($);return j.matched?c($,j):{matched:!1}},_=function($){var j=s($);return j.matched?c($,j):{matched:!1}};if(o.eat("]"))return{matched:!0};var b=d(o);return b.matched&&o.eat("]"),b}),dist$5={};Object.defineProperty(dist$5,"__esModule",{value:!0});function _classCallCheck$g(o,e){if(!(o instanceof e))throw new TypeError("Cannot call a class as a function")}dist$5.ArrayAssignmentTarget=function o(e){var s=e.elements,a=e.rest;_classCallCheck$g(this,o),this.type="ArrayAssignmentTarget",this.elements=s,this.rest=a};dist$5.ArrayBinding=function o(e){var s=e.elements,a=e.rest;_classCallCheck$g(this,o),this.type="ArrayBinding",this.elements=s,this.rest=a};dist$5.ArrayExpression=function o(e){var s=e.elements;_classCallCheck$g(this,o),this.type="ArrayExpression",this.elements=s};dist$5.ArrowExpression=function o(e){var s=e.isAsync,a=e.params,c=e.body;_classCallCheck$g(this,o),this.type="ArrowExpression",this.isAsync=s,this.params=a,this.body=c};dist$5.AssignmentExpression=function o(e){var s=e.binding,a=e.expression;_classCallCheck$g(this,o),this.type="AssignmentExpression",this.binding=s,this.expression=a};dist$5.AssignmentTargetIdentifier=function o(e){var s=e.name;_classCallCheck$g(this,o),this.type="AssignmentTargetIdentifier",this.name=s};dist$5.AssignmentTargetPropertyIdentifier=function o(e){var s=e.binding,a=e.init;_classCallCheck$g(this,o),this.type="AssignmentTargetPropertyIdentifier",this.binding=s,this.init=a};dist$5.AssignmentTargetPropertyProperty=function o(e){var s=e.name,a=e.binding;_classCallCheck$g(this,o),this.type="AssignmentTargetPropertyProperty",this.name=s,this.binding=a};dist$5.AssignmentTargetWithDefault=function o(e){var s=e.binding,a=e.init;_classCallCheck$g(this,o),this.type="AssignmentTargetWithDefault",this.binding=s,this.init=a};dist$5.AwaitExpression=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="AwaitExpression",this.expression=s};dist$5.BinaryExpression=function o(e){var s=e.left,a=e.operator,c=e.right;_classCallCheck$g(this,o),this.type="BinaryExpression",this.left=s,this.operator=a,this.right=c};dist$5.BindingIdentifier=function o(e){var s=e.name;_classCallCheck$g(this,o),this.type="BindingIdentifier",this.name=s};dist$5.BindingPropertyIdentifier=function o(e){var s=e.binding,a=e.init;_classCallCheck$g(this,o),this.type="BindingPropertyIdentifier",this.binding=s,this.init=a};dist$5.BindingPropertyProperty=function o(e){var s=e.name,a=e.binding;_classCallCheck$g(this,o),this.type="BindingPropertyProperty",this.name=s,this.binding=a};dist$5.BindingWithDefault=function o(e){var s=e.binding,a=e.init;_classCallCheck$g(this,o),this.type="BindingWithDefault",this.binding=s,this.init=a};dist$5.Block=function o(e){var s=e.statements;_classCallCheck$g(this,o),this.type="Block",this.statements=s};dist$5.BlockStatement=function o(e){var s=e.block;_classCallCheck$g(this,o),this.type="BlockStatement",this.block=s};dist$5.BreakStatement=function o(e){var s=e.label;_classCallCheck$g(this,o),this.type="BreakStatement",this.label=s};dist$5.CallExpression=function o(e){var s=e.callee,a=e.arguments;_classCallCheck$g(this,o),this.type="CallExpression",this.callee=s,this.arguments=a};dist$5.CatchClause=function o(e){var s=e.binding,a=e.body;_classCallCheck$g(this,o),this.type="CatchClause",this.binding=s,this.body=a};dist$5.ClassDeclaration=function o(e){var s=e.name,a=e.super,c=e.elements;_classCallCheck$g(this,o),this.type="ClassDeclaration",this.name=s,this.super=a,this.elements=c};dist$5.ClassElement=function o(e){var s=e.isStatic,a=e.method;_classCallCheck$g(this,o),this.type="ClassElement",this.isStatic=s,this.method=a};dist$5.ClassExpression=function o(e){var s=e.name,a=e.super,c=e.elements;_classCallCheck$g(this,o),this.type="ClassExpression",this.name=s,this.super=a,this.elements=c};dist$5.CompoundAssignmentExpression=function o(e){var s=e.binding,a=e.operator,c=e.expression;_classCallCheck$g(this,o),this.type="CompoundAssignmentExpression",this.binding=s,this.operator=a,this.expression=c};dist$5.ComputedMemberAssignmentTarget=function o(e){var s=e.object,a=e.expression;_classCallCheck$g(this,o),this.type="ComputedMemberAssignmentTarget",this.object=s,this.expression=a};dist$5.ComputedMemberExpression=function o(e){var s=e.object,a=e.expression;_classCallCheck$g(this,o),this.type="ComputedMemberExpression",this.object=s,this.expression=a};dist$5.ComputedPropertyName=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="ComputedPropertyName",this.expression=s};dist$5.ConditionalExpression=function o(e){var s=e.test,a=e.consequent,c=e.alternate;_classCallCheck$g(this,o),this.type="ConditionalExpression",this.test=s,this.consequent=a,this.alternate=c};dist$5.ContinueStatement=function o(e){var s=e.label;_classCallCheck$g(this,o),this.type="ContinueStatement",this.label=s};dist$5.DataProperty=function o(e){var s=e.name,a=e.expression;_classCallCheck$g(this,o),this.type="DataProperty",this.name=s,this.expression=a};dist$5.DebuggerStatement=function o(){_classCallCheck$g(this,o),this.type="DebuggerStatement"};dist$5.Directive=function o(e){var s=e.rawValue;_classCallCheck$g(this,o),this.type="Directive",this.rawValue=s};dist$5.DoWhileStatement=function o(e){var s=e.body,a=e.test;_classCallCheck$g(this,o),this.type="DoWhileStatement",this.body=s,this.test=a};dist$5.EmptyStatement=function o(){_classCallCheck$g(this,o),this.type="EmptyStatement"};dist$5.Export=function o(e){var s=e.declaration;_classCallCheck$g(this,o),this.type="Export",this.declaration=s};dist$5.ExportAllFrom=function o(e){var s=e.moduleSpecifier;_classCallCheck$g(this,o),this.type="ExportAllFrom",this.moduleSpecifier=s};dist$5.ExportDefault=function o(e){var s=e.body;_classCallCheck$g(this,o),this.type="ExportDefault",this.body=s};dist$5.ExportFrom=function o(e){var s=e.namedExports,a=e.moduleSpecifier;_classCallCheck$g(this,o),this.type="ExportFrom",this.namedExports=s,this.moduleSpecifier=a};dist$5.ExportFromSpecifier=function o(e){var s=e.name,a=e.exportedName;_classCallCheck$g(this,o),this.type="ExportFromSpecifier",this.name=s,this.exportedName=a};dist$5.ExportLocalSpecifier=function o(e){var s=e.name,a=e.exportedName;_classCallCheck$g(this,o),this.type="ExportLocalSpecifier",this.name=s,this.exportedName=a};dist$5.ExportLocals=function o(e){var s=e.namedExports;_classCallCheck$g(this,o),this.type="ExportLocals",this.namedExports=s};dist$5.ExpressionStatement=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="ExpressionStatement",this.expression=s};dist$5.ForAwaitStatement=function o(e){var s=e.left,a=e.right,c=e.body;_classCallCheck$g(this,o),this.type="ForAwaitStatement",this.left=s,this.right=a,this.body=c};dist$5.ForInStatement=function o(e){var s=e.left,a=e.right,c=e.body;_classCallCheck$g(this,o),this.type="ForInStatement",this.left=s,this.right=a,this.body=c};dist$5.ForOfStatement=function o(e){var s=e.left,a=e.right,c=e.body;_classCallCheck$g(this,o),this.type="ForOfStatement",this.left=s,this.right=a,this.body=c};dist$5.ForStatement=function o(e){var s=e.init,a=e.test,c=e.update,d=e.body;_classCallCheck$g(this,o),this.type="ForStatement",this.init=s,this.test=a,this.update=c,this.body=d};dist$5.FormalParameters=function o(e){var s=e.items,a=e.rest;_classCallCheck$g(this,o),this.type="FormalParameters",this.items=s,this.rest=a};dist$5.FunctionBody=function o(e){var s=e.directives,a=e.statements;_classCallCheck$g(this,o),this.type="FunctionBody",this.directives=s,this.statements=a};dist$5.FunctionDeclaration=function o(e){var s=e.isAsync,a=e.isGenerator,c=e.name,d=e.params,_=e.body;_classCallCheck$g(this,o),this.type="FunctionDeclaration",this.isAsync=s,this.isGenerator=a,this.name=c,this.params=d,this.body=_};dist$5.FunctionExpression=function o(e){var s=e.isAsync,a=e.isGenerator,c=e.name,d=e.params,_=e.body;_classCallCheck$g(this,o),this.type="FunctionExpression",this.isAsync=s,this.isGenerator=a,this.name=c,this.params=d,this.body=_};dist$5.Getter=function o(e){var s=e.name,a=e.body;_classCallCheck$g(this,o),this.type="Getter",this.name=s,this.body=a};dist$5.IdentifierExpression=function o(e){var s=e.name;_classCallCheck$g(this,o),this.type="IdentifierExpression",this.name=s};dist$5.IfStatement=function o(e){var s=e.test,a=e.consequent,c=e.alternate;_classCallCheck$g(this,o),this.type="IfStatement",this.test=s,this.consequent=a,this.alternate=c};dist$5.Import=function o(e){var s=e.defaultBinding,a=e.namedImports,c=e.moduleSpecifier;_classCallCheck$g(this,o),this.type="Import",this.defaultBinding=s,this.namedImports=a,this.moduleSpecifier=c};dist$5.ImportNamespace=function o(e){var s=e.defaultBinding,a=e.namespaceBinding,c=e.moduleSpecifier;_classCallCheck$g(this,o),this.type="ImportNamespace",this.defaultBinding=s,this.namespaceBinding=a,this.moduleSpecifier=c};dist$5.ImportSpecifier=function o(e){var s=e.name,a=e.binding;_classCallCheck$g(this,o),this.type="ImportSpecifier",this.name=s,this.binding=a};dist$5.LabeledStatement=function o(e){var s=e.label,a=e.body;_classCallCheck$g(this,o),this.type="LabeledStatement",this.label=s,this.body=a};dist$5.LiteralBooleanExpression=function o(e){var s=e.value;_classCallCheck$g(this,o),this.type="LiteralBooleanExpression",this.value=s};dist$5.LiteralInfinityExpression=function o(){_classCallCheck$g(this,o),this.type="LiteralInfinityExpression"};dist$5.LiteralNullExpression=function o(){_classCallCheck$g(this,o),this.type="LiteralNullExpression"};dist$5.LiteralNumericExpression=function o(e){var s=e.value;_classCallCheck$g(this,o),this.type="LiteralNumericExpression",this.value=s};dist$5.LiteralRegExpExpression=function o(e){var s=e.pattern,a=e.global,c=e.ignoreCase,d=e.multiLine,_=e.dotAll,b=e.unicode,k=e.sticky;_classCallCheck$g(this,o),this.type="LiteralRegExpExpression",this.pattern=s,this.global=a,this.ignoreCase=c,this.multiLine=d,this.dotAll=_,this.unicode=b,this.sticky=k};dist$5.LiteralStringExpression=function o(e){var s=e.value;_classCallCheck$g(this,o),this.type="LiteralStringExpression",this.value=s};dist$5.Method=function o(e){var s=e.isAsync,a=e.isGenerator,c=e.name,d=e.params,_=e.body;_classCallCheck$g(this,o),this.type="Method",this.isAsync=s,this.isGenerator=a,this.name=c,this.params=d,this.body=_};dist$5.Module=function o(e){var s=e.directives,a=e.items;_classCallCheck$g(this,o),this.type="Module",this.directives=s,this.items=a};dist$5.NewExpression=function o(e){var s=e.callee,a=e.arguments;_classCallCheck$g(this,o),this.type="NewExpression",this.callee=s,this.arguments=a};dist$5.NewTargetExpression=function o(){_classCallCheck$g(this,o),this.type="NewTargetExpression"};dist$5.ObjectAssignmentTarget=function o(e){var s=e.properties,a=e.rest;_classCallCheck$g(this,o),this.type="ObjectAssignmentTarget",this.properties=s,this.rest=a};dist$5.ObjectBinding=function o(e){var s=e.properties,a=e.rest;_classCallCheck$g(this,o),this.type="ObjectBinding",this.properties=s,this.rest=a};dist$5.ObjectExpression=function o(e){var s=e.properties;_classCallCheck$g(this,o),this.type="ObjectExpression",this.properties=s};dist$5.ReturnStatement=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="ReturnStatement",this.expression=s};dist$5.Script=function o(e){var s=e.directives,a=e.statements;_classCallCheck$g(this,o),this.type="Script",this.directives=s,this.statements=a};dist$5.Setter=function o(e){var s=e.name,a=e.param,c=e.body;_classCallCheck$g(this,o),this.type="Setter",this.name=s,this.param=a,this.body=c};dist$5.ShorthandProperty=function o(e){var s=e.name;_classCallCheck$g(this,o),this.type="ShorthandProperty",this.name=s};dist$5.SpreadElement=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="SpreadElement",this.expression=s};dist$5.SpreadProperty=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="SpreadProperty",this.expression=s};dist$5.StaticMemberAssignmentTarget=function o(e){var s=e.object,a=e.property;_classCallCheck$g(this,o),this.type="StaticMemberAssignmentTarget",this.object=s,this.property=a};dist$5.StaticMemberExpression=function o(e){var s=e.object,a=e.property;_classCallCheck$g(this,o),this.type="StaticMemberExpression",this.object=s,this.property=a};dist$5.StaticPropertyName=function o(e){var s=e.value;_classCallCheck$g(this,o),this.type="StaticPropertyName",this.value=s};dist$5.Super=function o(){_classCallCheck$g(this,o),this.type="Super"};dist$5.SwitchCase=function o(e){var s=e.test,a=e.consequent;_classCallCheck$g(this,o),this.type="SwitchCase",this.test=s,this.consequent=a};dist$5.SwitchDefault=function o(e){var s=e.consequent;_classCallCheck$g(this,o),this.type="SwitchDefault",this.consequent=s};dist$5.SwitchStatement=function o(e){var s=e.discriminant,a=e.cases;_classCallCheck$g(this,o),this.type="SwitchStatement",this.discriminant=s,this.cases=a};dist$5.SwitchStatementWithDefault=function o(e){var s=e.discriminant,a=e.preDefaultCases,c=e.defaultCase,d=e.postDefaultCases;_classCallCheck$g(this,o),this.type="SwitchStatementWithDefault",this.discriminant=s,this.preDefaultCases=a,this.defaultCase=c,this.postDefaultCases=d};dist$5.TemplateElement=function o(e){var s=e.rawValue;_classCallCheck$g(this,o),this.type="TemplateElement",this.rawValue=s};dist$5.TemplateExpression=function o(e){var s=e.tag,a=e.elements;_classCallCheck$g(this,o),this.type="TemplateExpression",this.tag=s,this.elements=a};dist$5.ThisExpression=function o(){_classCallCheck$g(this,o),this.type="ThisExpression"};dist$5.ThrowStatement=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="ThrowStatement",this.expression=s};dist$5.TryCatchStatement=function o(e){var s=e.body,a=e.catchClause;_classCallCheck$g(this,o),this.type="TryCatchStatement",this.body=s,this.catchClause=a};dist$5.TryFinallyStatement=function o(e){var s=e.body,a=e.catchClause,c=e.finalizer;_classCallCheck$g(this,o),this.type="TryFinallyStatement",this.body=s,this.catchClause=a,this.finalizer=c};dist$5.UnaryExpression=function o(e){var s=e.operator,a=e.operand;_classCallCheck$g(this,o),this.type="UnaryExpression",this.operator=s,this.operand=a};dist$5.UpdateExpression=function o(e){var s=e.isPrefix,a=e.operator,c=e.operand;_classCallCheck$g(this,o),this.type="UpdateExpression",this.isPrefix=s,this.operator=a,this.operand=c};dist$5.VariableDeclaration=function o(e){var s=e.kind,a=e.declarators;_classCallCheck$g(this,o),this.type="VariableDeclaration",this.kind=s,this.declarators=a};dist$5.VariableDeclarationStatement=function o(e){var s=e.declaration;_classCallCheck$g(this,o),this.type="VariableDeclarationStatement",this.declaration=s};dist$5.VariableDeclarator=function o(e){var s=e.binding,a=e.init;_classCallCheck$g(this,o),this.type="VariableDeclarator",this.binding=s,this.init=a};dist$5.WhileStatement=function o(e){var s=e.test,a=e.body;_classCallCheck$g(this,o),this.type="WhileStatement",this.test=s,this.body=a};dist$5.WithStatement=function o(e){var s=e.object,a=e.body;_classCallCheck$g(this,o),this.type="WithStatement",this.object=s,this.body=a};dist$5.YieldExpression=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="YieldExpression",this.expression=s};dist$5.YieldGeneratorExpression=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="YieldGeneratorExpression",this.expression=s};Object.defineProperty(parser$1,"__esModule",{value:!0});parser$1.GenericParser=void 0;var _createClass$c=function(){function o(e,s){for(var a=0;a":Precedence$1.Relational,"<=":Precedence$1.Relational,">=":Precedence$1.Relational,in:Precedence$1.Relational,instanceof:Precedence$1.Relational,"<<":Precedence$1.BitwiseSHIFT,">>":Precedence$1.BitwiseSHIFT,">>>":Precedence$1.BitwiseSHIFT,"+":Precedence$1.Additive,"-":Precedence$1.Additive,"*":Precedence$1.Multiplicative,"%":Precedence$1.Multiplicative,"/":Precedence$1.Multiplicative};function isValidSimpleAssignmentTarget(o){if(o==null)return!1;switch(o.type){case"IdentifierExpression":case"ComputedMemberExpression":case"StaticMemberExpression":return!0}return!1}function isPrefixOperator(o){switch(o.type){case _tokenizer.TokenType.INC:case _tokenizer.TokenType.DEC:case _tokenizer.TokenType.ADD:case _tokenizer.TokenType.SUB:case _tokenizer.TokenType.BIT_NOT:case _tokenizer.TokenType.NOT:case _tokenizer.TokenType.DELETE:case _tokenizer.TokenType.VOID:case _tokenizer.TokenType.TYPEOF:return!0}return!1}function isUpdateOperator(o){return o.type===_tokenizer.TokenType.INC||o.type===_tokenizer.TokenType.DEC}parser$1.GenericParser=function(o){_inherits$7(e,o);function e(s){_classCallCheck$f(this,e);var a=_possibleConstructorReturn$7(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,s));return a.allowIn=!0,a.inFunctionBody=!1,a.inParameter=!1,a.allowYieldExpression=!1,a.allowAwaitExpression=!1,a.firstAwaitLocation=null,a.module=!1,a.moduleIsTheGoalSymbol=!1,a.strict=!1,a.isBindingElement=!0,a.isAssignmentTarget=!0,a.firstExprError=null,a}return _createClass$c(e,[{key:"match",value:function(a){return this.lookahead.type===a}},{key:"matchIdentifier",value:function(){switch(this.lookahead.type){case _tokenizer.TokenType.IDENTIFIER:case _tokenizer.TokenType.LET:case _tokenizer.TokenType.YIELD:case _tokenizer.TokenType.ASYNC:return!0;case _tokenizer.TokenType.AWAIT:return this.moduleIsTheGoalSymbol?!1:(this.firstAwaitLocation===null&&(this.firstAwaitLocation=this.getLocation()),!0);case _tokenizer.TokenType.ESCAPED_KEYWORD:return this.lookahead.value==="await"&&!this.moduleIsTheGoalSymbol?(this.firstAwaitLocation===null&&(this.firstAwaitLocation=this.getLocation()),!0):this.lookahead.value==="let"||this.lookahead.value==="yield"||this.lookahead.value==="async"}return!1}},{key:"eat",value:function(a){return this.lookahead.type===a?this.lex():null}},{key:"expect",value:function(a){if(this.lookahead.type===a)return this.lex();throw this.createUnexpected(this.lookahead)}},{key:"matchContextualKeyword",value:function(a){return this.lookahead.type===_tokenizer.TokenType.IDENTIFIER&&!this.lookahead.escaped&&this.lookahead.value===a}},{key:"expectContextualKeyword",value:function(a){if(this.lookahead.type===_tokenizer.TokenType.IDENTIFIER&&!this.lookahead.escaped&&this.lookahead.value===a)return this.lex();throw this.createUnexpected(this.lookahead)}},{key:"eatContextualKeyword",value:function(a){return this.lookahead.type===_tokenizer.TokenType.IDENTIFIER&&!this.lookahead.escaped&&this.lookahead.value===a?this.lex():null}},{key:"consumeSemicolon",value:function(){if(!this.eat(_tokenizer.TokenType.SEMICOLON)&&!this.hasLineTerminatorBeforeNext&&!this.eof()&&!this.match(_tokenizer.TokenType.RBRACE))throw this.createUnexpected(this.lookahead)}},{key:"startNode",value:function(a){return a}},{key:"copyNode",value:function(a,c){return c}},{key:"finishNode",value:function(a){return a}},{key:"parseModule",value:function(){this.moduleIsTheGoalSymbol=this.module=this.strict=!0,this.lookahead=this.advance();var a=this.startNode(),c=this.parseBody(),d=c.directives,_=c.statements;if(!this.match(_tokenizer.TokenType.EOS))throw this.createUnexpected(this.lookahead);return this.finishNode(new AST.Module({directives:d,items:_}),a)}},{key:"parseScript",value:function(){this.lookahead=this.advance();var a=this.startNode(),c=this.parseBody(),d=c.directives,_=c.statements;if(!this.match(_tokenizer.TokenType.EOS))throw this.createUnexpected(this.lookahead);return this.finishNode(new AST.Script({directives:d,statements:_}),a)}},{key:"parseFunctionBody",value:function(){var a=this.inFunctionBody,c=this.module,d=this.strict;this.inFunctionBody=!0,this.module=!1;var _=this.startNode();this.expect(_tokenizer.TokenType.LBRACE);var b=new AST.FunctionBody(this.parseBody());return this.expect(_tokenizer.TokenType.RBRACE),b=this.finishNode(b,_),this.inFunctionBody=a,this.module=c,this.strict=d,b}},{key:"parseBody",value:function(){for(var a=[],c=[],d=!0,_=null;!(this.eof()||this.match(_tokenizer.TokenType.RBRACE));){var b=this.lookahead,k=b.slice.text,$=b.type===_tokenizer.TokenType.STRING,j=this.module,_e=this.getLocation(),et=this.startNode(),tt=j?this.parseModuleItem():this.parseStatementListItem();if(d)if($&&tt.type==="ExpressionStatement"&&tt.expression.type==="LiteralStringExpression"){!_&&b.octal&&(_=this.createErrorWithLocation(_e,"Unexpected legacy octal escape sequence: \\"+b.octal));var nt=k.slice(1,-1);nt==="use strict"&&(this.strict=!0),a.push(this.finishNode(new AST.Directive({rawValue:nt}),et))}else{if(d=!1,_&&this.strict)throw _;c.push(tt)}else c.push(tt)}if(_&&this.strict)throw _;return{directives:a,statements:c}}},{key:"parseImportSpecifier",value:function(){var a=this.startNode(),c=void 0;if(this.matchIdentifier()){if(c=this.parseIdentifier(),!this.eatContextualKeyword("as"))return this.finishNode(new AST.ImportSpecifier({name:null,binding:this.finishNode(new AST.BindingIdentifier({name:c}),a)}),a)}else this.lookahead.type.klass.isIdentifierName&&(c=this.parseIdentifierName(),this.expectContextualKeyword("as"));return this.finishNode(new AST.ImportSpecifier({name:c,binding:this.parseBindingIdentifier()}),a)}},{key:"parseNameSpaceBinding",value:function(){return this.expect(_tokenizer.TokenType.MUL),this.expectContextualKeyword("as"),this.parseBindingIdentifier()}},{key:"parseNamedImports",value:function(){var a=[];for(this.expect(_tokenizer.TokenType.LBRACE);!this.eat(_tokenizer.TokenType.RBRACE);)if(a.push(this.parseImportSpecifier()),!this.eat(_tokenizer.TokenType.COMMA)){this.expect(_tokenizer.TokenType.RBRACE);break}return a}},{key:"parseFromClause",value:function(){this.expectContextualKeyword("from");var a=this.expect(_tokenizer.TokenType.STRING).str;return a}},{key:"parseImportDeclaration",value:function(){var a=this.startNode(),c=null,d=void 0;if(this.expect(_tokenizer.TokenType.IMPORT),this.match(_tokenizer.TokenType.STRING))return d=this.lex().str,this.consumeSemicolon(),this.finishNode(new AST.Import({defaultBinding:null,namedImports:[],moduleSpecifier:d}),a);if(this.matchIdentifier()&&(c=this.parseBindingIdentifier(),!this.eat(_tokenizer.TokenType.COMMA))){var _=new AST.Import({defaultBinding:c,namedImports:[],moduleSpecifier:this.parseFromClause()});return this.consumeSemicolon(),this.finishNode(_,a)}if(this.match(_tokenizer.TokenType.MUL)){var b=new AST.ImportNamespace({defaultBinding:c,namespaceBinding:this.parseNameSpaceBinding(),moduleSpecifier:this.parseFromClause()});return this.consumeSemicolon(),this.finishNode(b,a)}else if(this.match(_tokenizer.TokenType.LBRACE)){var k=new AST.Import({defaultBinding:c,namedImports:this.parseNamedImports(),moduleSpecifier:this.parseFromClause()});return this.consumeSemicolon(),this.finishNode(k,a)}throw this.createUnexpected(this.lookahead)}},{key:"parseExportSpecifier",value:function(){var a=this.startNode(),c=this.finishNode({type:EXPORT_UNKNOWN_SPECIFIER,isIdentifier:this.matchIdentifier(),value:this.parseIdentifierName()},a);if(this.eatContextualKeyword("as")){var d=this.parseIdentifierName();return this.finishNode({name:c,exportedName:d},a)}return this.finishNode({name:c,exportedName:null},a)}},{key:"parseExportClause",value:function(){this.expect(_tokenizer.TokenType.LBRACE);for(var a=[];!this.eat(_tokenizer.TokenType.RBRACE);)if(a.push(this.parseExportSpecifier()),!this.eat(_tokenizer.TokenType.COMMA)){this.expect(_tokenizer.TokenType.RBRACE);break}return a}},{key:"parseExportDeclaration",value:function(){var a=this,c=this.startNode(),d=void 0;switch(this.expect(_tokenizer.TokenType.EXPORT),this.lookahead.type){case _tokenizer.TokenType.MUL:this.lex(),d=new AST.ExportAllFrom({moduleSpecifier:this.parseFromClause()}),this.consumeSemicolon();break;case _tokenizer.TokenType.LBRACE:{var _=this.parseExportClause(),b=null;this.matchContextualKeyword("from")?(b=this.parseFromClause(),d=new AST.ExportFrom({namedExports:_.map(function(_e){return a.copyNode(_e,new AST.ExportFromSpecifier({name:_e.name.value,exportedName:_e.exportedName}))}),moduleSpecifier:b})):(_.forEach(function(_e){var et=_e.name;if(!et.isIdentifier)throw a.createError(_errors$1.ErrorMessages.ILLEGAL_EXPORTED_NAME)}),d=new AST.ExportLocals({namedExports:_.map(function(_e){return a.copyNode(_e,new AST.ExportLocalSpecifier({name:a.copyNode(_e.name,new AST.IdentifierExpression({name:_e.name.value})),exportedName:_e.exportedName}))})})),this.consumeSemicolon();break}case _tokenizer.TokenType.CLASS:d=new AST.Export({declaration:this.parseClass({isExpr:!1,inDefault:!1})});break;case _tokenizer.TokenType.FUNCTION:d=new AST.Export({declaration:this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!0,isAsync:!1})});break;case _tokenizer.TokenType.ASYNC:{var k=this.startNode();this.lex(),d=new AST.Export({declaration:this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!0,isAsync:!0,startState:k})});break}case _tokenizer.TokenType.DEFAULT:switch(this.lex(),this.lookahead.type){case _tokenizer.TokenType.FUNCTION:d=new AST.ExportDefault({body:this.parseFunction({isExpr:!1,inDefault:!0,allowGenerator:!0,isAsync:!1})});break;case _tokenizer.TokenType.CLASS:d=new AST.ExportDefault({body:this.parseClass({isExpr:!1,inDefault:!0})});break;case _tokenizer.TokenType.ASYNC:{var $=this.startNode(),j=this.saveLexerState();if(this.lex(),!this.hasLineTerminatorBeforeNext&&this.match(_tokenizer.TokenType.FUNCTION)){d=new AST.ExportDefault({body:this.parseFunction({isExpr:!1,inDefault:!0,allowGenerator:!1,isAsync:!0,startState:$})});break}this.restoreLexerState(j)}default:d=new AST.ExportDefault({body:this.parseAssignmentExpression()}),this.consumeSemicolon();break}break;case _tokenizer.TokenType.VAR:case _tokenizer.TokenType.LET:case _tokenizer.TokenType.CONST:d=new AST.Export({declaration:this.parseVariableDeclaration(!0)}),this.consumeSemicolon();break;default:throw this.createUnexpected(this.lookahead)}return this.finishNode(d,c)}},{key:"parseModuleItem",value:function(){switch(this.lookahead.type){case _tokenizer.TokenType.IMPORT:return this.parseImportDeclaration();case _tokenizer.TokenType.EXPORT:return this.parseExportDeclaration();default:return this.parseStatementListItem()}}},{key:"lookaheadLexicalDeclaration",value:function(){if(this.match(_tokenizer.TokenType.LET)||this.match(_tokenizer.TokenType.CONST)){var a=this.saveLexerState();if(this.lex(),this.matchIdentifier()||this.match(_tokenizer.TokenType.LBRACE)||this.match(_tokenizer.TokenType.LBRACK))return this.restoreLexerState(a),!0;this.restoreLexerState(a)}return!1}},{key:"parseStatementListItem",value:function(){if(this.eof())throw this.createUnexpected(this.lookahead);switch(this.lookahead.type){case _tokenizer.TokenType.FUNCTION:return this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!0,isAsync:!1});case _tokenizer.TokenType.CLASS:return this.parseClass({isExpr:!1,inDefault:!1});case _tokenizer.TokenType.ASYNC:{var a=this.getLocation(),c=this.saveLexerState();return this.lex(),!this.hasLineTerminatorBeforeNext&&this.match(_tokenizer.TokenType.FUNCTION)?this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!0,isAsync:!0,startState:a}):(this.restoreLexerState(c),this.parseStatement())}default:if(this.lookaheadLexicalDeclaration()){var d=this.startNode();return this.finishNode(this.parseVariableDeclarationStatement(),d)}return this.parseStatement()}}},{key:"parseStatement",value:function(){var a=this.startNode(),c=this.isolateCoverGrammar(this.parseStatementHelper);return this.finishNode(c,a)}},{key:"parseStatementHelper",value:function(){if(this.eof())throw this.createUnexpected(this.lookahead);switch(this.lookahead.type){case _tokenizer.TokenType.SEMICOLON:return this.parseEmptyStatement();case _tokenizer.TokenType.LBRACE:return this.parseBlockStatement();case _tokenizer.TokenType.LPAREN:return this.parseExpressionStatement();case _tokenizer.TokenType.BREAK:return this.parseBreakStatement();case _tokenizer.TokenType.CONTINUE:return this.parseContinueStatement();case _tokenizer.TokenType.DEBUGGER:return this.parseDebuggerStatement();case _tokenizer.TokenType.DO:return this.parseDoWhileStatement();case _tokenizer.TokenType.FOR:return this.parseForStatement();case _tokenizer.TokenType.IF:return this.parseIfStatement();case _tokenizer.TokenType.RETURN:return this.parseReturnStatement();case _tokenizer.TokenType.SWITCH:return this.parseSwitchStatement();case _tokenizer.TokenType.THROW:return this.parseThrowStatement();case _tokenizer.TokenType.TRY:return this.parseTryStatement();case _tokenizer.TokenType.VAR:return this.parseVariableDeclarationStatement();case _tokenizer.TokenType.WHILE:return this.parseWhileStatement();case _tokenizer.TokenType.WITH:return this.parseWithStatement();case _tokenizer.TokenType.FUNCTION:case _tokenizer.TokenType.CLASS:throw this.createUnexpected(this.lookahead);default:{var a=this.saveLexerState();if(this.eat(_tokenizer.TokenType.LET)){if(this.match(_tokenizer.TokenType.LBRACK))throw this.restoreLexerState(a),this.createUnexpected(this.lookahead);this.restoreLexerState(a)}else if(this.eat(_tokenizer.TokenType.ASYNC)){if(!this.hasLineTerminatorBeforeNext&&this.match(_tokenizer.TokenType.FUNCTION))throw this.createUnexpected(this.lookahead);this.restoreLexerState(a)}var c=this.parseExpression();if(c.type==="IdentifierExpression"&&this.eat(_tokenizer.TokenType.COLON)){var d=this.match(_tokenizer.TokenType.FUNCTION)?this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!1,isAsync:!1}):this.parseStatement();return new AST.LabeledStatement({label:c.name,body:d})}return this.consumeSemicolon(),new AST.ExpressionStatement({expression:c})}}}},{key:"parseEmptyStatement",value:function(){return this.lex(),new AST.EmptyStatement}},{key:"parseBlockStatement",value:function(){return new AST.BlockStatement({block:this.parseBlock()})}},{key:"parseExpressionStatement",value:function(){var a=this.parseExpression();return this.consumeSemicolon(),new AST.ExpressionStatement({expression:a})}},{key:"parseBreakStatement",value:function(){if(this.lex(),this.eat(_tokenizer.TokenType.SEMICOLON)||this.hasLineTerminatorBeforeNext)return new AST.BreakStatement({label:null});var a=null;return this.matchIdentifier()&&(a=this.parseIdentifier()),this.consumeSemicolon(),new AST.BreakStatement({label:a})}},{key:"parseContinueStatement",value:function(){if(this.lex(),this.eat(_tokenizer.TokenType.SEMICOLON)||this.hasLineTerminatorBeforeNext)return new AST.ContinueStatement({label:null});var a=null;return this.matchIdentifier()&&(a=this.parseIdentifier()),this.consumeSemicolon(),new AST.ContinueStatement({label:a})}},{key:"parseDebuggerStatement",value:function(){return this.lex(),this.consumeSemicolon(),new AST.DebuggerStatement}},{key:"parseDoWhileStatement",value:function(){this.lex();var a=this.parseStatement();this.expect(_tokenizer.TokenType.WHILE),this.expect(_tokenizer.TokenType.LPAREN);var c=this.parseExpression();return this.expect(_tokenizer.TokenType.RPAREN),this.eat(_tokenizer.TokenType.SEMICOLON),new AST.DoWhileStatement({body:a,test:c})}},{key:"parseForStatement",value:function(){this.lex();var a=this.allowAwaitExpression&&this.eat(_tokenizer.TokenType.AWAIT);this.expect(_tokenizer.TokenType.LPAREN);var c=null,d=null;if(a&&this.match(_tokenizer.TokenType.SEMICOLON))throw this.createUnexpected(this.lookahead);if(this.eat(_tokenizer.TokenType.SEMICOLON))return this.match(_tokenizer.TokenType.SEMICOLON)||(c=this.parseExpression()),this.expect(_tokenizer.TokenType.SEMICOLON),this.match(_tokenizer.TokenType.RPAREN)||(d=this.parseExpression()),new AST.ForStatement({init:null,test:c,update:d,body:this.getIteratorStatementEpilogue()});var _=this.match(_tokenizer.TokenType.LET),b=this.lookaheadLexicalDeclaration(),k=this.startNode();if(this.match(_tokenizer.TokenType.VAR)||b){var $=this.allowIn;this.allowIn=!1;var j=this.parseVariableDeclaration(!1);if(this.allowIn=$,j.declarators.length===1&&(this.match(_tokenizer.TokenType.IN)||this.matchContextualKeyword("of"))){var _e=void 0,et=j.declarators[0];if(this.match(_tokenizer.TokenType.IN)){if(a)throw this.createUnexpected(this.lookahead);if(et.init!==null&&(this.strict||j.kind!=="var"||et.binding.type!=="BindingIdentifier"))throw this.createError(_errors$1.ErrorMessages.INVALID_VAR_INIT_FOR_IN);_e=AST.ForInStatement,this.lex(),d=this.parseExpression()}else{if(et.init!==null)throw this.createError(a?_errors$1.ErrorMessages.INVALID_VAR_INIT_FOR_AWAIT:_errors$1.ErrorMessages.INVALID_VAR_INIT_FOR_OF);a?_e=AST.ForAwaitStatement:_e=AST.ForOfStatement,this.lex(),d=this.parseAssignmentExpression()}var tt=this.getIteratorStatementEpilogue();return new _e({left:j,right:d,body:tt})}else if(a)throw this.createUnexpected(this.lookahead);if(this.expect(_tokenizer.TokenType.SEMICOLON),j.declarators.some(function(at){return at.binding.type!=="BindingIdentifier"&&at.init===null}))throw this.createError(_errors$1.ErrorMessages.UNINITIALIZED_BINDINGPATTERN_IN_FOR_INIT);return this.match(_tokenizer.TokenType.SEMICOLON)||(c=this.parseExpression()),this.expect(_tokenizer.TokenType.SEMICOLON),this.match(_tokenizer.TokenType.RPAREN)||(d=this.parseExpression()),new AST.ForStatement({init:j,test:c,update:d,body:this.getIteratorStatementEpilogue()})}var nt=this.allowIn;this.allowIn=!1;var st=this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget);if(this.allowIn=nt,this.isAssignmentTarget&&st.type!=="AssignmentExpression"&&(this.match(_tokenizer.TokenType.IN)||this.matchContextualKeyword("of"))){if((st.type==="ObjectAssignmentTarget"||st.type==="ArrayAssignmentTarget")&&(this.firstExprError=null),_&&this.matchContextualKeyword("of"))throw this.createError(a?_errors$1.ErrorMessages.INVALID_LHS_IN_FOR_AWAIT:_errors$1.ErrorMessages.INVALID_LHS_IN_FOR_OF);var rt=void 0;if(this.match(_tokenizer.TokenType.IN)){if(a)throw this.createUnexpected(this.lookahead);rt=AST.ForInStatement,this.lex(),d=this.parseExpression()}else a?rt=AST.ForAwaitStatement:rt=AST.ForOfStatement,this.lex(),d=this.parseAssignmentExpression();return new rt({left:this.transformDestructuring(st),right:d,body:this.getIteratorStatementEpilogue()})}else if(a)throw this.createError(_errors$1.ErrorMessages.INVALID_LHS_IN_FOR_AWAIT);if(this.firstExprError)throw this.firstExprError;for(;this.eat(_tokenizer.TokenType.COMMA);){var it=this.parseAssignmentExpression();st=this.finishNode(new AST.BinaryExpression({left:st,operator:",",right:it}),k)}if(this.match(_tokenizer.TokenType.IN))throw this.createError(_errors$1.ErrorMessages.INVALID_LHS_IN_FOR_IN);if(this.matchContextualKeyword("of"))throw this.createError(_errors$1.ErrorMessages.INVALID_LHS_IN_FOR_OF);return this.expect(_tokenizer.TokenType.SEMICOLON),this.match(_tokenizer.TokenType.SEMICOLON)||(c=this.parseExpression()),this.expect(_tokenizer.TokenType.SEMICOLON),this.match(_tokenizer.TokenType.RPAREN)||(d=this.parseExpression()),new AST.ForStatement({init:st,test:c,update:d,body:this.getIteratorStatementEpilogue()})}},{key:"getIteratorStatementEpilogue",value:function(){this.expect(_tokenizer.TokenType.RPAREN);var a=this.parseStatement();return a}},{key:"parseIfStatementChild",value:function(){return this.match(_tokenizer.TokenType.FUNCTION)?this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!1,isAsync:!1}):this.parseStatement()}},{key:"parseIfStatement",value:function(){this.lex(),this.expect(_tokenizer.TokenType.LPAREN);var a=this.parseExpression();this.expect(_tokenizer.TokenType.RPAREN);var c=this.parseIfStatementChild(),d=null;return this.eat(_tokenizer.TokenType.ELSE)&&(d=this.parseIfStatementChild()),new AST.IfStatement({test:a,consequent:c,alternate:d})}},{key:"parseReturnStatement",value:function(){if(!this.inFunctionBody)throw this.createError(_errors$1.ErrorMessages.ILLEGAL_RETURN);if(this.lex(),this.eat(_tokenizer.TokenType.SEMICOLON)||this.hasLineTerminatorBeforeNext)return new AST.ReturnStatement({expression:null});var a=null;return!this.match(_tokenizer.TokenType.RBRACE)&&!this.eof()&&(a=this.parseExpression()),this.consumeSemicolon(),new AST.ReturnStatement({expression:a})}},{key:"parseSwitchStatement",value:function(){this.lex(),this.expect(_tokenizer.TokenType.LPAREN);var a=this.parseExpression();if(this.expect(_tokenizer.TokenType.RPAREN),this.expect(_tokenizer.TokenType.LBRACE),this.eat(_tokenizer.TokenType.RBRACE))return new AST.SwitchStatement({discriminant:a,cases:[]});var c=this.parseSwitchCases();if(this.match(_tokenizer.TokenType.DEFAULT)){var d=this.parseSwitchDefault(),_=this.parseSwitchCases();if(this.match(_tokenizer.TokenType.DEFAULT))throw this.createError(_errors$1.ErrorMessages.MULTIPLE_DEFAULTS_IN_SWITCH);return this.expect(_tokenizer.TokenType.RBRACE),new AST.SwitchStatementWithDefault({discriminant:a,preDefaultCases:c,defaultCase:d,postDefaultCases:_})}return this.expect(_tokenizer.TokenType.RBRACE),new AST.SwitchStatement({discriminant:a,cases:c})}},{key:"parseSwitchCases",value:function(){for(var a=[];!(this.eof()||this.match(_tokenizer.TokenType.RBRACE)||this.match(_tokenizer.TokenType.DEFAULT));)a.push(this.parseSwitchCase());return a}},{key:"parseSwitchCase",value:function(){var a=this.startNode();return this.expect(_tokenizer.TokenType.CASE),this.finishNode(new AST.SwitchCase({test:this.parseExpression(),consequent:this.parseSwitchCaseBody()}),a)}},{key:"parseSwitchDefault",value:function(){var a=this.startNode();return this.expect(_tokenizer.TokenType.DEFAULT),this.finishNode(new AST.SwitchDefault({consequent:this.parseSwitchCaseBody()}),a)}},{key:"parseSwitchCaseBody",value:function(){return this.expect(_tokenizer.TokenType.COLON),this.parseStatementListInSwitchCaseBody()}},{key:"parseStatementListInSwitchCaseBody",value:function(){for(var a=[];!(this.eof()||this.match(_tokenizer.TokenType.RBRACE)||this.match(_tokenizer.TokenType.DEFAULT)||this.match(_tokenizer.TokenType.CASE));)a.push(this.parseStatementListItem());return a}},{key:"parseThrowStatement",value:function(){var a=this.lex();if(this.hasLineTerminatorBeforeNext)throw this.createErrorWithLocation(a,_errors$1.ErrorMessages.NEWLINE_AFTER_THROW);var c=this.parseExpression();return this.consumeSemicolon(),new AST.ThrowStatement({expression:c})}},{key:"parseTryStatement",value:function(){this.lex();var a=this.parseBlock();if(this.match(_tokenizer.TokenType.CATCH)){var c=this.parseCatchClause();if(this.eat(_tokenizer.TokenType.FINALLY)){var d=this.parseBlock();return new AST.TryFinallyStatement({body:a,catchClause:c,finalizer:d})}return new AST.TryCatchStatement({body:a,catchClause:c})}if(this.eat(_tokenizer.TokenType.FINALLY)){var _=this.parseBlock();return new AST.TryFinallyStatement({body:a,catchClause:null,finalizer:_})}throw this.createError(_errors$1.ErrorMessages.NO_CATCH_OR_FINALLY)}},{key:"parseVariableDeclarationStatement",value:function(){var a=this.parseVariableDeclaration(!0);return this.consumeSemicolon(),new AST.VariableDeclarationStatement({declaration:a})}},{key:"parseWhileStatement",value:function(){this.lex(),this.expect(_tokenizer.TokenType.LPAREN);var a=this.parseExpression(),c=this.getIteratorStatementEpilogue();return new AST.WhileStatement({test:a,body:c})}},{key:"parseWithStatement",value:function(){this.lex(),this.expect(_tokenizer.TokenType.LPAREN);var a=this.parseExpression();this.expect(_tokenizer.TokenType.RPAREN);var c=this.parseStatement();return new AST.WithStatement({object:a,body:c})}},{key:"parseCatchClause",value:function(){var a=this.startNode();if(this.lex(),this.expect(_tokenizer.TokenType.LPAREN),this.match(_tokenizer.TokenType.RPAREN)||this.match(_tokenizer.TokenType.LPAREN))throw this.createUnexpected(this.lookahead);var c=this.parseBindingTarget();this.expect(_tokenizer.TokenType.RPAREN);var d=this.parseBlock();return this.finishNode(new AST.CatchClause({binding:c,body:d}),a)}},{key:"parseBlock",value:function(){var a=this.startNode();this.expect(_tokenizer.TokenType.LBRACE);for(var c=[];!this.match(_tokenizer.TokenType.RBRACE);)c.push(this.parseStatementListItem());return this.expect(_tokenizer.TokenType.RBRACE),this.finishNode(new AST.Block({statements:c}),a)}},{key:"parseVariableDeclaration",value:function(a){var c=this.startNode(),d=this.lex(),_=d.type===_tokenizer.TokenType.VAR?"var":d.type===_tokenizer.TokenType.CONST?"const":"let",b=this.parseVariableDeclaratorList(a);return this.finishNode(new AST.VariableDeclaration({kind:_,declarators:b}),c)}},{key:"parseVariableDeclaratorList",value:function(a){var c=[];do c.push(this.parseVariableDeclarator(a));while(this.eat(_tokenizer.TokenType.COMMA));return c}},{key:"parseVariableDeclarator",value:function(a){var c=this.startNode();if(this.match(_tokenizer.TokenType.LPAREN))throw this.createUnexpected(this.lookahead);var d=this.allowIn;this.allowIn=!0;var _=this.parseBindingTarget();this.allowIn=d,a&&_.type!=="BindingIdentifier"&&!this.match(_tokenizer.TokenType.ASSIGN)&&this.expect(_tokenizer.TokenType.ASSIGN);var b=null;return this.eat(_tokenizer.TokenType.ASSIGN)&&(b=this.parseAssignmentExpression()),this.finishNode(new AST.VariableDeclarator({binding:_,init:b}),c)}},{key:"isolateCoverGrammar",value:function(a){var c=this.isBindingElement,d=this.isAssignmentTarget,_=this.firstExprError,b=void 0;if(this.isBindingElement=this.isAssignmentTarget=!0,this.firstExprError=null,b=a.call(this),this.firstExprError!==null)throw this.firstExprError;return this.isBindingElement=c,this.isAssignmentTarget=d,this.firstExprError=_,b}},{key:"inheritCoverGrammar",value:function(a){var c=this.isBindingElement,d=this.isAssignmentTarget,_=this.firstExprError,b=void 0;return this.isBindingElement=this.isAssignmentTarget=!0,this.firstExprError=null,b=a.call(this),this.isBindingElement=this.isBindingElement&&c,this.isAssignmentTarget=this.isAssignmentTarget&&d,this.firstExprError=_||this.firstExprError,b}},{key:"parseExpression",value:function(){var a=this.startNode(),c=this.parseAssignmentExpression();if(this.match(_tokenizer.TokenType.COMMA))for(;!this.eof()&&this.match(_tokenizer.TokenType.COMMA);){this.lex();var d=this.parseAssignmentExpression();c=this.finishNode(new AST.BinaryExpression({left:c,operator:",",right:d}),a)}return c}},{key:"finishArrowParams",value:function(a){var c=a.params,d=c===void 0?null:c,_=a.rest,b=_===void 0?null:_;if(a.type!==ARROW_EXPRESSION_PARAMS)if(a.type==="IdentifierExpression")d=[this.targetToBinding(this.transformDestructuring(a))];else throw this.createUnexpected(this.lookahead);return this.copyNode(a,new AST.FormalParameters({items:d,rest:b}))}},{key:"parseArrowExpressionTail",value:function(a,c,d){this.expect(_tokenizer.TokenType.ARROW);var _=this.allowYieldExpression,b=this.allowAwaitExpression,k=this.firstAwaitLocation;this.allowYieldExpression=!1,this.allowAwaitExpression=c,this.firstAwaitLocation=null;var $=void 0;if(this.match(_tokenizer.TokenType.LBRACE)){var j=this.allowIn;this.allowIn=!0,$=this.parseFunctionBody(),this.allowIn=j}else $=this.parseAssignmentExpression();return this.allowYieldExpression=_,this.allowAwaitExpression=b,this.firstAwaitLocation=k,this.finishNode(new AST.ArrowExpression({isAsync:c,params:a,body:$}),d)}},{key:"parseAssignmentExpression",value:function(){return this.isolateCoverGrammar(this.parseAssignmentExpressionOrTarget)}},{key:"parseAssignmentExpressionOrTarget",value:function(){var a=this.startNode();if(this.allowYieldExpression&&this.match(_tokenizer.TokenType.YIELD))return this.isBindingElement=this.isAssignmentTarget=!1,this.parseYieldExpression();var c=this.parseConditionalExpression();if(!this.hasLineTerminatorBeforeNext&&this.match(_tokenizer.TokenType.ARROW)){this.isBindingElement=this.isAssignmentTarget=!1,this.firstExprError=null;var d=c.type===ARROW_EXPRESSION_PARAMS&&c.isAsync;return this.parseArrowExpressionTail(this.finishArrowParams(c),d,a)}var _=!1,b=this.lookahead;switch(b.type){case _tokenizer.TokenType.ASSIGN_BIT_OR:case _tokenizer.TokenType.ASSIGN_BIT_XOR:case _tokenizer.TokenType.ASSIGN_BIT_AND:case _tokenizer.TokenType.ASSIGN_SHL:case _tokenizer.TokenType.ASSIGN_SHR:case _tokenizer.TokenType.ASSIGN_SHR_UNSIGNED:case _tokenizer.TokenType.ASSIGN_ADD:case _tokenizer.TokenType.ASSIGN_SUB:case _tokenizer.TokenType.ASSIGN_MUL:case _tokenizer.TokenType.ASSIGN_DIV:case _tokenizer.TokenType.ASSIGN_MOD:case _tokenizer.TokenType.ASSIGN_EXP:_=!0;break}if(_){if(!this.isAssignmentTarget||!isValidSimpleAssignmentTarget(c))throw this.createError(_errors$1.ErrorMessages.INVALID_LHS_IN_ASSIGNMENT);c=this.transformDestructuring(c)}else if(b.type===_tokenizer.TokenType.ASSIGN){if(!this.isAssignmentTarget)throw this.createError(_errors$1.ErrorMessages.INVALID_LHS_IN_ASSIGNMENT);c=this.transformDestructuring(c)}else return c;this.lex();var k=this.parseAssignmentExpression();this.firstExprError=null;var $=void 0;return b.type===_tokenizer.TokenType.ASSIGN?$=new AST.AssignmentExpression({binding:c,expression:k}):($=new AST.CompoundAssignmentExpression({binding:c,operator:b.type.name,expression:k}),this.isBindingElement=this.isAssignmentTarget=!1),this.finishNode($,a)}},{key:"targetToBinding",value:function(a){var c=this;if(a===null)return null;switch(a.type){case"AssignmentTargetIdentifier":return this.copyNode(a,new AST.BindingIdentifier({name:a.name}));case"ArrayAssignmentTarget":return this.copyNode(a,new AST.ArrayBinding({elements:a.elements.map(function(d){return c.targetToBinding(d)}),rest:this.targetToBinding(a.rest)}));case"ObjectAssignmentTarget":return this.copyNode(a,new AST.ObjectBinding({properties:a.properties.map(function(d){return c.targetToBinding(d)}),rest:this.targetToBinding(a.rest)}));case"AssignmentTargetPropertyIdentifier":return this.copyNode(a,new AST.BindingPropertyIdentifier({binding:this.targetToBinding(a.binding),init:a.init}));case"AssignmentTargetPropertyProperty":return this.copyNode(a,new AST.BindingPropertyProperty({name:a.name,binding:this.targetToBinding(a.binding)}));case"AssignmentTargetWithDefault":return this.copyNode(a,new AST.BindingWithDefault({binding:this.targetToBinding(a.binding),init:a.init}))}throw new Error("Not reached")}},{key:"transformDestructuring",value:function(a){var c=this;switch(a.type){case"DataProperty":return this.copyNode(a,new AST.AssignmentTargetPropertyProperty({name:a.name,binding:this.transformDestructuringWithDefault(a.expression)}));case"ShorthandProperty":return this.copyNode(a,new AST.AssignmentTargetPropertyIdentifier({binding:this.copyNode(a,new AST.AssignmentTargetIdentifier({name:a.name.name})),init:null}));case"ObjectExpression":{var d=a.properties.length>0?a.properties[a.properties.length-1]:void 0;return d!=null&&d.type==="SpreadProperty"?this.copyNode(a,new AST.ObjectAssignmentTarget({properties:a.properties.slice(0,-1).map(function(b){return b&&c.transformDestructuringWithDefault(b)}),rest:this.transformDestructuring(d.expression)})):this.copyNode(a,new AST.ObjectAssignmentTarget({properties:a.properties.map(function(b){return b&&c.transformDestructuringWithDefault(b)}),rest:null}))}case"ArrayExpression":{var _=a.elements[a.elements.length-1];return _!=null&&_.type==="SpreadElement"?this.copyNode(a,new AST.ArrayAssignmentTarget({elements:a.elements.slice(0,-1).map(function(b){return b&&c.transformDestructuringWithDefault(b)}),rest:this.copyNode(_.expression,this.transformDestructuring(_.expression))})):this.copyNode(a,new AST.ArrayAssignmentTarget({elements:a.elements.map(function(b){return b&&c.transformDestructuringWithDefault(b)}),rest:null}))}case"IdentifierExpression":return this.copyNode(a,new AST.AssignmentTargetIdentifier({name:a.name}));case"StaticPropertyName":return this.copyNode(a,new AST.AssignmentTargetIdentifier({name:a.value}));case"ComputedMemberExpression":return this.copyNode(a,new AST.ComputedMemberAssignmentTarget({object:a.object,expression:a.expression}));case"StaticMemberExpression":return this.copyNode(a,new AST.StaticMemberAssignmentTarget({object:a.object,property:a.property}));case"ArrayAssignmentTarget":case"ObjectAssignmentTarget":case"ComputedMemberAssignmentTarget":case"StaticMemberAssignmentTarget":case"AssignmentTargetIdentifier":case"AssignmentTargetPropertyIdentifier":case"AssignmentTargetPropertyProperty":case"AssignmentTargetWithDefault":return a}throw new Error("Not reached")}},{key:"transformDestructuringWithDefault",value:function(a){switch(a.type){case"AssignmentExpression":return this.copyNode(a,new AST.AssignmentTargetWithDefault({binding:this.transformDestructuring(a.binding),init:a.expression}))}return this.transformDestructuring(a)}},{key:"lookaheadAssignmentExpression",value:function(){if(this.matchIdentifier())return!0;switch(this.lookahead.type){case _tokenizer.TokenType.ADD:case _tokenizer.TokenType.ASSIGN_DIV:case _tokenizer.TokenType.BIT_NOT:case _tokenizer.TokenType.CLASS:case _tokenizer.TokenType.DEC:case _tokenizer.TokenType.DELETE:case _tokenizer.TokenType.DIV:case _tokenizer.TokenType.FALSE:case _tokenizer.TokenType.FUNCTION:case _tokenizer.TokenType.INC:case _tokenizer.TokenType.LBRACE:case _tokenizer.TokenType.LBRACK:case _tokenizer.TokenType.LPAREN:case _tokenizer.TokenType.NEW:case _tokenizer.TokenType.NOT:case _tokenizer.TokenType.NULL:case _tokenizer.TokenType.NUMBER:case _tokenizer.TokenType.STRING:case _tokenizer.TokenType.SUB:case _tokenizer.TokenType.SUPER:case _tokenizer.TokenType.THIS:case _tokenizer.TokenType.TRUE:case _tokenizer.TokenType.TYPEOF:case _tokenizer.TokenType.VOID:case _tokenizer.TokenType.TEMPLATE:return!0}return!1}},{key:"parseYieldExpression",value:function(){var a=this.startNode();if(this.lex(),this.hasLineTerminatorBeforeNext)return this.finishNode(new AST.YieldExpression({expression:null}),a);var c=!!this.eat(_tokenizer.TokenType.MUL),d=null;(c||this.lookaheadAssignmentExpression())&&(d=this.parseAssignmentExpression());var _=c?AST.YieldGeneratorExpression:AST.YieldExpression;return this.finishNode(new _({expression:d}),a)}},{key:"parseConditionalExpression",value:function(){var a=this.startNode(),c=this.parseBinaryExpression();if(this.firstExprError)return c;if(this.eat(_tokenizer.TokenType.CONDITIONAL)){this.isBindingElement=this.isAssignmentTarget=!1;var d=this.allowIn;this.allowIn=!0;var _=this.isolateCoverGrammar(this.parseAssignmentExpression);this.allowIn=d,this.expect(_tokenizer.TokenType.COLON);var b=this.isolateCoverGrammar(this.parseAssignmentExpression);return this.finishNode(new AST.ConditionalExpression({test:c,consequent:_,alternate:b}),a)}return c}},{key:"isBinaryOperator",value:function(a){switch(a){case _tokenizer.TokenType.OR:case _tokenizer.TokenType.AND:case _tokenizer.TokenType.BIT_OR:case _tokenizer.TokenType.BIT_XOR:case _tokenizer.TokenType.BIT_AND:case _tokenizer.TokenType.EQ:case _tokenizer.TokenType.NE:case _tokenizer.TokenType.EQ_STRICT:case _tokenizer.TokenType.NE_STRICT:case _tokenizer.TokenType.LT:case _tokenizer.TokenType.GT:case _tokenizer.TokenType.LTE:case _tokenizer.TokenType.GTE:case _tokenizer.TokenType.INSTANCEOF:case _tokenizer.TokenType.SHL:case _tokenizer.TokenType.SHR:case _tokenizer.TokenType.SHR_UNSIGNED:case _tokenizer.TokenType.ADD:case _tokenizer.TokenType.SUB:case _tokenizer.TokenType.MUL:case _tokenizer.TokenType.DIV:case _tokenizer.TokenType.MOD:return!0;case _tokenizer.TokenType.IN:return this.allowIn;default:return!1}}},{key:"parseBinaryExpression",value:function(){var a=this,c=this.startNode(),d=this.parseExponentiationExpression();if(this.firstExprError)return d;var _=this.lookahead.type;if(!this.isBinaryOperator(_))return d;this.isBindingElement=this.isAssignmentTarget=!1,this.lex();var b=[];b.push({startState:c,left:d,operator:_,precedence:BinaryPrecedence$1[_.name]}),c=this.startNode();var k=this.isolateCoverGrammar(this.parseExponentiationExpression);for(_=this.lookahead.type;this.isBinaryOperator(_);){for(var $=BinaryPrecedence$1[_.name];b.length&&$<=b[b.length-1].precedence;){var j=b[b.length-1],_e=j.operator;d=j.left,b.pop(),c=j.startState,k=this.finishNode(new AST.BinaryExpression({left:d,operator:_e.name,right:k}),c)}this.lex(),b.push({startState:c,left:k,operator:_,precedence:$}),c=this.startNode(),k=this.isolateCoverGrammar(this.parseExponentiationExpression),_=this.lookahead.type}return b.reduceRight(function(et,tt){return a.finishNode(new AST.BinaryExpression({left:tt.left,operator:tt.operator.name,right:et}),tt.startState)},k)}},{key:"parseExponentiationExpression",value:function(){var a=this.startNode(),c=this.lookahead.type===_tokenizer.TokenType.LPAREN,d=this.parseUnaryExpression();if(this.lookahead.type!==_tokenizer.TokenType.EXP)return d;if(d.type==="UnaryExpression"&&!c)throw this.createError(_errors$1.ErrorMessages.INVALID_EXPONENTIATION_LHS);this.lex(),this.isBindingElement=this.isAssignmentTarget=!1;var _=this.isolateCoverGrammar(this.parseExponentiationExpression);return this.finishNode(new AST.BinaryExpression({left:d,operator:"**",right:_}),a)}},{key:"parseUnaryExpression",value:function(){if(this.lookahead.type.klass!==_tokenizer.TokenClass.Punctuator&&this.lookahead.type.klass!==_tokenizer.TokenClass.Keyword)return this.parseUpdateExpression();var a=this.startNode();if(this.allowAwaitExpression&&this.eat(_tokenizer.TokenType.AWAIT)){this.isBindingElement=this.isAssignmentTarget=!1;var c=this.isolateCoverGrammar(this.parseUnaryExpression);return this.finishNode(new AST.AwaitExpression({expression:c}),a)}var d=this.lookahead;if(!isPrefixOperator(d))return this.parseUpdateExpression();this.lex(),this.isBindingElement=this.isAssignmentTarget=!1;var _=void 0;if(isUpdateOperator(d)){var b=this.getLocation(),k=this.isolateCoverGrammar(this.parseUnaryExpression);if(!isValidSimpleAssignmentTarget(k))throw this.createErrorWithLocation(b,_errors$1.ErrorMessages.INVALID_UPDATE_OPERAND);k=this.transformDestructuring(k),_=new AST.UpdateExpression({isPrefix:!0,operator:d.value,operand:k})}else{var $=this.isolateCoverGrammar(this.parseUnaryExpression);_=new AST.UnaryExpression({operator:d.value,operand:$})}return this.finishNode(_,a)}},{key:"parseUpdateExpression",value:function(){var a=this.getLocation(),c=this.startNode(),d=this.parseLeftHandSideExpression({allowCall:!0});if(this.firstExprError||this.hasLineTerminatorBeforeNext)return d;var _=this.lookahead;if(!isUpdateOperator(_))return d;if(this.lex(),this.isBindingElement=this.isAssignmentTarget=!1,!isValidSimpleAssignmentTarget(d))throw this.createErrorWithLocation(a,_errors$1.ErrorMessages.INVALID_UPDATE_OPERAND);return d=this.transformDestructuring(d),this.finishNode(new AST.UpdateExpression({isPrefix:!1,operator:_.value,operand:d}),c)}},{key:"parseLeftHandSideExpression",value:function(a){var c=this,d=a.allowCall,_=this.startNode(),b=this.allowIn;this.allowIn=!0;var k=void 0,$=this.lookahead;if(this.eat(_tokenizer.TokenType.SUPER))if(this.isBindingElement=!1,this.isAssignmentTarget=!1,k=this.finishNode(new AST.Super,_),this.match(_tokenizer.TokenType.LPAREN))if(d)k=this.finishNode(new AST.CallExpression({callee:k,arguments:this.parseArgumentList().args}),_);else throw this.createUnexpected($);else if(this.match(_tokenizer.TokenType.LBRACK))k=this.finishNode(new AST.ComputedMemberExpression({object:k,expression:this.parseComputedMember()}),_),this.isAssignmentTarget=!0;else if(this.match(_tokenizer.TokenType.PERIOD))k=this.finishNode(new AST.StaticMemberExpression({object:k,property:this.parseStaticMember()}),_),this.isAssignmentTarget=!0;else throw this.createUnexpected($);else if(this.match(_tokenizer.TokenType.NEW))this.isBindingElement=this.isAssignmentTarget=!1,k=this.parseNewExpression();else if(this.match(_tokenizer.TokenType.ASYNC)){if(k=this.parsePrimaryExpression(),k.type==="IdentifierExpression"&&d&&!this.hasLineTerminatorBeforeNext){if(this.matchIdentifier()){var j=this.startNode(),_e=this.allowAwaitExpression;this.allowAwaitExpression=!0;var et=this.parseBindingIdentifier();return this.allowAwaitExpression=_e,this.ensureArrow(),this.finishNode({type:ARROW_EXPRESSION_PARAMS,params:[et],rest:null,isAsync:!0},j)}if(this.match(_tokenizer.TokenType.LPAREN)){var tt=this.startNode(),nt=this.firstAwaitLocation;this.firstAwaitLocation=null;var st=this.parseArgumentList(),rt=st.args,it=st.locationFollowingFirstSpread;if(this.isBindingElement&&!this.hasLineTerminatorBeforeNext&&this.match(_tokenizer.TokenType.ARROW)){if(it!==null)throw this.createErrorWithLocation(it,_errors$1.ErrorMessages.UNEXPECTED_TOKEN(","));if(this.firstAwaitLocation!==null)throw this.createErrorWithLocation(this.firstAwaitLocation,_errors$1.ErrorMessages.NO_AWAIT_IN_ASYNC_PARAMS);var at=null;if(rt.length>0&&rt[rt.length-1].type==="SpreadElement"){if(at=this.targetToBinding(this.transformDestructuringWithDefault(rt[rt.length-1].expression)),at.init!=null)throw this.createError(_errors$1.ErrorMessages.UNEXPECTED_REST_PARAMETERS_INITIALIZATION);rt=rt.slice(0,-1)}var ot=rt.map(function(pt){return c.targetToBinding(c.transformDestructuringWithDefault(pt))});return this.finishNode({type:ARROW_EXPRESSION_PARAMS,params:ot,rest:at,isAsync:!0},tt)}this.firstAwaitLocation=nt||this.firstAwaitLocation,this.isBindingElement=this.isAssignmentTarget=!1,k=this.finishNode(new AST.CallExpression({callee:k,arguments:rt}),_)}}}else if(k=this.parsePrimaryExpression(),this.firstExprError)return k;for(;;)if(d&&this.match(_tokenizer.TokenType.LPAREN))this.isBindingElement=this.isAssignmentTarget=!1,k=this.finishNode(new AST.CallExpression({callee:k,arguments:this.parseArgumentList().args}),_);else if(this.match(_tokenizer.TokenType.LBRACK))this.isBindingElement=!1,this.isAssignmentTarget=!0,k=this.finishNode(new AST.ComputedMemberExpression({object:k,expression:this.parseComputedMember()}),_);else if(this.match(_tokenizer.TokenType.PERIOD))this.isBindingElement=!1,this.isAssignmentTarget=!0,k=this.finishNode(new AST.StaticMemberExpression({object:k,property:this.parseStaticMember()}),_);else if(this.match(_tokenizer.TokenType.TEMPLATE))this.isBindingElement=this.isAssignmentTarget=!1,k=this.finishNode(new AST.TemplateExpression({tag:k,elements:this.parseTemplateElements()}),_);else break;return this.allowIn=b,k}},{key:"parseTemplateElements",value:function(){var a=this.startNode(),c=this.lookahead;if(c.tail)return this.lex(),[this.finishNode(new AST.TemplateElement({rawValue:c.slice.text.slice(1,-1)}),a)];for(var d=[this.finishNode(new AST.TemplateElement({rawValue:this.lex().slice.text.slice(1,-2)}),a)];;){if(d.push(this.parseExpression()),!this.match(_tokenizer.TokenType.RBRACE))throw this.createILLEGAL();if(this.index=this.startIndex,this.line=this.startLine,this.lineStart=this.startLineStart,this.lookahead=this.scanTemplateElement(),a=this.startNode(),c=this.lex(),c.tail)return d.push(this.finishNode(new AST.TemplateElement({rawValue:c.slice.text.slice(1,-1)}),a)),d;d.push(this.finishNode(new AST.TemplateElement({rawValue:c.slice.text.slice(1,-2)}),a))}}},{key:"parseStaticMember",value:function(){if(this.lex(),this.lookahead.type.klass.isIdentifierName)return this.lex().value;throw this.createUnexpected(this.lookahead)}},{key:"parseComputedMember",value:function(){this.lex();var a=this.parseExpression();return this.expect(_tokenizer.TokenType.RBRACK),a}},{key:"parseNewExpression",value:function(){var a=this,c=this.startNode();if(this.lex(),this.eat(_tokenizer.TokenType.PERIOD))return this.expectContextualKeyword("target"),this.finishNode(new AST.NewTargetExpression,c);var d=this.isolateCoverGrammar(function(){return a.parseLeftHandSideExpression({allowCall:!1})});return this.finishNode(new AST.NewExpression({callee:d,arguments:this.match(_tokenizer.TokenType.LPAREN)?this.parseArgumentList().args:[]}),c)}},{key:"parseRegexFlags",value:function(a){for(var c=!1,d=!1,_=!1,b=!1,k=!1,$=!1,j=0;j1?e-1:0),a=1;a1&&c.slice(1).forEach(function(d){a.addError(s(d))})}),this}},{key:"enforceConflictingLexicallyDeclaredNames",value:function(s,a){var c=this;return this.lexicallyDeclaredNames.forEachEntry(function(d,_){s.has(_)&&d.forEach(function(b){c.addError(a(b))})}),this}},{key:"observeFunctionDeclaration",value:function(){return this.observeVarBoundary(),addEach(this.functionDeclarationNames,this.boundNames),this.boundNames=new _multimap2.default,this}},{key:"functionDeclarationNamesAreLexical",value:function(){return addEach(this.lexicallyDeclaredNames,this.functionDeclarationNames),this.functionDeclarationNames=new _multimap2.default,this}},{key:"observeVarDeclaration",value:function(){return addEach(this.varDeclaredNames,this.boundNames),this.boundNames=new _multimap2.default,this}},{key:"recordForOfVars",value:function(){var s=this;return this.varDeclaredNames.forEach(function(a){s.forOfVarDeclaredNames.push(a)}),this}},{key:"observeVarBoundary",value:function(){return this.lexicallyDeclaredNames=new _multimap2.default,this.functionDeclarationNames=new _multimap2.default,this.varDeclaredNames=new _multimap2.default,this.forOfVarDeclaredNames=[],this}},{key:"exportName",value:function(s,a){return this.exportedNames.set(s,a),this}},{key:"exportDeclaredNames",value:function(){return addEach(this.exportedNames,this.lexicallyDeclaredNames,this.varDeclaredNames),addEach(this.exportedBindings,this.lexicallyDeclaredNames,this.varDeclaredNames),this}},{key:"exportBinding",value:function(s,a){return this.exportedBindings.set(s,a),this}},{key:"clearExportedBindings",value:function(){return this.exportedBindings=new _multimap2.default,this}},{key:"observeYieldExpression",value:function(s){return this.yieldExpressions.push(s),this}},{key:"clearYieldExpressions",value:function(){return this.yieldExpressions=[],this}},{key:"observeAwaitExpression",value:function(s){return this.awaitExpressions.push(s),this}},{key:"clearAwaitExpressions",value:function(){return this.awaitExpressions=[],this}},{key:"addError",value:function(s){return this.errors.push(s),this}},{key:"addStrictError",value:function(s){return this.strictErrors.push(s),this}},{key:"enforceStrictErrors",value:function(){return[].push.apply(this.errors,this.strictErrors),this.strictErrors=[],this}},{key:"concat",value:function(s){return this===identity?s:s===identity?this:([].push.apply(this.errors,s.errors),[].push.apply(this.strictErrors,s.strictErrors),[].push.apply(this.usedLabelNames,s.usedLabelNames),[].push.apply(this.freeBreakStatements,s.freeBreakStatements),[].push.apply(this.freeContinueStatements,s.freeContinueStatements),[].push.apply(this.freeLabeledBreakStatements,s.freeLabeledBreakStatements),[].push.apply(this.freeLabeledContinueStatements,s.freeLabeledContinueStatements),[].push.apply(this.newTargetExpressions,s.newTargetExpressions),addEach(this.boundNames,s.boundNames),addEach(this.lexicallyDeclaredNames,s.lexicallyDeclaredNames),addEach(this.functionDeclarationNames,s.functionDeclarationNames),addEach(this.varDeclaredNames,s.varDeclaredNames),[].push.apply(this.forOfVarDeclaredNames,s.forOfVarDeclaredNames),addEach(this.exportedNames,s.exportedNames),addEach(this.exportedBindings,s.exportedBindings),[].push.apply(this.superCallExpressions,s.superCallExpressions),[].push.apply(this.superCallExpressionsInConstructorMethod,s.superCallExpressionsInConstructorMethod),[].push.apply(this.superPropertyExpressions,s.superPropertyExpressions),[].push.apply(this.yieldExpressions,s.yieldExpressions),[].push.apply(this.awaitExpressions,s.awaitExpressions),this)}}],[{key:"empty",value:function(){return identity}}]),o}();identity=new EarlyErrorState;Object.getOwnPropertyNames(EarlyErrorState.prototype).forEach(function(o){o!=="constructor"&&Object.defineProperty(identity,o,{value:function(){return EarlyErrorState.prototype[o].apply(new EarlyErrorState,arguments)},enumerable:!1,writable:!0,configurable:!0})});earlyErrorState.EarlyError=function(o){_inherits$4(e,o);function e(s,a){_classCallCheck$7(this,e);var c=_possibleConstructorReturn$4(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a));return c.node=s,c.message=a,c}return e}(Error);Object.defineProperty(earlyErrors,"__esModule",{value:!0});earlyErrors.EarlyErrorChecker=void 0;var _createClass$5=function(){function o(e,s){for(var a=0;a1&&s.slice(1).forEach(function(a){e=e.addError(new _earlyErrorState.EarlyError(a,"Duplicate constructor method in class"))}),e}var SUPERCALL_ERROR=function o(e){return new _earlyErrorState.EarlyError(e,_errors.ErrorMessages.ILLEGAL_SUPER_CALL)},SUPERPROPERTY_ERROR=function o(e){return new _earlyErrorState.EarlyError(e,"Member access on super must be in a method")},DUPLICATE_BINDING=function o(e){return new _earlyErrorState.EarlyError(e,"Duplicate binding "+JSON.stringify(e.name))},FREE_CONTINUE=function o(e){return new _earlyErrorState.EarlyError(e,"Continue statement must be nested within an iteration statement")},UNBOUND_CONTINUE=function o(e){return new _earlyErrorState.EarlyError(e,"Continue statement must be nested within an iteration statement with label "+JSON.stringify(e.label))},FREE_BREAK=function o(e){return new _earlyErrorState.EarlyError(e,"Break statement must be nested within an iteration statement or a switch statement")},UNBOUND_BREAK=function o(e){return new _earlyErrorState.EarlyError(e,"Break statement must be nested within a statement with label "+JSON.stringify(e.label))};earlyErrors.EarlyErrorChecker=function(o){_inherits$3(e,o);function e(){return _classCallCheck$6(this,e),_possibleConstructorReturn$3(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,_earlyErrorState.EarlyErrorState))}return _createClass$5(e,[{key:"reduceAssignmentExpression",value:function(){return _get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceAssignmentExpression",this).apply(this,arguments).clearBoundNames()}},{key:"reduceAssignmentTargetIdentifier",value:function(a){var c=this.identity;return(a.name==="eval"||a.name==="arguments"||(0,_utils.isStrictModeReservedWord)(a.name))&&(c=c.addStrictError(new _earlyErrorState.EarlyError(a,"The identifier "+JSON.stringify(a.name)+" must not be in binding position in strict mode"))),c}},{key:"reduceArrowExpression",value:function(a,c){var d=c.params,_=c.body,b=a.params.rest==null&&a.params.items.every(function($){return $.type==="BindingIdentifier"});d=d.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),a.body.type==="FunctionBody"&&(_=_.enforceConflictingLexicallyDeclaredNames(d.lexicallyDeclaredNames,DUPLICATE_BINDING),isStrictFunctionBody(a.body)&&(d=d.enforceStrictErrors(),_=_.enforceStrictErrors())),d.yieldExpressions.forEach(function($){d=d.addError(new _earlyErrorState.EarlyError($,"Arrow parameters must not contain yield expressions"))}),d.awaitExpressions.forEach(function($){d=d.addError(new _earlyErrorState.EarlyError($,"Arrow parameters must not contain await expressions"))});var k=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceArrowExpression",this).call(this,a,{params:d,body:_});return!b&&a.body.type==="FunctionBody"&&isStrictFunctionBody(a.body)&&(k=k.addError(new _earlyErrorState.EarlyError(a,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),k=k.clearYieldExpressions(),k=k.clearAwaitExpressions(),k=k.observeVarBoundary(),k}},{key:"reduceAwaitExpression",value:function(a,c){var d=c.expression;return d.observeAwaitExpression(a)}},{key:"reduceBindingIdentifier",value:function(a){var c=this.identity;return(a.name==="eval"||a.name==="arguments"||(0,_utils.isStrictModeReservedWord)(a.name))&&(c=c.addStrictError(new _earlyErrorState.EarlyError(a,"The identifier "+JSON.stringify(a.name)+" must not be in binding position in strict mode"))),c=c.bindName(a.name,a),c}},{key:"reduceBlock",value:function(){var a=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceBlock",this).apply(this,arguments);return a=a.functionDeclarationNamesAreLexical(),a=a.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),a=a.enforceConflictingLexicallyDeclaredNames(a.varDeclaredNames,DUPLICATE_BINDING),a=a.observeLexicalBoundary(),a}},{key:"reduceBreakStatement",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceBreakStatement",this).apply(this,arguments);return c=a.label==null?c.addFreeBreakStatement(a):c.addFreeLabeledBreakStatement(a),c}},{key:"reduceCallExpression",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceCallExpression",this).apply(this,arguments);return a.callee.type==="Super"&&(c=c.observeSuperCallExpression(a)),c}},{key:"reduceCatchClause",value:function(a,c){var d=c.binding,_=c.body;d=d.observeLexicalDeclaration(),d=d.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),d=d.enforceConflictingLexicallyDeclaredNames(_.previousLexicallyDeclaredNames,DUPLICATE_BINDING),d.lexicallyDeclaredNames.forEachEntry(function(k,$){_.varDeclaredNames.has($)&&_.varDeclaredNames.get($).forEach(function(j){_.forOfVarDeclaredNames.indexOf(j)>=0&&(d=d.addError(DUPLICATE_BINDING(j)))})});var b=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceCatchClause",this).call(this,a,{binding:d,body:_});return b=b.observeLexicalBoundary(),b}},{key:"reduceClassDeclaration",value:function(a,c){var d=c.name,_=c.super,b=c.elements,k=d.enforceStrictErrors(),$=this.append.apply(this,_toConsumableArray$3(b));return $=$.enforceStrictErrors(),a.super!=null&&(_=_.enforceStrictErrors(),k=this.append(k,_),$=$.clearSuperCallExpressionsInConstructorMethod()),k=this.append(k,$),k=enforceDuplicateConstructorMethods(a,k),k=k.observeLexicalDeclaration(),k}},{key:"reduceClassElement",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceClassElement",this).apply(this,arguments);return!a.isStatic&&isSpecialMethod(a.method)&&(c=c.addError(new _earlyErrorState.EarlyError(a,_errors.ErrorMessages.ILLEGAL_CONSTRUCTORS))),a.isStatic&&a.method.name.type==="StaticPropertyName"&&a.method.name.value==="prototype"&&(c=c.addError(new _earlyErrorState.EarlyError(a,'Static class methods cannot be named "prototype"'))),c}},{key:"reduceClassExpression",value:function(a,c){var d=c.name,_=c.super,b=c.elements,k=a.name==null?this.identity:d.enforceStrictErrors(),$=this.append.apply(this,_toConsumableArray$3(b));return $=$.enforceStrictErrors(),a.super!=null&&(_=_.enforceStrictErrors(),k=this.append(k,_),$=$.clearSuperCallExpressionsInConstructorMethod()),k=this.append(k,$),k=enforceDuplicateConstructorMethods(a,k),k=k.clearBoundNames(),k}},{key:"reduceCompoundAssignmentExpression",value:function(){return _get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceCompoundAssignmentExpression",this).apply(this,arguments).clearBoundNames()}},{key:"reduceComputedMemberExpression",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceComputedMemberExpression",this).apply(this,arguments);return a.object.type==="Super"&&(c=c.observeSuperPropertyExpression(a)),c}},{key:"reduceContinueStatement",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceContinueStatement",this).apply(this,arguments);return c=a.label==null?c.addFreeContinueStatement(a):c.addFreeLabeledContinueStatement(a),c}},{key:"reduceDoWhileStatement",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceDoWhileStatement",this).apply(this,arguments);return isLabelledFunction(a.body)&&(c=c.addError(new _earlyErrorState.EarlyError(a.body,"The body of a do-while statement must not be a labeled function declaration"))),c=c.clearFreeContinueStatements(),c=c.clearFreeBreakStatements(),c}},{key:"reduceExport",value:function(){var a=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceExport",this).apply(this,arguments);return a=a.functionDeclarationNamesAreLexical(),a=a.exportDeclaredNames(),a}},{key:"reduceExportFrom",value:function(){var a=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceExportFrom",this).apply(this,arguments);return a=a.clearExportedBindings(),a}},{key:"reduceExportFromSpecifier",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceExportFromSpecifier",this).apply(this,arguments);return c=c.exportName(a.exportedName||a.name,a),c=c.exportBinding(a.name,a),c}},{key:"reduceExportLocalSpecifier",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceExportLocalSpecifier",this).apply(this,arguments);return c=c.exportName(a.exportedName||a.name.name,a),c=c.exportBinding(a.name.name,a),c}},{key:"reduceExportDefault",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceExportDefault",this).apply(this,arguments);return c=c.functionDeclarationNamesAreLexical(),c=c.exportName("default",a),c}},{key:"reduceFormalParameters",value:function(){var a=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceFormalParameters",this).apply(this,arguments);return a=a.observeLexicalDeclaration(),a}},{key:"reduceForStatement",value:function(a,c){var d=c.init,_=c.test,b=c.update,k=c.body;d!=null&&(d=d.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),d=d.enforceConflictingLexicallyDeclaredNames(k.varDeclaredNames,DUPLICATE_BINDING));var $=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceForStatement",this).call(this,a,{init:d,test:_,update:b,body:k});return a.init!=null&&a.init.type==="VariableDeclaration"&&a.init.kind==="const"&&a.init.declarators.forEach(function(j){j.init==null&&($=$.addError(new _earlyErrorState.EarlyError(j,"Constant lexical declarations must have an initialiser")))}),isLabelledFunction(a.body)&&($=$.addError(new _earlyErrorState.EarlyError(a.body,"The body of a for statement must not be a labeled function declaration"))),$=$.clearFreeContinueStatements(),$=$.clearFreeBreakStatements(),$=$.observeLexicalBoundary(),$}},{key:"reduceForInStatement",value:function(a,c){var d=c.left,_=c.right,b=c.body;d=d.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),d=d.enforceConflictingLexicallyDeclaredNames(b.varDeclaredNames,DUPLICATE_BINDING);var k=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceForInStatement",this).call(this,a,{left:d,right:_,body:b});return isLabelledFunction(a.body)&&(k=k.addError(new _earlyErrorState.EarlyError(a.body,"The body of a for-in statement must not be a labeled function declaration"))),k=k.clearFreeContinueStatements(),k=k.clearFreeBreakStatements(),k=k.observeLexicalBoundary(),k}},{key:"reduceForOfStatement",value:function(a,c){var d=c.left,_=c.right,b=c.body;d=d.recordForOfVars(),d=d.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),d=d.enforceConflictingLexicallyDeclaredNames(b.varDeclaredNames,DUPLICATE_BINDING);var k=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceForOfStatement",this).call(this,a,{left:d,right:_,body:b});return isLabelledFunction(a.body)&&(k=k.addError(new _earlyErrorState.EarlyError(a.body,"The body of a for-of statement must not be a labeled function declaration"))),k=k.clearFreeContinueStatements(),k=k.clearFreeBreakStatements(),k=k.observeLexicalBoundary(),k}},{key:"reduceForAwaitStatement",value:function(a,c){var d=c.left,_=c.right,b=c.body;d=d.recordForOfVars(),d=d.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),d=d.enforceConflictingLexicallyDeclaredNames(b.varDeclaredNames,DUPLICATE_BINDING);var k=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceForOfStatement",this).call(this,a,{left:d,right:_,body:b});return isLabelledFunction(a.body)&&(k=k.addError(new _earlyErrorState.EarlyError(a.body,"The body of a for-await statement must not be a labeled function declaration"))),k=k.clearFreeContinueStatements(),k=k.clearFreeBreakStatements(),k=k.observeLexicalBoundary(),k}},{key:"reduceFunctionBody",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceFunctionBody",this).apply(this,arguments);return c=c.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),c=c.enforceConflictingLexicallyDeclaredNames(c.varDeclaredNames,DUPLICATE_BINDING),c=c.enforceFreeContinueStatementErrors(FREE_CONTINUE),c=c.enforceFreeLabeledContinueStatementErrors(UNBOUND_CONTINUE),c=c.enforceFreeBreakStatementErrors(FREE_BREAK),c=c.enforceFreeLabeledBreakStatementErrors(UNBOUND_BREAK),c=c.clearUsedLabelNames(),c=c.clearYieldExpressions(),c=c.clearAwaitExpressions(),isStrictFunctionBody(a)&&(c=c.enforceStrictErrors()),c}},{key:"reduceFunctionDeclaration",value:function(a,c){var d=c.name,_=c.params,b=c.body,k=a.params.rest==null&&a.params.items.every(function(_e){return _e.type==="BindingIdentifier"}),$=!k||a.isGenerator?"addError":"addStrictError";_.lexicallyDeclaredNames.forEachEntry(function(_e){_e.length>1&&_e.slice(1).forEach(function(et){_=_[$](DUPLICATE_BINDING(et))})}),b=b.enforceConflictingLexicallyDeclaredNames(_.lexicallyDeclaredNames,DUPLICATE_BINDING),b=b.enforceSuperCallExpressions(SUPERCALL_ERROR),b=b.enforceSuperPropertyExpressions(SUPERPROPERTY_ERROR),_=_.enforceSuperCallExpressions(SUPERCALL_ERROR),_=_.enforceSuperPropertyExpressions(SUPERPROPERTY_ERROR),a.isGenerator&&_.yieldExpressions.forEach(function(_e){_=_.addError(new _earlyErrorState.EarlyError(_e,"Generator parameters must not contain yield expressions"))}),a.isAsync&&_.awaitExpressions.forEach(function(_e){_=_.addError(new _earlyErrorState.EarlyError(_e,"Async function parameters must not contain await expressions"))}),_=_.clearNewTargetExpressions(),b=b.clearNewTargetExpressions(),isStrictFunctionBody(a.body)&&(_=_.enforceStrictErrors(),b=b.enforceStrictErrors());var j=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceFunctionDeclaration",this).call(this,a,{name:d,params:_,body:b});return!k&&isStrictFunctionBody(a.body)&&(j=j.addError(new _earlyErrorState.EarlyError(a,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),j=j.clearYieldExpressions(),j=j.clearAwaitExpressions(),j=j.observeFunctionDeclaration(),j}},{key:"reduceFunctionExpression",value:function(a,c){var d=c.name,_=c.params,b=c.body,k=a.params.rest==null&&a.params.items.every(function(_e){return _e.type==="BindingIdentifier"}),$=!k||a.isGenerator?"addError":"addStrictError";_.lexicallyDeclaredNames.forEachEntry(function(_e,et){_e.length>1&&_e.slice(1).forEach(function(tt){_=_[$](new _earlyErrorState.EarlyError(tt,"Duplicate binding "+JSON.stringify(et)))})}),b=b.enforceConflictingLexicallyDeclaredNames(_.lexicallyDeclaredNames,DUPLICATE_BINDING),b=b.enforceSuperCallExpressions(SUPERCALL_ERROR),b=b.enforceSuperPropertyExpressions(SUPERPROPERTY_ERROR),_=_.enforceSuperCallExpressions(SUPERCALL_ERROR),_=_.enforceSuperPropertyExpressions(SUPERPROPERTY_ERROR),a.isGenerator&&_.yieldExpressions.forEach(function(_e){_=_.addError(new _earlyErrorState.EarlyError(_e,"Generator parameters must not contain yield expressions"))}),a.isAsync&&_.awaitExpressions.forEach(function(_e){_=_.addError(new _earlyErrorState.EarlyError(_e,"Async function parameters must not contain await expressions"))}),_=_.clearNewTargetExpressions(),b=b.clearNewTargetExpressions(),isStrictFunctionBody(a.body)&&(_=_.enforceStrictErrors(),b=b.enforceStrictErrors());var j=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceFunctionExpression",this).call(this,a,{name:d,params:_,body:b});return!k&&isStrictFunctionBody(a.body)&&(j=j.addError(new _earlyErrorState.EarlyError(a,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),j=j.clearBoundNames(),j=j.clearYieldExpressions(),j=j.clearAwaitExpressions(),j=j.observeVarBoundary(),j}},{key:"reduceGetter",value:function(a,c){var d=c.name,_=c.body;_=_.enforceSuperCallExpressions(SUPERCALL_ERROR),_=_.clearSuperPropertyExpressions(),_=_.clearNewTargetExpressions(),isStrictFunctionBody(a.body)&&(_=_.enforceStrictErrors());var b=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceGetter",this).call(this,a,{name:d,body:_});return b=b.observeVarBoundary(),b}},{key:"reduceIdentifierExpression",value:function(a){var c=this.identity;return(0,_utils.isStrictModeReservedWord)(a.name)&&(c=c.addStrictError(new _earlyErrorState.EarlyError(a,"The identifier "+JSON.stringify(a.name)+" must not be in expression position in strict mode"))),c}},{key:"reduceIfStatement",value:function(a,c){var d=c.test,_=c.consequent,b=c.alternate;return isLabelledFunction(a.consequent)&&(_=_.addError(new _earlyErrorState.EarlyError(a.consequent,"The consequent of an if statement must not be a labeled function declaration"))),a.alternate!=null&&isLabelledFunction(a.alternate)&&(b=b.addError(new _earlyErrorState.EarlyError(a.alternate,"The alternate of an if statement must not be a labeled function declaration"))),a.consequent.type==="FunctionDeclaration"&&(_=_.addStrictError(new _earlyErrorState.EarlyError(a.consequent,"FunctionDeclarations in IfStatements are disallowed in strict mode")),_=_.observeLexicalBoundary()),a.alternate!=null&&a.alternate.type==="FunctionDeclaration"&&(b=b.addStrictError(new _earlyErrorState.EarlyError(a.alternate,"FunctionDeclarations in IfStatements are disallowed in strict mode")),b=b.observeLexicalBoundary()),_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceIfStatement",this).call(this,a,{test:d,consequent:_,alternate:b})}},{key:"reduceImport",value:function(){var a=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceImport",this).apply(this,arguments);return a=a.observeLexicalDeclaration(),a}},{key:"reduceImportNamespace",value:function(){var a=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceImportNamespace",this).apply(this,arguments);return a=a.observeLexicalDeclaration(),a}},{key:"reduceLabeledStatement",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceLabeledStatement",this).apply(this,arguments);return(a.label==="yield"||(0,_utils.isStrictModeReservedWord)(a.label))&&(c=c.addStrictError(new _earlyErrorState.EarlyError(a,"The identifier "+JSON.stringify(a.label)+" must not be in label position in strict mode"))),c.usedLabelNames.indexOf(a.label)>=0&&(c=c.addError(new _earlyErrorState.EarlyError(a,"Label "+JSON.stringify(a.label)+" has already been declared"))),a.body.type==="FunctionDeclaration"&&(c=c.addStrictError(new _earlyErrorState.EarlyError(a,"Labeled FunctionDeclarations are disallowed in strict mode"))),c=isIterationStatement(a.body)?c.observeIterationLabel(a.label):c.observeNonIterationLabel(a.label),c}},{key:"reduceLiteralRegExpExpression",value:function(){var a=this.identity;return a}},{key:"reduceMethod",value:function(a,c){var d=c.name,_=c.params,b=c.body,k=a.params.rest==null&&a.params.items.every(function(j){return j.type==="BindingIdentifier"});_=_.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),b=b.enforceConflictingLexicallyDeclaredNames(_.lexicallyDeclaredNames,DUPLICATE_BINDING),a.name.type==="StaticPropertyName"&&a.name.value==="constructor"?(b=b.observeConstructorMethod(),_=_.observeConstructorMethod()):(b=b.enforceSuperCallExpressions(SUPERCALL_ERROR),_=_.enforceSuperCallExpressions(SUPERCALL_ERROR)),a.isGenerator&&_.yieldExpressions.forEach(function(j){_=_.addError(new _earlyErrorState.EarlyError(j,"Generator parameters must not contain yield expressions"))}),a.isAsync&&_.awaitExpressions.forEach(function(j){_=_.addError(new _earlyErrorState.EarlyError(j,"Async function parameters must not contain await expressions"))}),b=b.clearSuperPropertyExpressions(),_=_.clearSuperPropertyExpressions(),_=_.clearNewTargetExpressions(),b=b.clearNewTargetExpressions(),isStrictFunctionBody(a.body)&&(_=_.enforceStrictErrors(),b=b.enforceStrictErrors());var $=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceMethod",this).call(this,a,{name:d,params:_,body:b});return!k&&isStrictFunctionBody(a.body)&&($=$.addError(new _earlyErrorState.EarlyError(a,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),$=$.clearYieldExpressions(),$=$.clearAwaitExpressions(),$=$.observeVarBoundary(),$}},{key:"reduceModule",value:function(){var a=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceModule",this).apply(this,arguments);return a=a.functionDeclarationNamesAreLexical(),a=a.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),a=a.enforceConflictingLexicallyDeclaredNames(a.varDeclaredNames,DUPLICATE_BINDING),a.exportedNames.forEachEntry(function(c,d){c.length>1&&c.slice(1).forEach(function(_){a=a.addError(new _earlyErrorState.EarlyError(_,"Duplicate export "+JSON.stringify(d)))})}),a.exportedBindings.forEachEntry(function(c,d){!a.lexicallyDeclaredNames.has(d)&&!a.varDeclaredNames.has(d)&&c.forEach(function(_){a=a.addError(new _earlyErrorState.EarlyError(_,"Exported binding "+JSON.stringify(d)+" is not declared"))})}),a.newTargetExpressions.forEach(function(c){a=a.addError(new _earlyErrorState.EarlyError(c,"new.target must be within function (but not arrow expression) code"))}),a=a.enforceFreeContinueStatementErrors(FREE_CONTINUE),a=a.enforceFreeLabeledContinueStatementErrors(UNBOUND_CONTINUE),a=a.enforceFreeBreakStatementErrors(FREE_BREAK),a=a.enforceFreeLabeledBreakStatementErrors(UNBOUND_BREAK),a=a.enforceSuperCallExpressions(SUPERCALL_ERROR),a=a.enforceSuperPropertyExpressions(SUPERPROPERTY_ERROR),a=a.enforceStrictErrors(),a}},{key:"reduceNewTargetExpression",value:function(a){return this.identity.observeNewTargetExpression(a)}},{key:"reduceObjectExpression",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceObjectExpression",this).apply(this,arguments);c=c.enforceSuperCallExpressionsInConstructorMethod(SUPERCALL_ERROR);var d=a.properties.filter(function(_){return _.type==="DataProperty"&&_.name.type==="StaticPropertyName"&&_.name.value==="__proto__"});return d.slice(1).forEach(function(_){c=c.addError(new _earlyErrorState.EarlyError(_,"Duplicate __proto__ property in object literal not allowed"))}),c}},{key:"reduceUpdateExpression",value:function(){var a=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceUpdateExpression",this).apply(this,arguments);return a=a.clearBoundNames(),a}},{key:"reduceUnaryExpression",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceUnaryExpression",this).apply(this,arguments);return a.operator==="delete"&&a.operand.type==="IdentifierExpression"&&(c=c.addStrictError(new _earlyErrorState.EarlyError(a,"Identifier expressions must not be deleted in strict mode"))),c}},{key:"reduceScript",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceScript",this).apply(this,arguments);return c=c.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),c=c.enforceConflictingLexicallyDeclaredNames(c.varDeclaredNames,DUPLICATE_BINDING),c.newTargetExpressions.forEach(function(d){c=c.addError(new _earlyErrorState.EarlyError(d,"new.target must be within function (but not arrow expression) code"))}),c=c.enforceFreeContinueStatementErrors(FREE_CONTINUE),c=c.enforceFreeLabeledContinueStatementErrors(UNBOUND_CONTINUE),c=c.enforceFreeBreakStatementErrors(FREE_BREAK),c=c.enforceFreeLabeledBreakStatementErrors(UNBOUND_BREAK),c=c.enforceSuperCallExpressions(SUPERCALL_ERROR),c=c.enforceSuperPropertyExpressions(SUPERPROPERTY_ERROR),isStrictFunctionBody(a)&&(c=c.enforceStrictErrors()),c}},{key:"reduceSetter",value:function(a,c){var d=c.name,_=c.param,b=c.body,k=a.param.type==="BindingIdentifier";_=_.observeLexicalDeclaration(),_=_.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),b=b.enforceConflictingLexicallyDeclaredNames(_.lexicallyDeclaredNames,DUPLICATE_BINDING),_=_.enforceSuperCallExpressions(SUPERCALL_ERROR),b=b.enforceSuperCallExpressions(SUPERCALL_ERROR),_=_.clearSuperPropertyExpressions(),b=b.clearSuperPropertyExpressions(),_=_.clearNewTargetExpressions(),b=b.clearNewTargetExpressions(),isStrictFunctionBody(a.body)&&(_=_.enforceStrictErrors(),b=b.enforceStrictErrors());var $=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceSetter",this).call(this,a,{name:d,param:_,body:b});return!k&&isStrictFunctionBody(a.body)&&($=$.addError(new _earlyErrorState.EarlyError(a,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),$=$.observeVarBoundary(),$}},{key:"reduceStaticMemberExpression",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceStaticMemberExpression",this).apply(this,arguments);return a.object.type==="Super"&&(c=c.observeSuperPropertyExpression(a)),c}},{key:"reduceSwitchStatement",value:function(a,c){var d=c.discriminant,_=c.cases,b=this.append.apply(this,_toConsumableArray$3(_));b=b.functionDeclarationNamesAreLexical(),b=b.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),b=b.enforceConflictingLexicallyDeclaredNames(b.varDeclaredNames,DUPLICATE_BINDING),b=b.observeLexicalBoundary();var k=this.append(d,b);return k=k.clearFreeBreakStatements(),k}},{key:"reduceSwitchStatementWithDefault",value:function(a,c){var d=c.discriminant,_=c.preDefaultCases,b=c.defaultCase,k=c.postDefaultCases,$=this.append.apply(this,[b].concat(_toConsumableArray$3(_),_toConsumableArray$3(k)));$=$.functionDeclarationNamesAreLexical(),$=$.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),$=$.enforceConflictingLexicallyDeclaredNames($.varDeclaredNames,DUPLICATE_BINDING),$=$.observeLexicalBoundary();var j=this.append(d,$);return j=j.clearFreeBreakStatements(),j}},{key:"reduceVariableDeclaration",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceVariableDeclaration",this).apply(this,arguments);switch(a.kind){case"const":case"let":{c=c.observeLexicalDeclaration(),c.lexicallyDeclaredNames.has("let")&&c.lexicallyDeclaredNames.get("let").forEach(function(d){c=c.addError(new _earlyErrorState.EarlyError(d,'Lexical declarations must not have a binding named "let"'))});break}case"var":c=c.observeVarDeclaration();break}return c}},{key:"reduceVariableDeclarationStatement",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceVariableDeclarationStatement",this).apply(this,arguments);return a.declaration.kind==="const"&&a.declaration.declarators.forEach(function(d){d.init==null&&(c=c.addError(new _earlyErrorState.EarlyError(d,"Constant lexical declarations must have an initialiser")))}),c}},{key:"reduceWhileStatement",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceWhileStatement",this).apply(this,arguments);return isLabelledFunction(a.body)&&(c=c.addError(new _earlyErrorState.EarlyError(a.body,"The body of a while statement must not be a labeled function declaration"))),c=c.clearFreeContinueStatements().clearFreeBreakStatements(),c}},{key:"reduceWithStatement",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceWithStatement",this).apply(this,arguments);return isLabelledFunction(a.body)&&(c=c.addError(new _earlyErrorState.EarlyError(a.body,"The body of a with statement must not be a labeled function declaration"))),c=c.addStrictError(new _earlyErrorState.EarlyError(a,"Strict mode code must not include a with statement")),c}},{key:"reduceYieldExpression",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceYieldExpression",this).apply(this,arguments);return c=c.observeYieldExpression(a),c}},{key:"reduceYieldGeneratorExpression",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceYieldGeneratorExpression",this).apply(this,arguments);return c=c.observeYieldExpression(a),c}}],[{key:"check",value:function(a){return(0,_shiftReducer2.default)(new e,a).errors}}]),e}(_shiftReducer$1.MonoidalReducer);(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.TokenType=o.TokenClass=o.Tokenizer=o.ParserWithLocation=o.GenericParser=o.EarlyErrorChecker=o.parseScriptWithLocation=o.parseModuleWithLocation=o.parseScript=o.parseModule=void 0;var e=function(){function st(rt,it){for(var at=0;at1&&arguments[1]!==void 0?arguments[1]:{},ot=at.earlyErrors,pt=ot===void 0?!0:ot,ct=new c.GenericParser(it),ut=ct[st]();if(pt){var lt=d.EarlyErrorChecker.check(ut);if(lt.length>0)throw new a.JsError(0,1,0,lt[0].message)}return ut}}function tt(st){return function(it){var at=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ot=at.earlyErrors,pt=ot===void 0?!0:ot,ct=new _e(it),ut=ct[st]();if(pt){var lt=d.EarlyErrorChecker.check(ut);if(lt.length>0){var ht=lt[0],dt=ht.node,gt=ht.message,yt=ct.locations.get(dt).start,ft=yt.offset,mt=yt.line,Et=yt.column;throw new a.JsError(ft,mt,Et,gt)}}return{tree:ut,locations:ct.locations,comments:ct.comments}}}o.parseModule=et("parseModule");var nt=o.parseScript=et("parseScript");o.parseModuleWithLocation=tt("parseModule"),o.parseScriptWithLocation=tt("parseScript"),o.default=nt,o.EarlyErrorChecker=d.EarlyErrorChecker,o.GenericParser=c.GenericParser,o.ParserWithLocation=_e})(dist$7);var dist$2={};Object.defineProperty(dist$2,"__esModule",{value:!0});var _default=dist$2.default=function(){var o={},e={typeName:"Boolean"},s={typeName:"Number"},a={typeName:"String"};function c(dn){return{typeName:"Maybe",argument:dn}}function d(dn){return{typeName:"List",argument:dn}}function _(dn){return{typeName:"Const",argument:dn}}function b(){return{typeName:"Union",arguments:[].slice.call(arguments,0)}}var k={typeName:"Enum",values:["ArrayAssignmentTarget","ArrayBinding","ArrayExpression","ArrowExpression","AssignmentExpression","AssignmentTargetIdentifier","AssignmentTargetPropertyIdentifier","AssignmentTargetPropertyProperty","AssignmentTargetWithDefault","AwaitExpression","BinaryExpression","BindingIdentifier","BindingPropertyIdentifier","BindingPropertyProperty","BindingWithDefault","Block","BlockStatement","BreakStatement","CallExpression","CatchClause","ClassDeclaration","ClassElement","ClassExpression","CompoundAssignmentExpression","ComputedMemberAssignmentTarget","ComputedMemberExpression","ComputedPropertyName","ConditionalExpression","ContinueStatement","DataProperty","DebuggerStatement","Directive","DoWhileStatement","EmptyStatement","Export","ExportAllFrom","ExportDefault","ExportFrom","ExportFromSpecifier","ExportLocalSpecifier","ExportLocals","ExpressionStatement","ForAwaitStatement","ForInStatement","ForOfStatement","ForStatement","FormalParameters","FunctionBody","FunctionDeclaration","FunctionExpression","Getter","IdentifierExpression","IfStatement","Import","ImportNamespace","ImportSpecifier","LabeledStatement","LiteralBooleanExpression","LiteralInfinityExpression","LiteralNullExpression","LiteralNumericExpression","LiteralRegExpExpression","LiteralStringExpression","Method","Module","NewExpression","NewTargetExpression","ObjectAssignmentTarget","ObjectBinding","ObjectExpression","ReturnStatement","Script","Setter","ShorthandProperty","SpreadElement","SpreadProperty","StaticMemberAssignmentTarget","StaticMemberExpression","StaticPropertyName","Super","SwitchCase","SwitchDefault","SwitchStatement","SwitchStatementWithDefault","TemplateElement","TemplateExpression","ThisExpression","ThrowStatement","TryCatchStatement","TryFinallyStatement","UnaryExpression","UpdateExpression","VariableDeclaration","VariableDeclarationStatement","VariableDeclarator","WhileStatement","WithStatement","YieldExpression","YieldGeneratorExpression"]},$={typeName:"Enum",values:["==","!=","===","!==","<","<=",">",">=","in","instanceof","<<",">>",">>>","+","-","*","/","%","**",",","||","&&","|","^","&"]},j={typeName:"Enum",values:["+=","-=","*=","/=","%=","**=","<<=",">>=",">>>=","|=","^=","&="]},_e={typeName:"Enum",values:["+","-","!","~","typeof","void","delete"]},et={typeName:"Enum",values:["++","--"]},tt={typeName:"Enum",values:["var","let","const"]},nt=o.ArrayAssignmentTarget={},st=o.ArrayBinding={},rt=o.ArrayExpression={},it=o.ArrowExpression={},at=o.AssignmentExpression={},ot=o.AssignmentTargetIdentifier={},pt=o.AssignmentTargetPropertyIdentifier={},ct=o.AssignmentTargetPropertyProperty={},ut=o.AssignmentTargetWithDefault={},lt=o.AwaitExpression={},ht=o.BinaryExpression={},dt=o.BindingIdentifier={},gt=o.BindingPropertyIdentifier={},yt=o.BindingPropertyProperty={},ft=o.BindingWithDefault={},mt=o.Block={},Et=o.BlockStatement={},vt=o.BreakStatement={},At=o.CallExpression={},_t=o.CatchClause={},Dt=o.ClassDeclaration={},bt=o.ClassElement={},Tt=o.ClassExpression={},St=o.CompoundAssignmentExpression={},Ct=o.ComputedMemberAssignmentTarget={},xt=o.ComputedMemberExpression={},Rt=o.ComputedPropertyName={},Mt=o.ConditionalExpression={},It=o.ContinueStatement={},Ft=o.DataProperty={},Vt=o.DebuggerStatement={},jt=o.Directive={},Nt=o.DoWhileStatement={},Kt=o.EmptyStatement={},Jt=o.Export={},en=o.ExportAllFrom={},tn=o.ExportDefault={},kt=o.ExportFrom={},Bt=o.ExportFromSpecifier={},Qt=o.ExportLocalSpecifier={},Lt=o.ExportLocals={},$t=o.ExpressionStatement={},Wt=o.ForAwaitStatement={},Gt=o.ForInStatement={},zt=o.ForOfStatement={},nn=o.ForStatement={},Xt=o.FormalParameters={},Zt=o.FunctionBody={},sn=o.FunctionDeclaration={},fn=o.FunctionExpression={},An=o.Getter={},cn=o.IdentifierExpression={},vn=o.IfStatement={},_n=o.Import={},On=o.ImportNamespace={},mn=o.ImportSpecifier={},Cn=o.LabeledStatement={},Dn=o.LiteralBooleanExpression={},bn=o.LiteralInfinityExpression={},xn=o.LiteralNullExpression={},Tn=o.LiteralNumericExpression={},kn=o.LiteralRegExpExpression={},wn=o.LiteralStringExpression={},Fn=o.Method={},Nn=o.Module={},Pn=o.NewExpression={},Bn=o.NewTargetExpression={},Yt=o.ObjectAssignmentTarget={},Ut=o.ObjectBinding={},Rn=o.ObjectExpression={},In=o.ReturnStatement={},Mn=o.Script={},$n=o.Setter={},Ln=o.ShorthandProperty={},hn=o.SpreadElement={},Wn=o.SpreadProperty={},Qn=o.StaticMemberAssignmentTarget={},jn=o.StaticMemberExpression={},qn=o.StaticPropertyName={},an=o.Super={},pn=o.SwitchCase={},gn=o.SwitchDefault={},Vn=o.SwitchStatement={},Gn=o.SwitchStatementWithDefault={},yn=o.TemplateElement={},Un=o.TemplateExpression={},zn=o.ThisExpression={},Yn=o.ThrowStatement={},Hn=o.TryCatchStatement={},Xn=o.TryFinallyStatement={},Zn=o.UnaryExpression={},Kn=o.UpdateExpression={},rn=o.VariableDeclaration={},Jn=o.VariableDeclarationStatement={},En=o.VariableDeclarator={},er=o.WhileStatement={},tr=o.WithStatement={},nr=o.YieldExpression={},rr=o.YieldGeneratorExpression={},gr=b(xt,jn),ir=b(pt,ct);b(Dt,Tt);var sr=b(Jt,en,tn,kt,Lt),un=b(Rt,qn);b(sn,fn);var ar=b(_n,On),yr=b(Nt,Wt,Gt,zt,nn,er),Ht=b(Ct,Qn),or=b(gt,yt),ur=b(An,Fn,$n),Er=b(Nn,Mn),Sr=b(ot,dt,cn),Ar=b(Ft,ur),Pt=b(rt,it,at,lt,ht,At,Tt,St,Mt,fn,cn,Dn,bn,xn,Tn,kn,wn,gr,Pn,Bn,Rn,Un,zn,Zn,Kn,nr,rr),qt=b(Et,vt,Dt,It,Vt,Kt,$t,sn,vn,yr,Cn,In,Vn,Gn,Yn,Hn,Xn,Jn,tr),lr=b(Ar,Ln,Wn);return b(nt,st,ir,ut,or,ft,mt,_t,bt,jt,sr,Bt,Qt,Pt,Xt,Zt,ar,mn,Ht,Yt,Ut,lr,Er,un,hn,qt,an,pn,gn,yn,rn,En,Sr),nt.typeName="ArrayAssignmentTarget",nt.fields=[{name:"type",type:_(k),value:"ArrayAssignmentTarget"},{name:"elements",type:d(c(b(ut,b(b(nt,Yt),b(ot,Ht)))))},{name:"rest",type:c(b(b(nt,Yt),b(ot,Ht)))}],st.typeName="ArrayBinding",st.fields=[{name:"type",type:_(k),value:"ArrayBinding"},{name:"elements",type:d(c(b(ft,b(dt,b(st,Ut)))))},{name:"rest",type:c(b(dt,b(st,Ut)))}],rt.typeName="ArrayExpression",rt.fields=[{name:"type",type:_(k),value:"ArrayExpression"},{name:"elements",type:d(c(b(Pt,hn)))}],it.typeName="ArrowExpression",it.fields=[{name:"type",type:_(k),value:"ArrowExpression"},{name:"isAsync",type:e},{name:"params",type:Xt},{name:"body",type:b(Pt,Zt)}],at.typeName="AssignmentExpression",at.fields=[{name:"type",type:_(k),value:"AssignmentExpression"},{name:"binding",type:b(b(nt,Yt),b(ot,Ht))},{name:"expression",type:Pt}],ot.typeName="AssignmentTargetIdentifier",ot.fields=[{name:"type",type:_(k),value:"AssignmentTargetIdentifier"},{name:"name",type:a}],pt.typeName="AssignmentTargetPropertyIdentifier",pt.fields=[{name:"type",type:_(k),value:"AssignmentTargetPropertyIdentifier"},{name:"binding",type:ot},{name:"init",type:c(Pt)}],ct.typeName="AssignmentTargetPropertyProperty",ct.fields=[{name:"type",type:_(k),value:"AssignmentTargetPropertyProperty"},{name:"name",type:un},{name:"binding",type:b(ut,b(b(nt,Yt),b(ot,Ht)))}],ut.typeName="AssignmentTargetWithDefault",ut.fields=[{name:"type",type:_(k),value:"AssignmentTargetWithDefault"},{name:"binding",type:b(b(nt,Yt),b(ot,Ht))},{name:"init",type:Pt}],lt.typeName="AwaitExpression",lt.fields=[{name:"type",type:_(k),value:"AwaitExpression"},{name:"expression",type:Pt}],ht.typeName="BinaryExpression",ht.fields=[{name:"type",type:_(k),value:"BinaryExpression"},{name:"left",type:Pt},{name:"operator",type:$},{name:"right",type:Pt}],dt.typeName="BindingIdentifier",dt.fields=[{name:"type",type:_(k),value:"BindingIdentifier"},{name:"name",type:a}],gt.typeName="BindingPropertyIdentifier",gt.fields=[{name:"type",type:_(k),value:"BindingPropertyIdentifier"},{name:"binding",type:dt},{name:"init",type:c(Pt)}],yt.typeName="BindingPropertyProperty",yt.fields=[{name:"type",type:_(k),value:"BindingPropertyProperty"},{name:"name",type:un},{name:"binding",type:b(ft,b(dt,b(st,Ut)))}],ft.typeName="BindingWithDefault",ft.fields=[{name:"type",type:_(k),value:"BindingWithDefault"},{name:"binding",type:b(dt,b(st,Ut))},{name:"init",type:Pt}],mt.typeName="Block",mt.fields=[{name:"type",type:_(k),value:"Block"},{name:"statements",type:d(qt)}],Et.typeName="BlockStatement",Et.fields=[{name:"type",type:_(k),value:"BlockStatement"},{name:"block",type:mt}],vt.typeName="BreakStatement",vt.fields=[{name:"type",type:_(k),value:"BreakStatement"},{name:"label",type:c(a)}],At.typeName="CallExpression",At.fields=[{name:"type",type:_(k),value:"CallExpression"},{name:"callee",type:b(Pt,an)},{name:"arguments",type:d(b(Pt,hn))}],_t.typeName="CatchClause",_t.fields=[{name:"type",type:_(k),value:"CatchClause"},{name:"binding",type:b(dt,b(st,Ut))},{name:"body",type:mt}],Dt.typeName="ClassDeclaration",Dt.fields=[{name:"type",type:_(k),value:"ClassDeclaration"},{name:"name",type:dt},{name:"super",type:c(Pt)},{name:"elements",type:d(bt)}],bt.typeName="ClassElement",bt.fields=[{name:"type",type:_(k),value:"ClassElement"},{name:"isStatic",type:e},{name:"method",type:ur}],Tt.typeName="ClassExpression",Tt.fields=[{name:"type",type:_(k),value:"ClassExpression"},{name:"name",type:c(dt)},{name:"super",type:c(Pt)},{name:"elements",type:d(bt)}],St.typeName="CompoundAssignmentExpression",St.fields=[{name:"type",type:_(k),value:"CompoundAssignmentExpression"},{name:"binding",type:b(ot,Ht)},{name:"operator",type:j},{name:"expression",type:Pt}],Ct.typeName="ComputedMemberAssignmentTarget",Ct.fields=[{name:"type",type:_(k),value:"ComputedMemberAssignmentTarget"},{name:"object",type:b(Pt,an)},{name:"expression",type:Pt}],xt.typeName="ComputedMemberExpression",xt.fields=[{name:"type",type:_(k),value:"ComputedMemberExpression"},{name:"object",type:b(Pt,an)},{name:"expression",type:Pt}],Rt.typeName="ComputedPropertyName",Rt.fields=[{name:"type",type:_(k),value:"ComputedPropertyName"},{name:"expression",type:Pt}],Mt.typeName="ConditionalExpression",Mt.fields=[{name:"type",type:_(k),value:"ConditionalExpression"},{name:"test",type:Pt},{name:"consequent",type:Pt},{name:"alternate",type:Pt}],It.typeName="ContinueStatement",It.fields=[{name:"type",type:_(k),value:"ContinueStatement"},{name:"label",type:c(a)}],Ft.typeName="DataProperty",Ft.fields=[{name:"type",type:_(k),value:"DataProperty"},{name:"name",type:un},{name:"expression",type:Pt}],Vt.typeName="DebuggerStatement",Vt.fields=[{name:"type",type:_(k),value:"DebuggerStatement"}],jt.typeName="Directive",jt.fields=[{name:"type",type:_(k),value:"Directive"},{name:"rawValue",type:a}],Nt.typeName="DoWhileStatement",Nt.fields=[{name:"type",type:_(k),value:"DoWhileStatement"},{name:"body",type:qt},{name:"test",type:Pt}],Kt.typeName="EmptyStatement",Kt.fields=[{name:"type",type:_(k),value:"EmptyStatement"}],Jt.typeName="Export",Jt.fields=[{name:"type",type:_(k),value:"Export"},{name:"declaration",type:b(Dt,sn,rn)}],en.typeName="ExportAllFrom",en.fields=[{name:"type",type:_(k),value:"ExportAllFrom"},{name:"moduleSpecifier",type:a}],tn.typeName="ExportDefault",tn.fields=[{name:"type",type:_(k),value:"ExportDefault"},{name:"body",type:b(Dt,Pt,sn)}],kt.typeName="ExportFrom",kt.fields=[{name:"type",type:_(k),value:"ExportFrom"},{name:"namedExports",type:d(Bt)},{name:"moduleSpecifier",type:a}],Bt.typeName="ExportFromSpecifier",Bt.fields=[{name:"type",type:_(k),value:"ExportFromSpecifier"},{name:"name",type:a},{name:"exportedName",type:c(a)}],Qt.typeName="ExportLocalSpecifier",Qt.fields=[{name:"type",type:_(k),value:"ExportLocalSpecifier"},{name:"name",type:cn},{name:"exportedName",type:c(a)}],Lt.typeName="ExportLocals",Lt.fields=[{name:"type",type:_(k),value:"ExportLocals"},{name:"namedExports",type:d(Qt)}],$t.typeName="ExpressionStatement",$t.fields=[{name:"type",type:_(k),value:"ExpressionStatement"},{name:"expression",type:Pt}],Wt.typeName="ForAwaitStatement",Wt.fields=[{name:"type",type:_(k),value:"ForAwaitStatement"},{name:"left",type:b(b(b(nt,Yt),b(ot,Ht)),rn)},{name:"right",type:Pt},{name:"body",type:qt}],Gt.typeName="ForInStatement",Gt.fields=[{name:"type",type:_(k),value:"ForInStatement"},{name:"left",type:b(b(b(nt,Yt),b(ot,Ht)),rn)},{name:"right",type:Pt},{name:"body",type:qt}],zt.typeName="ForOfStatement",zt.fields=[{name:"type",type:_(k),value:"ForOfStatement"},{name:"left",type:b(b(b(nt,Yt),b(ot,Ht)),rn)},{name:"right",type:Pt},{name:"body",type:qt}],nn.typeName="ForStatement",nn.fields=[{name:"type",type:_(k),value:"ForStatement"},{name:"init",type:c(b(Pt,rn))},{name:"test",type:c(Pt)},{name:"update",type:c(Pt)},{name:"body",type:qt}],Xt.typeName="FormalParameters",Xt.fields=[{name:"type",type:_(k),value:"FormalParameters"},{name:"items",type:d(b(ft,b(dt,b(st,Ut))))},{name:"rest",type:c(b(dt,b(st,Ut)))}],Zt.typeName="FunctionBody",Zt.fields=[{name:"type",type:_(k),value:"FunctionBody"},{name:"directives",type:d(jt)},{name:"statements",type:d(qt)}],sn.typeName="FunctionDeclaration",sn.fields=[{name:"type",type:_(k),value:"FunctionDeclaration"},{name:"isAsync",type:e},{name:"isGenerator",type:e},{name:"name",type:dt},{name:"params",type:Xt},{name:"body",type:Zt}],fn.typeName="FunctionExpression",fn.fields=[{name:"type",type:_(k),value:"FunctionExpression"},{name:"isAsync",type:e},{name:"isGenerator",type:e},{name:"name",type:c(dt)},{name:"params",type:Xt},{name:"body",type:Zt}],An.typeName="Getter",An.fields=[{name:"type",type:_(k),value:"Getter"},{name:"name",type:un},{name:"body",type:Zt}],cn.typeName="IdentifierExpression",cn.fields=[{name:"type",type:_(k),value:"IdentifierExpression"},{name:"name",type:a}],vn.typeName="IfStatement",vn.fields=[{name:"type",type:_(k),value:"IfStatement"},{name:"test",type:Pt},{name:"consequent",type:qt},{name:"alternate",type:c(qt)}],_n.typeName="Import",_n.fields=[{name:"type",type:_(k),value:"Import"},{name:"defaultBinding",type:c(dt)},{name:"namedImports",type:d(mn)},{name:"moduleSpecifier",type:a}],On.typeName="ImportNamespace",On.fields=[{name:"type",type:_(k),value:"ImportNamespace"},{name:"defaultBinding",type:c(dt)},{name:"namespaceBinding",type:dt},{name:"moduleSpecifier",type:a}],mn.typeName="ImportSpecifier",mn.fields=[{name:"type",type:_(k),value:"ImportSpecifier"},{name:"name",type:c(a)},{name:"binding",type:dt}],Cn.typeName="LabeledStatement",Cn.fields=[{name:"type",type:_(k),value:"LabeledStatement"},{name:"label",type:a},{name:"body",type:qt}],Dn.typeName="LiteralBooleanExpression",Dn.fields=[{name:"type",type:_(k),value:"LiteralBooleanExpression"},{name:"value",type:e}],bn.typeName="LiteralInfinityExpression",bn.fields=[{name:"type",type:_(k),value:"LiteralInfinityExpression"}],xn.typeName="LiteralNullExpression",xn.fields=[{name:"type",type:_(k),value:"LiteralNullExpression"}],Tn.typeName="LiteralNumericExpression",Tn.fields=[{name:"type",type:_(k),value:"LiteralNumericExpression"},{name:"value",type:s}],kn.typeName="LiteralRegExpExpression",kn.fields=[{name:"type",type:_(k),value:"LiteralRegExpExpression"},{name:"pattern",type:a},{name:"global",type:e},{name:"ignoreCase",type:e},{name:"multiLine",type:e},{name:"dotAll",type:e},{name:"unicode",type:e},{name:"sticky",type:e}],wn.typeName="LiteralStringExpression",wn.fields=[{name:"type",type:_(k),value:"LiteralStringExpression"},{name:"value",type:a}],Fn.typeName="Method",Fn.fields=[{name:"type",type:_(k),value:"Method"},{name:"isAsync",type:e},{name:"isGenerator",type:e},{name:"name",type:un},{name:"params",type:Xt},{name:"body",type:Zt}],Nn.typeName="Module",Nn.fields=[{name:"type",type:_(k),value:"Module"},{name:"directives",type:d(jt)},{name:"items",type:d(b(sr,ar,qt))}],Pn.typeName="NewExpression",Pn.fields=[{name:"type",type:_(k),value:"NewExpression"},{name:"callee",type:Pt},{name:"arguments",type:d(b(Pt,hn))}],Bn.typeName="NewTargetExpression",Bn.fields=[{name:"type",type:_(k),value:"NewTargetExpression"}],Yt.typeName="ObjectAssignmentTarget",Yt.fields=[{name:"type",type:_(k),value:"ObjectAssignmentTarget"},{name:"properties",type:d(ir)},{name:"rest",type:c(b(b(nt,Yt),b(ot,Ht)))}],Ut.typeName="ObjectBinding",Ut.fields=[{name:"type",type:_(k),value:"ObjectBinding"},{name:"properties",type:d(or)},{name:"rest",type:c(b(dt,b(st,Ut)))}],Rn.typeName="ObjectExpression",Rn.fields=[{name:"type",type:_(k),value:"ObjectExpression"},{name:"properties",type:d(lr)}],In.typeName="ReturnStatement",In.fields=[{name:"type",type:_(k),value:"ReturnStatement"},{name:"expression",type:c(Pt)}],Mn.typeName="Script",Mn.fields=[{name:"type",type:_(k),value:"Script"},{name:"directives",type:d(jt)},{name:"statements",type:d(qt)}],$n.typeName="Setter",$n.fields=[{name:"type",type:_(k),value:"Setter"},{name:"name",type:un},{name:"param",type:b(ft,b(dt,b(st,Ut)))},{name:"body",type:Zt}],Ln.typeName="ShorthandProperty",Ln.fields=[{name:"type",type:_(k),value:"ShorthandProperty"},{name:"name",type:cn}],hn.typeName="SpreadElement",hn.fields=[{name:"type",type:_(k),value:"SpreadElement"},{name:"expression",type:Pt}],Wn.typeName="SpreadProperty",Wn.fields=[{name:"type",type:_(k),value:"SpreadProperty"},{name:"expression",type:Pt}],Qn.typeName="StaticMemberAssignmentTarget",Qn.fields=[{name:"type",type:_(k),value:"StaticMemberAssignmentTarget"},{name:"object",type:b(Pt,an)},{name:"property",type:a}],jn.typeName="StaticMemberExpression",jn.fields=[{name:"type",type:_(k),value:"StaticMemberExpression"},{name:"object",type:b(Pt,an)},{name:"property",type:a}],qn.typeName="StaticPropertyName",qn.fields=[{name:"type",type:_(k),value:"StaticPropertyName"},{name:"value",type:a}],an.typeName="Super",an.fields=[{name:"type",type:_(k),value:"Super"}],pn.typeName="SwitchCase",pn.fields=[{name:"type",type:_(k),value:"SwitchCase"},{name:"test",type:Pt},{name:"consequent",type:d(qt)}],gn.typeName="SwitchDefault",gn.fields=[{name:"type",type:_(k),value:"SwitchDefault"},{name:"consequent",type:d(qt)}],Vn.typeName="SwitchStatement",Vn.fields=[{name:"type",type:_(k),value:"SwitchStatement"},{name:"discriminant",type:Pt},{name:"cases",type:d(pn)}],Gn.typeName="SwitchStatementWithDefault",Gn.fields=[{name:"type",type:_(k),value:"SwitchStatementWithDefault"},{name:"discriminant",type:Pt},{name:"preDefaultCases",type:d(pn)},{name:"defaultCase",type:gn},{name:"postDefaultCases",type:d(pn)}],yn.typeName="TemplateElement",yn.fields=[{name:"type",type:_(k),value:"TemplateElement"},{name:"rawValue",type:a}],Un.typeName="TemplateExpression",Un.fields=[{name:"type",type:_(k),value:"TemplateExpression"},{name:"tag",type:c(Pt)},{name:"elements",type:d(b(Pt,yn))}],zn.typeName="ThisExpression",zn.fields=[{name:"type",type:_(k),value:"ThisExpression"}],Yn.typeName="ThrowStatement",Yn.fields=[{name:"type",type:_(k),value:"ThrowStatement"},{name:"expression",type:Pt}],Hn.typeName="TryCatchStatement",Hn.fields=[{name:"type",type:_(k),value:"TryCatchStatement"},{name:"body",type:mt},{name:"catchClause",type:_t}],Xn.typeName="TryFinallyStatement",Xn.fields=[{name:"type",type:_(k),value:"TryFinallyStatement"},{name:"body",type:mt},{name:"catchClause",type:c(_t)},{name:"finalizer",type:mt}],Zn.typeName="UnaryExpression",Zn.fields=[{name:"type",type:_(k),value:"UnaryExpression"},{name:"operator",type:_e},{name:"operand",type:Pt}],Kn.typeName="UpdateExpression",Kn.fields=[{name:"type",type:_(k),value:"UpdateExpression"},{name:"isPrefix",type:e},{name:"operator",type:et},{name:"operand",type:b(ot,Ht)}],rn.typeName="VariableDeclaration",rn.fields=[{name:"type",type:_(k),value:"VariableDeclaration"},{name:"kind",type:tt},{name:"declarators",type:d(En)}],Jn.typeName="VariableDeclarationStatement",Jn.fields=[{name:"type",type:_(k),value:"VariableDeclarationStatement"},{name:"declaration",type:rn}],En.typeName="VariableDeclarator",En.fields=[{name:"type",type:_(k),value:"VariableDeclarator"},{name:"binding",type:b(dt,b(st,Ut))},{name:"init",type:c(Pt)}],er.typeName="WhileStatement",er.fields=[{name:"type",type:_(k),value:"WhileStatement"},{name:"test",type:Pt},{name:"body",type:qt}],tr.typeName="WithStatement",tr.fields=[{name:"type",type:_(k),value:"WithStatement"},{name:"object",type:Pt},{name:"body",type:qt}],nr.typeName="YieldExpression",nr.fields=[{name:"type",type:_(k),value:"YieldExpression"},{name:"expression",type:c(Pt)}],rr.typeName="YieldGeneratorExpression",rr.fields=[{name:"type",type:_(k),value:"YieldGeneratorExpression"},{name:"expression",type:Pt}],o}(),estraverse$1={};(function(o){(function e(s){var a,c,d,_,b,k;function $(ct){var ut={},lt,ht;for(lt in ct)ct.hasOwnProperty(lt)&&(ht=ct[lt],typeof ht=="object"&&ht!==null?ut[lt]=$(ht):ut[lt]=ht);return ut}function j(ct,ut){var lt,ht,dt,gt;for(ht=ct.length,dt=0;ht;)lt=ht>>>1,gt=dt+lt,ut(ct[gt])?ht=lt:(dt=gt+1,ht-=lt+1);return dt}a={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ChainExpression:"ChainExpression",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ComprehensionBlock:"ComprehensionBlock",ComprehensionExpression:"ComprehensionExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DebuggerStatement:"DebuggerStatement",DirectiveStatement:"DirectiveStatement",DoWhileStatement:"DoWhileStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",ForOfStatement:"ForOfStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",GeneratorExpression:"GeneratorExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportExpression:"ImportExpression",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",ModuleSpecifier:"ModuleSpecifier",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",PrivateIdentifier:"PrivateIdentifier",Program:"Program",Property:"Property",PropertyDefinition:"PropertyDefinition",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"},d={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ComprehensionBlock:["left","right"],ComprehensionExpression:["blocks","filter","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DirectiveStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],GeneratorExpression:["blocks","filter","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportExpression:["source"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],ModuleSpecifier:[],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},_={},b={},k={},c={Break:_,Skip:b,Remove:k};function _e(ct,ut){this.parent=ct,this.key=ut}_e.prototype.replace=function(ut){this.parent[this.key]=ut},_e.prototype.remove=function(){return Array.isArray(this.parent)?(this.parent.splice(this.key,1),!0):(this.replace(null),!1)};function et(ct,ut,lt,ht){this.node=ct,this.path=ut,this.wrap=lt,this.ref=ht}function tt(){}tt.prototype.path=function(){var ut,lt,ht,dt,gt,yt;function ft(mt,Et){if(Array.isArray(Et))for(ht=0,dt=Et.length;ht=0;--lt)if(ct[lt].node===ut)return!0;return!1}tt.prototype.traverse=function(ut,lt){var ht,dt,gt,yt,ft,mt,Et,vt,At,_t,Dt,bt;for(this.__initialize(ut,lt),bt={},ht=this.__worklist,dt=this.__leavelist,ht.push(new et(ut,null,null,null)),dt.push(new et(null,null,null,null));ht.length;){if(gt=ht.pop(),gt===bt){if(gt=dt.pop(),mt=this.__execute(lt.leave,gt),this.__state===_||mt===_)return;continue}if(gt.node){if(mt=this.__execute(lt.enter,gt),this.__state===_||mt===_)return;if(ht.push(bt),dt.push(gt),this.__state===b||mt===b)continue;if(yt=gt.node,ft=yt.type||gt.wrap,_t=this.__keys[ft],!_t)if(this.__fallback)_t=this.__fallback(yt);else throw new Error("Unknown node type "+ft+".");for(vt=_t.length;(vt-=1)>=0;)if(Et=_t[vt],Dt=yt[Et],!!Dt){if(Array.isArray(Dt)){for(At=Dt.length;(At-=1)>=0;)if(!!Dt[At]&&!rt(dt,Dt[At])){if(st(ft,_t[vt]))gt=new et(Dt[At],[Et,At],"Property",null);else if(nt(Dt[At]))gt=new et(Dt[At],[Et,At],null,null);else continue;ht.push(gt)}}else if(nt(Dt)){if(rt(dt,Dt))continue;ht.push(new et(Dt,Et,null,null))}}}}},tt.prototype.replace=function(ut,lt){var ht,dt,gt,yt,ft,mt,Et,vt,At,_t,Dt,bt,Tt;function St(Ct){var xt,Rt,Mt,It;if(Ct.ref.remove()){for(Rt=Ct.ref.key,It=Ct.ref.parent,xt=ht.length;xt--;)if(Mt=ht[xt],Mt.ref&&Mt.ref.parent===It){if(Mt.ref.key=0;)if(Tt=At[Et],_t=gt[Tt],!!_t)if(Array.isArray(_t)){for(vt=_t.length;(vt-=1)>=0;)if(!!_t[vt]){if(st(yt,At[Et]))mt=new et(_t[vt],[Tt,vt],"Property",new _e(_t,vt));else if(nt(_t[vt]))mt=new et(_t[vt],[Tt,vt],null,new _e(_t,vt));else continue;ht.push(mt)}}else nt(_t)&&ht.push(new et(_t,Tt,null,new _e(gt,Tt)))}}return bt.root};function it(ct,ut){var lt=new tt;return lt.traverse(ct,ut)}function at(ct,ut){var lt=new tt;return lt.replace(ct,ut)}function ot(ct,ut){var lt;return lt=j(ut,function(dt){return dt.range[0]>ct.range[0]}),ct.extendedRange=[ct.range[0],ct.range[1]],lt!==ut.length&&(ct.extendedRange[1]=ut[lt].range[0]),lt-=1,lt>=0&&(ct.extendedRange[0]=ut[lt].range[1]),ct}function pt(ct,ut,lt){var ht=[],dt,gt,yt,ft;if(!ct.range)throw new Error("attachComments needs range information");if(!lt.length){if(ut.length){for(yt=0,gt=ut.length;ytmt.range[0]));)Et.extendedRange[1]===mt.range[0]?(mt.leadingComments||(mt.leadingComments=[]),mt.leadingComments.push(Et),ht.splice(ft,1)):ft+=1;if(ft===ht.length)return c.Break;if(ht[ft].extendedRange[0]>mt.range[1])return c.Skip}}),ft=0,it(ct,{leave:function(mt){for(var Et;ftmt.range[1])return c.Skip}}),ct}return s.Syntax=a,s.traverse=it,s.replace=at,s.attachComments=pt,s.VisitorKeys=d,s.VisitorOption=c,s.Controller=tt,s.cloneEnvironment=function(){return e({})},s})(o)})(estraverse$1);const Spec=_default.default||_default,estraverse=estraverse$1.cloneEnvironment();Object.keys(estraverse.Syntax).filter(o=>o!=="Property").forEach(o=>{delete estraverse.Syntax[o],delete estraverse.VisitorKeys[o]});Object.assign(estraverse.Syntax,Object.keys(Spec).reduce((o,e)=>(o[e]=e,o),{}));Object.assign(estraverse.VisitorKeys,Object.keys(Spec).reduce((o,e)=>(o[e]=Spec[e].fields.map(s=>s.name),o),{}));var dist$1={},StaticMemberExpression_1,ReturnStatement_1,LiteralStringExpression_1,LiteralNumericExpression_1,IdentifierExpression_1,CallExpression_1,ArrayExpression_1;Object.defineProperty(dist$1,"__esModule",{value:!0});function _classCallCheck$5(o,e){if(!(o instanceof e))throw new TypeError("Cannot call a class as a function")}dist$1.ArrayAssignmentTarget=function o(e){var s=e.elements,a=e.rest;_classCallCheck$5(this,o),this.type="ArrayAssignmentTarget",this.elements=s,this.rest=a};dist$1.ArrayBinding=function o(e){var s=e.elements,a=e.rest;_classCallCheck$5(this,o),this.type="ArrayBinding",this.elements=s,this.rest=a};ArrayExpression_1=dist$1.ArrayExpression=function o(e){var s=e.elements;_classCallCheck$5(this,o),this.type="ArrayExpression",this.elements=s};dist$1.ArrowExpression=function o(e){var s=e.isAsync,a=e.params,c=e.body;_classCallCheck$5(this,o),this.type="ArrowExpression",this.isAsync=s,this.params=a,this.body=c};dist$1.AssignmentExpression=function o(e){var s=e.binding,a=e.expression;_classCallCheck$5(this,o),this.type="AssignmentExpression",this.binding=s,this.expression=a};dist$1.AssignmentTargetIdentifier=function o(e){var s=e.name;_classCallCheck$5(this,o),this.type="AssignmentTargetIdentifier",this.name=s};dist$1.AssignmentTargetPropertyIdentifier=function o(e){var s=e.binding,a=e.init;_classCallCheck$5(this,o),this.type="AssignmentTargetPropertyIdentifier",this.binding=s,this.init=a};dist$1.AssignmentTargetPropertyProperty=function o(e){var s=e.name,a=e.binding;_classCallCheck$5(this,o),this.type="AssignmentTargetPropertyProperty",this.name=s,this.binding=a};dist$1.AssignmentTargetWithDefault=function o(e){var s=e.binding,a=e.init;_classCallCheck$5(this,o),this.type="AssignmentTargetWithDefault",this.binding=s,this.init=a};dist$1.AwaitExpression=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="AwaitExpression",this.expression=s};dist$1.BinaryExpression=function o(e){var s=e.left,a=e.operator,c=e.right;_classCallCheck$5(this,o),this.type="BinaryExpression",this.left=s,this.operator=a,this.right=c};dist$1.BindingIdentifier=function o(e){var s=e.name;_classCallCheck$5(this,o),this.type="BindingIdentifier",this.name=s};dist$1.BindingPropertyIdentifier=function o(e){var s=e.binding,a=e.init;_classCallCheck$5(this,o),this.type="BindingPropertyIdentifier",this.binding=s,this.init=a};dist$1.BindingPropertyProperty=function o(e){var s=e.name,a=e.binding;_classCallCheck$5(this,o),this.type="BindingPropertyProperty",this.name=s,this.binding=a};dist$1.BindingWithDefault=function o(e){var s=e.binding,a=e.init;_classCallCheck$5(this,o),this.type="BindingWithDefault",this.binding=s,this.init=a};dist$1.Block=function o(e){var s=e.statements;_classCallCheck$5(this,o),this.type="Block",this.statements=s};dist$1.BlockStatement=function o(e){var s=e.block;_classCallCheck$5(this,o),this.type="BlockStatement",this.block=s};dist$1.BreakStatement=function o(e){var s=e.label;_classCallCheck$5(this,o),this.type="BreakStatement",this.label=s};CallExpression_1=dist$1.CallExpression=function o(e){var s=e.callee,a=e.arguments;_classCallCheck$5(this,o),this.type="CallExpression",this.callee=s,this.arguments=a};dist$1.CatchClause=function o(e){var s=e.binding,a=e.body;_classCallCheck$5(this,o),this.type="CatchClause",this.binding=s,this.body=a};dist$1.ClassDeclaration=function o(e){var s=e.name,a=e.super,c=e.elements;_classCallCheck$5(this,o),this.type="ClassDeclaration",this.name=s,this.super=a,this.elements=c};dist$1.ClassElement=function o(e){var s=e.isStatic,a=e.method;_classCallCheck$5(this,o),this.type="ClassElement",this.isStatic=s,this.method=a};dist$1.ClassExpression=function o(e){var s=e.name,a=e.super,c=e.elements;_classCallCheck$5(this,o),this.type="ClassExpression",this.name=s,this.super=a,this.elements=c};dist$1.CompoundAssignmentExpression=function o(e){var s=e.binding,a=e.operator,c=e.expression;_classCallCheck$5(this,o),this.type="CompoundAssignmentExpression",this.binding=s,this.operator=a,this.expression=c};dist$1.ComputedMemberAssignmentTarget=function o(e){var s=e.object,a=e.expression;_classCallCheck$5(this,o),this.type="ComputedMemberAssignmentTarget",this.object=s,this.expression=a};dist$1.ComputedMemberExpression=function o(e){var s=e.object,a=e.expression;_classCallCheck$5(this,o),this.type="ComputedMemberExpression",this.object=s,this.expression=a};dist$1.ComputedPropertyName=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="ComputedPropertyName",this.expression=s};dist$1.ConditionalExpression=function o(e){var s=e.test,a=e.consequent,c=e.alternate;_classCallCheck$5(this,o),this.type="ConditionalExpression",this.test=s,this.consequent=a,this.alternate=c};dist$1.ContinueStatement=function o(e){var s=e.label;_classCallCheck$5(this,o),this.type="ContinueStatement",this.label=s};dist$1.DataProperty=function o(e){var s=e.name,a=e.expression;_classCallCheck$5(this,o),this.type="DataProperty",this.name=s,this.expression=a};dist$1.DebuggerStatement=function o(){_classCallCheck$5(this,o),this.type="DebuggerStatement"};dist$1.Directive=function o(e){var s=e.rawValue;_classCallCheck$5(this,o),this.type="Directive",this.rawValue=s};dist$1.DoWhileStatement=function o(e){var s=e.body,a=e.test;_classCallCheck$5(this,o),this.type="DoWhileStatement",this.body=s,this.test=a};dist$1.EmptyStatement=function o(){_classCallCheck$5(this,o),this.type="EmptyStatement"};dist$1.Export=function o(e){var s=e.declaration;_classCallCheck$5(this,o),this.type="Export",this.declaration=s};dist$1.ExportAllFrom=function o(e){var s=e.moduleSpecifier;_classCallCheck$5(this,o),this.type="ExportAllFrom",this.moduleSpecifier=s};dist$1.ExportDefault=function o(e){var s=e.body;_classCallCheck$5(this,o),this.type="ExportDefault",this.body=s};dist$1.ExportFrom=function o(e){var s=e.namedExports,a=e.moduleSpecifier;_classCallCheck$5(this,o),this.type="ExportFrom",this.namedExports=s,this.moduleSpecifier=a};dist$1.ExportFromSpecifier=function o(e){var s=e.name,a=e.exportedName;_classCallCheck$5(this,o),this.type="ExportFromSpecifier",this.name=s,this.exportedName=a};dist$1.ExportLocalSpecifier=function o(e){var s=e.name,a=e.exportedName;_classCallCheck$5(this,o),this.type="ExportLocalSpecifier",this.name=s,this.exportedName=a};dist$1.ExportLocals=function o(e){var s=e.namedExports;_classCallCheck$5(this,o),this.type="ExportLocals",this.namedExports=s};dist$1.ExpressionStatement=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="ExpressionStatement",this.expression=s};dist$1.ForAwaitStatement=function o(e){var s=e.left,a=e.right,c=e.body;_classCallCheck$5(this,o),this.type="ForAwaitStatement",this.left=s,this.right=a,this.body=c};dist$1.ForInStatement=function o(e){var s=e.left,a=e.right,c=e.body;_classCallCheck$5(this,o),this.type="ForInStatement",this.left=s,this.right=a,this.body=c};dist$1.ForOfStatement=function o(e){var s=e.left,a=e.right,c=e.body;_classCallCheck$5(this,o),this.type="ForOfStatement",this.left=s,this.right=a,this.body=c};dist$1.ForStatement=function o(e){var s=e.init,a=e.test,c=e.update,d=e.body;_classCallCheck$5(this,o),this.type="ForStatement",this.init=s,this.test=a,this.update=c,this.body=d};dist$1.FormalParameters=function o(e){var s=e.items,a=e.rest;_classCallCheck$5(this,o),this.type="FormalParameters",this.items=s,this.rest=a};dist$1.FunctionBody=function o(e){var s=e.directives,a=e.statements;_classCallCheck$5(this,o),this.type="FunctionBody",this.directives=s,this.statements=a};dist$1.FunctionDeclaration=function o(e){var s=e.isAsync,a=e.isGenerator,c=e.name,d=e.params,_=e.body;_classCallCheck$5(this,o),this.type="FunctionDeclaration",this.isAsync=s,this.isGenerator=a,this.name=c,this.params=d,this.body=_};dist$1.FunctionExpression=function o(e){var s=e.isAsync,a=e.isGenerator,c=e.name,d=e.params,_=e.body;_classCallCheck$5(this,o),this.type="FunctionExpression",this.isAsync=s,this.isGenerator=a,this.name=c,this.params=d,this.body=_};dist$1.Getter=function o(e){var s=e.name,a=e.body;_classCallCheck$5(this,o),this.type="Getter",this.name=s,this.body=a};IdentifierExpression_1=dist$1.IdentifierExpression=function o(e){var s=e.name;_classCallCheck$5(this,o),this.type="IdentifierExpression",this.name=s};dist$1.IfStatement=function o(e){var s=e.test,a=e.consequent,c=e.alternate;_classCallCheck$5(this,o),this.type="IfStatement",this.test=s,this.consequent=a,this.alternate=c};dist$1.Import=function o(e){var s=e.defaultBinding,a=e.namedImports,c=e.moduleSpecifier;_classCallCheck$5(this,o),this.type="Import",this.defaultBinding=s,this.namedImports=a,this.moduleSpecifier=c};dist$1.ImportNamespace=function o(e){var s=e.defaultBinding,a=e.namespaceBinding,c=e.moduleSpecifier;_classCallCheck$5(this,o),this.type="ImportNamespace",this.defaultBinding=s,this.namespaceBinding=a,this.moduleSpecifier=c};dist$1.ImportSpecifier=function o(e){var s=e.name,a=e.binding;_classCallCheck$5(this,o),this.type="ImportSpecifier",this.name=s,this.binding=a};dist$1.LabeledStatement=function o(e){var s=e.label,a=e.body;_classCallCheck$5(this,o),this.type="LabeledStatement",this.label=s,this.body=a};dist$1.LiteralBooleanExpression=function o(e){var s=e.value;_classCallCheck$5(this,o),this.type="LiteralBooleanExpression",this.value=s};dist$1.LiteralInfinityExpression=function o(){_classCallCheck$5(this,o),this.type="LiteralInfinityExpression"};dist$1.LiteralNullExpression=function o(){_classCallCheck$5(this,o),this.type="LiteralNullExpression"};LiteralNumericExpression_1=dist$1.LiteralNumericExpression=function o(e){var s=e.value;_classCallCheck$5(this,o),this.type="LiteralNumericExpression",this.value=s};dist$1.LiteralRegExpExpression=function o(e){var s=e.pattern,a=e.global,c=e.ignoreCase,d=e.multiLine,_=e.dotAll,b=e.unicode,k=e.sticky;_classCallCheck$5(this,o),this.type="LiteralRegExpExpression",this.pattern=s,this.global=a,this.ignoreCase=c,this.multiLine=d,this.dotAll=_,this.unicode=b,this.sticky=k};LiteralStringExpression_1=dist$1.LiteralStringExpression=function o(e){var s=e.value;_classCallCheck$5(this,o),this.type="LiteralStringExpression",this.value=s};dist$1.Method=function o(e){var s=e.isAsync,a=e.isGenerator,c=e.name,d=e.params,_=e.body;_classCallCheck$5(this,o),this.type="Method",this.isAsync=s,this.isGenerator=a,this.name=c,this.params=d,this.body=_};dist$1.Module=function o(e){var s=e.directives,a=e.items;_classCallCheck$5(this,o),this.type="Module",this.directives=s,this.items=a};dist$1.NewExpression=function o(e){var s=e.callee,a=e.arguments;_classCallCheck$5(this,o),this.type="NewExpression",this.callee=s,this.arguments=a};dist$1.NewTargetExpression=function o(){_classCallCheck$5(this,o),this.type="NewTargetExpression"};dist$1.ObjectAssignmentTarget=function o(e){var s=e.properties,a=e.rest;_classCallCheck$5(this,o),this.type="ObjectAssignmentTarget",this.properties=s,this.rest=a};dist$1.ObjectBinding=function o(e){var s=e.properties,a=e.rest;_classCallCheck$5(this,o),this.type="ObjectBinding",this.properties=s,this.rest=a};dist$1.ObjectExpression=function o(e){var s=e.properties;_classCallCheck$5(this,o),this.type="ObjectExpression",this.properties=s};ReturnStatement_1=dist$1.ReturnStatement=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="ReturnStatement",this.expression=s};dist$1.Script=function o(e){var s=e.directives,a=e.statements;_classCallCheck$5(this,o),this.type="Script",this.directives=s,this.statements=a};dist$1.Setter=function o(e){var s=e.name,a=e.param,c=e.body;_classCallCheck$5(this,o),this.type="Setter",this.name=s,this.param=a,this.body=c};dist$1.ShorthandProperty=function o(e){var s=e.name;_classCallCheck$5(this,o),this.type="ShorthandProperty",this.name=s};dist$1.SpreadElement=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="SpreadElement",this.expression=s};dist$1.SpreadProperty=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="SpreadProperty",this.expression=s};dist$1.StaticMemberAssignmentTarget=function o(e){var s=e.object,a=e.property;_classCallCheck$5(this,o),this.type="StaticMemberAssignmentTarget",this.object=s,this.property=a};StaticMemberExpression_1=dist$1.StaticMemberExpression=function o(e){var s=e.object,a=e.property;_classCallCheck$5(this,o),this.type="StaticMemberExpression",this.object=s,this.property=a};dist$1.StaticPropertyName=function o(e){var s=e.value;_classCallCheck$5(this,o),this.type="StaticPropertyName",this.value=s};dist$1.Super=function o(){_classCallCheck$5(this,o),this.type="Super"};dist$1.SwitchCase=function o(e){var s=e.test,a=e.consequent;_classCallCheck$5(this,o),this.type="SwitchCase",this.test=s,this.consequent=a};dist$1.SwitchDefault=function o(e){var s=e.consequent;_classCallCheck$5(this,o),this.type="SwitchDefault",this.consequent=s};dist$1.SwitchStatement=function o(e){var s=e.discriminant,a=e.cases;_classCallCheck$5(this,o),this.type="SwitchStatement",this.discriminant=s,this.cases=a};dist$1.SwitchStatementWithDefault=function o(e){var s=e.discriminant,a=e.preDefaultCases,c=e.defaultCase,d=e.postDefaultCases;_classCallCheck$5(this,o),this.type="SwitchStatementWithDefault",this.discriminant=s,this.preDefaultCases=a,this.defaultCase=c,this.postDefaultCases=d};dist$1.TemplateElement=function o(e){var s=e.rawValue;_classCallCheck$5(this,o),this.type="TemplateElement",this.rawValue=s};dist$1.TemplateExpression=function o(e){var s=e.tag,a=e.elements;_classCallCheck$5(this,o),this.type="TemplateExpression",this.tag=s,this.elements=a};dist$1.ThisExpression=function o(){_classCallCheck$5(this,o),this.type="ThisExpression"};dist$1.ThrowStatement=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="ThrowStatement",this.expression=s};dist$1.TryCatchStatement=function o(e){var s=e.body,a=e.catchClause;_classCallCheck$5(this,o),this.type="TryCatchStatement",this.body=s,this.catchClause=a};dist$1.TryFinallyStatement=function o(e){var s=e.body,a=e.catchClause,c=e.finalizer;_classCallCheck$5(this,o),this.type="TryFinallyStatement",this.body=s,this.catchClause=a,this.finalizer=c};dist$1.UnaryExpression=function o(e){var s=e.operator,a=e.operand;_classCallCheck$5(this,o),this.type="UnaryExpression",this.operator=s,this.operand=a};dist$1.UpdateExpression=function o(e){var s=e.isPrefix,a=e.operator,c=e.operand;_classCallCheck$5(this,o),this.type="UpdateExpression",this.isPrefix=s,this.operator=a,this.operand=c};dist$1.VariableDeclaration=function o(e){var s=e.kind,a=e.declarators;_classCallCheck$5(this,o),this.type="VariableDeclaration",this.kind=s,this.declarators=a};dist$1.VariableDeclarationStatement=function o(e){var s=e.declaration;_classCallCheck$5(this,o),this.type="VariableDeclarationStatement",this.declaration=s};dist$1.VariableDeclarator=function o(e){var s=e.binding,a=e.init;_classCallCheck$5(this,o),this.type="VariableDeclarator",this.binding=s,this.init=a};dist$1.WhileStatement=function o(e){var s=e.test,a=e.body;_classCallCheck$5(this,o),this.type="WhileStatement",this.test=s,this.body=a};dist$1.WithStatement=function o(e){var s=e.object,a=e.body;_classCallCheck$5(this,o),this.type="WithStatement",this.object=s,this.body=a};dist$1.YieldExpression=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="YieldExpression",this.expression=s};dist$1.YieldGeneratorExpression=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="YieldGeneratorExpression",this.expression=s};var dist={},minimalCodegen={};/* +`.charCodeAt(0),r:"\r".charCodeAt(0),t:" ".charCodeAt(0),v:"\v".charCodeAt(0)},controlCharacters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),hexDigits="0123456789abcdefABCDEF".split(""),decimalDigits="0123456789".split(""),octalDigits="01234567".split(""),INVALID_NAMED_BACKREFERENCE_SENTINEL={};function isIdentifierStart(o){return o<128?_unicode$1.idStartBool[o]:_unicode$1.idStartLargeRegex.test(String.fromCodePoint(o))}function isIdentifierPart(o){return o<128?_unicode$1.idContinueBool[o]:_unicode$1.idContinueLargeRegex.test(String.fromCodePoint(o))}var PatternAcceptorState=function(){function o(e,s){_classCallCheck$h(this,o),this.pattern=e,this.unicode=s,this.index=0,this.largestBackreference=0,this.backreferenceNames=[],this.groupingNames=[],this.capturingGroups=0}return _createClass$d(o,[{key:"empty",value:function(){return this.index>=this.pattern.length}},{key:"backreference",value:function(s){s>this.largestBackreference&&(this.largestBackreference=s)}},{key:"nextCodePoint",value:function(){return this.empty()?null:this.unicode?String.fromCodePoint(this.pattern.codePointAt(this.index)):this.pattern.charAt(this.index)}},{key:"skipCodePoint",value:function(){this.index+=this.nextCodePoint().length}},{key:"eat",value:function(s){return this.index+s.length>this.pattern.length||this.pattern.slice(this.index,this.index+s.length)!==s?!1:(this.index+=s.length,!0)}},{key:"eatIdentifierCodePoint",value:function(){var s=void 0,a=this.index,c=void 0;if(this.match("\\u")){if(this.skipCodePoint(),s=acceptUnicodeEscape(this),!s.matched)return this.index=a,null;s=s.value,c=String.fromCodePoint(s)}else{if(c=this.nextCodePoint(),c==null)return this.index=a,null;this.index+=c.length,s=c.codePointAt(0)}return{character:c,characterValue:s}}},{key:"eatIdentifierStart",value:function(){var s=this.index,a=this.eatIdentifierCodePoint();return a===null?(this.index=s,null):a.character==="_"||a.character==="$"||isIdentifierStart(a.characterValue)?a.character:(this.index=s,null)}},{key:"eatIdentifierPart",value:function(){var s=this.index,a=this.eatIdentifierCodePoint();return a===null?(this.index=s,null):a.character==="\u200C"||a.character==="\u200D"||a.character==="$"||isIdentifierPart(a.characterValue)?a.character:(this.index=s,null)}},{key:"eatAny",value:function(){for(var s=arguments.length,a=Array(s),c=0;c1&&arguments[1]!==void 0?arguments[1]:{},s=e.unicode,a=s===void 0?!1:s,c=new PatternAcceptorState(o,a),d=acceptDisjunction(c);if(d.matched){if(c.unicode&&c.largestBackreference>c.capturingGroups)return!1;if(c.groupingNames.length>0||c.unicode){var _=!0,b=!1,k=void 0;try{for(var $=c.backreferenceNames[Symbol.iterator](),j;!(_=(j=$.next()).done);_=!0){var _e=j.value;if(c.groupingNames.indexOf(_e)===-1)return!1}}catch(et){b=!0,k=et}finally{try{!_&&$.return&&$.return()}finally{if(b)throw k}}}}return d.matched};var backtrackOnFailure=function o(e){return function(s){var a=s.index,c=s.largestBackreference,d=s.capturingGroups,_=e(s);return _.matched||(s.index=a,s.largestBackreference=c,s.capturingGroups=d),_}},acceptUnicodeEscape=backtrackOnFailure(function(o){if(!o.eat("u"))return{matched:!1};if(o.unicode&&o.eat("{")){for(var e=[];!o.eat("}");){var s=o.eatAny.apply(o,_toConsumableArray$6(hexDigits));if(s===null)return{matched:!1};e.push(s)}var a=parseInt(e.join(""),16);return a>1114111?{matched:!1}:{matched:!0,value:a}}var c=[0,0,0,0].map(function(){return o.eatAny.apply(o,_toConsumableArray$6(hexDigits))});if(c.some(function(b){return b===null}))return{matched:!1};var d=parseInt(c.join(""),16);if(o.unicode&&d>=55296&&d<=56319){var _=backtrackOnFailure(function(b){if(!b.eat("\\u"))return{matched:!1};var k=[0,0,0,0].map(function(){return b.eatAny.apply(b,_toConsumableArray$6(hexDigits))});if(k.some(function(j){return j===null}))return{matched:!1};var $=parseInt(k.join(""),16);return $<56320||$>=57344?{matched:!1}:{matched:!0,value:65536+((d&1023)<<10)+($&1023)}})(o);if(_.matched)return _}return{matched:!0,value:d}}),acceptDisjunction=function o(e,s){do{if(s!==void 0&&e.eat(s))return{matched:!0};if(e.match("|"))continue;if(!acceptAlternative(e,s).matched)return{matched:!1}}while(e.eat("|"));return{matched:s===void 0||!!e.eat(s)}},acceptAlternative=function o(e,s){for(;!e.match("|")&&!e.empty()&&(s===void 0||!e.match(s));)if(!acceptTerm(e).matched)return{matched:!1};return{matched:!0}},anyOf=function o(){for(var e=arguments.length,s=Array(e),a=0;aparseInt(_))return{matched:!1}}return c.eat("}")?(c.eat("?"),{matched:!0}):{matched:!1}})(s);return a.matched?a:{matched:!s.unicode}}else s.eatAny("*","+","?")&&s.eat("?");return{matched:!0}})},acceptCharacterExcept=function o(e){return function(s){var a=s.nextCodePoint();return a===null||e.indexOf(a)!==-1?{matched:!1}:(s.skipCodePoint(),{matched:!0})}},acceptPatternCharacter=acceptCharacterExcept(syntaxCharacters),acceptExtendedPatternCharacter=acceptCharacterExcept(extendedSyntaxCharacters),acceptInvalidBracedQuantifier=function o(e){return backtrackOnFailure(function(s){return{matched:!!(s.eat("{")&&acceptDecimal(s).matched&&(!s.eat(",")||s.match("}")||acceptDecimal(s).matched)&&s.eat("}"))}})(e)},acceptAtom=function o(e){if(e.unicode)return anyOf(acceptPatternCharacter,function(a){return{matched:!!a.eat(".")}},backtrackOnFailure(function(a){return a.eat("\\")?acceptAtomEscape(a):{matched:!1}}),acceptCharacterClass,acceptLabeledGroup(function(a){return a.eat("?:")}),acceptGrouping)(e);var s=anyOf(function(a){return{matched:!!a.eat(".")}},backtrackOnFailure(function(a){return a.eat("\\")?acceptAtomEscape(a):{matched:!1}}),backtrackOnFailure(function(a){return{matched:a.eat("\\")&&a.match("c")}}),acceptCharacterClass,acceptLabeledGroup(function(a){return a.eat("?:")}),acceptGrouping)(e);return!s.matched&&acceptInvalidBracedQuantifier(e).matched?{matched:!1}:s.matched?s:acceptExtendedPatternCharacter(e)},acceptGrouping=backtrackOnFailure(function(o){if(!o.eat("("))return{matched:!1};var e=backtrackOnFailure(function(s){return o.eat("?")?acceptGroupName(s):{matched:!1}})(o);if(!acceptDisjunction(o,")").matched)return{matched:!1};if(e.matched){if(o.groupingNames.indexOf(e.data)!==-1)return{matched:!1};o.groupingNames.push(e.data)}return o.capturingGroups++,{matched:!0}}),acceptDecimalEscape=backtrackOnFailure(function(o){var e=o.eatAny.apply(o,_toConsumableArray$6(decimalDigits));return e===null?{matched:!1}:e==="0"?{matched:!0}:(o.backreference(parseInt(e+(o.eatNaturalNumber()||""))),{matched:!0})}),acceptCharacterClassEscape=function o(e){return e.eatAny("d","D","s","S","w","W")?{matched:!0}:e.unicode?backtrackOnFailure(function(s){return!s.eat("p{")&&!s.eat("P{")?{matched:!1}:acceptUnicodePropertyValueExpression(s).matched?{matched:!!s.eat("}")}:{matched:!1}})(e):{matched:!1}},acceptUnicodePropertyName=function o(e){for(var s=[],a=void 0;a=e.eatAny.apply(e,_toConsumableArray$6(controlCharacters).concat(["_"]));)s.push(a);return{matched:s.length>0,data:s.join("")}},acceptUnicodePropertyValue=function o(e){for(var s=[],a=void 0;a=e.eatAny.apply(e,_toConsumableArray$6(controlCharacters).concat(_toConsumableArray$6(decimalDigits),["_"]));)s.push(a);return{matched:s.length>0,data:s.join("")}},illegalLoneUnicodePropertyNames=["General_Category","Script","Script_Extensions","scx","sc","gc"],generalCategoryValues=_mappings2.default.get("General_Category"),acceptLoneUnicodePropertyNameOrValue=function o(e){var s=acceptUnicodePropertyValue(e);return!s.matched||illegalLoneUnicodePropertyNames.includes(s.data)?{matched:!1}:{matched:catchIsFalse(function(){return(0,_unicodeMatchPropertyEcmascript2.default)(s.data)})||generalCategoryValues.get(s.data)!=null}},acceptUnicodePropertyValueExpression=function o(e){return anyOf(backtrackOnFailure(function(s){var a=acceptUnicodePropertyName(s);if(!a.matched||!s.eat("="))return{matched:!1};var c=acceptUnicodePropertyValue(s);return c.matched?{matched:catchIsFalse(function(){return(0,_unicodeMatchPropertyValueEcmascript2.default)(_unicodePropertyAliasesEcmascript2.default.get(a.data)||a.data,c.data)})}:{matched:!1}}),backtrackOnFailure(acceptLoneUnicodePropertyNameOrValue))(e)},acceptCharacterEscape=anyOf(function(o){var e=o.eatAny.apply(o,_toConsumableArray$6(controlEscapeCharacters));return e===null?{matched:!1}:{matched:!0,value:controlEscapeCharacterValues[e]}},backtrackOnFailure(function(o){if(!o.eat("c"))return{matched:!1};var e=o.eatAny.apply(o,_toConsumableArray$6(controlCharacters));return e===null?{matched:!1}:{matched:!0,value:e.charCodeAt(0)%32}}),backtrackOnFailure(function(o){return!o.eat("0")||o.eatAny.apply(o,_toConsumableArray$6(decimalDigits))?{matched:!1}:{matched:!0,value:0}}),backtrackOnFailure(function(o){if(!o.eat("x"))return{matched:!1};var e=[0,0].map(function(){return o.eatAny.apply(o,_toConsumableArray$6(hexDigits))});return e.some(function(s){return s===null})?{matched:!1}:{matched:!0,value:parseInt(e.join(""),16)}}),acceptUnicodeEscape,backtrackOnFailure(function(o){if(o.unicode)return{matched:!1};var e=o.eatAny.apply(o,_toConsumableArray$6(octalDigits));if(e===null)return{matched:!1};var s=parseInt(e,8);if(octalDigits.indexOf(o.nextCodePoint())===-1)return{matched:!0,value:s};var a=o.eatAny.apply(o,_toConsumableArray$6(octalDigits)),c=parseInt(a,8);if(s<4){if(octalDigits.indexOf(o.nextCodePoint())===-1)return{matched:!0,value:s<<3|c};var d=o.eatAny.apply(o,_toConsumableArray$6(octalDigits)),_=parseInt(d,8);return{matched:!0,value:s<<6|c<<3|_}}return{matched:!0,value:s<<3|c}}),backtrackOnFailure(function(o){if(!o.unicode)return{matched:!1};var e=o.eatAny.apply(o,_toConsumableArray$6(syntaxCharacters));return e===null?{matched:!1}:{matched:!0,value:e.charCodeAt(0)}}),function(o){return!o.unicode||!o.eat("/")?{matched:!1}:{matched:!0,value:"/".charCodeAt(0)}},backtrackOnFailure(function(o){if(o.unicode)return{matched:!1};var e=o.nextCodePoint();return e!==null&&e!=="c"&&e!=="k"?(o.skipCodePoint(),{matched:!0,value:e.codePointAt(0)}):{matched:!1}})),acceptGroupNameBackreference=backtrackOnFailure(function(o){if(!o.eat("k"))return{matched:!1};var e=acceptGroupName(o);return e.matched?(o.backreferenceNames.push(e.data),{matched:!0}):(o.backreferenceNames.push(INVALID_NAMED_BACKREFERENCE_SENTINEL),{matched:!0})}),acceptGroupName=backtrackOnFailure(function(o){if(!o.eat("<"))return{matched:!1};var e=[],s=o.eatIdentifierStart();if(!s)return{matched:!1};e.push(s);for(var a=void 0;a=o.eatIdentifierPart();)e.push(a);return o.eat(">")?{matched:e.length>0,data:e.join("")}:{matched:!1}}),acceptAtomEscape=anyOf(acceptDecimalEscape,acceptCharacterClassEscape,acceptCharacterEscape,acceptGroupNameBackreference),acceptCharacterClass=backtrackOnFailure(function(o){if(!o.eat("["))return{matched:!1};o.eat("^");var e=anyOf(function(k){return{matched:!!k.eat("b"),value:8}},function(k){return{matched:k.unicode&&!!k.eat("-"),value:"-".charCodeAt(0)}},backtrackOnFailure(function(k){if(k.unicode||!k.eat("c"))return{matched:!1};var $=k.eatAny.apply(k,_toConsumableArray$6(decimalDigits).concat(["_"]));return $===null?{matched:!1}:{matched:!0,value:$.charCodeAt(0)%32}}),acceptCharacterClassEscape,acceptCharacterEscape,function(k){return{matched:!k.unicode&&!!k.eat("k"),value:107}}),s=function($){var j=$.nextCodePoint();if(j==="]"||j==="-"||j===null)return{matched:!1};if(j!=="\\")return $.skipCodePoint(),{matched:!0,value:j.codePointAt(0)};$.eat("\\");var _e=e($);return!_e.matched&&$.nextCodePoint()==="c"&&!$.unicode?{matched:!0,value:"\\".charCodeAt(0)}:_e},a=function($){return $.eat("-")?{matched:!0,value:"-".charCodeAt(0)}:s($)},c=function($,j){var _e=function(nt){return nt.value===void 0&&nt.matched};if($.eat("-")){if($.match("]"))return{matched:!0};var et=a($);return et.matched?$.unicode&&(_e(j)||_e(et))?{matched:!1}:!(!$.unicode&&(_e(j)||_e(et)))&&j.value>et.value?{matched:!1}:$.match("]")?{matched:!0}:d($):{matched:!1}}return $.match("]")?{matched:!0}:_($)},d=function($){var j=a($);return j.matched?c($,j):{matched:!1}},_=function($){var j=s($);return j.matched?c($,j):{matched:!1}};if(o.eat("]"))return{matched:!0};var b=d(o);return b.matched&&o.eat("]"),b}),dist$5={};Object.defineProperty(dist$5,"__esModule",{value:!0});function _classCallCheck$g(o,e){if(!(o instanceof e))throw new TypeError("Cannot call a class as a function")}dist$5.ArrayAssignmentTarget=function o(e){var s=e.elements,a=e.rest;_classCallCheck$g(this,o),this.type="ArrayAssignmentTarget",this.elements=s,this.rest=a};dist$5.ArrayBinding=function o(e){var s=e.elements,a=e.rest;_classCallCheck$g(this,o),this.type="ArrayBinding",this.elements=s,this.rest=a};dist$5.ArrayExpression=function o(e){var s=e.elements;_classCallCheck$g(this,o),this.type="ArrayExpression",this.elements=s};dist$5.ArrowExpression=function o(e){var s=e.isAsync,a=e.params,c=e.body;_classCallCheck$g(this,o),this.type="ArrowExpression",this.isAsync=s,this.params=a,this.body=c};dist$5.AssignmentExpression=function o(e){var s=e.binding,a=e.expression;_classCallCheck$g(this,o),this.type="AssignmentExpression",this.binding=s,this.expression=a};dist$5.AssignmentTargetIdentifier=function o(e){var s=e.name;_classCallCheck$g(this,o),this.type="AssignmentTargetIdentifier",this.name=s};dist$5.AssignmentTargetPropertyIdentifier=function o(e){var s=e.binding,a=e.init;_classCallCheck$g(this,o),this.type="AssignmentTargetPropertyIdentifier",this.binding=s,this.init=a};dist$5.AssignmentTargetPropertyProperty=function o(e){var s=e.name,a=e.binding;_classCallCheck$g(this,o),this.type="AssignmentTargetPropertyProperty",this.name=s,this.binding=a};dist$5.AssignmentTargetWithDefault=function o(e){var s=e.binding,a=e.init;_classCallCheck$g(this,o),this.type="AssignmentTargetWithDefault",this.binding=s,this.init=a};dist$5.AwaitExpression=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="AwaitExpression",this.expression=s};dist$5.BinaryExpression=function o(e){var s=e.left,a=e.operator,c=e.right;_classCallCheck$g(this,o),this.type="BinaryExpression",this.left=s,this.operator=a,this.right=c};dist$5.BindingIdentifier=function o(e){var s=e.name;_classCallCheck$g(this,o),this.type="BindingIdentifier",this.name=s};dist$5.BindingPropertyIdentifier=function o(e){var s=e.binding,a=e.init;_classCallCheck$g(this,o),this.type="BindingPropertyIdentifier",this.binding=s,this.init=a};dist$5.BindingPropertyProperty=function o(e){var s=e.name,a=e.binding;_classCallCheck$g(this,o),this.type="BindingPropertyProperty",this.name=s,this.binding=a};dist$5.BindingWithDefault=function o(e){var s=e.binding,a=e.init;_classCallCheck$g(this,o),this.type="BindingWithDefault",this.binding=s,this.init=a};dist$5.Block=function o(e){var s=e.statements;_classCallCheck$g(this,o),this.type="Block",this.statements=s};dist$5.BlockStatement=function o(e){var s=e.block;_classCallCheck$g(this,o),this.type="BlockStatement",this.block=s};dist$5.BreakStatement=function o(e){var s=e.label;_classCallCheck$g(this,o),this.type="BreakStatement",this.label=s};dist$5.CallExpression=function o(e){var s=e.callee,a=e.arguments;_classCallCheck$g(this,o),this.type="CallExpression",this.callee=s,this.arguments=a};dist$5.CatchClause=function o(e){var s=e.binding,a=e.body;_classCallCheck$g(this,o),this.type="CatchClause",this.binding=s,this.body=a};dist$5.ClassDeclaration=function o(e){var s=e.name,a=e.super,c=e.elements;_classCallCheck$g(this,o),this.type="ClassDeclaration",this.name=s,this.super=a,this.elements=c};dist$5.ClassElement=function o(e){var s=e.isStatic,a=e.method;_classCallCheck$g(this,o),this.type="ClassElement",this.isStatic=s,this.method=a};dist$5.ClassExpression=function o(e){var s=e.name,a=e.super,c=e.elements;_classCallCheck$g(this,o),this.type="ClassExpression",this.name=s,this.super=a,this.elements=c};dist$5.CompoundAssignmentExpression=function o(e){var s=e.binding,a=e.operator,c=e.expression;_classCallCheck$g(this,o),this.type="CompoundAssignmentExpression",this.binding=s,this.operator=a,this.expression=c};dist$5.ComputedMemberAssignmentTarget=function o(e){var s=e.object,a=e.expression;_classCallCheck$g(this,o),this.type="ComputedMemberAssignmentTarget",this.object=s,this.expression=a};dist$5.ComputedMemberExpression=function o(e){var s=e.object,a=e.expression;_classCallCheck$g(this,o),this.type="ComputedMemberExpression",this.object=s,this.expression=a};dist$5.ComputedPropertyName=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="ComputedPropertyName",this.expression=s};dist$5.ConditionalExpression=function o(e){var s=e.test,a=e.consequent,c=e.alternate;_classCallCheck$g(this,o),this.type="ConditionalExpression",this.test=s,this.consequent=a,this.alternate=c};dist$5.ContinueStatement=function o(e){var s=e.label;_classCallCheck$g(this,o),this.type="ContinueStatement",this.label=s};dist$5.DataProperty=function o(e){var s=e.name,a=e.expression;_classCallCheck$g(this,o),this.type="DataProperty",this.name=s,this.expression=a};dist$5.DebuggerStatement=function o(){_classCallCheck$g(this,o),this.type="DebuggerStatement"};dist$5.Directive=function o(e){var s=e.rawValue;_classCallCheck$g(this,o),this.type="Directive",this.rawValue=s};dist$5.DoWhileStatement=function o(e){var s=e.body,a=e.test;_classCallCheck$g(this,o),this.type="DoWhileStatement",this.body=s,this.test=a};dist$5.EmptyStatement=function o(){_classCallCheck$g(this,o),this.type="EmptyStatement"};dist$5.Export=function o(e){var s=e.declaration;_classCallCheck$g(this,o),this.type="Export",this.declaration=s};dist$5.ExportAllFrom=function o(e){var s=e.moduleSpecifier;_classCallCheck$g(this,o),this.type="ExportAllFrom",this.moduleSpecifier=s};dist$5.ExportDefault=function o(e){var s=e.body;_classCallCheck$g(this,o),this.type="ExportDefault",this.body=s};dist$5.ExportFrom=function o(e){var s=e.namedExports,a=e.moduleSpecifier;_classCallCheck$g(this,o),this.type="ExportFrom",this.namedExports=s,this.moduleSpecifier=a};dist$5.ExportFromSpecifier=function o(e){var s=e.name,a=e.exportedName;_classCallCheck$g(this,o),this.type="ExportFromSpecifier",this.name=s,this.exportedName=a};dist$5.ExportLocalSpecifier=function o(e){var s=e.name,a=e.exportedName;_classCallCheck$g(this,o),this.type="ExportLocalSpecifier",this.name=s,this.exportedName=a};dist$5.ExportLocals=function o(e){var s=e.namedExports;_classCallCheck$g(this,o),this.type="ExportLocals",this.namedExports=s};dist$5.ExpressionStatement=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="ExpressionStatement",this.expression=s};dist$5.ForAwaitStatement=function o(e){var s=e.left,a=e.right,c=e.body;_classCallCheck$g(this,o),this.type="ForAwaitStatement",this.left=s,this.right=a,this.body=c};dist$5.ForInStatement=function o(e){var s=e.left,a=e.right,c=e.body;_classCallCheck$g(this,o),this.type="ForInStatement",this.left=s,this.right=a,this.body=c};dist$5.ForOfStatement=function o(e){var s=e.left,a=e.right,c=e.body;_classCallCheck$g(this,o),this.type="ForOfStatement",this.left=s,this.right=a,this.body=c};dist$5.ForStatement=function o(e){var s=e.init,a=e.test,c=e.update,d=e.body;_classCallCheck$g(this,o),this.type="ForStatement",this.init=s,this.test=a,this.update=c,this.body=d};dist$5.FormalParameters=function o(e){var s=e.items,a=e.rest;_classCallCheck$g(this,o),this.type="FormalParameters",this.items=s,this.rest=a};dist$5.FunctionBody=function o(e){var s=e.directives,a=e.statements;_classCallCheck$g(this,o),this.type="FunctionBody",this.directives=s,this.statements=a};dist$5.FunctionDeclaration=function o(e){var s=e.isAsync,a=e.isGenerator,c=e.name,d=e.params,_=e.body;_classCallCheck$g(this,o),this.type="FunctionDeclaration",this.isAsync=s,this.isGenerator=a,this.name=c,this.params=d,this.body=_};dist$5.FunctionExpression=function o(e){var s=e.isAsync,a=e.isGenerator,c=e.name,d=e.params,_=e.body;_classCallCheck$g(this,o),this.type="FunctionExpression",this.isAsync=s,this.isGenerator=a,this.name=c,this.params=d,this.body=_};dist$5.Getter=function o(e){var s=e.name,a=e.body;_classCallCheck$g(this,o),this.type="Getter",this.name=s,this.body=a};dist$5.IdentifierExpression=function o(e){var s=e.name;_classCallCheck$g(this,o),this.type="IdentifierExpression",this.name=s};dist$5.IfStatement=function o(e){var s=e.test,a=e.consequent,c=e.alternate;_classCallCheck$g(this,o),this.type="IfStatement",this.test=s,this.consequent=a,this.alternate=c};dist$5.Import=function o(e){var s=e.defaultBinding,a=e.namedImports,c=e.moduleSpecifier;_classCallCheck$g(this,o),this.type="Import",this.defaultBinding=s,this.namedImports=a,this.moduleSpecifier=c};dist$5.ImportNamespace=function o(e){var s=e.defaultBinding,a=e.namespaceBinding,c=e.moduleSpecifier;_classCallCheck$g(this,o),this.type="ImportNamespace",this.defaultBinding=s,this.namespaceBinding=a,this.moduleSpecifier=c};dist$5.ImportSpecifier=function o(e){var s=e.name,a=e.binding;_classCallCheck$g(this,o),this.type="ImportSpecifier",this.name=s,this.binding=a};dist$5.LabeledStatement=function o(e){var s=e.label,a=e.body;_classCallCheck$g(this,o),this.type="LabeledStatement",this.label=s,this.body=a};dist$5.LiteralBooleanExpression=function o(e){var s=e.value;_classCallCheck$g(this,o),this.type="LiteralBooleanExpression",this.value=s};dist$5.LiteralInfinityExpression=function o(){_classCallCheck$g(this,o),this.type="LiteralInfinityExpression"};dist$5.LiteralNullExpression=function o(){_classCallCheck$g(this,o),this.type="LiteralNullExpression"};dist$5.LiteralNumericExpression=function o(e){var s=e.value;_classCallCheck$g(this,o),this.type="LiteralNumericExpression",this.value=s};dist$5.LiteralRegExpExpression=function o(e){var s=e.pattern,a=e.global,c=e.ignoreCase,d=e.multiLine,_=e.dotAll,b=e.unicode,k=e.sticky;_classCallCheck$g(this,o),this.type="LiteralRegExpExpression",this.pattern=s,this.global=a,this.ignoreCase=c,this.multiLine=d,this.dotAll=_,this.unicode=b,this.sticky=k};dist$5.LiteralStringExpression=function o(e){var s=e.value;_classCallCheck$g(this,o),this.type="LiteralStringExpression",this.value=s};dist$5.Method=function o(e){var s=e.isAsync,a=e.isGenerator,c=e.name,d=e.params,_=e.body;_classCallCheck$g(this,o),this.type="Method",this.isAsync=s,this.isGenerator=a,this.name=c,this.params=d,this.body=_};dist$5.Module=function o(e){var s=e.directives,a=e.items;_classCallCheck$g(this,o),this.type="Module",this.directives=s,this.items=a};dist$5.NewExpression=function o(e){var s=e.callee,a=e.arguments;_classCallCheck$g(this,o),this.type="NewExpression",this.callee=s,this.arguments=a};dist$5.NewTargetExpression=function o(){_classCallCheck$g(this,o),this.type="NewTargetExpression"};dist$5.ObjectAssignmentTarget=function o(e){var s=e.properties,a=e.rest;_classCallCheck$g(this,o),this.type="ObjectAssignmentTarget",this.properties=s,this.rest=a};dist$5.ObjectBinding=function o(e){var s=e.properties,a=e.rest;_classCallCheck$g(this,o),this.type="ObjectBinding",this.properties=s,this.rest=a};dist$5.ObjectExpression=function o(e){var s=e.properties;_classCallCheck$g(this,o),this.type="ObjectExpression",this.properties=s};dist$5.ReturnStatement=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="ReturnStatement",this.expression=s};dist$5.Script=function o(e){var s=e.directives,a=e.statements;_classCallCheck$g(this,o),this.type="Script",this.directives=s,this.statements=a};dist$5.Setter=function o(e){var s=e.name,a=e.param,c=e.body;_classCallCheck$g(this,o),this.type="Setter",this.name=s,this.param=a,this.body=c};dist$5.ShorthandProperty=function o(e){var s=e.name;_classCallCheck$g(this,o),this.type="ShorthandProperty",this.name=s};dist$5.SpreadElement=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="SpreadElement",this.expression=s};dist$5.SpreadProperty=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="SpreadProperty",this.expression=s};dist$5.StaticMemberAssignmentTarget=function o(e){var s=e.object,a=e.property;_classCallCheck$g(this,o),this.type="StaticMemberAssignmentTarget",this.object=s,this.property=a};dist$5.StaticMemberExpression=function o(e){var s=e.object,a=e.property;_classCallCheck$g(this,o),this.type="StaticMemberExpression",this.object=s,this.property=a};dist$5.StaticPropertyName=function o(e){var s=e.value;_classCallCheck$g(this,o),this.type="StaticPropertyName",this.value=s};dist$5.Super=function o(){_classCallCheck$g(this,o),this.type="Super"};dist$5.SwitchCase=function o(e){var s=e.test,a=e.consequent;_classCallCheck$g(this,o),this.type="SwitchCase",this.test=s,this.consequent=a};dist$5.SwitchDefault=function o(e){var s=e.consequent;_classCallCheck$g(this,o),this.type="SwitchDefault",this.consequent=s};dist$5.SwitchStatement=function o(e){var s=e.discriminant,a=e.cases;_classCallCheck$g(this,o),this.type="SwitchStatement",this.discriminant=s,this.cases=a};dist$5.SwitchStatementWithDefault=function o(e){var s=e.discriminant,a=e.preDefaultCases,c=e.defaultCase,d=e.postDefaultCases;_classCallCheck$g(this,o),this.type="SwitchStatementWithDefault",this.discriminant=s,this.preDefaultCases=a,this.defaultCase=c,this.postDefaultCases=d};dist$5.TemplateElement=function o(e){var s=e.rawValue;_classCallCheck$g(this,o),this.type="TemplateElement",this.rawValue=s};dist$5.TemplateExpression=function o(e){var s=e.tag,a=e.elements;_classCallCheck$g(this,o),this.type="TemplateExpression",this.tag=s,this.elements=a};dist$5.ThisExpression=function o(){_classCallCheck$g(this,o),this.type="ThisExpression"};dist$5.ThrowStatement=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="ThrowStatement",this.expression=s};dist$5.TryCatchStatement=function o(e){var s=e.body,a=e.catchClause;_classCallCheck$g(this,o),this.type="TryCatchStatement",this.body=s,this.catchClause=a};dist$5.TryFinallyStatement=function o(e){var s=e.body,a=e.catchClause,c=e.finalizer;_classCallCheck$g(this,o),this.type="TryFinallyStatement",this.body=s,this.catchClause=a,this.finalizer=c};dist$5.UnaryExpression=function o(e){var s=e.operator,a=e.operand;_classCallCheck$g(this,o),this.type="UnaryExpression",this.operator=s,this.operand=a};dist$5.UpdateExpression=function o(e){var s=e.isPrefix,a=e.operator,c=e.operand;_classCallCheck$g(this,o),this.type="UpdateExpression",this.isPrefix=s,this.operator=a,this.operand=c};dist$5.VariableDeclaration=function o(e){var s=e.kind,a=e.declarators;_classCallCheck$g(this,o),this.type="VariableDeclaration",this.kind=s,this.declarators=a};dist$5.VariableDeclarationStatement=function o(e){var s=e.declaration;_classCallCheck$g(this,o),this.type="VariableDeclarationStatement",this.declaration=s};dist$5.VariableDeclarator=function o(e){var s=e.binding,a=e.init;_classCallCheck$g(this,o),this.type="VariableDeclarator",this.binding=s,this.init=a};dist$5.WhileStatement=function o(e){var s=e.test,a=e.body;_classCallCheck$g(this,o),this.type="WhileStatement",this.test=s,this.body=a};dist$5.WithStatement=function o(e){var s=e.object,a=e.body;_classCallCheck$g(this,o),this.type="WithStatement",this.object=s,this.body=a};dist$5.YieldExpression=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="YieldExpression",this.expression=s};dist$5.YieldGeneratorExpression=function o(e){var s=e.expression;_classCallCheck$g(this,o),this.type="YieldGeneratorExpression",this.expression=s};Object.defineProperty(parser$1,"__esModule",{value:!0});parser$1.GenericParser=void 0;var _createClass$c=function(){function o(e,s){for(var a=0;a":Precedence$1.Relational,"<=":Precedence$1.Relational,">=":Precedence$1.Relational,in:Precedence$1.Relational,instanceof:Precedence$1.Relational,"<<":Precedence$1.BitwiseSHIFT,">>":Precedence$1.BitwiseSHIFT,">>>":Precedence$1.BitwiseSHIFT,"+":Precedence$1.Additive,"-":Precedence$1.Additive,"*":Precedence$1.Multiplicative,"%":Precedence$1.Multiplicative,"/":Precedence$1.Multiplicative};function isValidSimpleAssignmentTarget(o){if(o==null)return!1;switch(o.type){case"IdentifierExpression":case"ComputedMemberExpression":case"StaticMemberExpression":return!0}return!1}function isPrefixOperator(o){switch(o.type){case _tokenizer.TokenType.INC:case _tokenizer.TokenType.DEC:case _tokenizer.TokenType.ADD:case _tokenizer.TokenType.SUB:case _tokenizer.TokenType.BIT_NOT:case _tokenizer.TokenType.NOT:case _tokenizer.TokenType.DELETE:case _tokenizer.TokenType.VOID:case _tokenizer.TokenType.TYPEOF:return!0}return!1}function isUpdateOperator(o){return o.type===_tokenizer.TokenType.INC||o.type===_tokenizer.TokenType.DEC}parser$1.GenericParser=function(o){_inherits$7(e,o);function e(s){_classCallCheck$f(this,e);var a=_possibleConstructorReturn$7(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,s));return a.allowIn=!0,a.inFunctionBody=!1,a.inParameter=!1,a.allowYieldExpression=!1,a.allowAwaitExpression=!1,a.firstAwaitLocation=null,a.module=!1,a.moduleIsTheGoalSymbol=!1,a.strict=!1,a.isBindingElement=!0,a.isAssignmentTarget=!0,a.firstExprError=null,a}return _createClass$c(e,[{key:"match",value:function(a){return this.lookahead.type===a}},{key:"matchIdentifier",value:function(){switch(this.lookahead.type){case _tokenizer.TokenType.IDENTIFIER:case _tokenizer.TokenType.LET:case _tokenizer.TokenType.YIELD:case _tokenizer.TokenType.ASYNC:return!0;case _tokenizer.TokenType.AWAIT:return this.moduleIsTheGoalSymbol?!1:(this.firstAwaitLocation===null&&(this.firstAwaitLocation=this.getLocation()),!0);case _tokenizer.TokenType.ESCAPED_KEYWORD:return this.lookahead.value==="await"&&!this.moduleIsTheGoalSymbol?(this.firstAwaitLocation===null&&(this.firstAwaitLocation=this.getLocation()),!0):this.lookahead.value==="let"||this.lookahead.value==="yield"||this.lookahead.value==="async"}return!1}},{key:"eat",value:function(a){return this.lookahead.type===a?this.lex():null}},{key:"expect",value:function(a){if(this.lookahead.type===a)return this.lex();throw this.createUnexpected(this.lookahead)}},{key:"matchContextualKeyword",value:function(a){return this.lookahead.type===_tokenizer.TokenType.IDENTIFIER&&!this.lookahead.escaped&&this.lookahead.value===a}},{key:"expectContextualKeyword",value:function(a){if(this.lookahead.type===_tokenizer.TokenType.IDENTIFIER&&!this.lookahead.escaped&&this.lookahead.value===a)return this.lex();throw this.createUnexpected(this.lookahead)}},{key:"eatContextualKeyword",value:function(a){return this.lookahead.type===_tokenizer.TokenType.IDENTIFIER&&!this.lookahead.escaped&&this.lookahead.value===a?this.lex():null}},{key:"consumeSemicolon",value:function(){if(!this.eat(_tokenizer.TokenType.SEMICOLON)&&!this.hasLineTerminatorBeforeNext&&!this.eof()&&!this.match(_tokenizer.TokenType.RBRACE))throw this.createUnexpected(this.lookahead)}},{key:"startNode",value:function(a){return a}},{key:"copyNode",value:function(a,c){return c}},{key:"finishNode",value:function(a){return a}},{key:"parseModule",value:function(){this.moduleIsTheGoalSymbol=this.module=this.strict=!0,this.lookahead=this.advance();var a=this.startNode(),c=this.parseBody(),d=c.directives,_=c.statements;if(!this.match(_tokenizer.TokenType.EOS))throw this.createUnexpected(this.lookahead);return this.finishNode(new AST.Module({directives:d,items:_}),a)}},{key:"parseScript",value:function(){this.lookahead=this.advance();var a=this.startNode(),c=this.parseBody(),d=c.directives,_=c.statements;if(!this.match(_tokenizer.TokenType.EOS))throw this.createUnexpected(this.lookahead);return this.finishNode(new AST.Script({directives:d,statements:_}),a)}},{key:"parseFunctionBody",value:function(){var a=this.inFunctionBody,c=this.module,d=this.strict;this.inFunctionBody=!0,this.module=!1;var _=this.startNode();this.expect(_tokenizer.TokenType.LBRACE);var b=new AST.FunctionBody(this.parseBody());return this.expect(_tokenizer.TokenType.RBRACE),b=this.finishNode(b,_),this.inFunctionBody=a,this.module=c,this.strict=d,b}},{key:"parseBody",value:function(){for(var a=[],c=[],d=!0,_=null;!(this.eof()||this.match(_tokenizer.TokenType.RBRACE));){var b=this.lookahead,k=b.slice.text,$=b.type===_tokenizer.TokenType.STRING,j=this.module,_e=this.getLocation(),et=this.startNode(),tt=j?this.parseModuleItem():this.parseStatementListItem();if(d)if($&&tt.type==="ExpressionStatement"&&tt.expression.type==="LiteralStringExpression"){!_&&b.octal&&(_=this.createErrorWithLocation(_e,"Unexpected legacy octal escape sequence: \\"+b.octal));var nt=k.slice(1,-1);nt==="use strict"&&(this.strict=!0),a.push(this.finishNode(new AST.Directive({rawValue:nt}),et))}else{if(d=!1,_&&this.strict)throw _;c.push(tt)}else c.push(tt)}if(_&&this.strict)throw _;return{directives:a,statements:c}}},{key:"parseImportSpecifier",value:function(){var a=this.startNode(),c=void 0;if(this.matchIdentifier()){if(c=this.parseIdentifier(),!this.eatContextualKeyword("as"))return this.finishNode(new AST.ImportSpecifier({name:null,binding:this.finishNode(new AST.BindingIdentifier({name:c}),a)}),a)}else this.lookahead.type.klass.isIdentifierName&&(c=this.parseIdentifierName(),this.expectContextualKeyword("as"));return this.finishNode(new AST.ImportSpecifier({name:c,binding:this.parseBindingIdentifier()}),a)}},{key:"parseNameSpaceBinding",value:function(){return this.expect(_tokenizer.TokenType.MUL),this.expectContextualKeyword("as"),this.parseBindingIdentifier()}},{key:"parseNamedImports",value:function(){var a=[];for(this.expect(_tokenizer.TokenType.LBRACE);!this.eat(_tokenizer.TokenType.RBRACE);)if(a.push(this.parseImportSpecifier()),!this.eat(_tokenizer.TokenType.COMMA)){this.expect(_tokenizer.TokenType.RBRACE);break}return a}},{key:"parseFromClause",value:function(){this.expectContextualKeyword("from");var a=this.expect(_tokenizer.TokenType.STRING).str;return a}},{key:"parseImportDeclaration",value:function(){var a=this.startNode(),c=null,d=void 0;if(this.expect(_tokenizer.TokenType.IMPORT),this.match(_tokenizer.TokenType.STRING))return d=this.lex().str,this.consumeSemicolon(),this.finishNode(new AST.Import({defaultBinding:null,namedImports:[],moduleSpecifier:d}),a);if(this.matchIdentifier()&&(c=this.parseBindingIdentifier(),!this.eat(_tokenizer.TokenType.COMMA))){var _=new AST.Import({defaultBinding:c,namedImports:[],moduleSpecifier:this.parseFromClause()});return this.consumeSemicolon(),this.finishNode(_,a)}if(this.match(_tokenizer.TokenType.MUL)){var b=new AST.ImportNamespace({defaultBinding:c,namespaceBinding:this.parseNameSpaceBinding(),moduleSpecifier:this.parseFromClause()});return this.consumeSemicolon(),this.finishNode(b,a)}else if(this.match(_tokenizer.TokenType.LBRACE)){var k=new AST.Import({defaultBinding:c,namedImports:this.parseNamedImports(),moduleSpecifier:this.parseFromClause()});return this.consumeSemicolon(),this.finishNode(k,a)}throw this.createUnexpected(this.lookahead)}},{key:"parseExportSpecifier",value:function(){var a=this.startNode(),c=this.finishNode({type:EXPORT_UNKNOWN_SPECIFIER,isIdentifier:this.matchIdentifier(),value:this.parseIdentifierName()},a);if(this.eatContextualKeyword("as")){var d=this.parseIdentifierName();return this.finishNode({name:c,exportedName:d},a)}return this.finishNode({name:c,exportedName:null},a)}},{key:"parseExportClause",value:function(){this.expect(_tokenizer.TokenType.LBRACE);for(var a=[];!this.eat(_tokenizer.TokenType.RBRACE);)if(a.push(this.parseExportSpecifier()),!this.eat(_tokenizer.TokenType.COMMA)){this.expect(_tokenizer.TokenType.RBRACE);break}return a}},{key:"parseExportDeclaration",value:function(){var a=this,c=this.startNode(),d=void 0;switch(this.expect(_tokenizer.TokenType.EXPORT),this.lookahead.type){case _tokenizer.TokenType.MUL:this.lex(),d=new AST.ExportAllFrom({moduleSpecifier:this.parseFromClause()}),this.consumeSemicolon();break;case _tokenizer.TokenType.LBRACE:{var _=this.parseExportClause(),b=null;this.matchContextualKeyword("from")?(b=this.parseFromClause(),d=new AST.ExportFrom({namedExports:_.map(function(_e){return a.copyNode(_e,new AST.ExportFromSpecifier({name:_e.name.value,exportedName:_e.exportedName}))}),moduleSpecifier:b})):(_.forEach(function(_e){var et=_e.name;if(!et.isIdentifier)throw a.createError(_errors$1.ErrorMessages.ILLEGAL_EXPORTED_NAME)}),d=new AST.ExportLocals({namedExports:_.map(function(_e){return a.copyNode(_e,new AST.ExportLocalSpecifier({name:a.copyNode(_e.name,new AST.IdentifierExpression({name:_e.name.value})),exportedName:_e.exportedName}))})})),this.consumeSemicolon();break}case _tokenizer.TokenType.CLASS:d=new AST.Export({declaration:this.parseClass({isExpr:!1,inDefault:!1})});break;case _tokenizer.TokenType.FUNCTION:d=new AST.Export({declaration:this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!0,isAsync:!1})});break;case _tokenizer.TokenType.ASYNC:{var k=this.startNode();this.lex(),d=new AST.Export({declaration:this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!0,isAsync:!0,startState:k})});break}case _tokenizer.TokenType.DEFAULT:switch(this.lex(),this.lookahead.type){case _tokenizer.TokenType.FUNCTION:d=new AST.ExportDefault({body:this.parseFunction({isExpr:!1,inDefault:!0,allowGenerator:!0,isAsync:!1})});break;case _tokenizer.TokenType.CLASS:d=new AST.ExportDefault({body:this.parseClass({isExpr:!1,inDefault:!0})});break;case _tokenizer.TokenType.ASYNC:{var $=this.startNode(),j=this.saveLexerState();if(this.lex(),!this.hasLineTerminatorBeforeNext&&this.match(_tokenizer.TokenType.FUNCTION)){d=new AST.ExportDefault({body:this.parseFunction({isExpr:!1,inDefault:!0,allowGenerator:!1,isAsync:!0,startState:$})});break}this.restoreLexerState(j)}default:d=new AST.ExportDefault({body:this.parseAssignmentExpression()}),this.consumeSemicolon();break}break;case _tokenizer.TokenType.VAR:case _tokenizer.TokenType.LET:case _tokenizer.TokenType.CONST:d=new AST.Export({declaration:this.parseVariableDeclaration(!0)}),this.consumeSemicolon();break;default:throw this.createUnexpected(this.lookahead)}return this.finishNode(d,c)}},{key:"parseModuleItem",value:function(){switch(this.lookahead.type){case _tokenizer.TokenType.IMPORT:return this.parseImportDeclaration();case _tokenizer.TokenType.EXPORT:return this.parseExportDeclaration();default:return this.parseStatementListItem()}}},{key:"lookaheadLexicalDeclaration",value:function(){if(this.match(_tokenizer.TokenType.LET)||this.match(_tokenizer.TokenType.CONST)){var a=this.saveLexerState();if(this.lex(),this.matchIdentifier()||this.match(_tokenizer.TokenType.LBRACE)||this.match(_tokenizer.TokenType.LBRACK))return this.restoreLexerState(a),!0;this.restoreLexerState(a)}return!1}},{key:"parseStatementListItem",value:function(){if(this.eof())throw this.createUnexpected(this.lookahead);switch(this.lookahead.type){case _tokenizer.TokenType.FUNCTION:return this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!0,isAsync:!1});case _tokenizer.TokenType.CLASS:return this.parseClass({isExpr:!1,inDefault:!1});case _tokenizer.TokenType.ASYNC:{var a=this.getLocation(),c=this.saveLexerState();return this.lex(),!this.hasLineTerminatorBeforeNext&&this.match(_tokenizer.TokenType.FUNCTION)?this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!0,isAsync:!0,startState:a}):(this.restoreLexerState(c),this.parseStatement())}default:if(this.lookaheadLexicalDeclaration()){var d=this.startNode();return this.finishNode(this.parseVariableDeclarationStatement(),d)}return this.parseStatement()}}},{key:"parseStatement",value:function(){var a=this.startNode(),c=this.isolateCoverGrammar(this.parseStatementHelper);return this.finishNode(c,a)}},{key:"parseStatementHelper",value:function(){if(this.eof())throw this.createUnexpected(this.lookahead);switch(this.lookahead.type){case _tokenizer.TokenType.SEMICOLON:return this.parseEmptyStatement();case _tokenizer.TokenType.LBRACE:return this.parseBlockStatement();case _tokenizer.TokenType.LPAREN:return this.parseExpressionStatement();case _tokenizer.TokenType.BREAK:return this.parseBreakStatement();case _tokenizer.TokenType.CONTINUE:return this.parseContinueStatement();case _tokenizer.TokenType.DEBUGGER:return this.parseDebuggerStatement();case _tokenizer.TokenType.DO:return this.parseDoWhileStatement();case _tokenizer.TokenType.FOR:return this.parseForStatement();case _tokenizer.TokenType.IF:return this.parseIfStatement();case _tokenizer.TokenType.RETURN:return this.parseReturnStatement();case _tokenizer.TokenType.SWITCH:return this.parseSwitchStatement();case _tokenizer.TokenType.THROW:return this.parseThrowStatement();case _tokenizer.TokenType.TRY:return this.parseTryStatement();case _tokenizer.TokenType.VAR:return this.parseVariableDeclarationStatement();case _tokenizer.TokenType.WHILE:return this.parseWhileStatement();case _tokenizer.TokenType.WITH:return this.parseWithStatement();case _tokenizer.TokenType.FUNCTION:case _tokenizer.TokenType.CLASS:throw this.createUnexpected(this.lookahead);default:{var a=this.saveLexerState();if(this.eat(_tokenizer.TokenType.LET)){if(this.match(_tokenizer.TokenType.LBRACK))throw this.restoreLexerState(a),this.createUnexpected(this.lookahead);this.restoreLexerState(a)}else if(this.eat(_tokenizer.TokenType.ASYNC)){if(!this.hasLineTerminatorBeforeNext&&this.match(_tokenizer.TokenType.FUNCTION))throw this.createUnexpected(this.lookahead);this.restoreLexerState(a)}var c=this.parseExpression();if(c.type==="IdentifierExpression"&&this.eat(_tokenizer.TokenType.COLON)){var d=this.match(_tokenizer.TokenType.FUNCTION)?this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!1,isAsync:!1}):this.parseStatement();return new AST.LabeledStatement({label:c.name,body:d})}return this.consumeSemicolon(),new AST.ExpressionStatement({expression:c})}}}},{key:"parseEmptyStatement",value:function(){return this.lex(),new AST.EmptyStatement}},{key:"parseBlockStatement",value:function(){return new AST.BlockStatement({block:this.parseBlock()})}},{key:"parseExpressionStatement",value:function(){var a=this.parseExpression();return this.consumeSemicolon(),new AST.ExpressionStatement({expression:a})}},{key:"parseBreakStatement",value:function(){if(this.lex(),this.eat(_tokenizer.TokenType.SEMICOLON)||this.hasLineTerminatorBeforeNext)return new AST.BreakStatement({label:null});var a=null;return this.matchIdentifier()&&(a=this.parseIdentifier()),this.consumeSemicolon(),new AST.BreakStatement({label:a})}},{key:"parseContinueStatement",value:function(){if(this.lex(),this.eat(_tokenizer.TokenType.SEMICOLON)||this.hasLineTerminatorBeforeNext)return new AST.ContinueStatement({label:null});var a=null;return this.matchIdentifier()&&(a=this.parseIdentifier()),this.consumeSemicolon(),new AST.ContinueStatement({label:a})}},{key:"parseDebuggerStatement",value:function(){return this.lex(),this.consumeSemicolon(),new AST.DebuggerStatement}},{key:"parseDoWhileStatement",value:function(){this.lex();var a=this.parseStatement();this.expect(_tokenizer.TokenType.WHILE),this.expect(_tokenizer.TokenType.LPAREN);var c=this.parseExpression();return this.expect(_tokenizer.TokenType.RPAREN),this.eat(_tokenizer.TokenType.SEMICOLON),new AST.DoWhileStatement({body:a,test:c})}},{key:"parseForStatement",value:function(){this.lex();var a=this.allowAwaitExpression&&this.eat(_tokenizer.TokenType.AWAIT);this.expect(_tokenizer.TokenType.LPAREN);var c=null,d=null;if(a&&this.match(_tokenizer.TokenType.SEMICOLON))throw this.createUnexpected(this.lookahead);if(this.eat(_tokenizer.TokenType.SEMICOLON))return this.match(_tokenizer.TokenType.SEMICOLON)||(c=this.parseExpression()),this.expect(_tokenizer.TokenType.SEMICOLON),this.match(_tokenizer.TokenType.RPAREN)||(d=this.parseExpression()),new AST.ForStatement({init:null,test:c,update:d,body:this.getIteratorStatementEpilogue()});var _=this.match(_tokenizer.TokenType.LET),b=this.lookaheadLexicalDeclaration(),k=this.startNode();if(this.match(_tokenizer.TokenType.VAR)||b){var $=this.allowIn;this.allowIn=!1;var j=this.parseVariableDeclaration(!1);if(this.allowIn=$,j.declarators.length===1&&(this.match(_tokenizer.TokenType.IN)||this.matchContextualKeyword("of"))){var _e=void 0,et=j.declarators[0];if(this.match(_tokenizer.TokenType.IN)){if(a)throw this.createUnexpected(this.lookahead);if(et.init!==null&&(this.strict||j.kind!=="var"||et.binding.type!=="BindingIdentifier"))throw this.createError(_errors$1.ErrorMessages.INVALID_VAR_INIT_FOR_IN);_e=AST.ForInStatement,this.lex(),d=this.parseExpression()}else{if(et.init!==null)throw this.createError(a?_errors$1.ErrorMessages.INVALID_VAR_INIT_FOR_AWAIT:_errors$1.ErrorMessages.INVALID_VAR_INIT_FOR_OF);a?_e=AST.ForAwaitStatement:_e=AST.ForOfStatement,this.lex(),d=this.parseAssignmentExpression()}var tt=this.getIteratorStatementEpilogue();return new _e({left:j,right:d,body:tt})}else if(a)throw this.createUnexpected(this.lookahead);if(this.expect(_tokenizer.TokenType.SEMICOLON),j.declarators.some(function(at){return at.binding.type!=="BindingIdentifier"&&at.init===null}))throw this.createError(_errors$1.ErrorMessages.UNINITIALIZED_BINDINGPATTERN_IN_FOR_INIT);return this.match(_tokenizer.TokenType.SEMICOLON)||(c=this.parseExpression()),this.expect(_tokenizer.TokenType.SEMICOLON),this.match(_tokenizer.TokenType.RPAREN)||(d=this.parseExpression()),new AST.ForStatement({init:j,test:c,update:d,body:this.getIteratorStatementEpilogue()})}var nt=this.allowIn;this.allowIn=!1;var it=this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget);if(this.allowIn=nt,this.isAssignmentTarget&&it.type!=="AssignmentExpression"&&(this.match(_tokenizer.TokenType.IN)||this.matchContextualKeyword("of"))){if((it.type==="ObjectAssignmentTarget"||it.type==="ArrayAssignmentTarget")&&(this.firstExprError=null),_&&this.matchContextualKeyword("of"))throw this.createError(a?_errors$1.ErrorMessages.INVALID_LHS_IN_FOR_AWAIT:_errors$1.ErrorMessages.INVALID_LHS_IN_FOR_OF);var rt=void 0;if(this.match(_tokenizer.TokenType.IN)){if(a)throw this.createUnexpected(this.lookahead);rt=AST.ForInStatement,this.lex(),d=this.parseExpression()}else a?rt=AST.ForAwaitStatement:rt=AST.ForOfStatement,this.lex(),d=this.parseAssignmentExpression();return new rt({left:this.transformDestructuring(it),right:d,body:this.getIteratorStatementEpilogue()})}else if(a)throw this.createError(_errors$1.ErrorMessages.INVALID_LHS_IN_FOR_AWAIT);if(this.firstExprError)throw this.firstExprError;for(;this.eat(_tokenizer.TokenType.COMMA);){var st=this.parseAssignmentExpression();it=this.finishNode(new AST.BinaryExpression({left:it,operator:",",right:st}),k)}if(this.match(_tokenizer.TokenType.IN))throw this.createError(_errors$1.ErrorMessages.INVALID_LHS_IN_FOR_IN);if(this.matchContextualKeyword("of"))throw this.createError(_errors$1.ErrorMessages.INVALID_LHS_IN_FOR_OF);return this.expect(_tokenizer.TokenType.SEMICOLON),this.match(_tokenizer.TokenType.SEMICOLON)||(c=this.parseExpression()),this.expect(_tokenizer.TokenType.SEMICOLON),this.match(_tokenizer.TokenType.RPAREN)||(d=this.parseExpression()),new AST.ForStatement({init:it,test:c,update:d,body:this.getIteratorStatementEpilogue()})}},{key:"getIteratorStatementEpilogue",value:function(){this.expect(_tokenizer.TokenType.RPAREN);var a=this.parseStatement();return a}},{key:"parseIfStatementChild",value:function(){return this.match(_tokenizer.TokenType.FUNCTION)?this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!1,isAsync:!1}):this.parseStatement()}},{key:"parseIfStatement",value:function(){this.lex(),this.expect(_tokenizer.TokenType.LPAREN);var a=this.parseExpression();this.expect(_tokenizer.TokenType.RPAREN);var c=this.parseIfStatementChild(),d=null;return this.eat(_tokenizer.TokenType.ELSE)&&(d=this.parseIfStatementChild()),new AST.IfStatement({test:a,consequent:c,alternate:d})}},{key:"parseReturnStatement",value:function(){if(!this.inFunctionBody)throw this.createError(_errors$1.ErrorMessages.ILLEGAL_RETURN);if(this.lex(),this.eat(_tokenizer.TokenType.SEMICOLON)||this.hasLineTerminatorBeforeNext)return new AST.ReturnStatement({expression:null});var a=null;return!this.match(_tokenizer.TokenType.RBRACE)&&!this.eof()&&(a=this.parseExpression()),this.consumeSemicolon(),new AST.ReturnStatement({expression:a})}},{key:"parseSwitchStatement",value:function(){this.lex(),this.expect(_tokenizer.TokenType.LPAREN);var a=this.parseExpression();if(this.expect(_tokenizer.TokenType.RPAREN),this.expect(_tokenizer.TokenType.LBRACE),this.eat(_tokenizer.TokenType.RBRACE))return new AST.SwitchStatement({discriminant:a,cases:[]});var c=this.parseSwitchCases();if(this.match(_tokenizer.TokenType.DEFAULT)){var d=this.parseSwitchDefault(),_=this.parseSwitchCases();if(this.match(_tokenizer.TokenType.DEFAULT))throw this.createError(_errors$1.ErrorMessages.MULTIPLE_DEFAULTS_IN_SWITCH);return this.expect(_tokenizer.TokenType.RBRACE),new AST.SwitchStatementWithDefault({discriminant:a,preDefaultCases:c,defaultCase:d,postDefaultCases:_})}return this.expect(_tokenizer.TokenType.RBRACE),new AST.SwitchStatement({discriminant:a,cases:c})}},{key:"parseSwitchCases",value:function(){for(var a=[];!(this.eof()||this.match(_tokenizer.TokenType.RBRACE)||this.match(_tokenizer.TokenType.DEFAULT));)a.push(this.parseSwitchCase());return a}},{key:"parseSwitchCase",value:function(){var a=this.startNode();return this.expect(_tokenizer.TokenType.CASE),this.finishNode(new AST.SwitchCase({test:this.parseExpression(),consequent:this.parseSwitchCaseBody()}),a)}},{key:"parseSwitchDefault",value:function(){var a=this.startNode();return this.expect(_tokenizer.TokenType.DEFAULT),this.finishNode(new AST.SwitchDefault({consequent:this.parseSwitchCaseBody()}),a)}},{key:"parseSwitchCaseBody",value:function(){return this.expect(_tokenizer.TokenType.COLON),this.parseStatementListInSwitchCaseBody()}},{key:"parseStatementListInSwitchCaseBody",value:function(){for(var a=[];!(this.eof()||this.match(_tokenizer.TokenType.RBRACE)||this.match(_tokenizer.TokenType.DEFAULT)||this.match(_tokenizer.TokenType.CASE));)a.push(this.parseStatementListItem());return a}},{key:"parseThrowStatement",value:function(){var a=this.lex();if(this.hasLineTerminatorBeforeNext)throw this.createErrorWithLocation(a,_errors$1.ErrorMessages.NEWLINE_AFTER_THROW);var c=this.parseExpression();return this.consumeSemicolon(),new AST.ThrowStatement({expression:c})}},{key:"parseTryStatement",value:function(){this.lex();var a=this.parseBlock();if(this.match(_tokenizer.TokenType.CATCH)){var c=this.parseCatchClause();if(this.eat(_tokenizer.TokenType.FINALLY)){var d=this.parseBlock();return new AST.TryFinallyStatement({body:a,catchClause:c,finalizer:d})}return new AST.TryCatchStatement({body:a,catchClause:c})}if(this.eat(_tokenizer.TokenType.FINALLY)){var _=this.parseBlock();return new AST.TryFinallyStatement({body:a,catchClause:null,finalizer:_})}throw this.createError(_errors$1.ErrorMessages.NO_CATCH_OR_FINALLY)}},{key:"parseVariableDeclarationStatement",value:function(){var a=this.parseVariableDeclaration(!0);return this.consumeSemicolon(),new AST.VariableDeclarationStatement({declaration:a})}},{key:"parseWhileStatement",value:function(){this.lex(),this.expect(_tokenizer.TokenType.LPAREN);var a=this.parseExpression(),c=this.getIteratorStatementEpilogue();return new AST.WhileStatement({test:a,body:c})}},{key:"parseWithStatement",value:function(){this.lex(),this.expect(_tokenizer.TokenType.LPAREN);var a=this.parseExpression();this.expect(_tokenizer.TokenType.RPAREN);var c=this.parseStatement();return new AST.WithStatement({object:a,body:c})}},{key:"parseCatchClause",value:function(){var a=this.startNode();if(this.lex(),this.expect(_tokenizer.TokenType.LPAREN),this.match(_tokenizer.TokenType.RPAREN)||this.match(_tokenizer.TokenType.LPAREN))throw this.createUnexpected(this.lookahead);var c=this.parseBindingTarget();this.expect(_tokenizer.TokenType.RPAREN);var d=this.parseBlock();return this.finishNode(new AST.CatchClause({binding:c,body:d}),a)}},{key:"parseBlock",value:function(){var a=this.startNode();this.expect(_tokenizer.TokenType.LBRACE);for(var c=[];!this.match(_tokenizer.TokenType.RBRACE);)c.push(this.parseStatementListItem());return this.expect(_tokenizer.TokenType.RBRACE),this.finishNode(new AST.Block({statements:c}),a)}},{key:"parseVariableDeclaration",value:function(a){var c=this.startNode(),d=this.lex(),_=d.type===_tokenizer.TokenType.VAR?"var":d.type===_tokenizer.TokenType.CONST?"const":"let",b=this.parseVariableDeclaratorList(a);return this.finishNode(new AST.VariableDeclaration({kind:_,declarators:b}),c)}},{key:"parseVariableDeclaratorList",value:function(a){var c=[];do c.push(this.parseVariableDeclarator(a));while(this.eat(_tokenizer.TokenType.COMMA));return c}},{key:"parseVariableDeclarator",value:function(a){var c=this.startNode();if(this.match(_tokenizer.TokenType.LPAREN))throw this.createUnexpected(this.lookahead);var d=this.allowIn;this.allowIn=!0;var _=this.parseBindingTarget();this.allowIn=d,a&&_.type!=="BindingIdentifier"&&!this.match(_tokenizer.TokenType.ASSIGN)&&this.expect(_tokenizer.TokenType.ASSIGN);var b=null;return this.eat(_tokenizer.TokenType.ASSIGN)&&(b=this.parseAssignmentExpression()),this.finishNode(new AST.VariableDeclarator({binding:_,init:b}),c)}},{key:"isolateCoverGrammar",value:function(a){var c=this.isBindingElement,d=this.isAssignmentTarget,_=this.firstExprError,b=void 0;if(this.isBindingElement=this.isAssignmentTarget=!0,this.firstExprError=null,b=a.call(this),this.firstExprError!==null)throw this.firstExprError;return this.isBindingElement=c,this.isAssignmentTarget=d,this.firstExprError=_,b}},{key:"inheritCoverGrammar",value:function(a){var c=this.isBindingElement,d=this.isAssignmentTarget,_=this.firstExprError,b=void 0;return this.isBindingElement=this.isAssignmentTarget=!0,this.firstExprError=null,b=a.call(this),this.isBindingElement=this.isBindingElement&&c,this.isAssignmentTarget=this.isAssignmentTarget&&d,this.firstExprError=_||this.firstExprError,b}},{key:"parseExpression",value:function(){var a=this.startNode(),c=this.parseAssignmentExpression();if(this.match(_tokenizer.TokenType.COMMA))for(;!this.eof()&&this.match(_tokenizer.TokenType.COMMA);){this.lex();var d=this.parseAssignmentExpression();c=this.finishNode(new AST.BinaryExpression({left:c,operator:",",right:d}),a)}return c}},{key:"finishArrowParams",value:function(a){var c=a.params,d=c===void 0?null:c,_=a.rest,b=_===void 0?null:_;if(a.type!==ARROW_EXPRESSION_PARAMS)if(a.type==="IdentifierExpression")d=[this.targetToBinding(this.transformDestructuring(a))];else throw this.createUnexpected(this.lookahead);return this.copyNode(a,new AST.FormalParameters({items:d,rest:b}))}},{key:"parseArrowExpressionTail",value:function(a,c,d){this.expect(_tokenizer.TokenType.ARROW);var _=this.allowYieldExpression,b=this.allowAwaitExpression,k=this.firstAwaitLocation;this.allowYieldExpression=!1,this.allowAwaitExpression=c,this.firstAwaitLocation=null;var $=void 0;if(this.match(_tokenizer.TokenType.LBRACE)){var j=this.allowIn;this.allowIn=!0,$=this.parseFunctionBody(),this.allowIn=j}else $=this.parseAssignmentExpression();return this.allowYieldExpression=_,this.allowAwaitExpression=b,this.firstAwaitLocation=k,this.finishNode(new AST.ArrowExpression({isAsync:c,params:a,body:$}),d)}},{key:"parseAssignmentExpression",value:function(){return this.isolateCoverGrammar(this.parseAssignmentExpressionOrTarget)}},{key:"parseAssignmentExpressionOrTarget",value:function(){var a=this.startNode();if(this.allowYieldExpression&&this.match(_tokenizer.TokenType.YIELD))return this.isBindingElement=this.isAssignmentTarget=!1,this.parseYieldExpression();var c=this.parseConditionalExpression();if(!this.hasLineTerminatorBeforeNext&&this.match(_tokenizer.TokenType.ARROW)){this.isBindingElement=this.isAssignmentTarget=!1,this.firstExprError=null;var d=c.type===ARROW_EXPRESSION_PARAMS&&c.isAsync;return this.parseArrowExpressionTail(this.finishArrowParams(c),d,a)}var _=!1,b=this.lookahead;switch(b.type){case _tokenizer.TokenType.ASSIGN_BIT_OR:case _tokenizer.TokenType.ASSIGN_BIT_XOR:case _tokenizer.TokenType.ASSIGN_BIT_AND:case _tokenizer.TokenType.ASSIGN_SHL:case _tokenizer.TokenType.ASSIGN_SHR:case _tokenizer.TokenType.ASSIGN_SHR_UNSIGNED:case _tokenizer.TokenType.ASSIGN_ADD:case _tokenizer.TokenType.ASSIGN_SUB:case _tokenizer.TokenType.ASSIGN_MUL:case _tokenizer.TokenType.ASSIGN_DIV:case _tokenizer.TokenType.ASSIGN_MOD:case _tokenizer.TokenType.ASSIGN_EXP:_=!0;break}if(_){if(!this.isAssignmentTarget||!isValidSimpleAssignmentTarget(c))throw this.createError(_errors$1.ErrorMessages.INVALID_LHS_IN_ASSIGNMENT);c=this.transformDestructuring(c)}else if(b.type===_tokenizer.TokenType.ASSIGN){if(!this.isAssignmentTarget)throw this.createError(_errors$1.ErrorMessages.INVALID_LHS_IN_ASSIGNMENT);c=this.transformDestructuring(c)}else return c;this.lex();var k=this.parseAssignmentExpression();this.firstExprError=null;var $=void 0;return b.type===_tokenizer.TokenType.ASSIGN?$=new AST.AssignmentExpression({binding:c,expression:k}):($=new AST.CompoundAssignmentExpression({binding:c,operator:b.type.name,expression:k}),this.isBindingElement=this.isAssignmentTarget=!1),this.finishNode($,a)}},{key:"targetToBinding",value:function(a){var c=this;if(a===null)return null;switch(a.type){case"AssignmentTargetIdentifier":return this.copyNode(a,new AST.BindingIdentifier({name:a.name}));case"ArrayAssignmentTarget":return this.copyNode(a,new AST.ArrayBinding({elements:a.elements.map(function(d){return c.targetToBinding(d)}),rest:this.targetToBinding(a.rest)}));case"ObjectAssignmentTarget":return this.copyNode(a,new AST.ObjectBinding({properties:a.properties.map(function(d){return c.targetToBinding(d)}),rest:this.targetToBinding(a.rest)}));case"AssignmentTargetPropertyIdentifier":return this.copyNode(a,new AST.BindingPropertyIdentifier({binding:this.targetToBinding(a.binding),init:a.init}));case"AssignmentTargetPropertyProperty":return this.copyNode(a,new AST.BindingPropertyProperty({name:a.name,binding:this.targetToBinding(a.binding)}));case"AssignmentTargetWithDefault":return this.copyNode(a,new AST.BindingWithDefault({binding:this.targetToBinding(a.binding),init:a.init}))}throw new Error("Not reached")}},{key:"transformDestructuring",value:function(a){var c=this;switch(a.type){case"DataProperty":return this.copyNode(a,new AST.AssignmentTargetPropertyProperty({name:a.name,binding:this.transformDestructuringWithDefault(a.expression)}));case"ShorthandProperty":return this.copyNode(a,new AST.AssignmentTargetPropertyIdentifier({binding:this.copyNode(a,new AST.AssignmentTargetIdentifier({name:a.name.name})),init:null}));case"ObjectExpression":{var d=a.properties.length>0?a.properties[a.properties.length-1]:void 0;return d!=null&&d.type==="SpreadProperty"?this.copyNode(a,new AST.ObjectAssignmentTarget({properties:a.properties.slice(0,-1).map(function(b){return b&&c.transformDestructuringWithDefault(b)}),rest:this.transformDestructuring(d.expression)})):this.copyNode(a,new AST.ObjectAssignmentTarget({properties:a.properties.map(function(b){return b&&c.transformDestructuringWithDefault(b)}),rest:null}))}case"ArrayExpression":{var _=a.elements[a.elements.length-1];return _!=null&&_.type==="SpreadElement"?this.copyNode(a,new AST.ArrayAssignmentTarget({elements:a.elements.slice(0,-1).map(function(b){return b&&c.transformDestructuringWithDefault(b)}),rest:this.copyNode(_.expression,this.transformDestructuring(_.expression))})):this.copyNode(a,new AST.ArrayAssignmentTarget({elements:a.elements.map(function(b){return b&&c.transformDestructuringWithDefault(b)}),rest:null}))}case"IdentifierExpression":return this.copyNode(a,new AST.AssignmentTargetIdentifier({name:a.name}));case"StaticPropertyName":return this.copyNode(a,new AST.AssignmentTargetIdentifier({name:a.value}));case"ComputedMemberExpression":return this.copyNode(a,new AST.ComputedMemberAssignmentTarget({object:a.object,expression:a.expression}));case"StaticMemberExpression":return this.copyNode(a,new AST.StaticMemberAssignmentTarget({object:a.object,property:a.property}));case"ArrayAssignmentTarget":case"ObjectAssignmentTarget":case"ComputedMemberAssignmentTarget":case"StaticMemberAssignmentTarget":case"AssignmentTargetIdentifier":case"AssignmentTargetPropertyIdentifier":case"AssignmentTargetPropertyProperty":case"AssignmentTargetWithDefault":return a}throw new Error("Not reached")}},{key:"transformDestructuringWithDefault",value:function(a){switch(a.type){case"AssignmentExpression":return this.copyNode(a,new AST.AssignmentTargetWithDefault({binding:this.transformDestructuring(a.binding),init:a.expression}))}return this.transformDestructuring(a)}},{key:"lookaheadAssignmentExpression",value:function(){if(this.matchIdentifier())return!0;switch(this.lookahead.type){case _tokenizer.TokenType.ADD:case _tokenizer.TokenType.ASSIGN_DIV:case _tokenizer.TokenType.BIT_NOT:case _tokenizer.TokenType.CLASS:case _tokenizer.TokenType.DEC:case _tokenizer.TokenType.DELETE:case _tokenizer.TokenType.DIV:case _tokenizer.TokenType.FALSE:case _tokenizer.TokenType.FUNCTION:case _tokenizer.TokenType.INC:case _tokenizer.TokenType.LBRACE:case _tokenizer.TokenType.LBRACK:case _tokenizer.TokenType.LPAREN:case _tokenizer.TokenType.NEW:case _tokenizer.TokenType.NOT:case _tokenizer.TokenType.NULL:case _tokenizer.TokenType.NUMBER:case _tokenizer.TokenType.STRING:case _tokenizer.TokenType.SUB:case _tokenizer.TokenType.SUPER:case _tokenizer.TokenType.THIS:case _tokenizer.TokenType.TRUE:case _tokenizer.TokenType.TYPEOF:case _tokenizer.TokenType.VOID:case _tokenizer.TokenType.TEMPLATE:return!0}return!1}},{key:"parseYieldExpression",value:function(){var a=this.startNode();if(this.lex(),this.hasLineTerminatorBeforeNext)return this.finishNode(new AST.YieldExpression({expression:null}),a);var c=!!this.eat(_tokenizer.TokenType.MUL),d=null;(c||this.lookaheadAssignmentExpression())&&(d=this.parseAssignmentExpression());var _=c?AST.YieldGeneratorExpression:AST.YieldExpression;return this.finishNode(new _({expression:d}),a)}},{key:"parseConditionalExpression",value:function(){var a=this.startNode(),c=this.parseBinaryExpression();if(this.firstExprError)return c;if(this.eat(_tokenizer.TokenType.CONDITIONAL)){this.isBindingElement=this.isAssignmentTarget=!1;var d=this.allowIn;this.allowIn=!0;var _=this.isolateCoverGrammar(this.parseAssignmentExpression);this.allowIn=d,this.expect(_tokenizer.TokenType.COLON);var b=this.isolateCoverGrammar(this.parseAssignmentExpression);return this.finishNode(new AST.ConditionalExpression({test:c,consequent:_,alternate:b}),a)}return c}},{key:"isBinaryOperator",value:function(a){switch(a){case _tokenizer.TokenType.OR:case _tokenizer.TokenType.AND:case _tokenizer.TokenType.BIT_OR:case _tokenizer.TokenType.BIT_XOR:case _tokenizer.TokenType.BIT_AND:case _tokenizer.TokenType.EQ:case _tokenizer.TokenType.NE:case _tokenizer.TokenType.EQ_STRICT:case _tokenizer.TokenType.NE_STRICT:case _tokenizer.TokenType.LT:case _tokenizer.TokenType.GT:case _tokenizer.TokenType.LTE:case _tokenizer.TokenType.GTE:case _tokenizer.TokenType.INSTANCEOF:case _tokenizer.TokenType.SHL:case _tokenizer.TokenType.SHR:case _tokenizer.TokenType.SHR_UNSIGNED:case _tokenizer.TokenType.ADD:case _tokenizer.TokenType.SUB:case _tokenizer.TokenType.MUL:case _tokenizer.TokenType.DIV:case _tokenizer.TokenType.MOD:return!0;case _tokenizer.TokenType.IN:return this.allowIn;default:return!1}}},{key:"parseBinaryExpression",value:function(){var a=this,c=this.startNode(),d=this.parseExponentiationExpression();if(this.firstExprError)return d;var _=this.lookahead.type;if(!this.isBinaryOperator(_))return d;this.isBindingElement=this.isAssignmentTarget=!1,this.lex();var b=[];b.push({startState:c,left:d,operator:_,precedence:BinaryPrecedence$1[_.name]}),c=this.startNode();var k=this.isolateCoverGrammar(this.parseExponentiationExpression);for(_=this.lookahead.type;this.isBinaryOperator(_);){for(var $=BinaryPrecedence$1[_.name];b.length&&$<=b[b.length-1].precedence;){var j=b[b.length-1],_e=j.operator;d=j.left,b.pop(),c=j.startState,k=this.finishNode(new AST.BinaryExpression({left:d,operator:_e.name,right:k}),c)}this.lex(),b.push({startState:c,left:k,operator:_,precedence:$}),c=this.startNode(),k=this.isolateCoverGrammar(this.parseExponentiationExpression),_=this.lookahead.type}return b.reduceRight(function(et,tt){return a.finishNode(new AST.BinaryExpression({left:tt.left,operator:tt.operator.name,right:et}),tt.startState)},k)}},{key:"parseExponentiationExpression",value:function(){var a=this.startNode(),c=this.lookahead.type===_tokenizer.TokenType.LPAREN,d=this.parseUnaryExpression();if(this.lookahead.type!==_tokenizer.TokenType.EXP)return d;if(d.type==="UnaryExpression"&&!c)throw this.createError(_errors$1.ErrorMessages.INVALID_EXPONENTIATION_LHS);this.lex(),this.isBindingElement=this.isAssignmentTarget=!1;var _=this.isolateCoverGrammar(this.parseExponentiationExpression);return this.finishNode(new AST.BinaryExpression({left:d,operator:"**",right:_}),a)}},{key:"parseUnaryExpression",value:function(){if(this.lookahead.type.klass!==_tokenizer.TokenClass.Punctuator&&this.lookahead.type.klass!==_tokenizer.TokenClass.Keyword)return this.parseUpdateExpression();var a=this.startNode();if(this.allowAwaitExpression&&this.eat(_tokenizer.TokenType.AWAIT)){this.isBindingElement=this.isAssignmentTarget=!1;var c=this.isolateCoverGrammar(this.parseUnaryExpression);return this.finishNode(new AST.AwaitExpression({expression:c}),a)}var d=this.lookahead;if(!isPrefixOperator(d))return this.parseUpdateExpression();this.lex(),this.isBindingElement=this.isAssignmentTarget=!1;var _=void 0;if(isUpdateOperator(d)){var b=this.getLocation(),k=this.isolateCoverGrammar(this.parseUnaryExpression);if(!isValidSimpleAssignmentTarget(k))throw this.createErrorWithLocation(b,_errors$1.ErrorMessages.INVALID_UPDATE_OPERAND);k=this.transformDestructuring(k),_=new AST.UpdateExpression({isPrefix:!0,operator:d.value,operand:k})}else{var $=this.isolateCoverGrammar(this.parseUnaryExpression);_=new AST.UnaryExpression({operator:d.value,operand:$})}return this.finishNode(_,a)}},{key:"parseUpdateExpression",value:function(){var a=this.getLocation(),c=this.startNode(),d=this.parseLeftHandSideExpression({allowCall:!0});if(this.firstExprError||this.hasLineTerminatorBeforeNext)return d;var _=this.lookahead;if(!isUpdateOperator(_))return d;if(this.lex(),this.isBindingElement=this.isAssignmentTarget=!1,!isValidSimpleAssignmentTarget(d))throw this.createErrorWithLocation(a,_errors$1.ErrorMessages.INVALID_UPDATE_OPERAND);return d=this.transformDestructuring(d),this.finishNode(new AST.UpdateExpression({isPrefix:!1,operator:_.value,operand:d}),c)}},{key:"parseLeftHandSideExpression",value:function(a){var c=this,d=a.allowCall,_=this.startNode(),b=this.allowIn;this.allowIn=!0;var k=void 0,$=this.lookahead;if(this.eat(_tokenizer.TokenType.SUPER))if(this.isBindingElement=!1,this.isAssignmentTarget=!1,k=this.finishNode(new AST.Super,_),this.match(_tokenizer.TokenType.LPAREN))if(d)k=this.finishNode(new AST.CallExpression({callee:k,arguments:this.parseArgumentList().args}),_);else throw this.createUnexpected($);else if(this.match(_tokenizer.TokenType.LBRACK))k=this.finishNode(new AST.ComputedMemberExpression({object:k,expression:this.parseComputedMember()}),_),this.isAssignmentTarget=!0;else if(this.match(_tokenizer.TokenType.PERIOD))k=this.finishNode(new AST.StaticMemberExpression({object:k,property:this.parseStaticMember()}),_),this.isAssignmentTarget=!0;else throw this.createUnexpected($);else if(this.match(_tokenizer.TokenType.NEW))this.isBindingElement=this.isAssignmentTarget=!1,k=this.parseNewExpression();else if(this.match(_tokenizer.TokenType.ASYNC)){if(k=this.parsePrimaryExpression(),k.type==="IdentifierExpression"&&d&&!this.hasLineTerminatorBeforeNext){if(this.matchIdentifier()){var j=this.startNode(),_e=this.allowAwaitExpression;this.allowAwaitExpression=!0;var et=this.parseBindingIdentifier();return this.allowAwaitExpression=_e,this.ensureArrow(),this.finishNode({type:ARROW_EXPRESSION_PARAMS,params:[et],rest:null,isAsync:!0},j)}if(this.match(_tokenizer.TokenType.LPAREN)){var tt=this.startNode(),nt=this.firstAwaitLocation;this.firstAwaitLocation=null;var it=this.parseArgumentList(),rt=it.args,st=it.locationFollowingFirstSpread;if(this.isBindingElement&&!this.hasLineTerminatorBeforeNext&&this.match(_tokenizer.TokenType.ARROW)){if(st!==null)throw this.createErrorWithLocation(st,_errors$1.ErrorMessages.UNEXPECTED_TOKEN(","));if(this.firstAwaitLocation!==null)throw this.createErrorWithLocation(this.firstAwaitLocation,_errors$1.ErrorMessages.NO_AWAIT_IN_ASYNC_PARAMS);var at=null;if(rt.length>0&&rt[rt.length-1].type==="SpreadElement"){if(at=this.targetToBinding(this.transformDestructuringWithDefault(rt[rt.length-1].expression)),at.init!=null)throw this.createError(_errors$1.ErrorMessages.UNEXPECTED_REST_PARAMETERS_INITIALIZATION);rt=rt.slice(0,-1)}var ot=rt.map(function(pt){return c.targetToBinding(c.transformDestructuringWithDefault(pt))});return this.finishNode({type:ARROW_EXPRESSION_PARAMS,params:ot,rest:at,isAsync:!0},tt)}this.firstAwaitLocation=nt||this.firstAwaitLocation,this.isBindingElement=this.isAssignmentTarget=!1,k=this.finishNode(new AST.CallExpression({callee:k,arguments:rt}),_)}}}else if(k=this.parsePrimaryExpression(),this.firstExprError)return k;for(;;)if(d&&this.match(_tokenizer.TokenType.LPAREN))this.isBindingElement=this.isAssignmentTarget=!1,k=this.finishNode(new AST.CallExpression({callee:k,arguments:this.parseArgumentList().args}),_);else if(this.match(_tokenizer.TokenType.LBRACK))this.isBindingElement=!1,this.isAssignmentTarget=!0,k=this.finishNode(new AST.ComputedMemberExpression({object:k,expression:this.parseComputedMember()}),_);else if(this.match(_tokenizer.TokenType.PERIOD))this.isBindingElement=!1,this.isAssignmentTarget=!0,k=this.finishNode(new AST.StaticMemberExpression({object:k,property:this.parseStaticMember()}),_);else if(this.match(_tokenizer.TokenType.TEMPLATE))this.isBindingElement=this.isAssignmentTarget=!1,k=this.finishNode(new AST.TemplateExpression({tag:k,elements:this.parseTemplateElements()}),_);else break;return this.allowIn=b,k}},{key:"parseTemplateElements",value:function(){var a=this.startNode(),c=this.lookahead;if(c.tail)return this.lex(),[this.finishNode(new AST.TemplateElement({rawValue:c.slice.text.slice(1,-1)}),a)];for(var d=[this.finishNode(new AST.TemplateElement({rawValue:this.lex().slice.text.slice(1,-2)}),a)];;){if(d.push(this.parseExpression()),!this.match(_tokenizer.TokenType.RBRACE))throw this.createILLEGAL();if(this.index=this.startIndex,this.line=this.startLine,this.lineStart=this.startLineStart,this.lookahead=this.scanTemplateElement(),a=this.startNode(),c=this.lex(),c.tail)return d.push(this.finishNode(new AST.TemplateElement({rawValue:c.slice.text.slice(1,-1)}),a)),d;d.push(this.finishNode(new AST.TemplateElement({rawValue:c.slice.text.slice(1,-2)}),a))}}},{key:"parseStaticMember",value:function(){if(this.lex(),this.lookahead.type.klass.isIdentifierName)return this.lex().value;throw this.createUnexpected(this.lookahead)}},{key:"parseComputedMember",value:function(){this.lex();var a=this.parseExpression();return this.expect(_tokenizer.TokenType.RBRACK),a}},{key:"parseNewExpression",value:function(){var a=this,c=this.startNode();if(this.lex(),this.eat(_tokenizer.TokenType.PERIOD))return this.expectContextualKeyword("target"),this.finishNode(new AST.NewTargetExpression,c);var d=this.isolateCoverGrammar(function(){return a.parseLeftHandSideExpression({allowCall:!1})});return this.finishNode(new AST.NewExpression({callee:d,arguments:this.match(_tokenizer.TokenType.LPAREN)?this.parseArgumentList().args:[]}),c)}},{key:"parseRegexFlags",value:function(a){for(var c=!1,d=!1,_=!1,b=!1,k=!1,$=!1,j=0;j1?e-1:0),a=1;a1&&c.slice(1).forEach(function(d){a.addError(s(d))})}),this}},{key:"enforceConflictingLexicallyDeclaredNames",value:function(s,a){var c=this;return this.lexicallyDeclaredNames.forEachEntry(function(d,_){s.has(_)&&d.forEach(function(b){c.addError(a(b))})}),this}},{key:"observeFunctionDeclaration",value:function(){return this.observeVarBoundary(),addEach(this.functionDeclarationNames,this.boundNames),this.boundNames=new _multimap2.default,this}},{key:"functionDeclarationNamesAreLexical",value:function(){return addEach(this.lexicallyDeclaredNames,this.functionDeclarationNames),this.functionDeclarationNames=new _multimap2.default,this}},{key:"observeVarDeclaration",value:function(){return addEach(this.varDeclaredNames,this.boundNames),this.boundNames=new _multimap2.default,this}},{key:"recordForOfVars",value:function(){var s=this;return this.varDeclaredNames.forEach(function(a){s.forOfVarDeclaredNames.push(a)}),this}},{key:"observeVarBoundary",value:function(){return this.lexicallyDeclaredNames=new _multimap2.default,this.functionDeclarationNames=new _multimap2.default,this.varDeclaredNames=new _multimap2.default,this.forOfVarDeclaredNames=[],this}},{key:"exportName",value:function(s,a){return this.exportedNames.set(s,a),this}},{key:"exportDeclaredNames",value:function(){return addEach(this.exportedNames,this.lexicallyDeclaredNames,this.varDeclaredNames),addEach(this.exportedBindings,this.lexicallyDeclaredNames,this.varDeclaredNames),this}},{key:"exportBinding",value:function(s,a){return this.exportedBindings.set(s,a),this}},{key:"clearExportedBindings",value:function(){return this.exportedBindings=new _multimap2.default,this}},{key:"observeYieldExpression",value:function(s){return this.yieldExpressions.push(s),this}},{key:"clearYieldExpressions",value:function(){return this.yieldExpressions=[],this}},{key:"observeAwaitExpression",value:function(s){return this.awaitExpressions.push(s),this}},{key:"clearAwaitExpressions",value:function(){return this.awaitExpressions=[],this}},{key:"addError",value:function(s){return this.errors.push(s),this}},{key:"addStrictError",value:function(s){return this.strictErrors.push(s),this}},{key:"enforceStrictErrors",value:function(){return[].push.apply(this.errors,this.strictErrors),this.strictErrors=[],this}},{key:"concat",value:function(s){return this===identity?s:s===identity?this:([].push.apply(this.errors,s.errors),[].push.apply(this.strictErrors,s.strictErrors),[].push.apply(this.usedLabelNames,s.usedLabelNames),[].push.apply(this.freeBreakStatements,s.freeBreakStatements),[].push.apply(this.freeContinueStatements,s.freeContinueStatements),[].push.apply(this.freeLabeledBreakStatements,s.freeLabeledBreakStatements),[].push.apply(this.freeLabeledContinueStatements,s.freeLabeledContinueStatements),[].push.apply(this.newTargetExpressions,s.newTargetExpressions),addEach(this.boundNames,s.boundNames),addEach(this.lexicallyDeclaredNames,s.lexicallyDeclaredNames),addEach(this.functionDeclarationNames,s.functionDeclarationNames),addEach(this.varDeclaredNames,s.varDeclaredNames),[].push.apply(this.forOfVarDeclaredNames,s.forOfVarDeclaredNames),addEach(this.exportedNames,s.exportedNames),addEach(this.exportedBindings,s.exportedBindings),[].push.apply(this.superCallExpressions,s.superCallExpressions),[].push.apply(this.superCallExpressionsInConstructorMethod,s.superCallExpressionsInConstructorMethod),[].push.apply(this.superPropertyExpressions,s.superPropertyExpressions),[].push.apply(this.yieldExpressions,s.yieldExpressions),[].push.apply(this.awaitExpressions,s.awaitExpressions),this)}}],[{key:"empty",value:function(){return identity}}]),o}();identity=new EarlyErrorState;Object.getOwnPropertyNames(EarlyErrorState.prototype).forEach(function(o){o!=="constructor"&&Object.defineProperty(identity,o,{value:function(){return EarlyErrorState.prototype[o].apply(new EarlyErrorState,arguments)},enumerable:!1,writable:!0,configurable:!0})});earlyErrorState.EarlyError=function(o){_inherits$4(e,o);function e(s,a){_classCallCheck$7(this,e);var c=_possibleConstructorReturn$4(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a));return c.node=s,c.message=a,c}return e}(Error);Object.defineProperty(earlyErrors,"__esModule",{value:!0});earlyErrors.EarlyErrorChecker=void 0;var _createClass$5=function(){function o(e,s){for(var a=0;a1&&s.slice(1).forEach(function(a){e=e.addError(new _earlyErrorState.EarlyError(a,"Duplicate constructor method in class"))}),e}var SUPERCALL_ERROR=function o(e){return new _earlyErrorState.EarlyError(e,_errors.ErrorMessages.ILLEGAL_SUPER_CALL)},SUPERPROPERTY_ERROR=function o(e){return new _earlyErrorState.EarlyError(e,"Member access on super must be in a method")},DUPLICATE_BINDING=function o(e){return new _earlyErrorState.EarlyError(e,"Duplicate binding "+JSON.stringify(e.name))},FREE_CONTINUE=function o(e){return new _earlyErrorState.EarlyError(e,"Continue statement must be nested within an iteration statement")},UNBOUND_CONTINUE=function o(e){return new _earlyErrorState.EarlyError(e,"Continue statement must be nested within an iteration statement with label "+JSON.stringify(e.label))},FREE_BREAK=function o(e){return new _earlyErrorState.EarlyError(e,"Break statement must be nested within an iteration statement or a switch statement")},UNBOUND_BREAK=function o(e){return new _earlyErrorState.EarlyError(e,"Break statement must be nested within a statement with label "+JSON.stringify(e.label))};earlyErrors.EarlyErrorChecker=function(o){_inherits$3(e,o);function e(){return _classCallCheck$6(this,e),_possibleConstructorReturn$3(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,_earlyErrorState.EarlyErrorState))}return _createClass$5(e,[{key:"reduceAssignmentExpression",value:function(){return _get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceAssignmentExpression",this).apply(this,arguments).clearBoundNames()}},{key:"reduceAssignmentTargetIdentifier",value:function(a){var c=this.identity;return(a.name==="eval"||a.name==="arguments"||(0,_utils.isStrictModeReservedWord)(a.name))&&(c=c.addStrictError(new _earlyErrorState.EarlyError(a,"The identifier "+JSON.stringify(a.name)+" must not be in binding position in strict mode"))),c}},{key:"reduceArrowExpression",value:function(a,c){var d=c.params,_=c.body,b=a.params.rest==null&&a.params.items.every(function($){return $.type==="BindingIdentifier"});d=d.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),a.body.type==="FunctionBody"&&(_=_.enforceConflictingLexicallyDeclaredNames(d.lexicallyDeclaredNames,DUPLICATE_BINDING),isStrictFunctionBody(a.body)&&(d=d.enforceStrictErrors(),_=_.enforceStrictErrors())),d.yieldExpressions.forEach(function($){d=d.addError(new _earlyErrorState.EarlyError($,"Arrow parameters must not contain yield expressions"))}),d.awaitExpressions.forEach(function($){d=d.addError(new _earlyErrorState.EarlyError($,"Arrow parameters must not contain await expressions"))});var k=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceArrowExpression",this).call(this,a,{params:d,body:_});return!b&&a.body.type==="FunctionBody"&&isStrictFunctionBody(a.body)&&(k=k.addError(new _earlyErrorState.EarlyError(a,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),k=k.clearYieldExpressions(),k=k.clearAwaitExpressions(),k=k.observeVarBoundary(),k}},{key:"reduceAwaitExpression",value:function(a,c){var d=c.expression;return d.observeAwaitExpression(a)}},{key:"reduceBindingIdentifier",value:function(a){var c=this.identity;return(a.name==="eval"||a.name==="arguments"||(0,_utils.isStrictModeReservedWord)(a.name))&&(c=c.addStrictError(new _earlyErrorState.EarlyError(a,"The identifier "+JSON.stringify(a.name)+" must not be in binding position in strict mode"))),c=c.bindName(a.name,a),c}},{key:"reduceBlock",value:function(){var a=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceBlock",this).apply(this,arguments);return a=a.functionDeclarationNamesAreLexical(),a=a.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),a=a.enforceConflictingLexicallyDeclaredNames(a.varDeclaredNames,DUPLICATE_BINDING),a=a.observeLexicalBoundary(),a}},{key:"reduceBreakStatement",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceBreakStatement",this).apply(this,arguments);return c=a.label==null?c.addFreeBreakStatement(a):c.addFreeLabeledBreakStatement(a),c}},{key:"reduceCallExpression",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceCallExpression",this).apply(this,arguments);return a.callee.type==="Super"&&(c=c.observeSuperCallExpression(a)),c}},{key:"reduceCatchClause",value:function(a,c){var d=c.binding,_=c.body;d=d.observeLexicalDeclaration(),d=d.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),d=d.enforceConflictingLexicallyDeclaredNames(_.previousLexicallyDeclaredNames,DUPLICATE_BINDING),d.lexicallyDeclaredNames.forEachEntry(function(k,$){_.varDeclaredNames.has($)&&_.varDeclaredNames.get($).forEach(function(j){_.forOfVarDeclaredNames.indexOf(j)>=0&&(d=d.addError(DUPLICATE_BINDING(j)))})});var b=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceCatchClause",this).call(this,a,{binding:d,body:_});return b=b.observeLexicalBoundary(),b}},{key:"reduceClassDeclaration",value:function(a,c){var d=c.name,_=c.super,b=c.elements,k=d.enforceStrictErrors(),$=this.append.apply(this,_toConsumableArray$3(b));return $=$.enforceStrictErrors(),a.super!=null&&(_=_.enforceStrictErrors(),k=this.append(k,_),$=$.clearSuperCallExpressionsInConstructorMethod()),k=this.append(k,$),k=enforceDuplicateConstructorMethods(a,k),k=k.observeLexicalDeclaration(),k}},{key:"reduceClassElement",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceClassElement",this).apply(this,arguments);return!a.isStatic&&isSpecialMethod(a.method)&&(c=c.addError(new _earlyErrorState.EarlyError(a,_errors.ErrorMessages.ILLEGAL_CONSTRUCTORS))),a.isStatic&&a.method.name.type==="StaticPropertyName"&&a.method.name.value==="prototype"&&(c=c.addError(new _earlyErrorState.EarlyError(a,'Static class methods cannot be named "prototype"'))),c}},{key:"reduceClassExpression",value:function(a,c){var d=c.name,_=c.super,b=c.elements,k=a.name==null?this.identity:d.enforceStrictErrors(),$=this.append.apply(this,_toConsumableArray$3(b));return $=$.enforceStrictErrors(),a.super!=null&&(_=_.enforceStrictErrors(),k=this.append(k,_),$=$.clearSuperCallExpressionsInConstructorMethod()),k=this.append(k,$),k=enforceDuplicateConstructorMethods(a,k),k=k.clearBoundNames(),k}},{key:"reduceCompoundAssignmentExpression",value:function(){return _get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceCompoundAssignmentExpression",this).apply(this,arguments).clearBoundNames()}},{key:"reduceComputedMemberExpression",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceComputedMemberExpression",this).apply(this,arguments);return a.object.type==="Super"&&(c=c.observeSuperPropertyExpression(a)),c}},{key:"reduceContinueStatement",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceContinueStatement",this).apply(this,arguments);return c=a.label==null?c.addFreeContinueStatement(a):c.addFreeLabeledContinueStatement(a),c}},{key:"reduceDoWhileStatement",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceDoWhileStatement",this).apply(this,arguments);return isLabelledFunction(a.body)&&(c=c.addError(new _earlyErrorState.EarlyError(a.body,"The body of a do-while statement must not be a labeled function declaration"))),c=c.clearFreeContinueStatements(),c=c.clearFreeBreakStatements(),c}},{key:"reduceExport",value:function(){var a=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceExport",this).apply(this,arguments);return a=a.functionDeclarationNamesAreLexical(),a=a.exportDeclaredNames(),a}},{key:"reduceExportFrom",value:function(){var a=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceExportFrom",this).apply(this,arguments);return a=a.clearExportedBindings(),a}},{key:"reduceExportFromSpecifier",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceExportFromSpecifier",this).apply(this,arguments);return c=c.exportName(a.exportedName||a.name,a),c=c.exportBinding(a.name,a),c}},{key:"reduceExportLocalSpecifier",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceExportLocalSpecifier",this).apply(this,arguments);return c=c.exportName(a.exportedName||a.name.name,a),c=c.exportBinding(a.name.name,a),c}},{key:"reduceExportDefault",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceExportDefault",this).apply(this,arguments);return c=c.functionDeclarationNamesAreLexical(),c=c.exportName("default",a),c}},{key:"reduceFormalParameters",value:function(){var a=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceFormalParameters",this).apply(this,arguments);return a=a.observeLexicalDeclaration(),a}},{key:"reduceForStatement",value:function(a,c){var d=c.init,_=c.test,b=c.update,k=c.body;d!=null&&(d=d.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),d=d.enforceConflictingLexicallyDeclaredNames(k.varDeclaredNames,DUPLICATE_BINDING));var $=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceForStatement",this).call(this,a,{init:d,test:_,update:b,body:k});return a.init!=null&&a.init.type==="VariableDeclaration"&&a.init.kind==="const"&&a.init.declarators.forEach(function(j){j.init==null&&($=$.addError(new _earlyErrorState.EarlyError(j,"Constant lexical declarations must have an initialiser")))}),isLabelledFunction(a.body)&&($=$.addError(new _earlyErrorState.EarlyError(a.body,"The body of a for statement must not be a labeled function declaration"))),$=$.clearFreeContinueStatements(),$=$.clearFreeBreakStatements(),$=$.observeLexicalBoundary(),$}},{key:"reduceForInStatement",value:function(a,c){var d=c.left,_=c.right,b=c.body;d=d.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),d=d.enforceConflictingLexicallyDeclaredNames(b.varDeclaredNames,DUPLICATE_BINDING);var k=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceForInStatement",this).call(this,a,{left:d,right:_,body:b});return isLabelledFunction(a.body)&&(k=k.addError(new _earlyErrorState.EarlyError(a.body,"The body of a for-in statement must not be a labeled function declaration"))),k=k.clearFreeContinueStatements(),k=k.clearFreeBreakStatements(),k=k.observeLexicalBoundary(),k}},{key:"reduceForOfStatement",value:function(a,c){var d=c.left,_=c.right,b=c.body;d=d.recordForOfVars(),d=d.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),d=d.enforceConflictingLexicallyDeclaredNames(b.varDeclaredNames,DUPLICATE_BINDING);var k=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceForOfStatement",this).call(this,a,{left:d,right:_,body:b});return isLabelledFunction(a.body)&&(k=k.addError(new _earlyErrorState.EarlyError(a.body,"The body of a for-of statement must not be a labeled function declaration"))),k=k.clearFreeContinueStatements(),k=k.clearFreeBreakStatements(),k=k.observeLexicalBoundary(),k}},{key:"reduceForAwaitStatement",value:function(a,c){var d=c.left,_=c.right,b=c.body;d=d.recordForOfVars(),d=d.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),d=d.enforceConflictingLexicallyDeclaredNames(b.varDeclaredNames,DUPLICATE_BINDING);var k=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceForOfStatement",this).call(this,a,{left:d,right:_,body:b});return isLabelledFunction(a.body)&&(k=k.addError(new _earlyErrorState.EarlyError(a.body,"The body of a for-await statement must not be a labeled function declaration"))),k=k.clearFreeContinueStatements(),k=k.clearFreeBreakStatements(),k=k.observeLexicalBoundary(),k}},{key:"reduceFunctionBody",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceFunctionBody",this).apply(this,arguments);return c=c.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),c=c.enforceConflictingLexicallyDeclaredNames(c.varDeclaredNames,DUPLICATE_BINDING),c=c.enforceFreeContinueStatementErrors(FREE_CONTINUE),c=c.enforceFreeLabeledContinueStatementErrors(UNBOUND_CONTINUE),c=c.enforceFreeBreakStatementErrors(FREE_BREAK),c=c.enforceFreeLabeledBreakStatementErrors(UNBOUND_BREAK),c=c.clearUsedLabelNames(),c=c.clearYieldExpressions(),c=c.clearAwaitExpressions(),isStrictFunctionBody(a)&&(c=c.enforceStrictErrors()),c}},{key:"reduceFunctionDeclaration",value:function(a,c){var d=c.name,_=c.params,b=c.body,k=a.params.rest==null&&a.params.items.every(function(_e){return _e.type==="BindingIdentifier"}),$=!k||a.isGenerator?"addError":"addStrictError";_.lexicallyDeclaredNames.forEachEntry(function(_e){_e.length>1&&_e.slice(1).forEach(function(et){_=_[$](DUPLICATE_BINDING(et))})}),b=b.enforceConflictingLexicallyDeclaredNames(_.lexicallyDeclaredNames,DUPLICATE_BINDING),b=b.enforceSuperCallExpressions(SUPERCALL_ERROR),b=b.enforceSuperPropertyExpressions(SUPERPROPERTY_ERROR),_=_.enforceSuperCallExpressions(SUPERCALL_ERROR),_=_.enforceSuperPropertyExpressions(SUPERPROPERTY_ERROR),a.isGenerator&&_.yieldExpressions.forEach(function(_e){_=_.addError(new _earlyErrorState.EarlyError(_e,"Generator parameters must not contain yield expressions"))}),a.isAsync&&_.awaitExpressions.forEach(function(_e){_=_.addError(new _earlyErrorState.EarlyError(_e,"Async function parameters must not contain await expressions"))}),_=_.clearNewTargetExpressions(),b=b.clearNewTargetExpressions(),isStrictFunctionBody(a.body)&&(_=_.enforceStrictErrors(),b=b.enforceStrictErrors());var j=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceFunctionDeclaration",this).call(this,a,{name:d,params:_,body:b});return!k&&isStrictFunctionBody(a.body)&&(j=j.addError(new _earlyErrorState.EarlyError(a,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),j=j.clearYieldExpressions(),j=j.clearAwaitExpressions(),j=j.observeFunctionDeclaration(),j}},{key:"reduceFunctionExpression",value:function(a,c){var d=c.name,_=c.params,b=c.body,k=a.params.rest==null&&a.params.items.every(function(_e){return _e.type==="BindingIdentifier"}),$=!k||a.isGenerator?"addError":"addStrictError";_.lexicallyDeclaredNames.forEachEntry(function(_e,et){_e.length>1&&_e.slice(1).forEach(function(tt){_=_[$](new _earlyErrorState.EarlyError(tt,"Duplicate binding "+JSON.stringify(et)))})}),b=b.enforceConflictingLexicallyDeclaredNames(_.lexicallyDeclaredNames,DUPLICATE_BINDING),b=b.enforceSuperCallExpressions(SUPERCALL_ERROR),b=b.enforceSuperPropertyExpressions(SUPERPROPERTY_ERROR),_=_.enforceSuperCallExpressions(SUPERCALL_ERROR),_=_.enforceSuperPropertyExpressions(SUPERPROPERTY_ERROR),a.isGenerator&&_.yieldExpressions.forEach(function(_e){_=_.addError(new _earlyErrorState.EarlyError(_e,"Generator parameters must not contain yield expressions"))}),a.isAsync&&_.awaitExpressions.forEach(function(_e){_=_.addError(new _earlyErrorState.EarlyError(_e,"Async function parameters must not contain await expressions"))}),_=_.clearNewTargetExpressions(),b=b.clearNewTargetExpressions(),isStrictFunctionBody(a.body)&&(_=_.enforceStrictErrors(),b=b.enforceStrictErrors());var j=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceFunctionExpression",this).call(this,a,{name:d,params:_,body:b});return!k&&isStrictFunctionBody(a.body)&&(j=j.addError(new _earlyErrorState.EarlyError(a,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),j=j.clearBoundNames(),j=j.clearYieldExpressions(),j=j.clearAwaitExpressions(),j=j.observeVarBoundary(),j}},{key:"reduceGetter",value:function(a,c){var d=c.name,_=c.body;_=_.enforceSuperCallExpressions(SUPERCALL_ERROR),_=_.clearSuperPropertyExpressions(),_=_.clearNewTargetExpressions(),isStrictFunctionBody(a.body)&&(_=_.enforceStrictErrors());var b=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceGetter",this).call(this,a,{name:d,body:_});return b=b.observeVarBoundary(),b}},{key:"reduceIdentifierExpression",value:function(a){var c=this.identity;return(0,_utils.isStrictModeReservedWord)(a.name)&&(c=c.addStrictError(new _earlyErrorState.EarlyError(a,"The identifier "+JSON.stringify(a.name)+" must not be in expression position in strict mode"))),c}},{key:"reduceIfStatement",value:function(a,c){var d=c.test,_=c.consequent,b=c.alternate;return isLabelledFunction(a.consequent)&&(_=_.addError(new _earlyErrorState.EarlyError(a.consequent,"The consequent of an if statement must not be a labeled function declaration"))),a.alternate!=null&&isLabelledFunction(a.alternate)&&(b=b.addError(new _earlyErrorState.EarlyError(a.alternate,"The alternate of an if statement must not be a labeled function declaration"))),a.consequent.type==="FunctionDeclaration"&&(_=_.addStrictError(new _earlyErrorState.EarlyError(a.consequent,"FunctionDeclarations in IfStatements are disallowed in strict mode")),_=_.observeLexicalBoundary()),a.alternate!=null&&a.alternate.type==="FunctionDeclaration"&&(b=b.addStrictError(new _earlyErrorState.EarlyError(a.alternate,"FunctionDeclarations in IfStatements are disallowed in strict mode")),b=b.observeLexicalBoundary()),_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceIfStatement",this).call(this,a,{test:d,consequent:_,alternate:b})}},{key:"reduceImport",value:function(){var a=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceImport",this).apply(this,arguments);return a=a.observeLexicalDeclaration(),a}},{key:"reduceImportNamespace",value:function(){var a=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceImportNamespace",this).apply(this,arguments);return a=a.observeLexicalDeclaration(),a}},{key:"reduceLabeledStatement",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceLabeledStatement",this).apply(this,arguments);return(a.label==="yield"||(0,_utils.isStrictModeReservedWord)(a.label))&&(c=c.addStrictError(new _earlyErrorState.EarlyError(a,"The identifier "+JSON.stringify(a.label)+" must not be in label position in strict mode"))),c.usedLabelNames.indexOf(a.label)>=0&&(c=c.addError(new _earlyErrorState.EarlyError(a,"Label "+JSON.stringify(a.label)+" has already been declared"))),a.body.type==="FunctionDeclaration"&&(c=c.addStrictError(new _earlyErrorState.EarlyError(a,"Labeled FunctionDeclarations are disallowed in strict mode"))),c=isIterationStatement(a.body)?c.observeIterationLabel(a.label):c.observeNonIterationLabel(a.label),c}},{key:"reduceLiteralRegExpExpression",value:function(){var a=this.identity;return a}},{key:"reduceMethod",value:function(a,c){var d=c.name,_=c.params,b=c.body,k=a.params.rest==null&&a.params.items.every(function(j){return j.type==="BindingIdentifier"});_=_.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),b=b.enforceConflictingLexicallyDeclaredNames(_.lexicallyDeclaredNames,DUPLICATE_BINDING),a.name.type==="StaticPropertyName"&&a.name.value==="constructor"?(b=b.observeConstructorMethod(),_=_.observeConstructorMethod()):(b=b.enforceSuperCallExpressions(SUPERCALL_ERROR),_=_.enforceSuperCallExpressions(SUPERCALL_ERROR)),a.isGenerator&&_.yieldExpressions.forEach(function(j){_=_.addError(new _earlyErrorState.EarlyError(j,"Generator parameters must not contain yield expressions"))}),a.isAsync&&_.awaitExpressions.forEach(function(j){_=_.addError(new _earlyErrorState.EarlyError(j,"Async function parameters must not contain await expressions"))}),b=b.clearSuperPropertyExpressions(),_=_.clearSuperPropertyExpressions(),_=_.clearNewTargetExpressions(),b=b.clearNewTargetExpressions(),isStrictFunctionBody(a.body)&&(_=_.enforceStrictErrors(),b=b.enforceStrictErrors());var $=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceMethod",this).call(this,a,{name:d,params:_,body:b});return!k&&isStrictFunctionBody(a.body)&&($=$.addError(new _earlyErrorState.EarlyError(a,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),$=$.clearYieldExpressions(),$=$.clearAwaitExpressions(),$=$.observeVarBoundary(),$}},{key:"reduceModule",value:function(){var a=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceModule",this).apply(this,arguments);return a=a.functionDeclarationNamesAreLexical(),a=a.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),a=a.enforceConflictingLexicallyDeclaredNames(a.varDeclaredNames,DUPLICATE_BINDING),a.exportedNames.forEachEntry(function(c,d){c.length>1&&c.slice(1).forEach(function(_){a=a.addError(new _earlyErrorState.EarlyError(_,"Duplicate export "+JSON.stringify(d)))})}),a.exportedBindings.forEachEntry(function(c,d){!a.lexicallyDeclaredNames.has(d)&&!a.varDeclaredNames.has(d)&&c.forEach(function(_){a=a.addError(new _earlyErrorState.EarlyError(_,"Exported binding "+JSON.stringify(d)+" is not declared"))})}),a.newTargetExpressions.forEach(function(c){a=a.addError(new _earlyErrorState.EarlyError(c,"new.target must be within function (but not arrow expression) code"))}),a=a.enforceFreeContinueStatementErrors(FREE_CONTINUE),a=a.enforceFreeLabeledContinueStatementErrors(UNBOUND_CONTINUE),a=a.enforceFreeBreakStatementErrors(FREE_BREAK),a=a.enforceFreeLabeledBreakStatementErrors(UNBOUND_BREAK),a=a.enforceSuperCallExpressions(SUPERCALL_ERROR),a=a.enforceSuperPropertyExpressions(SUPERPROPERTY_ERROR),a=a.enforceStrictErrors(),a}},{key:"reduceNewTargetExpression",value:function(a){return this.identity.observeNewTargetExpression(a)}},{key:"reduceObjectExpression",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceObjectExpression",this).apply(this,arguments);c=c.enforceSuperCallExpressionsInConstructorMethod(SUPERCALL_ERROR);var d=a.properties.filter(function(_){return _.type==="DataProperty"&&_.name.type==="StaticPropertyName"&&_.name.value==="__proto__"});return d.slice(1).forEach(function(_){c=c.addError(new _earlyErrorState.EarlyError(_,"Duplicate __proto__ property in object literal not allowed"))}),c}},{key:"reduceUpdateExpression",value:function(){var a=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceUpdateExpression",this).apply(this,arguments);return a=a.clearBoundNames(),a}},{key:"reduceUnaryExpression",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceUnaryExpression",this).apply(this,arguments);return a.operator==="delete"&&a.operand.type==="IdentifierExpression"&&(c=c.addStrictError(new _earlyErrorState.EarlyError(a,"Identifier expressions must not be deleted in strict mode"))),c}},{key:"reduceScript",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceScript",this).apply(this,arguments);return c=c.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),c=c.enforceConflictingLexicallyDeclaredNames(c.varDeclaredNames,DUPLICATE_BINDING),c.newTargetExpressions.forEach(function(d){c=c.addError(new _earlyErrorState.EarlyError(d,"new.target must be within function (but not arrow expression) code"))}),c=c.enforceFreeContinueStatementErrors(FREE_CONTINUE),c=c.enforceFreeLabeledContinueStatementErrors(UNBOUND_CONTINUE),c=c.enforceFreeBreakStatementErrors(FREE_BREAK),c=c.enforceFreeLabeledBreakStatementErrors(UNBOUND_BREAK),c=c.enforceSuperCallExpressions(SUPERCALL_ERROR),c=c.enforceSuperPropertyExpressions(SUPERPROPERTY_ERROR),isStrictFunctionBody(a)&&(c=c.enforceStrictErrors()),c}},{key:"reduceSetter",value:function(a,c){var d=c.name,_=c.param,b=c.body,k=a.param.type==="BindingIdentifier";_=_.observeLexicalDeclaration(),_=_.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),b=b.enforceConflictingLexicallyDeclaredNames(_.lexicallyDeclaredNames,DUPLICATE_BINDING),_=_.enforceSuperCallExpressions(SUPERCALL_ERROR),b=b.enforceSuperCallExpressions(SUPERCALL_ERROR),_=_.clearSuperPropertyExpressions(),b=b.clearSuperPropertyExpressions(),_=_.clearNewTargetExpressions(),b=b.clearNewTargetExpressions(),isStrictFunctionBody(a.body)&&(_=_.enforceStrictErrors(),b=b.enforceStrictErrors());var $=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceSetter",this).call(this,a,{name:d,param:_,body:b});return!k&&isStrictFunctionBody(a.body)&&($=$.addError(new _earlyErrorState.EarlyError(a,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),$=$.observeVarBoundary(),$}},{key:"reduceStaticMemberExpression",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceStaticMemberExpression",this).apply(this,arguments);return a.object.type==="Super"&&(c=c.observeSuperPropertyExpression(a)),c}},{key:"reduceSwitchStatement",value:function(a,c){var d=c.discriminant,_=c.cases,b=this.append.apply(this,_toConsumableArray$3(_));b=b.functionDeclarationNamesAreLexical(),b=b.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),b=b.enforceConflictingLexicallyDeclaredNames(b.varDeclaredNames,DUPLICATE_BINDING),b=b.observeLexicalBoundary();var k=this.append(d,b);return k=k.clearFreeBreakStatements(),k}},{key:"reduceSwitchStatementWithDefault",value:function(a,c){var d=c.discriminant,_=c.preDefaultCases,b=c.defaultCase,k=c.postDefaultCases,$=this.append.apply(this,[b].concat(_toConsumableArray$3(_),_toConsumableArray$3(k)));$=$.functionDeclarationNamesAreLexical(),$=$.enforceDuplicateLexicallyDeclaredNames(DUPLICATE_BINDING),$=$.enforceConflictingLexicallyDeclaredNames($.varDeclaredNames,DUPLICATE_BINDING),$=$.observeLexicalBoundary();var j=this.append(d,$);return j=j.clearFreeBreakStatements(),j}},{key:"reduceVariableDeclaration",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceVariableDeclaration",this).apply(this,arguments);switch(a.kind){case"const":case"let":{c=c.observeLexicalDeclaration(),c.lexicallyDeclaredNames.has("let")&&c.lexicallyDeclaredNames.get("let").forEach(function(d){c=c.addError(new _earlyErrorState.EarlyError(d,'Lexical declarations must not have a binding named "let"'))});break}case"var":c=c.observeVarDeclaration();break}return c}},{key:"reduceVariableDeclarationStatement",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceVariableDeclarationStatement",this).apply(this,arguments);return a.declaration.kind==="const"&&a.declaration.declarators.forEach(function(d){d.init==null&&(c=c.addError(new _earlyErrorState.EarlyError(d,"Constant lexical declarations must have an initialiser")))}),c}},{key:"reduceWhileStatement",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceWhileStatement",this).apply(this,arguments);return isLabelledFunction(a.body)&&(c=c.addError(new _earlyErrorState.EarlyError(a.body,"The body of a while statement must not be a labeled function declaration"))),c=c.clearFreeContinueStatements().clearFreeBreakStatements(),c}},{key:"reduceWithStatement",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceWithStatement",this).apply(this,arguments);return isLabelledFunction(a.body)&&(c=c.addError(new _earlyErrorState.EarlyError(a.body,"The body of a with statement must not be a labeled function declaration"))),c=c.addStrictError(new _earlyErrorState.EarlyError(a,"Strict mode code must not include a with statement")),c}},{key:"reduceYieldExpression",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceYieldExpression",this).apply(this,arguments);return c=c.observeYieldExpression(a),c}},{key:"reduceYieldGeneratorExpression",value:function(a){var c=_get$1(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"reduceYieldGeneratorExpression",this).apply(this,arguments);return c=c.observeYieldExpression(a),c}}],[{key:"check",value:function(a){return(0,_shiftReducer2.default)(new e,a).errors}}]),e}(_shiftReducer$1.MonoidalReducer);(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.TokenType=o.TokenClass=o.Tokenizer=o.ParserWithLocation=o.GenericParser=o.EarlyErrorChecker=o.parseScriptWithLocation=o.parseModuleWithLocation=o.parseScript=o.parseModule=void 0;var e=function(){function it(rt,st){for(var at=0;at1&&arguments[1]!==void 0?arguments[1]:{},ot=at.earlyErrors,pt=ot===void 0?!0:ot,ct=new c.GenericParser(st),ut=ct[it]();if(pt){var lt=d.EarlyErrorChecker.check(ut);if(lt.length>0)throw new a.JsError(0,1,0,lt[0].message)}return ut}}function tt(it){return function(st){var at=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ot=at.earlyErrors,pt=ot===void 0?!0:ot,ct=new _e(st),ut=ct[it]();if(pt){var lt=d.EarlyErrorChecker.check(ut);if(lt.length>0){var ht=lt[0],dt=ht.node,gt=ht.message,yt=ct.locations.get(dt).start,ft=yt.offset,mt=yt.line,Et=yt.column;throw new a.JsError(ft,mt,Et,gt)}}return{tree:ut,locations:ct.locations,comments:ct.comments}}}o.parseModule=et("parseModule");var nt=o.parseScript=et("parseScript");o.parseModuleWithLocation=tt("parseModule"),o.parseScriptWithLocation=tt("parseScript"),o.default=nt,o.EarlyErrorChecker=d.EarlyErrorChecker,o.GenericParser=c.GenericParser,o.ParserWithLocation=_e})(dist$7);var dist$2={};Object.defineProperty(dist$2,"__esModule",{value:!0});var _default=dist$2.default=function(){var o={},e={typeName:"Boolean"},s={typeName:"Number"},a={typeName:"String"};function c(dn){return{typeName:"Maybe",argument:dn}}function d(dn){return{typeName:"List",argument:dn}}function _(dn){return{typeName:"Const",argument:dn}}function b(){return{typeName:"Union",arguments:[].slice.call(arguments,0)}}var k={typeName:"Enum",values:["ArrayAssignmentTarget","ArrayBinding","ArrayExpression","ArrowExpression","AssignmentExpression","AssignmentTargetIdentifier","AssignmentTargetPropertyIdentifier","AssignmentTargetPropertyProperty","AssignmentTargetWithDefault","AwaitExpression","BinaryExpression","BindingIdentifier","BindingPropertyIdentifier","BindingPropertyProperty","BindingWithDefault","Block","BlockStatement","BreakStatement","CallExpression","CatchClause","ClassDeclaration","ClassElement","ClassExpression","CompoundAssignmentExpression","ComputedMemberAssignmentTarget","ComputedMemberExpression","ComputedPropertyName","ConditionalExpression","ContinueStatement","DataProperty","DebuggerStatement","Directive","DoWhileStatement","EmptyStatement","Export","ExportAllFrom","ExportDefault","ExportFrom","ExportFromSpecifier","ExportLocalSpecifier","ExportLocals","ExpressionStatement","ForAwaitStatement","ForInStatement","ForOfStatement","ForStatement","FormalParameters","FunctionBody","FunctionDeclaration","FunctionExpression","Getter","IdentifierExpression","IfStatement","Import","ImportNamespace","ImportSpecifier","LabeledStatement","LiteralBooleanExpression","LiteralInfinityExpression","LiteralNullExpression","LiteralNumericExpression","LiteralRegExpExpression","LiteralStringExpression","Method","Module","NewExpression","NewTargetExpression","ObjectAssignmentTarget","ObjectBinding","ObjectExpression","ReturnStatement","Script","Setter","ShorthandProperty","SpreadElement","SpreadProperty","StaticMemberAssignmentTarget","StaticMemberExpression","StaticPropertyName","Super","SwitchCase","SwitchDefault","SwitchStatement","SwitchStatementWithDefault","TemplateElement","TemplateExpression","ThisExpression","ThrowStatement","TryCatchStatement","TryFinallyStatement","UnaryExpression","UpdateExpression","VariableDeclaration","VariableDeclarationStatement","VariableDeclarator","WhileStatement","WithStatement","YieldExpression","YieldGeneratorExpression"]},$={typeName:"Enum",values:["==","!=","===","!==","<","<=",">",">=","in","instanceof","<<",">>",">>>","+","-","*","/","%","**",",","||","&&","|","^","&"]},j={typeName:"Enum",values:["+=","-=","*=","/=","%=","**=","<<=",">>=",">>>=","|=","^=","&="]},_e={typeName:"Enum",values:["+","-","!","~","typeof","void","delete"]},et={typeName:"Enum",values:["++","--"]},tt={typeName:"Enum",values:["var","let","const"]},nt=o.ArrayAssignmentTarget={},it=o.ArrayBinding={},rt=o.ArrayExpression={},st=o.ArrowExpression={},at=o.AssignmentExpression={},ot=o.AssignmentTargetIdentifier={},pt=o.AssignmentTargetPropertyIdentifier={},ct=o.AssignmentTargetPropertyProperty={},ut=o.AssignmentTargetWithDefault={},lt=o.AwaitExpression={},ht=o.BinaryExpression={},dt=o.BindingIdentifier={},gt=o.BindingPropertyIdentifier={},yt=o.BindingPropertyProperty={},ft=o.BindingWithDefault={},mt=o.Block={},Et=o.BlockStatement={},vt=o.BreakStatement={},At=o.CallExpression={},_t=o.CatchClause={},Dt=o.ClassDeclaration={},bt=o.ClassElement={},Tt=o.ClassExpression={},St=o.CompoundAssignmentExpression={},Ct=o.ComputedMemberAssignmentTarget={},xt=o.ComputedMemberExpression={},Rt=o.ComputedPropertyName={},Mt=o.ConditionalExpression={},It=o.ContinueStatement={},Ft=o.DataProperty={},Vt=o.DebuggerStatement={},jt=o.Directive={},Nt=o.DoWhileStatement={},Kt=o.EmptyStatement={},Jt=o.Export={},en=o.ExportAllFrom={},tn=o.ExportDefault={},kt=o.ExportFrom={},Bt=o.ExportFromSpecifier={},Qt=o.ExportLocalSpecifier={},Lt=o.ExportLocals={},$t=o.ExpressionStatement={},Wt=o.ForAwaitStatement={},Gt=o.ForInStatement={},zt=o.ForOfStatement={},nn=o.ForStatement={},Xt=o.FormalParameters={},Zt=o.FunctionBody={},sn=o.FunctionDeclaration={},fn=o.FunctionExpression={},An=o.Getter={},cn=o.IdentifierExpression={},vn=o.IfStatement={},_n=o.Import={},On=o.ImportNamespace={},mn=o.ImportSpecifier={},Cn=o.LabeledStatement={},Dn=o.LiteralBooleanExpression={},bn=o.LiteralInfinityExpression={},xn=o.LiteralNullExpression={},Tn=o.LiteralNumericExpression={},kn=o.LiteralRegExpExpression={},wn=o.LiteralStringExpression={},Fn=o.Method={},Nn=o.Module={},Pn=o.NewExpression={},Bn=o.NewTargetExpression={},Yt=o.ObjectAssignmentTarget={},Ut=o.ObjectBinding={},Rn=o.ObjectExpression={},In=o.ReturnStatement={},Mn=o.Script={},$n=o.Setter={},Ln=o.ShorthandProperty={},hn=o.SpreadElement={},Wn=o.SpreadProperty={},Qn=o.StaticMemberAssignmentTarget={},jn=o.StaticMemberExpression={},qn=o.StaticPropertyName={},an=o.Super={},pn=o.SwitchCase={},gn=o.SwitchDefault={},Vn=o.SwitchStatement={},Gn=o.SwitchStatementWithDefault={},yn=o.TemplateElement={},Un=o.TemplateExpression={},zn=o.ThisExpression={},Yn=o.ThrowStatement={},Hn=o.TryCatchStatement={},Xn=o.TryFinallyStatement={},Zn=o.UnaryExpression={},Kn=o.UpdateExpression={},rn=o.VariableDeclaration={},Jn=o.VariableDeclarationStatement={},En=o.VariableDeclarator={},er=o.WhileStatement={},tr=o.WithStatement={},nr=o.YieldExpression={},rr=o.YieldGeneratorExpression={},gr=b(xt,jn),ir=b(pt,ct);b(Dt,Tt);var sr=b(Jt,en,tn,kt,Lt),un=b(Rt,qn);b(sn,fn);var ar=b(_n,On),yr=b(Nt,Wt,Gt,zt,nn,er),Ht=b(Ct,Qn),or=b(gt,yt),ur=b(An,Fn,$n),Er=b(Nn,Mn),Sr=b(ot,dt,cn),Ar=b(Ft,ur),Pt=b(rt,st,at,lt,ht,At,Tt,St,Mt,fn,cn,Dn,bn,xn,Tn,kn,wn,gr,Pn,Bn,Rn,Un,zn,Zn,Kn,nr,rr),qt=b(Et,vt,Dt,It,Vt,Kt,$t,sn,vn,yr,Cn,In,Vn,Gn,Yn,Hn,Xn,Jn,tr),lr=b(Ar,Ln,Wn);return b(nt,it,ir,ut,or,ft,mt,_t,bt,jt,sr,Bt,Qt,Pt,Xt,Zt,ar,mn,Ht,Yt,Ut,lr,Er,un,hn,qt,an,pn,gn,yn,rn,En,Sr),nt.typeName="ArrayAssignmentTarget",nt.fields=[{name:"type",type:_(k),value:"ArrayAssignmentTarget"},{name:"elements",type:d(c(b(ut,b(b(nt,Yt),b(ot,Ht)))))},{name:"rest",type:c(b(b(nt,Yt),b(ot,Ht)))}],it.typeName="ArrayBinding",it.fields=[{name:"type",type:_(k),value:"ArrayBinding"},{name:"elements",type:d(c(b(ft,b(dt,b(it,Ut)))))},{name:"rest",type:c(b(dt,b(it,Ut)))}],rt.typeName="ArrayExpression",rt.fields=[{name:"type",type:_(k),value:"ArrayExpression"},{name:"elements",type:d(c(b(Pt,hn)))}],st.typeName="ArrowExpression",st.fields=[{name:"type",type:_(k),value:"ArrowExpression"},{name:"isAsync",type:e},{name:"params",type:Xt},{name:"body",type:b(Pt,Zt)}],at.typeName="AssignmentExpression",at.fields=[{name:"type",type:_(k),value:"AssignmentExpression"},{name:"binding",type:b(b(nt,Yt),b(ot,Ht))},{name:"expression",type:Pt}],ot.typeName="AssignmentTargetIdentifier",ot.fields=[{name:"type",type:_(k),value:"AssignmentTargetIdentifier"},{name:"name",type:a}],pt.typeName="AssignmentTargetPropertyIdentifier",pt.fields=[{name:"type",type:_(k),value:"AssignmentTargetPropertyIdentifier"},{name:"binding",type:ot},{name:"init",type:c(Pt)}],ct.typeName="AssignmentTargetPropertyProperty",ct.fields=[{name:"type",type:_(k),value:"AssignmentTargetPropertyProperty"},{name:"name",type:un},{name:"binding",type:b(ut,b(b(nt,Yt),b(ot,Ht)))}],ut.typeName="AssignmentTargetWithDefault",ut.fields=[{name:"type",type:_(k),value:"AssignmentTargetWithDefault"},{name:"binding",type:b(b(nt,Yt),b(ot,Ht))},{name:"init",type:Pt}],lt.typeName="AwaitExpression",lt.fields=[{name:"type",type:_(k),value:"AwaitExpression"},{name:"expression",type:Pt}],ht.typeName="BinaryExpression",ht.fields=[{name:"type",type:_(k),value:"BinaryExpression"},{name:"left",type:Pt},{name:"operator",type:$},{name:"right",type:Pt}],dt.typeName="BindingIdentifier",dt.fields=[{name:"type",type:_(k),value:"BindingIdentifier"},{name:"name",type:a}],gt.typeName="BindingPropertyIdentifier",gt.fields=[{name:"type",type:_(k),value:"BindingPropertyIdentifier"},{name:"binding",type:dt},{name:"init",type:c(Pt)}],yt.typeName="BindingPropertyProperty",yt.fields=[{name:"type",type:_(k),value:"BindingPropertyProperty"},{name:"name",type:un},{name:"binding",type:b(ft,b(dt,b(it,Ut)))}],ft.typeName="BindingWithDefault",ft.fields=[{name:"type",type:_(k),value:"BindingWithDefault"},{name:"binding",type:b(dt,b(it,Ut))},{name:"init",type:Pt}],mt.typeName="Block",mt.fields=[{name:"type",type:_(k),value:"Block"},{name:"statements",type:d(qt)}],Et.typeName="BlockStatement",Et.fields=[{name:"type",type:_(k),value:"BlockStatement"},{name:"block",type:mt}],vt.typeName="BreakStatement",vt.fields=[{name:"type",type:_(k),value:"BreakStatement"},{name:"label",type:c(a)}],At.typeName="CallExpression",At.fields=[{name:"type",type:_(k),value:"CallExpression"},{name:"callee",type:b(Pt,an)},{name:"arguments",type:d(b(Pt,hn))}],_t.typeName="CatchClause",_t.fields=[{name:"type",type:_(k),value:"CatchClause"},{name:"binding",type:b(dt,b(it,Ut))},{name:"body",type:mt}],Dt.typeName="ClassDeclaration",Dt.fields=[{name:"type",type:_(k),value:"ClassDeclaration"},{name:"name",type:dt},{name:"super",type:c(Pt)},{name:"elements",type:d(bt)}],bt.typeName="ClassElement",bt.fields=[{name:"type",type:_(k),value:"ClassElement"},{name:"isStatic",type:e},{name:"method",type:ur}],Tt.typeName="ClassExpression",Tt.fields=[{name:"type",type:_(k),value:"ClassExpression"},{name:"name",type:c(dt)},{name:"super",type:c(Pt)},{name:"elements",type:d(bt)}],St.typeName="CompoundAssignmentExpression",St.fields=[{name:"type",type:_(k),value:"CompoundAssignmentExpression"},{name:"binding",type:b(ot,Ht)},{name:"operator",type:j},{name:"expression",type:Pt}],Ct.typeName="ComputedMemberAssignmentTarget",Ct.fields=[{name:"type",type:_(k),value:"ComputedMemberAssignmentTarget"},{name:"object",type:b(Pt,an)},{name:"expression",type:Pt}],xt.typeName="ComputedMemberExpression",xt.fields=[{name:"type",type:_(k),value:"ComputedMemberExpression"},{name:"object",type:b(Pt,an)},{name:"expression",type:Pt}],Rt.typeName="ComputedPropertyName",Rt.fields=[{name:"type",type:_(k),value:"ComputedPropertyName"},{name:"expression",type:Pt}],Mt.typeName="ConditionalExpression",Mt.fields=[{name:"type",type:_(k),value:"ConditionalExpression"},{name:"test",type:Pt},{name:"consequent",type:Pt},{name:"alternate",type:Pt}],It.typeName="ContinueStatement",It.fields=[{name:"type",type:_(k),value:"ContinueStatement"},{name:"label",type:c(a)}],Ft.typeName="DataProperty",Ft.fields=[{name:"type",type:_(k),value:"DataProperty"},{name:"name",type:un},{name:"expression",type:Pt}],Vt.typeName="DebuggerStatement",Vt.fields=[{name:"type",type:_(k),value:"DebuggerStatement"}],jt.typeName="Directive",jt.fields=[{name:"type",type:_(k),value:"Directive"},{name:"rawValue",type:a}],Nt.typeName="DoWhileStatement",Nt.fields=[{name:"type",type:_(k),value:"DoWhileStatement"},{name:"body",type:qt},{name:"test",type:Pt}],Kt.typeName="EmptyStatement",Kt.fields=[{name:"type",type:_(k),value:"EmptyStatement"}],Jt.typeName="Export",Jt.fields=[{name:"type",type:_(k),value:"Export"},{name:"declaration",type:b(Dt,sn,rn)}],en.typeName="ExportAllFrom",en.fields=[{name:"type",type:_(k),value:"ExportAllFrom"},{name:"moduleSpecifier",type:a}],tn.typeName="ExportDefault",tn.fields=[{name:"type",type:_(k),value:"ExportDefault"},{name:"body",type:b(Dt,Pt,sn)}],kt.typeName="ExportFrom",kt.fields=[{name:"type",type:_(k),value:"ExportFrom"},{name:"namedExports",type:d(Bt)},{name:"moduleSpecifier",type:a}],Bt.typeName="ExportFromSpecifier",Bt.fields=[{name:"type",type:_(k),value:"ExportFromSpecifier"},{name:"name",type:a},{name:"exportedName",type:c(a)}],Qt.typeName="ExportLocalSpecifier",Qt.fields=[{name:"type",type:_(k),value:"ExportLocalSpecifier"},{name:"name",type:cn},{name:"exportedName",type:c(a)}],Lt.typeName="ExportLocals",Lt.fields=[{name:"type",type:_(k),value:"ExportLocals"},{name:"namedExports",type:d(Qt)}],$t.typeName="ExpressionStatement",$t.fields=[{name:"type",type:_(k),value:"ExpressionStatement"},{name:"expression",type:Pt}],Wt.typeName="ForAwaitStatement",Wt.fields=[{name:"type",type:_(k),value:"ForAwaitStatement"},{name:"left",type:b(b(b(nt,Yt),b(ot,Ht)),rn)},{name:"right",type:Pt},{name:"body",type:qt}],Gt.typeName="ForInStatement",Gt.fields=[{name:"type",type:_(k),value:"ForInStatement"},{name:"left",type:b(b(b(nt,Yt),b(ot,Ht)),rn)},{name:"right",type:Pt},{name:"body",type:qt}],zt.typeName="ForOfStatement",zt.fields=[{name:"type",type:_(k),value:"ForOfStatement"},{name:"left",type:b(b(b(nt,Yt),b(ot,Ht)),rn)},{name:"right",type:Pt},{name:"body",type:qt}],nn.typeName="ForStatement",nn.fields=[{name:"type",type:_(k),value:"ForStatement"},{name:"init",type:c(b(Pt,rn))},{name:"test",type:c(Pt)},{name:"update",type:c(Pt)},{name:"body",type:qt}],Xt.typeName="FormalParameters",Xt.fields=[{name:"type",type:_(k),value:"FormalParameters"},{name:"items",type:d(b(ft,b(dt,b(it,Ut))))},{name:"rest",type:c(b(dt,b(it,Ut)))}],Zt.typeName="FunctionBody",Zt.fields=[{name:"type",type:_(k),value:"FunctionBody"},{name:"directives",type:d(jt)},{name:"statements",type:d(qt)}],sn.typeName="FunctionDeclaration",sn.fields=[{name:"type",type:_(k),value:"FunctionDeclaration"},{name:"isAsync",type:e},{name:"isGenerator",type:e},{name:"name",type:dt},{name:"params",type:Xt},{name:"body",type:Zt}],fn.typeName="FunctionExpression",fn.fields=[{name:"type",type:_(k),value:"FunctionExpression"},{name:"isAsync",type:e},{name:"isGenerator",type:e},{name:"name",type:c(dt)},{name:"params",type:Xt},{name:"body",type:Zt}],An.typeName="Getter",An.fields=[{name:"type",type:_(k),value:"Getter"},{name:"name",type:un},{name:"body",type:Zt}],cn.typeName="IdentifierExpression",cn.fields=[{name:"type",type:_(k),value:"IdentifierExpression"},{name:"name",type:a}],vn.typeName="IfStatement",vn.fields=[{name:"type",type:_(k),value:"IfStatement"},{name:"test",type:Pt},{name:"consequent",type:qt},{name:"alternate",type:c(qt)}],_n.typeName="Import",_n.fields=[{name:"type",type:_(k),value:"Import"},{name:"defaultBinding",type:c(dt)},{name:"namedImports",type:d(mn)},{name:"moduleSpecifier",type:a}],On.typeName="ImportNamespace",On.fields=[{name:"type",type:_(k),value:"ImportNamespace"},{name:"defaultBinding",type:c(dt)},{name:"namespaceBinding",type:dt},{name:"moduleSpecifier",type:a}],mn.typeName="ImportSpecifier",mn.fields=[{name:"type",type:_(k),value:"ImportSpecifier"},{name:"name",type:c(a)},{name:"binding",type:dt}],Cn.typeName="LabeledStatement",Cn.fields=[{name:"type",type:_(k),value:"LabeledStatement"},{name:"label",type:a},{name:"body",type:qt}],Dn.typeName="LiteralBooleanExpression",Dn.fields=[{name:"type",type:_(k),value:"LiteralBooleanExpression"},{name:"value",type:e}],bn.typeName="LiteralInfinityExpression",bn.fields=[{name:"type",type:_(k),value:"LiteralInfinityExpression"}],xn.typeName="LiteralNullExpression",xn.fields=[{name:"type",type:_(k),value:"LiteralNullExpression"}],Tn.typeName="LiteralNumericExpression",Tn.fields=[{name:"type",type:_(k),value:"LiteralNumericExpression"},{name:"value",type:s}],kn.typeName="LiteralRegExpExpression",kn.fields=[{name:"type",type:_(k),value:"LiteralRegExpExpression"},{name:"pattern",type:a},{name:"global",type:e},{name:"ignoreCase",type:e},{name:"multiLine",type:e},{name:"dotAll",type:e},{name:"unicode",type:e},{name:"sticky",type:e}],wn.typeName="LiteralStringExpression",wn.fields=[{name:"type",type:_(k),value:"LiteralStringExpression"},{name:"value",type:a}],Fn.typeName="Method",Fn.fields=[{name:"type",type:_(k),value:"Method"},{name:"isAsync",type:e},{name:"isGenerator",type:e},{name:"name",type:un},{name:"params",type:Xt},{name:"body",type:Zt}],Nn.typeName="Module",Nn.fields=[{name:"type",type:_(k),value:"Module"},{name:"directives",type:d(jt)},{name:"items",type:d(b(sr,ar,qt))}],Pn.typeName="NewExpression",Pn.fields=[{name:"type",type:_(k),value:"NewExpression"},{name:"callee",type:Pt},{name:"arguments",type:d(b(Pt,hn))}],Bn.typeName="NewTargetExpression",Bn.fields=[{name:"type",type:_(k),value:"NewTargetExpression"}],Yt.typeName="ObjectAssignmentTarget",Yt.fields=[{name:"type",type:_(k),value:"ObjectAssignmentTarget"},{name:"properties",type:d(ir)},{name:"rest",type:c(b(b(nt,Yt),b(ot,Ht)))}],Ut.typeName="ObjectBinding",Ut.fields=[{name:"type",type:_(k),value:"ObjectBinding"},{name:"properties",type:d(or)},{name:"rest",type:c(b(dt,b(it,Ut)))}],Rn.typeName="ObjectExpression",Rn.fields=[{name:"type",type:_(k),value:"ObjectExpression"},{name:"properties",type:d(lr)}],In.typeName="ReturnStatement",In.fields=[{name:"type",type:_(k),value:"ReturnStatement"},{name:"expression",type:c(Pt)}],Mn.typeName="Script",Mn.fields=[{name:"type",type:_(k),value:"Script"},{name:"directives",type:d(jt)},{name:"statements",type:d(qt)}],$n.typeName="Setter",$n.fields=[{name:"type",type:_(k),value:"Setter"},{name:"name",type:un},{name:"param",type:b(ft,b(dt,b(it,Ut)))},{name:"body",type:Zt}],Ln.typeName="ShorthandProperty",Ln.fields=[{name:"type",type:_(k),value:"ShorthandProperty"},{name:"name",type:cn}],hn.typeName="SpreadElement",hn.fields=[{name:"type",type:_(k),value:"SpreadElement"},{name:"expression",type:Pt}],Wn.typeName="SpreadProperty",Wn.fields=[{name:"type",type:_(k),value:"SpreadProperty"},{name:"expression",type:Pt}],Qn.typeName="StaticMemberAssignmentTarget",Qn.fields=[{name:"type",type:_(k),value:"StaticMemberAssignmentTarget"},{name:"object",type:b(Pt,an)},{name:"property",type:a}],jn.typeName="StaticMemberExpression",jn.fields=[{name:"type",type:_(k),value:"StaticMemberExpression"},{name:"object",type:b(Pt,an)},{name:"property",type:a}],qn.typeName="StaticPropertyName",qn.fields=[{name:"type",type:_(k),value:"StaticPropertyName"},{name:"value",type:a}],an.typeName="Super",an.fields=[{name:"type",type:_(k),value:"Super"}],pn.typeName="SwitchCase",pn.fields=[{name:"type",type:_(k),value:"SwitchCase"},{name:"test",type:Pt},{name:"consequent",type:d(qt)}],gn.typeName="SwitchDefault",gn.fields=[{name:"type",type:_(k),value:"SwitchDefault"},{name:"consequent",type:d(qt)}],Vn.typeName="SwitchStatement",Vn.fields=[{name:"type",type:_(k),value:"SwitchStatement"},{name:"discriminant",type:Pt},{name:"cases",type:d(pn)}],Gn.typeName="SwitchStatementWithDefault",Gn.fields=[{name:"type",type:_(k),value:"SwitchStatementWithDefault"},{name:"discriminant",type:Pt},{name:"preDefaultCases",type:d(pn)},{name:"defaultCase",type:gn},{name:"postDefaultCases",type:d(pn)}],yn.typeName="TemplateElement",yn.fields=[{name:"type",type:_(k),value:"TemplateElement"},{name:"rawValue",type:a}],Un.typeName="TemplateExpression",Un.fields=[{name:"type",type:_(k),value:"TemplateExpression"},{name:"tag",type:c(Pt)},{name:"elements",type:d(b(Pt,yn))}],zn.typeName="ThisExpression",zn.fields=[{name:"type",type:_(k),value:"ThisExpression"}],Yn.typeName="ThrowStatement",Yn.fields=[{name:"type",type:_(k),value:"ThrowStatement"},{name:"expression",type:Pt}],Hn.typeName="TryCatchStatement",Hn.fields=[{name:"type",type:_(k),value:"TryCatchStatement"},{name:"body",type:mt},{name:"catchClause",type:_t}],Xn.typeName="TryFinallyStatement",Xn.fields=[{name:"type",type:_(k),value:"TryFinallyStatement"},{name:"body",type:mt},{name:"catchClause",type:c(_t)},{name:"finalizer",type:mt}],Zn.typeName="UnaryExpression",Zn.fields=[{name:"type",type:_(k),value:"UnaryExpression"},{name:"operator",type:_e},{name:"operand",type:Pt}],Kn.typeName="UpdateExpression",Kn.fields=[{name:"type",type:_(k),value:"UpdateExpression"},{name:"isPrefix",type:e},{name:"operator",type:et},{name:"operand",type:b(ot,Ht)}],rn.typeName="VariableDeclaration",rn.fields=[{name:"type",type:_(k),value:"VariableDeclaration"},{name:"kind",type:tt},{name:"declarators",type:d(En)}],Jn.typeName="VariableDeclarationStatement",Jn.fields=[{name:"type",type:_(k),value:"VariableDeclarationStatement"},{name:"declaration",type:rn}],En.typeName="VariableDeclarator",En.fields=[{name:"type",type:_(k),value:"VariableDeclarator"},{name:"binding",type:b(dt,b(it,Ut))},{name:"init",type:c(Pt)}],er.typeName="WhileStatement",er.fields=[{name:"type",type:_(k),value:"WhileStatement"},{name:"test",type:Pt},{name:"body",type:qt}],tr.typeName="WithStatement",tr.fields=[{name:"type",type:_(k),value:"WithStatement"},{name:"object",type:Pt},{name:"body",type:qt}],nr.typeName="YieldExpression",nr.fields=[{name:"type",type:_(k),value:"YieldExpression"},{name:"expression",type:c(Pt)}],rr.typeName="YieldGeneratorExpression",rr.fields=[{name:"type",type:_(k),value:"YieldGeneratorExpression"},{name:"expression",type:Pt}],o}(),estraverse$1={};(function(o){(function e(s){var a,c,d,_,b,k;function $(ct){var ut={},lt,ht;for(lt in ct)ct.hasOwnProperty(lt)&&(ht=ct[lt],typeof ht=="object"&&ht!==null?ut[lt]=$(ht):ut[lt]=ht);return ut}function j(ct,ut){var lt,ht,dt,gt;for(ht=ct.length,dt=0;ht;)lt=ht>>>1,gt=dt+lt,ut(ct[gt])?ht=lt:(dt=gt+1,ht-=lt+1);return dt}a={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ChainExpression:"ChainExpression",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ComprehensionBlock:"ComprehensionBlock",ComprehensionExpression:"ComprehensionExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DebuggerStatement:"DebuggerStatement",DirectiveStatement:"DirectiveStatement",DoWhileStatement:"DoWhileStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",ForOfStatement:"ForOfStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",GeneratorExpression:"GeneratorExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportExpression:"ImportExpression",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",ModuleSpecifier:"ModuleSpecifier",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",PrivateIdentifier:"PrivateIdentifier",Program:"Program",Property:"Property",PropertyDefinition:"PropertyDefinition",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"},d={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ComprehensionBlock:["left","right"],ComprehensionExpression:["blocks","filter","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DirectiveStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],GeneratorExpression:["blocks","filter","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportExpression:["source"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],ModuleSpecifier:[],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},_={},b={},k={},c={Break:_,Skip:b,Remove:k};function _e(ct,ut){this.parent=ct,this.key=ut}_e.prototype.replace=function(ut){this.parent[this.key]=ut},_e.prototype.remove=function(){return Array.isArray(this.parent)?(this.parent.splice(this.key,1),!0):(this.replace(null),!1)};function et(ct,ut,lt,ht){this.node=ct,this.path=ut,this.wrap=lt,this.ref=ht}function tt(){}tt.prototype.path=function(){var ut,lt,ht,dt,gt,yt;function ft(mt,Et){if(Array.isArray(Et))for(ht=0,dt=Et.length;ht=0;--lt)if(ct[lt].node===ut)return!0;return!1}tt.prototype.traverse=function(ut,lt){var ht,dt,gt,yt,ft,mt,Et,vt,At,_t,Dt,bt;for(this.__initialize(ut,lt),bt={},ht=this.__worklist,dt=this.__leavelist,ht.push(new et(ut,null,null,null)),dt.push(new et(null,null,null,null));ht.length;){if(gt=ht.pop(),gt===bt){if(gt=dt.pop(),mt=this.__execute(lt.leave,gt),this.__state===_||mt===_)return;continue}if(gt.node){if(mt=this.__execute(lt.enter,gt),this.__state===_||mt===_)return;if(ht.push(bt),dt.push(gt),this.__state===b||mt===b)continue;if(yt=gt.node,ft=yt.type||gt.wrap,_t=this.__keys[ft],!_t)if(this.__fallback)_t=this.__fallback(yt);else throw new Error("Unknown node type "+ft+".");for(vt=_t.length;(vt-=1)>=0;)if(Et=_t[vt],Dt=yt[Et],!!Dt){if(Array.isArray(Dt)){for(At=Dt.length;(At-=1)>=0;)if(!!Dt[At]&&!rt(dt,Dt[At])){if(it(ft,_t[vt]))gt=new et(Dt[At],[Et,At],"Property",null);else if(nt(Dt[At]))gt=new et(Dt[At],[Et,At],null,null);else continue;ht.push(gt)}}else if(nt(Dt)){if(rt(dt,Dt))continue;ht.push(new et(Dt,Et,null,null))}}}}},tt.prototype.replace=function(ut,lt){var ht,dt,gt,yt,ft,mt,Et,vt,At,_t,Dt,bt,Tt;function St(Ct){var xt,Rt,Mt,It;if(Ct.ref.remove()){for(Rt=Ct.ref.key,It=Ct.ref.parent,xt=ht.length;xt--;)if(Mt=ht[xt],Mt.ref&&Mt.ref.parent===It){if(Mt.ref.key=0;)if(Tt=At[Et],_t=gt[Tt],!!_t)if(Array.isArray(_t)){for(vt=_t.length;(vt-=1)>=0;)if(!!_t[vt]){if(it(yt,At[Et]))mt=new et(_t[vt],[Tt,vt],"Property",new _e(_t,vt));else if(nt(_t[vt]))mt=new et(_t[vt],[Tt,vt],null,new _e(_t,vt));else continue;ht.push(mt)}}else nt(_t)&&ht.push(new et(_t,Tt,null,new _e(gt,Tt)))}}return bt.root};function st(ct,ut){var lt=new tt;return lt.traverse(ct,ut)}function at(ct,ut){var lt=new tt;return lt.replace(ct,ut)}function ot(ct,ut){var lt;return lt=j(ut,function(dt){return dt.range[0]>ct.range[0]}),ct.extendedRange=[ct.range[0],ct.range[1]],lt!==ut.length&&(ct.extendedRange[1]=ut[lt].range[0]),lt-=1,lt>=0&&(ct.extendedRange[0]=ut[lt].range[1]),ct}function pt(ct,ut,lt){var ht=[],dt,gt,yt,ft;if(!ct.range)throw new Error("attachComments needs range information");if(!lt.length){if(ut.length){for(yt=0,gt=ut.length;ytmt.range[0]));)Et.extendedRange[1]===mt.range[0]?(mt.leadingComments||(mt.leadingComments=[]),mt.leadingComments.push(Et),ht.splice(ft,1)):ft+=1;if(ft===ht.length)return c.Break;if(ht[ft].extendedRange[0]>mt.range[1])return c.Skip}}),ft=0,st(ct,{leave:function(mt){for(var Et;ftmt.range[1])return c.Skip}}),ct}return s.Syntax=a,s.traverse=st,s.replace=at,s.attachComments=pt,s.VisitorKeys=d,s.VisitorOption=c,s.Controller=tt,s.cloneEnvironment=function(){return e({})},s})(o)})(estraverse$1);const Spec=_default.default||_default,estraverse=estraverse$1.cloneEnvironment();Object.keys(estraverse.Syntax).filter(o=>o!=="Property").forEach(o=>{delete estraverse.Syntax[o],delete estraverse.VisitorKeys[o]});Object.assign(estraverse.Syntax,Object.keys(Spec).reduce((o,e)=>(o[e]=e,o),{}));Object.assign(estraverse.VisitorKeys,Object.keys(Spec).reduce((o,e)=>(o[e]=Spec[e].fields.map(s=>s.name),o),{}));var dist$1={},StaticMemberExpression_1,ReturnStatement_1,LiteralStringExpression_1,LiteralNumericExpression_1,IdentifierExpression_1,CallExpression_1,ArrayExpression_1;Object.defineProperty(dist$1,"__esModule",{value:!0});function _classCallCheck$5(o,e){if(!(o instanceof e))throw new TypeError("Cannot call a class as a function")}dist$1.ArrayAssignmentTarget=function o(e){var s=e.elements,a=e.rest;_classCallCheck$5(this,o),this.type="ArrayAssignmentTarget",this.elements=s,this.rest=a};dist$1.ArrayBinding=function o(e){var s=e.elements,a=e.rest;_classCallCheck$5(this,o),this.type="ArrayBinding",this.elements=s,this.rest=a};ArrayExpression_1=dist$1.ArrayExpression=function o(e){var s=e.elements;_classCallCheck$5(this,o),this.type="ArrayExpression",this.elements=s};dist$1.ArrowExpression=function o(e){var s=e.isAsync,a=e.params,c=e.body;_classCallCheck$5(this,o),this.type="ArrowExpression",this.isAsync=s,this.params=a,this.body=c};dist$1.AssignmentExpression=function o(e){var s=e.binding,a=e.expression;_classCallCheck$5(this,o),this.type="AssignmentExpression",this.binding=s,this.expression=a};dist$1.AssignmentTargetIdentifier=function o(e){var s=e.name;_classCallCheck$5(this,o),this.type="AssignmentTargetIdentifier",this.name=s};dist$1.AssignmentTargetPropertyIdentifier=function o(e){var s=e.binding,a=e.init;_classCallCheck$5(this,o),this.type="AssignmentTargetPropertyIdentifier",this.binding=s,this.init=a};dist$1.AssignmentTargetPropertyProperty=function o(e){var s=e.name,a=e.binding;_classCallCheck$5(this,o),this.type="AssignmentTargetPropertyProperty",this.name=s,this.binding=a};dist$1.AssignmentTargetWithDefault=function o(e){var s=e.binding,a=e.init;_classCallCheck$5(this,o),this.type="AssignmentTargetWithDefault",this.binding=s,this.init=a};dist$1.AwaitExpression=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="AwaitExpression",this.expression=s};dist$1.BinaryExpression=function o(e){var s=e.left,a=e.operator,c=e.right;_classCallCheck$5(this,o),this.type="BinaryExpression",this.left=s,this.operator=a,this.right=c};dist$1.BindingIdentifier=function o(e){var s=e.name;_classCallCheck$5(this,o),this.type="BindingIdentifier",this.name=s};dist$1.BindingPropertyIdentifier=function o(e){var s=e.binding,a=e.init;_classCallCheck$5(this,o),this.type="BindingPropertyIdentifier",this.binding=s,this.init=a};dist$1.BindingPropertyProperty=function o(e){var s=e.name,a=e.binding;_classCallCheck$5(this,o),this.type="BindingPropertyProperty",this.name=s,this.binding=a};dist$1.BindingWithDefault=function o(e){var s=e.binding,a=e.init;_classCallCheck$5(this,o),this.type="BindingWithDefault",this.binding=s,this.init=a};dist$1.Block=function o(e){var s=e.statements;_classCallCheck$5(this,o),this.type="Block",this.statements=s};dist$1.BlockStatement=function o(e){var s=e.block;_classCallCheck$5(this,o),this.type="BlockStatement",this.block=s};dist$1.BreakStatement=function o(e){var s=e.label;_classCallCheck$5(this,o),this.type="BreakStatement",this.label=s};CallExpression_1=dist$1.CallExpression=function o(e){var s=e.callee,a=e.arguments;_classCallCheck$5(this,o),this.type="CallExpression",this.callee=s,this.arguments=a};dist$1.CatchClause=function o(e){var s=e.binding,a=e.body;_classCallCheck$5(this,o),this.type="CatchClause",this.binding=s,this.body=a};dist$1.ClassDeclaration=function o(e){var s=e.name,a=e.super,c=e.elements;_classCallCheck$5(this,o),this.type="ClassDeclaration",this.name=s,this.super=a,this.elements=c};dist$1.ClassElement=function o(e){var s=e.isStatic,a=e.method;_classCallCheck$5(this,o),this.type="ClassElement",this.isStatic=s,this.method=a};dist$1.ClassExpression=function o(e){var s=e.name,a=e.super,c=e.elements;_classCallCheck$5(this,o),this.type="ClassExpression",this.name=s,this.super=a,this.elements=c};dist$1.CompoundAssignmentExpression=function o(e){var s=e.binding,a=e.operator,c=e.expression;_classCallCheck$5(this,o),this.type="CompoundAssignmentExpression",this.binding=s,this.operator=a,this.expression=c};dist$1.ComputedMemberAssignmentTarget=function o(e){var s=e.object,a=e.expression;_classCallCheck$5(this,o),this.type="ComputedMemberAssignmentTarget",this.object=s,this.expression=a};dist$1.ComputedMemberExpression=function o(e){var s=e.object,a=e.expression;_classCallCheck$5(this,o),this.type="ComputedMemberExpression",this.object=s,this.expression=a};dist$1.ComputedPropertyName=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="ComputedPropertyName",this.expression=s};dist$1.ConditionalExpression=function o(e){var s=e.test,a=e.consequent,c=e.alternate;_classCallCheck$5(this,o),this.type="ConditionalExpression",this.test=s,this.consequent=a,this.alternate=c};dist$1.ContinueStatement=function o(e){var s=e.label;_classCallCheck$5(this,o),this.type="ContinueStatement",this.label=s};dist$1.DataProperty=function o(e){var s=e.name,a=e.expression;_classCallCheck$5(this,o),this.type="DataProperty",this.name=s,this.expression=a};dist$1.DebuggerStatement=function o(){_classCallCheck$5(this,o),this.type="DebuggerStatement"};dist$1.Directive=function o(e){var s=e.rawValue;_classCallCheck$5(this,o),this.type="Directive",this.rawValue=s};dist$1.DoWhileStatement=function o(e){var s=e.body,a=e.test;_classCallCheck$5(this,o),this.type="DoWhileStatement",this.body=s,this.test=a};dist$1.EmptyStatement=function o(){_classCallCheck$5(this,o),this.type="EmptyStatement"};dist$1.Export=function o(e){var s=e.declaration;_classCallCheck$5(this,o),this.type="Export",this.declaration=s};dist$1.ExportAllFrom=function o(e){var s=e.moduleSpecifier;_classCallCheck$5(this,o),this.type="ExportAllFrom",this.moduleSpecifier=s};dist$1.ExportDefault=function o(e){var s=e.body;_classCallCheck$5(this,o),this.type="ExportDefault",this.body=s};dist$1.ExportFrom=function o(e){var s=e.namedExports,a=e.moduleSpecifier;_classCallCheck$5(this,o),this.type="ExportFrom",this.namedExports=s,this.moduleSpecifier=a};dist$1.ExportFromSpecifier=function o(e){var s=e.name,a=e.exportedName;_classCallCheck$5(this,o),this.type="ExportFromSpecifier",this.name=s,this.exportedName=a};dist$1.ExportLocalSpecifier=function o(e){var s=e.name,a=e.exportedName;_classCallCheck$5(this,o),this.type="ExportLocalSpecifier",this.name=s,this.exportedName=a};dist$1.ExportLocals=function o(e){var s=e.namedExports;_classCallCheck$5(this,o),this.type="ExportLocals",this.namedExports=s};dist$1.ExpressionStatement=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="ExpressionStatement",this.expression=s};dist$1.ForAwaitStatement=function o(e){var s=e.left,a=e.right,c=e.body;_classCallCheck$5(this,o),this.type="ForAwaitStatement",this.left=s,this.right=a,this.body=c};dist$1.ForInStatement=function o(e){var s=e.left,a=e.right,c=e.body;_classCallCheck$5(this,o),this.type="ForInStatement",this.left=s,this.right=a,this.body=c};dist$1.ForOfStatement=function o(e){var s=e.left,a=e.right,c=e.body;_classCallCheck$5(this,o),this.type="ForOfStatement",this.left=s,this.right=a,this.body=c};dist$1.ForStatement=function o(e){var s=e.init,a=e.test,c=e.update,d=e.body;_classCallCheck$5(this,o),this.type="ForStatement",this.init=s,this.test=a,this.update=c,this.body=d};dist$1.FormalParameters=function o(e){var s=e.items,a=e.rest;_classCallCheck$5(this,o),this.type="FormalParameters",this.items=s,this.rest=a};dist$1.FunctionBody=function o(e){var s=e.directives,a=e.statements;_classCallCheck$5(this,o),this.type="FunctionBody",this.directives=s,this.statements=a};dist$1.FunctionDeclaration=function o(e){var s=e.isAsync,a=e.isGenerator,c=e.name,d=e.params,_=e.body;_classCallCheck$5(this,o),this.type="FunctionDeclaration",this.isAsync=s,this.isGenerator=a,this.name=c,this.params=d,this.body=_};dist$1.FunctionExpression=function o(e){var s=e.isAsync,a=e.isGenerator,c=e.name,d=e.params,_=e.body;_classCallCheck$5(this,o),this.type="FunctionExpression",this.isAsync=s,this.isGenerator=a,this.name=c,this.params=d,this.body=_};dist$1.Getter=function o(e){var s=e.name,a=e.body;_classCallCheck$5(this,o),this.type="Getter",this.name=s,this.body=a};IdentifierExpression_1=dist$1.IdentifierExpression=function o(e){var s=e.name;_classCallCheck$5(this,o),this.type="IdentifierExpression",this.name=s};dist$1.IfStatement=function o(e){var s=e.test,a=e.consequent,c=e.alternate;_classCallCheck$5(this,o),this.type="IfStatement",this.test=s,this.consequent=a,this.alternate=c};dist$1.Import=function o(e){var s=e.defaultBinding,a=e.namedImports,c=e.moduleSpecifier;_classCallCheck$5(this,o),this.type="Import",this.defaultBinding=s,this.namedImports=a,this.moduleSpecifier=c};dist$1.ImportNamespace=function o(e){var s=e.defaultBinding,a=e.namespaceBinding,c=e.moduleSpecifier;_classCallCheck$5(this,o),this.type="ImportNamespace",this.defaultBinding=s,this.namespaceBinding=a,this.moduleSpecifier=c};dist$1.ImportSpecifier=function o(e){var s=e.name,a=e.binding;_classCallCheck$5(this,o),this.type="ImportSpecifier",this.name=s,this.binding=a};dist$1.LabeledStatement=function o(e){var s=e.label,a=e.body;_classCallCheck$5(this,o),this.type="LabeledStatement",this.label=s,this.body=a};dist$1.LiteralBooleanExpression=function o(e){var s=e.value;_classCallCheck$5(this,o),this.type="LiteralBooleanExpression",this.value=s};dist$1.LiteralInfinityExpression=function o(){_classCallCheck$5(this,o),this.type="LiteralInfinityExpression"};dist$1.LiteralNullExpression=function o(){_classCallCheck$5(this,o),this.type="LiteralNullExpression"};LiteralNumericExpression_1=dist$1.LiteralNumericExpression=function o(e){var s=e.value;_classCallCheck$5(this,o),this.type="LiteralNumericExpression",this.value=s};dist$1.LiteralRegExpExpression=function o(e){var s=e.pattern,a=e.global,c=e.ignoreCase,d=e.multiLine,_=e.dotAll,b=e.unicode,k=e.sticky;_classCallCheck$5(this,o),this.type="LiteralRegExpExpression",this.pattern=s,this.global=a,this.ignoreCase=c,this.multiLine=d,this.dotAll=_,this.unicode=b,this.sticky=k};LiteralStringExpression_1=dist$1.LiteralStringExpression=function o(e){var s=e.value;_classCallCheck$5(this,o),this.type="LiteralStringExpression",this.value=s};dist$1.Method=function o(e){var s=e.isAsync,a=e.isGenerator,c=e.name,d=e.params,_=e.body;_classCallCheck$5(this,o),this.type="Method",this.isAsync=s,this.isGenerator=a,this.name=c,this.params=d,this.body=_};dist$1.Module=function o(e){var s=e.directives,a=e.items;_classCallCheck$5(this,o),this.type="Module",this.directives=s,this.items=a};dist$1.NewExpression=function o(e){var s=e.callee,a=e.arguments;_classCallCheck$5(this,o),this.type="NewExpression",this.callee=s,this.arguments=a};dist$1.NewTargetExpression=function o(){_classCallCheck$5(this,o),this.type="NewTargetExpression"};dist$1.ObjectAssignmentTarget=function o(e){var s=e.properties,a=e.rest;_classCallCheck$5(this,o),this.type="ObjectAssignmentTarget",this.properties=s,this.rest=a};dist$1.ObjectBinding=function o(e){var s=e.properties,a=e.rest;_classCallCheck$5(this,o),this.type="ObjectBinding",this.properties=s,this.rest=a};dist$1.ObjectExpression=function o(e){var s=e.properties;_classCallCheck$5(this,o),this.type="ObjectExpression",this.properties=s};ReturnStatement_1=dist$1.ReturnStatement=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="ReturnStatement",this.expression=s};dist$1.Script=function o(e){var s=e.directives,a=e.statements;_classCallCheck$5(this,o),this.type="Script",this.directives=s,this.statements=a};dist$1.Setter=function o(e){var s=e.name,a=e.param,c=e.body;_classCallCheck$5(this,o),this.type="Setter",this.name=s,this.param=a,this.body=c};dist$1.ShorthandProperty=function o(e){var s=e.name;_classCallCheck$5(this,o),this.type="ShorthandProperty",this.name=s};dist$1.SpreadElement=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="SpreadElement",this.expression=s};dist$1.SpreadProperty=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="SpreadProperty",this.expression=s};dist$1.StaticMemberAssignmentTarget=function o(e){var s=e.object,a=e.property;_classCallCheck$5(this,o),this.type="StaticMemberAssignmentTarget",this.object=s,this.property=a};StaticMemberExpression_1=dist$1.StaticMemberExpression=function o(e){var s=e.object,a=e.property;_classCallCheck$5(this,o),this.type="StaticMemberExpression",this.object=s,this.property=a};dist$1.StaticPropertyName=function o(e){var s=e.value;_classCallCheck$5(this,o),this.type="StaticPropertyName",this.value=s};dist$1.Super=function o(){_classCallCheck$5(this,o),this.type="Super"};dist$1.SwitchCase=function o(e){var s=e.test,a=e.consequent;_classCallCheck$5(this,o),this.type="SwitchCase",this.test=s,this.consequent=a};dist$1.SwitchDefault=function o(e){var s=e.consequent;_classCallCheck$5(this,o),this.type="SwitchDefault",this.consequent=s};dist$1.SwitchStatement=function o(e){var s=e.discriminant,a=e.cases;_classCallCheck$5(this,o),this.type="SwitchStatement",this.discriminant=s,this.cases=a};dist$1.SwitchStatementWithDefault=function o(e){var s=e.discriminant,a=e.preDefaultCases,c=e.defaultCase,d=e.postDefaultCases;_classCallCheck$5(this,o),this.type="SwitchStatementWithDefault",this.discriminant=s,this.preDefaultCases=a,this.defaultCase=c,this.postDefaultCases=d};dist$1.TemplateElement=function o(e){var s=e.rawValue;_classCallCheck$5(this,o),this.type="TemplateElement",this.rawValue=s};dist$1.TemplateExpression=function o(e){var s=e.tag,a=e.elements;_classCallCheck$5(this,o),this.type="TemplateExpression",this.tag=s,this.elements=a};dist$1.ThisExpression=function o(){_classCallCheck$5(this,o),this.type="ThisExpression"};dist$1.ThrowStatement=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="ThrowStatement",this.expression=s};dist$1.TryCatchStatement=function o(e){var s=e.body,a=e.catchClause;_classCallCheck$5(this,o),this.type="TryCatchStatement",this.body=s,this.catchClause=a};dist$1.TryFinallyStatement=function o(e){var s=e.body,a=e.catchClause,c=e.finalizer;_classCallCheck$5(this,o),this.type="TryFinallyStatement",this.body=s,this.catchClause=a,this.finalizer=c};dist$1.UnaryExpression=function o(e){var s=e.operator,a=e.operand;_classCallCheck$5(this,o),this.type="UnaryExpression",this.operator=s,this.operand=a};dist$1.UpdateExpression=function o(e){var s=e.isPrefix,a=e.operator,c=e.operand;_classCallCheck$5(this,o),this.type="UpdateExpression",this.isPrefix=s,this.operator=a,this.operand=c};dist$1.VariableDeclaration=function o(e){var s=e.kind,a=e.declarators;_classCallCheck$5(this,o),this.type="VariableDeclaration",this.kind=s,this.declarators=a};dist$1.VariableDeclarationStatement=function o(e){var s=e.declaration;_classCallCheck$5(this,o),this.type="VariableDeclarationStatement",this.declaration=s};dist$1.VariableDeclarator=function o(e){var s=e.binding,a=e.init;_classCallCheck$5(this,o),this.type="VariableDeclarator",this.binding=s,this.init=a};dist$1.WhileStatement=function o(e){var s=e.test,a=e.body;_classCallCheck$5(this,o),this.type="WhileStatement",this.test=s,this.body=a};dist$1.WithStatement=function o(e){var s=e.object,a=e.body;_classCallCheck$5(this,o),this.type="WithStatement",this.object=s,this.body=a};dist$1.YieldExpression=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="YieldExpression",this.expression=s};dist$1.YieldGeneratorExpression=function o(e){var s=e.expression;_classCallCheck$5(this,o),this.type="YieldGeneratorExpression",this.expression=s};var dist={},minimalCodegen={};/* object-assign (c) Sindre Sorhus @license MIT -*/var getOwnPropertySymbols=Object.getOwnPropertySymbols,hasOwnProperty$1=Object.prototype.hasOwnProperty,propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(o){if(o==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(o)}function shouldUseNative(){try{if(!Object.assign)return!1;var o=new String("abc");if(o[5]="de",Object.getOwnPropertyNames(o)[0]==="5")return!1;for(var e={},s=0;s<10;s++)e["_"+String.fromCharCode(s)]=s;var a=Object.getOwnPropertyNames(e).map(function(d){return e[d]});if(a.join("")!=="0123456789")return!1;var c={};return"abcdefghijklmnopqrst".split("").forEach(function(d){c[d]=d}),Object.keys(Object.assign({},c)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}var objectAssign=shouldUseNative()?Object.assign:function(o,e){for(var s,a=toObject(o),c,d=1;d=48&&rt<=55}s=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];function $(rt){return rt===32||rt===9||rt===11||rt===12||rt===160||rt>=5760&&s.indexOf(rt)>=0}function j(rt){return rt===10||rt===13||rt===8232||rt===8233}function _e(rt){if(rt<=65535)return String.fromCharCode(rt);var it=String.fromCharCode(Math.floor((rt-65536)/1024)+55296),at=String.fromCharCode((rt-65536)%1024+56320);return it+at}for(a=new Array(128),d=0;d<128;++d)a[d]=d>=97&&d<=122||d>=65&&d<=90||d===36||d===95;for(c=new Array(128),d=0;d<128;++d)c[d]=d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===36||d===95;function et(rt){return rt<128?a[rt]:e.NonAsciiIdentifierStart.test(_e(rt))}function tt(rt){return rt<128?c[rt]:e.NonAsciiIdentifierPart.test(_e(rt))}function nt(rt){return rt<128?a[rt]:o.NonAsciiIdentifierStart.test(_e(rt))}function st(rt){return rt<128?c[rt]:o.NonAsciiIdentifierPart.test(_e(rt))}code$1.exports={isDecimalDigit:_,isHexDigit:b,isOctalDigit:k,isWhiteSpace:$,isLineTerminator:j,isIdentifierStartES5:et,isIdentifierPartES5:tt,isIdentifierStartES6:nt,isIdentifierPartES6:st}})();var keyword$1={exports:{}};(function(){var o=code$1.exports;function e(et){switch(et){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}function s(et,tt){return!tt&&et==="yield"?!1:a(et,tt)}function a(et,tt){if(tt&&e(et))return!0;switch(et.length){case 2:return et==="if"||et==="in"||et==="do";case 3:return et==="var"||et==="for"||et==="new"||et==="try";case 4:return et==="this"||et==="else"||et==="case"||et==="void"||et==="with"||et==="enum";case 5:return et==="while"||et==="break"||et==="catch"||et==="throw"||et==="const"||et==="yield"||et==="class"||et==="super";case 6:return et==="return"||et==="typeof"||et==="delete"||et==="switch"||et==="export"||et==="import";case 7:return et==="default"||et==="finally"||et==="extends";case 8:return et==="function"||et==="continue"||et==="debugger";case 10:return et==="instanceof";default:return!1}}function c(et,tt){return et==="null"||et==="true"||et==="false"||s(et,tt)}function d(et,tt){return et==="null"||et==="true"||et==="false"||a(et,tt)}function _(et){return et==="eval"||et==="arguments"}function b(et){var tt,nt,st;if(et.length===0||(st=et.charCodeAt(0),!o.isIdentifierStartES5(st)))return!1;for(tt=1,nt=et.length;tt=nt||(rt=et.charCodeAt(tt),!(56320<=rt&&rt<=57343)))return!1;st=k(st,rt)}if(!it(st))return!1;it=o.isIdentifierPartES6}return!0}function j(et,tt){return b(et)&&!c(et,tt)}function _e(et,tt){return $(et)&&!d(et,tt)}keyword$1.exports={isKeywordES5:s,isKeywordES6:a,isReservedWordES5:c,isReservedWordES6:d,isRestrictedWord:_,isIdentifierNameES5:b,isIdentifierNameES6:$,isIdentifierES5:j,isIdentifierES6:_e}})();(function(){utils.ast=ast.exports,utils.code=code$1.exports,utils.keyword=keyword$1.exports})();var coderep={};Object.defineProperty(coderep,"__esModule",{value:!0});var _createClass$4=function(){function o(e,s){for(var a=0;a":Precedence.Relational,"<=":Precedence.Relational,">=":Precedence.Relational,in:Precedence.Relational,instanceof:Precedence.Relational,"<<":Precedence.BitwiseSHIFT,">>":Precedence.BitwiseSHIFT,">>>":Precedence.BitwiseSHIFT,"+":Precedence.Additive,"-":Precedence.Additive,"*":Precedence.Multiplicative,"%":Precedence.Multiplicative,"/":Precedence.Multiplicative,"**":Precedence.Exponential};function getPrecedence(o){switch(o.type){case"ArrayExpression":case"FunctionExpression":case"ClassExpression":case"IdentifierExpression":case"AssignmentTargetIdentifier":case"NewTargetExpression":case"Super":case"LiteralBooleanExpression":case"LiteralNullExpression":case"LiteralNumericExpression":case"LiteralInfinityExpression":case"LiteralRegExpExpression":case"LiteralStringExpression":case"ObjectExpression":case"ThisExpression":case"SpreadElement":case"FunctionBody":return Precedence.Primary;case"ArrowExpression":case"AssignmentExpression":case"CompoundAssignmentExpression":case"YieldExpression":case"YieldGeneratorExpression":return Precedence.Assignment;case"ConditionalExpression":return Precedence.Conditional;case"ComputedMemberExpression":case"StaticMemberExpression":case"ComputedMemberAssignmentTarget":case"StaticMemberAssignmentTarget":switch(o.object.type){case"CallExpression":case"ComputedMemberExpression":case"StaticMemberExpression":case"TemplateExpression":return getPrecedence(o.object);default:return Precedence.Member}case"TemplateExpression":if(o.tag==null)return Precedence.Member;switch(o.tag.type){case"CallExpression":case"ComputedMemberExpression":case"StaticMemberExpression":case"TemplateExpression":return getPrecedence(o.tag);default:return Precedence.Member}case"BinaryExpression":return BinaryPrecedence[o.operator];case"CallExpression":return Precedence.Call;case"NewExpression":return o.arguments.length===0?Precedence.New:Precedence.Member;case"UpdateExpression":return o.isPrefix?Precedence.Prefix:Precedence.Postfix;case"AwaitExpression":case"UnaryExpression":return Precedence.Prefix;default:throw new Error("unreachable: "+o.type)}}function escapeStringLiteral(o){for(var e="",s=0,a=0,c=0,d=o.length;cs?"'":'"';e+=b;for(var k=0;k=48&&rt<=55}s=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];function $(rt){return rt===32||rt===9||rt===11||rt===12||rt===160||rt>=5760&&s.indexOf(rt)>=0}function j(rt){return rt===10||rt===13||rt===8232||rt===8233}function _e(rt){if(rt<=65535)return String.fromCharCode(rt);var st=String.fromCharCode(Math.floor((rt-65536)/1024)+55296),at=String.fromCharCode((rt-65536)%1024+56320);return st+at}for(a=new Array(128),d=0;d<128;++d)a[d]=d>=97&&d<=122||d>=65&&d<=90||d===36||d===95;for(c=new Array(128),d=0;d<128;++d)c[d]=d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===36||d===95;function et(rt){return rt<128?a[rt]:e.NonAsciiIdentifierStart.test(_e(rt))}function tt(rt){return rt<128?c[rt]:e.NonAsciiIdentifierPart.test(_e(rt))}function nt(rt){return rt<128?a[rt]:o.NonAsciiIdentifierStart.test(_e(rt))}function it(rt){return rt<128?c[rt]:o.NonAsciiIdentifierPart.test(_e(rt))}code$1.exports={isDecimalDigit:_,isHexDigit:b,isOctalDigit:k,isWhiteSpace:$,isLineTerminator:j,isIdentifierStartES5:et,isIdentifierPartES5:tt,isIdentifierStartES6:nt,isIdentifierPartES6:it}})();var keyword$1={exports:{}};(function(){var o=code$1.exports;function e(et){switch(et){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}function s(et,tt){return!tt&&et==="yield"?!1:a(et,tt)}function a(et,tt){if(tt&&e(et))return!0;switch(et.length){case 2:return et==="if"||et==="in"||et==="do";case 3:return et==="var"||et==="for"||et==="new"||et==="try";case 4:return et==="this"||et==="else"||et==="case"||et==="void"||et==="with"||et==="enum";case 5:return et==="while"||et==="break"||et==="catch"||et==="throw"||et==="const"||et==="yield"||et==="class"||et==="super";case 6:return et==="return"||et==="typeof"||et==="delete"||et==="switch"||et==="export"||et==="import";case 7:return et==="default"||et==="finally"||et==="extends";case 8:return et==="function"||et==="continue"||et==="debugger";case 10:return et==="instanceof";default:return!1}}function c(et,tt){return et==="null"||et==="true"||et==="false"||s(et,tt)}function d(et,tt){return et==="null"||et==="true"||et==="false"||a(et,tt)}function _(et){return et==="eval"||et==="arguments"}function b(et){var tt,nt,it;if(et.length===0||(it=et.charCodeAt(0),!o.isIdentifierStartES5(it)))return!1;for(tt=1,nt=et.length;tt=nt||(rt=et.charCodeAt(tt),!(56320<=rt&&rt<=57343)))return!1;it=k(it,rt)}if(!st(it))return!1;st=o.isIdentifierPartES6}return!0}function j(et,tt){return b(et)&&!c(et,tt)}function _e(et,tt){return $(et)&&!d(et,tt)}keyword$1.exports={isKeywordES5:s,isKeywordES6:a,isReservedWordES5:c,isReservedWordES6:d,isRestrictedWord:_,isIdentifierNameES5:b,isIdentifierNameES6:$,isIdentifierES5:j,isIdentifierES6:_e}})();(function(){utils.ast=ast.exports,utils.code=code$1.exports,utils.keyword=keyword$1.exports})();var coderep={};Object.defineProperty(coderep,"__esModule",{value:!0});var _createClass$4=function(){function o(e,s){for(var a=0;a":Precedence.Relational,"<=":Precedence.Relational,">=":Precedence.Relational,in:Precedence.Relational,instanceof:Precedence.Relational,"<<":Precedence.BitwiseSHIFT,">>":Precedence.BitwiseSHIFT,">>>":Precedence.BitwiseSHIFT,"+":Precedence.Additive,"-":Precedence.Additive,"*":Precedence.Multiplicative,"%":Precedence.Multiplicative,"/":Precedence.Multiplicative,"**":Precedence.Exponential};function getPrecedence(o){switch(o.type){case"ArrayExpression":case"FunctionExpression":case"ClassExpression":case"IdentifierExpression":case"AssignmentTargetIdentifier":case"NewTargetExpression":case"Super":case"LiteralBooleanExpression":case"LiteralNullExpression":case"LiteralNumericExpression":case"LiteralInfinityExpression":case"LiteralRegExpExpression":case"LiteralStringExpression":case"ObjectExpression":case"ThisExpression":case"SpreadElement":case"FunctionBody":return Precedence.Primary;case"ArrowExpression":case"AssignmentExpression":case"CompoundAssignmentExpression":case"YieldExpression":case"YieldGeneratorExpression":return Precedence.Assignment;case"ConditionalExpression":return Precedence.Conditional;case"ComputedMemberExpression":case"StaticMemberExpression":case"ComputedMemberAssignmentTarget":case"StaticMemberAssignmentTarget":switch(o.object.type){case"CallExpression":case"ComputedMemberExpression":case"StaticMemberExpression":case"TemplateExpression":return getPrecedence(o.object);default:return Precedence.Member}case"TemplateExpression":if(o.tag==null)return Precedence.Member;switch(o.tag.type){case"CallExpression":case"ComputedMemberExpression":case"StaticMemberExpression":case"TemplateExpression":return getPrecedence(o.tag);default:return Precedence.Member}case"BinaryExpression":return BinaryPrecedence[o.operator];case"CallExpression":return Precedence.Call;case"NewExpression":return o.arguments.length===0?Precedence.New:Precedence.Member;case"UpdateExpression":return o.isPrefix?Precedence.Prefix:Precedence.Postfix;case"AwaitExpression":case"UnaryExpression":return Precedence.Prefix;default:throw new Error("unreachable: "+o.type)}}function escapeStringLiteral(o){for(var e="",s=0,a=0,c=0,d=o.length;cs?"'":'"';e+=b;for(var k=0;k1&&arguments[1]!==void 0?arguments[1]:!1;_classCallCheck$4(this,e);var c=_possibleConstructorReturn$2(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return c.token=s,c.isRegExp=a,c}return _createClass$4(e,[{key:"emit",value:function(a){a.put(this.token,this.isRegExp)}}]),e}(CodeRep);coderep.RawToken=function(o){_inherits$2(e,o);function e(s){_classCallCheck$4(this,e);var a=_possibleConstructorReturn$2(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return a.token=s,a}return _createClass$4(e,[{key:"emit",value:function(a){a.putRaw(this.token)}}]),e}(CodeRep);coderep.NumberCodeRep=function(o){_inherits$2(e,o);function e(s){_classCallCheck$4(this,e);var a=_possibleConstructorReturn$2(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return a.number=s,a}return _createClass$4(e,[{key:"emit",value:function(a){a.putNumber(this.number)}}]),e}(CodeRep);coderep.Paren=function(o){_inherits$2(e,o);function e(s){_classCallCheck$4(this,e);var a=_possibleConstructorReturn$2(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return a.expr=s,a}return _createClass$4(e,[{key:"emit",value:function(a){a.put("("),this.expr.emit(a,!1),a.put(")")}},{key:"forEach",value:function(a){a(this),this.expr.forEach(a)}}]),e}(CodeRep);coderep.Bracket=function(o){_inherits$2(e,o);function e(s){_classCallCheck$4(this,e);var a=_possibleConstructorReturn$2(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return a.expr=s,a}return _createClass$4(e,[{key:"emit",value:function(a){a.put("["),this.expr.emit(a,!1),a.put("]")}},{key:"forEach",value:function(a){a(this),this.expr.forEach(a)}}]),e}(CodeRep);coderep.Brace=function(o){_inherits$2(e,o);function e(s){_classCallCheck$4(this,e);var a=_possibleConstructorReturn$2(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return a.expr=s,a}return _createClass$4(e,[{key:"emit",value:function(a){a.put("{"),this.expr.emit(a,!1),a.put("}")}},{key:"forEach",value:function(a){a(this),this.expr.forEach(a)}}]),e}(CodeRep);coderep.NoIn=function(o){_inherits$2(e,o);function e(s){_classCallCheck$4(this,e);var a=_possibleConstructorReturn$2(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return a.expr=s,a}return _createClass$4(e,[{key:"emit",value:function(a){this.expr.emit(a,!0)}},{key:"forEach",value:function(a){a(this),this.expr.forEach(a)}}]),e}(CodeRep);coderep.ContainsIn=function(o){_inherits$2(e,o);function e(s){_classCallCheck$4(this,e);var a=_possibleConstructorReturn$2(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return a.expr=s,a}return _createClass$4(e,[{key:"emit",value:function(a,c){c?(a.put("("),this.expr.emit(a,!1),a.put(")")):this.expr.emit(a,!1)}},{key:"forEach",value:function(a){a(this),this.expr.forEach(a)}}]),e}(CodeRep);coderep.Seq=function(o){_inherits$2(e,o);function e(s){_classCallCheck$4(this,e);var a=_possibleConstructorReturn$2(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return a.children=s,a}return _createClass$4(e,[{key:"emit",value:function(a,c){this.children.forEach(function(d){return d.emit(a,c)})}},{key:"forEach",value:function(a){a(this),this.children.forEach(function(c){return c.forEach(a)})}}]),e}(CodeRep);coderep.Semi=function(o){_inherits$2(e,o);function e(){return _classCallCheck$4(this,e),_possibleConstructorReturn$2(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,";"))}return e}(Token);coderep.CommaSep=function(o){_inherits$2(e,o);function e(s){_classCallCheck$4(this,e);var a=_possibleConstructorReturn$2(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return a.children=s,a}return _createClass$4(e,[{key:"emit",value:function(a,c){var d=!0;this.children.forEach(function(_){d?d=!1:a.put(","),_.emit(a,c)})}},{key:"forEach",value:function(a){a(this),this.children.forEach(function(c){return c.forEach(a)})}}]),e}(CodeRep);coderep.SemiOp=function(o){_inherits$2(e,o);function e(){return _classCallCheck$4(this,e),_possibleConstructorReturn$2(this,(e.__proto__||Object.getPrototypeOf(e)).call(this))}return _createClass$4(e,[{key:"emit",value:function(a){a.putOptionalSemi()}}]),e}(CodeRep);Object.defineProperty(minimalCodegen,"__esModule",{value:!0});var _createClass$3=function(){function o(e,s){for(var a=0;a1&&arguments[1]!==void 0?arguments[1]:!1;return new _coderep$1.Token(o,e)}function paren(o){return new _coderep$1.Paren(o)}function brace(o){return new _coderep$1.Brace(o)}function bracket$1(o){return new _coderep$1.Bracket(o)}function noIn$1(o){return new _coderep$1.NoIn(o)}function markContainsIn$1(o){return o.containsIn?new _coderep$1.ContainsIn(o):o}function seq$1(){for(var o=arguments.length,e=Array(o),s=0;s0&&c[c.length-1]==null&&(d=seq$1(d,t$1(","))),bracket$1(d)}},{key:"reduceAwaitExpression",value:function(s,a){var c=a.expression;return seq$1(t$1("await"),p$1(s.expression,(0,_coderep$1.getPrecedence)(s),c))}},{key:"reduceSpreadElement",value:function(s,a){var c=a.expression;return seq$1(t$1("..."),p$1(s.expression,_coderep$1.Precedence.Assignment,c))}},{key:"reduceSpreadProperty",value:function(s,a){var c=a.expression;return seq$1(t$1("..."),getAssignmentExpr(c))}},{key:"reduceAssignmentExpression",value:function(s,a){var c=a.binding,d=a.expression,_=c,b=d,k=d.containsIn,$=c.startsWithCurly,j=c.startsWithLetSquareBracket,_e=c.startsWithFunctionOrClass;return(0,_coderep$1.getPrecedence)(s.expression)<(0,_coderep$1.getPrecedence)(s)&&(b=paren(b),k=!1),(0,_objectAssign2$1.default)(seq$1(_,t$1("="),b),{containsIn:k,startsWithCurly:$,startsWithLetSquareBracket:j,startsWithFunctionOrClass:_e})}},{key:"reduceAssignmentTargetIdentifier",value:function(s){var a=t$1(s.name);return s.name==="let"&&(a.startsWithLet=!0),a}},{key:"reduceAssignmentTargetWithDefault",value:function(s,a){var c=a.binding,d=a.init;return seq$1(c,t$1("="),p$1(s.init,_coderep$1.Precedence.Assignment,d))}},{key:"reduceCompoundAssignmentExpression",value:function(s,a){var c=a.binding,d=a.expression,_=c,b=d,k=d.containsIn,$=c.startsWithCurly,j=c.startsWithLetSquareBracket,_e=c.startsWithFunctionOrClass;return(0,_coderep$1.getPrecedence)(s.expression)<(0,_coderep$1.getPrecedence)(s)&&(b=paren(b),k=!1),(0,_objectAssign2$1.default)(seq$1(_,t$1(s.operator),b),{containsIn:k,startsWithCurly:$,startsWithLetSquareBracket:j,startsWithFunctionOrClass:_e})}},{key:"reduceBinaryExpression",value:function(s,a){var c=a.left,d=a.right,_=c,b=c.startsWithCurly,k=c.startsWithLetSquareBracket,$=c.startsWithFunctionOrClass,j=c.containsIn,_e=s.operator==="**";((0,_coderep$1.getPrecedence)(s.left)<(0,_coderep$1.getPrecedence)(s)||_e&&((0,_coderep$1.getPrecedence)(s.left)===(0,_coderep$1.getPrecedence)(s)||s.left.type==="UnaryExpression"))&&(_=paren(_),b=!1,k=!1,$=!1,j=!1);var et=d,tt=d.containsIn;return((0,_coderep$1.getPrecedence)(s.right)<(0,_coderep$1.getPrecedence)(s)||!_e&&(0,_coderep$1.getPrecedence)(s.right)===(0,_coderep$1.getPrecedence)(s))&&(et=paren(et),tt=!1),(0,_objectAssign2$1.default)(seq$1(_,t$1(s.operator),et),{containsIn:j||tt||s.operator==="in",containsGroup:s.operator===",",startsWithCurly:b,startsWithLetSquareBracket:k,startsWithFunctionOrClass:$})}},{key:"reduceBindingWithDefault",value:function(s,a){var c=a.binding,d=a.init;return seq$1(c,t$1("="),p$1(s.init,_coderep$1.Precedence.Assignment,d))}},{key:"reduceBindingIdentifier",value:function(s){var a=t$1(s.name);return s.name==="let"&&(a.startsWithLet=!0),a}},{key:"reduceArrayAssignmentTarget",value:function(s,a){var c=a.elements,d=a.rest,_=void 0;return c.length===0?_=d==null?empty$2():seq$1(t$1("..."),d):(c=c.concat(d==null?[]:[seq$1(t$1("..."),d)]),_=commaSep(c.map(getAssignmentExpr)),c.length>0&&c[c.length-1]==null&&(_=seq$1(_,t$1(",")))),bracket$1(_)}},{key:"reduceArrayBinding",value:function(s,a){var c=a.elements,d=a.rest,_=void 0;return c.length===0?_=d==null?empty$2():seq$1(t$1("..."),d):(c=c.concat(d==null?[]:[seq$1(t$1("..."),d)]),_=commaSep(c.map(getAssignmentExpr)),c.length>0&&c[c.length-1]==null&&(_=seq$1(_,t$1(",")))),bracket$1(_)}},{key:"reduceObjectAssignmentTarget",value:function(s,a){var c=a.properties,d=a.rest,_=commaSep(c);c.length===0?_=d==null?empty$2():seq$1(t$1("..."),d):_=d==null?_:seq$1(_,t$1(","),t$1("..."),d);var b=brace(_);return b.startsWithCurly=!0,b}},{key:"reduceObjectBinding",value:function(s,a){var c=a.properties,d=a.rest,_=commaSep(c);c.length===0?_=d==null?empty$2():seq$1(t$1("..."),d):_=d==null?_:seq$1(_,t$1(","),t$1("..."),d);var b=brace(_);return b.startsWithCurly=!0,b}},{key:"reduceAssignmentTargetPropertyIdentifier",value:function(s,a){var c=a.binding,d=a.init;return s.init==null?c:seq$1(c,t$1("="),p$1(s.init,_coderep$1.Precedence.Assignment,d))}},{key:"reduceAssignmentTargetPropertyProperty",value:function(s,a){var c=a.name,d=a.binding;return seq$1(c,t$1(":"),d)}},{key:"reduceBindingPropertyIdentifier",value:function(s,a){var c=a.binding,d=a.init;return s.init==null?c:seq$1(c,t$1("="),p$1(s.init,_coderep$1.Precedence.Assignment,d))}},{key:"reduceBindingPropertyProperty",value:function(s,a){var c=a.name,d=a.binding;return seq$1(c,t$1(":"),d)}},{key:"reduceBlock",value:function(s,a){var c=a.statements;return brace(seq$1.apply(void 0,_toConsumableArray$2(c)))}},{key:"reduceBlockStatement",value:function(s,a){var c=a.block;return c}},{key:"reduceBreakStatement",value:function(s){return seq$1(t$1("break"),s.label?t$1(s.label):empty$2(),semiOp())}},{key:"reduceCallExpression",value:function(s,a){var c=a.callee,d=a.arguments,_=d.map(function(b,k){return p$1(s.arguments[k],_coderep$1.Precedence.Assignment,b)});return(0,_objectAssign2$1.default)(seq$1(p$1(s.callee,(0,_coderep$1.getPrecedence)(s),c),paren(commaSep(_))),{startsWithCurly:c.startsWithCurly,startsWithLet:c.startsWithLet,startsWithLetSquareBracket:c.startsWithLetSquareBracket,startsWithFunctionOrClass:c.startsWithFunctionOrClass})}},{key:"reduceCatchClause",value:function(s,a){var c=a.binding,d=a.body;return seq$1(t$1("catch"),paren(c),d)}},{key:"reduceClassDeclaration",value:function(s,a){var c=a.name,d=a.super,_=a.elements,b=seq$1(t$1("class"),s.name.name==="*default*"?empty$2():c);return d!=null&&(b=seq$1(b,t$1("extends"),p$1(s.super,_coderep$1.Precedence.New,d))),b=seq$1.apply(void 0,[b,t$1("{")].concat(_toConsumableArray$2(_),[t$1("}")])),b}},{key:"reduceClassExpression",value:function(s,a){var c=a.name,d=a.super,_=a.elements,b=t$1("class");return c!=null&&(b=seq$1(b,c)),d!=null&&(b=seq$1(b,t$1("extends"),p$1(s.super,_coderep$1.Precedence.New,d))),b=seq$1.apply(void 0,[b,t$1("{")].concat(_toConsumableArray$2(_),[t$1("}")])),b.startsWithFunctionOrClass=!0,b}},{key:"reduceClassElement",value:function(s,a){var c=a.method;return s.isStatic?seq$1(t$1("static"),c):c}},{key:"reduceComputedMemberAssignmentTarget",value:function(s,a){var c=a.object,d=a.expression,_=c.startsWithLetSquareBracket||s.object.type==="IdentifierExpression"&&s.object.name==="let";return(0,_objectAssign2$1.default)(seq$1(p$1(s.object,(0,_coderep$1.getPrecedence)(s),c),bracket$1(d)),{startsWithLet:c.startsWithLet,startsWithLetSquareBracket:_,startsWithCurly:c.startsWithCurly,startsWithFunctionOrClass:c.startsWithFunctionOrClass})}},{key:"reduceComputedMemberExpression",value:function(s,a){var c=a.object,d=a.expression,_=c.startsWithLetSquareBracket||s.object.type==="IdentifierExpression"&&s.object.name==="let";return(0,_objectAssign2$1.default)(seq$1(p$1(s.object,(0,_coderep$1.getPrecedence)(s),c),bracket$1(d)),{startsWithLet:c.startsWithLet,startsWithLetSquareBracket:_,startsWithCurly:c.startsWithCurly,startsWithFunctionOrClass:c.startsWithFunctionOrClass})}},{key:"reduceComputedPropertyName",value:function(s,a){var c=a.expression;return bracket$1(p$1(s.expression,_coderep$1.Precedence.Assignment,c))}},{key:"reduceConditionalExpression",value:function(s,a){var c=a.test,d=a.consequent,_=a.alternate,b=c.containsIn||_.containsIn,k=c.startsWithCurly,$=c.startsWithLetSquareBracket,j=c.startsWithFunctionOrClass;return(0,_objectAssign2$1.default)(seq$1(p$1(s.test,_coderep$1.Precedence.LogicalOR,c),t$1("?"),p$1(s.consequent,_coderep$1.Precedence.Assignment,d),t$1(":"),p$1(s.alternate,_coderep$1.Precedence.Assignment,_)),{containsIn:b,startsWithCurly:k,startsWithLetSquareBracket:$,startsWithFunctionOrClass:j})}},{key:"reduceContinueStatement",value:function(s){return seq$1(t$1("continue"),s.label?t$1(s.label):empty$2(),semiOp())}},{key:"reduceDataProperty",value:function(s,a){var c=a.name,d=a.expression;return seq$1(c,t$1(":"),getAssignmentExpr(d))}},{key:"reduceDebuggerStatement",value:function(){return seq$1(t$1("debugger"),semiOp())}},{key:"reduceDoWhileStatement",value:function(s,a){var c=a.body,d=a.test;return seq$1(t$1("do"),c,t$1("while"),paren(d),semiOp())}},{key:"reduceEmptyStatement",value:function(){return semi()}},{key:"reduceExpressionStatement",value:function(s,a){var c=a.expression,d=c.startsWithCurly||c.startsWithLetSquareBracket||c.startsWithFunctionOrClass;return seq$1(d?paren(c):c,semiOp())}},{key:"reduceForInStatement",value:function(s,a){var c=a.left,d=a.right,_=a.body;return c=s.left.type==="VariableDeclaration"?noIn$1(markContainsIn$1(c)):c,(0,_objectAssign2$1.default)(seq$1(t$1("for"),paren(seq$1(c.startsWithLet?paren(c):c,t$1("in"),d)),_),{endsWithMissingElse:_.endsWithMissingElse})}},{key:"reduceForOfStatement",value:function(s,a){var c=a.left,d=a.right,_=a.body;return c=s.left.type==="VariableDeclaration"?noIn$1(markContainsIn$1(c)):c,(0,_objectAssign2$1.default)(seq$1(t$1("for"),paren(seq$1(c.startsWithLet?paren(c):c,t$1("of"),p$1(s.right,_coderep$1.Precedence.Assignment,d))),_),{endsWithMissingElse:_.endsWithMissingElse})}},{key:"reduceForStatement",value:function(s,a){var c=a.init,d=a.test,_=a.update,b=a.body;return c&&(c.startsWithLetSquareBracket&&(c=paren(c)),c=noIn$1(markContainsIn$1(c))),(0,_objectAssign2$1.default)(seq$1(t$1("for"),paren(seq$1(c||empty$2(),semi(),d||empty$2(),semi(),_||empty$2())),b),{endsWithMissingElse:b.endsWithMissingElse})}},{key:"reduceForAwaitStatement",value:function(s,a){var c=a.left,d=a.right,_=a.body;return c=s.left.type==="VariableDeclaration"?noIn$1(markContainsIn$1(c)):c,(0,_objectAssign2$1.default)(seq$1(t$1("for"),t$1("await"),paren(seq$1(c.startsWithLet?paren(c):c,t$1("of"),p$1(s.right,_coderep$1.Precedence.Assignment,d))),_),{endsWithMissingElse:_.endsWithMissingElse})}},{key:"reduceFunctionBody",value:function(s,a){var c=a.directives,d=a.statements;return d.length&&(d[0]=this.parenToAvoidBeingDirective(s.statements[0],d[0])),brace(seq$1.apply(void 0,_toConsumableArray$2(c).concat(_toConsumableArray$2(d))))}},{key:"reduceFunctionDeclaration",value:function(s,a){var c=a.name,d=a.params,_=a.body;return seq$1(s.isAsync?t$1("async"):empty$2(),t$1("function"),s.isGenerator?t$1("*"):empty$2(),s.name.name==="*default*"?empty$2():c,d,_)}},{key:"reduceFunctionExpression",value:function(s,a){var c=a.name,d=a.params,_=a.body,b=seq$1(s.isAsync?t$1("async"):empty$2(),t$1("function"),s.isGenerator?t$1("*"):empty$2(),c||empty$2(),d,_);return b.startsWithFunctionOrClass=!0,b}},{key:"reduceFormalParameters",value:function(s,a){var c=a.items,d=a.rest;return paren(commaSep(c.concat(d==null?[]:[seq$1(t$1("..."),d)])))}},{key:"reduceArrowExpression",value:function(s,a){var c=a.params,d=a.body;c=this.regenerateArrowParams(s.params,c);var _=!1;return s.body.type!=="FunctionBody"&&(d.startsWithCurly?d=paren(d):d.containsIn&&(_=!0)),(0,_objectAssign2$1.default)(seq$1(s.isAsync?t$1("async"):empty$2(),c,t$1("=>"),p$1(s.body,_coderep$1.Precedence.Assignment,d)),{containsIn:_})}},{key:"reduceGetter",value:function(s,a){var c=a.name,d=a.body;return seq$1(t$1("get"),c,paren(empty$2()),d)}},{key:"reduceIdentifierExpression",value:function(s){var a=t$1(s.name);return s.name==="let"&&(a.startsWithLet=!0),a}},{key:"reduceIfStatement",value:function(s,a){var c=a.test,d=a.consequent,_=a.alternate;return _&&d.endsWithMissingElse&&(d=brace(d)),(0,_objectAssign2$1.default)(seq$1(t$1("if"),paren(c),d,_?seq$1(t$1("else"),_):empty$2()),{endsWithMissingElse:_?_.endsWithMissingElse:!0})}},{key:"reduceImport",value:function(s,a){var c=a.defaultBinding,d=a.namedImports,_=[];return c!=null&&_.push(c),d.length>0&&_.push(brace(commaSep(d))),_.length===0?seq$1(t$1("import"),t$1((0,_coderep$1.escapeStringLiteral)(s.moduleSpecifier)),semiOp()):seq$1(t$1("import"),commaSep(_),t$1("from"),t$1((0,_coderep$1.escapeStringLiteral)(s.moduleSpecifier)),semiOp())}},{key:"reduceImportNamespace",value:function(s,a){var c=a.defaultBinding,d=a.namespaceBinding;return seq$1(t$1("import"),c==null?empty$2():seq$1(c,t$1(",")),t$1("*"),t$1("as"),d,t$1("from"),t$1((0,_coderep$1.escapeStringLiteral)(s.moduleSpecifier)),semiOp())}},{key:"reduceImportSpecifier",value:function(s,a){var c=a.binding;return s.name==null?c:seq$1(t$1(s.name),t$1("as"),c)}},{key:"reduceExportAllFrom",value:function(s){return seq$1(t$1("export"),t$1("*"),t$1("from"),t$1((0,_coderep$1.escapeStringLiteral)(s.moduleSpecifier)),semiOp())}},{key:"reduceExportFrom",value:function(s,a){var c=a.namedExports;return seq$1(t$1("export"),brace(commaSep(c)),t$1("from"),t$1((0,_coderep$1.escapeStringLiteral)(s.moduleSpecifier)),semiOp())}},{key:"reduceExportLocals",value:function(s,a){var c=a.namedExports;return seq$1(t$1("export"),brace(commaSep(c)),semiOp())}},{key:"reduceExport",value:function(s,a){var c=a.declaration;switch(s.declaration.type){case"FunctionDeclaration":case"ClassDeclaration":break;default:c=seq$1(c,semiOp())}return seq$1(t$1("export"),c)}},{key:"reduceExportDefault",value:function(s,a){var c=a.body;switch(c=c.startsWithFunctionOrClass?paren(c):c,s.body.type){case"FunctionDeclaration":case"ClassDeclaration":return seq$1(t$1("export default"),c);default:return seq$1(t$1("export default"),p$1(s.body,_coderep$1.Precedence.Assignment,c),semiOp())}}},{key:"reduceExportFromSpecifier",value:function(s){return s.exportedName==null?t$1(s.name):seq$1(t$1(s.name),t$1("as"),t$1(s.exportedName))}},{key:"reduceExportLocalSpecifier",value:function(s,a){var c=a.name;return s.exportedName==null?c:seq$1(c,t$1("as"),t$1(s.exportedName))}},{key:"reduceLabeledStatement",value:function(s,a){var c=a.body;return(0,_objectAssign2$1.default)(seq$1(t$1(s.label+":"),c),{endsWithMissingElse:c.endsWithMissingElse})}},{key:"reduceLiteralBooleanExpression",value:function(s){return t$1(s.value.toString())}},{key:"reduceLiteralNullExpression",value:function(){return t$1("null")}},{key:"reduceLiteralInfinityExpression",value:function(){return t$1("2e308")}},{key:"reduceLiteralNumericExpression",value:function(s){return new _coderep$1.NumberCodeRep(s.value)}},{key:"reduceLiteralRegExpExpression",value:function(s){return t$1("/"+s.pattern+"/"+(s.global?"g":"")+(s.ignoreCase?"i":"")+(s.multiLine?"m":"")+(s.dotAll?"s":"")+(s.unicode?"u":"")+(s.sticky?"y":""),!0)}},{key:"reduceLiteralStringExpression",value:function(s){return t$1((0,_coderep$1.escapeStringLiteral)(s.value))}},{key:"reduceMethod",value:function(s,a){var c=a.name,d=a.params,_=a.body;return seq$1(s.isAsync?t$1("async"):empty$2(),s.isGenerator?t$1("*"):empty$2(),c,d,_)}},{key:"reduceModule",value:function(s,a){var c=a.directives,d=a.items;return d.length&&(d[0]=this.parenToAvoidBeingDirective(s.items[0],d[0])),seq$1.apply(void 0,_toConsumableArray$2(c).concat(_toConsumableArray$2(d)))}},{key:"reduceNewExpression",value:function(s,a){var c=a.callee,d=a.arguments,_=d.map(function(k,$){return p$1(s.arguments[$],_coderep$1.Precedence.Assignment,k)}),b=(0,_coderep$1.getPrecedence)(s.callee)===_coderep$1.Precedence.Call?paren(c):p$1(s.callee,(0,_coderep$1.getPrecedence)(s),c);return seq$1(t$1("new"),b,d.length===0?empty$2():paren(commaSep(_)))}},{key:"reduceNewTargetExpression",value:function(){return t$1("new.target")}},{key:"reduceObjectExpression",value:function(s,a){var c=a.properties,d=brace(commaSep(c));return d.startsWithCurly=!0,d}},{key:"reduceUpdateExpression",value:function(s,a){var c=a.operand;return s.isPrefix?this.reduceUnaryExpression.apply(this,arguments):(0,_objectAssign2$1.default)(seq$1(p$1(s.operand,_coderep$1.Precedence.New,c),t$1(s.operator)),{startsWithCurly:c.startsWithCurly,startsWithLetSquareBracket:c.startsWithLetSquareBracket,startsWithFunctionOrClass:c.startsWithFunctionOrClass})}},{key:"reduceUnaryExpression",value:function(s,a){var c=a.operand;return seq$1(t$1(s.operator),p$1(s.operand,(0,_coderep$1.getPrecedence)(s),c))}},{key:"reduceReturnStatement",value:function(s,a){var c=a.expression;return seq$1(t$1("return"),c||empty$2(),semiOp())}},{key:"reduceScript",value:function(s,a){var c=a.directives,d=a.statements;return d.length&&(d[0]=this.parenToAvoidBeingDirective(s.statements[0],d[0])),seq$1.apply(void 0,_toConsumableArray$2(c).concat(_toConsumableArray$2(d)))}},{key:"reduceSetter",value:function(s,a){var c=a.name,d=a.param,_=a.body;return seq$1(t$1("set"),c,paren(d),_)}},{key:"reduceShorthandProperty",value:function(s,a){var c=a.name;return c}},{key:"reduceStaticMemberAssignmentTarget",value:function(s,a){var c=a.object,d=seq$1(p$1(s.object,(0,_coderep$1.getPrecedence)(s),c),t$1("."),t$1(s.property));return d.startsWithLet=c.startsWithLet,d.startsWithCurly=c.startsWithCurly,d.startsWithLetSquareBracket=c.startsWithLetSquareBracket,d.startsWithFunctionOrClass=c.startsWithFunctionOrClass,d}},{key:"reduceStaticMemberExpression",value:function(s,a){var c=a.object,d=seq$1(p$1(s.object,(0,_coderep$1.getPrecedence)(s),c),t$1("."),t$1(s.property));return d.startsWithLet=c.startsWithLet,d.startsWithCurly=c.startsWithCurly,d.startsWithLetSquareBracket=c.startsWithLetSquareBracket,d.startsWithFunctionOrClass=c.startsWithFunctionOrClass,d}},{key:"reduceStaticPropertyName",value:function(s){if(_esutils$1.keyword.isIdentifierNameES6(s.value))return t$1(s.value);var a=parseFloat(s.value);return a>=0&&a.toString()===s.value?new _coderep$1.NumberCodeRep(a):t$1((0,_coderep$1.escapeStringLiteral)(s.value))}},{key:"reduceSuper",value:function(){return t$1("super")}},{key:"reduceSwitchCase",value:function(s,a){var c=a.test,d=a.consequent;return seq$1(t$1("case"),c,t$1(":"),seq$1.apply(void 0,_toConsumableArray$2(d)))}},{key:"reduceSwitchDefault",value:function(s,a){var c=a.consequent;return seq$1(t$1("default:"),seq$1.apply(void 0,_toConsumableArray$2(c)))}},{key:"reduceSwitchStatement",value:function(s,a){var c=a.discriminant,d=a.cases;return seq$1(t$1("switch"),paren(c),brace(seq$1.apply(void 0,_toConsumableArray$2(d))))}},{key:"reduceSwitchStatementWithDefault",value:function(s,a){var c=a.discriminant,d=a.preDefaultCases,_=a.defaultCase,b=a.postDefaultCases;return seq$1(t$1("switch"),paren(c),brace(seq$1.apply(void 0,_toConsumableArray$2(d).concat([_],_toConsumableArray$2(b)))))}},{key:"reduceTemplateExpression",value:function(s,a){var c=a.tag,d=a.elements,_=s.tag==null?empty$2():p$1(s.tag,(0,_coderep$1.getPrecedence)(s),c);_=seq$1(_,t$1("`"));for(var b=0,k=s.elements.length;b0?t$1("}"):empty$2(),d[b],b1&&arguments[1]!==void 0?arguments[1]:!1;return new _coderep.Token(s,a)}},{key:"p",value:function(s,a,c){return(0,_coderep.getPrecedence)(s)0&&d[d.length-1]==null&&(_=seq(_,this.sep(Sep.ARRAY_BEFORE_COMMA),this.t(","),this.sep(Sep.ARRAY_AFTER_COMMA))),this.bracket(_,Sep.ARRAY_INITIAL,Sep.ARRAY_FINAL)}},{key:"reduceAwaitExpression",value:function(s,a){var c=a.expression;return seq(this.t("await"),this.sep(Sep.AWAIT),this.p(s.expression,(0,_coderep.getPrecedence)(s),c))}},{key:"reduceSpreadElement",value:function(s,a){var c=a.expression;return seq(this.t("..."),this.sep(Sep.SPREAD),this.p(s.expression,_coderep.Precedence.Assignment,c))}},{key:"reduceSpreadProperty",value:function(s,a){var c=a.expression;return seq(this.t("..."),this.sep(Sep.SPREAD),this.getAssignmentExpr(c))}},{key:"reduceAssignmentExpression",value:function(s,a){var c=a.binding,d=a.expression,_=c,b=d,k=d.containsIn,$=c.startsWithCurly,j=c.startsWithLetSquareBracket,_e=c.startsWithFunctionOrClass;return(0,_coderep.getPrecedence)(s.expression)<(0,_coderep.getPrecedence)(s)&&(b=this.paren(b,Sep.EXPRESSION_PAREN_BEFORE,Sep.EXPRESSION_PAREN_AFTER),k=!1),(0,_objectAssign2.default)(seq(_,this.sep(Sep.BEFORE_ASSIGN_OP("=")),this.t("="),this.sep(Sep.AFTER_ASSIGN_OP("=")),b),{containsIn:k,startsWithCurly:$,startsWithLetSquareBracket:j,startsWithFunctionOrClass:_e})}},{key:"reduceAssignmentTargetIdentifier",value:function(s){var a=this.t(s.name);return s.name==="let"&&(a.startsWithLet=!0),a}},{key:"reduceAssignmentTargetWithDefault",value:function(s,a){var c=a.binding,d=a.init;return seq(c,this.sep(Sep.BEFORE_DEFAULT_EQUALS),this.t("="),this.sep(Sep.AFTER_DEFAULT_EQUALS),this.p(s.init,_coderep.Precedence.Assignment,d))}},{key:"reduceCompoundAssignmentExpression",value:function(s,a){var c=a.binding,d=a.expression,_=c,b=d,k=d.containsIn,$=c.startsWithCurly,j=c.startsWithLetSquareBracket,_e=c.startsWithFunctionOrClass;return(0,_coderep.getPrecedence)(s.expression)<(0,_coderep.getPrecedence)(s)&&(b=this.paren(b,Sep.EXPRESSION_PAREN_BEFORE,Sep.EXPRESSION_PAREN_AFTER),k=!1),(0,_objectAssign2.default)(seq(_,this.sep(Sep.BEFORE_ASSIGN_OP(s.operator)),this.t(s.operator),this.sep(Sep.AFTER_ASSIGN_OP(s.operator)),b),{containsIn:k,startsWithCurly:$,startsWithLetSquareBracket:j,startsWithFunctionOrClass:_e})}},{key:"reduceBinaryExpression",value:function(s,a){var c=a.left,d=a.right,_=c,b=c.startsWithCurly,k=c.startsWithLetSquareBracket,$=c.startsWithFunctionOrClass,j=c.containsIn,_e=s.operator==="**";((0,_coderep.getPrecedence)(s.left)<(0,_coderep.getPrecedence)(s)||_e&&((0,_coderep.getPrecedence)(s.left)===(0,_coderep.getPrecedence)(s)||s.left.type==="UnaryExpression"))&&(_=this.paren(_,Sep.EXPRESSION_PAREN_BEFORE,Sep.EXPRESSION_PAREN_AFTER),b=!1,k=!1,$=!1,j=!1);var et=d,tt=d.containsIn;return((0,_coderep.getPrecedence)(s.right)<(0,_coderep.getPrecedence)(s)||!_e&&(0,_coderep.getPrecedence)(s.right)===(0,_coderep.getPrecedence)(s))&&(et=this.paren(et,Sep.EXPRESSION_PAREN_BEFORE,Sep.EXPRESSION_PAREN_AFTER),tt=!1),(0,_objectAssign2.default)(seq(_,this.sep(Sep.BEFORE_BINOP(s.operator)),this.t(s.operator),this.sep(Sep.AFTER_BINOP(s.operator)),et),{containsIn:j||tt||s.operator==="in",containsGroup:s.operator===",",startsWithCurly:b,startsWithLetSquareBracket:k,startsWithFunctionOrClass:$})}},{key:"reduceBindingWithDefault",value:function(s,a){var c=a.binding,d=a.init;return seq(c,this.sep(Sep.BEFORE_DEFAULT_EQUALS),this.t("="),this.sep(Sep.AFTER_DEFAULT_EQUALS),this.p(s.init,_coderep.Precedence.Assignment,d))}},{key:"reduceBindingIdentifier",value:function(s){var a=this.t(s.name);return s.name==="let"&&(a.startsWithLet=!0),a}},{key:"reduceArrayAssignmentTarget",value:function(s,a){var c=this,d=a.elements,_=a.rest,b=void 0;return d.length===0?b=_==null?empty$1():seq(this.t("..."),this.sep(Sep.REST),_):(d=d.concat(_==null?[]:[seq(this.t("..."),this.sep(Sep.REST),_)]),b=this.commaSep(d.map(function(k){return c.getAssignmentExpr(k)}),Sep.ARRAY_BEFORE_COMMA,Sep.ARRAY_AFTER_COMMA),d.length>0&&d[d.length-1]==null&&(b=seq(b,this.sep(Sep.ARRAY_BEFORE_COMMA),this.t(","),this.sep(Sep.ARRAY_AFTER_COMMA)))),this.bracket(b,Sep.ARRAY_INITIAL,Sep.ARRAY_FINAL,Sep.ARRAY_EMPTY)}},{key:"reduceArrayBinding",value:function(s,a){var c=this,d=a.elements,_=a.rest,b=void 0;return d.length===0?b=_==null?empty$1():seq(this.t("..."),this.sep(Sep.REST),_):(d=d.concat(_==null?[]:[seq(this.t("..."),this.sep(Sep.REST),_)]),b=this.commaSep(d.map(function(k){return c.getAssignmentExpr(k)}),Sep.ARRAY_BEFORE_COMMA,Sep.ARRAY_AFTER_COMMA),d.length>0&&d[d.length-1]==null&&(b=seq(b,this.sep(Sep.ARRAY_BEFORE_COMMA),this.t(","),this.sep(Sep.ARRAY_AFTER_COMMA)))),this.bracket(b,Sep.ARRAY_INITIAL,Sep.ARRAY_FINAL,Sep.ARRAY_EMPTY)}},{key:"reduceObjectAssignmentTarget",value:function(s,a){var c=a.properties,d=a.rest,_=void 0;c.length===0?_=d==null?empty$1():seq(this.t("..."),this.sep(Sep.REST),d):(_=this.commaSep(c,Sep.OBJECT_BEFORE_COMMA,Sep.OBJECT_AFTER_COMMA),_=d==null?_:this.commaSep([_,seq(this.t("..."),this.sep(Sep.REST),d)],Sep.OBJECT_BEFORE_COMMA,Sep.OBJECT_AFTER_COMMA));var b=this.brace(_,s,Sep.OBJECT_BRACE_INITIAL,Sep.OBJECT_BRACE_FINAL,Sep.OBJECT_EMPTY);return b.startsWithCurly=!0,b}},{key:"reduceObjectBinding",value:function(s,a){var c=a.properties,d=a.rest,_=void 0;c.length===0?_=d==null?empty$1():seq(this.t("..."),this.sep(Sep.REST),d):(_=this.commaSep(c,Sep.OBJECT_BEFORE_COMMA,Sep.OBJECT_AFTER_COMMA),_=d==null?_:this.commaSep([_,seq(this.t("..."),this.sep(Sep.REST),d)],Sep.OBJECT_BEFORE_COMMA,Sep.OBJECT_AFTER_COMMA));var b=this.brace(_,s,Sep.OBJECT_BRACE_INITIAL,Sep.OBJECT_BRACE_FINAL,Sep.OBJECT_EMPTY);return b.startsWithCurly=!0,b}},{key:"reduceAssignmentTargetPropertyIdentifier",value:function(s,a){var c=a.binding,d=a.init;return s.init==null?c:seq(c,this.sep(Sep.BEFORE_DEFAULT_EQUALS),this.t("="),this.sep(Sep.AFTER_DEFAULT_EQUALS),this.p(s.init,_coderep.Precedence.Assignment,d))}},{key:"reduceAssignmentTargetPropertyProperty",value:function(s,a){var c=a.name,d=a.binding;return seq(c,this.sep(Sep.BEFORE_PROP),this.t(":"),this.sep(Sep.AFTER_PROP),d)}},{key:"reduceBindingPropertyIdentifier",value:function(s,a){var c=a.binding,d=a.init;return s.init==null?c:seq(c,this.sep(Sep.BEFORE_DEFAULT_EQUALS),this.t("="),this.sep(Sep.AFTER_DEFAULT_EQUALS),this.p(s.init,_coderep.Precedence.Assignment,d))}},{key:"reduceBindingPropertyProperty",value:function(s,a){var c=a.name,d=a.binding;return seq(c,this.sep(Sep.BEFORE_PROP),this.t(":"),this.sep(Sep.AFTER_PROP),d)}},{key:"reduceBlock",value:function(s,a){var c=a.statements;return this.brace(seq.apply(void 0,_toConsumableArray$1(c)),s,Sep.BLOCK_BRACE_INITIAL,Sep.BLOCK_BRACE_FINAL,Sep.BLOCK_EMPTY)}},{key:"reduceBlockStatement",value:function(s,a){var c=a.block;return seq(c,this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceBreakStatement",value:function(s){return seq(this.t("break"),s.label?seq(this.sep(Sep.BEFORE_JUMP_LABEL),this.t(s.label)):empty$1(),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceCallExpression",value:function(s,a){var c=this,d=a.callee,_=a.arguments,b=_.map(function(k,$){return c.p(s.arguments[$],_coderep.Precedence.Assignment,k)});return(0,_objectAssign2.default)(seq(this.p(s.callee,(0,_coderep.getPrecedence)(s),d),this.sep(Sep.CALL),this.paren(this.commaSep(b,Sep.ARGS_BEFORE_COMMA,Sep.ARGS_AFTER_COMMA),Sep.CALL_PAREN_BEFORE,Sep.CALL_PAREN_AFTER,Sep.CALL_PAREN_EMPTY)),{startsWithCurly:d.startsWithCurly,startsWithLet:d.startsWithLet,startsWithLetSquareBracket:d.startsWithLetSquareBracket,startsWithFunctionOrClass:d.startsWithFunctionOrClass})}},{key:"reduceCatchClause",value:function(s,a){var c=a.binding,d=a.body;return seq(this.t("catch"),this.sep(Sep.BEFORE_CATCH_BINDING),this.paren(c,Sep.CATCH_PAREN_BEFORE,Sep.CATCH_PAREN_AFTER),this.sep(Sep.AFTER_CATCH_BINDING),d)}},{key:"reduceClassDeclaration",value:function(s,a){var c=a.name,d=a.super,_=a.elements,b=seq(this.t("class"),s.name.name==="*default*"?empty$1():seq(this.sep(Sep.BEFORE_CLASS_NAME),c));return d!=null&&(b=seq(b,this.sep(Sep.BEFORE_EXTENDS),this.t("extends"),this.sep(Sep.AFTER_EXTENDS),this.p(s.super,_coderep.Precedence.New,d))),b=seq(b,this.sep(Sep.BEFORE_CLASS_DECLARATION_ELEMENTS),this.brace(seq.apply(void 0,_toConsumableArray$1(_)),s,Sep.CLASS_BRACE_INITIAL,Sep.CLASS_BRACE_FINAL,Sep.CLASS_EMPTY),this.sep(Sep.AFTER_STATEMENT(s))),b}},{key:"reduceClassExpression",value:function(s,a){var c=a.name,d=a.super,_=a.elements,b=this.t("class");return c!=null&&(b=seq(b,this.sep(Sep.BEFORE_CLASS_NAME),c)),d!=null&&(b=seq(b,this.sep(Sep.BEFORE_EXTENDS),this.t("extends"),this.sep(Sep.AFTER_EXTENDS),this.p(s.super,_coderep.Precedence.New,d))),b=seq(b,this.sep(Sep.BEFORE_CLASS_EXPRESSION_ELEMENTS),this.brace(seq.apply(void 0,_toConsumableArray$1(_)),s,Sep.CLASS_EXPRESSION_BRACE_INITIAL,Sep.CLASS_EXPRESSION_BRACE_FINAL,Sep.CLASS_EXPRESSION_BRACE_EMPTY)),b.startsWithFunctionOrClass=!0,b}},{key:"reduceClassElement",value:function(s,a){var c=a.method;return c=seq(this.sep(Sep.BEFORE_CLASS_ELEMENT),c,this.sep(Sep.AFTER_CLASS_ELEMENT)),s.isStatic?seq(this.t("static"),this.sep(Sep.AFTER_STATIC),c):c}},{key:"reduceComputedMemberAssignmentTarget",value:function(s,a){var c=a.object,d=a.expression,_=c.startsWithLetSquareBracket||s.object.type==="IdentifierExpression"&&s.object.name==="let";return(0,_objectAssign2.default)(seq(this.p(s.object,(0,_coderep.getPrecedence)(s),c),this.sep(Sep.COMPUTED_MEMBER_ASSIGNMENT_TARGET),this.bracket(d,Sep.COMPUTED_MEMBER_ASSIGNMENT_TARGET_BRACKET_INTIAL,Sep.COMPUTED_MEMBER_ASSIGNMENT_TARGET_BRACKET_FINAL)),{startsWithLet:c.startsWithLet,startsWithLetSquareBracket:_,startsWithCurly:c.startsWithCurly,startsWithFunctionOrClass:c.startsWithFunctionOrClass})}},{key:"reduceComputedMemberExpression",value:function(s,a){var c=a.object,d=a.expression,_=c.startsWithLetSquareBracket||s.object.type==="IdentifierExpression"&&s.object.name==="let";return(0,_objectAssign2.default)(seq(this.p(s.object,(0,_coderep.getPrecedence)(s),c),this.sep(Sep.COMPUTED_MEMBER_EXPRESSION),this.bracket(d,Sep.COMPUTED_MEMBER_BRACKET_INTIAL,Sep.COMPUTED_MEMBER_BRACKET_FINAL)),{startsWithLet:c.startsWithLet,startsWithLetSquareBracket:_,startsWithCurly:c.startsWithCurly,startsWithFunctionOrClass:c.startsWithFunctionOrClass})}},{key:"reduceComputedPropertyName",value:function(s,a){var c=a.expression;return this.bracket(this.p(s.expression,_coderep.Precedence.Assignment,c),Sep.COMPUTED_PROPERTY_BRACKET_INTIAL,Sep.COMPUTED_PROPERTY_BRACKET_FINAL)}},{key:"reduceConditionalExpression",value:function(s,a){var c=a.test,d=a.consequent,_=a.alternate,b=c.containsIn||_.containsIn,k=c.startsWithCurly,$=c.startsWithLetSquareBracket,j=c.startsWithFunctionOrClass;return(0,_objectAssign2.default)(seq(this.p(s.test,_coderep.Precedence.LogicalOR,c),this.sep(Sep.BEFORE_TERNARY_QUESTION),this.t("?"),this.sep(Sep.AFTER_TERNARY_QUESTION),this.p(s.consequent,_coderep.Precedence.Assignment,d),this.sep(Sep.BEFORE_TERNARY_COLON),this.t(":"),this.sep(Sep.AFTER_TERNARY_COLON),this.p(s.alternate,_coderep.Precedence.Assignment,_)),{containsIn:b,startsWithCurly:k,startsWithLetSquareBracket:$,startsWithFunctionOrClass:j})}},{key:"reduceContinueStatement",value:function(s){return seq(this.t("continue"),s.label?seq(this.sep(Sep.BEFORE_JUMP_LABEL),this.t(s.label)):empty$1(),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceDataProperty",value:function(s,a){var c=a.name,d=a.expression;return seq(c,this.sep(Sep.BEFORE_PROP),this.t(":"),this.sep(Sep.AFTER_PROP),this.getAssignmentExpr(d))}},{key:"reduceDebuggerStatement",value:function(s){return seq(this.t("debugger"),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceDoWhileStatement",value:function(s,a){var c=a.body,d=a.test;return seq(this.t("do"),this.sep(Sep.AFTER_DO),c,this.sep(Sep.BEFORE_DOWHILE_WHILE),this.t("while"),this.sep(Sep.AFTER_DOWHILE_WHILE),this.paren(d,Sep.DO_WHILE_TEST_PAREN_BEFORE,Sep.DO_WHILE_TEST_PAREN_AFTER),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceEmptyStatement",value:function(s){return seq(this.t(";"),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceExpressionStatement",value:function(s,a){var c=a.expression,d=c.startsWithCurly||c.startsWithLetSquareBracket||c.startsWithFunctionOrClass;return seq(d?this.paren(c,Sep.EXPRESSION_STATEMENT_PAREN_BEFORE,Sep.EXPRESSION_STATEMENT_PAREN_AFTER):c,this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceForInStatement",value:function(s,a){var c=a.left,d=a.right,_=a.body;return c=s.left.type==="VariableDeclaration"?noIn(markContainsIn(c)):c,(0,_objectAssign2.default)(seq(this.t("for"),this.sep(Sep.AFTER_FORIN_FOR),this.paren(seq(c.startsWithLet?this.paren(c,Sep.FOR_IN_LET_PAREN_BEFORE,Sep.FOR_IN_LET_PAREN_AFTER):c,this.sep(Sep.BEFORE_FORIN_IN),this.t("in"),this.sep(Sep.AFTER_FORIN_FOR),d),Sep.FOR_IN_PAREN_BEFORE,Sep.FOR_IN_PAREN_AFTER),this.sep(Sep.BEFORE_FORIN_BODY),_,this.sep(Sep.AFTER_STATEMENT(s))),{endsWithMissingElse:_.endsWithMissingElse})}},{key:"reduceForOfStatement",value:function(s,a){var c=a.left,d=a.right,_=a.body;return c=s.left.type==="VariableDeclaration"?noIn(markContainsIn(c)):c,(0,_objectAssign2.default)(seq(this.t("for"),this.sep(Sep.AFTER_FOROF_FOR),this.paren(seq(c.startsWithLet?this.paren(c,Sep.FOR_OF_LET_PAREN_BEFORE,Sep.FOR_OF_LET_PAREN_AFTER):c,this.sep(Sep.BEFORE_FOROF_OF),this.t("of"),this.sep(Sep.AFTER_FOROF_FOR),this.p(s.right,_coderep.Precedence.Assignment,d)),Sep.FOR_OF_PAREN_BEFORE,Sep.FOR_OF_PAREN_AFTER),this.sep(Sep.BEFORE_FOROF_BODY),_,this.sep(Sep.AFTER_STATEMENT(s))),{endsWithMissingElse:_.endsWithMissingElse})}},{key:"reduceForStatement",value:function(s,a){var c=a.init,d=a.test,_=a.update,b=a.body;return c&&(c.startsWithLetSquareBracket&&(c=this.paren(c,Sep.FOR_LET_PAREN_BEFORE,Sep.FOR_LET_PAREN_AFTER)),c=noIn(markContainsIn(c))),(0,_objectAssign2.default)(seq(this.t("for"),this.sep(Sep.AFTER_FOR_FOR),this.paren(seq(c?seq(this.sep(Sep.BEFORE_FOR_INIT),c,this.sep(Sep.AFTER_FOR_INIT)):this.sep(Sep.EMPTY_FOR_INIT),this.t(";"),d?seq(this.sep(Sep.BEFORE_FOR_TEST),d,this.sep(Sep.AFTER_FOR_TEST)):this.sep(Sep.EMPTY_FOR_TEST),this.t(";"),_?seq(this.sep(Sep.BEFORE_FOR_UPDATE),_,this.sep(Sep.AFTER_FOR_UPDATE)):this.sep(Sep.EMPTY_FOR_UPDATE))),this.sep(Sep.BEFORE_FOR_BODY),b,this.sep(Sep.AFTER_STATEMENT(s))),{endsWithMissingElse:b.endsWithMissingElse})}},{key:"reduceForAwaitStatement",value:function(s,a){var c=a.left,d=a.right,_=a.body;return c=s.left.type==="VariableDeclaration"?noIn(markContainsIn(c)):c,(0,_objectAssign2.default)(seq(this.t("for"),this.sep(Sep.AFTER_FOROF_FOR),this.t("await"),this.sep(Sep.AFTER_FORAWAIT_AWAIT),this.paren(seq(c.startsWithLet?this.paren(c,Sep.FOR_OF_LET_PAREN_BEFORE,Sep.FOR_OF_LET_PAREN_AFTER):c,this.sep(Sep.BEFORE_FOROF_OF),this.t("of"),this.sep(Sep.AFTER_FOROF_FOR),this.p(s.right,_coderep.Precedence.Assignment,d)),Sep.FOR_OF_PAREN_BEFORE,Sep.FOR_OF_PAREN_AFTER),this.sep(Sep.BEFORE_FOROF_BODY),_,this.sep(Sep.AFTER_STATEMENT(s))),{endsWithMissingElse:_.endsWithMissingElse})}},{key:"reduceFunctionBody",value:function(s,a){var c=a.directives,d=a.statements;return d.length&&(d[0]=this.parenToAvoidBeingDirective(s.statements[0],d[0])),seq.apply(void 0,_toConsumableArray$1(c).concat([c.length?this.sep(Sep.AFTER_FUNCTION_DIRECTIVES):empty$1()],_toConsumableArray$1(d)))}},{key:"reduceFunctionDeclaration",value:function(s,a){var c=a.name,d=a.params,_=a.body;return seq(s.isAsync?this.t("async"):empty$1(),this.t("function"),s.isGenerator?seq(this.sep(Sep.BEFORE_GENERATOR_STAR),this.t("*"),this.sep(Sep.AFTER_GENERATOR_STAR)):empty$1(),this.sep(Sep.BEFORE_FUNCTION_NAME(s)),s.name.name==="*default*"?empty$1():c,this.sep(Sep.BEFORE_FUNCTION_PARAMS),this.paren(d,Sep.PARAMETERS_PAREN_BEFORE,Sep.PARAMETERS_PAREN_AFTER,Sep.PARAMETERS_PAREN_EMPTY),this.sep(Sep.BEFORE_FUNCTION_DECLARATION_BODY),this.brace(_,s,Sep.FUNCTION_BRACE_INITIAL,Sep.FUNCTION_BRACE_FINAL,Sep.FUNCTION_EMPTY),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceFunctionExpression",value:function(s,a){var c=a.name,d=a.params,_=a.body,b=seq(s.isAsync?this.t("async"):empty$1(),this.t("function"),s.isGenerator?seq(this.sep(Sep.BEFORE_GENERATOR_STAR),this.t("*"),this.sep(Sep.AFTER_GENERATOR_STAR)):empty$1(),this.sep(Sep.BEFORE_FUNCTION_NAME(s)),c||empty$1(),this.sep(Sep.BEFORE_FUNCTION_PARAMS),this.paren(d,Sep.PARAMETERS_PAREN_BEFORE,Sep.PARAMETERS_PAREN_AFTER,Sep.PARAMETERS_PAREN_EMPTY),this.sep(Sep.BEFORE_FUNCTION_EXPRESSION_BODY),this.brace(_,s,Sep.FUNCTION_EXPRESSION_BRACE_INITIAL,Sep.FUNCTION_EXPRESSION_BRACE_FINAL,Sep.FUNCTION_EXPRESSION_EMPTY));return b.startsWithFunctionOrClass=!0,b}},{key:"reduceFormalParameters",value:function(s,a){var c=a.items,d=a.rest;return this.commaSep(c.concat(d==null?[]:[seq(this.t("..."),this.sep(Sep.REST),d)]),Sep.PARAMETER_BEFORE_COMMA,Sep.PARAMETER_AFTER_COMMA)}},{key:"reduceArrowExpression",value:function(s,a){var c=a.params,d=a.body;(s.params.rest!=null||s.params.items.length!==1||s.params.items[0].type!=="BindingIdentifier")&&(c=this.paren(c,Sep.ARROW_PARAMETERS_PAREN_BEFORE,Sep.ARROW_PARAMETERS_PAREN_AFTER,Sep.ARROW_PARAMETERS_PAREN_EMPTY));var _=!1;return s.body.type==="FunctionBody"?d=this.brace(d,s,Sep.ARROW_BRACE_INITIAL,Sep.ARROW_BRACE_FINAL,Sep.ARROW_BRACE_EMPTY):d.startsWithCurly?d=this.paren(d,Sep.ARROW_BODY_PAREN_BEFORE,Sep.ARROW_BODY_PAREN_AFTER):d.containsIn&&(_=!0),(0,_objectAssign2.default)(seq(s.isAsync?seq(this.t("async"),this.sep(Sep.BEFORE_ARROW_ASYNC_PARAMS)):empty$1(),c,this.sep(Sep.BEFORE_ARROW),this.t("=>"),this.sep(Sep.AFTER_ARROW),this.p(s.body,_coderep.Precedence.Assignment,d)),{containsIn:_})}},{key:"reduceGetter",value:function(s,a){var c=a.name,d=a.body;return seq(this.t("get"),this.sep(Sep.AFTER_GET),c,this.sep(Sep.BEFORE_GET_PARAMS),this.paren(empty$1(),null,null,Sep.GETTER_PARAMS),this.sep(Sep.BEFORE_GET_BODY),this.brace(d,s,Sep.GET_BRACE_INTIAL,Sep.GET_BRACE_FINAL,Sep.GET_BRACE_EMPTY))}},{key:"reduceIdentifierExpression",value:function(s){var a=this.t(s.name);return s.name==="let"&&(a.startsWithLet=!0),a}},{key:"reduceIfStatement",value:function(s,a){var c=a.test,d=a.consequent,_=a.alternate;return _&&d.endsWithMissingElse&&(d=this.brace(d,s,Sep.MISSING_ELSE_INTIIAL,Sep.MISSING_ELSE_FINAL,Sep.MISSING_ELSE_EMPTY)),(0,_objectAssign2.default)(seq(this.t("if"),this.sep(Sep.AFTER_IF),this.paren(c,Sep.IF_PAREN_BEFORE,Sep.IF_PAREN_AFTER),this.sep(Sep.AFTER_IF_TEST),d,_?seq(this.sep(Sep.BEFORE_ELSE),this.t("else"),this.sep(Sep.AFTER_ELSE),_):empty$1(),this.sep(Sep.AFTER_STATEMENT(s))),{endsWithMissingElse:_?_.endsWithMissingElse:!0})}},{key:"reduceImport",value:function(s,a){var c=a.defaultBinding,d=a.namedImports,_=[];return c!=null&&_.push(c),d.length>0&&_.push(this.brace(this.commaSep(d,Sep.NAMED_IMPORT_BEFORE_COMMA,Sep.NAMED_IMPORT_AFTER_COMMA),s,Sep.IMPORT_BRACE_INTIAL,Sep.IMPORT_BRACE_FINAL,Sep.IMPORT_BRACE_EMPTY)),_.length===0?seq(this.t("import"),this.sep(Sep.BEFORE_IMPORT_MODULE),this.t((0,_coderep.escapeStringLiteral)(s.moduleSpecifier)),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s))):seq(this.t("import"),this.sep(Sep.BEFORE_IMPORT_BINDINGS),this.commaSep(_,Sep.IMPORT_BEFORE_COMMA,Sep.IMPORT_AFTER_COMMA),this.sep(Sep.AFTER_IMPORT_BINDINGS),this.t("from"),this.sep(Sep.AFTER_FROM),this.t((0,_coderep.escapeStringLiteral)(s.moduleSpecifier)),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceImportNamespace",value:function(s,a){var c=a.defaultBinding,d=a.namespaceBinding;return seq(this.t("import"),this.sep(Sep.BEFORE_IMPORT_NAMESPACE),c==null?empty$1():seq(c,this.sep(Sep.IMPORT_BEFORE_COMMA),this.t(","),this.sep(Sep.IMPORT_AFTER_COMMA)),this.sep(Sep.BEFORE_IMPORT_STAR),this.t("*"),this.sep(Sep.AFTER_IMPORT_STAR),this.t("as"),this.sep(Sep.AFTER_IMPORT_AS),d,this.sep(Sep.AFTER_NAMESPACE_BINDING),this.t("from"),this.sep(Sep.AFTER_FROM),this.t((0,_coderep.escapeStringLiteral)(s.moduleSpecifier)),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceImportSpecifier",value:function(s,a){var c=a.binding;return s.name==null?c:seq(this.t(s.name),this.sep(Sep.BEFORE_IMPORT_AS),this.t("as"),this.sep(Sep.AFTER_IMPORT_AS),c)}},{key:"reduceExportAllFrom",value:function(s){return seq(this.t("export"),this.sep(Sep.BEFORE_EXPORT_STAR),this.t("*"),this.sep(Sep.AFTER_EXPORT_STAR),this.t("from"),this.sep(Sep.AFTER_FROM),this.t((0,_coderep.escapeStringLiteral)(s.moduleSpecifier)),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceExportFrom",value:function(s,a){var c=a.namedExports;return seq(this.t("export"),this.sep(Sep.BEFORE_EXPORT_BINDINGS),this.brace(this.commaSep(c,Sep.EXPORTS_BEFORE_COMMA,Sep.EXPORTS_AFTER_COMMA),s,Sep.EXPORT_BRACE_INITIAL,Sep.EXPORT_BRACE_FINAL,Sep.EXPORT_BRACE_EMPTY),this.sep(Sep.AFTER_EXPORT_FROM_BINDINGS),this.t("from"),this.sep(Sep.AFTER_FROM),this.t((0,_coderep.escapeStringLiteral)(s.moduleSpecifier)),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceExportLocals",value:function(s,a){var c=a.namedExports;return seq(this.t("export"),this.sep(Sep.BEFORE_EXPORT_BINDINGS),this.brace(this.commaSep(c,Sep.EXPORTS_BEFORE_COMMA,Sep.EXPORTS_AFTER_COMMA),s,Sep.EXPORT_BRACE_INITIAL,Sep.EXPORT_BRACE_FINAL,Sep.EXPORT_BRACE_EMPTY),this.sep(Sep.AFTER_EXPORT_LOCAL_BINDINGS),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceExport",value:function(s,a){var c=a.declaration;switch(s.declaration.type){case"FunctionDeclaration":case"ClassDeclaration":break;default:c=seq(c,this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}return seq(this.t("export"),this.sep(Sep.AFTER_EXPORT),c)}},{key:"reduceExportDefault",value:function(s,a){var c=a.body;switch(c=c.startsWithFunctionOrClass?this.paren(c,Sep.EXPORT_PAREN_BEFORE,Sep.EXPORT_PAREN_AFTER):c,s.body.type){case"FunctionDeclaration":case"ClassDeclaration":return seq(this.t("export"),this.sep(Sep.EXPORT_DEFAULT),this.t("default"),this.sep(Sep.AFTER_EXPORT_DEFAULT),c);default:return seq(this.t("export"),this.sep(Sep.EXPORT_DEFAULT),this.t("default"),this.sep(Sep.AFTER_EXPORT_DEFAULT),this.p(s.body,_coderep.Precedence.Assignment,c),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}}},{key:"reduceExportFromSpecifier",value:function(s){return s.exportedName==null?this.t(s.name):seq(this.t(s.name),this.sep(Sep.BEFORE_EXPORT_AS),this.t("as"),this.sep(Sep.AFTER_EXPORT_AS),this.t(s.exportedName))}},{key:"reduceExportLocalSpecifier",value:function(s,a){var c=a.name;return s.exportedName==null?c:seq(c,this.sep(Sep.BEFORE_EXPORT_AS),this.t("as"),this.sep(Sep.AFTER_EXPORT_AS),this.t(s.exportedName))}},{key:"reduceLabeledStatement",value:function(s,a){var c=a.body;return(0,_objectAssign2.default)(seq(this.t(s.label),this.sep(Sep.BEFORE_LABEL_COLON),this.t(":"),this.sep(Sep.AFTER_LABEL_COLON),c),{endsWithMissingElse:c.endsWithMissingElse})}},{key:"reduceLiteralBooleanExpression",value:function(s){return this.t(s.value.toString())}},{key:"reduceLiteralNullExpression",value:function(){return this.t("null")}},{key:"reduceLiteralInfinityExpression",value:function(){return this.t("2e308")}},{key:"reduceLiteralNumericExpression",value:function(s){return new _coderep.NumberCodeRep(s.value)}},{key:"reduceLiteralRegExpExpression",value:function(s){return this.t("/"+s.pattern+"/"+(s.global?"g":"")+(s.ignoreCase?"i":"")+(s.multiLine?"m":"")+(s.dotAll?"s":"")+(s.unicode?"u":"")+(s.sticky?"y":""),!0)}},{key:"reduceLiteralStringExpression",value:function(s){return this.t((0,_coderep.escapeStringLiteral)(s.value))}},{key:"reduceMethod",value:function(s,a){var c=a.name,d=a.params,_=a.body;return seq(s.isAsync?seq(this.t("async"),this.sep(Sep.AFTER_METHOD_ASYNC)):empty$1(),s.isGenerator?seq(this.t("*"),this.sep(Sep.AFTER_METHOD_GENERATOR_STAR)):empty$1(),c,this.sep(Sep.AFTER_METHOD_NAME),this.paren(d,Sep.PARAMETERS_PAREN_BEFORE,Sep.PARAMETERS_PAREN_AFTER,Sep.PARAMETERS_PAREN_EMPTY),this.sep(Sep.BEFORE_METHOD_BODY),this.brace(_,s,Sep.METHOD_BRACE_INTIAL,Sep.METHOD_BRACE_FINAL,Sep.METHOD_BRACE_EMPTY))}},{key:"reduceModule",value:function(s,a){var c=a.directives,d=a.items;return d.length&&(d[0]=this.parenToAvoidBeingDirective(s.items[0],d[0])),seq.apply(void 0,_toConsumableArray$1(c).concat([c.length?this.sep(Sep.AFTER_MODULE_DIRECTIVES):empty$1()],_toConsumableArray$1(d)))}},{key:"reduceNewExpression",value:function(s,a){var c=this,d=a.callee,_=a.arguments,b=_.map(function($,j){return c.p(s.arguments[j],_coderep.Precedence.Assignment,$)}),k=(0,_coderep.getPrecedence)(s.callee)===_coderep.Precedence.Call?this.paren(d,Sep.NEW_CALLEE_PAREN_BEFORE,Sep.NEW_CALLEE_PAREN_AFTER):this.p(s.callee,(0,_coderep.getPrecedence)(s),d);return seq(this.t("new"),this.sep(Sep.AFTER_NEW),k,_.length===0?this.sep(Sep.EMPTY_NEW_CALL):seq(this.sep(Sep.BEFORE_NEW_ARGS),this.paren(this.commaSep(b,Sep.ARGS_BEFORE_COMMA,Sep.ARGS_AFTER_COMMA),Sep.NEW_PAREN_BEFORE,Sep.NEW_PAREN_AFTER,Sep.NEW_PAREN_EMPTY)))}},{key:"reduceNewTargetExpression",value:function(){return seq(this.t("new"),this.sep(Sep.NEW_TARGET_BEFORE_DOT),this.t("."),this.sep(Sep.NEW_TARGET_AFTER_DOT),this.t("target"))}},{key:"reduceObjectExpression",value:function(s,a){var c=a.properties,d=this.brace(this.commaSep(c,Sep.OBJECT_BEFORE_COMMA,Sep.OBJECT_AFTER_COMMA),s,Sep.OBJECT_BRACE_INITIAL,Sep.OBJECT_BRACE_FINAL,Sep.OBJECT_EMPTY);return d.startsWithCurly=!0,d}},{key:"reduceUpdateExpression",value:function(s,a){var c=a.operand;return s.isPrefix?this.reduceUnaryExpression.apply(this,arguments):(0,_objectAssign2.default)(seq(this.p(s.operand,_coderep.Precedence.New,c),this.sep(Sep.BEFORE_POSTFIX(s.operator)),this.t(s.operator)),{startsWithCurly:c.startsWithCurly,startsWithLetSquareBracket:c.startsWithLetSquareBracket,startsWithFunctionOrClass:c.startsWithFunctionOrClass})}},{key:"reduceUnaryExpression",value:function(s,a){var c=a.operand;return seq(this.t(s.operator),this.sep(Sep.UNARY(s.operator)),this.p(s.operand,(0,_coderep.getPrecedence)(s),c))}},{key:"reduceReturnStatement",value:function(s,a){var c=a.expression;return seq(this.t("return"),c?seq(this.sep(Sep.RETURN),c):empty$1(),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceScript",value:function(s,a){var c=a.directives,d=a.statements;return d.length&&(d[0]=this.parenToAvoidBeingDirective(s.statements[0],d[0])),seq.apply(void 0,_toConsumableArray$1(c).concat([c.length?this.sep(Sep.AFTER_SCRIPT_DIRECTIVES):empty$1()],_toConsumableArray$1(d)))}},{key:"reduceSetter",value:function(s,a){var c=a.name,d=a.param,_=a.body;return seq(this.t("set"),this.sep(Sep.AFTER_SET),c,this.sep(Sep.BEFORE_SET_PARAMS),this.paren(d,Sep.SETTER_PARAM_BEFORE,Sep.SETTER_PARAM_AFTER),this.sep(Sep.BEFORE_SET_BODY),this.brace(_,s,Sep.SET_BRACE_INTIIAL,Sep.SET_BRACE_FINAL,Sep.SET_BRACE_EMPTY))}},{key:"reduceShorthandProperty",value:function(s,a){var c=a.name;return c}},{key:"reduceStaticMemberAssignmentTarget",value:function(s,a){var c=a.object,d=seq(this.p(s.object,(0,_coderep.getPrecedence)(s),c),this.sep(Sep.BEFORE_STATIC_MEMBER_ASSIGNMENT_TARGET_DOT),this.t("."),this.sep(Sep.AFTER_STATIC_MEMBER_ASSIGNMENT_TARGET_DOT),this.t(s.property));return d.startsWithLet=c.startsWithLet,d.startsWithCurly=c.startsWithCurly,d.startsWithLetSquareBracket=c.startsWithLetSquareBracket,d.startsWithFunctionOrClass=c.startsWithFunctionOrClass,d}},{key:"reduceStaticMemberExpression",value:function(s,a){var c=a.object,d=seq(this.p(s.object,(0,_coderep.getPrecedence)(s),c),this.sep(Sep.BEFORE_STATIC_MEMBER_DOT),this.t("."),this.sep(Sep.AFTER_STATIC_MEMBER_DOT),this.t(s.property));return d.startsWithLet=c.startsWithLet,d.startsWithCurly=c.startsWithCurly,d.startsWithLetSquareBracket=c.startsWithLetSquareBracket,d.startsWithFunctionOrClass=c.startsWithFunctionOrClass,d}},{key:"reduceStaticPropertyName",value:function(s){if(_esutils.keyword.isIdentifierNameES6(s.value))return this.t(s.value);var a=parseFloat(s.value);return a>=0&&a.toString()===s.value?new _coderep.NumberCodeRep(a):this.t((0,_coderep.escapeStringLiteral)(s.value))}},{key:"reduceSuper",value:function(){return this.t("super")}},{key:"reduceSwitchCase",value:function(s,a){var c=a.test,d=a.consequent;return seq(this.t("case"),this.sep(Sep.BEFORE_CASE_TEST),c,this.sep(Sep.AFTER_CASE_TEST),this.t(":"),this.sep(Sep.BEFORE_CASE_BODY),seq.apply(void 0,_toConsumableArray$1(d)),this.sep(Sep.AFTER_CASE_BODY))}},{key:"reduceSwitchDefault",value:function(s,a){var c=a.consequent;return seq(this.t("default"),this.sep(Sep.DEFAULT),this.t(":"),this.sep(Sep.BEFORE_CASE_BODY),seq.apply(void 0,_toConsumableArray$1(c)),this.sep(Sep.AFTER_DEFAULT_BODY))}},{key:"reduceSwitchStatement",value:function(s,a){var c=a.discriminant,d=a.cases;return seq(this.t("switch"),this.sep(Sep.BEFORE_SWITCH_DISCRIM),this.paren(c,Sep.SWITCH_DISCRIM_PAREN_BEFORE,Sep.SWITCH_DISCRIM_PAREN_AFTER),this.sep(Sep.BEFORE_SWITCH_BODY),this.brace(seq.apply(void 0,_toConsumableArray$1(d)),s,Sep.SWITCH_BRACE_INTIAL,Sep.SWITCH_BRACE_FINAL,Sep.SWITCH_BRACE_EMPTY),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceSwitchStatementWithDefault",value:function(s,a){var c=a.discriminant,d=a.preDefaultCases,_=a.defaultCase,b=a.postDefaultCases;return seq(this.t("switch"),this.sep(Sep.BEFORE_SWITCH_DISCRIM),this.paren(c,Sep.SWITCH_DISCRIM_PAREN_BEFORE,Sep.SWITCH_DISCRIM_PAREN_AFTER),this.sep(Sep.BEFORE_SWITCH_BODY),this.brace(seq.apply(void 0,_toConsumableArray$1(d).concat([_],_toConsumableArray$1(b))),s,Sep.SWITCH_BRACE_INTIAL,Sep.SWITCH_BRACE_FINAL,Sep.SWITCH_BRACE_EMPTY),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceTemplateExpression",value:function(s,a){var c=a.tag,d=a.elements,_=s.tag==null?empty$1():seq(this.p(s.tag,(0,_coderep.getPrecedence)(s),c),this.sep(Sep.TEMPLATE_TAG));_=seq(_,this.t("`"));for(var b=0,k=s.elements.length;b0&&($+="}"),$+=s.elements[b].rawValue,b=1e3&&o%10===0?(e=o.toString(10),/[eE]/.test(e)?e.replace(/[eE]\+/,"e"):o.toString(10).replace(/0{3,}$/,function(s){return"e"+s.length})):o%1===0?o>1e15&&o<1e20?"0x"+o.toString(16).toUpperCase():o.toString(10).replace(/[eE]\+/,"e"):o.toString(10).replace(/^0\./,".").replace(/[eE]\+/,"e")}tokenStream.TokenStream=function(){function o(){_classCallCheck$1(this,o),this.result="",this.lastNumber=null,this.lastCodePoint=null,this.lastTokenStr="",this.optionalSemi=!1,this.previousWasRegExp=!1,this.partialHtmlComment=!1}return _createClass$1(o,[{key:"putNumber",value:function(s){var a=renderNumber(s);this.put(a),this.lastNumber=a}},{key:"putOptionalSemi",value:function(){this.optionalSemi=!0}},{key:"putRaw",value:function(s){this.result+=s,this.lastTokenStr=s}},{key:"put",value:function(s,a){if(this.optionalSemi&&(this.optionalSemi=!1,s!=="}"&&(this.result+=";",this.lastCodePoint=";",this.previousWasRegExp=!1)),this.lastNumber!==null&&s.length===1&&s==="."){this.result+=needsDoubleDot(this.lastNumber)?"..":".",this.lastNumber=null,this.lastCodePoint=".";return}var c=[].concat(_toConsumableArray(s)).length;if(c>0){this.lastNumber=null;var d=String.fromCodePoint(s.codePointAt(0)),_=this.lastCodePoint;this.lastCodePoint=String.fromCodePoint(s.codePointAt(c-1));var b=this.previousWasRegExp;this.previousWasRegExp=a,_&&((_==="+"||_==="-")&&_===d||isIdentifierPartES6(_)&&isIdentifierPartES6(d)||_==="/"&&d==="/"||b&&d==="i"||this.partialHtmlComment&&s.startsWith("--"))&&(this.result+=" ")}this.partialHtmlComment=this.lastTokenStr.endsWith("<")&&s==="!",this.result+=s,this.lastTokenStr=s}}]),o}();Object.defineProperty(withLocation,"__esModule",{value:!0});var _createClass=function(){function o(e,s){for(var a=0;a1?c-1:0),_=1;_1?c-1:0),_=1;_1?c-1:0),_=1;_1&&arguments[1]!==void 0?arguments[1]:new _minimalCodegen2.default,s=new TokenStreamWithLocation,a=(0,_shiftReducer.reduce)(addLocationToReducer(e),o);return a.emit(s),{source:s.result,locations:s.locations}}(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.codeGenWithLocation=o.SemiOp=o.CommaSep=o.Semi=o.Seq=o.ContainsIn=o.NoIn=o.Brace=o.Bracket=o.Paren=o.NumberCodeRep=o.Token=o.Empty=o.CodeRep=o.escapeStringLiteral=o.getPrecedence=o.Precedence=o.Sep=o.FormattedCodeGen=o.ExtensibleCodeGen=o.MinimalCodeGen=void 0,o.default=j;var e=minimalCodegen;Object.defineProperty(o,"MinimalCodeGen",{enumerable:!0,get:function(){return $(e).default}});var s=formattedCodegen;Object.defineProperty(o,"ExtensibleCodeGen",{enumerable:!0,get:function(){return s.ExtensibleCodeGen}}),Object.defineProperty(o,"FormattedCodeGen",{enumerable:!0,get:function(){return s.FormattedCodeGen}}),Object.defineProperty(o,"Sep",{enumerable:!0,get:function(){return s.Sep}});var a=coderep;Object.defineProperty(o,"Precedence",{enumerable:!0,get:function(){return a.Precedence}}),Object.defineProperty(o,"getPrecedence",{enumerable:!0,get:function(){return a.getPrecedence}}),Object.defineProperty(o,"escapeStringLiteral",{enumerable:!0,get:function(){return a.escapeStringLiteral}}),Object.defineProperty(o,"CodeRep",{enumerable:!0,get:function(){return a.CodeRep}}),Object.defineProperty(o,"Empty",{enumerable:!0,get:function(){return a.Empty}}),Object.defineProperty(o,"Token",{enumerable:!0,get:function(){return a.Token}}),Object.defineProperty(o,"NumberCodeRep",{enumerable:!0,get:function(){return a.NumberCodeRep}}),Object.defineProperty(o,"Paren",{enumerable:!0,get:function(){return a.Paren}}),Object.defineProperty(o,"Bracket",{enumerable:!0,get:function(){return a.Bracket}}),Object.defineProperty(o,"Brace",{enumerable:!0,get:function(){return a.Brace}}),Object.defineProperty(o,"NoIn",{enumerable:!0,get:function(){return a.NoIn}}),Object.defineProperty(o,"ContainsIn",{enumerable:!0,get:function(){return a.ContainsIn}}),Object.defineProperty(o,"Seq",{enumerable:!0,get:function(){return a.Seq}}),Object.defineProperty(o,"Semi",{enumerable:!0,get:function(){return a.Semi}}),Object.defineProperty(o,"CommaSep",{enumerable:!0,get:function(){return a.CommaSep}}),Object.defineProperty(o,"SemiOp",{enumerable:!0,get:function(){return a.SemiOp}});var c=withLocation;Object.defineProperty(o,"codeGenWithLocation",{enumerable:!0,get:function(){return $(c).default}});var d=dist$4,_=$(d),b=tokenStream,k=$(e);function $(_e){return _e&&_e.__esModule?_e:{default:_e}}function j(_e){var et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new k.default,tt=new b.TokenStream,nt=(0,_.default)(et,_e);return nt.emit(tt),tt.result}})(dist);var shiftCodegen=getDefaultExportFromCjs(dist);const{replace}=estraverse,codegen=shiftCodegen.default||shiftCodegen,{Pattern:Pattern$3}=strudel,isNote=o=>/^[a-gC-G][bs]?[0-9]$/.test(o);var shapeshifter=o=>{const{code:e,addReturn:s}=wrapAsync(o),a=dist$7.parseScriptWithLocation(e),c=[],d=[],_=replace(a.tree,{enter(k,$){var tt,nt,st;if(d.push($),d.some(rt=>c.includes(rt)))return k;if(isBackTickString(k))return minifyWithLocation(k,k,a.locations,c);if(((tt=k.directives)==null?void 0:tt.length)===1&&!((nt=k.statements)!=null&&nt.length)){const rt=new LiteralStringExpression_1({value:k.directives[0].rawValue}),it=minifyWithLocation(rt,k.directives[0],a.locations,c);return wt(Ot({},k),{directives:[],statements:[it]})}if(isStringWithDoubleQuotes(k,a.locations,e))return minifyWithLocation(k,k,a.locations,c);const _e={"*":"fast","/":"slow","&":"stack","&&":"append"};if(k.type==="BinaryExpression"&&_e[k.operator]&&["LiteralNumericExpression","LiteralStringExpression","IdentifierExpression"].includes((st=k.right)==null?void 0:st.type)&&canBeOverloaded(k.left)){let rt=k.left;return k.left.type==="IdentifierExpression"&&(rt=wrapFunction("reify",k.left)),new CallExpression_1({callee:new StaticMemberExpression_1({property:_e[k.operator],object:wrapFunction("reify",rt)}),arguments:[k.right]})}const et=isPatternArg(d)||hasModifierCall($);if(k.type==="CallExpression"&&k.callee.name==="pure"){const rt=k.arguments[0];return reifyWithLocation(rt,k.arguments[0],a.locations,c)}if(k.type==="IdentifierExpression"){if(isNote(k.name)){const rt=k.name[1]==="s"?k.name.replace("s","#"):k.name;return et?reifyWithLocation(new LiteralStringExpression_1({value:rt}),k,a.locations,c):new LiteralStringExpression_1({value:rt})}if(k.name==="r")return new IdentifierExpression_1({name:"silence"})}return["LiteralStringExpression"].includes(k.type)&&et?reifyWithLocation(k,k,a.locations,c):addMiniNotationLocations(k,a.locations,c)},leave(){d.pop()}});return s(_),codegen(_)};function wrapAsync(o){return o=`(async () => { +`);for(var c=0;c1&&arguments[1]!==void 0?arguments[1]:!1;return new _coderep.Token(s,a)}},{key:"p",value:function(s,a,c){return(0,_coderep.getPrecedence)(s)0&&d[d.length-1]==null&&(_=seq(_,this.sep(Sep.ARRAY_BEFORE_COMMA),this.t(","),this.sep(Sep.ARRAY_AFTER_COMMA))),this.bracket(_,Sep.ARRAY_INITIAL,Sep.ARRAY_FINAL)}},{key:"reduceAwaitExpression",value:function(s,a){var c=a.expression;return seq(this.t("await"),this.sep(Sep.AWAIT),this.p(s.expression,(0,_coderep.getPrecedence)(s),c))}},{key:"reduceSpreadElement",value:function(s,a){var c=a.expression;return seq(this.t("..."),this.sep(Sep.SPREAD),this.p(s.expression,_coderep.Precedence.Assignment,c))}},{key:"reduceSpreadProperty",value:function(s,a){var c=a.expression;return seq(this.t("..."),this.sep(Sep.SPREAD),this.getAssignmentExpr(c))}},{key:"reduceAssignmentExpression",value:function(s,a){var c=a.binding,d=a.expression,_=c,b=d,k=d.containsIn,$=c.startsWithCurly,j=c.startsWithLetSquareBracket,_e=c.startsWithFunctionOrClass;return(0,_coderep.getPrecedence)(s.expression)<(0,_coderep.getPrecedence)(s)&&(b=this.paren(b,Sep.EXPRESSION_PAREN_BEFORE,Sep.EXPRESSION_PAREN_AFTER),k=!1),(0,_objectAssign2.default)(seq(_,this.sep(Sep.BEFORE_ASSIGN_OP("=")),this.t("="),this.sep(Sep.AFTER_ASSIGN_OP("=")),b),{containsIn:k,startsWithCurly:$,startsWithLetSquareBracket:j,startsWithFunctionOrClass:_e})}},{key:"reduceAssignmentTargetIdentifier",value:function(s){var a=this.t(s.name);return s.name==="let"&&(a.startsWithLet=!0),a}},{key:"reduceAssignmentTargetWithDefault",value:function(s,a){var c=a.binding,d=a.init;return seq(c,this.sep(Sep.BEFORE_DEFAULT_EQUALS),this.t("="),this.sep(Sep.AFTER_DEFAULT_EQUALS),this.p(s.init,_coderep.Precedence.Assignment,d))}},{key:"reduceCompoundAssignmentExpression",value:function(s,a){var c=a.binding,d=a.expression,_=c,b=d,k=d.containsIn,$=c.startsWithCurly,j=c.startsWithLetSquareBracket,_e=c.startsWithFunctionOrClass;return(0,_coderep.getPrecedence)(s.expression)<(0,_coderep.getPrecedence)(s)&&(b=this.paren(b,Sep.EXPRESSION_PAREN_BEFORE,Sep.EXPRESSION_PAREN_AFTER),k=!1),(0,_objectAssign2.default)(seq(_,this.sep(Sep.BEFORE_ASSIGN_OP(s.operator)),this.t(s.operator),this.sep(Sep.AFTER_ASSIGN_OP(s.operator)),b),{containsIn:k,startsWithCurly:$,startsWithLetSquareBracket:j,startsWithFunctionOrClass:_e})}},{key:"reduceBinaryExpression",value:function(s,a){var c=a.left,d=a.right,_=c,b=c.startsWithCurly,k=c.startsWithLetSquareBracket,$=c.startsWithFunctionOrClass,j=c.containsIn,_e=s.operator==="**";((0,_coderep.getPrecedence)(s.left)<(0,_coderep.getPrecedence)(s)||_e&&((0,_coderep.getPrecedence)(s.left)===(0,_coderep.getPrecedence)(s)||s.left.type==="UnaryExpression"))&&(_=this.paren(_,Sep.EXPRESSION_PAREN_BEFORE,Sep.EXPRESSION_PAREN_AFTER),b=!1,k=!1,$=!1,j=!1);var et=d,tt=d.containsIn;return((0,_coderep.getPrecedence)(s.right)<(0,_coderep.getPrecedence)(s)||!_e&&(0,_coderep.getPrecedence)(s.right)===(0,_coderep.getPrecedence)(s))&&(et=this.paren(et,Sep.EXPRESSION_PAREN_BEFORE,Sep.EXPRESSION_PAREN_AFTER),tt=!1),(0,_objectAssign2.default)(seq(_,this.sep(Sep.BEFORE_BINOP(s.operator)),this.t(s.operator),this.sep(Sep.AFTER_BINOP(s.operator)),et),{containsIn:j||tt||s.operator==="in",containsGroup:s.operator===",",startsWithCurly:b,startsWithLetSquareBracket:k,startsWithFunctionOrClass:$})}},{key:"reduceBindingWithDefault",value:function(s,a){var c=a.binding,d=a.init;return seq(c,this.sep(Sep.BEFORE_DEFAULT_EQUALS),this.t("="),this.sep(Sep.AFTER_DEFAULT_EQUALS),this.p(s.init,_coderep.Precedence.Assignment,d))}},{key:"reduceBindingIdentifier",value:function(s){var a=this.t(s.name);return s.name==="let"&&(a.startsWithLet=!0),a}},{key:"reduceArrayAssignmentTarget",value:function(s,a){var c=this,d=a.elements,_=a.rest,b=void 0;return d.length===0?b=_==null?empty$1():seq(this.t("..."),this.sep(Sep.REST),_):(d=d.concat(_==null?[]:[seq(this.t("..."),this.sep(Sep.REST),_)]),b=this.commaSep(d.map(function(k){return c.getAssignmentExpr(k)}),Sep.ARRAY_BEFORE_COMMA,Sep.ARRAY_AFTER_COMMA),d.length>0&&d[d.length-1]==null&&(b=seq(b,this.sep(Sep.ARRAY_BEFORE_COMMA),this.t(","),this.sep(Sep.ARRAY_AFTER_COMMA)))),this.bracket(b,Sep.ARRAY_INITIAL,Sep.ARRAY_FINAL,Sep.ARRAY_EMPTY)}},{key:"reduceArrayBinding",value:function(s,a){var c=this,d=a.elements,_=a.rest,b=void 0;return d.length===0?b=_==null?empty$1():seq(this.t("..."),this.sep(Sep.REST),_):(d=d.concat(_==null?[]:[seq(this.t("..."),this.sep(Sep.REST),_)]),b=this.commaSep(d.map(function(k){return c.getAssignmentExpr(k)}),Sep.ARRAY_BEFORE_COMMA,Sep.ARRAY_AFTER_COMMA),d.length>0&&d[d.length-1]==null&&(b=seq(b,this.sep(Sep.ARRAY_BEFORE_COMMA),this.t(","),this.sep(Sep.ARRAY_AFTER_COMMA)))),this.bracket(b,Sep.ARRAY_INITIAL,Sep.ARRAY_FINAL,Sep.ARRAY_EMPTY)}},{key:"reduceObjectAssignmentTarget",value:function(s,a){var c=a.properties,d=a.rest,_=void 0;c.length===0?_=d==null?empty$1():seq(this.t("..."),this.sep(Sep.REST),d):(_=this.commaSep(c,Sep.OBJECT_BEFORE_COMMA,Sep.OBJECT_AFTER_COMMA),_=d==null?_:this.commaSep([_,seq(this.t("..."),this.sep(Sep.REST),d)],Sep.OBJECT_BEFORE_COMMA,Sep.OBJECT_AFTER_COMMA));var b=this.brace(_,s,Sep.OBJECT_BRACE_INITIAL,Sep.OBJECT_BRACE_FINAL,Sep.OBJECT_EMPTY);return b.startsWithCurly=!0,b}},{key:"reduceObjectBinding",value:function(s,a){var c=a.properties,d=a.rest,_=void 0;c.length===0?_=d==null?empty$1():seq(this.t("..."),this.sep(Sep.REST),d):(_=this.commaSep(c,Sep.OBJECT_BEFORE_COMMA,Sep.OBJECT_AFTER_COMMA),_=d==null?_:this.commaSep([_,seq(this.t("..."),this.sep(Sep.REST),d)],Sep.OBJECT_BEFORE_COMMA,Sep.OBJECT_AFTER_COMMA));var b=this.brace(_,s,Sep.OBJECT_BRACE_INITIAL,Sep.OBJECT_BRACE_FINAL,Sep.OBJECT_EMPTY);return b.startsWithCurly=!0,b}},{key:"reduceAssignmentTargetPropertyIdentifier",value:function(s,a){var c=a.binding,d=a.init;return s.init==null?c:seq(c,this.sep(Sep.BEFORE_DEFAULT_EQUALS),this.t("="),this.sep(Sep.AFTER_DEFAULT_EQUALS),this.p(s.init,_coderep.Precedence.Assignment,d))}},{key:"reduceAssignmentTargetPropertyProperty",value:function(s,a){var c=a.name,d=a.binding;return seq(c,this.sep(Sep.BEFORE_PROP),this.t(":"),this.sep(Sep.AFTER_PROP),d)}},{key:"reduceBindingPropertyIdentifier",value:function(s,a){var c=a.binding,d=a.init;return s.init==null?c:seq(c,this.sep(Sep.BEFORE_DEFAULT_EQUALS),this.t("="),this.sep(Sep.AFTER_DEFAULT_EQUALS),this.p(s.init,_coderep.Precedence.Assignment,d))}},{key:"reduceBindingPropertyProperty",value:function(s,a){var c=a.name,d=a.binding;return seq(c,this.sep(Sep.BEFORE_PROP),this.t(":"),this.sep(Sep.AFTER_PROP),d)}},{key:"reduceBlock",value:function(s,a){var c=a.statements;return this.brace(seq.apply(void 0,_toConsumableArray$1(c)),s,Sep.BLOCK_BRACE_INITIAL,Sep.BLOCK_BRACE_FINAL,Sep.BLOCK_EMPTY)}},{key:"reduceBlockStatement",value:function(s,a){var c=a.block;return seq(c,this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceBreakStatement",value:function(s){return seq(this.t("break"),s.label?seq(this.sep(Sep.BEFORE_JUMP_LABEL),this.t(s.label)):empty$1(),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceCallExpression",value:function(s,a){var c=this,d=a.callee,_=a.arguments,b=_.map(function(k,$){return c.p(s.arguments[$],_coderep.Precedence.Assignment,k)});return(0,_objectAssign2.default)(seq(this.p(s.callee,(0,_coderep.getPrecedence)(s),d),this.sep(Sep.CALL),this.paren(this.commaSep(b,Sep.ARGS_BEFORE_COMMA,Sep.ARGS_AFTER_COMMA),Sep.CALL_PAREN_BEFORE,Sep.CALL_PAREN_AFTER,Sep.CALL_PAREN_EMPTY)),{startsWithCurly:d.startsWithCurly,startsWithLet:d.startsWithLet,startsWithLetSquareBracket:d.startsWithLetSquareBracket,startsWithFunctionOrClass:d.startsWithFunctionOrClass})}},{key:"reduceCatchClause",value:function(s,a){var c=a.binding,d=a.body;return seq(this.t("catch"),this.sep(Sep.BEFORE_CATCH_BINDING),this.paren(c,Sep.CATCH_PAREN_BEFORE,Sep.CATCH_PAREN_AFTER),this.sep(Sep.AFTER_CATCH_BINDING),d)}},{key:"reduceClassDeclaration",value:function(s,a){var c=a.name,d=a.super,_=a.elements,b=seq(this.t("class"),s.name.name==="*default*"?empty$1():seq(this.sep(Sep.BEFORE_CLASS_NAME),c));return d!=null&&(b=seq(b,this.sep(Sep.BEFORE_EXTENDS),this.t("extends"),this.sep(Sep.AFTER_EXTENDS),this.p(s.super,_coderep.Precedence.New,d))),b=seq(b,this.sep(Sep.BEFORE_CLASS_DECLARATION_ELEMENTS),this.brace(seq.apply(void 0,_toConsumableArray$1(_)),s,Sep.CLASS_BRACE_INITIAL,Sep.CLASS_BRACE_FINAL,Sep.CLASS_EMPTY),this.sep(Sep.AFTER_STATEMENT(s))),b}},{key:"reduceClassExpression",value:function(s,a){var c=a.name,d=a.super,_=a.elements,b=this.t("class");return c!=null&&(b=seq(b,this.sep(Sep.BEFORE_CLASS_NAME),c)),d!=null&&(b=seq(b,this.sep(Sep.BEFORE_EXTENDS),this.t("extends"),this.sep(Sep.AFTER_EXTENDS),this.p(s.super,_coderep.Precedence.New,d))),b=seq(b,this.sep(Sep.BEFORE_CLASS_EXPRESSION_ELEMENTS),this.brace(seq.apply(void 0,_toConsumableArray$1(_)),s,Sep.CLASS_EXPRESSION_BRACE_INITIAL,Sep.CLASS_EXPRESSION_BRACE_FINAL,Sep.CLASS_EXPRESSION_BRACE_EMPTY)),b.startsWithFunctionOrClass=!0,b}},{key:"reduceClassElement",value:function(s,a){var c=a.method;return c=seq(this.sep(Sep.BEFORE_CLASS_ELEMENT),c,this.sep(Sep.AFTER_CLASS_ELEMENT)),s.isStatic?seq(this.t("static"),this.sep(Sep.AFTER_STATIC),c):c}},{key:"reduceComputedMemberAssignmentTarget",value:function(s,a){var c=a.object,d=a.expression,_=c.startsWithLetSquareBracket||s.object.type==="IdentifierExpression"&&s.object.name==="let";return(0,_objectAssign2.default)(seq(this.p(s.object,(0,_coderep.getPrecedence)(s),c),this.sep(Sep.COMPUTED_MEMBER_ASSIGNMENT_TARGET),this.bracket(d,Sep.COMPUTED_MEMBER_ASSIGNMENT_TARGET_BRACKET_INTIAL,Sep.COMPUTED_MEMBER_ASSIGNMENT_TARGET_BRACKET_FINAL)),{startsWithLet:c.startsWithLet,startsWithLetSquareBracket:_,startsWithCurly:c.startsWithCurly,startsWithFunctionOrClass:c.startsWithFunctionOrClass})}},{key:"reduceComputedMemberExpression",value:function(s,a){var c=a.object,d=a.expression,_=c.startsWithLetSquareBracket||s.object.type==="IdentifierExpression"&&s.object.name==="let";return(0,_objectAssign2.default)(seq(this.p(s.object,(0,_coderep.getPrecedence)(s),c),this.sep(Sep.COMPUTED_MEMBER_EXPRESSION),this.bracket(d,Sep.COMPUTED_MEMBER_BRACKET_INTIAL,Sep.COMPUTED_MEMBER_BRACKET_FINAL)),{startsWithLet:c.startsWithLet,startsWithLetSquareBracket:_,startsWithCurly:c.startsWithCurly,startsWithFunctionOrClass:c.startsWithFunctionOrClass})}},{key:"reduceComputedPropertyName",value:function(s,a){var c=a.expression;return this.bracket(this.p(s.expression,_coderep.Precedence.Assignment,c),Sep.COMPUTED_PROPERTY_BRACKET_INTIAL,Sep.COMPUTED_PROPERTY_BRACKET_FINAL)}},{key:"reduceConditionalExpression",value:function(s,a){var c=a.test,d=a.consequent,_=a.alternate,b=c.containsIn||_.containsIn,k=c.startsWithCurly,$=c.startsWithLetSquareBracket,j=c.startsWithFunctionOrClass;return(0,_objectAssign2.default)(seq(this.p(s.test,_coderep.Precedence.LogicalOR,c),this.sep(Sep.BEFORE_TERNARY_QUESTION),this.t("?"),this.sep(Sep.AFTER_TERNARY_QUESTION),this.p(s.consequent,_coderep.Precedence.Assignment,d),this.sep(Sep.BEFORE_TERNARY_COLON),this.t(":"),this.sep(Sep.AFTER_TERNARY_COLON),this.p(s.alternate,_coderep.Precedence.Assignment,_)),{containsIn:b,startsWithCurly:k,startsWithLetSquareBracket:$,startsWithFunctionOrClass:j})}},{key:"reduceContinueStatement",value:function(s){return seq(this.t("continue"),s.label?seq(this.sep(Sep.BEFORE_JUMP_LABEL),this.t(s.label)):empty$1(),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceDataProperty",value:function(s,a){var c=a.name,d=a.expression;return seq(c,this.sep(Sep.BEFORE_PROP),this.t(":"),this.sep(Sep.AFTER_PROP),this.getAssignmentExpr(d))}},{key:"reduceDebuggerStatement",value:function(s){return seq(this.t("debugger"),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceDoWhileStatement",value:function(s,a){var c=a.body,d=a.test;return seq(this.t("do"),this.sep(Sep.AFTER_DO),c,this.sep(Sep.BEFORE_DOWHILE_WHILE),this.t("while"),this.sep(Sep.AFTER_DOWHILE_WHILE),this.paren(d,Sep.DO_WHILE_TEST_PAREN_BEFORE,Sep.DO_WHILE_TEST_PAREN_AFTER),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceEmptyStatement",value:function(s){return seq(this.t(";"),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceExpressionStatement",value:function(s,a){var c=a.expression,d=c.startsWithCurly||c.startsWithLetSquareBracket||c.startsWithFunctionOrClass;return seq(d?this.paren(c,Sep.EXPRESSION_STATEMENT_PAREN_BEFORE,Sep.EXPRESSION_STATEMENT_PAREN_AFTER):c,this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceForInStatement",value:function(s,a){var c=a.left,d=a.right,_=a.body;return c=s.left.type==="VariableDeclaration"?noIn(markContainsIn(c)):c,(0,_objectAssign2.default)(seq(this.t("for"),this.sep(Sep.AFTER_FORIN_FOR),this.paren(seq(c.startsWithLet?this.paren(c,Sep.FOR_IN_LET_PAREN_BEFORE,Sep.FOR_IN_LET_PAREN_AFTER):c,this.sep(Sep.BEFORE_FORIN_IN),this.t("in"),this.sep(Sep.AFTER_FORIN_FOR),d),Sep.FOR_IN_PAREN_BEFORE,Sep.FOR_IN_PAREN_AFTER),this.sep(Sep.BEFORE_FORIN_BODY),_,this.sep(Sep.AFTER_STATEMENT(s))),{endsWithMissingElse:_.endsWithMissingElse})}},{key:"reduceForOfStatement",value:function(s,a){var c=a.left,d=a.right,_=a.body;return c=s.left.type==="VariableDeclaration"?noIn(markContainsIn(c)):c,(0,_objectAssign2.default)(seq(this.t("for"),this.sep(Sep.AFTER_FOROF_FOR),this.paren(seq(c.startsWithLet?this.paren(c,Sep.FOR_OF_LET_PAREN_BEFORE,Sep.FOR_OF_LET_PAREN_AFTER):c,this.sep(Sep.BEFORE_FOROF_OF),this.t("of"),this.sep(Sep.AFTER_FOROF_FOR),this.p(s.right,_coderep.Precedence.Assignment,d)),Sep.FOR_OF_PAREN_BEFORE,Sep.FOR_OF_PAREN_AFTER),this.sep(Sep.BEFORE_FOROF_BODY),_,this.sep(Sep.AFTER_STATEMENT(s))),{endsWithMissingElse:_.endsWithMissingElse})}},{key:"reduceForStatement",value:function(s,a){var c=a.init,d=a.test,_=a.update,b=a.body;return c&&(c.startsWithLetSquareBracket&&(c=this.paren(c,Sep.FOR_LET_PAREN_BEFORE,Sep.FOR_LET_PAREN_AFTER)),c=noIn(markContainsIn(c))),(0,_objectAssign2.default)(seq(this.t("for"),this.sep(Sep.AFTER_FOR_FOR),this.paren(seq(c?seq(this.sep(Sep.BEFORE_FOR_INIT),c,this.sep(Sep.AFTER_FOR_INIT)):this.sep(Sep.EMPTY_FOR_INIT),this.t(";"),d?seq(this.sep(Sep.BEFORE_FOR_TEST),d,this.sep(Sep.AFTER_FOR_TEST)):this.sep(Sep.EMPTY_FOR_TEST),this.t(";"),_?seq(this.sep(Sep.BEFORE_FOR_UPDATE),_,this.sep(Sep.AFTER_FOR_UPDATE)):this.sep(Sep.EMPTY_FOR_UPDATE))),this.sep(Sep.BEFORE_FOR_BODY),b,this.sep(Sep.AFTER_STATEMENT(s))),{endsWithMissingElse:b.endsWithMissingElse})}},{key:"reduceForAwaitStatement",value:function(s,a){var c=a.left,d=a.right,_=a.body;return c=s.left.type==="VariableDeclaration"?noIn(markContainsIn(c)):c,(0,_objectAssign2.default)(seq(this.t("for"),this.sep(Sep.AFTER_FOROF_FOR),this.t("await"),this.sep(Sep.AFTER_FORAWAIT_AWAIT),this.paren(seq(c.startsWithLet?this.paren(c,Sep.FOR_OF_LET_PAREN_BEFORE,Sep.FOR_OF_LET_PAREN_AFTER):c,this.sep(Sep.BEFORE_FOROF_OF),this.t("of"),this.sep(Sep.AFTER_FOROF_FOR),this.p(s.right,_coderep.Precedence.Assignment,d)),Sep.FOR_OF_PAREN_BEFORE,Sep.FOR_OF_PAREN_AFTER),this.sep(Sep.BEFORE_FOROF_BODY),_,this.sep(Sep.AFTER_STATEMENT(s))),{endsWithMissingElse:_.endsWithMissingElse})}},{key:"reduceFunctionBody",value:function(s,a){var c=a.directives,d=a.statements;return d.length&&(d[0]=this.parenToAvoidBeingDirective(s.statements[0],d[0])),seq.apply(void 0,_toConsumableArray$1(c).concat([c.length?this.sep(Sep.AFTER_FUNCTION_DIRECTIVES):empty$1()],_toConsumableArray$1(d)))}},{key:"reduceFunctionDeclaration",value:function(s,a){var c=a.name,d=a.params,_=a.body;return seq(s.isAsync?this.t("async"):empty$1(),this.t("function"),s.isGenerator?seq(this.sep(Sep.BEFORE_GENERATOR_STAR),this.t("*"),this.sep(Sep.AFTER_GENERATOR_STAR)):empty$1(),this.sep(Sep.BEFORE_FUNCTION_NAME(s)),s.name.name==="*default*"?empty$1():c,this.sep(Sep.BEFORE_FUNCTION_PARAMS),this.paren(d,Sep.PARAMETERS_PAREN_BEFORE,Sep.PARAMETERS_PAREN_AFTER,Sep.PARAMETERS_PAREN_EMPTY),this.sep(Sep.BEFORE_FUNCTION_DECLARATION_BODY),this.brace(_,s,Sep.FUNCTION_BRACE_INITIAL,Sep.FUNCTION_BRACE_FINAL,Sep.FUNCTION_EMPTY),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceFunctionExpression",value:function(s,a){var c=a.name,d=a.params,_=a.body,b=seq(s.isAsync?this.t("async"):empty$1(),this.t("function"),s.isGenerator?seq(this.sep(Sep.BEFORE_GENERATOR_STAR),this.t("*"),this.sep(Sep.AFTER_GENERATOR_STAR)):empty$1(),this.sep(Sep.BEFORE_FUNCTION_NAME(s)),c||empty$1(),this.sep(Sep.BEFORE_FUNCTION_PARAMS),this.paren(d,Sep.PARAMETERS_PAREN_BEFORE,Sep.PARAMETERS_PAREN_AFTER,Sep.PARAMETERS_PAREN_EMPTY),this.sep(Sep.BEFORE_FUNCTION_EXPRESSION_BODY),this.brace(_,s,Sep.FUNCTION_EXPRESSION_BRACE_INITIAL,Sep.FUNCTION_EXPRESSION_BRACE_FINAL,Sep.FUNCTION_EXPRESSION_EMPTY));return b.startsWithFunctionOrClass=!0,b}},{key:"reduceFormalParameters",value:function(s,a){var c=a.items,d=a.rest;return this.commaSep(c.concat(d==null?[]:[seq(this.t("..."),this.sep(Sep.REST),d)]),Sep.PARAMETER_BEFORE_COMMA,Sep.PARAMETER_AFTER_COMMA)}},{key:"reduceArrowExpression",value:function(s,a){var c=a.params,d=a.body;(s.params.rest!=null||s.params.items.length!==1||s.params.items[0].type!=="BindingIdentifier")&&(c=this.paren(c,Sep.ARROW_PARAMETERS_PAREN_BEFORE,Sep.ARROW_PARAMETERS_PAREN_AFTER,Sep.ARROW_PARAMETERS_PAREN_EMPTY));var _=!1;return s.body.type==="FunctionBody"?d=this.brace(d,s,Sep.ARROW_BRACE_INITIAL,Sep.ARROW_BRACE_FINAL,Sep.ARROW_BRACE_EMPTY):d.startsWithCurly?d=this.paren(d,Sep.ARROW_BODY_PAREN_BEFORE,Sep.ARROW_BODY_PAREN_AFTER):d.containsIn&&(_=!0),(0,_objectAssign2.default)(seq(s.isAsync?seq(this.t("async"),this.sep(Sep.BEFORE_ARROW_ASYNC_PARAMS)):empty$1(),c,this.sep(Sep.BEFORE_ARROW),this.t("=>"),this.sep(Sep.AFTER_ARROW),this.p(s.body,_coderep.Precedence.Assignment,d)),{containsIn:_})}},{key:"reduceGetter",value:function(s,a){var c=a.name,d=a.body;return seq(this.t("get"),this.sep(Sep.AFTER_GET),c,this.sep(Sep.BEFORE_GET_PARAMS),this.paren(empty$1(),null,null,Sep.GETTER_PARAMS),this.sep(Sep.BEFORE_GET_BODY),this.brace(d,s,Sep.GET_BRACE_INTIAL,Sep.GET_BRACE_FINAL,Sep.GET_BRACE_EMPTY))}},{key:"reduceIdentifierExpression",value:function(s){var a=this.t(s.name);return s.name==="let"&&(a.startsWithLet=!0),a}},{key:"reduceIfStatement",value:function(s,a){var c=a.test,d=a.consequent,_=a.alternate;return _&&d.endsWithMissingElse&&(d=this.brace(d,s,Sep.MISSING_ELSE_INTIIAL,Sep.MISSING_ELSE_FINAL,Sep.MISSING_ELSE_EMPTY)),(0,_objectAssign2.default)(seq(this.t("if"),this.sep(Sep.AFTER_IF),this.paren(c,Sep.IF_PAREN_BEFORE,Sep.IF_PAREN_AFTER),this.sep(Sep.AFTER_IF_TEST),d,_?seq(this.sep(Sep.BEFORE_ELSE),this.t("else"),this.sep(Sep.AFTER_ELSE),_):empty$1(),this.sep(Sep.AFTER_STATEMENT(s))),{endsWithMissingElse:_?_.endsWithMissingElse:!0})}},{key:"reduceImport",value:function(s,a){var c=a.defaultBinding,d=a.namedImports,_=[];return c!=null&&_.push(c),d.length>0&&_.push(this.brace(this.commaSep(d,Sep.NAMED_IMPORT_BEFORE_COMMA,Sep.NAMED_IMPORT_AFTER_COMMA),s,Sep.IMPORT_BRACE_INTIAL,Sep.IMPORT_BRACE_FINAL,Sep.IMPORT_BRACE_EMPTY)),_.length===0?seq(this.t("import"),this.sep(Sep.BEFORE_IMPORT_MODULE),this.t((0,_coderep.escapeStringLiteral)(s.moduleSpecifier)),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s))):seq(this.t("import"),this.sep(Sep.BEFORE_IMPORT_BINDINGS),this.commaSep(_,Sep.IMPORT_BEFORE_COMMA,Sep.IMPORT_AFTER_COMMA),this.sep(Sep.AFTER_IMPORT_BINDINGS),this.t("from"),this.sep(Sep.AFTER_FROM),this.t((0,_coderep.escapeStringLiteral)(s.moduleSpecifier)),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceImportNamespace",value:function(s,a){var c=a.defaultBinding,d=a.namespaceBinding;return seq(this.t("import"),this.sep(Sep.BEFORE_IMPORT_NAMESPACE),c==null?empty$1():seq(c,this.sep(Sep.IMPORT_BEFORE_COMMA),this.t(","),this.sep(Sep.IMPORT_AFTER_COMMA)),this.sep(Sep.BEFORE_IMPORT_STAR),this.t("*"),this.sep(Sep.AFTER_IMPORT_STAR),this.t("as"),this.sep(Sep.AFTER_IMPORT_AS),d,this.sep(Sep.AFTER_NAMESPACE_BINDING),this.t("from"),this.sep(Sep.AFTER_FROM),this.t((0,_coderep.escapeStringLiteral)(s.moduleSpecifier)),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceImportSpecifier",value:function(s,a){var c=a.binding;return s.name==null?c:seq(this.t(s.name),this.sep(Sep.BEFORE_IMPORT_AS),this.t("as"),this.sep(Sep.AFTER_IMPORT_AS),c)}},{key:"reduceExportAllFrom",value:function(s){return seq(this.t("export"),this.sep(Sep.BEFORE_EXPORT_STAR),this.t("*"),this.sep(Sep.AFTER_EXPORT_STAR),this.t("from"),this.sep(Sep.AFTER_FROM),this.t((0,_coderep.escapeStringLiteral)(s.moduleSpecifier)),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceExportFrom",value:function(s,a){var c=a.namedExports;return seq(this.t("export"),this.sep(Sep.BEFORE_EXPORT_BINDINGS),this.brace(this.commaSep(c,Sep.EXPORTS_BEFORE_COMMA,Sep.EXPORTS_AFTER_COMMA),s,Sep.EXPORT_BRACE_INITIAL,Sep.EXPORT_BRACE_FINAL,Sep.EXPORT_BRACE_EMPTY),this.sep(Sep.AFTER_EXPORT_FROM_BINDINGS),this.t("from"),this.sep(Sep.AFTER_FROM),this.t((0,_coderep.escapeStringLiteral)(s.moduleSpecifier)),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceExportLocals",value:function(s,a){var c=a.namedExports;return seq(this.t("export"),this.sep(Sep.BEFORE_EXPORT_BINDINGS),this.brace(this.commaSep(c,Sep.EXPORTS_BEFORE_COMMA,Sep.EXPORTS_AFTER_COMMA),s,Sep.EXPORT_BRACE_INITIAL,Sep.EXPORT_BRACE_FINAL,Sep.EXPORT_BRACE_EMPTY),this.sep(Sep.AFTER_EXPORT_LOCAL_BINDINGS),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceExport",value:function(s,a){var c=a.declaration;switch(s.declaration.type){case"FunctionDeclaration":case"ClassDeclaration":break;default:c=seq(c,this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}return seq(this.t("export"),this.sep(Sep.AFTER_EXPORT),c)}},{key:"reduceExportDefault",value:function(s,a){var c=a.body;switch(c=c.startsWithFunctionOrClass?this.paren(c,Sep.EXPORT_PAREN_BEFORE,Sep.EXPORT_PAREN_AFTER):c,s.body.type){case"FunctionDeclaration":case"ClassDeclaration":return seq(this.t("export"),this.sep(Sep.EXPORT_DEFAULT),this.t("default"),this.sep(Sep.AFTER_EXPORT_DEFAULT),c);default:return seq(this.t("export"),this.sep(Sep.EXPORT_DEFAULT),this.t("default"),this.sep(Sep.AFTER_EXPORT_DEFAULT),this.p(s.body,_coderep.Precedence.Assignment,c),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}}},{key:"reduceExportFromSpecifier",value:function(s){return s.exportedName==null?this.t(s.name):seq(this.t(s.name),this.sep(Sep.BEFORE_EXPORT_AS),this.t("as"),this.sep(Sep.AFTER_EXPORT_AS),this.t(s.exportedName))}},{key:"reduceExportLocalSpecifier",value:function(s,a){var c=a.name;return s.exportedName==null?c:seq(c,this.sep(Sep.BEFORE_EXPORT_AS),this.t("as"),this.sep(Sep.AFTER_EXPORT_AS),this.t(s.exportedName))}},{key:"reduceLabeledStatement",value:function(s,a){var c=a.body;return(0,_objectAssign2.default)(seq(this.t(s.label),this.sep(Sep.BEFORE_LABEL_COLON),this.t(":"),this.sep(Sep.AFTER_LABEL_COLON),c),{endsWithMissingElse:c.endsWithMissingElse})}},{key:"reduceLiteralBooleanExpression",value:function(s){return this.t(s.value.toString())}},{key:"reduceLiteralNullExpression",value:function(){return this.t("null")}},{key:"reduceLiteralInfinityExpression",value:function(){return this.t("2e308")}},{key:"reduceLiteralNumericExpression",value:function(s){return new _coderep.NumberCodeRep(s.value)}},{key:"reduceLiteralRegExpExpression",value:function(s){return this.t("/"+s.pattern+"/"+(s.global?"g":"")+(s.ignoreCase?"i":"")+(s.multiLine?"m":"")+(s.dotAll?"s":"")+(s.unicode?"u":"")+(s.sticky?"y":""),!0)}},{key:"reduceLiteralStringExpression",value:function(s){return this.t((0,_coderep.escapeStringLiteral)(s.value))}},{key:"reduceMethod",value:function(s,a){var c=a.name,d=a.params,_=a.body;return seq(s.isAsync?seq(this.t("async"),this.sep(Sep.AFTER_METHOD_ASYNC)):empty$1(),s.isGenerator?seq(this.t("*"),this.sep(Sep.AFTER_METHOD_GENERATOR_STAR)):empty$1(),c,this.sep(Sep.AFTER_METHOD_NAME),this.paren(d,Sep.PARAMETERS_PAREN_BEFORE,Sep.PARAMETERS_PAREN_AFTER,Sep.PARAMETERS_PAREN_EMPTY),this.sep(Sep.BEFORE_METHOD_BODY),this.brace(_,s,Sep.METHOD_BRACE_INTIAL,Sep.METHOD_BRACE_FINAL,Sep.METHOD_BRACE_EMPTY))}},{key:"reduceModule",value:function(s,a){var c=a.directives,d=a.items;return d.length&&(d[0]=this.parenToAvoidBeingDirective(s.items[0],d[0])),seq.apply(void 0,_toConsumableArray$1(c).concat([c.length?this.sep(Sep.AFTER_MODULE_DIRECTIVES):empty$1()],_toConsumableArray$1(d)))}},{key:"reduceNewExpression",value:function(s,a){var c=this,d=a.callee,_=a.arguments,b=_.map(function($,j){return c.p(s.arguments[j],_coderep.Precedence.Assignment,$)}),k=(0,_coderep.getPrecedence)(s.callee)===_coderep.Precedence.Call?this.paren(d,Sep.NEW_CALLEE_PAREN_BEFORE,Sep.NEW_CALLEE_PAREN_AFTER):this.p(s.callee,(0,_coderep.getPrecedence)(s),d);return seq(this.t("new"),this.sep(Sep.AFTER_NEW),k,_.length===0?this.sep(Sep.EMPTY_NEW_CALL):seq(this.sep(Sep.BEFORE_NEW_ARGS),this.paren(this.commaSep(b,Sep.ARGS_BEFORE_COMMA,Sep.ARGS_AFTER_COMMA),Sep.NEW_PAREN_BEFORE,Sep.NEW_PAREN_AFTER,Sep.NEW_PAREN_EMPTY)))}},{key:"reduceNewTargetExpression",value:function(){return seq(this.t("new"),this.sep(Sep.NEW_TARGET_BEFORE_DOT),this.t("."),this.sep(Sep.NEW_TARGET_AFTER_DOT),this.t("target"))}},{key:"reduceObjectExpression",value:function(s,a){var c=a.properties,d=this.brace(this.commaSep(c,Sep.OBJECT_BEFORE_COMMA,Sep.OBJECT_AFTER_COMMA),s,Sep.OBJECT_BRACE_INITIAL,Sep.OBJECT_BRACE_FINAL,Sep.OBJECT_EMPTY);return d.startsWithCurly=!0,d}},{key:"reduceUpdateExpression",value:function(s,a){var c=a.operand;return s.isPrefix?this.reduceUnaryExpression.apply(this,arguments):(0,_objectAssign2.default)(seq(this.p(s.operand,_coderep.Precedence.New,c),this.sep(Sep.BEFORE_POSTFIX(s.operator)),this.t(s.operator)),{startsWithCurly:c.startsWithCurly,startsWithLetSquareBracket:c.startsWithLetSquareBracket,startsWithFunctionOrClass:c.startsWithFunctionOrClass})}},{key:"reduceUnaryExpression",value:function(s,a){var c=a.operand;return seq(this.t(s.operator),this.sep(Sep.UNARY(s.operator)),this.p(s.operand,(0,_coderep.getPrecedence)(s),c))}},{key:"reduceReturnStatement",value:function(s,a){var c=a.expression;return seq(this.t("return"),c?seq(this.sep(Sep.RETURN),c):empty$1(),this.semiOp(),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceScript",value:function(s,a){var c=a.directives,d=a.statements;return d.length&&(d[0]=this.parenToAvoidBeingDirective(s.statements[0],d[0])),seq.apply(void 0,_toConsumableArray$1(c).concat([c.length?this.sep(Sep.AFTER_SCRIPT_DIRECTIVES):empty$1()],_toConsumableArray$1(d)))}},{key:"reduceSetter",value:function(s,a){var c=a.name,d=a.param,_=a.body;return seq(this.t("set"),this.sep(Sep.AFTER_SET),c,this.sep(Sep.BEFORE_SET_PARAMS),this.paren(d,Sep.SETTER_PARAM_BEFORE,Sep.SETTER_PARAM_AFTER),this.sep(Sep.BEFORE_SET_BODY),this.brace(_,s,Sep.SET_BRACE_INTIIAL,Sep.SET_BRACE_FINAL,Sep.SET_BRACE_EMPTY))}},{key:"reduceShorthandProperty",value:function(s,a){var c=a.name;return c}},{key:"reduceStaticMemberAssignmentTarget",value:function(s,a){var c=a.object,d=seq(this.p(s.object,(0,_coderep.getPrecedence)(s),c),this.sep(Sep.BEFORE_STATIC_MEMBER_ASSIGNMENT_TARGET_DOT),this.t("."),this.sep(Sep.AFTER_STATIC_MEMBER_ASSIGNMENT_TARGET_DOT),this.t(s.property));return d.startsWithLet=c.startsWithLet,d.startsWithCurly=c.startsWithCurly,d.startsWithLetSquareBracket=c.startsWithLetSquareBracket,d.startsWithFunctionOrClass=c.startsWithFunctionOrClass,d}},{key:"reduceStaticMemberExpression",value:function(s,a){var c=a.object,d=seq(this.p(s.object,(0,_coderep.getPrecedence)(s),c),this.sep(Sep.BEFORE_STATIC_MEMBER_DOT),this.t("."),this.sep(Sep.AFTER_STATIC_MEMBER_DOT),this.t(s.property));return d.startsWithLet=c.startsWithLet,d.startsWithCurly=c.startsWithCurly,d.startsWithLetSquareBracket=c.startsWithLetSquareBracket,d.startsWithFunctionOrClass=c.startsWithFunctionOrClass,d}},{key:"reduceStaticPropertyName",value:function(s){if(_esutils.keyword.isIdentifierNameES6(s.value))return this.t(s.value);var a=parseFloat(s.value);return a>=0&&a.toString()===s.value?new _coderep.NumberCodeRep(a):this.t((0,_coderep.escapeStringLiteral)(s.value))}},{key:"reduceSuper",value:function(){return this.t("super")}},{key:"reduceSwitchCase",value:function(s,a){var c=a.test,d=a.consequent;return seq(this.t("case"),this.sep(Sep.BEFORE_CASE_TEST),c,this.sep(Sep.AFTER_CASE_TEST),this.t(":"),this.sep(Sep.BEFORE_CASE_BODY),seq.apply(void 0,_toConsumableArray$1(d)),this.sep(Sep.AFTER_CASE_BODY))}},{key:"reduceSwitchDefault",value:function(s,a){var c=a.consequent;return seq(this.t("default"),this.sep(Sep.DEFAULT),this.t(":"),this.sep(Sep.BEFORE_CASE_BODY),seq.apply(void 0,_toConsumableArray$1(c)),this.sep(Sep.AFTER_DEFAULT_BODY))}},{key:"reduceSwitchStatement",value:function(s,a){var c=a.discriminant,d=a.cases;return seq(this.t("switch"),this.sep(Sep.BEFORE_SWITCH_DISCRIM),this.paren(c,Sep.SWITCH_DISCRIM_PAREN_BEFORE,Sep.SWITCH_DISCRIM_PAREN_AFTER),this.sep(Sep.BEFORE_SWITCH_BODY),this.brace(seq.apply(void 0,_toConsumableArray$1(d)),s,Sep.SWITCH_BRACE_INTIAL,Sep.SWITCH_BRACE_FINAL,Sep.SWITCH_BRACE_EMPTY),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceSwitchStatementWithDefault",value:function(s,a){var c=a.discriminant,d=a.preDefaultCases,_=a.defaultCase,b=a.postDefaultCases;return seq(this.t("switch"),this.sep(Sep.BEFORE_SWITCH_DISCRIM),this.paren(c,Sep.SWITCH_DISCRIM_PAREN_BEFORE,Sep.SWITCH_DISCRIM_PAREN_AFTER),this.sep(Sep.BEFORE_SWITCH_BODY),this.brace(seq.apply(void 0,_toConsumableArray$1(d).concat([_],_toConsumableArray$1(b))),s,Sep.SWITCH_BRACE_INTIAL,Sep.SWITCH_BRACE_FINAL,Sep.SWITCH_BRACE_EMPTY),this.sep(Sep.AFTER_STATEMENT(s)))}},{key:"reduceTemplateExpression",value:function(s,a){var c=a.tag,d=a.elements,_=s.tag==null?empty$1():seq(this.p(s.tag,(0,_coderep.getPrecedence)(s),c),this.sep(Sep.TEMPLATE_TAG));_=seq(_,this.t("`"));for(var b=0,k=s.elements.length;b0&&($+="}"),$+=s.elements[b].rawValue,b=1e3&&o%10===0?(e=o.toString(10),/[eE]/.test(e)?e.replace(/[eE]\+/,"e"):o.toString(10).replace(/0{3,}$/,function(s){return"e"+s.length})):o%1===0?o>1e15&&o<1e20?"0x"+o.toString(16).toUpperCase():o.toString(10).replace(/[eE]\+/,"e"):o.toString(10).replace(/^0\./,".").replace(/[eE]\+/,"e")}tokenStream.TokenStream=function(){function o(){_classCallCheck$1(this,o),this.result="",this.lastNumber=null,this.lastCodePoint=null,this.lastTokenStr="",this.optionalSemi=!1,this.previousWasRegExp=!1,this.partialHtmlComment=!1}return _createClass$1(o,[{key:"putNumber",value:function(s){var a=renderNumber(s);this.put(a),this.lastNumber=a}},{key:"putOptionalSemi",value:function(){this.optionalSemi=!0}},{key:"putRaw",value:function(s){this.result+=s,this.lastTokenStr=s}},{key:"put",value:function(s,a){if(this.optionalSemi&&(this.optionalSemi=!1,s!=="}"&&(this.result+=";",this.lastCodePoint=";",this.previousWasRegExp=!1)),this.lastNumber!==null&&s.length===1&&s==="."){this.result+=needsDoubleDot(this.lastNumber)?"..":".",this.lastNumber=null,this.lastCodePoint=".";return}var c=[].concat(_toConsumableArray(s)).length;if(c>0){this.lastNumber=null;var d=String.fromCodePoint(s.codePointAt(0)),_=this.lastCodePoint;this.lastCodePoint=String.fromCodePoint(s.codePointAt(c-1));var b=this.previousWasRegExp;this.previousWasRegExp=a,_&&((_==="+"||_==="-")&&_===d||isIdentifierPartES6(_)&&isIdentifierPartES6(d)||_==="/"&&d==="/"||b&&d==="i"||this.partialHtmlComment&&s.startsWith("--"))&&(this.result+=" ")}this.partialHtmlComment=this.lastTokenStr.endsWith("<")&&s==="!",this.result+=s,this.lastTokenStr=s}}]),o}();Object.defineProperty(withLocation,"__esModule",{value:!0});var _createClass=function(){function o(e,s){for(var a=0;a1?c-1:0),_=1;_1?c-1:0),_=1;_1?c-1:0),_=1;_1&&arguments[1]!==void 0?arguments[1]:new _minimalCodegen2.default,s=new TokenStreamWithLocation,a=(0,_shiftReducer.reduce)(addLocationToReducer(e),o);return a.emit(s),{source:s.result,locations:s.locations}}(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.codeGenWithLocation=o.SemiOp=o.CommaSep=o.Semi=o.Seq=o.ContainsIn=o.NoIn=o.Brace=o.Bracket=o.Paren=o.NumberCodeRep=o.Token=o.Empty=o.CodeRep=o.escapeStringLiteral=o.getPrecedence=o.Precedence=o.Sep=o.FormattedCodeGen=o.ExtensibleCodeGen=o.MinimalCodeGen=void 0,o.default=j;var e=minimalCodegen;Object.defineProperty(o,"MinimalCodeGen",{enumerable:!0,get:function(){return $(e).default}});var s=formattedCodegen;Object.defineProperty(o,"ExtensibleCodeGen",{enumerable:!0,get:function(){return s.ExtensibleCodeGen}}),Object.defineProperty(o,"FormattedCodeGen",{enumerable:!0,get:function(){return s.FormattedCodeGen}}),Object.defineProperty(o,"Sep",{enumerable:!0,get:function(){return s.Sep}});var a=coderep;Object.defineProperty(o,"Precedence",{enumerable:!0,get:function(){return a.Precedence}}),Object.defineProperty(o,"getPrecedence",{enumerable:!0,get:function(){return a.getPrecedence}}),Object.defineProperty(o,"escapeStringLiteral",{enumerable:!0,get:function(){return a.escapeStringLiteral}}),Object.defineProperty(o,"CodeRep",{enumerable:!0,get:function(){return a.CodeRep}}),Object.defineProperty(o,"Empty",{enumerable:!0,get:function(){return a.Empty}}),Object.defineProperty(o,"Token",{enumerable:!0,get:function(){return a.Token}}),Object.defineProperty(o,"NumberCodeRep",{enumerable:!0,get:function(){return a.NumberCodeRep}}),Object.defineProperty(o,"Paren",{enumerable:!0,get:function(){return a.Paren}}),Object.defineProperty(o,"Bracket",{enumerable:!0,get:function(){return a.Bracket}}),Object.defineProperty(o,"Brace",{enumerable:!0,get:function(){return a.Brace}}),Object.defineProperty(o,"NoIn",{enumerable:!0,get:function(){return a.NoIn}}),Object.defineProperty(o,"ContainsIn",{enumerable:!0,get:function(){return a.ContainsIn}}),Object.defineProperty(o,"Seq",{enumerable:!0,get:function(){return a.Seq}}),Object.defineProperty(o,"Semi",{enumerable:!0,get:function(){return a.Semi}}),Object.defineProperty(o,"CommaSep",{enumerable:!0,get:function(){return a.CommaSep}}),Object.defineProperty(o,"SemiOp",{enumerable:!0,get:function(){return a.SemiOp}});var c=withLocation;Object.defineProperty(o,"codeGenWithLocation",{enumerable:!0,get:function(){return $(c).default}});var d=dist$4,_=$(d),b=tokenStream,k=$(e);function $(_e){return _e&&_e.__esModule?_e:{default:_e}}function j(_e){var et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new k.default,tt=new b.TokenStream,nt=(0,_.default)(et,_e);return nt.emit(tt),tt.result}})(dist);var shiftCodegen=getDefaultExportFromCjs(dist);const{replace}=estraverse,codegen=shiftCodegen.default||shiftCodegen,{Pattern:Pattern$3}=strudel,isNote=o=>/^[a-gC-G][bs]?[0-9]$/.test(o);var shapeshifter=o=>{const{code:e,addReturn:s}=wrapAsync(o),a=dist$7.parseScriptWithLocation(e),c=[],d=[],_=replace(a.tree,{enter(k,$){var tt,nt,it;if(d.push($),d.some(rt=>c.includes(rt)))return k;if(isBackTickString(k))return minifyWithLocation(k,k,a.locations,c);if(((tt=k.directives)==null?void 0:tt.length)===1&&!((nt=k.statements)!=null&&nt.length)){const rt=new LiteralStringExpression_1({value:k.directives[0].rawValue}),st=minifyWithLocation(rt,k.directives[0],a.locations,c);return wt(Ot({},k),{directives:[],statements:[st]})}if(isStringWithDoubleQuotes(k,a.locations,e))return minifyWithLocation(k,k,a.locations,c);const _e={"*":"fast","/":"slow","&":"stack","&&":"append"};if(k.type==="BinaryExpression"&&_e[k.operator]&&["LiteralNumericExpression","LiteralStringExpression","IdentifierExpression"].includes((it=k.right)==null?void 0:it.type)&&canBeOverloaded(k.left)){let rt=k.left;return k.left.type==="IdentifierExpression"&&(rt=wrapFunction("reify",k.left)),new CallExpression_1({callee:new StaticMemberExpression_1({property:_e[k.operator],object:wrapFunction("reify",rt)}),arguments:[k.right]})}const et=isPatternArg(d)||hasModifierCall($);if(k.type==="CallExpression"&&k.callee.name==="pure"){const rt=k.arguments[0];return reifyWithLocation(rt,k.arguments[0],a.locations,c)}if(k.type==="IdentifierExpression"){if(isNote(k.name)){const rt=k.name[1]==="s"?k.name.replace("s","#"):k.name;return et?reifyWithLocation(new LiteralStringExpression_1({value:rt}),k,a.locations,c):new LiteralStringExpression_1({value:rt})}if(k.name==="r")return new IdentifierExpression_1({name:"silence"})}return["LiteralStringExpression"].includes(k.type)&&et?reifyWithLocation(k,k,a.locations,c):addMiniNotationLocations(k,a.locations,c)},leave(){d.pop()}});return s(_),codegen(_)};function wrapAsync(o){return o=`(async () => { ${o} })()`,{code:o,addReturn:s=>{const a=s.statements[0].expression.callee.body;a.statements=a.statements.slice(0,-1).concat([new ReturnStatement_1({expression:a.statements.slice(-1)[0]})])}}}function addMiniNotationLocations(o,e,s){const a=["mini","m"];if(o.type==="CallExpression"&&a.includes(o.callee.name)){if(o.arguments.length>1)return console.warn("multi arg mini locations not supported yet..."),o;const c=o.arguments[0];return minifyWithLocation(c,c,e,s)}return o.type==="StaticMemberExpression"&&a.includes(o.property)?minifyWithLocation(o.object,o,e,s):o}function wrapFunction(o,...e){return new CallExpression_1({callee:new IdentifierExpression_1({name:o}),arguments:e})}function isBackTickString(o){return o.type==="TemplateExpression"&&o.elements.length===1}function isStringWithDoubleQuotes(o,e,s){if(o.type!=="LiteralStringExpression")return!1;const a=e.get(o);return s.slice(a.start.offset,a.end.offset)[0]==='"'}function isPatternArg(o){if(!o.length)return!1;const e=o.slice(0,-1),s=o[o.length-1];return isPatternFactory(s)?!0:(s==null?void 0:s.type)==="ArrayExpression"?isPatternArg(e):!1}function hasModifierCall(o){return(o==null?void 0:o.type)==="StaticMemberExpression"&&Object.keys(Pattern$3.prototype.composable).includes(o.property)}const factories=Object.keys(Pattern$3.prototype.factories).concat(["mini"]);function isPatternFactory(o){return(o==null?void 0:o.type)==="CallExpression"&&factories.includes(o.callee.name)}function canBeOverloaded(o){return o.type==="IdentifierExpression"&&isNote(o.name)||isPatternFactory(o)}function reifyWithLocation(o,e,s,a){const c=getLocationArguments(e,s),d=new CallExpression_1({callee:new StaticMemberExpression_1({object:wrapFunction("reify",o),property:"withLocation"}),arguments:c});return a.push(d),d}function minifyWithLocation(o,e,s,a){const c=getLocationArguments(e,s),d=wrapFunction("mini",o),_=new CallExpression_1({callee:new StaticMemberExpression_1({object:d,property:"withMiniLocation"}),arguments:c});return a.push(_),_}function getLocationArguments(o,e){const s=e.get(o),a=-1;return[new ArrayExpression_1({elements:[new LiteralNumericExpression_1({value:s.start.line+a}),new LiteralNumericExpression_1({value:s.start.column}),new LiteralNumericExpression_1({value:s.start.offset})]}),new ArrayExpression_1({elements:[new LiteralNumericExpression_1({value:s.end.line+a}),new LiteralNumericExpression_1({value:s.end.column}),new LiteralNumericExpression_1({value:s.end.offset})]})]}const{isPattern,Pattern:Pattern$2}=strudel;let scoped=!1;const evalScope=async(...o)=>{scoped&&console.warn("@strudel.cycles/eval evalScope was called more than once."),scoped=!0;const e=await Promise.allSettled(o),s=e.filter(a=>a.status==="fulfilled").map(a=>a.value);e.forEach((a,c)=>{a.status==="rejected"&&console.warn(`evalScope: module with index ${c} could not be loaded:`,a.reason)}),Object.assign(globalThis,...s,Pattern$2.prototype.bootstrap())};function safeEval(o){return Function('"use strict";return ('+o+")")()}const evaluate=async o=>{scoped||await evalScope();const e=shapeshifter(o);let s=await safeEval(e);if(!isPattern(s)){console.log("evaluated",s);const a=`got "${typeof s}" instead of pattern`;throw new Error(a+(typeof s=="function"?", did you forget to call a function?":"."))}return{mode:"javascript",pattern:s}};let extend="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(o=>o?parseInt(o,36):1);for(let o=1;oo)return extend[e-1]<=o;return!1}function isRegionalIndicator(o){return o>=127462&&o<=127487}const ZWJ=8205;function findClusterBreak(o,e,s=!0,a=!0){return(s?nextClusterBreak:prevClusterBreak)(o,e,a)}function nextClusterBreak(o,e,s){if(e==o.length)return e;e&&surrogateLow(o.charCodeAt(e))&&surrogateHigh(o.charCodeAt(e-1))&&e--;let a=codePointAt(o,e);for(e+=codePointSize(a);e=0&&isRegionalIndicator(codePointAt(o,_));)d++,_-=2;if(d%2==0)break;e+=2}else break}return e}function prevClusterBreak(o,e,s){for(;e>0;){let a=nextClusterBreak(o,e-2,s);if(a=56320&&o<57344}function surrogateHigh(o){return o>=55296&&o<56320}function codePointAt(o,e){let s=o.charCodeAt(e);if(!surrogateHigh(s)||e+1==o.length)return s;let a=o.charCodeAt(e+1);return surrogateLow(a)?(s-55296<<10)+(a-56320)+65536:s}function fromCodePoint(o){return o<=65535?String.fromCharCode(o):(o-=65536,String.fromCharCode((o>>10)+55296,(o&1023)+56320))}function codePointSize(o){return o<65536?1:2}function countColumn(o,e,s=o.length){let a=0;for(let c=0;c=e)return c;if(c==o.length)break;d+=o.charCodeAt(c)==9?s-d%s:1,c=findClusterBreak(o,c)}return a===!0?-1:o.length}class Text{constructor(){}lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,s,a){let c=[];return this.decompose(0,e,c,2),a.length&&a.decompose(0,a.length,c,3),this.decompose(s,this.length,c,1),TextNode.from(c,this.length-(s-e)+a.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,s=this.length){let a=[];return this.decompose(e,s,a,0),TextNode.from(a,s-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let s=this.scanIdentical(e,1),a=this.length-this.scanIdentical(e,-1),c=new RawTextCursor(this),d=new RawTextCursor(e);for(let _=s,b=s;;){if(c.next(_),d.next(_),_=0,c.lineBreak!=d.lineBreak||c.done!=d.done||c.value!=d.value)return!1;if(b+=c.value.length,c.done||b>=a)return!0}}iter(e=1){return new RawTextCursor(this,e)}iterRange(e,s=this.length){return new PartialTextCursor(this,e,s)}iterLines(e,s){let a;if(e==null)a=this.iter();else{s==null&&(s=this.lines+1);let c=this.line(e).from;a=this.iterRange(c,Math.max(c,s==this.lines+1?this.length:s<=1?0:this.line(s-1).to))}return new LineCursor(a)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?Text.empty:e.length<=32?new TextLeaf(e):TextNode.from(TextLeaf.split(e,[]))}}class TextLeaf extends Text{constructor(e,s=textLength(e)){super(),this.text=e,this.length=s}get lines(){return this.text.length}get children(){return null}lineInner(e,s,a,c){for(let d=0;;d++){let _=this.text[d],b=c+_.length;if((s?a:b)>=e)return new Line(c,b,a,_);c=b+1,a++}}decompose(e,s,a,c){let d=e<=0&&s>=this.length?this:new TextLeaf(sliceText(this.text,e,s),Math.min(s,this.length)-Math.max(0,e));if(c&1){let _=a.pop(),b=appendText(d.text,_.text.slice(),0,d.length);if(b.length<=32)a.push(new TextLeaf(b,_.length+d.length));else{let k=b.length>>1;a.push(new TextLeaf(b.slice(0,k)),new TextLeaf(b.slice(k)))}}else a.push(d)}replace(e,s,a){if(!(a instanceof TextLeaf))return super.replace(e,s,a);let c=appendText(this.text,appendText(a.text,sliceText(this.text,0,e)),s),d=this.length+a.length-(s-e);return c.length<=32?new TextLeaf(c,d):TextNode.from(TextLeaf.split(c,[]),d)}sliceString(e,s=this.length,a=` `){let c="";for(let d=0,_=0;d<=s&&_e&&_&&(c+=a),ed&&(c+=b.slice(Math.max(0,e-d),s-d)),d=k+1}return c}flatten(e){for(let s of this.text)e.push(s)}scanIdentical(){return 0}static split(e,s){let a=[],c=-1;for(let d of e)a.push(d),c+=d.length+1,a.length==32&&(s.push(new TextLeaf(a,c)),a=[],c=-1);return c>-1&&s.push(new TextLeaf(a,c)),s}}class TextNode extends Text{constructor(e,s){super(),this.children=e,this.length=s,this.lines=0;for(let a of e)this.lines+=a.lines}lineInner(e,s,a,c){for(let d=0;;d++){let _=this.children[d],b=c+_.length,k=a+_.lines-1;if((s?k:b)>=e)return _.lineInner(e,s,a,c);c=b+1,a=k+1}}decompose(e,s,a,c){for(let d=0,_=0;_<=s&&d=_){let $=c&((_<=e?1:0)|(k>=s?2:0));_>=e&&k<=s&&!$?a.push(b):b.decompose(e-_,s-_,a,$)}_=k+1}}replace(e,s,a){if(a.lines=d&&s<=b){let k=_.replace(e-d,s-d,a),$=this.lines-_.lines+k.lines;if(k.lines<$>>5-1&&k.lines>$>>5+1){let j=this.children.slice();return j[c]=k,new TextNode(j,this.length-(s-e)+a.length)}return super.replace(d,b,k)}d=b+1}return super.replace(e,s,a)}sliceString(e,s=this.length,a=` -`){let c="";for(let d=0,_=0;de&&d&&(c+=a),e_&&(c+=b.sliceString(e-_,s-_,a)),_=k+1}return c}flatten(e){for(let s of this.children)s.flatten(e)}scanIdentical(e,s){if(!(e instanceof TextNode))return 0;let a=0,[c,d,_,b]=s>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;c+=s,d+=s){if(c==_||d==b)return a;let k=this.children[c],$=e.children[d];if(k!=$)return a+k.scanIdentical($,s);a+=k.length+1}}static from(e,s=e.reduce((a,c)=>a+c.length+1,-1)){let a=0;for(let tt of e)a+=tt.lines;if(a<32){let tt=[];for(let nt of e)nt.flatten(tt);return new TextLeaf(tt,s)}let c=Math.max(32,a>>5),d=c<<1,_=c>>1,b=[],k=0,$=-1,j=[];function _e(tt){let nt;if(tt.lines>d&&tt instanceof TextNode)for(let st of tt.children)_e(st);else tt.lines>_&&(k>_||!k)?(et(),b.push(tt)):tt instanceof TextLeaf&&k&&(nt=j[j.length-1])instanceof TextLeaf&&tt.lines+nt.lines<=32?(k+=tt.lines,$+=tt.length+1,j[j.length-1]=new TextLeaf(nt.text.concat(tt.text),nt.length+1+tt.length)):(k+tt.lines>c&&et(),k+=tt.lines,$+=tt.length+1,j.push(tt))}function et(){k!=0&&(b.push(j.length==1?j[0]:TextNode.from(j,$)),$=-1,k=j.length=0)}for(let tt of e)_e(tt);return et(),b.length==1?b[0]:new TextNode(b,s)}}Text.empty=new TextLeaf([""],0);function textLength(o){let e=-1;for(let s of o)e+=s.length+1;return e}function appendText(o,e,s=0,a=1e9){for(let c=0,d=0,_=!0;d=s&&(k>a&&(b=b.slice(0,a-c)),c0?1:(e instanceof TextLeaf?e.text.length:e.children.length)<<1]}nextInner(e,s){for(this.done=this.lineBreak=!1;;){let a=this.nodes.length-1,c=this.nodes[a],d=this.offsets[a],_=d>>1,b=c instanceof TextLeaf?c.text.length:c.children.length;if(_==(s>0?b:0)){if(a==0)return this.done=!0,this.value="",this;s>0&&this.offsets[a-1]++,this.nodes.pop(),this.offsets.pop()}else if((d&1)==(s>0?0:1)){if(this.offsets[a]+=s,e==0)return this.lineBreak=!0,this.value=` -`,this;e--}else if(c instanceof TextLeaf){let k=c.text[_+(s<0?-1:0)];if(this.offsets[a]+=s,k.length>Math.max(0,e))return this.value=e==0?k:s>0?k.slice(e):k.slice(0,k.length-e),this;e-=k.length}else{let k=c.children[_+(s<0?-1:0)];e>k.length?(e-=k.length,this.offsets[a]+=s):(s<0&&this.offsets[a]--,this.nodes.push(k),this.offsets.push(s>0?1:(k instanceof TextLeaf?k.text.length:k.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class PartialTextCursor{constructor(e,s,a){this.value="",this.done=!1,this.cursor=new RawTextCursor(e,s>a?-1:1),this.pos=s>a?e.length:0,this.from=Math.min(s,a),this.to=Math.max(s,a)}nextInner(e,s){if(s<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,s<0?this.pos-this.to:this.from-this.pos);let a=s<0?this.pos-this.from:this.to-this.pos;e>a&&(e=a),a-=e;let{value:c}=this.cursor.next(e);return this.pos+=(c.length+e)*s,this.value=c.length<=a?c:s<0?c.slice(c.length-a):c.slice(0,a),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class LineCursor{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:s,lineBreak:a,value:c}=this.inner.next(e);return s?(this.done=!0,this.value=""):a?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=c,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol!="undefined"&&(Text.prototype[Symbol.iterator]=function(){return this.iter()},RawTextCursor.prototype[Symbol.iterator]=PartialTextCursor.prototype[Symbol.iterator]=LineCursor.prototype[Symbol.iterator]=function(){return this});class Line{constructor(e,s,a,c){this.from=e,this.to=s,this.number=a,this.text=c}get length(){return this.to-this.from}}const DefaultSplit=/\r\n?|\n/;var MapMode=function(o){return o[o.Simple=0]="Simple",o[o.TrackDel=1]="TrackDel",o[o.TrackBefore=2]="TrackBefore",o[o.TrackAfter=3]="TrackAfter",o}(MapMode||(MapMode={}));class ChangeDesc{constructor(e){this.sections=e}get length(){let e=0;for(let s=0;se)return d+(e-c);d+=b}else{if(a!=MapMode.Simple&&$>=e&&(a==MapMode.TrackDel&&ce||a==MapMode.TrackBefore&&ce))return null;if($>e||$==e&&s<0&&!b)return e==c||s<0?d:d+k;d+=k}c=$}if(e>c)throw new RangeError(`Position ${e} is out of range for changeset of length ${c}`);return d}touchesRange(e,s=e){for(let a=0,c=0;a=0&&c<=s&&b>=e)return cs?"cover":!0;c=b}return!1}toString(){let e="";for(let s=0;s=0?":"+c:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(s=>typeof s!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new ChangeDesc(e)}}class ChangeSet extends ChangeDesc{constructor(e,s){super(e),this.inserted=s}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return iterChanges(this,(s,a,c,d,_)=>e=e.replace(c,c+(a-s),_),!1),e}mapDesc(e,s=!1){return mapSet(this,e,s,!0)}invert(e){let s=this.sections.slice(),a=[];for(let c=0,d=0;c=0){s[c]=b,s[c+1]=_;let k=c>>1;for(;a.length0&&addInsert(a,s,d.text),d.forward(j),b+=j}let $=e[_++];for(;b<$;){if(d.done)break e;let j=Math.min(d.len,$-b);addSection(s,j,-1),addSection(c,j,d.ins==-1?-1:d.off==0?d.ins:0),d.forward(j),b+=j}}return{changes:new ChangeSet(s,a),filtered:new ChangeDesc(c)}}toJSON(){let e=[];for(let s=0;s>1].toJSON()))}return e}static of(e,s,a){let c=[],d=[],_=0,b=null;function k(j=!1){if(!j&&!c.length)return;_et||_e<0||et>s)throw new RangeError(`Invalid change range ${_e} to ${et} (in doc of length ${s})`);let nt=tt?typeof tt=="string"?Text.of(tt.split(a||DefaultSplit)):tt:Text.empty,st=nt.length;if(_e==et&&st==0)return;_e<_&&k(),_e>_&&addSection(c,_e-_,-1),addSection(c,et-_e,st),addInsert(d,c,nt),_=et}}return $(e),k(!b),b}static empty(e){return new ChangeSet(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let s=[],a=[];for(let c=0;cb&&typeof _!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(d.length==1)s.push(d[0],0);else{for(;a.length=0&&s<=0&&s==o[c+1]?o[c]+=e:e==0&&o[c]==0?o[c+1]+=s:a?(o[c]+=e,o[c+1]+=s):o.push(e,s)}function addInsert(o,e,s){if(s.length==0)return;let a=e.length-2>>1;if(a>1])),!(s||_==o.sections.length||o.sections[_+1]<0);)b=o.sections[_++],k=o.sections[_++];e(c,$,d,j,_e),c=$,d=j}}}function mapSet(o,e,s,a=!1){let c=[],d=a?[]:null,_=new SectionIter(o),b=new SectionIter(e);for(let k=0,$=0;;)if(_.ins==-1)k+=_.len,_.next();else if(b.ins==-1&&$=0&&(_.done||$$&&!_.done&&k+_.len<$+b.len;)k+=_.len,_.next();$+=b.len,b.next()}else if(_.ins>=0){let j=0,_e=k+_.len;for(;;)if(b.ins>=0&&$>k&&$+b.len<_e)j+=b.ins,$+=b.len,b.next();else if(b.ins==-1&&$<_e){let et=Math.min(b.len,_e-$);j+=et,b.forward(et),$+=et}else break;addSection(c,j,_.ins),d&&addInsert(d,c,_.text),k=_e,_.next()}else{if(_.done&&b.done)return d?new ChangeSet(c,d):new ChangeDesc(c);throw new Error("Mismatched change set lengths")}}function composeSets(o,e,s=!1){let a=[],c=s?[]:null,d=new SectionIter(o),_=new SectionIter(e);for(let b=!1;;){if(d.done&&_.done)return c?new ChangeSet(a,c):new ChangeDesc(a);if(d.ins==0)addSection(a,d.len,0,b),d.next();else if(_.len==0&&!_.done)addSection(a,0,_.ins,b),c&&addInsert(c,a,_.text),_.next();else{if(d.done||_.done)throw new Error("Mismatched change set lengths");{let k=Math.min(d.len2,_.len),$=a.length;if(d.ins==-1){let j=_.ins==-1?-1:_.off?0:_.ins;addSection(a,k,j,b),c&&j&&addInsert(c,a,_.text)}else _.ins==-1?(addSection(a,d.off?0:d.len,k,b),c&&addInsert(c,a,d.textBit(k))):(addSection(a,d.off?0:d.len,_.off?0:_.ins,b),c&&!_.off&&addInsert(c,a,_.text));b=(d.ins>k||_.ins>=0&&_.len>k)&&(b||a.length>$),d.forward2(k),_.forward(k)}}}}class SectionIter{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return s>=e.length?Text.empty:e[s]}textBit(e){let{inserted:s}=this.set,a=this.i-2>>1;return a>=s.length&&!e?Text.empty:s[a].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class SelectionRange{constructor(e,s,a){this.from=e,this.to=s,this.flags=a}get anchor(){return this.flags&16?this.to:this.from}get head(){return this.flags&16?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&4?-1:this.flags&8?1:0}get bidiLevel(){let e=this.flags&3;return e==3?null:e}get goalColumn(){let e=this.flags>>5;return e==33554431?void 0:e}map(e,s=-1){let a,c;return this.empty?a=c=e.mapPos(this.from,s):(a=e.mapPos(this.from,1),c=e.mapPos(this.to,-1)),a==this.from&&c==this.to?this:new SelectionRange(a,c,this.flags)}extend(e,s=e){if(e<=this.anchor&&s>=this.anchor)return EditorSelection.range(e,s);let a=Math.abs(e-this.anchor)>Math.abs(s-this.anchor)?e:s;return EditorSelection.range(this.anchor,a)}eq(e){return this.anchor==e.anchor&&this.head==e.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return EditorSelection.range(e.anchor,e.head)}}class EditorSelection{constructor(e,s=0){this.ranges=e,this.mainIndex=s}map(e,s=-1){return e.empty?this:EditorSelection.create(this.ranges.map(a=>a.map(e,s)),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let s=0;se.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new EditorSelection(e.ranges.map(s=>SelectionRange.fromJSON(s)),e.main)}static single(e,s=e){return new EditorSelection([EditorSelection.range(e,s)],0)}static create(e,s=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let a=0,c=0;ce?4:0))}}function normalized(o,e=0){let s=o[e];o.sort((a,c)=>a.from-c.from),e=o.indexOf(s);for(let a=1;ac.head?EditorSelection.range(b,_):EditorSelection.range(_,b))}}return new EditorSelection(o,e)}function checkSelection(o,e){for(let s of o.ranges)if(s.to>e)throw new RangeError("Selection points outside of document")}let nextID=0;class Facet{constructor(e,s,a,c,d){this.combine=e,this.compareInput=s,this.compare=a,this.isStatic=c,this.extensions=d,this.id=nextID++,this.default=e([])}static define(e={}){return new Facet(e.combine||(s=>s),e.compareInput||((s,a)=>s===a),e.compare||(e.combine?(s,a)=>s===a:sameArray$1),!!e.static,e.enables)}of(e){return new FacetProvider([],this,0,e)}compute(e,s){if(this.isStatic)throw new Error("Can't compute a static facet");return new FacetProvider(e,this,1,s)}computeN(e,s){if(this.isStatic)throw new Error("Can't compute a static facet");return new FacetProvider(e,this,2,s)}from(e,s){return s||(s=a=>a),this.compute([e],a=>s(a.field(e)))}}function sameArray$1(o,e){return o==e||o.length==e.length&&o.every((s,a)=>s===e[a])}class FacetProvider{constructor(e,s,a,c){this.dependencies=e,this.facet=s,this.type=a,this.value=c,this.id=nextID++}dynamicSlot(e){var s;let a=this.value,c=this.facet.compareInput,d=this.id,_=e[d]>>1,b=this.type==2,k=!1,$=!1,j=[];for(let _e of this.dependencies)_e=="doc"?k=!0:_e=="selection"?$=!0:(((s=e[_e.id])!==null&&s!==void 0?s:1)&1)==0&&j.push(e[_e.id]);return{create(_e){return _e.values[_]=a(_e),1},update(_e,et){if(k&&et.docChanged||$&&(et.docChanged||et.selection)||j.some(tt=>(ensureAddr(_e,tt)&1)>0)){let tt=a(_e);if(b?!compareArray(tt,_e.values[_],c):!c(tt,_e.values[_]))return _e.values[_]=tt,1}return 0},reconfigure(_e,et){let tt=a(_e),nt=et.config.address[d];if(nt!=null){let st=getAddr(et,nt);if(b?compareArray(tt,st,c):c(tt,st))return _e.values[_]=st,0}return _e.values[_]=tt,1}}}}function compareArray(o,e,s){if(o.length!=e.length)return!1;for(let a=0;ao[k.id]),c=s.map(k=>k.type),d=a.filter(k=>!(k&1)),_=o[e.id]>>1;function b(k){let $=[];for(let j=0;jensureAddr(k,_e)&1))return 0;let j=b(k);return e.compare(j,k.values[_])?0:(k.values[_]=j,1)},reconfigure(k,$){let j=a.some(nt=>ensureAddr(k,nt)&1),_e=$.config.facets[e.id],et=$.facet(e);if(_e&&!j&&sameArray$1(s,_e))return k.values[_]=et,0;let tt=b(k);return e.compare(tt,et)?(k.values[_]=et,0):(k.values[_]=tt,1)}}}const initField=Facet.define({static:!0});class StateField{constructor(e,s,a,c,d){this.id=e,this.createF=s,this.updateF=a,this.compareF=c,this.spec=d,this.provides=void 0}static define(e){let s=new StateField(nextID++,e.create,e.update,e.compare||((a,c)=>a===c),e);return e.provide&&(s.provides=e.provide(s)),s}create(e){let s=e.facet(initField).find(a=>a.field==this);return((s==null?void 0:s.create)||this.createF)(e)}slot(e){let s=e[this.id]>>1;return{create:a=>(a.values[s]=this.create(a),1),update:(a,c)=>{let d=a.values[s],_=this.updateF(d,c);return this.compareF(d,_)?0:(a.values[s]=_,1)},reconfigure:(a,c)=>c.config.address[this.id]!=null?(a.values[s]=c.field(this),0):(a.values[s]=this.create(a),1)}}init(e){return[this,initField.of({field:this,create:e})]}get extension(){return this}}const Prec_={lowest:4,low:3,default:2,high:1,highest:0};function prec(o){return e=>new PrecExtension(e,o)}const Prec={lowest:prec(Prec_.lowest),low:prec(Prec_.low),default:prec(Prec_.default),high:prec(Prec_.high),highest:prec(Prec_.highest),fallback:prec(Prec_.lowest),extend:prec(Prec_.high),override:prec(Prec_.highest)};class PrecExtension{constructor(e,s){this.inner=e,this.prec=s}}class Compartment{of(e){return new CompartmentInstance(this,e)}reconfigure(e){return Compartment.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class CompartmentInstance{constructor(e,s){this.compartment=e,this.inner=s}}class Configuration{constructor(e,s,a,c,d,_){for(this.base=e,this.compartments=s,this.dynamicSlots=a,this.address=c,this.staticValues=d,this.facets=_,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,s,a){let c=[],d=Object.create(null),_=new Map;for(let et of flatten(e,s,_))et instanceof StateField?c.push(et):(d[et.facet.id]||(d[et.facet.id]=[])).push(et);let b=Object.create(null),k=[],$=[];for(let et of c)b[et.id]=$.length<<1,$.push(tt=>et.slot(tt));let j=a==null?void 0:a.config.facets;for(let et in d){let tt=d[et],nt=tt[0].facet,st=j&&j[et]||[];if(tt.every(rt=>rt.type==0))if(b[nt.id]=k.length<<1|1,sameArray$1(st,tt))k.push(a.facet(nt));else{let rt=nt.combine(tt.map(it=>it.value));k.push(a&&nt.compare(rt,a.facet(nt))?a.facet(nt):rt)}else{for(let rt of tt)rt.type==0?(b[rt.id]=k.length<<1|1,k.push(rt.value)):(b[rt.id]=$.length<<1,$.push(it=>rt.dynamicSlot(it)));b[nt.id]=$.length<<1,$.push(rt=>dynamicFacetSlot(rt,nt,tt))}}let _e=$.map(et=>et(b));return new Configuration(e,_,_e,b,k,d)}}function flatten(o,e,s){let a=[[],[],[],[],[]],c=new Map;function d(_,b){let k=c.get(_);if(k!=null){if(k>=b)return;let $=a[k].indexOf(_);$>-1&&a[k].splice($,1),_ instanceof CompartmentInstance&&s.delete(_.compartment)}if(c.set(_,b),Array.isArray(_))for(let $ of _)d($,b);else if(_ instanceof CompartmentInstance){if(s.has(_.compartment))throw new RangeError("Duplicate use of compartment in extensions");let $=e.get(_.compartment)||_.inner;s.set(_.compartment,$),d($,b)}else if(_ instanceof PrecExtension)d(_.inner,_.prec);else if(_ instanceof StateField)a[b].push(_),_.provides&&d(_.provides,b);else if(_ instanceof FacetProvider)a[b].push(_),_.facet.extensions&&d(_.facet.extensions,b);else{let $=_.extension;if(!$)throw new Error(`Unrecognized extension value in extension set (${_}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);d($,b)}}return d(o,Prec_.default),a.reduce((_,b)=>_.concat(b))}function ensureAddr(o,e){if(e&1)return 2;let s=e>>1,a=o.status[s];if(a==4)throw new Error("Cyclic dependency between fields and/or facets");if(a&2)return a;o.status[s]=4;let c=o.computeSlot(o,o.config.dynamicSlots[s]);return o.status[s]=2|c}function getAddr(o,e){return e&1?o.config.staticValues[e>>1]:o.values[e>>1]}const languageData=Facet.define(),allowMultipleSelections=Facet.define({combine:o=>o.some(e=>e),static:!0}),lineSeparator=Facet.define({combine:o=>o.length?o[0]:void 0,static:!0}),changeFilter=Facet.define(),transactionFilter=Facet.define(),transactionExtender=Facet.define(),readOnly=Facet.define({combine:o=>o.length?o[0]:!1});class Annotation{constructor(e,s){this.type=e,this.value=s}static define(){return new AnnotationType}}class AnnotationType{of(e){return new Annotation(this,e)}}class StateEffectType{constructor(e){this.map=e}of(e){return new StateEffect(this,e)}}class StateEffect{constructor(e,s){this.type=e,this.value=s}map(e){let s=this.type.map(this.value,e);return s===void 0?void 0:s==this.value?this:new StateEffect(this.type,s)}is(e){return this.type==e}static define(e={}){return new StateEffectType(e.map||(s=>s))}static mapEffects(e,s){if(!e.length)return e;let a=[];for(let c of e){let d=c.map(s);d&&a.push(d)}return a}}StateEffect.reconfigure=StateEffect.define();StateEffect.appendConfig=StateEffect.define();class Transaction{constructor(e,s,a,c,d,_){this.startState=e,this.changes=s,this.selection=a,this.effects=c,this.annotations=d,this.scrollIntoView=_,this._doc=null,this._state=null,a&&checkSelection(a,s.newLength),d.some(b=>b.type==Transaction.time)||(this.annotations=d.concat(Transaction.time.of(Date.now())))}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let s of this.annotations)if(s.type==e)return s.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let s=this.annotation(Transaction.userEvent);return!!(s&&(s==e||s.length>e.length&&s.slice(0,e.length)==e&&s[e.length]=="."))}}Transaction.time=Annotation.define();Transaction.userEvent=Annotation.define();Transaction.addToHistory=Annotation.define();Transaction.remote=Annotation.define();function joinRanges(o,e){let s=[];for(let a=0,c=0;;){let d,_;if(a=o[a]))d=o[a++],_=o[a++];else if(c=0;c--){let d=a[c](o);d instanceof Transaction?o=d:Array.isArray(d)&&d.length==1&&d[0]instanceof Transaction?o=d[0]:o=resolveTransaction(e,asArray$1(d),!1)}return o}function extendTransaction(o){let e=o.startState,s=e.facet(transactionExtender),a=o;for(let c=s.length-1;c>=0;c--){let d=s[c](o);d&&Object.keys(d).length&&(a=mergeTransaction(o,resolveTransactionInner(e,d,o.changes.newLength),!0))}return a==o?o:new Transaction(e,o.changes,o.selection,a.effects,a.annotations,a.scrollIntoView)}const none$3=[];function asArray$1(o){return o==null?none$3:Array.isArray(o)?o:[o]}var CharCategory=function(o){return o[o.Word=0]="Word",o[o.Space=1]="Space",o[o.Other=2]="Other",o}(CharCategory||(CharCategory={}));const nonASCIISingleCaseWordChar=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let wordChar;try{wordChar=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(o){}function hasWordChar(o){if(wordChar)return wordChar.test(o);for(let e=0;e"\x80"&&(s.toUpperCase()!=s.toLowerCase()||nonASCIISingleCaseWordChar.test(s)))return!0}return!1}function makeCategorizer(o){return e=>{if(!/\S/.test(e))return CharCategory.Space;if(hasWordChar(e))return CharCategory.Word;for(let s=0;s-1)return CharCategory.Word;return CharCategory.Other}}class EditorState{constructor(e,s,a,c,d,_){this.config=e,this.doc=s,this.selection=a,this.values=c,this.status=e.statusTemplate.slice(),this.computeSlot=d,_&&(_._state=this);for(let b=0;bc.set(k,b)),s=null),c.set(_.value.compartment,_.value.extension)):_.is(StateEffect.reconfigure)?(s=null,a=_.value):_.is(StateEffect.appendConfig)&&(s=null,a=asArray$1(a).concat(_.value));let d;s?d=e.startState.values.slice():(s=Configuration.resolve(a,c,this),d=new EditorState(s,this.doc,this.selection,s.dynamicSlots.map(()=>null),(b,k)=>k.reconfigure(b,this),null).values),new EditorState(s,e.newDoc,e.newSelection,d,(_,b)=>b.update(_,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(s=>({changes:{from:s.from,to:s.to,insert:e},range:EditorSelection.cursor(s.from+e.length)}))}changeByRange(e){let s=this.selection,a=e(s.ranges[0]),c=this.changes(a.changes),d=[a.range],_=asArray$1(a.effects);for(let b=1;b_.spec.fromJSON(b,k)))}return EditorState.create({doc:e.doc,selection:EditorSelection.fromJSON(e.selection),extensions:s.extensions?c.concat([s.extensions]):c})}static create(e={}){let s=Configuration.resolve(e.extensions||[],new Map),a=e.doc instanceof Text?e.doc:Text.of((e.doc||"").split(s.staticFacet(EditorState.lineSeparator)||DefaultSplit)),c=e.selection?e.selection instanceof EditorSelection?e.selection:EditorSelection.single(e.selection.anchor,e.selection.head):EditorSelection.single(0);return checkSelection(c,a.length),s.staticFacet(allowMultipleSelections)||(c=c.asSingle()),new EditorState(s,a,c,s.dynamicSlots.map(()=>null),(d,_)=>_.create(d),null)}get tabSize(){return this.facet(EditorState.tabSize)}get lineBreak(){return this.facet(EditorState.lineSeparator)||` -`}get readOnly(){return this.facet(readOnly)}phrase(e){for(let s of this.facet(EditorState.phrases))if(Object.prototype.hasOwnProperty.call(s,e))return s[e];return e}languageDataAt(e,s,a=-1){let c=[];for(let d of this.facet(languageData))for(let _ of d(this,s,a))Object.prototype.hasOwnProperty.call(_,e)&&c.push(_[e]);return c}charCategorizer(e){return makeCategorizer(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:s,from:a,length:c}=this.doc.lineAt(e),d=this.charCategorizer(e),_=e-a,b=e-a;for(;_>0;){let k=findClusterBreak(s,_,!1);if(d(s.slice(k,_))!=CharCategory.Word)break;_=k}for(;bo.length?o[0]:4});EditorState.lineSeparator=lineSeparator;EditorState.readOnly=readOnly;EditorState.phrases=Facet.define();EditorState.languageData=languageData;EditorState.changeFilter=changeFilter;EditorState.transactionFilter=transactionFilter;EditorState.transactionExtender=transactionExtender;Compartment.reconfigure=StateEffect.define();function combineConfig(o,e,s={}){let a={};for(let c of o)for(let d of Object.keys(c)){let _=c[d],b=a[d];if(b===void 0)a[d]=_;else if(!(b===_||_===void 0))if(Object.hasOwnProperty.call(s,d))a[d]=s[d](b,_);else throw new Error("Config merge conflict for field "+d)}for(let c in e)a[c]===void 0&&(a[c]=e[c]);return a}const C="\u037C",COUNT=typeof Symbol=="undefined"?"__"+C:Symbol.for(C),SET=typeof Symbol=="undefined"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),top=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:{};class StyleModule{constructor(e,s){this.rules=[];let{finish:a}=s||{};function c(_){return/^@/.test(_)?[_]:_.split(/,\s*/)}function d(_,b,k,$){let j=[],_e=/^@(\w+)\b/.exec(_[0]),et=_e&&_e[1]=="keyframes";if(_e&&b==null)return k.push(_[0]+";");for(let tt in b){let nt=b[tt];if(/&/.test(tt))d(tt.split(/,\s*/).map(st=>_.map(rt=>st.replace(/&/,rt))).reduce((st,rt)=>st.concat(rt)),nt,k);else if(nt&&typeof nt=="object"){if(!_e)throw new RangeError("The value of a property ("+tt+") should be a primitive value.");d(c(tt),nt,j,et)}else nt!=null&&j.push(tt.replace(/_.*/,"").replace(/[A-Z]/g,st=>"-"+st.toLowerCase())+": "+nt+";")}(j.length||et)&&k.push((a&&!_e&&!$?_.map(a):_).join(", ")+" {"+j.join(" ")+"}")}for(let _ in e)d(c(_),e[_],this.rules)}getRules(){return this.rules.join(` +`){let c="";for(let d=0,_=0;de&&d&&(c+=a),e_&&(c+=b.sliceString(e-_,s-_,a)),_=k+1}return c}flatten(e){for(let s of this.children)s.flatten(e)}scanIdentical(e,s){if(!(e instanceof TextNode))return 0;let a=0,[c,d,_,b]=s>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;c+=s,d+=s){if(c==_||d==b)return a;let k=this.children[c],$=e.children[d];if(k!=$)return a+k.scanIdentical($,s);a+=k.length+1}}static from(e,s=e.reduce((a,c)=>a+c.length+1,-1)){let a=0;for(let tt of e)a+=tt.lines;if(a<32){let tt=[];for(let nt of e)nt.flatten(tt);return new TextLeaf(tt,s)}let c=Math.max(32,a>>5),d=c<<1,_=c>>1,b=[],k=0,$=-1,j=[];function _e(tt){let nt;if(tt.lines>d&&tt instanceof TextNode)for(let it of tt.children)_e(it);else tt.lines>_&&(k>_||!k)?(et(),b.push(tt)):tt instanceof TextLeaf&&k&&(nt=j[j.length-1])instanceof TextLeaf&&tt.lines+nt.lines<=32?(k+=tt.lines,$+=tt.length+1,j[j.length-1]=new TextLeaf(nt.text.concat(tt.text),nt.length+1+tt.length)):(k+tt.lines>c&&et(),k+=tt.lines,$+=tt.length+1,j.push(tt))}function et(){k!=0&&(b.push(j.length==1?j[0]:TextNode.from(j,$)),$=-1,k=j.length=0)}for(let tt of e)_e(tt);return et(),b.length==1?b[0]:new TextNode(b,s)}}Text.empty=new TextLeaf([""],0);function textLength(o){let e=-1;for(let s of o)e+=s.length+1;return e}function appendText(o,e,s=0,a=1e9){for(let c=0,d=0,_=!0;d=s&&(k>a&&(b=b.slice(0,a-c)),c0?1:(e instanceof TextLeaf?e.text.length:e.children.length)<<1]}nextInner(e,s){for(this.done=this.lineBreak=!1;;){let a=this.nodes.length-1,c=this.nodes[a],d=this.offsets[a],_=d>>1,b=c instanceof TextLeaf?c.text.length:c.children.length;if(_==(s>0?b:0)){if(a==0)return this.done=!0,this.value="",this;s>0&&this.offsets[a-1]++,this.nodes.pop(),this.offsets.pop()}else if((d&1)==(s>0?0:1)){if(this.offsets[a]+=s,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(c instanceof TextLeaf){let k=c.text[_+(s<0?-1:0)];if(this.offsets[a]+=s,k.length>Math.max(0,e))return this.value=e==0?k:s>0?k.slice(e):k.slice(0,k.length-e),this;e-=k.length}else{let k=c.children[_+(s<0?-1:0)];e>k.length?(e-=k.length,this.offsets[a]+=s):(s<0&&this.offsets[a]--,this.nodes.push(k),this.offsets.push(s>0?1:(k instanceof TextLeaf?k.text.length:k.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class PartialTextCursor{constructor(e,s,a){this.value="",this.done=!1,this.cursor=new RawTextCursor(e,s>a?-1:1),this.pos=s>a?e.length:0,this.from=Math.min(s,a),this.to=Math.max(s,a)}nextInner(e,s){if(s<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,s<0?this.pos-this.to:this.from-this.pos);let a=s<0?this.pos-this.from:this.to-this.pos;e>a&&(e=a),a-=e;let{value:c}=this.cursor.next(e);return this.pos+=(c.length+e)*s,this.value=c.length<=a?c:s<0?c.slice(c.length-a):c.slice(0,a),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class LineCursor{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:s,lineBreak:a,value:c}=this.inner.next(e);return s?(this.done=!0,this.value=""):a?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=c,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol!="undefined"&&(Text.prototype[Symbol.iterator]=function(){return this.iter()},RawTextCursor.prototype[Symbol.iterator]=PartialTextCursor.prototype[Symbol.iterator]=LineCursor.prototype[Symbol.iterator]=function(){return this});class Line{constructor(e,s,a,c){this.from=e,this.to=s,this.number=a,this.text=c}get length(){return this.to-this.from}}const DefaultSplit=/\r\n?|\n/;var MapMode=function(o){return o[o.Simple=0]="Simple",o[o.TrackDel=1]="TrackDel",o[o.TrackBefore=2]="TrackBefore",o[o.TrackAfter=3]="TrackAfter",o}(MapMode||(MapMode={}));class ChangeDesc{constructor(e){this.sections=e}get length(){let e=0;for(let s=0;se)return d+(e-c);d+=b}else{if(a!=MapMode.Simple&&$>=e&&(a==MapMode.TrackDel&&ce||a==MapMode.TrackBefore&&ce))return null;if($>e||$==e&&s<0&&!b)return e==c||s<0?d:d+k;d+=k}c=$}if(e>c)throw new RangeError(`Position ${e} is out of range for changeset of length ${c}`);return d}touchesRange(e,s=e){for(let a=0,c=0;a=0&&c<=s&&b>=e)return cs?"cover":!0;c=b}return!1}toString(){let e="";for(let s=0;s=0?":"+c:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(s=>typeof s!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new ChangeDesc(e)}}class ChangeSet extends ChangeDesc{constructor(e,s){super(e),this.inserted=s}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return iterChanges(this,(s,a,c,d,_)=>e=e.replace(c,c+(a-s),_),!1),e}mapDesc(e,s=!1){return mapSet(this,e,s,!0)}invert(e){let s=this.sections.slice(),a=[];for(let c=0,d=0;c=0){s[c]=b,s[c+1]=_;let k=c>>1;for(;a.length0&&addInsert(a,s,d.text),d.forward(j),b+=j}let $=e[_++];for(;b<$;){if(d.done)break e;let j=Math.min(d.len,$-b);addSection(s,j,-1),addSection(c,j,d.ins==-1?-1:d.off==0?d.ins:0),d.forward(j),b+=j}}return{changes:new ChangeSet(s,a),filtered:new ChangeDesc(c)}}toJSON(){let e=[];for(let s=0;s>1].toJSON()))}return e}static of(e,s,a){let c=[],d=[],_=0,b=null;function k(j=!1){if(!j&&!c.length)return;_et||_e<0||et>s)throw new RangeError(`Invalid change range ${_e} to ${et} (in doc of length ${s})`);let nt=tt?typeof tt=="string"?Text.of(tt.split(a||DefaultSplit)):tt:Text.empty,it=nt.length;if(_e==et&&it==0)return;_e<_&&k(),_e>_&&addSection(c,_e-_,-1),addSection(c,et-_e,it),addInsert(d,c,nt),_=et}}return $(e),k(!b),b}static empty(e){return new ChangeSet(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let s=[],a=[];for(let c=0;cb&&typeof _!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(d.length==1)s.push(d[0],0);else{for(;a.length=0&&s<=0&&s==o[c+1]?o[c]+=e:e==0&&o[c]==0?o[c+1]+=s:a?(o[c]+=e,o[c+1]+=s):o.push(e,s)}function addInsert(o,e,s){if(s.length==0)return;let a=e.length-2>>1;if(a>1])),!(s||_==o.sections.length||o.sections[_+1]<0);)b=o.sections[_++],k=o.sections[_++];e(c,$,d,j,_e),c=$,d=j}}}function mapSet(o,e,s,a=!1){let c=[],d=a?[]:null,_=new SectionIter(o),b=new SectionIter(e);for(let k=0,$=0;;)if(_.ins==-1)k+=_.len,_.next();else if(b.ins==-1&&$=0&&(_.done||$$&&!_.done&&k+_.len<$+b.len;)k+=_.len,_.next();$+=b.len,b.next()}else if(_.ins>=0){let j=0,_e=k+_.len;for(;;)if(b.ins>=0&&$>k&&$+b.len<_e)j+=b.ins,$+=b.len,b.next();else if(b.ins==-1&&$<_e){let et=Math.min(b.len,_e-$);j+=et,b.forward(et),$+=et}else break;addSection(c,j,_.ins),d&&addInsert(d,c,_.text),k=_e,_.next()}else{if(_.done&&b.done)return d?new ChangeSet(c,d):new ChangeDesc(c);throw new Error("Mismatched change set lengths")}}function composeSets(o,e,s=!1){let a=[],c=s?[]:null,d=new SectionIter(o),_=new SectionIter(e);for(let b=!1;;){if(d.done&&_.done)return c?new ChangeSet(a,c):new ChangeDesc(a);if(d.ins==0)addSection(a,d.len,0,b),d.next();else if(_.len==0&&!_.done)addSection(a,0,_.ins,b),c&&addInsert(c,a,_.text),_.next();else{if(d.done||_.done)throw new Error("Mismatched change set lengths");{let k=Math.min(d.len2,_.len),$=a.length;if(d.ins==-1){let j=_.ins==-1?-1:_.off?0:_.ins;addSection(a,k,j,b),c&&j&&addInsert(c,a,_.text)}else _.ins==-1?(addSection(a,d.off?0:d.len,k,b),c&&addInsert(c,a,d.textBit(k))):(addSection(a,d.off?0:d.len,_.off?0:_.ins,b),c&&!_.off&&addInsert(c,a,_.text));b=(d.ins>k||_.ins>=0&&_.len>k)&&(b||a.length>$),d.forward2(k),_.forward(k)}}}}class SectionIter{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return s>=e.length?Text.empty:e[s]}textBit(e){let{inserted:s}=this.set,a=this.i-2>>1;return a>=s.length&&!e?Text.empty:s[a].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class SelectionRange{constructor(e,s,a){this.from=e,this.to=s,this.flags=a}get anchor(){return this.flags&16?this.to:this.from}get head(){return this.flags&16?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&4?-1:this.flags&8?1:0}get bidiLevel(){let e=this.flags&3;return e==3?null:e}get goalColumn(){let e=this.flags>>5;return e==33554431?void 0:e}map(e,s=-1){let a,c;return this.empty?a=c=e.mapPos(this.from,s):(a=e.mapPos(this.from,1),c=e.mapPos(this.to,-1)),a==this.from&&c==this.to?this:new SelectionRange(a,c,this.flags)}extend(e,s=e){if(e<=this.anchor&&s>=this.anchor)return EditorSelection.range(e,s);let a=Math.abs(e-this.anchor)>Math.abs(s-this.anchor)?e:s;return EditorSelection.range(this.anchor,a)}eq(e){return this.anchor==e.anchor&&this.head==e.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return EditorSelection.range(e.anchor,e.head)}}class EditorSelection{constructor(e,s=0){this.ranges=e,this.mainIndex=s}map(e,s=-1){return e.empty?this:EditorSelection.create(this.ranges.map(a=>a.map(e,s)),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let s=0;se.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new EditorSelection(e.ranges.map(s=>SelectionRange.fromJSON(s)),e.main)}static single(e,s=e){return new EditorSelection([EditorSelection.range(e,s)],0)}static create(e,s=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let a=0,c=0;ce?4:0))}}function normalized(o,e=0){let s=o[e];o.sort((a,c)=>a.from-c.from),e=o.indexOf(s);for(let a=1;ac.head?EditorSelection.range(b,_):EditorSelection.range(_,b))}}return new EditorSelection(o,e)}function checkSelection(o,e){for(let s of o.ranges)if(s.to>e)throw new RangeError("Selection points outside of document")}let nextID=0;class Facet{constructor(e,s,a,c,d){this.combine=e,this.compareInput=s,this.compare=a,this.isStatic=c,this.extensions=d,this.id=nextID++,this.default=e([])}static define(e={}){return new Facet(e.combine||(s=>s),e.compareInput||((s,a)=>s===a),e.compare||(e.combine?(s,a)=>s===a:sameArray$1),!!e.static,e.enables)}of(e){return new FacetProvider([],this,0,e)}compute(e,s){if(this.isStatic)throw new Error("Can't compute a static facet");return new FacetProvider(e,this,1,s)}computeN(e,s){if(this.isStatic)throw new Error("Can't compute a static facet");return new FacetProvider(e,this,2,s)}from(e,s){return s||(s=a=>a),this.compute([e],a=>s(a.field(e)))}}function sameArray$1(o,e){return o==e||o.length==e.length&&o.every((s,a)=>s===e[a])}class FacetProvider{constructor(e,s,a,c){this.dependencies=e,this.facet=s,this.type=a,this.value=c,this.id=nextID++}dynamicSlot(e){var s;let a=this.value,c=this.facet.compareInput,d=this.id,_=e[d]>>1,b=this.type==2,k=!1,$=!1,j=[];for(let _e of this.dependencies)_e=="doc"?k=!0:_e=="selection"?$=!0:(((s=e[_e.id])!==null&&s!==void 0?s:1)&1)==0&&j.push(e[_e.id]);return{create(_e){return _e.values[_]=a(_e),1},update(_e,et){if(k&&et.docChanged||$&&(et.docChanged||et.selection)||j.some(tt=>(ensureAddr(_e,tt)&1)>0)){let tt=a(_e);if(b?!compareArray(tt,_e.values[_],c):!c(tt,_e.values[_]))return _e.values[_]=tt,1}return 0},reconfigure(_e,et){let tt=a(_e),nt=et.config.address[d];if(nt!=null){let it=getAddr(et,nt);if(b?compareArray(tt,it,c):c(tt,it))return _e.values[_]=it,0}return _e.values[_]=tt,1}}}}function compareArray(o,e,s){if(o.length!=e.length)return!1;for(let a=0;ao[k.id]),c=s.map(k=>k.type),d=a.filter(k=>!(k&1)),_=o[e.id]>>1;function b(k){let $=[];for(let j=0;jensureAddr(k,_e)&1))return 0;let j=b(k);return e.compare(j,k.values[_])?0:(k.values[_]=j,1)},reconfigure(k,$){let j=a.some(nt=>ensureAddr(k,nt)&1),_e=$.config.facets[e.id],et=$.facet(e);if(_e&&!j&&sameArray$1(s,_e))return k.values[_]=et,0;let tt=b(k);return e.compare(tt,et)?(k.values[_]=et,0):(k.values[_]=tt,1)}}}const initField=Facet.define({static:!0});class StateField{constructor(e,s,a,c,d){this.id=e,this.createF=s,this.updateF=a,this.compareF=c,this.spec=d,this.provides=void 0}static define(e){let s=new StateField(nextID++,e.create,e.update,e.compare||((a,c)=>a===c),e);return e.provide&&(s.provides=e.provide(s)),s}create(e){let s=e.facet(initField).find(a=>a.field==this);return((s==null?void 0:s.create)||this.createF)(e)}slot(e){let s=e[this.id]>>1;return{create:a=>(a.values[s]=this.create(a),1),update:(a,c)=>{let d=a.values[s],_=this.updateF(d,c);return this.compareF(d,_)?0:(a.values[s]=_,1)},reconfigure:(a,c)=>c.config.address[this.id]!=null?(a.values[s]=c.field(this),0):(a.values[s]=this.create(a),1)}}init(e){return[this,initField.of({field:this,create:e})]}get extension(){return this}}const Prec_={lowest:4,low:3,default:2,high:1,highest:0};function prec(o){return e=>new PrecExtension(e,o)}const Prec={lowest:prec(Prec_.lowest),low:prec(Prec_.low),default:prec(Prec_.default),high:prec(Prec_.high),highest:prec(Prec_.highest),fallback:prec(Prec_.lowest),extend:prec(Prec_.high),override:prec(Prec_.highest)};class PrecExtension{constructor(e,s){this.inner=e,this.prec=s}}class Compartment{of(e){return new CompartmentInstance(this,e)}reconfigure(e){return Compartment.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class CompartmentInstance{constructor(e,s){this.compartment=e,this.inner=s}}class Configuration{constructor(e,s,a,c,d,_){for(this.base=e,this.compartments=s,this.dynamicSlots=a,this.address=c,this.staticValues=d,this.facets=_,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,s,a){let c=[],d=Object.create(null),_=new Map;for(let et of flatten(e,s,_))et instanceof StateField?c.push(et):(d[et.facet.id]||(d[et.facet.id]=[])).push(et);let b=Object.create(null),k=[],$=[];for(let et of c)b[et.id]=$.length<<1,$.push(tt=>et.slot(tt));let j=a==null?void 0:a.config.facets;for(let et in d){let tt=d[et],nt=tt[0].facet,it=j&&j[et]||[];if(tt.every(rt=>rt.type==0))if(b[nt.id]=k.length<<1|1,sameArray$1(it,tt))k.push(a.facet(nt));else{let rt=nt.combine(tt.map(st=>st.value));k.push(a&&nt.compare(rt,a.facet(nt))?a.facet(nt):rt)}else{for(let rt of tt)rt.type==0?(b[rt.id]=k.length<<1|1,k.push(rt.value)):(b[rt.id]=$.length<<1,$.push(st=>rt.dynamicSlot(st)));b[nt.id]=$.length<<1,$.push(rt=>dynamicFacetSlot(rt,nt,tt))}}let _e=$.map(et=>et(b));return new Configuration(e,_,_e,b,k,d)}}function flatten(o,e,s){let a=[[],[],[],[],[]],c=new Map;function d(_,b){let k=c.get(_);if(k!=null){if(k>=b)return;let $=a[k].indexOf(_);$>-1&&a[k].splice($,1),_ instanceof CompartmentInstance&&s.delete(_.compartment)}if(c.set(_,b),Array.isArray(_))for(let $ of _)d($,b);else if(_ instanceof CompartmentInstance){if(s.has(_.compartment))throw new RangeError("Duplicate use of compartment in extensions");let $=e.get(_.compartment)||_.inner;s.set(_.compartment,$),d($,b)}else if(_ instanceof PrecExtension)d(_.inner,_.prec);else if(_ instanceof StateField)a[b].push(_),_.provides&&d(_.provides,b);else if(_ instanceof FacetProvider)a[b].push(_),_.facet.extensions&&d(_.facet.extensions,b);else{let $=_.extension;if(!$)throw new Error(`Unrecognized extension value in extension set (${_}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);d($,b)}}return d(o,Prec_.default),a.reduce((_,b)=>_.concat(b))}function ensureAddr(o,e){if(e&1)return 2;let s=e>>1,a=o.status[s];if(a==4)throw new Error("Cyclic dependency between fields and/or facets");if(a&2)return a;o.status[s]=4;let c=o.computeSlot(o,o.config.dynamicSlots[s]);return o.status[s]=2|c}function getAddr(o,e){return e&1?o.config.staticValues[e>>1]:o.values[e>>1]}const languageData=Facet.define(),allowMultipleSelections=Facet.define({combine:o=>o.some(e=>e),static:!0}),lineSeparator=Facet.define({combine:o=>o.length?o[0]:void 0,static:!0}),changeFilter=Facet.define(),transactionFilter=Facet.define(),transactionExtender=Facet.define(),readOnly=Facet.define({combine:o=>o.length?o[0]:!1});class Annotation{constructor(e,s){this.type=e,this.value=s}static define(){return new AnnotationType}}class AnnotationType{of(e){return new Annotation(this,e)}}class StateEffectType{constructor(e){this.map=e}of(e){return new StateEffect(this,e)}}class StateEffect{constructor(e,s){this.type=e,this.value=s}map(e){let s=this.type.map(this.value,e);return s===void 0?void 0:s==this.value?this:new StateEffect(this.type,s)}is(e){return this.type==e}static define(e={}){return new StateEffectType(e.map||(s=>s))}static mapEffects(e,s){if(!e.length)return e;let a=[];for(let c of e){let d=c.map(s);d&&a.push(d)}return a}}StateEffect.reconfigure=StateEffect.define();StateEffect.appendConfig=StateEffect.define();class Transaction{constructor(e,s,a,c,d,_){this.startState=e,this.changes=s,this.selection=a,this.effects=c,this.annotations=d,this.scrollIntoView=_,this._doc=null,this._state=null,a&&checkSelection(a,s.newLength),d.some(b=>b.type==Transaction.time)||(this.annotations=d.concat(Transaction.time.of(Date.now())))}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let s of this.annotations)if(s.type==e)return s.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let s=this.annotation(Transaction.userEvent);return!!(s&&(s==e||s.length>e.length&&s.slice(0,e.length)==e&&s[e.length]=="."))}}Transaction.time=Annotation.define();Transaction.userEvent=Annotation.define();Transaction.addToHistory=Annotation.define();Transaction.remote=Annotation.define();function joinRanges(o,e){let s=[];for(let a=0,c=0;;){let d,_;if(a=o[a]))d=o[a++],_=o[a++];else if(c=0;c--){let d=a[c](o);d instanceof Transaction?o=d:Array.isArray(d)&&d.length==1&&d[0]instanceof Transaction?o=d[0]:o=resolveTransaction(e,asArray$1(d),!1)}return o}function extendTransaction(o){let e=o.startState,s=e.facet(transactionExtender),a=o;for(let c=s.length-1;c>=0;c--){let d=s[c](o);d&&Object.keys(d).length&&(a=mergeTransaction(o,resolveTransactionInner(e,d,o.changes.newLength),!0))}return a==o?o:new Transaction(e,o.changes,o.selection,a.effects,a.annotations,a.scrollIntoView)}const none$3=[];function asArray$1(o){return o==null?none$3:Array.isArray(o)?o:[o]}var CharCategory=function(o){return o[o.Word=0]="Word",o[o.Space=1]="Space",o[o.Other=2]="Other",o}(CharCategory||(CharCategory={}));const nonASCIISingleCaseWordChar=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let wordChar;try{wordChar=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(o){}function hasWordChar(o){if(wordChar)return wordChar.test(o);for(let e=0;e"\x80"&&(s.toUpperCase()!=s.toLowerCase()||nonASCIISingleCaseWordChar.test(s)))return!0}return!1}function makeCategorizer(o){return e=>{if(!/\S/.test(e))return CharCategory.Space;if(hasWordChar(e))return CharCategory.Word;for(let s=0;s-1)return CharCategory.Word;return CharCategory.Other}}class EditorState{constructor(e,s,a,c,d,_){this.config=e,this.doc=s,this.selection=a,this.values=c,this.status=e.statusTemplate.slice(),this.computeSlot=d,_&&(_._state=this);for(let b=0;bc.set(k,b)),s=null),c.set(_.value.compartment,_.value.extension)):_.is(StateEffect.reconfigure)?(s=null,a=_.value):_.is(StateEffect.appendConfig)&&(s=null,a=asArray$1(a).concat(_.value));let d;s?d=e.startState.values.slice():(s=Configuration.resolve(a,c,this),d=new EditorState(s,this.doc,this.selection,s.dynamicSlots.map(()=>null),(b,k)=>k.reconfigure(b,this),null).values),new EditorState(s,e.newDoc,e.newSelection,d,(_,b)=>b.update(_,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(s=>({changes:{from:s.from,to:s.to,insert:e},range:EditorSelection.cursor(s.from+e.length)}))}changeByRange(e){let s=this.selection,a=e(s.ranges[0]),c=this.changes(a.changes),d=[a.range],_=asArray$1(a.effects);for(let b=1;b_.spec.fromJSON(b,k)))}return EditorState.create({doc:e.doc,selection:EditorSelection.fromJSON(e.selection),extensions:s.extensions?c.concat([s.extensions]):c})}static create(e={}){let s=Configuration.resolve(e.extensions||[],new Map),a=e.doc instanceof Text?e.doc:Text.of((e.doc||"").split(s.staticFacet(EditorState.lineSeparator)||DefaultSplit)),c=e.selection?e.selection instanceof EditorSelection?e.selection:EditorSelection.single(e.selection.anchor,e.selection.head):EditorSelection.single(0);return checkSelection(c,a.length),s.staticFacet(allowMultipleSelections)||(c=c.asSingle()),new EditorState(s,a,c,s.dynamicSlots.map(()=>null),(d,_)=>_.create(d),null)}get tabSize(){return this.facet(EditorState.tabSize)}get lineBreak(){return this.facet(EditorState.lineSeparator)||` +`}get readOnly(){return this.facet(readOnly)}phrase(e){for(let s of this.facet(EditorState.phrases))if(Object.prototype.hasOwnProperty.call(s,e))return s[e];return e}languageDataAt(e,s,a=-1){let c=[];for(let d of this.facet(languageData))for(let _ of d(this,s,a))Object.prototype.hasOwnProperty.call(_,e)&&c.push(_[e]);return c}charCategorizer(e){return makeCategorizer(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:s,from:a,length:c}=this.doc.lineAt(e),d=this.charCategorizer(e),_=e-a,b=e-a;for(;_>0;){let k=findClusterBreak(s,_,!1);if(d(s.slice(k,_))!=CharCategory.Word)break;_=k}for(;bo.length?o[0]:4});EditorState.lineSeparator=lineSeparator;EditorState.readOnly=readOnly;EditorState.phrases=Facet.define();EditorState.languageData=languageData;EditorState.changeFilter=changeFilter;EditorState.transactionFilter=transactionFilter;EditorState.transactionExtender=transactionExtender;Compartment.reconfigure=StateEffect.define();function combineConfig(o,e,s={}){let a={};for(let c of o)for(let d of Object.keys(c)){let _=c[d],b=a[d];if(b===void 0)a[d]=_;else if(!(b===_||_===void 0))if(Object.hasOwnProperty.call(s,d))a[d]=s[d](b,_);else throw new Error("Config merge conflict for field "+d)}for(let c in e)a[c]===void 0&&(a[c]=e[c]);return a}const C="\u037C",COUNT=typeof Symbol=="undefined"?"__"+C:Symbol.for(C),SET=typeof Symbol=="undefined"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),top=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:{};class StyleModule{constructor(e,s){this.rules=[];let{finish:a}=s||{};function c(_){return/^@/.test(_)?[_]:_.split(/,\s*/)}function d(_,b,k,$){let j=[],_e=/^@(\w+)\b/.exec(_[0]),et=_e&&_e[1]=="keyframes";if(_e&&b==null)return k.push(_[0]+";");for(let tt in b){let nt=b[tt];if(/&/.test(tt))d(tt.split(/,\s*/).map(it=>_.map(rt=>it.replace(/&/,rt))).reduce((it,rt)=>it.concat(rt)),nt,k);else if(nt&&typeof nt=="object"){if(!_e)throw new RangeError("The value of a property ("+tt+") should be a primitive value.");d(c(tt),nt,j,et)}else nt!=null&&j.push(tt.replace(/_.*/,"").replace(/[A-Z]/g,it=>"-"+it.toLowerCase())+": "+nt+";")}(j.length||et)&&k.push((a&&!_e&&!$?_.map(a):_).join(", ")+" {"+j.join(" ")+"}")}for(let _ in e)d(c(_),e[_],this.rules)}getRules(){return this.rules.join(` `)}static newName(){let e=top[COUNT]||1;return top[COUNT]=e+1,C+e.toString(36)}static mount(e,s){(e[SET]||new StyleSet(e)).mount(Array.isArray(s)?s:[s])}}let adoptedSet=null;class StyleSet{constructor(e){if(!e.head&&e.adoptedStyleSheets&&typeof CSSStyleSheet!="undefined"){if(adoptedSet)return e.adoptedStyleSheets=[adoptedSet.sheet].concat(e.adoptedStyleSheets),e[SET]=adoptedSet;this.sheet=new CSSStyleSheet,e.adoptedStyleSheets=[this.sheet].concat(e.adoptedStyleSheets),adoptedSet=this}else{this.styleTag=(e.ownerDocument||e).createElement("style");let s=e.head||e;s.insertBefore(this.styleTag,s.firstChild)}this.modules=[],e[SET]=this}mount(e){let s=this.sheet,a=0,c=0;for(let d=0;d-1&&(this.modules.splice(b,1),c--,b=-1),b==-1){if(this.modules.splice(c++,0,_),s)for(let k=0;k<_.rules.length;k++)s.insertRule(_.rules[k],a++)}else{for(;c>1,$=d[k]-e||(a?this.value[k].endSide:this.value[k].startSide)-s;if(k==_)return $>=0?_:b;$>=0?b=k:_=k+1}}between(e,s,a,c){for(let d=this.findIndex(s,-1e9,!0),_=this.findIndex(a,1e9,!1,d);d<_;d++)if(c(this.from[d]+e,this.to[d]+e,this.value[d])===!1)return!1}map(e,s){let a=[],c=[],d=[],_=-1,b=-1;for(let k=0;ktt||et==tt&&$.startSide>0&&$.endSide<=0)continue;(tt-et||$.endSide-$.startSide)<0||(_<0&&(_=et),$.point&&(b=Math.max(b,tt-et)),a.push($),c.push(et-_),d.push(tt-_))}return{mapped:a.length?new Chunk(c,d,a,b):null,pos:_}}}class RangeSet{constructor(e,s,a=RangeSet.empty,c){this.chunkPos=e,this.chunk=s,this.nextLayer=a,this.maxPoint=c}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let s of this.chunk)e+=s.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:s=[],sort:a=!1,filterFrom:c=0,filterTo:d=this.length}=e,_=e.filter;if(s.length==0&&!_)return this;if(a&&(s=s.slice().sort(cmpRange)),this.isEmpty)return s.length?RangeSet.of(s):this;let b=new LayerCursor(this,null,-1).goto(0),k=0,$=[],j=new RangeSetBuilder;for(;b.value||k=0){let _e=s[k++];j.addInner(_e.from,_e.to,_e.value)||$.push(_e)}else b.rangeIndex==1&&b.chunkIndexthis.chunkEnd(b.chunkIndex)||db.to||d=d&&e<=d+_.length&&_.between(d,e-d,s-d,a)===!1)return}this.nextLayer.between(e,s,a)}}iter(e=0){return HeapCursor.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,s=0){return HeapCursor.from(e).goto(s)}static compare(e,s,a,c,d=-1){let _=e.filter(_e=>_e.maxPoint>0||!_e.isEmpty&&_e.maxPoint>=d),b=s.filter(_e=>_e.maxPoint>0||!_e.isEmpty&&_e.maxPoint>=d),k=findSharedChunks(_,b,a),$=new SpanCursor(_,k,d),j=new SpanCursor(b,k,d);a.iterGaps((_e,et,tt)=>compare($,_e,j,et,tt,c)),a.empty&&a.length==0&&compare($,0,j,0,0,c)}static eq(e,s,a=0,c){c==null&&(c=1e9);let d=e.filter(j=>!j.isEmpty&&s.indexOf(j)<0),_=s.filter(j=>!j.isEmpty&&e.indexOf(j)<0);if(d.length!=_.length)return!1;if(!d.length)return!0;let b=findSharedChunks(d,_),k=new SpanCursor(d,b,0).goto(a),$=new SpanCursor(_,b,0).goto(a);for(;;){if(k.to!=$.to||!sameValues(k.active,$.active)||k.point&&(!$.point||!k.point.eq($.point)))return!1;if(k.to>c)return!0;k.next(),$.next()}}static spans(e,s,a,c,d=-1){var _;let b=new SpanCursor(e,null,d,(_=c.filterPoint)===null||_===void 0?void 0:_.bind(c)).goto(s),k=s,$=b.openStart;for(;;){let j=Math.min(b.to,a);if(b.point?(c.point(k,j,b.point,b.activeForPoint(b.to),$),$=b.openEnd(j)+(b.to>j?1:0)):j>k&&(c.span(k,j,b.active,$),$=b.openEnd(j)),b.to>a)break;k=b.to,b.next()}return $}static of(e,s=!1){let a=new RangeSetBuilder;for(let c of e instanceof Range$1?[e]:s?lazySort(e):e)a.add(c.from,c.to,c.value);return a.finish()}}RangeSet.empty=new RangeSet([],[],null,-1);function lazySort(o){if(o.length>1)for(let e=o[0],s=1;s0)return o.slice().sort(cmpRange);e=a}return o}RangeSet.empty.nextLayer=RangeSet.empty;class RangeSetBuilder{constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}finishChunk(e){this.chunks.push(new Chunk(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}add(e,s,a){this.addInner(e,s,a)||(this.nextLayer||(this.nextLayer=new RangeSetBuilder)).add(e,s,a)}addInner(e,s,a){let c=e-this.lastTo||a.startSide-this.last.endSide;if(c<=0&&(e-this.lastFrom||a.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return c<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(s-this.chunkStart),this.last=a,this.lastFrom=e,this.lastTo=s,this.value.push(a),a.point&&(this.maxPoint=Math.max(this.maxPoint,s-e)),!0)}addChunk(e,s){if((e-this.lastTo||s.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,s.maxPoint),this.chunks.push(s),this.chunkPos.push(e);let a=s.value.length-1;return this.last=s.value[a],this.lastFrom=s.from[a]+e,this.lastTo=s.to[a]+e,!0}finish(){return this.finishInner(RangeSet.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let s=new RangeSet(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,s}}function findSharedChunks(o,e,s){let a=new Map;for(let d of o)for(let _=0;_=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=a&&c.push(new LayerCursor(_,s,a,d));return c.length==1?c[0]:new HeapCursor(c)}get startSide(){return this.value?this.value.startSide:0}goto(e,s=-1e9){for(let a of this.heap)a.goto(e,s);for(let a=this.heap.length>>1;a>=0;a--)heapBubble(this.heap,a);return this.next(),this}forward(e,s){for(let a of this.heap)a.forward(e,s);for(let a=this.heap.length>>1;a>=0;a--)heapBubble(this.heap,a);(this.to-e||this.value.endSide-s)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),heapBubble(this.heap,0)}}}function heapBubble(o,e){for(let s=o[e];;){let a=(e<<1)+1;if(a>=o.length)break;let c=o[a];if(a+1=0&&(c=o[a+1],a++),s.compare(c)<0)break;o[a]=s,o[e]=c,e=a}}class SpanCursor{constructor(e,s,a,c=()=>!0){this.minPoint=a,this.filterPoint=c,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=HeapCursor.from(e,s,a)}goto(e,s=-1e9){return this.cursor.goto(e,s),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=s,this.openStart=-1,this.next(),this}forward(e,s){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-s)<0;)this.removeActive(this.minActive);this.cursor.forward(e,s)}removeActive(e){remove(this.active,e),remove(this.activeTo,e),remove(this.activeRank,e),this.minActive=findMinIndex(this.active,this.activeTo)}addActive(e){let s=0,{value:a,to:c,rank:d}=this.cursor;for(;s-1&&(this.activeTo[d]-this.cursor.from||this.active[d].endSide-this.cursor.startSide)<0){if(this.activeTo[d]>e){this.to=this.activeTo[d],this.endSide=this.active[d].endSide;break}this.removeActive(d),a&&remove(a,d)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let _=this.cursor.value;if(!_.point)this.addActive(a),this.cursor.next();else if(s&&this.cursor.to==this.to&&this.cursor.from=0&&!(this.activeRank[a]e||this.activeTo[a]==e&&this.active[a].endSide>=this.point.endSide)&&s.push(this.active[a]);return s.reverse()}openEnd(e){let s=0;for(let a=this.activeTo.length-1;a>=0&&this.activeTo[a]>e;a--)s++;return s}}function compare(o,e,s,a,c,d){o.goto(e),s.goto(a);let _=a+c,b=a,k=a-e;for(;;){let $=o.to+k-s.to||o.endSide-s.endSide,j=$<0?o.to+k:s.to,_e=Math.min(j,_);if(o.point||s.point?o.point&&s.point&&(o.point==s.point||o.point.eq(s.point))&&sameValues(o.activeForPoint(o.to+k),s.activeForPoint(s.to))||d.comparePoint(b,_e,o.point,s.point):_e>b&&!sameValues(o.active,s.active)&&d.compareRange(b,_e,o.active,s.active),j>_)break;b=j,$<=0&&o.next(),$>=0&&s.next()}}function sameValues(o,e){if(o.length!=e.length)return!1;for(let s=0;s=e;a--)o[a+1]=o[a];o[e]=s}function findMinIndex(o,e){let s=-1,a=1e9;for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"',229:"Q"},chrome$1=typeof navigator!="undefined"&&/Chrome\/(\d+)/.exec(navigator.userAgent),safari$1=typeof navigator!="undefined"&&/Apple Computer/.test(navigator.vendor),gecko$1=typeof navigator!="undefined"&&/Gecko\/\d+/.test(navigator.userAgent),mac=typeof navigator!="undefined"&&/Mac/.test(navigator.platform),ie$1=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),brokenModifierNames=chrome$1&&(mac||+chrome$1[1]<57)||gecko$1&&mac;for(var i=0;i<10;i++)base[48+i]=base[96+i]=String(i);for(var i=1;i<=24;i++)base[i+111]="F"+i;for(var i=65;i<=90;i++)base[i]=String.fromCharCode(i+32),shift[i]=String.fromCharCode(i);for(var code in base)shift.hasOwnProperty(code)||(shift[code]=base[code]);function keyName(o){var e=brokenModifierNames&&(o.ctrlKey||o.altKey||o.metaKey)||(safari$1||ie$1)&&o.shiftKey&&o.key&&o.key.length==1,s=!e&&o.key||(o.shiftKey?shift:base)[o.keyCode]||o.key||"Unidentified";return s=="Esc"&&(s="Escape"),s=="Del"&&(s="Delete"),s=="Left"&&(s="ArrowLeft"),s=="Up"&&(s="ArrowUp"),s=="Right"&&(s="ArrowRight"),s=="Down"&&(s="ArrowDown"),s}function getSelection(o){let e;return o.nodeType==11?e=o.getSelection?o:o.ownerDocument:e=o,e.getSelection()}function contains(o,e){return e?o==e||o.contains(e.nodeType!=1?e.parentNode:e):!1}function deepActiveElement(){let o=document.activeElement;for(;o&&o.shadowRoot;)o=o.shadowRoot.activeElement;return o}function hasSelection(o,e){if(!e.anchorNode)return!1;try{return contains(o,e.anchorNode)}catch{return!1}}function clientRectsFor(o){return o.nodeType==3?textRange(o,0,o.nodeValue.length).getClientRects():o.nodeType==1?o.getClientRects():[]}function isEquivalentPosition(o,e,s,a){return s?scanFor(o,e,s,a,-1)||scanFor(o,e,s,a,1):!1}function domIndex(o){for(var e=0;;e++)if(o=o.previousSibling,!o)return e}function scanFor(o,e,s,a,c){for(;;){if(o==s&&e==a)return!0;if(e==(c<0?0:maxOffset(o))){if(o.nodeName=="DIV")return!1;let d=o.parentNode;if(!d||d.nodeType!=1)return!1;e=domIndex(o)+(c<0?0:1),o=d}else if(o.nodeType==1){if(o=o.childNodes[e+(c<0?-1:0)],o.nodeType==1&&o.contentEditable=="false")return!1;e=c<0?maxOffset(o):0}else return!1}}function maxOffset(o){return o.nodeType==3?o.nodeValue.length:o.childNodes.length}const Rect0={left:0,right:0,top:0,bottom:0};function flattenRect(o,e){let s=e?o.left:o.right;return{left:s,right:s,top:o.top,bottom:o.bottom}}function windowRect(o){return{left:0,right:o.innerWidth,top:0,bottom:o.innerHeight}}function scrollRectIntoView(o,e,s,a,c,d,_,b){let k=o.ownerDocument,$=k.defaultView;for(let j=o;j;)if(j.nodeType==1){let _e,et=j==k.body;if(et)_e=windowRect($);else{if(j.scrollHeight<=j.clientHeight&&j.scrollWidth<=j.clientWidth){j=j.parentNode;continue}let st=j.getBoundingClientRect();_e={left:st.left,right:st.left+j.clientWidth,top:st.top,bottom:st.top+j.clientHeight}}let tt=0,nt=0;if(c=="nearest")e.top<_e.top?(nt=-(_e.top-e.top+_),s>0&&e.bottom>_e.bottom+nt&&(nt=e.bottom-_e.bottom+nt+_)):e.bottom>_e.bottom&&(nt=e.bottom-_e.bottom+_,s<0&&e.top-nt<_e.top&&(nt=-(_e.top+nt-e.top+_)));else{let st=e.bottom-e.top,rt=_e.bottom-_e.top;nt=(c=="center"&&st<=rt?e.top+st/2-rt/2:c=="start"||c=="center"&&s<0?e.top-_:e.bottom-rt+_)-_e.top}if(a=="nearest"?e.left<_e.left?(tt=-(_e.left-e.left+d),s>0&&e.right>_e.right+tt&&(tt=e.right-_e.right+tt+d)):e.right>_e.right&&(tt=e.right-_e.right+d,s<0&&e.left<_e.left+tt&&(tt=-(_e.left+tt-e.left+d))):tt=(a=="center"?e.left+(e.right-e.left)/2-(_e.right-_e.left)/2:a=="start"==b?e.left-d:e.right-(_e.right-_e.left)+d)-_e.left,tt||nt)if(et)$.scrollBy(tt,nt);else{if(nt){let st=j.scrollTop;j.scrollTop+=nt,nt=j.scrollTop-st}if(tt){let st=j.scrollLeft;j.scrollLeft+=tt,tt=j.scrollLeft-st}e={left:e.left-tt,top:e.top-nt,right:e.right-tt,bottom:e.bottom-nt}}if(et)break;j=j.assignedSlot||j.parentNode,a=c="nearest"}else if(j.nodeType==11)j=j.host;else break}class DOMSelectionState{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){this.set(e.anchorNode,e.anchorOffset,e.focusNode,e.focusOffset)}set(e,s,a,c){this.anchorNode=e,this.anchorOffset=s,this.focusNode=a,this.focusOffset=c}}let preventScrollSupported=null;function focusPreventScroll(o){if(o.setActive)return o.setActive();if(preventScrollSupported)return o.focus(preventScrollSupported);let e=[];for(let s=o;s&&(e.push(s,s.scrollTop,s.scrollLeft),s!=s.ownerDocument);s=s.parentNode);if(o.focus(preventScrollSupported==null?{get preventScroll(){return preventScrollSupported={preventScroll:!0},!0}}:void 0),!preventScrollSupported){preventScrollSupported=!1;for(let s=0;ss)return _e.domBoundsAround(e,s,$);if(et>=e&&c==-1&&(c=k,d=$),$>s&&_e.dom.parentNode==this.dom){_=k,b=j;break}j=et,$=et+_e.breakAfter}return{from:d,to:b<0?a+this.length:b,startDOM:(c?this.children[c-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:_=0?this.children[_].dom:null}}markDirty(e=!1){this.dirty|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let s=this.parent;s;s=s.parent){if(e&&(s.dirty|=2),s.dirty&1)return;s.dirty|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.dirty&&this.markParentsDirty(!0))}setDOM(e){this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this}get rootView(){for(let e=this;;){let s=e.parent;if(!s)return e;e=s}}replaceChildren(e,s,a=noChildren){this.markDirty();for(let c=e;cthis.pos||e==this.pos&&(s>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let a=this.children[--this.i];this.pos-=a.length+a.breakAfter}}}function replaceRange(o,e,s,a,c,d,_,b,k){let{children:$}=o,j=$.length?$[e]:null,_e=d.length?d[d.length-1]:null,et=_e?_e.breakAfter:_;if(!(e==a&&j&&!_&&!et&&d.length<2&&j.merge(s,c,d.length?_e:null,s==0,b,k))){if(a<$.length){let tt=$[a];tt&&c0&&(!_&&d.length&&j.merge(s,j.length,d[0],!1,b,0)?j.breakAfter=d.shift().breakAfter:(s2);var browser={mac:ios$1||/Mac/.test(nav.platform),windows:/Win/.test(nav.platform),linux:/Linux|X11/.test(nav.platform),ie,ie_version:ie_upto10?doc.documentMode||6:ie_11up?+ie_11up[1]:ie_edge?+ie_edge[1]:0,gecko,gecko_version:gecko?+(/Firefox\/(\d+)/.exec(nav.userAgent)||[0,0])[1]:0,chrome:!!chrome,chrome_version:chrome?+chrome[1]:0,ios:ios$1,android:/Android\b/.test(nav.userAgent),webkit,safari,webkit_version:webkit?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:doc.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};const MaxJoinLen=256;class TextView extends ContentView{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,s,a){return a&&(!(a instanceof TextView)||this.length-(s-e)+a.length>MaxJoinLen)?!1:(this.text=this.text.slice(0,e)+(a?a.text:"")+this.text.slice(s),this.markDirty(),!0)}split(e){let s=new TextView(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),s}localPosFromDOM(e,s){return e==this.dom?s:s?this.text.length:0}domAtPos(e){return new DOMPos(this.dom,e)}domBoundsAround(e,s,a){return{from:a,to:a+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,s){return textCoords(this.dom,e,s)}}class MarkView extends ContentView{constructor(e,s=[],a=0){super(),this.mark=e,this.children=s,this.length=a;for(let c of s)c.setParent(this)}setAttrs(e){if(clearAttributes(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let s in this.mark.attrs)e.setAttribute(s,this.mark.attrs[s]);return e}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.dirty|=6)}sync(e){this.dom?this.dirty&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e)}merge(e,s,a,c,d,_){return a&&(!(a instanceof MarkView&&a.mark.eq(this.mark))||e&&d<=0||se&&s.push(a=e&&(c=d),a=k,d++}let _=this.length-e;return this.length=e,c>-1&&(this.children.length=c,this.markDirty()),new MarkView(this.mark,s,_)}domAtPos(e){return inlineDOMAtPos(this.dom,this.children,e)}coordsAt(e,s){return coordsInChildren(this,e,s)}}function textCoords(o,e,s){let a=o.nodeValue.length;e>a&&(e=a);let c=e,d=e,_=0;e==0&&s<0||e==a&&s>=0?browser.chrome||browser.gecko||(e?(c--,_=1):(d++,_=-1)):s<0?c--:d++;let b=textRange(o,c,d).getClientRects();if(!b.length)return Rect0;let k=b[(_?_<0:s>=0)?0:b.length-1];return browser.safari&&!_&&k.width==0&&(k=Array.prototype.find.call(b,$=>$.width)||k),_?flattenRect(k,_<0):k||null}class WidgetView extends ContentView{constructor(e,s,a){super(),this.widget=e,this.length=s,this.side=a,this.prevWidget=null}static create(e,s,a){return new(e.customView||WidgetView)(e,s,a)}split(e){let s=WidgetView.create(this.widget,this.length-e,this.side);return this.length-=e,s}sync(){(!this.dom||!this.widget.updateDOM(this.dom))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(this.editorView)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,s,a,c,d,_){return a&&(!(a instanceof WidgetView)||!this.widget.compare(a.widget)||e>0&&d<=0||s0?a.length-1:0;c=a[d],!(e>0?d==0:d==a.length-1||c.top0?-1:1);return e==0&&s>0||e==this.length&&s<=0?c:flattenRect(c,e==0)}get isEditable(){return!1}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class CompositionView extends WidgetView{domAtPos(e){let{topView:s,text:a}=this.widget;return s?scanCompositionTree(e,0,s,a,(c,d)=>c.domAtPos(d),c=>new DOMPos(a,Math.min(c,a.nodeValue.length))):new DOMPos(a,Math.min(e,a.nodeValue.length))}sync(){this.setDOM(this.widget.toDOM())}localPosFromDOM(e,s){let{topView:a,text:c}=this.widget;return a?posFromDOMInCompositionTree(e,s,a,c):Math.min(s,this.length)}ignoreMutation(){return!1}get overrideDOMText(){return null}coordsAt(e,s){let{topView:a,text:c}=this.widget;return a?scanCompositionTree(e,s,a,c,(d,_,b)=>d.coordsAt(_,b),(d,_)=>textCoords(c,d,_)):textCoords(c,e,s)}destroy(){var e;super.destroy(),(e=this.widget.topView)===null||e===void 0||e.destroy()}get isEditable(){return!0}}function scanCompositionTree(o,e,s,a,c,d){if(s instanceof MarkView){for(let _ of s.children){let b=contains(_.dom,a),k=b?a.nodeValue.length:_.length;if(o0?-1:1);return a&&a.tops.top?{left:s.left,right:s.right,top:a.top,bottom:a.bottom}:s}get overrideDOMText(){return Text.empty}}TextView.prototype.children=WidgetView.prototype.children=WidgetBufferView.prototype.children=noChildren;function inlineSiblingRect(o,e){let s=o.parent,a=s?s.children.indexOf(o):-1;for(;s&&a>=0;)if(e<0?a>0:ac&&s<_&&d.dom.parentNode==o)return d.domAtPos(s-c);if(s<=c)break;c=_}}for(;a>0;a--){let c=e[a-1].dom;if(c.parentNode==o)return DOMPos.after(c)}return new DOMPos(o,0)}function joinInlineInto(o,e,s){let a,{children:c}=o;s>0&&e instanceof MarkView&&c.length&&(a=c[c.length-1])instanceof MarkView&&a.mark.eq(e.mark)?joinInlineInto(a,e.children[0],s-1):(c.push(e),e.setParent(o)),o.length+=e.length}function coordsInChildren(o,e,s){for(let d=0,_=0;_0?k>=e:k>e)&&(e0)){let j=0;if(k==d){if(b.getSide()<=0)continue;j=s=-b.getSide()}let _e=b.coordsAt(Math.max(0,e-d),s);return j&&_e?flattenRect(_e,s<0):_e}d=k}let a=o.dom.lastChild;if(!a)return o.dom.getBoundingClientRect();let c=clientRectsFor(a);return c[c.length-1]||null}function combineAttrs(o,e){for(let s in o)s=="class"&&e.class?e.class+=" "+o.class:s=="style"&&e.style?e.style+=";"+o.style:e[s]=o[s];return e}function attrsEq(o,e){if(o==e)return!0;if(!o||!e)return!1;let s=Object.keys(o),a=Object.keys(e);if(s.length!=a.length)return!1;for(let c of s)if(a.indexOf(c)==-1||o[c]!==e[c])return!1;return!0}function updateAttrs(o,e,s){if(e)for(let a in e)s&&a in s||o.removeAttribute(a);if(s)for(let a in s)e&&e[a]==s[a]||o.setAttribute(a,s[a])}class WidgetType{eq(e){return!1}updateDOM(e){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}ignoreEvent(e){return!0}get customView(){return null}destroy(e){}}var BlockType=function(o){return o[o.Text=0]="Text",o[o.WidgetBefore=1]="WidgetBefore",o[o.WidgetAfter=2]="WidgetAfter",o[o.WidgetRange=3]="WidgetRange",o}(BlockType||(BlockType={}));class Decoration extends RangeValue{constructor(e,s,a,c){super(),this.startSide=e,this.endSide=s,this.widget=a,this.spec=c}get heightRelevant(){return!1}static mark(e){return new MarkDecoration(e)}static widget(e){let s=e.side||0,a=!!e.block;return s+=a?s>0?3e8:-4e8:s>0?1e8:-1e8,new PointDecoration(e,s,s,a,e.widget||null,!1)}static replace(e){let s=!!e.block,a,c;if(e.isBlockGap)a=-5e8,c=4e8;else{let{start:d,end:_}=getInclusive(e,s);a=(d?s?-3e8:-1:5e8)-1,c=(_?s?2e8:1:-6e8)+1}return new PointDecoration(e,a,c,s,e.widget||null,!0)}static line(e){return new LineDecoration(e)}static set(e,s=!1){return RangeSet.of(e,s)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}Decoration.none=RangeSet.empty;class MarkDecoration extends Decoration{constructor(e){let{start:s,end:a}=getInclusive(e);super(s?-1:5e8,a?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){return this==e||e instanceof MarkDecoration&&this.tagName==e.tagName&&this.class==e.class&&attrsEq(this.attrs,e.attrs)}range(e,s=e){if(e>=s)throw new RangeError("Mark decorations may not be empty");return super.range(e,s)}}MarkDecoration.prototype.point=!1;class LineDecoration extends Decoration{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof LineDecoration&&attrsEq(this.spec.attributes,e.spec.attributes)}range(e,s=e){if(s!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,s)}}LineDecoration.prototype.mapMode=MapMode.TrackBefore;LineDecoration.prototype.point=!0;class PointDecoration extends Decoration{constructor(e,s,a,c,d,_){super(s,a,d,e),this.block=c,this.isReplace=_,this.mapMode=c?s<=0?MapMode.TrackBefore:MapMode.TrackAfter:MapMode.TrackDel}get type(){return this.startSide=5}eq(e){return e instanceof PointDecoration&&widgetsEq(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,s=e){if(this.isReplace&&(e>s||e==s&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&s!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,s)}}PointDecoration.prototype.point=!0;function getInclusive(o,e=!1){let{inclusiveStart:s,inclusiveEnd:a}=o;return s==null&&(s=o.inclusive),a==null&&(a=o.inclusive),{start:s!=null?s:e,end:a!=null?a:e}}function widgetsEq(o,e){return o==e||!!(o&&e&&o.compare(e))}function addRange(o,e,s,a=0){let c=s.length-1;c>=0&&s[c]+a>=o?s[c]=Math.max(s[c],e):s.push(o,e)}class LineView extends ContentView{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,s,a,c,d,_){if(a){if(!(a instanceof LineView))return!1;this.dom||a.transferDOM(this)}return c&&this.setDeco(a?a.attrs:null),mergeChildrenInto(this,e,s,a?a.children:[],d,_),!0}split(e){let s=new LineView;if(s.breakAfter=this.breakAfter,this.length==0)return s;let{i:a,off:c}=this.childPos(e);c&&(s.append(this.children[a].split(c),0),this.children[a].merge(c,this.children[a].length,null,!1,0,0),a++);for(let d=a;d0&&this.children[a-1].length==0;)this.children[--a].destroy();return this.children.length=a,this.markDirty(),this.length=e,s}transferDOM(e){!this.dom||(e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){attrsEq(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,s){joinInlineInto(this,e,s)}addLineDeco(e){let s=e.spec.attributes,a=e.spec.class;s&&(this.attrs=combineAttrs(s,this.attrs||{})),a&&(this.attrs=combineAttrs({class:a},this.attrs||{}))}domAtPos(e){return inlineDOMAtPos(this.dom,this.children,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.dirty|=6)}sync(e){var s;this.dom?this.dirty&4&&(clearAttributes(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(updateAttrs(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e);let a=this.dom.lastChild;for(;a&&ContentView.get(a)instanceof MarkView;)a=a.lastChild;if(!a||!this.length||a.nodeName!="BR"&&((s=ContentView.get(a))===null||s===void 0?void 0:s.isEditable)==!1&&(!browser.ios||!this.children.some(c=>c instanceof TextView))){let c=document.createElement("BR");c.cmIgnore=!0,this.dom.appendChild(c)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0;for(let s of this.children){if(!(s instanceof TextView))return null;let a=clientRectsFor(s.dom);if(a.length!=1)return null;e+=a[0].width}return{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length}}coordsAt(e,s){return coordsInChildren(this,e,s)}become(e){return!1}get type(){return BlockType.Text}static find(e,s){for(let a=0,c=0;a=s){if(d instanceof LineView)return d;if(_>s)break}c=_+d.breakAfter}return null}}class BlockWidgetView extends ContentView{constructor(e,s,a){super(),this.widget=e,this.length=s,this.type=a,this.breakAfter=0,this.prevWidget=null}merge(e,s,a,c,d,_){return a&&(!(a instanceof BlockWidgetView)||!this.widget.compare(a.widget)||e>0&&d<=0||s0;){if(this.textOff==this.text.length){let{value:d,lineBreak:_,done:b}=this.cursor.next(this.skip);if(this.skip=0,b)throw new Error("Ran out of text content when drawing inline views");if(_){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer([]),this.curLine=null,e--;continue}else this.text=d,this.textOff=0}let c=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(s.slice(0,a)),this.getLine().append(wrapMarks(new TextView(this.text.slice(this.textOff,this.textOff+c)),s),a),this.atCursorPos=!0,this.textOff+=c,e-=c,a=0}}span(e,s,a,c){this.buildText(s-e,a,c),this.pos=s,this.openStart<0&&(this.openStart=c)}point(e,s,a,c,d){let _=s-e;if(a instanceof PointDecoration)if(a.block){let{type:b}=a;b==BlockType.WidgetAfter&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new BlockWidgetView(a.widget||new NullWidget("div"),_,b))}else{let b=WidgetView.create(a.widget||new NullWidget("span"),_,a.startSide),k=this.atCursorPos&&!b.isEditable&&d<=c.length&&(e0),$=!b.isEditable&&(ethis.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}return!0}static build(e,s,a,c,d){let _=new ContentBuilder(e,s,a,d);return _.openEnd=RangeSet.spans(c,s,a,_),_.openStart<0&&(_.openStart=_.openEnd),_.finish(_.openEnd),_}}function wrapMarks(o,e){for(let s of e)o=new MarkView(s,[o],o.length);return o}class NullWidget extends WidgetType{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}}const none$2=[],clickAddsSelectionRange=Facet.define(),dragMovesSelection$1=Facet.define(),mouseSelectionStyle=Facet.define(),exceptionSink=Facet.define(),updateListener=Facet.define(),inputHandler$1=Facet.define(),scrollTo=StateEffect.define({map:(o,e)=>o.map(e)}),centerOn=StateEffect.define({map:(o,e)=>o.map(e)});class ScrollTarget{constructor(e,s="nearest",a="nearest",c=5,d=5){this.range=e,this.y=s,this.x=a,this.yMargin=c,this.xMargin=d}map(e){return e.empty?this:new ScrollTarget(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin)}}const scrollIntoView$1=StateEffect.define({map:(o,e)=>o.map(e)});function logException(o,e,s){let a=o.facet(exceptionSink);a.length?a[0](e):window.onerror?window.onerror(String(e),s,void 0,void 0,e):s?console.error(s+":",e):console.error(e)}const editable=Facet.define({combine:o=>o.length?o[0]:!0});class PluginFieldProvider{constructor(e,s){this.field=e,this.get=s}}class PluginField{from(e){return new PluginFieldProvider(this,e)}static define(){return new PluginField}}PluginField.decorations=PluginField.define();PluginField.atomicRanges=PluginField.define();PluginField.scrollMargins=PluginField.define();let nextPluginID=0;const viewPlugin=Facet.define();class ViewPlugin{constructor(e,s,a){this.id=e,this.create=s,this.fields=a,this.extension=viewPlugin.of(this)}static define(e,s){let{eventHandlers:a,provide:c,decorations:d}=s||{},_=[];if(c)for(let b of Array.isArray(c)?c:[c])_.push(b);return a&&_.push(domEventHandlers.from(b=>({plugin:b,handlers:a}))),d&&_.push(PluginField.decorations.from(d)),new ViewPlugin(nextPluginID++,e,_)}static fromClass(e,s){return ViewPlugin.define(a=>new e(a),s)}}const domEventHandlers=PluginField.define();class PluginInstance{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}takeField(e,s){if(this.spec)for(let{field:a,get:c}of this.spec.fields)a==e&&s.push(c(this.value))}update(e){if(this.value){if(this.mustUpdate){let s=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(s)}catch(a){if(logException(s.state,a,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(s){logException(e.state,s,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var s;if(!((s=this.value)===null||s===void 0)&&s.destroy)try{this.value.destroy()}catch(a){logException(e.state,a,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const editorAttributes=Facet.define(),contentAttributes=Facet.define(),decorations=Facet.define(),styleModule=Facet.define();class ChangedRange{constructor(e,s,a,c){this.fromA=e,this.toA=s,this.fromB=a,this.toB=c}join(e){return new ChangedRange(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let s=e.length,a=this;for(;s>0;s--){let c=e[s-1];if(!(c.fromA>a.toA)){if(c.toAj)break;d+=2}if(!k)return a;new ChangedRange(k.fromA,k.toA,k.fromB,k.toB).addToSet(a),_=k.toA,b=k.toB}}}class ViewUpdate{constructor(e,s,a=none$2){this.view=e,this.state=s,this.transactions=a,this.flags=0,this.startState=e.state,this.changes=ChangeSet.empty(this.startState.doc.length);for(let _ of a)this.changes=this.changes.compose(_.changes);let c=[];this.changes.iterChangedRanges((_,b,k,$)=>c.push(new ChangedRange(_,b,k,$))),this.changedRanges=c;let d=e.hasFocus;d!=e.inputState.notifiedFocused&&(e.inputState.notifiedFocused=d,this.flags|=1)}get viewportChanged(){return(this.flags&4)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&10)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}var Direction=function(o){return o[o.LTR=0]="LTR",o[o.RTL=1]="RTL",o}(Direction||(Direction={}));const LTR=Direction.LTR,RTL=Direction.RTL;function dec(o){let e=[];for(let s=0;s=s){if(b.level==a)return _;(d<0||(c!=0?c<0?b.froms:e[d].level>b.level))&&(d=_)}}if(d<0)throw new RangeError("Index out of range");return d}}const types=[];function computeOrder(o,e){let s=o.length,a=e==LTR?1:2,c=e==LTR?2:1;if(!o||a==1&&!BidiRE.test(o))return trivialOrder(s);for(let _=0,b=a,k=a;_=0;et-=3)if(BracketStack[et+1]==-j){let tt=BracketStack[et+2],nt=tt&2?a:tt&4?tt&1?c:a:0;nt&&(types[_]=types[BracketStack[et]]=nt),b=et;break}}else{if(BracketStack.length==189)break;BracketStack[b++]=_,BracketStack[b++]=$,BracketStack[b++]=k}else if((_e=types[_])==2||_e==1){let et=_e==a;k=et?0:1;for(let tt=b-3;tt>=0;tt-=3){let nt=BracketStack[tt+2];if(nt&2)break;if(et)BracketStack[tt+2]|=2;else{if(nt&4)break;BracketStack[tt+2]|=4}}}for(let _=0;_b;){let j=$,_e=types[--$]!=2;for(;$>b&&_e==(types[$-1]!=2);)$--;d.push(new BidiSpan($,j,_e?2:1))}else d.push(new BidiSpan(b,_,0))}else for(let _=0;_1)for(let k of this.points)k.node==e&&k.pos>this.text.length&&(k.pos-=_-1);a=d+_}}readNode(e){if(e.cmIgnore)return;let s=ContentView.get(e),a=s&&s.overrideDOMText;if(a!=null){this.findPointInside(e,a.length);for(let c=a.iter();!c.next().done;)c.lineBreak?this.lineBreak():this.append(c.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,s){for(let a of this.points)a.node==e&&e.childNodes[a.offset]==s&&(a.pos=this.text.length)}findPointInside(e,s){for(let a of this.points)(e.nodeType==3?a.node==e:e.contains(a.node))&&(a.pos=this.text.length+Math.min(s,a.offset))}}function isBlockElement(o){return o.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(o.nodeName)}class DOMPoint{constructor(e,s){this.node=e,this.offset=s,this.pos=-1}}class DocView extends ContentView{constructor(e){super(),this.view=e,this.compositionDeco=Decoration.none,this.decorations=[],this.pluginDecorationLength=0,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new LineView],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new ChangedRange(0,0,0,e.state.doc.length)],0)}get root(){return this.view.root}get editorView(){return this.view}get length(){return this.view.state.doc.length}update(e){let s=e.changedRanges;this.minWidth>0&&s.length&&(s.every(({fromA:_,toA:b})=>bthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.view.inputState.composing<0?this.compositionDeco=Decoration.none:(e.transactions.length||this.dirty)&&(this.compositionDeco=computeCompositionDeco(this.view,e.changes)),(browser.ie||browser.chrome)&&!this.compositionDeco.size&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let a=this.decorations,c=this.updateDeco(),d=findChangedDeco(a,c,e.changes);return s=ChangedRange.extendWithRanges(s,d),this.dirty==0&&s.length==0?!1:(this.updateInner(s,e.startState.doc.length),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,s){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,s);let{observer:a}=this.view;a.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight+"px",this.dom.style.minWidth=this.minWidth?this.minWidth+"px":"";let d=browser.chrome||browser.ios?{node:a.selectionRange.focusNode,written:!1}:void 0;this.sync(d),this.dirty=0,d&&(d.written||a.selectionRange.focusNode!=d.node)&&(this.forceSelection=!0),this.dom.style.height=""});let c=[];if(this.view.viewport.from||this.view.viewport.to=0?e[c]:null;if(!d)break;let{fromA:_,toA:b,fromB:k,toB:$}=d,{content:j,breakAtStart:_e,openStart:et,openEnd:tt}=ContentBuilder.build(this.view.state.doc,k,$,this.decorations,this.pluginDecorationLength),{i:nt,off:st}=a.findPos(b,1),{i:rt,off:it}=a.findPos(_,-1);replaceRange(this,rt,it,nt,st,j,_e,et,tt)}}updateSelection(e=!1,s=!1){if(e&&this.view.observer.readSelectionRange(),!(s||this.mayControlSelection())||browser.ios&&this.view.inputState.rapidCompositionStart)return;let a=this.forceSelection;this.forceSelection=!1;let c=this.view.state.selection.main,d=this.domAtPos(c.anchor),_=c.empty?d:this.domAtPos(c.head);if(browser.gecko&&c.empty&&betweenUneditable(d)){let k=document.createTextNode("");this.view.observer.ignore(()=>d.node.insertBefore(k,d.node.childNodes[d.offset]||null)),d=_=new DOMPos(k,0),a=!0}let b=this.view.observer.selectionRange;(a||!b.focusNode||!isEquivalentPosition(d.node,d.offset,b.anchorNode,b.anchorOffset)||!isEquivalentPosition(_.node,_.offset,b.focusNode,b.focusOffset))&&(this.view.observer.ignore(()=>{browser.android&&browser.chrome&&this.dom.contains(b.focusNode)&&inUneditable(b.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let k=getSelection(this.root);if(c.empty){if(browser.gecko){let $=nextToUneditable(d.node,d.offset);if($&&$!=3){let j=nearbyTextNode(d.node,d.offset,$==1?1:-1);j&&(d=new DOMPos(j,$==1?0:j.nodeValue.length))}}k.collapse(d.node,d.offset),c.bidiLevel!=null&&b.cursorBidiLevel!=null&&(b.cursorBidiLevel=c.bidiLevel)}else if(k.extend)k.collapse(d.node,d.offset),k.extend(_.node,_.offset);else{let $=document.createRange();c.anchor>c.head&&([d,_]=[_,d]),$.setEnd(_.node,_.offset),$.setStart(d.node,d.offset),k.removeAllRanges(),k.addRange($)}}),this.view.observer.setSelectionRange(d,_)),this.impreciseAnchor=d.precise?null:new DOMPos(b.anchorNode,b.anchorOffset),this.impreciseHead=_.precise?null:new DOMPos(b.focusNode,b.focusOffset)}enforceCursorAssoc(){if(this.compositionDeco.size)return;let e=this.view.state.selection.main,s=getSelection(this.root);if(!e.empty||!e.assoc||!s.modify)return;let a=LineView.find(this,e.head);if(!a)return;let c=a.posAtStart;if(e.head==c||e.head==c+a.length)return;let d=this.coordsAt(e.head,-1),_=this.coordsAt(e.head,1);if(!d||!_||d.bottom>_.top)return;let b=this.domAtPos(e.head+e.assoc);s.collapse(b.node,b.offset),s.modify("move",e.assoc<0?"forward":"backward","lineboundary")}mayControlSelection(){return this.view.state.facet(editable)?this.root.activeElement==this.dom:hasSelection(this.dom,this.view.observer.selectionRange)}nearest(e){for(let s=e;s;){let a=ContentView.get(s);if(a&&a.rootView==this)return a;s=s.parentNode}return null}posFromDOM(e,s){let a=this.nearest(e);if(!a)throw new RangeError("Trying to find position for a DOM position outside of the document");return a.localPosFromDOM(e,s)+a.posAtStart}domAtPos(e){let{i:s,off:a}=this.childCursor().findPos(e,-1);for(;s_||e==_&&d.type!=BlockType.WidgetBefore&&d.type!=BlockType.WidgetAfter&&(!c||s==2||this.children[c-1].breakAfter||this.children[c-1].type==BlockType.WidgetBefore&&s>-2))return d.coordsAt(e-_,s);a=_}}measureVisibleLineHeights(){let e=[],{from:s,to:a}=this.view.viewState.viewport,c=this.view.contentDOM.clientWidth,d=c>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,_=-1;for(let b=0,k=0;ka)break;if(b>=s){let _e=$.dom.getBoundingClientRect();if(e.push(_e.height),d){let et=$.dom.lastChild,tt=et?clientRectsFor(et):[];if(tt.length){let nt=tt[tt.length-1],st=this.view.textDirection==Direction.LTR?nt.right-_e.left:_e.right-nt.left;st>_&&(_=st,this.minWidth=c,this.minWidthFrom=b,this.minWidthTo=j)}}}b=j+$.breakAfter}return e}measureTextSize(){for(let c of this.children)if(c instanceof LineView){let d=c.measureTextSize();if(d)return d}let e=document.createElement("div"),s,a;return e.className="cm-line",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let c=clientRectsFor(e.firstChild)[0];s=e.getBoundingClientRect().height,a=c?c.width/27:7,e.remove()}),{lineHeight:s,charWidth:a}}childCursor(e=this.length){let s=this.children.length;return s&&(e-=this.children[--s].length),new ChildCursor(this.children,e,s)}computeBlockGapDeco(){let e=[],s=this.view.viewState;for(let a=0,c=0;;c++){let d=c==s.viewports.length?null:s.viewports[c],_=d?d.from-1:this.length;if(_>a){let b=s.lineBlockAt(_).bottom-s.lineBlockAt(a).top;e.push(Decoration.replace({widget:new BlockGapWidget(b),block:!0,inclusive:!0,isBlockGap:!0}).range(a,_))}if(!d)break;a=d.to+1}return Decoration.set(e)}updateDeco(){let e=this.view.pluginField(PluginField.decorations);return this.pluginDecorationLength=e.length,this.decorations=[...e,...this.view.state.facet(decorations),this.compositionDeco,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco]}scrollIntoView(e){let{range:s}=e,a=this.coordsAt(s.head,s.empty?s.assoc:s.head>s.anchor?-1:1),c;if(!a)return;!s.empty&&(c=this.coordsAt(s.anchor,s.anchor>s.head?-1:1))&&(a={left:Math.min(a.left,c.left),top:Math.min(a.top,c.top),right:Math.max(a.right,c.right),bottom:Math.max(a.bottom,c.bottom)});let d=0,_=0,b=0,k=0;for(let j of this.view.pluginField(PluginField.scrollMargins))if(j){let{left:_e,right:et,top:tt,bottom:nt}=j;_e!=null&&(d=Math.max(d,_e)),et!=null&&(_=Math.max(_,et)),tt!=null&&(b=Math.max(b,tt)),nt!=null&&(k=Math.max(k,nt))}let $={left:a.left-d,top:a.top-b,right:a.right+_,bottom:a.bottom+k};scrollRectIntoView(this.view.scrollDOM,$,s.head0&&s<=0)o=o.childNodes[e-1],e=maxOffset(o);else if(o.nodeType==1&&e=0)o=o.childNodes[e],e=0;else return null}}function nextToUneditable(o,e){return o.nodeType!=1?0:(e&&o.childNodes[e-1].contentEditable=="false"?1:0)|(e0;){let $=findClusterBreak(c.text,_,!1);if(a(c.text.slice($,_))!=k)break;_=$}for(;bo?e.left-o:Math.max(0,o-e.right)}function getdy(o,e){return e.top>o?e.top-o:Math.max(0,o-e.bottom)}function yOverlap(o,e){return o.tope.top+1}function upTop(o,e){return eo.bottom?{top:o.top,left:o.left,right:o.right,bottom:e}:o}function domPosAtCoords(o,e,s){let a,c,d,_,b,k,$,j;for(let tt=o.firstChild;tt;tt=tt.nextSibling){let nt=clientRectsFor(tt);for(let st=0;stat||_==at&&d>it)&&(a=tt,c=rt,d=it,_=at),it==0?s>rt.bottom&&(!$||$.bottomrt.top)&&(k=tt,j=rt):$&&yOverlap($,rt)?$=upBot($,rt.bottom):j&&yOverlap(j,rt)&&(j=upTop(j,rt.top))}}if($&&$.bottom>=s?(a=b,c=$):j&&j.top<=s&&(a=k,c=j),!a)return{node:o,offset:0};let _e=Math.max(c.left,Math.min(c.right,e));if(a.nodeType==3)return domPosInText(a,_e,s);if(!d&&a.contentEditable=="true")return domPosAtCoords(a,_e,s);let et=Array.prototype.indexOf.call(o.childNodes,a)+(e>=(c.left+c.right)/2?1:0);return{node:o,offset:et}}function domPosInText(o,e,s){let a=o.nodeValue.length,c=-1,d=1e9,_=0;for(let b=0;bs?j.top-s:s-j.bottom)-1;if(j.left-1<=e&&j.right+1>=e&&_e=(j.left+j.right)/2,tt=et;if((browser.chrome||browser.gecko)&&textRange(o,b).getBoundingClientRect().left==j.right&&(tt=!et),_e<=0)return{node:o,offset:b+(tt?1:0)};c=b+(tt?1:0),d=_e}}}return{node:o,offset:c>-1?c:_>0?o.nodeValue.length:0}}function posAtCoords(o,{x:e,y:s},a,c=-1){var d;let _=o.contentDOM.getBoundingClientRect(),b=_.top+o.viewState.paddingTop,k,{docHeight:$}=o.viewState,j=s-b;if(j<0)return 0;if(j>$)return o.state.doc.length;for(let it=o.defaultLineHeight/2,at=!1;k=o.elementAtHeight(j),k.type!=BlockType.Text;)for(;j=c>0?k.bottom+it:k.top-it,!(j>=0&&j<=$);){if(at)return a?null:0;at=!0,c=-c}s=b+j;let _e=k.from;if(_eo.viewport.to)return o.viewport.to==o.state.doc.length?o.state.doc.length:a?null:posAtCoordsImprecise(o,_,k,e,s);let et=o.dom.ownerDocument,tt=o.root.elementFromPoint?o.root:et,nt=tt.elementFromPoint(e,s);nt&&!o.contentDOM.contains(nt)&&(nt=null),nt||(e=Math.max(_.left+1,Math.min(_.right-1,e)),nt=tt.elementFromPoint(e,s),nt&&!o.contentDOM.contains(nt)&&(nt=null));let st,rt=-1;if(nt&&((d=o.docView.nearest(nt))===null||d===void 0?void 0:d.isEditable)!=!1){if(et.caretPositionFromPoint){let it=et.caretPositionFromPoint(e,s);it&&({offsetNode:st,offset:rt}=it)}else if(et.caretRangeFromPoint){let it=et.caretRangeFromPoint(e,s);it&&({startContainer:st,startOffset:rt}=it,browser.safari&&isSuspiciousCaretResult(st,rt,e)&&(st=void 0))}}if(!st||!o.docView.dom.contains(st)){let it=LineView.find(o.docView,_e);if(!it)return j>k.top+k.height/2?k.to:k.from;({node:st,offset:rt}=domPosAtCoords(it.dom,e,s))}return o.docView.posFromDOM(st,rt)}function posAtCoordsImprecise(o,e,s,a,c){let d=Math.round((a-e.left)*o.defaultCharacterWidth);o.lineWrapping&&s.height>o.defaultLineHeight*1.5&&(d+=Math.floor((c-s.top)/o.defaultLineHeight)*o.viewState.heightOracle.lineLength);let _=o.state.sliceDoc(s.from,s.to);return s.from+findColumn(_,d,o.state.tabSize)}function isSuspiciousCaretResult(o,e,s){let a;if(o.nodeType!=3||e!=(a=o.nodeValue.length))return!1;for(let c=o.nextSibling;c;c=c.nextSibling)if(c.nodeType!=1||c.nodeName!="BR")return!1;return textRange(o,a-1,a).getBoundingClientRect().left>s}function moveToLineBoundary(o,e,s,a){let c=o.state.doc.lineAt(e.head),d=!a||!o.lineWrapping?null:o.coordsAtPos(e.assoc<0&&e.head>c.from?e.head-1:e.head);if(d){let k=o.dom.getBoundingClientRect(),$=o.posAtCoords({x:s==(o.textDirection==Direction.LTR)?k.right-1:k.left+1,y:(d.top+d.bottom)/2});if($!=null)return EditorSelection.cursor($,s?-1:1)}let _=LineView.find(o.docView,e.head),b=_?s?_.posAtEnd:_.posAtStart:s?c.to:c.from;return EditorSelection.cursor(b,s?-1:1)}function moveByChar(o,e,s,a){let c=o.state.doc.lineAt(e.head),d=o.bidiSpans(c);for(let _=e,b=null;;){let k=moveVisually(c,d,o.textDirection,_,s),$=movedOver;if(!k){if(c.number==(s?o.state.doc.lines:1))return _;$=` -`,c=o.state.doc.line(c.number+(s?1:-1)),d=o.bidiSpans(c),k=EditorSelection.cursor(s?c.from:c.to)}if(b){if(!b($))return _}else{if(!a)return k;b=a($)}_=k}}function byGroup(o,e,s){let a=o.state.charCategorizer(e),c=a(s);return d=>{let _=a(d);return c==CharCategory.Space&&(c=_),c==_}}function moveVertically(o,e,s,a){let c=e.head,d=s?1:-1;if(c==(s?o.state.doc.length:0))return EditorSelection.cursor(c,e.assoc);let _=e.goalColumn,b,k=o.contentDOM.getBoundingClientRect(),$=o.coordsAtPos(c),j=o.documentTop;if($)_==null&&(_=$.left-k.left),b=d<0?$.top:$.bottom;else{let tt=o.viewState.lineBlockAt(c-j);_==null&&(_=Math.min(k.right-k.left,o.defaultCharacterWidth*(c-tt.from))),b=(d<0?tt.top:tt.bottom)+j}let _e=k.left+_,et=a!=null?a:o.defaultLineHeight>>1;for(let tt=0;;tt+=10){let nt=b+(et+tt)*d,st=posAtCoords(o,{x:_e,y:nt},!1,d);if(ntk.bottom||(d<0?stc))return EditorSelection.cursor(st,e.assoc,void 0,_)}}function skipAtoms(o,e,s){let a=o.pluginField(PluginField.atomicRanges);for(;;){let c=!1;for(let d of a)d.between(s.from-1,s.from+1,(_,b,k)=>{s.from>_&&s.froms.from?EditorSelection.cursor(_,1):EditorSelection.cursor(b,-1),c=!0)});if(!c)return s}}class InputState{constructor(e){this.lastKeyCode=0,this.lastKeyTime=0,this.pendingIOSKey=void 0,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.registeredEvents=[],this.customHandlers=[],this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.rapidCompositionStart=!1,this.mouseSelection=null;for(let s in handlers){let a=handlers[s];e.contentDOM.addEventListener(s,c=>{!eventBelongsToEditor(e,c)||this.ignoreDuringComposition(c)||s=="keydown"&&this.keydown(e,c)||(this.mustFlushObserver(c)&&e.observer.forceFlush(),this.runCustomHandlers(s,e,c)?c.preventDefault():a(e,c))}),this.registeredEvents.push(s)}this.notifiedFocused=e.hasFocus,this.ensureHandlers(e),browser.safari&&e.contentDOM.addEventListener("input",()=>null)}setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}ensureHandlers(e){let s=this.customHandlers=e.pluginField(domEventHandlers);for(let a of s)for(let c in a.handlers)this.registeredEvents.indexOf(c)<0&&c!="scroll"&&(this.registeredEvents.push(c),e.contentDOM.addEventListener(c,d=>{!eventBelongsToEditor(e,d)||this.runCustomHandlers(c,e,d)&&d.preventDefault()}))}runCustomHandlers(e,s,a){for(let c of this.customHandlers){let d=c.handlers[e];if(d)try{if(d.call(c.plugin,a,s)||a.defaultPrevented)return!0}catch(_){logException(s.state,_)}}return!1}runScrollHandlers(e,s){for(let a of this.customHandlers){let c=a.handlers.scroll;if(c)try{c.call(a.plugin,s,e)}catch(d){logException(e.state,d)}}}keydown(e,s){if(this.lastKeyCode=s.keyCode,this.lastKeyTime=Date.now(),s.keyCode==9&&Date.now()c.keyCode==s.keyCode))&&!(s.ctrlKey||s.altKey||s.metaKey)&&!s.synthetic?(this.pendingIOSKey=a,setTimeout(()=>this.flushIOSKey(e),250),!0):!1}flushIOSKey(e){let s=this.pendingIOSKey;return s?(this.pendingIOSKey=void 0,dispatchKey(e.contentDOM,s.key,s.keyCode)):!1}ignoreDuringComposition(e){return/^key/.test(e.type)?this.composing>0?!0:browser.safari&&Date.now()-this.compositionEndedAt<500?(this.compositionEndedAt=0,!0):!1:!1}mustFlushObserver(e){return e.type=="keydown"&&e.keyCode!=229||e.type=="compositionend"&&!browser.ios}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}const PendingKeys=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],modifierCodes=[16,17,18,20,91,92,224,225];class MouseSelection{constructor(e,s,a,c){this.view=e,this.style=a,this.mustSelect=c,this.lastEvent=s;let d=e.contentDOM.ownerDocument;d.addEventListener("mousemove",this.move=this.move.bind(this)),d.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=s.shiftKey,this.multiple=e.state.facet(EditorState.allowMultipleSelections)&&addsSelectionRange(e,s),this.dragMove=dragMovesSelection(e,s),this.dragging=isInPrimarySelection(e,s)&&getClickType(s)==1?null:!1,this.dragging===!1&&(s.preventDefault(),this.select(s))}move(e){if(e.buttons==0)return this.destroy();this.dragging===!1&&this.select(this.lastEvent=e)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=null}select(e){let s=this.style.get(e,this.extend,this.multiple);(this.mustSelect||!s.eq(this.view.state.selection)||s.main.assoc!=this.view.state.selection.main.assoc)&&this.view.dispatch({selection:s,userEvent:"select.pointer",scrollIntoView:!0}),this.mustSelect=!1}update(e){e.docChanged&&this.dragging&&(this.dragging=this.dragging.map(e.changes)),this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function addsSelectionRange(o,e){let s=o.state.facet(clickAddsSelectionRange);return s.length?s[0](e):browser.mac?e.metaKey:e.ctrlKey}function dragMovesSelection(o,e){let s=o.state.facet(dragMovesSelection$1);return s.length?s[0](e):browser.mac?!e.altKey:!e.ctrlKey}function isInPrimarySelection(o,e){let{main:s}=o.state.selection;if(s.empty)return!1;let a=getSelection(o.root);if(a.rangeCount==0)return!0;let c=a.getRangeAt(0).getClientRects();for(let d=0;d=e.clientX&&_.top<=e.clientY&&_.bottom>=e.clientY)return!0}return!1}function eventBelongsToEditor(o,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let s=e.target,a;s!=o.contentDOM;s=s.parentNode)if(!s||s.nodeType==11||(a=ContentView.get(s))&&a.ignoreEvent(e))return!1;return!0}const handlers=Object.create(null),brokenClipboardAPI=browser.ie&&browser.ie_version<15||browser.ios&&browser.webkit_version<604;function capturePaste(o){let e=o.dom.parentNode;if(!e)return;let s=e.appendChild(document.createElement("textarea"));s.style.cssText="position: fixed; left: -10000px; top: 10px",s.focus(),setTimeout(()=>{o.focus(),s.remove(),doPaste(o,s.value)},50)}function doPaste(o,e){let{state:s}=o,a,c=1,d=s.toText(e),_=d.lines==s.selection.ranges.length;if(lastLinewiseCopy!=null&&s.selection.ranges.every(k=>k.empty)&&lastLinewiseCopy==d.toString()){let k=-1;a=s.changeByRange($=>{let j=s.doc.lineAt($.from);if(j.from==k)return{range:$};k=j.from;let _e=s.toText((_?d.line(c++).text:e)+s.lineBreak);return{changes:{from:j.from,insert:_e},range:EditorSelection.cursor($.from+_e.length)}})}else _?a=s.changeByRange(k=>{let $=d.line(c++);return{changes:{from:k.from,to:k.to,insert:$.text},range:EditorSelection.cursor(k.from+$.length)}}):a=s.replaceSelection(d);o.dispatch(a,{userEvent:"input.paste",scrollIntoView:!0})}handlers.keydown=(o,e)=>{o.inputState.setSelectionOrigin("select"),e.keyCode==27?o.inputState.lastEscPress=Date.now():modifierCodes.indexOf(e.keyCode)<0&&(o.inputState.lastEscPress=0)};let lastTouch=0;handlers.touchstart=(o,e)=>{lastTouch=Date.now(),o.inputState.setSelectionOrigin("select.pointer")};handlers.touchmove=o=>{o.inputState.setSelectionOrigin("select.pointer")};handlers.mousedown=(o,e)=>{if(o.observer.flush(),lastTouch>Date.now()-2e3&&getClickType(e)==1)return;let s=null;for(let a of o.state.facet(mouseSelectionStyle))if(s=a(o,e),s)break;if(!s&&e.button==0&&(s=basicMouseSelection(o,e)),s){let a=o.root.activeElement!=o.contentDOM;a&&o.observer.ignore(()=>focusPreventScroll(o.contentDOM)),o.inputState.startMouseSelection(new MouseSelection(o,e,s,a))}};function rangeForClick(o,e,s,a){if(a==1)return EditorSelection.cursor(e,s);if(a==2)return groupAt(o.state,e,s);{let c=LineView.find(o.docView,e),d=o.state.doc.lineAt(c?c.posAtEnd:e),_=c?c.posAtStart:d.from,b=c?c.posAtEnd:d.to;return bo>=e.top&&o<=e.bottom,inside=(o,e,s)=>insideY(e,s)&&o>=s.left&&o<=s.right;function findPositionSide(o,e,s,a){let c=LineView.find(o.docView,e);if(!c)return 1;let d=e-c.posAtStart;if(d==0)return 1;if(d==c.length)return-1;let _=c.coordsAt(d,-1);if(_&&inside(s,a,_))return-1;let b=c.coordsAt(d,1);return b&&inside(s,a,b)?1:_&&insideY(a,_)?-1:1}function queryPos(o,e){let s=o.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:s,bias:findPositionSide(o,s,e.clientX,e.clientY)}}const BadMouseDetail=browser.ie&&browser.ie_version<=11;let lastMouseDown=null,lastMouseDownCount=0,lastMouseDownTime=0;function getClickType(o){if(!BadMouseDetail)return o.detail;let e=lastMouseDown,s=lastMouseDownTime;return lastMouseDown=o,lastMouseDownTime=Date.now(),lastMouseDownCount=!e||s>Date.now()-400&&Math.abs(e.clientX-o.clientX)<2&&Math.abs(e.clientY-o.clientY)<2?(lastMouseDownCount+1)%3:1}function basicMouseSelection(o,e){let s=queryPos(o,e),a=getClickType(e),c=o.state.selection,d=s,_=e;return{update(b){b.docChanged&&(s&&(s.pos=b.changes.mapPos(s.pos)),c=c.map(b.changes),_=null)},get(b,k,$){let j;if(_&&b.clientX==_.clientX&&b.clientY==_.clientY?j=d:(j=d=queryPos(o,b),_=b),!j||!s)return c;let _e=rangeForClick(o,j.pos,j.bias,a);if(s.pos!=j.pos&&!k){let et=rangeForClick(o,s.pos,s.bias,a),tt=Math.min(et.from,_e.from),nt=Math.max(et.to,_e.to);_e=tt<_e.from?EditorSelection.range(tt,nt):EditorSelection.range(nt,tt)}return k?c.replaceRange(c.main.extend(_e.from,_e.to)):$?c.addRange(_e):EditorSelection.create([_e])}}}handlers.dragstart=(o,e)=>{let{selection:{main:s}}=o.state,{mouseSelection:a}=o.inputState;a&&(a.dragging=s),e.dataTransfer&&(e.dataTransfer.setData("Text",o.state.sliceDoc(s.from,s.to)),e.dataTransfer.effectAllowed="copyMove")};function dropText(o,e,s,a){if(!s)return;let c=o.posAtCoords({x:e.clientX,y:e.clientY},!1);e.preventDefault();let{mouseSelection:d}=o.inputState,_=a&&d&&d.dragging&&d.dragMove?{from:d.dragging.from,to:d.dragging.to}:null,b={from:c,insert:s},k=o.state.changes(_?[_,b]:b);o.focus(),o.dispatch({changes:k,selection:{anchor:k.mapPos(c,-1),head:k.mapPos(c,1)},userEvent:_?"move.drop":"input.drop"})}handlers.drop=(o,e)=>{if(!e.dataTransfer)return;if(o.state.readOnly)return e.preventDefault();let s=e.dataTransfer.files;if(s&&s.length){e.preventDefault();let a=Array(s.length),c=0,d=()=>{++c==s.length&&dropText(o,e,a.filter(_=>_!=null).join(o.state.lineBreak),!1)};for(let _=0;_{/[\x00-\x08\x0e-\x1f]{2}/.test(b.result)||(a[_]=b.result),d()},b.readAsText(s[_])}}else dropText(o,e,e.dataTransfer.getData("Text"),!0)};handlers.paste=(o,e)=>{if(o.state.readOnly)return e.preventDefault();o.observer.flush();let s=brokenClipboardAPI?null:e.clipboardData;s?(doPaste(o,s.getData("text/plain")),e.preventDefault()):capturePaste(o)};function captureCopy(o,e){let s=o.dom.parentNode;if(!s)return;let a=s.appendChild(document.createElement("textarea"));a.style.cssText="position: fixed; left: -10000px; top: 10px",a.value=e,a.focus(),a.selectionEnd=e.length,a.selectionStart=0,setTimeout(()=>{a.remove(),o.focus()},50)}function copiedRange(o){let e=[],s=[],a=!1;for(let c of o.selection.ranges)c.empty||(e.push(o.sliceDoc(c.from,c.to)),s.push(c));if(!e.length){let c=-1;for(let{from:d}of o.selection.ranges){let _=o.doc.lineAt(d);_.number>c&&(e.push(_.text),s.push({from:_.from,to:Math.min(o.doc.length,_.to+1)})),c=_.number}a=!0}return{text:e.join(o.lineBreak),ranges:s,linewise:a}}let lastLinewiseCopy=null;handlers.copy=handlers.cut=(o,e)=>{let{text:s,ranges:a,linewise:c}=copiedRange(o.state);if(!s&&!c)return;lastLinewiseCopy=c?s:null;let d=brokenClipboardAPI?null:e.clipboardData;d?(e.preventDefault(),d.clearData(),d.setData("text/plain",s)):captureCopy(o,s),e.type=="cut"&&!o.state.readOnly&&o.dispatch({changes:a,scrollIntoView:!0,userEvent:"delete.cut"})};handlers.focus=handlers.blur=o=>{setTimeout(()=>{o.hasFocus!=o.inputState.notifiedFocused&&o.update([])},10)};function forceClearComposition(o,e){if(o.docView.compositionDeco.size){o.inputState.rapidCompositionStart=e;try{o.update([])}finally{o.inputState.rapidCompositionStart=!1}}}handlers.compositionstart=handlers.compositionupdate=o=>{o.inputState.compositionFirstChange==null&&(o.inputState.compositionFirstChange=!0),o.inputState.composing<0&&(o.inputState.composing=0,o.docView.compositionDeco.size&&(o.observer.flush(),forceClearComposition(o,!0)))};handlers.compositionend=o=>{o.inputState.composing=-1,o.inputState.compositionEndedAt=Date.now(),o.inputState.compositionFirstChange=null,setTimeout(()=>{o.inputState.composing<0&&forceClearComposition(o,!1)},50)};handlers.contextmenu=o=>{o.inputState.lastContextMenu=Date.now()};handlers.beforeinput=(o,e)=>{var s;let a;if(browser.chrome&&browser.android&&(a=PendingKeys.find(c=>c.inputType==e.inputType))&&(o.observer.delayAndroidKey(a.key,a.keyCode),a.key=="Backspace"||a.key=="Delete")){let c=((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0;setTimeout(()=>{var d;(((d=window.visualViewport)===null||d===void 0?void 0:d.height)||0)>c+10&&o.hasFocus&&(o.contentDOM.blur(),o.focus())},100)}};const wrappingWhiteSpace=["pre-wrap","normal","pre-line","break-spaces"];class HeightOracle{constructor(){this.doc=Text.empty,this.lineWrapping=!1,this.direction=Direction.LTR,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.lineLength=30,this.heightChanged=!1}heightForGap(e,s){let a=this.doc.lineAt(s).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(a+=Math.ceil((s-e-a*this.lineLength*.5)/this.lineLength)),this.lineHeight*a}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForStyle(e,s){return wrappingWhiteSpace.indexOf(e)>-1!=this.lineWrapping||this.direction!=s}mustRefreshForHeights(e){let s=!1;for(let a=0;a-1,k=Math.round(a)!=Math.round(this.lineHeight)||this.lineWrapping!=b||this.direction!=s;if(this.lineWrapping=b,this.direction=s,this.lineHeight=a,this.charWidth=c,this.lineLength=d,k){this.heightSamples={};for(let $=0;$<_.length;$++){let j=_[$];j<0?$++:this.heightSamples[Math.floor(j*10)]=!0}}return k}}class MeasuredHeights{constructor(e,s){this.from=e,this.heights=s,this.index=0}get more(){return this.indexs.moveY(e)):this.type):this}}var QueryType$1=function(o){return o[o.ByPos=0]="ByPos",o[o.ByHeight=1]="ByHeight",o[o.ByPosNoHeight=2]="ByPosNoHeight",o}(QueryType$1||(QueryType$1={}));const Epsilon=.001;class HeightMap{constructor(e,s,a=2){this.length=e,this.height=s,this.flags=a}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e,s){this.height!=s&&(Math.abs(this.height-s)>Epsilon&&(e.heightChanged=!0),this.height=s)}replace(e,s,a){return HeightMap.of(a)}decomposeLeft(e,s){s.push(this)}decomposeRight(e,s){s.push(this)}applyChanges(e,s,a,c){let d=this;for(let _=c.length-1;_>=0;_--){let{fromA:b,toA:k,fromB:$,toB:j}=c[_],_e=d.lineAt(b,QueryType$1.ByPosNoHeight,s,0,0),et=_e.to>=k?_e:d.lineAt(k,QueryType$1.ByPosNoHeight,s,0,0);for(j+=et.to-k,k=et.to;_>0&&_e.from<=c[_-1].toA;)b=c[_-1].fromA,$=c[_-1].fromB,_--,b<_e.from&&(_e=d.lineAt(b,QueryType$1.ByPosNoHeight,s,0,0));$+=_e.from-b,b=_e.from;let tt=NodeBuilder.build(a,e,$,j);d=d.replace(b,k,tt)}return d.updateHeight(a,0)}static empty(){return new HeightMapText(0,0)}static of(e){if(e.length==1)return e[0];let s=0,a=e.length,c=0,d=0;for(;;)if(s==a)if(c>d*2){let b=e[s-1];b.break?e.splice(--s,1,b.left,null,b.right):e.splice(--s,1,b.left,b.right),a+=1+b.break,c-=b.size}else if(d>c*2){let b=e[a];b.break?e.splice(a,1,b.left,null,b.right):e.splice(a,1,b.left,b.right),a+=2+b.break,d-=b.size}else break;else if(c0){let d=a[a.length-1];d instanceof HeightMapGap?a[a.length-1]=new HeightMapGap(d.length+c):a.push(null,new HeightMapGap(c-1))}if(e>0){let d=a[0];d instanceof HeightMapGap?a[0]=new HeightMapGap(e+d.length):a.unshift(new HeightMapGap(e-1),null)}return HeightMap.of(a)}decomposeLeft(e,s){s.push(new HeightMapGap(e-1),null)}decomposeRight(e,s){s.push(null,new HeightMapGap(this.length-e-1))}updateHeight(e,s=0,a=!1,c){let d=s+this.length;if(c&&c.from<=s+this.length&&c.more){let _=[],b=Math.max(s,c.from),k=-1,$=e.heightChanged;for(c.from>s&&_.push(new HeightMapGap(c.from-s-1).updateHeight(e,s));b<=d&&c.more;){let _e=e.doc.lineAt(b).length;_.length&&_.push(null);let et=c.heights[c.index++];k==-1?k=et:Math.abs(et-k)>=Epsilon&&(k=-2);let tt=new HeightMapText(_e,et);tt.outdated=!1,_.push(tt),b+=_e+1}b<=d&&_.push(null,new HeightMapGap(d-b).updateHeight(e,b));let j=HeightMap.of(_);return e.heightChanged=$||k<0||Math.abs(j.height-this.height)>=Epsilon||Math.abs(k-this.lines(e.doc,s).lineHeight)>=Epsilon,j}else(a||this.outdated)&&(this.setHeight(e,e.heightForGap(s,s+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class HeightMapBranch extends HeightMap{constructor(e,s,a){super(e.length+s+a.length,e.height+a.height,s|(e.outdated||a.outdated?2:0)),this.left=e,this.right=a,this.size=e.size+a.size}get break(){return this.flags&1}blockAt(e,s,a,c){let d=a+this.left.height;return eb))return $;let j=s==QueryType$1.ByPosNoHeight?QueryType$1.ByPosNoHeight:QueryType$1.ByPos;return k?$.join(this.right.lineAt(b,j,a,_,b)):this.left.lineAt(b,j,a,c,d).join($)}forEachLine(e,s,a,c,d,_){let b=c+this.left.height,k=d+this.left.length+this.break;if(this.break)e=k&&this.right.forEachLine(e,s,a,b,k,_);else{let $=this.lineAt(k,QueryType$1.ByPos,a,c,d);e<$.from&&this.left.forEachLine(e,$.from-1,a,c,d,_),$.to>=e&&$.from<=s&&_($),s>$.to&&this.right.forEachLine($.to+1,s,a,b,k,_)}}replace(e,s,a){let c=this.left.length+this.break;if(sthis.left.length)return this.balanced(this.left,this.right.replace(e-c,s-c,a));let d=[];e>0&&this.decomposeLeft(e,d);let _=d.length;for(let b of a)d.push(b);if(e>0&&mergeGaps(d,_-1),s=a&&s.push(null)),e>a&&this.right.decomposeLeft(e-a,s)}decomposeRight(e,s){let a=this.left.length,c=a+this.break;if(e>=c)return this.right.decomposeRight(e-c,s);e2*s.size||s.size>2*e.size?HeightMap.of(this.break?[e,null,s]:[e,s]):(this.left=e,this.right=s,this.height=e.height+s.height,this.outdated=e.outdated||s.outdated,this.size=e.size+s.size,this.length=e.length+this.break+s.length,this)}updateHeight(e,s=0,a=!1,c){let{left:d,right:_}=this,b=s+d.length+this.break,k=null;return c&&c.from<=s+d.length&&c.more?k=d=d.updateHeight(e,s,a,c):d.updateHeight(e,s,a),c&&c.from<=b+_.length&&c.more?k=_=_.updateHeight(e,b,a,c):_.updateHeight(e,b,a),k?this.balanced(d,_):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function mergeGaps(o,e){let s,a;o[e]==null&&(s=o[e-1])instanceof HeightMapGap&&(a=o[e+1])instanceof HeightMapGap&&o.splice(e-1,3,new HeightMapGap(s.length+1+a.length))}const relevantWidgetHeight=5;class NodeBuilder{constructor(e,s){this.pos=e,this.oracle=s,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,s){if(this.lineStart>-1){let a=Math.min(s,this.lineEnd),c=this.nodes[this.nodes.length-1];c instanceof HeightMapText?c.length+=a-this.pos:(a>this.pos||!this.isCovered)&&this.nodes.push(new HeightMapText(a-this.pos,-1)),this.writtenTo=a,s>a&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=s}point(e,s,a){if(e=relevantWidgetHeight)&&this.addLineDeco(c,d)}else s>e&&this.span(e,s);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:s}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=s,this.writtenToe&&this.nodes.push(new HeightMapText(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,s){let a=new HeightMapGap(s-e);return this.oracle.doc.lineAt(e).to==s&&(a.flags|=4),a}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof HeightMapText)return e;let s=new HeightMapText(0,-1);return this.nodes.push(s),s}addBlock(e){this.enterLine(),e.type==BlockType.WidgetAfter&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,e.type!=BlockType.WidgetBefore&&(this.covering=e)}addLineDeco(e,s){let a=this.ensureLine();a.length+=s,a.collapsed+=s,a.widgetHeight=Math.max(a.widgetHeight,e),this.writtenTo=this.pos=this.pos+s}finish(e){let s=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(s instanceof HeightMapText)&&!this.isCovered?this.nodes.push(new HeightMapText(0,-1)):(this.writtenTo$.clientHeight||$.scrollWidth>$.clientWidth)&&j.overflow!="visible"){let _e=$.getBoundingClientRect();a=Math.max(a,_e.left),c=Math.min(c,_e.right),d=Math.max(d,_e.top),_=Math.min(_,_e.bottom)}k=j.position=="absolute"||j.position=="fixed"?$.offsetParent:$.parentNode}else if(k.nodeType==11)k=k.host;else break;return{left:a-s.left,right:Math.max(a,c)-s.left,top:d-(s.top+e),bottom:Math.max(d,_)-(s.top+e)}}function fullPixelRange(o,e){let s=o.getBoundingClientRect();return{left:0,right:s.right-s.left,top:e,bottom:s.bottom-(s.top+e)}}class LineGap{constructor(e,s,a){this.from=e,this.to=s,this.size=a}static same(e,s){if(e.length!=s.length)return!1;for(let a=0;as.draw(!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:s}=this.state.selection;for(let a=0;a<=1;a++){let c=a?s.head:s.anchor;if(!e.some(({from:d,to:_})=>c>=d&&c<=_)){let{from:d,to:_}=this.lineBlockAt(c);e.push(new Viewport(d,_))}}this.viewports=e.sort((a,c)=>a.from-c.from),this.scaler=this.heightMap.height<=7e6?IdScaler:new BigScaler(this.heightOracle.doc,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.state.doc,0,0,e=>{this.viewportLines.push(this.scaler.scale==1?e:scaleBlock(e,this.scaler))})}update(e,s=null){let a=this.state;this.state=e.state;let c=this.state.facet(decorations),d=e.changedRanges,_=ChangedRange.extendWithRanges(d,heightRelevantDecoChanges(e.startState.facet(decorations),c,e?e.changes:ChangeSet.empty(this.state.doc.length))),b=this.heightMap.height;this.heightMap=this.heightMap.applyChanges(c,a.doc,this.heightOracle.setDoc(this.state.doc),_),this.heightMap.height!=b&&(e.flags|=2);let k=_.length?this.mapViewport(this.viewport,e.changes):this.viewport;(s&&(s.range.headk.to)||!this.viewportIsAppropriate(k))&&(k=this.getViewport(0,s));let $=!e.changes.empty||e.flags&2||k.from!=this.viewport.from||k.to!=this.viewport.to;this.viewport=k,this.updateForViewport(),$&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(),s&&(this.scrollTarget=s),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&(this.mustEnforceCursorAssoc=!0)}measure(e){let s=e.contentDOM,a=window.getComputedStyle(s),c=this.heightOracle,d=a.whiteSpace,_=a.direction=="rtl"?Direction.RTL:Direction.LTR,b=this.heightOracle.mustRefreshForStyle(d,_),k=b||this.mustMeasureContent||this.contentDOMHeight!=s.clientHeight,$=0,j=0;if(this.editorWidth!=e.scrollDOM.clientWidth&&(c.lineWrapping&&(k=!0),this.editorWidth=e.scrollDOM.clientWidth,$|=8),k){this.mustMeasureContent=!1,this.contentDOMHeight=s.clientHeight;let it=parseInt(a.paddingTop)||0,at=parseInt(a.paddingBottom)||0;(this.paddingTop!=it||this.paddingBottom!=at)&&($|=8,this.paddingTop=it,this.paddingBottom=at)}let _e=(this.printing?fullPixelRange:visiblePixelRange)(s,this.paddingTop),et=_e.top-this.pixelViewport.top,tt=_e.bottom-this.pixelViewport.bottom;this.pixelViewport=_e;let nt=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(nt!=this.inView&&(this.inView=nt,nt&&(k=!0)),!this.inView)return 0;let st=s.clientWidth;if((this.contentDOMWidth!=st||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=st,this.editorHeight=e.scrollDOM.clientHeight,$|=8),k){let it=e.docView.measureVisibleLineHeights();if(c.mustRefreshForHeights(it)&&(b=!0),b||c.lineWrapping&&Math.abs(st-this.contentDOMWidth)>c.charWidth){let{lineHeight:at,charWidth:ot}=e.docView.measureTextSize();b=c.refresh(d,_,at,ot,st/ot,it),b&&(e.docView.minWidth=0,$|=8)}et>0&&tt>0?j=Math.max(et,tt):et<0&&tt<0&&(j=Math.min(et,tt)),c.heightChanged=!1,this.heightMap=this.heightMap.updateHeight(c,0,b,new MeasuredHeights(this.viewport.from,it)),c.heightChanged&&($|=2)}let rt=!this.viewportIsAppropriate(this.viewport,j)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return rt&&(this.viewport=this.getViewport(j,this.scrollTarget)),this.updateForViewport(),($&2||rt)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(b?[]:this.lineGaps)),$|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),$}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,s){let a=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),c=this.heightMap,d=this.state.doc,{visibleTop:_,visibleBottom:b}=this,k=new Viewport(c.lineAt(_-a*1e3,QueryType$1.ByHeight,d,0,0).from,c.lineAt(b+(1-a)*1e3,QueryType$1.ByHeight,d,0,0).to);if(s){let{head:$}=s.range;if($k.to){let j=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),_e=c.lineAt($,QueryType$1.ByPos,d,0,0),et;s.y=="center"?et=(_e.top+_e.bottom)/2-j/2:s.y=="start"||s.y=="nearest"&&$=b+Math.max(10,Math.min(a,250)))&&c>_-2*1e3&&da.from&&b.push({from:a.from,to:d}),_=a.from&&k.from<=a.to&&cutRange(b,k.from-10,k.from+10),!k.empty&&k.to>=a.from&&k.to<=a.to&&cutRange(b,k.to-10,k.to+10);for(let{from:$,to:j}of b)j-$>1e3&&s.push(find(e,_e=>_e.from>=a.from&&_e.to<=a.to&&Math.abs(_e.from-$)<1e3&&Math.abs(_e.to-j)<1e3)||new LineGap($,j,this.gapSize(a,$,j,c)))}return s}gapSize(e,s,a,c){let d=findFraction(c,a)-findFraction(c,s);return this.heightOracle.lineWrapping?e.height*d:c.total*this.heightOracle.charWidth*d}updateLineGaps(e){LineGap.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=Decoration.set(e.map(s=>s.draw(this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.state.facet(decorations);this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let s=[];RangeSet.spans(e,this.viewport.from,this.viewport.to,{span(c,d){s.push({from:c,to:d})},point(){}},20);let a=s.length!=this.visibleRanges.length||this.visibleRanges.some((c,d)=>c.from!=s[d].from||c.to!=s[d].to);return this.visibleRanges=s,a?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(s=>s.from<=e&&s.to>=e)||scaleBlock(this.heightMap.lineAt(e,QueryType$1.ByPos,this.state.doc,0,0),this.scaler)}lineBlockAtHeight(e){return scaleBlock(this.heightMap.lineAt(this.scaler.fromDOM(e),QueryType$1.ByHeight,this.state.doc,0,0),this.scaler)}elementAtHeight(e){return scaleBlock(this.heightMap.blockAt(this.scaler.fromDOM(e),this.state.doc,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Viewport{constructor(e,s){this.from=e,this.to=s}}function lineStructure(o,e,s){let a=[],c=o,d=0;return RangeSet.spans(s.facet(decorations),o,e,{span(){},point(_,b){_>c&&(a.push({from:c,to:_}),d+=_-c),c=b}},20),c=1)return e[e.length-1].to;let a=Math.floor(o*s);for(let c=0;;c++){let{from:d,to:_}=e[c],b=_-d;if(a<=b)return d+a;a-=b}}function findFraction(o,e){let s=0;for(let{from:a,to:c}of o.ranges){if(e<=c){s+=e-a;break}s+=c-a}return s/o.total}function cutRange(o,e,s){for(let a=0;ae){let d=[];c.froms&&d.push({from:s,to:c.to}),o.splice(a,1,...d),a+=d.length-1}}}function find(o,e){for(let s of o)if(e(s))return s}const IdScaler={toDOM(o){return o},fromDOM(o){return o},scale:1};class BigScaler{constructor(e,s,a){let c=0,d=0,_=0;this.viewports=a.map(({from:b,to:k})=>{let $=s.lineAt(b,QueryType$1.ByPos,e,0,0).top,j=s.lineAt(k,QueryType$1.ByPos,e,0,0).bottom;return c+=j-$,{from:b,to:k,top:$,bottom:j,domTop:0,domBottom:0}}),this.scale=(7e6-c)/(s.height-c);for(let b of this.viewports)b.domTop=_+(b.top-d)*this.scale,_=b.domBottom=b.domTop+(b.bottom-b.top),d=b.bottom}toDOM(e){for(let s=0,a=0,c=0;;s++){let d=sscaleBlock(c,e)):o.type)}const theme=Facet.define({combine:o=>o.join(" ")}),darkTheme=Facet.define({combine:o=>o.indexOf(!0)>-1}),baseThemeID=StyleModule.newName(),baseLightID=StyleModule.newName(),baseDarkID=StyleModule.newName(),lightDarkIDs={"&light":"."+baseLightID,"&dark":"."+baseDarkID};function buildTheme(o,e,s){return new StyleModule(e,{finish(a){return/&/.test(a)?a.replace(/&\w*/,c=>{if(c=="&")return o;if(!s||!s[c])throw new RangeError(`Unsupported selector: ${c}`);return s[c]}):o+" "+a}})}const baseTheme$8=buildTheme("."+baseThemeID,{"&.cm-editor":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,minHeight:"100%",display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere"},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 4px"},".cm-selectionLayer":{zIndex:-1,contain:"size style"},".cm-selectionBackground":{position:"absolute"},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{zIndex:100,contain:"size style",pointerEvents:"none"},"&.cm-focused .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{visibility:"hidden"},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{visibility:"hidden"},"100%":{}},".cm-cursor, .cm-dropCursor":{position:"absolute",borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},"&.cm-focused .cm-cursor":{display:"block"},"&light .cm-activeLine":{backgroundColor:"#f3f9ff"},"&dark .cm-activeLine":{backgroundColor:"#223039"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},lightDarkIDs),observeOptions={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},useCharData=browser.ie&&browser.ie_version<=11;class DOMObserver{constructor(e,s,a){this.view=e,this.onChange=s,this.onScrollChanged=a,this.active=!1,this.selectionRange=new DOMSelectionState,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.scrollTargets=[],this.intersection=null,this.resize=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(c=>{for(let d of c)this.queue.push(d);(browser.ie&&browser.ie_version<=11||browser.ios&&e.composing)&&c.some(d=>d.type=="childList"&&d.removedNodes.length||d.type=="characterData"&&d.oldValue.length>d.target.nodeValue.length)?this.flushSoon():this.flush()}),useCharData&&(this.onCharData=c=>{this.queue.push({target:c.target,type:"characterData",oldValue:c.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),window.addEventListener("resize",this.onResize=this.onResize.bind(this)),typeof ResizeObserver=="function"&&(this.resize=new ResizeObserver(()=>{this.view.docView.lastUpdate{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),c.length>0&&c[c.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(c=>{c.length>0&&c[c.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange(),this.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}onScroll(e){this.intersecting&&this.flush(!1),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(){this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500)}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((s,a)=>s!=e[a]))){this.gapIntersection.disconnect();for(let s of e)this.gapIntersection.observe(s);this.gaps=e}}onSelectionChange(e){if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:s}=this,a=this.selectionRange;if(s.state.facet(editable)?s.root.activeElement!=this.dom:!hasSelection(s.dom,a))return;let c=a.anchorNode&&s.docView.nearest(a.anchorNode);c&&c.ignoreEvent(e)||((browser.ie&&browser.ie_version<=11||browser.android&&browser.chrome)&&!s.state.selection.main.empty&&a.focusNode&&isEquivalentPosition(a.focusNode,a.focusOffset,a.anchorNode,a.anchorOffset)?this.flushSoon():this.flush(!1))}readSelectionRange(){let{root:e}=this.view,s=getSelection(e),a=browser.safari&&e.nodeType==11&&deepActiveElement()==this.view.contentDOM&&safariSelectionRangeHack(this.view)||s;return this.selectionRange.eq(a)?!1:(this.selectionRange.setRange(a),this.selectionChanged=!0)}setSelectionRange(e,s){this.selectionRange.set(e.node,e.offset,s.node,s.offset),this.selectionChanged=!1}listenForScroll(){this.parentCheck=-1;let e=0,s=null;for(let a=this.dom;a;)if(a.nodeType==1)!s&&e{let a=this.delayedAndroidKey;this.delayedAndroidKey=null;let c=this.view.state;dispatchKey(this.view.contentDOM,a.key,a.keyCode)?this.processRecords():this.flush(),this.view.state==c&&this.view.update([])}),(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:s})}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=window.setTimeout(()=>{this.delayedFlush=-1,this.flush()},20))}forceFlush(){this.delayedFlush>=0&&(window.clearTimeout(this.delayedFlush),this.delayedFlush=-1,this.flush())}processRecords(){let e=this.queue;for(let d of this.observer.takeRecords())e.push(d);e.length&&(this.queue=[]);let s=-1,a=-1,c=!1;for(let d of e){let _=this.readMutation(d);!_||(_.typeOver&&(c=!0),s==-1?{from:s,to:a}=_:(s=Math.min(_.from,s),a=Math.max(_.to,a)))}return{from:s,to:a,typeOver:c}}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return;e&&this.readSelectionRange();let{from:s,to:a,typeOver:c}=this.processRecords(),d=this.selectionChanged&&hasSelection(this.dom,this.selectionRange);if(s<0&&!d)return;this.selectionChanged=!1;let _=this.view.state;this.onChange(s,a,c),this.view.state==_&&this.view.update([])}readMutation(e){let s=this.view.docView.nearest(e.target);if(!s||s.ignoreMutation(e))return null;if(s.markDirty(e.type=="attributes"),e.type=="attributes"&&(s.dirty|=4),e.type=="childList"){let a=findChild(s,e.previousSibling||e.target.previousSibling,-1),c=findChild(s,e.nextSibling||e.target.nextSibling,1);return{from:a?s.posAfter(a):s.posAtStart,to:c?s.posBefore(c):s.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:s.posAtStart,to:s.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}destroy(){var e,s,a;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(s=this.gapIntersection)===null||s===void 0||s.disconnect(),(a=this.resize)===null||a===void 0||a.disconnect();for(let c of this.scrollTargets)c.removeEventListener("scroll",this.onScroll);window.removeEventListener("scroll",this.onScroll),window.removeEventListener("resize",this.onResize),window.removeEventListener("beforeprint",this.onPrint),this.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout)}}function findChild(o,e,s){for(;e;){let a=ContentView.get(e);if(a&&a.parent==o)return a;let c=e.parentNode;e=c!=o.dom?c:s>0?e.nextSibling:e.previousSibling}return null}function safariSelectionRangeHack(o){let e=null;function s(k){k.preventDefault(),k.stopImmediatePropagation(),e=k.getTargetRanges()[0]}if(o.contentDOM.addEventListener("beforeinput",s,!0),document.execCommand("indent"),o.contentDOM.removeEventListener("beforeinput",s,!0),!e)return null;let a=e.startContainer,c=e.startOffset,d=e.endContainer,_=e.endOffset,b=o.docView.domAtPos(o.state.selection.main.anchor);return isEquivalentPosition(b.node,b.offset,d,_)&&([a,c,d,_]=[d,_,a,c]),{anchorNode:a,anchorOffset:c,focusNode:d,focusOffset:_}}function applyDOMChange(o,e,s,a){let c,d,_=o.state.selection.main;if(e>-1){let b=o.docView.domBoundsAround(e,s,0);if(!b||o.state.readOnly)return;let{from:k,to:$}=b,j=o.docView.impreciseHead||o.docView.impreciseAnchor?[]:selectionPoints(o),_e=new DOMReader(j,o.state);_e.readRange(b.startDOM,b.endDOM);let et=_.from,tt=null;(o.inputState.lastKeyCode===8&&o.inputState.lastKeyTime>Date.now()-100||browser.android&&_e.text.length<$-k)&&(et=_.to,tt="end");let nt=findDiff(o.state.doc.sliceString(k,$,LineBreakPlaceholder),_e.text,et-k,tt);nt&&(browser.chrome&&o.inputState.lastKeyCode==13&&nt.toB==nt.from+2&&_e.text.slice(nt.from,nt.toB)==LineBreakPlaceholder+LineBreakPlaceholder&&nt.toB--,c={from:k+nt.from,to:k+nt.toA,insert:Text.of(_e.text.slice(nt.from,nt.toB).split(LineBreakPlaceholder))}),d=selectionFromPoints(j,k)}else if(o.hasFocus||!o.state.facet(editable)){let b=o.observer.selectionRange,{impreciseHead:k,impreciseAnchor:$}=o.docView,j=k&&k.node==b.focusNode&&k.offset==b.focusOffset||!contains(o.contentDOM,b.focusNode)?o.state.selection.main.head:o.docView.posFromDOM(b.focusNode,b.focusOffset),_e=$&&$.node==b.anchorNode&&$.offset==b.anchorOffset||!contains(o.contentDOM,b.anchorNode)?o.state.selection.main.anchor:o.docView.posFromDOM(b.anchorNode,b.anchorOffset);(j!=_.head||_e!=_.anchor)&&(d=EditorSelection.single(_e,j))}if(!(!c&&!d)){if(!c&&a&&!_.empty&&d&&d.main.empty?c={from:_.from,to:_.to,insert:o.state.doc.slice(_.from,_.to)}:c&&c.from>=_.from&&c.to<=_.to&&(c.from!=_.from||c.to!=_.to)&&_.to-_.from-(c.to-c.from)<=4&&(c={from:_.from,to:_.to,insert:o.state.doc.slice(_.from,c.from).append(c.insert).append(o.state.doc.slice(c.to,_.to))}),c){let b=o.state;if(browser.ios&&o.inputState.flushIOSKey(o)||browser.android&&(c.from==_.from&&c.to==_.to&&c.insert.length==1&&c.insert.lines==2&&dispatchKey(o.contentDOM,"Enter",13)||c.from==_.from-1&&c.to==_.to&&c.insert.length==0&&dispatchKey(o.contentDOM,"Backspace",8)||c.from==_.from&&c.to==_.to+1&&c.insert.length==0&&dispatchKey(o.contentDOM,"Delete",46)))return;let k=c.insert.toString();if(o.state.facet(inputHandler$1).some(_e=>_e(o,c.from,c.to,k)))return;o.inputState.composing>=0&&o.inputState.composing++;let $;if(c.from>=_.from&&c.to<=_.to&&c.to-c.from>=(_.to-_.from)/3&&(!d||d.main.empty&&d.main.from==c.from+c.insert.length)&&o.inputState.composing<0){let _e=_.fromc.to?b.sliceDoc(c.to,_.to):"";$=b.replaceSelection(o.state.toText(_e+c.insert.sliceString(0,void 0,o.state.lineBreak)+et))}else{let _e=b.changes(c),et=d&&!b.selection.main.eq(d.main)&&d.main.to<=_e.newLength?d.main:void 0;if(b.selection.ranges.length>1&&o.inputState.composing>=0&&c.to<=_.to&&c.to>=_.to-10){let tt=o.state.sliceDoc(c.from,c.to),nt=compositionSurroundingNode(o)||o.state.doc.lineAt(_.head),st=_.to-c.to,rt=_.to-_.from;$=b.changeByRange(it=>{if(it.from==_.from&&it.to==_.to)return{changes:_e,range:et||it.map(_e)};let at=it.to-st,ot=at-tt.length;if(it.to-it.from!=rt||o.state.sliceDoc(ot,at)!=tt||nt&&it.to>=nt.from&&it.from<=nt.to)return{range:it};let pt=b.changes({from:ot,to:at,insert:c.insert}),ct=it.to-_.to;return{changes:pt,range:et?EditorSelection.range(Math.max(0,et.anchor+ct),Math.max(0,et.head+ct)):it.map(pt)}})}else $={changes:_e,selection:et&&b.selection.replaceRange(et)}}let j="input.type";o.composing&&(j+=".compose",o.inputState.compositionFirstChange&&(j+=".start",o.inputState.compositionFirstChange=!1)),o.dispatch($,{scrollIntoView:!0,userEvent:j})}else if(d&&!d.main.eq(_)){let b=!1,k="select";o.inputState.lastSelectionTime>Date.now()-50&&(o.inputState.lastSelectionOrigin=="select"&&(b=!0),k=o.inputState.lastSelectionOrigin),o.dispatch({selection:d,scrollIntoView:b,userEvent:k})}}}function findDiff(o,e,s,a){let c=Math.min(o.length,e.length),d=0;for(;d0&&b>0&&o.charCodeAt(_-1)==e.charCodeAt(b-1);)_--,b--;if(a=="end"){let k=Math.max(0,d-Math.min(_,b));s-=_+k-d}return _=_?d-s:0,b=d+(b-_),_=d):b=b?d-s:0,_=d+(_-b),b=d),{from:d,toA:_,toB:b}}function selectionPoints(o){let e=[];if(o.root.activeElement!=o.contentDOM)return e;let{anchorNode:s,anchorOffset:a,focusNode:c,focusOffset:d}=o.observer.selectionRange;return s&&(e.push(new DOMPoint(s,a)),(c!=s||d!=a)&&e.push(new DOMPoint(c,d))),e}function selectionFromPoints(o,e){if(o.length==0)return null;let s=o[0].pos,a=o.length==2?o[1].pos:s;return s>-1&&a>-1?EditorSelection.single(s+e,a+e):null}class EditorView{constructor(e={}){this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.style.cssText="position: absolute; top: -10000px",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),this._dispatch=e.dispatch||(s=>this.update([s])),this.dispatch=this.dispatch.bind(this),this.root=e.root||getRoot(e.parent)||document,this.viewState=new ViewState(e.state||EditorState.create()),this.plugins=this.state.facet(viewPlugin).map(s=>new PluginInstance(s));for(let s of this.plugins)s.update(this);this.observer=new DOMObserver(this,(s,a,c)=>{applyDOMChange(this,s,a,c)},s=>{this.inputState.runScrollHandlers(this,s),this.observer.intersecting&&this.measure()}),this.inputState=new InputState(this),this.docView=new DocView(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),e.parent&&e.parent.appendChild(this.dom)}get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}dispatch(...e){this._dispatch(e.length==1&&e[0]instanceof Transaction?e[0]:this.state.update(...e))}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let s=!1,a,c=this.state;for(let _ of e){if(_.startState!=c)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");c=_.state}if(this.destroyed){this.viewState.state=c;return}if(c.facet(EditorState.phrases)!=this.state.facet(EditorState.phrases))return this.setState(c);a=new ViewUpdate(this,c,e);let d=this.viewState.scrollTarget;try{this.updateState=2;for(let _ of e){if(d&&(d=d.map(_.changes)),_.scrollIntoView){let{main:b}=_.state.selection;d=new ScrollTarget(b.empty?b:EditorSelection.cursor(b.head,b.head>b.anchor?-1:1))}for(let b of _.effects)b.is(scrollTo)?d=new ScrollTarget(b.value):b.is(centerOn)?d=new ScrollTarget(b.value,"center"):b.is(scrollIntoView$1)&&(d=b.value)}this.viewState.update(a,d),this.bidiCache=CachedOrder.update(this.bidiCache,a.changes),a.empty||(this.updatePlugins(a),this.inputState.update(a)),s=this.docView.update(a),this.state.facet(styleModule)!=this.styleModules&&this.mountStyles(),this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(s,e.some(_=>_.isUserEvent("select.pointer")))}finally{this.updateState=0}if(a.startState.facet(theme)!=a.state.facet(theme)&&(this.viewState.mustMeasureContent=!0),(s||d||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!a.empty)for(let _ of this.state.facet(updateListener))_(a)}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let s=this.hasFocus;try{for(let a of this.plugins)a.destroy(this);this.viewState=new ViewState(e),this.plugins=e.facet(viewPlugin).map(a=>new PluginInstance(a)),this.pluginMap.clear();for(let a of this.plugins)a.update(this);this.docView=new DocView(this),this.inputState.ensureHandlers(this),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}s&&this.focus(),this.requestMeasure()}updatePlugins(e){let s=e.startState.facet(viewPlugin),a=e.state.facet(viewPlugin);if(s!=a){let c=[];for(let d of a){let _=s.indexOf(d);if(_<0)c.push(new PluginInstance(d));else{let b=this.plugins[_];b.mustUpdate=e,c.push(b)}}for(let d of this.plugins)d.mustUpdate!=e&&d.destroy(this);this.plugins=c,this.pluginMap.clear(),this.inputState.ensureHandlers(this)}else for(let c of this.plugins)c.mustUpdate=e;for(let c=0;c-1&&cancelAnimationFrame(this.measureScheduled),this.measureScheduled=0,e&&this.observer.flush();let s=null;try{for(let a=0;;a++){this.updateState=1;let c=this.viewport,d=this.viewState.measure(this);if(!d&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let _=[];d&4||([this.measureRequests,_]=[_,this.measureRequests]);let b=_.map(_e=>{try{return _e.read(this)}catch(et){return logException(this.state,et),BadMeasure}}),k=new ViewUpdate(this,this.state),$=!1,j=!1;k.flags|=d,s?s.flags|=d:s=k,this.updateState=2,k.empty||(this.updatePlugins(k),this.inputState.update(k),this.updateAttrs(),$=this.docView.update(k));for(let _e=0;_e<_.length;_e++)if(b[_e]!=BadMeasure)try{let et=_[_e];et.write&&et.write(b[_e],this)}catch(et){logException(this.state,et)}if(this.viewState.scrollTarget&&(this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,j=!0),$&&this.docView.updateSelection(!0),this.viewport.from==c.from&&this.viewport.to==c.to&&!j&&this.measureRequests.length==0)break}}finally{this.updateState=0,this.measureScheduled=-1}if(s&&!s.empty)for(let a of this.state.facet(updateListener))a(s)}get themeClasses(){return baseThemeID+" "+(this.state.facet(darkTheme)?baseDarkID:baseLightID)+" "+this.state.facet(theme)}updateAttrs(){let e=attrsFromFacet(this,editorAttributes,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),s={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(editable)?"true":"false",class:"cm-content",style:`${browser.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(s["aria-readonly"]="true"),attrsFromFacet(this,contentAttributes,s),this.observer.ignore(()=>{updateAttrs(this.contentDOM,this.contentAttrs,s),updateAttrs(this.dom,this.editorAttrs,e)}),this.editorAttrs=e,this.contentAttrs=s}showAnnouncements(e){let s=!0;for(let a of e)for(let c of a.effects)if(c.is(EditorView.announce)){s&&(this.announceDOM.textContent=""),s=!1;let d=this.announceDOM.appendChild(document.createElement("div"));d.textContent=c.value}}mountStyles(){this.styleModules=this.state.facet(styleModule),StyleModule.mount(this.root,this.styleModules.concat(baseTheme$8).reverse())}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=requestAnimationFrame(()=>this.measure())),e){if(e.key!=null){for(let s=0;sa.spec==e)||null),s&&s.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}blockAtHeight(e,s){let a=ensureTop(s,this);return this.elementAtHeight(e-a).moveY(a)}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}visualLineAtHeight(e,s){let a=ensureTop(s,this);return this.lineBlockAtHeight(e-a).moveY(a)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}viewportLines(e,s){let a=ensureTop(s,this);for(let c of this.viewportLineBlocks)e(c.moveY(a))}get viewportLineBlocks(){return this.viewState.viewportLines}visualLineAt(e,s=0){return this.lineBlockAt(e).moveY(s+this.viewState.paddingTop)}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,s,a){return skipAtoms(this,e,moveByChar(this,e,s,a))}moveByGroup(e,s){return skipAtoms(this,e,moveByChar(this,e,s,a=>byGroup(this,e.head,a)))}moveToLineBoundary(e,s,a=!0){return moveToLineBoundary(this,e,s,a)}moveVertically(e,s,a){return skipAtoms(this,e,moveVertically(this,e,s,a))}scrollPosIntoView(e){this.dispatch({effects:scrollTo.of(EditorSelection.cursor(e))})}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,s=0){return this.docView.posFromDOM(e,s)}posAtCoords(e,s=!0){return this.readMeasured(),posAtCoords(this,e,s)}coordsAtPos(e,s=1){this.readMeasured();let a=this.docView.coordsAt(e,s);if(!a||a.left==a.right)return a;let c=this.state.doc.lineAt(e),d=this.bidiSpans(c),_=d[BidiSpan.find(d,e-c.from,-1,s)];return flattenRect(a,_.dir==Direction.LTR==s>0)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.heightOracle.direction}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>MaxBidiLine)return trivialOrder(e.length);let s=this.textDirection;for(let c of this.bidiCache)if(c.from==e.from&&c.dir==s)return c.order;let a=computeOrder(e.text,this.textDirection);return this.bidiCache.push(new CachedOrder(e.from,e.to,s,a)),a}get hasFocus(){var e;return(document.hasFocus()||browser.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{focusPreventScroll(this.contentDOM),this.docView.updateSelection()})}destroy(){for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,s={}){return scrollIntoView$1.of(new ScrollTarget(typeof e=="number"?EditorSelection.cursor(e):e,s.y,s.x,s.yMargin,s.xMargin))}static domEventHandlers(e){return ViewPlugin.define(()=>({}),{eventHandlers:e})}static theme(e,s){let a=StyleModule.newName(),c=[theme.of(a),styleModule.of(buildTheme(`.${a}`,e))];return s&&s.dark&&c.push(darkTheme.of(!0)),c}static baseTheme(e){return Prec.lowest(styleModule.of(buildTheme("."+baseThemeID,e,lightDarkIDs)))}}EditorView.scrollTo=scrollTo;EditorView.centerOn=centerOn;EditorView.styleModule=styleModule;EditorView.inputHandler=inputHandler$1;EditorView.exceptionSink=exceptionSink;EditorView.updateListener=updateListener;EditorView.editable=editable;EditorView.mouseSelectionStyle=mouseSelectionStyle;EditorView.dragMovesSelection=dragMovesSelection$1;EditorView.clickAddsSelectionRange=clickAddsSelectionRange;EditorView.decorations=decorations;EditorView.darkTheme=darkTheme;EditorView.contentAttributes=contentAttributes;EditorView.editorAttributes=editorAttributes;EditorView.lineWrapping=EditorView.contentAttributes.of({class:"cm-lineWrapping"});EditorView.announce=StateEffect.define();const MaxBidiLine=4096;function ensureTop(o,e){return(o==null?e.contentDOM.getBoundingClientRect().top:o)+e.viewState.paddingTop}const BadMeasure={};class CachedOrder{constructor(e,s,a,c){this.from=e,this.to=s,this.dir=a,this.order=c}static update(e,s){if(s.empty)return e;let a=[],c=e.length?e[e.length-1].dir:Direction.LTR;for(let d=Math.max(0,e.length-10);d=0;c--){let d=a[c],_=typeof d=="function"?d(o):d;_&&combineAttrs(_,s)}return s}const currentPlatform=browser.mac?"mac":browser.windows?"win":browser.linux?"linux":"key";function normalizeKeyName(o,e){const s=o.split(/-(?!$)/);let a=s[s.length-1];a=="Space"&&(a=" ");let c,d,_,b;for(let k=0;ka.concat(c),[]))),s}function runScopeHandlers(o,e,s){return runHandlers(getKeymap(o.state),e,o,s)}let storedPrefix=null;const PrefixTimeout=4e3;function buildKeymap(o,e=currentPlatform){let s=Object.create(null),a=Object.create(null),c=(_,b)=>{let k=a[_];if(k==null)a[_]=b;else if(k!=b)throw new Error("Key binding "+_+" is used both as a regular binding and as a multi-stroke prefix")},d=(_,b,k,$)=>{let j=s[_]||(s[_]=Object.create(null)),_e=b.split(/ (?!$)/).map(nt=>normalizeKeyName(nt,e));for(let nt=1;nt<_e.length;nt++){let st=_e.slice(0,nt).join(" ");c(st,!0),j[st]||(j[st]={preventDefault:!0,commands:[rt=>{let it=storedPrefix={view:rt,prefix:st,scope:_};return setTimeout(()=>{storedPrefix==it&&(storedPrefix=null)},PrefixTimeout),!0}]})}let et=_e.join(" ");c(et,!1);let tt=j[et]||(j[et]={preventDefault:!1,commands:[]});tt.commands.push(k),$&&(tt.preventDefault=!0)};for(let _ of o){let b=_[e]||_.key;if(!!b)for(let k of _.scope?_.scope.split(" "):["editor"])d(k,b,_.run,_.preventDefault),_.shift&&d(k,"Shift-"+b,_.shift,_.preventDefault)}return s}function runHandlers(o,e,s,a){let c=keyName(e),d=c.length==1&&c!=" ",_="",b=!1;storedPrefix&&storedPrefix.view==s&&storedPrefix.scope==a&&(_=storedPrefix.prefix+" ",(b=modifierCodes.indexOf(e.keyCode)<0)&&(storedPrefix=null));let k=_e=>{if(_e){for(let et of _e.commands)if(et(s))return!0;_e.preventDefault&&(b=!0)}return!1},$=o[a],j;if($){if(k($[_+modifiers(c,e,!d)]))return!0;if(d&&(e.shiftKey||e.altKey||e.metaKey)&&(j=base[e.keyCode])&&j!=c){if(k($[_+modifiers(j,e,!0)]))return!0}else if(d&&e.shiftKey&&k($[_+modifiers(c,e,!0)]))return!0}return b}const CanHidePrimary=!browser.ios,selectionConfig=Facet.define({combine(o){return combineConfig(o,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,s)=>Math.min(e,s),drawRangeCursor:(e,s)=>e||s})}});function drawSelection(o={}){return[selectionConfig.of(o),drawSelectionPlugin,hideNativeSelection]}class Piece{constructor(e,s,a,c,d){this.left=e,this.top=s,this.width=a,this.height=c,this.className=d}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width>=0&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}}const drawSelectionPlugin=ViewPlugin.fromClass(class{constructor(o){this.view=o,this.rangePieces=[],this.cursors=[],this.measureReq={read:this.readPos.bind(this),write:this.drawSel.bind(this)},this.selectionLayer=o.scrollDOM.appendChild(document.createElement("div")),this.selectionLayer.className="cm-selectionLayer",this.selectionLayer.setAttribute("aria-hidden","true"),this.cursorLayer=o.scrollDOM.appendChild(document.createElement("div")),this.cursorLayer.className="cm-cursorLayer",this.cursorLayer.setAttribute("aria-hidden","true"),o.requestMeasure(this.measureReq),this.setBlinkRate()}setBlinkRate(){this.cursorLayer.style.animationDuration=this.view.state.facet(selectionConfig).cursorBlinkRate+"ms"}update(o){let e=o.startState.facet(selectionConfig)!=o.state.facet(selectionConfig);(e||o.selectionSet||o.geometryChanged||o.viewportChanged)&&this.view.requestMeasure(this.measureReq),o.transactions.some(s=>s.scrollIntoView)&&(this.cursorLayer.style.animationName=this.cursorLayer.style.animationName=="cm-blink"?"cm-blink2":"cm-blink"),e&&this.setBlinkRate()}readPos(){let{state:o}=this.view,e=o.facet(selectionConfig),s=o.selection.ranges.map(c=>c.empty?[]:measureRange(this.view,c)).reduce((c,d)=>c.concat(d)),a=[];for(let c of o.selection.ranges){let d=c==o.selection.main;if(c.empty?!d||CanHidePrimary:e.drawRangeCursor){let _=measureCursor(this.view,c,d);_&&a.push(_)}}return{rangePieces:s,cursors:a}}drawSel({rangePieces:o,cursors:e}){if(o.length!=this.rangePieces.length||o.some((s,a)=>!s.eq(this.rangePieces[a]))){this.selectionLayer.textContent="";for(let s of o)this.selectionLayer.appendChild(s.draw());this.rangePieces=o}if(e.length!=this.cursors.length||e.some((s,a)=>!s.eq(this.cursors[a]))){let s=this.cursorLayer.children;if(s.length!==e.length){this.cursorLayer.textContent="";for(const a of e)this.cursorLayer.appendChild(a.draw())}else e.forEach((a,c)=>a.adjust(s[c]));this.cursors=e}}destroy(){this.selectionLayer.remove(),this.cursorLayer.remove()}}),themeSpec={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};CanHidePrimary&&(themeSpec[".cm-line"].caretColor="transparent !important");const hideNativeSelection=Prec.highest(EditorView.theme(themeSpec));function getBase(o){let e=o.scrollDOM.getBoundingClientRect();return{left:(o.textDirection==Direction.LTR?e.left:e.right-o.scrollDOM.clientWidth)-o.scrollDOM.scrollLeft,top:e.top-o.scrollDOM.scrollTop}}function wrappedLine(o,e,s){let a=EditorSelection.cursor(e);return{from:Math.max(s.from,o.moveToLineBoundary(a,!1,!0).from),to:Math.min(s.to,o.moveToLineBoundary(a,!0,!0).from),type:BlockType.Text}}function blockAt(o,e){let s=o.lineBlockAt(e);if(Array.isArray(s.type)){for(let a of s.type)if(a.to>e||a.to==e&&(a.to==s.to||a.type==BlockType.Text))return a}return s}function measureRange(o,e){if(e.to<=o.viewport.from||e.from>=o.viewport.to)return[];let s=Math.max(e.from,o.viewport.from),a=Math.min(e.to,o.viewport.to),c=o.textDirection==Direction.LTR,d=o.contentDOM,_=d.getBoundingClientRect(),b=getBase(o),k=window.getComputedStyle(d.firstChild),$=_.left+parseInt(k.paddingLeft)+Math.min(0,parseInt(k.textIndent)),j=_.right-parseInt(k.paddingRight),_e=blockAt(o,s),et=blockAt(o,a),tt=_e.type==BlockType.Text?_e:null,nt=et.type==BlockType.Text?et:null;if(o.lineWrapping&&(tt&&(tt=wrappedLine(o,s,tt)),nt&&(nt=wrappedLine(o,a,nt))),tt&&nt&&tt.from==nt.from)return rt(it(e.from,e.to,tt));{let ot=tt?it(e.from,null,tt):at(_e,!1),pt=nt?it(null,e.to,nt):at(et,!0),ct=[];return(tt||_e).to<(nt||et).from-1?ct.push(st($,ot.bottom,j,pt.top)):ot.bottomgt&&ft.from=Et)break;Dt>mt&&dt(Math.max(_t,mt),ot==null&&_t<=gt,Math.min(Dt,Et),pt==null&&Dt>=yt,At.dir)}if(mt=vt.to+1,mt>=Et)break}return ht.length==0&&dt(gt,ot==null,yt,pt==null,o.textDirection),{top:ut,bottom:lt,horizontal:ht}}function at(ot,pt){let ct=_.top+(pt?ot.top:ot.bottom);return{top:ct,bottom:ct,horizontal:[]}}}function measureCursor(o,e,s){let a=o.coordsAtPos(e.head,e.assoc||1);if(!a)return null;let c=getBase(o);return new Piece(a.left-c.left,a.top-c.top,-1,a.bottom-a.top,s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary")}function iterMatches(o,e,s,a,c){e.lastIndex=0;for(let d=o.iterRange(s,a),_=s,b;!d.next().done;_+=d.value.length)if(!d.lineBreak)for(;b=e.exec(d.value);)c(_+b.index,_+b.index+b[0].length,b)}function matchRanges(o,e){let s=o.visibleRanges;if(s.length==1&&s[0].from==o.viewport.from&&s[0].to==o.viewport.to)return s;let a=[];for(let{from:c,to:d}of s)c=Math.max(o.state.doc.lineAt(c).from,c-e),d=Math.min(o.state.doc.lineAt(d).to,d+e),a.length&&a[a.length-1].to>=c?a[a.length-1].to=d:a.push({from:c,to:d});return a}class MatchDecorator{constructor(e){let{regexp:s,decoration:a,boundary:c,maxLength:d=1e3}=e;if(!s.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");this.regexp=s,this.getDeco=typeof a=="function"?a:()=>a,this.boundary=c,this.maxLength=d}createDeco(e){let s=new RangeSetBuilder;for(let{from:a,to:c}of matchRanges(e,this.maxLength))iterMatches(e.state.doc,this.regexp,a,c,(d,_,b)=>s.add(d,_,this.getDeco(b,e,d)));return s.finish()}updateDeco(e,s){let a=1e9,c=-1;return e.docChanged&&e.changes.iterChanges((d,_,b,k)=>{k>e.view.viewport.from&&b1e3?this.createDeco(e.view):c>-1?this.updateRange(e.view,s.map(e.changes),a,c):s}updateRange(e,s,a,c){for(let d of e.visibleRanges){let _=Math.max(d.from,a),b=Math.min(d.to,c);if(b>_){let k=e.state.doc.lineAt(_),$=k.tok.from;_--)if(this.boundary.test(k.text[_-1-k.from])){j=_;break}for(;b<$.to;b++)if(this.boundary.test($.text[b-$.from])){_e=b;break}}let et=[],tt;if(k==$)for(this.regexp.lastIndex=j-k.from;(tt=this.regexp.exec(k.text))&&tt.index<_e-k.from;){let nt=tt.index+k.from;et.push(this.getDeco(tt,e,nt).range(nt,nt+tt[0].length))}else iterMatches(e.state.doc,this.regexp,j,_e,(nt,st,rt)=>et.push(this.getDeco(rt,e,nt).range(nt,st)));s=s.update({filterFrom:j,filterTo:_e,filter:(nt,st)=>nt_e,add:et})}}return s}}const UnicodeRegexpSupport=/x/.unicode!=null?"gu":"g",Specials=new RegExp(`[\0-\b --\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\uFEFF\uFFF9-\uFFFC]`,UnicodeRegexpSupport),Names={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let _supportsTabSize=null;function supportsTabSize(){var o;if(_supportsTabSize==null&&typeof document!="undefined"&&document.body){let e=document.body.style;_supportsTabSize=((o=e.tabSize)!==null&&o!==void 0?o:e.MozTabSize)!=null}return _supportsTabSize||!1}const specialCharConfig=Facet.define({combine(o){let e=combineConfig(o,{render:null,specialChars:Specials,addSpecialChars:null});return(e.replaceTabs=!supportsTabSize())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,UnicodeRegexpSupport)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,UnicodeRegexpSupport)),e}});function highlightSpecialChars(o={}){return[specialCharConfig.of(o),specialCharPlugin()]}let _plugin=null;function specialCharPlugin(){return _plugin||(_plugin=ViewPlugin.fromClass(class{constructor(o){this.view=o,this.decorations=Decoration.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(o.state.facet(specialCharConfig)),this.decorations=this.decorator.createDeco(o)}makeDecorator(o){return new MatchDecorator({regexp:o.specialChars,decoration:(e,s,a)=>{let{doc:c}=s.state,d=codePointAt(e[0],0);if(d==9){let _=c.lineAt(a),b=s.state.tabSize,k=countColumn(_.text,b,a-_.from);return Decoration.replace({widget:new TabWidget((b-k%b)*this.view.defaultCharacterWidth)})}return this.decorationCache[d]||(this.decorationCache[d]=Decoration.replace({widget:new SpecialCharWidget(o,d)}))},boundary:o.replaceTabs?void 0:/[^]/})}update(o){let e=o.state.facet(specialCharConfig);o.startState.facet(specialCharConfig)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(o.view)):this.decorations=this.decorator.updateDeco(o,this.decorations)}},{decorations:o=>o.decorations}))}const DefaultPlaceholder="\u2022";function placeholder$1(o){return o>=32?DefaultPlaceholder:o==10?"\u2424":String.fromCharCode(9216+o)}class SpecialCharWidget extends WidgetType{constructor(e,s){super(),this.options=e,this.code=s}eq(e){return e.code==this.code}toDOM(e){let s=placeholder$1(this.code),a=e.state.phrase("Control character")+" "+(Names[this.code]||"0x"+this.code.toString(16)),c=this.options.render&&this.options.render(this.code,a,s);if(c)return c;let d=document.createElement("span");return d.textContent=s,d.title=a,d.setAttribute("aria-label",a),d.className="cm-specialChar",d}ignoreEvent(){return!1}}class TabWidget extends WidgetType{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function highlightActiveLine(){return activeLineHighlighter}const lineDeco=Decoration.line({class:"cm-activeLine"}),activeLineHighlighter=ViewPlugin.fromClass(class{constructor(o){this.decorations=this.getDeco(o)}update(o){(o.docChanged||o.selectionSet)&&(this.decorations=this.getDeco(o.view))}getDeco(o){let e=-1,s=[];for(let a of o.state.selection.ranges){if(!a.empty)return Decoration.none;let c=o.lineBlockAt(a.head);c.from>e&&(s.push(lineDeco.range(c.from)),e=c.from)}return Decoration.set(s)}},{decorations:o=>o.decorations}),fromHistory=Annotation.define(),isolateHistory=Annotation.define(),invertedEffects=Facet.define(),historyConfig=Facet.define({combine(o){return combineConfig(o,{minDepth:100,newGroupDelay:500},{minDepth:Math.max,newGroupDelay:Math.min})}});function changeEnd(o){let e=0;return o.iterChangedRanges((s,a)=>e=a),e}const historyField_=StateField.define({create(){return HistoryState.empty},update(o,e){let s=e.state.facet(historyConfig),a=e.annotation(fromHistory);if(a){let k=e.docChanged?EditorSelection.single(changeEnd(e.changes)):void 0,$=HistEvent.fromTransaction(e,k),j=a.side,_e=j==0?o.undone:o.done;return $?_e=updateBranch(_e,_e.length,s.minDepth,$):_e=addSelection(_e,e.startState.selection),new HistoryState(j==0?a.rest:_e,j==0?_e:a.rest)}let c=e.annotation(isolateHistory);if((c=="full"||c=="before")&&(o=o.isolate()),e.annotation(Transaction.addToHistory)===!1)return e.changes.empty?o:o.addMapping(e.changes.desc);let d=HistEvent.fromTransaction(e),_=e.annotation(Transaction.time),b=e.annotation(Transaction.userEvent);return d?o=o.addChanges(d,_,b,s.newGroupDelay,s.minDepth):e.selection&&(o=o.addSelection(e.startState.selection,_,b,s.newGroupDelay)),(c=="full"||c=="after")&&(o=o.isolate()),o},toJSON(o){return{done:o.done.map(e=>e.toJSON()),undone:o.undone.map(e=>e.toJSON())}},fromJSON(o){return new HistoryState(o.done.map(HistEvent.fromJSON),o.undone.map(HistEvent.fromJSON))}});function history(o={}){return[historyField_,historyConfig.of(o),EditorView.domEventHandlers({beforeinput(e,s){let a=e.inputType=="historyUndo"?undo:e.inputType=="historyRedo"?redo:null;return a?(e.preventDefault(),a(s)):!1}})]}function cmd(o,e){return function({state:s,dispatch:a}){if(!e&&s.readOnly)return!1;let c=s.field(historyField_,!1);if(!c)return!1;let d=c.pop(o,s,e);return d?(a(d),!0):!1}}const undo=cmd(0,!1),redo=cmd(1,!1),undoSelection=cmd(0,!0),redoSelection=cmd(1,!0);class HistEvent{constructor(e,s,a,c,d){this.changes=e,this.effects=s,this.mapped=a,this.startSelection=c,this.selectionsAfter=d}setSelAfter(e){return new HistEvent(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,s,a;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(s=this.mapped)===null||s===void 0?void 0:s.toJSON(),startSelection:(a=this.startSelection)===null||a===void 0?void 0:a.toJSON(),selectionsAfter:this.selectionsAfter.map(c=>c.toJSON())}}static fromJSON(e){return new HistEvent(e.changes&&ChangeSet.fromJSON(e.changes),[],e.mapped&&ChangeDesc.fromJSON(e.mapped),e.startSelection&&EditorSelection.fromJSON(e.startSelection),e.selectionsAfter.map(EditorSelection.fromJSON))}static fromTransaction(e,s){let a=none$1;for(let c of e.startState.facet(invertedEffects)){let d=c(e);d.length&&(a=a.concat(d))}return!a.length&&e.changes.empty?null:new HistEvent(e.changes.invert(e.startState.doc),a,void 0,s||e.startState.selection,none$1)}static selection(e){return new HistEvent(void 0,none$1,void 0,void 0,e)}}function updateBranch(o,e,s,a){let c=e+1>s+20?e-s-1:0,d=o.slice(c,e);return d.push(a),d}function isAdjacent(o,e){let s=[],a=!1;return o.iterChangedRanges((c,d)=>s.push(c,d)),e.iterChangedRanges((c,d,_,b)=>{for(let k=0;k=$&&_<=j&&(a=!0)}}),a}function eqSelectionShape(o,e){return o.ranges.length==e.ranges.length&&o.ranges.filter((s,a)=>s.empty!=e.ranges[a].empty).length===0}function conc(o,e){return o.length?e.length?o.concat(e):o:e}const none$1=[],MaxSelectionsPerEvent=200;function addSelection(o,e){if(o.length){let s=o[o.length-1],a=s.selectionsAfter.slice(Math.max(0,s.selectionsAfter.length-MaxSelectionsPerEvent));return a.length&&a[a.length-1].eq(e)?o:(a.push(e),updateBranch(o,o.length-1,1e9,s.setSelAfter(a)))}else return[HistEvent.selection([e])]}function popSelection(o){let e=o[o.length-1],s=o.slice();return s[o.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),s}function addMappingToBranch(o,e){if(!o.length)return o;let s=o.length,a=none$1;for(;s;){let c=mapEvent(o[s-1],e,a);if(c.changes&&!c.changes.empty||c.effects.length){let d=o.slice(0,s);return d[s-1]=c,d}else e=c.mapped,s--,a=c.selectionsAfter}return a.length?[HistEvent.selection(a)]:none$1}function mapEvent(o,e,s){let a=conc(o.selectionsAfter.length?o.selectionsAfter.map(b=>b.map(e)):none$1,s);if(!o.changes)return HistEvent.selection(a);let c=o.changes.map(e),d=e.mapDesc(o.changes,!0),_=o.mapped?o.mapped.composeDesc(d):d;return new HistEvent(c,StateEffect.mapEffects(o.effects,e),_,o.startSelection.map(d),a)}const joinableUserEvent=/^(input\.type|delete)($|\.)/;class HistoryState{constructor(e,s,a=0,c=void 0){this.done=e,this.undone=s,this.prevTime=a,this.prevUserEvent=c}isolate(){return this.prevTime?new HistoryState(this.done,this.undone):this}addChanges(e,s,a,c,d){let _=this.done,b=_[_.length-1];return b&&b.changes&&!b.changes.empty&&e.changes&&(!a||joinableUserEvent.test(a))&&(!b.selectionsAfter.length&&s-this.prevTime0&&s-this.prevTime{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=NodeType.match(e)),s=>{let a=e(s);return a===void 0?null:[this,a]}}}NodeProp.closedBy=new NodeProp({deserialize:o=>o.split(" ")});NodeProp.openedBy=new NodeProp({deserialize:o=>o.split(" ")});NodeProp.group=new NodeProp({deserialize:o=>o.split(" ")});NodeProp.contextHash=new NodeProp({perNode:!0});NodeProp.lookAhead=new NodeProp({perNode:!0});NodeProp.mounted=new NodeProp({perNode:!0});const noProps=Object.create(null);class NodeType{constructor(e,s,a,c=0){this.name=e,this.props=s,this.id=a,this.flags=c}static define(e){let s=e.props&&e.props.length?Object.create(null):noProps,a=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),c=new NodeType(e.name||"",s,e.id,a);if(e.props){for(let d of e.props)if(Array.isArray(d)||(d=d(c)),d){if(d[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");s[d[0].id]=d[1]}}return c}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let s=this.prop(NodeProp.group);return s?s.indexOf(e)>-1:!1}return this.id==e}static match(e){let s=Object.create(null);for(let a in e)for(let c of a.split(" "))s[c]=e[a];return a=>{for(let c=a.prop(NodeProp.group),d=-1;d<(c?c.length:0);d++){let _=s[d<0?a.name:c[d]];if(_)return _}}}}NodeType.none=new NodeType("",Object.create(null),0,8);class NodeSet{constructor(e){this.types=e;for(let s=0;s_.node;;){let k=!1;if(_.from<=d&&_.to>=c&&(_.type.isAnonymous||s(_.type,_.from,_.to,b)!==!1)){if(_.firstChild())continue;_.type.isAnonymous||(k=!0)}for(;k&&a&&a(_.type,_.from,_.to,b),k=_.type.isAnonymous,!_.nextSibling();){if(!_.parent())return;k=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let s in this.props)e.push([+s,this.props[s]]);return e}balance(e={}){return this.children.length<=8?this:balanceRange(NodeType.none,this.children,this.positions,0,this.children.length,0,this.length,(s,a,c)=>new Tree(this.type,s,a,c,this.propValues),e.makeTree||((s,a,c)=>new Tree(NodeType.none,s,a,c)))}static build(e){return buildTree(e)}}Tree.empty=new Tree(NodeType.none,[],[],0);class FlatBufferCursor{constructor(e,s){this.buffer=e,this.index=s}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new FlatBufferCursor(this.buffer,this.index)}}class TreeBuffer{constructor(e,s,a){this.buffer=e,this.length=s,this.set=a}get type(){return NodeType.none}toString(){let e=[];for(let s=0;s0));k=_[k+3]);return b}slice(e,s,a,c){let d=this.buffer,_=new Uint16Array(s-e);for(let b=e,k=0;b=e&&se;case 1:return s<=e&&a>e;case 2:return a>e;case 4:return!0}}function enterUnfinishedNodesBefore(o,e){let s=o.childBefore(e);for(;s;){let a=s.lastChild;if(!a||a.to!=s.to)break;a.type.isError&&a.from==a.to?(o=s,s=a.prevSibling):s=a}return o}function resolveNode(o,e,s,a){for(var c;o.from==o.to||(s<1?o.from>=e:o.from>e)||(s>-1?o.to<=e:o.to0?b.length:-1;e!=$;e+=s){let j=b[e],_e=k[e]+_._from;if(!!checkSide(c,a,_e,_e+j.length)){if(j instanceof TreeBuffer){if(d&2)continue;let et=j.findChild(0,j.buffer.length,s,a-_e,c);if(et>-1)return new BufferNode(new BufferContext(_,j,e,_e),null,et)}else if(d&1||!j.type.isAnonymous||hasChild(j)){let et;if(!(d&1)&&j.props&&(et=j.prop(NodeProp.mounted))&&!et.overlay)return new TreeNode(et.tree,_e,e,_);let tt=new TreeNode(j,_e,e,_);return d&1||!tt.type.isAnonymous?tt:tt.nextChild(s<0?j.children.length-1:0,s,a,c)}}}if(d&1||!_.type.isAnonymous||(_.index>=0?e=_.index+s:e=s<0?-1:_._parent.node.children.length,_=_._parent,!_))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this.node.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this.node.children.length-1,-1,e,-2)}enter(e,s,a=!0,c=!0){let d;if(a&&(d=this.node.prop(NodeProp.mounted))&&d.overlay){let _=e-this.from;for(let{from:b,to:k}of d.overlay)if((s>0?b<=_:b<_)&&(s<0?k>=_:k>_))return new TreeNode(d.tree,d.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,s,c?0:2)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get cursor(){return new TreeCursor(this)}get tree(){return this.node}toTree(){return this.node}resolve(e,s=0){return resolveNode(this,e,s,!1)}resolveInner(e,s=0){return resolveNode(this,e,s,!0)}enterUnfinishedNodesBefore(e){return enterUnfinishedNodesBefore(this,e)}getChild(e,s=null,a=null){let c=getChildren(this,e,s,a);return c.length?c[0]:null}getChildren(e,s=null,a=null){return getChildren(this,e,s,a)}toString(){return this.node.toString()}}function getChildren(o,e,s,a){let c=o.cursor,d=[];if(!c.firstChild())return d;if(s!=null){for(;!c.type.is(s);)if(!c.nextSibling())return d}for(;;){if(a!=null&&c.type.is(a))return d;if(c.type.is(e)&&d.push(c.node),!c.nextSibling())return a==null?d:[]}}class BufferContext{constructor(e,s,a,c){this.parent=e,this.buffer=s,this.index=a,this.start=c}}class BufferNode{constructor(e,s,a){this.context=e,this._parent=s,this.index=a,this.type=e.buffer.set.types[e.buffer.buffer[a]]}get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}child(e,s,a){let{buffer:c}=this.context,d=c.findChild(this.index+4,c.buffer[this.index+3],e,s-this.context.start,a);return d<0?null:new BufferNode(this.context,this,d)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,s,a,c=!0){if(!c)return null;let{buffer:d}=this.context,_=d.findChild(this.index+4,d.buffer[this.index+3],s>0?1:-1,e-this.context.start,s);return _<0?null:new BufferNode(this.context,this,_)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,s=e.buffer[this.index+3];return s<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new BufferNode(this.context,this._parent,s):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,s=this._parent?this._parent.index+4:0;return this.index==s?this.externalSibling(-1):new BufferNode(this.context,this._parent,e.findChild(s,this.index,-1,0,4))}get cursor(){return new TreeCursor(this)}get tree(){return null}toTree(){let e=[],s=[],{buffer:a}=this.context,c=this.index+4,d=a.buffer[this.index+3];if(d>c){let _=a.buffer[this.index+1],b=a.buffer[this.index+2];e.push(a.slice(c,d,_,b)),s.push(0)}return new Tree(this.type,e,s,this.to-this.from)}resolve(e,s=0){return resolveNode(this,e,s,!1)}resolveInner(e,s=0){return resolveNode(this,e,s,!0)}enterUnfinishedNodesBefore(e){return enterUnfinishedNodesBefore(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,s=null,a=null){let c=getChildren(this,e,s,a);return c.length?c[0]:null}getChildren(e,s=null,a=null){return getChildren(this,e,s,a)}}class TreeCursor{constructor(e,s=0){if(this.mode=s,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof TreeNode)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let a=e._parent;a;a=a._parent)this.stack.unshift(a.index);this.bufferNode=e,this.yieldBuf(e.index)}}get name(){return this.type.name}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,s){this.index=e;let{start:a,buffer:c}=this.buffer;return this.type=s||c.set.types[c.buffer[e]],this.from=a+c.buffer[e+1],this.to=a+c.buffer[e+2],!0}yield(e){return e?e instanceof TreeNode?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,s,a){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree.node.children.length-1:0,e,s,a,this.mode));let{buffer:c}=this.buffer,d=c.findChild(this.index+4,c.buffer[this.index+3],e,s-this.buffer.start,a);return d<0?!1:(this.stack.push(this.index),this.yieldBuf(d))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,s,a=!0,c=!0){return this.buffer?c?this.enterChild(1,e,s):!1:this.yield(this._tree.enter(e,s,a&&!(this.mode&1),c))}parent(){if(!this.buffer)return this.yieldNode(this.mode&1?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&1?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:s}=this.buffer,a=this.stack.length-1;if(e<0){let c=a<0?0:this.stack[a]+4;if(this.index!=c)return this.yieldBuf(s.findChild(c,this.index,-1,0,4))}else{let c=s.buffer[this.index+3];if(c<(a<0?s.buffer.length:s.buffer[this.stack[a]+3]))return this.yieldBuf(c)}return a<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let s,a,{buffer:c}=this;if(c){if(e>0){if(this.index-1)for(let d=s+e,_=e<0?-1:a.node.children.length;d!=_;d+=e){let b=a.node.children[d];if(this.mode&1||b instanceof TreeBuffer||!b.type.isAnonymous||hasChild(b))return!1}return!0}move(e,s){if(s&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,s=0){for(;(this.from==this.to||(s<1?this.from>=e:this.from>e)||(s>-1?this.to<=e:this.to=0;){for(let _=e;_;_=_._parent)if(_.index==c){if(c==this.index)return _;s=_,a=d+1;break e}c=this.stack[--d]}}for(let c=a;ce instanceof TreeBuffer||!e.type.isAnonymous||hasChild(e))}function buildTree(o){var e;let{buffer:s,nodeSet:a,maxBufferLength:c=DefaultBufferLength,reused:d=[],minRepeatType:_=a.types.length}=o,b=Array.isArray(s)?new FlatBufferCursor(s,s.length):s,k=a.types,$=0,j=0;function _e(pt,ct,ut,lt,ht){let{id:dt,start:gt,end:yt,size:ft}=b,mt=j;for(;ft<0;)if(b.next(),ft==-1){let Dt=d[dt];ut.push(Dt),lt.push(gt-pt);return}else if(ft==-3){$=dt;return}else if(ft==-4){j=dt;return}else throw new RangeError(`Unrecognized record size: ${ft}`);let Et=k[dt],vt,At,_t=gt-pt;if(yt-gt<=c&&(At=st(b.pos-ct,ht))){let Dt=new Uint16Array(At.size-At.skip),bt=b.pos-At.size,Tt=Dt.length;for(;b.pos>bt;)Tt=rt(At.start,Dt,Tt);vt=new TreeBuffer(Dt,yt-At.start,a),_t=At.start-pt}else{let Dt=b.pos-ft;b.next();let bt=[],Tt=[],St=dt>=_?dt:-1,Ct=0,xt=yt;for(;b.pos>Dt;)St>=0&&b.id==St&&b.size>=0?(b.end<=xt-c&&(tt(bt,Tt,gt,Ct,b.end,xt,St,mt),Ct=bt.length,xt=b.end),b.next()):_e(gt,Dt,bt,Tt,St);if(St>=0&&Ct>0&&Ct-1&&Ct>0){let Rt=et(Et);vt=balanceRange(Et,bt,Tt,0,bt.length,0,yt-gt,Rt,Rt)}else vt=nt(Et,bt,Tt,yt-gt,mt-yt)}ut.push(vt),lt.push(_t)}function et(pt){return(ct,ut,lt)=>{let ht=0,dt=ct.length-1,gt,yt;if(dt>=0&&(gt=ct[dt])instanceof Tree){if(!dt&>.type==pt&>.length==lt)return gt;(yt=gt.prop(NodeProp.lookAhead))&&(ht=ut[dt]+gt.length+yt)}return nt(pt,ct,ut,lt,ht)}}function tt(pt,ct,ut,lt,ht,dt,gt,yt){let ft=[],mt=[];for(;pt.length>lt;)ft.push(pt.pop()),mt.push(ct.pop()+ut-ht);pt.push(nt(a.types[gt],ft,mt,dt-ht,yt-dt)),ct.push(ht-ut)}function nt(pt,ct,ut,lt,ht=0,dt){if($){let gt=[NodeProp.contextHash,$];dt=dt?[gt].concat(dt):[gt]}if(ht>25){let gt=[NodeProp.lookAhead,ht];dt=dt?[gt].concat(dt):[gt]}return new Tree(pt,ct,ut,lt,dt)}function st(pt,ct){let ut=b.fork(),lt=0,ht=0,dt=0,gt=ut.end-c,yt={size:0,start:0,skip:0};e:for(let ft=ut.pos-pt;ut.pos>ft;){let mt=ut.size;if(ut.id==ct&&mt>=0){yt.size=lt,yt.start=ht,yt.skip=dt,dt+=4,lt+=4,ut.next();continue}let Et=ut.pos-mt;if(mt<0||Et=_?4:0,At=ut.start;for(ut.next();ut.pos>Et;){if(ut.size<0)if(ut.size==-3)vt+=4;else break e;else ut.id>=_&&(vt+=4);ut.next()}ht=At,lt+=mt,dt+=vt}return(ct<0||lt==pt)&&(yt.size=lt,yt.start=ht,yt.skip=dt),yt.size>4?yt:void 0}function rt(pt,ct,ut){let{id:lt,start:ht,end:dt,size:gt}=b;if(b.next(),gt>=0&<<_){let yt=ut;if(gt>4){let ft=b.pos-(gt-4);for(;b.pos>ft;)ut=rt(pt,ct,ut)}ct[--ut]=yt,ct[--ut]=dt-pt,ct[--ut]=ht-pt,ct[--ut]=lt}else gt==-3?$=lt:gt==-4&&(j=lt);return ut}let it=[],at=[];for(;b.pos>0;)_e(o.start||0,o.bufferStart||0,it,at,-1);let ot=(e=o.length)!==null&&e!==void 0?e:it.length?at[0]+it[0].length:0;return new Tree(k[o.topID],it.reverse(),at.reverse(),ot)}const nodeSizeCache=new WeakMap;function nodeSize(o,e){if(!o.isAnonymous||e instanceof TreeBuffer||e.type!=o)return 1;let s=nodeSizeCache.get(e);if(s==null){s=1;for(let a of e.children){if(a.type!=o||!(a instanceof Tree)){s=1;break}s+=nodeSize(o,a)}nodeSizeCache.set(e,s)}return s}function balanceRange(o,e,s,a,c,d,_,b,k){let $=0;for(let nt=a;nt=j)break;ut+=lt}if(ot==pt+1){if(ut>j){let lt=nt[pt];tt(lt.children,lt.positions,0,lt.children.length,st[pt]+at);continue}_e.push(nt[pt])}else{let lt=st[ot-1]+nt[ot-1].length-ct;_e.push(balanceRange(o,nt,st,pt,ot,ct,lt,null,k))}et.push(ct+at-d)}}return tt(e,s,a,c,0),(b||k)(_e,et,_)}class TreeFragment{constructor(e,s,a,c,d=!1,_=!1){this.from=e,this.to=s,this.tree=a,this.offset=c,this.open=(d?1:0)|(_?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,s=[],a=!1){let c=[new TreeFragment(0,e.length,e,0,!1,a)];for(let d of s)d.to>e.length&&c.push(d);return c}static applyChanges(e,s,a=128){if(!s.length)return e;let c=[],d=1,_=e.length?e[0]:null;for(let b=0,k=0,$=0;;b++){let j=b=a)for(;_&&_.from<_e;){let et=_;if(k>=et.from||_e<=et.to||$){let tt=Math.max(et.from,k)-$,nt=Math.min(et.to,_e)-$;et=tt>=nt?null:new TreeFragment(tt,nt,et.tree,et.offset+$,b>0,!!j)}if(et&&c.push(et),_.to>_e)break;_=dnew Range(c.from,c.to)):[new Range(0,0)]:[new Range(0,e.length)],this.createParse(e,s||[],a)}parse(e,s,a){let c=this.startParse(e,s,a);for(;;){let d=c.advance();if(d)return d}}}class StringInput{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,s){return this.string.slice(e,s)}}new NodeProp({perNode:!0});var _a;const languageDataProp=new NodeProp;function defineLanguageFacet(o){return Facet.define({combine:o?e=>e.concat(o):void 0})}class Language{constructor(e,s,a,c=[]){this.data=e,this.topNode=a,EditorState.prototype.hasOwnProperty("tree")||Object.defineProperty(EditorState.prototype,"tree",{get(){return syntaxTree(this)}}),this.parser=s,this.extension=[language.of(this),EditorState.languageData.of((d,_,b)=>d.facet(languageDataFacetAt(d,_,b)))].concat(c)}isActiveAt(e,s,a=-1){return languageDataFacetAt(e,s,a)==this.data}findRegions(e){let s=e.facet(language);if((s==null?void 0:s.data)==this.data)return[{from:0,to:e.doc.length}];if(!s||!s.allowsNesting)return[];let a=[],c=(d,_)=>{if(d.prop(languageDataProp)==this.data){a.push({from:_,to:_+d.length});return}let b=d.prop(NodeProp.mounted);if(b){if(b.tree.prop(languageDataProp)==this.data){if(b.overlay)for(let k of b.overlay)a.push({from:k.from+_,to:k.to+_});else a.push({from:_,to:_+d.length});return}else if(b.overlay){let k=a.length;if(c(b.tree,b.overlay[0].from+_),a.length>k)return}}for(let k=0;ka.isTop?s:void 0)]}))}configure(e){return new LRLanguage(this.data,this.parser.configure(e))}get allowsNesting(){return this.parser.wrappers.length>0}}function syntaxTree(o){let e=o.field(Language.state,!1);return e?e.tree:Tree.empty}class DocInput{constructor(e,s=e.length){this.doc=e,this.length=s,this.cursorPos=0,this.string="",this.cursor=e.iter()}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,s){let a=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,s):this.string.slice(e-a,s-a)}}let currentContext=null;class ParseContext{constructor(e,s,a=[],c,d,_,b,k){this.parser=e,this.state=s,this.fragments=a,this.tree=c,this.treeLen=d,this.viewport=_,this.skipped=b,this.scheduleOn=k,this.parse=null,this.tempSkipped=[]}startParse(){return this.parser.startParse(new DocInput(this.state.doc),this.fragments)}work(e,s){return s!=null&&s>=this.state.doc.length&&(s=void 0),this.tree!=Tree.empty&&this.isDone(s!=null?s:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var a;if(typeof e=="number"){let c=Date.now()+e;e=()=>Date.now()>c}for(this.parse||(this.parse=this.startParse()),s!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>s)&&s=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(s=this.parse.advance()););}),this.treeLen=e,this.tree=s,this.fragments=this.withoutTempSkipped(TreeFragment.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let s=currentContext;currentContext=this;try{return e()}finally{currentContext=s}}withoutTempSkipped(e){for(let s;s=this.tempSkipped.pop();)e=cutFragments(e,s.from,s.to);return e}changes(e,s){let{fragments:a,tree:c,treeLen:d,viewport:_,skipped:b}=this;if(this.takeTree(),!e.empty){let k=[];if(e.iterChangedRanges(($,j,_e,et)=>k.push({fromA:$,toA:j,fromB:_e,toB:et})),a=TreeFragment.applyChanges(a,k),c=Tree.empty,d=0,_={from:e.mapPos(_.from,-1),to:e.mapPos(_.to,1)},this.skipped.length){b=[];for(let $ of this.skipped){let j=e.mapPos($.from,1),_e=e.mapPos($.to,-1);j<_e&&b.push({from:j,to:_e})}}}return new ParseContext(this.parser,s,a,c,d,_,b,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let s=this.skipped.length;for(let a=0;ae.from&&(this.fragments=cutFragments(this.fragments,c,d),this.skipped.splice(a--,1))}return this.skipped.length>=s?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,s){this.skipped.push({from:e,to:s})}static getSkippingParser(e){return new class extends Parser{createParse(s,a,c){let d=c[0].from,_=c[c.length-1].to;return{parsedPos:d,advance(){let k=currentContext;if(k){for(let $ of c)k.tempSkipped.push($);e&&(k.scheduleOn=k.scheduleOn?Promise.all([k.scheduleOn,e]):e)}return this.parsedPos=_,new Tree(NodeType.none,[],[],_-d)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let s=this.fragments;return this.treeLen>=e&&s.length&&s[0].from==0&&s[0].to>=e}static get(){return currentContext}}function cutFragments(o,e,s){return TreeFragment.applyChanges(o,[{fromA:e,toA:s,fromB:e,toB:s}])}class LanguageState{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let s=this.context.changes(e.changes,e.state),a=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),s.viewport.to);return s.work(20,a)||s.takeTree(),new LanguageState(s)}static init(e){let s=Math.min(3e3,e.doc.length),a=new ParseContext(e.facet(language).parser,e,[],Tree.empty,0,{from:0,to:s},[],null);return a.work(20,s)||a.takeTree(),new LanguageState(a)}}Language.state=StateField.define({create:LanguageState.init,update(o,e){for(let s of e.effects)if(s.is(Language.setState))return s.value;return e.startState.facet(language)!=e.state.facet(language)?LanguageState.init(e.state):o.apply(e)}});let requestIdle=o=>{let e=setTimeout(()=>o(),500);return()=>clearTimeout(e)};typeof requestIdleCallback!="undefined"&&(requestIdle=o=>{let e=-1,s=setTimeout(()=>{e=requestIdleCallback(o,{timeout:500-100})},100);return()=>e<0?clearTimeout(s):cancelIdleCallback(e)});const isInputPending=typeof navigator!="undefined"&&((_a=navigator.scheduling)===null||_a===void 0?void 0:_a.isInputPending)?()=>navigator.scheduling.isInputPending():null,parseWorker=ViewPlugin.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let s=this.view.state.field(Language.state).context;(s.updateViewport(e.view.viewport)||this.view.viewport.to>s.treeLen)&&this.scheduleWork(),e.docChanged&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(s)}scheduleWork(){if(this.working)return;let{state:e}=this.view,s=e.field(Language.state);(s.tree!=s.context.tree||!s.context.isDone(e.doc.length))&&(this.working=requestIdle(this.work))}work(e){this.working=null;let s=Date.now();if(this.chunkEndc+1e3,k=d.context.work(()=>isInputPending&&isInputPending()||Date.now()>_,c+(b?0:1e5));this.chunkBudget-=Date.now()-s,(k||this.chunkBudget<=0)&&(d.context.takeTree(),this.view.dispatch({effects:Language.setState.of(new LanguageState(d.context))})),this.chunkBudget>0&&!(k&&!b)&&this.scheduleWork(),this.checkAsyncSchedule(d.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(s=>logException(this.view.state,s)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),language=Facet.define({combine(o){return o.length?o[0]:null},enables:[Language.state,parseWorker]});class LanguageSupport{constructor(e,s=[]){this.language=e,this.support=s,this.extension=[e,s]}}const indentService=Facet.define(),indentUnit=Facet.define({combine:o=>{if(!o.length)return" ";if(!/^(?: +|\t+)$/.test(o[0]))throw new Error("Invalid indent unit: "+JSON.stringify(o[0]));return o[0]}});function getIndentUnit(o){let e=o.facet(indentUnit);return e.charCodeAt(0)==9?o.tabSize*e.length:e.length}function indentString(o,e){let s="",a=o.tabSize;if(o.facet(indentUnit).charCodeAt(0)==9)for(;e>=a;)s+=" ",e-=a;for(let c=0;c=a.from&&c<=a.to?d&&c==e?{text:"",from:e}:(s<0?c-1&&(d+=_-this.countColumn(a,a.search(/\S|$/))),d}countColumn(e,s=e.length){return countColumn(e,this.state.tabSize,s)}lineIndent(e,s=1){let{text:a,from:c}=this.lineAt(e,s),d=this.options.overrideIndentation;if(d){let _=d(c);if(_>-1)return _}return this.countColumn(a,a.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const indentNodeProp=new NodeProp;function syntaxIndentation(o,e,s){return indentFrom(e.resolveInner(s).enterUnfinishedNodesBefore(s),s,o)}function ignoreClosed(o){return o.pos==o.options.simulateBreak&&o.options.simulateDoubleBreak}function indentStrategy(o){let e=o.type.prop(indentNodeProp);if(e)return e;let s=o.firstChild,a;if(s&&(a=s.type.prop(NodeProp.closedBy))){let c=o.lastChild,d=c&&a.indexOf(c.name)>-1;return _=>delimitedStrategy(_,!0,1,void 0,d&&!ignoreClosed(_)?c.from:void 0)}return o.parent==null?topIndent:null}function indentFrom(o,e,s){for(;o;o=o.parent){let a=indentStrategy(o);if(a)return a(new TreeIndentContext(s,e,o))}return null}function topIndent(){return 0}class TreeIndentContext extends IndentContext{constructor(e,s,a){super(e.state,e.options),this.base=e,this.pos=s,this.node=a}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){let e=this.state.doc.lineAt(this.node.from);for(;;){let s=this.node.resolve(e.from);for(;s.parent&&s.parent.from==s.from;)s=s.parent;if(isParent(s,this.node))break;e=this.state.doc.lineAt(s.from)}return this.lineIndent(e.from)}continue(){let e=this.node.parent;return e?indentFrom(e,this.pos,this.base):0}}function isParent(o,e){for(let s=e;s;s=s.parent)if(o==s)return!0;return!1}function bracketedAligned(o){let e=o.node,s=e.childAfter(e.from),a=e.lastChild;if(!s)return null;let c=o.options.simulateBreak,d=o.state.doc.lineAt(s.from),_=c==null||c<=d.from?d.to:Math.min(d.to,c);for(let b=s.to;;){let k=e.childAfter(b);if(!k||k==a)return null;if(!k.type.isSkipped)return k.from<_?s:null;b=k.to}}function delimitedIndent({closing:o,align:e=!0,units:s=1}){return a=>delimitedStrategy(a,e,s,o)}function delimitedStrategy(o,e,s,a,c){let d=o.textAfter,_=d.match(/^\s*/)[0].length,b=a&&d.slice(_,_+a.length)==a||c==o.pos+_,k=e?bracketedAligned(o):null;return k?b?o.column(k.from):o.column(k.to):o.baseIndent+(b?0:o.unit*s)}const flatIndent=o=>o.baseIndent;function continuedIndent({except:o,units:e=1}={}){return s=>{let a=o&&o.test(s.textAfter);return s.baseIndent+(a?0:e*s.unit)}}const DontIndentBeyond=200;function indentOnInput(){return EditorState.transactionFilter.of(o=>{if(!o.docChanged||!o.isUserEvent("input.type")&&!o.isUserEvent("input.complete"))return o;let e=o.startState.languageDataAt("indentOnInput",o.startState.selection.main.head);if(!e.length)return o;let s=o.newDoc,{head:a}=o.newSelection.main,c=s.lineAt(a);if(a>c.from+DontIndentBeyond)return o;let d=s.sliceString(c.from,a);if(!e.some($=>$.test(d)))return o;let{state:_}=o,b=-1,k=[];for(let{head:$}of _.selection.ranges){let j=_.doc.lineAt($);if(j.from==b)continue;b=j.from;let _e=getIndentation(_,j.from);if(_e==null)continue;let et=/^\s*/.exec(j.text)[0],tt=indentString(_,_e);et!=tt&&k.push({from:j.from,to:j.from+et.length,insert:tt})}return k.length?[o,{changes:k,sequential:!0}]:o})}const foldService=Facet.define(),foldNodeProp=new NodeProp;function foldInside$1(o){let e=o.firstChild,s=o.lastChild;return e&&e.tos)continue;if(d&&_.from=e&&k.to>s&&(d=k)}}return d}function isUnfinished(o){let e=o.lastChild;return e&&e.to==o.to&&e.type.isError}function foldable(o,e,s){for(let a of o.facet(foldService)){let c=a(o,e,s);if(c)return c}return syntaxFolding(o,e,s)}class GutterMarker extends RangeValue{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}GutterMarker.prototype.elementClass="";GutterMarker.prototype.toDOM=void 0;GutterMarker.prototype.mapMode=MapMode.TrackBefore;GutterMarker.prototype.startSide=GutterMarker.prototype.endSide=-1;GutterMarker.prototype.point=!0;const gutterLineClass=Facet.define(),defaults$1={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>RangeSet.empty,lineMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},activeGutters=Facet.define();function gutter(o){return[gutters(),activeGutters.of(Object.assign(Object.assign({},defaults$1),o))]}const baseTheme$7=EditorView.baseTheme({".cm-gutters":{display:"flex",height:"100%",boxSizing:"border-box",left:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#999",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"}}),unfixGutters=Facet.define({combine:o=>o.some(e=>e)});function gutters(o){let e=[gutterView,baseTheme$7];return o&&o.fixed===!1&&e.push(unfixGutters.of(!0)),e}const gutterView=ViewPlugin.fromClass(class{constructor(o){this.view=o,this.prevViewport=o.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight+"px",this.gutters=o.state.facet(activeGutters).map(e=>new SingleGutterView(o,e));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!o.state.facet(unfixGutters),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),o.scrollDOM.insertBefore(this.dom,o.contentDOM)}update(o){if(this.updateGutters(o)){let e=this.prevViewport,s=o.view.viewport,a=Math.min(e.to,s.to)-Math.max(e.from,s.from);this.syncGutters(a<(s.to-s.from)*.8)}o.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(unfixGutters)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=o.view.viewport}syncGutters(o){let e=this.dom.nextSibling;o&&this.dom.remove();let s=RangeSet.iter(this.view.state.facet(gutterLineClass),this.view.viewport.from),a=[],c=this.gutters.map(d=>new UpdateContext(d,this.view.viewport,-this.view.documentPadding.top));for(let d of this.view.viewportLineBlocks){let _;if(Array.isArray(d.type)){for(let b of d.type)if(b.type==BlockType.Text){_=b;break}}else _=d.type==BlockType.Text?d:void 0;if(!!_){a.length&&(a=[]),advanceCursor(s,a,d.from);for(let b of c)b.line(this.view,_,a)}}for(let d of c)d.finish();o&&this.view.scrollDOM.insertBefore(this.dom,e)}updateGutters(o){let e=o.startState.facet(activeGutters),s=o.state.facet(activeGutters),a=o.docChanged||o.heightChanged||o.viewportChanged||!RangeSet.eq(o.startState.facet(gutterLineClass),o.state.facet(gutterLineClass),o.view.viewport.from,o.view.viewport.to);if(e==s)for(let c of this.gutters)c.update(o)&&(a=!0);else{a=!0;let c=[];for(let d of s){let _=e.indexOf(d);_<0?c.push(new SingleGutterView(this.view,d)):(this.gutters[_].update(o),c.push(this.gutters[_]))}for(let d of this.gutters)d.dom.remove(),c.indexOf(d)<0&&d.destroy();for(let d of c)this.dom.appendChild(d.dom);this.gutters=c}return a}destroy(){for(let o of this.gutters)o.destroy();this.dom.remove()}},{provide:PluginField.scrollMargins.from(o=>o.gutters.length==0||!o.fixed?null:o.view.textDirection==Direction.LTR?{left:o.dom.offsetWidth}:{right:o.dom.offsetWidth})});function asArray(o){return Array.isArray(o)?o:[o]}function advanceCursor(o,e,s){for(;o.value&&o.from<=s;)o.from==s&&e.push(o.value),o.next()}class UpdateContext{constructor(e,s,a){this.gutter=e,this.height=a,this.localMarkers=[],this.i=0,this.cursor=RangeSet.iter(e.markers,s.from)}line(e,s,a){this.localMarkers.length&&(this.localMarkers=[]),advanceCursor(this.cursor,this.localMarkers,s.from);let c=a.length?this.localMarkers.concat(a):this.localMarkers,d=this.gutter.config.lineMarker(e,s,c);d&&c.unshift(d);let _=this.gutter;if(c.length==0&&!_.config.renderEmptyElements)return;let b=s.top-this.height;if(this.i==_.elements.length){let k=new GutterElement(e,s.height,b,c);_.elements.push(k),_.dom.appendChild(k.dom)}else _.elements[this.i].update(e,s.height,b,c);this.height=s.bottom,this.i++}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let s=e.elements.pop();e.dom.removeChild(s.dom),s.destroy()}}}class SingleGutterView{constructor(e,s){this.view=e,this.config=s,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let a in s.domEventHandlers)this.dom.addEventListener(a,c=>{let d=e.lineBlockAtHeight(c.clientY-e.documentTop);s.domEventHandlers[a](e,d,c)&&c.preventDefault()});this.markers=asArray(s.markers(e)),s.initialSpacer&&(this.spacer=new GutterElement(e,0,0,[s.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let s=this.markers;if(this.markers=asArray(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let c=this.config.updateSpacer(this.spacer.markers[0],e);c!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[c])}let a=e.view.viewport;return!RangeSet.eq(this.markers,s,a.from,a.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class GutterElement{constructor(e,s,a,c){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.update(e,s,a,c)}update(e,s,a,c){this.height!=s&&(this.dom.style.height=(this.height=s)+"px"),this.above!=a&&(this.dom.style.marginTop=(this.above=a)?a+"px":""),sameMarkers(this.markers,c)||this.setMarkers(e,c)}setMarkers(e,s){let a="cm-gutterElement",c=this.dom.firstChild;for(let d=0,_=0;;){let b=_,k=dd(b,k,$)||_(b,k,$):_}return a}})}});class NumberMarker extends GutterMarker{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function formatNumber(o,e){return o.state.facet(lineNumberConfig).formatNumber(e,o.state)}const lineNumberGutter=activeGutters.compute([lineNumberConfig],o=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(lineNumberMarkers)},lineMarker(e,s,a){return a.some(c=>c.toDOM)?null:new NumberMarker(formatNumber(e,e.state.doc.lineAt(s.from).number))},lineMarkerChange:e=>e.startState.facet(lineNumberConfig)!=e.state.facet(lineNumberConfig),initialSpacer(e){return new NumberMarker(formatNumber(e,maxLineNumber(e.state.doc.lines)))},updateSpacer(e,s){let a=formatNumber(s.view,maxLineNumber(s.view.state.doc.lines));return a==e.number?e:new NumberMarker(a)},domEventHandlers:o.facet(lineNumberConfig).domEventHandlers}));function lineNumbers(o={}){return[lineNumberConfig.of(o),gutters(),lineNumberGutter]}function maxLineNumber(o){let e=9;for(;e{let e=[],s=-1;for(let a of o.selection.ranges)if(a.empty){let c=o.doc.lineAt(a.head).from;c>s&&(s=c,e.push(activeLineGutterMarker.range(c)))}return RangeSet.of(e)});function highlightActiveLineGutter(){return activeLineGutterHighlighter}function mapRange(o,e){let s=e.mapPos(o.from,1),a=e.mapPos(o.to,-1);return s>=a?void 0:{from:s,to:a}}const foldEffect=StateEffect.define({map:mapRange}),unfoldEffect=StateEffect.define({map:mapRange});function selectedLines(o){let e=[];for(let{head:s}of o.state.selection.ranges)e.some(a=>a.from<=s&&a.to>=s)||e.push(o.lineBlockAt(s));return e}const foldState=StateField.define({create(){return Decoration.none},update(o,e){o=o.map(e.changes);for(let s of e.effects)s.is(foldEffect)&&!foldExists(o,s.value.from,s.value.to)?o=o.update({add:[foldWidget.range(s.value.from,s.value.to)]}):s.is(unfoldEffect)&&(o=o.update({filter:(a,c)=>s.value.from!=a||s.value.to!=c,filterFrom:s.value.from,filterTo:s.value.to}));if(e.selection){let s=!1,{head:a}=e.selection.main;o.between(a,a,(c,d)=>{ca&&(s=!0)}),s&&(o=o.update({filterFrom:a,filterTo:a,filter:(c,d)=>d<=a||c>=a}))}return o},provide:o=>EditorView.decorations.from(o)});function foldInside(o,e,s){var a;let c=null;return(a=o.field(foldState,!1))===null||a===void 0||a.between(e,s,(d,_)=>{(!c||c.from>d)&&(c={from:d,to:_})}),c}function foldExists(o,e,s){let a=!1;return o.between(e,e,(c,d)=>{c==e&&d==s&&(a=!0)}),a}function maybeEnable(o,e){return o.field(foldState,!1)?e:e.concat(StateEffect.appendConfig.of(codeFolding()))}const foldCode=o=>{for(let e of selectedLines(o)){let s=foldable(o.state,e.from,e.to);if(s)return o.dispatch({effects:maybeEnable(o.state,[foldEffect.of(s),announceFold(o,s)])}),!0}return!1},unfoldCode=o=>{if(!o.state.field(foldState,!1))return!1;let e=[];for(let s of selectedLines(o)){let a=foldInside(o.state,s.from,s.to);a&&e.push(unfoldEffect.of(a),announceFold(o,a,!1))}return e.length&&o.dispatch({effects:e}),e.length>0};function announceFold(o,e,s=!0){let a=o.state.doc.lineAt(e.from).number,c=o.state.doc.lineAt(e.to).number;return EditorView.announce.of(`${o.state.phrase(s?"Folded lines":"Unfolded lines")} ${a} ${o.state.phrase("to")} ${c}.`)}const foldAll=o=>{let{state:e}=o,s=[];for(let a=0;a{let e=o.state.field(foldState,!1);if(!e||!e.size)return!1;let s=[];return e.between(0,o.state.doc.length,(a,c)=>{s.push(unfoldEffect.of({from:a,to:c}))}),o.dispatch({effects:s}),!0},foldKeymap=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:foldCode},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:unfoldCode},{key:"Ctrl-Alt-[",run:foldAll},{key:"Ctrl-Alt-]",run:unfoldAll}],defaultConfig={placeholderDOM:null,placeholderText:"\u2026"},foldConfig=Facet.define({combine(o){return combineConfig(o,defaultConfig)}});function codeFolding(o){let e=[foldState,baseTheme$6];return o&&e.push(foldConfig.of(o)),e}const foldWidget=Decoration.replace({widget:new class extends WidgetType{toDOM(o){let{state:e}=o,s=e.facet(foldConfig),a=d=>{let _=o.lineBlockAt(o.posAtDOM(d.target)),b=foldInside(o.state,_.from,_.to);b&&o.dispatch({effects:unfoldEffect.of(b)}),d.preventDefault()};if(s.placeholderDOM)return s.placeholderDOM(o,a);let c=document.createElement("span");return c.textContent=s.placeholderText,c.setAttribute("aria-label",e.phrase("folded code")),c.title=e.phrase("unfold"),c.className="cm-foldPlaceholder",c.onclick=a,c}}}),foldGutterDefaults={openText:"\u2304",closedText:"\u203A",markerDOM:null,domEventHandlers:{}};class FoldMarker extends GutterMarker{constructor(e,s){super(),this.config=e,this.open=s}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let s=document.createElement("span");return s.textContent=this.open?this.config.openText:this.config.closedText,s.title=e.state.phrase(this.open?"Fold line":"Unfold line"),s}}function foldGutter(o={}){let e=Object.assign(Object.assign({},foldGutterDefaults),o),s=new FoldMarker(e,!0),a=new FoldMarker(e,!1),c=ViewPlugin.fromClass(class{constructor(_){this.from=_.viewport.from,this.markers=this.buildMarkers(_)}update(_){(_.docChanged||_.viewportChanged||_.startState.facet(language)!=_.state.facet(language)||_.startState.field(foldState,!1)!=_.state.field(foldState,!1)||syntaxTree(_.startState)!=syntaxTree(_.state))&&(this.markers=this.buildMarkers(_.view))}buildMarkers(_){let b=new RangeSetBuilder;for(let k of _.viewportLineBlocks){let $=foldInside(_.state,k.from,k.to)?a:foldable(_.state,k.from,k.to)?s:null;$&&b.add(k.from,k.from,$)}return b.finish()}}),{domEventHandlers:d}=e;return[c,gutter({class:"cm-foldGutter",markers(_){var b;return((b=_.plugin(c))===null||b===void 0?void 0:b.markers)||RangeSet.empty},initialSpacer(){return new FoldMarker(e,!1)},domEventHandlers:Object.assign(Object.assign({},d),{click:(_,b,k)=>{if(d.click&&d.click(_,b,k))return!0;let $=foldInside(_.state,b.from,b.to);if($)return _.dispatch({effects:unfoldEffect.of($)}),!0;let j=foldable(_.state,b.from,b.to);return j?(_.dispatch({effects:foldEffect.of(j)}),!0):!1}})}),codeFolding()]}const baseTheme$6=EditorView.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}}),baseTheme$5=EditorView.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),DefaultScanDist=1e4,DefaultBrackets="()[]{}",bracketMatchingConfig=Facet.define({combine(o){return combineConfig(o,{afterCursor:!0,brackets:DefaultBrackets,maxScanDistance:DefaultScanDist})}}),matchingMark=Decoration.mark({class:"cm-matchingBracket"}),nonmatchingMark=Decoration.mark({class:"cm-nonmatchingBracket"}),bracketMatchingState=StateField.define({create(){return Decoration.none},update(o,e){if(!e.docChanged&&!e.selection)return o;let s=[],a=e.state.facet(bracketMatchingConfig);for(let c of e.state.selection.ranges){if(!c.empty)continue;let d=matchBrackets(e.state,c.head,-1,a)||c.head>0&&matchBrackets(e.state,c.head-1,1,a)||a.afterCursor&&(matchBrackets(e.state,c.head,1,a)||c.headEditorView.decorations.from(o)}),bracketMatchingUnique=[bracketMatchingState,baseTheme$5];function bracketMatching(o={}){return[bracketMatchingConfig.of(o),bracketMatchingUnique]}function matchingNodes(o,e,s){let a=o.prop(e<0?NodeProp.openedBy:NodeProp.closedBy);if(a)return a;if(o.name.length==1){let c=s.indexOf(o.name);if(c>-1&&c%2==(e<0?1:0))return[s[c+e]]}return null}function matchBrackets(o,e,s,a={}){let c=a.maxScanDistance||DefaultScanDist,d=a.brackets||DefaultBrackets,_=syntaxTree(o),b=_.resolveInner(e,s);for(let k=b;k;k=k.parent){let $=matchingNodes(k.type,s,d);if($&&k.from=a.to){if(k==0&&c.indexOf($.type.name)>-1&&$.from<$.to)return{start:b,end:{from:$.from,to:$.to},matched:!0};if(matchingNodes($.type,s,d))k++;else if(matchingNodes($.type,-s,d)&&(k--,k==0))return{start:b,end:$.from==$.to?void 0:{from:$.from,to:$.to},matched:!1}}while(s<0?$.prevSibling():$.nextSibling());return{start:b,matched:!1}}function matchPlainBrackets(o,e,s,a,c,d,_){let b=s<0?o.sliceDoc(e-1,e):o.sliceDoc(e,e+1),k=_.indexOf(b);if(k<0||k%2==0!=s>0)return null;let $={from:s<0?e-1:e,to:s>0?e+1:e},j=o.doc.iterRange(e,s>0?o.doc.length:0),_e=0;for(let et=0;!j.next().done&&et<=d;){let tt=j.value;s<0&&(et+=tt.length);let nt=e+et*s;for(let st=s>0?0:tt.length-1,rt=s>0?tt.length:-1;st!=rt;st+=s){let it=_.indexOf(tt[st]);if(!(it<0||a.resolve(nt+st,1).type!=c))if(it%2==0==s>0)_e++;else{if(_e==1)return{start:$,end:{from:nt+st,to:nt+st+1},matched:it>>1==k>>1};_e--}}s>0&&(et+=tt.length)}return j.done?{start:$,matched:!1}:null}function updateSel(o,e){return EditorSelection.create(o.ranges.map(e),o.mainIndex)}function setSel(o,e){return o.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function moveSel({state:o,dispatch:e},s){let a=updateSel(o.selection,s);return a.eq(o.selection)?!1:(e(setSel(o,a)),!0)}function rangeEnd(o,e){return EditorSelection.cursor(e?o.to:o.from)}function cursorByChar(o,e){return moveSel(o,s=>s.empty?o.moveByChar(s,e):rangeEnd(s,e))}const cursorCharLeft=o=>cursorByChar(o,o.textDirection!=Direction.LTR),cursorCharRight=o=>cursorByChar(o,o.textDirection==Direction.LTR);function cursorByGroup(o,e){return moveSel(o,s=>s.empty?o.moveByGroup(s,e):rangeEnd(s,e))}const cursorGroupLeft=o=>cursorByGroup(o,o.textDirection!=Direction.LTR),cursorGroupRight=o=>cursorByGroup(o,o.textDirection==Direction.LTR);function interestingNode(o,e,s){if(e.type.prop(s))return!0;let a=e.to-e.from;return a&&(a>2||/[^\s,.;:]/.test(o.sliceDoc(e.from,e.to)))||e.firstChild}function moveBySyntax(o,e,s){let a=syntaxTree(o).resolveInner(e.head),c=s?NodeProp.closedBy:NodeProp.openedBy;for(let k=e.head;;){let $=s?a.childAfter(k):a.childBefore(k);if(!$)break;interestingNode(o,$,c)?a=$:k=s?$.to:$.from}let d=a.type.prop(c),_,b;return d&&(_=s?matchBrackets(o,a.from,1):matchBrackets(o,a.to,-1))&&_.matched?b=s?_.end.to:_.end.from:b=s?a.to:a.from,EditorSelection.cursor(b,s?-1:1)}const cursorSyntaxLeft=o=>moveSel(o,e=>moveBySyntax(o.state,e,o.textDirection!=Direction.LTR)),cursorSyntaxRight=o=>moveSel(o,e=>moveBySyntax(o.state,e,o.textDirection==Direction.LTR));function cursorByLine(o,e){return moveSel(o,s=>{if(!s.empty)return rangeEnd(s,e);let a=o.moveVertically(s,e);return a.head!=s.head?a:o.moveToLineBoundary(s,e)})}const cursorLineUp=o=>cursorByLine(o,!1),cursorLineDown=o=>cursorByLine(o,!0);function cursorByPage(o,e){let{state:s}=o,a=updateSel(s.selection,_=>_.empty?o.moveVertically(_,e,o.dom.clientHeight):rangeEnd(_,e));if(a.eq(s.selection))return!1;let c=o.coordsAtPos(s.selection.main.head),d=o.scrollDOM.getBoundingClientRect();return o.dispatch(setSel(s,a),{effects:c&&c.top>d.top&&c.bottomcursorByPage(o,!1),cursorPageDown=o=>cursorByPage(o,!0);function moveByLineBoundary(o,e,s){let a=o.lineBlockAt(e.head),c=o.moveToLineBoundary(e,s);if(c.head==e.head&&c.head!=(s?a.to:a.from)&&(c=o.moveToLineBoundary(e,s,!1)),!s&&c.head==a.from&&a.length){let d=/^\s*/.exec(o.state.sliceDoc(a.from,Math.min(a.from+100,a.to)))[0].length;d&&e.head!=a.from+d&&(c=EditorSelection.cursor(a.from+d))}return c}const cursorLineBoundaryForward=o=>moveSel(o,e=>moveByLineBoundary(o,e,!0)),cursorLineBoundaryBackward=o=>moveSel(o,e=>moveByLineBoundary(o,e,!1)),cursorLineStart=o=>moveSel(o,e=>EditorSelection.cursor(o.lineBlockAt(e.head).from,1)),cursorLineEnd=o=>moveSel(o,e=>EditorSelection.cursor(o.lineBlockAt(e.head).to,-1));function toMatchingBracket(o,e,s){let a=!1,c=updateSel(o.selection,d=>{let _=matchBrackets(o,d.head,-1)||matchBrackets(o,d.head,1)||d.head>0&&matchBrackets(o,d.head-1,1)||d.headtoMatchingBracket(o,e,!1);function extendSel(o,e){let s=updateSel(o.state.selection,a=>{let c=e(a);return EditorSelection.range(a.anchor,c.head,c.goalColumn)});return s.eq(o.state.selection)?!1:(o.dispatch(setSel(o.state,s)),!0)}function selectByChar(o,e){return extendSel(o,s=>o.moveByChar(s,e))}const selectCharLeft=o=>selectByChar(o,o.textDirection!=Direction.LTR),selectCharRight=o=>selectByChar(o,o.textDirection==Direction.LTR);function selectByGroup(o,e){return extendSel(o,s=>o.moveByGroup(s,e))}const selectGroupLeft=o=>selectByGroup(o,o.textDirection!=Direction.LTR),selectGroupRight=o=>selectByGroup(o,o.textDirection==Direction.LTR),selectSyntaxLeft=o=>extendSel(o,e=>moveBySyntax(o.state,e,o.textDirection!=Direction.LTR)),selectSyntaxRight=o=>extendSel(o,e=>moveBySyntax(o.state,e,o.textDirection==Direction.LTR));function selectByLine(o,e){return extendSel(o,s=>o.moveVertically(s,e))}const selectLineUp=o=>selectByLine(o,!1),selectLineDown=o=>selectByLine(o,!0);function selectByPage(o,e){return extendSel(o,s=>o.moveVertically(s,e,o.dom.clientHeight))}const selectPageUp=o=>selectByPage(o,!1),selectPageDown=o=>selectByPage(o,!0),selectLineBoundaryForward=o=>extendSel(o,e=>moveByLineBoundary(o,e,!0)),selectLineBoundaryBackward=o=>extendSel(o,e=>moveByLineBoundary(o,e,!1)),selectLineStart=o=>extendSel(o,e=>EditorSelection.cursor(o.lineBlockAt(e.head).from)),selectLineEnd=o=>extendSel(o,e=>EditorSelection.cursor(o.lineBlockAt(e.head).to)),cursorDocStart=({state:o,dispatch:e})=>(e(setSel(o,{anchor:0})),!0),cursorDocEnd=({state:o,dispatch:e})=>(e(setSel(o,{anchor:o.doc.length})),!0),selectDocStart=({state:o,dispatch:e})=>(e(setSel(o,{anchor:o.selection.main.anchor,head:0})),!0),selectDocEnd=({state:o,dispatch:e})=>(e(setSel(o,{anchor:o.selection.main.anchor,head:o.doc.length})),!0),selectAll=({state:o,dispatch:e})=>(e(o.update({selection:{anchor:0,head:o.doc.length},userEvent:"select"})),!0),selectLine=({state:o,dispatch:e})=>{let s=selectedLineBlocks(o).map(({from:a,to:c})=>EditorSelection.range(a,Math.min(c+1,o.doc.length)));return e(o.update({selection:EditorSelection.create(s),userEvent:"select"})),!0},selectParentSyntax=({state:o,dispatch:e})=>{let s=updateSel(o.selection,a=>{var c;let d=syntaxTree(o).resolveInner(a.head,1);for(;!(d.from=a.to||d.to>a.to&&d.from<=a.from||!(!((c=d.parent)===null||c===void 0)&&c.parent));)d=d.parent;return EditorSelection.range(d.to,d.from)});return e(setSel(o,s)),!0},simplifySelection=({state:o,dispatch:e})=>{let s=o.selection,a=null;return s.ranges.length>1?a=EditorSelection.create([s.main]):s.main.empty||(a=EditorSelection.create([EditorSelection.cursor(s.main.head)])),a?(e(setSel(o,a)),!0):!1};function deleteBy({state:o,dispatch:e},s){if(o.readOnly)return!1;let a="delete.selection",c=o.changeByRange(d=>{let{from:_,to:b}=d;if(_==b){let k=s(_);k<_?a="delete.backward":k>_&&(a="delete.forward"),_=Math.min(_,k),b=Math.max(b,k)}return _==b?{range:d}:{changes:{from:_,to:b},range:EditorSelection.cursor(_)}});return c.changes.empty?!1:(e(o.update(c,{scrollIntoView:!0,userEvent:a})),!0)}function skipAtomic(o,e,s){if(o instanceof EditorView)for(let a of o.pluginField(PluginField.atomicRanges))a.between(e,e,(c,d)=>{ce&&(e=s?d:c)});return e}const deleteByChar=(o,e)=>deleteBy(o,s=>{let{state:a}=o,c=a.doc.lineAt(s),d,_;if(!e&&s>c.from&&sdeleteByChar(o,!1),deleteCharForward=o=>deleteByChar(o,!0),deleteByGroup=(o,e)=>deleteBy(o,s=>{let a=s,{state:c}=o,d=c.doc.lineAt(a),_=c.charCategorizer(a);for(let b=null;;){if(a==(e?d.to:d.from)){a==s&&d.number!=(e?c.doc.lines:1)&&(a+=e?1:-1);break}let k=findClusterBreak(d.text,a-d.from,e)+d.from,$=d.text.slice(Math.min(a,k)-d.from,Math.max(a,k)-d.from),j=_($);if(b!=null&&j!=b)break;($!=" "||a!=s)&&(b=j),a=k}return skipAtomic(o,a,e)}),deleteGroupBackward=o=>deleteByGroup(o,!1),deleteGroupForward=o=>deleteByGroup(o,!0),deleteToLineEnd=o=>deleteBy(o,e=>{let s=o.lineBlockAt(e).to;return skipAtomic(o,edeleteBy(o,e=>{let s=o.lineBlockAt(e).from;return skipAtomic(o,e>s?s:Math.max(0,e-1),!1)}),splitLine=({state:o,dispatch:e})=>{if(o.readOnly)return!1;let s=o.changeByRange(a=>({changes:{from:a.from,to:a.to,insert:Text.of(["",""])},range:EditorSelection.cursor(a.from)}));return e(o.update(s,{scrollIntoView:!0,userEvent:"input"})),!0},transposeChars=({state:o,dispatch:e})=>{if(o.readOnly)return!1;let s=o.changeByRange(a=>{if(!a.empty||a.from==0||a.from==o.doc.length)return{range:a};let c=a.from,d=o.doc.lineAt(c),_=c==d.from?c-1:findClusterBreak(d.text,c-d.from,!1)+d.from,b=c==d.to?c+1:findClusterBreak(d.text,c-d.from,!0)+d.from;return{changes:{from:_,to:b,insert:o.doc.slice(c,b).append(o.doc.slice(_,c))},range:EditorSelection.cursor(b)}});return s.changes.empty?!1:(e(o.update(s,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function selectedLineBlocks(o){let e=[],s=-1;for(let a of o.selection.ranges){let c=o.doc.lineAt(a.from),d=o.doc.lineAt(a.to);if(!a.empty&&a.to==d.from&&(d=o.doc.lineAt(a.to-1)),s>=c.number){let _=e[e.length-1];_.to=d.to,_.ranges.push(a)}else e.push({from:c.from,to:d.to,ranges:[a]});s=d.number+1}return e}function moveLine(o,e,s){if(o.readOnly)return!1;let a=[],c=[];for(let d of selectedLineBlocks(o)){if(s?d.to==o.doc.length:d.from==0)continue;let _=o.doc.lineAt(s?d.to+1:d.from-1),b=_.length+1;if(s){a.push({from:d.to,to:_.to},{from:d.from,insert:_.text+o.lineBreak});for(let k of d.ranges)c.push(EditorSelection.range(Math.min(o.doc.length,k.anchor+b),Math.min(o.doc.length,k.head+b)))}else{a.push({from:_.from,to:d.from},{from:d.to,insert:o.lineBreak+_.text});for(let k of d.ranges)c.push(EditorSelection.range(k.anchor-b,k.head-b))}}return a.length?(e(o.update({changes:a,scrollIntoView:!0,selection:EditorSelection.create(c,o.selection.mainIndex),userEvent:"move.line"})),!0):!1}const moveLineUp=({state:o,dispatch:e})=>moveLine(o,e,!1),moveLineDown=({state:o,dispatch:e})=>moveLine(o,e,!0);function copyLine(o,e,s){if(o.readOnly)return!1;let a=[];for(let c of selectedLineBlocks(o))s?a.push({from:c.from,insert:o.doc.slice(c.from,c.to)+o.lineBreak}):a.push({from:c.to,insert:o.lineBreak+o.doc.slice(c.from,c.to)});return e(o.update({changes:a,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const copyLineUp=({state:o,dispatch:e})=>copyLine(o,e,!1),copyLineDown=({state:o,dispatch:e})=>copyLine(o,e,!0),deleteLine=o=>{if(o.state.readOnly)return!1;let{state:e}=o,s=e.changes(selectedLineBlocks(e).map(({from:c,to:d})=>(c>0?c--:do.moveVertically(c,!0)).map(s);return o.dispatch({changes:s,selection:a,scrollIntoView:!0,userEvent:"delete.line"}),!0};function isBetweenBrackets(o,e){if(/\(\)|\[\]|\{\}/.test(o.sliceDoc(e-1,e+1)))return{from:e,to:e};let s=syntaxTree(o).resolveInner(e),a=s.childBefore(e),c=s.childAfter(e),d;return a&&c&&a.to<=e&&c.from>=e&&(d=a.type.prop(NodeProp.closedBy))&&d.indexOf(c.name)>-1&&o.doc.lineAt(a.to).from==o.doc.lineAt(c.from).from?{from:a.to,to:c.from}:null}const insertNewlineAndIndent=newlineAndIndent(!1),insertBlankLine=newlineAndIndent(!0);function newlineAndIndent(o){return({state:e,dispatch:s})=>{if(e.readOnly)return!1;let a=e.changeByRange(c=>{let{from:d,to:_}=c,b=e.doc.lineAt(d),k=!o&&d==_&&isBetweenBrackets(e,d);o&&(d=_=(_<=b.to?b:e.doc.lineAt(_)).to);let $=new IndentContext(e,{simulateBreak:d,simulateDoubleBreak:!!k}),j=getIndentation($,d);for(j==null&&(j=/^\s*/.exec(e.doc.lineAt(d).text)[0].length);_b.from&&d{let c=[];for(let _=a.from;_<=a.to;){let b=o.doc.lineAt(_);b.number>s&&(a.empty||a.to>b.from)&&(e(b,c,a),s=b.number),_=b.to+1}let d=o.changes(c);return{changes:c,range:EditorSelection.range(d.mapPos(a.anchor,1),d.mapPos(a.head,1))}})}const indentSelection=({state:o,dispatch:e})=>{if(o.readOnly)return!1;let s=Object.create(null),a=new IndentContext(o,{overrideIndentation:d=>{let _=s[d];return _==null?-1:_}}),c=changeBySelectedLine(o,(d,_,b)=>{let k=getIndentation(a,d.from);if(k==null)return;/\S/.test(d.text)||(k=0);let $=/^\s*/.exec(d.text)[0],j=indentString(o,k);($!=j||b.fromo.readOnly?!1:(e(o.update(changeBySelectedLine(o,(s,a)=>{a.push({from:s.from,insert:o.facet(indentUnit)})}),{userEvent:"input.indent"})),!0),indentLess=({state:o,dispatch:e})=>o.readOnly?!1:(e(o.update(changeBySelectedLine(o,(s,a)=>{let c=/^\s*/.exec(s.text)[0];if(!c)return;let d=countColumn(c,o.tabSize),_=0,b=indentString(o,Math.max(0,d-getIndentUnit(o)));for(;_({mac:o.key,run:o.run,shift:o.shift}))),defaultKeymap=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:cursorSyntaxLeft,shift:selectSyntaxLeft},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:cursorSyntaxRight,shift:selectSyntaxRight},{key:"Alt-ArrowUp",run:moveLineUp},{key:"Shift-Alt-ArrowUp",run:copyLineUp},{key:"Alt-ArrowDown",run:moveLineDown},{key:"Shift-Alt-ArrowDown",run:copyLineDown},{key:"Escape",run:simplifySelection},{key:"Mod-Enter",run:insertBlankLine},{key:"Alt-l",mac:"Ctrl-l",run:selectLine},{key:"Mod-i",run:selectParentSyntax,preventDefault:!0},{key:"Mod-[",run:indentLess},{key:"Mod-]",run:indentMore},{key:"Mod-Alt-\\",run:indentSelection},{key:"Shift-Mod-k",run:deleteLine},{key:"Shift-Mod-\\",run:cursorMatchingBracket}].concat(standardKeymap),defaults={brackets:["(","[","{","'",'"'],before:")]}:;>"},closeBracketEffect=StateEffect.define({map(o,e){let s=e.mapPos(o,-1,MapMode.TrackAfter);return s==null?void 0:s}}),skipBracketEffect=StateEffect.define({map(o,e){return e.mapPos(o)}}),closedBracket=new class extends RangeValue{};closedBracket.startSide=1;closedBracket.endSide=-1;const bracketState=StateField.define({create(){return RangeSet.empty},update(o,e){if(e.selection){let s=e.state.doc.lineAt(e.selection.main.head).from,a=e.startState.doc.lineAt(e.startState.selection.main.head).from;s!=e.changes.mapPos(a,-1)&&(o=RangeSet.empty)}o=o.map(e.changes);for(let s of e.effects)s.is(closeBracketEffect)?o=o.update({add:[closedBracket.range(s.value,s.value+1)]}):s.is(skipBracketEffect)&&(o=o.update({filter:a=>a!=s.value}));return o}});function closeBrackets(){return[inputHandler,bracketState]}const definedClosing="()[]{}<>";function closing(o){for(let e=0;e{if((android?o.composing:o.compositionStarted)||o.state.readOnly)return!1;let c=o.state.selection.main;if(a.length>2||a.length==2&&codePointSize(codePointAt(a,0))==1||e!=c.from||s!=c.to)return!1;let d=insertBracket(o.state,a);return d?(o.dispatch(d),!0):!1}),deleteBracketPair=({state:o,dispatch:e})=>{if(o.readOnly)return!1;let a=config(o,o.selection.main.head).brackets||defaults.brackets,c=null,d=o.changeByRange(_=>{if(_.empty){let b=prevChar(o.doc,_.head);for(let k of a)if(k==b&&nextChar(o.doc,_.head)==closing(codePointAt(k,0)))return{changes:{from:_.head-k.length,to:_.head+k.length},range:EditorSelection.cursor(_.head-k.length),userEvent:"delete.backward"}}return{range:c=_}});return c||e(o.update(d,{scrollIntoView:!0})),!c},closeBracketsKeymap=[{key:"Backspace",run:deleteBracketPair}];function insertBracket(o,e){let s=config(o,o.selection.main.head),a=s.brackets||defaults.brackets;for(let c of a){let d=closing(codePointAt(c,0));if(e==c)return d==c?handleSame(o,c,a.indexOf(c+c+c)>-1):handleOpen(o,c,d,s.before||defaults.before);if(e==d&&closedBracketAt(o,o.selection.main.from))return handleClose(o,c,d)}return null}function closedBracketAt(o,e){let s=!1;return o.field(bracketState).between(0,o.doc.length,a=>{a==e&&(s=!0)}),s}function nextChar(o,e){let s=o.sliceString(e,e+2);return s.slice(0,codePointSize(codePointAt(s,0)))}function prevChar(o,e){let s=o.sliceString(e-2,e);return codePointSize(codePointAt(s,0))==s.length?s:s.slice(1)}function handleOpen(o,e,s,a){let c=null,d=o.changeByRange(_=>{if(!_.empty)return{changes:[{insert:e,from:_.from},{insert:s,from:_.to}],effects:closeBracketEffect.of(_.to+e.length),range:EditorSelection.range(_.anchor+e.length,_.head+e.length)};let b=nextChar(o.doc,_.head);return!b||/\s/.test(b)||a.indexOf(b)>-1?{changes:{insert:e+s,from:_.head},effects:closeBracketEffect.of(_.head+e.length),range:EditorSelection.cursor(_.head+e.length)}:{range:c=_}});return c?null:o.update(d,{scrollIntoView:!0,userEvent:"input.type"})}function handleClose(o,e,s){let a=null,c=o.selection.ranges.map(d=>d.empty&&nextChar(o.doc,d.head)==s?EditorSelection.cursor(d.head+s.length):a=d);return a?null:o.update({selection:EditorSelection.create(c,o.selection.mainIndex),scrollIntoView:!0,effects:o.selection.ranges.map(({from:d})=>skipBracketEffect.of(d))})}function handleSame(o,e,s){let a=null,c=o.changeByRange(d=>{if(!d.empty)return{changes:[{insert:e,from:d.from},{insert:e,from:d.to}],effects:closeBracketEffect.of(d.to+e.length),range:EditorSelection.range(d.anchor+e.length,d.head+e.length)};let _=d.head,b=nextChar(o.doc,_);if(b==e){if(nodeStart(o,_))return{changes:{insert:e+e,from:_},effects:closeBracketEffect.of(_+e.length),range:EditorSelection.cursor(_+e.length)};if(closedBracketAt(o,_)){let k=s&&o.sliceDoc(_,_+e.length*3)==e+e+e;return{range:EditorSelection.cursor(_+e.length*(k?3:1)),effects:skipBracketEffect.of(_)}}}else{if(s&&o.sliceDoc(_-2*e.length,_)==e+e&&nodeStart(o,_-2*e.length))return{changes:{insert:e+e+e+e,from:_},effects:closeBracketEffect.of(_+e.length),range:EditorSelection.cursor(_+e.length)};if(o.charCategorizer(_)(b)!=CharCategory.Word){let k=o.sliceDoc(_-1,_);if(k!=e&&o.charCategorizer(_)(k)!=CharCategory.Word&&!probablyInString(o,_,e))return{changes:{insert:e+e,from:_},effects:closeBracketEffect.of(_+e.length),range:EditorSelection.cursor(_+e.length)}}}return{range:a=d}});return a?null:o.update(c,{scrollIntoView:!0,userEvent:"input.type"})}function nodeStart(o,e){let s=syntaxTree(o).resolveInner(e+1);return s.parent&&s.from==e}function probablyInString(o,e,s){let a=syntaxTree(o).resolveInner(e,-1);for(let c=0;c<5;c++){if(o.sliceDoc(a.from,a.from+s.length)==s)return!0;let d=a.to==e&&a.parent;if(!d)break;a=d}return!1}const panelConfig=Facet.define({combine(o){let e,s;for(let a of o)e=e||a.topContainer,s=s||a.bottomContainer;return{topContainer:e,bottomContainer:s}}});function getPanel(o,e){let s=o.plugin(panelPlugin),a=s?s.specs.indexOf(e):-1;return a>-1?s.panels[a]:null}const panelPlugin=ViewPlugin.fromClass(class{constructor(o){this.input=o.state.facet(showPanel),this.specs=this.input.filter(s=>s),this.panels=this.specs.map(s=>s(o));let e=o.state.facet(panelConfig);this.top=new PanelGroup(o,!0,e.topContainer),this.bottom=new PanelGroup(o,!1,e.bottomContainer),this.top.sync(this.panels.filter(s=>s.top)),this.bottom.sync(this.panels.filter(s=>!s.top));for(let s of this.panels)s.dom.classList.add("cm-panel"),s.mount&&s.mount()}update(o){let e=o.state.facet(panelConfig);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new PanelGroup(o.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new PanelGroup(o.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let s=o.state.facet(showPanel);if(s!=this.input){let a=s.filter(k=>k),c=[],d=[],_=[],b=[];for(let k of a){let $=this.specs.indexOf(k),j;$<0?(j=k(o.view),b.push(j)):(j=this.panels[$],j.update&&j.update(o)),c.push(j),(j.top?d:_).push(j)}this.specs=a,this.panels=c,this.top.sync(d),this.bottom.sync(_);for(let k of b)k.dom.classList.add("cm-panel"),k.mount&&k.mount()}else for(let a of this.panels)a.update&&a.update(o)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:PluginField.scrollMargins.from(o=>({top:o.top.scrollMargin(),bottom:o.bottom.scrollMargin()}))});class PanelGroup{constructor(e,s,a){this.view=e,this.top=s,this.container=a,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let s of this.panels)s.destroy&&e.indexOf(s)<0&&s.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let s=this.container||this.view.dom;s.insertBefore(this.dom,this.top?s.firstChild:null)}let e=this.dom.firstChild;for(let s of this.panels)if(s.dom.parentNode==this.dom){for(;e!=s.dom;)e=rm(e);e=e.nextSibling}else this.dom.insertBefore(s.dom,e);for(;e;)e=rm(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function rm(o){let e=o.nextSibling;return o.remove(),e}const baseTheme$4=EditorView.baseTheme({".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"}}),showPanel=Facet.define({enables:[panelPlugin,baseTheme$4]});function crelt(){var o=arguments[0];typeof o=="string"&&(o=document.createElement(o));var e=1,s=arguments[1];if(s&&typeof s=="object"&&s.nodeType==null&&!Array.isArray(s)){for(var a in s)if(Object.prototype.hasOwnProperty.call(s,a)){var c=s[a];typeof c=="string"?o.setAttribute(a,c):c!=null&&(o[a]=c)}e++}for(;eo.normalize("NFKD"):o=>o;class SearchCursor{constructor(e,s,a=0,c=e.length,d){this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(a,c),this.bufferStart=a,this.normalize=d?_=>d(basicNormalize(_)):basicNormalize,this.query=this.normalize(s)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return codePointAt(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let s=fromCodePoint(e),a=this.bufferStart+this.bufferPos;this.bufferPos+=codePointSize(e);let c=this.normalize(s);for(let d=0,_=a;;d++){let b=c.charCodeAt(d),k=this.match(b,_);if(k)return this.value=k,this;if(d==c.length-1)break;_==a&&dthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let s=this.matchPos<=this.to&&this.re.exec(this.curLine);if(s){let a=this.curLineStart+s.index,c=a+s[0].length;if(this.matchPos=c+(a==c?1:0),a==this.curLine.length&&this.nextLine(),athis.value.to)return this.value={from:a,to:c,match:s},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=a||c.to<=s){let b=new FlattenedDoc(s,e.sliceString(s,a));return flattened.set(e,b),b}if(c.from==s&&c.to==a)return c;let{text:d,from:_}=c;return _>s&&(d=e.sliceString(s,_)+d,_=s),c.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,s=this.re.exec(this.flat.text);if(s&&!s[0]&&s.index==e&&(this.re.lastIndex=e+1,s=this.re.exec(this.flat.text)),s&&this.flat.tothis.flat.text.length-10&&(s=null),s){let a=this.flat.from+s.index,c=a+s[0].length;return this.value={from:a,to:c,match:s},this.matchPos=c+(a==c?1:0),this}else{if(this.flat.to==this.to)return this.done=!0,this;this.flat=FlattenedDoc.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}}typeof Symbol!="undefined"&&(RegExpCursor.prototype[Symbol.iterator]=MultilineRegExpCursor.prototype[Symbol.iterator]=function(){return this});function validRegExp(o){try{return new RegExp(o,baseFlags),!0}catch{return!1}}function createLineDialog(o){let e=crelt("input",{class:"cm-textfield",name:"line"}),s=crelt("form",{class:"cm-gotoLine",onkeydown:c=>{c.keyCode==27?(c.preventDefault(),o.dispatch({effects:dialogEffect.of(!1)}),o.focus()):c.keyCode==13&&(c.preventDefault(),a())},onsubmit:c=>{c.preventDefault(),a()}},crelt("label",o.state.phrase("Go to line"),": ",e)," ",crelt("button",{class:"cm-button",type:"submit"},o.state.phrase("go")));function a(){let c=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(e.value);if(!c)return;let{state:d}=o,_=d.doc.lineAt(d.selection.main.head),[,b,k,$,j]=c,_e=$?+$.slice(1):0,et=k?+k:_.number;if(k&&j){let nt=et/100;b&&(nt=nt*(b=="-"?-1:1)+_.number/d.doc.lines),et=Math.round(d.doc.lines*nt)}else k&&b&&(et=et*(b=="-"?-1:1)+_.number);let tt=d.doc.line(Math.max(1,Math.min(d.doc.lines,et)));o.dispatch({effects:dialogEffect.of(!1),selection:EditorSelection.cursor(tt.from+Math.max(0,Math.min(_e,tt.length))),scrollIntoView:!0}),o.focus()}return{dom:s,pos:-10}}const dialogEffect=StateEffect.define(),dialogField=StateField.define({create(){return!0},update(o,e){for(let s of e.effects)s.is(dialogEffect)&&(o=s.value);return o},provide:o=>showPanel.from(o,e=>e?createLineDialog:null)}),gotoLine=o=>{let e=getPanel(o,createLineDialog);if(!e){let s=[dialogEffect.of(!0)];o.state.field(dialogField,!1)==null&&s.push(StateEffect.appendConfig.of([dialogField,baseTheme$1$1])),o.dispatch({effects:s}),e=getPanel(o,createLineDialog)}return e&&e.dom.querySelector("input").focus(),!0},baseTheme$1$1=EditorView.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),defaultHighlightOptions={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!0},highlightConfig=Facet.define({combine(o){return combineConfig(o,defaultHighlightOptions,{highlightWordAroundCursor:(e,s)=>e||s,minSelectionLength:Math.min,maxMatches:Math.min})}});function highlightSelectionMatches(o){let e=[defaultTheme,matchHighlighter];return o&&e.push(highlightConfig.of(o)),e}const matchDeco=Decoration.mark({class:"cm-selectionMatch"}),mainMatchDeco=Decoration.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function insideWordBoundaries(o,e,s,a){return(s==0||o(e.sliceDoc(s-1,s))!=CharCategory.Word)&&(a==e.doc.length||o(e.sliceDoc(a,a+1))!=CharCategory.Word)}function insideWord(o,e,s,a){return o(e.sliceDoc(s,s+1))==CharCategory.Word&&o(e.sliceDoc(a-1,a))==CharCategory.Word}const matchHighlighter=ViewPlugin.fromClass(class{constructor(o){this.decorations=this.getDeco(o)}update(o){(o.selectionSet||o.docChanged||o.viewportChanged)&&(this.decorations=this.getDeco(o.view))}getDeco(o){let e=o.state.facet(highlightConfig),{state:s}=o,a=s.selection;if(a.ranges.length>1)return Decoration.none;let c=a.main,d,_=null;if(c.empty){if(!e.highlightWordAroundCursor)return Decoration.none;let k=s.wordAt(c.head);if(!k)return Decoration.none;_=s.charCategorizer(c.head),d=s.sliceDoc(k.from,k.to)}else{let k=c.to-c.from;if(k200)return Decoration.none;if(e.wholeWords){if(d=s.sliceDoc(c.from,c.to),_=s.charCategorizer(c.head),!(insideWordBoundaries(_,s,c.from,c.to)&&insideWord(_,s,c.from,c.to)))return Decoration.none}else if(d=s.sliceDoc(c.from,c.to).trim(),!d)return Decoration.none}let b=[];for(let k of o.visibleRanges){let $=new SearchCursor(s.doc,d,k.from,k.to);for(;!$.next().done;){let{from:j,to:_e}=$.value;if((!_||insideWordBoundaries(_,s,j,_e))&&(c.empty&&j<=c.from&&_e>=c.to?b.push(mainMatchDeco.range(j,_e)):(j>=c.to||_e<=c.from)&&b.push(matchDeco.range(j,_e)),b.length>e.maxMatches))return Decoration.none}}return Decoration.set(b)}},{decorations:o=>o.decorations}),defaultTheme=EditorView.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),selectWord=({state:o,dispatch:e})=>{let{selection:s}=o,a=EditorSelection.create(s.ranges.map(c=>o.wordAt(c.head)||EditorSelection.cursor(c.head)),s.mainIndex);return a.eq(s)?!1:(e(o.update({selection:a})),!0)};function findNextOccurrence(o,e){let{main:s,ranges:a}=o.selection,c=o.wordAt(s.head),d=c&&c.from==s.from&&c.to==s.to;for(let _=!1,b=new SearchCursor(o.doc,e,a[a.length-1].to);;)if(b.next(),b.done){if(_)return null;b=new SearchCursor(o.doc,e,0,Math.max(0,a[a.length-1].from-1)),_=!0}else{if(_&&a.some(k=>k.from==b.value.from))continue;if(d){let k=o.wordAt(b.value.from);if(!k||k.from!=b.value.from||k.to!=b.value.to)continue}return b.value}}const selectNextOccurrence=({state:o,dispatch:e})=>{let{ranges:s}=o.selection;if(s.some(d=>d.from===d.to))return selectWord({state:o,dispatch:e});let a=o.sliceDoc(s[0].from,s[0].to);if(o.selection.ranges.some(d=>o.sliceDoc(d.from,d.to)!=a))return!1;let c=findNextOccurrence(o,a);return c?(e(o.update({selection:o.selection.addRange(EditorSelection.range(c.from,c.to),!1),effects:EditorView.scrollIntoView(c.to)})),!0):!1},searchConfigFacet=Facet.define({combine(o){var e;return{top:o.reduce((s,a)=>s!=null?s:a.top,void 0)||!1,caseSensitive:o.reduce((s,a)=>s!=null?s:a.caseSensitive||a.matchCase,void 0)||!1,createPanel:((e=o.find(s=>s.createPanel))===null||e===void 0?void 0:e.createPanel)||(s=>new SearchPanel(s))}}});class SearchQuery{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||validRegExp(this.search)),this.unquoted=this.search.replace(/\\([nrt\\])/g,(s,a)=>a=="n"?` -`:a=="r"?"\r":a=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp}create(){return this.regexp?new RegExpQuery(this):new StringQuery(this)}getCursor(e,s=0,a=e.length){return this.regexp?regexpCursor(this,e,s,a):stringCursor(this,e,s,a)}}class QueryType{constructor(e){this.spec=e}}function stringCursor(o,e,s,a){return new SearchCursor(e,o.unquoted,s,a,o.caseSensitive?void 0:c=>c.toLowerCase())}class StringQuery extends QueryType{constructor(e){super(e)}nextMatch(e,s,a){let c=stringCursor(this.spec,e,a,e.length).nextOverlapping();return c.done&&(c=stringCursor(this.spec,e,0,s).nextOverlapping()),c.done?null:c.value}prevMatchInRange(e,s,a){for(let c=a;;){let d=Math.max(s,c-1e4-this.spec.unquoted.length),_=stringCursor(this.spec,e,d,c),b=null;for(;!_.nextOverlapping().done;)b=_.value;if(b)return b;if(d==s)return null;c-=1e4}}prevMatch(e,s,a){return this.prevMatchInRange(e,0,s)||this.prevMatchInRange(e,a,e.length)}getReplacement(e){return this.spec.replace}matchAll(e,s){let a=stringCursor(this.spec,e,0,e.length),c=[];for(;!a.next().done;){if(c.length>=s)return null;c.push(a.value)}return c}highlight(e,s,a,c){let d=stringCursor(this.spec,e,Math.max(0,s-this.spec.unquoted.length),Math.min(a+this.spec.unquoted.length,e.length));for(;!d.next().done;)c(d.value.from,d.value.to)}}function regexpCursor(o,e,s,a){return new RegExpCursor(e,o.search,o.caseSensitive?void 0:{ignoreCase:!0},s,a)}class RegExpQuery extends QueryType{nextMatch(e,s,a){let c=regexpCursor(this.spec,e,a,e.length).next();return c.done&&(c=regexpCursor(this.spec,e,0,s).next()),c.done?null:c.value}prevMatchInRange(e,s,a){for(let c=1;;c++){let d=Math.max(s,a-c*1e4),_=regexpCursor(this.spec,e,d,a),b=null;for(;!_.next().done;)b=_.value;if(b&&(d==s||b.from>d+10))return b;if(d==s)return null}}prevMatch(e,s,a){return this.prevMatchInRange(e,0,s)||this.prevMatchInRange(e,a,e.length)}getReplacement(e){return this.spec.replace.replace(/\$([$&\d+])/g,(s,a)=>a=="$"?"$":a=="&"?e.match[0]:a!="0"&&+a=s)return null;c.push(a.value)}return c}highlight(e,s,a,c){let d=regexpCursor(this.spec,e,Math.max(0,s-250),Math.min(a+250,e.length));for(;!d.next().done;)c(d.value.from,d.value.to)}}const setSearchQuery=StateEffect.define(),togglePanel$1=StateEffect.define(),searchState=StateField.define({create(o){return new SearchState(defaultQuery(o).create(),null)},update(o,e){for(let s of e.effects)s.is(setSearchQuery)?o=new SearchState(s.value.create(),o.panel):s.is(togglePanel$1)&&(o=new SearchState(o.query,s.value?createSearchPanel:null));return o},provide:o=>showPanel.from(o,e=>e.panel)});class SearchState{constructor(e,s){this.query=e,this.panel=s}}const matchMark=Decoration.mark({class:"cm-searchMatch"}),selectedMatchMark=Decoration.mark({class:"cm-searchMatch cm-searchMatch-selected"}),searchHighlighter=ViewPlugin.fromClass(class{constructor(o){this.view=o,this.decorations=this.highlight(o.state.field(searchState))}update(o){let e=o.state.field(searchState);(e!=o.startState.field(searchState)||o.docChanged||o.selectionSet||o.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:o,panel:e}){if(!e||!o.spec.valid)return Decoration.none;let{view:s}=this,a=new RangeSetBuilder;for(let c=0,d=s.visibleRanges,_=d.length;c<_;c++){let{from:b,to:k}=d[c];for(;c<_-1&&k>d[c+1].from-2*250;)k=d[++c].to;o.highlight(s.state.doc,b,k,($,j)=>{let _e=s.state.selection.ranges.some(et=>et.from==$&&et.to==j);a.add($,j,_e?selectedMatchMark:matchMark)})}return a.finish()}},{decorations:o=>o.decorations});function searchCommand(o){return e=>{let s=e.state.field(searchState,!1);return s&&s.query.spec.valid?o(e,s):openSearchPanel(e)}}const findNext=searchCommand((o,{query:e})=>{let{from:s,to:a}=o.state.selection.main,c=e.nextMatch(o.state.doc,s,a);return!c||c.from==s&&c.to==a?!1:(o.dispatch({selection:{anchor:c.from,head:c.to},scrollIntoView:!0,effects:announceMatch(o,c),userEvent:"select.search"}),!0)}),findPrevious=searchCommand((o,{query:e})=>{let{state:s}=o,{from:a,to:c}=s.selection.main,d=e.prevMatch(s.doc,a,c);return d?(o.dispatch({selection:{anchor:d.from,head:d.to},scrollIntoView:!0,effects:announceMatch(o,d),userEvent:"select.search"}),!0):!1}),selectMatches=searchCommand((o,{query:e})=>{let s=e.matchAll(o.state.doc,1e3);return!s||!s.length?!1:(o.dispatch({selection:EditorSelection.create(s.map(a=>EditorSelection.range(a.from,a.to))),userEvent:"select.search.matches"}),!0)}),selectSelectionMatches=({state:o,dispatch:e})=>{let s=o.selection;if(s.ranges.length>1||s.main.empty)return!1;let{from:a,to:c}=s.main,d=[],_=0;for(let b=new SearchCursor(o.doc,o.sliceDoc(a,c));!b.next().done;){if(d.length>1e3)return!1;b.value.from==a&&(_=d.length),d.push(EditorSelection.range(b.value.from,b.value.to))}return e(o.update({selection:EditorSelection.create(d,_),userEvent:"select.search.matches"})),!0},replaceNext=searchCommand((o,{query:e})=>{let{state:s}=o,{from:a,to:c}=s.selection.main;if(s.readOnly)return!1;let d=e.nextMatch(s.doc,a,a);if(!d)return!1;let _=[],b,k;if(d.from==a&&d.to==c&&(k=s.toText(e.getReplacement(d)),_.push({from:d.from,to:d.to,insert:k}),d=e.nextMatch(s.doc,d.from,d.to)),d){let $=_.length==0||_[0].from>=d.to?0:d.to-d.from-k.length;b={anchor:d.from-$,head:d.to-$}}return o.dispatch({changes:_,selection:b,scrollIntoView:!!b,effects:d?announceMatch(o,d):void 0,userEvent:"input.replace"}),!0}),replaceAll=searchCommand((o,{query:e})=>{if(o.state.readOnly)return!1;let s=e.matchAll(o.state.doc,1e9).map(a=>{let{from:c,to:d}=a;return{from:c,to:d,insert:e.getReplacement(a)}});return s.length?(o.dispatch({changes:s,userEvent:"input.replace.all"}),!0):!1});function createSearchPanel(o){return o.state.facet(searchConfigFacet).createPanel(o)}function defaultQuery(o,e){var s;let a=o.selection.main,c=a.empty||a.to>a.from+100?"":o.sliceDoc(a.from,a.to),d=(s=e==null?void 0:e.caseSensitive)!==null&&s!==void 0?s:o.facet(searchConfigFacet).caseSensitive;return e&&!c?e:new SearchQuery({search:c.replace(/\n/g,"\\n"),caseSensitive:d})}const openSearchPanel=o=>{let e=o.state.field(searchState,!1);if(e&&e.panel){let s=getPanel(o,createSearchPanel);if(!s)return!1;let a=s.dom.querySelector("[name=search]");if(a!=o.root.activeElement){let c=defaultQuery(o.state,e.query.spec);c.valid&&o.dispatch({effects:setSearchQuery.of(c)}),a.focus(),a.select()}}else o.dispatch({effects:[togglePanel$1.of(!0),e?setSearchQuery.of(defaultQuery(o.state,e.query.spec)):StateEffect.appendConfig.of(searchExtensions)]});return!0},closeSearchPanel=o=>{let e=o.state.field(searchState,!1);if(!e||!e.panel)return!1;let s=getPanel(o,createSearchPanel);return s&&s.dom.contains(o.root.activeElement)&&o.focus(),o.dispatch({effects:togglePanel$1.of(!1)}),!0},searchKeymap=[{key:"Mod-f",run:openSearchPanel,scope:"editor search-panel"},{key:"F3",run:findNext,shift:findPrevious,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:findNext,shift:findPrevious,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:closeSearchPanel,scope:"editor search-panel"},{key:"Mod-Shift-l",run:selectSelectionMatches},{key:"Alt-g",run:gotoLine},{key:"Mod-d",run:selectNextOccurrence,preventDefault:!0}];class SearchPanel{constructor(e){this.view=e;let s=this.query=e.state.field(searchState).query.spec;this.commit=this.commit.bind(this),this.searchField=crelt("input",{value:s.search,placeholder:phrase(e,"Find"),"aria-label":phrase(e,"Find"),class:"cm-textfield",name:"search",onchange:this.commit,onkeyup:this.commit}),this.replaceField=crelt("input",{value:s.replace,placeholder:phrase(e,"Replace"),"aria-label":phrase(e,"Replace"),class:"cm-textfield",name:"replace",onchange:this.commit,onkeyup:this.commit}),this.caseField=crelt("input",{type:"checkbox",name:"case",checked:s.caseSensitive,onchange:this.commit}),this.reField=crelt("input",{type:"checkbox",name:"re",checked:s.regexp,onchange:this.commit});function a(c,d,_){return crelt("button",{class:"cm-button",name:c,onclick:d,type:"button"},_)}this.dom=crelt("div",{onkeydown:c=>this.keydown(c),class:"cm-search"},[this.searchField,a("next",()=>findNext(e),[phrase(e,"next")]),a("prev",()=>findPrevious(e),[phrase(e,"previous")]),a("select",()=>selectMatches(e),[phrase(e,"all")]),crelt("label",null,[this.caseField,phrase(e,"match case")]),crelt("label",null,[this.reField,phrase(e,"regexp")]),...e.state.readOnly?[]:[crelt("br"),this.replaceField,a("replace",()=>replaceNext(e),[phrase(e,"replace")]),a("replaceAll",()=>replaceAll(e),[phrase(e,"replace all")]),crelt("button",{name:"close",onclick:()=>closeSearchPanel(e),"aria-label":phrase(e,"close"),type:"button"},["\xD7"])]])}commit(){let e=new SearchQuery({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:setSearchQuery.of(e)}))}keydown(e){runScopeHandlers(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?findPrevious:findNext)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),replaceNext(this.view))}update(e){for(let s of e.transactions)for(let a of s.effects)a.is(setSearchQuery)&&!a.value.eq(this.query)&&this.setQuery(a.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(searchConfigFacet).top}}function phrase(o,e){return o.state.phrase(e)}const AnnounceMargin=30,Break=/[\s\.,:;?!]/;function announceMatch(o,{from:e,to:s}){let a=o.state.doc.lineAt(e).from,c=o.state.doc.lineAt(s).to,d=Math.max(a,e-AnnounceMargin),_=Math.min(c,s+AnnounceMargin),b=o.state.sliceDoc(d,_);if(d!=a){for(let k=0;kb.length-AnnounceMargin;k--)if(!Break.test(b[k-1])&&Break.test(b[k])){b=b.slice(0,k);break}}return EditorView.announce.of(`${o.state.phrase("current match")}. ${b} ${o.state.phrase("on line")} ${o.state.doc.lineAt(e).number}`)}const baseTheme$3=EditorView.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),searchExtensions=[searchState,Prec.lowest(searchHighlighter),baseTheme$3],ios=typeof navigator!="undefined"&&!/Edge\/(\d+)/.exec(navigator.userAgent)&&/Apple Computer/.test(navigator.vendor)&&(/Mobile\/\w+/.test(navigator.userAgent)||navigator.maxTouchPoints>2),Outside="-10000px";class TooltipViewManager{constructor(e,s,a){this.facet=s,this.createTooltipView=a,this.input=e.state.facet(s),this.tooltips=this.input.filter(c=>c),this.tooltipViews=this.tooltips.map(a)}update(e){let s=e.state.facet(this.facet),a=s.filter(d=>d);if(s===this.input){for(let d of this.tooltipViews)d.update&&d.update(e);return!1}let c=[];for(let d=0;d{var e,s,a;return{position:ios?"absolute":((e=o.find(c=>c.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((s=o.find(c=>c.parent))===null||s===void 0?void 0:s.parent)||null,tooltipSpace:((a=o.find(c=>c.tooltipSpace))===null||a===void 0?void 0:a.tooltipSpace)||windowSpace}}}),tooltipPlugin=ViewPlugin.fromClass(class{constructor(o){var e;this.view=o,this.inView=!0,this.lastTransaction=0,this.measureTimeout=-1;let s=o.state.facet(tooltipConfig);this.position=s.position,this.parent=s.parent,this.classes=o.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.manager=new TooltipViewManager(o,showTooltip,a=>this.createTooltip(a)),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(a=>{Date.now()>this.lastTransaction-50&&a.length>0&&a[a.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),(e=o.dom.ownerDocument.defaultView)===null||e===void 0||e.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let o of this.manager.tooltipViews)this.intersectionObserver.observe(o.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(o){o.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(o);e&&this.observeIntersection();let s=e||o.geometryChanged,a=o.state.facet(tooltipConfig);if(a.position!=this.position){this.position=a.position;for(let c of this.manager.tooltipViews)c.dom.style.position=this.position;s=!0}if(a.parent!=this.parent){this.parent&&this.container.remove(),this.parent=a.parent,this.createContainer();for(let c of this.manager.tooltipViews)this.container.appendChild(c.dom);s=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);s&&this.maybeMeasure()}createTooltip(o){let e=o.create(this.view);if(e.dom.classList.add("cm-tooltip"),o.arrow&&!e.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let s=document.createElement("div");s.className="cm-tooltip-arrow",e.dom.appendChild(s)}return e.dom.style.position=this.position,e.dom.style.top=Outside,this.container.appendChild(e.dom),e.mount&&e.mount(this.view),e}destroy(){var o,e;(o=this.view.dom.ownerDocument.defaultView)===null||o===void 0||o.removeEventListener("resize",this.measureSoon);for(let{dom:s}of this.manager.tooltipViews)s.remove();(e=this.intersectionObserver)===null||e===void 0||e.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let o=this.view.dom.getBoundingClientRect();return{editor:o,parent:this.parent?this.container.getBoundingClientRect():o,pos:this.manager.tooltips.map((e,s)=>{let a=this.manager.tooltipViews[s];return a.getCoords?a.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(tooltipConfig).tooltipSpace(this.view)}}writeMeasure(o){let{editor:e,space:s}=o,a=[];for(let c=0;c=Math.min(e.bottom,s.bottom)||k.rightMath.min(e.right,s.right)+.1){b.style.top=Outside;continue}let j=d.arrow?_.dom.querySelector(".cm-tooltip-arrow"):null,_e=j?7:0,et=$.right-$.left,tt=$.bottom-$.top,nt=_.offset||noOffset,st=this.view.textDirection==Direction.LTR,rt=$.width>s.right-s.left?st?s.left:s.right-$.width:st?Math.min(k.left-(j?14:0)+nt.x,s.right-et):Math.max(s.left,k.left-et+(j?14:0)-nt.x),it=!!d.above;!d.strictSide&&(it?k.top-($.bottom-$.top)-nt.ys.bottom)&&it==s.bottom-k.bottom>k.top-s.top&&(it=!it);let at=it?k.top-tt-_e-nt.y:k.bottom+_e+nt.y,ot=rt+et;if(_.overlap!==!0)for(let pt of a)pt.leftrt&&pt.topat&&(at=it?pt.top-tt-2-_e:pt.bottom+_e+2);this.position=="absolute"?(b.style.top=at-o.parent.top+"px",b.style.left=rt-o.parent.left+"px"):(b.style.top=at+"px",b.style.left=rt+"px"),j&&(j.style.left=`${k.left+(st?nt.x:-nt.x)-(rt+14-7)}px`),_.overlap!==!0&&a.push({left:rt,top:at,right:ot,bottom:at+tt}),b.classList.toggle("cm-tooltip-above",it),b.classList.toggle("cm-tooltip-below",!it),_.positioned&&_.positioned()}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let o of this.manager.tooltipViews)o.dom.style.top=Outside}},{eventHandlers:{scroll(){this.maybeMeasure()}}}),baseTheme$2=EditorView.baseTheme({".cm-tooltip":{zIndex:100},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:`${7}px`,width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:`${7}px solid transparent`,borderRight:`${7}px solid transparent`},".cm-tooltip-above &":{bottom:`-${7}px`,"&:before":{borderTop:`${7}px solid #bbb`},"&:after":{borderTop:`${7}px solid #f5f5f5`,bottom:"1px"}},".cm-tooltip-below &":{top:`-${7}px`,"&:before":{borderBottom:`${7}px solid #bbb`},"&:after":{borderBottom:`${7}px solid #f5f5f5`,top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),noOffset={x:0,y:0},showTooltip=Facet.define({enables:[tooltipPlugin,baseTheme$2]}),showHoverTooltip=Facet.define();class HoverTooltipHost{constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new TooltipViewManager(e,showHoverTooltip,s=>this.createHostedView(s))}static create(e){return new HoverTooltipHost(e)}createHostedView(e){let s=e.create(this.view);return s.dom.classList.add("cm-tooltip-section"),this.dom.appendChild(s.dom),this.mounted&&s.mount&&s.mount(this.view),s}mount(e){for(let s of this.manager.tooltipViews)s.mount&&s.mount(e);this.mounted=!0}positioned(){for(let e of this.manager.tooltipViews)e.positioned&&e.positioned()}update(e){this.manager.update(e)}}const showHoverTooltipHost=showTooltip.compute([showHoverTooltip],o=>{let e=o.facet(showHoverTooltip).filter(s=>s);return e.length===0?null:{pos:Math.min(...e.map(s=>s.pos)),end:Math.max(...e.filter(s=>s.end!=null).map(s=>s.end)),create:HoverTooltipHost.create,above:e[0].above,arrow:e.some(s=>s.arrow)}});class HoverPlugin{constructor(e,s,a,c,d){this.view=e,this.source=s,this.field=a,this.setHover=c,this.hoverTime=d,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active)return;let e=Date.now()-this.lastMove.time;ec.bottom||s.xc.right+this.view.defaultCharacterWidth)return;let d=this.view.bidiSpans(this.view.state.doc.lineAt(a)).find(k=>k.from<=a&&k.to>=a),_=d&&d.dir==Direction.RTL?-1:1,b=this.source(this.view,a,s.x{this.pending==k&&(this.pending=null,$&&this.view.dispatch({effects:this.setHover.of($)}))},$=>logException(this.view.state,$,"hover tooltip"))}else b&&this.view.dispatch({effects:this.setHover.of(b)})}mousemove(e){var s;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let a=this.active;if(a&&!isInTooltip(this.lastMove.target)||this.pending){let{pos:c}=a||this.pending,d=(s=a==null?void 0:a.end)!==null&&s!==void 0?s:c;(c==d?this.view.posAtCoords(this.lastMove)!=c:!isOverRange(this.view,c,d,e.clientX,e.clientY,6))&&(this.view.dispatch({effects:this.setHover.of(null)}),this.pending=null)}}mouseleave(){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1,this.active&&this.view.dispatch({effects:this.setHover.of(null)})}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}function isInTooltip(o){for(let e=o;e;e=e.parentNode)if(e.nodeType==1&&e.classList.contains("cm-tooltip"))return!0;return!1}function isOverRange(o,e,s,a,c,d){let _=document.createRange(),b=o.domAtPos(e),k=o.domAtPos(s);_.setEnd(k.node,k.offset),_.setStart(b.node,b.offset);let $=_.getClientRects();_.detach();for(let j=0;j<$.length;j++){let _e=$[j];if(Math.max(_e.top-c,c-_e.bottom,_e.left-a,a-_e.right)<=d)return!0}return!1}function hoverTooltip(o,e={}){let s=StateEffect.define(),a=StateField.define({create(){return null},update(c,d){if(c&&e.hideOnChange&&(d.docChanged||d.selection))return null;for(let _ of d.effects){if(_.is(s))return _.value;if(_.is(closeHoverTooltipEffect))return null}if(c&&d.docChanged){let _=d.changes.mapPos(c.pos,-1,MapMode.TrackDel);if(_==null)return null;let b=Object.assign(Object.create(null),c);return b.pos=_,c.end!=null&&(b.end=d.changes.mapPos(c.end)),b}return c},provide:c=>showHoverTooltip.from(c)});return[a,ViewPlugin.define(c=>new HoverPlugin(c,o,a,s,e.hoverTime||300)),showHoverTooltipHost]}function getTooltip(o,e){let s=o.plugin(tooltipPlugin);if(!s)return null;let a=s.manager.tooltips.indexOf(e);return a<0?null:s.manager.tooltipViews[a]}const closeHoverTooltipEffect=StateEffect.define();class CompletionContext{constructor(e,s,a){this.state=e,this.pos=s,this.explicit=a,this.abortListeners=[]}tokenBefore(e){let s=syntaxTree(this.state).resolveInner(this.pos,-1);for(;s&&e.indexOf(s.name)<0;)s=s.parent;return s?{from:s.from,to:this.pos,text:this.state.sliceDoc(s.from,this.pos),type:s.type}:null}matchBefore(e){let s=this.state.doc.lineAt(this.pos),a=Math.max(s.from,this.pos-250),c=s.text.slice(a-s.from,this.pos-s.from),d=c.search(ensureAnchor(e,!1));return d<0?null:{from:a+d,to:this.pos,text:c.slice(d)}}get aborted(){return this.abortListeners==null}addEventListener(e,s){e=="abort"&&this.abortListeners&&this.abortListeners.push(s)}}function toSet(o){let e=Object.keys(o).join(""),s=/\w/.test(e);return s&&(e=e.replace(/\w/g,"")),`[${s?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function prefixMatch(o){let e=Object.create(null),s=Object.create(null);for(let{label:c}of o){e[c[0]]=!0;for(let d=1;dtypeof c=="string"?{label:c}:c),[s,a]=e.every(c=>/^\w+$/.test(c.label))?[/\w*$/,/\w+$/]:prefixMatch(e);return c=>{let d=c.matchBefore(a);return d||c.explicit?{from:d?d.from:c.pos,options:e,span:s}:null}}function ifNotIn(o,e){return s=>{for(let a=syntaxTree(s.state).resolveInner(s.pos,-1);a;a=a.parent)if(o.indexOf(a.name)>-1)return null;return e(s)}}class Option{constructor(e,s,a){this.completion=e,this.source=s,this.match=a}}function cur(o){return o.selection.main.head}function ensureAnchor(o,e){var s;let{source:a}=o,c=e&&a[0]!="^",d=a[a.length-1]!="$";return!c&&!d?o:new RegExp(`${c?"^":""}(?:${a})${d?"$":""}`,(s=o.flags)!==null&&s!==void 0?s:o.ignoreCase?"i":"")}const pickedCompletion=Annotation.define();function applyCompletion(o,e){let s=e.completion.apply||e.completion.label,a=e.source;typeof s=="string"?o.dispatch({changes:{from:a.from,to:a.to,insert:s},selection:{anchor:a.from+s.length},userEvent:"input.complete",annotations:pickedCompletion.of(e.completion)}):s(o,e.completion,a.from,a.to)}const SourceCache=new WeakMap;function asSource(o){if(!Array.isArray(o))return o;let e=SourceCache.get(o);return e||SourceCache.set(o,e=completeFromList(o)),e}class FuzzyMatcher{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[];for(let s=0;s=48&&ct<=57||ct>=97&&ct<=122?2:ct>=65&&ct<=90?1:0:(ut=fromCodePoint(ct))!=ut.toLowerCase()?1:ut!=ut.toUpperCase()?2:0;(!at||lt==1&&rt||pt==0&<!=0)&&(s[_e]==ct||a[_e]==ct&&(et=!0)?_[_e++]=at:_.length&&(it=!1)),pt=lt,at+=codePointSize(ct)}return _e==k&&_[0]==0&&it?this.result(-100+(et?-200:0),_,e):tt==k&&nt==0?[-200-e.length,0,st]:b>-1?[-700-e.length,b,b+this.pattern.length]:tt==k?[-200+-700-e.length,nt,st]:_e==k?this.result(-100+(et?-200:0)+-700+(it?0:-1100),_,e):s.length==2?null:this.result((c[0]?-700:0)+-200+-1100,c,e)}result(e,s,a){let c=[e-a.length],d=1;for(let _ of s){let b=_+(this.astral?codePointSize(codePointAt(a,_)):1);d>1&&c[d-1]==_?c[d-1]=b:(c[d++]=_,c[d++]=b)}return c}}const completionConfig=Facet.define({combine(o){return combineConfig(o,{activateOnTyping:!0,override:null,maxRenderedOptions:100,defaultKeymap:!0,optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[]},{defaultKeymap:(e,s)=>e&&s,icons:(e,s)=>e&&s,optionClass:(e,s)=>a=>joinClass(e(a),s(a)),addToOptions:(e,s)=>e.concat(s)})}});function joinClass(o,e){return o?e?o+" "+e:o:e}function optionContent(o){let e=o.addToOptions.slice();return o.icons&&e.push({render(s){let a=document.createElement("div");return a.classList.add("cm-completionIcon"),s.type&&a.classList.add(...s.type.split(/\s+/g).map(c=>"cm-completionIcon-"+c)),a.setAttribute("aria-hidden","true"),a},position:20}),e.push({render(s,a,c){let d=document.createElement("span");d.className="cm-completionLabel";let{label:_}=s,b=0;for(let k=1;kb&&d.appendChild(document.createTextNode(_.slice(b,$)));let _e=d.appendChild(document.createElement("span"));_e.appendChild(document.createTextNode(_.slice($,j))),_e.className="cm-completionMatchedText",b=j}return b<_.length&&d.appendChild(document.createTextNode(_.slice(b))),d},position:50},{render(s){if(!s.detail)return null;let a=document.createElement("span");return a.className="cm-completionDetail",a.textContent=s.detail,a},position:80}),e.sort((s,a)=>s.position-a.position).map(s=>s.render)}function rangeAroundSelected(o,e,s){if(o<=s)return{from:0,to:o};if(e<=o>>1){let c=Math.floor(e/s);return{from:c*s,to:(c+1)*s}}let a=Math.floor((o-e)/s);return{from:o-(a+1)*s,to:o-a*s}}class CompletionTooltip{constructor(e,s){this.view=e,this.stateField=s,this.info=null,this.placeInfo={read:()=>this.measureInfo(),write:b=>this.positionInfo(b),key:this};let a=e.state.field(s),{options:c,selected:d}=a.open,_=e.state.facet(completionConfig);this.optionContent=optionContent(_),this.optionClass=_.optionClass,this.range=rangeAroundSelected(c.length,d,_.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.dom.addEventListener("mousedown",b=>{for(let k=b.target,$;k&&k!=this.dom;k=k.parentNode)if(k.nodeName=="LI"&&($=/-(\d+)$/.exec(k.id))&&+$[1]{this.info&&this.view.requestMeasure(this.placeInfo)})}mount(){this.updateSel()}update(e){e.state.field(this.stateField)!=e.startState.field(this.stateField)&&this.updateSel()}positioned(){this.info&&this.view.requestMeasure(this.placeInfo)}updateSel(){let e=this.view.state.field(this.stateField),s=e.open;if((s.selected=this.range.to)&&(this.range=rangeAroundSelected(s.options.length,s.selected,this.view.state.facet(completionConfig).maxRenderedOptions),this.list.remove(),this.list=this.dom.appendChild(this.createListBox(s.options,e.id,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfo)})),this.updateSelectedOption(s.selected)){this.info&&(this.info.remove(),this.info=null);let{completion:a}=s.options[s.selected],{info:c}=a;if(!c)return;let d=typeof c=="string"?document.createTextNode(c):c(a);if(!d)return;"then"in d?d.then(_=>{_&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(_)}).catch(_=>logException(this.view.state,_,"completion info")):this.addInfoPane(d)}}addInfoPane(e){let s=this.info=document.createElement("div");s.className="cm-tooltip cm-completionInfo",s.appendChild(e),this.dom.appendChild(s),this.view.requestMeasure(this.placeInfo)}updateSelectedOption(e){let s=null;for(let a=this.list.firstChild,c=this.range.from;a;a=a.nextSibling,c++)c==e?a.hasAttribute("aria-selected")||(a.setAttribute("aria-selected","true"),s=a):a.hasAttribute("aria-selected")&&a.removeAttribute("aria-selected");return s&&scrollIntoView(this.list,s),s}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let s=this.dom.getBoundingClientRect(),a=this.info.getBoundingClientRect(),c=e.getBoundingClientRect();if(c.top>Math.min(innerHeight,s.bottom)-10||c.bottomnew CompletionTooltip(e,o)}function scrollIntoView(o,e){let s=o.getBoundingClientRect(),a=e.getBoundingClientRect();a.tops.bottom&&(o.scrollTop+=a.bottom-s.bottom)}const MaxOptions=300;function score(o){return(o.boost||0)*100+(o.apply?10:0)+(o.info?5:0)+(o.type?1:0)}function sortOptions(o,e){let s=[],a=0;for(let _ of o)if(_.hasResult())if(_.result.filter===!1)for(let b of _.result.options)s.push(new Option(b,_,[1e9-a++]));else{let b=new FuzzyMatcher(e.sliceDoc(_.from,_.to)),k;for(let $ of _.result.options)(k=b.match($.label))&&($.boost!=null&&(k[0]+=$.boost),s.push(new Option($,_,k)))}let c=[],d=null;for(let _ of s.sort(cmpOption)){if(c.length==MaxOptions)break;!d||d.label!=_.completion.label||d.detail!=_.completion.detail||d.type!=_.completion.type||d.apply!=_.completion.apply?c.push(_):score(_.completion)>score(d)&&(c[c.length-1]=_),d=_.completion}return c}class CompletionDialog{constructor(e,s,a,c,d){this.options=e,this.attrs=s,this.tooltip=a,this.timestamp=c,this.selected=d}setSelected(e,s){return e==this.selected||e>=this.options.length?this:new CompletionDialog(this.options,makeAttrs(s,e),this.tooltip,this.timestamp,e)}static build(e,s,a,c,d){let _=sortOptions(e,s);if(!_.length)return null;let b=0;if(c&&c.selected){let k=c.options[c.selected].completion;for(let $=0;$<_.length;$++)if(_[$].completion==k){b=$;break}}return new CompletionDialog(_,makeAttrs(a,b),{pos:e.reduce((k,$)=>$.hasResult()?Math.min(k,$.from):k,1e8),create:completionTooltip(completionState),above:d.aboveCursor},c?c.timestamp:Date.now(),b)}map(e){return new CompletionDialog(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected)}}class CompletionState{constructor(e,s,a){this.active=e,this.id=s,this.open=a}static start(){return new CompletionState(none,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:s}=e,a=s.facet(completionConfig),d=(a.override||s.languageDataAt("autocomplete",cur(s)).map(asSource)).map(b=>(this.active.find($=>$.source==b)||new ActiveSource(b,this.active.some($=>$.state!=0)?1:0)).update(e,a));d.length==this.active.length&&d.every((b,k)=>b==this.active[k])&&(d=this.active);let _=e.selection||d.some(b=>b.hasResult()&&e.changes.touchesRange(b.from,b.to))||!sameResults(d,this.active)?CompletionDialog.build(d,s,this.id,this.open,a):this.open&&e.docChanged?this.open.map(e.changes):this.open;!_&&d.every(b=>b.state!=1)&&d.some(b=>b.hasResult())&&(d=d.map(b=>b.hasResult()?new ActiveSource(b.source,0):b));for(let b of e.effects)b.is(setSelectedEffect)&&(_=_&&_.setSelected(b.value,this.id));return d==this.active&&_==this.open?this:new CompletionState(d,this.id,_)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:baseAttrs}}function sameResults(o,e){if(o==e)return!0;for(let s=0,a=0;;){for(;sd||s=="delete"&&cur(e.startState)==this.from)return new ActiveSource(this.source,s=="input"&&a.activateOnTyping?1:0);let b=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos);return this.span&&(c==d||this.span.test(e.state.sliceDoc(c,d)))?new ActiveResult(this.source,b,this.result,c,d,this.span):new ActiveSource(this.source,1,b)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new ActiveSource(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new ActiveResult(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1),this.span)}}const startCompletionEffect=StateEffect.define(),closeCompletionEffect=StateEffect.define(),setActiveEffect=StateEffect.define({map(o,e){return o.map(s=>s.map(e))}}),setSelectedEffect=StateEffect.define(),completionState=StateField.define({create(){return CompletionState.start()},update(o,e){return o.update(e)},provide:o=>[showTooltip.from(o,e=>e.tooltip),EditorView.contentAttributes.from(o,e=>e.attrs)]}),CompletionInteractMargin=75;function moveCompletionSelection(o,e="option"){return s=>{let a=s.state.field(completionState,!1);if(!a||!a.open||Date.now()-a.open.timestamp=b&&(_=e=="page"?b-1:0),s.dispatch({effects:setSelectedEffect.of(_)}),!0}}const acceptCompletion=o=>{let e=o.state.field(completionState,!1);return o.state.readOnly||!e||!e.open||Date.now()-e.open.timestampo.state.field(completionState,!1)?(o.dispatch({effects:startCompletionEffect.of(!0)}),!0):!1,closeCompletion=o=>{let e=o.state.field(completionState,!1);return!e||!e.active.some(s=>s.state!=0)?!1:(o.dispatch({effects:closeCompletionEffect.of(null)}),!0)};class RunningQuery{constructor(e,s){this.active=e,this.context=s,this.time=Date.now(),this.updates=[],this.done=void 0}}const DebounceTime=50,MaxUpdateCount=50,MinAbortTime=1e3,completionPlugin=ViewPlugin.fromClass(class{constructor(o){this.view=o,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let e of o.state.field(completionState).active)e.state==1&&this.startQuery(e)}update(o){let e=o.state.field(completionState);if(!o.selectionSet&&!o.docChanged&&o.startState.field(completionState)==e)return;let s=o.transactions.some(a=>(a.selection||a.docChanged)&&!getUserEvent(a));for(let a=0;aMaxUpdateCount&&Date.now()-c.time>MinAbortTime){for(let d of c.context.abortListeners)try{d()}catch(_){logException(this.view.state,_)}c.context.abortListeners=null,this.running.splice(a--,1)}else c.updates.push(...o.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=e.active.some(a=>a.state==1&&!this.running.some(c=>c.active.source==a.source))?setTimeout(()=>this.startUpdate(),DebounceTime):-1,this.composing!=0)for(let a of o.transactions)getUserEvent(a)=="input"?this.composing=2:this.composing==2&&a.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:o}=this.view,e=o.field(completionState);for(let s of e.active)s.state==1&&!this.running.some(a=>a.active.source==s.source)&&this.startQuery(s)}startQuery(o){let{state:e}=this.view,s=cur(e),a=new CompletionContext(e,s,o.explicitPos==s),c=new RunningQuery(o,a);this.running.push(c),Promise.resolve(o.source(a)).then(d=>{c.context.aborted||(c.done=d||null,this.scheduleAccept())},d=>{this.view.dispatch({effects:closeCompletionEffect.of(null)}),logException(this.view.state,d)})}scheduleAccept(){this.running.every(o=>o.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),DebounceTime))}accept(){var o;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],s=this.view.state.facet(completionConfig);for(let a=0;a_.source==c.active.source);if(d&&d.state==1)if(c.done==null){let _=new ActiveSource(c.active.source,0);for(let b of c.updates)_=_.update(b,s);_.state!=1&&e.push(_)}else this.startQuery(d)}e.length&&this.view.dispatch({effects:setActiveEffect.of(e)})}},{eventHandlers:{compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:startCompletionEffect.of(!1)}),20),this.composing=0}}}),baseTheme$1=EditorView.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",listStyle:"none",margin:0,padding:0,"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer",padding:"1px 3px",lineHeight:1.2}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"300px"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class FieldPos{constructor(e,s,a,c){this.field=e,this.line=s,this.from=a,this.to=c}}class FieldRange{constructor(e,s,a){this.field=e,this.from=s,this.to=a}map(e){let s=e.mapPos(this.from,-1,MapMode.TrackDel),a=e.mapPos(this.to,1,MapMode.TrackDel);return s==null||a==null?null:new FieldRange(this.field,s,a)}}class Snippet{constructor(e,s){this.lines=e,this.fieldPositions=s}instantiate(e,s){let a=[],c=[s],d=e.doc.lineAt(s),_=/^\s*/.exec(d.text)[0];for(let k of this.lines){if(a.length){let $=_,j=/^\t*/.exec(k)[0].length;for(let _e=0;_enew FieldRange(k.field,c[k.line]+k.from,c[k.line]+k.to));return{text:a,ranges:b}}static parse(e){let s=[],a=[],c=[],d;for(let _ of e.split(/\r\n?|\n/)){for(;d=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(_);){let b=d[1]?+d[1]:null,k=d[2]||d[3]||"",$=-1;for(let j=0;j=$&&_e.field++}c.push(new FieldPos($,a.length,d.index,d.index+k.length)),_=_.slice(0,d.index)+k+_.slice(d.index+d[0].length)}a.push(_)}return new Snippet(a,c)}}let fieldMarker=Decoration.widget({widget:new class extends WidgetType{toDOM(){let o=document.createElement("span");return o.className="cm-snippetFieldPosition",o}ignoreEvent(){return!1}}}),fieldRange=Decoration.mark({class:"cm-snippetField"});class ActiveSnippet{constructor(e,s){this.ranges=e,this.active=s,this.deco=Decoration.set(e.map(a=>(a.from==a.to?fieldMarker:fieldRange).range(a.from,a.to)))}map(e){let s=[];for(let a of this.ranges){let c=a.map(e);if(!c)return null;s.push(c)}return new ActiveSnippet(s,this.active)}selectionInsideField(e){return e.ranges.every(s=>this.ranges.some(a=>a.field==this.active&&a.from<=s.from&&a.to>=s.to))}}const setActive=StateEffect.define({map(o,e){return o&&o.map(e)}}),moveToField=StateEffect.define(),snippetState=StateField.define({create(){return null},update(o,e){for(let s of e.effects){if(s.is(setActive))return s.value;if(s.is(moveToField)&&o)return new ActiveSnippet(o.ranges,s.value)}return o&&e.docChanged&&(o=o.map(e.changes)),o&&e.selection&&!o.selectionInsideField(e.selection)&&(o=null),o},provide:o=>EditorView.decorations.from(o,e=>e?e.deco:Decoration.none)});function fieldSelection(o,e){return EditorSelection.create(o.filter(s=>s.field==e).map(s=>EditorSelection.range(s.from,s.to)))}function snippet(o){let e=Snippet.parse(o);return(s,a,c,d)=>{let{text:_,ranges:b}=e.instantiate(s.state,c),k={changes:{from:c,to:d,insert:Text.of(_)}};if(b.length&&(k.selection=fieldSelection(b,0)),b.length>1){let $=new ActiveSnippet(b,0),j=k.effects=[setActive.of($)];s.state.field(snippetState,!1)===void 0&&j.push(StateEffect.appendConfig.of([snippetState,addSnippetKeymap,snippetPointerHandler,baseTheme$1]))}s.dispatch(s.state.update(k))}}function moveField(o){return({state:e,dispatch:s})=>{let a=e.field(snippetState,!1);if(!a||o<0&&a.active==0)return!1;let c=a.active+o,d=o>0&&!a.ranges.some(_=>_.field==c+o);return s(e.update({selection:fieldSelection(a.ranges,c),effects:setActive.of(d?null:new ActiveSnippet(a.ranges,c))})),!0}}const clearSnippet=({state:o,dispatch:e})=>o.field(snippetState,!1)?(e(o.update({effects:setActive.of(null)})),!0):!1,nextSnippetField=moveField(1),prevSnippetField=moveField(-1),defaultSnippetKeymap=[{key:"Tab",run:nextSnippetField,shift:prevSnippetField},{key:"Escape",run:clearSnippet}],snippetKeymap=Facet.define({combine(o){return o.length?o[0]:defaultSnippetKeymap}}),addSnippetKeymap=Prec.highest(keymap.compute([snippetKeymap],o=>o.facet(snippetKeymap)));function snippetCompletion(o,e){return Object.assign(Object.assign({},e),{apply:snippet(o)})}const snippetPointerHandler=EditorView.domEventHandlers({mousedown(o,e){let s=e.state.field(snippetState,!1),a;if(!s||(a=e.posAtCoords({x:o.clientX,y:o.clientY}))==null)return!1;let c=s.ranges.find(d=>d.from<=a&&d.to>=a);return!c||c.field==s.active?!1:(e.dispatch({selection:fieldSelection(s.ranges,c.field),effects:setActive.of(s.ranges.some(d=>d.field>c.field)?new ActiveSnippet(s.ranges,c.field):null)}),!0)}});function autocompletion(o={}){return[completionState,completionConfig.of(o),completionPlugin,completionKeymapExt,baseTheme$1]}const completionKeymap=[{key:"Ctrl-Space",run:startCompletion},{key:"Escape",run:closeCompletion},{key:"ArrowDown",run:moveCompletionSelection(!0)},{key:"ArrowUp",run:moveCompletionSelection(!1)},{key:"PageDown",run:moveCompletionSelection(!0,"page")},{key:"PageUp",run:moveCompletionSelection(!1,"page")},{key:"Enter",run:acceptCompletion}],completionKeymapExt=Prec.highest(keymap.computeN([completionConfig],o=>o.facet(completionConfig).defaultKeymap?[completionKeymap]:[])),toggleComment=o=>{let e=getConfig(o.state);return e.line?toggleLineComment(o):e.block?toggleBlockCommentByLine(o):!1};function command(o,e){return({state:s,dispatch:a})=>{if(s.readOnly)return!1;let c=o(e,s);return c?(a(s.update(c)),!0):!1}}const toggleLineComment=command(changeLineComment,0),toggleBlockComment=command(changeBlockComment,0),toggleBlockCommentByLine=command((o,e)=>changeBlockComment(o,e,selectedLineRanges(e)),0),commentKeymap=[{key:"Mod-/",run:toggleComment},{key:"Alt-A",run:toggleBlockComment}];function getConfig(o,e=o.selection.main.head){let s=o.languageDataAt("commentTokens",e);return s.length?s[0]:{}}const SearchMargin=50;function findBlockComment(o,{open:e,close:s},a,c){let d=o.sliceDoc(a-SearchMargin,a),_=o.sliceDoc(c,c+SearchMargin),b=/\s*$/.exec(d)[0].length,k=/^\s*/.exec(_)[0].length,$=d.length-b;if(d.slice($-e.length,$)==e&&_.slice(k,k+s.length)==s)return{open:{pos:a-b,margin:b&&1},close:{pos:c+k,margin:k&&1}};let j,_e;c-a<=2*SearchMargin?j=_e=o.sliceDoc(a,c):(j=o.sliceDoc(a,a+SearchMargin),_e=o.sliceDoc(c-SearchMargin,c));let et=/^\s*/.exec(j)[0].length,tt=/\s*$/.exec(_e)[0].length,nt=_e.length-tt-s.length;return j.slice(et,et+e.length)==e&&_e.slice(nt,nt+s.length)==s?{open:{pos:a+et+e.length,margin:/\s/.test(j.charAt(et+e.length))?1:0},close:{pos:c-tt-s.length,margin:/\s/.test(_e.charAt(nt-1))?1:0}}:null}function selectedLineRanges(o){let e=[];for(let s of o.selection.ranges){let a=o.doc.lineAt(s.from),c=s.to<=a.to?a:o.doc.lineAt(s.to),d=e.length-1;d>=0&&e[d].to>a.from?e[d].to=c.to:e.push({from:a.from,to:c.to})}return e}function changeBlockComment(o,e,s=e.selection.ranges){let a=s.map(d=>getConfig(e,d.from).block);if(!a.every(d=>d))return null;let c=s.map((d,_)=>findBlockComment(e,a[_],d.from,d.to));if(o!=2&&!c.every(d=>d))return{changes:e.changes(s.map((d,_)=>c[_]?[]:[{from:d.from,insert:a[_].open+" "},{from:d.to,insert:" "+a[_].close}]))};if(o!=1&&c.some(d=>d)){let d=[];for(let _=0,b;_c&&(d==_||_>j.from)){c=j.from;let _e=getConfig(e,$).line;if(!_e)continue;let et=/^\s*/.exec(j.text)[0].length,tt=et==j.length,nt=j.text.slice(et,et+_e.length)==_e?et:-1;etd.comment<0&&(!d.empty||d.single))){let d=[];for(let{line:b,token:k,indent:$,empty:j,single:_e}of a)(_e||!j)&&d.push({from:b.from+$,insert:k+" "});let _=e.changes(d);return{changes:_,selection:e.selection.map(_,1)}}else if(o!=1&&a.some(d=>d.comment>=0)){let d=[];for(let{line:_,comment:b,token:k}of a)if(b>=0){let $=_.from+b,j=$+k.length;_.text[j-_.from]==" "&&j++,d.push({from:$,to:j})}return{changes:d}}return null}const MaxOff=2e3;function rectangleFor(o,e,s){let a=Math.min(e.line,s.line),c=Math.max(e.line,s.line),d=[];if(e.off>MaxOff||s.off>MaxOff||e.col<0||s.col<0){let _=Math.min(e.off,s.off),b=Math.max(e.off,s.off);for(let k=a;k<=c;k++){let $=o.doc.line(k);$.length<=b&&d.push(EditorSelection.range($.from+_,$.to+b))}}else{let _=Math.min(e.col,s.col),b=Math.max(e.col,s.col);for(let k=a;k<=c;k++){let $=o.doc.line(k),j=findColumn($.text,_,o.tabSize,!0);if(j>-1){let _e=findColumn($.text,b,o.tabSize);d.push(EditorSelection.range($.from+j,$.from+_e))}}}return d}function absoluteColumn(o,e){let s=o.coordsAtPos(o.viewport.from);return s?Math.round(Math.abs((s.left-e)/o.defaultCharacterWidth)):-1}function getPos(o,e){let s=o.posAtCoords({x:e.clientX,y:e.clientY},!1),a=o.state.doc.lineAt(s),c=s-a.from,d=c>MaxOff?-1:c==a.length?absoluteColumn(o,e.clientX):countColumn(a.text,o.state.tabSize,s-a.from);return{line:a.number,col:d,off:c}}function rectangleSelectionStyle(o,e){let s=getPos(o,e),a=o.state.selection;return s?{update(c){if(c.docChanged){let d=c.changes.mapPos(c.startState.doc.line(s.line).from),_=c.state.doc.lineAt(d);s={line:_.number,col:s.col,off:Math.min(s.off,_.length)},a=a.map(c.changes)}},get(c,d,_){let b=getPos(o,c);if(!b)return a;let k=rectangleFor(o.state,s,b);return k.length?_?EditorSelection.create(k.concat(a.ranges)):EditorSelection.create(k):a}}:null}function rectangularSelection(o){let e=(o==null?void 0:o.eventFilter)||(s=>s.altKey&&s.button==0);return EditorView.mouseSelectionStyle.of((s,a)=>e(a)?rectangleSelectionStyle(s,a):null)}let nextTagID=0;class Tag{constructor(e,s,a){this.set=e,this.base=s,this.modified=a,this.id=nextTagID++}static define(e){if(e!=null&&e.base)throw new Error("Can not derive from a modified tag");let s=new Tag([],null,[]);if(s.set.push(s),e)for(let a of e.set)s.set.push(a);return s}static defineModifier(){let e=new Modifier;return s=>s.modified.indexOf(e)>-1?s:Modifier.get(s.base||s,s.modified.concat(e).sort((a,c)=>a.id-c.id))}}let nextModifierID=0;class Modifier{constructor(){this.instances=[],this.id=nextModifierID++}static get(e,s){if(!s.length)return e;let a=s[0].instances.find(b=>b.base==e&&sameArray(s,b.modified));if(a)return a;let c=[],d=new Tag(c,e,s);for(let b of s)b.instances.push(d);let _=permute(s);for(let b of e.set)for(let k of _)c.push(Modifier.get(b,k));return d}}function sameArray(o,e){return o.length==e.length&&o.every((s,a)=>s==e[a])}function permute(o){let e=[o];for(let s=0;s0&&_e+3==c.length){_=1;break}let et=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(b);if(!et)throw new RangeError("Invalid path: "+c);if(d.push(et[0]=="*"?null:et[0][0]=='"'?JSON.parse(et[0]):et[0]),_e+=et[0].length,_e==c.length)break;let tt=c[_e++];if(_e==c.length&&tt=="!"){_=0;break}if(tt!="/")throw new RangeError("Invalid path: "+c);b=c.slice(_e)}let k=d.length-1,$=d[k];if(!$)throw new RangeError("Invalid path: "+c);let j=new Rule(a,_,k>0?d.slice(0,k):null);e[$]=j.sort(e[$])}}return ruleNodeProp.add(e)}const ruleNodeProp=new NodeProp,highlightStyle=Facet.define({combine(o){return o.length?HighlightStyle.combinedMatch(o):null}}),fallbackHighlightStyle=Facet.define({combine(o){return o.length?o[0].match:null}});function getHighlightStyle(o){return o.facet(highlightStyle)||o.facet(fallbackHighlightStyle)}class Rule{constructor(e,s,a,c){this.tags=e,this.mode=s,this.context=a,this.next=c}sort(e){return!e||e.depth_.facet(EditorView.darkTheme)==(s.themeType=="dark")?[this]:[])),this.fallback=d.concat(fallbackHighlightStyle.of(this))}match(e,s){if(this.scope&&s!=this.scope)return null;for(let a of e.set){let c=this.map[a.id];if(c!==void 0)return a!=e&&(this.map[e.id]=c),c}return this.map[e.id]=this.all}static combinedMatch(e){if(e.length==1)return e[0].match;let s=e.some(a=>a.scope)?void 0:Object.create(null);return(a,c)=>{let d=s&&s[a.id];if(d!==void 0)return d;let _=null;for(let b of e){let k=b.match(a,c);k&&(_=_?_+" "+k:k)}return s&&(s[a.id]=_),_}}static define(e,s){return new HighlightStyle(e,s||{})}static get(e,s,a){let c=getHighlightStyle(e);return c&&c(s,a||NodeType.none)}}class TreeHighlighter{constructor(e){this.markCache=Object.create(null),this.tree=syntaxTree(e.state),this.decorations=this.buildDeco(e,getHighlightStyle(e.state))}update(e){let s=syntaxTree(e.state),a=getHighlightStyle(e.state),c=a!=e.startState.facet(highlightStyle);s.length{a.add(_,b,this.markCache[k]||(this.markCache[k]=Decoration.mark({class:k})))});return a.finish()}}const treeHighlighter=Prec.high(ViewPlugin.fromClass(TreeHighlighter,{decorations:o=>o.decorations})),nodeStack=[""];class HighlightBuilder{constructor(e,s,a){this.at=e,this.style=s,this.span=a,this.class=""}startSpan(e,s){s!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=s)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,s,a,c,d,_){let{type:b,from:k,to:$}=e;if(k>=a||$<=s)return;nodeStack[d]=b.name,b.isTop&&(_=b);let j=c,_e=b.prop(ruleNodeProp),et=!1;for(;_e;){if(!_e.context||matchContext(_e.context,nodeStack,d)){for(let nt of _e.tags){let st=this.style(nt,_);st&&(j&&(j+=" "),j+=st,_e.mode==1?c+=(c?" ":"")+st:_e.mode==0&&(et=!0))}break}_e=_e.next}if(this.startSpan(e.from,j),et)return;let tt=e.tree&&e.tree.prop(NodeProp.mounted);if(tt&&tt.overlay){let nt=e.node.enter(tt.overlay[0].from+k,1),st=e.firstChild();for(let rt=0,it=k;;rt++){let at=rt=ot||!e.nextSibling())););if(!at||ot>a)break;it=at.to+k,it>s&&(this.highlightRange(nt.cursor,Math.max(s,at.from+k),Math.min(a,it),c,d,tt.tree.type),this.startSpan(it,j))}st&&e.parent()}else if(e.firstChild()){do if(!(e.to<=s)){if(e.from>=a)break;this.highlightRange(e,s,a,c,d+1,_),this.startSpan(Math.min(a,e.to),j)}while(e.nextSibling());e.parent()}}}function highlightTreeRange(o,e,s,a,c){let d=new HighlightBuilder(e,a,c);d.highlightRange(o.cursor(),e,s,"",0,o.type),d.flush(s)}function matchContext(o,e,s){if(o.length>s-1)return!1;for(let a=s-1,c=o.length-1;c>=0;c--,a--){let d=o[c];if(d&&d!=e[a])return!1}return!0}const t=Tag.define,comment=t(),name=t(),typeName=t(name),propertyName=t(name),literal=t(),string=t(literal),number=t(literal),content=t(),heading=t(content),keyword=t(),operator=t(),punctuation=t(),bracket=t(punctuation),meta=t(),tags={comment,lineComment:t(comment),blockComment:t(comment),docComment:t(comment),name,variableName:t(name),typeName,tagName:t(typeName),propertyName,attributeName:t(propertyName),className:t(name),labelName:t(name),namespace:t(name),macroName:t(name),literal,string,docString:t(string),character:t(string),attributeValue:t(string),number,integer:t(number),float:t(number),bool:t(literal),regexp:t(literal),escape:t(literal),color:t(literal),url:t(literal),keyword,self:t(keyword),null:t(keyword),atom:t(keyword),unit:t(keyword),modifier:t(keyword),operatorKeyword:t(keyword),controlKeyword:t(keyword),definitionKeyword:t(keyword),moduleKeyword:t(keyword),operator,derefOperator:t(operator),arithmeticOperator:t(operator),logicOperator:t(operator),bitwiseOperator:t(operator),compareOperator:t(operator),updateOperator:t(operator),definitionOperator:t(operator),typeOperator:t(operator),controlOperator:t(operator),punctuation,separator:t(punctuation),bracket,angleBracket:t(bracket),squareBracket:t(bracket),paren:t(bracket),brace:t(bracket),content,heading,heading1:t(heading),heading2:t(heading),heading3:t(heading),heading4:t(heading),heading5:t(heading),heading6:t(heading),contentSeparator:t(content),list:t(content),quote:t(content),emphasis:t(content),strong:t(content),link:t(content),monospace:t(content),strikethrough:t(content),inserted:t(),deleted:t(),changed:t(),invalid:t(),meta,documentMeta:t(meta),annotation:t(meta),processingInstruction:t(meta),definition:Tag.defineModifier(),constant:Tag.defineModifier(),function:Tag.defineModifier(),standard:Tag.defineModifier(),local:Tag.defineModifier(),special:Tag.defineModifier()},defaultHighlightStyle=HighlightStyle.define([{tag:tags.link,textDecoration:"underline"},{tag:tags.heading,textDecoration:"underline",fontWeight:"bold"},{tag:tags.emphasis,fontStyle:"italic"},{tag:tags.strong,fontWeight:"bold"},{tag:tags.strikethrough,textDecoration:"line-through"},{tag:tags.keyword,color:"#708"},{tag:[tags.atom,tags.bool,tags.url,tags.contentSeparator,tags.labelName],color:"#219"},{tag:[tags.literal,tags.inserted],color:"#164"},{tag:[tags.string,tags.deleted],color:"#a11"},{tag:[tags.regexp,tags.escape,tags.special(tags.string)],color:"#e40"},{tag:tags.definition(tags.variableName),color:"#00f"},{tag:tags.local(tags.variableName),color:"#30a"},{tag:[tags.typeName,tags.namespace],color:"#085"},{tag:tags.className,color:"#167"},{tag:[tags.special(tags.variableName),tags.macroName],color:"#256"},{tag:tags.definition(tags.propertyName),color:"#00c"},{tag:tags.comment,color:"#940"},{tag:tags.meta,color:"#7a757a"},{tag:tags.invalid,color:"#f00"}]);tags.link,tags.heading,tags.emphasis,tags.strong,tags.keyword,tags.atom,tags.bool,tags.url,tags.labelName,tags.inserted,tags.deleted,tags.literal,tags.string,tags.number,tags.regexp,tags.escape,tags.string,tags.variableName,tags.variableName,tags.variableName,tags.variableName,tags.propertyName,tags.typeName,tags.namespace,tags.className,tags.macroName,tags.propertyName,tags.operator,tags.comment,tags.meta,tags.invalid,tags.punctuation;class SelectedDiagnostic{constructor(e,s,a){this.from=e,this.to=s,this.diagnostic=a}}class LintState{constructor(e,s,a){this.diagnostics=e,this.panel=s,this.selected=a}static init(e,s,a){let c=Decoration.set(e.map(d=>d.from==d.to||d.from==d.to-1&&a.doc.lineAt(d.from).to==d.from?Decoration.widget({widget:new DiagnosticWidget(d),diagnostic:d}).range(d.from):Decoration.mark({attributes:{class:"cm-lintRange cm-lintRange-"+d.severity},diagnostic:d}).range(d.from,d.to)),!0);return new LintState(c,s,findDiagnostic(c))}}function findDiagnostic(o,e=null,s=0){let a=null;return o.between(s,1e9,(c,d,{spec:_})=>{if(!(e&&_.diagnostic!=e))return a=new SelectedDiagnostic(c,d,_.diagnostic),!1}),a}function maybeEnableLint(o,e){return o.field(lintState,!1)?e:e.concat(StateEffect.appendConfig.of([lintState,EditorView.decorations.compute([lintState],s=>{let{selected:a,panel:c}=s.field(lintState);return!a||!c||a.from==a.to?Decoration.none:Decoration.set([activeMark.range(a.from,a.to)])}),hoverTooltip(lintTooltip),baseTheme]))}const setDiagnosticsEffect=StateEffect.define(),togglePanel=StateEffect.define(),movePanelSelection=StateEffect.define(),lintState=StateField.define({create(){return new LintState(Decoration.none,null,null)},update(o,e){if(e.docChanged){let s=o.diagnostics.map(e.changes),a=null;if(o.selected){let c=e.changes.mapPos(o.selected.from,1);a=findDiagnostic(s,o.selected.diagnostic,c)||findDiagnostic(s,null,c)}o=new LintState(s,o.panel,a)}for(let s of e.effects)s.is(setDiagnosticsEffect)?o=LintState.init(s.value,o.panel,e.state):s.is(togglePanel)?o=new LintState(o.diagnostics,s.value?LintPanel.open:null,o.selected):s.is(movePanelSelection)&&(o=new LintState(o.diagnostics,o.panel,s.value));return o},provide:o=>[showPanel.from(o,e=>e.panel),EditorView.decorations.from(o,e=>e.diagnostics)]}),activeMark=Decoration.mark({class:"cm-lintRange cm-lintRange-active"});function lintTooltip(o,e,s){let{diagnostics:a}=o.state.field(lintState),c=[],d=2e8,_=0;return a.between(e-(s<0?1:0),e+(s>0?1:0),(b,k,{spec:$})=>{e>=b&&e<=k&&(b==k||(e>b||s>0)&&(erenderDiagnostic(o,s,!1)))}const openLintPanel=o=>{let e=o.state.field(lintState,!1);(!e||!e.panel)&&o.dispatch({effects:maybeEnableLint(o.state,[togglePanel.of(!0)])});let s=getPanel(o,LintPanel.open);return s&&s.dom.querySelector(".cm-panel-lint ul").focus(),!0},closeLintPanel=o=>{let e=o.state.field(lintState,!1);return!e||!e.panel?!1:(o.dispatch({effects:togglePanel.of(!1)}),!0)},nextDiagnostic=o=>{let e=o.state.field(lintState,!1);if(!e)return!1;let s=o.state.selection.main,a=e.diagnostics.iter(s.to+1);return!a.value&&(a=e.diagnostics.iter(0),!a.value||a.from==s.from&&a.to==s.to)?!1:(o.dispatch({selection:{anchor:a.from,head:a.to},scrollIntoView:!0}),!0)},lintKeymap=[{key:"Mod-Shift-m",run:openLintPanel},{key:"F8",run:nextDiagnostic}];function assignKeys(o){let e=[];if(o)e:for(let{name:s}of o){for(let a=0;ad.toLowerCase()==c.toLowerCase())){e.push(c);continue e}}e.push("")}return e}function renderDiagnostic(o,e,s){var a;let c=s?assignKeys(e.actions):[];return crelt("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},crelt("span",{class:"cm-diagnosticText"},e.message),(a=e.actions)===null||a===void 0?void 0:a.map((d,_)=>{let b=_e=>{_e.preventDefault();let et=findDiagnostic(o.state.field(lintState).diagnostics,e);et&&d.apply(o,et.from,et.to)},{name:k}=d,$=c[_]?k.indexOf(c[_]):-1,j=$<0?k:[k.slice(0,$),crelt("u",k.slice($,$+1)),k.slice($+1)];return crelt("button",{type:"button",class:"cm-diagnosticAction",onclick:b,onmousedown:b,"aria-label":` Action: ${k}${$<0?"":` (access key "${c[_]})"`}.`},j)}),e.source&&crelt("div",{class:"cm-diagnosticSource"},e.source))}class DiagnosticWidget extends WidgetType{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return crelt("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class PanelItem{constructor(e,s){this.diagnostic=s,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=renderDiagnostic(e,s,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class LintPanel{constructor(e){this.view=e,this.items=[];let s=c=>{if(c.keyCode==27)closeLintPanel(this.view),this.view.focus();else if(c.keyCode==38||c.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(c.keyCode==40||c.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(c.keyCode==36)this.moveSelection(0);else if(c.keyCode==35)this.moveSelection(this.items.length-1);else if(c.keyCode==13)this.view.focus();else if(c.keyCode>=65&&c.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:d}=this.items[this.selectedIndex],_=assignKeys(d.actions);for(let b=0;b<_.length;b++)if(_[b].toUpperCase().charCodeAt(0)==c.keyCode){let k=findDiagnostic(this.view.state.field(lintState).diagnostics,d);k&&d.actions[b].apply(e,k.from,k.to)}}else return;c.preventDefault()},a=c=>{for(let d=0;dcloseLintPanel(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(lintState).selected;if(!e)return-1;for(let s=0;s{let $=-1,j;for(let _e=a;_ea&&(this.items.splice(a,$-a),c=!0)),s&&j.diagnostic==s.diagnostic?j.dom.hasAttribute("aria-selected")||(j.dom.setAttribute("aria-selected","true"),d=j):j.dom.hasAttribute("aria-selected")&&j.dom.removeAttribute("aria-selected"),a++});a({sel:d.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:_,panel:b})=>{_.topb.bottom&&(this.list.scrollTop+=_.bottom-b.bottom)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),c&&this.sync()}sync(){let e=this.list.firstChild;function s(){let a=e;e=a.nextSibling,a.remove()}for(let a of this.items)if(a.dom.parentNode==this.list){for(;e!=a.dom;)s();e=a.dom.nextSibling}else this.list.insertBefore(a.dom,e);for(;e;)s()}moveSelection(e){if(this.selectedIndex<0)return;let s=this.view.state.field(lintState),a=findDiagnostic(s.diagnostics,this.items[e].diagnostic);!a||this.view.dispatch({selection:{anchor:a.from,head:a.to},scrollIntoView:!0,effects:movePanelSelection.of(a)})}static open(e){return new LintPanel(e)}}function svg(o,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(o)}')`}function underline(o){return svg(``,'width="6" height="3"')}const baseTheme=EditorView.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:underline("#d11")},".cm-lintRange-warning":{backgroundImage:underline("orange")},".cm-lintRange-info":{backgroundImage:underline("#999")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});var jsxRuntime={exports:{}},reactJsxRuntime_production_min={};/** @license React v17.0.2 +`;this.styleTag.textContent=d}}}class RangeValue{eq(e){return this==e}range(e,s=e){return new Range$1(e,s,this)}}RangeValue.prototype.startSide=RangeValue.prototype.endSide=0;RangeValue.prototype.point=!1;RangeValue.prototype.mapMode=MapMode.TrackDel;class Range$1{constructor(e,s,a){this.from=e,this.to=s,this.value=a}}function cmpRange(o,e){return o.from-e.from||o.value.startSide-e.value.startSide}class Chunk{constructor(e,s,a,c){this.from=e,this.to=s,this.value=a,this.maxPoint=c}get length(){return this.to[this.to.length-1]}findIndex(e,s,a,c=0){let d=a?this.to:this.from;for(let _=c,b=d.length;;){if(_==b)return _;let k=_+b>>1,$=d[k]-e||(a?this.value[k].endSide:this.value[k].startSide)-s;if(k==_)return $>=0?_:b;$>=0?b=k:_=k+1}}between(e,s,a,c){for(let d=this.findIndex(s,-1e9,!0),_=this.findIndex(a,1e9,!1,d);d<_;d++)if(c(this.from[d]+e,this.to[d]+e,this.value[d])===!1)return!1}map(e,s){let a=[],c=[],d=[],_=-1,b=-1;for(let k=0;ktt||et==tt&&$.startSide>0&&$.endSide<=0)continue;(tt-et||$.endSide-$.startSide)<0||(_<0&&(_=et),$.point&&(b=Math.max(b,tt-et)),a.push($),c.push(et-_),d.push(tt-_))}return{mapped:a.length?new Chunk(c,d,a,b):null,pos:_}}}class RangeSet{constructor(e,s,a=RangeSet.empty,c){this.chunkPos=e,this.chunk=s,this.nextLayer=a,this.maxPoint=c}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let s of this.chunk)e+=s.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:s=[],sort:a=!1,filterFrom:c=0,filterTo:d=this.length}=e,_=e.filter;if(s.length==0&&!_)return this;if(a&&(s=s.slice().sort(cmpRange)),this.isEmpty)return s.length?RangeSet.of(s):this;let b=new LayerCursor(this,null,-1).goto(0),k=0,$=[],j=new RangeSetBuilder;for(;b.value||k=0){let _e=s[k++];j.addInner(_e.from,_e.to,_e.value)||$.push(_e)}else b.rangeIndex==1&&b.chunkIndexthis.chunkEnd(b.chunkIndex)||db.to||d=d&&e<=d+_.length&&_.between(d,e-d,s-d,a)===!1)return}this.nextLayer.between(e,s,a)}}iter(e=0){return HeapCursor.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,s=0){return HeapCursor.from(e).goto(s)}static compare(e,s,a,c,d=-1){let _=e.filter(_e=>_e.maxPoint>0||!_e.isEmpty&&_e.maxPoint>=d),b=s.filter(_e=>_e.maxPoint>0||!_e.isEmpty&&_e.maxPoint>=d),k=findSharedChunks(_,b,a),$=new SpanCursor(_,k,d),j=new SpanCursor(b,k,d);a.iterGaps((_e,et,tt)=>compare($,_e,j,et,tt,c)),a.empty&&a.length==0&&compare($,0,j,0,0,c)}static eq(e,s,a=0,c){c==null&&(c=1e9);let d=e.filter(j=>!j.isEmpty&&s.indexOf(j)<0),_=s.filter(j=>!j.isEmpty&&e.indexOf(j)<0);if(d.length!=_.length)return!1;if(!d.length)return!0;let b=findSharedChunks(d,_),k=new SpanCursor(d,b,0).goto(a),$=new SpanCursor(_,b,0).goto(a);for(;;){if(k.to!=$.to||!sameValues(k.active,$.active)||k.point&&(!$.point||!k.point.eq($.point)))return!1;if(k.to>c)return!0;k.next(),$.next()}}static spans(e,s,a,c,d=-1){var _;let b=new SpanCursor(e,null,d,(_=c.filterPoint)===null||_===void 0?void 0:_.bind(c)).goto(s),k=s,$=b.openStart;for(;;){let j=Math.min(b.to,a);if(b.point?(c.point(k,j,b.point,b.activeForPoint(b.to),$),$=b.openEnd(j)+(b.to>j?1:0)):j>k&&(c.span(k,j,b.active,$),$=b.openEnd(j)),b.to>a)break;k=b.to,b.next()}return $}static of(e,s=!1){let a=new RangeSetBuilder;for(let c of e instanceof Range$1?[e]:s?lazySort(e):e)a.add(c.from,c.to,c.value);return a.finish()}}RangeSet.empty=new RangeSet([],[],null,-1);function lazySort(o){if(o.length>1)for(let e=o[0],s=1;s0)return o.slice().sort(cmpRange);e=a}return o}RangeSet.empty.nextLayer=RangeSet.empty;class RangeSetBuilder{constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}finishChunk(e){this.chunks.push(new Chunk(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}add(e,s,a){this.addInner(e,s,a)||(this.nextLayer||(this.nextLayer=new RangeSetBuilder)).add(e,s,a)}addInner(e,s,a){let c=e-this.lastTo||a.startSide-this.last.endSide;if(c<=0&&(e-this.lastFrom||a.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return c<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(s-this.chunkStart),this.last=a,this.lastFrom=e,this.lastTo=s,this.value.push(a),a.point&&(this.maxPoint=Math.max(this.maxPoint,s-e)),!0)}addChunk(e,s){if((e-this.lastTo||s.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,s.maxPoint),this.chunks.push(s),this.chunkPos.push(e);let a=s.value.length-1;return this.last=s.value[a],this.lastFrom=s.from[a]+e,this.lastTo=s.to[a]+e,!0}finish(){return this.finishInner(RangeSet.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let s=new RangeSet(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,s}}function findSharedChunks(o,e,s){let a=new Map;for(let d of o)for(let _=0;_=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=a&&c.push(new LayerCursor(_,s,a,d));return c.length==1?c[0]:new HeapCursor(c)}get startSide(){return this.value?this.value.startSide:0}goto(e,s=-1e9){for(let a of this.heap)a.goto(e,s);for(let a=this.heap.length>>1;a>=0;a--)heapBubble(this.heap,a);return this.next(),this}forward(e,s){for(let a of this.heap)a.forward(e,s);for(let a=this.heap.length>>1;a>=0;a--)heapBubble(this.heap,a);(this.to-e||this.value.endSide-s)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),heapBubble(this.heap,0)}}}function heapBubble(o,e){for(let s=o[e];;){let a=(e<<1)+1;if(a>=o.length)break;let c=o[a];if(a+1=0&&(c=o[a+1],a++),s.compare(c)<0)break;o[a]=s,o[e]=c,e=a}}class SpanCursor{constructor(e,s,a,c=()=>!0){this.minPoint=a,this.filterPoint=c,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=HeapCursor.from(e,s,a)}goto(e,s=-1e9){return this.cursor.goto(e,s),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=s,this.openStart=-1,this.next(),this}forward(e,s){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-s)<0;)this.removeActive(this.minActive);this.cursor.forward(e,s)}removeActive(e){remove(this.active,e),remove(this.activeTo,e),remove(this.activeRank,e),this.minActive=findMinIndex(this.active,this.activeTo)}addActive(e){let s=0,{value:a,to:c,rank:d}=this.cursor;for(;s-1&&(this.activeTo[d]-this.cursor.from||this.active[d].endSide-this.cursor.startSide)<0){if(this.activeTo[d]>e){this.to=this.activeTo[d],this.endSide=this.active[d].endSide;break}this.removeActive(d),a&&remove(a,d)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let _=this.cursor.value;if(!_.point)this.addActive(a),this.cursor.next();else if(s&&this.cursor.to==this.to&&this.cursor.from=0&&!(this.activeRank[a]e||this.activeTo[a]==e&&this.active[a].endSide>=this.point.endSide)&&s.push(this.active[a]);return s.reverse()}openEnd(e){let s=0;for(let a=this.activeTo.length-1;a>=0&&this.activeTo[a]>e;a--)s++;return s}}function compare(o,e,s,a,c,d){o.goto(e),s.goto(a);let _=a+c,b=a,k=a-e;for(;;){let $=o.to+k-s.to||o.endSide-s.endSide,j=$<0?o.to+k:s.to,_e=Math.min(j,_);if(o.point||s.point?o.point&&s.point&&(o.point==s.point||o.point.eq(s.point))&&sameValues(o.activeForPoint(o.to+k),s.activeForPoint(s.to))||d.comparePoint(b,_e,o.point,s.point):_e>b&&!sameValues(o.active,s.active)&&d.compareRange(b,_e,o.active,s.active),j>_)break;b=j,$<=0&&o.next(),$>=0&&s.next()}}function sameValues(o,e){if(o.length!=e.length)return!1;for(let s=0;s=e;a--)o[a+1]=o[a];o[e]=s}function findMinIndex(o,e){let s=-1,a=1e9;for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"',229:"Q"},chrome$1=typeof navigator!="undefined"&&/Chrome\/(\d+)/.exec(navigator.userAgent),safari$1=typeof navigator!="undefined"&&/Apple Computer/.test(navigator.vendor),gecko$1=typeof navigator!="undefined"&&/Gecko\/\d+/.test(navigator.userAgent),mac=typeof navigator!="undefined"&&/Mac/.test(navigator.platform),ie$1=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),brokenModifierNames=chrome$1&&(mac||+chrome$1[1]<57)||gecko$1&&mac;for(var i=0;i<10;i++)base[48+i]=base[96+i]=String(i);for(var i=1;i<=24;i++)base[i+111]="F"+i;for(var i=65;i<=90;i++)base[i]=String.fromCharCode(i+32),shift[i]=String.fromCharCode(i);for(var code in base)shift.hasOwnProperty(code)||(shift[code]=base[code]);function keyName(o){var e=brokenModifierNames&&(o.ctrlKey||o.altKey||o.metaKey)||(safari$1||ie$1)&&o.shiftKey&&o.key&&o.key.length==1,s=!e&&o.key||(o.shiftKey?shift:base)[o.keyCode]||o.key||"Unidentified";return s=="Esc"&&(s="Escape"),s=="Del"&&(s="Delete"),s=="Left"&&(s="ArrowLeft"),s=="Up"&&(s="ArrowUp"),s=="Right"&&(s="ArrowRight"),s=="Down"&&(s="ArrowDown"),s}function getSelection(o){let e;return o.nodeType==11?e=o.getSelection?o:o.ownerDocument:e=o,e.getSelection()}function contains(o,e){return e?o==e||o.contains(e.nodeType!=1?e.parentNode:e):!1}function deepActiveElement(){let o=document.activeElement;for(;o&&o.shadowRoot;)o=o.shadowRoot.activeElement;return o}function hasSelection(o,e){if(!e.anchorNode)return!1;try{return contains(o,e.anchorNode)}catch{return!1}}function clientRectsFor(o){return o.nodeType==3?textRange(o,0,o.nodeValue.length).getClientRects():o.nodeType==1?o.getClientRects():[]}function isEquivalentPosition(o,e,s,a){return s?scanFor(o,e,s,a,-1)||scanFor(o,e,s,a,1):!1}function domIndex(o){for(var e=0;;e++)if(o=o.previousSibling,!o)return e}function scanFor(o,e,s,a,c){for(;;){if(o==s&&e==a)return!0;if(e==(c<0?0:maxOffset(o))){if(o.nodeName=="DIV")return!1;let d=o.parentNode;if(!d||d.nodeType!=1)return!1;e=domIndex(o)+(c<0?0:1),o=d}else if(o.nodeType==1){if(o=o.childNodes[e+(c<0?-1:0)],o.nodeType==1&&o.contentEditable=="false")return!1;e=c<0?maxOffset(o):0}else return!1}}function maxOffset(o){return o.nodeType==3?o.nodeValue.length:o.childNodes.length}const Rect0={left:0,right:0,top:0,bottom:0};function flattenRect(o,e){let s=e?o.left:o.right;return{left:s,right:s,top:o.top,bottom:o.bottom}}function windowRect(o){return{left:0,right:o.innerWidth,top:0,bottom:o.innerHeight}}function scrollRectIntoView(o,e,s,a,c,d,_,b){let k=o.ownerDocument,$=k.defaultView;for(let j=o;j;)if(j.nodeType==1){let _e,et=j==k.body;if(et)_e=windowRect($);else{if(j.scrollHeight<=j.clientHeight&&j.scrollWidth<=j.clientWidth){j=j.parentNode;continue}let it=j.getBoundingClientRect();_e={left:it.left,right:it.left+j.clientWidth,top:it.top,bottom:it.top+j.clientHeight}}let tt=0,nt=0;if(c=="nearest")e.top<_e.top?(nt=-(_e.top-e.top+_),s>0&&e.bottom>_e.bottom+nt&&(nt=e.bottom-_e.bottom+nt+_)):e.bottom>_e.bottom&&(nt=e.bottom-_e.bottom+_,s<0&&e.top-nt<_e.top&&(nt=-(_e.top+nt-e.top+_)));else{let it=e.bottom-e.top,rt=_e.bottom-_e.top;nt=(c=="center"&&it<=rt?e.top+it/2-rt/2:c=="start"||c=="center"&&s<0?e.top-_:e.bottom-rt+_)-_e.top}if(a=="nearest"?e.left<_e.left?(tt=-(_e.left-e.left+d),s>0&&e.right>_e.right+tt&&(tt=e.right-_e.right+tt+d)):e.right>_e.right&&(tt=e.right-_e.right+d,s<0&&e.left<_e.left+tt&&(tt=-(_e.left+tt-e.left+d))):tt=(a=="center"?e.left+(e.right-e.left)/2-(_e.right-_e.left)/2:a=="start"==b?e.left-d:e.right-(_e.right-_e.left)+d)-_e.left,tt||nt)if(et)$.scrollBy(tt,nt);else{if(nt){let it=j.scrollTop;j.scrollTop+=nt,nt=j.scrollTop-it}if(tt){let it=j.scrollLeft;j.scrollLeft+=tt,tt=j.scrollLeft-it}e={left:e.left-tt,top:e.top-nt,right:e.right-tt,bottom:e.bottom-nt}}if(et)break;j=j.assignedSlot||j.parentNode,a=c="nearest"}else if(j.nodeType==11)j=j.host;else break}class DOMSelectionState{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){this.set(e.anchorNode,e.anchorOffset,e.focusNode,e.focusOffset)}set(e,s,a,c){this.anchorNode=e,this.anchorOffset=s,this.focusNode=a,this.focusOffset=c}}let preventScrollSupported=null;function focusPreventScroll(o){if(o.setActive)return o.setActive();if(preventScrollSupported)return o.focus(preventScrollSupported);let e=[];for(let s=o;s&&(e.push(s,s.scrollTop,s.scrollLeft),s!=s.ownerDocument);s=s.parentNode);if(o.focus(preventScrollSupported==null?{get preventScroll(){return preventScrollSupported={preventScroll:!0},!0}}:void 0),!preventScrollSupported){preventScrollSupported=!1;for(let s=0;ss)return _e.domBoundsAround(e,s,$);if(et>=e&&c==-1&&(c=k,d=$),$>s&&_e.dom.parentNode==this.dom){_=k,b=j;break}j=et,$=et+_e.breakAfter}return{from:d,to:b<0?a+this.length:b,startDOM:(c?this.children[c-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:_=0?this.children[_].dom:null}}markDirty(e=!1){this.dirty|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let s=this.parent;s;s=s.parent){if(e&&(s.dirty|=2),s.dirty&1)return;s.dirty|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.dirty&&this.markParentsDirty(!0))}setDOM(e){this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this}get rootView(){for(let e=this;;){let s=e.parent;if(!s)return e;e=s}}replaceChildren(e,s,a=noChildren){this.markDirty();for(let c=e;cthis.pos||e==this.pos&&(s>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let a=this.children[--this.i];this.pos-=a.length+a.breakAfter}}}function replaceRange(o,e,s,a,c,d,_,b,k){let{children:$}=o,j=$.length?$[e]:null,_e=d.length?d[d.length-1]:null,et=_e?_e.breakAfter:_;if(!(e==a&&j&&!_&&!et&&d.length<2&&j.merge(s,c,d.length?_e:null,s==0,b,k))){if(a<$.length){let tt=$[a];tt&&c0&&(!_&&d.length&&j.merge(s,j.length,d[0],!1,b,0)?j.breakAfter=d.shift().breakAfter:(s2);var browser={mac:ios$1||/Mac/.test(nav.platform),windows:/Win/.test(nav.platform),linux:/Linux|X11/.test(nav.platform),ie,ie_version:ie_upto10?doc.documentMode||6:ie_11up?+ie_11up[1]:ie_edge?+ie_edge[1]:0,gecko,gecko_version:gecko?+(/Firefox\/(\d+)/.exec(nav.userAgent)||[0,0])[1]:0,chrome:!!chrome,chrome_version:chrome?+chrome[1]:0,ios:ios$1,android:/Android\b/.test(nav.userAgent),webkit,safari,webkit_version:webkit?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:doc.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};const MaxJoinLen=256;class TextView extends ContentView{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,s,a){return a&&(!(a instanceof TextView)||this.length-(s-e)+a.length>MaxJoinLen)?!1:(this.text=this.text.slice(0,e)+(a?a.text:"")+this.text.slice(s),this.markDirty(),!0)}split(e){let s=new TextView(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),s}localPosFromDOM(e,s){return e==this.dom?s:s?this.text.length:0}domAtPos(e){return new DOMPos(this.dom,e)}domBoundsAround(e,s,a){return{from:a,to:a+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,s){return textCoords(this.dom,e,s)}}class MarkView extends ContentView{constructor(e,s=[],a=0){super(),this.mark=e,this.children=s,this.length=a;for(let c of s)c.setParent(this)}setAttrs(e){if(clearAttributes(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let s in this.mark.attrs)e.setAttribute(s,this.mark.attrs[s]);return e}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.dirty|=6)}sync(e){this.dom?this.dirty&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e)}merge(e,s,a,c,d,_){return a&&(!(a instanceof MarkView&&a.mark.eq(this.mark))||e&&d<=0||se&&s.push(a=e&&(c=d),a=k,d++}let _=this.length-e;return this.length=e,c>-1&&(this.children.length=c,this.markDirty()),new MarkView(this.mark,s,_)}domAtPos(e){return inlineDOMAtPos(this.dom,this.children,e)}coordsAt(e,s){return coordsInChildren(this,e,s)}}function textCoords(o,e,s){let a=o.nodeValue.length;e>a&&(e=a);let c=e,d=e,_=0;e==0&&s<0||e==a&&s>=0?browser.chrome||browser.gecko||(e?(c--,_=1):(d++,_=-1)):s<0?c--:d++;let b=textRange(o,c,d).getClientRects();if(!b.length)return Rect0;let k=b[(_?_<0:s>=0)?0:b.length-1];return browser.safari&&!_&&k.width==0&&(k=Array.prototype.find.call(b,$=>$.width)||k),_?flattenRect(k,_<0):k||null}class WidgetView extends ContentView{constructor(e,s,a){super(),this.widget=e,this.length=s,this.side=a,this.prevWidget=null}static create(e,s,a){return new(e.customView||WidgetView)(e,s,a)}split(e){let s=WidgetView.create(this.widget,this.length-e,this.side);return this.length-=e,s}sync(){(!this.dom||!this.widget.updateDOM(this.dom))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(this.editorView)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,s,a,c,d,_){return a&&(!(a instanceof WidgetView)||!this.widget.compare(a.widget)||e>0&&d<=0||s0?a.length-1:0;c=a[d],!(e>0?d==0:d==a.length-1||c.top0?-1:1);return e==0&&s>0||e==this.length&&s<=0?c:flattenRect(c,e==0)}get isEditable(){return!1}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class CompositionView extends WidgetView{domAtPos(e){let{topView:s,text:a}=this.widget;return s?scanCompositionTree(e,0,s,a,(c,d)=>c.domAtPos(d),c=>new DOMPos(a,Math.min(c,a.nodeValue.length))):new DOMPos(a,Math.min(e,a.nodeValue.length))}sync(){this.setDOM(this.widget.toDOM())}localPosFromDOM(e,s){let{topView:a,text:c}=this.widget;return a?posFromDOMInCompositionTree(e,s,a,c):Math.min(s,this.length)}ignoreMutation(){return!1}get overrideDOMText(){return null}coordsAt(e,s){let{topView:a,text:c}=this.widget;return a?scanCompositionTree(e,s,a,c,(d,_,b)=>d.coordsAt(_,b),(d,_)=>textCoords(c,d,_)):textCoords(c,e,s)}destroy(){var e;super.destroy(),(e=this.widget.topView)===null||e===void 0||e.destroy()}get isEditable(){return!0}}function scanCompositionTree(o,e,s,a,c,d){if(s instanceof MarkView){for(let _ of s.children){let b=contains(_.dom,a),k=b?a.nodeValue.length:_.length;if(o0?-1:1);return a&&a.tops.top?{left:s.left,right:s.right,top:a.top,bottom:a.bottom}:s}get overrideDOMText(){return Text.empty}}TextView.prototype.children=WidgetView.prototype.children=WidgetBufferView.prototype.children=noChildren;function inlineSiblingRect(o,e){let s=o.parent,a=s?s.children.indexOf(o):-1;for(;s&&a>=0;)if(e<0?a>0:ac&&s<_&&d.dom.parentNode==o)return d.domAtPos(s-c);if(s<=c)break;c=_}}for(;a>0;a--){let c=e[a-1].dom;if(c.parentNode==o)return DOMPos.after(c)}return new DOMPos(o,0)}function joinInlineInto(o,e,s){let a,{children:c}=o;s>0&&e instanceof MarkView&&c.length&&(a=c[c.length-1])instanceof MarkView&&a.mark.eq(e.mark)?joinInlineInto(a,e.children[0],s-1):(c.push(e),e.setParent(o)),o.length+=e.length}function coordsInChildren(o,e,s){for(let d=0,_=0;_0?k>=e:k>e)&&(e0)){let j=0;if(k==d){if(b.getSide()<=0)continue;j=s=-b.getSide()}let _e=b.coordsAt(Math.max(0,e-d),s);return j&&_e?flattenRect(_e,s<0):_e}d=k}let a=o.dom.lastChild;if(!a)return o.dom.getBoundingClientRect();let c=clientRectsFor(a);return c[c.length-1]||null}function combineAttrs(o,e){for(let s in o)s=="class"&&e.class?e.class+=" "+o.class:s=="style"&&e.style?e.style+=";"+o.style:e[s]=o[s];return e}function attrsEq(o,e){if(o==e)return!0;if(!o||!e)return!1;let s=Object.keys(o),a=Object.keys(e);if(s.length!=a.length)return!1;for(let c of s)if(a.indexOf(c)==-1||o[c]!==e[c])return!1;return!0}function updateAttrs(o,e,s){if(e)for(let a in e)s&&a in s||o.removeAttribute(a);if(s)for(let a in s)e&&e[a]==s[a]||o.setAttribute(a,s[a])}class WidgetType{eq(e){return!1}updateDOM(e){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}ignoreEvent(e){return!0}get customView(){return null}destroy(e){}}var BlockType=function(o){return o[o.Text=0]="Text",o[o.WidgetBefore=1]="WidgetBefore",o[o.WidgetAfter=2]="WidgetAfter",o[o.WidgetRange=3]="WidgetRange",o}(BlockType||(BlockType={}));class Decoration extends RangeValue{constructor(e,s,a,c){super(),this.startSide=e,this.endSide=s,this.widget=a,this.spec=c}get heightRelevant(){return!1}static mark(e){return new MarkDecoration(e)}static widget(e){let s=e.side||0,a=!!e.block;return s+=a?s>0?3e8:-4e8:s>0?1e8:-1e8,new PointDecoration(e,s,s,a,e.widget||null,!1)}static replace(e){let s=!!e.block,a,c;if(e.isBlockGap)a=-5e8,c=4e8;else{let{start:d,end:_}=getInclusive(e,s);a=(d?s?-3e8:-1:5e8)-1,c=(_?s?2e8:1:-6e8)+1}return new PointDecoration(e,a,c,s,e.widget||null,!0)}static line(e){return new LineDecoration(e)}static set(e,s=!1){return RangeSet.of(e,s)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}Decoration.none=RangeSet.empty;class MarkDecoration extends Decoration{constructor(e){let{start:s,end:a}=getInclusive(e);super(s?-1:5e8,a?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){return this==e||e instanceof MarkDecoration&&this.tagName==e.tagName&&this.class==e.class&&attrsEq(this.attrs,e.attrs)}range(e,s=e){if(e>=s)throw new RangeError("Mark decorations may not be empty");return super.range(e,s)}}MarkDecoration.prototype.point=!1;class LineDecoration extends Decoration{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof LineDecoration&&attrsEq(this.spec.attributes,e.spec.attributes)}range(e,s=e){if(s!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,s)}}LineDecoration.prototype.mapMode=MapMode.TrackBefore;LineDecoration.prototype.point=!0;class PointDecoration extends Decoration{constructor(e,s,a,c,d,_){super(s,a,d,e),this.block=c,this.isReplace=_,this.mapMode=c?s<=0?MapMode.TrackBefore:MapMode.TrackAfter:MapMode.TrackDel}get type(){return this.startSide=5}eq(e){return e instanceof PointDecoration&&widgetsEq(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,s=e){if(this.isReplace&&(e>s||e==s&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&s!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,s)}}PointDecoration.prototype.point=!0;function getInclusive(o,e=!1){let{inclusiveStart:s,inclusiveEnd:a}=o;return s==null&&(s=o.inclusive),a==null&&(a=o.inclusive),{start:s!=null?s:e,end:a!=null?a:e}}function widgetsEq(o,e){return o==e||!!(o&&e&&o.compare(e))}function addRange(o,e,s,a=0){let c=s.length-1;c>=0&&s[c]+a>=o?s[c]=Math.max(s[c],e):s.push(o,e)}class LineView extends ContentView{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,s,a,c,d,_){if(a){if(!(a instanceof LineView))return!1;this.dom||a.transferDOM(this)}return c&&this.setDeco(a?a.attrs:null),mergeChildrenInto(this,e,s,a?a.children:[],d,_),!0}split(e){let s=new LineView;if(s.breakAfter=this.breakAfter,this.length==0)return s;let{i:a,off:c}=this.childPos(e);c&&(s.append(this.children[a].split(c),0),this.children[a].merge(c,this.children[a].length,null,!1,0,0),a++);for(let d=a;d0&&this.children[a-1].length==0;)this.children[--a].destroy();return this.children.length=a,this.markDirty(),this.length=e,s}transferDOM(e){!this.dom||(e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){attrsEq(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,s){joinInlineInto(this,e,s)}addLineDeco(e){let s=e.spec.attributes,a=e.spec.class;s&&(this.attrs=combineAttrs(s,this.attrs||{})),a&&(this.attrs=combineAttrs({class:a},this.attrs||{}))}domAtPos(e){return inlineDOMAtPos(this.dom,this.children,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.dirty|=6)}sync(e){var s;this.dom?this.dirty&4&&(clearAttributes(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(updateAttrs(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e);let a=this.dom.lastChild;for(;a&&ContentView.get(a)instanceof MarkView;)a=a.lastChild;if(!a||!this.length||a.nodeName!="BR"&&((s=ContentView.get(a))===null||s===void 0?void 0:s.isEditable)==!1&&(!browser.ios||!this.children.some(c=>c instanceof TextView))){let c=document.createElement("BR");c.cmIgnore=!0,this.dom.appendChild(c)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0;for(let s of this.children){if(!(s instanceof TextView))return null;let a=clientRectsFor(s.dom);if(a.length!=1)return null;e+=a[0].width}return{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length}}coordsAt(e,s){return coordsInChildren(this,e,s)}become(e){return!1}get type(){return BlockType.Text}static find(e,s){for(let a=0,c=0;a=s){if(d instanceof LineView)return d;if(_>s)break}c=_+d.breakAfter}return null}}class BlockWidgetView extends ContentView{constructor(e,s,a){super(),this.widget=e,this.length=s,this.type=a,this.breakAfter=0,this.prevWidget=null}merge(e,s,a,c,d,_){return a&&(!(a instanceof BlockWidgetView)||!this.widget.compare(a.widget)||e>0&&d<=0||s0;){if(this.textOff==this.text.length){let{value:d,lineBreak:_,done:b}=this.cursor.next(this.skip);if(this.skip=0,b)throw new Error("Ran out of text content when drawing inline views");if(_){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer([]),this.curLine=null,e--;continue}else this.text=d,this.textOff=0}let c=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(s.slice(0,a)),this.getLine().append(wrapMarks(new TextView(this.text.slice(this.textOff,this.textOff+c)),s),a),this.atCursorPos=!0,this.textOff+=c,e-=c,a=0}}span(e,s,a,c){this.buildText(s-e,a,c),this.pos=s,this.openStart<0&&(this.openStart=c)}point(e,s,a,c,d){let _=s-e;if(a instanceof PointDecoration)if(a.block){let{type:b}=a;b==BlockType.WidgetAfter&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new BlockWidgetView(a.widget||new NullWidget("div"),_,b))}else{let b=WidgetView.create(a.widget||new NullWidget("span"),_,a.startSide),k=this.atCursorPos&&!b.isEditable&&d<=c.length&&(e0),$=!b.isEditable&&(ethis.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}return!0}static build(e,s,a,c,d){let _=new ContentBuilder(e,s,a,d);return _.openEnd=RangeSet.spans(c,s,a,_),_.openStart<0&&(_.openStart=_.openEnd),_.finish(_.openEnd),_}}function wrapMarks(o,e){for(let s of e)o=new MarkView(s,[o],o.length);return o}class NullWidget extends WidgetType{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}}const none$2=[],clickAddsSelectionRange=Facet.define(),dragMovesSelection$1=Facet.define(),mouseSelectionStyle=Facet.define(),exceptionSink=Facet.define(),updateListener=Facet.define(),inputHandler$1=Facet.define(),scrollTo=StateEffect.define({map:(o,e)=>o.map(e)}),centerOn=StateEffect.define({map:(o,e)=>o.map(e)});class ScrollTarget{constructor(e,s="nearest",a="nearest",c=5,d=5){this.range=e,this.y=s,this.x=a,this.yMargin=c,this.xMargin=d}map(e){return e.empty?this:new ScrollTarget(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin)}}const scrollIntoView$1=StateEffect.define({map:(o,e)=>o.map(e)});function logException(o,e,s){let a=o.facet(exceptionSink);a.length?a[0](e):window.onerror?window.onerror(String(e),s,void 0,void 0,e):s?console.error(s+":",e):console.error(e)}const editable=Facet.define({combine:o=>o.length?o[0]:!0});class PluginFieldProvider{constructor(e,s){this.field=e,this.get=s}}class PluginField{from(e){return new PluginFieldProvider(this,e)}static define(){return new PluginField}}PluginField.decorations=PluginField.define();PluginField.atomicRanges=PluginField.define();PluginField.scrollMargins=PluginField.define();let nextPluginID=0;const viewPlugin=Facet.define();class ViewPlugin{constructor(e,s,a){this.id=e,this.create=s,this.fields=a,this.extension=viewPlugin.of(this)}static define(e,s){let{eventHandlers:a,provide:c,decorations:d}=s||{},_=[];if(c)for(let b of Array.isArray(c)?c:[c])_.push(b);return a&&_.push(domEventHandlers.from(b=>({plugin:b,handlers:a}))),d&&_.push(PluginField.decorations.from(d)),new ViewPlugin(nextPluginID++,e,_)}static fromClass(e,s){return ViewPlugin.define(a=>new e(a),s)}}const domEventHandlers=PluginField.define();class PluginInstance{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}takeField(e,s){if(this.spec)for(let{field:a,get:c}of this.spec.fields)a==e&&s.push(c(this.value))}update(e){if(this.value){if(this.mustUpdate){let s=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(s)}catch(a){if(logException(s.state,a,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(s){logException(e.state,s,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var s;if(!((s=this.value)===null||s===void 0)&&s.destroy)try{this.value.destroy()}catch(a){logException(e.state,a,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const editorAttributes=Facet.define(),contentAttributes=Facet.define(),decorations=Facet.define(),styleModule=Facet.define();class ChangedRange{constructor(e,s,a,c){this.fromA=e,this.toA=s,this.fromB=a,this.toB=c}join(e){return new ChangedRange(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let s=e.length,a=this;for(;s>0;s--){let c=e[s-1];if(!(c.fromA>a.toA)){if(c.toAj)break;d+=2}if(!k)return a;new ChangedRange(k.fromA,k.toA,k.fromB,k.toB).addToSet(a),_=k.toA,b=k.toB}}}class ViewUpdate{constructor(e,s,a=none$2){this.view=e,this.state=s,this.transactions=a,this.flags=0,this.startState=e.state,this.changes=ChangeSet.empty(this.startState.doc.length);for(let _ of a)this.changes=this.changes.compose(_.changes);let c=[];this.changes.iterChangedRanges((_,b,k,$)=>c.push(new ChangedRange(_,b,k,$))),this.changedRanges=c;let d=e.hasFocus;d!=e.inputState.notifiedFocused&&(e.inputState.notifiedFocused=d,this.flags|=1)}get viewportChanged(){return(this.flags&4)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&10)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}var Direction=function(o){return o[o.LTR=0]="LTR",o[o.RTL=1]="RTL",o}(Direction||(Direction={}));const LTR=Direction.LTR,RTL=Direction.RTL;function dec(o){let e=[];for(let s=0;s=s){if(b.level==a)return _;(d<0||(c!=0?c<0?b.froms:e[d].level>b.level))&&(d=_)}}if(d<0)throw new RangeError("Index out of range");return d}}const types=[];function computeOrder(o,e){let s=o.length,a=e==LTR?1:2,c=e==LTR?2:1;if(!o||a==1&&!BidiRE.test(o))return trivialOrder(s);for(let _=0,b=a,k=a;_=0;et-=3)if(BracketStack[et+1]==-j){let tt=BracketStack[et+2],nt=tt&2?a:tt&4?tt&1?c:a:0;nt&&(types[_]=types[BracketStack[et]]=nt),b=et;break}}else{if(BracketStack.length==189)break;BracketStack[b++]=_,BracketStack[b++]=$,BracketStack[b++]=k}else if((_e=types[_])==2||_e==1){let et=_e==a;k=et?0:1;for(let tt=b-3;tt>=0;tt-=3){let nt=BracketStack[tt+2];if(nt&2)break;if(et)BracketStack[tt+2]|=2;else{if(nt&4)break;BracketStack[tt+2]|=4}}}for(let _=0;_b;){let j=$,_e=types[--$]!=2;for(;$>b&&_e==(types[$-1]!=2);)$--;d.push(new BidiSpan($,j,_e?2:1))}else d.push(new BidiSpan(b,_,0))}else for(let _=0;_1)for(let k of this.points)k.node==e&&k.pos>this.text.length&&(k.pos-=_-1);a=d+_}}readNode(e){if(e.cmIgnore)return;let s=ContentView.get(e),a=s&&s.overrideDOMText;if(a!=null){this.findPointInside(e,a.length);for(let c=a.iter();!c.next().done;)c.lineBreak?this.lineBreak():this.append(c.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,s){for(let a of this.points)a.node==e&&e.childNodes[a.offset]==s&&(a.pos=this.text.length)}findPointInside(e,s){for(let a of this.points)(e.nodeType==3?a.node==e:e.contains(a.node))&&(a.pos=this.text.length+Math.min(s,a.offset))}}function isBlockElement(o){return o.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(o.nodeName)}class DOMPoint{constructor(e,s){this.node=e,this.offset=s,this.pos=-1}}class DocView extends ContentView{constructor(e){super(),this.view=e,this.compositionDeco=Decoration.none,this.decorations=[],this.pluginDecorationLength=0,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new LineView],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new ChangedRange(0,0,0,e.state.doc.length)],0)}get root(){return this.view.root}get editorView(){return this.view}get length(){return this.view.state.doc.length}update(e){let s=e.changedRanges;this.minWidth>0&&s.length&&(s.every(({fromA:_,toA:b})=>bthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.view.inputState.composing<0?this.compositionDeco=Decoration.none:(e.transactions.length||this.dirty)&&(this.compositionDeco=computeCompositionDeco(this.view,e.changes)),(browser.ie||browser.chrome)&&!this.compositionDeco.size&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let a=this.decorations,c=this.updateDeco(),d=findChangedDeco(a,c,e.changes);return s=ChangedRange.extendWithRanges(s,d),this.dirty==0&&s.length==0?!1:(this.updateInner(s,e.startState.doc.length),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,s){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,s);let{observer:a}=this.view;a.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight+"px",this.dom.style.minWidth=this.minWidth?this.minWidth+"px":"";let d=browser.chrome||browser.ios?{node:a.selectionRange.focusNode,written:!1}:void 0;this.sync(d),this.dirty=0,d&&(d.written||a.selectionRange.focusNode!=d.node)&&(this.forceSelection=!0),this.dom.style.height=""});let c=[];if(this.view.viewport.from||this.view.viewport.to=0?e[c]:null;if(!d)break;let{fromA:_,toA:b,fromB:k,toB:$}=d,{content:j,breakAtStart:_e,openStart:et,openEnd:tt}=ContentBuilder.build(this.view.state.doc,k,$,this.decorations,this.pluginDecorationLength),{i:nt,off:it}=a.findPos(b,1),{i:rt,off:st}=a.findPos(_,-1);replaceRange(this,rt,st,nt,it,j,_e,et,tt)}}updateSelection(e=!1,s=!1){if(e&&this.view.observer.readSelectionRange(),!(s||this.mayControlSelection())||browser.ios&&this.view.inputState.rapidCompositionStart)return;let a=this.forceSelection;this.forceSelection=!1;let c=this.view.state.selection.main,d=this.domAtPos(c.anchor),_=c.empty?d:this.domAtPos(c.head);if(browser.gecko&&c.empty&&betweenUneditable(d)){let k=document.createTextNode("");this.view.observer.ignore(()=>d.node.insertBefore(k,d.node.childNodes[d.offset]||null)),d=_=new DOMPos(k,0),a=!0}let b=this.view.observer.selectionRange;(a||!b.focusNode||!isEquivalentPosition(d.node,d.offset,b.anchorNode,b.anchorOffset)||!isEquivalentPosition(_.node,_.offset,b.focusNode,b.focusOffset))&&(this.view.observer.ignore(()=>{browser.android&&browser.chrome&&this.dom.contains(b.focusNode)&&inUneditable(b.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let k=getSelection(this.root);if(c.empty){if(browser.gecko){let $=nextToUneditable(d.node,d.offset);if($&&$!=3){let j=nearbyTextNode(d.node,d.offset,$==1?1:-1);j&&(d=new DOMPos(j,$==1?0:j.nodeValue.length))}}k.collapse(d.node,d.offset),c.bidiLevel!=null&&b.cursorBidiLevel!=null&&(b.cursorBidiLevel=c.bidiLevel)}else if(k.extend)k.collapse(d.node,d.offset),k.extend(_.node,_.offset);else{let $=document.createRange();c.anchor>c.head&&([d,_]=[_,d]),$.setEnd(_.node,_.offset),$.setStart(d.node,d.offset),k.removeAllRanges(),k.addRange($)}}),this.view.observer.setSelectionRange(d,_)),this.impreciseAnchor=d.precise?null:new DOMPos(b.anchorNode,b.anchorOffset),this.impreciseHead=_.precise?null:new DOMPos(b.focusNode,b.focusOffset)}enforceCursorAssoc(){if(this.compositionDeco.size)return;let e=this.view.state.selection.main,s=getSelection(this.root);if(!e.empty||!e.assoc||!s.modify)return;let a=LineView.find(this,e.head);if(!a)return;let c=a.posAtStart;if(e.head==c||e.head==c+a.length)return;let d=this.coordsAt(e.head,-1),_=this.coordsAt(e.head,1);if(!d||!_||d.bottom>_.top)return;let b=this.domAtPos(e.head+e.assoc);s.collapse(b.node,b.offset),s.modify("move",e.assoc<0?"forward":"backward","lineboundary")}mayControlSelection(){return this.view.state.facet(editable)?this.root.activeElement==this.dom:hasSelection(this.dom,this.view.observer.selectionRange)}nearest(e){for(let s=e;s;){let a=ContentView.get(s);if(a&&a.rootView==this)return a;s=s.parentNode}return null}posFromDOM(e,s){let a=this.nearest(e);if(!a)throw new RangeError("Trying to find position for a DOM position outside of the document");return a.localPosFromDOM(e,s)+a.posAtStart}domAtPos(e){let{i:s,off:a}=this.childCursor().findPos(e,-1);for(;s_||e==_&&d.type!=BlockType.WidgetBefore&&d.type!=BlockType.WidgetAfter&&(!c||s==2||this.children[c-1].breakAfter||this.children[c-1].type==BlockType.WidgetBefore&&s>-2))return d.coordsAt(e-_,s);a=_}}measureVisibleLineHeights(){let e=[],{from:s,to:a}=this.view.viewState.viewport,c=this.view.contentDOM.clientWidth,d=c>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,_=-1;for(let b=0,k=0;ka)break;if(b>=s){let _e=$.dom.getBoundingClientRect();if(e.push(_e.height),d){let et=$.dom.lastChild,tt=et?clientRectsFor(et):[];if(tt.length){let nt=tt[tt.length-1],it=this.view.textDirection==Direction.LTR?nt.right-_e.left:_e.right-nt.left;it>_&&(_=it,this.minWidth=c,this.minWidthFrom=b,this.minWidthTo=j)}}}b=j+$.breakAfter}return e}measureTextSize(){for(let c of this.children)if(c instanceof LineView){let d=c.measureTextSize();if(d)return d}let e=document.createElement("div"),s,a;return e.className="cm-line",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let c=clientRectsFor(e.firstChild)[0];s=e.getBoundingClientRect().height,a=c?c.width/27:7,e.remove()}),{lineHeight:s,charWidth:a}}childCursor(e=this.length){let s=this.children.length;return s&&(e-=this.children[--s].length),new ChildCursor(this.children,e,s)}computeBlockGapDeco(){let e=[],s=this.view.viewState;for(let a=0,c=0;;c++){let d=c==s.viewports.length?null:s.viewports[c],_=d?d.from-1:this.length;if(_>a){let b=s.lineBlockAt(_).bottom-s.lineBlockAt(a).top;e.push(Decoration.replace({widget:new BlockGapWidget(b),block:!0,inclusive:!0,isBlockGap:!0}).range(a,_))}if(!d)break;a=d.to+1}return Decoration.set(e)}updateDeco(){let e=this.view.pluginField(PluginField.decorations);return this.pluginDecorationLength=e.length,this.decorations=[...e,...this.view.state.facet(decorations),this.compositionDeco,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco]}scrollIntoView(e){let{range:s}=e,a=this.coordsAt(s.head,s.empty?s.assoc:s.head>s.anchor?-1:1),c;if(!a)return;!s.empty&&(c=this.coordsAt(s.anchor,s.anchor>s.head?-1:1))&&(a={left:Math.min(a.left,c.left),top:Math.min(a.top,c.top),right:Math.max(a.right,c.right),bottom:Math.max(a.bottom,c.bottom)});let d=0,_=0,b=0,k=0;for(let j of this.view.pluginField(PluginField.scrollMargins))if(j){let{left:_e,right:et,top:tt,bottom:nt}=j;_e!=null&&(d=Math.max(d,_e)),et!=null&&(_=Math.max(_,et)),tt!=null&&(b=Math.max(b,tt)),nt!=null&&(k=Math.max(k,nt))}let $={left:a.left-d,top:a.top-b,right:a.right+_,bottom:a.bottom+k};scrollRectIntoView(this.view.scrollDOM,$,s.head0&&s<=0)o=o.childNodes[e-1],e=maxOffset(o);else if(o.nodeType==1&&e=0)o=o.childNodes[e],e=0;else return null}}function nextToUneditable(o,e){return o.nodeType!=1?0:(e&&o.childNodes[e-1].contentEditable=="false"?1:0)|(e0;){let $=findClusterBreak(c.text,_,!1);if(a(c.text.slice($,_))!=k)break;_=$}for(;bo?e.left-o:Math.max(0,o-e.right)}function getdy(o,e){return e.top>o?e.top-o:Math.max(0,o-e.bottom)}function yOverlap(o,e){return o.tope.top+1}function upTop(o,e){return eo.bottom?{top:o.top,left:o.left,right:o.right,bottom:e}:o}function domPosAtCoords(o,e,s){let a,c,d,_,b,k,$,j;for(let tt=o.firstChild;tt;tt=tt.nextSibling){let nt=clientRectsFor(tt);for(let it=0;itat||_==at&&d>st)&&(a=tt,c=rt,d=st,_=at),st==0?s>rt.bottom&&(!$||$.bottomrt.top)&&(k=tt,j=rt):$&&yOverlap($,rt)?$=upBot($,rt.bottom):j&&yOverlap(j,rt)&&(j=upTop(j,rt.top))}}if($&&$.bottom>=s?(a=b,c=$):j&&j.top<=s&&(a=k,c=j),!a)return{node:o,offset:0};let _e=Math.max(c.left,Math.min(c.right,e));if(a.nodeType==3)return domPosInText(a,_e,s);if(!d&&a.contentEditable=="true")return domPosAtCoords(a,_e,s);let et=Array.prototype.indexOf.call(o.childNodes,a)+(e>=(c.left+c.right)/2?1:0);return{node:o,offset:et}}function domPosInText(o,e,s){let a=o.nodeValue.length,c=-1,d=1e9,_=0;for(let b=0;bs?j.top-s:s-j.bottom)-1;if(j.left-1<=e&&j.right+1>=e&&_e=(j.left+j.right)/2,tt=et;if((browser.chrome||browser.gecko)&&textRange(o,b).getBoundingClientRect().left==j.right&&(tt=!et),_e<=0)return{node:o,offset:b+(tt?1:0)};c=b+(tt?1:0),d=_e}}}return{node:o,offset:c>-1?c:_>0?o.nodeValue.length:0}}function posAtCoords(o,{x:e,y:s},a,c=-1){var d;let _=o.contentDOM.getBoundingClientRect(),b=_.top+o.viewState.paddingTop,k,{docHeight:$}=o.viewState,j=s-b;if(j<0)return 0;if(j>$)return o.state.doc.length;for(let st=o.defaultLineHeight/2,at=!1;k=o.elementAtHeight(j),k.type!=BlockType.Text;)for(;j=c>0?k.bottom+st:k.top-st,!(j>=0&&j<=$);){if(at)return a?null:0;at=!0,c=-c}s=b+j;let _e=k.from;if(_eo.viewport.to)return o.viewport.to==o.state.doc.length?o.state.doc.length:a?null:posAtCoordsImprecise(o,_,k,e,s);let et=o.dom.ownerDocument,tt=o.root.elementFromPoint?o.root:et,nt=tt.elementFromPoint(e,s);nt&&!o.contentDOM.contains(nt)&&(nt=null),nt||(e=Math.max(_.left+1,Math.min(_.right-1,e)),nt=tt.elementFromPoint(e,s),nt&&!o.contentDOM.contains(nt)&&(nt=null));let it,rt=-1;if(nt&&((d=o.docView.nearest(nt))===null||d===void 0?void 0:d.isEditable)!=!1){if(et.caretPositionFromPoint){let st=et.caretPositionFromPoint(e,s);st&&({offsetNode:it,offset:rt}=st)}else if(et.caretRangeFromPoint){let st=et.caretRangeFromPoint(e,s);st&&({startContainer:it,startOffset:rt}=st,browser.safari&&isSuspiciousCaretResult(it,rt,e)&&(it=void 0))}}if(!it||!o.docView.dom.contains(it)){let st=LineView.find(o.docView,_e);if(!st)return j>k.top+k.height/2?k.to:k.from;({node:it,offset:rt}=domPosAtCoords(st.dom,e,s))}return o.docView.posFromDOM(it,rt)}function posAtCoordsImprecise(o,e,s,a,c){let d=Math.round((a-e.left)*o.defaultCharacterWidth);o.lineWrapping&&s.height>o.defaultLineHeight*1.5&&(d+=Math.floor((c-s.top)/o.defaultLineHeight)*o.viewState.heightOracle.lineLength);let _=o.state.sliceDoc(s.from,s.to);return s.from+findColumn(_,d,o.state.tabSize)}function isSuspiciousCaretResult(o,e,s){let a;if(o.nodeType!=3||e!=(a=o.nodeValue.length))return!1;for(let c=o.nextSibling;c;c=c.nextSibling)if(c.nodeType!=1||c.nodeName!="BR")return!1;return textRange(o,a-1,a).getBoundingClientRect().left>s}function moveToLineBoundary(o,e,s,a){let c=o.state.doc.lineAt(e.head),d=!a||!o.lineWrapping?null:o.coordsAtPos(e.assoc<0&&e.head>c.from?e.head-1:e.head);if(d){let k=o.dom.getBoundingClientRect(),$=o.posAtCoords({x:s==(o.textDirection==Direction.LTR)?k.right-1:k.left+1,y:(d.top+d.bottom)/2});if($!=null)return EditorSelection.cursor($,s?-1:1)}let _=LineView.find(o.docView,e.head),b=_?s?_.posAtEnd:_.posAtStart:s?c.to:c.from;return EditorSelection.cursor(b,s?-1:1)}function moveByChar(o,e,s,a){let c=o.state.doc.lineAt(e.head),d=o.bidiSpans(c);for(let _=e,b=null;;){let k=moveVisually(c,d,o.textDirection,_,s),$=movedOver;if(!k){if(c.number==(s?o.state.doc.lines:1))return _;$=` +`,c=o.state.doc.line(c.number+(s?1:-1)),d=o.bidiSpans(c),k=EditorSelection.cursor(s?c.from:c.to)}if(b){if(!b($))return _}else{if(!a)return k;b=a($)}_=k}}function byGroup(o,e,s){let a=o.state.charCategorizer(e),c=a(s);return d=>{let _=a(d);return c==CharCategory.Space&&(c=_),c==_}}function moveVertically(o,e,s,a){let c=e.head,d=s?1:-1;if(c==(s?o.state.doc.length:0))return EditorSelection.cursor(c,e.assoc);let _=e.goalColumn,b,k=o.contentDOM.getBoundingClientRect(),$=o.coordsAtPos(c),j=o.documentTop;if($)_==null&&(_=$.left-k.left),b=d<0?$.top:$.bottom;else{let tt=o.viewState.lineBlockAt(c-j);_==null&&(_=Math.min(k.right-k.left,o.defaultCharacterWidth*(c-tt.from))),b=(d<0?tt.top:tt.bottom)+j}let _e=k.left+_,et=a!=null?a:o.defaultLineHeight>>1;for(let tt=0;;tt+=10){let nt=b+(et+tt)*d,it=posAtCoords(o,{x:_e,y:nt},!1,d);if(ntk.bottom||(d<0?itc))return EditorSelection.cursor(it,e.assoc,void 0,_)}}function skipAtoms(o,e,s){let a=o.pluginField(PluginField.atomicRanges);for(;;){let c=!1;for(let d of a)d.between(s.from-1,s.from+1,(_,b,k)=>{s.from>_&&s.froms.from?EditorSelection.cursor(_,1):EditorSelection.cursor(b,-1),c=!0)});if(!c)return s}}class InputState{constructor(e){this.lastKeyCode=0,this.lastKeyTime=0,this.pendingIOSKey=void 0,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.registeredEvents=[],this.customHandlers=[],this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.rapidCompositionStart=!1,this.mouseSelection=null;for(let s in handlers){let a=handlers[s];e.contentDOM.addEventListener(s,c=>{!eventBelongsToEditor(e,c)||this.ignoreDuringComposition(c)||s=="keydown"&&this.keydown(e,c)||(this.mustFlushObserver(c)&&e.observer.forceFlush(),this.runCustomHandlers(s,e,c)?c.preventDefault():a(e,c))}),this.registeredEvents.push(s)}this.notifiedFocused=e.hasFocus,this.ensureHandlers(e),browser.safari&&e.contentDOM.addEventListener("input",()=>null)}setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}ensureHandlers(e){let s=this.customHandlers=e.pluginField(domEventHandlers);for(let a of s)for(let c in a.handlers)this.registeredEvents.indexOf(c)<0&&c!="scroll"&&(this.registeredEvents.push(c),e.contentDOM.addEventListener(c,d=>{!eventBelongsToEditor(e,d)||this.runCustomHandlers(c,e,d)&&d.preventDefault()}))}runCustomHandlers(e,s,a){for(let c of this.customHandlers){let d=c.handlers[e];if(d)try{if(d.call(c.plugin,a,s)||a.defaultPrevented)return!0}catch(_){logException(s.state,_)}}return!1}runScrollHandlers(e,s){for(let a of this.customHandlers){let c=a.handlers.scroll;if(c)try{c.call(a.plugin,s,e)}catch(d){logException(e.state,d)}}}keydown(e,s){if(this.lastKeyCode=s.keyCode,this.lastKeyTime=Date.now(),s.keyCode==9&&Date.now()c.keyCode==s.keyCode))&&!(s.ctrlKey||s.altKey||s.metaKey)&&!s.synthetic?(this.pendingIOSKey=a,setTimeout(()=>this.flushIOSKey(e),250),!0):!1}flushIOSKey(e){let s=this.pendingIOSKey;return s?(this.pendingIOSKey=void 0,dispatchKey(e.contentDOM,s.key,s.keyCode)):!1}ignoreDuringComposition(e){return/^key/.test(e.type)?this.composing>0?!0:browser.safari&&Date.now()-this.compositionEndedAt<500?(this.compositionEndedAt=0,!0):!1:!1}mustFlushObserver(e){return e.type=="keydown"&&e.keyCode!=229||e.type=="compositionend"&&!browser.ios}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}const PendingKeys=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],modifierCodes=[16,17,18,20,91,92,224,225];class MouseSelection{constructor(e,s,a,c){this.view=e,this.style=a,this.mustSelect=c,this.lastEvent=s;let d=e.contentDOM.ownerDocument;d.addEventListener("mousemove",this.move=this.move.bind(this)),d.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=s.shiftKey,this.multiple=e.state.facet(EditorState.allowMultipleSelections)&&addsSelectionRange(e,s),this.dragMove=dragMovesSelection(e,s),this.dragging=isInPrimarySelection(e,s)&&getClickType(s)==1?null:!1,this.dragging===!1&&(s.preventDefault(),this.select(s))}move(e){if(e.buttons==0)return this.destroy();this.dragging===!1&&this.select(this.lastEvent=e)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=null}select(e){let s=this.style.get(e,this.extend,this.multiple);(this.mustSelect||!s.eq(this.view.state.selection)||s.main.assoc!=this.view.state.selection.main.assoc)&&this.view.dispatch({selection:s,userEvent:"select.pointer",scrollIntoView:!0}),this.mustSelect=!1}update(e){e.docChanged&&this.dragging&&(this.dragging=this.dragging.map(e.changes)),this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function addsSelectionRange(o,e){let s=o.state.facet(clickAddsSelectionRange);return s.length?s[0](e):browser.mac?e.metaKey:e.ctrlKey}function dragMovesSelection(o,e){let s=o.state.facet(dragMovesSelection$1);return s.length?s[0](e):browser.mac?!e.altKey:!e.ctrlKey}function isInPrimarySelection(o,e){let{main:s}=o.state.selection;if(s.empty)return!1;let a=getSelection(o.root);if(a.rangeCount==0)return!0;let c=a.getRangeAt(0).getClientRects();for(let d=0;d=e.clientX&&_.top<=e.clientY&&_.bottom>=e.clientY)return!0}return!1}function eventBelongsToEditor(o,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let s=e.target,a;s!=o.contentDOM;s=s.parentNode)if(!s||s.nodeType==11||(a=ContentView.get(s))&&a.ignoreEvent(e))return!1;return!0}const handlers=Object.create(null),brokenClipboardAPI=browser.ie&&browser.ie_version<15||browser.ios&&browser.webkit_version<604;function capturePaste(o){let e=o.dom.parentNode;if(!e)return;let s=e.appendChild(document.createElement("textarea"));s.style.cssText="position: fixed; left: -10000px; top: 10px",s.focus(),setTimeout(()=>{o.focus(),s.remove(),doPaste(o,s.value)},50)}function doPaste(o,e){let{state:s}=o,a,c=1,d=s.toText(e),_=d.lines==s.selection.ranges.length;if(lastLinewiseCopy!=null&&s.selection.ranges.every(k=>k.empty)&&lastLinewiseCopy==d.toString()){let k=-1;a=s.changeByRange($=>{let j=s.doc.lineAt($.from);if(j.from==k)return{range:$};k=j.from;let _e=s.toText((_?d.line(c++).text:e)+s.lineBreak);return{changes:{from:j.from,insert:_e},range:EditorSelection.cursor($.from+_e.length)}})}else _?a=s.changeByRange(k=>{let $=d.line(c++);return{changes:{from:k.from,to:k.to,insert:$.text},range:EditorSelection.cursor(k.from+$.length)}}):a=s.replaceSelection(d);o.dispatch(a,{userEvent:"input.paste",scrollIntoView:!0})}handlers.keydown=(o,e)=>{o.inputState.setSelectionOrigin("select"),e.keyCode==27?o.inputState.lastEscPress=Date.now():modifierCodes.indexOf(e.keyCode)<0&&(o.inputState.lastEscPress=0)};let lastTouch=0;handlers.touchstart=(o,e)=>{lastTouch=Date.now(),o.inputState.setSelectionOrigin("select.pointer")};handlers.touchmove=o=>{o.inputState.setSelectionOrigin("select.pointer")};handlers.mousedown=(o,e)=>{if(o.observer.flush(),lastTouch>Date.now()-2e3&&getClickType(e)==1)return;let s=null;for(let a of o.state.facet(mouseSelectionStyle))if(s=a(o,e),s)break;if(!s&&e.button==0&&(s=basicMouseSelection(o,e)),s){let a=o.root.activeElement!=o.contentDOM;a&&o.observer.ignore(()=>focusPreventScroll(o.contentDOM)),o.inputState.startMouseSelection(new MouseSelection(o,e,s,a))}};function rangeForClick(o,e,s,a){if(a==1)return EditorSelection.cursor(e,s);if(a==2)return groupAt(o.state,e,s);{let c=LineView.find(o.docView,e),d=o.state.doc.lineAt(c?c.posAtEnd:e),_=c?c.posAtStart:d.from,b=c?c.posAtEnd:d.to;return bo>=e.top&&o<=e.bottom,inside=(o,e,s)=>insideY(e,s)&&o>=s.left&&o<=s.right;function findPositionSide(o,e,s,a){let c=LineView.find(o.docView,e);if(!c)return 1;let d=e-c.posAtStart;if(d==0)return 1;if(d==c.length)return-1;let _=c.coordsAt(d,-1);if(_&&inside(s,a,_))return-1;let b=c.coordsAt(d,1);return b&&inside(s,a,b)?1:_&&insideY(a,_)?-1:1}function queryPos(o,e){let s=o.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:s,bias:findPositionSide(o,s,e.clientX,e.clientY)}}const BadMouseDetail=browser.ie&&browser.ie_version<=11;let lastMouseDown=null,lastMouseDownCount=0,lastMouseDownTime=0;function getClickType(o){if(!BadMouseDetail)return o.detail;let e=lastMouseDown,s=lastMouseDownTime;return lastMouseDown=o,lastMouseDownTime=Date.now(),lastMouseDownCount=!e||s>Date.now()-400&&Math.abs(e.clientX-o.clientX)<2&&Math.abs(e.clientY-o.clientY)<2?(lastMouseDownCount+1)%3:1}function basicMouseSelection(o,e){let s=queryPos(o,e),a=getClickType(e),c=o.state.selection,d=s,_=e;return{update(b){b.docChanged&&(s&&(s.pos=b.changes.mapPos(s.pos)),c=c.map(b.changes),_=null)},get(b,k,$){let j;if(_&&b.clientX==_.clientX&&b.clientY==_.clientY?j=d:(j=d=queryPos(o,b),_=b),!j||!s)return c;let _e=rangeForClick(o,j.pos,j.bias,a);if(s.pos!=j.pos&&!k){let et=rangeForClick(o,s.pos,s.bias,a),tt=Math.min(et.from,_e.from),nt=Math.max(et.to,_e.to);_e=tt<_e.from?EditorSelection.range(tt,nt):EditorSelection.range(nt,tt)}return k?c.replaceRange(c.main.extend(_e.from,_e.to)):$?c.addRange(_e):EditorSelection.create([_e])}}}handlers.dragstart=(o,e)=>{let{selection:{main:s}}=o.state,{mouseSelection:a}=o.inputState;a&&(a.dragging=s),e.dataTransfer&&(e.dataTransfer.setData("Text",o.state.sliceDoc(s.from,s.to)),e.dataTransfer.effectAllowed="copyMove")};function dropText(o,e,s,a){if(!s)return;let c=o.posAtCoords({x:e.clientX,y:e.clientY},!1);e.preventDefault();let{mouseSelection:d}=o.inputState,_=a&&d&&d.dragging&&d.dragMove?{from:d.dragging.from,to:d.dragging.to}:null,b={from:c,insert:s},k=o.state.changes(_?[_,b]:b);o.focus(),o.dispatch({changes:k,selection:{anchor:k.mapPos(c,-1),head:k.mapPos(c,1)},userEvent:_?"move.drop":"input.drop"})}handlers.drop=(o,e)=>{if(!e.dataTransfer)return;if(o.state.readOnly)return e.preventDefault();let s=e.dataTransfer.files;if(s&&s.length){e.preventDefault();let a=Array(s.length),c=0,d=()=>{++c==s.length&&dropText(o,e,a.filter(_=>_!=null).join(o.state.lineBreak),!1)};for(let _=0;_{/[\x00-\x08\x0e-\x1f]{2}/.test(b.result)||(a[_]=b.result),d()},b.readAsText(s[_])}}else dropText(o,e,e.dataTransfer.getData("Text"),!0)};handlers.paste=(o,e)=>{if(o.state.readOnly)return e.preventDefault();o.observer.flush();let s=brokenClipboardAPI?null:e.clipboardData;s?(doPaste(o,s.getData("text/plain")),e.preventDefault()):capturePaste(o)};function captureCopy(o,e){let s=o.dom.parentNode;if(!s)return;let a=s.appendChild(document.createElement("textarea"));a.style.cssText="position: fixed; left: -10000px; top: 10px",a.value=e,a.focus(),a.selectionEnd=e.length,a.selectionStart=0,setTimeout(()=>{a.remove(),o.focus()},50)}function copiedRange(o){let e=[],s=[],a=!1;for(let c of o.selection.ranges)c.empty||(e.push(o.sliceDoc(c.from,c.to)),s.push(c));if(!e.length){let c=-1;for(let{from:d}of o.selection.ranges){let _=o.doc.lineAt(d);_.number>c&&(e.push(_.text),s.push({from:_.from,to:Math.min(o.doc.length,_.to+1)})),c=_.number}a=!0}return{text:e.join(o.lineBreak),ranges:s,linewise:a}}let lastLinewiseCopy=null;handlers.copy=handlers.cut=(o,e)=>{let{text:s,ranges:a,linewise:c}=copiedRange(o.state);if(!s&&!c)return;lastLinewiseCopy=c?s:null;let d=brokenClipboardAPI?null:e.clipboardData;d?(e.preventDefault(),d.clearData(),d.setData("text/plain",s)):captureCopy(o,s),e.type=="cut"&&!o.state.readOnly&&o.dispatch({changes:a,scrollIntoView:!0,userEvent:"delete.cut"})};handlers.focus=handlers.blur=o=>{setTimeout(()=>{o.hasFocus!=o.inputState.notifiedFocused&&o.update([])},10)};function forceClearComposition(o,e){if(o.docView.compositionDeco.size){o.inputState.rapidCompositionStart=e;try{o.update([])}finally{o.inputState.rapidCompositionStart=!1}}}handlers.compositionstart=handlers.compositionupdate=o=>{o.inputState.compositionFirstChange==null&&(o.inputState.compositionFirstChange=!0),o.inputState.composing<0&&(o.inputState.composing=0,o.docView.compositionDeco.size&&(o.observer.flush(),forceClearComposition(o,!0)))};handlers.compositionend=o=>{o.inputState.composing=-1,o.inputState.compositionEndedAt=Date.now(),o.inputState.compositionFirstChange=null,setTimeout(()=>{o.inputState.composing<0&&forceClearComposition(o,!1)},50)};handlers.contextmenu=o=>{o.inputState.lastContextMenu=Date.now()};handlers.beforeinput=(o,e)=>{var s;let a;if(browser.chrome&&browser.android&&(a=PendingKeys.find(c=>c.inputType==e.inputType))&&(o.observer.delayAndroidKey(a.key,a.keyCode),a.key=="Backspace"||a.key=="Delete")){let c=((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0;setTimeout(()=>{var d;(((d=window.visualViewport)===null||d===void 0?void 0:d.height)||0)>c+10&&o.hasFocus&&(o.contentDOM.blur(),o.focus())},100)}};const wrappingWhiteSpace=["pre-wrap","normal","pre-line","break-spaces"];class HeightOracle{constructor(){this.doc=Text.empty,this.lineWrapping=!1,this.direction=Direction.LTR,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.lineLength=30,this.heightChanged=!1}heightForGap(e,s){let a=this.doc.lineAt(s).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(a+=Math.ceil((s-e-a*this.lineLength*.5)/this.lineLength)),this.lineHeight*a}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForStyle(e,s){return wrappingWhiteSpace.indexOf(e)>-1!=this.lineWrapping||this.direction!=s}mustRefreshForHeights(e){let s=!1;for(let a=0;a-1,k=Math.round(a)!=Math.round(this.lineHeight)||this.lineWrapping!=b||this.direction!=s;if(this.lineWrapping=b,this.direction=s,this.lineHeight=a,this.charWidth=c,this.lineLength=d,k){this.heightSamples={};for(let $=0;$<_.length;$++){let j=_[$];j<0?$++:this.heightSamples[Math.floor(j*10)]=!0}}return k}}class MeasuredHeights{constructor(e,s){this.from=e,this.heights=s,this.index=0}get more(){return this.indexs.moveY(e)):this.type):this}}var QueryType$1=function(o){return o[o.ByPos=0]="ByPos",o[o.ByHeight=1]="ByHeight",o[o.ByPosNoHeight=2]="ByPosNoHeight",o}(QueryType$1||(QueryType$1={}));const Epsilon=.001;class HeightMap{constructor(e,s,a=2){this.length=e,this.height=s,this.flags=a}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e,s){this.height!=s&&(Math.abs(this.height-s)>Epsilon&&(e.heightChanged=!0),this.height=s)}replace(e,s,a){return HeightMap.of(a)}decomposeLeft(e,s){s.push(this)}decomposeRight(e,s){s.push(this)}applyChanges(e,s,a,c){let d=this;for(let _=c.length-1;_>=0;_--){let{fromA:b,toA:k,fromB:$,toB:j}=c[_],_e=d.lineAt(b,QueryType$1.ByPosNoHeight,s,0,0),et=_e.to>=k?_e:d.lineAt(k,QueryType$1.ByPosNoHeight,s,0,0);for(j+=et.to-k,k=et.to;_>0&&_e.from<=c[_-1].toA;)b=c[_-1].fromA,$=c[_-1].fromB,_--,b<_e.from&&(_e=d.lineAt(b,QueryType$1.ByPosNoHeight,s,0,0));$+=_e.from-b,b=_e.from;let tt=NodeBuilder.build(a,e,$,j);d=d.replace(b,k,tt)}return d.updateHeight(a,0)}static empty(){return new HeightMapText(0,0)}static of(e){if(e.length==1)return e[0];let s=0,a=e.length,c=0,d=0;for(;;)if(s==a)if(c>d*2){let b=e[s-1];b.break?e.splice(--s,1,b.left,null,b.right):e.splice(--s,1,b.left,b.right),a+=1+b.break,c-=b.size}else if(d>c*2){let b=e[a];b.break?e.splice(a,1,b.left,null,b.right):e.splice(a,1,b.left,b.right),a+=2+b.break,d-=b.size}else break;else if(c0){let d=a[a.length-1];d instanceof HeightMapGap?a[a.length-1]=new HeightMapGap(d.length+c):a.push(null,new HeightMapGap(c-1))}if(e>0){let d=a[0];d instanceof HeightMapGap?a[0]=new HeightMapGap(e+d.length):a.unshift(new HeightMapGap(e-1),null)}return HeightMap.of(a)}decomposeLeft(e,s){s.push(new HeightMapGap(e-1),null)}decomposeRight(e,s){s.push(null,new HeightMapGap(this.length-e-1))}updateHeight(e,s=0,a=!1,c){let d=s+this.length;if(c&&c.from<=s+this.length&&c.more){let _=[],b=Math.max(s,c.from),k=-1,$=e.heightChanged;for(c.from>s&&_.push(new HeightMapGap(c.from-s-1).updateHeight(e,s));b<=d&&c.more;){let _e=e.doc.lineAt(b).length;_.length&&_.push(null);let et=c.heights[c.index++];k==-1?k=et:Math.abs(et-k)>=Epsilon&&(k=-2);let tt=new HeightMapText(_e,et);tt.outdated=!1,_.push(tt),b+=_e+1}b<=d&&_.push(null,new HeightMapGap(d-b).updateHeight(e,b));let j=HeightMap.of(_);return e.heightChanged=$||k<0||Math.abs(j.height-this.height)>=Epsilon||Math.abs(k-this.lines(e.doc,s).lineHeight)>=Epsilon,j}else(a||this.outdated)&&(this.setHeight(e,e.heightForGap(s,s+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class HeightMapBranch extends HeightMap{constructor(e,s,a){super(e.length+s+a.length,e.height+a.height,s|(e.outdated||a.outdated?2:0)),this.left=e,this.right=a,this.size=e.size+a.size}get break(){return this.flags&1}blockAt(e,s,a,c){let d=a+this.left.height;return eb))return $;let j=s==QueryType$1.ByPosNoHeight?QueryType$1.ByPosNoHeight:QueryType$1.ByPos;return k?$.join(this.right.lineAt(b,j,a,_,b)):this.left.lineAt(b,j,a,c,d).join($)}forEachLine(e,s,a,c,d,_){let b=c+this.left.height,k=d+this.left.length+this.break;if(this.break)e=k&&this.right.forEachLine(e,s,a,b,k,_);else{let $=this.lineAt(k,QueryType$1.ByPos,a,c,d);e<$.from&&this.left.forEachLine(e,$.from-1,a,c,d,_),$.to>=e&&$.from<=s&&_($),s>$.to&&this.right.forEachLine($.to+1,s,a,b,k,_)}}replace(e,s,a){let c=this.left.length+this.break;if(sthis.left.length)return this.balanced(this.left,this.right.replace(e-c,s-c,a));let d=[];e>0&&this.decomposeLeft(e,d);let _=d.length;for(let b of a)d.push(b);if(e>0&&mergeGaps(d,_-1),s=a&&s.push(null)),e>a&&this.right.decomposeLeft(e-a,s)}decomposeRight(e,s){let a=this.left.length,c=a+this.break;if(e>=c)return this.right.decomposeRight(e-c,s);e2*s.size||s.size>2*e.size?HeightMap.of(this.break?[e,null,s]:[e,s]):(this.left=e,this.right=s,this.height=e.height+s.height,this.outdated=e.outdated||s.outdated,this.size=e.size+s.size,this.length=e.length+this.break+s.length,this)}updateHeight(e,s=0,a=!1,c){let{left:d,right:_}=this,b=s+d.length+this.break,k=null;return c&&c.from<=s+d.length&&c.more?k=d=d.updateHeight(e,s,a,c):d.updateHeight(e,s,a),c&&c.from<=b+_.length&&c.more?k=_=_.updateHeight(e,b,a,c):_.updateHeight(e,b,a),k?this.balanced(d,_):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function mergeGaps(o,e){let s,a;o[e]==null&&(s=o[e-1])instanceof HeightMapGap&&(a=o[e+1])instanceof HeightMapGap&&o.splice(e-1,3,new HeightMapGap(s.length+1+a.length))}const relevantWidgetHeight=5;class NodeBuilder{constructor(e,s){this.pos=e,this.oracle=s,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,s){if(this.lineStart>-1){let a=Math.min(s,this.lineEnd),c=this.nodes[this.nodes.length-1];c instanceof HeightMapText?c.length+=a-this.pos:(a>this.pos||!this.isCovered)&&this.nodes.push(new HeightMapText(a-this.pos,-1)),this.writtenTo=a,s>a&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=s}point(e,s,a){if(e=relevantWidgetHeight)&&this.addLineDeco(c,d)}else s>e&&this.span(e,s);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:s}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=s,this.writtenToe&&this.nodes.push(new HeightMapText(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,s){let a=new HeightMapGap(s-e);return this.oracle.doc.lineAt(e).to==s&&(a.flags|=4),a}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof HeightMapText)return e;let s=new HeightMapText(0,-1);return this.nodes.push(s),s}addBlock(e){this.enterLine(),e.type==BlockType.WidgetAfter&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,e.type!=BlockType.WidgetBefore&&(this.covering=e)}addLineDeco(e,s){let a=this.ensureLine();a.length+=s,a.collapsed+=s,a.widgetHeight=Math.max(a.widgetHeight,e),this.writtenTo=this.pos=this.pos+s}finish(e){let s=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(s instanceof HeightMapText)&&!this.isCovered?this.nodes.push(new HeightMapText(0,-1)):(this.writtenTo$.clientHeight||$.scrollWidth>$.clientWidth)&&j.overflow!="visible"){let _e=$.getBoundingClientRect();a=Math.max(a,_e.left),c=Math.min(c,_e.right),d=Math.max(d,_e.top),_=Math.min(_,_e.bottom)}k=j.position=="absolute"||j.position=="fixed"?$.offsetParent:$.parentNode}else if(k.nodeType==11)k=k.host;else break;return{left:a-s.left,right:Math.max(a,c)-s.left,top:d-(s.top+e),bottom:Math.max(d,_)-(s.top+e)}}function fullPixelRange(o,e){let s=o.getBoundingClientRect();return{left:0,right:s.right-s.left,top:e,bottom:s.bottom-(s.top+e)}}class LineGap{constructor(e,s,a){this.from=e,this.to=s,this.size=a}static same(e,s){if(e.length!=s.length)return!1;for(let a=0;as.draw(!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:s}=this.state.selection;for(let a=0;a<=1;a++){let c=a?s.head:s.anchor;if(!e.some(({from:d,to:_})=>c>=d&&c<=_)){let{from:d,to:_}=this.lineBlockAt(c);e.push(new Viewport(d,_))}}this.viewports=e.sort((a,c)=>a.from-c.from),this.scaler=this.heightMap.height<=7e6?IdScaler:new BigScaler(this.heightOracle.doc,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.state.doc,0,0,e=>{this.viewportLines.push(this.scaler.scale==1?e:scaleBlock(e,this.scaler))})}update(e,s=null){let a=this.state;this.state=e.state;let c=this.state.facet(decorations),d=e.changedRanges,_=ChangedRange.extendWithRanges(d,heightRelevantDecoChanges(e.startState.facet(decorations),c,e?e.changes:ChangeSet.empty(this.state.doc.length))),b=this.heightMap.height;this.heightMap=this.heightMap.applyChanges(c,a.doc,this.heightOracle.setDoc(this.state.doc),_),this.heightMap.height!=b&&(e.flags|=2);let k=_.length?this.mapViewport(this.viewport,e.changes):this.viewport;(s&&(s.range.headk.to)||!this.viewportIsAppropriate(k))&&(k=this.getViewport(0,s));let $=!e.changes.empty||e.flags&2||k.from!=this.viewport.from||k.to!=this.viewport.to;this.viewport=k,this.updateForViewport(),$&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(),s&&(this.scrollTarget=s),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&(this.mustEnforceCursorAssoc=!0)}measure(e){let s=e.contentDOM,a=window.getComputedStyle(s),c=this.heightOracle,d=a.whiteSpace,_=a.direction=="rtl"?Direction.RTL:Direction.LTR,b=this.heightOracle.mustRefreshForStyle(d,_),k=b||this.mustMeasureContent||this.contentDOMHeight!=s.clientHeight,$=0,j=0;if(this.editorWidth!=e.scrollDOM.clientWidth&&(c.lineWrapping&&(k=!0),this.editorWidth=e.scrollDOM.clientWidth,$|=8),k){this.mustMeasureContent=!1,this.contentDOMHeight=s.clientHeight;let st=parseInt(a.paddingTop)||0,at=parseInt(a.paddingBottom)||0;(this.paddingTop!=st||this.paddingBottom!=at)&&($|=8,this.paddingTop=st,this.paddingBottom=at)}let _e=(this.printing?fullPixelRange:visiblePixelRange)(s,this.paddingTop),et=_e.top-this.pixelViewport.top,tt=_e.bottom-this.pixelViewport.bottom;this.pixelViewport=_e;let nt=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(nt!=this.inView&&(this.inView=nt,nt&&(k=!0)),!this.inView)return 0;let it=s.clientWidth;if((this.contentDOMWidth!=it||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=it,this.editorHeight=e.scrollDOM.clientHeight,$|=8),k){let st=e.docView.measureVisibleLineHeights();if(c.mustRefreshForHeights(st)&&(b=!0),b||c.lineWrapping&&Math.abs(it-this.contentDOMWidth)>c.charWidth){let{lineHeight:at,charWidth:ot}=e.docView.measureTextSize();b=c.refresh(d,_,at,ot,it/ot,st),b&&(e.docView.minWidth=0,$|=8)}et>0&&tt>0?j=Math.max(et,tt):et<0&&tt<0&&(j=Math.min(et,tt)),c.heightChanged=!1,this.heightMap=this.heightMap.updateHeight(c,0,b,new MeasuredHeights(this.viewport.from,st)),c.heightChanged&&($|=2)}let rt=!this.viewportIsAppropriate(this.viewport,j)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return rt&&(this.viewport=this.getViewport(j,this.scrollTarget)),this.updateForViewport(),($&2||rt)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(b?[]:this.lineGaps)),$|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),$}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,s){let a=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),c=this.heightMap,d=this.state.doc,{visibleTop:_,visibleBottom:b}=this,k=new Viewport(c.lineAt(_-a*1e3,QueryType$1.ByHeight,d,0,0).from,c.lineAt(b+(1-a)*1e3,QueryType$1.ByHeight,d,0,0).to);if(s){let{head:$}=s.range;if($k.to){let j=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),_e=c.lineAt($,QueryType$1.ByPos,d,0,0),et;s.y=="center"?et=(_e.top+_e.bottom)/2-j/2:s.y=="start"||s.y=="nearest"&&$=b+Math.max(10,Math.min(a,250)))&&c>_-2*1e3&&da.from&&b.push({from:a.from,to:d}),_=a.from&&k.from<=a.to&&cutRange(b,k.from-10,k.from+10),!k.empty&&k.to>=a.from&&k.to<=a.to&&cutRange(b,k.to-10,k.to+10);for(let{from:$,to:j}of b)j-$>1e3&&s.push(find(e,_e=>_e.from>=a.from&&_e.to<=a.to&&Math.abs(_e.from-$)<1e3&&Math.abs(_e.to-j)<1e3)||new LineGap($,j,this.gapSize(a,$,j,c)))}return s}gapSize(e,s,a,c){let d=findFraction(c,a)-findFraction(c,s);return this.heightOracle.lineWrapping?e.height*d:c.total*this.heightOracle.charWidth*d}updateLineGaps(e){LineGap.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=Decoration.set(e.map(s=>s.draw(this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.state.facet(decorations);this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let s=[];RangeSet.spans(e,this.viewport.from,this.viewport.to,{span(c,d){s.push({from:c,to:d})},point(){}},20);let a=s.length!=this.visibleRanges.length||this.visibleRanges.some((c,d)=>c.from!=s[d].from||c.to!=s[d].to);return this.visibleRanges=s,a?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(s=>s.from<=e&&s.to>=e)||scaleBlock(this.heightMap.lineAt(e,QueryType$1.ByPos,this.state.doc,0,0),this.scaler)}lineBlockAtHeight(e){return scaleBlock(this.heightMap.lineAt(this.scaler.fromDOM(e),QueryType$1.ByHeight,this.state.doc,0,0),this.scaler)}elementAtHeight(e){return scaleBlock(this.heightMap.blockAt(this.scaler.fromDOM(e),this.state.doc,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Viewport{constructor(e,s){this.from=e,this.to=s}}function lineStructure(o,e,s){let a=[],c=o,d=0;return RangeSet.spans(s.facet(decorations),o,e,{span(){},point(_,b){_>c&&(a.push({from:c,to:_}),d+=_-c),c=b}},20),c=1)return e[e.length-1].to;let a=Math.floor(o*s);for(let c=0;;c++){let{from:d,to:_}=e[c],b=_-d;if(a<=b)return d+a;a-=b}}function findFraction(o,e){let s=0;for(let{from:a,to:c}of o.ranges){if(e<=c){s+=e-a;break}s+=c-a}return s/o.total}function cutRange(o,e,s){for(let a=0;ae){let d=[];c.froms&&d.push({from:s,to:c.to}),o.splice(a,1,...d),a+=d.length-1}}}function find(o,e){for(let s of o)if(e(s))return s}const IdScaler={toDOM(o){return o},fromDOM(o){return o},scale:1};class BigScaler{constructor(e,s,a){let c=0,d=0,_=0;this.viewports=a.map(({from:b,to:k})=>{let $=s.lineAt(b,QueryType$1.ByPos,e,0,0).top,j=s.lineAt(k,QueryType$1.ByPos,e,0,0).bottom;return c+=j-$,{from:b,to:k,top:$,bottom:j,domTop:0,domBottom:0}}),this.scale=(7e6-c)/(s.height-c);for(let b of this.viewports)b.domTop=_+(b.top-d)*this.scale,_=b.domBottom=b.domTop+(b.bottom-b.top),d=b.bottom}toDOM(e){for(let s=0,a=0,c=0;;s++){let d=sscaleBlock(c,e)):o.type)}const theme=Facet.define({combine:o=>o.join(" ")}),darkTheme=Facet.define({combine:o=>o.indexOf(!0)>-1}),baseThemeID=StyleModule.newName(),baseLightID=StyleModule.newName(),baseDarkID=StyleModule.newName(),lightDarkIDs={"&light":"."+baseLightID,"&dark":"."+baseDarkID};function buildTheme(o,e,s){return new StyleModule(e,{finish(a){return/&/.test(a)?a.replace(/&\w*/,c=>{if(c=="&")return o;if(!s||!s[c])throw new RangeError(`Unsupported selector: ${c}`);return s[c]}):o+" "+a}})}const baseTheme$8=buildTheme("."+baseThemeID,{"&.cm-editor":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,minHeight:"100%",display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere"},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 4px"},".cm-selectionLayer":{zIndex:-1,contain:"size style"},".cm-selectionBackground":{position:"absolute"},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{zIndex:100,contain:"size style",pointerEvents:"none"},"&.cm-focused .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{visibility:"hidden"},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{visibility:"hidden"},"100%":{}},".cm-cursor, .cm-dropCursor":{position:"absolute",borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},"&.cm-focused .cm-cursor":{display:"block"},"&light .cm-activeLine":{backgroundColor:"#f3f9ff"},"&dark .cm-activeLine":{backgroundColor:"#223039"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},lightDarkIDs),observeOptions={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},useCharData=browser.ie&&browser.ie_version<=11;class DOMObserver{constructor(e,s,a){this.view=e,this.onChange=s,this.onScrollChanged=a,this.active=!1,this.selectionRange=new DOMSelectionState,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.scrollTargets=[],this.intersection=null,this.resize=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(c=>{for(let d of c)this.queue.push(d);(browser.ie&&browser.ie_version<=11||browser.ios&&e.composing)&&c.some(d=>d.type=="childList"&&d.removedNodes.length||d.type=="characterData"&&d.oldValue.length>d.target.nodeValue.length)?this.flushSoon():this.flush()}),useCharData&&(this.onCharData=c=>{this.queue.push({target:c.target,type:"characterData",oldValue:c.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),window.addEventListener("resize",this.onResize=this.onResize.bind(this)),typeof ResizeObserver=="function"&&(this.resize=new ResizeObserver(()=>{this.view.docView.lastUpdate{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),c.length>0&&c[c.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(c=>{c.length>0&&c[c.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange(),this.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}onScroll(e){this.intersecting&&this.flush(!1),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(){this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500)}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((s,a)=>s!=e[a]))){this.gapIntersection.disconnect();for(let s of e)this.gapIntersection.observe(s);this.gaps=e}}onSelectionChange(e){if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:s}=this,a=this.selectionRange;if(s.state.facet(editable)?s.root.activeElement!=this.dom:!hasSelection(s.dom,a))return;let c=a.anchorNode&&s.docView.nearest(a.anchorNode);c&&c.ignoreEvent(e)||((browser.ie&&browser.ie_version<=11||browser.android&&browser.chrome)&&!s.state.selection.main.empty&&a.focusNode&&isEquivalentPosition(a.focusNode,a.focusOffset,a.anchorNode,a.anchorOffset)?this.flushSoon():this.flush(!1))}readSelectionRange(){let{root:e}=this.view,s=getSelection(e),a=browser.safari&&e.nodeType==11&&deepActiveElement()==this.view.contentDOM&&safariSelectionRangeHack(this.view)||s;return this.selectionRange.eq(a)?!1:(this.selectionRange.setRange(a),this.selectionChanged=!0)}setSelectionRange(e,s){this.selectionRange.set(e.node,e.offset,s.node,s.offset),this.selectionChanged=!1}listenForScroll(){this.parentCheck=-1;let e=0,s=null;for(let a=this.dom;a;)if(a.nodeType==1)!s&&e{let a=this.delayedAndroidKey;this.delayedAndroidKey=null;let c=this.view.state;dispatchKey(this.view.contentDOM,a.key,a.keyCode)?this.processRecords():this.flush(),this.view.state==c&&this.view.update([])}),(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:s})}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=window.setTimeout(()=>{this.delayedFlush=-1,this.flush()},20))}forceFlush(){this.delayedFlush>=0&&(window.clearTimeout(this.delayedFlush),this.delayedFlush=-1,this.flush())}processRecords(){let e=this.queue;for(let d of this.observer.takeRecords())e.push(d);e.length&&(this.queue=[]);let s=-1,a=-1,c=!1;for(let d of e){let _=this.readMutation(d);!_||(_.typeOver&&(c=!0),s==-1?{from:s,to:a}=_:(s=Math.min(_.from,s),a=Math.max(_.to,a)))}return{from:s,to:a,typeOver:c}}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return;e&&this.readSelectionRange();let{from:s,to:a,typeOver:c}=this.processRecords(),d=this.selectionChanged&&hasSelection(this.dom,this.selectionRange);if(s<0&&!d)return;this.selectionChanged=!1;let _=this.view.state;this.onChange(s,a,c),this.view.state==_&&this.view.update([])}readMutation(e){let s=this.view.docView.nearest(e.target);if(!s||s.ignoreMutation(e))return null;if(s.markDirty(e.type=="attributes"),e.type=="attributes"&&(s.dirty|=4),e.type=="childList"){let a=findChild(s,e.previousSibling||e.target.previousSibling,-1),c=findChild(s,e.nextSibling||e.target.nextSibling,1);return{from:a?s.posAfter(a):s.posAtStart,to:c?s.posBefore(c):s.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:s.posAtStart,to:s.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}destroy(){var e,s,a;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(s=this.gapIntersection)===null||s===void 0||s.disconnect(),(a=this.resize)===null||a===void 0||a.disconnect();for(let c of this.scrollTargets)c.removeEventListener("scroll",this.onScroll);window.removeEventListener("scroll",this.onScroll),window.removeEventListener("resize",this.onResize),window.removeEventListener("beforeprint",this.onPrint),this.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout)}}function findChild(o,e,s){for(;e;){let a=ContentView.get(e);if(a&&a.parent==o)return a;let c=e.parentNode;e=c!=o.dom?c:s>0?e.nextSibling:e.previousSibling}return null}function safariSelectionRangeHack(o){let e=null;function s(k){k.preventDefault(),k.stopImmediatePropagation(),e=k.getTargetRanges()[0]}if(o.contentDOM.addEventListener("beforeinput",s,!0),document.execCommand("indent"),o.contentDOM.removeEventListener("beforeinput",s,!0),!e)return null;let a=e.startContainer,c=e.startOffset,d=e.endContainer,_=e.endOffset,b=o.docView.domAtPos(o.state.selection.main.anchor);return isEquivalentPosition(b.node,b.offset,d,_)&&([a,c,d,_]=[d,_,a,c]),{anchorNode:a,anchorOffset:c,focusNode:d,focusOffset:_}}function applyDOMChange(o,e,s,a){let c,d,_=o.state.selection.main;if(e>-1){let b=o.docView.domBoundsAround(e,s,0);if(!b||o.state.readOnly)return;let{from:k,to:$}=b,j=o.docView.impreciseHead||o.docView.impreciseAnchor?[]:selectionPoints(o),_e=new DOMReader(j,o.state);_e.readRange(b.startDOM,b.endDOM);let et=_.from,tt=null;(o.inputState.lastKeyCode===8&&o.inputState.lastKeyTime>Date.now()-100||browser.android&&_e.text.length<$-k)&&(et=_.to,tt="end");let nt=findDiff(o.state.doc.sliceString(k,$,LineBreakPlaceholder),_e.text,et-k,tt);nt&&(browser.chrome&&o.inputState.lastKeyCode==13&&nt.toB==nt.from+2&&_e.text.slice(nt.from,nt.toB)==LineBreakPlaceholder+LineBreakPlaceholder&&nt.toB--,c={from:k+nt.from,to:k+nt.toA,insert:Text.of(_e.text.slice(nt.from,nt.toB).split(LineBreakPlaceholder))}),d=selectionFromPoints(j,k)}else if(o.hasFocus||!o.state.facet(editable)){let b=o.observer.selectionRange,{impreciseHead:k,impreciseAnchor:$}=o.docView,j=k&&k.node==b.focusNode&&k.offset==b.focusOffset||!contains(o.contentDOM,b.focusNode)?o.state.selection.main.head:o.docView.posFromDOM(b.focusNode,b.focusOffset),_e=$&&$.node==b.anchorNode&&$.offset==b.anchorOffset||!contains(o.contentDOM,b.anchorNode)?o.state.selection.main.anchor:o.docView.posFromDOM(b.anchorNode,b.anchorOffset);(j!=_.head||_e!=_.anchor)&&(d=EditorSelection.single(_e,j))}if(!(!c&&!d)){if(!c&&a&&!_.empty&&d&&d.main.empty?c={from:_.from,to:_.to,insert:o.state.doc.slice(_.from,_.to)}:c&&c.from>=_.from&&c.to<=_.to&&(c.from!=_.from||c.to!=_.to)&&_.to-_.from-(c.to-c.from)<=4&&(c={from:_.from,to:_.to,insert:o.state.doc.slice(_.from,c.from).append(c.insert).append(o.state.doc.slice(c.to,_.to))}),c){let b=o.state;if(browser.ios&&o.inputState.flushIOSKey(o)||browser.android&&(c.from==_.from&&c.to==_.to&&c.insert.length==1&&c.insert.lines==2&&dispatchKey(o.contentDOM,"Enter",13)||c.from==_.from-1&&c.to==_.to&&c.insert.length==0&&dispatchKey(o.contentDOM,"Backspace",8)||c.from==_.from&&c.to==_.to+1&&c.insert.length==0&&dispatchKey(o.contentDOM,"Delete",46)))return;let k=c.insert.toString();if(o.state.facet(inputHandler$1).some(_e=>_e(o,c.from,c.to,k)))return;o.inputState.composing>=0&&o.inputState.composing++;let $;if(c.from>=_.from&&c.to<=_.to&&c.to-c.from>=(_.to-_.from)/3&&(!d||d.main.empty&&d.main.from==c.from+c.insert.length)&&o.inputState.composing<0){let _e=_.fromc.to?b.sliceDoc(c.to,_.to):"";$=b.replaceSelection(o.state.toText(_e+c.insert.sliceString(0,void 0,o.state.lineBreak)+et))}else{let _e=b.changes(c),et=d&&!b.selection.main.eq(d.main)&&d.main.to<=_e.newLength?d.main:void 0;if(b.selection.ranges.length>1&&o.inputState.composing>=0&&c.to<=_.to&&c.to>=_.to-10){let tt=o.state.sliceDoc(c.from,c.to),nt=compositionSurroundingNode(o)||o.state.doc.lineAt(_.head),it=_.to-c.to,rt=_.to-_.from;$=b.changeByRange(st=>{if(st.from==_.from&&st.to==_.to)return{changes:_e,range:et||st.map(_e)};let at=st.to-it,ot=at-tt.length;if(st.to-st.from!=rt||o.state.sliceDoc(ot,at)!=tt||nt&&st.to>=nt.from&&st.from<=nt.to)return{range:st};let pt=b.changes({from:ot,to:at,insert:c.insert}),ct=st.to-_.to;return{changes:pt,range:et?EditorSelection.range(Math.max(0,et.anchor+ct),Math.max(0,et.head+ct)):st.map(pt)}})}else $={changes:_e,selection:et&&b.selection.replaceRange(et)}}let j="input.type";o.composing&&(j+=".compose",o.inputState.compositionFirstChange&&(j+=".start",o.inputState.compositionFirstChange=!1)),o.dispatch($,{scrollIntoView:!0,userEvent:j})}else if(d&&!d.main.eq(_)){let b=!1,k="select";o.inputState.lastSelectionTime>Date.now()-50&&(o.inputState.lastSelectionOrigin=="select"&&(b=!0),k=o.inputState.lastSelectionOrigin),o.dispatch({selection:d,scrollIntoView:b,userEvent:k})}}}function findDiff(o,e,s,a){let c=Math.min(o.length,e.length),d=0;for(;d0&&b>0&&o.charCodeAt(_-1)==e.charCodeAt(b-1);)_--,b--;if(a=="end"){let k=Math.max(0,d-Math.min(_,b));s-=_+k-d}return _=_?d-s:0,b=d+(b-_),_=d):b=b?d-s:0,_=d+(_-b),b=d),{from:d,toA:_,toB:b}}function selectionPoints(o){let e=[];if(o.root.activeElement!=o.contentDOM)return e;let{anchorNode:s,anchorOffset:a,focusNode:c,focusOffset:d}=o.observer.selectionRange;return s&&(e.push(new DOMPoint(s,a)),(c!=s||d!=a)&&e.push(new DOMPoint(c,d))),e}function selectionFromPoints(o,e){if(o.length==0)return null;let s=o[0].pos,a=o.length==2?o[1].pos:s;return s>-1&&a>-1?EditorSelection.single(s+e,a+e):null}class EditorView{constructor(e={}){this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.style.cssText="position: absolute; top: -10000px",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),this._dispatch=e.dispatch||(s=>this.update([s])),this.dispatch=this.dispatch.bind(this),this.root=e.root||getRoot(e.parent)||document,this.viewState=new ViewState(e.state||EditorState.create()),this.plugins=this.state.facet(viewPlugin).map(s=>new PluginInstance(s));for(let s of this.plugins)s.update(this);this.observer=new DOMObserver(this,(s,a,c)=>{applyDOMChange(this,s,a,c)},s=>{this.inputState.runScrollHandlers(this,s),this.observer.intersecting&&this.measure()}),this.inputState=new InputState(this),this.docView=new DocView(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),e.parent&&e.parent.appendChild(this.dom)}get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}dispatch(...e){this._dispatch(e.length==1&&e[0]instanceof Transaction?e[0]:this.state.update(...e))}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let s=!1,a,c=this.state;for(let _ of e){if(_.startState!=c)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");c=_.state}if(this.destroyed){this.viewState.state=c;return}if(c.facet(EditorState.phrases)!=this.state.facet(EditorState.phrases))return this.setState(c);a=new ViewUpdate(this,c,e);let d=this.viewState.scrollTarget;try{this.updateState=2;for(let _ of e){if(d&&(d=d.map(_.changes)),_.scrollIntoView){let{main:b}=_.state.selection;d=new ScrollTarget(b.empty?b:EditorSelection.cursor(b.head,b.head>b.anchor?-1:1))}for(let b of _.effects)b.is(scrollTo)?d=new ScrollTarget(b.value):b.is(centerOn)?d=new ScrollTarget(b.value,"center"):b.is(scrollIntoView$1)&&(d=b.value)}this.viewState.update(a,d),this.bidiCache=CachedOrder.update(this.bidiCache,a.changes),a.empty||(this.updatePlugins(a),this.inputState.update(a)),s=this.docView.update(a),this.state.facet(styleModule)!=this.styleModules&&this.mountStyles(),this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(s,e.some(_=>_.isUserEvent("select.pointer")))}finally{this.updateState=0}if(a.startState.facet(theme)!=a.state.facet(theme)&&(this.viewState.mustMeasureContent=!0),(s||d||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!a.empty)for(let _ of this.state.facet(updateListener))_(a)}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let s=this.hasFocus;try{for(let a of this.plugins)a.destroy(this);this.viewState=new ViewState(e),this.plugins=e.facet(viewPlugin).map(a=>new PluginInstance(a)),this.pluginMap.clear();for(let a of this.plugins)a.update(this);this.docView=new DocView(this),this.inputState.ensureHandlers(this),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}s&&this.focus(),this.requestMeasure()}updatePlugins(e){let s=e.startState.facet(viewPlugin),a=e.state.facet(viewPlugin);if(s!=a){let c=[];for(let d of a){let _=s.indexOf(d);if(_<0)c.push(new PluginInstance(d));else{let b=this.plugins[_];b.mustUpdate=e,c.push(b)}}for(let d of this.plugins)d.mustUpdate!=e&&d.destroy(this);this.plugins=c,this.pluginMap.clear(),this.inputState.ensureHandlers(this)}else for(let c of this.plugins)c.mustUpdate=e;for(let c=0;c-1&&cancelAnimationFrame(this.measureScheduled),this.measureScheduled=0,e&&this.observer.flush();let s=null;try{for(let a=0;;a++){this.updateState=1;let c=this.viewport,d=this.viewState.measure(this);if(!d&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let _=[];d&4||([this.measureRequests,_]=[_,this.measureRequests]);let b=_.map(_e=>{try{return _e.read(this)}catch(et){return logException(this.state,et),BadMeasure}}),k=new ViewUpdate(this,this.state),$=!1,j=!1;k.flags|=d,s?s.flags|=d:s=k,this.updateState=2,k.empty||(this.updatePlugins(k),this.inputState.update(k),this.updateAttrs(),$=this.docView.update(k));for(let _e=0;_e<_.length;_e++)if(b[_e]!=BadMeasure)try{let et=_[_e];et.write&&et.write(b[_e],this)}catch(et){logException(this.state,et)}if(this.viewState.scrollTarget&&(this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,j=!0),$&&this.docView.updateSelection(!0),this.viewport.from==c.from&&this.viewport.to==c.to&&!j&&this.measureRequests.length==0)break}}finally{this.updateState=0,this.measureScheduled=-1}if(s&&!s.empty)for(let a of this.state.facet(updateListener))a(s)}get themeClasses(){return baseThemeID+" "+(this.state.facet(darkTheme)?baseDarkID:baseLightID)+" "+this.state.facet(theme)}updateAttrs(){let e=attrsFromFacet(this,editorAttributes,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),s={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(editable)?"true":"false",class:"cm-content",style:`${browser.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(s["aria-readonly"]="true"),attrsFromFacet(this,contentAttributes,s),this.observer.ignore(()=>{updateAttrs(this.contentDOM,this.contentAttrs,s),updateAttrs(this.dom,this.editorAttrs,e)}),this.editorAttrs=e,this.contentAttrs=s}showAnnouncements(e){let s=!0;for(let a of e)for(let c of a.effects)if(c.is(EditorView.announce)){s&&(this.announceDOM.textContent=""),s=!1;let d=this.announceDOM.appendChild(document.createElement("div"));d.textContent=c.value}}mountStyles(){this.styleModules=this.state.facet(styleModule),StyleModule.mount(this.root,this.styleModules.concat(baseTheme$8).reverse())}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=requestAnimationFrame(()=>this.measure())),e){if(e.key!=null){for(let s=0;sa.spec==e)||null),s&&s.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}blockAtHeight(e,s){let a=ensureTop(s,this);return this.elementAtHeight(e-a).moveY(a)}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}visualLineAtHeight(e,s){let a=ensureTop(s,this);return this.lineBlockAtHeight(e-a).moveY(a)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}viewportLines(e,s){let a=ensureTop(s,this);for(let c of this.viewportLineBlocks)e(c.moveY(a))}get viewportLineBlocks(){return this.viewState.viewportLines}visualLineAt(e,s=0){return this.lineBlockAt(e).moveY(s+this.viewState.paddingTop)}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,s,a){return skipAtoms(this,e,moveByChar(this,e,s,a))}moveByGroup(e,s){return skipAtoms(this,e,moveByChar(this,e,s,a=>byGroup(this,e.head,a)))}moveToLineBoundary(e,s,a=!0){return moveToLineBoundary(this,e,s,a)}moveVertically(e,s,a){return skipAtoms(this,e,moveVertically(this,e,s,a))}scrollPosIntoView(e){this.dispatch({effects:scrollTo.of(EditorSelection.cursor(e))})}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,s=0){return this.docView.posFromDOM(e,s)}posAtCoords(e,s=!0){return this.readMeasured(),posAtCoords(this,e,s)}coordsAtPos(e,s=1){this.readMeasured();let a=this.docView.coordsAt(e,s);if(!a||a.left==a.right)return a;let c=this.state.doc.lineAt(e),d=this.bidiSpans(c),_=d[BidiSpan.find(d,e-c.from,-1,s)];return flattenRect(a,_.dir==Direction.LTR==s>0)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.heightOracle.direction}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>MaxBidiLine)return trivialOrder(e.length);let s=this.textDirection;for(let c of this.bidiCache)if(c.from==e.from&&c.dir==s)return c.order;let a=computeOrder(e.text,this.textDirection);return this.bidiCache.push(new CachedOrder(e.from,e.to,s,a)),a}get hasFocus(){var e;return(document.hasFocus()||browser.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{focusPreventScroll(this.contentDOM),this.docView.updateSelection()})}destroy(){for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,s={}){return scrollIntoView$1.of(new ScrollTarget(typeof e=="number"?EditorSelection.cursor(e):e,s.y,s.x,s.yMargin,s.xMargin))}static domEventHandlers(e){return ViewPlugin.define(()=>({}),{eventHandlers:e})}static theme(e,s){let a=StyleModule.newName(),c=[theme.of(a),styleModule.of(buildTheme(`.${a}`,e))];return s&&s.dark&&c.push(darkTheme.of(!0)),c}static baseTheme(e){return Prec.lowest(styleModule.of(buildTheme("."+baseThemeID,e,lightDarkIDs)))}}EditorView.scrollTo=scrollTo;EditorView.centerOn=centerOn;EditorView.styleModule=styleModule;EditorView.inputHandler=inputHandler$1;EditorView.exceptionSink=exceptionSink;EditorView.updateListener=updateListener;EditorView.editable=editable;EditorView.mouseSelectionStyle=mouseSelectionStyle;EditorView.dragMovesSelection=dragMovesSelection$1;EditorView.clickAddsSelectionRange=clickAddsSelectionRange;EditorView.decorations=decorations;EditorView.darkTheme=darkTheme;EditorView.contentAttributes=contentAttributes;EditorView.editorAttributes=editorAttributes;EditorView.lineWrapping=EditorView.contentAttributes.of({class:"cm-lineWrapping"});EditorView.announce=StateEffect.define();const MaxBidiLine=4096;function ensureTop(o,e){return(o==null?e.contentDOM.getBoundingClientRect().top:o)+e.viewState.paddingTop}const BadMeasure={};class CachedOrder{constructor(e,s,a,c){this.from=e,this.to=s,this.dir=a,this.order=c}static update(e,s){if(s.empty)return e;let a=[],c=e.length?e[e.length-1].dir:Direction.LTR;for(let d=Math.max(0,e.length-10);d=0;c--){let d=a[c],_=typeof d=="function"?d(o):d;_&&combineAttrs(_,s)}return s}const currentPlatform=browser.mac?"mac":browser.windows?"win":browser.linux?"linux":"key";function normalizeKeyName(o,e){const s=o.split(/-(?!$)/);let a=s[s.length-1];a=="Space"&&(a=" ");let c,d,_,b;for(let k=0;ka.concat(c),[]))),s}function runScopeHandlers(o,e,s){return runHandlers(getKeymap(o.state),e,o,s)}let storedPrefix=null;const PrefixTimeout=4e3;function buildKeymap(o,e=currentPlatform){let s=Object.create(null),a=Object.create(null),c=(_,b)=>{let k=a[_];if(k==null)a[_]=b;else if(k!=b)throw new Error("Key binding "+_+" is used both as a regular binding and as a multi-stroke prefix")},d=(_,b,k,$)=>{let j=s[_]||(s[_]=Object.create(null)),_e=b.split(/ (?!$)/).map(nt=>normalizeKeyName(nt,e));for(let nt=1;nt<_e.length;nt++){let it=_e.slice(0,nt).join(" ");c(it,!0),j[it]||(j[it]={preventDefault:!0,commands:[rt=>{let st=storedPrefix={view:rt,prefix:it,scope:_};return setTimeout(()=>{storedPrefix==st&&(storedPrefix=null)},PrefixTimeout),!0}]})}let et=_e.join(" ");c(et,!1);let tt=j[et]||(j[et]={preventDefault:!1,commands:[]});tt.commands.push(k),$&&(tt.preventDefault=!0)};for(let _ of o){let b=_[e]||_.key;if(!!b)for(let k of _.scope?_.scope.split(" "):["editor"])d(k,b,_.run,_.preventDefault),_.shift&&d(k,"Shift-"+b,_.shift,_.preventDefault)}return s}function runHandlers(o,e,s,a){let c=keyName(e),d=c.length==1&&c!=" ",_="",b=!1;storedPrefix&&storedPrefix.view==s&&storedPrefix.scope==a&&(_=storedPrefix.prefix+" ",(b=modifierCodes.indexOf(e.keyCode)<0)&&(storedPrefix=null));let k=_e=>{if(_e){for(let et of _e.commands)if(et(s))return!0;_e.preventDefault&&(b=!0)}return!1},$=o[a],j;if($){if(k($[_+modifiers(c,e,!d)]))return!0;if(d&&(e.shiftKey||e.altKey||e.metaKey)&&(j=base[e.keyCode])&&j!=c){if(k($[_+modifiers(j,e,!0)]))return!0}else if(d&&e.shiftKey&&k($[_+modifiers(c,e,!0)]))return!0}return b}const CanHidePrimary=!browser.ios,selectionConfig=Facet.define({combine(o){return combineConfig(o,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,s)=>Math.min(e,s),drawRangeCursor:(e,s)=>e||s})}});function drawSelection(o={}){return[selectionConfig.of(o),drawSelectionPlugin,hideNativeSelection]}class Piece{constructor(e,s,a,c,d){this.left=e,this.top=s,this.width=a,this.height=c,this.className=d}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width>=0&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}}const drawSelectionPlugin=ViewPlugin.fromClass(class{constructor(o){this.view=o,this.rangePieces=[],this.cursors=[],this.measureReq={read:this.readPos.bind(this),write:this.drawSel.bind(this)},this.selectionLayer=o.scrollDOM.appendChild(document.createElement("div")),this.selectionLayer.className="cm-selectionLayer",this.selectionLayer.setAttribute("aria-hidden","true"),this.cursorLayer=o.scrollDOM.appendChild(document.createElement("div")),this.cursorLayer.className="cm-cursorLayer",this.cursorLayer.setAttribute("aria-hidden","true"),o.requestMeasure(this.measureReq),this.setBlinkRate()}setBlinkRate(){this.cursorLayer.style.animationDuration=this.view.state.facet(selectionConfig).cursorBlinkRate+"ms"}update(o){let e=o.startState.facet(selectionConfig)!=o.state.facet(selectionConfig);(e||o.selectionSet||o.geometryChanged||o.viewportChanged)&&this.view.requestMeasure(this.measureReq),o.transactions.some(s=>s.scrollIntoView)&&(this.cursorLayer.style.animationName=this.cursorLayer.style.animationName=="cm-blink"?"cm-blink2":"cm-blink"),e&&this.setBlinkRate()}readPos(){let{state:o}=this.view,e=o.facet(selectionConfig),s=o.selection.ranges.map(c=>c.empty?[]:measureRange(this.view,c)).reduce((c,d)=>c.concat(d)),a=[];for(let c of o.selection.ranges){let d=c==o.selection.main;if(c.empty?!d||CanHidePrimary:e.drawRangeCursor){let _=measureCursor(this.view,c,d);_&&a.push(_)}}return{rangePieces:s,cursors:a}}drawSel({rangePieces:o,cursors:e}){if(o.length!=this.rangePieces.length||o.some((s,a)=>!s.eq(this.rangePieces[a]))){this.selectionLayer.textContent="";for(let s of o)this.selectionLayer.appendChild(s.draw());this.rangePieces=o}if(e.length!=this.cursors.length||e.some((s,a)=>!s.eq(this.cursors[a]))){let s=this.cursorLayer.children;if(s.length!==e.length){this.cursorLayer.textContent="";for(const a of e)this.cursorLayer.appendChild(a.draw())}else e.forEach((a,c)=>a.adjust(s[c]));this.cursors=e}}destroy(){this.selectionLayer.remove(),this.cursorLayer.remove()}}),themeSpec={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};CanHidePrimary&&(themeSpec[".cm-line"].caretColor="transparent !important");const hideNativeSelection=Prec.highest(EditorView.theme(themeSpec));function getBase(o){let e=o.scrollDOM.getBoundingClientRect();return{left:(o.textDirection==Direction.LTR?e.left:e.right-o.scrollDOM.clientWidth)-o.scrollDOM.scrollLeft,top:e.top-o.scrollDOM.scrollTop}}function wrappedLine(o,e,s){let a=EditorSelection.cursor(e);return{from:Math.max(s.from,o.moveToLineBoundary(a,!1,!0).from),to:Math.min(s.to,o.moveToLineBoundary(a,!0,!0).from),type:BlockType.Text}}function blockAt(o,e){let s=o.lineBlockAt(e);if(Array.isArray(s.type)){for(let a of s.type)if(a.to>e||a.to==e&&(a.to==s.to||a.type==BlockType.Text))return a}return s}function measureRange(o,e){if(e.to<=o.viewport.from||e.from>=o.viewport.to)return[];let s=Math.max(e.from,o.viewport.from),a=Math.min(e.to,o.viewport.to),c=o.textDirection==Direction.LTR,d=o.contentDOM,_=d.getBoundingClientRect(),b=getBase(o),k=window.getComputedStyle(d.firstChild),$=_.left+parseInt(k.paddingLeft)+Math.min(0,parseInt(k.textIndent)),j=_.right-parseInt(k.paddingRight),_e=blockAt(o,s),et=blockAt(o,a),tt=_e.type==BlockType.Text?_e:null,nt=et.type==BlockType.Text?et:null;if(o.lineWrapping&&(tt&&(tt=wrappedLine(o,s,tt)),nt&&(nt=wrappedLine(o,a,nt))),tt&&nt&&tt.from==nt.from)return rt(st(e.from,e.to,tt));{let ot=tt?st(e.from,null,tt):at(_e,!1),pt=nt?st(null,e.to,nt):at(et,!0),ct=[];return(tt||_e).to<(nt||et).from-1?ct.push(it($,ot.bottom,j,pt.top)):ot.bottomgt&&ft.from=Et)break;Dt>mt&&dt(Math.max(_t,mt),ot==null&&_t<=gt,Math.min(Dt,Et),pt==null&&Dt>=yt,At.dir)}if(mt=vt.to+1,mt>=Et)break}return ht.length==0&&dt(gt,ot==null,yt,pt==null,o.textDirection),{top:ut,bottom:lt,horizontal:ht}}function at(ot,pt){let ct=_.top+(pt?ot.top:ot.bottom);return{top:ct,bottom:ct,horizontal:[]}}}function measureCursor(o,e,s){let a=o.coordsAtPos(e.head,e.assoc||1);if(!a)return null;let c=getBase(o);return new Piece(a.left-c.left,a.top-c.top,-1,a.bottom-a.top,s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary")}function iterMatches(o,e,s,a,c){e.lastIndex=0;for(let d=o.iterRange(s,a),_=s,b;!d.next().done;_+=d.value.length)if(!d.lineBreak)for(;b=e.exec(d.value);)c(_+b.index,_+b.index+b[0].length,b)}function matchRanges(o,e){let s=o.visibleRanges;if(s.length==1&&s[0].from==o.viewport.from&&s[0].to==o.viewport.to)return s;let a=[];for(let{from:c,to:d}of s)c=Math.max(o.state.doc.lineAt(c).from,c-e),d=Math.min(o.state.doc.lineAt(d).to,d+e),a.length&&a[a.length-1].to>=c?a[a.length-1].to=d:a.push({from:c,to:d});return a}class MatchDecorator{constructor(e){let{regexp:s,decoration:a,boundary:c,maxLength:d=1e3}=e;if(!s.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");this.regexp=s,this.getDeco=typeof a=="function"?a:()=>a,this.boundary=c,this.maxLength=d}createDeco(e){let s=new RangeSetBuilder;for(let{from:a,to:c}of matchRanges(e,this.maxLength))iterMatches(e.state.doc,this.regexp,a,c,(d,_,b)=>s.add(d,_,this.getDeco(b,e,d)));return s.finish()}updateDeco(e,s){let a=1e9,c=-1;return e.docChanged&&e.changes.iterChanges((d,_,b,k)=>{k>e.view.viewport.from&&b1e3?this.createDeco(e.view):c>-1?this.updateRange(e.view,s.map(e.changes),a,c):s}updateRange(e,s,a,c){for(let d of e.visibleRanges){let _=Math.max(d.from,a),b=Math.min(d.to,c);if(b>_){let k=e.state.doc.lineAt(_),$=k.tok.from;_--)if(this.boundary.test(k.text[_-1-k.from])){j=_;break}for(;b<$.to;b++)if(this.boundary.test($.text[b-$.from])){_e=b;break}}let et=[],tt;if(k==$)for(this.regexp.lastIndex=j-k.from;(tt=this.regexp.exec(k.text))&&tt.index<_e-k.from;){let nt=tt.index+k.from;et.push(this.getDeco(tt,e,nt).range(nt,nt+tt[0].length))}else iterMatches(e.state.doc,this.regexp,j,_e,(nt,it,rt)=>et.push(this.getDeco(rt,e,nt).range(nt,it)));s=s.update({filterFrom:j,filterTo:_e,filter:(nt,it)=>nt_e,add:et})}}return s}}const UnicodeRegexpSupport=/x/.unicode!=null?"gu":"g",Specials=new RegExp(`[\0-\b +-\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\uFEFF\uFFF9-\uFFFC]`,UnicodeRegexpSupport),Names={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let _supportsTabSize=null;function supportsTabSize(){var o;if(_supportsTabSize==null&&typeof document!="undefined"&&document.body){let e=document.body.style;_supportsTabSize=((o=e.tabSize)!==null&&o!==void 0?o:e.MozTabSize)!=null}return _supportsTabSize||!1}const specialCharConfig=Facet.define({combine(o){let e=combineConfig(o,{render:null,specialChars:Specials,addSpecialChars:null});return(e.replaceTabs=!supportsTabSize())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,UnicodeRegexpSupport)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,UnicodeRegexpSupport)),e}});function highlightSpecialChars(o={}){return[specialCharConfig.of(o),specialCharPlugin()]}let _plugin=null;function specialCharPlugin(){return _plugin||(_plugin=ViewPlugin.fromClass(class{constructor(o){this.view=o,this.decorations=Decoration.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(o.state.facet(specialCharConfig)),this.decorations=this.decorator.createDeco(o)}makeDecorator(o){return new MatchDecorator({regexp:o.specialChars,decoration:(e,s,a)=>{let{doc:c}=s.state,d=codePointAt(e[0],0);if(d==9){let _=c.lineAt(a),b=s.state.tabSize,k=countColumn(_.text,b,a-_.from);return Decoration.replace({widget:new TabWidget((b-k%b)*this.view.defaultCharacterWidth)})}return this.decorationCache[d]||(this.decorationCache[d]=Decoration.replace({widget:new SpecialCharWidget(o,d)}))},boundary:o.replaceTabs?void 0:/[^]/})}update(o){let e=o.state.facet(specialCharConfig);o.startState.facet(specialCharConfig)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(o.view)):this.decorations=this.decorator.updateDeco(o,this.decorations)}},{decorations:o=>o.decorations}))}const DefaultPlaceholder="\u2022";function placeholder$1(o){return o>=32?DefaultPlaceholder:o==10?"\u2424":String.fromCharCode(9216+o)}class SpecialCharWidget extends WidgetType{constructor(e,s){super(),this.options=e,this.code=s}eq(e){return e.code==this.code}toDOM(e){let s=placeholder$1(this.code),a=e.state.phrase("Control character")+" "+(Names[this.code]||"0x"+this.code.toString(16)),c=this.options.render&&this.options.render(this.code,a,s);if(c)return c;let d=document.createElement("span");return d.textContent=s,d.title=a,d.setAttribute("aria-label",a),d.className="cm-specialChar",d}ignoreEvent(){return!1}}class TabWidget extends WidgetType{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function highlightActiveLine(){return activeLineHighlighter}const lineDeco=Decoration.line({class:"cm-activeLine"}),activeLineHighlighter=ViewPlugin.fromClass(class{constructor(o){this.decorations=this.getDeco(o)}update(o){(o.docChanged||o.selectionSet)&&(this.decorations=this.getDeco(o.view))}getDeco(o){let e=-1,s=[];for(let a of o.state.selection.ranges){if(!a.empty)return Decoration.none;let c=o.lineBlockAt(a.head);c.from>e&&(s.push(lineDeco.range(c.from)),e=c.from)}return Decoration.set(s)}},{decorations:o=>o.decorations}),fromHistory=Annotation.define(),isolateHistory=Annotation.define(),invertedEffects=Facet.define(),historyConfig=Facet.define({combine(o){return combineConfig(o,{minDepth:100,newGroupDelay:500},{minDepth:Math.max,newGroupDelay:Math.min})}});function changeEnd(o){let e=0;return o.iterChangedRanges((s,a)=>e=a),e}const historyField_=StateField.define({create(){return HistoryState.empty},update(o,e){let s=e.state.facet(historyConfig),a=e.annotation(fromHistory);if(a){let k=e.docChanged?EditorSelection.single(changeEnd(e.changes)):void 0,$=HistEvent.fromTransaction(e,k),j=a.side,_e=j==0?o.undone:o.done;return $?_e=updateBranch(_e,_e.length,s.minDepth,$):_e=addSelection(_e,e.startState.selection),new HistoryState(j==0?a.rest:_e,j==0?_e:a.rest)}let c=e.annotation(isolateHistory);if((c=="full"||c=="before")&&(o=o.isolate()),e.annotation(Transaction.addToHistory)===!1)return e.changes.empty?o:o.addMapping(e.changes.desc);let d=HistEvent.fromTransaction(e),_=e.annotation(Transaction.time),b=e.annotation(Transaction.userEvent);return d?o=o.addChanges(d,_,b,s.newGroupDelay,s.minDepth):e.selection&&(o=o.addSelection(e.startState.selection,_,b,s.newGroupDelay)),(c=="full"||c=="after")&&(o=o.isolate()),o},toJSON(o){return{done:o.done.map(e=>e.toJSON()),undone:o.undone.map(e=>e.toJSON())}},fromJSON(o){return new HistoryState(o.done.map(HistEvent.fromJSON),o.undone.map(HistEvent.fromJSON))}});function history(o={}){return[historyField_,historyConfig.of(o),EditorView.domEventHandlers({beforeinput(e,s){let a=e.inputType=="historyUndo"?undo:e.inputType=="historyRedo"?redo:null;return a?(e.preventDefault(),a(s)):!1}})]}function cmd(o,e){return function({state:s,dispatch:a}){if(!e&&s.readOnly)return!1;let c=s.field(historyField_,!1);if(!c)return!1;let d=c.pop(o,s,e);return d?(a(d),!0):!1}}const undo=cmd(0,!1),redo=cmd(1,!1),undoSelection=cmd(0,!0),redoSelection=cmd(1,!0);class HistEvent{constructor(e,s,a,c,d){this.changes=e,this.effects=s,this.mapped=a,this.startSelection=c,this.selectionsAfter=d}setSelAfter(e){return new HistEvent(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,s,a;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(s=this.mapped)===null||s===void 0?void 0:s.toJSON(),startSelection:(a=this.startSelection)===null||a===void 0?void 0:a.toJSON(),selectionsAfter:this.selectionsAfter.map(c=>c.toJSON())}}static fromJSON(e){return new HistEvent(e.changes&&ChangeSet.fromJSON(e.changes),[],e.mapped&&ChangeDesc.fromJSON(e.mapped),e.startSelection&&EditorSelection.fromJSON(e.startSelection),e.selectionsAfter.map(EditorSelection.fromJSON))}static fromTransaction(e,s){let a=none$1;for(let c of e.startState.facet(invertedEffects)){let d=c(e);d.length&&(a=a.concat(d))}return!a.length&&e.changes.empty?null:new HistEvent(e.changes.invert(e.startState.doc),a,void 0,s||e.startState.selection,none$1)}static selection(e){return new HistEvent(void 0,none$1,void 0,void 0,e)}}function updateBranch(o,e,s,a){let c=e+1>s+20?e-s-1:0,d=o.slice(c,e);return d.push(a),d}function isAdjacent(o,e){let s=[],a=!1;return o.iterChangedRanges((c,d)=>s.push(c,d)),e.iterChangedRanges((c,d,_,b)=>{for(let k=0;k=$&&_<=j&&(a=!0)}}),a}function eqSelectionShape(o,e){return o.ranges.length==e.ranges.length&&o.ranges.filter((s,a)=>s.empty!=e.ranges[a].empty).length===0}function conc(o,e){return o.length?e.length?o.concat(e):o:e}const none$1=[],MaxSelectionsPerEvent=200;function addSelection(o,e){if(o.length){let s=o[o.length-1],a=s.selectionsAfter.slice(Math.max(0,s.selectionsAfter.length-MaxSelectionsPerEvent));return a.length&&a[a.length-1].eq(e)?o:(a.push(e),updateBranch(o,o.length-1,1e9,s.setSelAfter(a)))}else return[HistEvent.selection([e])]}function popSelection(o){let e=o[o.length-1],s=o.slice();return s[o.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),s}function addMappingToBranch(o,e){if(!o.length)return o;let s=o.length,a=none$1;for(;s;){let c=mapEvent(o[s-1],e,a);if(c.changes&&!c.changes.empty||c.effects.length){let d=o.slice(0,s);return d[s-1]=c,d}else e=c.mapped,s--,a=c.selectionsAfter}return a.length?[HistEvent.selection(a)]:none$1}function mapEvent(o,e,s){let a=conc(o.selectionsAfter.length?o.selectionsAfter.map(b=>b.map(e)):none$1,s);if(!o.changes)return HistEvent.selection(a);let c=o.changes.map(e),d=e.mapDesc(o.changes,!0),_=o.mapped?o.mapped.composeDesc(d):d;return new HistEvent(c,StateEffect.mapEffects(o.effects,e),_,o.startSelection.map(d),a)}const joinableUserEvent=/^(input\.type|delete)($|\.)/;class HistoryState{constructor(e,s,a=0,c=void 0){this.done=e,this.undone=s,this.prevTime=a,this.prevUserEvent=c}isolate(){return this.prevTime?new HistoryState(this.done,this.undone):this}addChanges(e,s,a,c,d){let _=this.done,b=_[_.length-1];return b&&b.changes&&!b.changes.empty&&e.changes&&(!a||joinableUserEvent.test(a))&&(!b.selectionsAfter.length&&s-this.prevTime0&&s-this.prevTime{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=NodeType.match(e)),s=>{let a=e(s);return a===void 0?null:[this,a]}}}NodeProp.closedBy=new NodeProp({deserialize:o=>o.split(" ")});NodeProp.openedBy=new NodeProp({deserialize:o=>o.split(" ")});NodeProp.group=new NodeProp({deserialize:o=>o.split(" ")});NodeProp.contextHash=new NodeProp({perNode:!0});NodeProp.lookAhead=new NodeProp({perNode:!0});NodeProp.mounted=new NodeProp({perNode:!0});const noProps=Object.create(null);class NodeType{constructor(e,s,a,c=0){this.name=e,this.props=s,this.id=a,this.flags=c}static define(e){let s=e.props&&e.props.length?Object.create(null):noProps,a=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),c=new NodeType(e.name||"",s,e.id,a);if(e.props){for(let d of e.props)if(Array.isArray(d)||(d=d(c)),d){if(d[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");s[d[0].id]=d[1]}}return c}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let s=this.prop(NodeProp.group);return s?s.indexOf(e)>-1:!1}return this.id==e}static match(e){let s=Object.create(null);for(let a in e)for(let c of a.split(" "))s[c]=e[a];return a=>{for(let c=a.prop(NodeProp.group),d=-1;d<(c?c.length:0);d++){let _=s[d<0?a.name:c[d]];if(_)return _}}}}NodeType.none=new NodeType("",Object.create(null),0,8);class NodeSet{constructor(e){this.types=e;for(let s=0;s_.node;;){let k=!1;if(_.from<=d&&_.to>=c&&(_.type.isAnonymous||s(_.type,_.from,_.to,b)!==!1)){if(_.firstChild())continue;_.type.isAnonymous||(k=!0)}for(;k&&a&&a(_.type,_.from,_.to,b),k=_.type.isAnonymous,!_.nextSibling();){if(!_.parent())return;k=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let s in this.props)e.push([+s,this.props[s]]);return e}balance(e={}){return this.children.length<=8?this:balanceRange(NodeType.none,this.children,this.positions,0,this.children.length,0,this.length,(s,a,c)=>new Tree(this.type,s,a,c,this.propValues),e.makeTree||((s,a,c)=>new Tree(NodeType.none,s,a,c)))}static build(e){return buildTree(e)}}Tree.empty=new Tree(NodeType.none,[],[],0);class FlatBufferCursor{constructor(e,s){this.buffer=e,this.index=s}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new FlatBufferCursor(this.buffer,this.index)}}class TreeBuffer{constructor(e,s,a){this.buffer=e,this.length=s,this.set=a}get type(){return NodeType.none}toString(){let e=[];for(let s=0;s0));k=_[k+3]);return b}slice(e,s,a,c){let d=this.buffer,_=new Uint16Array(s-e);for(let b=e,k=0;b=e&&se;case 1:return s<=e&&a>e;case 2:return a>e;case 4:return!0}}function enterUnfinishedNodesBefore(o,e){let s=o.childBefore(e);for(;s;){let a=s.lastChild;if(!a||a.to!=s.to)break;a.type.isError&&a.from==a.to?(o=s,s=a.prevSibling):s=a}return o}function resolveNode(o,e,s,a){for(var c;o.from==o.to||(s<1?o.from>=e:o.from>e)||(s>-1?o.to<=e:o.to0?b.length:-1;e!=$;e+=s){let j=b[e],_e=k[e]+_._from;if(!!checkSide(c,a,_e,_e+j.length)){if(j instanceof TreeBuffer){if(d&2)continue;let et=j.findChild(0,j.buffer.length,s,a-_e,c);if(et>-1)return new BufferNode(new BufferContext(_,j,e,_e),null,et)}else if(d&1||!j.type.isAnonymous||hasChild(j)){let et;if(!(d&1)&&j.props&&(et=j.prop(NodeProp.mounted))&&!et.overlay)return new TreeNode(et.tree,_e,e,_);let tt=new TreeNode(j,_e,e,_);return d&1||!tt.type.isAnonymous?tt:tt.nextChild(s<0?j.children.length-1:0,s,a,c)}}}if(d&1||!_.type.isAnonymous||(_.index>=0?e=_.index+s:e=s<0?-1:_._parent.node.children.length,_=_._parent,!_))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this.node.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this.node.children.length-1,-1,e,-2)}enter(e,s,a=!0,c=!0){let d;if(a&&(d=this.node.prop(NodeProp.mounted))&&d.overlay){let _=e-this.from;for(let{from:b,to:k}of d.overlay)if((s>0?b<=_:b<_)&&(s<0?k>=_:k>_))return new TreeNode(d.tree,d.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,s,c?0:2)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get cursor(){return new TreeCursor(this)}get tree(){return this.node}toTree(){return this.node}resolve(e,s=0){return resolveNode(this,e,s,!1)}resolveInner(e,s=0){return resolveNode(this,e,s,!0)}enterUnfinishedNodesBefore(e){return enterUnfinishedNodesBefore(this,e)}getChild(e,s=null,a=null){let c=getChildren(this,e,s,a);return c.length?c[0]:null}getChildren(e,s=null,a=null){return getChildren(this,e,s,a)}toString(){return this.node.toString()}}function getChildren(o,e,s,a){let c=o.cursor,d=[];if(!c.firstChild())return d;if(s!=null){for(;!c.type.is(s);)if(!c.nextSibling())return d}for(;;){if(a!=null&&c.type.is(a))return d;if(c.type.is(e)&&d.push(c.node),!c.nextSibling())return a==null?d:[]}}class BufferContext{constructor(e,s,a,c){this.parent=e,this.buffer=s,this.index=a,this.start=c}}class BufferNode{constructor(e,s,a){this.context=e,this._parent=s,this.index=a,this.type=e.buffer.set.types[e.buffer.buffer[a]]}get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}child(e,s,a){let{buffer:c}=this.context,d=c.findChild(this.index+4,c.buffer[this.index+3],e,s-this.context.start,a);return d<0?null:new BufferNode(this.context,this,d)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,s,a,c=!0){if(!c)return null;let{buffer:d}=this.context,_=d.findChild(this.index+4,d.buffer[this.index+3],s>0?1:-1,e-this.context.start,s);return _<0?null:new BufferNode(this.context,this,_)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,s=e.buffer[this.index+3];return s<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new BufferNode(this.context,this._parent,s):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,s=this._parent?this._parent.index+4:0;return this.index==s?this.externalSibling(-1):new BufferNode(this.context,this._parent,e.findChild(s,this.index,-1,0,4))}get cursor(){return new TreeCursor(this)}get tree(){return null}toTree(){let e=[],s=[],{buffer:a}=this.context,c=this.index+4,d=a.buffer[this.index+3];if(d>c){let _=a.buffer[this.index+1],b=a.buffer[this.index+2];e.push(a.slice(c,d,_,b)),s.push(0)}return new Tree(this.type,e,s,this.to-this.from)}resolve(e,s=0){return resolveNode(this,e,s,!1)}resolveInner(e,s=0){return resolveNode(this,e,s,!0)}enterUnfinishedNodesBefore(e){return enterUnfinishedNodesBefore(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,s=null,a=null){let c=getChildren(this,e,s,a);return c.length?c[0]:null}getChildren(e,s=null,a=null){return getChildren(this,e,s,a)}}class TreeCursor{constructor(e,s=0){if(this.mode=s,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof TreeNode)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let a=e._parent;a;a=a._parent)this.stack.unshift(a.index);this.bufferNode=e,this.yieldBuf(e.index)}}get name(){return this.type.name}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,s){this.index=e;let{start:a,buffer:c}=this.buffer;return this.type=s||c.set.types[c.buffer[e]],this.from=a+c.buffer[e+1],this.to=a+c.buffer[e+2],!0}yield(e){return e?e instanceof TreeNode?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,s,a){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree.node.children.length-1:0,e,s,a,this.mode));let{buffer:c}=this.buffer,d=c.findChild(this.index+4,c.buffer[this.index+3],e,s-this.buffer.start,a);return d<0?!1:(this.stack.push(this.index),this.yieldBuf(d))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,s,a=!0,c=!0){return this.buffer?c?this.enterChild(1,e,s):!1:this.yield(this._tree.enter(e,s,a&&!(this.mode&1),c))}parent(){if(!this.buffer)return this.yieldNode(this.mode&1?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&1?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:s}=this.buffer,a=this.stack.length-1;if(e<0){let c=a<0?0:this.stack[a]+4;if(this.index!=c)return this.yieldBuf(s.findChild(c,this.index,-1,0,4))}else{let c=s.buffer[this.index+3];if(c<(a<0?s.buffer.length:s.buffer[this.stack[a]+3]))return this.yieldBuf(c)}return a<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let s,a,{buffer:c}=this;if(c){if(e>0){if(this.index-1)for(let d=s+e,_=e<0?-1:a.node.children.length;d!=_;d+=e){let b=a.node.children[d];if(this.mode&1||b instanceof TreeBuffer||!b.type.isAnonymous||hasChild(b))return!1}return!0}move(e,s){if(s&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,s=0){for(;(this.from==this.to||(s<1?this.from>=e:this.from>e)||(s>-1?this.to<=e:this.to=0;){for(let _=e;_;_=_._parent)if(_.index==c){if(c==this.index)return _;s=_,a=d+1;break e}c=this.stack[--d]}}for(let c=a;ce instanceof TreeBuffer||!e.type.isAnonymous||hasChild(e))}function buildTree(o){var e;let{buffer:s,nodeSet:a,maxBufferLength:c=DefaultBufferLength,reused:d=[],minRepeatType:_=a.types.length}=o,b=Array.isArray(s)?new FlatBufferCursor(s,s.length):s,k=a.types,$=0,j=0;function _e(pt,ct,ut,lt,ht){let{id:dt,start:gt,end:yt,size:ft}=b,mt=j;for(;ft<0;)if(b.next(),ft==-1){let Dt=d[dt];ut.push(Dt),lt.push(gt-pt);return}else if(ft==-3){$=dt;return}else if(ft==-4){j=dt;return}else throw new RangeError(`Unrecognized record size: ${ft}`);let Et=k[dt],vt,At,_t=gt-pt;if(yt-gt<=c&&(At=it(b.pos-ct,ht))){let Dt=new Uint16Array(At.size-At.skip),bt=b.pos-At.size,Tt=Dt.length;for(;b.pos>bt;)Tt=rt(At.start,Dt,Tt);vt=new TreeBuffer(Dt,yt-At.start,a),_t=At.start-pt}else{let Dt=b.pos-ft;b.next();let bt=[],Tt=[],St=dt>=_?dt:-1,Ct=0,xt=yt;for(;b.pos>Dt;)St>=0&&b.id==St&&b.size>=0?(b.end<=xt-c&&(tt(bt,Tt,gt,Ct,b.end,xt,St,mt),Ct=bt.length,xt=b.end),b.next()):_e(gt,Dt,bt,Tt,St);if(St>=0&&Ct>0&&Ct-1&&Ct>0){let Rt=et(Et);vt=balanceRange(Et,bt,Tt,0,bt.length,0,yt-gt,Rt,Rt)}else vt=nt(Et,bt,Tt,yt-gt,mt-yt)}ut.push(vt),lt.push(_t)}function et(pt){return(ct,ut,lt)=>{let ht=0,dt=ct.length-1,gt,yt;if(dt>=0&&(gt=ct[dt])instanceof Tree){if(!dt&>.type==pt&>.length==lt)return gt;(yt=gt.prop(NodeProp.lookAhead))&&(ht=ut[dt]+gt.length+yt)}return nt(pt,ct,ut,lt,ht)}}function tt(pt,ct,ut,lt,ht,dt,gt,yt){let ft=[],mt=[];for(;pt.length>lt;)ft.push(pt.pop()),mt.push(ct.pop()+ut-ht);pt.push(nt(a.types[gt],ft,mt,dt-ht,yt-dt)),ct.push(ht-ut)}function nt(pt,ct,ut,lt,ht=0,dt){if($){let gt=[NodeProp.contextHash,$];dt=dt?[gt].concat(dt):[gt]}if(ht>25){let gt=[NodeProp.lookAhead,ht];dt=dt?[gt].concat(dt):[gt]}return new Tree(pt,ct,ut,lt,dt)}function it(pt,ct){let ut=b.fork(),lt=0,ht=0,dt=0,gt=ut.end-c,yt={size:0,start:0,skip:0};e:for(let ft=ut.pos-pt;ut.pos>ft;){let mt=ut.size;if(ut.id==ct&&mt>=0){yt.size=lt,yt.start=ht,yt.skip=dt,dt+=4,lt+=4,ut.next();continue}let Et=ut.pos-mt;if(mt<0||Et=_?4:0,At=ut.start;for(ut.next();ut.pos>Et;){if(ut.size<0)if(ut.size==-3)vt+=4;else break e;else ut.id>=_&&(vt+=4);ut.next()}ht=At,lt+=mt,dt+=vt}return(ct<0||lt==pt)&&(yt.size=lt,yt.start=ht,yt.skip=dt),yt.size>4?yt:void 0}function rt(pt,ct,ut){let{id:lt,start:ht,end:dt,size:gt}=b;if(b.next(),gt>=0&<<_){let yt=ut;if(gt>4){let ft=b.pos-(gt-4);for(;b.pos>ft;)ut=rt(pt,ct,ut)}ct[--ut]=yt,ct[--ut]=dt-pt,ct[--ut]=ht-pt,ct[--ut]=lt}else gt==-3?$=lt:gt==-4&&(j=lt);return ut}let st=[],at=[];for(;b.pos>0;)_e(o.start||0,o.bufferStart||0,st,at,-1);let ot=(e=o.length)!==null&&e!==void 0?e:st.length?at[0]+st[0].length:0;return new Tree(k[o.topID],st.reverse(),at.reverse(),ot)}const nodeSizeCache=new WeakMap;function nodeSize(o,e){if(!o.isAnonymous||e instanceof TreeBuffer||e.type!=o)return 1;let s=nodeSizeCache.get(e);if(s==null){s=1;for(let a of e.children){if(a.type!=o||!(a instanceof Tree)){s=1;break}s+=nodeSize(o,a)}nodeSizeCache.set(e,s)}return s}function balanceRange(o,e,s,a,c,d,_,b,k){let $=0;for(let nt=a;nt=j)break;ut+=lt}if(ot==pt+1){if(ut>j){let lt=nt[pt];tt(lt.children,lt.positions,0,lt.children.length,it[pt]+at);continue}_e.push(nt[pt])}else{let lt=it[ot-1]+nt[ot-1].length-ct;_e.push(balanceRange(o,nt,it,pt,ot,ct,lt,null,k))}et.push(ct+at-d)}}return tt(e,s,a,c,0),(b||k)(_e,et,_)}class TreeFragment{constructor(e,s,a,c,d=!1,_=!1){this.from=e,this.to=s,this.tree=a,this.offset=c,this.open=(d?1:0)|(_?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,s=[],a=!1){let c=[new TreeFragment(0,e.length,e,0,!1,a)];for(let d of s)d.to>e.length&&c.push(d);return c}static applyChanges(e,s,a=128){if(!s.length)return e;let c=[],d=1,_=e.length?e[0]:null;for(let b=0,k=0,$=0;;b++){let j=b=a)for(;_&&_.from<_e;){let et=_;if(k>=et.from||_e<=et.to||$){let tt=Math.max(et.from,k)-$,nt=Math.min(et.to,_e)-$;et=tt>=nt?null:new TreeFragment(tt,nt,et.tree,et.offset+$,b>0,!!j)}if(et&&c.push(et),_.to>_e)break;_=dnew Range(c.from,c.to)):[new Range(0,0)]:[new Range(0,e.length)],this.createParse(e,s||[],a)}parse(e,s,a){let c=this.startParse(e,s,a);for(;;){let d=c.advance();if(d)return d}}}class StringInput{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,s){return this.string.slice(e,s)}}new NodeProp({perNode:!0});var _a;const languageDataProp=new NodeProp;function defineLanguageFacet(o){return Facet.define({combine:o?e=>e.concat(o):void 0})}class Language{constructor(e,s,a,c=[]){this.data=e,this.topNode=a,EditorState.prototype.hasOwnProperty("tree")||Object.defineProperty(EditorState.prototype,"tree",{get(){return syntaxTree(this)}}),this.parser=s,this.extension=[language.of(this),EditorState.languageData.of((d,_,b)=>d.facet(languageDataFacetAt(d,_,b)))].concat(c)}isActiveAt(e,s,a=-1){return languageDataFacetAt(e,s,a)==this.data}findRegions(e){let s=e.facet(language);if((s==null?void 0:s.data)==this.data)return[{from:0,to:e.doc.length}];if(!s||!s.allowsNesting)return[];let a=[],c=(d,_)=>{if(d.prop(languageDataProp)==this.data){a.push({from:_,to:_+d.length});return}let b=d.prop(NodeProp.mounted);if(b){if(b.tree.prop(languageDataProp)==this.data){if(b.overlay)for(let k of b.overlay)a.push({from:k.from+_,to:k.to+_});else a.push({from:_,to:_+d.length});return}else if(b.overlay){let k=a.length;if(c(b.tree,b.overlay[0].from+_),a.length>k)return}}for(let k=0;ka.isTop?s:void 0)]}))}configure(e){return new LRLanguage(this.data,this.parser.configure(e))}get allowsNesting(){return this.parser.wrappers.length>0}}function syntaxTree(o){let e=o.field(Language.state,!1);return e?e.tree:Tree.empty}class DocInput{constructor(e,s=e.length){this.doc=e,this.length=s,this.cursorPos=0,this.string="",this.cursor=e.iter()}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,s){let a=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,s):this.string.slice(e-a,s-a)}}let currentContext=null;class ParseContext{constructor(e,s,a=[],c,d,_,b,k){this.parser=e,this.state=s,this.fragments=a,this.tree=c,this.treeLen=d,this.viewport=_,this.skipped=b,this.scheduleOn=k,this.parse=null,this.tempSkipped=[]}startParse(){return this.parser.startParse(new DocInput(this.state.doc),this.fragments)}work(e,s){return s!=null&&s>=this.state.doc.length&&(s=void 0),this.tree!=Tree.empty&&this.isDone(s!=null?s:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var a;if(typeof e=="number"){let c=Date.now()+e;e=()=>Date.now()>c}for(this.parse||(this.parse=this.startParse()),s!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>s)&&s=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(s=this.parse.advance()););}),this.treeLen=e,this.tree=s,this.fragments=this.withoutTempSkipped(TreeFragment.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let s=currentContext;currentContext=this;try{return e()}finally{currentContext=s}}withoutTempSkipped(e){for(let s;s=this.tempSkipped.pop();)e=cutFragments(e,s.from,s.to);return e}changes(e,s){let{fragments:a,tree:c,treeLen:d,viewport:_,skipped:b}=this;if(this.takeTree(),!e.empty){let k=[];if(e.iterChangedRanges(($,j,_e,et)=>k.push({fromA:$,toA:j,fromB:_e,toB:et})),a=TreeFragment.applyChanges(a,k),c=Tree.empty,d=0,_={from:e.mapPos(_.from,-1),to:e.mapPos(_.to,1)},this.skipped.length){b=[];for(let $ of this.skipped){let j=e.mapPos($.from,1),_e=e.mapPos($.to,-1);j<_e&&b.push({from:j,to:_e})}}}return new ParseContext(this.parser,s,a,c,d,_,b,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let s=this.skipped.length;for(let a=0;ae.from&&(this.fragments=cutFragments(this.fragments,c,d),this.skipped.splice(a--,1))}return this.skipped.length>=s?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,s){this.skipped.push({from:e,to:s})}static getSkippingParser(e){return new class extends Parser{createParse(s,a,c){let d=c[0].from,_=c[c.length-1].to;return{parsedPos:d,advance(){let k=currentContext;if(k){for(let $ of c)k.tempSkipped.push($);e&&(k.scheduleOn=k.scheduleOn?Promise.all([k.scheduleOn,e]):e)}return this.parsedPos=_,new Tree(NodeType.none,[],[],_-d)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let s=this.fragments;return this.treeLen>=e&&s.length&&s[0].from==0&&s[0].to>=e}static get(){return currentContext}}function cutFragments(o,e,s){return TreeFragment.applyChanges(o,[{fromA:e,toA:s,fromB:e,toB:s}])}class LanguageState{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let s=this.context.changes(e.changes,e.state),a=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),s.viewport.to);return s.work(20,a)||s.takeTree(),new LanguageState(s)}static init(e){let s=Math.min(3e3,e.doc.length),a=new ParseContext(e.facet(language).parser,e,[],Tree.empty,0,{from:0,to:s},[],null);return a.work(20,s)||a.takeTree(),new LanguageState(a)}}Language.state=StateField.define({create:LanguageState.init,update(o,e){for(let s of e.effects)if(s.is(Language.setState))return s.value;return e.startState.facet(language)!=e.state.facet(language)?LanguageState.init(e.state):o.apply(e)}});let requestIdle=o=>{let e=setTimeout(()=>o(),500);return()=>clearTimeout(e)};typeof requestIdleCallback!="undefined"&&(requestIdle=o=>{let e=-1,s=setTimeout(()=>{e=requestIdleCallback(o,{timeout:500-100})},100);return()=>e<0?clearTimeout(s):cancelIdleCallback(e)});const isInputPending=typeof navigator!="undefined"&&((_a=navigator.scheduling)===null||_a===void 0?void 0:_a.isInputPending)?()=>navigator.scheduling.isInputPending():null,parseWorker=ViewPlugin.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let s=this.view.state.field(Language.state).context;(s.updateViewport(e.view.viewport)||this.view.viewport.to>s.treeLen)&&this.scheduleWork(),e.docChanged&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(s)}scheduleWork(){if(this.working)return;let{state:e}=this.view,s=e.field(Language.state);(s.tree!=s.context.tree||!s.context.isDone(e.doc.length))&&(this.working=requestIdle(this.work))}work(e){this.working=null;let s=Date.now();if(this.chunkEndc+1e3,k=d.context.work(()=>isInputPending&&isInputPending()||Date.now()>_,c+(b?0:1e5));this.chunkBudget-=Date.now()-s,(k||this.chunkBudget<=0)&&(d.context.takeTree(),this.view.dispatch({effects:Language.setState.of(new LanguageState(d.context))})),this.chunkBudget>0&&!(k&&!b)&&this.scheduleWork(),this.checkAsyncSchedule(d.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(s=>logException(this.view.state,s)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),language=Facet.define({combine(o){return o.length?o[0]:null},enables:[Language.state,parseWorker]});class LanguageSupport{constructor(e,s=[]){this.language=e,this.support=s,this.extension=[e,s]}}const indentService=Facet.define(),indentUnit=Facet.define({combine:o=>{if(!o.length)return" ";if(!/^(?: +|\t+)$/.test(o[0]))throw new Error("Invalid indent unit: "+JSON.stringify(o[0]));return o[0]}});function getIndentUnit(o){let e=o.facet(indentUnit);return e.charCodeAt(0)==9?o.tabSize*e.length:e.length}function indentString(o,e){let s="",a=o.tabSize;if(o.facet(indentUnit).charCodeAt(0)==9)for(;e>=a;)s+=" ",e-=a;for(let c=0;c=a.from&&c<=a.to?d&&c==e?{text:"",from:e}:(s<0?c-1&&(d+=_-this.countColumn(a,a.search(/\S|$/))),d}countColumn(e,s=e.length){return countColumn(e,this.state.tabSize,s)}lineIndent(e,s=1){let{text:a,from:c}=this.lineAt(e,s),d=this.options.overrideIndentation;if(d){let _=d(c);if(_>-1)return _}return this.countColumn(a,a.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const indentNodeProp=new NodeProp;function syntaxIndentation(o,e,s){return indentFrom(e.resolveInner(s).enterUnfinishedNodesBefore(s),s,o)}function ignoreClosed(o){return o.pos==o.options.simulateBreak&&o.options.simulateDoubleBreak}function indentStrategy(o){let e=o.type.prop(indentNodeProp);if(e)return e;let s=o.firstChild,a;if(s&&(a=s.type.prop(NodeProp.closedBy))){let c=o.lastChild,d=c&&a.indexOf(c.name)>-1;return _=>delimitedStrategy(_,!0,1,void 0,d&&!ignoreClosed(_)?c.from:void 0)}return o.parent==null?topIndent:null}function indentFrom(o,e,s){for(;o;o=o.parent){let a=indentStrategy(o);if(a)return a(new TreeIndentContext(s,e,o))}return null}function topIndent(){return 0}class TreeIndentContext extends IndentContext{constructor(e,s,a){super(e.state,e.options),this.base=e,this.pos=s,this.node=a}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){let e=this.state.doc.lineAt(this.node.from);for(;;){let s=this.node.resolve(e.from);for(;s.parent&&s.parent.from==s.from;)s=s.parent;if(isParent(s,this.node))break;e=this.state.doc.lineAt(s.from)}return this.lineIndent(e.from)}continue(){let e=this.node.parent;return e?indentFrom(e,this.pos,this.base):0}}function isParent(o,e){for(let s=e;s;s=s.parent)if(o==s)return!0;return!1}function bracketedAligned(o){let e=o.node,s=e.childAfter(e.from),a=e.lastChild;if(!s)return null;let c=o.options.simulateBreak,d=o.state.doc.lineAt(s.from),_=c==null||c<=d.from?d.to:Math.min(d.to,c);for(let b=s.to;;){let k=e.childAfter(b);if(!k||k==a)return null;if(!k.type.isSkipped)return k.from<_?s:null;b=k.to}}function delimitedIndent({closing:o,align:e=!0,units:s=1}){return a=>delimitedStrategy(a,e,s,o)}function delimitedStrategy(o,e,s,a,c){let d=o.textAfter,_=d.match(/^\s*/)[0].length,b=a&&d.slice(_,_+a.length)==a||c==o.pos+_,k=e?bracketedAligned(o):null;return k?b?o.column(k.from):o.column(k.to):o.baseIndent+(b?0:o.unit*s)}const flatIndent=o=>o.baseIndent;function continuedIndent({except:o,units:e=1}={}){return s=>{let a=o&&o.test(s.textAfter);return s.baseIndent+(a?0:e*s.unit)}}const DontIndentBeyond=200;function indentOnInput(){return EditorState.transactionFilter.of(o=>{if(!o.docChanged||!o.isUserEvent("input.type")&&!o.isUserEvent("input.complete"))return o;let e=o.startState.languageDataAt("indentOnInput",o.startState.selection.main.head);if(!e.length)return o;let s=o.newDoc,{head:a}=o.newSelection.main,c=s.lineAt(a);if(a>c.from+DontIndentBeyond)return o;let d=s.sliceString(c.from,a);if(!e.some($=>$.test(d)))return o;let{state:_}=o,b=-1,k=[];for(let{head:$}of _.selection.ranges){let j=_.doc.lineAt($);if(j.from==b)continue;b=j.from;let _e=getIndentation(_,j.from);if(_e==null)continue;let et=/^\s*/.exec(j.text)[0],tt=indentString(_,_e);et!=tt&&k.push({from:j.from,to:j.from+et.length,insert:tt})}return k.length?[o,{changes:k,sequential:!0}]:o})}const foldService=Facet.define(),foldNodeProp=new NodeProp;function foldInside$1(o){let e=o.firstChild,s=o.lastChild;return e&&e.tos)continue;if(d&&_.from=e&&k.to>s&&(d=k)}}return d}function isUnfinished(o){let e=o.lastChild;return e&&e.to==o.to&&e.type.isError}function foldable(o,e,s){for(let a of o.facet(foldService)){let c=a(o,e,s);if(c)return c}return syntaxFolding(o,e,s)}class GutterMarker extends RangeValue{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}GutterMarker.prototype.elementClass="";GutterMarker.prototype.toDOM=void 0;GutterMarker.prototype.mapMode=MapMode.TrackBefore;GutterMarker.prototype.startSide=GutterMarker.prototype.endSide=-1;GutterMarker.prototype.point=!0;const gutterLineClass=Facet.define(),defaults$1={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>RangeSet.empty,lineMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},activeGutters=Facet.define();function gutter(o){return[gutters(),activeGutters.of(Object.assign(Object.assign({},defaults$1),o))]}const baseTheme$7=EditorView.baseTheme({".cm-gutters":{display:"flex",height:"100%",boxSizing:"border-box",left:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#999",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"}}),unfixGutters=Facet.define({combine:o=>o.some(e=>e)});function gutters(o){let e=[gutterView,baseTheme$7];return o&&o.fixed===!1&&e.push(unfixGutters.of(!0)),e}const gutterView=ViewPlugin.fromClass(class{constructor(o){this.view=o,this.prevViewport=o.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight+"px",this.gutters=o.state.facet(activeGutters).map(e=>new SingleGutterView(o,e));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!o.state.facet(unfixGutters),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),o.scrollDOM.insertBefore(this.dom,o.contentDOM)}update(o){if(this.updateGutters(o)){let e=this.prevViewport,s=o.view.viewport,a=Math.min(e.to,s.to)-Math.max(e.from,s.from);this.syncGutters(a<(s.to-s.from)*.8)}o.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(unfixGutters)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=o.view.viewport}syncGutters(o){let e=this.dom.nextSibling;o&&this.dom.remove();let s=RangeSet.iter(this.view.state.facet(gutterLineClass),this.view.viewport.from),a=[],c=this.gutters.map(d=>new UpdateContext(d,this.view.viewport,-this.view.documentPadding.top));for(let d of this.view.viewportLineBlocks){let _;if(Array.isArray(d.type)){for(let b of d.type)if(b.type==BlockType.Text){_=b;break}}else _=d.type==BlockType.Text?d:void 0;if(!!_){a.length&&(a=[]),advanceCursor(s,a,d.from);for(let b of c)b.line(this.view,_,a)}}for(let d of c)d.finish();o&&this.view.scrollDOM.insertBefore(this.dom,e)}updateGutters(o){let e=o.startState.facet(activeGutters),s=o.state.facet(activeGutters),a=o.docChanged||o.heightChanged||o.viewportChanged||!RangeSet.eq(o.startState.facet(gutterLineClass),o.state.facet(gutterLineClass),o.view.viewport.from,o.view.viewport.to);if(e==s)for(let c of this.gutters)c.update(o)&&(a=!0);else{a=!0;let c=[];for(let d of s){let _=e.indexOf(d);_<0?c.push(new SingleGutterView(this.view,d)):(this.gutters[_].update(o),c.push(this.gutters[_]))}for(let d of this.gutters)d.dom.remove(),c.indexOf(d)<0&&d.destroy();for(let d of c)this.dom.appendChild(d.dom);this.gutters=c}return a}destroy(){for(let o of this.gutters)o.destroy();this.dom.remove()}},{provide:PluginField.scrollMargins.from(o=>o.gutters.length==0||!o.fixed?null:o.view.textDirection==Direction.LTR?{left:o.dom.offsetWidth}:{right:o.dom.offsetWidth})});function asArray(o){return Array.isArray(o)?o:[o]}function advanceCursor(o,e,s){for(;o.value&&o.from<=s;)o.from==s&&e.push(o.value),o.next()}class UpdateContext{constructor(e,s,a){this.gutter=e,this.height=a,this.localMarkers=[],this.i=0,this.cursor=RangeSet.iter(e.markers,s.from)}line(e,s,a){this.localMarkers.length&&(this.localMarkers=[]),advanceCursor(this.cursor,this.localMarkers,s.from);let c=a.length?this.localMarkers.concat(a):this.localMarkers,d=this.gutter.config.lineMarker(e,s,c);d&&c.unshift(d);let _=this.gutter;if(c.length==0&&!_.config.renderEmptyElements)return;let b=s.top-this.height;if(this.i==_.elements.length){let k=new GutterElement(e,s.height,b,c);_.elements.push(k),_.dom.appendChild(k.dom)}else _.elements[this.i].update(e,s.height,b,c);this.height=s.bottom,this.i++}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let s=e.elements.pop();e.dom.removeChild(s.dom),s.destroy()}}}class SingleGutterView{constructor(e,s){this.view=e,this.config=s,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let a in s.domEventHandlers)this.dom.addEventListener(a,c=>{let d=e.lineBlockAtHeight(c.clientY-e.documentTop);s.domEventHandlers[a](e,d,c)&&c.preventDefault()});this.markers=asArray(s.markers(e)),s.initialSpacer&&(this.spacer=new GutterElement(e,0,0,[s.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let s=this.markers;if(this.markers=asArray(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let c=this.config.updateSpacer(this.spacer.markers[0],e);c!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[c])}let a=e.view.viewport;return!RangeSet.eq(this.markers,s,a.from,a.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class GutterElement{constructor(e,s,a,c){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.update(e,s,a,c)}update(e,s,a,c){this.height!=s&&(this.dom.style.height=(this.height=s)+"px"),this.above!=a&&(this.dom.style.marginTop=(this.above=a)?a+"px":""),sameMarkers(this.markers,c)||this.setMarkers(e,c)}setMarkers(e,s){let a="cm-gutterElement",c=this.dom.firstChild;for(let d=0,_=0;;){let b=_,k=dd(b,k,$)||_(b,k,$):_}return a}})}});class NumberMarker extends GutterMarker{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function formatNumber(o,e){return o.state.facet(lineNumberConfig).formatNumber(e,o.state)}const lineNumberGutter=activeGutters.compute([lineNumberConfig],o=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(lineNumberMarkers)},lineMarker(e,s,a){return a.some(c=>c.toDOM)?null:new NumberMarker(formatNumber(e,e.state.doc.lineAt(s.from).number))},lineMarkerChange:e=>e.startState.facet(lineNumberConfig)!=e.state.facet(lineNumberConfig),initialSpacer(e){return new NumberMarker(formatNumber(e,maxLineNumber(e.state.doc.lines)))},updateSpacer(e,s){let a=formatNumber(s.view,maxLineNumber(s.view.state.doc.lines));return a==e.number?e:new NumberMarker(a)},domEventHandlers:o.facet(lineNumberConfig).domEventHandlers}));function lineNumbers(o={}){return[lineNumberConfig.of(o),gutters(),lineNumberGutter]}function maxLineNumber(o){let e=9;for(;e{let e=[],s=-1;for(let a of o.selection.ranges)if(a.empty){let c=o.doc.lineAt(a.head).from;c>s&&(s=c,e.push(activeLineGutterMarker.range(c)))}return RangeSet.of(e)});function highlightActiveLineGutter(){return activeLineGutterHighlighter}function mapRange(o,e){let s=e.mapPos(o.from,1),a=e.mapPos(o.to,-1);return s>=a?void 0:{from:s,to:a}}const foldEffect=StateEffect.define({map:mapRange}),unfoldEffect=StateEffect.define({map:mapRange});function selectedLines(o){let e=[];for(let{head:s}of o.state.selection.ranges)e.some(a=>a.from<=s&&a.to>=s)||e.push(o.lineBlockAt(s));return e}const foldState=StateField.define({create(){return Decoration.none},update(o,e){o=o.map(e.changes);for(let s of e.effects)s.is(foldEffect)&&!foldExists(o,s.value.from,s.value.to)?o=o.update({add:[foldWidget.range(s.value.from,s.value.to)]}):s.is(unfoldEffect)&&(o=o.update({filter:(a,c)=>s.value.from!=a||s.value.to!=c,filterFrom:s.value.from,filterTo:s.value.to}));if(e.selection){let s=!1,{head:a}=e.selection.main;o.between(a,a,(c,d)=>{ca&&(s=!0)}),s&&(o=o.update({filterFrom:a,filterTo:a,filter:(c,d)=>d<=a||c>=a}))}return o},provide:o=>EditorView.decorations.from(o)});function foldInside(o,e,s){var a;let c=null;return(a=o.field(foldState,!1))===null||a===void 0||a.between(e,s,(d,_)=>{(!c||c.from>d)&&(c={from:d,to:_})}),c}function foldExists(o,e,s){let a=!1;return o.between(e,e,(c,d)=>{c==e&&d==s&&(a=!0)}),a}function maybeEnable(o,e){return o.field(foldState,!1)?e:e.concat(StateEffect.appendConfig.of(codeFolding()))}const foldCode=o=>{for(let e of selectedLines(o)){let s=foldable(o.state,e.from,e.to);if(s)return o.dispatch({effects:maybeEnable(o.state,[foldEffect.of(s),announceFold(o,s)])}),!0}return!1},unfoldCode=o=>{if(!o.state.field(foldState,!1))return!1;let e=[];for(let s of selectedLines(o)){let a=foldInside(o.state,s.from,s.to);a&&e.push(unfoldEffect.of(a),announceFold(o,a,!1))}return e.length&&o.dispatch({effects:e}),e.length>0};function announceFold(o,e,s=!0){let a=o.state.doc.lineAt(e.from).number,c=o.state.doc.lineAt(e.to).number;return EditorView.announce.of(`${o.state.phrase(s?"Folded lines":"Unfolded lines")} ${a} ${o.state.phrase("to")} ${c}.`)}const foldAll=o=>{let{state:e}=o,s=[];for(let a=0;a{let e=o.state.field(foldState,!1);if(!e||!e.size)return!1;let s=[];return e.between(0,o.state.doc.length,(a,c)=>{s.push(unfoldEffect.of({from:a,to:c}))}),o.dispatch({effects:s}),!0},foldKeymap=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:foldCode},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:unfoldCode},{key:"Ctrl-Alt-[",run:foldAll},{key:"Ctrl-Alt-]",run:unfoldAll}],defaultConfig={placeholderDOM:null,placeholderText:"\u2026"},foldConfig=Facet.define({combine(o){return combineConfig(o,defaultConfig)}});function codeFolding(o){let e=[foldState,baseTheme$6];return o&&e.push(foldConfig.of(o)),e}const foldWidget=Decoration.replace({widget:new class extends WidgetType{toDOM(o){let{state:e}=o,s=e.facet(foldConfig),a=d=>{let _=o.lineBlockAt(o.posAtDOM(d.target)),b=foldInside(o.state,_.from,_.to);b&&o.dispatch({effects:unfoldEffect.of(b)}),d.preventDefault()};if(s.placeholderDOM)return s.placeholderDOM(o,a);let c=document.createElement("span");return c.textContent=s.placeholderText,c.setAttribute("aria-label",e.phrase("folded code")),c.title=e.phrase("unfold"),c.className="cm-foldPlaceholder",c.onclick=a,c}}}),foldGutterDefaults={openText:"\u2304",closedText:"\u203A",markerDOM:null,domEventHandlers:{}};class FoldMarker extends GutterMarker{constructor(e,s){super(),this.config=e,this.open=s}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let s=document.createElement("span");return s.textContent=this.open?this.config.openText:this.config.closedText,s.title=e.state.phrase(this.open?"Fold line":"Unfold line"),s}}function foldGutter(o={}){let e=Object.assign(Object.assign({},foldGutterDefaults),o),s=new FoldMarker(e,!0),a=new FoldMarker(e,!1),c=ViewPlugin.fromClass(class{constructor(_){this.from=_.viewport.from,this.markers=this.buildMarkers(_)}update(_){(_.docChanged||_.viewportChanged||_.startState.facet(language)!=_.state.facet(language)||_.startState.field(foldState,!1)!=_.state.field(foldState,!1)||syntaxTree(_.startState)!=syntaxTree(_.state))&&(this.markers=this.buildMarkers(_.view))}buildMarkers(_){let b=new RangeSetBuilder;for(let k of _.viewportLineBlocks){let $=foldInside(_.state,k.from,k.to)?a:foldable(_.state,k.from,k.to)?s:null;$&&b.add(k.from,k.from,$)}return b.finish()}}),{domEventHandlers:d}=e;return[c,gutter({class:"cm-foldGutter",markers(_){var b;return((b=_.plugin(c))===null||b===void 0?void 0:b.markers)||RangeSet.empty},initialSpacer(){return new FoldMarker(e,!1)},domEventHandlers:Object.assign(Object.assign({},d),{click:(_,b,k)=>{if(d.click&&d.click(_,b,k))return!0;let $=foldInside(_.state,b.from,b.to);if($)return _.dispatch({effects:unfoldEffect.of($)}),!0;let j=foldable(_.state,b.from,b.to);return j?(_.dispatch({effects:foldEffect.of(j)}),!0):!1}})}),codeFolding()]}const baseTheme$6=EditorView.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}}),baseTheme$5=EditorView.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),DefaultScanDist=1e4,DefaultBrackets="()[]{}",bracketMatchingConfig=Facet.define({combine(o){return combineConfig(o,{afterCursor:!0,brackets:DefaultBrackets,maxScanDistance:DefaultScanDist})}}),matchingMark=Decoration.mark({class:"cm-matchingBracket"}),nonmatchingMark=Decoration.mark({class:"cm-nonmatchingBracket"}),bracketMatchingState=StateField.define({create(){return Decoration.none},update(o,e){if(!e.docChanged&&!e.selection)return o;let s=[],a=e.state.facet(bracketMatchingConfig);for(let c of e.state.selection.ranges){if(!c.empty)continue;let d=matchBrackets(e.state,c.head,-1,a)||c.head>0&&matchBrackets(e.state,c.head-1,1,a)||a.afterCursor&&(matchBrackets(e.state,c.head,1,a)||c.headEditorView.decorations.from(o)}),bracketMatchingUnique=[bracketMatchingState,baseTheme$5];function bracketMatching(o={}){return[bracketMatchingConfig.of(o),bracketMatchingUnique]}function matchingNodes(o,e,s){let a=o.prop(e<0?NodeProp.openedBy:NodeProp.closedBy);if(a)return a;if(o.name.length==1){let c=s.indexOf(o.name);if(c>-1&&c%2==(e<0?1:0))return[s[c+e]]}return null}function matchBrackets(o,e,s,a={}){let c=a.maxScanDistance||DefaultScanDist,d=a.brackets||DefaultBrackets,_=syntaxTree(o),b=_.resolveInner(e,s);for(let k=b;k;k=k.parent){let $=matchingNodes(k.type,s,d);if($&&k.from=a.to){if(k==0&&c.indexOf($.type.name)>-1&&$.from<$.to)return{start:b,end:{from:$.from,to:$.to},matched:!0};if(matchingNodes($.type,s,d))k++;else if(matchingNodes($.type,-s,d)&&(k--,k==0))return{start:b,end:$.from==$.to?void 0:{from:$.from,to:$.to},matched:!1}}while(s<0?$.prevSibling():$.nextSibling());return{start:b,matched:!1}}function matchPlainBrackets(o,e,s,a,c,d,_){let b=s<0?o.sliceDoc(e-1,e):o.sliceDoc(e,e+1),k=_.indexOf(b);if(k<0||k%2==0!=s>0)return null;let $={from:s<0?e-1:e,to:s>0?e+1:e},j=o.doc.iterRange(e,s>0?o.doc.length:0),_e=0;for(let et=0;!j.next().done&&et<=d;){let tt=j.value;s<0&&(et+=tt.length);let nt=e+et*s;for(let it=s>0?0:tt.length-1,rt=s>0?tt.length:-1;it!=rt;it+=s){let st=_.indexOf(tt[it]);if(!(st<0||a.resolve(nt+it,1).type!=c))if(st%2==0==s>0)_e++;else{if(_e==1)return{start:$,end:{from:nt+it,to:nt+it+1},matched:st>>1==k>>1};_e--}}s>0&&(et+=tt.length)}return j.done?{start:$,matched:!1}:null}function updateSel(o,e){return EditorSelection.create(o.ranges.map(e),o.mainIndex)}function setSel(o,e){return o.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function moveSel({state:o,dispatch:e},s){let a=updateSel(o.selection,s);return a.eq(o.selection)?!1:(e(setSel(o,a)),!0)}function rangeEnd(o,e){return EditorSelection.cursor(e?o.to:o.from)}function cursorByChar(o,e){return moveSel(o,s=>s.empty?o.moveByChar(s,e):rangeEnd(s,e))}const cursorCharLeft=o=>cursorByChar(o,o.textDirection!=Direction.LTR),cursorCharRight=o=>cursorByChar(o,o.textDirection==Direction.LTR);function cursorByGroup(o,e){return moveSel(o,s=>s.empty?o.moveByGroup(s,e):rangeEnd(s,e))}const cursorGroupLeft=o=>cursorByGroup(o,o.textDirection!=Direction.LTR),cursorGroupRight=o=>cursorByGroup(o,o.textDirection==Direction.LTR);function interestingNode(o,e,s){if(e.type.prop(s))return!0;let a=e.to-e.from;return a&&(a>2||/[^\s,.;:]/.test(o.sliceDoc(e.from,e.to)))||e.firstChild}function moveBySyntax(o,e,s){let a=syntaxTree(o).resolveInner(e.head),c=s?NodeProp.closedBy:NodeProp.openedBy;for(let k=e.head;;){let $=s?a.childAfter(k):a.childBefore(k);if(!$)break;interestingNode(o,$,c)?a=$:k=s?$.to:$.from}let d=a.type.prop(c),_,b;return d&&(_=s?matchBrackets(o,a.from,1):matchBrackets(o,a.to,-1))&&_.matched?b=s?_.end.to:_.end.from:b=s?a.to:a.from,EditorSelection.cursor(b,s?-1:1)}const cursorSyntaxLeft=o=>moveSel(o,e=>moveBySyntax(o.state,e,o.textDirection!=Direction.LTR)),cursorSyntaxRight=o=>moveSel(o,e=>moveBySyntax(o.state,e,o.textDirection==Direction.LTR));function cursorByLine(o,e){return moveSel(o,s=>{if(!s.empty)return rangeEnd(s,e);let a=o.moveVertically(s,e);return a.head!=s.head?a:o.moveToLineBoundary(s,e)})}const cursorLineUp=o=>cursorByLine(o,!1),cursorLineDown=o=>cursorByLine(o,!0);function cursorByPage(o,e){let{state:s}=o,a=updateSel(s.selection,_=>_.empty?o.moveVertically(_,e,o.dom.clientHeight):rangeEnd(_,e));if(a.eq(s.selection))return!1;let c=o.coordsAtPos(s.selection.main.head),d=o.scrollDOM.getBoundingClientRect();return o.dispatch(setSel(s,a),{effects:c&&c.top>d.top&&c.bottomcursorByPage(o,!1),cursorPageDown=o=>cursorByPage(o,!0);function moveByLineBoundary(o,e,s){let a=o.lineBlockAt(e.head),c=o.moveToLineBoundary(e,s);if(c.head==e.head&&c.head!=(s?a.to:a.from)&&(c=o.moveToLineBoundary(e,s,!1)),!s&&c.head==a.from&&a.length){let d=/^\s*/.exec(o.state.sliceDoc(a.from,Math.min(a.from+100,a.to)))[0].length;d&&e.head!=a.from+d&&(c=EditorSelection.cursor(a.from+d))}return c}const cursorLineBoundaryForward=o=>moveSel(o,e=>moveByLineBoundary(o,e,!0)),cursorLineBoundaryBackward=o=>moveSel(o,e=>moveByLineBoundary(o,e,!1)),cursorLineStart=o=>moveSel(o,e=>EditorSelection.cursor(o.lineBlockAt(e.head).from,1)),cursorLineEnd=o=>moveSel(o,e=>EditorSelection.cursor(o.lineBlockAt(e.head).to,-1));function toMatchingBracket(o,e,s){let a=!1,c=updateSel(o.selection,d=>{let _=matchBrackets(o,d.head,-1)||matchBrackets(o,d.head,1)||d.head>0&&matchBrackets(o,d.head-1,1)||d.headtoMatchingBracket(o,e,!1);function extendSel(o,e){let s=updateSel(o.state.selection,a=>{let c=e(a);return EditorSelection.range(a.anchor,c.head,c.goalColumn)});return s.eq(o.state.selection)?!1:(o.dispatch(setSel(o.state,s)),!0)}function selectByChar(o,e){return extendSel(o,s=>o.moveByChar(s,e))}const selectCharLeft=o=>selectByChar(o,o.textDirection!=Direction.LTR),selectCharRight=o=>selectByChar(o,o.textDirection==Direction.LTR);function selectByGroup(o,e){return extendSel(o,s=>o.moveByGroup(s,e))}const selectGroupLeft=o=>selectByGroup(o,o.textDirection!=Direction.LTR),selectGroupRight=o=>selectByGroup(o,o.textDirection==Direction.LTR),selectSyntaxLeft=o=>extendSel(o,e=>moveBySyntax(o.state,e,o.textDirection!=Direction.LTR)),selectSyntaxRight=o=>extendSel(o,e=>moveBySyntax(o.state,e,o.textDirection==Direction.LTR));function selectByLine(o,e){return extendSel(o,s=>o.moveVertically(s,e))}const selectLineUp=o=>selectByLine(o,!1),selectLineDown=o=>selectByLine(o,!0);function selectByPage(o,e){return extendSel(o,s=>o.moveVertically(s,e,o.dom.clientHeight))}const selectPageUp=o=>selectByPage(o,!1),selectPageDown=o=>selectByPage(o,!0),selectLineBoundaryForward=o=>extendSel(o,e=>moveByLineBoundary(o,e,!0)),selectLineBoundaryBackward=o=>extendSel(o,e=>moveByLineBoundary(o,e,!1)),selectLineStart=o=>extendSel(o,e=>EditorSelection.cursor(o.lineBlockAt(e.head).from)),selectLineEnd=o=>extendSel(o,e=>EditorSelection.cursor(o.lineBlockAt(e.head).to)),cursorDocStart=({state:o,dispatch:e})=>(e(setSel(o,{anchor:0})),!0),cursorDocEnd=({state:o,dispatch:e})=>(e(setSel(o,{anchor:o.doc.length})),!0),selectDocStart=({state:o,dispatch:e})=>(e(setSel(o,{anchor:o.selection.main.anchor,head:0})),!0),selectDocEnd=({state:o,dispatch:e})=>(e(setSel(o,{anchor:o.selection.main.anchor,head:o.doc.length})),!0),selectAll=({state:o,dispatch:e})=>(e(o.update({selection:{anchor:0,head:o.doc.length},userEvent:"select"})),!0),selectLine=({state:o,dispatch:e})=>{let s=selectedLineBlocks(o).map(({from:a,to:c})=>EditorSelection.range(a,Math.min(c+1,o.doc.length)));return e(o.update({selection:EditorSelection.create(s),userEvent:"select"})),!0},selectParentSyntax=({state:o,dispatch:e})=>{let s=updateSel(o.selection,a=>{var c;let d=syntaxTree(o).resolveInner(a.head,1);for(;!(d.from=a.to||d.to>a.to&&d.from<=a.from||!(!((c=d.parent)===null||c===void 0)&&c.parent));)d=d.parent;return EditorSelection.range(d.to,d.from)});return e(setSel(o,s)),!0},simplifySelection=({state:o,dispatch:e})=>{let s=o.selection,a=null;return s.ranges.length>1?a=EditorSelection.create([s.main]):s.main.empty||(a=EditorSelection.create([EditorSelection.cursor(s.main.head)])),a?(e(setSel(o,a)),!0):!1};function deleteBy({state:o,dispatch:e},s){if(o.readOnly)return!1;let a="delete.selection",c=o.changeByRange(d=>{let{from:_,to:b}=d;if(_==b){let k=s(_);k<_?a="delete.backward":k>_&&(a="delete.forward"),_=Math.min(_,k),b=Math.max(b,k)}return _==b?{range:d}:{changes:{from:_,to:b},range:EditorSelection.cursor(_)}});return c.changes.empty?!1:(e(o.update(c,{scrollIntoView:!0,userEvent:a})),!0)}function skipAtomic(o,e,s){if(o instanceof EditorView)for(let a of o.pluginField(PluginField.atomicRanges))a.between(e,e,(c,d)=>{ce&&(e=s?d:c)});return e}const deleteByChar=(o,e)=>deleteBy(o,s=>{let{state:a}=o,c=a.doc.lineAt(s),d,_;if(!e&&s>c.from&&sdeleteByChar(o,!1),deleteCharForward=o=>deleteByChar(o,!0),deleteByGroup=(o,e)=>deleteBy(o,s=>{let a=s,{state:c}=o,d=c.doc.lineAt(a),_=c.charCategorizer(a);for(let b=null;;){if(a==(e?d.to:d.from)){a==s&&d.number!=(e?c.doc.lines:1)&&(a+=e?1:-1);break}let k=findClusterBreak(d.text,a-d.from,e)+d.from,$=d.text.slice(Math.min(a,k)-d.from,Math.max(a,k)-d.from),j=_($);if(b!=null&&j!=b)break;($!=" "||a!=s)&&(b=j),a=k}return skipAtomic(o,a,e)}),deleteGroupBackward=o=>deleteByGroup(o,!1),deleteGroupForward=o=>deleteByGroup(o,!0),deleteToLineEnd=o=>deleteBy(o,e=>{let s=o.lineBlockAt(e).to;return skipAtomic(o,edeleteBy(o,e=>{let s=o.lineBlockAt(e).from;return skipAtomic(o,e>s?s:Math.max(0,e-1),!1)}),splitLine=({state:o,dispatch:e})=>{if(o.readOnly)return!1;let s=o.changeByRange(a=>({changes:{from:a.from,to:a.to,insert:Text.of(["",""])},range:EditorSelection.cursor(a.from)}));return e(o.update(s,{scrollIntoView:!0,userEvent:"input"})),!0},transposeChars=({state:o,dispatch:e})=>{if(o.readOnly)return!1;let s=o.changeByRange(a=>{if(!a.empty||a.from==0||a.from==o.doc.length)return{range:a};let c=a.from,d=o.doc.lineAt(c),_=c==d.from?c-1:findClusterBreak(d.text,c-d.from,!1)+d.from,b=c==d.to?c+1:findClusterBreak(d.text,c-d.from,!0)+d.from;return{changes:{from:_,to:b,insert:o.doc.slice(c,b).append(o.doc.slice(_,c))},range:EditorSelection.cursor(b)}});return s.changes.empty?!1:(e(o.update(s,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function selectedLineBlocks(o){let e=[],s=-1;for(let a of o.selection.ranges){let c=o.doc.lineAt(a.from),d=o.doc.lineAt(a.to);if(!a.empty&&a.to==d.from&&(d=o.doc.lineAt(a.to-1)),s>=c.number){let _=e[e.length-1];_.to=d.to,_.ranges.push(a)}else e.push({from:c.from,to:d.to,ranges:[a]});s=d.number+1}return e}function moveLine(o,e,s){if(o.readOnly)return!1;let a=[],c=[];for(let d of selectedLineBlocks(o)){if(s?d.to==o.doc.length:d.from==0)continue;let _=o.doc.lineAt(s?d.to+1:d.from-1),b=_.length+1;if(s){a.push({from:d.to,to:_.to},{from:d.from,insert:_.text+o.lineBreak});for(let k of d.ranges)c.push(EditorSelection.range(Math.min(o.doc.length,k.anchor+b),Math.min(o.doc.length,k.head+b)))}else{a.push({from:_.from,to:d.from},{from:d.to,insert:o.lineBreak+_.text});for(let k of d.ranges)c.push(EditorSelection.range(k.anchor-b,k.head-b))}}return a.length?(e(o.update({changes:a,scrollIntoView:!0,selection:EditorSelection.create(c,o.selection.mainIndex),userEvent:"move.line"})),!0):!1}const moveLineUp=({state:o,dispatch:e})=>moveLine(o,e,!1),moveLineDown=({state:o,dispatch:e})=>moveLine(o,e,!0);function copyLine(o,e,s){if(o.readOnly)return!1;let a=[];for(let c of selectedLineBlocks(o))s?a.push({from:c.from,insert:o.doc.slice(c.from,c.to)+o.lineBreak}):a.push({from:c.to,insert:o.lineBreak+o.doc.slice(c.from,c.to)});return e(o.update({changes:a,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const copyLineUp=({state:o,dispatch:e})=>copyLine(o,e,!1),copyLineDown=({state:o,dispatch:e})=>copyLine(o,e,!0),deleteLine=o=>{if(o.state.readOnly)return!1;let{state:e}=o,s=e.changes(selectedLineBlocks(e).map(({from:c,to:d})=>(c>0?c--:do.moveVertically(c,!0)).map(s);return o.dispatch({changes:s,selection:a,scrollIntoView:!0,userEvent:"delete.line"}),!0};function isBetweenBrackets(o,e){if(/\(\)|\[\]|\{\}/.test(o.sliceDoc(e-1,e+1)))return{from:e,to:e};let s=syntaxTree(o).resolveInner(e),a=s.childBefore(e),c=s.childAfter(e),d;return a&&c&&a.to<=e&&c.from>=e&&(d=a.type.prop(NodeProp.closedBy))&&d.indexOf(c.name)>-1&&o.doc.lineAt(a.to).from==o.doc.lineAt(c.from).from?{from:a.to,to:c.from}:null}const insertNewlineAndIndent=newlineAndIndent(!1),insertBlankLine=newlineAndIndent(!0);function newlineAndIndent(o){return({state:e,dispatch:s})=>{if(e.readOnly)return!1;let a=e.changeByRange(c=>{let{from:d,to:_}=c,b=e.doc.lineAt(d),k=!o&&d==_&&isBetweenBrackets(e,d);o&&(d=_=(_<=b.to?b:e.doc.lineAt(_)).to);let $=new IndentContext(e,{simulateBreak:d,simulateDoubleBreak:!!k}),j=getIndentation($,d);for(j==null&&(j=/^\s*/.exec(e.doc.lineAt(d).text)[0].length);_b.from&&d{let c=[];for(let _=a.from;_<=a.to;){let b=o.doc.lineAt(_);b.number>s&&(a.empty||a.to>b.from)&&(e(b,c,a),s=b.number),_=b.to+1}let d=o.changes(c);return{changes:c,range:EditorSelection.range(d.mapPos(a.anchor,1),d.mapPos(a.head,1))}})}const indentSelection=({state:o,dispatch:e})=>{if(o.readOnly)return!1;let s=Object.create(null),a=new IndentContext(o,{overrideIndentation:d=>{let _=s[d];return _==null?-1:_}}),c=changeBySelectedLine(o,(d,_,b)=>{let k=getIndentation(a,d.from);if(k==null)return;/\S/.test(d.text)||(k=0);let $=/^\s*/.exec(d.text)[0],j=indentString(o,k);($!=j||b.fromo.readOnly?!1:(e(o.update(changeBySelectedLine(o,(s,a)=>{a.push({from:s.from,insert:o.facet(indentUnit)})}),{userEvent:"input.indent"})),!0),indentLess=({state:o,dispatch:e})=>o.readOnly?!1:(e(o.update(changeBySelectedLine(o,(s,a)=>{let c=/^\s*/.exec(s.text)[0];if(!c)return;let d=countColumn(c,o.tabSize),_=0,b=indentString(o,Math.max(0,d-getIndentUnit(o)));for(;_({mac:o.key,run:o.run,shift:o.shift}))),defaultKeymap=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:cursorSyntaxLeft,shift:selectSyntaxLeft},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:cursorSyntaxRight,shift:selectSyntaxRight},{key:"Alt-ArrowUp",run:moveLineUp},{key:"Shift-Alt-ArrowUp",run:copyLineUp},{key:"Alt-ArrowDown",run:moveLineDown},{key:"Shift-Alt-ArrowDown",run:copyLineDown},{key:"Escape",run:simplifySelection},{key:"Mod-Enter",run:insertBlankLine},{key:"Alt-l",mac:"Ctrl-l",run:selectLine},{key:"Mod-i",run:selectParentSyntax,preventDefault:!0},{key:"Mod-[",run:indentLess},{key:"Mod-]",run:indentMore},{key:"Mod-Alt-\\",run:indentSelection},{key:"Shift-Mod-k",run:deleteLine},{key:"Shift-Mod-\\",run:cursorMatchingBracket}].concat(standardKeymap),defaults={brackets:["(","[","{","'",'"'],before:")]}:;>"},closeBracketEffect=StateEffect.define({map(o,e){let s=e.mapPos(o,-1,MapMode.TrackAfter);return s==null?void 0:s}}),skipBracketEffect=StateEffect.define({map(o,e){return e.mapPos(o)}}),closedBracket=new class extends RangeValue{};closedBracket.startSide=1;closedBracket.endSide=-1;const bracketState=StateField.define({create(){return RangeSet.empty},update(o,e){if(e.selection){let s=e.state.doc.lineAt(e.selection.main.head).from,a=e.startState.doc.lineAt(e.startState.selection.main.head).from;s!=e.changes.mapPos(a,-1)&&(o=RangeSet.empty)}o=o.map(e.changes);for(let s of e.effects)s.is(closeBracketEffect)?o=o.update({add:[closedBracket.range(s.value,s.value+1)]}):s.is(skipBracketEffect)&&(o=o.update({filter:a=>a!=s.value}));return o}});function closeBrackets(){return[inputHandler,bracketState]}const definedClosing="()[]{}<>";function closing(o){for(let e=0;e{if((android?o.composing:o.compositionStarted)||o.state.readOnly)return!1;let c=o.state.selection.main;if(a.length>2||a.length==2&&codePointSize(codePointAt(a,0))==1||e!=c.from||s!=c.to)return!1;let d=insertBracket(o.state,a);return d?(o.dispatch(d),!0):!1}),deleteBracketPair=({state:o,dispatch:e})=>{if(o.readOnly)return!1;let a=config(o,o.selection.main.head).brackets||defaults.brackets,c=null,d=o.changeByRange(_=>{if(_.empty){let b=prevChar(o.doc,_.head);for(let k of a)if(k==b&&nextChar(o.doc,_.head)==closing(codePointAt(k,0)))return{changes:{from:_.head-k.length,to:_.head+k.length},range:EditorSelection.cursor(_.head-k.length),userEvent:"delete.backward"}}return{range:c=_}});return c||e(o.update(d,{scrollIntoView:!0})),!c},closeBracketsKeymap=[{key:"Backspace",run:deleteBracketPair}];function insertBracket(o,e){let s=config(o,o.selection.main.head),a=s.brackets||defaults.brackets;for(let c of a){let d=closing(codePointAt(c,0));if(e==c)return d==c?handleSame(o,c,a.indexOf(c+c+c)>-1):handleOpen(o,c,d,s.before||defaults.before);if(e==d&&closedBracketAt(o,o.selection.main.from))return handleClose(o,c,d)}return null}function closedBracketAt(o,e){let s=!1;return o.field(bracketState).between(0,o.doc.length,a=>{a==e&&(s=!0)}),s}function nextChar(o,e){let s=o.sliceString(e,e+2);return s.slice(0,codePointSize(codePointAt(s,0)))}function prevChar(o,e){let s=o.sliceString(e-2,e);return codePointSize(codePointAt(s,0))==s.length?s:s.slice(1)}function handleOpen(o,e,s,a){let c=null,d=o.changeByRange(_=>{if(!_.empty)return{changes:[{insert:e,from:_.from},{insert:s,from:_.to}],effects:closeBracketEffect.of(_.to+e.length),range:EditorSelection.range(_.anchor+e.length,_.head+e.length)};let b=nextChar(o.doc,_.head);return!b||/\s/.test(b)||a.indexOf(b)>-1?{changes:{insert:e+s,from:_.head},effects:closeBracketEffect.of(_.head+e.length),range:EditorSelection.cursor(_.head+e.length)}:{range:c=_}});return c?null:o.update(d,{scrollIntoView:!0,userEvent:"input.type"})}function handleClose(o,e,s){let a=null,c=o.selection.ranges.map(d=>d.empty&&nextChar(o.doc,d.head)==s?EditorSelection.cursor(d.head+s.length):a=d);return a?null:o.update({selection:EditorSelection.create(c,o.selection.mainIndex),scrollIntoView:!0,effects:o.selection.ranges.map(({from:d})=>skipBracketEffect.of(d))})}function handleSame(o,e,s){let a=null,c=o.changeByRange(d=>{if(!d.empty)return{changes:[{insert:e,from:d.from},{insert:e,from:d.to}],effects:closeBracketEffect.of(d.to+e.length),range:EditorSelection.range(d.anchor+e.length,d.head+e.length)};let _=d.head,b=nextChar(o.doc,_);if(b==e){if(nodeStart(o,_))return{changes:{insert:e+e,from:_},effects:closeBracketEffect.of(_+e.length),range:EditorSelection.cursor(_+e.length)};if(closedBracketAt(o,_)){let k=s&&o.sliceDoc(_,_+e.length*3)==e+e+e;return{range:EditorSelection.cursor(_+e.length*(k?3:1)),effects:skipBracketEffect.of(_)}}}else{if(s&&o.sliceDoc(_-2*e.length,_)==e+e&&nodeStart(o,_-2*e.length))return{changes:{insert:e+e+e+e,from:_},effects:closeBracketEffect.of(_+e.length),range:EditorSelection.cursor(_+e.length)};if(o.charCategorizer(_)(b)!=CharCategory.Word){let k=o.sliceDoc(_-1,_);if(k!=e&&o.charCategorizer(_)(k)!=CharCategory.Word&&!probablyInString(o,_,e))return{changes:{insert:e+e,from:_},effects:closeBracketEffect.of(_+e.length),range:EditorSelection.cursor(_+e.length)}}}return{range:a=d}});return a?null:o.update(c,{scrollIntoView:!0,userEvent:"input.type"})}function nodeStart(o,e){let s=syntaxTree(o).resolveInner(e+1);return s.parent&&s.from==e}function probablyInString(o,e,s){let a=syntaxTree(o).resolveInner(e,-1);for(let c=0;c<5;c++){if(o.sliceDoc(a.from,a.from+s.length)==s)return!0;let d=a.to==e&&a.parent;if(!d)break;a=d}return!1}const panelConfig=Facet.define({combine(o){let e,s;for(let a of o)e=e||a.topContainer,s=s||a.bottomContainer;return{topContainer:e,bottomContainer:s}}});function getPanel(o,e){let s=o.plugin(panelPlugin),a=s?s.specs.indexOf(e):-1;return a>-1?s.panels[a]:null}const panelPlugin=ViewPlugin.fromClass(class{constructor(o){this.input=o.state.facet(showPanel),this.specs=this.input.filter(s=>s),this.panels=this.specs.map(s=>s(o));let e=o.state.facet(panelConfig);this.top=new PanelGroup(o,!0,e.topContainer),this.bottom=new PanelGroup(o,!1,e.bottomContainer),this.top.sync(this.panels.filter(s=>s.top)),this.bottom.sync(this.panels.filter(s=>!s.top));for(let s of this.panels)s.dom.classList.add("cm-panel"),s.mount&&s.mount()}update(o){let e=o.state.facet(panelConfig);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new PanelGroup(o.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new PanelGroup(o.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let s=o.state.facet(showPanel);if(s!=this.input){let a=s.filter(k=>k),c=[],d=[],_=[],b=[];for(let k of a){let $=this.specs.indexOf(k),j;$<0?(j=k(o.view),b.push(j)):(j=this.panels[$],j.update&&j.update(o)),c.push(j),(j.top?d:_).push(j)}this.specs=a,this.panels=c,this.top.sync(d),this.bottom.sync(_);for(let k of b)k.dom.classList.add("cm-panel"),k.mount&&k.mount()}else for(let a of this.panels)a.update&&a.update(o)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:PluginField.scrollMargins.from(o=>({top:o.top.scrollMargin(),bottom:o.bottom.scrollMargin()}))});class PanelGroup{constructor(e,s,a){this.view=e,this.top=s,this.container=a,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let s of this.panels)s.destroy&&e.indexOf(s)<0&&s.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let s=this.container||this.view.dom;s.insertBefore(this.dom,this.top?s.firstChild:null)}let e=this.dom.firstChild;for(let s of this.panels)if(s.dom.parentNode==this.dom){for(;e!=s.dom;)e=rm(e);e=e.nextSibling}else this.dom.insertBefore(s.dom,e);for(;e;)e=rm(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function rm(o){let e=o.nextSibling;return o.remove(),e}const baseTheme$4=EditorView.baseTheme({".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"}}),showPanel=Facet.define({enables:[panelPlugin,baseTheme$4]});function crelt(){var o=arguments[0];typeof o=="string"&&(o=document.createElement(o));var e=1,s=arguments[1];if(s&&typeof s=="object"&&s.nodeType==null&&!Array.isArray(s)){for(var a in s)if(Object.prototype.hasOwnProperty.call(s,a)){var c=s[a];typeof c=="string"?o.setAttribute(a,c):c!=null&&(o[a]=c)}e++}for(;eo.normalize("NFKD"):o=>o;class SearchCursor{constructor(e,s,a=0,c=e.length,d){this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(a,c),this.bufferStart=a,this.normalize=d?_=>d(basicNormalize(_)):basicNormalize,this.query=this.normalize(s)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return codePointAt(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let s=fromCodePoint(e),a=this.bufferStart+this.bufferPos;this.bufferPos+=codePointSize(e);let c=this.normalize(s);for(let d=0,_=a;;d++){let b=c.charCodeAt(d),k=this.match(b,_);if(k)return this.value=k,this;if(d==c.length-1)break;_==a&&dthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let s=this.matchPos<=this.to&&this.re.exec(this.curLine);if(s){let a=this.curLineStart+s.index,c=a+s[0].length;if(this.matchPos=c+(a==c?1:0),a==this.curLine.length&&this.nextLine(),athis.value.to)return this.value={from:a,to:c,match:s},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=a||c.to<=s){let b=new FlattenedDoc(s,e.sliceString(s,a));return flattened.set(e,b),b}if(c.from==s&&c.to==a)return c;let{text:d,from:_}=c;return _>s&&(d=e.sliceString(s,_)+d,_=s),c.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,s=this.re.exec(this.flat.text);if(s&&!s[0]&&s.index==e&&(this.re.lastIndex=e+1,s=this.re.exec(this.flat.text)),s&&this.flat.tothis.flat.text.length-10&&(s=null),s){let a=this.flat.from+s.index,c=a+s[0].length;return this.value={from:a,to:c,match:s},this.matchPos=c+(a==c?1:0),this}else{if(this.flat.to==this.to)return this.done=!0,this;this.flat=FlattenedDoc.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}}typeof Symbol!="undefined"&&(RegExpCursor.prototype[Symbol.iterator]=MultilineRegExpCursor.prototype[Symbol.iterator]=function(){return this});function validRegExp(o){try{return new RegExp(o,baseFlags),!0}catch{return!1}}function createLineDialog(o){let e=crelt("input",{class:"cm-textfield",name:"line"}),s=crelt("form",{class:"cm-gotoLine",onkeydown:c=>{c.keyCode==27?(c.preventDefault(),o.dispatch({effects:dialogEffect.of(!1)}),o.focus()):c.keyCode==13&&(c.preventDefault(),a())},onsubmit:c=>{c.preventDefault(),a()}},crelt("label",o.state.phrase("Go to line"),": ",e)," ",crelt("button",{class:"cm-button",type:"submit"},o.state.phrase("go")));function a(){let c=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(e.value);if(!c)return;let{state:d}=o,_=d.doc.lineAt(d.selection.main.head),[,b,k,$,j]=c,_e=$?+$.slice(1):0,et=k?+k:_.number;if(k&&j){let nt=et/100;b&&(nt=nt*(b=="-"?-1:1)+_.number/d.doc.lines),et=Math.round(d.doc.lines*nt)}else k&&b&&(et=et*(b=="-"?-1:1)+_.number);let tt=d.doc.line(Math.max(1,Math.min(d.doc.lines,et)));o.dispatch({effects:dialogEffect.of(!1),selection:EditorSelection.cursor(tt.from+Math.max(0,Math.min(_e,tt.length))),scrollIntoView:!0}),o.focus()}return{dom:s,pos:-10}}const dialogEffect=StateEffect.define(),dialogField=StateField.define({create(){return!0},update(o,e){for(let s of e.effects)s.is(dialogEffect)&&(o=s.value);return o},provide:o=>showPanel.from(o,e=>e?createLineDialog:null)}),gotoLine=o=>{let e=getPanel(o,createLineDialog);if(!e){let s=[dialogEffect.of(!0)];o.state.field(dialogField,!1)==null&&s.push(StateEffect.appendConfig.of([dialogField,baseTheme$1$1])),o.dispatch({effects:s}),e=getPanel(o,createLineDialog)}return e&&e.dom.querySelector("input").focus(),!0},baseTheme$1$1=EditorView.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),defaultHighlightOptions={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!0},highlightConfig=Facet.define({combine(o){return combineConfig(o,defaultHighlightOptions,{highlightWordAroundCursor:(e,s)=>e||s,minSelectionLength:Math.min,maxMatches:Math.min})}});function highlightSelectionMatches(o){let e=[defaultTheme,matchHighlighter];return o&&e.push(highlightConfig.of(o)),e}const matchDeco=Decoration.mark({class:"cm-selectionMatch"}),mainMatchDeco=Decoration.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function insideWordBoundaries(o,e,s,a){return(s==0||o(e.sliceDoc(s-1,s))!=CharCategory.Word)&&(a==e.doc.length||o(e.sliceDoc(a,a+1))!=CharCategory.Word)}function insideWord(o,e,s,a){return o(e.sliceDoc(s,s+1))==CharCategory.Word&&o(e.sliceDoc(a-1,a))==CharCategory.Word}const matchHighlighter=ViewPlugin.fromClass(class{constructor(o){this.decorations=this.getDeco(o)}update(o){(o.selectionSet||o.docChanged||o.viewportChanged)&&(this.decorations=this.getDeco(o.view))}getDeco(o){let e=o.state.facet(highlightConfig),{state:s}=o,a=s.selection;if(a.ranges.length>1)return Decoration.none;let c=a.main,d,_=null;if(c.empty){if(!e.highlightWordAroundCursor)return Decoration.none;let k=s.wordAt(c.head);if(!k)return Decoration.none;_=s.charCategorizer(c.head),d=s.sliceDoc(k.from,k.to)}else{let k=c.to-c.from;if(k200)return Decoration.none;if(e.wholeWords){if(d=s.sliceDoc(c.from,c.to),_=s.charCategorizer(c.head),!(insideWordBoundaries(_,s,c.from,c.to)&&insideWord(_,s,c.from,c.to)))return Decoration.none}else if(d=s.sliceDoc(c.from,c.to).trim(),!d)return Decoration.none}let b=[];for(let k of o.visibleRanges){let $=new SearchCursor(s.doc,d,k.from,k.to);for(;!$.next().done;){let{from:j,to:_e}=$.value;if((!_||insideWordBoundaries(_,s,j,_e))&&(c.empty&&j<=c.from&&_e>=c.to?b.push(mainMatchDeco.range(j,_e)):(j>=c.to||_e<=c.from)&&b.push(matchDeco.range(j,_e)),b.length>e.maxMatches))return Decoration.none}}return Decoration.set(b)}},{decorations:o=>o.decorations}),defaultTheme=EditorView.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),selectWord=({state:o,dispatch:e})=>{let{selection:s}=o,a=EditorSelection.create(s.ranges.map(c=>o.wordAt(c.head)||EditorSelection.cursor(c.head)),s.mainIndex);return a.eq(s)?!1:(e(o.update({selection:a})),!0)};function findNextOccurrence(o,e){let{main:s,ranges:a}=o.selection,c=o.wordAt(s.head),d=c&&c.from==s.from&&c.to==s.to;for(let _=!1,b=new SearchCursor(o.doc,e,a[a.length-1].to);;)if(b.next(),b.done){if(_)return null;b=new SearchCursor(o.doc,e,0,Math.max(0,a[a.length-1].from-1)),_=!0}else{if(_&&a.some(k=>k.from==b.value.from))continue;if(d){let k=o.wordAt(b.value.from);if(!k||k.from!=b.value.from||k.to!=b.value.to)continue}return b.value}}const selectNextOccurrence=({state:o,dispatch:e})=>{let{ranges:s}=o.selection;if(s.some(d=>d.from===d.to))return selectWord({state:o,dispatch:e});let a=o.sliceDoc(s[0].from,s[0].to);if(o.selection.ranges.some(d=>o.sliceDoc(d.from,d.to)!=a))return!1;let c=findNextOccurrence(o,a);return c?(e(o.update({selection:o.selection.addRange(EditorSelection.range(c.from,c.to),!1),effects:EditorView.scrollIntoView(c.to)})),!0):!1},searchConfigFacet=Facet.define({combine(o){var e;return{top:o.reduce((s,a)=>s!=null?s:a.top,void 0)||!1,caseSensitive:o.reduce((s,a)=>s!=null?s:a.caseSensitive||a.matchCase,void 0)||!1,createPanel:((e=o.find(s=>s.createPanel))===null||e===void 0?void 0:e.createPanel)||(s=>new SearchPanel(s))}}});class SearchQuery{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||validRegExp(this.search)),this.unquoted=this.search.replace(/\\([nrt\\])/g,(s,a)=>a=="n"?` +`:a=="r"?"\r":a=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp}create(){return this.regexp?new RegExpQuery(this):new StringQuery(this)}getCursor(e,s=0,a=e.length){return this.regexp?regexpCursor(this,e,s,a):stringCursor(this,e,s,a)}}class QueryType{constructor(e){this.spec=e}}function stringCursor(o,e,s,a){return new SearchCursor(e,o.unquoted,s,a,o.caseSensitive?void 0:c=>c.toLowerCase())}class StringQuery extends QueryType{constructor(e){super(e)}nextMatch(e,s,a){let c=stringCursor(this.spec,e,a,e.length).nextOverlapping();return c.done&&(c=stringCursor(this.spec,e,0,s).nextOverlapping()),c.done?null:c.value}prevMatchInRange(e,s,a){for(let c=a;;){let d=Math.max(s,c-1e4-this.spec.unquoted.length),_=stringCursor(this.spec,e,d,c),b=null;for(;!_.nextOverlapping().done;)b=_.value;if(b)return b;if(d==s)return null;c-=1e4}}prevMatch(e,s,a){return this.prevMatchInRange(e,0,s)||this.prevMatchInRange(e,a,e.length)}getReplacement(e){return this.spec.replace}matchAll(e,s){let a=stringCursor(this.spec,e,0,e.length),c=[];for(;!a.next().done;){if(c.length>=s)return null;c.push(a.value)}return c}highlight(e,s,a,c){let d=stringCursor(this.spec,e,Math.max(0,s-this.spec.unquoted.length),Math.min(a+this.spec.unquoted.length,e.length));for(;!d.next().done;)c(d.value.from,d.value.to)}}function regexpCursor(o,e,s,a){return new RegExpCursor(e,o.search,o.caseSensitive?void 0:{ignoreCase:!0},s,a)}class RegExpQuery extends QueryType{nextMatch(e,s,a){let c=regexpCursor(this.spec,e,a,e.length).next();return c.done&&(c=regexpCursor(this.spec,e,0,s).next()),c.done?null:c.value}prevMatchInRange(e,s,a){for(let c=1;;c++){let d=Math.max(s,a-c*1e4),_=regexpCursor(this.spec,e,d,a),b=null;for(;!_.next().done;)b=_.value;if(b&&(d==s||b.from>d+10))return b;if(d==s)return null}}prevMatch(e,s,a){return this.prevMatchInRange(e,0,s)||this.prevMatchInRange(e,a,e.length)}getReplacement(e){return this.spec.replace.replace(/\$([$&\d+])/g,(s,a)=>a=="$"?"$":a=="&"?e.match[0]:a!="0"&&+a=s)return null;c.push(a.value)}return c}highlight(e,s,a,c){let d=regexpCursor(this.spec,e,Math.max(0,s-250),Math.min(a+250,e.length));for(;!d.next().done;)c(d.value.from,d.value.to)}}const setSearchQuery=StateEffect.define(),togglePanel$1=StateEffect.define(),searchState=StateField.define({create(o){return new SearchState(defaultQuery(o).create(),null)},update(o,e){for(let s of e.effects)s.is(setSearchQuery)?o=new SearchState(s.value.create(),o.panel):s.is(togglePanel$1)&&(o=new SearchState(o.query,s.value?createSearchPanel:null));return o},provide:o=>showPanel.from(o,e=>e.panel)});class SearchState{constructor(e,s){this.query=e,this.panel=s}}const matchMark=Decoration.mark({class:"cm-searchMatch"}),selectedMatchMark=Decoration.mark({class:"cm-searchMatch cm-searchMatch-selected"}),searchHighlighter=ViewPlugin.fromClass(class{constructor(o){this.view=o,this.decorations=this.highlight(o.state.field(searchState))}update(o){let e=o.state.field(searchState);(e!=o.startState.field(searchState)||o.docChanged||o.selectionSet||o.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:o,panel:e}){if(!e||!o.spec.valid)return Decoration.none;let{view:s}=this,a=new RangeSetBuilder;for(let c=0,d=s.visibleRanges,_=d.length;c<_;c++){let{from:b,to:k}=d[c];for(;c<_-1&&k>d[c+1].from-2*250;)k=d[++c].to;o.highlight(s.state.doc,b,k,($,j)=>{let _e=s.state.selection.ranges.some(et=>et.from==$&&et.to==j);a.add($,j,_e?selectedMatchMark:matchMark)})}return a.finish()}},{decorations:o=>o.decorations});function searchCommand(o){return e=>{let s=e.state.field(searchState,!1);return s&&s.query.spec.valid?o(e,s):openSearchPanel(e)}}const findNext=searchCommand((o,{query:e})=>{let{from:s,to:a}=o.state.selection.main,c=e.nextMatch(o.state.doc,s,a);return!c||c.from==s&&c.to==a?!1:(o.dispatch({selection:{anchor:c.from,head:c.to},scrollIntoView:!0,effects:announceMatch(o,c),userEvent:"select.search"}),!0)}),findPrevious=searchCommand((o,{query:e})=>{let{state:s}=o,{from:a,to:c}=s.selection.main,d=e.prevMatch(s.doc,a,c);return d?(o.dispatch({selection:{anchor:d.from,head:d.to},scrollIntoView:!0,effects:announceMatch(o,d),userEvent:"select.search"}),!0):!1}),selectMatches=searchCommand((o,{query:e})=>{let s=e.matchAll(o.state.doc,1e3);return!s||!s.length?!1:(o.dispatch({selection:EditorSelection.create(s.map(a=>EditorSelection.range(a.from,a.to))),userEvent:"select.search.matches"}),!0)}),selectSelectionMatches=({state:o,dispatch:e})=>{let s=o.selection;if(s.ranges.length>1||s.main.empty)return!1;let{from:a,to:c}=s.main,d=[],_=0;for(let b=new SearchCursor(o.doc,o.sliceDoc(a,c));!b.next().done;){if(d.length>1e3)return!1;b.value.from==a&&(_=d.length),d.push(EditorSelection.range(b.value.from,b.value.to))}return e(o.update({selection:EditorSelection.create(d,_),userEvent:"select.search.matches"})),!0},replaceNext=searchCommand((o,{query:e})=>{let{state:s}=o,{from:a,to:c}=s.selection.main;if(s.readOnly)return!1;let d=e.nextMatch(s.doc,a,a);if(!d)return!1;let _=[],b,k;if(d.from==a&&d.to==c&&(k=s.toText(e.getReplacement(d)),_.push({from:d.from,to:d.to,insert:k}),d=e.nextMatch(s.doc,d.from,d.to)),d){let $=_.length==0||_[0].from>=d.to?0:d.to-d.from-k.length;b={anchor:d.from-$,head:d.to-$}}return o.dispatch({changes:_,selection:b,scrollIntoView:!!b,effects:d?announceMatch(o,d):void 0,userEvent:"input.replace"}),!0}),replaceAll=searchCommand((o,{query:e})=>{if(o.state.readOnly)return!1;let s=e.matchAll(o.state.doc,1e9).map(a=>{let{from:c,to:d}=a;return{from:c,to:d,insert:e.getReplacement(a)}});return s.length?(o.dispatch({changes:s,userEvent:"input.replace.all"}),!0):!1});function createSearchPanel(o){return o.state.facet(searchConfigFacet).createPanel(o)}function defaultQuery(o,e){var s;let a=o.selection.main,c=a.empty||a.to>a.from+100?"":o.sliceDoc(a.from,a.to),d=(s=e==null?void 0:e.caseSensitive)!==null&&s!==void 0?s:o.facet(searchConfigFacet).caseSensitive;return e&&!c?e:new SearchQuery({search:c.replace(/\n/g,"\\n"),caseSensitive:d})}const openSearchPanel=o=>{let e=o.state.field(searchState,!1);if(e&&e.panel){let s=getPanel(o,createSearchPanel);if(!s)return!1;let a=s.dom.querySelector("[name=search]");if(a!=o.root.activeElement){let c=defaultQuery(o.state,e.query.spec);c.valid&&o.dispatch({effects:setSearchQuery.of(c)}),a.focus(),a.select()}}else o.dispatch({effects:[togglePanel$1.of(!0),e?setSearchQuery.of(defaultQuery(o.state,e.query.spec)):StateEffect.appendConfig.of(searchExtensions)]});return!0},closeSearchPanel=o=>{let e=o.state.field(searchState,!1);if(!e||!e.panel)return!1;let s=getPanel(o,createSearchPanel);return s&&s.dom.contains(o.root.activeElement)&&o.focus(),o.dispatch({effects:togglePanel$1.of(!1)}),!0},searchKeymap=[{key:"Mod-f",run:openSearchPanel,scope:"editor search-panel"},{key:"F3",run:findNext,shift:findPrevious,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:findNext,shift:findPrevious,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:closeSearchPanel,scope:"editor search-panel"},{key:"Mod-Shift-l",run:selectSelectionMatches},{key:"Alt-g",run:gotoLine},{key:"Mod-d",run:selectNextOccurrence,preventDefault:!0}];class SearchPanel{constructor(e){this.view=e;let s=this.query=e.state.field(searchState).query.spec;this.commit=this.commit.bind(this),this.searchField=crelt("input",{value:s.search,placeholder:phrase(e,"Find"),"aria-label":phrase(e,"Find"),class:"cm-textfield",name:"search",onchange:this.commit,onkeyup:this.commit}),this.replaceField=crelt("input",{value:s.replace,placeholder:phrase(e,"Replace"),"aria-label":phrase(e,"Replace"),class:"cm-textfield",name:"replace",onchange:this.commit,onkeyup:this.commit}),this.caseField=crelt("input",{type:"checkbox",name:"case",checked:s.caseSensitive,onchange:this.commit}),this.reField=crelt("input",{type:"checkbox",name:"re",checked:s.regexp,onchange:this.commit});function a(c,d,_){return crelt("button",{class:"cm-button",name:c,onclick:d,type:"button"},_)}this.dom=crelt("div",{onkeydown:c=>this.keydown(c),class:"cm-search"},[this.searchField,a("next",()=>findNext(e),[phrase(e,"next")]),a("prev",()=>findPrevious(e),[phrase(e,"previous")]),a("select",()=>selectMatches(e),[phrase(e,"all")]),crelt("label",null,[this.caseField,phrase(e,"match case")]),crelt("label",null,[this.reField,phrase(e,"regexp")]),...e.state.readOnly?[]:[crelt("br"),this.replaceField,a("replace",()=>replaceNext(e),[phrase(e,"replace")]),a("replaceAll",()=>replaceAll(e),[phrase(e,"replace all")]),crelt("button",{name:"close",onclick:()=>closeSearchPanel(e),"aria-label":phrase(e,"close"),type:"button"},["\xD7"])]])}commit(){let e=new SearchQuery({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:setSearchQuery.of(e)}))}keydown(e){runScopeHandlers(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?findPrevious:findNext)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),replaceNext(this.view))}update(e){for(let s of e.transactions)for(let a of s.effects)a.is(setSearchQuery)&&!a.value.eq(this.query)&&this.setQuery(a.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(searchConfigFacet).top}}function phrase(o,e){return o.state.phrase(e)}const AnnounceMargin=30,Break=/[\s\.,:;?!]/;function announceMatch(o,{from:e,to:s}){let a=o.state.doc.lineAt(e).from,c=o.state.doc.lineAt(s).to,d=Math.max(a,e-AnnounceMargin),_=Math.min(c,s+AnnounceMargin),b=o.state.sliceDoc(d,_);if(d!=a){for(let k=0;kb.length-AnnounceMargin;k--)if(!Break.test(b[k-1])&&Break.test(b[k])){b=b.slice(0,k);break}}return EditorView.announce.of(`${o.state.phrase("current match")}. ${b} ${o.state.phrase("on line")} ${o.state.doc.lineAt(e).number}`)}const baseTheme$3=EditorView.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),searchExtensions=[searchState,Prec.lowest(searchHighlighter),baseTheme$3],ios=typeof navigator!="undefined"&&!/Edge\/(\d+)/.exec(navigator.userAgent)&&/Apple Computer/.test(navigator.vendor)&&(/Mobile\/\w+/.test(navigator.userAgent)||navigator.maxTouchPoints>2),Outside="-10000px";class TooltipViewManager{constructor(e,s,a){this.facet=s,this.createTooltipView=a,this.input=e.state.facet(s),this.tooltips=this.input.filter(c=>c),this.tooltipViews=this.tooltips.map(a)}update(e){let s=e.state.facet(this.facet),a=s.filter(d=>d);if(s===this.input){for(let d of this.tooltipViews)d.update&&d.update(e);return!1}let c=[];for(let d=0;d{var e,s,a;return{position:ios?"absolute":((e=o.find(c=>c.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((s=o.find(c=>c.parent))===null||s===void 0?void 0:s.parent)||null,tooltipSpace:((a=o.find(c=>c.tooltipSpace))===null||a===void 0?void 0:a.tooltipSpace)||windowSpace}}}),tooltipPlugin=ViewPlugin.fromClass(class{constructor(o){var e;this.view=o,this.inView=!0,this.lastTransaction=0,this.measureTimeout=-1;let s=o.state.facet(tooltipConfig);this.position=s.position,this.parent=s.parent,this.classes=o.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.manager=new TooltipViewManager(o,showTooltip,a=>this.createTooltip(a)),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(a=>{Date.now()>this.lastTransaction-50&&a.length>0&&a[a.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),(e=o.dom.ownerDocument.defaultView)===null||e===void 0||e.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let o of this.manager.tooltipViews)this.intersectionObserver.observe(o.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(o){o.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(o);e&&this.observeIntersection();let s=e||o.geometryChanged,a=o.state.facet(tooltipConfig);if(a.position!=this.position){this.position=a.position;for(let c of this.manager.tooltipViews)c.dom.style.position=this.position;s=!0}if(a.parent!=this.parent){this.parent&&this.container.remove(),this.parent=a.parent,this.createContainer();for(let c of this.manager.tooltipViews)this.container.appendChild(c.dom);s=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);s&&this.maybeMeasure()}createTooltip(o){let e=o.create(this.view);if(e.dom.classList.add("cm-tooltip"),o.arrow&&!e.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let s=document.createElement("div");s.className="cm-tooltip-arrow",e.dom.appendChild(s)}return e.dom.style.position=this.position,e.dom.style.top=Outside,this.container.appendChild(e.dom),e.mount&&e.mount(this.view),e}destroy(){var o,e;(o=this.view.dom.ownerDocument.defaultView)===null||o===void 0||o.removeEventListener("resize",this.measureSoon);for(let{dom:s}of this.manager.tooltipViews)s.remove();(e=this.intersectionObserver)===null||e===void 0||e.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let o=this.view.dom.getBoundingClientRect();return{editor:o,parent:this.parent?this.container.getBoundingClientRect():o,pos:this.manager.tooltips.map((e,s)=>{let a=this.manager.tooltipViews[s];return a.getCoords?a.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(tooltipConfig).tooltipSpace(this.view)}}writeMeasure(o){let{editor:e,space:s}=o,a=[];for(let c=0;c=Math.min(e.bottom,s.bottom)||k.rightMath.min(e.right,s.right)+.1){b.style.top=Outside;continue}let j=d.arrow?_.dom.querySelector(".cm-tooltip-arrow"):null,_e=j?7:0,et=$.right-$.left,tt=$.bottom-$.top,nt=_.offset||noOffset,it=this.view.textDirection==Direction.LTR,rt=$.width>s.right-s.left?it?s.left:s.right-$.width:it?Math.min(k.left-(j?14:0)+nt.x,s.right-et):Math.max(s.left,k.left-et+(j?14:0)-nt.x),st=!!d.above;!d.strictSide&&(st?k.top-($.bottom-$.top)-nt.ys.bottom)&&st==s.bottom-k.bottom>k.top-s.top&&(st=!st);let at=st?k.top-tt-_e-nt.y:k.bottom+_e+nt.y,ot=rt+et;if(_.overlap!==!0)for(let pt of a)pt.leftrt&&pt.topat&&(at=st?pt.top-tt-2-_e:pt.bottom+_e+2);this.position=="absolute"?(b.style.top=at-o.parent.top+"px",b.style.left=rt-o.parent.left+"px"):(b.style.top=at+"px",b.style.left=rt+"px"),j&&(j.style.left=`${k.left+(it?nt.x:-nt.x)-(rt+14-7)}px`),_.overlap!==!0&&a.push({left:rt,top:at,right:ot,bottom:at+tt}),b.classList.toggle("cm-tooltip-above",st),b.classList.toggle("cm-tooltip-below",!st),_.positioned&&_.positioned()}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let o of this.manager.tooltipViews)o.dom.style.top=Outside}},{eventHandlers:{scroll(){this.maybeMeasure()}}}),baseTheme$2=EditorView.baseTheme({".cm-tooltip":{zIndex:100},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:`${7}px`,width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:`${7}px solid transparent`,borderRight:`${7}px solid transparent`},".cm-tooltip-above &":{bottom:`-${7}px`,"&:before":{borderTop:`${7}px solid #bbb`},"&:after":{borderTop:`${7}px solid #f5f5f5`,bottom:"1px"}},".cm-tooltip-below &":{top:`-${7}px`,"&:before":{borderBottom:`${7}px solid #bbb`},"&:after":{borderBottom:`${7}px solid #f5f5f5`,top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),noOffset={x:0,y:0},showTooltip=Facet.define({enables:[tooltipPlugin,baseTheme$2]}),showHoverTooltip=Facet.define();class HoverTooltipHost{constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new TooltipViewManager(e,showHoverTooltip,s=>this.createHostedView(s))}static create(e){return new HoverTooltipHost(e)}createHostedView(e){let s=e.create(this.view);return s.dom.classList.add("cm-tooltip-section"),this.dom.appendChild(s.dom),this.mounted&&s.mount&&s.mount(this.view),s}mount(e){for(let s of this.manager.tooltipViews)s.mount&&s.mount(e);this.mounted=!0}positioned(){for(let e of this.manager.tooltipViews)e.positioned&&e.positioned()}update(e){this.manager.update(e)}}const showHoverTooltipHost=showTooltip.compute([showHoverTooltip],o=>{let e=o.facet(showHoverTooltip).filter(s=>s);return e.length===0?null:{pos:Math.min(...e.map(s=>s.pos)),end:Math.max(...e.filter(s=>s.end!=null).map(s=>s.end)),create:HoverTooltipHost.create,above:e[0].above,arrow:e.some(s=>s.arrow)}});class HoverPlugin{constructor(e,s,a,c,d){this.view=e,this.source=s,this.field=a,this.setHover=c,this.hoverTime=d,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active)return;let e=Date.now()-this.lastMove.time;ec.bottom||s.xc.right+this.view.defaultCharacterWidth)return;let d=this.view.bidiSpans(this.view.state.doc.lineAt(a)).find(k=>k.from<=a&&k.to>=a),_=d&&d.dir==Direction.RTL?-1:1,b=this.source(this.view,a,s.x{this.pending==k&&(this.pending=null,$&&this.view.dispatch({effects:this.setHover.of($)}))},$=>logException(this.view.state,$,"hover tooltip"))}else b&&this.view.dispatch({effects:this.setHover.of(b)})}mousemove(e){var s;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let a=this.active;if(a&&!isInTooltip(this.lastMove.target)||this.pending){let{pos:c}=a||this.pending,d=(s=a==null?void 0:a.end)!==null&&s!==void 0?s:c;(c==d?this.view.posAtCoords(this.lastMove)!=c:!isOverRange(this.view,c,d,e.clientX,e.clientY,6))&&(this.view.dispatch({effects:this.setHover.of(null)}),this.pending=null)}}mouseleave(){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1,this.active&&this.view.dispatch({effects:this.setHover.of(null)})}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}function isInTooltip(o){for(let e=o;e;e=e.parentNode)if(e.nodeType==1&&e.classList.contains("cm-tooltip"))return!0;return!1}function isOverRange(o,e,s,a,c,d){let _=document.createRange(),b=o.domAtPos(e),k=o.domAtPos(s);_.setEnd(k.node,k.offset),_.setStart(b.node,b.offset);let $=_.getClientRects();_.detach();for(let j=0;j<$.length;j++){let _e=$[j];if(Math.max(_e.top-c,c-_e.bottom,_e.left-a,a-_e.right)<=d)return!0}return!1}function hoverTooltip(o,e={}){let s=StateEffect.define(),a=StateField.define({create(){return null},update(c,d){if(c&&e.hideOnChange&&(d.docChanged||d.selection))return null;for(let _ of d.effects){if(_.is(s))return _.value;if(_.is(closeHoverTooltipEffect))return null}if(c&&d.docChanged){let _=d.changes.mapPos(c.pos,-1,MapMode.TrackDel);if(_==null)return null;let b=Object.assign(Object.create(null),c);return b.pos=_,c.end!=null&&(b.end=d.changes.mapPos(c.end)),b}return c},provide:c=>showHoverTooltip.from(c)});return[a,ViewPlugin.define(c=>new HoverPlugin(c,o,a,s,e.hoverTime||300)),showHoverTooltipHost]}function getTooltip(o,e){let s=o.plugin(tooltipPlugin);if(!s)return null;let a=s.manager.tooltips.indexOf(e);return a<0?null:s.manager.tooltipViews[a]}const closeHoverTooltipEffect=StateEffect.define();class CompletionContext{constructor(e,s,a){this.state=e,this.pos=s,this.explicit=a,this.abortListeners=[]}tokenBefore(e){let s=syntaxTree(this.state).resolveInner(this.pos,-1);for(;s&&e.indexOf(s.name)<0;)s=s.parent;return s?{from:s.from,to:this.pos,text:this.state.sliceDoc(s.from,this.pos),type:s.type}:null}matchBefore(e){let s=this.state.doc.lineAt(this.pos),a=Math.max(s.from,this.pos-250),c=s.text.slice(a-s.from,this.pos-s.from),d=c.search(ensureAnchor(e,!1));return d<0?null:{from:a+d,to:this.pos,text:c.slice(d)}}get aborted(){return this.abortListeners==null}addEventListener(e,s){e=="abort"&&this.abortListeners&&this.abortListeners.push(s)}}function toSet(o){let e=Object.keys(o).join(""),s=/\w/.test(e);return s&&(e=e.replace(/\w/g,"")),`[${s?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function prefixMatch(o){let e=Object.create(null),s=Object.create(null);for(let{label:c}of o){e[c[0]]=!0;for(let d=1;dtypeof c=="string"?{label:c}:c),[s,a]=e.every(c=>/^\w+$/.test(c.label))?[/\w*$/,/\w+$/]:prefixMatch(e);return c=>{let d=c.matchBefore(a);return d||c.explicit?{from:d?d.from:c.pos,options:e,span:s}:null}}function ifNotIn(o,e){return s=>{for(let a=syntaxTree(s.state).resolveInner(s.pos,-1);a;a=a.parent)if(o.indexOf(a.name)>-1)return null;return e(s)}}class Option{constructor(e,s,a){this.completion=e,this.source=s,this.match=a}}function cur(o){return o.selection.main.head}function ensureAnchor(o,e){var s;let{source:a}=o,c=e&&a[0]!="^",d=a[a.length-1]!="$";return!c&&!d?o:new RegExp(`${c?"^":""}(?:${a})${d?"$":""}`,(s=o.flags)!==null&&s!==void 0?s:o.ignoreCase?"i":"")}const pickedCompletion=Annotation.define();function applyCompletion(o,e){let s=e.completion.apply||e.completion.label,a=e.source;typeof s=="string"?o.dispatch({changes:{from:a.from,to:a.to,insert:s},selection:{anchor:a.from+s.length},userEvent:"input.complete",annotations:pickedCompletion.of(e.completion)}):s(o,e.completion,a.from,a.to)}const SourceCache=new WeakMap;function asSource(o){if(!Array.isArray(o))return o;let e=SourceCache.get(o);return e||SourceCache.set(o,e=completeFromList(o)),e}class FuzzyMatcher{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[];for(let s=0;s=48&&ct<=57||ct>=97&&ct<=122?2:ct>=65&&ct<=90?1:0:(ut=fromCodePoint(ct))!=ut.toLowerCase()?1:ut!=ut.toUpperCase()?2:0;(!at||lt==1&&rt||pt==0&<!=0)&&(s[_e]==ct||a[_e]==ct&&(et=!0)?_[_e++]=at:_.length&&(st=!1)),pt=lt,at+=codePointSize(ct)}return _e==k&&_[0]==0&&st?this.result(-100+(et?-200:0),_,e):tt==k&&nt==0?[-200-e.length,0,it]:b>-1?[-700-e.length,b,b+this.pattern.length]:tt==k?[-200+-700-e.length,nt,it]:_e==k?this.result(-100+(et?-200:0)+-700+(st?0:-1100),_,e):s.length==2?null:this.result((c[0]?-700:0)+-200+-1100,c,e)}result(e,s,a){let c=[e-a.length],d=1;for(let _ of s){let b=_+(this.astral?codePointSize(codePointAt(a,_)):1);d>1&&c[d-1]==_?c[d-1]=b:(c[d++]=_,c[d++]=b)}return c}}const completionConfig=Facet.define({combine(o){return combineConfig(o,{activateOnTyping:!0,override:null,maxRenderedOptions:100,defaultKeymap:!0,optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[]},{defaultKeymap:(e,s)=>e&&s,icons:(e,s)=>e&&s,optionClass:(e,s)=>a=>joinClass(e(a),s(a)),addToOptions:(e,s)=>e.concat(s)})}});function joinClass(o,e){return o?e?o+" "+e:o:e}function optionContent(o){let e=o.addToOptions.slice();return o.icons&&e.push({render(s){let a=document.createElement("div");return a.classList.add("cm-completionIcon"),s.type&&a.classList.add(...s.type.split(/\s+/g).map(c=>"cm-completionIcon-"+c)),a.setAttribute("aria-hidden","true"),a},position:20}),e.push({render(s,a,c){let d=document.createElement("span");d.className="cm-completionLabel";let{label:_}=s,b=0;for(let k=1;kb&&d.appendChild(document.createTextNode(_.slice(b,$)));let _e=d.appendChild(document.createElement("span"));_e.appendChild(document.createTextNode(_.slice($,j))),_e.className="cm-completionMatchedText",b=j}return b<_.length&&d.appendChild(document.createTextNode(_.slice(b))),d},position:50},{render(s){if(!s.detail)return null;let a=document.createElement("span");return a.className="cm-completionDetail",a.textContent=s.detail,a},position:80}),e.sort((s,a)=>s.position-a.position).map(s=>s.render)}function rangeAroundSelected(o,e,s){if(o<=s)return{from:0,to:o};if(e<=o>>1){let c=Math.floor(e/s);return{from:c*s,to:(c+1)*s}}let a=Math.floor((o-e)/s);return{from:o-(a+1)*s,to:o-a*s}}class CompletionTooltip{constructor(e,s){this.view=e,this.stateField=s,this.info=null,this.placeInfo={read:()=>this.measureInfo(),write:b=>this.positionInfo(b),key:this};let a=e.state.field(s),{options:c,selected:d}=a.open,_=e.state.facet(completionConfig);this.optionContent=optionContent(_),this.optionClass=_.optionClass,this.range=rangeAroundSelected(c.length,d,_.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.dom.addEventListener("mousedown",b=>{for(let k=b.target,$;k&&k!=this.dom;k=k.parentNode)if(k.nodeName=="LI"&&($=/-(\d+)$/.exec(k.id))&&+$[1]{this.info&&this.view.requestMeasure(this.placeInfo)})}mount(){this.updateSel()}update(e){e.state.field(this.stateField)!=e.startState.field(this.stateField)&&this.updateSel()}positioned(){this.info&&this.view.requestMeasure(this.placeInfo)}updateSel(){let e=this.view.state.field(this.stateField),s=e.open;if((s.selected=this.range.to)&&(this.range=rangeAroundSelected(s.options.length,s.selected,this.view.state.facet(completionConfig).maxRenderedOptions),this.list.remove(),this.list=this.dom.appendChild(this.createListBox(s.options,e.id,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfo)})),this.updateSelectedOption(s.selected)){this.info&&(this.info.remove(),this.info=null);let{completion:a}=s.options[s.selected],{info:c}=a;if(!c)return;let d=typeof c=="string"?document.createTextNode(c):c(a);if(!d)return;"then"in d?d.then(_=>{_&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(_)}).catch(_=>logException(this.view.state,_,"completion info")):this.addInfoPane(d)}}addInfoPane(e){let s=this.info=document.createElement("div");s.className="cm-tooltip cm-completionInfo",s.appendChild(e),this.dom.appendChild(s),this.view.requestMeasure(this.placeInfo)}updateSelectedOption(e){let s=null;for(let a=this.list.firstChild,c=this.range.from;a;a=a.nextSibling,c++)c==e?a.hasAttribute("aria-selected")||(a.setAttribute("aria-selected","true"),s=a):a.hasAttribute("aria-selected")&&a.removeAttribute("aria-selected");return s&&scrollIntoView(this.list,s),s}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let s=this.dom.getBoundingClientRect(),a=this.info.getBoundingClientRect(),c=e.getBoundingClientRect();if(c.top>Math.min(innerHeight,s.bottom)-10||c.bottomnew CompletionTooltip(e,o)}function scrollIntoView(o,e){let s=o.getBoundingClientRect(),a=e.getBoundingClientRect();a.tops.bottom&&(o.scrollTop+=a.bottom-s.bottom)}const MaxOptions=300;function score(o){return(o.boost||0)*100+(o.apply?10:0)+(o.info?5:0)+(o.type?1:0)}function sortOptions(o,e){let s=[],a=0;for(let _ of o)if(_.hasResult())if(_.result.filter===!1)for(let b of _.result.options)s.push(new Option(b,_,[1e9-a++]));else{let b=new FuzzyMatcher(e.sliceDoc(_.from,_.to)),k;for(let $ of _.result.options)(k=b.match($.label))&&($.boost!=null&&(k[0]+=$.boost),s.push(new Option($,_,k)))}let c=[],d=null;for(let _ of s.sort(cmpOption)){if(c.length==MaxOptions)break;!d||d.label!=_.completion.label||d.detail!=_.completion.detail||d.type!=_.completion.type||d.apply!=_.completion.apply?c.push(_):score(_.completion)>score(d)&&(c[c.length-1]=_),d=_.completion}return c}class CompletionDialog{constructor(e,s,a,c,d){this.options=e,this.attrs=s,this.tooltip=a,this.timestamp=c,this.selected=d}setSelected(e,s){return e==this.selected||e>=this.options.length?this:new CompletionDialog(this.options,makeAttrs(s,e),this.tooltip,this.timestamp,e)}static build(e,s,a,c,d){let _=sortOptions(e,s);if(!_.length)return null;let b=0;if(c&&c.selected){let k=c.options[c.selected].completion;for(let $=0;$<_.length;$++)if(_[$].completion==k){b=$;break}}return new CompletionDialog(_,makeAttrs(a,b),{pos:e.reduce((k,$)=>$.hasResult()?Math.min(k,$.from):k,1e8),create:completionTooltip(completionState),above:d.aboveCursor},c?c.timestamp:Date.now(),b)}map(e){return new CompletionDialog(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected)}}class CompletionState{constructor(e,s,a){this.active=e,this.id=s,this.open=a}static start(){return new CompletionState(none,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:s}=e,a=s.facet(completionConfig),d=(a.override||s.languageDataAt("autocomplete",cur(s)).map(asSource)).map(b=>(this.active.find($=>$.source==b)||new ActiveSource(b,this.active.some($=>$.state!=0)?1:0)).update(e,a));d.length==this.active.length&&d.every((b,k)=>b==this.active[k])&&(d=this.active);let _=e.selection||d.some(b=>b.hasResult()&&e.changes.touchesRange(b.from,b.to))||!sameResults(d,this.active)?CompletionDialog.build(d,s,this.id,this.open,a):this.open&&e.docChanged?this.open.map(e.changes):this.open;!_&&d.every(b=>b.state!=1)&&d.some(b=>b.hasResult())&&(d=d.map(b=>b.hasResult()?new ActiveSource(b.source,0):b));for(let b of e.effects)b.is(setSelectedEffect)&&(_=_&&_.setSelected(b.value,this.id));return d==this.active&&_==this.open?this:new CompletionState(d,this.id,_)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:baseAttrs}}function sameResults(o,e){if(o==e)return!0;for(let s=0,a=0;;){for(;sd||s=="delete"&&cur(e.startState)==this.from)return new ActiveSource(this.source,s=="input"&&a.activateOnTyping?1:0);let b=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos);return this.span&&(c==d||this.span.test(e.state.sliceDoc(c,d)))?new ActiveResult(this.source,b,this.result,c,d,this.span):new ActiveSource(this.source,1,b)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new ActiveSource(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new ActiveResult(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1),this.span)}}const startCompletionEffect=StateEffect.define(),closeCompletionEffect=StateEffect.define(),setActiveEffect=StateEffect.define({map(o,e){return o.map(s=>s.map(e))}}),setSelectedEffect=StateEffect.define(),completionState=StateField.define({create(){return CompletionState.start()},update(o,e){return o.update(e)},provide:o=>[showTooltip.from(o,e=>e.tooltip),EditorView.contentAttributes.from(o,e=>e.attrs)]}),CompletionInteractMargin=75;function moveCompletionSelection(o,e="option"){return s=>{let a=s.state.field(completionState,!1);if(!a||!a.open||Date.now()-a.open.timestamp=b&&(_=e=="page"?b-1:0),s.dispatch({effects:setSelectedEffect.of(_)}),!0}}const acceptCompletion=o=>{let e=o.state.field(completionState,!1);return o.state.readOnly||!e||!e.open||Date.now()-e.open.timestampo.state.field(completionState,!1)?(o.dispatch({effects:startCompletionEffect.of(!0)}),!0):!1,closeCompletion=o=>{let e=o.state.field(completionState,!1);return!e||!e.active.some(s=>s.state!=0)?!1:(o.dispatch({effects:closeCompletionEffect.of(null)}),!0)};class RunningQuery{constructor(e,s){this.active=e,this.context=s,this.time=Date.now(),this.updates=[],this.done=void 0}}const DebounceTime=50,MaxUpdateCount=50,MinAbortTime=1e3,completionPlugin=ViewPlugin.fromClass(class{constructor(o){this.view=o,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let e of o.state.field(completionState).active)e.state==1&&this.startQuery(e)}update(o){let e=o.state.field(completionState);if(!o.selectionSet&&!o.docChanged&&o.startState.field(completionState)==e)return;let s=o.transactions.some(a=>(a.selection||a.docChanged)&&!getUserEvent(a));for(let a=0;aMaxUpdateCount&&Date.now()-c.time>MinAbortTime){for(let d of c.context.abortListeners)try{d()}catch(_){logException(this.view.state,_)}c.context.abortListeners=null,this.running.splice(a--,1)}else c.updates.push(...o.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=e.active.some(a=>a.state==1&&!this.running.some(c=>c.active.source==a.source))?setTimeout(()=>this.startUpdate(),DebounceTime):-1,this.composing!=0)for(let a of o.transactions)getUserEvent(a)=="input"?this.composing=2:this.composing==2&&a.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:o}=this.view,e=o.field(completionState);for(let s of e.active)s.state==1&&!this.running.some(a=>a.active.source==s.source)&&this.startQuery(s)}startQuery(o){let{state:e}=this.view,s=cur(e),a=new CompletionContext(e,s,o.explicitPos==s),c=new RunningQuery(o,a);this.running.push(c),Promise.resolve(o.source(a)).then(d=>{c.context.aborted||(c.done=d||null,this.scheduleAccept())},d=>{this.view.dispatch({effects:closeCompletionEffect.of(null)}),logException(this.view.state,d)})}scheduleAccept(){this.running.every(o=>o.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),DebounceTime))}accept(){var o;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],s=this.view.state.facet(completionConfig);for(let a=0;a_.source==c.active.source);if(d&&d.state==1)if(c.done==null){let _=new ActiveSource(c.active.source,0);for(let b of c.updates)_=_.update(b,s);_.state!=1&&e.push(_)}else this.startQuery(d)}e.length&&this.view.dispatch({effects:setActiveEffect.of(e)})}},{eventHandlers:{compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:startCompletionEffect.of(!1)}),20),this.composing=0}}}),baseTheme$1=EditorView.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",listStyle:"none",margin:0,padding:0,"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer",padding:"1px 3px",lineHeight:1.2}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"300px"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class FieldPos{constructor(e,s,a,c){this.field=e,this.line=s,this.from=a,this.to=c}}class FieldRange{constructor(e,s,a){this.field=e,this.from=s,this.to=a}map(e){let s=e.mapPos(this.from,-1,MapMode.TrackDel),a=e.mapPos(this.to,1,MapMode.TrackDel);return s==null||a==null?null:new FieldRange(this.field,s,a)}}class Snippet{constructor(e,s){this.lines=e,this.fieldPositions=s}instantiate(e,s){let a=[],c=[s],d=e.doc.lineAt(s),_=/^\s*/.exec(d.text)[0];for(let k of this.lines){if(a.length){let $=_,j=/^\t*/.exec(k)[0].length;for(let _e=0;_enew FieldRange(k.field,c[k.line]+k.from,c[k.line]+k.to));return{text:a,ranges:b}}static parse(e){let s=[],a=[],c=[],d;for(let _ of e.split(/\r\n?|\n/)){for(;d=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(_);){let b=d[1]?+d[1]:null,k=d[2]||d[3]||"",$=-1;for(let j=0;j=$&&_e.field++}c.push(new FieldPos($,a.length,d.index,d.index+k.length)),_=_.slice(0,d.index)+k+_.slice(d.index+d[0].length)}a.push(_)}return new Snippet(a,c)}}let fieldMarker=Decoration.widget({widget:new class extends WidgetType{toDOM(){let o=document.createElement("span");return o.className="cm-snippetFieldPosition",o}ignoreEvent(){return!1}}}),fieldRange=Decoration.mark({class:"cm-snippetField"});class ActiveSnippet{constructor(e,s){this.ranges=e,this.active=s,this.deco=Decoration.set(e.map(a=>(a.from==a.to?fieldMarker:fieldRange).range(a.from,a.to)))}map(e){let s=[];for(let a of this.ranges){let c=a.map(e);if(!c)return null;s.push(c)}return new ActiveSnippet(s,this.active)}selectionInsideField(e){return e.ranges.every(s=>this.ranges.some(a=>a.field==this.active&&a.from<=s.from&&a.to>=s.to))}}const setActive=StateEffect.define({map(o,e){return o&&o.map(e)}}),moveToField=StateEffect.define(),snippetState=StateField.define({create(){return null},update(o,e){for(let s of e.effects){if(s.is(setActive))return s.value;if(s.is(moveToField)&&o)return new ActiveSnippet(o.ranges,s.value)}return o&&e.docChanged&&(o=o.map(e.changes)),o&&e.selection&&!o.selectionInsideField(e.selection)&&(o=null),o},provide:o=>EditorView.decorations.from(o,e=>e?e.deco:Decoration.none)});function fieldSelection(o,e){return EditorSelection.create(o.filter(s=>s.field==e).map(s=>EditorSelection.range(s.from,s.to)))}function snippet(o){let e=Snippet.parse(o);return(s,a,c,d)=>{let{text:_,ranges:b}=e.instantiate(s.state,c),k={changes:{from:c,to:d,insert:Text.of(_)}};if(b.length&&(k.selection=fieldSelection(b,0)),b.length>1){let $=new ActiveSnippet(b,0),j=k.effects=[setActive.of($)];s.state.field(snippetState,!1)===void 0&&j.push(StateEffect.appendConfig.of([snippetState,addSnippetKeymap,snippetPointerHandler,baseTheme$1]))}s.dispatch(s.state.update(k))}}function moveField(o){return({state:e,dispatch:s})=>{let a=e.field(snippetState,!1);if(!a||o<0&&a.active==0)return!1;let c=a.active+o,d=o>0&&!a.ranges.some(_=>_.field==c+o);return s(e.update({selection:fieldSelection(a.ranges,c),effects:setActive.of(d?null:new ActiveSnippet(a.ranges,c))})),!0}}const clearSnippet=({state:o,dispatch:e})=>o.field(snippetState,!1)?(e(o.update({effects:setActive.of(null)})),!0):!1,nextSnippetField=moveField(1),prevSnippetField=moveField(-1),defaultSnippetKeymap=[{key:"Tab",run:nextSnippetField,shift:prevSnippetField},{key:"Escape",run:clearSnippet}],snippetKeymap=Facet.define({combine(o){return o.length?o[0]:defaultSnippetKeymap}}),addSnippetKeymap=Prec.highest(keymap.compute([snippetKeymap],o=>o.facet(snippetKeymap)));function snippetCompletion(o,e){return Object.assign(Object.assign({},e),{apply:snippet(o)})}const snippetPointerHandler=EditorView.domEventHandlers({mousedown(o,e){let s=e.state.field(snippetState,!1),a;if(!s||(a=e.posAtCoords({x:o.clientX,y:o.clientY}))==null)return!1;let c=s.ranges.find(d=>d.from<=a&&d.to>=a);return!c||c.field==s.active?!1:(e.dispatch({selection:fieldSelection(s.ranges,c.field),effects:setActive.of(s.ranges.some(d=>d.field>c.field)?new ActiveSnippet(s.ranges,c.field):null)}),!0)}});function autocompletion(o={}){return[completionState,completionConfig.of(o),completionPlugin,completionKeymapExt,baseTheme$1]}const completionKeymap=[{key:"Ctrl-Space",run:startCompletion},{key:"Escape",run:closeCompletion},{key:"ArrowDown",run:moveCompletionSelection(!0)},{key:"ArrowUp",run:moveCompletionSelection(!1)},{key:"PageDown",run:moveCompletionSelection(!0,"page")},{key:"PageUp",run:moveCompletionSelection(!1,"page")},{key:"Enter",run:acceptCompletion}],completionKeymapExt=Prec.highest(keymap.computeN([completionConfig],o=>o.facet(completionConfig).defaultKeymap?[completionKeymap]:[])),toggleComment=o=>{let e=getConfig(o.state);return e.line?toggleLineComment(o):e.block?toggleBlockCommentByLine(o):!1};function command(o,e){return({state:s,dispatch:a})=>{if(s.readOnly)return!1;let c=o(e,s);return c?(a(s.update(c)),!0):!1}}const toggleLineComment=command(changeLineComment,0),toggleBlockComment=command(changeBlockComment,0),toggleBlockCommentByLine=command((o,e)=>changeBlockComment(o,e,selectedLineRanges(e)),0),commentKeymap=[{key:"Mod-/",run:toggleComment},{key:"Alt-A",run:toggleBlockComment}];function getConfig(o,e=o.selection.main.head){let s=o.languageDataAt("commentTokens",e);return s.length?s[0]:{}}const SearchMargin=50;function findBlockComment(o,{open:e,close:s},a,c){let d=o.sliceDoc(a-SearchMargin,a),_=o.sliceDoc(c,c+SearchMargin),b=/\s*$/.exec(d)[0].length,k=/^\s*/.exec(_)[0].length,$=d.length-b;if(d.slice($-e.length,$)==e&&_.slice(k,k+s.length)==s)return{open:{pos:a-b,margin:b&&1},close:{pos:c+k,margin:k&&1}};let j,_e;c-a<=2*SearchMargin?j=_e=o.sliceDoc(a,c):(j=o.sliceDoc(a,a+SearchMargin),_e=o.sliceDoc(c-SearchMargin,c));let et=/^\s*/.exec(j)[0].length,tt=/\s*$/.exec(_e)[0].length,nt=_e.length-tt-s.length;return j.slice(et,et+e.length)==e&&_e.slice(nt,nt+s.length)==s?{open:{pos:a+et+e.length,margin:/\s/.test(j.charAt(et+e.length))?1:0},close:{pos:c-tt-s.length,margin:/\s/.test(_e.charAt(nt-1))?1:0}}:null}function selectedLineRanges(o){let e=[];for(let s of o.selection.ranges){let a=o.doc.lineAt(s.from),c=s.to<=a.to?a:o.doc.lineAt(s.to),d=e.length-1;d>=0&&e[d].to>a.from?e[d].to=c.to:e.push({from:a.from,to:c.to})}return e}function changeBlockComment(o,e,s=e.selection.ranges){let a=s.map(d=>getConfig(e,d.from).block);if(!a.every(d=>d))return null;let c=s.map((d,_)=>findBlockComment(e,a[_],d.from,d.to));if(o!=2&&!c.every(d=>d))return{changes:e.changes(s.map((d,_)=>c[_]?[]:[{from:d.from,insert:a[_].open+" "},{from:d.to,insert:" "+a[_].close}]))};if(o!=1&&c.some(d=>d)){let d=[];for(let _=0,b;_c&&(d==_||_>j.from)){c=j.from;let _e=getConfig(e,$).line;if(!_e)continue;let et=/^\s*/.exec(j.text)[0].length,tt=et==j.length,nt=j.text.slice(et,et+_e.length)==_e?et:-1;etd.comment<0&&(!d.empty||d.single))){let d=[];for(let{line:b,token:k,indent:$,empty:j,single:_e}of a)(_e||!j)&&d.push({from:b.from+$,insert:k+" "});let _=e.changes(d);return{changes:_,selection:e.selection.map(_,1)}}else if(o!=1&&a.some(d=>d.comment>=0)){let d=[];for(let{line:_,comment:b,token:k}of a)if(b>=0){let $=_.from+b,j=$+k.length;_.text[j-_.from]==" "&&j++,d.push({from:$,to:j})}return{changes:d}}return null}const MaxOff=2e3;function rectangleFor(o,e,s){let a=Math.min(e.line,s.line),c=Math.max(e.line,s.line),d=[];if(e.off>MaxOff||s.off>MaxOff||e.col<0||s.col<0){let _=Math.min(e.off,s.off),b=Math.max(e.off,s.off);for(let k=a;k<=c;k++){let $=o.doc.line(k);$.length<=b&&d.push(EditorSelection.range($.from+_,$.to+b))}}else{let _=Math.min(e.col,s.col),b=Math.max(e.col,s.col);for(let k=a;k<=c;k++){let $=o.doc.line(k),j=findColumn($.text,_,o.tabSize,!0);if(j>-1){let _e=findColumn($.text,b,o.tabSize);d.push(EditorSelection.range($.from+j,$.from+_e))}}}return d}function absoluteColumn(o,e){let s=o.coordsAtPos(o.viewport.from);return s?Math.round(Math.abs((s.left-e)/o.defaultCharacterWidth)):-1}function getPos(o,e){let s=o.posAtCoords({x:e.clientX,y:e.clientY},!1),a=o.state.doc.lineAt(s),c=s-a.from,d=c>MaxOff?-1:c==a.length?absoluteColumn(o,e.clientX):countColumn(a.text,o.state.tabSize,s-a.from);return{line:a.number,col:d,off:c}}function rectangleSelectionStyle(o,e){let s=getPos(o,e),a=o.state.selection;return s?{update(c){if(c.docChanged){let d=c.changes.mapPos(c.startState.doc.line(s.line).from),_=c.state.doc.lineAt(d);s={line:_.number,col:s.col,off:Math.min(s.off,_.length)},a=a.map(c.changes)}},get(c,d,_){let b=getPos(o,c);if(!b)return a;let k=rectangleFor(o.state,s,b);return k.length?_?EditorSelection.create(k.concat(a.ranges)):EditorSelection.create(k):a}}:null}function rectangularSelection(o){let e=(o==null?void 0:o.eventFilter)||(s=>s.altKey&&s.button==0);return EditorView.mouseSelectionStyle.of((s,a)=>e(a)?rectangleSelectionStyle(s,a):null)}let nextTagID=0;class Tag{constructor(e,s,a){this.set=e,this.base=s,this.modified=a,this.id=nextTagID++}static define(e){if(e!=null&&e.base)throw new Error("Can not derive from a modified tag");let s=new Tag([],null,[]);if(s.set.push(s),e)for(let a of e.set)s.set.push(a);return s}static defineModifier(){let e=new Modifier;return s=>s.modified.indexOf(e)>-1?s:Modifier.get(s.base||s,s.modified.concat(e).sort((a,c)=>a.id-c.id))}}let nextModifierID=0;class Modifier{constructor(){this.instances=[],this.id=nextModifierID++}static get(e,s){if(!s.length)return e;let a=s[0].instances.find(b=>b.base==e&&sameArray(s,b.modified));if(a)return a;let c=[],d=new Tag(c,e,s);for(let b of s)b.instances.push(d);let _=permute(s);for(let b of e.set)for(let k of _)c.push(Modifier.get(b,k));return d}}function sameArray(o,e){return o.length==e.length&&o.every((s,a)=>s==e[a])}function permute(o){let e=[o];for(let s=0;s0&&_e+3==c.length){_=1;break}let et=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(b);if(!et)throw new RangeError("Invalid path: "+c);if(d.push(et[0]=="*"?null:et[0][0]=='"'?JSON.parse(et[0]):et[0]),_e+=et[0].length,_e==c.length)break;let tt=c[_e++];if(_e==c.length&&tt=="!"){_=0;break}if(tt!="/")throw new RangeError("Invalid path: "+c);b=c.slice(_e)}let k=d.length-1,$=d[k];if(!$)throw new RangeError("Invalid path: "+c);let j=new Rule(a,_,k>0?d.slice(0,k):null);e[$]=j.sort(e[$])}}return ruleNodeProp.add(e)}const ruleNodeProp=new NodeProp,highlightStyle=Facet.define({combine(o){return o.length?HighlightStyle.combinedMatch(o):null}}),fallbackHighlightStyle=Facet.define({combine(o){return o.length?o[0].match:null}});function getHighlightStyle(o){return o.facet(highlightStyle)||o.facet(fallbackHighlightStyle)}class Rule{constructor(e,s,a,c){this.tags=e,this.mode=s,this.context=a,this.next=c}sort(e){return!e||e.depth_.facet(EditorView.darkTheme)==(s.themeType=="dark")?[this]:[])),this.fallback=d.concat(fallbackHighlightStyle.of(this))}match(e,s){if(this.scope&&s!=this.scope)return null;for(let a of e.set){let c=this.map[a.id];if(c!==void 0)return a!=e&&(this.map[e.id]=c),c}return this.map[e.id]=this.all}static combinedMatch(e){if(e.length==1)return e[0].match;let s=e.some(a=>a.scope)?void 0:Object.create(null);return(a,c)=>{let d=s&&s[a.id];if(d!==void 0)return d;let _=null;for(let b of e){let k=b.match(a,c);k&&(_=_?_+" "+k:k)}return s&&(s[a.id]=_),_}}static define(e,s){return new HighlightStyle(e,s||{})}static get(e,s,a){let c=getHighlightStyle(e);return c&&c(s,a||NodeType.none)}}class TreeHighlighter{constructor(e){this.markCache=Object.create(null),this.tree=syntaxTree(e.state),this.decorations=this.buildDeco(e,getHighlightStyle(e.state))}update(e){let s=syntaxTree(e.state),a=getHighlightStyle(e.state),c=a!=e.startState.facet(highlightStyle);s.length{a.add(_,b,this.markCache[k]||(this.markCache[k]=Decoration.mark({class:k})))});return a.finish()}}const treeHighlighter=Prec.high(ViewPlugin.fromClass(TreeHighlighter,{decorations:o=>o.decorations})),nodeStack=[""];class HighlightBuilder{constructor(e,s,a){this.at=e,this.style=s,this.span=a,this.class=""}startSpan(e,s){s!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=s)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,s,a,c,d,_){let{type:b,from:k,to:$}=e;if(k>=a||$<=s)return;nodeStack[d]=b.name,b.isTop&&(_=b);let j=c,_e=b.prop(ruleNodeProp),et=!1;for(;_e;){if(!_e.context||matchContext(_e.context,nodeStack,d)){for(let nt of _e.tags){let it=this.style(nt,_);it&&(j&&(j+=" "),j+=it,_e.mode==1?c+=(c?" ":"")+it:_e.mode==0&&(et=!0))}break}_e=_e.next}if(this.startSpan(e.from,j),et)return;let tt=e.tree&&e.tree.prop(NodeProp.mounted);if(tt&&tt.overlay){let nt=e.node.enter(tt.overlay[0].from+k,1),it=e.firstChild();for(let rt=0,st=k;;rt++){let at=rt=ot||!e.nextSibling())););if(!at||ot>a)break;st=at.to+k,st>s&&(this.highlightRange(nt.cursor,Math.max(s,at.from+k),Math.min(a,st),c,d,tt.tree.type),this.startSpan(st,j))}it&&e.parent()}else if(e.firstChild()){do if(!(e.to<=s)){if(e.from>=a)break;this.highlightRange(e,s,a,c,d+1,_),this.startSpan(Math.min(a,e.to),j)}while(e.nextSibling());e.parent()}}}function highlightTreeRange(o,e,s,a,c){let d=new HighlightBuilder(e,a,c);d.highlightRange(o.cursor(),e,s,"",0,o.type),d.flush(s)}function matchContext(o,e,s){if(o.length>s-1)return!1;for(let a=s-1,c=o.length-1;c>=0;c--,a--){let d=o[c];if(d&&d!=e[a])return!1}return!0}const t=Tag.define,comment=t(),name=t(),typeName=t(name),propertyName=t(name),literal=t(),string=t(literal),number=t(literal),content=t(),heading=t(content),keyword=t(),operator=t(),punctuation=t(),bracket=t(punctuation),meta=t(),tags={comment,lineComment:t(comment),blockComment:t(comment),docComment:t(comment),name,variableName:t(name),typeName,tagName:t(typeName),propertyName,attributeName:t(propertyName),className:t(name),labelName:t(name),namespace:t(name),macroName:t(name),literal,string,docString:t(string),character:t(string),attributeValue:t(string),number,integer:t(number),float:t(number),bool:t(literal),regexp:t(literal),escape:t(literal),color:t(literal),url:t(literal),keyword,self:t(keyword),null:t(keyword),atom:t(keyword),unit:t(keyword),modifier:t(keyword),operatorKeyword:t(keyword),controlKeyword:t(keyword),definitionKeyword:t(keyword),moduleKeyword:t(keyword),operator,derefOperator:t(operator),arithmeticOperator:t(operator),logicOperator:t(operator),bitwiseOperator:t(operator),compareOperator:t(operator),updateOperator:t(operator),definitionOperator:t(operator),typeOperator:t(operator),controlOperator:t(operator),punctuation,separator:t(punctuation),bracket,angleBracket:t(bracket),squareBracket:t(bracket),paren:t(bracket),brace:t(bracket),content,heading,heading1:t(heading),heading2:t(heading),heading3:t(heading),heading4:t(heading),heading5:t(heading),heading6:t(heading),contentSeparator:t(content),list:t(content),quote:t(content),emphasis:t(content),strong:t(content),link:t(content),monospace:t(content),strikethrough:t(content),inserted:t(),deleted:t(),changed:t(),invalid:t(),meta,documentMeta:t(meta),annotation:t(meta),processingInstruction:t(meta),definition:Tag.defineModifier(),constant:Tag.defineModifier(),function:Tag.defineModifier(),standard:Tag.defineModifier(),local:Tag.defineModifier(),special:Tag.defineModifier()},defaultHighlightStyle=HighlightStyle.define([{tag:tags.link,textDecoration:"underline"},{tag:tags.heading,textDecoration:"underline",fontWeight:"bold"},{tag:tags.emphasis,fontStyle:"italic"},{tag:tags.strong,fontWeight:"bold"},{tag:tags.strikethrough,textDecoration:"line-through"},{tag:tags.keyword,color:"#708"},{tag:[tags.atom,tags.bool,tags.url,tags.contentSeparator,tags.labelName],color:"#219"},{tag:[tags.literal,tags.inserted],color:"#164"},{tag:[tags.string,tags.deleted],color:"#a11"},{tag:[tags.regexp,tags.escape,tags.special(tags.string)],color:"#e40"},{tag:tags.definition(tags.variableName),color:"#00f"},{tag:tags.local(tags.variableName),color:"#30a"},{tag:[tags.typeName,tags.namespace],color:"#085"},{tag:tags.className,color:"#167"},{tag:[tags.special(tags.variableName),tags.macroName],color:"#256"},{tag:tags.definition(tags.propertyName),color:"#00c"},{tag:tags.comment,color:"#940"},{tag:tags.meta,color:"#7a757a"},{tag:tags.invalid,color:"#f00"}]);tags.link,tags.heading,tags.emphasis,tags.strong,tags.keyword,tags.atom,tags.bool,tags.url,tags.labelName,tags.inserted,tags.deleted,tags.literal,tags.string,tags.number,tags.regexp,tags.escape,tags.string,tags.variableName,tags.variableName,tags.variableName,tags.variableName,tags.propertyName,tags.typeName,tags.namespace,tags.className,tags.macroName,tags.propertyName,tags.operator,tags.comment,tags.meta,tags.invalid,tags.punctuation;class SelectedDiagnostic{constructor(e,s,a){this.from=e,this.to=s,this.diagnostic=a}}class LintState{constructor(e,s,a){this.diagnostics=e,this.panel=s,this.selected=a}static init(e,s,a){let c=Decoration.set(e.map(d=>d.from==d.to||d.from==d.to-1&&a.doc.lineAt(d.from).to==d.from?Decoration.widget({widget:new DiagnosticWidget(d),diagnostic:d}).range(d.from):Decoration.mark({attributes:{class:"cm-lintRange cm-lintRange-"+d.severity},diagnostic:d}).range(d.from,d.to)),!0);return new LintState(c,s,findDiagnostic(c))}}function findDiagnostic(o,e=null,s=0){let a=null;return o.between(s,1e9,(c,d,{spec:_})=>{if(!(e&&_.diagnostic!=e))return a=new SelectedDiagnostic(c,d,_.diagnostic),!1}),a}function maybeEnableLint(o,e){return o.field(lintState,!1)?e:e.concat(StateEffect.appendConfig.of([lintState,EditorView.decorations.compute([lintState],s=>{let{selected:a,panel:c}=s.field(lintState);return!a||!c||a.from==a.to?Decoration.none:Decoration.set([activeMark.range(a.from,a.to)])}),hoverTooltip(lintTooltip),baseTheme]))}const setDiagnosticsEffect=StateEffect.define(),togglePanel=StateEffect.define(),movePanelSelection=StateEffect.define(),lintState=StateField.define({create(){return new LintState(Decoration.none,null,null)},update(o,e){if(e.docChanged){let s=o.diagnostics.map(e.changes),a=null;if(o.selected){let c=e.changes.mapPos(o.selected.from,1);a=findDiagnostic(s,o.selected.diagnostic,c)||findDiagnostic(s,null,c)}o=new LintState(s,o.panel,a)}for(let s of e.effects)s.is(setDiagnosticsEffect)?o=LintState.init(s.value,o.panel,e.state):s.is(togglePanel)?o=new LintState(o.diagnostics,s.value?LintPanel.open:null,o.selected):s.is(movePanelSelection)&&(o=new LintState(o.diagnostics,o.panel,s.value));return o},provide:o=>[showPanel.from(o,e=>e.panel),EditorView.decorations.from(o,e=>e.diagnostics)]}),activeMark=Decoration.mark({class:"cm-lintRange cm-lintRange-active"});function lintTooltip(o,e,s){let{diagnostics:a}=o.state.field(lintState),c=[],d=2e8,_=0;return a.between(e-(s<0?1:0),e+(s>0?1:0),(b,k,{spec:$})=>{e>=b&&e<=k&&(b==k||(e>b||s>0)&&(erenderDiagnostic(o,s,!1)))}const openLintPanel=o=>{let e=o.state.field(lintState,!1);(!e||!e.panel)&&o.dispatch({effects:maybeEnableLint(o.state,[togglePanel.of(!0)])});let s=getPanel(o,LintPanel.open);return s&&s.dom.querySelector(".cm-panel-lint ul").focus(),!0},closeLintPanel=o=>{let e=o.state.field(lintState,!1);return!e||!e.panel?!1:(o.dispatch({effects:togglePanel.of(!1)}),!0)},nextDiagnostic=o=>{let e=o.state.field(lintState,!1);if(!e)return!1;let s=o.state.selection.main,a=e.diagnostics.iter(s.to+1);return!a.value&&(a=e.diagnostics.iter(0),!a.value||a.from==s.from&&a.to==s.to)?!1:(o.dispatch({selection:{anchor:a.from,head:a.to},scrollIntoView:!0}),!0)},lintKeymap=[{key:"Mod-Shift-m",run:openLintPanel},{key:"F8",run:nextDiagnostic}];function assignKeys(o){let e=[];if(o)e:for(let{name:s}of o){for(let a=0;ad.toLowerCase()==c.toLowerCase())){e.push(c);continue e}}e.push("")}return e}function renderDiagnostic(o,e,s){var a;let c=s?assignKeys(e.actions):[];return crelt("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},crelt("span",{class:"cm-diagnosticText"},e.message),(a=e.actions)===null||a===void 0?void 0:a.map((d,_)=>{let b=_e=>{_e.preventDefault();let et=findDiagnostic(o.state.field(lintState).diagnostics,e);et&&d.apply(o,et.from,et.to)},{name:k}=d,$=c[_]?k.indexOf(c[_]):-1,j=$<0?k:[k.slice(0,$),crelt("u",k.slice($,$+1)),k.slice($+1)];return crelt("button",{type:"button",class:"cm-diagnosticAction",onclick:b,onmousedown:b,"aria-label":` Action: ${k}${$<0?"":` (access key "${c[_]})"`}.`},j)}),e.source&&crelt("div",{class:"cm-diagnosticSource"},e.source))}class DiagnosticWidget extends WidgetType{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return crelt("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class PanelItem{constructor(e,s){this.diagnostic=s,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=renderDiagnostic(e,s,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class LintPanel{constructor(e){this.view=e,this.items=[];let s=c=>{if(c.keyCode==27)closeLintPanel(this.view),this.view.focus();else if(c.keyCode==38||c.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(c.keyCode==40||c.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(c.keyCode==36)this.moveSelection(0);else if(c.keyCode==35)this.moveSelection(this.items.length-1);else if(c.keyCode==13)this.view.focus();else if(c.keyCode>=65&&c.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:d}=this.items[this.selectedIndex],_=assignKeys(d.actions);for(let b=0;b<_.length;b++)if(_[b].toUpperCase().charCodeAt(0)==c.keyCode){let k=findDiagnostic(this.view.state.field(lintState).diagnostics,d);k&&d.actions[b].apply(e,k.from,k.to)}}else return;c.preventDefault()},a=c=>{for(let d=0;dcloseLintPanel(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(lintState).selected;if(!e)return-1;for(let s=0;s{let $=-1,j;for(let _e=a;_ea&&(this.items.splice(a,$-a),c=!0)),s&&j.diagnostic==s.diagnostic?j.dom.hasAttribute("aria-selected")||(j.dom.setAttribute("aria-selected","true"),d=j):j.dom.hasAttribute("aria-selected")&&j.dom.removeAttribute("aria-selected"),a++});a({sel:d.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:_,panel:b})=>{_.topb.bottom&&(this.list.scrollTop+=_.bottom-b.bottom)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),c&&this.sync()}sync(){let e=this.list.firstChild;function s(){let a=e;e=a.nextSibling,a.remove()}for(let a of this.items)if(a.dom.parentNode==this.list){for(;e!=a.dom;)s();e=a.dom.nextSibling}else this.list.insertBefore(a.dom,e);for(;e;)s()}moveSelection(e){if(this.selectedIndex<0)return;let s=this.view.state.field(lintState),a=findDiagnostic(s.diagnostics,this.items[e].diagnostic);!a||this.view.dispatch({selection:{anchor:a.from,head:a.to},scrollIntoView:!0,effects:movePanelSelection.of(a)})}static open(e){return new LintPanel(e)}}function svg(o,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(o)}')`}function underline(o){return svg(``,'width="6" height="3"')}const baseTheme=EditorView.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:underline("#d11")},".cm-lintRange-warning":{backgroundImage:underline("orange")},".cm-lintRange-info":{backgroundImage:underline("#999")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});var jsxRuntime={exports:{}},reactJsxRuntime_production_min={};/** @license React v17.0.2 * react-jsx-runtime.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var f=react.exports,g=60103;reactJsxRuntime_production_min.Fragment=60107;if(typeof Symbol=="function"&&Symbol.for){var h=Symbol.for;g=h("react.element"),reactJsxRuntime_production_min.Fragment=h("react.fragment")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};function q(o,e,s){var a,c={},d=null,_=null;s!==void 0&&(d=""+s),e.key!==void 0&&(d=""+e.key),e.ref!==void 0&&(_=e.ref);for(a in e)n.call(e,a)&&!p.hasOwnProperty(a)&&(c[a]=e[a]);if(o&&o.defaultProps)for(a in e=o.defaultProps,e)c[a]===void 0&&(c[a]=e[a]);return{$$typeof:g,type:o,key:d,ref:_,props:c,_owner:m.current}}reactJsxRuntime_production_min.jsx=q;reactJsxRuntime_production_min.jsxs=q;jsxRuntime.exports=reactJsxRuntime_production_min;const jsx=jsxRuntime.exports.jsx,jsxs=jsxRuntime.exports.jsxs,Fragment=jsxRuntime.exports.Fragment;/*! @license ReactCodeMirror - MIT License - Tom Golden (8162045+tbjgolden@users.noreply.github.com) */var __assign=function(){return __assign=Object.assign||function(e){for(var s,a=1,c=arguments.length;a0)&&!(c=a.next()).done;)d.push(c.value)}catch(b){_={error:b}}finally{try{c&&!c.done&&(s=a.return)&&s.call(a)}finally{if(_)throw _.error}}return d}function __spreadArray(o,e,s){if(s||arguments.length===2)for(var a=0,c=e.length,d;as%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,s,a=0){let c=e.parser.context;return new Stack(e,[],s,a,a,0,[],0,c?new StackContext(c,c.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,s){this.stack.push(this.state,s,this.bufferBase+this.buffer.length),this.state=e}reduce(e){let s=e>>19,a=e&65535,{parser:c}=this.p,d=c.dynamicPrecedence(a);if(d&&(this.score+=d),s==0){this.pushState(c.getGoto(this.state,a,!0),this.reducePos),a_;)this.stack.pop();this.reduceContext(a,b)}storeNode(e,s,a,c=4,d=!1){if(e==0){let _=this,b=this.buffer.length;if(b==0&&_.parent&&(b=_.bufferBase-_.parent.bufferBase,_=_.parent),b>0&&_.buffer[b-4]==0&&_.buffer[b-1]>-1){if(s==a)return;if(_.buffer[b-2]>=s){_.buffer[b-2]=a;return}}}if(!d||this.pos==a)this.buffer.push(e,s,a,c);else{let _=this.buffer.length;if(_>0&&this.buffer[_-4]!=0)for(;_>0&&this.buffer[_-2]>a;)this.buffer[_]=this.buffer[_-4],this.buffer[_+1]=this.buffer[_-3],this.buffer[_+2]=this.buffer[_-2],this.buffer[_+3]=this.buffer[_-1],_-=4,c>4&&(c-=4);this.buffer[_]=e,this.buffer[_+1]=s,this.buffer[_+2]=a,this.buffer[_+3]=c}}shift(e,s,a){let c=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let d=e,{parser:_}=this.p;(a>this.pos||s<=_.maxNode)&&(this.pos=a,_.stateFlag(d,1)||(this.reducePos=a)),this.pushState(d,c),this.shiftContext(s,c),s<=_.maxNode&&this.buffer.push(s,c,a,4)}else this.pos=a,this.shiftContext(s,c),s<=this.p.parser.maxNode&&this.buffer.push(s,c,a,4)}apply(e,s,a){e&65536?this.reduce(e):this.shift(e,s,a)}useNode(e,s){let a=this.p.reused.length-1;(a<0||this.p.reused[a]!=e)&&(this.p.reused.push(e),a++);let c=this.pos;this.reducePos=this.pos=c+e.length,this.pushState(s,c),this.buffer.push(a,c,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,s=e.buffer.length;for(;s>0&&e.buffer[s-2]>e.reducePos;)s-=4;let a=e.buffer.slice(s),c=e.bufferBase+s;for(;e&&c==e.bufferBase;)e=e.parent;return new Stack(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,a,c,this.curContext,this.lookAhead,e)}recoverByDelete(e,s){let a=e<=this.p.parser.maxNode;a&&this.storeNode(e,this.pos,s,4),this.storeNode(0,this.pos,s,a?8:4),this.pos=this.reducePos=s,this.score-=190}canShift(e){for(let s=new SimulatedStack(this);;){let a=this.p.parser.stateSlot(s.state,4)||this.p.parser.hasAction(s.state,e);if((a&65536)==0)return!0;if(a==0)return!1;s.reduce(a)}}recoverByInsert(e){if(this.stack.length>=300)return[];let s=this.p.parser.nextStates(this.state);if(s.length>4<<1||this.stack.length>=120){let c=[];for(let d=0,_;dk&1&&b==_)||c.push(s[d],_)}s=c}let a=[];for(let c=0;c>19,c=e&65535,d=this.stack.length-a*3;if(d<0||s.getGoto(this.stack[d],c,!1)<0)return!1;this.storeNode(0,this.reducePos,this.reducePos,4,!0),this.score-=100}return this.reduce(e),!0}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let s=0;sthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class StackContext{constructor(e,s){this.tracker=e,this.context=s,this.hash=e.strict?e.hash(s):0}}var Recover;(function(o){o[o.Insert=200]="Insert",o[o.Delete=190]="Delete",o[o.Reduce=100]="Reduce",o[o.MaxNext=4]="MaxNext",o[o.MaxInsertStackDepth=300]="MaxInsertStackDepth",o[o.DampenInsertStackDepth=120]="DampenInsertStackDepth"})(Recover||(Recover={}));class SimulatedStack{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let s=e&65535,a=e>>19;a==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(a-1)*3;let c=this.start.p.parser.getGoto(this.stack[this.base-3],s,!0);this.state=c}}class StackBufferCursor{constructor(e,s,a){this.stack=e,this.pos=s,this.index=a,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,s=e.bufferBase+e.buffer.length){return new StackBufferCursor(e,s,s-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new StackBufferCursor(this.stack,this.pos,this.index)}}class CachedToken{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const nullToken=new CachedToken;class InputStream{constructor(e,s){this.input=e,this.ranges=s,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=nullToken,this.rangeIndex=0,this.pos=this.chunkPos=s[0].from,this.range=s[0],this.end=s[s.length-1].to,this.readNext()}resolveOffset(e,s){let a=this.range,c=this.rangeIndex,d=this.pos+e;for(;da.to:d>=a.to;){if(c==this.ranges.length-1)return null;let _=this.ranges[++c];d+=_.from-a.to,a=_}return d}peek(e){let s=this.chunkOff+e,a,c;if(s>=0&&s=this.chunk2Pos&&ab.to&&(this.chunk2=this.chunk2.slice(0,b.to-a)),c=this.chunk2.charCodeAt(0)}}return a>=this.token.lookAhead&&(this.token.lookAhead=a+1),c}acceptToken(e,s=0){let a=s?this.resolveOffset(s,-1):this.pos;if(a==null||a=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,s){if(s?(this.token=s,s.start=e,s.lookAhead=e+1,s.value=s.extended=-1):this.token=nullToken,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&s<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,s-this.chunkPos);if(e>=this.chunk2Pos&&s<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,s-this.chunk2Pos);if(e>=this.range.from&&s<=this.range.to)return this.input.read(e,s);let a="";for(let c of this.ranges){if(c.from>=s)break;c.to>e&&(a+=this.input.read(Math.max(c.from,e),Math.min(c.to,s)))}return a}}class TokenGroup{constructor(e,s){this.data=e,this.id=s}token(e,s){readToken(this.data,e,s,this.id)}}TokenGroup.prototype.contextual=TokenGroup.prototype.fallback=TokenGroup.prototype.extend=!1;class ExternalTokenizer{constructor(e,s={}){this.token=e,this.contextual=!!s.contextual,this.fallback=!!s.fallback,this.extend=!!s.extend}}function readToken(o,e,s,a){let c=0,d=1<0){let j=o[$];if(b.allows(j)&&(e.token.value==-1||e.token.value==j||_.overrides(j,e.token.value))){e.acceptToken(j);break}}for(let $=e.next,j=0,_e=o[c+2];j<_e;){let et=j+_e>>1,tt=k+et+(et<<1),nt=o[tt],st=o[tt+1];if($=st)j=et+1;else{c=o[tt+2],e.advance();continue e}}break}}function decodeArray(o,e=Uint16Array){if(typeof o!="string")return o;let s=null;for(let a=0,c=0;a=92&&_--,_>=34&&_--;let k=_-32;if(k>=46&&(k-=46,b=!0),d+=k,b)break;d*=46}s?s[c++]=d:s=new e(d)}return s}const verbose=typeof process!="undefined"&&/\bparse\b/.test({}.LOG);let stackIDs=null;var Safety;(function(o){o[o.Margin=25]="Margin"})(Safety||(Safety={}));function cutAt(o,e,s){let a=o.fullCursor();for(a.moveTo(e);;)if(!(s<0?a.childBefore(e):a.childAfter(e)))for(;;){if((s<0?a.toe)&&!a.type.isError)return s<0?Math.max(0,Math.min(a.to-1,e-25)):Math.min(o.length,Math.max(a.from+1,e+25));if(s<0?a.prevSibling():a.nextSibling())break;if(!a.parent())return s<0?0:o.length}}class FragmentCursor{constructor(e,s){this.fragments=e,this.nodeSet=s,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?cutAt(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?cutAt(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=_,null;if(d instanceof Tree){if(_==e){if(_=Math.max(this.safeFrom,e)&&(this.trees.push(d),this.start.push(_),this.index.push(0))}else this.index[s]++,this.nextStart=_+d.length}}}class TokenCache{constructor(e,s){this.stream=s,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(a=>new CachedToken)}getActions(e){let s=0,a=null,{parser:c}=e.p,{tokenizers:d}=c,_=c.stateSlot(e.state,3),b=e.curContext?e.curContext.hash:0,k=0;for(let $=0;$_e.end+25&&(k=Math.max(_e.lookAhead,k)),_e.value!=0)){let et=s;if(_e.extended>-1&&(s=this.addActions(e,_e.extended,_e.end,s)),s=this.addActions(e,_e.value,_e.end,s),!j.extend&&(a=_e,s>et))break}}for(;this.actions.length>s;)this.actions.pop();return k&&e.setLookAhead(k),!a&&e.pos==this.stream.end&&(a=new CachedToken,a.value=e.p.parser.eofTerm,a.start=a.end=e.pos,s=this.addActions(e,a.value,a.end,s)),this.mainToken=a,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let s=new CachedToken,{pos:a,p:c}=e;return s.start=a,s.end=Math.min(a+1,c.stream.end),s.value=a==c.stream.end?c.parser.eofTerm:0,s}updateCachedToken(e,s,a){if(s.token(this.stream.reset(a.pos,e),a),e.value>-1){let{parser:c}=a.p;for(let d=0;d=0&&a.p.parser.dialect.allows(_>>1)){(_&1)==0?e.value=_>>1:e.extended=_>>1;break}}}else e.value=0,e.end=Math.min(a.p.stream.end,a.pos+1)}putAction(e,s,a,c){for(let d=0;de.bufferLength*4?new FragmentCursor(a,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,s=this.minStackPos,a=this.stacks=[],c,d;for(let _=0;_s)a.push(b);else{if(this.advanceStack(b,a,e))continue;{c||(c=[],d=[]),c.push(b);let k=this.tokens.getMainToken(b);d.push(k.value,k.end)}}break}}if(!a.length){let _=c&&findFinished(c);if(_)return this.stackToTree(_);if(this.parser.strict)throw verbose&&c&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+s);this.recovering||(this.recovering=5)}if(this.recovering&&c){let _=this.stoppedAt!=null&&c[0].pos>this.stoppedAt?c[0]:this.runRecovery(c,d,a);if(_)return this.stackToTree(_.forceAll())}if(this.recovering){let _=this.recovering==1?1:this.recovering*3;if(a.length>_)for(a.sort((b,k)=>k.score-b.score);a.length>_;)a.pop();a.some(b=>b.reducePos>s)&&this.recovering--}else if(a.length>1){e:for(let _=0;_500&&$.buffer.length>500)if((b.score-$.score||b.buffer.length-$.buffer.length)>0)a.splice(k--,1);else{a.splice(_--,1);continue e}}}}this.minStackPos=a[0].pos;for(let _=1;_ ":"";if(this.stoppedAt!=null&&c>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let $=e.curContext&&e.curContext.tracker.strict,j=$?e.curContext.hash:0;for(let _e=this.fragments.nodeAt(c);_e;){let et=this.parser.nodeSet.types[_e.type.id]==_e.type?d.getGoto(e.state,_e.type.id):-1;if(et>-1&&_e.length&&(!$||(_e.prop(NodeProp.contextHash)||0)==j))return e.useNode(_e,et),verbose&&console.log(_+this.stackID(e)+` (via reuse of ${d.getName(_e.type.id)})`),!0;if(!(_e instanceof Tree)||_e.children.length==0||_e.positions[0]>0)break;let tt=_e.children[0];if(tt instanceof Tree&&_e.positions[0]==0)_e=tt;else break}}let b=d.stateSlot(e.state,4);if(b>0)return e.reduce(b),verbose&&console.log(_+this.stackID(e)+` (via always-reduce ${d.getName(b&65535)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let k=this.tokens.getActions(e);for(let $=0;$c?s.push(nt):a.push(nt)}return!1}advanceFully(e,s){let a=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>a)return pushStackDedup(e,s),!0}}runRecovery(e,s,a){let c=null,d=!1;for(let _=0;_ ":"";if(b.deadEnd&&(d||(d=!0,b.restart(),verbose&&console.log(j+this.stackID(b)+" (restarted)"),this.advanceFully(b,a))))continue;let _e=b.split(),et=j;for(let tt=0;_e.forceReduce()&&tt<10&&(verbose&&console.log(et+this.stackID(_e)+" (via force-reduce)"),!this.advanceFully(_e,a));tt++)verbose&&(et=this.stackID(_e)+" -> ");for(let tt of b.recoverByInsert(k))verbose&&console.log(j+this.stackID(tt)+" (via recover-insert)"),this.advanceFully(tt,a);this.stream.end>b.pos?($==b.pos&&($++,k=0),b.recoverByDelete(k,$),verbose&&console.log(j+this.stackID(b)+` (via recover-delete ${this.parser.getName(k)})`),pushStackDedup(b,a)):(!c||c.scoreo;class ContextTracker{constructor(e){this.start=e.start,this.shift=e.shift||id,this.reduce=e.reduce||id,this.reuse=e.reuse||id,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class LRParser extends Parser{constructor(e){if(super(),this.wrappers=[],e.version!=13)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (${13})`);let s=e.nodeNames.split(" ");this.minRepeatTerm=s.length;for(let b=0;be.topRules[b][1]),c=[];for(let b=0;b=0)d(j,k,b[$++]);else{let _e=b[$+-j];for(let et=-j;et>0;et--)d(b[$++],k,_e);$++}}}this.nodeSet=new NodeSet(s.map((b,k)=>NodeType.define({name:k>=this.minRepeatTerm?void 0:b,id:k,props:c[k],top:a.indexOf(k)>-1,error:k==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(k)>-1}))),this.strict=!1,this.bufferLength=DefaultBufferLength;let _=decodeArray(e.tokenData);if(this.context=e.context,this.specialized=new Uint16Array(e.specialized?e.specialized.length:0),this.specializers=[],e.specialized)for(let b=0;btypeof b=="number"?new TokenGroup(_,b):b),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,s,a){let c=new Parse(this,e,s,a);for(let d of this.wrappers)c=d(c,e,s,a);return c}getGoto(e,s,a=!1){let c=this.goto;if(s>=c[0])return-1;for(let d=c[s+1];;){let _=c[d++],b=_&1,k=c[d++];if(b&&a)return k;for(let $=d+(_>>1);d<$;d++)if(c[d]==e)return k;if(b)return-1}}hasAction(e,s){let a=this.data;for(let c=0;c<2;c++)for(let d=this.stateSlot(e,c?2:1),_;;d+=3){if((_=a[d])==65535)if(a[d+1]==1)_=a[d=pair(a,d+2)];else{if(a[d+1]==2)return pair(a,d+2);break}if(_==s||_==0)return pair(a,d+1)}return 0}stateSlot(e,s){return this.states[e*6+s]}stateFlag(e,s){return(this.stateSlot(e,0)&s)>0}validAction(e,s){if(s==this.stateSlot(e,4))return!0;for(let a=this.stateSlot(e,1);;a+=3){if(this.data[a]==65535)if(this.data[a+1]==1)a=pair(this.data,a+2);else return!1;if(s==pair(this.data,a+1))return!0}}nextStates(e){let s=[];for(let a=this.stateSlot(e,1);;a+=3){if(this.data[a]==65535)if(this.data[a+1]==1)a=pair(this.data,a+2);else break;if((this.data[a+2]&1)==0){let c=this.data[a+1];s.some((d,_)=>_&1&&d==c)||s.push(this.data[a],c)}}return s}overrides(e,s){let a=findOffset(this.data,this.tokenPrecTable,s);return a<0||findOffset(this.data,this.tokenPrecTable,e){let c=e.tokenizers.find(d=>d.from==a);return c?c.to:a})),e.contextTracker&&(s.context=e.contextTracker),e.dialect&&(s.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(s.strict=e.strict),e.wrap&&(s.wrappers=s.wrappers.concat(e.wrap)),e.bufferLength!=null&&(s.bufferLength=e.bufferLength),s}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let s=this.dynamicPrecedences;return s==null?0:s[e]||0}parseDialect(e){let s=Object.keys(this.dialects),a=s.map(()=>!1);if(e)for(let d of e.split(" ")){let _=s.indexOf(d);_>=0&&(a[_]=!0)}let c=null;for(let d=0;da)&&s.p.parser.stateFlag(s.state,2)&&(!e||e.score{let{next:s}=o;(s==braceR||s==-1||e.context)&&e.canShift(insertSemi)&&o.acceptToken(insertSemi)},{contextual:!0,fallback:!0}),noSemicolon=new ExternalTokenizer((o,e)=>{let{next:s}=o,a;space.indexOf(s)>-1||s==slash&&((a=o.peek(1))==slash||a==star)||s!=braceR&&s!=semicolon&&s!=-1&&!e.context&&e.canShift(noSemi)&&o.acceptToken(noSemi)},{contextual:!0}),incdecToken=new ExternalTokenizer((o,e)=>{let{next:s}=o;if((s==plus||s==minus)&&(o.advance(),s==o.next)){o.advance();let a=!e.context&&e.canShift(incdec);o.acceptToken(a?incdec:incdecPrefix)}},{contextual:!0}),template=new ExternalTokenizer(o=>{for(let e=!1,s=0;;s++){let{next:a}=o;if(a<0){s&&o.acceptToken(templateContent);break}else if(a==backtick){s?o.acceptToken(templateContent):o.acceptToken(templateEnd,1);break}else if(a==braceL&&e){s==1?o.acceptToken(InterpolationStart,1):o.acceptToken(templateContent,-1);break}else if(a==10&&s){o.advance(),o.acceptToken(templateContent);break}else a==backslash&&o.advance();e=a==dollar,o.advance()}});function tsExtends(o,e){return o=="extends"&&e.dialectEnabled(Dialect_ts)?TSExtends:-1}const spec_identifier={__proto__:null,export:18,as:23,from:29,default:32,async:37,function:38,this:48,true:56,false:56,void:66,typeof:70,null:86,super:88,new:122,await:139,yield:141,delete:142,class:152,extends:154,public:197,private:197,protected:197,readonly:199,instanceof:220,in:222,const:224,import:256,keyof:307,unique:311,infer:317,is:351,abstract:371,implements:373,type:375,let:378,var:380,interface:387,enum:391,namespace:397,module:399,declare:403,global:407,for:428,of:437,while:440,with:444,do:448,if:452,else:454,switch:458,case:464,try:470,catch:472,finally:474,return:478,throw:482,break:486,continue:490,debugger:494},spec_word={__proto__:null,async:109,get:111,set:113,public:161,private:161,protected:161,static:163,abstract:165,override:167,readonly:173,new:355},spec_LessThan={__proto__:null,"<":129},parser=LRParser.deserialize({version:13,states:"$1jO`QYOOO'QQ!LdO'#ChO'XOSO'#DVO)dQYO'#D]O)tQYO'#DhO){QYO'#DrO-xQYO'#DxOOQO'#E]'#E]O.]QWO'#E[O.bQWO'#E[OOQ!LS'#Ef'#EfO0aQ!LdO'#IrO2wQ!LdO'#IsO3eQWO'#EzO3jQpO'#FaOOQ!LS'#FS'#FSO3rO!bO'#FSO4QQWO'#FhO5_QWO'#FgOOQ!LS'#Is'#IsOOQ!LQ'#Ir'#IrOOQQ'#J['#J[O5dQWO'#HnO5iQ!LYO'#HoOOQQ'#If'#IfOOQQ'#Hp'#HpQ`QYOOO){QYO'#DjO5qQWO'#G[O5vQ#tO'#CmO6UQWO'#EZO6aQWO'#EgO6fQ#tO'#FRO7QQWO'#G[O7VQWO'#G`O7bQWO'#G`O7pQWO'#GcO7pQWO'#GdO7pQWO'#GfO5qQWO'#GiO8aQWO'#GlO9oQWO'#CdO:PQWO'#GyO:XQWO'#HPO:XQWO'#HRO`QYO'#HTO:XQWO'#HVO:XQWO'#HYO:^QWO'#H`O:cQ!LZO'#HdO){QYO'#HfO:nQ!LZO'#HhO:yQ!LZO'#HjO5iQ!LYO'#HlO){QYO'#DWOOOS'#Hr'#HrO;UOSO,59qOOQ!LS,59q,59qO=gQbO'#ChO=qQYO'#HsO>UQWO'#ItO@TQbO'#ItO'dQYO'#ItO@[QWO,59wO@rQ&jO'#DbOAkQWO'#E]OAxQWO'#JPOBTQWO'#JOOBTQWO'#JOOB]QWO,5:yOBbQWO'#I}OBiQWO'#DyO5vQ#tO'#EZOBwQWO'#EZOCSQ`O'#FROOQ!LS,5:S,5:SOC[QYO,5:SOEYQ!LdO,5:^OEvQWO,5:dOFaQ!LYO'#I|O7VQWO'#I{OFhQWO'#I{OFpQWO,5:xOFuQWO'#I{OGTQYO,5:vOITQWO'#EWOJ_QWO,5:vOKnQWO'#DlOKuQYO'#DqOLPQ&jO,5;PO){QYO,5;POOQQ'#Er'#ErOOQQ'#Et'#EtO){QYO,5;RO){QYO,5;RO){QYO,5;RO){QYO,5;RO){QYO,5;RO){QYO,5;RO){QYO,5;RO){QYO,5;RO){QYO,5;RO){QYO,5;RO){QYO,5;ROOQQ'#Ex'#ExOLXQYO,5;cOOQ!LS,5;h,5;hOOQ!LS,5;i,5;iONXQWO,5;iOOQ!LS,5;j,5;jO){QYO'#H}ON^Q!LYO,5YOOQQ'#Ii'#IiOOQQ,5>Z,5>ZOOQQ-E;n-E;nO!+YQ!LdO,5:UOOQ!LQ'#Cp'#CpO!+yQ#tO,5O,5>OO){QYO,5>OO5iQ!LYO,5>QOOQQ,5>S,5>SO!8VQWO,5>SOOQQ,5>U,5>UO!8VQWO,5>UOOQQ,5>W,5>WO!8[Q`O,59rOOOS-E;p-E;pOOQ!LS1G/]1G/]O!8aQbO,5>_O'dQYO,5>_OOQO,5>d,5>dO!8kQYO'#HsOOQO-E;q-E;qO!8xQWO,5?`O!9QQbO,5?`O!9XQWO,5?jOOQ!LS1G/c1G/cO!9aQpO'#DTOOQO'#Iv'#IvO){QYO'#IvO!:OQpO'#IvO!:mQpO'#DcO!;OQ&jO'#DcO!=ZQYO'#DcO!=bQWO'#IuO!=jQWO,59|O!=oQWO'#EaO!=}QWO'#JQO!>VQWO,5:zO!>mQ&jO'#DcO){QYO,5?kO!>wQWO'#HxOOQO-E;v-E;vO!9XQWO,5?jOOQ!LQ1G0e1G0eO!@TQ&jO'#D|OOQ!LS,5:e,5:eO){QYO,5:eOITQWO,5:eO!@[QWO,5:eO:^QWO,5:uO!,rQpO,5:uO!,zQ#tO,5:uO5vQ#tO,5:uOOQ!LS1G/n1G/nOOQ!LS1G0O1G0OOOQ!LQ'#EV'#EVO){QYO,5?hO!@gQ!LYO,5?hO!@xQ!LYO,5?hO!APQWO,5?gO!AXQWO'#HzO!APQWO,5?gOOQ!LQ1G0d1G0dO7VQWO,5?gOOQ!LS1G0b1G0bO!AsQ!LdO1G0bO!BdQ!LbO,5:rOOQ!LS'#Fq'#FqO!CQQ!LdO'#IoOGTQYO1G0bO!EPQ#tO'#IwO!EZQWO,5:WO!E`QbO'#IxO){QYO'#IxO!EjQWO,5:]OOQ!LS'#DT'#DTOOQ!LS1G0k1G0kO!EoQWO1G0kO!HQQ!LdO1G0mO!HXQ!LdO1G0mO!JlQ!LdO1G0mO!JsQ!LdO1G0mO!LzQ!LdO1G0mO!M_Q!LdO1G0mO#!OQ!LdO1G0mO#!VQ!LdO1G0mO#$jQ!LdO1G0mO#$qQ!LdO1G0mO#&fQ!LdO1G0mO#)`Q7^O'#ChO#+ZQ7^O1G0}O#-UQ7^O'#IsOOQ!LS1G1T1G1TO#-iQ!LdO,5>iOOQ!LQ-E;{-E;{O#.YQ!LdO1G0mOOQ!LS1G0m1G0mO#0[Q!LdO1G1QO#0{QpO,5;sO#1QQpO,5;tO#1VQpO'#F[O#1kQWO'#FZOOQO'#JU'#JUOOQO'#H{'#H{O#1pQpO1G1]OOQ!LS1G1]1G1]OOOO1G1f1G1fO#2OQ7^O'#IrO#2YQWO,5;}OLXQYO,5;}OOOO-E;z-E;zOOQ!LS1G1Y1G1YOOQ!LS,5VQ&jO'#GhOOQQ1G2l1G2lO!&wQ&jO'#IWO!0OQ`O1G2oOOQQ1G2o1G2oOOQQ,5=Y,5=YO#>_Q#tO,5=[O5qQWO,5=[O#5YQWO,5=_O5_QWO,5=_O!,rQpO,5=_O!,zQ#tO,5=_O5vQ#tO,5=_O#>pQWO'#J_O#>{QWO,5=`OOQQ1G.j1G.jO#?QQ!LYO1G.jO#?]QWO1G.jO#?bQWO1G.jO5iQ!LYO1G.jO#?jQbO,5?|O#?tQWO,5?|O#@PQYO,5=gO#@WQWO,5=gO7VQWO,5?|OOQQ1G3P1G3PO`QYO1G3POOQQ1G3V1G3VOOQQ1G3X1G3XO:XQWO1G3ZO#@]QYO1G3]O#DWQYO'#H[OOQQ1G3`1G3`O:^QWO1G3fO#DeQWO1G3fO5iQ!LYO1G3jOOQQ1G3l1G3lOOQ!LQ'#Fx'#FxO5iQ!LYO1G3nO5iQ!LYO1G3pOOOS1G/^1G/^O#DmQ`O,5_O#EPQWO1G4zO#EXQWO1G5UO#EaQWO,5?bOLXQYO,5:{O7VQWO,5:{O:^QWO,59}OLXQYO,59}O!,rQpO,59}O#EfQ7^O,59}OOQO,5:{,5:{O#EpQ&jO'#HtO#FWQWO,5?aOOQ!LS1G/h1G/hO#F`Q&jO'#HyO#FtQWO,5?lOOQ!LQ1G0f1G0fO!;OQ&jO,59}O#F|QbO1G5VO7VQWO,5>dOOQ!LQ'#ES'#ESO#GWQ!LrO'#ETO!?{Q&jO'#D}OOQO'#Hw'#HwO#GrQ&jO,5:hOOQ!LS,5:h,5:hO#GyQ&jO'#D}O#H[Q&jO'#D}O#HcQ&jO'#EYO#HfQ&jO'#ETO#HsQ&jO'#ETO!?{Q&jO'#ETO#IWQWO1G0PO#I]Q`O1G0POOQ!LS1G0P1G0PO){QYO1G0POITQWO1G0POOQ!LS1G0a1G0aO:^QWO1G0aO!,rQpO1G0aO!,zQ#tO1G0aO#IdQ!LdO1G5SO){QYO1G5SO#ItQ!LYO1G5SO#JVQWO1G5RO7VQWO,5>fOOQO,5>f,5>fO#J_QWO,5>fOOQO-E;x-E;xO#JVQWO1G5RO#JmQ!LdO,59jO#LlQ!LdO,5k,5>kO$(]QWO,5>kOOQ!LS1G2P1G2PP$(bQWO'#IPPOQ!LS-E;}-E;}O$)RQ#tO1G2[O$)tQ#tO1G2^O$*OQ#tO1G2`OOQ!LS1G1x1G1xO$*VQWO'#IOO$*eQWO,5?sO$*eQWO,5?sO$*mQWO,5?sO$*xQWO,5?sOOQO1G1z1G1zO$+WQ#tO1G1yO$+hQWO'#IQO$+xQWO,5?tOITQWO,5?tO$,QQ`O,5?tOOQ!LS1G1}1G1}O5iQ!LYO,5n,5>nOOQO-Ev,5>vOOQO-Ep,5>pOOQ!LQ-Er,5>rOOQO-E`,5>`OOQO-E;r-E;rOOQO,5>e,5>eOOQO-E;w-E;wO!,rQpO1G/iO:^QWO,5:iOOQO,5:o,5:oO){QYO,5:oO$9pQ!LYO,5:oO$9{Q!LYO,5:oO!,rQpO,5:iOOQO-E;u-E;uOOQ!LS1G0S1G0SO!?{Q&jO,5:iO$:ZQ&jO,5:iO$:lQ!LrO,5:oO$;WQ&jO,5:iO!?{Q&jO,5:oOOQO,5:t,5:tO$;_Q&jO,5:oO$;lQ!LYO,5:oOOQ!LS7+%k7+%kO#IWQWO7+%kO#I]Q`O7+%kOOQ!LS7+%{7+%{O:^QWO7+%{O!,rQpO7+%{O$lQ!LdO1G2^O$@nQ!LdO1G1yO$BvQ#tO,5>aOOQO-E;s-E;sO$CQQbO,5>bO){QYO,5>bOOQO-E;t-E;tO$C[QWO1G5OO$CdQ7^O1G0bO$EkQ7^O1G0mO$ErQ7^O1G0mO$GsQ7^O1G0mO$GzQ7^O1G0mO$IoQ7^O1G0mO$JSQ7^O1G0mO$LaQ7^O1G0mO$LhQ7^O1G0mO$NiQ7^O1G0mO$NpQ7^O1G0mO%!eQ7^O1G0mO%!xQ!LdO<iOOOO7+'T7+'TOOOS1G/R1G/ROOQ!LS1G4V1G4VOJdQWO7+'zO%'rQWO,5>jO5qQWO,5>jOOQO-E;|-E;|O%(QQWO1G5_O%(QQWO1G5_O%(YQWO1G5_O%(eQ`O,5>lO%(oQWO,5>lOITQWO,5>lOOQO-Eu,5>uO%,RQWO,5>uO%,WQWO,5>uOOQO-EtOOQO-ERQ#tO<cQWO1G4UO%>nQWO1G4UO%>|QWO7+*yO%>|QWO7+*yOITQWO1G4WO%?UQ`O1G4WO%?`QWO7+*zOOQO7+'o7+'oO5iQ!LYO7+'oOOQO7+'n7+'nO$,[QWO7+'pO%?hQ`O7+'pOOQO7+'t7+'tO5iQ!LYO7+'nO$,[QWO7+'oO%?oQWO7+'pOITQWO7+'pO#5TQWO7+'oO%?tQ#tO<oOOQO-EqOOQO-E{AN>{OOQOAN>uAN>uO%0}Q!LdOAN>{O:^QWOAN>uO){QYOAN>{O!,rQpOAN>uO&(PQ!LYOAN>{O&([Q7^O<^O!O&OO~Ox&RO!W&]O!X&UO!Y&UO'[$bO~O]&SOk&SO!Q&VO'e&PO!S'iP!S'tP~P@aO!O'qX!R'qX!]'qX!c'qX'n'qX~O!{'qX#W#PX!S'qX~PAYO!{&^O!O'sX!R'sX~O!R&_O!O'rX~O!O&bO~O!{#eO~PAYOS&fO!T&cO!o&eO'Z$`O~Oc&kO!d$XO'Z$`O~Ou$nO!d$mO~O!S&lO~P`Ou!{Ov!{Ox!|O!b!yO!d!zO'dQOP!faZ!faj!fa!R!fa!a!fa!j!fa#[!fa#]!fa#^!fa#_!fa#`!fa#a!fa#b!fa#c!fa#e!fa#g!fa#i!fa#j!fa'n!fa'u!fa'v!fa~O_!fa'U!fa!O!fa!c!fan!fa!T!fa%Q!fa!]!fa~PCcO!c&mO~O!]!wO!{&oO'n&nO!R'pX_'pX'U'pX~O!c'pX~PE{O!R&sO!c'oX~O!c&uO~Ox$tO!T$uO#V&vO'Z$`O~OPTOQTO]cOb!kOc!jOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!TSO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!n!iO#t!lO#x^O'Z9YO'dQO'mYO'zaO~O]#qOh$OOj#rOk#qOl#qOq$POs9lOx#xO!T#yO!_:oO!d#vO#V9rO#t$TO$_9nO$a9pO$d$UO'Z&zO'd#sO~O#W&|O~O]#qOh$OOj#rOk#qOl#qOq$POs$QOx#xO!T#yO!_$VO!d#vO#V$WO#t$TO$_$RO$a$SO$d$UO'Z&zO'd#sO~O'_'kP~PJdO!Q'QO!c'lP~P){O'e'SO'mYO~OP9VOQ9VO]cOb:mOc!jOhcOj9VOkcOlcOq9VOs9VOxRO{cO|cO}cO!T!bO!_9XO!dUO!g9VO!h9VO!i9VO!j9VO!k9VO!n!iO#t!lO#x^O'Z'bO'dQO'mYO'z:kO~O!d!zO~O!R#bO_$]a'U$]a!c$]a!O$]a!T$]a%Q$]a!]$]a~O#d'iO~PITO!]'kO!T'wX#w'wX#z'wX$R'wX~Ou'lO~P! POu'lO!T'wX#w'wX#z'wX$R'wX~O!T'nO#w'rO#z'mO$R'sO~O!Q'vO~PLXO#z#fO$R'yO~Ou$eXx$eX!b$eX'n$eX'u$eX'v$eX~OSfX!RfX!{fX'_fX'_$eX~P!!iOk'{O~OR'|O'S'}O'T(PO~Ou(ROx(SO'n#[O'u(UO'v(WO~O'_(QO~P!#rO'_(ZO~O]#qOh$OOj#rOk#qOl#qOq$POs9lOx#xO!T#yO!_:oO!d#vO#V9rO#t$TO$_9nO$a9pO$d$UO'd#sO~O!Q(_O'Z([O!c'{P~P!$aO#W(aO~O!Q(eO'Z(bO!O'|P~P!$aO_(nOj(sOx(kO!W(qO!X(jO!Y(jO!d(hO!x(rO$w(mO'[$bO'e(gO~O!S(pO~P!&XO!b!yOu'cXx'cX'n'cX'u'cX'v'cX!R'cX!{'cX~O'_'cX#m'cX~P!'TOS(vO!{(uO!R'bX'_'bX~O!R(wO'_'aX~O'Z(yO~O!d)OO~O'Z&zO~O!d(hO~Ox$tO!Q!rO!T$uO#U!uO#V!rO'Z$`O!c'oP~O!]!wO#W)SO~OP#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO#i#YO#j#ZO'dQO'n#[O'u!}O'v#OO~O_!^a!R!^a'U!^a!O!^a!c!^an!^a!T!^a%Q!^a!]!^a~P!)fOS)[O!T&cO!o)ZO%Q)YO'`$cO~O'Z$zO'_'aP~O!])_O!T'^X_'^X'U'^X~O!d$XO'`$cO~O!d$XO'Z$`O'`$cO~O!]!wO#W&|O~O])jO%R)kO'Z)gO!S(TP~O!R)lO^(SX~O'e'SO~OZ)pO~O^)qO~O!T$kO'Z$`O'[$bO^(SP~Ox$tO!Q)vO!R&_O!T$uO'Z$`O!O'rP~O]&YOk&YO!Q)wO'e'SO!S'tP~O!R)xO_(PX'U(PX~O!{)|O'`$cO~OS*PO!T#yO'`$cO~O!T*RO~Ou*TO!TSO~O!n*YO~Oc*_O~O'Z(yO!S(RP~Oc$iO~O%RtO'Z$zO~P8tOZ*eO^*dO~OPTOQTO]cObnOcmOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!nlO#x^O%PqO'dQO'mYO'zaO~O!T!bO#t!lO'Z9YO~P!1RO^*dO_$[O'U$[O~O_*iO#d*kO%T*kO%U*kO~P){O!d%_O~O%t*pO~O!T*rO~O&U*uO&V*tOP&SaQ&SaX&Sa]&Sa_&Sab&Sac&Sah&Saj&Sak&Sal&Saq&Sas&Sax&Sa{&Sa|&Sa}&Sa!T&Sa!_&Sa!d&Sa!g&Sa!h&Sa!i&Sa!j&Sa!k&Sa!n&Sa#d&Sa#t&Sa#x&Sa%P&Sa%R&Sa%T&Sa%U&Sa%X&Sa%Z&Sa%^&Sa%_&Sa%a&Sa%n&Sa%t&Sa%v&Sa%x&Sa%z&Sa%}&Sa&T&Sa&X&Sa&Z&Sa&]&Sa&_&Sa&a&Sa'Q&Sa'Z&Sa'd&Sa'm&Sa'z&Sa!S&Sa%{&Sa`&Sa&Q&Sa~O'Z*xO~On*{O~O!O&ga!R&ga~P!)fO!Q+PO!O&gX!R&gX~P){O!R%yO!O'ha~O!O'ha~P>^O!R&_O!O'ra~O!RwX!R!ZX!SwX!S!ZX!]wX!]!ZX!d!ZX!{wX'`!ZX~O!]+UO!{+TO!R#TX!R'jX!S#TX!S'jX!]'jX!d'jX'`'jX~O!]+WO!d$XO'`$cO!R!VX!S!VX~O]&QOk&QOx&RO'e(gO~OP9VOQ9VO]cOb:mOc!jOhcOj9VOkcOlcOq9VOs9VOxRO{cO|cO}cO!T!bO!_9XO!dUO!g9VO!h9VO!i9VO!j9VO!k9VO!n!iO#t!lO#x^O'dQO'mYO'z:kO~O'Z9vO~P!;^O!R+[O!S'iX~O!S+^O~O!]+UO!{+TO!R#TX!S#TX~O!R+_O!S'tX~O!S+aO~O]&QOk&QOx&RO'[$bO'e(gO~O!X+bO!Y+bO~P!>[Ox$tO!Q+dO!T$uO'Z$`O!O&lX!R&lX~O_+hO!W+kO!X+gO!Y+gO!r+oO!s+mO!t+nO!u+lO!x+pO'[$bO'e(gO'm+eO~O!S+jO~P!?]OS+uO!T&cO!o+tO~O!{+{O!R'pa!c'pa_'pa'U'pa~O!]!wO~P!@gO!R&sO!c'oa~Ox$tO!Q,OO!T$uO#U,QO#V,OO'Z$`O!R&nX!c&nX~O_#Oi!R#Oi'U#Oi!O#Oi!c#Oin#Oi!T#Oi%Q#Oi!]#Oi~P!)fO#W!za!R!za!c!za!{!za!T!za_!za'U!za!O!za~P!#rO#W'cXP'cXZ'cX_'cXj'cXv'cX!a'cX!d'cX!j'cX#['cX#]'cX#^'cX#_'cX#`'cX#a'cX#b'cX#c'cX#e'cX#g'cX#i'cX#j'cX'U'cX'd'cX!c'cX!O'cX!T'cXn'cX%Q'cX!]'cX~P!'TO!R,ZO'_'kX~P!#rO'_,]O~O!R,^O!c'lX~P!)fO!c,aO~O!O,bO~OP#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O'dQOZ#Zi_#Zij#Zi!R#Zi!a#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi'U#Zi'n#Zi'u#Zi'v#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~O#[#Zi~P!EtO#[#PO~P!EtOP#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO'dQOZ#Zi_#Zi!R#Zi!a#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi'U#Zi'n#Zi'u#Zi'v#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~Oj#Zi~P!H`Oj#RO~P!H`OP#^Oj#ROu!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO'dQO_#Zi!R#Zi#e#Zi#g#Zi#i#Zi#j#Zi'U#Zi'n#Zi'u#Zi'v#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~OZ#Zi!a#Zi#a#Zi#b#Zi#c#Zi~P!JzOZ#dO!a#TO#a#TO#b#TO#c#TO~P!JzOP#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO'dQO_#Zi!R#Zi#g#Zi#i#Zi#j#Zi'U#Zi'n#Zi'v#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~O'u#Zi~P!MrO'u!}O~P!MrOP#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO'dQO'u!}O_#Zi!R#Zi#i#Zi#j#Zi'U#Zi'n#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~O'v#Zi~P#!^O'v#OO~P#!^OP#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO#i#YO'dQO'u!}O'v#OO~O_#Zi!R#Zi#j#Zi'U#Zi'n#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~P#$xOP[XZ[Xj[Xu[Xv[Xx[X!a[X!b[X!d[X!j[X!{[X#WdX#[[X#][X#^[X#_[X#`[X#a[X#b[X#c[X#e[X#g[X#i[X#j[X#o[X'd[X'n[X'u[X'v[X!R[X!S[X~O#m[X~P#']OP#^OZ9jOj9_Ou!{Ov!{Ox!|O!a9aO!b!yO!d!zO!j#^O#[9]O#]9^O#^9^O#_9^O#`9`O#a9aO#b9aO#c9aO#e9bO#g9dO#i9fO#j9gO'dQO'n#[O'u!}O'v#OO~O#m,dO~P#)gOP'gXZ'gXj'gXu'gXv'gXx'gX!a'gX!b'gX!d'gX!j'gX#['gX#]'gX#^'gX#_'gX#`'gX#a'gX#b'gX#e'gX#g'gX#i'gX#j'gX'd'gX'n'gX'u'gX'v'gX!R'gX~O!{9kO#o9kO#c'gX#m'gX!S'gX~P#+bO_&qa!R&qa'U&qa!c&qan&qa!O&qa!T&qa%Q&qa!]&qa~P!)fOP#ZiZ#Zi_#Zij#Ziv#Zi!R#Zi!a#Zi!b#Zi!d#Zi!j#Zi#[#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi'U#Zi'd#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~P!#rO_#ni!R#ni'U#ni!O#ni!c#nin#ni!T#ni%Q#ni!]#ni~P!)fO#z,fO~O#z,gO~O!]'kO!{,hO!T$OX#w$OX#z$OX$R$OX~O!Q,iO~O!T'nO#w,kO#z'mO$R,lO~O!R9hO!S'fX~P#)gO!S,mO~O$R,oO~OR'|O'S'}O'T,rO~O],uOk,uO!O,vO~O!RdX!]dX!cdX!c$eX'ndX~P!!iO!c,|O~P!#rO!R,}O!]!wO'n&nO!c'{X~O!c-SO~O!O$eX!R$eX!]$lX~P!!iO!R-UO!O'|X~P!#rO!]-WO~O!O-YO~O!Q(_O'Z$`O!c'{P~Oj-^O!]!wO!d$XO'`$cO'n&nO~O!])_O~O!S-dO~P!&XO!X-eO!Y-eO'[$bO'e(gO~Ox-gO'e(gO~O!x-hO~O'Z$zO!R&vX'_&vX~O!R(wO'_'aa~Ou-mOv-mOx-nO'nra'ura'vra!Rra!{ra~O'_ra#mra~P#6fOu(ROx(SO'n$^a'u$^a'v$^a!R$^a!{$^a~O'_$^a#m$^a~P#7[Ou(ROx(SO'n$`a'u$`a'v$`a!R$`a!{$`a~O'_$`a#m$`a~P#7}O]-oO~O#W-pO~O'_$na!R$na#m$na!{$na~P!#rO#W-sO~OS-|O!T&cO!o-{O%Q-zO~O'_-}O~O]#qOj#rOk#qOl#qOq$POs9lOx#xO!T#yO!_:oO!d#vO#V9rO#t$TO$_9nO$a9pO$d$UO'd#sO~Oh.PO'Z.OO~P#9tO!])_O!T'^a_'^a'U'^a~O#W.VO~OZ[X!RdX!SdX~O!R.WO!S(TX~O!S.YO~OZ.ZO~O].]O'Z)gO~O!T$kO'Z$`O^'OX!R'OX~O!R)lO^(Sa~O!c.`O~P!)fO].bO~OZ.cO~O^.dO~OS-|O!T&cO!o-{O%Q-zO'`$cO~O!R)xO_(Pa'U(Pa~O!{.jO~OS.mO!T#yO~O'e'SO!S(QP~OS.wO!T.sO!o.vO%Q.uO'`$cO~OZ/RO!R/PO!S(RX~O!S/SO~O^/UO_$[O'U$[O~O]/VO~O]/WO'Z(yO~O#c/XO%r/YO~P0zO!{#eO#c/XO%r/YO~O_/ZO~P){O_/]O~O%{/aOP%yiQ%yiX%yi]%yi_%yib%yic%yih%yij%yik%yil%yiq%yis%yix%yi{%yi|%yi}%yi!T%yi!_%yi!d%yi!g%yi!h%yi!i%yi!j%yi!k%yi!n%yi#d%yi#t%yi#x%yi%P%yi%R%yi%T%yi%U%yi%X%yi%Z%yi%^%yi%_%yi%a%yi%n%yi%t%yi%v%yi%x%yi%z%yi%}%yi&T%yi&X%yi&Z%yi&]%yi&_%yi&a%yi'Q%yi'Z%yi'd%yi'm%yi'z%yi!S%yi`%yi&Q%yi~O`/gO!S/eO&Q/fO~P`O!TSO!d/jO~O!R#bOn$]a~O!O&gi!R&gi~P!)fO!R%yO!O'hi~O!R&_O!O'ri~O!O/nO~O!R!Va!S!Va~P#)gO]&QOk&QO!Q/tO'e(gO!R&hX!S&hX~P@aO!R+[O!S'ia~O]&YOk&YO!Q)wO'e'SO!R&mX!S&mX~O!R+_O!S'ta~O!O'si!R'si~P!)fO_$[O!]!wO!d$XO!j0OO!{/|O'U$[O'`$cO'n&nO~O!S0RO~P!?]O!X0SO!Y0SO'[$bO'e(gO'm+eO~O!W0TO~P#GyO!TSO!W0TO!u0VO!x0WO~P#GyO!W0TO!s0YO!t0YO!u0VO!x0WO~P#GyO!T&cO~O!T&cO~P!#rO!R'pi!c'pi_'pi'U'pi~P!)fO!{0cO!R'pi!c'pi_'pi'U'pi~O!R&sO!c'oi~Ox$tO!T$uO#V0eO'Z$`O~O#WraPraZra_rajra!ara!bra!dra!jra#[ra#]ra#^ra#_ra#`ra#ara#bra#cra#era#gra#ira#jra'Ura'dra!cra!Ora!Tranra%Qra!]ra~P#6fO#W$^aP$^aZ$^a_$^aj$^av$^a!a$^a!b$^a!d$^a!j$^a#[$^a#]$^a#^$^a#_$^a#`$^a#a$^a#b$^a#c$^a#e$^a#g$^a#i$^a#j$^a'U$^a'd$^a!c$^a!O$^a!T$^an$^a%Q$^a!]$^a~P#7[O#W$`aP$`aZ$`a_$`aj$`av$`a!a$`a!b$`a!d$`a!j$`a#[$`a#]$`a#^$`a#_$`a#`$`a#a$`a#b$`a#c$`a#e$`a#g$`a#i$`a#j$`a'U$`a'd$`a!c$`a!O$`a!T$`an$`a%Q$`a!]$`a~P#7}O#W$naP$naZ$na_$naj$nav$na!R$na!a$na!b$na!d$na!j$na#[$na#]$na#^$na#_$na#`$na#a$na#b$na#c$na#e$na#g$na#i$na#j$na'U$na'd$na!c$na!O$na!T$na!{$nan$na%Q$na!]$na~P!#rO_#Oq!R#Oq'U#Oq!O#Oq!c#Oqn#Oq!T#Oq%Q#Oq!]#Oq~P!)fO!R&iX'_&iX~PJdO!R,ZO'_'ka~O!Q0mO!R&jX!c&jX~P){O!R,^O!c'la~O!R,^O!c'la~P!)fO#m!fa!S!fa~PCcO#m!^a!R!^a!S!^a~P#)gO!T1QO#x^O$P1RO~O!S1VO~On1WO~P!#rO_$Yq!R$Yq'U$Yq!O$Yq!c$Yqn$Yq!T$Yq%Q$Yq!]$Yq~P!)fO!O1XO~O],uOk,uO~Ou(ROx(SO'v(WO'n$xi'u$xi!R$xi!{$xi~O'_$xi#m$xi~P$(jOu(ROx(SO'n$zi'u$zi'v$zi!R$zi!{$zi~O'_$zi#m$zi~P$)]O#m1YO~P!#rO!Q1[O'Z$`O!R&rX!c&rX~O!R,}O!c'{a~O!R,}O!]!wO!c'{a~O!R,}O!]!wO'n&nO!c'{a~O'_$gi!R$gi#m$gi!{$gi~P!#rO!Q1cO'Z(bO!O&tX!R&tX~P!$aO!R-UO!O'|a~O!R-UO!O'|a~P!#rO!]!wO~O!]!wO#c1mO~Oj1qO!]!wO'n&nO~O!R'bi'_'bi~P!#rO!{1tO!R'bi'_'bi~P!#rO!c1wO~O_$Zq!R$Zq'U$Zq!O$Zq!c$Zqn$Zq!T$Zq%Q$Zq!]$Zq~P!)fO!R1{O!T'}X~P!#rO!T&cO%Q2OO~O!T&cO%Q2OO~P!#rO!T$eX$u[X_$eX'U$eX~P!!iO$u2SOugXxgX!TgX'ngX'ugX'vgX_gX'UgX~O$u2SO~O]2YO%R2ZO'Z)gO!R&}X!S&}X~O!R.WO!S(Ta~OZ2_O~O^2`O~O]2cO~OS2eO!T&cO!o2dO%Q2OO~O_$[O'U$[O~P!#rO!T#yO~P!#rO!R2jO!{2lO!S(QX~O!S2mO~Ox(kO!W2vO!X2oO!Y2oO!r2uO!s2tO!t2tO!x2sO'[$bO'e(gO'm+eO~O!S2rO~P$1nOS2}O!T.sO!o2|O%Q2{O~OS2}O!T.sO!o2|O%Q2{O'`$cO~O'Z(yO!R&|X!S&|X~O!R/PO!S(Ra~O]3XO'e3WO~O]3YO~O^3[O~O!c3_O~P){O_3aO~O_3aO~P){O#c3cO%r3dO~PE{O`/gO!S3hO&Q/fO~P`O!]3jO~O&V3kOP&SqQ&SqX&Sq]&Sq_&Sqb&Sqc&Sqh&Sqj&Sqk&Sql&Sqq&Sqs&Sqx&Sq{&Sq|&Sq}&Sq!T&Sq!_&Sq!d&Sq!g&Sq!h&Sq!i&Sq!j&Sq!k&Sq!n&Sq#d&Sq#t&Sq#x&Sq%P&Sq%R&Sq%T&Sq%U&Sq%X&Sq%Z&Sq%^&Sq%_&Sq%a&Sq%n&Sq%t&Sq%v&Sq%x&Sq%z&Sq%}&Sq&T&Sq&X&Sq&Z&Sq&]&Sq&_&Sq&a&Sq'Q&Sq'Z&Sq'd&Sq'm&Sq'z&Sq!S&Sq%{&Sq`&Sq&Q&Sq~O!R#Ti!S#Ti~P#)gO!{3mO!R#Ti!S#Ti~O!R!Vi!S!Vi~P#)gO_$[O!{3tO'U$[O~O_$[O!]!wO!{3tO'U$[O~O!X3xO!Y3xO'[$bO'e(gO'm+eO~O_$[O!]!wO!d$XO!j3yO!{3tO'U$[O'`$cO'n&nO~O!W3zO~P$:ZO!W3zO!u3}O!x4OO~P$:ZO_$[O!]!wO!j3yO!{3tO'U$[O'n&nO~O!R'pq!c'pq_'pq'U'pq~P!)fO!R&sO!c'oq~O#W$xiP$xiZ$xi_$xij$xiv$xi!a$xi!b$xi!d$xi!j$xi#[$xi#]$xi#^$xi#_$xi#`$xi#a$xi#b$xi#c$xi#e$xi#g$xi#i$xi#j$xi'U$xi'd$xi!c$xi!O$xi!T$xin$xi%Q$xi!]$xi~P$(jO#W$ziP$ziZ$zi_$zij$ziv$zi!a$zi!b$zi!d$zi!j$zi#[$zi#]$zi#^$zi#_$zi#`$zi#a$zi#b$zi#c$zi#e$zi#g$zi#i$zi#j$zi'U$zi'd$zi!c$zi!O$zi!T$zin$zi%Q$zi!]$zi~P$)]O#W$giP$giZ$gi_$gij$giv$gi!R$gi!a$gi!b$gi!d$gi!j$gi#[$gi#]$gi#^$gi#_$gi#`$gi#a$gi#b$gi#c$gi#e$gi#g$gi#i$gi#j$gi'U$gi'd$gi!c$gi!O$gi!T$gi!{$gin$gi%Q$gi!]$gi~P!#rO!R&ia'_&ia~P!#rO!R&ja!c&ja~P!)fO!R,^O!c'li~O#m#Oi!R#Oi!S#Oi~P#)gOP#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O'dQOZ#Zij#Zi!a#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'n#Zi'u#Zi'v#Zi!R#Zi!S#Zi~O#[#Zi~P$CqO#[9]O~P$CqOP#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[9]O#]9^O#^9^O#_9^O'dQOZ#Zi!a#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'n#Zi'u#Zi'v#Zi!R#Zi!S#Zi~Oj#Zi~P$EyOj9_O~P$EyOP#^Oj9_Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[9]O#]9^O#^9^O#_9^O#`9`O'dQO#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'n#Zi'u#Zi'v#Zi!R#Zi!S#Zi~OZ#Zi!a#Zi#a#Zi#b#Zi#c#Zi~P$HROZ9jO!a9aO#a9aO#b9aO#c9aO~P$HROP#^OZ9jOj9_Ou!{Ov!{Ox!|O!a9aO!b!yO!d!zO!j#^O#[9]O#]9^O#^9^O#_9^O#`9`O#a9aO#b9aO#c9aO#e9bO'dQO#g#Zi#i#Zi#j#Zi#m#Zi'n#Zi'v#Zi!R#Zi!S#Zi~O'u#Zi~P$JgO'u!}O~P$JgOP#^OZ9jOj9_Ou!{Ov!{Ox!|O!a9aO!b!yO!d!zO!j#^O#[9]O#]9^O#^9^O#_9^O#`9`O#a9aO#b9aO#c9aO#e9bO#g9dO'dQO'u!}O#i#Zi#j#Zi#m#Zi'n#Zi!R#Zi!S#Zi~O'v#Zi~P$LoO'v#OO~P$LoOP#^OZ9jOj9_Ou!{Ov!{Ox!|O!a9aO!b!yO!d!zO!j#^O#[9]O#]9^O#^9^O#_9^O#`9`O#a9aO#b9aO#c9aO#e9bO#g9dO#i9fO'dQO'u!}O'v#OO~O#j#Zi#m#Zi'n#Zi!R#Zi!S#Zi~P$NwO_#ky!R#ky'U#ky!O#ky!c#kyn#ky!T#ky%Q#ky!]#ky~P!)fOP#ZiZ#Zij#Ziv#Zi!a#Zi!b#Zi!d#Zi!j#Zi#[#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'd#Zi!R#Zi!S#Zi~P!#rO!b!yOP'cXZ'cXj'cXu'cXv'cXx'cX!a'cX!d'cX!j'cX#['cX#]'cX#^'cX#_'cX#`'cX#a'cX#b'cX#c'cX#e'cX#g'cX#i'cX#j'cX#m'cX'd'cX'n'cX'u'cX'v'cX!R'cX!S'cX~O#m#ni!R#ni!S#ni~P#)gO!S4`O~O!R&qa!S&qa~P#)gO!]!wO'n&nO!R&ra!c&ra~O!R,}O!c'{i~O!R,}O!]!wO!c'{i~O!O&ta!R&ta~P!#rO!]4gO~O!R-UO!O'|i~P!#rO!R-UO!O'|i~O!O4mO~O!]!wO#c4sO~Oj4tO!]!wO'n&nO~O!O4vO~O'_$iq!R$iq#m$iq!{$iq~P!#rO_$Zy!R$Zy'U$Zy!O$Zy!c$Zyn$Zy!T$Zy%Q$Zy!]$Zy~P!)fO!R1{O!T'}a~O!T&cO%Q4{O~O!T&cO%Q4{O~P!#rO_#Oy!R#Oy'U#Oy!O#Oy!c#Oyn#Oy!T#Oy%Q#Oy!]#Oy~P!)fOZ5OO~O]5QO'Z)gO~O!R.WO!S(Ti~O]5TO~O^5UO~O'e'SO!R&yX!S&yX~O!R2jO!S(Qa~O!S5cO~P$1nOx-gO'e(gO'm+eO~O!W5fO!X5eO!Y5eO!x0WO'[$bO'e(gO'm+eO~O!s5gO!t5gO~P%-iO!X5eO!Y5eO'[$bO'e(gO'm+eO~O!T.sO~O!T.sO%Q5iO~O!T.sO%Q5iO~P!#rOS5nO!T.sO!o5mO%Q5iO~OZ5sO!R&|a!S&|a~O!R/PO!S(Ri~O]5vO~O!c5wO~O!c5xO~O!c5yO~O!c5yO~P){O_5{O~O!]6OO~O!c6QO~O!R'si!S'si~P#)gO_$[O'U$[O~P!)fO_$[O!{6VO'U$[O~O_$[O!]!wO!{6VO'U$[O~O!X6[O!Y6[O'[$bO'e(gO'm+eO~O_$[O!]!wO!j6]O!{6VO'U$[O'n&nO~O!d$XO'`$cO~P%2TO!W6^O~P%1rO!R'py!c'py_'py'U'py~P!)fO#W$iqP$iqZ$iq_$iqj$iqv$iq!R$iq!a$iq!b$iq!d$iq!j$iq#[$iq#]$iq#^$iq#_$iq#`$iq#a$iq#b$iq#c$iq#e$iq#g$iq#i$iq#j$iq'U$iq'd$iq!c$iq!O$iq!T$iq!{$iqn$iq%Q$iq!]$iq~P!#rO!R&ji!c&ji~P!)fO#m#Oq!R#Oq!S#Oq~P#)gOu-mOv-mOx-nOPraZrajra!ara!bra!dra!jra#[ra#]ra#^ra#_ra#`ra#ara#bra#cra#era#gra#ira#jra#mra'dra'nra'ura'vra!Rra!Sra~Ou(ROx(SOP$^aZ$^aj$^av$^a!a$^a!b$^a!d$^a!j$^a#[$^a#]$^a#^$^a#_$^a#`$^a#a$^a#b$^a#c$^a#e$^a#g$^a#i$^a#j$^a#m$^a'd$^a'n$^a'u$^a'v$^a!R$^a!S$^a~Ou(ROx(SOP$`aZ$`aj$`av$`a!a$`a!b$`a!d$`a!j$`a#[$`a#]$`a#^$`a#_$`a#`$`a#a$`a#b$`a#c$`a#e$`a#g$`a#i$`a#j$`a#m$`a'd$`a'n$`a'u$`a'v$`a!R$`a!S$`a~OP$naZ$naj$nav$na!a$na!b$na!d$na!j$na#[$na#]$na#^$na#_$na#`$na#a$na#b$na#c$na#e$na#g$na#i$na#j$na#m$na'd$na!R$na!S$na~P!#rO#m$Yq!R$Yq!S$Yq~P#)gO#m$Zq!R$Zq!S$Zq~P#)gO!S6hO~O'_$|y!R$|y#m$|y!{$|y~P!#rO!]!wO!R&ri!c&ri~O!]!wO'n&nO!R&ri!c&ri~O!R,}O!c'{q~O!O&ti!R&ti~P!#rO!R-UO!O'|q~O!O6oO~P!#rO!O6oO~O!R'by'_'by~P!#rO!R&wa!T&wa~P!#rO!T$tq_$tq'U$tq~P!#rOZ6wO~O!R.WO!S(Tq~O]6zO~O!T&cO%Q6{O~O!T&cO%Q6{O~P!#rO!{6|O!R&ya!S&ya~O!R2jO!S(Qi~P#)gO!X7SO!Y7SO'[$bO'e(gO'm+eO~O!W7UO!x4OO~P%ArO!T.sO%Q7XO~O!T.sO%Q7XO~P!#rO]7`O'e7_O~O!R/PO!S(Rq~O!c7bO~O!c7bO~P){O!c7dO~O!c7eO~O!R#Ty!S#Ty~P#)gO_$[O!{7kO'U$[O~O_$[O!]!wO!{7kO'U$[O~O!X7nO!Y7nO'[$bO'e(gO'm+eO~O_$[O!]!wO!j7oO!{7kO'U$[O'n&nO~O#W$|yP$|yZ$|y_$|yj$|yv$|y!R$|y!a$|y!b$|y!d$|y!j$|y#[$|y#]$|y#^$|y#_$|y#`$|y#a$|y#b$|y#c$|y#e$|y#g$|y#i$|y#j$|y'U$|y'd$|y!c$|y!O$|y!T$|y!{$|yn$|y%Q$|y!]$|y~P!#rO#m#ky!R#ky!S#ky~P#)gOP$giZ$gij$giv$gi!a$gi!b$gi!d$gi!j$gi#[$gi#]$gi#^$gi#_$gi#`$gi#a$gi#b$gi#c$gi#e$gi#g$gi#i$gi#j$gi#m$gi'd$gi!R$gi!S$gi~P!#rOu(ROx(SO'v(WOP$xiZ$xij$xiv$xi!a$xi!b$xi!d$xi!j$xi#[$xi#]$xi#^$xi#_$xi#`$xi#a$xi#b$xi#c$xi#e$xi#g$xi#i$xi#j$xi#m$xi'd$xi'n$xi'u$xi!R$xi!S$xi~Ou(ROx(SOP$ziZ$zij$ziv$zi!a$zi!b$zi!d$zi!j$zi#[$zi#]$zi#^$zi#_$zi#`$zi#a$zi#b$zi#c$zi#e$zi#g$zi#i$zi#j$zi#m$zi'd$zi'n$zi'u$zi'v$zi!R$zi!S$zi~O#m$Zy!R$Zy!S$Zy~P#)gO#m#Oy!R#Oy!S#Oy~P#)gO!]!wO!R&rq!c&rq~O!R,}O!c'{y~O!O&tq!R&tq~P!#rO!O7uO~P!#rO!R.WO!S(Ty~O!R2jO!S(Qq~O!X8RO!Y8RO'[$bO'e(gO'm+eO~O!T.sO%Q8UO~O!T.sO%Q8UO~P!#rO!c8XO~O&V8YOP&S!ZQ&S!ZX&S!Z]&S!Z_&S!Zb&S!Zc&S!Zh&S!Zj&S!Zk&S!Zl&S!Zq&S!Zs&S!Zx&S!Z{&S!Z|&S!Z}&S!Z!T&S!Z!_&S!Z!d&S!Z!g&S!Z!h&S!Z!i&S!Z!j&S!Z!k&S!Z!n&S!Z#d&S!Z#t&S!Z#x&S!Z%P&S!Z%R&S!Z%T&S!Z%U&S!Z%X&S!Z%Z&S!Z%^&S!Z%_&S!Z%a&S!Z%n&S!Z%t&S!Z%v&S!Z%x&S!Z%z&S!Z%}&S!Z&T&S!Z&X&S!Z&Z&S!Z&]&S!Z&_&S!Z&a&S!Z'Q&S!Z'Z&S!Z'd&S!Z'm&S!Z'z&S!Z!S&S!Z%{&S!Z`&S!Z&Q&S!Z~O_$[O!{8_O'U$[O~O_$[O!]!wO!{8_O'U$[O~OP$iqZ$iqj$iqv$iq!a$iq!b$iq!d$iq!j$iq#[$iq#]$iq#^$iq#_$iq#`$iq#a$iq#b$iq#c$iq#e$iq#g$iq#i$iq#j$iq#m$iq'd$iq!R$iq!S$iq~P!#rO!R&yq!S&yq~P#)gO_$[O!{8tO'U$[O~OP$|yZ$|yj$|yv$|y!a$|y!b$|y!d$|y!j$|y#[$|y#]$|y#^$|y#_$|y#`$|y#a$|y#b$|y#c$|y#e$|y#g$|y#i$|y#j$|y#m$|y'd$|y!R$|y!S$|y~P!#rOn'fX~P.jOn[X!O[X!c[X%r[X!T[X%Q[X!][X~P$zO!]dX!c[X!cdX'ndX~P;aOP9VOQ9VO]cOb:mOc!jOhcOj9VOkcOlcOq9VOs9VOxRO{cO|cO}cO!TSO!_9XO!dUO!g9VO!h9VO!i9VO!j9VO!k9VO!n!iO#t!lO#x^O'Z'bO'dQO'mYO'z:kO~O!R9hO!S$]a~O]#qOh$OOj#rOk#qOl#qOq$POs9mOx#xO!T#yO!_:pO!d#vO#V9sO#t$TO$_9oO$a9qO$d$UO'Z&zO'd#sO~O#d'iO~P&-UO!S[X!SdX~P;aO#W9[O~O!]!wO#W9[O~O!{9kO~O#c9aO~O!{9tO!R'sX!S'sX~O!{9kO!R'qX!S'qX~O#W9uO~O'_9wO~P!#rO#W9|O~O#W9}O~O!]!wO#W:OO~O!]!wO#W9uO~O#m:PO~P#)gO#W:QO~O#W:RO~O#W:SO~O#W:TO~O#m:UO~P!#rO#m:VO~P!#rO#x~!b!r!t!u#U#V'z$_$a$d$u%P%Q%R%X%Z%^%_%a%c~UT#x'z#]}'W'X#z'W'Z'e~",goto:"#Ed(XPPPPPPPP(YP(jP*^PPPP-uPP.[3n5b5uP5uPPP5uP7c5uP5uP7gPP7lP8Qk|}?O}!O>k!O!P?`!P!QCl!Q!R!0[!R![!1q![!]!7s!]!^!8V!^!_!8g!_!`!9d!`!a!:[!a!b!U#R#S2`#S#T!>i#T#o2`#o#p!>y#p#q!?O#q#r!?f#r#s!?x#s$f%T$f$g%c$g#BY2`#BY#BZ!@Y#BZ$IS2`$IS$I_!@Y$I_$I|2`$I|$I}!Bq$I}$JO!Bq$JO$JT2`$JT$JU!@Y$JU$KV2`$KV$KW!@Y$KW&FU2`&FU&FV!@Y&FV?HT2`?HT?HU!@Y?HU~2`W%YR$UWO!^%T!_#o%T#p~%T,T%jg$UW'W+{OX%TXY%cYZ%TZ[%c[p%Tpq%cq!^%T!_#o%T#p$f%T$f$g%c$g#BY%T#BY#BZ%c#BZ$IS%T$IS$I_%c$I_$JT%T$JT$JU%c$JU$KV%T$KV$KW%c$KW&FU%T&FU&FV%c&FV?HT%T?HT?HU%c?HU~%T,T'YR$UW'X+{O!^%T!_#o%T#p~%T$T'jS$UW!j#{O!^%T!_!`'v!`#o%T#p~%T$O'}S#e#v$UWO!^%T!_!`(Z!`#o%T#p~%T$O(bR#e#v$UWO!^%T!_#o%T#p~%T'u(rZ$UW]!ROY(kYZ)eZr(krs*rs!^(k!^!_+U!_#O(k#O#P-b#P#o(k#o#p+U#p~(k&r)jV$UWOr)ers*Ps!^)e!^!_*a!_#o)e#o#p*a#p~)e&r*WR$P&j$UWO!^%T!_#o%T#p~%T&j*dROr*ars*ms~*a&j*rO$P&j'u*{R$P&j$UW]!RO!^%T!_#o%T#p~%T'm+ZV]!ROY+UYZ*aZr+Urs+ps#O+U#O#P+w#P~+U'm+wO$P&j]!R'm+zROr+Urs,Ts~+U'm,[U$P&j]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R,sU]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R-[O]!R!R-_PO~,n'u-gV$UWOr(krs-|s!^(k!^!_+U!_#o(k#o#p+U#p~(k'u.VZ$P&j$UW]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/PZ$UW]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/yR$UW]!RO!^%T!_#o%T#p~%T!Z0XT$UWO!^.x!^!_,n!_#o.x#o#p,n#p~.xy0mZ$UWOt%Ttu1`u!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`y1g]$UW'mqOt%Ttu1`u!Q%T!Q![1`![!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`&i2k_$UW#zS'Z%k'epOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`[3q_$UW#zSOt%Ttu3ju}%T}!O3j!O!Q%T!Q![3j![!^%T!_!c%T!c!}3j!}#R%T#R#S3j#S#T%T#T#o3j#p$g%T$g~3j$O4wS#^#v$UWO!^%T!_!`5T!`#o%T#p~%T$O5[R$UW#o#vO!^%T!_#o%T#p~%T%r5lU'v%j$UWOv%Tvw6Ow!^%T!_!`5T!`#o%T#p~%T$O6VS$UW#i#vO!^%T!_!`5T!`#o%T#p~%T'u6jZ$UW]!ROY6cYZ7]Zw6cwx*rx!^6c!^!_8T!_#O6c#O#P:T#P#o6c#o#p8T#p~6c&r7bV$UWOw7]wx*Px!^7]!^!_7w!_#o7]#o#p7w#p~7]&j7zROw7wwx*mx~7w'm8YV]!ROY8TYZ7wZw8Twx+px#O8T#O#P8o#P~8T'm8rROw8Twx8{x~8T'm9SU$P&j]!ROY9fZw9fwx-Vx#O9f#O#P9}#P~9f!R9kU]!ROY9fZw9fwx-Vx#O9f#O#P9}#P~9f!R:QPO~9f'u:YV$UWOw6cwx:ox!^6c!^!_8T!_#o6c#o#p8T#p~6c'u:xZ$P&j$UW]!ROY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#PW{!^%T!_!`5T!`#o%T#p~%T$O>_S#[#v$UWO!^%T!_!`5T!`#o%T#p~%T$u>rSj$m$UWO!^%T!_!`5T!`#o%T#p~%T&i?VR!R&a$UWO!^%T!_#o%T#p~%T&i?gVu%n$UWO!O%T!O!P?|!P!Q%T!Q![@r![!^%T!_#o%T#p~%Ty@RT$UWO!O%T!O!P@b!P!^%T!_#o%T#p~%Ty@iR!Qq$UWO!^%T!_#o%T#p~%Ty@yZ$UWkqO!Q%T!Q![@r![!^%T!_!g%T!g!hAl!h#R%T#R#S@r#S#X%T#X#YAl#Y#o%T#p~%TyAqZ$UWO{%T{|Bd|}%T}!OBd!O!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%TyBiV$UWO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%TyCVV$UWkqO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%T,TCs`$UW#]#vOYDuYZ%TZzDuz{Jl{!PDu!P!Q!-e!Q!^Du!^!_Fx!_!`!.^!`!a!/]!a!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXD|[$UW}POYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXEy_$UW}PO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%TPF}V}POYFxZ!PFx!P!QGd!Q!}Fx!}#OG{#O#PHh#P~FxPGiU}P#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGdPHOTOYG{Z#OG{#O#PH_#P#QFx#Q~G{PHbQOYG{Z~G{PHkQOYFxZ~FxXHvY$UWOYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~HqXIkV$UWOYHqYZ%TZ!^Hq!^!_G{!_#oHq#o#pG{#p~HqXJVV$UWOYDuYZ%TZ!^Du!^!_Fx!_#oDu#o#pFx#p~Du,TJs^$UW}POYJlYZKoZzJlz{NQ{!PJl!P!Q!,R!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl,TKtV$UWOzKoz{LZ{!^Ko!^!_M]!_#oKo#o#pM]#p~Ko,TL`X$UWOzKoz{LZ{!PKo!P!QL{!Q!^Ko!^!_M]!_#oKo#o#pM]#p~Ko,TMSR$UWU+{O!^%T!_#o%T#p~%T+{M`ROzM]z{Mi{~M]+{MlTOzM]z{Mi{!PM]!P!QM{!Q~M]+{NQOU+{,TNX^$UW}POYJlYZKoZzJlz{NQ{!PJl!P!Q! T!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl,T! ^_$UWU+{}PO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%T+{!!bY}POY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!&x!Q!}!!]!}#O!$`#O#P!&f#P~!!]+{!#VY}POY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!#u!Q!}!!]!}#O!$`#O#P!&f#P~!!]+{!#|UU+{}P#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGd+{!$cWOY!$`YZM]Zz!$`z{!${{#O!$`#O#P!&S#P#Q!!]#Q~!$`+{!%OYOY!$`YZM]Zz!$`z{!${{!P!$`!P!Q!%n!Q#O!$`#O#P!&S#P#Q!!]#Q~!$`+{!%sTU+{OYG{Z#OG{#O#PH_#P#QFx#Q~G{+{!&VTOY!$`YZM]Zz!$`z{!${{~!$`+{!&iTOY!!]YZM]Zz!!]z{!#Q{~!!]+{!&}_}POzM]z{Mi{#ZM]#Z#[!&x#[#]M]#]#^!&x#^#aM]#a#b!&x#b#gM]#g#h!&x#h#iM]#i#j!&x#j#mM]#m#n!&x#n~M],T!(R[$UWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|,T!(|^$UWOY!'|YZKoZz!'|z{!(w{!P!'|!P!Q!)x!Q!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|,T!*PY$UWU+{OYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~Hq,T!*tX$UWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#o!'|#o#p!$`#p~!'|,T!+fX$UWOYJlYZKoZzJlz{NQ{!^Jl!^!_!!]!_#oJl#o#p!!]#p~Jl,T!,Yc$UW}POzKoz{LZ{!^Ko!^!_M]!_#ZKo#Z#[!,R#[#]Ko#]#^!,R#^#aKo#a#b!,R#b#gKo#g#h!,R#h#iKo#i#j!,R#j#mKo#m#n!,R#n#oKo#o#pM]#p~Ko,T!-lV$UWT+{OY!-eYZ%TZ!^!-e!^!_!.R!_#o!-e#o#p!.R#p~!-e+{!.WQT+{OY!.RZ~!.R$P!.g[$UW#o#v}POYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Du]!/f[#wS$UW}POYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Duy!0cd$UWkqO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#U%T#U#V!3X#V#X%T#X#YAl#Y#b%T#b#c!2w#c#d!4m#d#l%T#l#m!5{#m#o%T#p~%Ty!1x_$UWkqO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#X%T#X#YAl#Y#b%T#b#c!2w#c#o%T#p~%Ty!3OR$UWkqO!^%T!_#o%T#p~%Ty!3^W$UWO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#o%T#p~%Ty!3}Y$UWkqO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#b%T#b#c!2w#c#o%T#p~%Ty!4rV$UWO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#o%T#p~%Ty!5`X$UWkqO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#b%T#b#c!2w#c#o%T#p~%Ty!6QZ$UWO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#o%T#p~%Ty!6z]$UWkqO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#b%T#b#c!2w#c#o%T#p~%T%w!7|R!]V$UW#m%hO!^%T!_#o%T#p~%T!P!8^R_w$UWO!^%T!_#o%T#p~%T+c!8rR'`d!a%Y#x&s'zP!P!Q!8{!^!_!9Q!_!`!9_W!9QO$WW#v!9VP#`#v!_!`!9Y#v!9_O#o#v#v!9dO#a#v%w!9kT!{%o$UWO!^%T!_!`'v!`!a!9z!a#o%T#p~%T$P!:RR#W#w$UWO!^%T!_#o%T#p~%T%w!:gT'_!s#a#v$RS$UWO!^%T!_!`!:v!`!a!;W!a#o%T#p~%T$O!:}R#a#v$UWO!^%T!_#o%T#p~%T$O!;_T#`#v$UWO!^%T!_!`5T!`!a!;n!a#o%T#p~%T$O!;uS#`#v$UWO!^%T!_!`5T!`#o%T#p~%T%w!]S#g#v$UWO!^%T!_!`5T!`#o%T#p~%T$P!>pR$UW'd#wO!^%T!_#o%T#p~%T~!?OO!T~%r!?VT'u%j$UWO!^%T!_!`5T!`#o%T#p#q!=P#q~%T$u!?oR!S$knQ$UWO!^%T!_#o%T#p~%TX!@PR!kP$UWO!^%T!_#o%T#p~%T,T!@gr$UW'W+{#zS'Z%k'epOX%TXY%cYZ%TZ[%c[p%Tpq%cqt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$f%T$f$g%c$g#BY2`#BY#BZ!@Y#BZ$IS2`$IS$I_!@Y$I_$JT2`$JT$JU!@Y$JU$KV2`$KV$KW!@Y$KW&FU2`&FU&FV!@Y&FV?HT2`?HT?HU!@Y?HU~2`,T!CO_$UW'X+{#zS'Z%k'epOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`",tokenizers:[noSemicolon,incdecToken,template,0,1,2,3,4,5,6,7,8,insertSemicolon],topRules:{Script:[0,7]},dialects:{jsx:11335,ts:11337},dynamicPrecedences:{"149":1,"176":1},specialized:[{term:287,get:(o,e)=>tsExtends(o,e)<<1},{term:287,get:o=>spec_identifier[o]||-1},{term:297,get:o=>spec_word[o]||-1},{term:63,get:o=>spec_LessThan[o]||-1}],tokenPrec:11358}),snippets=[snippetCompletion("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),snippetCompletion("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),snippetCompletion("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),snippetCompletion(`try { + */var f=react.exports,g=60103;reactJsxRuntime_production_min.Fragment=60107;if(typeof Symbol=="function"&&Symbol.for){var h=Symbol.for;g=h("react.element"),reactJsxRuntime_production_min.Fragment=h("react.fragment")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};function q(o,e,s){var a,c={},d=null,_=null;s!==void 0&&(d=""+s),e.key!==void 0&&(d=""+e.key),e.ref!==void 0&&(_=e.ref);for(a in e)n.call(e,a)&&!p.hasOwnProperty(a)&&(c[a]=e[a]);if(o&&o.defaultProps)for(a in e=o.defaultProps,e)c[a]===void 0&&(c[a]=e[a]);return{$$typeof:g,type:o,key:d,ref:_,props:c,_owner:m.current}}reactJsxRuntime_production_min.jsx=q;reactJsxRuntime_production_min.jsxs=q;jsxRuntime.exports=reactJsxRuntime_production_min;const jsx=jsxRuntime.exports.jsx,jsxs=jsxRuntime.exports.jsxs,Fragment=jsxRuntime.exports.Fragment;/*! @license ReactCodeMirror - MIT License - Tom Golden (8162045+tbjgolden@users.noreply.github.com) */var __assign=function(){return __assign=Object.assign||function(e){for(var s,a=1,c=arguments.length;a0)&&!(c=a.next()).done;)d.push(c.value)}catch(b){_={error:b}}finally{try{c&&!c.done&&(s=a.return)&&s.call(a)}finally{if(_)throw _.error}}return d}function __spreadArray(o,e,s){if(s||arguments.length===2)for(var a=0,c=e.length,d;as%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,s,a=0){let c=e.parser.context;return new Stack(e,[],s,a,a,0,[],0,c?new StackContext(c,c.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,s){this.stack.push(this.state,s,this.bufferBase+this.buffer.length),this.state=e}reduce(e){let s=e>>19,a=e&65535,{parser:c}=this.p,d=c.dynamicPrecedence(a);if(d&&(this.score+=d),s==0){this.pushState(c.getGoto(this.state,a,!0),this.reducePos),a_;)this.stack.pop();this.reduceContext(a,b)}storeNode(e,s,a,c=4,d=!1){if(e==0){let _=this,b=this.buffer.length;if(b==0&&_.parent&&(b=_.bufferBase-_.parent.bufferBase,_=_.parent),b>0&&_.buffer[b-4]==0&&_.buffer[b-1]>-1){if(s==a)return;if(_.buffer[b-2]>=s){_.buffer[b-2]=a;return}}}if(!d||this.pos==a)this.buffer.push(e,s,a,c);else{let _=this.buffer.length;if(_>0&&this.buffer[_-4]!=0)for(;_>0&&this.buffer[_-2]>a;)this.buffer[_]=this.buffer[_-4],this.buffer[_+1]=this.buffer[_-3],this.buffer[_+2]=this.buffer[_-2],this.buffer[_+3]=this.buffer[_-1],_-=4,c>4&&(c-=4);this.buffer[_]=e,this.buffer[_+1]=s,this.buffer[_+2]=a,this.buffer[_+3]=c}}shift(e,s,a){let c=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let d=e,{parser:_}=this.p;(a>this.pos||s<=_.maxNode)&&(this.pos=a,_.stateFlag(d,1)||(this.reducePos=a)),this.pushState(d,c),this.shiftContext(s,c),s<=_.maxNode&&this.buffer.push(s,c,a,4)}else this.pos=a,this.shiftContext(s,c),s<=this.p.parser.maxNode&&this.buffer.push(s,c,a,4)}apply(e,s,a){e&65536?this.reduce(e):this.shift(e,s,a)}useNode(e,s){let a=this.p.reused.length-1;(a<0||this.p.reused[a]!=e)&&(this.p.reused.push(e),a++);let c=this.pos;this.reducePos=this.pos=c+e.length,this.pushState(s,c),this.buffer.push(a,c,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,s=e.buffer.length;for(;s>0&&e.buffer[s-2]>e.reducePos;)s-=4;let a=e.buffer.slice(s),c=e.bufferBase+s;for(;e&&c==e.bufferBase;)e=e.parent;return new Stack(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,a,c,this.curContext,this.lookAhead,e)}recoverByDelete(e,s){let a=e<=this.p.parser.maxNode;a&&this.storeNode(e,this.pos,s,4),this.storeNode(0,this.pos,s,a?8:4),this.pos=this.reducePos=s,this.score-=190}canShift(e){for(let s=new SimulatedStack(this);;){let a=this.p.parser.stateSlot(s.state,4)||this.p.parser.hasAction(s.state,e);if((a&65536)==0)return!0;if(a==0)return!1;s.reduce(a)}}recoverByInsert(e){if(this.stack.length>=300)return[];let s=this.p.parser.nextStates(this.state);if(s.length>4<<1||this.stack.length>=120){let c=[];for(let d=0,_;dk&1&&b==_)||c.push(s[d],_)}s=c}let a=[];for(let c=0;c>19,c=e&65535,d=this.stack.length-a*3;if(d<0||s.getGoto(this.stack[d],c,!1)<0)return!1;this.storeNode(0,this.reducePos,this.reducePos,4,!0),this.score-=100}return this.reduce(e),!0}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let s=0;sthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class StackContext{constructor(e,s){this.tracker=e,this.context=s,this.hash=e.strict?e.hash(s):0}}var Recover;(function(o){o[o.Insert=200]="Insert",o[o.Delete=190]="Delete",o[o.Reduce=100]="Reduce",o[o.MaxNext=4]="MaxNext",o[o.MaxInsertStackDepth=300]="MaxInsertStackDepth",o[o.DampenInsertStackDepth=120]="DampenInsertStackDepth"})(Recover||(Recover={}));class SimulatedStack{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let s=e&65535,a=e>>19;a==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(a-1)*3;let c=this.start.p.parser.getGoto(this.stack[this.base-3],s,!0);this.state=c}}class StackBufferCursor{constructor(e,s,a){this.stack=e,this.pos=s,this.index=a,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,s=e.bufferBase+e.buffer.length){return new StackBufferCursor(e,s,s-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new StackBufferCursor(this.stack,this.pos,this.index)}}class CachedToken{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const nullToken=new CachedToken;class InputStream{constructor(e,s){this.input=e,this.ranges=s,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=nullToken,this.rangeIndex=0,this.pos=this.chunkPos=s[0].from,this.range=s[0],this.end=s[s.length-1].to,this.readNext()}resolveOffset(e,s){let a=this.range,c=this.rangeIndex,d=this.pos+e;for(;da.to:d>=a.to;){if(c==this.ranges.length-1)return null;let _=this.ranges[++c];d+=_.from-a.to,a=_}return d}peek(e){let s=this.chunkOff+e,a,c;if(s>=0&&s=this.chunk2Pos&&ab.to&&(this.chunk2=this.chunk2.slice(0,b.to-a)),c=this.chunk2.charCodeAt(0)}}return a>=this.token.lookAhead&&(this.token.lookAhead=a+1),c}acceptToken(e,s=0){let a=s?this.resolveOffset(s,-1):this.pos;if(a==null||a=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,s){if(s?(this.token=s,s.start=e,s.lookAhead=e+1,s.value=s.extended=-1):this.token=nullToken,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&s<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,s-this.chunkPos);if(e>=this.chunk2Pos&&s<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,s-this.chunk2Pos);if(e>=this.range.from&&s<=this.range.to)return this.input.read(e,s);let a="";for(let c of this.ranges){if(c.from>=s)break;c.to>e&&(a+=this.input.read(Math.max(c.from,e),Math.min(c.to,s)))}return a}}class TokenGroup{constructor(e,s){this.data=e,this.id=s}token(e,s){readToken(this.data,e,s,this.id)}}TokenGroup.prototype.contextual=TokenGroup.prototype.fallback=TokenGroup.prototype.extend=!1;class ExternalTokenizer{constructor(e,s={}){this.token=e,this.contextual=!!s.contextual,this.fallback=!!s.fallback,this.extend=!!s.extend}}function readToken(o,e,s,a){let c=0,d=1<0){let j=o[$];if(b.allows(j)&&(e.token.value==-1||e.token.value==j||_.overrides(j,e.token.value))){e.acceptToken(j);break}}for(let $=e.next,j=0,_e=o[c+2];j<_e;){let et=j+_e>>1,tt=k+et+(et<<1),nt=o[tt],it=o[tt+1];if($=it)j=et+1;else{c=o[tt+2],e.advance();continue e}}break}}function decodeArray(o,e=Uint16Array){if(typeof o!="string")return o;let s=null;for(let a=0,c=0;a=92&&_--,_>=34&&_--;let k=_-32;if(k>=46&&(k-=46,b=!0),d+=k,b)break;d*=46}s?s[c++]=d:s=new e(d)}return s}const verbose=typeof process!="undefined"&&/\bparse\b/.test({}.LOG);let stackIDs=null;var Safety;(function(o){o[o.Margin=25]="Margin"})(Safety||(Safety={}));function cutAt(o,e,s){let a=o.fullCursor();for(a.moveTo(e);;)if(!(s<0?a.childBefore(e):a.childAfter(e)))for(;;){if((s<0?a.toe)&&!a.type.isError)return s<0?Math.max(0,Math.min(a.to-1,e-25)):Math.min(o.length,Math.max(a.from+1,e+25));if(s<0?a.prevSibling():a.nextSibling())break;if(!a.parent())return s<0?0:o.length}}class FragmentCursor{constructor(e,s){this.fragments=e,this.nodeSet=s,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?cutAt(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?cutAt(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=_,null;if(d instanceof Tree){if(_==e){if(_=Math.max(this.safeFrom,e)&&(this.trees.push(d),this.start.push(_),this.index.push(0))}else this.index[s]++,this.nextStart=_+d.length}}}class TokenCache{constructor(e,s){this.stream=s,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(a=>new CachedToken)}getActions(e){let s=0,a=null,{parser:c}=e.p,{tokenizers:d}=c,_=c.stateSlot(e.state,3),b=e.curContext?e.curContext.hash:0,k=0;for(let $=0;$_e.end+25&&(k=Math.max(_e.lookAhead,k)),_e.value!=0)){let et=s;if(_e.extended>-1&&(s=this.addActions(e,_e.extended,_e.end,s)),s=this.addActions(e,_e.value,_e.end,s),!j.extend&&(a=_e,s>et))break}}for(;this.actions.length>s;)this.actions.pop();return k&&e.setLookAhead(k),!a&&e.pos==this.stream.end&&(a=new CachedToken,a.value=e.p.parser.eofTerm,a.start=a.end=e.pos,s=this.addActions(e,a.value,a.end,s)),this.mainToken=a,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let s=new CachedToken,{pos:a,p:c}=e;return s.start=a,s.end=Math.min(a+1,c.stream.end),s.value=a==c.stream.end?c.parser.eofTerm:0,s}updateCachedToken(e,s,a){if(s.token(this.stream.reset(a.pos,e),a),e.value>-1){let{parser:c}=a.p;for(let d=0;d=0&&a.p.parser.dialect.allows(_>>1)){(_&1)==0?e.value=_>>1:e.extended=_>>1;break}}}else e.value=0,e.end=Math.min(a.p.stream.end,a.pos+1)}putAction(e,s,a,c){for(let d=0;de.bufferLength*4?new FragmentCursor(a,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,s=this.minStackPos,a=this.stacks=[],c,d;for(let _=0;_s)a.push(b);else{if(this.advanceStack(b,a,e))continue;{c||(c=[],d=[]),c.push(b);let k=this.tokens.getMainToken(b);d.push(k.value,k.end)}}break}}if(!a.length){let _=c&&findFinished(c);if(_)return this.stackToTree(_);if(this.parser.strict)throw verbose&&c&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+s);this.recovering||(this.recovering=5)}if(this.recovering&&c){let _=this.stoppedAt!=null&&c[0].pos>this.stoppedAt?c[0]:this.runRecovery(c,d,a);if(_)return this.stackToTree(_.forceAll())}if(this.recovering){let _=this.recovering==1?1:this.recovering*3;if(a.length>_)for(a.sort((b,k)=>k.score-b.score);a.length>_;)a.pop();a.some(b=>b.reducePos>s)&&this.recovering--}else if(a.length>1){e:for(let _=0;_500&&$.buffer.length>500)if((b.score-$.score||b.buffer.length-$.buffer.length)>0)a.splice(k--,1);else{a.splice(_--,1);continue e}}}}this.minStackPos=a[0].pos;for(let _=1;_ ":"";if(this.stoppedAt!=null&&c>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let $=e.curContext&&e.curContext.tracker.strict,j=$?e.curContext.hash:0;for(let _e=this.fragments.nodeAt(c);_e;){let et=this.parser.nodeSet.types[_e.type.id]==_e.type?d.getGoto(e.state,_e.type.id):-1;if(et>-1&&_e.length&&(!$||(_e.prop(NodeProp.contextHash)||0)==j))return e.useNode(_e,et),verbose&&console.log(_+this.stackID(e)+` (via reuse of ${d.getName(_e.type.id)})`),!0;if(!(_e instanceof Tree)||_e.children.length==0||_e.positions[0]>0)break;let tt=_e.children[0];if(tt instanceof Tree&&_e.positions[0]==0)_e=tt;else break}}let b=d.stateSlot(e.state,4);if(b>0)return e.reduce(b),verbose&&console.log(_+this.stackID(e)+` (via always-reduce ${d.getName(b&65535)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let k=this.tokens.getActions(e);for(let $=0;$c?s.push(nt):a.push(nt)}return!1}advanceFully(e,s){let a=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>a)return pushStackDedup(e,s),!0}}runRecovery(e,s,a){let c=null,d=!1;for(let _=0;_ ":"";if(b.deadEnd&&(d||(d=!0,b.restart(),verbose&&console.log(j+this.stackID(b)+" (restarted)"),this.advanceFully(b,a))))continue;let _e=b.split(),et=j;for(let tt=0;_e.forceReduce()&&tt<10&&(verbose&&console.log(et+this.stackID(_e)+" (via force-reduce)"),!this.advanceFully(_e,a));tt++)verbose&&(et=this.stackID(_e)+" -> ");for(let tt of b.recoverByInsert(k))verbose&&console.log(j+this.stackID(tt)+" (via recover-insert)"),this.advanceFully(tt,a);this.stream.end>b.pos?($==b.pos&&($++,k=0),b.recoverByDelete(k,$),verbose&&console.log(j+this.stackID(b)+` (via recover-delete ${this.parser.getName(k)})`),pushStackDedup(b,a)):(!c||c.scoreo;class ContextTracker{constructor(e){this.start=e.start,this.shift=e.shift||id,this.reduce=e.reduce||id,this.reuse=e.reuse||id,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class LRParser extends Parser{constructor(e){if(super(),this.wrappers=[],e.version!=13)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (${13})`);let s=e.nodeNames.split(" ");this.minRepeatTerm=s.length;for(let b=0;be.topRules[b][1]),c=[];for(let b=0;b=0)d(j,k,b[$++]);else{let _e=b[$+-j];for(let et=-j;et>0;et--)d(b[$++],k,_e);$++}}}this.nodeSet=new NodeSet(s.map((b,k)=>NodeType.define({name:k>=this.minRepeatTerm?void 0:b,id:k,props:c[k],top:a.indexOf(k)>-1,error:k==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(k)>-1}))),this.strict=!1,this.bufferLength=DefaultBufferLength;let _=decodeArray(e.tokenData);if(this.context=e.context,this.specialized=new Uint16Array(e.specialized?e.specialized.length:0),this.specializers=[],e.specialized)for(let b=0;btypeof b=="number"?new TokenGroup(_,b):b),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,s,a){let c=new Parse(this,e,s,a);for(let d of this.wrappers)c=d(c,e,s,a);return c}getGoto(e,s,a=!1){let c=this.goto;if(s>=c[0])return-1;for(let d=c[s+1];;){let _=c[d++],b=_&1,k=c[d++];if(b&&a)return k;for(let $=d+(_>>1);d<$;d++)if(c[d]==e)return k;if(b)return-1}}hasAction(e,s){let a=this.data;for(let c=0;c<2;c++)for(let d=this.stateSlot(e,c?2:1),_;;d+=3){if((_=a[d])==65535)if(a[d+1]==1)_=a[d=pair(a,d+2)];else{if(a[d+1]==2)return pair(a,d+2);break}if(_==s||_==0)return pair(a,d+1)}return 0}stateSlot(e,s){return this.states[e*6+s]}stateFlag(e,s){return(this.stateSlot(e,0)&s)>0}validAction(e,s){if(s==this.stateSlot(e,4))return!0;for(let a=this.stateSlot(e,1);;a+=3){if(this.data[a]==65535)if(this.data[a+1]==1)a=pair(this.data,a+2);else return!1;if(s==pair(this.data,a+1))return!0}}nextStates(e){let s=[];for(let a=this.stateSlot(e,1);;a+=3){if(this.data[a]==65535)if(this.data[a+1]==1)a=pair(this.data,a+2);else break;if((this.data[a+2]&1)==0){let c=this.data[a+1];s.some((d,_)=>_&1&&d==c)||s.push(this.data[a],c)}}return s}overrides(e,s){let a=findOffset(this.data,this.tokenPrecTable,s);return a<0||findOffset(this.data,this.tokenPrecTable,e){let c=e.tokenizers.find(d=>d.from==a);return c?c.to:a})),e.contextTracker&&(s.context=e.contextTracker),e.dialect&&(s.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(s.strict=e.strict),e.wrap&&(s.wrappers=s.wrappers.concat(e.wrap)),e.bufferLength!=null&&(s.bufferLength=e.bufferLength),s}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let s=this.dynamicPrecedences;return s==null?0:s[e]||0}parseDialect(e){let s=Object.keys(this.dialects),a=s.map(()=>!1);if(e)for(let d of e.split(" ")){let _=s.indexOf(d);_>=0&&(a[_]=!0)}let c=null;for(let d=0;da)&&s.p.parser.stateFlag(s.state,2)&&(!e||e.score{let{next:s}=o;(s==braceR||s==-1||e.context)&&e.canShift(insertSemi)&&o.acceptToken(insertSemi)},{contextual:!0,fallback:!0}),noSemicolon=new ExternalTokenizer((o,e)=>{let{next:s}=o,a;space.indexOf(s)>-1||s==slash&&((a=o.peek(1))==slash||a==star)||s!=braceR&&s!=semicolon&&s!=-1&&!e.context&&e.canShift(noSemi)&&o.acceptToken(noSemi)},{contextual:!0}),incdecToken=new ExternalTokenizer((o,e)=>{let{next:s}=o;if((s==plus||s==minus)&&(o.advance(),s==o.next)){o.advance();let a=!e.context&&e.canShift(incdec);o.acceptToken(a?incdec:incdecPrefix)}},{contextual:!0}),template=new ExternalTokenizer(o=>{for(let e=!1,s=0;;s++){let{next:a}=o;if(a<0){s&&o.acceptToken(templateContent);break}else if(a==backtick){s?o.acceptToken(templateContent):o.acceptToken(templateEnd,1);break}else if(a==braceL&&e){s==1?o.acceptToken(InterpolationStart,1):o.acceptToken(templateContent,-1);break}else if(a==10&&s){o.advance(),o.acceptToken(templateContent);break}else a==backslash&&o.advance();e=a==dollar,o.advance()}});function tsExtends(o,e){return o=="extends"&&e.dialectEnabled(Dialect_ts)?TSExtends:-1}const spec_identifier={__proto__:null,export:18,as:23,from:29,default:32,async:37,function:38,this:48,true:56,false:56,void:66,typeof:70,null:86,super:88,new:122,await:139,yield:141,delete:142,class:152,extends:154,public:197,private:197,protected:197,readonly:199,instanceof:220,in:222,const:224,import:256,keyof:307,unique:311,infer:317,is:351,abstract:371,implements:373,type:375,let:378,var:380,interface:387,enum:391,namespace:397,module:399,declare:403,global:407,for:428,of:437,while:440,with:444,do:448,if:452,else:454,switch:458,case:464,try:470,catch:472,finally:474,return:478,throw:482,break:486,continue:490,debugger:494},spec_word={__proto__:null,async:109,get:111,set:113,public:161,private:161,protected:161,static:163,abstract:165,override:167,readonly:173,new:355},spec_LessThan={__proto__:null,"<":129},parser=LRParser.deserialize({version:13,states:"$1jO`QYOOO'QQ!LdO'#ChO'XOSO'#DVO)dQYO'#D]O)tQYO'#DhO){QYO'#DrO-xQYO'#DxOOQO'#E]'#E]O.]QWO'#E[O.bQWO'#E[OOQ!LS'#Ef'#EfO0aQ!LdO'#IrO2wQ!LdO'#IsO3eQWO'#EzO3jQpO'#FaOOQ!LS'#FS'#FSO3rO!bO'#FSO4QQWO'#FhO5_QWO'#FgOOQ!LS'#Is'#IsOOQ!LQ'#Ir'#IrOOQQ'#J['#J[O5dQWO'#HnO5iQ!LYO'#HoOOQQ'#If'#IfOOQQ'#Hp'#HpQ`QYOOO){QYO'#DjO5qQWO'#G[O5vQ#tO'#CmO6UQWO'#EZO6aQWO'#EgO6fQ#tO'#FRO7QQWO'#G[O7VQWO'#G`O7bQWO'#G`O7pQWO'#GcO7pQWO'#GdO7pQWO'#GfO5qQWO'#GiO8aQWO'#GlO9oQWO'#CdO:PQWO'#GyO:XQWO'#HPO:XQWO'#HRO`QYO'#HTO:XQWO'#HVO:XQWO'#HYO:^QWO'#H`O:cQ!LZO'#HdO){QYO'#HfO:nQ!LZO'#HhO:yQ!LZO'#HjO5iQ!LYO'#HlO){QYO'#DWOOOS'#Hr'#HrO;UOSO,59qOOQ!LS,59q,59qO=gQbO'#ChO=qQYO'#HsO>UQWO'#ItO@TQbO'#ItO'dQYO'#ItO@[QWO,59wO@rQ&jO'#DbOAkQWO'#E]OAxQWO'#JPOBTQWO'#JOOBTQWO'#JOOB]QWO,5:yOBbQWO'#I}OBiQWO'#DyO5vQ#tO'#EZOBwQWO'#EZOCSQ`O'#FROOQ!LS,5:S,5:SOC[QYO,5:SOEYQ!LdO,5:^OEvQWO,5:dOFaQ!LYO'#I|O7VQWO'#I{OFhQWO'#I{OFpQWO,5:xOFuQWO'#I{OGTQYO,5:vOITQWO'#EWOJ_QWO,5:vOKnQWO'#DlOKuQYO'#DqOLPQ&jO,5;PO){QYO,5;POOQQ'#Er'#ErOOQQ'#Et'#EtO){QYO,5;RO){QYO,5;RO){QYO,5;RO){QYO,5;RO){QYO,5;RO){QYO,5;RO){QYO,5;RO){QYO,5;RO){QYO,5;RO){QYO,5;RO){QYO,5;ROOQQ'#Ex'#ExOLXQYO,5;cOOQ!LS,5;h,5;hOOQ!LS,5;i,5;iONXQWO,5;iOOQ!LS,5;j,5;jO){QYO'#H}ON^Q!LYO,5YOOQQ'#Ii'#IiOOQQ,5>Z,5>ZOOQQ-E;n-E;nO!+YQ!LdO,5:UOOQ!LQ'#Cp'#CpO!+yQ#tO,5O,5>OO){QYO,5>OO5iQ!LYO,5>QOOQQ,5>S,5>SO!8VQWO,5>SOOQQ,5>U,5>UO!8VQWO,5>UOOQQ,5>W,5>WO!8[Q`O,59rOOOS-E;p-E;pOOQ!LS1G/]1G/]O!8aQbO,5>_O'dQYO,5>_OOQO,5>d,5>dO!8kQYO'#HsOOQO-E;q-E;qO!8xQWO,5?`O!9QQbO,5?`O!9XQWO,5?jOOQ!LS1G/c1G/cO!9aQpO'#DTOOQO'#Iv'#IvO){QYO'#IvO!:OQpO'#IvO!:mQpO'#DcO!;OQ&jO'#DcO!=ZQYO'#DcO!=bQWO'#IuO!=jQWO,59|O!=oQWO'#EaO!=}QWO'#JQO!>VQWO,5:zO!>mQ&jO'#DcO){QYO,5?kO!>wQWO'#HxOOQO-E;v-E;vO!9XQWO,5?jOOQ!LQ1G0e1G0eO!@TQ&jO'#D|OOQ!LS,5:e,5:eO){QYO,5:eOITQWO,5:eO!@[QWO,5:eO:^QWO,5:uO!,rQpO,5:uO!,zQ#tO,5:uO5vQ#tO,5:uOOQ!LS1G/n1G/nOOQ!LS1G0O1G0OOOQ!LQ'#EV'#EVO){QYO,5?hO!@gQ!LYO,5?hO!@xQ!LYO,5?hO!APQWO,5?gO!AXQWO'#HzO!APQWO,5?gOOQ!LQ1G0d1G0dO7VQWO,5?gOOQ!LS1G0b1G0bO!AsQ!LdO1G0bO!BdQ!LbO,5:rOOQ!LS'#Fq'#FqO!CQQ!LdO'#IoOGTQYO1G0bO!EPQ#tO'#IwO!EZQWO,5:WO!E`QbO'#IxO){QYO'#IxO!EjQWO,5:]OOQ!LS'#DT'#DTOOQ!LS1G0k1G0kO!EoQWO1G0kO!HQQ!LdO1G0mO!HXQ!LdO1G0mO!JlQ!LdO1G0mO!JsQ!LdO1G0mO!LzQ!LdO1G0mO!M_Q!LdO1G0mO#!OQ!LdO1G0mO#!VQ!LdO1G0mO#$jQ!LdO1G0mO#$qQ!LdO1G0mO#&fQ!LdO1G0mO#)`Q7^O'#ChO#+ZQ7^O1G0}O#-UQ7^O'#IsOOQ!LS1G1T1G1TO#-iQ!LdO,5>iOOQ!LQ-E;{-E;{O#.YQ!LdO1G0mOOQ!LS1G0m1G0mO#0[Q!LdO1G1QO#0{QpO,5;sO#1QQpO,5;tO#1VQpO'#F[O#1kQWO'#FZOOQO'#JU'#JUOOQO'#H{'#H{O#1pQpO1G1]OOQ!LS1G1]1G1]OOOO1G1f1G1fO#2OQ7^O'#IrO#2YQWO,5;}OLXQYO,5;}OOOO-E;z-E;zOOQ!LS1G1Y1G1YOOQ!LS,5VQ&jO'#GhOOQQ1G2l1G2lO!&wQ&jO'#IWO!0OQ`O1G2oOOQQ1G2o1G2oOOQQ,5=Y,5=YO#>_Q#tO,5=[O5qQWO,5=[O#5YQWO,5=_O5_QWO,5=_O!,rQpO,5=_O!,zQ#tO,5=_O5vQ#tO,5=_O#>pQWO'#J_O#>{QWO,5=`OOQQ1G.j1G.jO#?QQ!LYO1G.jO#?]QWO1G.jO#?bQWO1G.jO5iQ!LYO1G.jO#?jQbO,5?|O#?tQWO,5?|O#@PQYO,5=gO#@WQWO,5=gO7VQWO,5?|OOQQ1G3P1G3PO`QYO1G3POOQQ1G3V1G3VOOQQ1G3X1G3XO:XQWO1G3ZO#@]QYO1G3]O#DWQYO'#H[OOQQ1G3`1G3`O:^QWO1G3fO#DeQWO1G3fO5iQ!LYO1G3jOOQQ1G3l1G3lOOQ!LQ'#Fx'#FxO5iQ!LYO1G3nO5iQ!LYO1G3pOOOS1G/^1G/^O#DmQ`O,5_O#EPQWO1G4zO#EXQWO1G5UO#EaQWO,5?bOLXQYO,5:{O7VQWO,5:{O:^QWO,59}OLXQYO,59}O!,rQpO,59}O#EfQ7^O,59}OOQO,5:{,5:{O#EpQ&jO'#HtO#FWQWO,5?aOOQ!LS1G/h1G/hO#F`Q&jO'#HyO#FtQWO,5?lOOQ!LQ1G0f1G0fO!;OQ&jO,59}O#F|QbO1G5VO7VQWO,5>dOOQ!LQ'#ES'#ESO#GWQ!LrO'#ETO!?{Q&jO'#D}OOQO'#Hw'#HwO#GrQ&jO,5:hOOQ!LS,5:h,5:hO#GyQ&jO'#D}O#H[Q&jO'#D}O#HcQ&jO'#EYO#HfQ&jO'#ETO#HsQ&jO'#ETO!?{Q&jO'#ETO#IWQWO1G0PO#I]Q`O1G0POOQ!LS1G0P1G0PO){QYO1G0POITQWO1G0POOQ!LS1G0a1G0aO:^QWO1G0aO!,rQpO1G0aO!,zQ#tO1G0aO#IdQ!LdO1G5SO){QYO1G5SO#ItQ!LYO1G5SO#JVQWO1G5RO7VQWO,5>fOOQO,5>f,5>fO#J_QWO,5>fOOQO-E;x-E;xO#JVQWO1G5RO#JmQ!LdO,59jO#LlQ!LdO,5k,5>kO$(]QWO,5>kOOQ!LS1G2P1G2PP$(bQWO'#IPPOQ!LS-E;}-E;}O$)RQ#tO1G2[O$)tQ#tO1G2^O$*OQ#tO1G2`OOQ!LS1G1x1G1xO$*VQWO'#IOO$*eQWO,5?sO$*eQWO,5?sO$*mQWO,5?sO$*xQWO,5?sOOQO1G1z1G1zO$+WQ#tO1G1yO$+hQWO'#IQO$+xQWO,5?tOITQWO,5?tO$,QQ`O,5?tOOQ!LS1G1}1G1}O5iQ!LYO,5n,5>nOOQO-Ev,5>vOOQO-Ep,5>pOOQ!LQ-Er,5>rOOQO-E`,5>`OOQO-E;r-E;rOOQO,5>e,5>eOOQO-E;w-E;wO!,rQpO1G/iO:^QWO,5:iOOQO,5:o,5:oO){QYO,5:oO$9pQ!LYO,5:oO$9{Q!LYO,5:oO!,rQpO,5:iOOQO-E;u-E;uOOQ!LS1G0S1G0SO!?{Q&jO,5:iO$:ZQ&jO,5:iO$:lQ!LrO,5:oO$;WQ&jO,5:iO!?{Q&jO,5:oOOQO,5:t,5:tO$;_Q&jO,5:oO$;lQ!LYO,5:oOOQ!LS7+%k7+%kO#IWQWO7+%kO#I]Q`O7+%kOOQ!LS7+%{7+%{O:^QWO7+%{O!,rQpO7+%{O$lQ!LdO1G2^O$@nQ!LdO1G1yO$BvQ#tO,5>aOOQO-E;s-E;sO$CQQbO,5>bO){QYO,5>bOOQO-E;t-E;tO$C[QWO1G5OO$CdQ7^O1G0bO$EkQ7^O1G0mO$ErQ7^O1G0mO$GsQ7^O1G0mO$GzQ7^O1G0mO$IoQ7^O1G0mO$JSQ7^O1G0mO$LaQ7^O1G0mO$LhQ7^O1G0mO$NiQ7^O1G0mO$NpQ7^O1G0mO%!eQ7^O1G0mO%!xQ!LdO<iOOOO7+'T7+'TOOOS1G/R1G/ROOQ!LS1G4V1G4VOJdQWO7+'zO%'rQWO,5>jO5qQWO,5>jOOQO-E;|-E;|O%(QQWO1G5_O%(QQWO1G5_O%(YQWO1G5_O%(eQ`O,5>lO%(oQWO,5>lOITQWO,5>lOOQO-Eu,5>uO%,RQWO,5>uO%,WQWO,5>uOOQO-EtOOQO-ERQ#tO<cQWO1G4UO%>nQWO1G4UO%>|QWO7+*yO%>|QWO7+*yOITQWO1G4WO%?UQ`O1G4WO%?`QWO7+*zOOQO7+'o7+'oO5iQ!LYO7+'oOOQO7+'n7+'nO$,[QWO7+'pO%?hQ`O7+'pOOQO7+'t7+'tO5iQ!LYO7+'nO$,[QWO7+'oO%?oQWO7+'pOITQWO7+'pO#5TQWO7+'oO%?tQ#tO<oOOQO-EqOOQO-E{AN>{OOQOAN>uAN>uO%0}Q!LdOAN>{O:^QWOAN>uO){QYOAN>{O!,rQpOAN>uO&(PQ!LYOAN>{O&([Q7^O<^O!O&OO~Ox&RO!W&]O!X&UO!Y&UO'[$bO~O]&SOk&SO!Q&VO'e&PO!S'iP!S'tP~P@aO!O'qX!R'qX!]'qX!c'qX'n'qX~O!{'qX#W#PX!S'qX~PAYO!{&^O!O'sX!R'sX~O!R&_O!O'rX~O!O&bO~O!{#eO~PAYOS&fO!T&cO!o&eO'Z$`O~Oc&kO!d$XO'Z$`O~Ou$nO!d$mO~O!S&lO~P`Ou!{Ov!{Ox!|O!b!yO!d!zO'dQOP!faZ!faj!fa!R!fa!a!fa!j!fa#[!fa#]!fa#^!fa#_!fa#`!fa#a!fa#b!fa#c!fa#e!fa#g!fa#i!fa#j!fa'n!fa'u!fa'v!fa~O_!fa'U!fa!O!fa!c!fan!fa!T!fa%Q!fa!]!fa~PCcO!c&mO~O!]!wO!{&oO'n&nO!R'pX_'pX'U'pX~O!c'pX~PE{O!R&sO!c'oX~O!c&uO~Ox$tO!T$uO#V&vO'Z$`O~OPTOQTO]cOb!kOc!jOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!TSO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!n!iO#t!lO#x^O'Z9YO'dQO'mYO'zaO~O]#qOh$OOj#rOk#qOl#qOq$POs9lOx#xO!T#yO!_:oO!d#vO#V9rO#t$TO$_9nO$a9pO$d$UO'Z&zO'd#sO~O#W&|O~O]#qOh$OOj#rOk#qOl#qOq$POs$QOx#xO!T#yO!_$VO!d#vO#V$WO#t$TO$_$RO$a$SO$d$UO'Z&zO'd#sO~O'_'kP~PJdO!Q'QO!c'lP~P){O'e'SO'mYO~OP9VOQ9VO]cOb:mOc!jOhcOj9VOkcOlcOq9VOs9VOxRO{cO|cO}cO!T!bO!_9XO!dUO!g9VO!h9VO!i9VO!j9VO!k9VO!n!iO#t!lO#x^O'Z'bO'dQO'mYO'z:kO~O!d!zO~O!R#bO_$]a'U$]a!c$]a!O$]a!T$]a%Q$]a!]$]a~O#d'iO~PITO!]'kO!T'wX#w'wX#z'wX$R'wX~Ou'lO~P! POu'lO!T'wX#w'wX#z'wX$R'wX~O!T'nO#w'rO#z'mO$R'sO~O!Q'vO~PLXO#z#fO$R'yO~Ou$eXx$eX!b$eX'n$eX'u$eX'v$eX~OSfX!RfX!{fX'_fX'_$eX~P!!iOk'{O~OR'|O'S'}O'T(PO~Ou(ROx(SO'n#[O'u(UO'v(WO~O'_(QO~P!#rO'_(ZO~O]#qOh$OOj#rOk#qOl#qOq$POs9lOx#xO!T#yO!_:oO!d#vO#V9rO#t$TO$_9nO$a9pO$d$UO'd#sO~O!Q(_O'Z([O!c'{P~P!$aO#W(aO~O!Q(eO'Z(bO!O'|P~P!$aO_(nOj(sOx(kO!W(qO!X(jO!Y(jO!d(hO!x(rO$w(mO'[$bO'e(gO~O!S(pO~P!&XO!b!yOu'cXx'cX'n'cX'u'cX'v'cX!R'cX!{'cX~O'_'cX#m'cX~P!'TOS(vO!{(uO!R'bX'_'bX~O!R(wO'_'aX~O'Z(yO~O!d)OO~O'Z&zO~O!d(hO~Ox$tO!Q!rO!T$uO#U!uO#V!rO'Z$`O!c'oP~O!]!wO#W)SO~OP#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO#i#YO#j#ZO'dQO'n#[O'u!}O'v#OO~O_!^a!R!^a'U!^a!O!^a!c!^an!^a!T!^a%Q!^a!]!^a~P!)fOS)[O!T&cO!o)ZO%Q)YO'`$cO~O'Z$zO'_'aP~O!])_O!T'^X_'^X'U'^X~O!d$XO'`$cO~O!d$XO'Z$`O'`$cO~O!]!wO#W&|O~O])jO%R)kO'Z)gO!S(TP~O!R)lO^(SX~O'e'SO~OZ)pO~O^)qO~O!T$kO'Z$`O'[$bO^(SP~Ox$tO!Q)vO!R&_O!T$uO'Z$`O!O'rP~O]&YOk&YO!Q)wO'e'SO!S'tP~O!R)xO_(PX'U(PX~O!{)|O'`$cO~OS*PO!T#yO'`$cO~O!T*RO~Ou*TO!TSO~O!n*YO~Oc*_O~O'Z(yO!S(RP~Oc$iO~O%RtO'Z$zO~P8tOZ*eO^*dO~OPTOQTO]cObnOcmOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!nlO#x^O%PqO'dQO'mYO'zaO~O!T!bO#t!lO'Z9YO~P!1RO^*dO_$[O'U$[O~O_*iO#d*kO%T*kO%U*kO~P){O!d%_O~O%t*pO~O!T*rO~O&U*uO&V*tOP&SaQ&SaX&Sa]&Sa_&Sab&Sac&Sah&Saj&Sak&Sal&Saq&Sas&Sax&Sa{&Sa|&Sa}&Sa!T&Sa!_&Sa!d&Sa!g&Sa!h&Sa!i&Sa!j&Sa!k&Sa!n&Sa#d&Sa#t&Sa#x&Sa%P&Sa%R&Sa%T&Sa%U&Sa%X&Sa%Z&Sa%^&Sa%_&Sa%a&Sa%n&Sa%t&Sa%v&Sa%x&Sa%z&Sa%}&Sa&T&Sa&X&Sa&Z&Sa&]&Sa&_&Sa&a&Sa'Q&Sa'Z&Sa'd&Sa'm&Sa'z&Sa!S&Sa%{&Sa`&Sa&Q&Sa~O'Z*xO~On*{O~O!O&ga!R&ga~P!)fO!Q+PO!O&gX!R&gX~P){O!R%yO!O'ha~O!O'ha~P>^O!R&_O!O'ra~O!RwX!R!ZX!SwX!S!ZX!]wX!]!ZX!d!ZX!{wX'`!ZX~O!]+UO!{+TO!R#TX!R'jX!S#TX!S'jX!]'jX!d'jX'`'jX~O!]+WO!d$XO'`$cO!R!VX!S!VX~O]&QOk&QOx&RO'e(gO~OP9VOQ9VO]cOb:mOc!jOhcOj9VOkcOlcOq9VOs9VOxRO{cO|cO}cO!T!bO!_9XO!dUO!g9VO!h9VO!i9VO!j9VO!k9VO!n!iO#t!lO#x^O'dQO'mYO'z:kO~O'Z9vO~P!;^O!R+[O!S'iX~O!S+^O~O!]+UO!{+TO!R#TX!S#TX~O!R+_O!S'tX~O!S+aO~O]&QOk&QOx&RO'[$bO'e(gO~O!X+bO!Y+bO~P!>[Ox$tO!Q+dO!T$uO'Z$`O!O&lX!R&lX~O_+hO!W+kO!X+gO!Y+gO!r+oO!s+mO!t+nO!u+lO!x+pO'[$bO'e(gO'm+eO~O!S+jO~P!?]OS+uO!T&cO!o+tO~O!{+{O!R'pa!c'pa_'pa'U'pa~O!]!wO~P!@gO!R&sO!c'oa~Ox$tO!Q,OO!T$uO#U,QO#V,OO'Z$`O!R&nX!c&nX~O_#Oi!R#Oi'U#Oi!O#Oi!c#Oin#Oi!T#Oi%Q#Oi!]#Oi~P!)fO#W!za!R!za!c!za!{!za!T!za_!za'U!za!O!za~P!#rO#W'cXP'cXZ'cX_'cXj'cXv'cX!a'cX!d'cX!j'cX#['cX#]'cX#^'cX#_'cX#`'cX#a'cX#b'cX#c'cX#e'cX#g'cX#i'cX#j'cX'U'cX'd'cX!c'cX!O'cX!T'cXn'cX%Q'cX!]'cX~P!'TO!R,ZO'_'kX~P!#rO'_,]O~O!R,^O!c'lX~P!)fO!c,aO~O!O,bO~OP#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O'dQOZ#Zi_#Zij#Zi!R#Zi!a#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi'U#Zi'n#Zi'u#Zi'v#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~O#[#Zi~P!EtO#[#PO~P!EtOP#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO'dQOZ#Zi_#Zi!R#Zi!a#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi'U#Zi'n#Zi'u#Zi'v#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~Oj#Zi~P!H`Oj#RO~P!H`OP#^Oj#ROu!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO'dQO_#Zi!R#Zi#e#Zi#g#Zi#i#Zi#j#Zi'U#Zi'n#Zi'u#Zi'v#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~OZ#Zi!a#Zi#a#Zi#b#Zi#c#Zi~P!JzOZ#dO!a#TO#a#TO#b#TO#c#TO~P!JzOP#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO'dQO_#Zi!R#Zi#g#Zi#i#Zi#j#Zi'U#Zi'n#Zi'v#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~O'u#Zi~P!MrO'u!}O~P!MrOP#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO'dQO'u!}O_#Zi!R#Zi#i#Zi#j#Zi'U#Zi'n#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~O'v#Zi~P#!^O'v#OO~P#!^OP#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO#i#YO'dQO'u!}O'v#OO~O_#Zi!R#Zi#j#Zi'U#Zi'n#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~P#$xOP[XZ[Xj[Xu[Xv[Xx[X!a[X!b[X!d[X!j[X!{[X#WdX#[[X#][X#^[X#_[X#`[X#a[X#b[X#c[X#e[X#g[X#i[X#j[X#o[X'd[X'n[X'u[X'v[X!R[X!S[X~O#m[X~P#']OP#^OZ9jOj9_Ou!{Ov!{Ox!|O!a9aO!b!yO!d!zO!j#^O#[9]O#]9^O#^9^O#_9^O#`9`O#a9aO#b9aO#c9aO#e9bO#g9dO#i9fO#j9gO'dQO'n#[O'u!}O'v#OO~O#m,dO~P#)gOP'gXZ'gXj'gXu'gXv'gXx'gX!a'gX!b'gX!d'gX!j'gX#['gX#]'gX#^'gX#_'gX#`'gX#a'gX#b'gX#e'gX#g'gX#i'gX#j'gX'd'gX'n'gX'u'gX'v'gX!R'gX~O!{9kO#o9kO#c'gX#m'gX!S'gX~P#+bO_&qa!R&qa'U&qa!c&qan&qa!O&qa!T&qa%Q&qa!]&qa~P!)fOP#ZiZ#Zi_#Zij#Ziv#Zi!R#Zi!a#Zi!b#Zi!d#Zi!j#Zi#[#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi'U#Zi'd#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~P!#rO_#ni!R#ni'U#ni!O#ni!c#nin#ni!T#ni%Q#ni!]#ni~P!)fO#z,fO~O#z,gO~O!]'kO!{,hO!T$OX#w$OX#z$OX$R$OX~O!Q,iO~O!T'nO#w,kO#z'mO$R,lO~O!R9hO!S'fX~P#)gO!S,mO~O$R,oO~OR'|O'S'}O'T,rO~O],uOk,uO!O,vO~O!RdX!]dX!cdX!c$eX'ndX~P!!iO!c,|O~P!#rO!R,}O!]!wO'n&nO!c'{X~O!c-SO~O!O$eX!R$eX!]$lX~P!!iO!R-UO!O'|X~P!#rO!]-WO~O!O-YO~O!Q(_O'Z$`O!c'{P~Oj-^O!]!wO!d$XO'`$cO'n&nO~O!])_O~O!S-dO~P!&XO!X-eO!Y-eO'[$bO'e(gO~Ox-gO'e(gO~O!x-hO~O'Z$zO!R&vX'_&vX~O!R(wO'_'aa~Ou-mOv-mOx-nO'nra'ura'vra!Rra!{ra~O'_ra#mra~P#6fOu(ROx(SO'n$^a'u$^a'v$^a!R$^a!{$^a~O'_$^a#m$^a~P#7[Ou(ROx(SO'n$`a'u$`a'v$`a!R$`a!{$`a~O'_$`a#m$`a~P#7}O]-oO~O#W-pO~O'_$na!R$na#m$na!{$na~P!#rO#W-sO~OS-|O!T&cO!o-{O%Q-zO~O'_-}O~O]#qOj#rOk#qOl#qOq$POs9lOx#xO!T#yO!_:oO!d#vO#V9rO#t$TO$_9nO$a9pO$d$UO'd#sO~Oh.PO'Z.OO~P#9tO!])_O!T'^a_'^a'U'^a~O#W.VO~OZ[X!RdX!SdX~O!R.WO!S(TX~O!S.YO~OZ.ZO~O].]O'Z)gO~O!T$kO'Z$`O^'OX!R'OX~O!R)lO^(Sa~O!c.`O~P!)fO].bO~OZ.cO~O^.dO~OS-|O!T&cO!o-{O%Q-zO'`$cO~O!R)xO_(Pa'U(Pa~O!{.jO~OS.mO!T#yO~O'e'SO!S(QP~OS.wO!T.sO!o.vO%Q.uO'`$cO~OZ/RO!R/PO!S(RX~O!S/SO~O^/UO_$[O'U$[O~O]/VO~O]/WO'Z(yO~O#c/XO%r/YO~P0zO!{#eO#c/XO%r/YO~O_/ZO~P){O_/]O~O%{/aOP%yiQ%yiX%yi]%yi_%yib%yic%yih%yij%yik%yil%yiq%yis%yix%yi{%yi|%yi}%yi!T%yi!_%yi!d%yi!g%yi!h%yi!i%yi!j%yi!k%yi!n%yi#d%yi#t%yi#x%yi%P%yi%R%yi%T%yi%U%yi%X%yi%Z%yi%^%yi%_%yi%a%yi%n%yi%t%yi%v%yi%x%yi%z%yi%}%yi&T%yi&X%yi&Z%yi&]%yi&_%yi&a%yi'Q%yi'Z%yi'd%yi'm%yi'z%yi!S%yi`%yi&Q%yi~O`/gO!S/eO&Q/fO~P`O!TSO!d/jO~O!R#bOn$]a~O!O&gi!R&gi~P!)fO!R%yO!O'hi~O!R&_O!O'ri~O!O/nO~O!R!Va!S!Va~P#)gO]&QOk&QO!Q/tO'e(gO!R&hX!S&hX~P@aO!R+[O!S'ia~O]&YOk&YO!Q)wO'e'SO!R&mX!S&mX~O!R+_O!S'ta~O!O'si!R'si~P!)fO_$[O!]!wO!d$XO!j0OO!{/|O'U$[O'`$cO'n&nO~O!S0RO~P!?]O!X0SO!Y0SO'[$bO'e(gO'm+eO~O!W0TO~P#GyO!TSO!W0TO!u0VO!x0WO~P#GyO!W0TO!s0YO!t0YO!u0VO!x0WO~P#GyO!T&cO~O!T&cO~P!#rO!R'pi!c'pi_'pi'U'pi~P!)fO!{0cO!R'pi!c'pi_'pi'U'pi~O!R&sO!c'oi~Ox$tO!T$uO#V0eO'Z$`O~O#WraPraZra_rajra!ara!bra!dra!jra#[ra#]ra#^ra#_ra#`ra#ara#bra#cra#era#gra#ira#jra'Ura'dra!cra!Ora!Tranra%Qra!]ra~P#6fO#W$^aP$^aZ$^a_$^aj$^av$^a!a$^a!b$^a!d$^a!j$^a#[$^a#]$^a#^$^a#_$^a#`$^a#a$^a#b$^a#c$^a#e$^a#g$^a#i$^a#j$^a'U$^a'd$^a!c$^a!O$^a!T$^an$^a%Q$^a!]$^a~P#7[O#W$`aP$`aZ$`a_$`aj$`av$`a!a$`a!b$`a!d$`a!j$`a#[$`a#]$`a#^$`a#_$`a#`$`a#a$`a#b$`a#c$`a#e$`a#g$`a#i$`a#j$`a'U$`a'd$`a!c$`a!O$`a!T$`an$`a%Q$`a!]$`a~P#7}O#W$naP$naZ$na_$naj$nav$na!R$na!a$na!b$na!d$na!j$na#[$na#]$na#^$na#_$na#`$na#a$na#b$na#c$na#e$na#g$na#i$na#j$na'U$na'd$na!c$na!O$na!T$na!{$nan$na%Q$na!]$na~P!#rO_#Oq!R#Oq'U#Oq!O#Oq!c#Oqn#Oq!T#Oq%Q#Oq!]#Oq~P!)fO!R&iX'_&iX~PJdO!R,ZO'_'ka~O!Q0mO!R&jX!c&jX~P){O!R,^O!c'la~O!R,^O!c'la~P!)fO#m!fa!S!fa~PCcO#m!^a!R!^a!S!^a~P#)gO!T1QO#x^O$P1RO~O!S1VO~On1WO~P!#rO_$Yq!R$Yq'U$Yq!O$Yq!c$Yqn$Yq!T$Yq%Q$Yq!]$Yq~P!)fO!O1XO~O],uOk,uO~Ou(ROx(SO'v(WO'n$xi'u$xi!R$xi!{$xi~O'_$xi#m$xi~P$(jOu(ROx(SO'n$zi'u$zi'v$zi!R$zi!{$zi~O'_$zi#m$zi~P$)]O#m1YO~P!#rO!Q1[O'Z$`O!R&rX!c&rX~O!R,}O!c'{a~O!R,}O!]!wO!c'{a~O!R,}O!]!wO'n&nO!c'{a~O'_$gi!R$gi#m$gi!{$gi~P!#rO!Q1cO'Z(bO!O&tX!R&tX~P!$aO!R-UO!O'|a~O!R-UO!O'|a~P!#rO!]!wO~O!]!wO#c1mO~Oj1qO!]!wO'n&nO~O!R'bi'_'bi~P!#rO!{1tO!R'bi'_'bi~P!#rO!c1wO~O_$Zq!R$Zq'U$Zq!O$Zq!c$Zqn$Zq!T$Zq%Q$Zq!]$Zq~P!)fO!R1{O!T'}X~P!#rO!T&cO%Q2OO~O!T&cO%Q2OO~P!#rO!T$eX$u[X_$eX'U$eX~P!!iO$u2SOugXxgX!TgX'ngX'ugX'vgX_gX'UgX~O$u2SO~O]2YO%R2ZO'Z)gO!R&}X!S&}X~O!R.WO!S(Ta~OZ2_O~O^2`O~O]2cO~OS2eO!T&cO!o2dO%Q2OO~O_$[O'U$[O~P!#rO!T#yO~P!#rO!R2jO!{2lO!S(QX~O!S2mO~Ox(kO!W2vO!X2oO!Y2oO!r2uO!s2tO!t2tO!x2sO'[$bO'e(gO'm+eO~O!S2rO~P$1nOS2}O!T.sO!o2|O%Q2{O~OS2}O!T.sO!o2|O%Q2{O'`$cO~O'Z(yO!R&|X!S&|X~O!R/PO!S(Ra~O]3XO'e3WO~O]3YO~O^3[O~O!c3_O~P){O_3aO~O_3aO~P){O#c3cO%r3dO~PE{O`/gO!S3hO&Q/fO~P`O!]3jO~O&V3kOP&SqQ&SqX&Sq]&Sq_&Sqb&Sqc&Sqh&Sqj&Sqk&Sql&Sqq&Sqs&Sqx&Sq{&Sq|&Sq}&Sq!T&Sq!_&Sq!d&Sq!g&Sq!h&Sq!i&Sq!j&Sq!k&Sq!n&Sq#d&Sq#t&Sq#x&Sq%P&Sq%R&Sq%T&Sq%U&Sq%X&Sq%Z&Sq%^&Sq%_&Sq%a&Sq%n&Sq%t&Sq%v&Sq%x&Sq%z&Sq%}&Sq&T&Sq&X&Sq&Z&Sq&]&Sq&_&Sq&a&Sq'Q&Sq'Z&Sq'd&Sq'm&Sq'z&Sq!S&Sq%{&Sq`&Sq&Q&Sq~O!R#Ti!S#Ti~P#)gO!{3mO!R#Ti!S#Ti~O!R!Vi!S!Vi~P#)gO_$[O!{3tO'U$[O~O_$[O!]!wO!{3tO'U$[O~O!X3xO!Y3xO'[$bO'e(gO'm+eO~O_$[O!]!wO!d$XO!j3yO!{3tO'U$[O'`$cO'n&nO~O!W3zO~P$:ZO!W3zO!u3}O!x4OO~P$:ZO_$[O!]!wO!j3yO!{3tO'U$[O'n&nO~O!R'pq!c'pq_'pq'U'pq~P!)fO!R&sO!c'oq~O#W$xiP$xiZ$xi_$xij$xiv$xi!a$xi!b$xi!d$xi!j$xi#[$xi#]$xi#^$xi#_$xi#`$xi#a$xi#b$xi#c$xi#e$xi#g$xi#i$xi#j$xi'U$xi'd$xi!c$xi!O$xi!T$xin$xi%Q$xi!]$xi~P$(jO#W$ziP$ziZ$zi_$zij$ziv$zi!a$zi!b$zi!d$zi!j$zi#[$zi#]$zi#^$zi#_$zi#`$zi#a$zi#b$zi#c$zi#e$zi#g$zi#i$zi#j$zi'U$zi'd$zi!c$zi!O$zi!T$zin$zi%Q$zi!]$zi~P$)]O#W$giP$giZ$gi_$gij$giv$gi!R$gi!a$gi!b$gi!d$gi!j$gi#[$gi#]$gi#^$gi#_$gi#`$gi#a$gi#b$gi#c$gi#e$gi#g$gi#i$gi#j$gi'U$gi'd$gi!c$gi!O$gi!T$gi!{$gin$gi%Q$gi!]$gi~P!#rO!R&ia'_&ia~P!#rO!R&ja!c&ja~P!)fO!R,^O!c'li~O#m#Oi!R#Oi!S#Oi~P#)gOP#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O'dQOZ#Zij#Zi!a#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'n#Zi'u#Zi'v#Zi!R#Zi!S#Zi~O#[#Zi~P$CqO#[9]O~P$CqOP#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[9]O#]9^O#^9^O#_9^O'dQOZ#Zi!a#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'n#Zi'u#Zi'v#Zi!R#Zi!S#Zi~Oj#Zi~P$EyOj9_O~P$EyOP#^Oj9_Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[9]O#]9^O#^9^O#_9^O#`9`O'dQO#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'n#Zi'u#Zi'v#Zi!R#Zi!S#Zi~OZ#Zi!a#Zi#a#Zi#b#Zi#c#Zi~P$HROZ9jO!a9aO#a9aO#b9aO#c9aO~P$HROP#^OZ9jOj9_Ou!{Ov!{Ox!|O!a9aO!b!yO!d!zO!j#^O#[9]O#]9^O#^9^O#_9^O#`9`O#a9aO#b9aO#c9aO#e9bO'dQO#g#Zi#i#Zi#j#Zi#m#Zi'n#Zi'v#Zi!R#Zi!S#Zi~O'u#Zi~P$JgO'u!}O~P$JgOP#^OZ9jOj9_Ou!{Ov!{Ox!|O!a9aO!b!yO!d!zO!j#^O#[9]O#]9^O#^9^O#_9^O#`9`O#a9aO#b9aO#c9aO#e9bO#g9dO'dQO'u!}O#i#Zi#j#Zi#m#Zi'n#Zi!R#Zi!S#Zi~O'v#Zi~P$LoO'v#OO~P$LoOP#^OZ9jOj9_Ou!{Ov!{Ox!|O!a9aO!b!yO!d!zO!j#^O#[9]O#]9^O#^9^O#_9^O#`9`O#a9aO#b9aO#c9aO#e9bO#g9dO#i9fO'dQO'u!}O'v#OO~O#j#Zi#m#Zi'n#Zi!R#Zi!S#Zi~P$NwO_#ky!R#ky'U#ky!O#ky!c#kyn#ky!T#ky%Q#ky!]#ky~P!)fOP#ZiZ#Zij#Ziv#Zi!a#Zi!b#Zi!d#Zi!j#Zi#[#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'd#Zi!R#Zi!S#Zi~P!#rO!b!yOP'cXZ'cXj'cXu'cXv'cXx'cX!a'cX!d'cX!j'cX#['cX#]'cX#^'cX#_'cX#`'cX#a'cX#b'cX#c'cX#e'cX#g'cX#i'cX#j'cX#m'cX'd'cX'n'cX'u'cX'v'cX!R'cX!S'cX~O#m#ni!R#ni!S#ni~P#)gO!S4`O~O!R&qa!S&qa~P#)gO!]!wO'n&nO!R&ra!c&ra~O!R,}O!c'{i~O!R,}O!]!wO!c'{i~O!O&ta!R&ta~P!#rO!]4gO~O!R-UO!O'|i~P!#rO!R-UO!O'|i~O!O4mO~O!]!wO#c4sO~Oj4tO!]!wO'n&nO~O!O4vO~O'_$iq!R$iq#m$iq!{$iq~P!#rO_$Zy!R$Zy'U$Zy!O$Zy!c$Zyn$Zy!T$Zy%Q$Zy!]$Zy~P!)fO!R1{O!T'}a~O!T&cO%Q4{O~O!T&cO%Q4{O~P!#rO_#Oy!R#Oy'U#Oy!O#Oy!c#Oyn#Oy!T#Oy%Q#Oy!]#Oy~P!)fOZ5OO~O]5QO'Z)gO~O!R.WO!S(Ti~O]5TO~O^5UO~O'e'SO!R&yX!S&yX~O!R2jO!S(Qa~O!S5cO~P$1nOx-gO'e(gO'm+eO~O!W5fO!X5eO!Y5eO!x0WO'[$bO'e(gO'm+eO~O!s5gO!t5gO~P%-iO!X5eO!Y5eO'[$bO'e(gO'm+eO~O!T.sO~O!T.sO%Q5iO~O!T.sO%Q5iO~P!#rOS5nO!T.sO!o5mO%Q5iO~OZ5sO!R&|a!S&|a~O!R/PO!S(Ri~O]5vO~O!c5wO~O!c5xO~O!c5yO~O!c5yO~P){O_5{O~O!]6OO~O!c6QO~O!R'si!S'si~P#)gO_$[O'U$[O~P!)fO_$[O!{6VO'U$[O~O_$[O!]!wO!{6VO'U$[O~O!X6[O!Y6[O'[$bO'e(gO'm+eO~O_$[O!]!wO!j6]O!{6VO'U$[O'n&nO~O!d$XO'`$cO~P%2TO!W6^O~P%1rO!R'py!c'py_'py'U'py~P!)fO#W$iqP$iqZ$iq_$iqj$iqv$iq!R$iq!a$iq!b$iq!d$iq!j$iq#[$iq#]$iq#^$iq#_$iq#`$iq#a$iq#b$iq#c$iq#e$iq#g$iq#i$iq#j$iq'U$iq'd$iq!c$iq!O$iq!T$iq!{$iqn$iq%Q$iq!]$iq~P!#rO!R&ji!c&ji~P!)fO#m#Oq!R#Oq!S#Oq~P#)gOu-mOv-mOx-nOPraZrajra!ara!bra!dra!jra#[ra#]ra#^ra#_ra#`ra#ara#bra#cra#era#gra#ira#jra#mra'dra'nra'ura'vra!Rra!Sra~Ou(ROx(SOP$^aZ$^aj$^av$^a!a$^a!b$^a!d$^a!j$^a#[$^a#]$^a#^$^a#_$^a#`$^a#a$^a#b$^a#c$^a#e$^a#g$^a#i$^a#j$^a#m$^a'd$^a'n$^a'u$^a'v$^a!R$^a!S$^a~Ou(ROx(SOP$`aZ$`aj$`av$`a!a$`a!b$`a!d$`a!j$`a#[$`a#]$`a#^$`a#_$`a#`$`a#a$`a#b$`a#c$`a#e$`a#g$`a#i$`a#j$`a#m$`a'd$`a'n$`a'u$`a'v$`a!R$`a!S$`a~OP$naZ$naj$nav$na!a$na!b$na!d$na!j$na#[$na#]$na#^$na#_$na#`$na#a$na#b$na#c$na#e$na#g$na#i$na#j$na#m$na'd$na!R$na!S$na~P!#rO#m$Yq!R$Yq!S$Yq~P#)gO#m$Zq!R$Zq!S$Zq~P#)gO!S6hO~O'_$|y!R$|y#m$|y!{$|y~P!#rO!]!wO!R&ri!c&ri~O!]!wO'n&nO!R&ri!c&ri~O!R,}O!c'{q~O!O&ti!R&ti~P!#rO!R-UO!O'|q~O!O6oO~P!#rO!O6oO~O!R'by'_'by~P!#rO!R&wa!T&wa~P!#rO!T$tq_$tq'U$tq~P!#rOZ6wO~O!R.WO!S(Tq~O]6zO~O!T&cO%Q6{O~O!T&cO%Q6{O~P!#rO!{6|O!R&ya!S&ya~O!R2jO!S(Qi~P#)gO!X7SO!Y7SO'[$bO'e(gO'm+eO~O!W7UO!x4OO~P%ArO!T.sO%Q7XO~O!T.sO%Q7XO~P!#rO]7`O'e7_O~O!R/PO!S(Rq~O!c7bO~O!c7bO~P){O!c7dO~O!c7eO~O!R#Ty!S#Ty~P#)gO_$[O!{7kO'U$[O~O_$[O!]!wO!{7kO'U$[O~O!X7nO!Y7nO'[$bO'e(gO'm+eO~O_$[O!]!wO!j7oO!{7kO'U$[O'n&nO~O#W$|yP$|yZ$|y_$|yj$|yv$|y!R$|y!a$|y!b$|y!d$|y!j$|y#[$|y#]$|y#^$|y#_$|y#`$|y#a$|y#b$|y#c$|y#e$|y#g$|y#i$|y#j$|y'U$|y'd$|y!c$|y!O$|y!T$|y!{$|yn$|y%Q$|y!]$|y~P!#rO#m#ky!R#ky!S#ky~P#)gOP$giZ$gij$giv$gi!a$gi!b$gi!d$gi!j$gi#[$gi#]$gi#^$gi#_$gi#`$gi#a$gi#b$gi#c$gi#e$gi#g$gi#i$gi#j$gi#m$gi'd$gi!R$gi!S$gi~P!#rOu(ROx(SO'v(WOP$xiZ$xij$xiv$xi!a$xi!b$xi!d$xi!j$xi#[$xi#]$xi#^$xi#_$xi#`$xi#a$xi#b$xi#c$xi#e$xi#g$xi#i$xi#j$xi#m$xi'd$xi'n$xi'u$xi!R$xi!S$xi~Ou(ROx(SOP$ziZ$zij$ziv$zi!a$zi!b$zi!d$zi!j$zi#[$zi#]$zi#^$zi#_$zi#`$zi#a$zi#b$zi#c$zi#e$zi#g$zi#i$zi#j$zi#m$zi'd$zi'n$zi'u$zi'v$zi!R$zi!S$zi~O#m$Zy!R$Zy!S$Zy~P#)gO#m#Oy!R#Oy!S#Oy~P#)gO!]!wO!R&rq!c&rq~O!R,}O!c'{y~O!O&tq!R&tq~P!#rO!O7uO~P!#rO!R.WO!S(Ty~O!R2jO!S(Qq~O!X8RO!Y8RO'[$bO'e(gO'm+eO~O!T.sO%Q8UO~O!T.sO%Q8UO~P!#rO!c8XO~O&V8YOP&S!ZQ&S!ZX&S!Z]&S!Z_&S!Zb&S!Zc&S!Zh&S!Zj&S!Zk&S!Zl&S!Zq&S!Zs&S!Zx&S!Z{&S!Z|&S!Z}&S!Z!T&S!Z!_&S!Z!d&S!Z!g&S!Z!h&S!Z!i&S!Z!j&S!Z!k&S!Z!n&S!Z#d&S!Z#t&S!Z#x&S!Z%P&S!Z%R&S!Z%T&S!Z%U&S!Z%X&S!Z%Z&S!Z%^&S!Z%_&S!Z%a&S!Z%n&S!Z%t&S!Z%v&S!Z%x&S!Z%z&S!Z%}&S!Z&T&S!Z&X&S!Z&Z&S!Z&]&S!Z&_&S!Z&a&S!Z'Q&S!Z'Z&S!Z'd&S!Z'm&S!Z'z&S!Z!S&S!Z%{&S!Z`&S!Z&Q&S!Z~O_$[O!{8_O'U$[O~O_$[O!]!wO!{8_O'U$[O~OP$iqZ$iqj$iqv$iq!a$iq!b$iq!d$iq!j$iq#[$iq#]$iq#^$iq#_$iq#`$iq#a$iq#b$iq#c$iq#e$iq#g$iq#i$iq#j$iq#m$iq'd$iq!R$iq!S$iq~P!#rO!R&yq!S&yq~P#)gO_$[O!{8tO'U$[O~OP$|yZ$|yj$|yv$|y!a$|y!b$|y!d$|y!j$|y#[$|y#]$|y#^$|y#_$|y#`$|y#a$|y#b$|y#c$|y#e$|y#g$|y#i$|y#j$|y#m$|y'd$|y!R$|y!S$|y~P!#rOn'fX~P.jOn[X!O[X!c[X%r[X!T[X%Q[X!][X~P$zO!]dX!c[X!cdX'ndX~P;aOP9VOQ9VO]cOb:mOc!jOhcOj9VOkcOlcOq9VOs9VOxRO{cO|cO}cO!TSO!_9XO!dUO!g9VO!h9VO!i9VO!j9VO!k9VO!n!iO#t!lO#x^O'Z'bO'dQO'mYO'z:kO~O!R9hO!S$]a~O]#qOh$OOj#rOk#qOl#qOq$POs9mOx#xO!T#yO!_:pO!d#vO#V9sO#t$TO$_9oO$a9qO$d$UO'Z&zO'd#sO~O#d'iO~P&-UO!S[X!SdX~P;aO#W9[O~O!]!wO#W9[O~O!{9kO~O#c9aO~O!{9tO!R'sX!S'sX~O!{9kO!R'qX!S'qX~O#W9uO~O'_9wO~P!#rO#W9|O~O#W9}O~O!]!wO#W:OO~O!]!wO#W9uO~O#m:PO~P#)gO#W:QO~O#W:RO~O#W:SO~O#W:TO~O#m:UO~P!#rO#m:VO~P!#rO#x~!b!r!t!u#U#V'z$_$a$d$u%P%Q%R%X%Z%^%_%a%c~UT#x'z#]}'W'X#z'W'Z'e~",goto:"#Ed(XPPPPPPPP(YP(jP*^PPPP-uPP.[3n5b5uP5uPPP5uP7c5uP5uP7gPP7lP8Qk|}?O}!O>k!O!P?`!P!QCl!Q!R!0[!R![!1q![!]!7s!]!^!8V!^!_!8g!_!`!9d!`!a!:[!a!b!U#R#S2`#S#T!>i#T#o2`#o#p!>y#p#q!?O#q#r!?f#r#s!?x#s$f%T$f$g%c$g#BY2`#BY#BZ!@Y#BZ$IS2`$IS$I_!@Y$I_$I|2`$I|$I}!Bq$I}$JO!Bq$JO$JT2`$JT$JU!@Y$JU$KV2`$KV$KW!@Y$KW&FU2`&FU&FV!@Y&FV?HT2`?HT?HU!@Y?HU~2`W%YR$UWO!^%T!_#o%T#p~%T,T%jg$UW'W+{OX%TXY%cYZ%TZ[%c[p%Tpq%cq!^%T!_#o%T#p$f%T$f$g%c$g#BY%T#BY#BZ%c#BZ$IS%T$IS$I_%c$I_$JT%T$JT$JU%c$JU$KV%T$KV$KW%c$KW&FU%T&FU&FV%c&FV?HT%T?HT?HU%c?HU~%T,T'YR$UW'X+{O!^%T!_#o%T#p~%T$T'jS$UW!j#{O!^%T!_!`'v!`#o%T#p~%T$O'}S#e#v$UWO!^%T!_!`(Z!`#o%T#p~%T$O(bR#e#v$UWO!^%T!_#o%T#p~%T'u(rZ$UW]!ROY(kYZ)eZr(krs*rs!^(k!^!_+U!_#O(k#O#P-b#P#o(k#o#p+U#p~(k&r)jV$UWOr)ers*Ps!^)e!^!_*a!_#o)e#o#p*a#p~)e&r*WR$P&j$UWO!^%T!_#o%T#p~%T&j*dROr*ars*ms~*a&j*rO$P&j'u*{R$P&j$UW]!RO!^%T!_#o%T#p~%T'm+ZV]!ROY+UYZ*aZr+Urs+ps#O+U#O#P+w#P~+U'm+wO$P&j]!R'm+zROr+Urs,Ts~+U'm,[U$P&j]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R,sU]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R-[O]!R!R-_PO~,n'u-gV$UWOr(krs-|s!^(k!^!_+U!_#o(k#o#p+U#p~(k'u.VZ$P&j$UW]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/PZ$UW]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/yR$UW]!RO!^%T!_#o%T#p~%T!Z0XT$UWO!^.x!^!_,n!_#o.x#o#p,n#p~.xy0mZ$UWOt%Ttu1`u!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`y1g]$UW'mqOt%Ttu1`u!Q%T!Q![1`![!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`&i2k_$UW#zS'Z%k'epOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`[3q_$UW#zSOt%Ttu3ju}%T}!O3j!O!Q%T!Q![3j![!^%T!_!c%T!c!}3j!}#R%T#R#S3j#S#T%T#T#o3j#p$g%T$g~3j$O4wS#^#v$UWO!^%T!_!`5T!`#o%T#p~%T$O5[R$UW#o#vO!^%T!_#o%T#p~%T%r5lU'v%j$UWOv%Tvw6Ow!^%T!_!`5T!`#o%T#p~%T$O6VS$UW#i#vO!^%T!_!`5T!`#o%T#p~%T'u6jZ$UW]!ROY6cYZ7]Zw6cwx*rx!^6c!^!_8T!_#O6c#O#P:T#P#o6c#o#p8T#p~6c&r7bV$UWOw7]wx*Px!^7]!^!_7w!_#o7]#o#p7w#p~7]&j7zROw7wwx*mx~7w'm8YV]!ROY8TYZ7wZw8Twx+px#O8T#O#P8o#P~8T'm8rROw8Twx8{x~8T'm9SU$P&j]!ROY9fZw9fwx-Vx#O9f#O#P9}#P~9f!R9kU]!ROY9fZw9fwx-Vx#O9f#O#P9}#P~9f!R:QPO~9f'u:YV$UWOw6cwx:ox!^6c!^!_8T!_#o6c#o#p8T#p~6c'u:xZ$P&j$UW]!ROY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#PW{!^%T!_!`5T!`#o%T#p~%T$O>_S#[#v$UWO!^%T!_!`5T!`#o%T#p~%T$u>rSj$m$UWO!^%T!_!`5T!`#o%T#p~%T&i?VR!R&a$UWO!^%T!_#o%T#p~%T&i?gVu%n$UWO!O%T!O!P?|!P!Q%T!Q![@r![!^%T!_#o%T#p~%Ty@RT$UWO!O%T!O!P@b!P!^%T!_#o%T#p~%Ty@iR!Qq$UWO!^%T!_#o%T#p~%Ty@yZ$UWkqO!Q%T!Q![@r![!^%T!_!g%T!g!hAl!h#R%T#R#S@r#S#X%T#X#YAl#Y#o%T#p~%TyAqZ$UWO{%T{|Bd|}%T}!OBd!O!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%TyBiV$UWO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%TyCVV$UWkqO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%T,TCs`$UW#]#vOYDuYZ%TZzDuz{Jl{!PDu!P!Q!-e!Q!^Du!^!_Fx!_!`!.^!`!a!/]!a!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXD|[$UW}POYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXEy_$UW}PO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%TPF}V}POYFxZ!PFx!P!QGd!Q!}Fx!}#OG{#O#PHh#P~FxPGiU}P#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGdPHOTOYG{Z#OG{#O#PH_#P#QFx#Q~G{PHbQOYG{Z~G{PHkQOYFxZ~FxXHvY$UWOYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~HqXIkV$UWOYHqYZ%TZ!^Hq!^!_G{!_#oHq#o#pG{#p~HqXJVV$UWOYDuYZ%TZ!^Du!^!_Fx!_#oDu#o#pFx#p~Du,TJs^$UW}POYJlYZKoZzJlz{NQ{!PJl!P!Q!,R!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl,TKtV$UWOzKoz{LZ{!^Ko!^!_M]!_#oKo#o#pM]#p~Ko,TL`X$UWOzKoz{LZ{!PKo!P!QL{!Q!^Ko!^!_M]!_#oKo#o#pM]#p~Ko,TMSR$UWU+{O!^%T!_#o%T#p~%T+{M`ROzM]z{Mi{~M]+{MlTOzM]z{Mi{!PM]!P!QM{!Q~M]+{NQOU+{,TNX^$UW}POYJlYZKoZzJlz{NQ{!PJl!P!Q! T!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl,T! ^_$UWU+{}PO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%T+{!!bY}POY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!&x!Q!}!!]!}#O!$`#O#P!&f#P~!!]+{!#VY}POY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!#u!Q!}!!]!}#O!$`#O#P!&f#P~!!]+{!#|UU+{}P#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGd+{!$cWOY!$`YZM]Zz!$`z{!${{#O!$`#O#P!&S#P#Q!!]#Q~!$`+{!%OYOY!$`YZM]Zz!$`z{!${{!P!$`!P!Q!%n!Q#O!$`#O#P!&S#P#Q!!]#Q~!$`+{!%sTU+{OYG{Z#OG{#O#PH_#P#QFx#Q~G{+{!&VTOY!$`YZM]Zz!$`z{!${{~!$`+{!&iTOY!!]YZM]Zz!!]z{!#Q{~!!]+{!&}_}POzM]z{Mi{#ZM]#Z#[!&x#[#]M]#]#^!&x#^#aM]#a#b!&x#b#gM]#g#h!&x#h#iM]#i#j!&x#j#mM]#m#n!&x#n~M],T!(R[$UWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|,T!(|^$UWOY!'|YZKoZz!'|z{!(w{!P!'|!P!Q!)x!Q!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|,T!*PY$UWU+{OYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~Hq,T!*tX$UWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#o!'|#o#p!$`#p~!'|,T!+fX$UWOYJlYZKoZzJlz{NQ{!^Jl!^!_!!]!_#oJl#o#p!!]#p~Jl,T!,Yc$UW}POzKoz{LZ{!^Ko!^!_M]!_#ZKo#Z#[!,R#[#]Ko#]#^!,R#^#aKo#a#b!,R#b#gKo#g#h!,R#h#iKo#i#j!,R#j#mKo#m#n!,R#n#oKo#o#pM]#p~Ko,T!-lV$UWT+{OY!-eYZ%TZ!^!-e!^!_!.R!_#o!-e#o#p!.R#p~!-e+{!.WQT+{OY!.RZ~!.R$P!.g[$UW#o#v}POYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Du]!/f[#wS$UW}POYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Duy!0cd$UWkqO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#U%T#U#V!3X#V#X%T#X#YAl#Y#b%T#b#c!2w#c#d!4m#d#l%T#l#m!5{#m#o%T#p~%Ty!1x_$UWkqO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#X%T#X#YAl#Y#b%T#b#c!2w#c#o%T#p~%Ty!3OR$UWkqO!^%T!_#o%T#p~%Ty!3^W$UWO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#o%T#p~%Ty!3}Y$UWkqO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#b%T#b#c!2w#c#o%T#p~%Ty!4rV$UWO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#o%T#p~%Ty!5`X$UWkqO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#b%T#b#c!2w#c#o%T#p~%Ty!6QZ$UWO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#o%T#p~%Ty!6z]$UWkqO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#b%T#b#c!2w#c#o%T#p~%T%w!7|R!]V$UW#m%hO!^%T!_#o%T#p~%T!P!8^R_w$UWO!^%T!_#o%T#p~%T+c!8rR'`d!a%Y#x&s'zP!P!Q!8{!^!_!9Q!_!`!9_W!9QO$WW#v!9VP#`#v!_!`!9Y#v!9_O#o#v#v!9dO#a#v%w!9kT!{%o$UWO!^%T!_!`'v!`!a!9z!a#o%T#p~%T$P!:RR#W#w$UWO!^%T!_#o%T#p~%T%w!:gT'_!s#a#v$RS$UWO!^%T!_!`!:v!`!a!;W!a#o%T#p~%T$O!:}R#a#v$UWO!^%T!_#o%T#p~%T$O!;_T#`#v$UWO!^%T!_!`5T!`!a!;n!a#o%T#p~%T$O!;uS#`#v$UWO!^%T!_!`5T!`#o%T#p~%T%w!]S#g#v$UWO!^%T!_!`5T!`#o%T#p~%T$P!>pR$UW'd#wO!^%T!_#o%T#p~%T~!?OO!T~%r!?VT'u%j$UWO!^%T!_!`5T!`#o%T#p#q!=P#q~%T$u!?oR!S$knQ$UWO!^%T!_#o%T#p~%TX!@PR!kP$UWO!^%T!_#o%T#p~%T,T!@gr$UW'W+{#zS'Z%k'epOX%TXY%cYZ%TZ[%c[p%Tpq%cqt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$f%T$f$g%c$g#BY2`#BY#BZ!@Y#BZ$IS2`$IS$I_!@Y$I_$JT2`$JT$JU!@Y$JU$KV2`$KV$KW!@Y$KW&FU2`&FU&FV!@Y&FV?HT2`?HT?HU!@Y?HU~2`,T!CO_$UW'X+{#zS'Z%k'epOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`",tokenizers:[noSemicolon,incdecToken,template,0,1,2,3,4,5,6,7,8,insertSemicolon],topRules:{Script:[0,7]},dialects:{jsx:11335,ts:11337},dynamicPrecedences:{"149":1,"176":1},specialized:[{term:287,get:(o,e)=>tsExtends(o,e)<<1},{term:287,get:o=>spec_identifier[o]||-1},{term:297,get:o=>spec_word[o]||-1},{term:63,get:o=>spec_LessThan[o]||-1}],tokenPrec:11358}),snippets=[snippetCompletion("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),snippetCompletion("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),snippetCompletion("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),snippetCompletion(`try { \${} } catch (\${error}) { \${} @@ -302,9 +302,9 @@ ${o} constructor(\${params}) { \${} } -}`,{label:"class",detail:"definition",type:"keyword"}),snippetCompletion('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),snippetCompletion('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],javascriptLanguage=LRLanguage.define({parser:parser.configure({props:[indentNodeProp.add({IfStatement:continuedIndent({except:/^\s*({|else\b)/}),TryStatement:continuedIndent({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:flatIndent,SwitchBody:o=>{let e=o.textAfter,s=/^\s*\}/.test(e),a=/^\s*(case|default)\b/.test(e);return o.baseIndent+(s?0:a?1:2)*o.unit},Block:delimitedIndent({closing:"}"}),ArrowFunction:o=>o.baseIndent+o.unit,"TemplateString BlockComment":()=>-1,"Statement Property":continuedIndent({except:/^{/}),JSXElement(o){let e=/^\s*<\//.test(o.textAfter);return o.lineIndent(o.node.from)+(e?0:o.unit)},JSXEscape(o){let e=/\s*\}/.test(o.textAfter);return o.lineIndent(o.node.from)+(e?0:o.unit)},"JSXOpenTag JSXSelfClosingTag"(o){return o.column(o.node.from)+o.unit}}),foldNodeProp.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression":foldInside$1,BlockComment(o){return{from:o.from+2,to:o.to-2}}}),styleTags({"get set async static":tags.modifier,"for while do if else switch try catch finally return throw break continue default case":tags.controlKeyword,"in of await yield void typeof delete instanceof":tags.operatorKeyword,"let var const function class extends":tags.definitionKeyword,"import export from":tags.moduleKeyword,"with debugger as new":tags.keyword,TemplateString:tags.special(tags.string),Super:tags.atom,BooleanLiteral:tags.bool,this:tags.self,null:tags.null,Star:tags.modifier,VariableName:tags.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":tags.function(tags.variableName),VariableDefinition:tags.definition(tags.variableName),Label:tags.labelName,PropertyName:tags.propertyName,PrivatePropertyName:tags.special(tags.propertyName),"CallExpression/MemberExpression/PropertyName":tags.function(tags.propertyName),"FunctionDeclaration/VariableDefinition":tags.function(tags.definition(tags.variableName)),"ClassDeclaration/VariableDefinition":tags.definition(tags.className),PropertyDefinition:tags.definition(tags.propertyName),PrivatePropertyDefinition:tags.definition(tags.special(tags.propertyName)),UpdateOp:tags.updateOperator,LineComment:tags.lineComment,BlockComment:tags.blockComment,Number:tags.number,String:tags.string,ArithOp:tags.arithmeticOperator,LogicOp:tags.logicOperator,BitOp:tags.bitwiseOperator,CompareOp:tags.compareOperator,RegExp:tags.regexp,Equals:tags.definitionOperator,"Arrow : Spread":tags.punctuation,"( )":tags.paren,"[ ]":tags.squareBracket,"{ }":tags.brace,"InterpolationStart InterpolationEnd":tags.special(tags.brace),".":tags.derefOperator,", ;":tags.separator,TypeName:tags.typeName,TypeDefinition:tags.definition(tags.typeName),"type enum interface implements namespace module declare":tags.definitionKeyword,"abstract global Privacy readonly override":tags.modifier,"is keyof unique infer":tags.operatorKeyword,JSXAttributeValue:tags.attributeValue,JSXText:tags.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":tags.angleBracket,"JSXIdentifier JSXNameSpacedName":tags.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":tags.attributeName})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),typescriptLanguage=javascriptLanguage.configure({dialect:"ts"}),jsxLanguage=javascriptLanguage.configure({dialect:"jsx"}),tsxLanguage=javascriptLanguage.configure({dialect:"jsx ts"});function javascript(o={}){let e=o.jsx?o.typescript?tsxLanguage:jsxLanguage:o.typescript?typescriptLanguage:javascriptLanguage;return new LanguageSupport(e,javascriptLanguage.data.of({autocomplete:ifNotIn(["LineComment","BlockComment","String"],completeFromList(snippets))}))}const useObserver=(o,{root:e,rootMargin:s,threshold:a}={},c=[])=>{const d=react.exports.useRef(null),_=react.exports.useRef(null);return react.exports.useCallback(k=>{d.current&&_.current&&(_.current.unobserve(d.current),_.current.disconnect(),_.current=null),k&&(_.current=new IntersectionObserver(o,{root:e,rootMargin:s,threshold:a}),_.current.observe(k),d.current=k)},[d,e,s,JSON.stringify(a),...c])},useInView=({root:o,rootMargin:e,threshold:s,unobserveOnEnter:a,target:c,onEnter:d,onLeave:_,defaultInView:b}={},k=[])=>{const[$,j]=react.exports.useState({inView:b||!1,entry:null,observer:null}),_e=react.exports.useCallback(([tt],nt)=>{const rt=nt.thresholds.some(it=>tt.intersectionRatio>=it)&&tt.isIntersecting;j({inView:rt,entry:tt,observer:nt}),rt&&a&&(nt.unobserve(tt.target),nt.disconnect()),rt?d==null||d(tt,nt):_==null||_(tt,nt)},[d,_,a]),et=useObserver(_e,{root:o,rootMargin:e,threshold:s},[a,...k]);return react.exports.useEffect(()=>{c!=null&&c.current&&et(c.current)},[c,et]),[et,$.inView,$.entry,$.observer]},WebMidi=_WebMidi;function enableWebMidi(){return new Promise((o,e)=>{if(WebMidi.enabled){o(WebMidi);return}WebMidi.enable(s=>{s&&e(s),o(WebMidi)})})}const outputByName=o=>WebMidi.getOutputByName(o);Pattern$5.prototype.midi=function(o,e=1){var s,a,c;if(isPattern$1((s=o==null?void 0:o.constructor)==null?void 0:s.name))throw new Error(`.midi does not accept Pattern input. Make sure to pass device name with single quotes. Example: .midi('${((c=(a=WebMidi.outputs)==null?void 0:a[0])==null?void 0:c.name)||"IAC Driver Bus 1"}')`);return this._withHap(d=>{const _=(b,k)=>{var tt,nt;let $=k.value;const j=(nt=(tt=k.context)==null?void 0:tt.velocity)!=null?nt:.9;if(!isNote$2($))throw new Error("not a note: "+$);if(!WebMidi.enabled)throw new Error("\u{1F3B9} WebMidi is not enabled. Supported Browsers: https://caniuse.com/?search=webmidi");if(!WebMidi.outputs.length)throw new Error("\u{1F50C} No MIDI devices found. Connect a device or enable IAC Driver.");let _e;if(typeof o=="number"?_e=WebMidi.outputs[o]:typeof o=="string"?_e=outputByName(o):_e=WebMidi.outputs[0],!_e)throw new Error(`\u{1F50C} MIDI device '${o||""}' not found. Use one of ${WebMidi.outputs.map(st=>`'${st.name}'`).join(" | ")}`);const et=WebMidi.time-Tone.getContext().currentTime*1e3;b=b*1e3+et,_e.playNote($,e,{time:b,duration:k.duration.valueOf()*1e3-5,velocity:j})};return d.setContext(wt(Ot({},d.context),{onTrigger:_}))})};const ivory="#abb2bf",stone="#7d8799",invalid="#ffffff",darkBackground="#21252b",highlightBackground="rgba(0, 0, 0, 0.5)",background="transparent",tooltipBackground="#353a42",selection="rgba(128, 203, 196, 0.5)",cursor="#ffcc00",materialPalenightTheme=EditorView.theme({"&":{color:"#ffffff",backgroundColor:background,fontSize:"15px","z-index":11},".cm-content":{caretColor:cursor,lineHeight:"22px"},".cm-line":{background:"#2C323699"},"&.cm-focused .cm-cursor":{backgroundColor:cursor,width:"3px"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:selection},".cm-panels":{backgroundColor:darkBackground,color:"#ffffff"},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:highlightBackground},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847",outline:"1px solid #515a6b"},".cm-gutters":{background:"transparent",color:"#676e95",border:"none"},".cm-activeLineGutter":{backgroundColor:highlightBackground},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:tooltipBackground},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:tooltipBackground,borderBottomColor:tooltipBackground},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:highlightBackground,color:ivory}}},{dark:!0}),materialPalenightHighlightStyle=HighlightStyle.define([{tag:tags.keyword,color:"#c792ea"},{tag:tags.operator,color:"#89ddff"},{tag:tags.special(tags.variableName),color:"#eeffff"},{tag:tags.typeName,color:"#f07178"},{tag:tags.atom,color:"#f78c6c"},{tag:tags.number,color:"#ff5370"},{tag:tags.definition(tags.variableName),color:"#82aaff"},{tag:tags.string,color:"#c3e88d"},{tag:tags.special(tags.string),color:"#f07178"},{tag:tags.comment,color:stone},{tag:tags.variableName,color:"#f07178"},{tag:tags.tagName,color:"#ff5370"},{tag:tags.bracket,color:"#a2a1a4"},{tag:tags.meta,color:"#ffcb6b"},{tag:tags.attributeName,color:"#c792ea"},{tag:tags.propertyName,color:"#c792ea"},{tag:tags.className,color:"#decb6b"},{tag:tags.invalid,color:invalid}]),materialPalenight=[materialPalenightTheme,materialPalenightHighlightStyle],setHighlights=StateEffect.define(),highlightField=StateField.define({create(){return Decoration.none},update(o,e){try{for(let s of e.effects)s.is(setHighlights)&&(o=Decoration.set(s.value.flatMap(a=>(a.context.locations||[]).map(({start:c,end:d})=>{const _=a.context.color||"#FFCA28";let b=e.newDoc.line(c.line).from+c.column,k=e.newDoc.line(d.line).from+d.column;const $=e.newDoc.length;return b>$||k>$?void 0:Decoration.mark({attributes:{style:`outline: 1px solid ${_}`}}).range(b,k)})).filter(Boolean),!0));return o}catch{return o}},provide:o=>EditorView.decorations.from(o)});function CodeMirror({value:o,onChange:e,onViewChanged:s,onCursor:a,options:c,editorDidMount:d}){return jsx(Fragment,{children:jsx(CodeMirror$1,{onViewChange:s,style:{display:"flex",flexDirection:"column",flex:"1 0 auto"},value:o,onChange:e,extensions:[javascript(),materialPalenight,highlightField]})})}function useCycle(o){const{onEvent:e,onQuery:s,onSchedule:a,ready:c=!0,onDraw:d}=o,[_,b]=react.exports.useState(!1),k=1,$=()=>Math.floor(Tone.getTransport().seconds/k),j=(nt=$())=>{const st=new TimeSpan$1(nt,nt+1),rt=(s==null?void 0:s(new State$1(st)))||[];a==null||a(rt,nt);const it=st.begin.valueOf();Tone.getTransport().cancel(it);const at=(nt+1)*k-.5,ot=Math.max(Tone.getTransport().seconds,at)+.1;Tone.getTransport().schedule(()=>{j(nt+1)},ot),rt==null||rt.filter(pt=>{var ct;return pt.part.begin.equals((ct=pt.whole)==null?void 0:ct.begin)}).forEach(pt=>{Tone.getTransport().schedule(ct=>{e(ct,pt,Tone.getContext().currentTime),Tone.Draw.schedule(()=>{d==null||d(ct,pt)},ct)},pt.part.begin.valueOf())})};react.exports.useEffect(()=>{c&&j()},[e,a,s,d,c]);const _e=async()=>{b(!0),await Tone.start(),Tone.getTransport().start("+0.1")},et=()=>{Tone.getTransport().pause(),b(!1)};return{start:_e,stop:et,onEvent:e,started:_,setStarted:b,toggle:()=>_?et():_e(),query:j,activeCycle:$}}function usePostMessage(o){return react.exports.useEffect(()=>(window.addEventListener("message",o),()=>window.removeEventListener("message",o)),[o]),react.exports.useCallback(e=>window.postMessage(e,"*"),[])}let s4=()=>Math.floor((1+Math.random())*65536).toString(16).substring(1);const generateHash=o=>encodeURIComponent(btoa(o));function useRepl({tune:o,defaultSynth:e,autolink:s=!0,onEvent:a,onDraw:c}){const d=react.exports.useMemo(()=>s4(),[]),[_,b]=react.exports.useState(o),[k,$]=react.exports.useState(),[j,_e]=react.exports.useState(""),[et,tt]=react.exports.useState(),[nt,st]=react.exports.useState(!1),[rt,it]=react.exports.useState(""),[at,ot]=react.exports.useState(),pt=react.exports.useMemo(()=>_!==k||et,[_,k,et]),ct=react.exports.useCallback(ft=>_e(mt=>mt+`${mt?` +}`,{label:"class",detail:"definition",type:"keyword"}),snippetCompletion('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),snippetCompletion('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],javascriptLanguage=LRLanguage.define({parser:parser.configure({props:[indentNodeProp.add({IfStatement:continuedIndent({except:/^\s*({|else\b)/}),TryStatement:continuedIndent({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:flatIndent,SwitchBody:o=>{let e=o.textAfter,s=/^\s*\}/.test(e),a=/^\s*(case|default)\b/.test(e);return o.baseIndent+(s?0:a?1:2)*o.unit},Block:delimitedIndent({closing:"}"}),ArrowFunction:o=>o.baseIndent+o.unit,"TemplateString BlockComment":()=>-1,"Statement Property":continuedIndent({except:/^{/}),JSXElement(o){let e=/^\s*<\//.test(o.textAfter);return o.lineIndent(o.node.from)+(e?0:o.unit)},JSXEscape(o){let e=/\s*\}/.test(o.textAfter);return o.lineIndent(o.node.from)+(e?0:o.unit)},"JSXOpenTag JSXSelfClosingTag"(o){return o.column(o.node.from)+o.unit}}),foldNodeProp.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression":foldInside$1,BlockComment(o){return{from:o.from+2,to:o.to-2}}}),styleTags({"get set async static":tags.modifier,"for while do if else switch try catch finally return throw break continue default case":tags.controlKeyword,"in of await yield void typeof delete instanceof":tags.operatorKeyword,"let var const function class extends":tags.definitionKeyword,"import export from":tags.moduleKeyword,"with debugger as new":tags.keyword,TemplateString:tags.special(tags.string),Super:tags.atom,BooleanLiteral:tags.bool,this:tags.self,null:tags.null,Star:tags.modifier,VariableName:tags.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":tags.function(tags.variableName),VariableDefinition:tags.definition(tags.variableName),Label:tags.labelName,PropertyName:tags.propertyName,PrivatePropertyName:tags.special(tags.propertyName),"CallExpression/MemberExpression/PropertyName":tags.function(tags.propertyName),"FunctionDeclaration/VariableDefinition":tags.function(tags.definition(tags.variableName)),"ClassDeclaration/VariableDefinition":tags.definition(tags.className),PropertyDefinition:tags.definition(tags.propertyName),PrivatePropertyDefinition:tags.definition(tags.special(tags.propertyName)),UpdateOp:tags.updateOperator,LineComment:tags.lineComment,BlockComment:tags.blockComment,Number:tags.number,String:tags.string,ArithOp:tags.arithmeticOperator,LogicOp:tags.logicOperator,BitOp:tags.bitwiseOperator,CompareOp:tags.compareOperator,RegExp:tags.regexp,Equals:tags.definitionOperator,"Arrow : Spread":tags.punctuation,"( )":tags.paren,"[ ]":tags.squareBracket,"{ }":tags.brace,"InterpolationStart InterpolationEnd":tags.special(tags.brace),".":tags.derefOperator,", ;":tags.separator,TypeName:tags.typeName,TypeDefinition:tags.definition(tags.typeName),"type enum interface implements namespace module declare":tags.definitionKeyword,"abstract global Privacy readonly override":tags.modifier,"is keyof unique infer":tags.operatorKeyword,JSXAttributeValue:tags.attributeValue,JSXText:tags.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":tags.angleBracket,"JSXIdentifier JSXNameSpacedName":tags.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":tags.attributeName})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),typescriptLanguage=javascriptLanguage.configure({dialect:"ts"}),jsxLanguage=javascriptLanguage.configure({dialect:"jsx"}),tsxLanguage=javascriptLanguage.configure({dialect:"jsx ts"});function javascript(o={}){let e=o.jsx?o.typescript?tsxLanguage:jsxLanguage:o.typescript?typescriptLanguage:javascriptLanguage;return new LanguageSupport(e,javascriptLanguage.data.of({autocomplete:ifNotIn(["LineComment","BlockComment","String"],completeFromList(snippets))}))}const useObserver=(o,{root:e,rootMargin:s,threshold:a}={},c=[])=>{const d=react.exports.useRef(null),_=react.exports.useRef(null);return react.exports.useCallback(k=>{d.current&&_.current&&(_.current.unobserve(d.current),_.current.disconnect(),_.current=null),k&&(_.current=new IntersectionObserver(o,{root:e,rootMargin:s,threshold:a}),_.current.observe(k),d.current=k)},[d,e,s,JSON.stringify(a),...c])},useInView=({root:o,rootMargin:e,threshold:s,unobserveOnEnter:a,target:c,onEnter:d,onLeave:_,defaultInView:b}={},k=[])=>{const[$,j]=react.exports.useState({inView:b||!1,entry:null,observer:null}),_e=react.exports.useCallback(([tt],nt)=>{const rt=nt.thresholds.some(st=>tt.intersectionRatio>=st)&&tt.isIntersecting;j({inView:rt,entry:tt,observer:nt}),rt&&a&&(nt.unobserve(tt.target),nt.disconnect()),rt?d==null||d(tt,nt):_==null||_(tt,nt)},[d,_,a]),et=useObserver(_e,{root:o,rootMargin:e,threshold:s},[a,...k]);return react.exports.useEffect(()=>{c!=null&&c.current&&et(c.current)},[c,et]),[et,$.inView,$.entry,$.observer]},WebMidi=_WebMidi;function enableWebMidi(){return new Promise((o,e)=>{if(WebMidi.enabled){o(WebMidi);return}WebMidi.enable(s=>{s&&e(s),o(WebMidi)})})}const outputByName=o=>WebMidi.getOutputByName(o);Pattern$5.prototype.midi=function(o,e=1){var s,a,c;if(isPattern$1((s=o==null?void 0:o.constructor)==null?void 0:s.name))throw new Error(`.midi does not accept Pattern input. Make sure to pass device name with single quotes. Example: .midi('${((c=(a=WebMidi.outputs)==null?void 0:a[0])==null?void 0:c.name)||"IAC Driver Bus 1"}')`);return this._withHap(d=>{const _=(b,k)=>{var tt,nt;let $=k.value;const j=(nt=(tt=k.context)==null?void 0:tt.velocity)!=null?nt:.9;if(!isNote$2($))throw new Error("not a note: "+$);if(!WebMidi.enabled)throw new Error("\u{1F3B9} WebMidi is not enabled. Supported Browsers: https://caniuse.com/?search=webmidi");if(!WebMidi.outputs.length)throw new Error("\u{1F50C} No MIDI devices found. Connect a device or enable IAC Driver.");let _e;if(typeof o=="number"?_e=WebMidi.outputs[o]:typeof o=="string"?_e=outputByName(o):_e=WebMidi.outputs[0],!_e)throw new Error(`\u{1F50C} MIDI device '${o||""}' not found. Use one of ${WebMidi.outputs.map(it=>`'${it.name}'`).join(" | ")}`);const et=WebMidi.time-Tone.getContext().currentTime*1e3;b=b*1e3+et,_e.playNote($,e,{time:b,duration:k.duration.valueOf()*1e3-5,velocity:j})};return d.setContext(wt(Ot({},d.context),{onTrigger:_}))})};const ivory="#abb2bf",stone="#7d8799",invalid="#ffffff",darkBackground="#21252b",highlightBackground="rgba(0, 0, 0, 0.5)",background="transparent",tooltipBackground="#353a42",selection="rgba(128, 203, 196, 0.5)",cursor="#ffcc00",materialPalenightTheme=EditorView.theme({"&":{color:"#ffffff",backgroundColor:background,fontSize:"15px","z-index":11},".cm-content":{caretColor:cursor,lineHeight:"22px"},".cm-line":{background:"#2C323699"},"&.cm-focused .cm-cursor":{backgroundColor:cursor,width:"3px"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:selection},".cm-panels":{backgroundColor:darkBackground,color:"#ffffff"},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:highlightBackground},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847",outline:"1px solid #515a6b"},".cm-gutters":{background:"transparent",color:"#676e95",border:"none"},".cm-activeLineGutter":{backgroundColor:highlightBackground},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:tooltipBackground},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:tooltipBackground,borderBottomColor:tooltipBackground},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:highlightBackground,color:ivory}}},{dark:!0}),materialPalenightHighlightStyle=HighlightStyle.define([{tag:tags.keyword,color:"#c792ea"},{tag:tags.operator,color:"#89ddff"},{tag:tags.special(tags.variableName),color:"#eeffff"},{tag:tags.typeName,color:"#f07178"},{tag:tags.atom,color:"#f78c6c"},{tag:tags.number,color:"#ff5370"},{tag:tags.definition(tags.variableName),color:"#82aaff"},{tag:tags.string,color:"#c3e88d"},{tag:tags.special(tags.string),color:"#f07178"},{tag:tags.comment,color:stone},{tag:tags.variableName,color:"#f07178"},{tag:tags.tagName,color:"#ff5370"},{tag:tags.bracket,color:"#a2a1a4"},{tag:tags.meta,color:"#ffcb6b"},{tag:tags.attributeName,color:"#c792ea"},{tag:tags.propertyName,color:"#c792ea"},{tag:tags.className,color:"#decb6b"},{tag:tags.invalid,color:invalid}]),materialPalenight=[materialPalenightTheme,materialPalenightHighlightStyle],setHighlights=StateEffect.define(),highlightField=StateField.define({create(){return Decoration.none},update(o,e){try{for(let s of e.effects)s.is(setHighlights)&&(o=Decoration.set(s.value.flatMap(a=>(a.context.locations||[]).map(({start:c,end:d})=>{const _=a.context.color||"#FFCA28";let b=e.newDoc.line(c.line).from+c.column,k=e.newDoc.line(d.line).from+d.column;const $=e.newDoc.length;return b>$||k>$?void 0:Decoration.mark({attributes:{style:`outline: 1px solid ${_}`}}).range(b,k)})).filter(Boolean),!0));return o}catch{return o}},provide:o=>EditorView.decorations.from(o)});function CodeMirror({value:o,onChange:e,onViewChanged:s,onCursor:a,options:c,editorDidMount:d}){return jsx(Fragment,{children:jsx(CodeMirror$1,{onViewChange:s,style:{display:"flex",flexDirection:"column",flex:"1 0 auto"},value:o,onChange:e,extensions:[javascript(),materialPalenight,highlightField]})})}function useCycle(o){const{onEvent:e,onQuery:s,onSchedule:a,ready:c=!0,onDraw:d}=o,[_,b]=react.exports.useState(!1),k=1,$=()=>Math.floor(Tone.getTransport().seconds/k),j=(nt=$())=>{const it=new TimeSpan$1(nt,nt+1),rt=(s==null?void 0:s(new State$1(it)))||[];a==null||a(rt,nt);const st=it.begin.valueOf();Tone.getTransport().cancel(st);const at=(nt+1)*k-.5,ot=Math.max(Tone.getTransport().seconds,at)+.1;Tone.getTransport().schedule(()=>{j(nt+1)},ot),rt==null||rt.filter(pt=>{var ct;return pt.part.begin.equals((ct=pt.whole)==null?void 0:ct.begin)}).forEach(pt=>{Tone.getTransport().schedule(ct=>{e(ct,pt,Tone.getContext().currentTime),Tone.Draw.schedule(()=>{d==null||d(ct,pt)},ct)},pt.part.begin.valueOf())})};react.exports.useEffect(()=>{c&&j()},[e,a,s,d,c]);const _e=async()=>{b(!0),await Tone.start(),Tone.getTransport().start("+0.1")},et=()=>{Tone.getTransport().pause(),b(!1)};return{start:_e,stop:et,onEvent:e,started:_,setStarted:b,toggle:()=>_?et():_e(),query:j,activeCycle:$}}function usePostMessage(o){return react.exports.useEffect(()=>(window.addEventListener("message",o),()=>window.removeEventListener("message",o)),[o]),react.exports.useCallback(e=>window.postMessage(e,"*"),[])}let s4=()=>Math.floor((1+Math.random())*65536).toString(16).substring(1);const generateHash=o=>encodeURIComponent(btoa(o));function useRepl({tune:o,defaultSynth:e,autolink:s=!0,onEvent:a,onDraw:c}){const d=react.exports.useMemo(()=>s4(),[]),[_,b]=react.exports.useState(o),[k,$]=react.exports.useState(),[j,_e]=react.exports.useState(""),[et,tt]=react.exports.useState(),[nt,it]=react.exports.useState(!1),[rt,st]=react.exports.useState(""),[at,ot]=react.exports.useState(),pt=react.exports.useMemo(()=>_!==k||et,[_,k,et]),ct=react.exports.useCallback(ft=>_e(mt=>mt+`${mt?` -`:""}${ft}`),[]),ut=react.exports.useMemo(()=>{if(k&&!k.includes("strudel disable-highlighting"))return(ft,mt)=>c==null?void 0:c(ft,mt,k)},[k,c]),lt=useCycle({onDraw:ut,onEvent:react.exports.useCallback((ft,mt,Et)=>{var vt;try{a==null||a(mt),(vt=mt.context.logs)!=null&&vt.length&&mt.context.logs.forEach(ct);const{onTrigger:At,velocity:_t}=mt.context;if(At)At(ft,mt,Et,1,mt.wholeOrPart().begin.valueOf(),mt.duration.valueOf());else if(e){const Dt=getPlayableNoteValue(mt);e.triggerAttackRelease(Dt,mt.duration.valueOf(),ft,_t)}else throw new Error("no defaultSynth passed to useRepl.")}catch(At){console.warn(At),At.message="unplayable event: "+(At==null?void 0:At.message),ct(At.message)}},[a,ct,e]),onQuery:react.exports.useCallback(ft=>{try{return(at==null?void 0:at.query(ft))||[]}catch(mt){return console.warn(mt),mt.message="query error: "+mt.message,tt(mt),[]}},[at]),onSchedule:react.exports.useCallback((ft,mt)=>gt(ft,mt),[]),ready:!!at&&!!k}),ht=usePostMessage(({data:{from:ft,type:mt}})=>{mt==="start"&&ft!==d&&(lt.setStarted(!1),$(void 0))}),dt=react.exports.useCallback(async(ft=_)=>{if(k&&!pt){tt(void 0),lt.start();return}try{st(!0);const mt=await evaluate(ft);lt.start(),ht({type:"start",from:d}),ot(()=>mt.pattern),s&&(window.location.hash="#"+encodeURIComponent(btoa(_))),it(generateHash(_)),tt(void 0),$(ft),st(!1)}catch(mt){mt.message="evaluation error: "+mt.message,console.warn(mt),tt(mt)}},[k,pt,_,lt,s,d,ht]),gt=(ft,mt)=>{ft.length};return{pending:nt,code:_,setCode:b,pattern:at,error:et,cycle:lt,setPattern:ot,dirty:pt,log:j,togglePlay:()=>{lt.started?lt.stop():dt()},setActiveCode:$,activateCode:dt,activeCode:k,pushLog:ct,hash:rt}}function cx(...o){return o.filter(Boolean).join(" ")}let highlights=[],lastEnd;function useHighlighting({view:o,pattern:e,active:s}){react.exports.useEffect(()=>{if(o)if(e&&s){let c=function(){try{const d=Tone.getTransport().seconds,b=[Math.max(lastEnd||d,d-1/10),d+1/60];lastEnd=d+1/60,highlights=highlights.filter($=>$.whole.end>d);const k=e.queryArc(...b).filter($=>$.hasOnset());highlights=highlights.concat(k),o.dispatch({effects:setHighlights.of(highlights)})}catch{o.dispatch({effects:setHighlights.of([])})}a=requestAnimationFrame(c)},a=requestAnimationFrame(c);return()=>{cancelAnimationFrame(a)}}else highlights=[],o.dispatch({effects:setHighlights.of([])})},[e,s,o])}const container="_container_10e1g_1",header="_header_10e1g_5",buttons="_buttons_10e1g_9",button="_button_10e1g_9",buttonDisabled="_buttonDisabled_10e1g_17",error="_error_10e1g_21",body="_body_10e1g_25";var styles={container,header,buttons,button,buttonDisabled,error,body};function Icon({type:o}){return jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"sc-h-5 sc-w-5",viewBox:"0 0 20 20",fill:"currentColor",children:{refresh:jsx("path",{fillRule:"evenodd",d:"M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z",clipRule:"evenodd"}),play:jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z",clipRule:"evenodd"}),pause:jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zM7 8a1 1 0 012 0v4a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v4a1 1 0 102 0V8a1 1 0 00-1-1z",clipRule:"evenodd"})}[o]})}function MiniRepl$1({tune:o,defaultSynth:e,hideOutsideView:s=!1}){const{code:a,setCode:c,pattern:d,activateCode:_,error:b,cycle:k,dirty:$,togglePlay:j}=useRepl({tune:o,defaultSynth:e,autolink:!1}),[_e,et]=react.exports.useState(),[tt,nt]=useInView({threshold:.01}),st=react.exports.useRef(),rt=react.exports.useMemo(()=>((nt||!s)&&(st.current=!0),nt||st.current),[nt,s]);return useHighlighting({view:_e,pattern:d,active:k.started}),jsxs("div",{className:styles.container,ref:tt,children:[jsxs("div",{className:styles.header,children:[jsxs("div",{className:styles.buttons,children:[jsx("button",{className:cx(styles.button,k.started?"sc-animate-pulse":""),onClick:()=>j(),children:jsx(Icon,{type:k.started?"pause":"play"})}),jsx("button",{className:cx($?styles.button:styles.buttonDisabled),onClick:()=>_(),children:jsx(Icon,{type:"refresh"})})]}),b&&jsx("div",{className:styles.error,children:b.message})]}),jsx("div",{className:styles.body,children:rt&&jsx(CodeMirror,{value:a,onChange:c,onViewChanged:et})})]})}var WebDirtPacked={exports:{}};(function(o,e){(function(s,a){o.exports=a()})(self,()=>(()=>{var s={d:($,j)=>{for(var _e in j)s.o(j,_e)&&!s.o($,_e)&&Object.defineProperty($,_e,{enumerable:!0,get:j[_e]})},o:($,j)=>Object.prototype.hasOwnProperty.call($,j),r:$=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})}},a={};function c($,j){if(this.msg=$,this.ac=j.ac,this.sampleBank=j.sampleBank,this.outputNode=j.destination,this.cutGroups=j.cutGroups,this.eventCounter=j.eventCounter,this.audioOutputs=j.audioOutputs,this.workletsAvailable=j.workletsAvailable,typeof $.buffer=="object")this.bufferContainer=$.buffer;else{if(this.sampleBank==null)return void console.log("WebDirt: there is no sample bank, cancelling event");if(typeof this.sampleBank!="object")return void console.log("WebDirt: buffer not provided by calling application + no WebDirt sample bank");if(this.msg.n=parseInt(this.msg.n),isNaN(this.msg.n)&&(this.msg.n=0),!this.sampleBank.sampleNameExists(this.msg.s))return void console.log("WebDirt: no sample named "+this.msg.s+" exists in sample map");if(!this.sampleBank.getBufferMightSucceed(this.msg.s,this.msg.n))return}if(this.when=this.msg.when,isNaN(this.when))console.log("WebDirt: 'when' is null or not a number");else if(this.nudge=parseFloat(this.msg.nudge),isNaN(this.nudge)||(this.when=this.when+this.nudge),isNaN(parseFloat(this.msg.speed))&&(this.msg.speed=1),this.msg.speed!=0)if(isNaN(parseFloat(this.msg.note))&&(this.msg.note=0),this.msg.speed=this.msg.speed*Math.pow(2,this.msg.note/12),this.msg.begin=d(this.msg.begin,0),this.msg.end=d(this.msg.end,1),this.msg.end!=this.msg.begin){if(this.msg.begin>this.msg.end&&(this.msg.speed=-1*this.msg.speed),this.msg.speed<0&&(this.msg.begin=1-this.msg.begin,this.msg.end=1-this.msg.end),this.msg.begin>this.msg.end){let ht=this.msg.begin;this.msg.begin=this.msg.end,this.msg.end=ht}var _e;if(this.source=_e=this.ac.createBufferSource(),this.source.onended=this.disconnectHandler(),this.disconnectOnEnd(this.source),this.source.playbackRate.value=Math.abs(this.msg.speed),this.prepareBuffer(),this.buffer!=null)this.source.buffer=this.buffer,this.start();else{var et=this,tt=1e3*(this.msg.when-this.ac.currentTime-.2);tt<=0&&(tt=1e3*(this.msg.when-this.ac.currentTime-.2)),tt>0&&setTimeout(function(){et.prepareBuffer(),et.buffer!=null?(et.source.buffer=et.buffer,et.start()):(console.log("WebDirt: unable to access sample "+$.s+":"+$.n+" on second attempt"),et.stopAll())},tt)}this.cut(this.msg.cut,this.msg.s),_e=this.shape(_e,this.msg.shape),_e=this.lowPassFilter(_e,this.msg.cutoff,this.msg.resonance),_e=this.highPassFilter(_e,this.msg.hcutoff,this.msg.hresonance),_e=this.bandPassFilter(_e,this.msg.bandf,this.msg.bandq),_e=this.vowel(_e,this.msg.vowel),_e=this.delay(_e,this.msg.delay,this.msg.delaytime,this.msg.delayfeedback),_e=this.loop(_e,this.msg.loop,this.msg.begin,this.msg.end,this.msg.speed),_e=this.crush(_e,this.msg.crush),_e=this.coarse(_e,this.msg.coarse),this.unit(this.msg.unit,this.msg.speed);var nt=parseFloat(this.msg.gain);isNaN(nt)&&(nt=1),nt>2&&(nt=2),nt<0&&(nt=0);var st=parseFloat(this.msg.overgain);isNaN(st)||(nt+=st),nt=Math.pow(nt,4);var rt,it,at,ot=parseFloat($.pan);if(isNaN(ot)&&(ot=.5),this.audioOutputs==2)(ot>1||ot<0)&&(ot-=Math.floor(ot)),rt=ot,it=0,at=1;else{var pt=(ot-=Math.floor(ot))*this.audioOutputs;(at=(it=Math.floor(pt))+1)>=this.audioOutputs&&(at=0),rt=pt-Math.floor(pt)}var ct=this.ac.createGain();this.disconnectOnEnd(ct);var ut=this.ac.createGain();this.disconnectOnEnd(ut),ct.gain.value=Math.cos(rt*Math.PI/2)*nt,ut.gain.value=Math.sin(rt*Math.PI/2)*nt,_e.connect(ct),_e.connect(ut),this.gain1=ct,this.gain2=ut;var lt=this.ac.createChannelMerger(this.audioOutputs);this.disconnectOnEnd(lt),ct.connect(lt,0,it),ut.connect(lt,0,at),lt.connect(this.outputNode)}else this.stopAll()}function d($,j){let _e=parseFloat($);return isNaN(_e)?j:_e>1?1:_e<0?0:_e}s.r(a),s.d(a,{WebDirt:()=>k}),c.prototype.prepareBuffer=function(){typeof this.bufferContainer=="object"?typeof this.bufferContainer.buffer=="object"&&(this.msg.speed>=0?this.buffer=this.bufferContainer.buffer:(typeof this.bufferContainer.reverseBuffer=="object"||(this.bufferContainer.reverseBuffer=reverseBuffer(this.ac,this.bufferContainer.buffer)),this.buffer=this.bufferContainer.reverseBuffer)):(this.msg.speed>=0?this.buffer=this.sampleBank.getBuffer(this.msg.s,this.msg.n):this.buffer=this.sampleBank.getReverseBuffer(this.msg.s,this.msg.n),this.buffer=this.accel(this.buffer,this.msg.accelerate,this.msg.speed))},c.prototype.disconnectOnEnd=function($){this.source.disconnectQueue==null&&(this.source.disconnectQueue=new Array),this.source.disconnectQueue.unshift($)},c.prototype.start=function(){let $=Math.abs(this.msg.speed),j=(this.msg.end-this.msg.begin)*this.source.buffer.duration/$,_e=this.msg.begin*this.source.buffer.duration;this.source.start(this.when,_e,j)},c.prototype.stopAll=function(){if(this.source!=null&&this.source.disconnectQueue!=null){for(var $=0;$1&&this.workletsAvailable){var _e=new AudioWorkletNode(this.ac,"coarse-processor");return _e.parameters.get("coarse").value=j,$.connect(_e),this.disconnectOnEnd(_e),_e}return $},c.prototype.crush=function($,j){if(j=parseInt(j),isNaN(j)&&(j=null),j!=null&&j>0&&this.workletsAvailable){var _e=new AudioWorkletNode(this.ac,"crush-processor");return _e.parameters.get("crush").value=j,$.connect(_e),this.disconnectOnEnd(_e),_e}return $},c.prototype.cut=function($,j){if($=parseInt($),!isNaN($)&&$!=0){for(var _e={cutGroup:$,node:this,sampleName:j},et=0;et2e4&&(j=2e4),isNaN(parseFloat(_e))&&(_e=0),_e<0&&(_e=0),_e>1&&(_e=1),_e=1/(_e=1-.999*(_e*=_e));var et=this.ac.createBiquadFilter();return this.disconnectOnEnd(et),et.type="highpass",et.frequency.value=j,et.Q.value=_e,$.connect(et),et},c.prototype.lowPassFilter=function($,j,_e){if(isNaN(parseFloat(j))&&isNaN(parseFloat(_e)))return $;isNaN(parseFloat(j))&&(j=440),j<20&&(j=20),j>2e4&&(j=2e4),isNaN(parseFloat(_e))&&(_e=0),_e<0&&(_e=0),_e>1&&(_e=1),_e=1/(_e=1-.999*(_e*=_e));var et=this.ac.createBiquadFilter();return this.disconnectOnEnd(et),et.type="lowpass",et.frequency.value=j,et.Q.value=_e,$.connect(et),et},c.prototype.bandPassFilter=function($,j,_e){if(isNaN(parseFloat(j))&&isNaN(parseFloat(_e)))return $;isNaN(parseFloat(j))&&(j=440),j<20&&(j=20),j>2e4&&(j=2e4),isNaN(parseFloat(_e))&&(_e=10),_e<1&&(_e=1),_e>100&&(_e=100);var et=this.ac.createBiquadFilter();return this.disconnectOnEnd(et),et.type="bandpass",et.frequency.value=j,et.Q.value=_e,et.gain.value=_e,$.connect(et),et},c.prototype.loop=function($,j){if(isNaN(parseInt(j))||j==0)return $;try{var _e=this.source.buffer.duration-this.msg.begin*this.source.buffer.duration-(1-this.msg.end)*this.source.buffer.duration;return this.source.loop=!0,this.source.loopStart=this.msg.begin*this.source.buffer.duration,this.source.loopEnd=this.msg.end*this.source.buffer.duration,this.source.stop(this.when+_e*j/this.source.playbackRate.value),$}catch{return console.log("WebDirt Warning: buffer data not yet available to calculate loop time - no looping applied"),$}},c.prototype.accelerate=function($,j){if(j=Math.abs(j),isNaN(parseFloat($))&&($=0),$!=0){$=parseFloat($),this.source.playbackRate.setValueAtTime(j,this.when);var _e=Math.abs((this.source.buffer.length*$/this.ac.sampleRate+j)/j),et=j+this.source.buffer.length*$/this.ac.sampleRate;if(et<0)this.source.buffer=this.negativeAccelerateBuffer(this.source.buffer,$,j),this.source.playbackRate.linearRampToValueAtTime(0,this.when+_e),this.source.playbackRate.linearRampToValueAtTime(1,this.when+this.source.buffer.duration);else try{this.source.playbackRate.linearRampToValueAtTime(et,this.when+this.source.buffer.duration)}catch{console.log("WebDirt: Warning, buffer data not loaded, could not apply acclerate effect")}}},c.prototype.negativeAccelerateBuffer=function($,j,_e){var et=$.length,tt=new Float32Array(et),nt=this.ac.createBuffer($.numberOfChannels,$.length,this.ac.sampleRate),st=new Float32Array(et),rt=Math.abs(_e/(_e-j))*et;rt=et*Math.abs((this.source.buffer.length*j/this.ac.sampleRate+_e)/_e)/this.source.buffer.duration,rt=Math.trunc(rt);for(var it=0;it<$.numberOfChannels;it++){$.copyFromChannel(tt,it,0);for(var at=0;at=1&&(j=.999),j>0&&this.workletsAvailable){var _e=new AudioWorkletNode(this.ac,"shape-processor");return _e.parameters.get("shape").value=j,$.connect(_e),this.disconnectOnEnd(_e),_e}return $},c.prototype.stop=function($){this.gain1.gain.setValueAtTime(this.gain1.gain.value,$),this.gain1.gain.linearRampToValueAtTime(0,$+.02),this.gain2.gain.setValueAtTime(this.gain1.gain.value,$),this.gain2.gain.linearRampToValueAtTime(0,$+.02)},c.prototype.unit=function($,j){$=="c"&&(this.source.playbackRate.value=this.source.playbackRate.value*this.source.buffer.duration)},c.prototype.vowel=function($,j){if(typeof j!="string")return $;if((j=j.toLowerCase())=="a"||j=="e"||j=="i"||j=="o"||j=="u"){var _e,et,tt,nt=this.ac.createGain();switch(this.disconnectOnEnd(nt),j){case"a":_e=_.a.freqs,et=_.a.qs,tt=_.a.amps;break;case"e":_e=_.e.freqs,et=_.e.qs,tt=_.e.amps;break;case"i":_e=_.i.freqs,et=_.i.qs,tt=_.i.amps;break;case"o":_e=_.o.freqs,et=_.o.qs,tt=_.o.amps;break;case"u":_e=_.u.freqs,et=_.u.qs,tt=_.u.amps}for(var st=0;st<5;st++){var rt=this.ac.createGain();this.disconnectOnEnd(rt),rt.gain.value=tt[st];var it=this.ac.createBiquadFilter();this.disconnectOnEnd(it),it.type="bandpass",it.Q.value=et[st]/8,it.frequency.value=_e[st],$.connect(it),it.connect(rt),rt.connect(nt)}return nt.gain.value=8,nt}return $};var _={a:{freqs:[660,1120,2750,3e3,3350],amps:[1,.5012,.0708,.0631,.0126],qs:[80,90,120,130,140]},e:{freqs:[440,1800,2700,3e3,3300],amps:[1,.1995,.1259,.1,.1],qs:[70,80,100,120,120]},i:{freqs:[270,1850,2900,3350,3590],amps:[1,.0631,.0631,.0158,.0158],qs:[40,90,100,120,120]},o:{freqs:[430,820,2700,3e3,3300],amps:[1,.3162,.0501,.0794,.01995],qs:[40,80,100,120,120]},u:{freqs:[370,630,2750,3e3,3400],amps:[1,.1,.0708,.0316,.01995],qs:[40,60,100,120,120]}};function b($,j,_e){this.STATUS_PRELOAD=0,this.STATUS_LOADING=1,this.STATUS_READY=2,this.STATUS_ERROR=3,this.sampleMapUrl=$,this.urlPrefix=j,this.samples={};var et=new XMLHttpRequest;et.open("GET",this.sampleMapUrl,!0),et.responseType="json";var tt=this;et.onload=function(){if(et.readyState!=4)throw Error("WebDirt: readyState != 4 in callback of sampleMap load");if(et.status!=200)throw Error("WebDirt: status != 200 in callback of sampleMap load");if(et.response==null)throw Error("WebDirt: JSON response null in callback of sampleMap load");tt.sampleMap=et.response,console.log("WebDirt: sampleMap loaded from "+tt.sampleMapUrl),typeof _e=="function"&&_e()},et.onerror=function(){console.log("WebDirt: unspecified error in loading of sampleMap from "+tt.sampleMapUrl)},et.send()}function k($){this.workletsAvailable=!1,$===void 0&&($={}),typeof $=="object"?(typeof $.sampleMapUrl=="string"?($.sampleFolder==null&&($.sampleFolder="samples"),console.log("WebDirt: will manage own sample bank, samplemap="+$.sampleMapUrl+" sampleFolder="+$.sampleFolder),this.sampleBank=new b($.sampleMapUrl,$.sampleFolder,$.readyCallback)):console.log("WebDirt: will expect application to provide sample buffers"),$.latency==null&&($.latency=.4),this.latency=$.latency,typeof $.maxLateness!="number"?this.maxLateness=.005:this.maxLateness=$.maxLateness,this.ac=$.audioContext,this.destination=$.destination,this.cutGroups=new Array,this.eventCounter=0,this.audioOutputs=2,this.ac==null?console.log("WebDirt: initialized (without audio context)"):this.destination==null?(this.destination=this.ac.destination,console.log("WebDirt: initialized with provided context")):console.log("WebDirt: initialized with provided context + destination")):console.log("WebDirt: unable to construct WebDirt object, arguments object not provided to constructor")}return b.prototype.loadAllNamed=function($){if(this.ac==null)throw Error("WebDirt: called SampleBank.loadAllNamed with null audio context");if(this.sampleMap==null)throw Error("WebDirt: SampleBank.loadAllNamed: sampleMap is null");if(this.sampleMap[$]!=null)for(var j=0;j{console.log("WebDirt: audio worklets added"),this.workletsAvailable=!0}).catch(j=>{console.log("WebDirt: error loading AudioWorklets.js: "+j),console.log("(WebDirt should still work but shape, coarse, and crush will have no effect)"),this.workletsAvailable=!1}):(console.log("WebDirt: browser does not support audio worklets"),console.log("(WebDirt should still work but shape, coarse, and crush will have no effect)"),this.workletsAvailable=!1),this.tempo={time:this.ac.currentTime,beats:0,bpm:30},this.clockDiff=Date.now()/1e3-this.ac.currentTime,this.sampleBank!=null&&(this.sampleBank.ac=this.ac),this.silentNote=this.ac.createOscillator(),this.silentNote.type="sine",this.silentNote.frequency.value=440,this.silentGain=this.ac.createGain(),this.silentGain.gain.value=0,this.silentNote.connect(this.silentGain),this.silentGain.connect(this.ac.destination),this.silentNote.start();var $=this;setTimeout(function(){$.silentGain.disconnect($.ac.destination),$.silentNote.disconnect($.silentGain),$.silentNote.stop(),$.silentGain=null,$.silentNote=null},500)}console.log("WebDirt: initializeWebAudio finished.")},k.prototype.playSample=function($,j){if(j==null&&(j=this.latency),$.whenPosix!=null&&($.when=$.whenPosix-(new Date().getTime()/1e3-this.ac.currentTime)),$.when==null&&($.when=this.ac.currentTime),$.when=$.when+j,typeof $.maxLateness!="number"&&($.maxLateness=this.maxLateness),this.ac.currentTime-$.when>$.maxLateness)return void console.log("WebDirt warning: dropping msg late by "+(this.ac.currentTime-$.when)+" seconds");let _e=new c($,this);return this.eventCounter++,_e},k.prototype.playScore=function($,j,_e){this.initializeWebAudio(),j==null&&(j=this.latency);for(var et=this.ac.currentTime,tt=0,nt=0;nt<$.length;nt++){var st=$[nt];st.when>tt&&(tt=st.when),st.when=st.when+et,st.s!=null&&(st.sample_name=st.s),st.n!=null&&(st.sample_n=st.n),this.playSample(st,j)}setTimeout(function(){typeof _e=="function"&&_e()},1e3*(tt+j))},k.prototype.playScoreWhenReady=function($,j,_e,et){this.initializeWebAudio(),j==null&&(j=this.latency);for(var tt=$.length,nt=0;nt<$.length;nt++){var st=$[nt],rt=this;st.s!=null&&(st.sample_name=st.s),st.n!=null&&(st.sample_n=st.n),this.sampleBank!=null&&this.sampleBank.load(st.sample_name,st.sample_n,function(){(tt-=1)<=0&&(rt.playScore($,j,et),typeof _e=="function"&&_e())})}},k.prototype.loadAndPlayScore=function($,j,_e,et){this.initializeWebAudio(),j==null&&(j=this.latency);var tt=new XMLHttpRequest;tt.open("GET",$,!0),tt.responseType="json";var nt=this;tt.onload=function(){if(tt.readyState!=4)throw Error("readyState != 4 in callback of loadAndPlayScore");if(tt.status!=200)throw Error("status != 200 in callback of loadAndPlayScore");if(tt.response==null)throw Error("JSON response null in callback of loadAndPlayScore");console.log("playing JSON score from "+$),nt.playScoreWhenReady(tt.response,j,_e,et)},tt.send()},k.prototype.renderAndPlayScore=function($,j,_e,et,tt,nt,st){this.initializeWebAudio(),tt==null&&(tt=this.latency),window.WebSocket=window.WebSocket||window.MozWebSocket,console.log("WebDirt.renderAndPlayScore: attempting websocket connection to "+$);var rt=new WebSocket($);rt.onerror=function(){console.log(" ERROR opening websocket connection to "+$)},rt.onopen=function(){console.log(" websocket connection to "+$+" established");try{var at='{"render":'+JSON.stringify(j)+',"cps":'+_e+',"cycles":'+et+"}";console.log(at),rt.send(at),console.log(" render request sent")}catch{console.log(" EXCEPTION during transmission of render request"),rt.close()}};var it=this;rt.onmessage=function(at){var ot=JSON.parse(at.data);if(!ot instanceof Array)return console.log(" WebDirt warning: rendering socket received non-array message"),console.log(typeof ot),void(globalX=ot);console.log(" received score from "+$),it.playScoreWhenReady(ot,tt,nt,st),console.log(" closing websocket connection to "+$),rt.close()}},k.prototype.subscribeToTidalSocket=function($,j){this.initializeWebAudio(),j==null&&(j=!1),window.WebSocket=window.WebSocket||window.MozWebSocket,console.log("WebDirt: attempting websocket connection to "+$),ws=new WebSocket($),ws.onopen=function(){console.log("websocket connection to tidalSocket opened")},ws.onerror=function(){console.log("ERROR opening websocket connection to tidalSocket")};var _e=this;ws.onmessage=function(et){if(et.data==null)throw Error("null data in tidalSocket onmessage handler");var tt=JSON.parse(et.data);if(tt.address==null)throw Error("received message from tidalSocket with no address: "+et.data);if(tt.address!="/play")throw Error("address of message from tidalSocket wasn't /play: "+et.data);if(tt.args.constructor!==Array)throw Error("ERROR: message from tidalSocket where args doesn't exist or isn't an array: "+et.data);if(tt.args.length!=30&&tt.args.length!=33)throw Error("ERROR: message from tidalSocket with "+tt.args.length+" args instead of 30 or 33: "+et.data);var nt={};nt.when=tt.args[0]+tt.args[1]/1e6+_e.clockDiff,nt.sample_name=tt.args[3],nt.begin=tt.args[5],nt.end=tt.args[6],nt.speed=tt.args[7],nt.pan=tt.args[8],nt.vowel=tt.args[10],nt.cutoff=tt.args[11],nt.resonance=tt.args[12],nt.accelerate=tt.args[13],nt.shape=tt.args[14],nt.gain=tt.args[16],nt.cut=tt.args[17],nt.delay=tt.args[18],nt.delaytime=tt.args[19],nt.delayfeedback=tt.args[20],nt.crush=tt.args[21],nt.coarse=tt.args[22],nt.hcutoff=tt.args[23],nt.hresonance=tt.args[24],nt.bandf=tt.args[25],nt.bandq=tt.args[26],nt.unit_name=tt.args[27],nt.sample_loop=tt.args[28],nt.sample_n=tt.args[29],tt.args.length==33&&(nt.attack=tt.args[30],nt.hold=tt.args[31],nt.release=tt.args[32]),_e.playSample(nt),j&&console.log(tt)}},k.prototype.getCurrentTime=function(){return this.ac.currentTime},k.prototype.syncWithEsp=function($){if(typeof EspClient=="function")if(this.espClient==null){this.espClient=new EspClient($,this.ac);var j=this;this.espClient.tempoCallback=function(_e){j.tempo=_e}}else this.espClient.setUrl($);else console.log("WebDirt ERROR: syncWithEsp called but EspClient does not exist")},k.prototype.setTempo=function($){if(typeof $.time!="number")throw Error("WebDirt: no time in setTempo");if(typeof $.beats!="number")throw Error("WebDirt: no beats in setTempo");if(typeof $.bpm!="number")throw Error("WebDirt: no bpm in setTempo");this.espClient!=null&&this.espClient.sendSetTempo($),this.tempo=$},k.prototype.sampleHint=function($){this.sampleBank!=null&&(console.log("WebDirt received sample hint: "+$),this.sampleBank.loadAllNamed($))},a})())})(WebDirtPacked);const bufferCache={},loadCache={},getCachedBuffer=o=>bufferCache[o],loadBuffer=(o,e)=>(loadCache[o]||(loadCache[o]=fetch(o).then(s=>s.arrayBuffer()).then(async s=>{const a=await e.decodeAudioData(s);return bufferCache[o]=a,a})),loadCache[o]),getLoadedBuffer=o=>bufferCache[o],githubCache={};let sampleCache={current:void 0};const loadGithubSamples=async(o,e)=>{const s="loadGithubSamples "+o,a=localStorage.getItem(s);if(a&&(console.log("[sampler]: loaded sample list from localstorage",o),githubCache[o]=JSON.parse(a)),githubCache[o])return sampleCache.current=githubCache[o],githubCache[o];console.log("[sampler]: fetching sample list from github",o);try{const[c,d,..._]=o.split("/"),b=`https://api.github.com/repos/${c}/${d}/contents`,k=await fetch(`${b}/${_.join("/")}`).then($=>$.json());githubCache[o]=(await Promise.all(k.map(async({name:$,path:j})=>({name:$,content:await fetch(`${b}/${j}`).then(_e=>_e.json()).catch(_e=>{console.error("could not load path",_e)})})))).filter(({content:$})=>!!$).reduce(($,{name:j,content:_e})=>wt(Ot({},$),{[(e==null?void 0:e(j))||j]:_e.map(({download_url:et})=>et)}),{})}catch(c){console.error("[sampler]: failed to fetch sample list from github",c);return}return sampleCache.current=githubCache[o],localStorage.setItem(s,JSON.stringify(sampleCache.current)),console.log("[sampler]: loaded samples:",sampleCache.current),githubCache[o]},samples=(o,e=o._base)=>{sampleCache.current=Ot(Ot({},sampleCache.current),Object.fromEntries(Object.entries(o).map(([s,a])=>[s,(typeof a=="string"?[a]:a).map(c=>(e+c).replace("github:","https://raw.githubusercontent.com/"))])))},resetLoadedSamples=()=>{sampleCache.current=void 0},getLoadedSamples$1=()=>sampleCache.current,{Pattern:Pattern$1}=strudel;let audioContext;const getAudioContext=()=>(audioContext||(audioContext=new AudioContext),audioContext),getFilter=(o,e,s)=>{const a=getAudioContext().createBiquadFilter();return a.type=o,a.frequency.value=e,a.Q.value=s,a},getADSR=(o,e,s,a,c,d,_)=>{const b=getAudioContext().createGain();return b.gain.setValueAtTime(0,d),b.gain.linearRampToValueAtTime(c,d+o),b.gain.linearRampToValueAtTime(s*c,d+o+e),b.gain.setValueAtTime(s*c,_),b.gain.linearRampToValueAtTime(0,_+a),b};Pattern$1.prototype.out=function(){return this.onTrigger(async(o,e,s)=>{const a=getAudioContext();o=a.currentTime+o-s;let{freq:c,s:d,n:_=0,gain:b=1,cutoff:k,resonance:$=1,hcutoff:j,hresonance:_e=1,bandf:et,bandq:tt=1,pan:nt,attack:st=.001,decay:rt=0,sustain:it=1,release:at=.001,speed:ot=1,begin:pt=0,end:ct=1}=e.value;const ut=[];if(!d||["sine","square","triangle","sawtooth"].includes(d)){!c&&typeof _=="number"&&(c=fromMidi(_)),!c&&typeof _=="string"&&(c=fromMidi(toMidi(_)));const ht=a.createOscillator();ht.type=d||"triangle",ht.frequency.value=Number(c),ht.start(o),ht.stop(o+e.duration+at),ut.push(ht);const dt=a.createGain();dt.gain.value=.5,ut.push(dt);const gt=getADSR(st,rt,it,at,1,o,o+e.duration);ut.push(gt)}else{const ht=getLoadedSamples();if(!ht){console.warn("no samples loaded");return}if(ht==null?void 0:ht[d]){if(ot===0)return;if(!d){console.warn("no sample specified");return}const gt=ht[d],yt=gt[_%gt.length];let ft=await loadBuffer(yt,a);if(a.currentTime>o){console.warn("sample still loading:",d,_);return}const mt=a.createBufferSource();mt.buffer=ft,mt.playbackRate.value=Math.abs(ot);let Et=mt.buffer.duration;const vt=pt*Et;Et=(ct-pt)*Et/Math.abs(ot),mt.start(o,vt,Et),mt.stop(o+Et),ut.push(mt)}else{console.warn("sample not found:",d,"try one of "+Object.keys(ht));return}}if(k!==void 0&&ut.push(getFilter("lowpass",k,$)),j!==void 0&&ut.push(getFilter("highpass",j,_e)),et!==void 0&&ut.push(getFilter("bandpass",et,tt)),nt!==void 0){const ht=a.createStereoPanner();ht.pan.value=2*nt-1,ut.push(ht)}const lt=a.createGain();lt.gain.value=.8*b,ut.push(lt),ut.push(a.destination),ut.slice(1).reduce((ht,dt)=>ht.connect(dt),ut[0])})};const{Pattern}=strudel;let webDirt;function loadWebDirt(o){webDirt=new WebDirtPacked.exports.WebDirt(o),webDirt.initializeWebAudio()}Pattern.prototype.webdirt=function(){return this._withHap(o=>{const e=async(s,a,c)=>{if(!webDirt)throw new Error("WebDirt not initialized!");const d=s-c,j=a.value||{},{s:_,n:b=0}=j,k=ln(j,["s","n"]);_||console.warn('Pattern.webdirt: no "s" was set!');const $=getLoadedSamples$1();if(!($!=null&&$[_])){webDirt.playSample(Ot({s:_,n:b},k),d);return}if(!($!=null&&$[_]))console.warn(`Pattern.webdirt: sample "${_}" not found in loaded samples`,$);else{const _e=$[_],et=_e[b%_e.length],tt=getLoadedBuffer(et);if(!tt)console.log(`Pattern.webdirt: load ${_}:${b} from ${et}`),loadBuffer(et,webDirt.ac);else{const nt=Ot({buffer:{buffer:tt}},k);webDirt.playSample(nt,d)}}};return o.setContext(wt(Ot({},o.context),{onTrigger:e}))})};const defaultSynth=new Tone.PolySynth().chain(new Tone.Gain(.5),Tone.Destination).set({oscillator:{type:"triangle"},envelope:{release:.01}});evalScope(Tone,controls,__vitePreload(()=>Promise.resolve().then(function(){return strudel}),void 0),__vitePreload(()=>import("./index.1d9d7c3e.js"),[]),__vitePreload(()=>import("./index.8169e477.js"),[]),__vitePreload(()=>import("./index.38fb2b45.js"),[]),__vitePreload(()=>import("./index.3dd4bc5d.js"),[]),__vitePreload(()=>import("./index.4d063da6.js"),[]),__vitePreload(()=>import("./index.984b93b0.js"),[]),__vitePreload(()=>import("./osc.1eeee8f2.js"),[]),__vitePreload(()=>import("./index.33333a02.js"),[]));loadWebDirt({sampleMapUrl:"../EmuSP12.json",sampleFolder:"../EmuSP12"});function MiniRepl({tune:o}){return jsx(MiniRepl$1,{tune:o,defaultSynth,hideOutsideView:!0})}const layoutProps={},MDXLayout="wrapper";function MDXContent(s){var a=s,{components:o}=a,e=ln(a,["components"]);return createElement(MDXLayout,wt(Ot(Ot({},layoutProps),e),{components:o,mdxType:"MDXLayout"}),createElement("h1",{id:"table-of-contents"},createElement("a",{parentName:"h1","aria-hidden":"true",tabIndex:-1,href:"#table-of-contents"},createElement("span",{parentName:"a",className:"icon icon-link"})),"Table of Contents"),createElement("ul",null,createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#what-is-strudel"},"What is Strudel?")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#show-me-a-demo"},"Show me a Demo")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#disclaimer"},"Disclaimer")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#mini-notation"},"Mini Notation")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#notes"},"Notes")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#sequences"},"Sequences")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#division"},"Division")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#angle-brackets"},"Angle Brackets")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#multiplication"},"Multiplication")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#bracket-nesting"},"Bracket Nesting")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#rests"},"Rests")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#parallel"},"Parallel")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#elongation"},"Elongation")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#replication"},"Replication")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#mini-notation-todo"},"Mini Notation TODO")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#core-api"},"Core API")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#notes-1"},"Notes"))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#functions-that-create-patterns"},"Functions that create Patterns"))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#purevalue"},"pure(value)")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#catvalues"},"cat(...values)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#seqvalues"},"seq(...values)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#stackvalues"},"stack(...values)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#nesting-functions"},"Nesting functions")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#timecatweightvalue"},"timeCat(...","weight,value",")")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#polyrhythmvalues"},"polyrhythm(...","...values",")")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#pattern-modifier-functions"},"Pattern modifier functions")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#slowfactor"},"slow(factor)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#fastfactor"},"fast(factor)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#earlycycles"},"early(cycles)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#latecycles"},"late(cycles)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#rev"},"rev()")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#everyn-func"},"every(n, func)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#addn"},"add(n)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#subn"},"sub(n)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#muln"},"mul(n)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#divn"},"div(n)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#round"},"round()")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#structbinary_pat"},"struct(binary_pat)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#whenbinary_pat-func"},"when(binary_pat, func)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#superimposefunc"},"superimpose(...func)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#layerfunc"},"layer(...func)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#applyfunc"},"apply(func)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#offtime-func"},"off(time, func)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#appendpat"},"append(pat)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#stackpat"},"stack(pat)")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#tone-api"},"Tone API")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#toneinstrument"},"tone(instrument)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#sampler"},"sampler")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#players"},"players")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#out"},"out")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#volvolume"},"vol(volume)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#osctype"},"osc(type)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#lowpasscutoff"},"lowpass(cutoff)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#highpasscutoff"},"highpass(cutoff)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#adsr"},"adsr")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#tonal-api"},"Tonal API")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#transposesemitones"},"transpose(semitones)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#scalename"},"scale(name)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#scaletransposesteps"},"scaleTranspose(steps)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#voicingsrange"},"voicings(range?)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#rootnotesoctave--2"},"rootNotes(octave = 2)")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#microtonal-api"},"Microtonal API"))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#midi-api"},"MIDI API")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#midioutputname"},"midi(outputName?)")))))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#contributing"},"Contributing"))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#api-docs"},"API Docs")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#pattern-factories"},"Pattern Factories")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#pure"},"pure")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#slowcat"},"slowcat")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#fastcat"},"fastcat")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#stack"},"stack")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#timecat"},"timeCat")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#pattern-modifiers"},"Pattern Modifiers")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#patternslow"},"Pattern.slow")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#patternfast"},"Pattern.fast")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#continuous-signals"},"Continuous Signals")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#saw"},"saw")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#sine"},"sine")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#cosine"},"cosine")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#tri"},"tri")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#square"},"square")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#using-samples-with-webdirt"},"Using Samples with Webdirt")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#patternwebdirt"},"Pattern.webdirt")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#using-superdirt-via-osc"},"Using Superdirt via OSC")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#getting-started"},"Getting Started")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#usage"},"Usage")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#patternosc"},"Pattern.osc")))))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#superdirt-params"},"Superdirt Params")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#basic-types"},"Basic Types")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#s"},"s")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#n"},"n")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#freq"},"freq")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#channel"},"channel")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#orbit"},"orbit")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#filters"},"Filters")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#cutoff"},"cutoff")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#resonance"},"resonance")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#hcutoff"},"hcutoff")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#hresonance"},"hresonance")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#bandf"},"bandf")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#bandq"},"bandq")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#djf"},"djf")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#vowel"},"vowel")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#sample-editing"},"Sample Editing")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#cut"},"cut")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#begin"},"begin")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#end"},"end")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#loop"},"loop")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#speed"},"speed")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#unit"},"unit")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#audio-effects"},"Audio Effects")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#gain"},"gain")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#amp"},"amp")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#accelerate"},"accelerate")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#crush"},"crush")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#coarse"},"coarse")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#leslie"},"leslie")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#lrate"},"lrate")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#lsize"},"lsize")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#pan"},"pan")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#room"},"room")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#size"},"size")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#dry"},"dry")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#shape"},"shape")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#squiz"},"squiz")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#synth-effects"},"Synth Effects")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#octave"},"octave")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#detune"},"detune"))))))),createElement("h1",{id:"what-is-strudel"},createElement("a",{parentName:"h1","aria-hidden":"true",tabIndex:-1,href:"#what-is-strudel"},createElement("span",{parentName:"a",className:"icon icon-link"})),"What is Strudel?"),createElement("p",null,`With Strudel, you can expressively write dynamic music pieces. +`:""}${ft}`),[]),ut=react.exports.useMemo(()=>{if(k&&!k.includes("strudel disable-highlighting"))return(ft,mt)=>c==null?void 0:c(ft,mt,k)},[k,c]),lt=useCycle({onDraw:ut,onEvent:react.exports.useCallback((ft,mt,Et)=>{var vt;try{a==null||a(mt),(vt=mt.context.logs)!=null&&vt.length&&mt.context.logs.forEach(ct);const{onTrigger:At,velocity:_t}=mt.context;if(At)At(ft,mt,Et,1,mt.wholeOrPart().begin.valueOf(),mt.duration.valueOf());else if(e){const Dt=getPlayableNoteValue(mt);e.triggerAttackRelease(Dt,mt.duration.valueOf(),ft,_t)}else throw new Error("no defaultSynth passed to useRepl.")}catch(At){console.warn(At),At.message="unplayable event: "+(At==null?void 0:At.message),ct(At.message)}},[a,ct,e]),onQuery:react.exports.useCallback(ft=>{try{return(at==null?void 0:at.query(ft))||[]}catch(mt){return console.warn(mt),mt.message="query error: "+mt.message,tt(mt),[]}},[at]),onSchedule:react.exports.useCallback((ft,mt)=>gt(ft,mt),[]),ready:!!at&&!!k}),ht=usePostMessage(({data:{from:ft,type:mt}})=>{mt==="start"&&ft!==d&&(lt.setStarted(!1),$(void 0))}),dt=react.exports.useCallback(async(ft=_)=>{if(k&&!pt){tt(void 0),lt.start();return}try{it(!0);const mt=await evaluate(ft);lt.start(),ht({type:"start",from:d}),ot(()=>mt.pattern),s&&(window.location.hash="#"+encodeURIComponent(btoa(_))),st(generateHash(_)),tt(void 0),$(ft),it(!1)}catch(mt){mt.message="evaluation error: "+mt.message,console.warn(mt),tt(mt)}},[k,pt,_,lt,s,d,ht]),gt=(ft,mt)=>{ft.length};return{pending:nt,code:_,setCode:b,pattern:at,error:et,cycle:lt,setPattern:ot,dirty:pt,log:j,togglePlay:()=>{lt.started?lt.stop():dt()},setActiveCode:$,activateCode:dt,activeCode:k,pushLog:ct,hash:rt}}function cx(...o){return o.filter(Boolean).join(" ")}let highlights=[],lastEnd;function useHighlighting({view:o,pattern:e,active:s}){react.exports.useEffect(()=>{if(o)if(e&&s){let c=function(){try{const d=Tone.getTransport().seconds,b=[Math.max(lastEnd||d,d-1/10),d+1/60];lastEnd=d+1/60,highlights=highlights.filter($=>$.whole.end>d);const k=e.queryArc(...b).filter($=>$.hasOnset());highlights=highlights.concat(k),o.dispatch({effects:setHighlights.of(highlights)})}catch{o.dispatch({effects:setHighlights.of([])})}a=requestAnimationFrame(c)},a=requestAnimationFrame(c);return()=>{cancelAnimationFrame(a)}}else highlights=[],o.dispatch({effects:setHighlights.of([])})},[e,s,o])}const container="_container_10e1g_1",header="_header_10e1g_5",buttons="_buttons_10e1g_9",button="_button_10e1g_9",buttonDisabled="_buttonDisabled_10e1g_17",error="_error_10e1g_21",body="_body_10e1g_25";var styles={container,header,buttons,button,buttonDisabled,error,body};function Icon({type:o}){return jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"sc-h-5 sc-w-5",viewBox:"0 0 20 20",fill:"currentColor",children:{refresh:jsx("path",{fillRule:"evenodd",d:"M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z",clipRule:"evenodd"}),play:jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z",clipRule:"evenodd"}),pause:jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zM7 8a1 1 0 012 0v4a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v4a1 1 0 102 0V8a1 1 0 00-1-1z",clipRule:"evenodd"})}[o]})}function MiniRepl$1({tune:o,defaultSynth:e,hideOutsideView:s=!1}){const{code:a,setCode:c,pattern:d,activateCode:_,error:b,cycle:k,dirty:$,togglePlay:j}=useRepl({tune:o,defaultSynth:e,autolink:!1}),[_e,et]=react.exports.useState(),[tt,nt]=useInView({threshold:.01}),it=react.exports.useRef(),rt=react.exports.useMemo(()=>((nt||!s)&&(it.current=!0),nt||it.current),[nt,s]);return useHighlighting({view:_e,pattern:d,active:k.started}),jsxs("div",{className:styles.container,ref:tt,children:[jsxs("div",{className:styles.header,children:[jsxs("div",{className:styles.buttons,children:[jsx("button",{className:cx(styles.button,k.started?"sc-animate-pulse":""),onClick:()=>j(),children:jsx(Icon,{type:k.started?"pause":"play"})}),jsx("button",{className:cx($?styles.button:styles.buttonDisabled),onClick:()=>_(),children:jsx(Icon,{type:"refresh"})})]}),b&&jsx("div",{className:styles.error,children:b.message})]}),jsx("div",{className:styles.body,children:rt&&jsx(CodeMirror,{value:a,onChange:c,onViewChanged:et})})]})}var WebDirtPacked={exports:{}};(function(o,e){(function(s,a){o.exports=a()})(self,()=>(()=>{var s={d:($,j)=>{for(var _e in j)s.o(j,_e)&&!s.o($,_e)&&Object.defineProperty($,_e,{enumerable:!0,get:j[_e]})},o:($,j)=>Object.prototype.hasOwnProperty.call($,j),r:$=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})}},a={};function c($,j){if(this.msg=$,this.ac=j.ac,this.sampleBank=j.sampleBank,this.outputNode=j.destination,this.cutGroups=j.cutGroups,this.eventCounter=j.eventCounter,this.audioOutputs=j.audioOutputs,this.workletsAvailable=j.workletsAvailable,typeof $.buffer=="object")this.bufferContainer=$.buffer;else{if(this.sampleBank==null)return void console.log("WebDirt: there is no sample bank, cancelling event");if(typeof this.sampleBank!="object")return void console.log("WebDirt: buffer not provided by calling application + no WebDirt sample bank");if(this.msg.n=parseInt(this.msg.n),isNaN(this.msg.n)&&(this.msg.n=0),!this.sampleBank.sampleNameExists(this.msg.s))return void console.log("WebDirt: no sample named "+this.msg.s+" exists in sample map");if(!this.sampleBank.getBufferMightSucceed(this.msg.s,this.msg.n))return}if(this.when=this.msg.when,isNaN(this.when))console.log("WebDirt: 'when' is null or not a number");else if(this.nudge=parseFloat(this.msg.nudge),isNaN(this.nudge)||(this.when=this.when+this.nudge),isNaN(parseFloat(this.msg.speed))&&(this.msg.speed=1),this.msg.speed!=0)if(isNaN(parseFloat(this.msg.note))&&(this.msg.note=0),this.msg.speed=this.msg.speed*Math.pow(2,this.msg.note/12),this.msg.begin=d(this.msg.begin,0),this.msg.end=d(this.msg.end,1),this.msg.end!=this.msg.begin){if(this.msg.begin>this.msg.end&&(this.msg.speed=-1*this.msg.speed),this.msg.speed<0&&(this.msg.begin=1-this.msg.begin,this.msg.end=1-this.msg.end),this.msg.begin>this.msg.end){let ht=this.msg.begin;this.msg.begin=this.msg.end,this.msg.end=ht}var _e;if(this.source=_e=this.ac.createBufferSource(),this.source.onended=this.disconnectHandler(),this.disconnectOnEnd(this.source),this.source.playbackRate.value=Math.abs(this.msg.speed),this.prepareBuffer(),this.buffer!=null)this.source.buffer=this.buffer,this.start();else{var et=this,tt=1e3*(this.msg.when-this.ac.currentTime-.2);tt<=0&&(tt=1e3*(this.msg.when-this.ac.currentTime-.2)),tt>0&&setTimeout(function(){et.prepareBuffer(),et.buffer!=null?(et.source.buffer=et.buffer,et.start()):(console.log("WebDirt: unable to access sample "+$.s+":"+$.n+" on second attempt"),et.stopAll())},tt)}this.cut(this.msg.cut,this.msg.s),_e=this.shape(_e,this.msg.shape),_e=this.lowPassFilter(_e,this.msg.cutoff,this.msg.resonance),_e=this.highPassFilter(_e,this.msg.hcutoff,this.msg.hresonance),_e=this.bandPassFilter(_e,this.msg.bandf,this.msg.bandq),_e=this.vowel(_e,this.msg.vowel),_e=this.delay(_e,this.msg.delay,this.msg.delaytime,this.msg.delayfeedback),_e=this.loop(_e,this.msg.loop,this.msg.begin,this.msg.end,this.msg.speed),_e=this.crush(_e,this.msg.crush),_e=this.coarse(_e,this.msg.coarse),this.unit(this.msg.unit,this.msg.speed);var nt=parseFloat(this.msg.gain);isNaN(nt)&&(nt=1),nt>2&&(nt=2),nt<0&&(nt=0);var it=parseFloat(this.msg.overgain);isNaN(it)||(nt+=it),nt=Math.pow(nt,4);var rt,st,at,ot=parseFloat($.pan);if(isNaN(ot)&&(ot=.5),this.audioOutputs==2)(ot>1||ot<0)&&(ot-=Math.floor(ot)),rt=ot,st=0,at=1;else{var pt=(ot-=Math.floor(ot))*this.audioOutputs;(at=(st=Math.floor(pt))+1)>=this.audioOutputs&&(at=0),rt=pt-Math.floor(pt)}var ct=this.ac.createGain();this.disconnectOnEnd(ct);var ut=this.ac.createGain();this.disconnectOnEnd(ut),ct.gain.value=Math.cos(rt*Math.PI/2)*nt,ut.gain.value=Math.sin(rt*Math.PI/2)*nt,_e.connect(ct),_e.connect(ut),this.gain1=ct,this.gain2=ut;var lt=this.ac.createChannelMerger(this.audioOutputs);this.disconnectOnEnd(lt),ct.connect(lt,0,st),ut.connect(lt,0,at),lt.connect(this.outputNode)}else this.stopAll()}function d($,j){let _e=parseFloat($);return isNaN(_e)?j:_e>1?1:_e<0?0:_e}s.r(a),s.d(a,{WebDirt:()=>k}),c.prototype.prepareBuffer=function(){typeof this.bufferContainer=="object"?typeof this.bufferContainer.buffer=="object"&&(this.msg.speed>=0?this.buffer=this.bufferContainer.buffer:(typeof this.bufferContainer.reverseBuffer=="object"||(this.bufferContainer.reverseBuffer=this.reverseBuffer(this.ac,this.bufferContainer.buffer)),this.buffer=this.bufferContainer.reverseBuffer)):(this.msg.speed>=0?this.buffer=this.sampleBank.getBuffer(this.msg.s,this.msg.n):this.buffer=this.sampleBank.getReverseBuffer(this.msg.s,this.msg.n),this.buffer=this.accel(this.buffer,this.msg.accelerate,this.msg.speed))},c.prototype.disconnectOnEnd=function($){this.source.disconnectQueue==null&&(this.source.disconnectQueue=new Array),this.source.disconnectQueue.unshift($)},c.prototype.start=function(){let $=Math.abs(this.msg.speed),j=(this.msg.end-this.msg.begin)*this.source.buffer.duration/$,_e=this.msg.begin*this.source.buffer.duration;this.source.start(this.when,_e,j)},c.prototype.stopAll=function(){if(this.source!=null&&this.source.disconnectQueue!=null){for(var $=0;$1&&this.workletsAvailable){var _e=new AudioWorkletNode(this.ac,"coarse-processor");return _e.parameters.get("coarse").value=j,$.connect(_e),this.disconnectOnEnd(_e),_e}return $},c.prototype.crush=function($,j){if(j=parseInt(j),isNaN(j)&&(j=null),j!=null&&j>0&&this.workletsAvailable){var _e=new AudioWorkletNode(this.ac,"crush-processor");return _e.parameters.get("crush").value=j,$.connect(_e),this.disconnectOnEnd(_e),_e}return $},c.prototype.cut=function($,j){if($=parseInt($),!isNaN($)&&$!=0){for(var _e={cutGroup:$,node:this,sampleName:j},et=0;et2e4&&(j=2e4),isNaN(parseFloat(_e))&&(_e=0),_e<0&&(_e=0),_e>1&&(_e=1),_e=1/(_e=1-.999*(_e*=_e));var et=this.ac.createBiquadFilter();return this.disconnectOnEnd(et),et.type="highpass",et.frequency.value=j,et.Q.value=_e,$.connect(et),et},c.prototype.lowPassFilter=function($,j,_e){if(isNaN(parseFloat(j))&&isNaN(parseFloat(_e)))return $;isNaN(parseFloat(j))&&(j=440),j<20&&(j=20),j>2e4&&(j=2e4),isNaN(parseFloat(_e))&&(_e=0),_e<0&&(_e=0),_e>1&&(_e=1),_e=1/(_e=1-.999*(_e*=_e));var et=this.ac.createBiquadFilter();return this.disconnectOnEnd(et),et.type="lowpass",et.frequency.value=j,et.Q.value=_e,$.connect(et),et},c.prototype.bandPassFilter=function($,j,_e){if(isNaN(parseFloat(j))&&isNaN(parseFloat(_e)))return $;isNaN(parseFloat(j))&&(j=440),j<20&&(j=20),j>2e4&&(j=2e4),isNaN(parseFloat(_e))&&(_e=10),_e<1&&(_e=1),_e>100&&(_e=100);var et=this.ac.createBiquadFilter();return this.disconnectOnEnd(et),et.type="bandpass",et.frequency.value=j,et.Q.value=_e,et.gain.value=_e,$.connect(et),et},c.prototype.loop=function($,j){if(isNaN(parseInt(j))||j==0)return $;try{var _e=this.source.buffer.duration-this.msg.begin*this.source.buffer.duration-(1-this.msg.end)*this.source.buffer.duration;return this.source.loop=!0,this.source.loopStart=this.msg.begin*this.source.buffer.duration,this.source.loopEnd=this.msg.end*this.source.buffer.duration,this.source.stop(this.when+_e*j/this.source.playbackRate.value),$}catch{return console.log("WebDirt Warning: buffer data not yet available to calculate loop time - no looping applied"),$}},c.prototype.accelerate=function($,j){if(j=Math.abs(j),isNaN(parseFloat($))&&($=0),$!=0){$=parseFloat($),this.source.playbackRate.setValueAtTime(j,this.when);var _e=Math.abs((this.source.buffer.length*$/this.ac.sampleRate+j)/j),et=j+this.source.buffer.length*$/this.ac.sampleRate;if(et<0)this.source.buffer=this.negativeAccelerateBuffer(this.source.buffer,$,j),this.source.playbackRate.linearRampToValueAtTime(0,this.when+_e),this.source.playbackRate.linearRampToValueAtTime(1,this.when+this.source.buffer.duration);else try{this.source.playbackRate.linearRampToValueAtTime(et,this.when+this.source.buffer.duration)}catch{console.log("WebDirt: Warning, buffer data not loaded, could not apply acclerate effect")}}},c.prototype.negativeAccelerateBuffer=function($,j,_e){var et=$.length,tt=new Float32Array(et),nt=this.ac.createBuffer($.numberOfChannels,$.length,this.ac.sampleRate),it=new Float32Array(et),rt=Math.abs(_e/(_e-j))*et;rt=et*Math.abs((this.source.buffer.length*j/this.ac.sampleRate+_e)/_e)/this.source.buffer.duration,rt=Math.trunc(rt);for(var st=0;st<$.numberOfChannels;st++){$.copyFromChannel(tt,st,0);for(var at=0;at=1&&(j=.999),j>0&&this.workletsAvailable){var _e=new AudioWorkletNode(this.ac,"shape-processor");return _e.parameters.get("shape").value=j,$.connect(_e),this.disconnectOnEnd(_e),_e}return $},c.prototype.stop=function($){this.gain1.gain.setValueAtTime(this.gain1.gain.value,$),this.gain1.gain.linearRampToValueAtTime(0,$+.02),this.gain2.gain.setValueAtTime(this.gain1.gain.value,$),this.gain2.gain.linearRampToValueAtTime(0,$+.02)},c.prototype.unit=function($,j){$=="c"&&(this.source.playbackRate.value=this.source.playbackRate.value*this.source.buffer.duration)},c.prototype.vowel=function($,j){if(typeof j!="string")return $;if((j=j.toLowerCase())=="a"||j=="e"||j=="i"||j=="o"||j=="u"){var _e,et,tt,nt=this.ac.createGain();switch(this.disconnectOnEnd(nt),j){case"a":_e=_.a.freqs,et=_.a.qs,tt=_.a.amps;break;case"e":_e=_.e.freqs,et=_.e.qs,tt=_.e.amps;break;case"i":_e=_.i.freqs,et=_.i.qs,tt=_.i.amps;break;case"o":_e=_.o.freqs,et=_.o.qs,tt=_.o.amps;break;case"u":_e=_.u.freqs,et=_.u.qs,tt=_.u.amps}for(var it=0;it<5;it++){var rt=this.ac.createGain();this.disconnectOnEnd(rt),rt.gain.value=tt[it];var st=this.ac.createBiquadFilter();this.disconnectOnEnd(st),st.type="bandpass",st.Q.value=et[it]/8,st.frequency.value=_e[it],$.connect(st),st.connect(rt),rt.connect(nt)}return nt.gain.value=8,nt}return $},c.prototype.reverseBuffer=function($,j){for(var _e=j.length,et=new Float32Array(_e),tt=$.createBuffer(j.numberOfChannels,j.length,$.sampleRate),nt=new Float32Array(_e),it=0;it{console.log("WebDirt: audio worklets added"),this.workletsAvailable=!0}).catch(j=>{console.log("WebDirt: error loading AudioWorklets.js: "+j),console.log("(WebDirt should still work but shape, coarse, and crush will have no effect)"),this.workletsAvailable=!1}):(console.log("WebDirt: browser does not support audio worklets"),console.log("(WebDirt should still work but shape, coarse, and crush will have no effect)"),this.workletsAvailable=!1),this.tempo={time:this.ac.currentTime,beats:0,bpm:30},this.clockDiff=Date.now()/1e3-this.ac.currentTime,this.sampleBank!=null&&(this.sampleBank.ac=this.ac),this.silentNote=this.ac.createOscillator(),this.silentNote.type="sine",this.silentNote.frequency.value=440,this.silentGain=this.ac.createGain(),this.silentGain.gain.value=0,this.silentNote.connect(this.silentGain),this.silentGain.connect(this.ac.destination),this.silentNote.start();var $=this;setTimeout(function(){$.silentGain.disconnect($.ac.destination),$.silentNote.disconnect($.silentGain),$.silentNote.stop(),$.silentGain=null,$.silentNote=null},500)}console.log("WebDirt: initializeWebAudio finished.")},k.prototype.playSample=function($,j){if(j==null&&(j=this.latency),$.whenPosix!=null&&($.when=$.whenPosix-(new Date().getTime()/1e3-this.ac.currentTime)),$.when==null&&($.when=this.ac.currentTime),$.when=$.when+j,typeof $.maxLateness!="number"&&($.maxLateness=this.maxLateness),this.ac.currentTime-$.when>$.maxLateness)return void console.log("WebDirt warning: dropping msg late by "+(this.ac.currentTime-$.when)+" seconds");let _e=new c($,this);return this.eventCounter++,_e},k.prototype.playScore=function($,j,_e){this.initializeWebAudio(),j==null&&(j=this.latency);for(var et=this.ac.currentTime,tt=0,nt=0;nt<$.length;nt++){var it=$[nt];it.when>tt&&(tt=it.when),it.when=it.when+et,it.s!=null&&(it.sample_name=it.s),it.n!=null&&(it.sample_n=it.n),this.playSample(it,j)}setTimeout(function(){typeof _e=="function"&&_e()},1e3*(tt+j))},k.prototype.playScoreWhenReady=function($,j,_e,et){this.initializeWebAudio(),j==null&&(j=this.latency);for(var tt=$.length,nt=0;nt<$.length;nt++){var it=$[nt],rt=this;it.s!=null&&(it.sample_name=it.s),it.n!=null&&(it.sample_n=it.n),this.sampleBank!=null&&this.sampleBank.load(it.sample_name,it.sample_n,function(){(tt-=1)<=0&&(rt.playScore($,j,et),typeof _e=="function"&&_e())})}},k.prototype.loadAndPlayScore=function($,j,_e,et){this.initializeWebAudio(),j==null&&(j=this.latency);var tt=new XMLHttpRequest;tt.open("GET",$,!0),tt.responseType="json";var nt=this;tt.onload=function(){if(tt.readyState!=4)throw Error("readyState != 4 in callback of loadAndPlayScore");if(tt.status!=200)throw Error("status != 200 in callback of loadAndPlayScore");if(tt.response==null)throw Error("JSON response null in callback of loadAndPlayScore");console.log("playing JSON score from "+$),nt.playScoreWhenReady(tt.response,j,_e,et)},tt.send()},k.prototype.renderAndPlayScore=function($,j,_e,et,tt,nt,it){this.initializeWebAudio(),tt==null&&(tt=this.latency),window.WebSocket=window.WebSocket||window.MozWebSocket,console.log("WebDirt.renderAndPlayScore: attempting websocket connection to "+$);var rt=new WebSocket($);rt.onerror=function(){console.log(" ERROR opening websocket connection to "+$)},rt.onopen=function(){console.log(" websocket connection to "+$+" established");try{var at='{"render":'+JSON.stringify(j)+',"cps":'+_e+',"cycles":'+et+"}";console.log(at),rt.send(at),console.log(" render request sent")}catch{console.log(" EXCEPTION during transmission of render request"),rt.close()}};var st=this;rt.onmessage=function(at){var ot=JSON.parse(at.data);if(!ot instanceof Array)return console.log(" WebDirt warning: rendering socket received non-array message"),console.log(typeof ot),void(globalX=ot);console.log(" received score from "+$),st.playScoreWhenReady(ot,tt,nt,it),console.log(" closing websocket connection to "+$),rt.close()}},k.prototype.subscribeToTidalSocket=function($,j){this.initializeWebAudio(),j==null&&(j=!1),window.WebSocket=window.WebSocket||window.MozWebSocket,console.log("WebDirt: attempting websocket connection to "+$),ws=new WebSocket($),ws.onopen=function(){console.log("websocket connection to tidalSocket opened")},ws.onerror=function(){console.log("ERROR opening websocket connection to tidalSocket")};var _e=this;ws.onmessage=function(et){if(et.data==null)throw Error("null data in tidalSocket onmessage handler");var tt=JSON.parse(et.data);if(tt.address==null)throw Error("received message from tidalSocket with no address: "+et.data);if(tt.address!="/play")throw Error("address of message from tidalSocket wasn't /play: "+et.data);if(tt.args.constructor!==Array)throw Error("ERROR: message from tidalSocket where args doesn't exist or isn't an array: "+et.data);if(tt.args.length!=30&&tt.args.length!=33)throw Error("ERROR: message from tidalSocket with "+tt.args.length+" args instead of 30 or 33: "+et.data);var nt={};nt.when=tt.args[0]+tt.args[1]/1e6+_e.clockDiff,nt.sample_name=tt.args[3],nt.begin=tt.args[5],nt.end=tt.args[6],nt.speed=tt.args[7],nt.pan=tt.args[8],nt.vowel=tt.args[10],nt.cutoff=tt.args[11],nt.resonance=tt.args[12],nt.accelerate=tt.args[13],nt.shape=tt.args[14],nt.gain=tt.args[16],nt.cut=tt.args[17],nt.delay=tt.args[18],nt.delaytime=tt.args[19],nt.delayfeedback=tt.args[20],nt.crush=tt.args[21],nt.coarse=tt.args[22],nt.hcutoff=tt.args[23],nt.hresonance=tt.args[24],nt.bandf=tt.args[25],nt.bandq=tt.args[26],nt.unit_name=tt.args[27],nt.sample_loop=tt.args[28],nt.sample_n=tt.args[29],tt.args.length==33&&(nt.attack=tt.args[30],nt.hold=tt.args[31],nt.release=tt.args[32]),_e.playSample(nt),j&&console.log(tt)}},k.prototype.getCurrentTime=function(){return this.ac.currentTime},k.prototype.syncWithEsp=function($){if(typeof EspClient=="function")if(this.espClient==null){this.espClient=new EspClient($,this.ac);var j=this;this.espClient.tempoCallback=function(_e){j.tempo=_e}}else this.espClient.setUrl($);else console.log("WebDirt ERROR: syncWithEsp called but EspClient does not exist")},k.prototype.setTempo=function($){if(typeof $.time!="number")throw Error("WebDirt: no time in setTempo");if(typeof $.beats!="number")throw Error("WebDirt: no beats in setTempo");if(typeof $.bpm!="number")throw Error("WebDirt: no bpm in setTempo");this.espClient!=null&&this.espClient.sendSetTempo($),this.tempo=$},k.prototype.sampleHint=function($){this.sampleBank!=null&&(console.log("WebDirt received sample hint: "+$),this.sampleBank.loadAllNamed($))},a})())})(WebDirtPacked);const bufferCache={},loadCache={},getCachedBuffer=o=>bufferCache[o],loadBuffer=(o,e)=>(loadCache[o]||(loadCache[o]=fetch(o).then(s=>s.arrayBuffer()).then(async s=>{const a=await e.decodeAudioData(s);return bufferCache[o]=a,a})),loadCache[o]),getLoadedBuffer=o=>bufferCache[o],githubCache={};let sampleCache={current:void 0};const loadGithubSamples=async(o,e)=>{const s="loadGithubSamples "+o,a=localStorage.getItem(s);if(a&&(console.log("[sampler]: loaded sample list from localstorage",o),githubCache[o]=JSON.parse(a)),githubCache[o])return sampleCache.current=githubCache[o],githubCache[o];console.log("[sampler]: fetching sample list from github",o);try{const[c,d,..._]=o.split("/"),b=`https://api.github.com/repos/${c}/${d}/contents`,k=await fetch(`${b}/${_.join("/")}`).then($=>$.json());githubCache[o]=(await Promise.all(k.map(async({name:$,path:j})=>({name:$,content:await fetch(`${b}/${j}`).then(_e=>_e.json()).catch(_e=>{console.error("could not load path",_e)})})))).filter(({content:$})=>!!$).reduce(($,{name:j,content:_e})=>wt(Ot({},$),{[(e==null?void 0:e(j))||j]:_e.map(({download_url:et})=>et)}),{})}catch(c){console.error("[sampler]: failed to fetch sample list from github",c);return}return sampleCache.current=githubCache[o],localStorage.setItem(s,JSON.stringify(sampleCache.current)),console.log("[sampler]: loaded samples:",sampleCache.current),githubCache[o]},samples=(o,e=o._base)=>{sampleCache.current=Ot(Ot({},sampleCache.current),Object.fromEntries(Object.entries(o).map(([s,a])=>[s,(typeof a=="string"?[a]:a).map(c=>(e+c).replace("github:","https://raw.githubusercontent.com/"))])))},resetLoadedSamples=()=>{sampleCache.current=void 0},getLoadedSamples$1=()=>sampleCache.current,{Pattern:Pattern$1}=strudel;let audioContext;const getAudioContext=()=>(audioContext||(audioContext=new AudioContext),audioContext),getFilter=(o,e,s)=>{const a=getAudioContext().createBiquadFilter();return a.type=o,a.frequency.value=e,a.Q.value=s,a},getADSR=(o,e,s,a,c,d,_)=>{const b=getAudioContext().createGain();return b.gain.setValueAtTime(0,d),b.gain.linearRampToValueAtTime(c,d+o),b.gain.linearRampToValueAtTime(s*c,d+o+e),b.gain.setValueAtTime(s*c,_),b.gain.linearRampToValueAtTime(0,_+a),b};Pattern$1.prototype.out=function(){return this.onTrigger(async(o,e,s)=>{const a=getAudioContext();o=a.currentTime+o-s;let{freq:c,s:d,n:_=0,gain:b=1,cutoff:k,resonance:$=1,hcutoff:j,hresonance:_e=1,bandf:et,bandq:tt=1,pan:nt,attack:it=.001,decay:rt=0,sustain:st=1,release:at=.001,speed:ot=1,begin:pt=0,end:ct=1}=e.value;const ut=[];if(!d||["sine","square","triangle","sawtooth"].includes(d)){!c&&typeof _=="number"&&(c=fromMidi(_)),!c&&typeof _=="string"&&(c=fromMidi(toMidi(_)));const ht=a.createOscillator();ht.type=d||"triangle",ht.frequency.value=Number(c),ht.start(o),ht.stop(o+e.duration+at),ut.push(ht);const dt=a.createGain();dt.gain.value=.5,ut.push(dt);const gt=getADSR(it,rt,st,at,1,o,o+e.duration);ut.push(gt)}else{const ht=getLoadedSamples();if(!ht){console.warn("no samples loaded");return}if(ht==null?void 0:ht[d]){if(ot===0)return;if(!d){console.warn("no sample specified");return}const gt=ht[d],yt=gt[_%gt.length];let ft=await loadBuffer(yt,a);if(a.currentTime>o){console.warn("sample still loading:",d,_);return}const mt=a.createBufferSource();mt.buffer=ft,mt.playbackRate.value=Math.abs(ot);let Et=mt.buffer.duration;const vt=pt*Et;Et=(ct-pt)*Et/Math.abs(ot),mt.start(o,vt,Et),mt.stop(o+Et),ut.push(mt)}else{console.warn("sample not found:",d,"try one of "+Object.keys(ht));return}}if(k!==void 0&&ut.push(getFilter("lowpass",k,$)),j!==void 0&&ut.push(getFilter("highpass",j,_e)),et!==void 0&&ut.push(getFilter("bandpass",et,tt)),nt!==void 0){const ht=a.createStereoPanner();ht.pan.value=2*nt-1,ut.push(ht)}const lt=a.createGain();lt.gain.value=.8*b,ut.push(lt),ut.push(a.destination),ut.slice(1).reduce((ht,dt)=>ht.connect(dt),ut[0])})};const{Pattern}=strudel;let webDirt;function loadWebDirt(o){webDirt=new WebDirtPacked.exports.WebDirt(o),webDirt.initializeWebAudio()}Pattern.prototype.webdirt=function(){return this._withHap(o=>{const e=async(s,a,c)=>{if(!webDirt)throw new Error("WebDirt not initialized!");const d=s-c,j=a.value||{},{s:_,n:b=0}=j,k=ln(j,["s","n"]);_||console.warn('Pattern.webdirt: no "s" was set!');const $=getLoadedSamples$1();if(!($!=null&&$[_])){webDirt.playSample(Ot({s:_,n:b},k),d);return}if(!($!=null&&$[_]))console.warn(`Pattern.webdirt: sample "${_}" not found in loaded samples`,$);else{const _e=$[_],et=_e[b%_e.length],tt=getLoadedBuffer(et);if(!tt)console.log(`Pattern.webdirt: load ${_}:${b} from ${et}`),loadBuffer(et,webDirt.ac);else{const nt=Ot({buffer:{buffer:tt}},k);webDirt.playSample(nt,d)}}};return o.setContext(wt(Ot({},o.context),{onTrigger:e}))})};const defaultSynth=new Tone.PolySynth().chain(new Tone.Gain(.5),Tone.Destination).set({oscillator:{type:"triangle"},envelope:{release:.01}});evalScope(Tone,controls,__vitePreload(()=>Promise.resolve().then(function(){return strudel}),void 0),__vitePreload(()=>import("./index.038826bf.js"),[]),__vitePreload(()=>import("./index.a8f1442d.js"),[]),__vitePreload(()=>import("./index.ab40fa35.js"),[]),__vitePreload(()=>import("./index.a539b758.js"),[]),__vitePreload(()=>import("./index.9bcd4462.js"),[]),__vitePreload(()=>import("./index.ce8cf8c8.js"),[]),__vitePreload(()=>import("./osc.cc98db01.js"),[]),__vitePreload(()=>import("./index.1c5b63f7.js"),[]));loadWebDirt({sampleMapUrl:"../EmuSP12.json",sampleFolder:"../EmuSP12"});function MiniRepl({tune:o}){return jsx(MiniRepl$1,{tune:o,defaultSynth,hideOutsideView:!0})}const layoutProps={},MDXLayout="wrapper";function MDXContent(s){var a=s,{components:o}=a,e=ln(a,["components"]);return createElement(MDXLayout,wt(Ot(Ot({},layoutProps),e),{components:o,mdxType:"MDXLayout"}),createElement("h1",{id:"table-of-contents"},createElement("a",{parentName:"h1","aria-hidden":"true",tabIndex:-1,href:"#table-of-contents"},createElement("span",{parentName:"a",className:"icon icon-link"})),"Table of Contents"),createElement("ul",null,createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#what-is-strudel"},"What is Strudel?")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#show-me-a-demo"},"Show me a Demo")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#disclaimer"},"Disclaimer")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#mini-notation"},"Mini Notation")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#notes"},"Notes")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#sequences"},"Sequences")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#division"},"Division")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#angle-brackets"},"Angle Brackets")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#multiplication"},"Multiplication")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#bracket-nesting"},"Bracket Nesting")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#rests"},"Rests")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#parallel"},"Parallel")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#elongation"},"Elongation")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#replication"},"Replication")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#mini-notation-todo"},"Mini Notation TODO")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#core-api"},"Core API")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#notes-1"},"Notes"))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#functions-that-create-patterns"},"Functions that create Patterns"))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#purevalue"},"pure(value)")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#catvalues"},"cat(...values)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#seqvalues"},"seq(...values)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#stackvalues"},"stack(...values)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#nesting-functions"},"Nesting functions")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#timecatweightvalue"},"timeCat(...","weight,value",")")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#polyrhythmvalues"},"polyrhythm(...","...values",")")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#pattern-modifier-functions"},"Pattern modifier functions")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#slowfactor"},"slow(factor)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#fastfactor"},"fast(factor)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#earlycycles"},"early(cycles)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#latecycles"},"late(cycles)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#rev"},"rev()")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#everyn-func"},"every(n, func)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#addn"},"add(n)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#subn"},"sub(n)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#muln"},"mul(n)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#divn"},"div(n)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#round"},"round()")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#structbinary_pat"},"struct(binary_pat)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#whenbinary_pat-func"},"when(binary_pat, func)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#superimposefunc"},"superimpose(...func)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#layerfunc"},"layer(...func)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#applyfunc"},"apply(func)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#offtime-func"},"off(time, func)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#appendpat"},"append(pat)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#stackpat"},"stack(pat)")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#tone-api"},"Tone API")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#toneinstrument"},"tone(instrument)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#sampler"},"sampler")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#players"},"players")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#out"},"out")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#volvolume"},"vol(volume)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#osctype"},"osc(type)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#lowpasscutoff"},"lowpass(cutoff)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#highpasscutoff"},"highpass(cutoff)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#adsr"},"adsr")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#tonal-api"},"Tonal API")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#transposesemitones"},"transpose(semitones)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#scalename"},"scale(name)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#scaletransposesteps"},"scaleTranspose(steps)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#voicingsrange"},"voicings(range?)")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#rootnotesoctave--2"},"rootNotes(octave = 2)")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#microtonal-api"},"Microtonal API"))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#midi-api"},"MIDI API")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#midioutputname"},"midi(outputName?)")))))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#contributing"},"Contributing"))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#api-docs"},"API Docs")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#pattern-factories"},"Pattern Factories")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#pure"},"pure")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#slowcat"},"slowcat")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#fastcat"},"fastcat")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#stack"},"stack")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#timecat"},"timeCat")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#pattern-modifiers"},"Pattern Modifiers")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#patternslow"},"Pattern.slow")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#patternfast"},"Pattern.fast")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#continuous-signals"},"Continuous Signals")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#saw"},"saw")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#sine"},"sine")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#cosine"},"cosine")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#tri"},"tri")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#square"},"square")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#using-samples-with-webdirt"},"Using Samples with Webdirt")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#patternwebdirt"},"Pattern.webdirt")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#using-superdirt-via-osc"},"Using Superdirt via OSC")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#getting-started"},"Getting Started")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#usage"},"Usage")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#patternosc"},"Pattern.osc")))))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#superdirt-params"},"Superdirt Params")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#basic-types"},"Basic Types")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#s"},"s")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#n"},"n")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#freq"},"freq")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#channel"},"channel")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#orbit"},"orbit")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#filters"},"Filters")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#cutoff"},"cutoff")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#resonance"},"resonance")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#hcutoff"},"hcutoff")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#hresonance"},"hresonance")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#bandf"},"bandf")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#bandq"},"bandq")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#djf"},"djf")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#vowel"},"vowel")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#sample-editing"},"Sample Editing")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#cut"},"cut")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#begin"},"begin")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#end"},"end")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#loop"},"loop")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#speed"},"speed")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#unit"},"unit")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#audio-effects"},"Audio Effects")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#gain"},"gain")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#amp"},"amp")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#accelerate"},"accelerate")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#crush"},"crush")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#coarse"},"coarse")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#leslie"},"leslie")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#lrate"},"lrate")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#lsize"},"lsize")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#pan"},"pan")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#room"},"room")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#size"},"size")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#dry"},"dry")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#shape"},"shape")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#squiz"},"squiz")))),createElement("li",{parentName:"ul"},createElement("p",{parentName:"li"},createElement("a",{parentName:"p",href:"#synth-effects"},"Synth Effects")),createElement("ul",{parentName:"li"},createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#octave"},"octave")),createElement("li",{parentName:"ul"},createElement("a",{parentName:"li",href:"#detune"},"detune"))))))),createElement("h1",{id:"what-is-strudel"},createElement("a",{parentName:"h1","aria-hidden":"true",tabIndex:-1,href:"#what-is-strudel"},createElement("span",{parentName:"a",className:"icon icon-link"})),"What is Strudel?"),createElement("p",null,`With Strudel, you can expressively write dynamic music pieces. It aims to be `,createElement("a",{parentName:"p",href:"https://tidalcycles.org/"},"Tidal Cycles")," for JavaScript (started by the same author)."),createElement("p",null,"You don't need to know JavaScript or Tidal Cycles to make music with Strudel."),createElement("p",null,"This interactive tutorial will guide you through the basics of Strudel."),createElement("p",null,"The best place to actually make music with Strudel is the ",createElement("a",{parentName:"p",href:"https://strudel.tidalcycles.org/"},"Strudel REPL"),"."),createElement("h2",{id:"show-me-a-demo"},createElement("a",{parentName:"h2","aria-hidden":"true",tabIndex:-1,href:"#show-me-a-demo"},createElement("span",{parentName:"a",className:"icon icon-link"})),"Show me a Demo"),createElement("p",null,"To get a taste of what Strudel can do, check out this track:"),createElement(MiniRepl,{tune:`const delay = new FeedbackDelay(1/8, .4).chain(vol(0.5), out()); const kick = new MembraneSynth().chain(vol(.8), out()); const snare = new NoiseSynth().chain(vol(.8), out()); diff --git a/tutorial/assets/index.33333a02.js b/tutorial/assets/index.33333a02.js deleted file mode 100644 index 3ba0b6049..000000000 --- a/tutorial/assets/index.33333a02.js +++ /dev/null @@ -1 +0,0 @@ -import{O as a}from"./index.171fdc07.js";export{a as loadWebDirt}; diff --git a/tutorial/assets/index.3dd4bc5d.js b/tutorial/assets/index.3dd4bc5d.js deleted file mode 100644 index 7d2fac0b6..000000000 --- a/tutorial/assets/index.3dd4bc5d.js +++ /dev/null @@ -1 +0,0 @@ -import{W as a,D as b}from"./index.171fdc07.js";export{a as WebMidi,b as enableWebMidi}; diff --git a/tutorial/assets/index.8434e414.css b/tutorial/assets/index.8434e414.css deleted file mode 100644 index eff678c3f..000000000 --- a/tutorial/assets/index.8434e414.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.container{width:100%}.\!container{width:100%!important}@media (min-width: 640px){.container{max-width:640px}.\!container{max-width:640px!important}}@media (min-width: 768px){.container{max-width:768px}.\!container{max-width:768px!important}}@media (min-width: 1024px){.container{max-width:1024px}.\!container{max-width:1024px!important}}@media (min-width: 1280px){.container{max-width:1280px}.\!container{max-width:1280px!important}}@media (min-width: 1536px){.container{max-width:1536px}.\!container{max-width:1536px!important}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where([class~="lead"]):not(:where([class~="not-prose"] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~="not-prose"] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~="not-prose"] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(ol):not(:where([class~="not-prose"] *)){list-style-type:decimal;padding-left:1.625em}.prose :where(ol[type="A"]):not(:where([class~="not-prose"] *)){list-style-type:upper-alpha}.prose :where(ol[type="a"]):not(:where([class~="not-prose"] *)){list-style-type:lower-alpha}.prose :where(ol[type="A" s]):not(:where([class~="not-prose"] *)){list-style-type:upper-alpha}.prose :where(ol[type="a" s]):not(:where([class~="not-prose"] *)){list-style-type:lower-alpha}.prose :where(ol[type="I"]):not(:where([class~="not-prose"] *)){list-style-type:upper-roman}.prose :where(ol[type="i"]):not(:where([class~="not-prose"] *)){list-style-type:lower-roman}.prose :where(ol[type="I" s]):not(:where([class~="not-prose"] *)){list-style-type:upper-roman}.prose :where(ol[type="i" s]):not(:where([class~="not-prose"] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~="not-prose"] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~="not-prose"] *)){list-style-type:disc;padding-left:1.625em}.prose :where(ol > li):not(:where([class~="not-prose"] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul > li):not(:where([class~="not-prose"] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~="not-prose"] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~="not-prose"] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-left-width:.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"\201c""\201d""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"] *)):after{content:close-quote}.prose :where(h1):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~="not-prose"] *)){font-weight:900}.prose :where(h2):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~="not-prose"] *)){font-weight:800}.prose :where(h3):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~="not-prose"] *)){font-weight:700}.prose :where(h4):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~="not-prose"] *)){font-weight:700}.prose :where(figure > *):not(:where([class~="not-prose"] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~="not-prose"] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose :where(code):not(:where([class~="not-prose"] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~="not-prose"] *)):before{content:"`"}.prose :where(code):not(:where([class~="not-prose"] *)):after{content:"`"}.prose :where(a code):not(:where([class~="not-prose"] *)){color:var(--tw-prose-links)}.prose :where(pre):not(:where([class~="not-prose"] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.prose :where(pre code):not(:where([class~="not-prose"] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~="not-prose"] *)):before{content:none}.prose :where(pre code):not(:where([class~="not-prose"] *)):after{content:none}.prose :where(table):not(:where([class~="not-prose"] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~="not-prose"] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose :where(tbody tr):not(:where([class~="not-prose"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~="not-prose"] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~="not-prose"] *)){vertical-align:baseline;padding:.5714286em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(p):not(:where([class~="not-prose"] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(img):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~="not-prose"] *)){margin-top:2em;margin-bottom:2em}.prose :where(h2 code):not(:where([class~="not-prose"] *)){font-size:.875em}.prose :where(h3 code):not(:where([class~="not-prose"] *)){font-size:.9em}.prose :where(li):not(:where([class~="not-prose"] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol > li):not(:where([class~="not-prose"] *)){padding-left:.375em}.prose :where(ul > li):not(:where([class~="not-prose"] *)){padding-left:.375em}.prose>:where(ul > li p):not(:where([class~="not-prose"] *)){margin-top:.75em;margin-bottom:.75em}.prose>:where(ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose>:where(ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose>:where(ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.25em}.prose>:where(ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~="not-prose"] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(hr + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h2 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h3 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(h4 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose :where(tbody td:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose :where(tbody td:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose>:where(:first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose>:where(:last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.prose-lg{font-size:1.125rem;line-height:1.7777778}.prose-lg :where(p):not(:where([class~="not-prose"] *)){margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"] *)){font-size:1.2222222em;line-height:1.4545455;margin-top:1.0909091em;margin-bottom:1.0909091em}.prose-lg :where(blockquote):not(:where([class~="not-prose"] *)){margin-top:1.6666667em;margin-bottom:1.6666667em;padding-left:1em}.prose-lg :where(h1):not(:where([class~="not-prose"] *)){font-size:2.6666667em;margin-top:0;margin-bottom:.8333333em;line-height:1}.prose-lg :where(h2):not(:where([class~="not-prose"] *)){font-size:1.6666667em;margin-top:1.8666667em;margin-bottom:1.0666667em;line-height:1.3333333}.prose-lg :where(h3):not(:where([class~="not-prose"] *)){font-size:1.3333333em;margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.prose-lg :where(h4):not(:where([class~="not-prose"] *)){margin-top:1.7777778em;margin-bottom:.4444444em;line-height:1.5555556}.prose-lg :where(img):not(:where([class~="not-prose"] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(video):not(:where([class~="not-prose"] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(figure):not(:where([class~="not-prose"] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(figure > *):not(:where([class~="not-prose"] *)){margin-top:0;margin-bottom:0}.prose-lg :where(figcaption):not(:where([class~="not-prose"] *)){font-size:.8888889em;line-height:1.5;margin-top:1em}.prose-lg :where(code):not(:where([class~="not-prose"] *)){font-size:.8888889em}.prose-lg :where(h2 code):not(:where([class~="not-prose"] *)){font-size:.8666667em}.prose-lg :where(h3 code):not(:where([class~="not-prose"] *)){font-size:.875em}.prose-lg :where(pre):not(:where([class~="not-prose"] *)){font-size:.8888889em;line-height:1.75;margin-top:2em;margin-bottom:2em;border-radius:.375rem;padding:1em 1.5em}.prose-lg :where(ol):not(:where([class~="not-prose"] *)){padding-left:1.5555556em}.prose-lg :where(ul):not(:where([class~="not-prose"] *)){padding-left:1.5555556em}.prose-lg :where(li):not(:where([class~="not-prose"] *)){margin-top:.6666667em;margin-bottom:.6666667em}.prose-lg :where(ol > li):not(:where([class~="not-prose"] *)){padding-left:.4444444em}.prose-lg :where(ul > li):not(:where([class~="not-prose"] *)){padding-left:.4444444em}.prose-lg>:where(ul > li p):not(:where([class~="not-prose"] *)){margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg>:where(ul > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.3333333em}.prose-lg>:where(ul > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.3333333em}.prose-lg>:where(ol > li > *:first-child):not(:where([class~="not-prose"] *)){margin-top:1.3333333em}.prose-lg>:where(ol > li > *:last-child):not(:where([class~="not-prose"] *)){margin-bottom:1.3333333em}.prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~="not-prose"] *)){margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg :where(hr):not(:where([class~="not-prose"] *)){margin-top:3.1111111em;margin-bottom:3.1111111em}.prose-lg :where(hr + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose-lg :where(h2 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose-lg :where(h3 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose-lg :where(h4 + *):not(:where([class~="not-prose"] *)){margin-top:0}.prose-lg :where(table):not(:where([class~="not-prose"] *)){font-size:.8888889em;line-height:1.5}.prose-lg :where(thead th):not(:where([class~="not-prose"] *)){padding-right:.75em;padding-bottom:.75em;padding-left:.75em}.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose-lg :where(tbody td):not(:where([class~="not-prose"] *)){padding:.75em}.prose-lg :where(tbody td:first-child):not(:where([class~="not-prose"] *)){padding-left:0}.prose-lg :where(tbody td:last-child):not(:where([class~="not-prose"] *)){padding-right:0}.prose-lg>:where(:first-child):not(:where([class~="not-prose"] *)){margin-top:0}.prose-lg>:where(:last-child):not(:where([class~="not-prose"] *)){margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.\!visible{visibility:visible!important}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.\!fixed{position:fixed!important}.absolute{position:absolute}.\!absolute{position:absolute!important}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.-inset-1{top:-.25rem;right:-.25rem;bottom:-.25rem;left:-.25rem}.top-0{top:0px}.left-1{left:.25rem}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-\[2\]{z-index:2}.float-right{float:right}.float-left{float:left}.float-none{float:none}.clear-left{clear:left}.clear-right{clear:right}.clear-both{clear:both}.clear-none{clear:none}.mt-2{margin-top:.5rem}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.block{display:block}.\!block{display:block!important}.inline-block{display:inline-block}.inline{display:inline}.\!inline{display:inline!important}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!table{display:table!important}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.h-16{height:4rem}.h-10{height:2.5rem}.h-1{height:.25rem}.h-\[calc\(100\%-theme\(\'spacing\.1\'\)\)\],.h-\[calc\(100\%-theme\(\"spacing\.1\"\)\)\]{height:calc(100% - .25rem)}.min-h-screen{min-height:100vh}.w-full{width:100%}.w-10{width:2.5rem}.max-w-3xl{max-width:48rem}.flex-none{flex:none}.flex-shrink,.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\!transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.transform-cpu{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-gpu{transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}.cursor-pointer{cursor:pointer}.touch-auto{touch-action:auto}.touch-none{touch-action:none}.touch-pan-x{--tw-pan-x: pan-x;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.touch-pan-left{--tw-pan-x: pan-left;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.touch-pan-right{--tw-pan-x: pan-right;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.touch-pan-y{--tw-pan-y: pan-y;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.touch-pan-up{--tw-pan-y: pan-up;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.touch-pan-down{--tw-pan-y: pan-down;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.touch-pinch-zoom{--tw-pinch-zoom: pinch-zoom;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.touch-manipulation{touch-action:manipulation}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.resize-none{resize:none}.resize-y{resize:vertical}.resize-x{resize:horizontal}.resize{resize:both}.snap-none{-ms-scroll-snap-type:none;scroll-snap-type:none}.snap-x{-ms-scroll-snap-type:x var(--tw-scroll-snap-strictness);scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-y{-ms-scroll-snap-type:y var(--tw-scroll-snap-strictness);scroll-snap-type:y var(--tw-scroll-snap-strictness)}.snap-both{-ms-scroll-snap-type:both var(--tw-scroll-snap-strictness);scroll-snap-type:both var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness: mandatory}.snap-proximity{--tw-scroll-snap-strictness: proximity}.snap-start{scroll-snap-align:start}.snap-end{scroll-snap-align:end}.snap-center{scroll-snap-align:center}.snap-align-none{scroll-snap-align:none}.snap-normal{scroll-snap-stop:normal}.snap-always{scroll-snap-stop:always}.list-inside{list-style-position:inside}.list-outside{list-style-position:outside}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.break-before-auto{-moz-column-break-before:auto;break-before:auto}.break-before-avoid{-moz-column-break-before:avoid;break-before:avoid}.break-before-all{-moz-column-break-before:all;break-before:all}.break-before-avoid-page{-moz-column-break-before:avoid;break-before:avoid-page}.break-before-page{-moz-column-break-before:page;break-before:page}.break-before-left{-moz-column-break-before:left;break-before:left}.break-before-right{-moz-column-break-before:right;break-before:right}.break-before-column{-moz-column-break-before:column;break-before:column}.break-inside-auto{-moz-column-break-inside:auto;break-inside:auto}.break-inside-avoid{-moz-column-break-inside:avoid;break-inside:avoid}.break-inside-avoid-page{break-inside:avoid-page}.break-inside-avoid-column{-moz-column-break-inside:avoid;break-inside:avoid-column}.break-after-auto{-moz-column-break-after:auto;break-after:auto}.break-after-avoid{-moz-column-break-after:avoid;break-after:avoid}.break-after-all{-moz-column-break-after:all;break-after:all}.break-after-avoid-page{-moz-column-break-after:avoid;break-after:avoid-page}.break-after-page{-moz-column-break-after:page;break-after:page}.break-after-left{-moz-column-break-after:left;break-after:left}.break-after-right{-moz-column-break-after:right;break-after:right}.break-after-column{-moz-column-break-after:column;break-after:column}.grid-flow-row{grid-auto-flow:row}.grid-flow-col{grid-auto-flow:column}.grid-flow-row-dense{grid-auto-flow:row dense}.grid-flow-col-dense{grid-auto-flow:column dense}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-nowrap{flex-wrap:nowrap}.place-content-center{place-content:center}.place-content-start{place-content:start}.place-content-end{place-content:end}.place-content-between{place-content:space-between}.place-content-around{place-content:space-around}.place-content-evenly{place-content:space-evenly}.place-content-stretch{place-content:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch}.content-center{align-content:center}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 1}.space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 1}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 1}.divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 1}.divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.divide-double>:not([hidden])~:not([hidden]){border-style:double}.divide-none>:not([hidden])~:not([hidden]){border-style:none}.place-self-auto{place-self:auto}.place-self-start{place-self:start}.place-self-end{place-self:end}.place-self-center{place-self:center}.place-self-stretch{place-self:stretch}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.self-baseline{align-self:baseline}.justify-self-auto{justify-self:auto}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.justify-self-stretch{justify-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-clip{overflow:clip}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-clip{overflow-x:clip}.overflow-y-clip{overflow-y:clip}.overflow-x-visible{overflow-x:visible}.overflow-y-visible{overflow-y:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.overscroll-auto{-ms-scroll-chaining:chained;overscroll-behavior:auto}.overscroll-contain{-ms-scroll-chaining:none;overscroll-behavior:contain}.overscroll-none{-ms-scroll-chaining:none;overscroll-behavior:none}.overscroll-y-auto{overscroll-behavior-y:auto}.overscroll-y-contain{overscroll-behavior-y:contain}.overscroll-y-none{overscroll-behavior-y:none}.overscroll-x-auto{overscroll-behavior-x:auto}.overscroll-x-contain{overscroll-behavior-x:contain}.overscroll-x-none{overscroll-behavior-x:none}.scroll-auto{scroll-behavior:auto}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-ellipsis,.text-ellipsis{text-overflow:ellipsis}.text-clip{text-overflow:clip}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-normal{overflow-wrap:normal;word-break:normal}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-width:1px}.border-x{border-left-width:1px;border-right-width:1px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-l{border-left-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-double{border-style:double}.border-hidden{border-style:hidden}.border-none{border-style:none}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-\[rgb\(255\,0\,0\)\]{--tw-bg-opacity: 1;background-color:rgb(255 0 0 / var(--tw-bg-opacity))}.bg-\[url\(\'\.\.\.\'\)\]{background-image:url(...)}.bg-\[url\(\"\.\.\.\"\)\]{background-image:url(...)}.bg-\[url\(\'\.\.\.\'\)\,url\(\'\.\.\.\'\)\]{background-image:url(...),url(...)}.bg-\[url\(\"\.\.\.\"\)\,url\(\"\.\.\.\"\)\]{background-image:url(...),url(...)}.decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.box-decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.box-decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.bg-fixed{background-attachment:fixed}.bg-local{background-attachment:local}.bg-scroll{background-attachment:scroll}.bg-clip-border{background-clip:border-box}.bg-clip-padding{background-clip:padding-box}.bg-clip-content{background-clip:content-box}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-repeat{background-repeat:repeat}.bg-no-repeat{background-repeat:no-repeat}.bg-repeat-x{background-repeat:repeat-x}.bg-repeat-y{background-repeat:repeat-y}.bg-repeat-round{background-repeat:round}.bg-repeat-space{background-repeat:space}.bg-origin-border{background-origin:border-box}.bg-origin-padding{background-origin:padding-box}.bg-origin-content{background-origin:content-box}.fill-\[\#bada55\]{fill:#bada55}.fill-\[\#bada55\]\/50{fill:#bada5580}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.object-none{-o-object-fit:none;object-fit:none}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.p-4{padding:1rem}.p-1{padding:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-1{padding-left:.25rem;padding-right:.25rem}.pl-6{padding-left:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-top{vertical-align:text-top}.align-text-bottom{vertical-align:text-bottom}.align-sub{vertical-align:sub}.align-super{vertical-align:super}.font-\[\'some_font\'\,sans-serif\],.font-\[\"some_font\"\,sans-serif\]{font-family:some font,sans-serif}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.normal-nums{font-variant-numeric:normal}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.slashed-zero{--tw-slashed-zero: slashed-zero;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lining-nums{--tw-numeric-figure: lining-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.oldstyle-nums{--tw-numeric-figure: oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.proportional-nums{--tw-numeric-spacing: proportional-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.diagonal-fractions{--tw-numeric-fraction: diagonal-fractions;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.stacked-fractions{--tw-numeric-fraction: stacked-fractions;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.overline{-webkit-text-decoration-line:overline;text-decoration-line:overline}.line-through{-webkit-text-decoration-line:line-through;text-decoration-line:line-through}.no-underline{-webkit-text-decoration-line:none;text-decoration-line:none}.decoration-solid{-webkit-text-decoration-style:solid;text-decoration-style:solid}.decoration-double{-webkit-text-decoration-style:double;text-decoration-style:double}.decoration-dotted{-webkit-text-decoration-style:dotted;text-decoration-style:dotted}.decoration-dashed{-webkit-text-decoration-style:dashed;text-decoration-style:dashed}.decoration-wavy{-webkit-text-decoration-style:wavy;text-decoration-style:wavy}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.bg-blend-normal{background-blend-mode:normal}.bg-blend-multiply{background-blend-mode:multiply}.bg-blend-screen{background-blend-mode:screen}.bg-blend-overlay{background-blend-mode:overlay}.bg-blend-darken{background-blend-mode:darken}.bg-blend-lighten{background-blend-mode:lighten}.bg-blend-color-dodge{background-blend-mode:color-dodge}.bg-blend-color-burn{background-blend-mode:color-burn}.bg-blend-hard-light{background-blend-mode:hard-light}.bg-blend-soft-light{background-blend-mode:soft-light}.bg-blend-difference{background-blend-mode:difference}.bg-blend-exclusion{background-blend-mode:exclusion}.bg-blend-hue{background-blend-mode:hue}.bg-blend-saturation{background-blend-mode:saturation}.bg-blend-color{background-blend-mode:color}.bg-blend-luminosity{background-blend-mode:luminosity}.mix-blend-normal{mix-blend-mode:normal}.mix-blend-multiply{mix-blend-mode:multiply}.mix-blend-screen{mix-blend-mode:screen}.mix-blend-overlay{mix-blend-mode:overlay}.mix-blend-darken{mix-blend-mode:darken}.mix-blend-lighten{mix-blend-mode:lighten}.mix-blend-color-dodge{mix-blend-mode:color-dodge}.mix-blend-color-burn{mix-blend-mode:color-burn}.mix-blend-hard-light{mix-blend-mode:hard-light}.mix-blend-soft-light{mix-blend-mode:soft-light}.mix-blend-difference{mix-blend-mode:difference}.mix-blend-exclusion{mix-blend-mode:exclusion}.mix-blend-hue{mix-blend-mode:hue}.mix-blend-saturation{mix-blend-mode:saturation}.mix-blend-color{mix-blend-mode:color}.mix-blend-luminosity{mix-blend-mode:luminosity}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.\!shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1) !important;--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color) !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-dashed{outline-style:dashed}.outline-dotted{outline-style:dotted}.outline-double{outline-style:double}.outline-hidden{outline-style:hidden}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!invert{--tw-invert: invert(100%) !important;filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter-none{filter:none}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-grayscale{--tw-backdrop-grayscale: grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-invert{--tw-backdrop-invert: invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-sepia{--tw-backdrop-sepia: sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter-none{-webkit-backdrop-filter:none;backdrop-filter:none}.transition{transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.content-\[\'hello\'\],.content-\[\"hello\"\]{--tw-content: "hello";content:var(--tw-content)}.content-\[\'this-is-also-valid\]-weirdly-enough\'\]{--tw-content: "this-is-also-valid]-weirdly-enough";content:var(--tw-content)}.\[attr\:value\]{attr:value}.\[content\:\'hello\'\],.\[content\:\"hello\"\]{content:"hello"}.\[vite\:css\]{vite:css}h1:before,h2:before,h3:before,h4:before,h5:before,h6:before{display:block;content:" ";margin-top:-70px;height:70px;visibility:hidden;pointer-events:none;position:relative}h1:hover .icon-link,h2:hover .icon-link,h3:hover .icon-link,h4:hover .icon-link,h5:hover .icon-link,h6:hover .icon-link,.icon.icon-link:hover{visibility:visible}.icon.icon-link{background-image:url(/tutorial/assets/link.55bc37e1.svg);background-repeat:no-repeat;height:16px;display:block;color:gray;fill:#000;position:absolute;visibility:hidden;margin-left:-20px;width:20px;margin-top:8px}#table-of-contents{display:none}#table-of-contents+ul{position:fixed;right:0;top:64px;overflow:auto;height:calc(100vh - 64px);width:33%;margin:2px;padding:12px 0 12px 8px}#table-of-contents+ul ul{padding-left:8px}#table-of-contents+ul li{list-style:none;margin:2px}#table-of-contents+ul li p{margin:0}#table-of-contents+ul li a{text-decoration:none}@media only screen and (max-width: 1120px){#table-of-contents+ul{display:none}}.hover\:font-bold:hover{font-weight:700}.before\:hover\:text-center:hover:before{content:var(--tw-content);text-align:center}.hover\:before\:text-center:hover:before{content:var(--tw-content);text-align:center}.hover\:focus\:text-center:focus:hover{text-align:center}.focus\:hover\:text-center:hover:focus{text-align:center}.prose-headings\:underline :is(:where(h1,h2,h3,h4,th):not(:where([class~="not-prose"] *))){-webkit-text-decoration-line:underline;text-decoration-line:underline}.prose-lead\:italic :is(:where([class~="lead"]):not(:where([class~="not-prose"] *))){font-style:italic}.prose-h1\:text-3xl :is(:where(h1):not(:where([class~="not-prose"] *))){font-size:1.875rem;line-height:2.25rem}.prose-h2\:text-2xl :is(:where(h2):not(:where([class~="not-prose"] *))){font-size:1.5rem;line-height:2rem}.prose-h3\:text-xl :is(:where(h3):not(:where([class~="not-prose"] *))){font-size:1.25rem;line-height:1.75rem}.prose-h4\:text-lg :is(:where(h4):not(:where([class~="not-prose"] *))){font-size:1.125rem;line-height:1.75rem}.prose-p\:text-gray-700 :is(:where(p):not(:where([class~="not-prose"] *))){--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.prose-a\:font-bold :is(:where(a):not(:where([class~="not-prose"] *))){font-weight:700}.prose-blockquote\:italic :is(:where(blockquote):not(:where([class~="not-prose"] *))){font-style:italic}.prose-figure\:mx-auto :is(:where(figure):not(:where([class~="not-prose"] *))){margin-left:auto;margin-right:auto}.prose-figcaption\:opacity-75 :is(:where(figcaption):not(:where([class~="not-prose"] *))){opacity:.75}.prose-strong\:font-medium :is(:where(strong):not(:where([class~="not-prose"] *))){font-weight:500}.prose-em\:italic :is(:where(em):not(:where([class~="not-prose"] *))){font-style:italic}.prose-code\:font-mono :is(:where(code):not(:where([class~="not-prose"] *))){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.prose-pre\:font-mono :is(:where(pre):not(:where([class~="not-prose"] *))){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.prose-ol\:pl-6 :is(:where(ol):not(:where([class~="not-prose"] *))){padding-left:1.5rem}.prose-ul\:pl-8 :is(:where(ul):not(:where([class~="not-prose"] *))){padding-left:2rem}.prose-li\:my-4 :is(:where(li):not(:where([class~="not-prose"] *))){margin-top:1rem;margin-bottom:1rem}.prose-table\:my-8 :is(:where(table):not(:where([class~="not-prose"] *))){margin-top:2rem;margin-bottom:2rem}.prose-thead\:border-red-300 :is(:where(thead):not(:where([class~="not-prose"] *))){--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity))}.prose-tr\:border-red-200 :is(:where(tr):not(:where([class~="not-prose"] *))){--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity))}.prose-th\:text-left :is(:where(th):not(:where([class~="not-prose"] *))){text-align:left}.prose-img\:rounded-lg :is(:where(img):not(:where([class~="not-prose"] *))){border-radius:.5rem}.prose-video\:my-12 :is(:where(video):not(:where([class~="not-prose"] *))){margin-top:3rem;margin-bottom:3rem}.prose-hr\:border-t-2 :is(:where(hr):not(:where([class~="not-prose"] *))){border-top-width:2px}@media (min-width: 640px){.sm\:container{width:100%}@media (min-width: 640px){.sm\:container{max-width:640px}}@media (min-width: 768px){.sm\:container{max-width:768px}}@media (min-width: 1024px){.sm\:container{max-width:1024px}}@media (min-width: 1280px){.sm\:container{max-width:1280px}}@media (min-width: 1536px){.sm\:container{max-width:1536px}}.sm\:underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}}@media (prefers-color-scheme: dark){@media (min-width: 1024px){.dark\:lg\:hover\:\[paint-order\:markers\]:hover{paint-order:markers}}}*,:before,:after{--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.sc-h-5{height:1.25rem}.sc-w-5{width:1.25rem}@-webkit-keyframes sc-pulse{50%{opacity:.5}}@keyframes sc-pulse{50%{opacity:.5}}.sc-animate-pulse{-webkit-animation:sc-pulse 2s cubic-bezier(.4,0,.6,1) infinite;animation:sc-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cm-editor{background-color:transparent!important}._container_10e1g_1{overflow:hidden;border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(68 76 87 / var(--tw-bg-opacity))}._header_10e1g_5{display:flex;justify-content:space-between;border-top-width:1px;--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}._buttons_10e1g_9{display:flex}._button_10e1g_9{display:flex;width:4rem;cursor:pointer;align-items:center;justify-content:center;border-right-width:1px;--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity));padding:.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}._button_10e1g_9:hover{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}._buttonDisabled_10e1g_17{display:flex;width:4rem;cursor:pointer;cursor:not-allowed;align-items:center;justify-content:center;--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity));padding:.25rem;--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}._error_10e1g_21{padding:.25rem;text-align:right;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity))}._body_10e1g_25{position:relative;overflow:auto} diff --git a/tutorial/assets/index.4d063da6.js b/tutorial/assets/index.9bcd4462.js similarity index 99% rename from tutorial/assets/index.4d063da6.js rename to tutorial/assets/index.9bcd4462.js index 5c3932ad3..8f62e7c19 100644 --- a/tutorial/assets/index.4d063da6.js +++ b/tutorial/assets/index.9bcd4462.js @@ -1 +1 @@ -var h=Object.defineProperty,q=Object.defineProperties;var g=Object.getOwnPropertyDescriptors;var p=Object.getOwnPropertySymbols;var y=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable;var m=(i,n,e)=>n in i?h(i,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[n]=e,c=(i,n)=>{for(var e in n||(n={}))y.call(n,e)&&m(i,e,n[e]);if(p)for(var e of p(n))b.call(n,e)&&m(i,e,n[e]);return i},a=(i,n)=>q(i,g(n));import{P as o,w as _}from"./index.171fdc07.js";function S(i){if(!/^[1-9]+[0-9]*edo$/.test(i))throw new Error('not an edo scale: "'+i+'"');const[n,e]=i.match(/^([1-9]+[0-9]*)edo$/);return Array.from({length:e},(r,s)=>Math.pow(2,s/e))}const f={"12ji":[1/1,16/15,9/8,6/5,5/4,4/3,45/32,3/2,8/5,5/3,16/9,15/8]};function v(i,n){return n.map(e=>e*i)}const w=220;function k(i,n){if(typeof i=="string")if(/^[1-9]+[0-9]*edo$/.test(i))i=S(i);else if(f[i])i=f[i];else throw new Error('unknown scale name: "'+i+'"');return i=v(w,i),n?i.filter((e,r)=>n.includes(r)):i}function l(i,n,e=0){const r=_(e+n,i.length),s=Math.floor(n/i.length);return i[r]*Math.pow(2,s)}o.prototype._xen=function(i,n){return this._asNumber()._withHap(e=>{const r=k(i);n=n||r.length;const s=l(r,e.value);return e.withValue(()=>s).setContext(a(c({},e.context),{type:"frequency"}))})};o.prototype.tuning=function(i){return this._asNumber()._withHap(n=>{const e=l(i,n.value);return n.withValue(()=>e).setContext(a(c({},n.context),{type:"frequency"}))})};o.prototype.define("xen",(i,n)=>n.xen(i),{composable:!0,patternified:!0});function t(){this.scale=[],this.mode={output:"frequency",input:"step"},this.etmajor=[261.62558,293.664764,329.627563,349.228241,391.995422,440,493.883301,523.25116],this.tonic=440}t.prototype.tonicize=function(i){this.tonic=i};t.prototype.note=function(i,n){var e;return this.mode.output=="frequency"?e=this.frequency(i,n):this.mode.output=="ratio"?e=this.ratio(i,n):this.mode.output=="MIDI"?e=this.MIDI(i,n):e=this.frequency(i,n),e};t.prototype.frequency=function(i,n){(this.mode.input=="midi"||this.mode.input=="MIDI")&&(this.stepIn+=60);var e=Math.floor(i/this.scale.length);n&&(e+=n);for(var r=i%this.scale.length;r<0;)r+=this.scale.length;var s=this.tonic*this.scale[r];return s=s*Math.pow(2,e),s=Math.floor(s*1e11)/1e11,s};t.prototype.ratio=function(i,n){(this.mode.input=="midi"||this.mode.input=="MIDI")&&(this.stepIn+=60);var e=Math.floor(i/this.scale.length);n&&(e+=n);var r=i%this.scale.length,s=Math.pow(2,e)*this.scale[r];return s=Math.floor(s*1e11)/1e11,s};t.prototype.MIDI=function(i,n){var e=this.frequency(i,n),r=69+12*Math.log(e/440)/Math.log(2);return r=Math.floor(r*1e9)/1e9,r};t.prototype.loadScale=function(i){var n=u[i].frequencies;this.scale=[];for(var e=0;e[1, 1, -1]->[0, 1, -1]->[0, 0, -1]->[0, 0, 0]->[0, -1, 0],[0, -1, 1]->[0, -2, 1]->[-1, -2, 1]"},breedt1:{frequencies:[261.6255653006,275.62199471997,292.34127285051,310.07474405997,326.6631048533,348.83408706747,367.49599295996,391.11111150212,413.43299207996,437.02884834934,465.11211608996,489.99465727995,523.2511306012],description:"Graham Breed's 1/4 P temperament, TL 10-06-99"},breedt2:{frequencies:[261.6255653006,276.37000081643,293.53214922797,310.91625060765,328.43856194079,349.78078158391,368.4933346061,392.4383479509,414.55500101742,439.10654054756,466.37437567834,492.65784266492,523.2511306012],description:"Graham Breed's 1/5 P temperament, TL 10-06-99"},breedt3:{frequencies:[261.6255653006,276.55731914056,293.33333347996,311.12698372208,328.88393162803,350.01785633742,368.74309237173,392.4383479509,414.83597850347,438.51190905657,466.69047534984,491.65745674141,523.2511306012],description:"Graham Breed's other 1/4 P temperament, TL 10-06-99"},brown:{frequencies:[261.6255653006,272.52663052146,275.62199471997,275.93321340298,279.38237857051,287.10624449997,290.69507255622,291.02331101095,294.32876096318,306.24666079997,306.59245933664,310.07474405997,310.42486507835,322.99452506247,327.03195662575,331.11985608357,344.52749339997,344.91651675372,348.83408706747,349.22797321314,363.36884069528,367.49599295996,367.91095120397,372.50983809402,382.80832599996,387.59343007496,388.03108134794,392.4383479509,408.78994578219,413.43299207996,413.89982010446,430.65936674996,436.04260883433,436.53496651643,441.49314144476,459.36999119996,459.88868900496,465.11211608996,465.63729761752,484.4917875937,489.99465727995,490.54793493862,496.67978412536,516.79124009995,517.37477513058,523.2511306012],description:"Tuning of Colin Brown's Voice Harmonium, Glasgow. Helmholtz/Ellis p. 470-473"},bruder:{frequencies:[261.6255653006,276.38325105256,293.66476791741,310.22971009486,327.53979283172,349.02656754477,368.60786575306,391.65594491223,414.34624765043,439.23819834286,465.62553897253,491.60634075178,523.2511306012],description:"Ignaz Bruder organ temperament (1829) according to P. Vier"},burma3:{frequencies:[261.6255653006,287.71029735626,317.68827763215,350.39147881787,389.32370520689,429.81331927092,476.14308821464,523.2511306012],description:"Burmese scale, von Hornbostel"},"burt-forks":{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,465.11211608996,470.92601754108,490.54793493862,504.56359022259,523.2511306012],description:"Warren Burt 19-tone Forks. Interval 5(3): pp. 13+23 Winter 1986-87"},burt1:{frequencies:[261.6255653006,272.09058791262,283.42769574232,295.75063903546,309.19384990071,340.11323489078,358.01393146398,377.90359432309,415.52295665389,425.14154361347,453.48431318771,485.87604984397,523.2511306012],description:"W. Burt's 13diatsub #1"},burt10:{frequencies:[261.6255653006,265.11390617127,268.69652652494,272.3773008609,276.16031892841,355.06326719367,368.21375857121,382.37582620857,386.08821287079,389.87339142835,393.73352401674,397.67085925691,523.2511306012],description:"W. Burt's 19enhsub #10"},burt11:{frequencies:[261.6255653006,344.24416486921,347.6866065179,351.12904816659,354.57148981529,358.01393146398,371.78369805875,385.55346465352,495.71159741166,502.59648070905,509.48136400643,516.36624730382,523.2511306012],description:"W. Burt's 19enhharm #11"},burt12:{frequencies:[261.6255653006,302.93486508491,316.70463167967,330.47439827444,344.24416486921,358.01393146398,371.78369805875,385.55346465352,440.63253103259,468.17206422213,495.71159741166,509.48136400643,523.2511306012],description:"W. Burt's 19diatharm #12"},burt13:{frequencies:[261.6255653006,273.51763645063,286.54228580542,293.53112204458,300.86940009569,334.29933343966,353.96400011258,376.08675011961,401.15920012759,429.81342870813,445.73244458621,462.87600014722,523.2511306012],description:"W. Burt's 23diatsub #13"},burt14:{frequencies:[261.6255653006,264.50057151269,267.43946675172,270.4444045804,273.51763645063,334.29933343966,353.96400011258,376.08675011961,382.05638107389,388.21858076863,394.58281979763,401.15920012759,523.2511306012],description:"W. Burt's 23enhsub #14"},burt15:{frequencies:[261.6255653006,341.25073734861,346.93824963775,352.6257619269,358.31327421604,364.00078650518,386.75083566176,409.50088481833,500.50108144463,506.18859373377,511.87610602291,517.56361831206,523.2511306012],description:"W. Burt's 23enhharm #15"},burt16:{frequencies:[261.6255653006,295.75063903546,307.12566361375,318.50068819203,341.25073734861,364.00078650518,386.75083566176,409.50088481833,455.00098313148,466.37600770977,477.75103228805,500.50108144463,523.2511306012],description:"W. Burt's 23diatharm #16"},burt17:{frequencies:[261.6255653006,262.27760655527,262.77528702311,280.51080915002,281.04308772525,281.33584094163,286.12102533302,286.66394947976,306.91182648178,308.56189006502,309.14739649778,336.61297098002,337.2517052703,337.60300912996,338.42271813583,339.41807907152,363.01398831179,369.18841978454,370.27426807802,396.01525997649,398.14437427744,399.31538714296,403.93556517602,406.10726176299,434.33931739357,434.79175418253,435.61678597414,437.95881170519,475.21831197179,476.86837555503,477.77324913293,478.27092960078,479.17846457156,521.20718087229,521.75010501903,522.74014316897,523.2511306012],description:`W. Burt's "2 out of 3,5,11,17,31 dekany" CPS with 1/1=3/1. 1/1 vol. 10(1) '98`},burt18:{frequencies:[261.6255653006,268.26840191956,269.80136421624,270.50397193556,275.42222597075,281.04308772525,286.15296204753,295.09524211152,300.46061014991,306.59245933664,309.14739649778,314.76825825228,321.92208230347,324.60476632267,337.2517052703,343.38355445704,344.27778246344,354.11429053382,357.69120255941,367.91095120397,370.97687579734,375.57576268738,393.46032281536,404.70204632437,413.13333895612,421.56463158788,429.2294430713,432.80635509689,449.66894036041,463.72109474667,472.15238737843,490.54793493862,491.82540351919,500.76768358318,505.87755790546,515.07533168556,523.2511306012],description:`W. Burt's "2 out of 1,3,5,7,11 dekany" CPS with 1/1=1/1. 1/1 vol. 10(1) '98`},burt19:{frequencies:[261.6255653006,268.26840191956,286.15296204753,294.32876096318,300.46061014991,306.59245933664,321.92208230347,327.03195662575,343.38355445704,357.69120255941,367.91095120397,375.57576268738,392.4383479509,400.61414686654,408.78994578219,429.2294430713,457.84473927605,490.54793493862,500.76768358318,515.07533168556,523.2511306012],description:`W. Burt's "2 out of 2,3,4,5,7 dekany" CPS with 1/1=1/1. 1/1 vol. 10(1) '98`},burt2:{frequencies:[261.6255653006,264.16561933264,266.75547834571,269.39662169567,272.09058791262,340.11323489078,344.41846571218,348.83408706747,353.36439988652,358.01393146398,412.25846653428,485.87604984397,523.2511306012],description:"W. Burt's 13enhsub #2"},burt20:{frequencies:[261.6255653006,269.10058145205,279.06726965397,279.38237857051,294.32876096318,298.00787047521,330.74639366397,335.25885428462,367.91095120397,376.74081403286,412.06026534844,418.60090448096,523.2511306012],description:'Warren Burt tuning for "Commas" (1993) 1/1=263. XH 16'},burt3:{frequencies:[261.6255653006,281.75060878526,332.06321749692,382.37582620857,387.40708707973,392.4383479509,397.46960882207,402.50086969323,503.12608711654,508.1573479877,513.18860885887,518.21986973003,523.2511306012],description:"W. Burt's 13enhharm #3"},burt4:{frequencies:[261.6255653006,281.75060878526,301.87565226992,322.00069575458,342.12573923925,362.25078272391,382.37582620857,402.50086969323,442.75095666255,462.87600014722,483.00104363188,503.12608711654,523.2511306012],description:"W. Burt's 13diatharm #4, see his post 3/30/94 in Tuning Digest #57"},burt5:{frequencies:[261.6255653006,277.97716313189,296.50897400735,317.68818643644,342.12573923925,277.97716313189,386.75083566176,404.33041910093,423.58424858192,444.76346101102,468.17206422213,494.18162334558,523.2511306012],description:"W. Burt's 17diatsub #5"},burt6:{frequencies:[261.6255653006,265.53042448419,269.55361273395,273.7005913914,277.97716313189,370.63621750918,386.75083566176,404.33041910093,408.97789518255,413.73345210327,418.60090448096,423.58424858192,523.2511306012],description:"W. Burt's 17enhsub #6"},burt7:{frequencies:[261.6255653006,323.18452184192,327.03195662575,330.87939140958,334.72682619341,338.57426097725,353.96400011258,369.35373924791,492.47165233054,500.16652189821,507.86139146587,515.55626103354,523.2511306012],description:"W. Burt's 17enhharm #7"},burt8:{frequencies:[261.6255653006,277.01530443593,292.40504357126,307.79478270659,323.18452184192,338.57426097725,353.96400011258,369.35373924791,400.13321751856,430.91269578922,461.69217405988,492.47165233054,523.2511306012],description:"W. Burt's 17diatharm #8"},burt9:{frequencies:[261.6255653006,268.69652652494,276.16031892841,292.40504357126,310.68035879446,355.06326719367,368.21375857121,382.37582620857,397.67085925691,414.24047839262,432.2509339749,451.89870370104,523.2511306012],description:"W. Burt's 19diatsub #9"},burt_fibo:{frequencies:[261.6255653006,277.97716313189,294.32876096318,311.70233365892,327.03195662575,343.38355445704,363.82305174615,385.28452389971,392.4383479509,425.14154361347,449.66894036041,476.24028683625,523.2511306012],description:'Warren Burt, 3/2+5/3+8/5+etc. "Recurrent Sequences", 2002'},burt_fibo23:{frequencies:[261.6255653006,267.05480676802,277.97716313189,282.81557538079,294.32876096318,299.5065008038,311.70233365892,327.03195662575,330.09788121912,343.38355445704,349.5792770728,363.82305174615,370.21039464899,385.28452389971,392.4383479509,408.02346463385,425.14154361347,432.10374737758,449.66894036041,457.60521391719,476.24028683625,484.61169812829,504.34459560877,523.2511306012],description:'Warren Burt, 23-tone Fibonacci scale. "Recurrent Sequences", 2002'},burt_primes:{frequencies:[261.6255653006,267.75741448733,273.88926367407,277.97716313189,280.0211128608,284.10901231862,290.24086150535,298.416660421,302.50455987882,304.54850960773,308.63640906555,310.68035879446,320.90010743902,322.94405716793,327.03195662575,333.16380581248,335.20775554139,339.29565499922,341.33960472813,351.55935337268,353.60330310159,359.73515228832,363.82305174615,365.86700147506,369.95490093288,376.08675011961,384.26254903526,390.39439822199,392.4383479509,394.48229767981,396.52624740872,402.65809659545,406.74599605328,412.87784524001,421.05364415565,425.14154361347,431.27339280021,433.31734252912,437.40524198694,445.58104090258,455.80078954714,457.84473927605,461.93263873387,463.97658846278,468.0644879206,474.19633710734,476.24028683625,482.37213602298,488.50398520971,492.59188466754,498.72373385427,506.89953276991,513.03138195665,519.16323114338,523.2511306012],description:'Warren Burt, primes until 251. "Some Numbers", Dec. 2002'},bushmen:{frequencies:[261.6255653006,347.0163224393,394.26624244126,453.9405988926,523.2511306012],description:"Observed scale of South-African bushmen, almost (4 notes) equal pentatonic"},dan_semantic:{frequencies:[261.6255653006,272.52663052146,275.62199471997,279.06726965397,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.07474405997,313.95067836072,322.99452506247,327.03195662575,331.11985608357,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,387.59343007496,392.4383479509,397.34382730029,408.78994578219,413.43299207996,418.60090448096,430.65936674996,436.04260883433,441.49314144476,459.88868900496,465.11211608996,470.92601754108,484.4917875937,490.54793493862,496.67978412536,516.79124009995,523.2511306012],description:'The Semantic Scale, from Alain Dani\xEF\xBF\xBDlou: "S\xEF\xBF\xBDmantique Musicale" (1967)'},danielou5_53:{frequencies:[261.6255653006,264.89588486686,267.90457886781,272.52663052146,275.62199471997,279.06726965397,282.55561052465,285.76488412567,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,310.07474405997,313.95067836072,317.87506184023,322.99452506247,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.52749339997,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,397.34382730029,401.85686830172,408.78994578219,413.43299207996,418.60090448096,423.83341578697,430.65936674996,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,479.0507177135,484.4917875937,490.54793493862,496.67978412536,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"Dani\xEF\xBF\xBDlou's Harmonic Division in 5-limit, symmetrized"},danielou_53:{frequencies:[261.6255653006,264.89588486686,267.43946675172,272.52663052146,275.62199471997,279.06726965397,282.55561052465,287.78812183066,290.69507255622,294.32876096318,297.67175429757,301.87565226992,306.59245933664,310.07474405997,313.95067836072,318.93402246168,322.99452506247,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.52749339997,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,397.34382730029,401.85686830172,408.78994578219,413.43299207996,418.60090448096,423.83341578697,430.65936674996,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,479.64686971777,484.4917875937,490.54793493862,496.67978412536,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"Dani\xEF\xBF\xBDlou's Harmonic Division of the Octave, see p. 153"},darreg:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,470.92601754108,490.54793493862,523.2511306012],description:"This set of 19 ratios in 5-limit JI is for his megalyra family"},darreg_ennea:{frequencies:[261.6255653006,269.29177952703,277.18263097687,293.66476791741,349.22823143301,391.99543598175,403.48177901006,415.30469757995,440,523.2511306012],description:"Ivor Darreg's Mixed Enneatonic, a mixture of chromatic and enharmonic"},darreg_genus:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,348.83408706747,392.4383479509,406.97310157871,418.60090448096,436.04260883433,523.2511306012],description:"Ivor Darreg's Mixed JI Genus (Archytas Enh, Ptolemy Soft Chrom, Didymos Chrom"},darreg_genus2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,348.83408706747,392.4383479509,406.97310157871,418.60090448096,441.49314144476,523.2511306012],description:"Darreg's Mixed JI Genus 2 (Archytas Enharmonic and Chromatic Genera)"},david11:{frequencies:[261.6255653006,269.80136421624,274.70684356563,285.40970760065,294.32876096318,305.22982618403,314.76825825228,327.03195662575,332.97799220076,343.38355445704,359.73515228832,366.27579142084,374.60024122586,392.4383479509,406.97310157871,419.69101100305,428.11456140098,441.49314144476,457.84473927605,479.64686971777,490.54793493862,499.46698830115,523.2511306012],description:"11-limit system from Gary David, 1967"},david7:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,336.37572681506,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,470.92601754108,488.36772189445,523.2511306012],description:"Gary David's Constant Structure, 1967. A mode of Fokker's 7-limit scale"},ddimlim1:{frequencies:[261.6255653006,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"First 27/25&2048/1875 scale"},de_caus:{frequencies:[261.6255653006,272.52663052146,290.69507255622,306.59245933664,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"De Caus (a mode of Ellis's duodene) (1615)"},degung1:{frequencies:[261.6255653006,286.1303811777,319.28416942365,390.63652710512,420.90734643474,523.2511306012],description:"Gamelan Degung, Kabupaten Sukabumi. 1/1=363 Hz"},degung2:{frequencies:[261.6255653006,276.67939184371,325.99375993805,390.36201910543,415.27879033283,523.2511306012],description:"Gamelan Degung, Kabupaten Bandung. 1/1=252 Hz"},degung3:{frequencies:[261.6255653006,282.83850205216,320.55017368416,393.28023705203,426.95140008307,523.2511306012],description:"Gamelan Degung, Kabupaten Sumedang. 1/1=388.5 Hz"},degung4:{frequencies:[261.6255653006,284.6485709981,319.18312009646,379.88037698982,415.46137490477,523.2511306012],description:"Gamelan Degung, Kasepuhan Cheribon. 1/1=250 Hz"},degung5:{frequencies:[261.6255653006,284.24274449773,317.86283634652,388.77066331187,430.33748813761,523.2511306012],description:"Gamelan Degung, Kanoman Cheribon. 1/1=428 Hz"},degung6:{frequencies:[261.6255653006,273.29426590363,298.47415715355,379.54129348313,409.02013274169,523.2511306012],description:"Gamelan Degung, Kacherbonan Cheribon. 1/1=426 Hz"},dekany:{frequencies:[261.6255653006,299.7792935736,305.22982618403,327.03195662575,359.73515228832,381.53728273004,419.69101100305,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"2)5 Dekany 1.3.5.7.11 (1.3 tonic)"},dekany2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,313.95067836072,348.83408706747,358.80077526939,398.6675280771,418.60090448096,448.50096908674,465.11211608996,523.2511306012],description:"3)5 Dekany 1.3.5.7.9 (1.3.5.7.9 tonic)"},dekany3:{frequencies:[261.6255653006,294.32876096318,305.22982618403,327.03195662575,343.38355445704,381.53728273004,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"2)5 Dekany 1.3.5.7.9 and 3)5 Dekany 1 1/3 1/5 1/7 1/9"},dekany4:{frequencies:[261.6255653006,270.96933548991,288.48890459486,310.68035879446,321.77608589426,355.06326719367,425.14154361347,440.3251701711,474.19633710734,485.87604984397,523.2511306012],description:"2)5 Dekany 1.7.13.19.29 (1.7 tonic)"},dekany_union:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,343.38355445704,366.27579142084,381.53728273004,392.4383479509,412.06026534844,436.04260883433,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Union of 2)5 and 3)5 [ 1 3 5 7 9] dekanies"},dent:{frequencies:[261.6255653006,276.73939277812,293.41671964988,311.13637945111,328.33487278761,349.18153137729,368.9858570375,391.91718148616,414.84850593482,438.82216331296,465.92281947955,491.98114271667,523.2511306012],description:"Tom Dent, well temperament with A=421 Hz. Integer Hz beat rates from A"},dent2:{frequencies:[261.6255653006,276.57667301797,293.18838124587,310.79781949647,328.55897053596,349.10502918563,369.05532299592,391.67735584266,414.54302837239,438.92977277749,465.83490899549,492.45596147139,523.2511306012],description:"Tom Dent, well-temperament, 2/32 and 5/32 comma. TL 3 & 5-9-2005"},dent3:{frequencies:[261.6255653006,276.38325105256,293.15632631094,310.94732162256,328.48713220126,349.22823143301,368.7143392539,391.76907592069,414.58565256441,438.73106346722,466.16376151809,492.17459484008,523.2511306012],description:'Tom Dent, Bach harpsichord "sine wave" temperament, TL 10-10-2005'},deporcy:{frequencies:[261.6255653006,272.52663052146,286.15296204753,299.00064605783,313.95067836072,327.03195662575,348.83408706747,358.80077526939,381.53728273004,392.4383479509,418.60090448096,436.04260883433,457.84473927605,478.40103369253,502.32108537715,523.2511306012],description:"A 15-note chord-based detempering of 7-limit porcupine"},diab19_612:{frequencies:[261.6255653006,267.01398215014,280.33982809972,299.03492334906,305.19382000629,313.95883772326,320.42510414137,327.02455105776,348.83292260574,366.24210002542,373.7851897098,392.43965797471,418.61038382265,427.23204601759,436.03127668087,448.5538823653,457.79225819026,488.32116993744,512.69177642068,523.2511306012],description:"diab19a in 612-tET"},diab19_72:{frequencies:[261.6255653006,266.71173418545,279.86396690685,299.37379946195,305.19382000629,314.13668154225,320.24370022528,326.46944327063,349.22823143301,366.44956000397,373.57357677338,391.99543598175,419.32216217931,427.47405410759,435.78442404634,448.5538823653,457.27406033445,489.15147723638,513.27277840175,523.2511306012],description:"diab19a in 72-tET"},diablack:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,331.11985608357,372.08969287196,392.4383479509,418.60090448096,441.49314144476,470.92601754108,523.2511306012],description:"Unique 256/245&2048/2025 Fokker block"},diachrome1:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,334.88072358477,367.91095120397,392.4383479509,418.60090448096,441.49314144476,470.92601754108,523.2511306012],description:"First 25/24&2048/2025 scale"},diacycle13:{frequencies:[261.6255653006,268.33391312882,275.39533189537,282.83844897362,290.69507255622,299.00064605783,307.79478270659,317.12189733406,327.03195662575,337.58137458142,348.83408706747,360.86284869048,373.75080757229,387.59343007496,402.50086969323,413.09299784305,424.25767346043,436.04260883433,448.50096908674,461.69217405988,475.68284600109,490.54793493862,506.37206187213,523.2511306012],description:"Diacycle on 20/13, 13/10; there are also nodes at 3/2, 4/3; 13/9, 18/13"},diaddim1:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,334.88072358477,344.91651675372,357.20610515709,367.91095120397,392.4383479509,418.60090448096,446.50763144636,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"First 2048/2025&2048/1875 scale"},dialim1:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,334.88072358477,348.83408706747,353.19451315581,367.91095120397,392.4383479509,418.60090448096,441.49314144476,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"First 27/25&2048/2025 scale"},diamisty:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.42486507835,330.74639366397,348.83408706747,372.08969287196,392.4383479509,413.89982010446,436.53496651643,470.39487098876,496.11959049595,523.2511306012],description:"Diamisty scale 2048/2025 and 67108864/66430125"},diamond11a:{frequencies:[261.6255653006,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,523.2511306012],description:"11-limit Diamond with added 16/15 & 15/8, Zoomoozophone tuning: 1/1 = 392 Hz"},diamond11ak:{frequencies:[261.6255653006,279.72330032405,285.63317938628,287.78812183066,290.69507255622,293.86839138568,299.07491977616,305.39295512204,314.19649759716,319.76457981184,326.52043447049,333.41680553884,335.93301933283,349.10721912206,359.17247822875,366.75848641051,373.2589099097,381.14243472333,392.13131479202,407.50942884268,410.58480125643,419.25667855894,428.11456140098,435.70146034294,448.26139746089,457.73103588952,465.84075338014,470.92601754108,475.68284600109,479.27160679251,489.39746055879,523.2511306012],description:"microtempered version of diamond11a, Dave Keenan TL 11-1-2000, 225/224&385/384"},diamond11at:{frequencies:[261.6255653006,279.83704120119,285.33574350137,287.98268367985,290.84948650387,293.82121114493,299.2738827313,305.22380787491,314.19079532693,320.23980272009,326.48518221507,332.71524733285,336.02719554531,349.1122100506,359.53680125564,366.52331521885,373.4984028396,380.75621844446,392.12570885984,407.39521875769,411.45055399509,419.30194782174,427.47925671618,435.70936791853,448.50981249085,457.42672761267,465.91555560021,470.67599975252,475.36147343465,479.7712027167,489.19854301666,523.2511306012],description:"microtempered version of diamond11a, OdC"},diamond11map:{frequencies:[195.99771799087,228.66400432268,261.33029065449,293.99657698631,326.66286331812,359.32914964993,391.99543598174,457.32800864536,522.66058130899,587.99315397261,653.32572663623,718.65829929986,213.81569235368,249.45164107929,285.0875898049,320.72353853051,356.35948725613,391.99543598174,427.63138470735,498.90328215858,570.1751796098,641.44707706103,712.71897451225,783.99087196348,235.19726158904,274.39680518722,313.59634878539,352.79589238357,391.99543598174,431.19497957991,470.39452317809,548.79361037444,627.19269757078,705.59178476713,783.99087196348,862.38995915983,261.33029065449,304.88533909691,348.44038753932,391.99543598174,435.55048442416,479.10553286657,522.66058130899,609.77067819382,696.88077507865,783.99087196348,871.10096884831,958.21106573314,293.99657698631,342.99600648402,391.99543598174,440.99486547946,489.99429497718,538.99372447489,587.99315397261,685.99201296804,783.99087196348,881.98973095892,979.98858995435,1077.98744894978,335.99608798435,391.99543598174,447.99478397913,503.99413197652,559.99347997391,615.99282797131,671.9921759687,783.99087196348,895.98956795826,1007.98826395305,1119.98695994783,1231.98565594261,783.99087196348],description:"11-limit diamond on a 'centreless' map"},diamond15:{frequencies:[261.6255653006,269.80136421624,279.06726965397,280.31310567921,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,301.87565226992,305.22982618403,309.19384990071,310.07474405997,313.95067836072,318.85615771011,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,340.11323489078,343.38355445704,348.83408706747,356.76213450082,359.73515228832,362.25078272391,366.27579142084,367.91095120397,372.08969287196,373.75080757229,377.90359432309,380.54627680087,383.71749577421,392.4383479509,398.6675280771,402.50086969323,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,429.33426100611,436.04260883433,441.49314144476,442.75095666255,448.50096908674,453.48431318771,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,488.36772189445,490.54793493862,507.3950357345,523.2511306012],description:"15-limit Diamond + 2nd ratios. See Novaro, 1927, Sistema Natural..."},diamond17:{frequencies:[261.6255653006,277.97716313189,281.75060878526,283.42769574232,285.40970760065,287.78812183066,299.00064605783,305.22982618403,307.79478270659,309.19384990071,313.95067836072,317.68818643644,322.00069575458,327.03195662575,332.97799220076,338.57426097725,340.11323489078,342.12573923925,348.83408706747,359.73515228832,366.27579142084,369.35373924791,370.63621750918,373.75080757229,380.54627680087,392.4383479509,400.13321751856,402.50086969323,404.33041910093,411.12588832951,418.60090448096,425.14154361347,430.91269578922,436.04260883433,442.75095666255,444.76346101102,448.50096908674,457.84473927605,475.68284600109,479.64686971777,483.00104363188,485.87604984397,492.47165233054,523.2511306012],description:"17-limit Diamond"},diamond17a:{frequencies:[261.6255653006,277.01530443593,277.97716313189,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,307.79478270659,309.19384990071,313.95067836072,317.68818643644,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,338.57426097725,340.11323489078,342.12573923925,348.83408706747,359.73515228832,362.25078272391,366.27579142084,369.35373924791,370.63621750918,373.75080757229,377.90359432309,380.54627680087,392.4383479509,400.13321751856,402.50086969323,404.33041910093,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,430.91269578922,436.04260883433,442.75095666255,444.76346101102,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,492.47165233054,494.18162334558,523.2511306012],description:"17-limit, +9 Diamond"},diamond19:{frequencies:[261.6255653006,275.39533189537,277.97716313189,281.75060878526,283.42769574232,285.40970760065,287.78812183066,292.40504357126,299.00064605783,302.93486508491,305.22982618403,307.79478270659,309.19384990071,310.68035879446,313.95067836072,317.68818643644,322.00069575458,327.03195662575,330.47439827444,332.97799220076,338.57426097725,340.11323489078,342.12573923925,348.83408706747,355.06326719367,358.01393146398,359.73515228832,366.27579142084,369.35373924791,370.63621750918,373.75080757229,380.54627680087,382.37582620857,385.55346465352,392.4383479509,400.13321751856,402.50086969323,404.33041910093,411.12588832951,414.24047839262,418.60090448096,425.14154361347,430.91269578922,436.04260883433,440.63253103259,442.75095666255,444.76346101102,448.50096908674,451.89870370104,457.84473927605,468.17206422213,475.68284600109,479.64686971777,483.00104363188,485.87604984397,492.47165233054,497.08857407114,523.2511306012],description:"19-limit Diamond"},diamond7:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,523.2511306012],description:"7-limit Diamond, also double-tie circular mirroring of 4:5:6:7"},diamond9:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,523.2511306012],description:"9-limit Diamond"},diamond_chess:{frequencies:[261.6255653006,299.00064605783,313.95067836072,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,436.04260883433,457.84473927605,523.2511306012],description:"9-limit chessboard pattern diamond. OdC"},diamond_chess11:{frequencies:[261.6255653006,287.78812183066,299.00064605783,313.95067836072,319.76457981184,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,428.11456140098,436.04260883433,457.84473927605,475.68284600109,523.2511306012],description:"11-limit chessboard pattern diamond. OdC"},diamond_dup:{frequencies:[261.6255653006,274.70684356563,280.31310567921,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Two 7-limit diamonds 3/2 apart"},diamond_mod:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,327.03195662575,336.37572681506,348.83408706747,392.4383479509,406.97310157871,418.60090448096,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"13-tone Octave Modular Diamond, based on Archytas's Enharmonic"},diamond_tetr:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,336.37572681506,339.14425131559,348.83408706747,358.80077526939,523.2511306012],description:"Tetrachord Modular Diamond based on Archytas's Enharmonic"},diaphonic_10:{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,336.37572681506,362.25078272391,392.4383479509,418.60090448096,448.50096908674,483.00104363188,523.2511306012],description:"10-tone Diaphonic Cycle"},diaphonic_12:{frequencies:[261.6255653006,274.70684356563,289.16509849014,305.22982618403,323.18452184192,343.38355445704,366.27579142084,392.4383479509,413.09299784305,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"12-tone Diaphonic Cycle, conjunctive form on 3/2 and 4/3"},diaphonic_12a:{frequencies:[261.6255653006,274.70684356563,289.16509849014,305.22982618403,323.18452184192,343.38355445704,366.27579142084,385.55346465352,406.97310157871,430.91269578922,457.84473927605,488.36772189445,523.2511306012],description:"2nd 12-tone Diaphonic Cycle, conjunctive form on 10/7 and 7/5"},diaphonic_5:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,448.50096908674,523.2511306012],description:"D5-tone Diaphonic Cycle"},diaphonic_7:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012],description:"7-tone Diaphonic Cycle, disjunctive form on 4/3 and 3/2"},diaschismic:{frequencies:[261.6255653006,266.61097723855,278.05603152599,283.35453458855,295.51835494038,301.14961170579,314.07733767684,320.06224556188,333.80185153667,340.16262034629,354.76509561975,369.99442271164,377.04485988831,393.23061088369,400.72382577504,417.92606548687,425.88986517773,444.17243057662,452.63636847719,472.06710558841,481.06259110609,501.71360968203,523.2511306012],description:"diaschismic temperament, g=105.446531, p=600, 5-limit"},diat13:{frequencies:[261.6255653006,279.06726965397,322.00069575458,348.83408706747,392.4383479509,418.60090448096,483.00104363188,523.2511306012],description:"This genus is from K.S's diatonic Hypodorian harmonia"},diat15:{frequencies:[261.6255653006,301.87565226992,327.03195662575,356.76213450082,373.75080757229,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Tonos-15 Diatonic and its own trite synemmenon Bb"},diat15_inv:{frequencies:[261.6255653006,279.06726965397,313.95067836072,348.83408706747,366.27579142084,383.71749577421,418.60090448096,453.48431318771,523.2511306012],description:"Inverted Tonos-15 Harmonia, a harmonic series from 15 from 30."},diat17:{frequencies:[261.6255653006,296.50897400735,342.12573923925,370.63621750918,386.75083566176,404.33041910093,444.76346101102,494.18162334558,523.2511306012],description:"Tonos-17 Diatonic and its own trite synemmenon Bb"},diat19:{frequencies:[261.6255653006,276.16031892841,310.68035879446,355.06326719367,368.21375857121,382.37582620857,414.24047839262,451.89870370104,523.2511306012],description:"Tonos-19 Diatonic and its own trite synemmenon Bb"},diat21:{frequencies:[261.6255653006,289.16509849014,305.22982618403,343.38355445704,366.27579142084,392.4383479509,422.62591317789,457.84473927605,523.2511306012],description:"Tonos-21 Diatonic and its own trite synemmenon Bb"},diat21_inv:{frequencies:[261.6255653006,299.00064605783,323.91736656265,348.83408706747,373.75080757229,398.6675280771,448.50096908674,473.41768959156,523.2511306012],description:"Inverted Tonos-21 Harmonia, a harmonic series from 21 from 42."},diat23:{frequencies:[261.6255653006,286.54228580542,300.86940009569,334.29933343966,353.96400011258,376.08675011961,429.81342870813,462.87600014722,523.2511306012],description:"Tonos-23 Diatonic and its own trite synemmenon Bb"},diat25:{frequencies:[261.6255653006,297.30177875068,327.03195662575,363.36884069528,384.74347838324,408.78994578219,467.18850946536,503.12608711654,523.2511306012],description:"Tonos-25 Diatonic and its own trite synemmenon Bb"},diat27:{frequencies:[261.6255653006,294.32876096318,336.37572681506,353.19451315581,371.78369805875,392.4383479509,441.49314144476,504.56359022259,523.2511306012],description:"Tonos-27 Diatonic and its own trite synemmenon Bb"},diat27_inv:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,377.90359432309,387.59343007496,406.97310157871,465.11211608996,523.2511306012],description:"Inverted Tonos-27 Harmonia, a harmonic series from 27 from 54"},diat29:{frequencies:[261.6255653006,291.81313052759,316.13089140489,344.87006335079,361.29244731988,379.35706968587,421.50785520652,474.19633710734,523.2511306012],description:"Tonos-29 Diatonic and its own trite synemmenon Bb"},diat31:{frequencies:[261.6255653006,289.65687586852,311.93817401225,337.93302184661,352.6257619269,368.65420565085,405.51962621593,450.57736246214,523.2511306012],description:"Tonos-31 Diatonic. The disjunctive and conjunctive diatonic forms are the same"},diat33:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,375.37581108347,392.4383479509,431.68218274599,479.64686971777,523.2511306012],description:"Tonos-33 Diatonic. The conjunctive form is 23 (Bb instead of B) 20 18 33/2"},diat_chrom:{frequencies:[261.6255653006,280.31310567921,301.87565226992,348.83408706747,392.4383479509,420.46965851882,452.81347840488,523.2511306012],description:"Diatonic- Chromatic, on the border between the chromatic and diatonic genera"},diat_dies2:{frequencies:[261.6255653006,266.71168334607,311.12698372208,349.22823143301,391.99543598175,399.61600264311,466.16376151809,523.2511306012],description:"Dorian Diatonic, 2 part Diesis"},diat_dies5:{frequencies:[261.6255653006,274.52693220706,311.12698372208,349.22823143301,391.99543598175,411.32564531909,466.16376151809,523.2511306012],description:"Dorian Diatonic, 5 part Diesis"},diat_enh:{frequencies:[261.6255653006,269.29177952703,311.12698372208,349.22823143301,391.99543598175,403.48177901006,466.16376151809,523.2511306012],description:"Diat. + Enharm. Diesis, Dorian Mode"},diat_enh2:{frequencies:[261.6255653006,269.29177952703,302.26980244078,349.22823143301,391.99543598175,403.48177901006,452.89298412314,523.2511306012],description:"Diat. + Enharm. Diesis, Dorian Mode 3 + 12 + 15 parts"},diat_enh3:{frequencies:[261.6255653006,302.26980244078,311.12698372208,349.22823143301,391.99543598175,452.89298412314,466.16376151809,523.2511306012],description:"Diat. + Enharm. Diesis, Dorian Mode, 15 + 3 + 12 parts"},diat_enh4:{frequencies:[261.6255653006,302.26980244078,339.28638158975,349.22823143301,391.99543598175,452.89298412314,508.3551866238,523.2511306012],description:"Diat. + Enharm. Diesis, Dorian Mode, 15 + 12 + 3 parts"},diat_enh5:{frequencies:[261.6255653006,293.66476791741,339.28638158975,349.22823143301,391.99543598175,440,508.3551866238,523.2511306012],description:"Dorian Mode, 12 + 15 + 3 parts"},diat_enh6:{frequencies:[261.6255653006,293.66476791741,302.26980244078,349.22823143301,391.99543598175,440,452.89298412314,523.2511306012],description:"Dorian Mode, 12 + 3 + 15 parts"},diat_eq:{frequencies:[261.6255653006,288.06466200271,317.1754314895,349.22823143301,391.99543598175,431.60932167676,475.22619361214,523.2511306012],description:"Equal Diatonic, Islamic form, similar to 11/10 x 11/10 x 400/363"},diat_eq2:{frequencies:[261.6255653006,287.78812183066,317.12189733406,348.83408706747,392.4383479509,431.68218274599,475.68284600109,523.2511306012],description:"Equal Diatonic, 11/10 x 400/363 x 11/10"},diat_gold:{frequencies:[261.6255653006,292.38332274669,326.75708630452,349.99258496952,391.13935185123,437.1232727958,488.51296691354,523.2511306012],description:"Diatonic scale with ratio between whole and half tone the Golden Section"},diat_hemchrom:{frequencies:[261.6255653006,273.20871865617,311.12698372208,349.22823143301,391.99543598175,409.35055662695,466.16376151809,523.2511306012],description:"Diat. + Hem. Chrom. Diesis, Another genus of Aristoxenos, Dorian Mode"},diat_smal:{frequencies:[261.6255653006,299.00064605783,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:'"Smallest number" diatonic scale'},diat_sofchrom:{frequencies:[261.6255653006,271.8968348557,311.12698372208,349.22823143301,391.99543598175,407.38495184466,466.16376151809,523.2511306012],description:"Diat. + Soft Chrom. Diesis, Another genus of Aristoxenos, Dorian Mode"},diat_soft:{frequencies:[261.6255653006,274.52693220706,302.26980244078,349.22823143301,391.99543598175,411.32564531909,452.89298412314,523.2511306012],description:"Soft Diatonic genus 5 + 10 + 15 parts"},diat_soft2:{frequencies:[261.6255653006,281.2143451833,302.26980244078,349.22823143301,391.99543598175,421.34544350737,452.89298412314,523.2511306012],description:"Soft Diatonic genus with equally divided Pyknon; Dorian Mode"},diat_soft3:{frequencies:[261.6255653006,281.2143451833,324.90175210669,349.22823143301,391.99543598175,421.34544350737,486.80259447109,523.2511306012],description:"New Soft Diatonic genus with equally divided Pyknon; Dorian Mode; 1:1 pyknon"},diat_soft4:{frequencies:[261.6255653006,302.26980244078,324.90175210669,349.22823143301,391.99543598175,452.89298412314,486.80259447109,523.2511306012],description:"New Soft Diatonic genus with equally divided Pyknon; Dorian Mode; 1:1 pyknon"},dicot:{frequencies:[261.6255653006,270.35822989652,294.32876096318,320.42456924675,331.11985608357,360.47764004221,392.4383479509,405.53734464206,441.49314144476,480.63685362987,523.2511306012],description:"Dicot temperament, g=350.9775, 5-limit"},didy_chrom:{frequencies:[261.6255653006,279.06726965397,290.69507255622,348.83408706747,392.4383479509,418.60090448096,436.04260883433,523.2511306012],description:"Didymus Chromatic"},didy_chrom1:{frequencies:[261.6255653006,279.06726965397,334.88072358477,348.83408706747,392.4383479509,418.60090448096,502.32108537715,523.2511306012],description:"Permuted Didymus Chromatic"},didy_chrom2:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,392.4383479509,470.92601754108,490.54793493862,523.2511306012],description:"Didymos's Chromatic, 6/5 x 25/24 x 16/15"},didy_chrom3:{frequencies:[261.6255653006,272.52663052146,290.69507255622,348.83408706747,392.4383479509,408.78994578219,436.04260883433,523.2511306012],description:"Didymos's Chromatic, 25/24 x 16/15 x 6/5"},didy_diat:{frequencies:[261.6255653006,279.06726965397,310.07474405997,348.83408706747,392.4383479509,418.60090448096,465.11211608996,523.2511306012],description:"Didymus Diatonic"},didy_diatinv:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Inverse Didymus Diatonic, variant of Ptolemy with 2 identical triads"},didy_enh:{frequencies:[261.6255653006,270.06509966514,279.06726965397,348.83408706747,392.4383479509,405.0976494977,418.60090448096,523.2511306012],description:"Dorian mode of Didymos's Enharmonic"},didy_enh2:{frequencies:[261.6255653006,275.62199471997,279.06726965397,348.83408706747,392.4383479509,413.43299207996,418.60090448096,523.2511306012],description:"Permuted Didymus Enharmonic"},"diesic-m":{frequencies:[261.6255653006,289.62525622617,320.62153003931,354.93508703008,392.92094947462,434.97213484265,481.52372211906,523.2511306012],description:"Minimal Diesic temperament, g=176.021, 5-limit"},"diesic-t":{frequencies:[261.6255653006,272.92239980638,281.87304203955,294.04415210774,303.68749398125,316.80053726141,327.19018747082,337.92057205022,352.51178108166,364.07260143821,379.79303732838,392.24856169057,409.18561859271,422.60509148244,436.46466102477,455.31094249407,470.24311865111,490.54793493862,506.63572944675,523.2511306012],description:"Tiny Diesic temperament, g=443.017, 5-limit"},diff31_72:{frequencies:[261.6255653006,269.29177952703,274.52698453615,279.86396690685,285.30470202322,293.66476791741,299.37379946195,305.19382000629,314.13668154225,320.24370022528,326.46944327063,336.03572815422,342.56848033562,352.60650301302,356.01745236555,366.44956000397,373.57357677338,384.52011812375,388.23978476841,399.61607881612,407.38487419079,419.32216217931,427.47405410759,435.78442404634,448.5538823653,457.27406033445,466.16376151809,479.82340237272,489.15147723638,498.66089874196,508.3551866238,523.2511306012],description:"Diff31, 11/9, 4/3, 7/5, 3/2, 7/4, 9/5 difference diamond, tempered to 72-et"},dimteta:{frequencies:[261.6255653006,282.55561052465,307.12566361375,336.37572681506,406.97310157871,439.53094970501,477.75103228805,523.2511306012],description:"A heptatonic form on the 9/7"},dimtetb:{frequencies:[261.6255653006,294.32876096318,336.37572681506,406.97310157871,457.84473927605,523.2511306012],description:"A pentatonic form on the 9/7"},div_fifth1:{frequencies:[261.6255653006,273.00058987889,285.40970760065,348.83408706747,392.4383479509,523.2511306012],description:"Divided Fifth #1, From Schlesinger, see Chapter 8, p. 160"},div_fifth2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,348.83408706747,392.4383479509,523.2511306012],description:"Divided Fifth #2, From Schlesinger, see Chapter 8, p. 160"},div_fifth3:{frequencies:[261.6255653006,271.31540105247,305.22982618403,348.83408706747,392.4383479509,523.2511306012],description:"Divided Fifth #3, From Schlesinger, see Chapter 8, p. 160"},div_fifth4:{frequencies:[261.6255653006,274.70684356563,305.22982618403,343.38355445704,392.4383479509,523.2511306012],description:"Divided Fifth #4, From Schlesinger, see Chapter 8, p. 160"},div_fifth5:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,411.12588832951,523.2511306012],description:"Divided Fifth #5, From Schlesinger, see Chapter 8, p. 160"},dkring1:{frequencies:[261.6255653006,274.70684356563,305.22982618403,313.95067836072,320.49131749323,327.03195662575,366.27579142084,392.4383479509,439.53094970501,448.50096908674,457.84473927605,470.92601754108,523.2511306012],description:"Double-tie circular mirroring of 4:5:6:7"},dkring2:{frequencies:[261.6255653006,274.70684356563,305.22982618403,329.64821227876,336.37572681506,353.19451315581,366.27579142084,392.4383479509,406.97310157871,427.32175665765,436.04260883433,470.92601754108,523.2511306012],description:"Double-tie circular mirroring of 3:5:7:9"},dkring3:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,348.83408706747,384.42940207435,392.4383479509,398.6675280771,448.50096908674,465.11211608996,504.56359022259,523.2511306012],description:"Double-tie circular mirroring of 6:7:8:9"},dkring4:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,327.03195662575,336.37572681506,367.91095120397,373.75080757229,378.42269266694,420.46965851882,467.18850946536,470.92601754108,523.2511306012],description:"Double-tie circular mirroring of 7:8:9:10"},dodeceny:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Degenerate eikosany 3)6 from 1.3.5.9.15.45 tonic 1.3.15"},dorian_chrom:{frequencies:[261.6255653006,279.06726965397,299.00064605783,310.07474405997,315.92521092903,322.00069575458,348.83408706747,380.54627680087,398.6675280771,408.39112632289,418.60090448096,465.11211608996,523.2511306012,558.13453930795,598.00129211566,620.14948811994,631.85042185805,644.00139150917,697.66817413493,761.09255360175,797.33505615421,816.78225264578,837.20180896192,930.22423217991,1046.5022612024],description:"Dorian Chromatic Tonos"},dorian_chrom2:{frequencies:[261.6255653006,274.08392555301,287.78812183066,359.73515228832,411.12588832951,426.35277308246,442.75095666255,523.2511306012],description:"Schlesinger's Dorian Harmonia in the chromatic genus"},dorian_chrominv:{frequencies:[261.6255653006,273.00058987889,285.40970760065,332.97799220076,380.54627680087,404.33041910093,428.11456140098,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Dorian inverted"},dorian_diat:{frequencies:[261.6255653006,279.06726965397,299.00064605783,322.00069575458,334.88072358477,348.83408706747,364.00078650518,380.54627680087,418.60090448096,440.63253103259,465.11211608996,492.47165233054,523.2511306012,558.13453930795,598.00129211566,644.00139150917,669.76144716954,697.66817413493,728.00157301037,761.09255360175,837.20180896192,881.26506206518,930.22423217991,984.94330466108,1046.5022612024],description:"Dorian Diatonic Tonos"},dorian_diat2:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,383.71749577421,411.12588832951,442.75095666255,479.64686971777,523.2511306012],description:"Schlesinger's Dorian Harmonia, a subharmonic series through 13 from 22"},dorian_diat2inv:{frequencies:[261.6255653006,285.40970760065,309.19384990071,332.97799220076,356.76213450082,380.54627680087,428.11456140098,475.68284600109,523.2511306012],description:"Inverted Schlesinger's Dorian Harmonia, a harmonic series from 11 from 22"},dorian_diatcon:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,383.71749577421,411.12588832951,479.64686971777,523.2511306012],description:"A Dorian Diatonic with its own trite synemmenon replacing paramese"},dorian_diatred11:{frequencies:[261.6255653006,287.78812183066,316.56693401373,348.83408706747,392.4383479509,431.68218274599,474.85040102059,523.2511306012],description:"Dorian mode of a diatonic genus with reduplicated 11/10"},dorian_enh:{frequencies:[261.6255653006,279.06726965397,299.00064605783,304.4370214407,307.2300216374,310.07474405997,348.83408706747,380.54627680087,389.39619021485,393.97732186443,398.6675280771,465.11211608996,523.2511306012,558.13453930795,598.00129211566,608.8740428814,614.4600432748,620.14948811994,697.66817413493,761.09255360175,778.79238042969,787.95464372887,797.33505615421,930.22423217991,1046.5022612024],description:"Dorian Enharmonic Tonos"},dorian_enh2:{frequencies:[261.6255653006,267.70988077271,274.08392555301,359.73515228832,411.12588832951,426.35277308246,442.75095666255,523.2511306012],description:"Schlesinger's Dorian Harmonia in the enharmonic genus"},dorian_enhinv:{frequencies:[261.6255653006,267.19206668997,273.00058987889,332.97799220076,380.54627680087,392.4383479509,404.33041910093,523.2511306012],description:"A harmonic form of Schlesinger's Dorian enharmonic inverted"},dorian_pent:{frequencies:[261.6255653006,271.49822814213,287.78812183066,359.73515228832,411.12588832951,423.21782622156,442.75095666255,523.2511306012],description:"Schlesinger's Dorian Harmonia in the pentachromatic genus"},dorian_pis:{frequencies:[261.6255653006,299.00064605783,322.00069575458,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012,558.13453930795,598.00129211566,644.00139150917,697.66817413493,761.09255360175,837.20180896192,930.22423217991,1046.5022612024],description:"Diatonic Perfect Immutable System in the Dorian Tonos, a non-rep. 16 tone gamut"},dorian_schl:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,319.76457981184,338.57426097725,359.73515228832,383.71749577421,411.12588832951,442.75095666255,460.46099492906,479.64686971777,523.2511306012],description:"Schlesinger's Dorian Piano Tuning (Sub 22)"},dorian_tri1:{frequencies:[261.6255653006,269.80136421624,278.50463402967,359.73515228832,411.12588832951,421.15334902048,431.68218274599,523.2511306012],description:"Schlesinger's Dorian Harmonia in the first trichromatic genus"},dorian_tri2:{frequencies:[261.6255653006,269.80136421624,287.78812183066,359.73515228832,411.12588832951,421.15334902048,442.75095666255,523.2511306012],description:"Schlesinger's Dorian Harmonia in the second trichromatic genus"},douwes:{frequencies:[261.6255653006,273.00058987889,292.50063201309,313.39353429974,327.01933943691,350.37786403433,365.61168556196,391.72680409,408.75840577964,436.81779569448,468.01906681552,488.36772189445,523.2511306012],description:"Claas Douwes recommendation of 24/23 and 15/14 steps for clavichord (1699)"},dow_high:{frequencies:[261.6255653006,277.01530443593,278.50463402967,294.32876096318,308.34441624714,313.31771328338,327.34193952303,331.11985608357,346.88746827803,348.83408706747,369.35373924791,392.4383479509,417.75695104451,441.49314144476,462.5166243707],description:"Highest octave of Dowlands lute tuning, strings 5,6. 1/1=G (1610)"},dow_lmh:{frequencies:[261.6255653006,278.50463402967,294.32876096318,308.34441624714,327.34193952303,348.83408706747,369.35373924791,371.33951203956,392.4383479509,411.12588832951,417.75695104451,436.45591936403,441.49314144476,462.5166243707,465.11211608996,492.47165233054,495.11934938608,523.2511306012,548.16785110602,557.00926805934,581.94122581871,588.65752192635,616.68883249427,620.14948811994,626.63542656676,656.62886977405,662.23971216714,693.77493655606,697.66817413493,736.51936392681,742.67902407912,784.8766959018,822.25177665903,831.04591330779,835.51390208901,882.98628288953,925.03324874141,939.95313985014,982.02581856908,993.35956825072,1040.66240483408,1046.5022612024,1108.06121774372,1114.01853611868,1177.3150438527,1233.37766498854,1253.27085313352,1309.3677580921,1324.47942433429,1387.54987311211,1395.33634826987,1477.41495699162,1569.7533918036,1671.02780417803,1765.97256577905,1850.06649748281],description:"All three octaves of Dowland's lute tuning"},dow_low:{frequencies:[261.6255653006,278.50463402967,294.32876096318,308.34441624714,327.34193952303,348.83408706747,369.35373924791,371.33951203956,392.4383479509,411.12588832951,417.75695104451,436.45591936403,441.49314144476,462.5166243707,465.11211608996,492.47165233054,495.11934938608,523.2511306012],description:"Lowest octave of Dowlands lute tuning, strings 1,2,3. 1/1=G. (1610)"},dow_middle:{frequencies:[261.6255653006,274.08392555301,278.50463402967,290.97061290936,294.32876096318,308.34441624714,310.07474405997,313.31771328338,328.31443488703,331.11985608357,346.88746827803,348.83408706747,368.2596819634,371.33951203956,392.4383479509,411.12588832951,415.52295665389,417.75695104451,441.49314144476,462.5166243707,469.97656992507,491.01290928454,496.67978412536,520.33120241704,523.2511306012],description:"Middle octave of Dowlands lute tuning, strings 3,4,5. 1/1=G (1610)"},dowland_12:{frequencies:[261.6255653006,278.50463402967,294.32876096318,308.34441624714,327.34193952303,348.83408706747,369.35373924791,392.4383479509,417.75695104451,441.49314144476,462.5166243707,492.47165233054,523.2511306012],description:"subset of Dowland's lute tuning, lowest octave"},druri:{frequencies:[261.6255653006,285.79952600623,326.97270111135,357.18467683857,523.2511306012],description:"Scale of druri dana of Siwoli, south Nias, Jaap Kunst"},dudon_a:{frequencies:[261.6255653006,285.85015468029,319.76457981184,348.83408706747,392.4383479509,428.77523202043,479.64686971777,523.2511306012],description:"Dudon Tetrachord A"},dudon_b:{frequencies:[261.6255653006,283.42769574232,321.58142401532,348.83408706747,392.4383479509,425.14154361347,482.37213602298,523.2511306012],description:"Dudon Tetrachord B"},dudon_c12:{frequencies:[261.6255653006,302.50455987882,327.03195662575,343.38355445704,392.4383479509,425.14154361347,474.19633710734,523.2511306012],description:"Differentially coherent scale in interval class 1 and 2"},dudon_diat:{frequencies:[261.6255653006,294.32876096318,321.08592105074,350.8160989258,392.4383479509,428.11456140098,481.6288815761,523.2511306012],description:"Dudon Neutral Diatonic"},dudon_moha_baya:{frequencies:[261.6255653006,285.30470202322,320.24370022528,349.22823143301,391.99543598175,427.47405410759,466.16376151809,523.2511306012],description:"Mohajira + Bayati (Dudon) 3 + 4 + 3 Mohajira and 3 + 3 + 4 Bayati tetrachords"},dudon_mohajira:{frequencies:[261.6255653006,285.30470202322,320.24370022528,349.22823143301,391.99543598175,427.47405410759,479.82340237272,523.2511306012],description:"Dudon's Mohajira, two 3 + 4 + 3 tetrachords, neutral diatonic"},dudon_mohajira_r:{frequencies:[261.6255653006,283.42769574232,321.58142401532,348.83408706747,392.4383479509,425.14154361347,479.64686971777,523.2511306012],description:"Jacques Dudon, JI Mohajira, Lumi\xEF\xBF\xBDres audibles"},dudon_thai:{frequencies:[261.6255653006,288.26147859917,317.63518509943,350.43752981487,386.47021463976,426.17461277719,469.97930400405,523.2511306012],description:"Dudon, coherent Thai heptatonic scale, 1/1 vol. 11/2, 2003"},dudon_thai2:{frequencies:[261.6255653006,288.02814528506,314.43072526953,347.1339209321,383.13743909274,422.44127975143,475.35895071461,523.2511306012],description:"Slightly better version, 3.685 cents deviation"},dudon_thai3:{frequencies:[261.6255653006,291.60349465796,321.58142401532,354.2846196779,394.48229767981,434.67997568173,478.96555314146,523.2511306012],description:"Dudon, Thai scale with two 704/703 = 2.46 c. deviations and simpler numbers"},duncan:{frequencies:[261.6255653006,277.97716313189,294.32876096318,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Dudley Duncan's Superparticular Scale"},duoden12:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.42486507835,330.74639366397,348.83408706747,372.08969287196,392.4383479509,413.89982010446,440.99519155196,465.63729761752,496.11959049595,523.2511306012],description:"Almost equal 12-tone subset of Duodenarium"},duodenarium:{frequencies:[14.56761754744,14.73307690724,14.74971276678,14.91724036858,14.98726085128,15.00418372272,15.10370587319,15.17460161192,15.19173601925,15.34695511171,15.36428413207,15.5387920506,15.55633768372,15.71528203439,15.73302695124,15.80687667908,15.91172305982,15.92968978813,16.00446263757,16.18624171938,16.20451842054,16.38856974087,16.57471152064,16.59342686263,16.78189541465,16.86066845769,16.87970668806,16.99166910733,17.07142681341,17.26532450067,17.28481964857,17.48114105693,17.67969228869,17.69965532014,17.78273626396,17.90068844229,17.98471302153,18.00502046726,18.2095219343,18.41634613405,18.43714095848,18.64655046072,18.73407606409,18.85833844126,18.87963234148,18.9682520149,18.98967002407,19.18369388963,19.20535516508,19.42349006325,19.44542210465,19.64410254298,19.66628368904,19.88965382477,19.91211223516,20.00557829696,20.13827449758,20.23280214922,20.25564802567,20.48571217609,20.7183894008,20.74178357829,20.97736926831,21.07583557211,21.21563074642,21.23958638417,21.33928351676,21.58165562584,21.60602456072,21.85142632116,22.09961536086,22.12456915017,22.37586055287,22.48089127691,22.50627558408,22.65555880978,22.76190241787,23.02043266756,23.0464261981,23.3081880759,23.57292305158,23.59954042685,23.71031501862,23.86758458973,23.97961736204,24.00669395635,24.27936257907,24.30677763081,24.55512817873,24.5828546113,24.86206728096,24.89014029395,25.14445125502,25.17284312198,25.29100268653,25.31956003209,25.487503661,25.60714022011,25.897986751,25.92722947286,26.22171158539,26.51953843303,26.54948298021,26.67410439595,26.85103266344,26.9770695323,27.0075307009,27.31428290145,27.62451920107,27.65571143772,27.96982569108,28.10111409614,28.2875076619,28.31944851222,28.45237802234,28.77554083445,28.80803274762,29.13523509488],description:"Ellis's Duodenarium : genus [3^12 5^8]"},duodene:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Ellis's Duodene : genus [33355]"},"duodene14-18-21":{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,336.37572681506,348.83408706747,378.42269266694,392.4383479509,406.97310157871,448.50096908674,457.84473927605,504.56359022259,523.2511306012],description:"14-18-21 Duodene"},"duodene3-11_9":{frequencies:[261.6255653006,285.40970760065,294.32876096318,319.76457981184,321.08592105074,348.83408706747,359.73515228832,392.4383479509,426.35277308246,428.11456140098,479.64686971777,481.6288815761,523.2511306012],description:"3-11/9 Duodene"},"duodene3-7":{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,457.84473927605,515.07533168556,523.2511306012],description:"3-7 Duodene"},"duodene6-7-9":{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,343.38355445704,348.83408706747,392.4383479509,406.97310157871,448.50096908674,457.84473927605,504.56359022259,523.2511306012],description:"6-7-9 Duodene"},duodene_min:{frequencies:[261.6255653006,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,353.19451315581,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Minor Duodene"},"duodene_r-45":{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,334.88072358477,353.19451315581,376.74081403286,401.85686830172,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Ellis's Duodene rotated -45 degrees"},duodene_r45:{frequencies:[261.6255653006,275.93321340298,279.06726965397,294.32876096318,313.95067836072,334.88072358477,383.2405741708,408.78994578219,436.04260883433,459.88868900496,465.11211608996,490.54793493862,523.2511306012],description:"Ellis's Duodene rotated 45 degrees"},duodene_r90:{frequencies:[261.6255653006,272.52663052146,279.06726965397,306.59245933664,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Ellis's Duodene rotated 90 degrees: genus [33555]"},duodene_skew:{frequencies:[261.6255653006,282.55561052465,290.69507255622,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,418.60090448096,436.04260883433,470.92601754108,502.32108537715,523.2511306012],description:"Rotated 6/5x3/2 duodene"},duodene_t:{frequencies:[261.6255653006,279.3825857701,293.66476791741,313.59634948548,327.03195662575,349.22823143301,367.08095907728,391.99543598175,418.60090448096,436.53528831673,469.86362971679,489.99429388332,523.2511306012],description:"Duodene with equal tempered fifths"},duowell:{frequencies:[261.6255653006,278.41172412276,294.03623226919,312.90189200955,327.96500300935,349.00756672938,368.59392213143,392.24328034087,417.4100028405,437.50413894442,469.11953885575,491.70297432358,523.2511306012],description:"Ellis duodene well-tuned to fifth=(7168/11)^(1/16) third=(11/7)^(1/2)"},dwarf6_7:{frequencies:[261.6255653006,299.00064605783,327.03195662575,373.75080757229,392.4383479509,448.50096908674,523.2511306012],description:"Dwarf(<6 10 14 17|)"},cairo:{frequencies:[261.6255653006,269.38381929633,276.03456984659,285.15047989166,293.63138642043,300.85736580106,309.799366845,312.20234522745,320.03127253896,327.93377450564,337.66851484331,348.83408706747,357.41197445437,367.9166999024,380.21445327801,392.4383479509,401.02017979859,414.62054722758,417.26565438692,427.77234352616,440.44707963064,451.93568025669,468.86302025197,480.04690880844,491.77737838459,510.98743222773,523.2511306012],description:"P.42, of d'Erlanger, vol.5. Congress of Arabic Music, Cairo, 1932"},canright:{frequencies:[261.6255653006,286.48426603331,306.03443598155,335.11270457212,357.98136125932,391.99543598175,418.74586628806,458.53356119912,489.82466832727,523.2511306012],description:`David Canright's piano tuning for "Fibonacci Suite" (2001)`},carlos_alpha:{frequencies:[261.6255653006,273.68256372566,286.29520819723,299.48910562989,313.29104303136,327.729041887,342.83241505062,358.63182625716,375.1593523779,392.44854854484,410.5345162762,429.45397474154,449.24533531117,469.94877954106,491.60634075178,514.26198936695,537.96172218451,562.75365576207,588.68812410589],description:"Wendy Carlos' Alpha scale with perfect fifth divided in nine"},carlos_alpha2:{frequencies:[261.6255653006,267.58616452957,273.68256372566,279.91785681123,286.29520819723,292.81785438923,299.48910562989,306.31234757893,313.29104303136,320.42873367481,327.729041887,335.19567257401,342.83241505062,350.6431449633,358.63182625716,366.8025131876,375.1593523779,383.7065849236,392.44854854484,401.3896797878,410.5345162762,419.88769901416,429.45397474154,439.23819834286,449.24533531117,459.48046426806,469.94877954106,480.6555937997,491.60634075178,502.8065779009,514.26198936695,525.97838877075,537.96172218451,550.21807114943,562.75365576207,575.57483783111,588.68812410589],description:"Wendy Carlos' Alpha prime scale with perfect fifth divided by eightteen"},carlos_beta:{frequencies:[261.6255653006,271.44693432634,281.63699549204,292.20958942356,303.17907632096,314.56035546319,326.36888544505,338.62070517372,351.33245565363,364.52140258903,378.2054598351,392.40321372938,407.13394833666,422.41767164147,438.27514272393,454.72789995564,471.7982902542,489.50949943583,507.88558370741,526.95150234083,546.73315157381,567.25739978343,588.55212398003],description:"Wendy Carlos' Beta scale with perfect fifth divided by eleven"},carlos_beta2:{frequencies:[261.6255653006,266.49100855797,271.44693432634,276.49502530642,281.63699549204,286.87459075215,292.20958942356,297.64380291476,303.17907632096,308.81728905054,314.56035546319,320.41022551991,326.36888544505,332.43835840072,338.62070517372,344.91802487526,351.33245565363,357.86617542024,364.52140258903,371.30039682974,378.2054598351,385.23893610237,392.40321372938,399.70072522531,407.13394833666,414.70540688852,422.41767164147,430.27336116448,438.27514272393,446.42573318931,454.72789995564,463.18446188312,471.7982902542,480.57230974851,489.50949943583,498.61289378764,507.88558370741,517.33071758003,526.95150234083,536.75120456442,546.73315157381,556.90073257014,567.25739978343,577.80666964473,588.55212398003],description:"Wendy Carlos' Beta prime scale with perfect fifth divided by twentytwo"},carlos_gamma:{frequencies:[261.6255653006,266.98388983977,272.45195763676,278.03201633122,283.72635959645,289.53732808222,295.4673103769,301.51874398927,307.69411635045,313.99596583639,320.42688281121,326.98951069203,333.68654703547,340.52074464653,347.49491271011,354.6119179457,361.87468578579,369.2862015783,376.84951181374,384.56772537748,392.44401482761,400.48161769905,408.68383783428,417.05404674148,425.59568498025,434.31226357598,443.20736546293,452.28464695708,461.547839259,471.00074998758,480.64726474513,490.49134871455,500.53704828923,510.78849273629,521.24989589392,531.92555790347],description:"Wendy Carlos' Gamma scale with third divided by eleven or fifth by twenty"},carlos_harm:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,425.14154361347,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Carlos Harmonic & Ben Johnston's scale of 'Blues' from Suite f.micr.piano (1977) & David Beardsley's scale of 'Science Friction'"},carlos_super:{frequencies:[261.6255653006,277.97716313189,294.32876096318,313.95067836072,327.03195662575,348.83408706747,359.73515228832,392.4383479509,425.14154361347,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Carlos Super Just"},carlson:{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Brian Carlson's guitar scale (or 7 is 21/16 instead) fretted by Mark Rankin"},cassandra1:{frequencies:[261.6255653006,265.52313139125,271.43629763673,275.48001908354,279.58398024378,283.7490817683,290.06813927787,294.38942683035,298.7750924519,305.42877739024,309.97889991383,314.59680966486,319.28351286859,326.39391783308,331.25637026535,336.19125912653,343.67819754196,348.79814248043,353.99435973883,359.26798967332,367.26884406885,372.74022844163,378.29312490007,386.71766674112,392.47878977853,398.32574139651,407.19640716832,413.26261206104,419.41919061043,425.66748431192,435.14704737009,441.62964923022,448.20882304357,458.19037897128,465.01626879626,471.9438445688,478.97462660712,489.64133323501,496.93576068834,504.33885972365,515.57042175735,523.2511306012],description:"Cassandra temperament (Erv Wilson), 13-limit, g=497.866"},cassandra2:{frequencies:[261.6255653006,265.34593985135,270.18130909623,275.10479273152,279.0168449367,284.10133754875,289.27848429833,293.3920895946,298.7385406747,304.18241953205,309.72550158209,314.12986807617,319.85422136322,325.68288889698,330.31417303802,336.33345109576,342.46241778116,348.70307193775,353.66170827405,360.10644584283,366.66862514012,371.88273569526,378.65951299923,385.5597827545,392.58579535013,398.16845391153,405.42423290482,412.81223314336,418.68251621245,426.31212065787,434.08075852776,440.25348482514,448.27617460765,456.44506096456,464.76280801961,471.37183998139,479.96159605313,488.70788228454,495.65741860341,504.6897280454,513.8866322474,523.2511306012],description:"Cassandra temperament, schismic variant, 13-limit, g=497.395"},catler:{frequencies:[261.6255653006,269.80136421624,279.06726965397,294.32876096318,299.00064605783,305.22982618403,313.95067836072,318.93402246168,322.00069575458,327.03195662575,343.38355445704,348.83408706747,359.73515228832,367.91095120397,380.54627680087,392.4383479509,418.60090448096,425.14154361347,436.04260883433,441.49314144476,457.84473927605,465.11211608996,483.00104363188,490.54793493862,523.2511306012],description:'Catler 24-tone JI from "Over and Under the 13 Limit", 1/1 3(3)'},cbrat19:{frequencies:[261.6255653006,272.05448646742,281.65887246066,291.7164960911,303.76422848609,314.23522436032,325.78124145721,339.14379232251,350.05979530932,364.18597952318,377.95660802413,389.93691761381,406.2330981776,420.87727247778,436.65546295526,454.14747622901,467.92430113657,486.684954898,506.27371414348,523.2511306012],description:"brats = -1 -1 -1 -1 -1 -1 -1 -1 0 3/7 390808/591947 1/2 1/2 1/2 1/2 1/4 0 0 -1"},ceb88f:{frequencies:[261.6255653006,275.30280934529,289.60851057007,304.80308899558,320.69584574771,337.31885569235,354.97473368038,373.44187862432,393.05647479461,413.57234190108,435.03089105397,457.82276134277,481.66189358475,506.59641128799],description:"88 cents steps with equal beating fifths"},ceb88s:{frequencies:[261.6255653006,275.27750547448,289.60710371138,304.74878776577,320.64207659236,337.32428016541,354.95189689869,373.45451504132,392.8755714351,413.39725679488,434.93759942207,457.54716438978,481.43806014345,506.51485544552,533.01280425363],description:"88 cents steps with equal beating sevenths"},ceb88t:{frequencies:[261.6255653006,275.20384442973,289.60910777612,304.54100616185,320.3823320487,337.18847246966,354.60902163481,373.09056856306,392.69773188536,413.02170471677,434.58350960486,457.45853552679,481.16983689269,506.32527343025,533.01280425363],description:"88 cents steps with equal beating 7/6 thirds"},cet105:{frequencies:[261.6255653006,277.98437592617,295.36606150822,313.83458334354,333.45789502888,354.30820661869,376.46223533368,400.00150378562,425.01262301844,451.58762919357,479.82430313337,509.82655042708,541.70476218406,575.57624366132],description:"Equal temperament with very good 6/5 and 13/8"},cet105a:{frequencies:[261.6255653006,278.09098920184,295.59266404146,314.19580976213,333.96974580612,354.98815389674,377.32935907335,401.07660961589,426.31839262878,453.14877154631,481.66772230429,511.98151233648,544.20310589723,578.45256778249,614.85751848055,653.5536209391,694.68506540856,738.40511604959,784.8766959018],description:"18th root of 3"},cet111:{frequencies:[261.6255653006,279.02234237845,297.57591715819,317.3632108372,338.46625752841,360.97255206362,384.97540137331,410.57431878206,437.87543474729,466.99193686517,498.04453913461,531.16197935691,566.48156495049,604.14972437838,644.32262592407,687.16682227215,732.8599410185,781.59142109591,833.56329335333,888.99103711409,948.10444554232,1011.14859670036,1078.38486510237,1150.09200534594,1226.56730779978,1308.127826503],description:'25th root of 5, Karlheinz Stockhausen in "Studie II" (1954)'},cet111a:{frequencies:[261.6255653006,279.09119608948,297.72279782842,317.59821198502,338.80046946076,361.41815173468,385.54574794778,411.2840547398,438.74060487161,468.03009995854,499.27490936609,532.60556349815,568.16130614457,606.09068659426,646.55215742719,689.71476370538,735.75882016749,784.8766959018],description:"17th root of 3. McLaren 'Microtonal Music', volume 1, track 8"},cet112:{frequencies:[261.6255653006,279.13807488234,297.82282461384,317.75828292395,339.02816520012,361.72179601836,385.93447726538,411.76789245756,439.33052439618,468.73812456399,500.11419015728,533.59048802364,569.30759588159,607.4155105893,648.07426630787,691.45461344743,737.73872000797,787.12095980595,839.80871352279,896.02324851892,956.00062766807,1019.99273078287,1088.26829265547,1161.11404316696,1238.83588500259,1321.76021726874,1410.23528064063,1504.63263477595,1605.34868446028,1712.8063948195,1827.45703443292,1949.78208984359,2080.29524321777,2219.54459500735,2368.11492276755,2526.63016208001,2695.75596930795,2876.20260183901,3068.72784518,3274.14022786751,3493.30234242079,3727.13457771193,3976.61891204907,4242.80307922676,4526.8048719912,4829.81697864182,5153.11189830808,5498.04733953642,5866.07179694692,6258.73081875602,6677.6733762505,7124.65885956048,7601.56430418436,8110.3925243186],description:"53rd root of 31. McLaren 'Microtonal Music', volume 4, track 16"},cet114:{frequencies:[261.6255653006,279.47933554513,298.55147893584,318.92513586406,340.68912750315,363.93832870511,388.77409689134,415.30469757995,443.64579124771,473.92093172942,506.26209616971,540.81027939262,577.71608583803,617.1404103833,659.25511382574,704.24379572788,752.30258557703,803.64098403142,858.48280642307,917.06712239825,979.64933665453,1046.5022612024],description:"21st root of 4"},cet115:{frequencies:[261.6255653006,279.68949451567,299.00064605783,319.64513593742,341.71502406609,365.30872604057,390.53145607553,417.49568846357,446.32166408632,477.13792869952,510.08190181294],description:"2nd root of 8/7. Werner Linden, Musiktheorie, 2003 no.1 midi 15.Eb=19.44544 Hz"},cet117:{frequencies:[261.6255653006,279.86396690685,299.37379946195,320.24370022528,342.56848033562,366.44956000397,391.99543598175,419.32216217931,448.5538823653,479.82340237272,513.27277840175,549.0539690723,587.32953583482,628.27336308449,672.07145630843,718.92279942609,769.0402362475,822.65144744826,880,941.34642612261,1006.96941915374,1077.1671181081,1152.25842837255,1232.58448551457,1318.51022765149,1410.42601205207,1508.74940691646,1613.92711604023,1726.4369576214,1846.79005749489,1975.53320502451,2113.25127526858,2260.56991361642,2418.15841952625,2586.73271138559,2767.05861265008,2959.95538169309],description:"72nd root of 128, step = generator of Miracle"},cet118:{frequencies:[261.6255653006,280.22072913446,300.13755324878,321.46997343155,344.3186075731,368.79121945838,395.0032340925,423.07827792492,453.14877154631,485.35654007358,519.85349135637,556.8023269521,596.37732215892,638.76512932755,684.16567043124,732.79307276157,784.8766959018],description:"16th root of 3. McLaren 'Microtonal Music', volume 1, track 7"},cet126:{frequencies:[261.6255653006,281.50639381697,302.89795903081,325.91506125677,350.68122444233,377.32935907335,406.00247545366,436.85445118639,470.05085697597,505.76984518255,544.20310589723,585.55689566922,630.05314440547,677.93064638327,729.44634176744,784.8766959018],description:"15th root of 3. McLaren 'Microtonal Music', volume 1, track 6"},cet126a:{frequencies:[261.6255653006,281.42815779395,302.72962012827,325.64340264099,350.29154279212,376.80531512858,405.32593044476,436.00528786292,469.00678383895,504.50618240233,542.69254813034,583.76926541313,627.95510352048,675.48539363125,726.61327927927,781.61106458091,840.77166451082,904.41016494992,972.86550081423,1046.5022612024],description:"19th root of 4"},cet133:{frequencies:[261.6255653006,282.54488373859,305.13688994853,329.53533037111,355.88464567857,384.34082587483,415.07233376839,448.26110228542,484.10361152681,522.81205194575,564.61558053174,609.76167743791,658.5176110828,711.17202040031],description:"13th root of e"},cet140:{frequencies:[261.6255653006,283.72172983292,307.68407293041,333.67021037701,361.85106232365,392.4119924075,425.55401329039,461.49511402661,500.47170241421,542.7401414615,588.57845795114,638.28815062634,692.19618110881,750.65713728047,814.05554253056,882.80839491877,957.36792629418,1038.22454144983,1125.91008648826,1221.00130775733,1324.12366033919,1435.95544645068,1557.23222387914,1688.75170820144,1831.3789571042],description:"24th root of 7"},cet141:{frequencies:[261.6255653006,283.85429714132,307.97166902637,334.13814720468,362.52783176564,393.32961502355,426.7484383229,463.0066556268,502.34551296122,545.02675670673,591.33436279611,641.57644431325,696.08728968715,755.22958979995,819.39685117042,889.01601417107,964.55029369918,1046.5022612024],description:"17th root of 4"},cet146:{frequencies:[261.6255653006,284.69629445872,309.80145226022,337.12043918596,366.84847565362,399.19799705513,434.40017432099,472.70655602525,514.39088038704,559.75102196641,609.11112257023,662.82390755693,721.27320639821,784.8766959018],description:"13th root of 3, Bohlen-Pierce approximation"},cet148:{frequencies:[261.6255653006,284.92791524313,310.30575035912,337.94392545772,368.04376529149,400.82452432448,436.52498800167,475.40520223986,517.74838217475,563.86296895784,614.08486606944,668.77990486322,728.34649714081,793.21854485147,863.86858278563,940.81124699851,1024.60701225804,1115.86625569541,1215.25373699679,1323.49342609599,1441.37375222579,1569.7533918036],description:"21th root of 6, Moreno's C-21"},cet152:{frequencies:[261.6255653006,285.70808394691,312.0073878821,340.72733440875,372.0911362405,406.34196228781,443.74556186468,484.59214639302,529.19833545193,577.91081034511,631.10724720728,689.20039277289,752.64098693245,821.92125998587],description:"13th root of pi"},cet158:{frequencies:[261.6255653006,286.70831230381,314.19580976213,344.3186075731,377.32935907335,413.50494015483,453.14877154631,496.5933637384,544.20310589723,596.37732215892,653.5536209391,716.21156534988,784.8766959018],description:`12th root of 3, Moreno's A-12, see dissertation "Embedding Equal Pitch Spaces.`},cet159:{frequencies:[261.6255653006,286.82842069679,314.45911373416,344.75151869218,377.96204482418,414.37180231943,454.28897403052,498.05144066897,546.02962057131],description:"4e-th root of e. e-th root of e is highest x-th root of x"},cet160:{frequencies:[261.6255653006,286.95745534843,314.74210513576,345.21700307457,378.64263238751,415.30469757995,455.51656649021,499.62194879119,547.99783383788,601.05771297194,659.25511382574,723.0874768355,793.10040709753,869.89233791055,954.11964586525,1046.5022612024],description:'15th root of 4, Rudolf Escher in "The Long Christmas Dinner" (1960)'},cet160a:{frequencies:[261.6255653006,287.06963246392,314.98822873932,345.62201499981,379.23505183234,416.11708252541,456.58602635137,500.99072933585,549.71395617638,603.17569602575,661.83679400878,726.20290371434,796.8288589228,874.32344802967,959.35468153537,1052.65552131526,1155.03021091382,1267.36122959081,1390.6168610076,1525.85955590014,1674.2551187631,1837.08270650821,2015.74588766663,2211.78472029595,2426.88907720145,2662.91313932742,2921.89140956529,3206.0563044734,3517.85730085803,3859.98211320646,4235.37982185266,4647.28638964387,5099.2524155536,5595.17379976366,6139.32543031277,6736.39784717273,7391.53779523322,8110.3925243186],description:"37th root of 31. McLaren 'Microtonal Music', volume 2, track 7"},cet163:{frequencies:[261.6255653006,287.45276480522,315.82957660097,347.00769742017,381.26366336311,418.90131810157,460.25449359467,505.68997636603,555.61077020009,610.45965236807],description:'9th root of 7/3. Jeff Scott in "Quiet Moonlight" (2001)'},cet163a:{frequencies:[261.6255653006,287.41152361975,315.7389582221,346.85836204295,381.04491126651,418.60090448096,459.85843616195,505.18233428314,554.97338050766],description:"5th root of 8/5"},cet166:{frequencies:[261.6255653006,287.95619440582,316.93680165166,348.83408706747],description:"3rd root of 4/3"},cet173:{frequencies:[261.6255653006,289.10449173793,319.46957112932,353.02394045842,390.10257564198,431.07563562091,476.35215768611,526.38414093011,581.67105858963,642.7648443263,710.27540222401,784.8766959018],description:"11th root of 3, Moreno's A-11"},cet175:{frequencies:[261.6255653006,289.48414624674,320.30918244523,354.41654988346,392.15575985798,433.91353804458,480.11779720922,531.2420078798,587.8100594825,650.40162657281,719.65810898332,796.28920449429,881.08018137935,974.89992535123,1078.70983713651,1193.57370864212,1320.66858845324,1461.29686662697,1616.89961515233,1789.07135516847,1979.57639663535,2190.36691789568,2423.60297039629,2681.67459807517,2967.22638952895,3283.18448966052,3632.78664249769,4019.61535560076,4447.6346101102],description:"28th root of 7. McLaren 'Microtonal Music', volume 6, track 3"},cet175a:{frequencies:[261.6255653006,289.53628281337,320.42456924675,354.60807736883,392.4383479509,434.30442400296,480.63685362987,531.91211578736],description:"4th root of 3/2"},cet178:{frequencies:[261.6255653006,289.91935960089,321.27301846367,356.01745236555,394.51936464224,437.18511000944,484.46499093218,536.85800524663,594.91712478053,659.25511382574,730.5510078664,809.55727745129,897.10776473059,994.12650420781,1101.63744560301,1220.77528002516,1352.79740322961,1499.09721690784,1661.21879031979,1840.87318566558,2039.95650991293,2260.56991361642,2505.04181781964,2775.9524141353,3076.16094499002,3408.83584914421,3777.48827884202,4186.0090448096],description:"27th root of 16"},cet181:{frequencies:[261.6255653006,290.48091212946,322.51878830959,358.09020513941,397.58488163802,441.43552612833,490.12256936272,544.17943316245,604.19836236377,670.83693141722,744.82523718317,826.97390553231,918.18295398723,1019.45167961503,1131.88958971281,1256.72856920928,1395.33634826987],description:"6.625 tET. The 16/3 is the so-called Kidjel Ratio promoted by Maurice Kidjel in 1958"},cet182:{frequencies:[261.6255653006,290.70585738945,323.0184918031,358.92275093366,398.81785224951,443.14738973192,492.40425618917,547.1361382945,607.95159681319,675.52683545966,750.61321956915,834.04563048717,926.75174856904,1029.76237395443,1144.22286477952,1271.40590625444,1412.7256395721,1569.7533918036],description:"17th root of 6, Moreno's C-17"},cet195:{frequencies:[261.6255653006,292.81795587218,327.72927094457,366.80289667873,410.53509014096,459.48126579586,514.26306468681,575.57624366132],description:"7th root of 11/5"},cet21k:{frequencies:[261.6255653006,264.89588486686,268.20708342769,271.55967197054,274.95416787017,278.3910952928,281.87098404962,285.39437141672,288.96180112674,292.57382370898,296.23099657435,299.9338841014,303.68305772341,307.47909424051,311.32258299104,315.21411535185,319.1542918681,323.14372059172,327.18301717534,331.2728049672,335.41371510742,339.60638662537,343.85146653829,348.14960995112,352.50148015762,356.90774874273,361.36909568619,365.8862094675,370.45978717215,375.09053459917,379.77916637013,384.52640603933,389.33298620552,394.19964862491,399.1271443257,404.11623372391,409.16768674077,414.28228292154,419.46080913287,424.70406934596,430.01287031296,435.38803129329,440.83038178715,446.34076166346,451.92002128953,457.56902166224,463.28863454093,469.07974258197,474.94323947488,480.88003008033,486.89103056976,492.97716856672,499.13938329007,505.37862569893,511.69585863936,518.09205699304,524.56820782765],description:"scale of syntonic comma's, almost 56-tET"},cet222:{frequencies:[261.6255653006,297.3462123974,337.94392545772,384.08458333231,436.52498800167,496.12526073276,563.86296895784,640.8491384935,728.34649714081,827.79017883768,940.81124699851,1069.2634803114,1215.25373699679,1381.1765584523,1569.7533918036],description:"14th root of 6, Moreno's C-14"},cet233:{frequencies:[261.6255653006,299.41460910537,342.66187834083,392.15575985798,448.79850611373,513.6227001391,587.8100594825,672.71300106294,769.87926947615,881.08018137935,1008.34288220748,1153.98733901804,1320.66858845324,1511.42518780658,1729.7345489351,1979.57639663535,2265.50524176842,2592.73349533282,2967.22638952895,3395.81083571538,3886.29974647262,4447.6346101102],description:"21st root of 17. McLaren 'Microtonal Music', volume 2, track 15"},cet24:{frequencies:[261.6255653006,265.3411057651,269.1094134006,272.9312375932,276.80733837157,280.73848655813,284.72546392233,288.7690633361,292.87008893155,297.02935626086,301.24769245848,305.52593640563,309.86493889709,314.26556281043,318.72868327757,323.25518785885,327.84597671953,332.50196280875,337.22407204116,342.01324348101,346.8704295289,351.79659611118,356.79272287204,361.85980336835,366.9988452672,372.21087054633,377.49691569736,382.85803193188,388.29528539052,393.80975735501,399.40254446313,405.07475892685,410.82752875349,416.66199797006,422.57932685074,428.58069214763,434.66728732478,440.84032279551,447.10102616311,453.45064246502,459.89043442035,466.42168268106,473.04568608657,479.76376192214,486.57724618073,493.48749382879,500.49587907561,507.6037956467,514.81265706088,522.12389691142,529.53896915113],description:"least squares fit primes 2-13"},cet258:{frequencies:[261.6255653006,303.75687573192,352.67287219582,409.46613795376,475.40520223986,551.96287401486,640.8491384935,744.04935121924,863.86858278563,1002.98310468409,1164.50016626124,1352.0273979586,1569.7533918036],description:"12th root of 6, Moreno's C-12"},cet29:{frequencies:[51.91308719749,52.80006242627,53.70219231256,54.6197354699,55.55295587693,56.50212107609,57.46750349647,58.44938022184,59.44803272677,60.46374832519,61.49681820986,62.54753889218,63.61621194966,64.70314373878,65.80864697157,66.93303858176,68.07664129187,69.2397833384,70.42279815925,71.62602610967,72.84981213985,74.09450750046,75.36046944358,76.64806088248,77.95765225928,79.28961901721,80.64434345693,82.02221441105,83.42362735565,84.84898403373,86.29869452271,87.77317443616,89.27284697886,90.79814258634,92.34949851506,93.9273610926,95.53218267212,97.16442386902,98.82455316866,100.51304648023,102.230389586,103.97707482641,105.75360353451,107.56048560902,109.39823902877,111.26739251837,113.16848194039,115.10205294491,117.06866050489,119.06886838764,121.10325205621,123.17239474253,125.2768903313,127.4173428542,129.59436591466,131.80858584574,134.06063743615,136.35116706905,138.68083217153,141.05030058861,143.46025402018,145.91138336926,148.40439215824,150.93999592972,153.51892156515,156.14191102559,158.8097162888,161.52310306741,164.28285015685,167.08974869373,169.94460622727,172.84824120887,175.80148703892,178.80519135714,181.8602162858,184.96743760879,188.12774927869,191.34205731671,194.61128429254,197.93636853869,201.31826325695,204.75794142387,208.2563891515,211.8146105632,215.43362693858,219.11447574094,222.85821595641,226.66592086774,230.53868336123,234.47761499594,238.48384494529,242.55852580808,246.70282574354,250.91793424736,255.20506113867,259.56543598745],description:"95th root of 5"},cet39:{frequencies:[261.6255653006,267.55763511324,273.62420803617,279.82833216202,286.17312954462,292.66178817784,299.29756995616,306.08381073387,313.02392200207,320.12139075456,327.37978859613,334.80276256646,342.39404424694,350.15744982839,358.09687996112,366.21632994368,374.51987945827,383.01170275779,391.6960687417,400.57734310204,409.65998815178,418.94857448076,428.44776921301,438.16234766073,448.09719341103,458.25729813392,468.64777462103,479.27384364987,490.14084702027,501.25424765147,512.61963232837,524.24271148185,536.12933410494,548.28547272565,560.71723832061,573.43088042607,586.43278689221,599.72950056876,613.32770249519,627.23422858353,641.45606974252,656.00037539202,670.87445318194,686.08578808043,701.64202314362,717.55097860059,733.82065199545,750.45921787297,767.47504913108,784.8766959018],description:"49th root of 3"},cet39a:{frequencies:[261.6255653006,267.54999903763,273.60843178624,279.80421399945,286.14029787289,292.61969147246,299.24597805224,306.02231493662,312.9519192023,320.03862308027,327.28580327671,334.69690040195,342.27601296361,350.02675229311,357.95279806627,366.05853356918,374.34782106107,382.82459589435,391.49354592099,400.35880176332,409.42457221564,418.6958708581,428.17711532294,437.87280684605,447.78830736843,457.9283414747,468.29772316218,478.90218693807,489.74678566745,500.83666784082,512.17796641877,523.77608535691],description:"31-tET with least squares octave; equal weight to 5/4, 3/2, 7/4 and 2/1"},cet39b:{frequencies:[261.6255653006,267.54443554965,273.59736903996,279.78708267123,286.11699418435,292.58994480246,299.2095086599,305.97865699219,312.90112748358,319.98002733127,327.21907624411,334.6220906301,342.19239338178,349.93416455252,357.85087908811,365.94690831825,374.22588619981,382.6921630398,391.3502022376,400.20389001205,409.25811505631,418.51694141988,427.98548149913,437.66798531163,447.56979919346,457.69536764001,468.05001127562,478.63918904181,489.46765396188,500.54138513107,511.86535306771,523.4458104663],description:"31-tET with l.s. 8/7, 5/4, 4/3, 3/2, 8/5, 7/4, 2/1; equal weights"},cet39c:{frequencies:[261.6255653006,267.52919373065,273.56603860918,279.73910598956,286.05147140959,292.50627485027,299.10673210371,305.85612987468,312.75782903301,319.8152662872,327.03195662575,334.41149334841,341.95754947331,349.67388372612,357.56433846376,365.63284274659,373.88341429498,382.32016148985,390.94728541851,399.7690842757,408.78994578219,418.01436575232,427.44693588739,437.09235368188,446.9554220819,457.04105241293,467.35426952494,477.9002035559,488.68410850494,499.71135422907,510.98743222773,522.51795602393],description:"10th root of 5/4"},cet39d:{frequencies:[261.6255653006,267.55786538889,273.62467903016,279.82905628857,286.1741163878,292.66304927922,299.29911724561,306.08565654127,313.02607906932,320.12387409698,327.38261000985,334.80593610581,342.39758442978,350.16137164992,358.1012009765,366.22106412416,374.52504331879,383.0173133498,391.70214366901,400.58390053708,409.66704921865,418.95615622721,428.45589162089,438.17103135034,448.1064596598,458.26717154264,468.65827525256,479.28499487175,490.15267293726,501.26677312698,512.63288300643,524.25671683791],description:"31-tET with l.s. 5/4, 3/2, 7/4"},cet39e:{frequencies:[261.6255653006,267.56053134626,273.63013029147,279.83741943955,286.18551905392,292.67762672082,299.3170076044,306.10700082387,313.05102655064,320.15257723818,327.41522444303,334.84262641603,342.43851674365,350.20672153383,358.15114775562,366.27579142084],description:"15th root of 7/5, X.J. Scott"},cet44:{frequencies:[261.6255653006,268.36512159638,275.27829096782,282.369545742,289.64347345451,297.10477981732,304.75829176301,312.60896056742,320.66186505284,328.92221487359,337.3953538863,346.08676360706,355.00206675748,364.14703090225,373.52757218034,383.14975913231,393.01981662619,403.14412988459,413.52924861543,424.18189124916,435.1089492851,446.31749174973,457.81476976988,469.60822126365,481.70547575226,494.11435929576,506.84289955596,519.89933098975,533.2921001762],description:"least maximum error of 10.0911 cents to a set of 11-limit consonances"},cet45:{frequencies:[261.6255653006,268.55812265554,275.67437899809,282.97903853108,290.47742047479,298.17449463282,306.07552595385,314.18591889722,322.51122112969,331.05693609414,339.82928674186,348.83408706747],description:"11th root of 4/3"},cet45a:{frequencies:[261.6255653006,268.48547646737,275.52525683447,282.74962263341,290.1634137569,297.77159700127,305.57926939395,313.59166160814,321.8141414671,330.2522175402,338.9115428334,347.79791857637,356.91729810903,366.27579142084],description:"13th root of 7/5, X.J. Scott"},cet49:{frequencies:[261.6255653006,269.10883825956,276.80615518671,284.72363837915,292.86758524998,301.24447333711,309.86096545541,318.72391499615,327.84037137809,337.21758565441,346.86301628009,356.78433504421,366.98943317194,377.48642760107,388.28366743806,399.38974059878,410.81348063915,422.56397378117,434.65056613995,447.08287115744,459.87077724873,473.02445566714,486.55436859423,500.47127746122,514.78625150841,529.51067658945],description:"least squares fit primes 3-13"},cet49a:{frequencies:[261.6255653006,269.10939785623,276.80730639354,284.72541458317,292.8700212642,301.24760545475,309.86483150611,318.72855440416,327.84582522255,337.22389673177,346.87022916874,356.7924961714,366.99859088307,377.49663223147,388.29497138724,399.40219840734,410.82714906841,422.57891189558,434.66683539241,447.10053547759,459.8899031344,473.04511227892,486.57662785344,500.49521415122,514.81194337949,529.53820446742],description:"least squares fit primes 5-13"},cet49b:{frequencies:[261.6255653006,269.11089011973,276.81037630182,284.73015118141,292.87651740119,301.25595792767,309.87514121046,318.74092648901,327.86036925135,337.24072684885,346.88946427176,356.81426008988,367.0230125633,377.52384592787,388.3251168606,399.43542112995,410.86360043647,422.61874944911,434.71022304287,447.14764374346,459.94090938509,473.10020098719,486.63599085665,500.55905092174,514.88046130456,529.61161913871],description:"least squares fit primes 3-11"},cet51:{frequencies:[261.6255653006,269.45730810595,277.52349357863,285.8311397433,294.38747470873,303.19994295657,312.27621181854,321.62417814738,331.25197518754,341.1679796516,351.38081900843,361.89937898954,372.73281132023,383.89054168203,395.38227791356,407.21801845694,419.40806105693,431.96301172054,444.89379394488,458.21165822114,471.92819182319,486.05532888913,500.60536080461,515.59094689708,531.0251223827,546.92132188791,563.29337300176,580.1555203085,597.52243480304,615.40922665547,633.83145835774,652.80515826392,672.34683453572,692.47348950549,713.20263446921,734.55230492227,756.54107625132,779.18807989593,802.51301999392,826.53619052513,851.2784929682,876.7614544861,903.00724665589,930.0387047592,957.87934765022,986.55339821839,1016.08580446361,1046.5022612024],description:"47nd root of 4"},cet53:{frequencies:[261.6255653006,269.81714175785,278.26519897904,286.97776745533,295.963129115,305.22982618403],description:"5th root of 7/6, X.J. Scott"},cet54:{frequencies:[261.6255653006,269.96706985652,278.57452968396,287.45642599351,296.6215054241,306.0787984682,315.83762188043,325.9075894649,336.29862154621,347.0209567468,358.08515411748,369.5021153806,381.28308783765,393.43967739203,405.98385998242,418.92799580061,432.28483186346,446.06752886518,460.28966468743,474.96525012045,490.10874266572,505.73506369981,521.85960157932,538.49824405725,555.66738252045,573.38393096839,591.66534267587,610.52963091344,629.99537269573,650.08174791487,670.80854445602,692.19618110881,714.26572768264,737.03893002078,760.53821452531,784.78673539949,809.80838082331,835.62780061242,862.2704354823,889.76252234217,918.13114956434,947.40426420901,977.61070438283,1008.78022764847,1040.94354635268,1074.13233401713,1108.37929206026,1143.71815851921,1180.1837471134,1217.81198154093,1256.63993812708,1296.7058535394,1338.04920533515,1380.71072249048,1424.73243255855,1470.15770307252,1517.03129303135,1565.39936221354,1615.30956841503,1666.81108016015,1719.95463363144,1774.79258265191,1831.3789571042],description:"62nd root of 7"},cet54a:{frequencies:[36.70809598968,37.88151295543,39.09243955873,40.34207507177,41.63165640381,42.96246070241,44.33580570763,45.75305128262,47.21560103286,48.72490261351,50.28245077394,51.88978777214,53.5485051662,55.26024570942,57.02670371,58.84962859429,60.73082539186,62.67215683218,64.67554556259,66.74297456936,68.87649134796,71.07820847085,73.35030604133,75.69503428946,78.11471406483,80.61174171737,83.18858976192,85.8478097501,88.59203530858,91.42398271579,94.34645661434,97.36235078878,100.47465152683,103.6864411753,107.00089881505,110.42130694669,113.95105240089,117.59363027227,121.3526480812,125.23182656372,129.23500749643,133.36615476182,137.62935895249,142.02884224198,146.56895930934,151.25420649717,156.08922305851,161.0787965455,166.22786851013,171.54153558634,177.0250602084,182.68387207023,188.52357443227,194.5499507934,200.76896615752,207.18677957808,213.80974586608,220.64442297146,227.69757979185,234.97619765489,242.48748500016,250.23887937817,258.23805608937,266.49293732345,275.01169389411,283.8027624226,292.87484767725,302.23693268442,311.89828942495,321.86848086456,332.15738106504,342.77517792247,353.73238500089,365.03985405114,376.70877738729,388.75071142436,401.17757988308,414.00168763976,427.23573537822,440.89282237095,454.98647402737,469.53064564449,484.53973861665,500.02861758376,516.01261368641,532.50755680773,549.52977996323,567.09613827221,585.22402902787,603.93139550692,623.23676470498,643.1592524742,663.71858572717,684.9351219702,706.82987354375,729.42451222373,752.74141479803,776.80366927173,801.63510168485,827.26030448295,853.70464190233,880.99430375232],description:"101st root of 24"},cet54b:{frequencies:[261.6255653006,269.96795403263,278.5763544202,287.45924871019,296.62539133416,306.08381073387,315.84382837889,325.91506125677,336.30743300953,347.03118371184,358.09687996112,369.51542742358,381.29807310848,393.45642905887,406.00247545366,418.94857448076,432.30748251802,446.09236270275,460.31680056078,474.99480683953,490.14084702027,505.76984518255,521.89720128632,538.53880634615,555.71105808945,573.43088042607,591.71572697754,610.58361784146,630.05314440547,650.14349087612,670.87445318194,692.26646247798,714.3405894063,737.11858847932,760.62290389144,784.8766959018],description:"35th root of 3 or shrunk 22-tET"},cet55:{frequencies:[261.6255653006,270.01349691657,278.67035254505,287.60475577316,296.82560168354,306.34207552634,316.16365537714,326.30012507123,336.76157646737,347.55843063202,358.70144085484,370.20170518484,382.07067969055,394.32018111076,406.96241165943,420.00996255663,433.47583121124,447.37342422819,461.71658555081,476.51960046685,491.79721226214,507.56463983627,523.83758122386,540.63224654693,557.96536270557,575.85419620437,594.31655714751,613.37083662462,633.03601203256,653.33166919923,674.2780257851,695.8959359612,718.20693418482,741.23324143097,764.99779551626,789.52425640623,814.83705588084,840.96140460432,867.92332151557,895.74966491622,924.46813868508,954.10735043232,984.69681977767,1016.26701863443,1048.84937826003,1082.47635523452,1117.18144085251,1152.9992001672,1189.96531328939,1228.1165836432,1267.49101522141,1308.127826503],description:"51th root of 5"},cet55a:{frequencies:[261.6255653006,270.1234331478,278.89732210685,287.95619440582,297.30930820811,306.96622255393,316.93680165166,327.23123542864,337.86004496999,348.83408706747],description:"9th root of 4/3"},cet63:{frequencies:[261.6255653006,271.38398887572,281.50639381697,292.00635633712,302.89795903081,314.19580976213,325.91506125677,338.07143142496,350.68122444233,363.76135261718,377.32935907335,391.4034412791,406.00247545366,421.14604188408,436.85445118639,453.14877154631,470.05085697597,487.58337662462,505.76984518255,524.63465441916,544.20310589723,564.50144490757,585.55689566922,607.39769784277,630.05314440547,653.5536209391,677.93064638327,703.21691530872,729.44634176744,756.65410477833,784.8766959018],description:"30th root of 3 or stretched 19-tET"},cet63a:{frequencies:[261.6255653006,271.37251603396,281.48259278098,291.96932561311,302.84674360983,314.12940356828,325.83240291761,337.9714015469,350.5626427598,363.62297711023,377.1698766242,391.22147055517,405.79656146784,420.91465242294,436.59597307447,452.86150935499,469.73302118774,487.23308701689,505.38512383853,524.21342105699,543.74317298677,564.00051582303,585.01254970054,606.80739415229,629.41421305643,652.8632568014,677.18590276436,702.41470135475,728.58340348685,755.72702964881,783.88190097186,813.08569174348,843.37747981977,874.79780396885,907.38869808556,941.19377721109,976.25827622702,1012.62911525602,1050.35496244617,1089.48630538731,1130.07549372248,1172.17684627813,1215.84669925421,1261.14348767523,1308.127826503],description:"44th root of 5"},cet67:{frequencies:[261.6255653006,271.89449162354,282.56647812794,293.65734341902,305.18353207836,317.16212905639,329.61089159214,342.54827390456,355.99345454941,369.96636271272,384.48771622149,399.57903967613,415.26270466472,431.56196087069,448.50096908674],description:"14th root of 12/7, X.J. Scott"},cet70:{frequencies:[261.6255653006,272.49048247121,283.80660334964,295.59266404146,307.86818385681,320.65348759128,333.96974580612,347.83900623503,362.28423824861,377.32935907335,392.99928119148,409.31995166322,426.31839262878,444.02275580482,462.46235461904,481.66772230429,501.67065719504,522.50428685614,544.20310589723,566.80304433509,590.34152430617,614.85751848055,640.39162865951,666.98613212152,694.68506540856,723.53429383412,753.58158307649,784.8766959018],description:"27th root of 3"},cet78:{frequencies:[261.6255653006,273.68177330057,286.29355449603,299.48651076576,313.28742377221,327.72430932822,342.82647426905,358.62457594514,375.15068445646,392.4383479509],description:"9th root of 3/2"},cet79:{frequencies:[261.6255653006,273.87994580863,286.70831230381,300.13755324878,314.19580976213,328.91254817579,344.3186075731,360.44627930254,377.32935907335,395.0032340925,413.50494015483,432.87325713404,453.14877154631,474.3739811962,496.5933637384,519.85349135637,544.20310589723,569.69324454502,596.37732215892,624.31126899512,653.5536209391,684.16567043124,716.21156534988,749.7584744066,784.8766959018],description:"24th root of 3, James Heffernan (1906)."},cet80:{frequencies:[261.6255653006,273.93704112612,286.82786567404,300.32530171503,314.4578949408,329.25553433534,344.74951538696,360.97260627516,377.95911717185,395.74497280393,414.36778843034,433.8669493945,454.28369442026,475.66120282759,498.04439817054,521.48118104407,546.02084308555,571.71528316122,598.61884237431,626.7884189909,656.28358877393,687.16673097983,719.50316028422,753.36126491573,788.81265129014,825.93229545055,864.79870163404,905.49406830005,948.10446197172,992.7199992577,1039.43503743958,1088.34837402783,1139.56345570838,1193.18859712177,1249.33720993748,1308.127826503],description:"35th root of 5"},cet84:{frequencies:[261.6255653006,274.70153691096,288.43104187674,302.84674360983,317.98293803021,333.87563322966,350.5626427598,368.08366429725,386.48038152577,405.79656146784,426.0781586093,447.37342422819,469.73302118774,493.21014446673,517.86064472263,543.74317298677,570.91930267857,599.45368763079,629.41421305643,660.87215705217,693.9023601738,728.58340348685,764.99779551626,803.23216389999,843.37747981977,885.52924725223,929.78774807537,976.25827622702,1025.05138820617,1076.28316609431,1130.07549372248,1186.55634664103,1245.86008938569,1308.127826503],description:"33rd root of 5"},cet87:{frequencies:[261.6255653006,275.05808287728,289.18026151691,304.0275068203,319.63704721237,336.04802279017,353.30157737897,371.44097305523,390.51169339433,410.56155044631,431.64081781968,453.80235066263,477.10170997643,501.59731726833,527.35059397819,554.42610593952],description:"Least-squares stretched ET to telephone dial tones. 1/1=697 Hz"},cet88:{frequencies:[261.6255653006,275.26799068863,289.6217982776,304.72408298441,320.61387403473,337.33223582731,354.92237405774,373.42974737602,392.90218486657,413.39000965417,434.94616895528,457.62637091093,481.48922855473,506.59641128799,533.01280425363],description:"88 cents steps by Gary Morrison"},cet88_appr:{frequencies:[261.6255653006,275.62199471997,290.69507255622,305.22982618403,320.49131749323,336.37572681506,354.37113606854,373.75080757229,392.4383479509,413.43299207996,436.04260883433,457.84473927605,482.33849075995,504.56359022259,531.55670410281,560.62621135843,588.65752192635,620.14948811994,654.0639132515,686.76710891407,723.50773613993,763.07456546008,801.22829373309],description:"88 cents scale approximated"},cet88b:{frequencies:[261.6255653006,275.26385669298,289.61326650562,304.7105300898,320.59498481995,337.30729585456,354.89100872976,373.39113880701,392.85588995712,413.33509311257,434.8821088097,457.55209870333,481.40413163568,506.49927024418,532.9029023296],description:"87.9745 cents steps. Least squares of 7/6, 11/9, 10/7, 3/2, 7/4."},cet88bis:{frequencies:[261.6255653006,289.53272725508,320.41669955092,337.26306895804,373.23835706057,392.86190344834,434.76782633734,457.62637091093],description:"Bistep approximation of 2212121 mode in 7/4 to 11/9 9/7 10/7 3/2"},cet88bm:{frequencies:[261.6255653006,275.22889829239,289.53954239223,304.59427454323,320.43178392135,337.09277136281,354.62005396115,373.05867644715,392.45602022512,412.86193859025,434.32887139488,456.91198653787,480.66932039657,505.66192697453,531.95403480429],description:"87.75412 cents steps. Minimal highest deviation for 7/6, 11/9, 10/7, 3/2, 7/4."},cet88c:{frequencies:[261.6255653006,275.37188725148,289.84046967782,305.06925821769,321.09819727018,337.96933026971,355.72690383892,374.4174952616,394.09012940783,414.79640018179,436.59061916193,459.52995194191,483.67455974508,509.0877727469,535.83624905561,563.99013984227,593.62329144382,624.813430743,657.64235771869,692.19618110881,728.56553457307,766.84580121693,807.13738838693,849.54597972796,894.18279699007,941.16492045434,990.61558284509,1042.66447461031,1097.44811755542,1155.11020756021,1215.8019705522,1279.68259818323,1346.91964745566,1417.68945580607,1492.17764912727,1570.57960775359,1653.10095047047,1739.95812689496,1831.3789571042],description:"38th root of 7. McLaren 'Microtonal Music', volume 3, track 7"},cet89:{frequencies:[261.6255653006,275.56724848068,290.25186566903,305.71900507847,322.01036982349,339.16988002511,357.2437980159,376.28084921395,396.33236207144,417.45239374596,439.69788420361,463.12880499146,487.80833148705,513.80299757552,541.1828853206,570.0218080747,600.39752248465,632.39191886931,666.09125466774,701.58637981228,738.97299766656,778.35189934333,819.82925103406,863.51687139942,909.53255273344,958.00034936337,1009.05093129669,1062.82192563509,1119.45831186524,1179.11277682321,1241.94614996535,1308.127826503],description:"31st root of 5. McLaren 'Microtonal Music', volume 2, track 22"},cet90:{frequencies:[261.6255653006,275.62199471997,290.36720431405,305.90125228146,322.26633935092,339.50692625527,357.66984706396,376.80444887746,396.96271256675,418.19939952297,440.572208006,464.1419130862,488.97255163391,515.13157534193,542.69005603758,571.72285881831,602.3088534069,634.53113933145],description:"Scale with limma steps"},cet93:{frequencies:[261.6255653006,275.99488223824,291.15340824655,307.14448922429,324.01384989472,341.80973194459,360.58302103444,380.38739950036,401.27949808494,423.31905787312],description:"Tuning used in John Chowning's STRIA, 9th root of Phi"},cet98:{frequencies:[261.6255653006,276.83245825991,292.92324815749,309.94930780463,327.96500300935,347.02785219778,367.1987248383,388.54202015806,411.12588832951],description:"8th root of 11/7, X.J. Scott"},chahargah:{frequencies:[261.6255653006,277.18263097687,283.66146785671,311.12698372208,326.97270111135,348.82502010853,367.86341164695,392.44854854484,415.30469757995,425.01198472693,466.16376151809,493.88330125613,523.2511306012],description:"Chahargah in C"},chahargah2:{frequencies:[261.6255653006,283.66146785671,327.729041887,348.82502010853,392.44854854484,425.01198472693,493.88330125613,523.2511306012],description:"Dastgah Chahargah in C, Mohammad Reza Gharib"},chalmers:{frequencies:[261.6255653006,274.70684356563,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,412.06026534844,418.60090448096,436.04260883433,457.84473927605,470.92601754108,488.36772189445,515.07533168556,523.2511306012],description:"Chalmers' 19-tone with more hexanies than Perrett's Tierce-Tone"},chalmers_17:{frequencies:[261.6255653006,269.10058145205,286.15296204753,294.32876096318,313.95067836072,327.03195662575,336.37572681506,343.38355445704,376.74081403286,384.42940207435,392.4383479509,400.61414686654,408.78994578219,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"7-limit figurative scale, Chalmers '96 Adnexed S&H decads"},chalmers_19:{frequencies:[261.6255653006,269.10058145205,290.69507255622,294.32876096318,305.22982618403,313.95067836072,336.37572681506,348.83408706747,356.10146388137,363.36884069528,376.74081403286,384.42940207435,392.4383479509,406.97310157871,436.04260883433,448.50096908674,465.11211608996,470.92601754108,508.71637697339,523.2511306012],description:"7-limit figurative scale. Reversed S&H decads"},chalmers_csurd:{frequencies:[261.6255653006,273.35108123154,287.04667286017,303.37994773979,315.80837468238,323.38635505005,348.83408706747,357.38803216938,383.0466618906,392.4383479509,423.31690179539,433.47765231178,451.2357321491,476.91154755397,500.80604115761,523.2511306012],description:"Combined Surd Scale, combination of Surd and Inverted Surd, JHC, 26-6-97"},chalmers_isurd:{frequencies:[261.6255653006,273.35108123154,287.04667286017,303.37994773979,323.38635505005,348.83408706747,383.0466618906,433.47765231178,523.2511306012],description:"Inverted Surd Scale, of the form 4/(SQRT(N)+1, JHC, 26-6-97"},chalmers_ji1:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,466.02053819169,490.54793493862,523.2511306012],description:"Based loosely on Wronski's and similar JI scales, May 2, 1997."},chalmers_ji2:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,348.83408706747,370.63621750918,392.4383479509,416.96574469783,441.49314144476,466.02053819169,490.54793493862,523.2511306012],description:"Based loosely on Wronski's and similar JI scales, May 2, 1997."},chalmers_ji3:{frequencies:[261.6255653006,279.06726965397,296.50897400735,313.95067836072,331.39238271409,348.83408706747,366.27579142084,392.4383479509,418.60090448096,444.76346101102,470.92601754108,497.08857407114,523.2511306012],description:"15 16 17 18 19 20 21 on 1/1, 15-20 on 3/2, May 2, 1997. See other scales"},chalmers_ji4:{frequencies:[261.6255653006,279.06726965397,296.50897400735,313.95067836072,331.39238271409,348.83408706747,372.08969287196,395.34529867646,418.60090448096,441.85651028546,465.11211608996,496.11959049595,523.2511306012],description:"15 16 17 18 19 20 on 1/1, same on 4/3, + 16/15 on 16/9"},chalmers_surd:{frequencies:[261.6255653006,315.80837468238,357.38803216938,392.4383479509,423.31690179539,451.2357321491,476.91154755397,500.80604115761,523.2511306012],description:"Surd Scale, Surds of the form (SQRT(N)+1)/2, JHC, 26-6-97"},chalmers_surd2:{frequencies:[261.6255653006,272.2395613933,282.33485096279,291.98077704337,301.23248980765,310.13469895524,318.72425558532,327.03195662575,335.08385052998,342.90220911983,350.50624086893,357.91266581346,365.13613061818,372.18956061116,379.08442465499,385.8309605564,392.4383479509,398.91485744029,405.26796981327,411.50448329997,417.63058822561,423.65195171798,429.57376586736,435.40081471708,441.13750301549,446.78791303515,452.35581962987,457.84473927605,463.2579384726,468.59846621725,473.86917438523,479.07273156015,484.21164154672,489.28825377326,494.3047826718,499.26331035461,504.16580309972,509.01411882861,513.81001953884,518.55516185524,523.2511306012],description:"Surd Scale, Surds of the form (SQRT(N)+1)/4"},chalung:{frequencies:[261.6255653006,328.09251713275,362.03316295439,390.31715077734,479.41117101029,527.4935758042,647.70012555753,728.30917696308,823.06004869243,961.65052057178,1054.9871516084,1301.05663342451],description:'Tuning of chalung from Tasikmalaya. "slendroid". 1/1=185 Hz'},chaumont:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.49749487796,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,465.40109831725,489.02683710225,523.2511306012],description:"Lambert Chaumont organ temperament (1695), 1st interpretation"},chaumont2:{frequencies:[261.6255653006,274.56549986328,292.86986732103,309.30531842668,327.84547867349,349.70184487387,366.99801003998,391.46454285105,410.8262805401,438.2147004401,465.11211608996,490.54793493862,523.2511306012],description:"Lambert Chaumont organ temperament (1695), 2nd interpretation"},chimes:{frequencies:[261.6255653006,288.69027895239,130.8127826503,144.34513947619],description:"Heavenly Chimes"},chimes_peck:{frequencies:[261.6255653006,327.03195662575,392.4383479509,457.84473927605,588.65752192635,719.47030457665,850.28308722695,981.09586987725,1046.5022612024],description:"Kris Peck, 9-tone windchime tuning. TL 7-3-2001"},chin_12:{frequencies:[261.6255653006,277.05457499359,293.57996645301,310.53449241474,329.24697610111,347.79893712036,368.97000115401,391.76907592069,413.1274313058,439.00991514661,462.11551390967,491.43599249807,523.2511306012],description:"Chinese scale, 4th cent."},chin_5:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,441.49314144476,523.2511306012],description:"Chinese pentatonic from Zhou period"},chin_60:{frequencies:[261.6255653006,262.17244551937,265.19499215873,268.81311753311,272.48060600886,276.1981310001,279.38237857051,283.19406633357,287.05775848811,290.97416342694,294.32876096318,294.94400091442,298.34436617857,302.41475692242,306.54068145351,310.72289706448,314.30517589183,318.59332496145,322.93997797627,327.34593352805,331.11985608357,331.812000697,335.63741195089,340.21660119759,344.85826629043,349.56326086722,353.59332287831,358.41749022331,363.30747486009,368.26417485089,372.50983809402,373.28850041093,377.59208844475,382.74367817547,387.96555142985,392.4383479509,393.25866808247,397.79248823809,403.21967609811,408.72090880899,414.29719629306,419.07356785577,424.79110016094,430.58663751693,436.46124492224,441.49314144476,442.41600115048,447.51654926786,453.62213515688,459.81102195042,466.08434536373,471.45776383774,477.8899872033,484.40996672226,491.01890004663,496.67978412536,497.7180007967,503.45611792634,510.32490448905,517.28740216504,523.2511306012],description:'Chinese scale of fifths (the 60 lu")'},chin_7:{frequencies:[261.6255653006,294.32876096318,331.11985608357,348.83408706747,392.4383479509,441.49314144476,496.67978412536,523.2511306012],description:"Chinese heptatonic scale and tritriadic of 64:81:96 triad"},chin_bianzhong:{frequencies:[261.6255653006,277.82379926216,312.56802260838,375.1593523779,420.13030572059,469.40618689596,506.59641128799,563.72967895209,627.66881138238,764.75812197709,849.53311813274,949.1724262561,1225.95732655636],description:"Pitches of Bianzhong bells (Xinyang). 1/1=b, Liang Mingyue, 1975."},chin_bianzhong2a:{frequencies:[261.6255653006,284.81073476233,312.56802260838,372.56793743951,413.39000965417,447.94973572445,491.60634075178,562.75365576207,652.05945856061,695.63805470995,863.88355261715,960.75607282217,1173.30283584026],description:"A-tones (GU) of 13 Xinyang bells (Ma Cheng-Yuan) 1/1=d#=619 Hz"},chin_bianzhong2b:{frequencies:[261.6255653006,279.59231184543,312.74738729016,375.37536096215,418.43048063126,468.86028020615,505.12945327459,562.08698385796,624.42058858709,762.97988553915,849.53425657971,936.08862980659,1215.37624187632],description:"B-tones (SUI) of 13 Xinyang bells (Ma Cheng-Yuan) 1/1=b+=506.6 Hz"},chin_bianzhong3:{frequencies:[261.6255653006,508.3551866238,542.32970395878,608.04166718582,619.02750937577,673.88551872153,729.80120031671,739.56153452917,812.57643344187,881.52624580654,911.03313298042,978.11461117351,982.0774855146,1059.88575280263,1092.20381072382,1163.18085489566,1213.27682870749,1331.52122774489,1483.40111876828,1542.82606951623,1645.93659621657,1649.74391394557,1818.91159982256,2044.01922018919,2273.22753490632,2362.92760489328,2776.13057951436],description:"A and B-tones of 13 Xinyang bells (Ma Cheng-Yuan) abs. pitches wrt middle-C"},chin_bronze:{frequencies:[261.6255653006,299.00064605783,313.95067836072,327.03195662575,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:`Scale found on ancient Chinese bronze instrument 3rd c.BC & "Scholar's Lute"`},chin_chime:{frequencies:[261.6255653006,248.6592656401,341.74499057264,392.56190849927,548.78974538591,648.86582834888,714.36935367713,785.57745330134,889.7110417619,886.88898199546,992.62825668803,1044.08711871947,1326.14827969763],description:"Pitches of 12 stone chimes, F. Kuttner, 1951, ROMA Toronto. %1=b4"},chin_ching:{frequencies:[261.6255653006,276.1981310001,294.32876096318,310.72289706448,331.11985608357,349.56326086722,368.26417485089,392.4383479509,414.29719629306,441.49314144476,466.08434536373,496.67978412536,524.34489103873],description:"Scale of Ching Fang, c.45 BC. Pyth.steps 0 1 2 3 4 5 47 48 49 50 51 52 53"},chin_di:{frequencies:[261.6255653006,298.70635408336,316.56004827153,360.50766037677,409.94872043165,433.75364775074,527.37121036213],description:"Chinese di scale"},chin_di2:{frequencies:[261.6255653006,289.95657583698,318.21537073485,338.89464890898,383.48501130814,436.9606979923,494.73987775324,522.04355935974],description:"Observed tuning from Chinese flute dizi, Helmholtz/Ellis p. 518, nr.103"},chin_huang:{frequencies:[261.6255653006,331.11985608357,392.4383479509,441.49314144476,523.2511306012,588.65752192635,662.23971216714],description:"Huang Zhong qin tuning"},"chin_liu-an":{frequencies:[261.6255653006,278.83777354406,294.32876096318,311.64221749042,331.11985608357,353.19451315581,371.78369805875,392.4383479509,415.52295665389,441.49314144476,470.92601754108,492.82955324067],description:'Scale of Liu An, in: "Huai Nan Tzu", c.122 BC, 1st known corr. to Pyth. scale'},chin_lu:{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,328.55303549378,348.83408706747,371.78369805875,392.4383479509,415.52295665389,441.49314144476,470.92601754108,495.71159741166,523.2511306012],description:"Chinese L\xEF\xBF\xBD scale by Huai Nan zi, Han era. P\xEF\xBF\xBDre Amiot 1780, Kurt Reinhard"},chin_lu2:{frequencies:[261.6255653006,279.38237857051,294.32876096318,314.30517589183,331.11985608357,353.59332287831,372.50983809402,392.4383479509,419.07356785577,441.49314144476,471.45776383774,496.67978412536,523.2511306012],description:"Chinese L\xEF\xBF\xBD (Lushi chunqiu, by Lu Buwei). Mingyue: Music of the billion, p.67"},chin_lu3:{frequencies:[261.6255653006,277.34278419245,293.66476791741,310.58830860439,329.24697610111,347.81902735497,369.14054089803,391.76907592069,413.1512951712,439.23819834286,462.1422075194,491.60634075178,523.2511306012],description:"Chinese L\xEF\xBF\xBD scale by Ho Ch'\xEF\xBF\xBDng-T'ien, reported in Sung Shu (500 AD)"},chin_lu3a:{frequencies:[261.6255653006,277.06033146978,293.58830182213,310.53780743131,329.25144446584,347.79484055318,368.74579520635,391.78066943209,413.13681807919,438.99947255393,462.1072190611,491.17907538715,523.2511306012],description:`Chinese L\xEF\xBF\xBD scale by Ho Ch'\xEF\xBF\xBDng-T'ien, calc. basis is "big number" 177147`},chin_lu4:{frequencies:[261.6255653006,276.78521684908,293.5444075184,310.55356739316,329.35741152087,348.44172229085,369.5396750577,391.9150968203,414.62425518576,439.72952246257,465.20924434298,493.37740286979,523.2511306012],description:'Chinese L\xEF\xBF\xBD "749-Temperament"'},chin_lu5:{frequencies:[261.6255653006,277.35401920913,293.41471131112,311.37240624271,329.40299530711,349.20610523279,369.80535913035,392.03738806826,415.16320853113,440.12206674667,466.08434536373,494.10449271367,522.71643616375],description:"Chinese L\xEF\xBF\xBD scale by Ch'ien Lo-Chih, c.450 AD Pyth.steps 0 154 255 103 204 etc."},chin_lusheng:{frequencies:[261.6255653006,316.38258506467,348.82502010853,389.28772571905,466.97226207056,520.53801357752],description:"Observed tuning of a small Lusheng, 1/1=d, OdC '97"},chin_pan:{frequencies:[261.6255653006,275.62199471997,279.38237857051,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,344.13890881665,348.83408706747,367.49599295996,372.50983809402,387.15627241873,392.4383479509,413.43299207996,419.07356785577,435.55080647107,441.49314144476,458.8518784222,465.11211608996,489.99465727995,496.67978412536,516.20836322497,523.2511306012],description:"Pan Huai-su pure system, in: Sin-Yan Shen, 1991"},chin_pipa:{frequencies:[261.6255653006,284.4818984792,320.42873367481,380.17671965621,433.44136952667,521.74210224793],description:"Observed tuning from Chinese balloon lute p'i-p'a, Helmholtz/Ellis p. 518, nr.109"},chin_sheng:{frequencies:[261.6255653006,295.36595061166,318.03161540472,348.82502010853,395.40657391157,442.03793673691,477.05982293263,522.94897617031],description:"Observed tuning from Chinese sheng or mouth organ, Helmholtz/Ellis p. 518, nr.105"},chin_sientsu:{frequencies:[261.6255653006,291.80478157373,326.97270111135,392.44854854484,438.22451411849,523.2511306012],description:"Observed tuning from Chinese tamboura sienzi, Helmholtz/Ellis p. 518, nr.108"},chin_sona:{frequencies:[261.6255653006,284.4818984792,310.58830860439,337.33223582731,377.98706287655,418.43499793376,469.94877954106,528.10941333272],description:"Observed tuning from Chinese oboe (so-na), Helmholtz/Ellis p. 518, nr.104"},"chin_wang-po":{frequencies:[261.6255653006,294.32876096318,330.24264909897,371.97947673071,392.4383479509,440.94196398978,495.71159741166,517.50111817701],description:"Scale of Wang Po, 958 AD. H. Pischner: Musik in China, Berlin, 1955, p.20"},chin_yangqin:{frequencies:[261.6255653006,288.45311779165,306.48933163909,347.41744306689,383.26356564167,434.44398956347,465.08793784701,522.64699622026],description:"Observed tuning from Chinese dulcimer yangqin, Helmholtz/Ellis p. 518, nr.107"},chin_yunlo:{frequencies:[261.6255653006,288.45311779165,323.40385076956,367.0144478307,386.1523605003,409.35055662695,483.1608380663,525.67465946865],description:"Observed tuning from Chinese gong-chime (y\xEF\xBF\xBDn-lo), Helmholtz/Ellis p. 518, nr.106"},choquel:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,475.68284600109,490.54793493862,523.2511306012],description:"Choquel/Barbour/Marpurg?"},chordal:{frequencies:[261.6255653006,392.4383479509,327.03195662575,457.84473927605,588.65752192635,719.47030457665,850.28308722695,981.09586987725,981.09586987725,490.54793493862,555.95432626377,621.36071758893,310.68035879446,523.2511306012,348.83408706747,418.60090448096,299.00064605783,465.11211608996,380.54627680087,322.00069575458,279.06726965397,610.45965236807,915.6894785521,872.08521766867,697.66817413493,654.0639132515,627.90135672144,448.50096908674,319.76457981184,377.90359432309,444.76346101102,889.52692202204,336.37572681506,294.32876096318,465.11211608996,411.12588832951,305.22982618403,366.27579142084,373.75080757229,313.95067836072,470.92601754108],description:"Chordal Notes S&H"},chrom15:{frequencies:[261.6255653006,280.31310567921,301.87565226992,356.76213450082,392.4383479509,413.09299784305,436.04260883433,523.2511306012],description:"Tonos-15 Chromatic"},chrom15_inv:{frequencies:[261.6255653006,313.95067836072,331.39238271409,348.83408706747,383.71749577421,453.48431318771,488.36772189445,523.2511306012],description:"Inverted Chromatic Tonos-15 Harmonia"},chrom15_inv2:{frequencies:[261.6255653006,279.06726965397,296.50897400735,348.83408706747,383.71749577421,401.15920012759,418.60090448096,523.2511306012],description:"A harmonic form of the Chromatic Tonos-15 inverted"},chrom17:{frequencies:[261.6255653006,277.97716313189,296.50897400735,370.63621750918,404.33041910093,423.58424858192,444.76346101102,523.2511306012],description:"Tonos-17 Chromatic"},chrom17_con:{frequencies:[261.6255653006,277.97716313189,296.50897400735,370.63621750918,386.75083566176,404.33041910093,494.18162334558,523.2511306012],description:"Conjunct Tonos-17 Chromatic"},chrom19:{frequencies:[261.6255653006,276.16031892841,292.40504357126,355.06326719367,382.37582620857,397.67085925691,414.24047839262,523.2511306012],description:"Tonos-19 Chromatic"},chrom19_con:{frequencies:[261.6255653006,276.16031892841,292.40504357126,355.06326719367,368.21375857121,382.37582620857,451.89870370104,523.2511306012],description:"Conjunct Tonos-19 Chromatic"},chrom21:{frequencies:[261.6255653006,274.70684356563,289.16509849014,343.38355445704,392.4383479509,406.97310157871,422.62591317789,523.2511306012],description:"Tonos-21 Chromatic"},chrom21_inv:{frequencies:[261.6255653006,323.91736656265,336.37572681506,348.83408706747,398.6675280771,473.41768959156,498.33441009638,523.2511306012],description:"Inverted Chromatic Tonos-21 Harmonia"},chrom21_inv2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,348.83408706747,398.6675280771,423.58424858192,448.50096908674,523.2511306012],description:"Inverted harmonic form of the Chromatic Tonos-21"},chrom23:{frequencies:[261.6255653006,273.51763645063,286.54228580542,334.29933343966,376.08675011961,401.15920012759,429.81342870813,523.2511306012],description:"Tonos-23 Chromatic"},chrom23_con:{frequencies:[261.6255653006,273.51763645063,286.54228580542,334.29933343966,353.96400011258,376.08675011961,462.87600014722,523.2511306012],description:"Conjunct Tonos-23 Chromatic"},chrom25:{frequencies:[261.6255653006,278.32506946872,297.30177875068,363.36884069528,408.78994578219,436.04260883433,467.18850946536,523.2511306012],description:"Tonos-25 Chromatic"},chrom25_con:{frequencies:[261.6255653006,278.32506946872,297.30177875068,363.36884069528,384.74347838324,408.78994578219,503.12608711654,523.2511306012],description:"Conjunct Tonos-25 Chromatic"},chrom27:{frequencies:[261.6255653006,277.01530443593,294.32876096318,353.19451315581,392.4383479509,415.52295665389,441.49314144476,523.2511306012],description:"Tonos-27 Chromatic"},chrom27_inv:{frequencies:[261.6255653006,310.07474405997,329.45441556372,348.83408706747,387.59343007496,465.11211608996,494.18162334558,523.2511306012],description:"Inverted Chromatic Tonos-27 Harmonia"},chrom27_inv2:{frequencies:[261.6255653006,271.31540105247,281.00523680435,348.83408706747,387.59343007496,406.97310157871,436.04260883433,523.2511306012],description:"Inverted harmonic form of the Chromatic Tonos-27"},chrom29:{frequencies:[261.6255653006,270.96933548991,281.00523680435,344.87006335079,379.35706968587,399.32323124828,421.50785520652,523.2511306012],description:"Tonos-29 Chromatic"},chrom29_con:{frequencies:[261.6255653006,270.96933548991,281.00523680435,344.87006335079,361.29244731988,379.35706968587,474.19633710734,523.2511306012],description:"Conjunct Tonos-29 Chromatic"},chrom31:{frequencies:[261.6255653006,279.66870773512,300.3849083081,337.93302184661,352.6257619269,368.65420565085,386.2091678247,405.51962621593,523.2511306012],description:"Tonos-31 Chromatic. Tone 24 alternates with 23 as MESE or A"},chrom31_con:{frequencies:[261.6255653006,279.66870773512,300.3849083081,337.93302184661,352.6257619269,368.65420565085,386.2091678247,450.57736246214,523.2511306012],description:"Conjunct Tonos-31 Chromatic"},chrom33:{frequencies:[261.6255653006,278.50463402967,297.71185016965,359.73515228832,392.4383479509,411.12588832951,431.68218274599,523.2511306012],description:"Tonos-33 Chromatic. A variant is 66 63 60 48"},chrom33_con:{frequencies:[261.6255653006,278.50463402967,297.71185016965,359.73515228832,375.37581108347,392.4383479509,479.64686971777,523.2511306012],description:"Conjunct Tonos-33 Chromatic"},chrom_new:{frequencies:[261.6255653006,273.20871865617,297.93622032612,349.22823143301,391.99543598175,409.35055662695,446.39994737251,523.2511306012],description:"New Chromatic genus 4.5 + 9 + 16.5"},chrom_new2:{frequencies:[261.6255653006,273.6474710507,299.37374239667,349.22823143301,391.99543598175,410.00794244467,448.55379686399,523.2511306012],description:"New Chromatic genus 14/3 + 28/3 + 16 parts"},chrom_soft:{frequencies:[261.6255653006,271.68808704293,282.55561052465,348.83408706747,392.4383479509,407.5321305644,423.83341578697,523.2511306012],description:"100/81 Chromatic. This genus is a good approximation to the soft chromatic"},chrom_soft2:{frequencies:[261.6255653006,268.42893440103,282.57118533961,349.22823143301,391.99543598175,402.18897205153,423.37840671577,523.2511306012],description:"1:2 Soft Chromatic"},chrom_soft3:{frequencies:[261.6255653006,271.31540105247,281.75060878526,348.83408706747,392.4383479509,406.97310157871,422.62591317789,523.2511306012],description:"Soft chromatic genus is from K. Schlesinger's modified Mixolydian Harmonia"},cifariello:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,376.74081403286,392.4383479509,418.60090448096,436.04260883433,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"F. Cifariello Ciardi, ICMC 86 Proc. 15-tone 5-limit tuning"},ckring1:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,523.2511306012],description:"Double-tie circular mirroring with common pivot of 4:5:6:7 = square 1 3 5 7"},ckring2:{frequencies:[261.6255653006,290.69507255622,305.22982618403,313.95067836072,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,436.04260883433,448.50096908674,470.92601754108,523.2511306012],description:"Double-tie circular mirroring with common pivot of 3:5:7:9"},"clampitt-phi":{frequencies:[261.6255653006,289.46753582364,320.2724252102,340.92857683151,377.20990650852,444.26963537301,491.54843559637,523.2511306012],description:'David Clampitt, phi+1 mod 3phi+2, from "Pairwise Well-Formed Scales", 1997'},classr:{frequencies:[261.6255653006,275.93321340298,287.4304306281,313.95067836072,327.03195662575,344.91651675372,367.91095120397,392.4383479509,408.78994578219,441.49314144476,459.88868900496,490.54793493862,523.2511306012],description:"Marvel projection to the 5-limit of class"},cluster:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"13-tone 5-limit Tritriadic Cluster"},cluster6a:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Six-Tone Triadic Cluster 4:5:6"},cluster6b:{frequencies:[261.6255653006,313.95067836072,327.03195662575,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Six-Tone Triadic Cluster 4:6:5"},cluster6c:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,418.60090448096,436.04260883433,523.2511306012],description:"Six-Tone Triadic Cluster 3:4:5"},cluster6d:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"Six-Tone Triadic Cluster 3:5:4"},cluster6e:{frequencies:[261.6255653006,313.95067836072,327.03195662575,392.4383479509,418.60090448096,502.32108537715,523.2511306012],description:"Six-Tone Triadic Cluster 5:6:8"},cluster6f:{frequencies:[261.6255653006,313.95067836072,348.83408706747,418.60090448096,436.04260883433,502.32108537715,523.2511306012],description:"Six-Tone Triadic Cluster 5:8:6"},cluster6g:{frequencies:[261.6255653006,286.15296204753,299.00064605783,327.03195662575,373.75080757229,457.84473927605,523.2511306012],description:"Six-Tone Triadic Cluster 4:5:7"},cluster6h:{frequencies:[261.6255653006,286.15296204753,327.03195662575,366.27579142084,418.60090448096,457.84473927605,523.2511306012],description:"Six-Tone Triadic Cluster 4:7:5"},cluster6i:{frequencies:[261.6255653006,313.95067836072,366.27579142084,373.75080757229,439.53094970501,448.50096908674,523.2511306012],description:"Six-Tone Triadic Cluster 5:6:7"},cluster6j:{frequencies:[261.6255653006,305.22982618403,313.95067836072,366.27579142084,436.04260883433,439.53094970501,523.2511306012],description:"Six-Tone Triadic Cluster 5:7:6"},cluster8a:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Eight-Tone Triadic Cluster 4:5:6"},cluster8b:{frequencies:[261.6255653006,306.59245933664,313.95067836072,327.03195662575,392.4383479509,408.78994578219,418.60090448096,490.54793493862,523.2511306012],description:"Eight-Tone Triadic Cluster 4:6:5"},cluster8c:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,363.36884069528,418.60090448096,436.04260883433,484.4917875937,523.2511306012],description:"Eight-Tone Triadic Cluster 3:4:5"},cluster8d:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,387.59343007496,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:"Eight-Tone Triadic Cluster 3:5:4"},cluster8e:{frequencies:[261.6255653006,313.95067836072,327.03195662575,334.88072358477,392.4383479509,401.85686830172,418.60090448096,502.32108537715,523.2511306012],description:"Eight-Tone Triadic Cluster 5:6:8"},cluster8f:{frequencies:[261.6255653006,301.39265122629,313.95067836072,348.83408706747,376.74081403286,418.60090448096,436.04260883433,502.32108537715,523.2511306012],description:"Eight-Tone Triadic Cluster 5:8:6"},cluster8g:{frequencies:[261.6255653006,286.15296204753,299.00064605783,327.03195662575,373.75080757229,400.61414686654,457.84473927605,500.76768358318,523.2511306012],description:"Eight-Tone Triadic Cluster 4:5:7"},cluster8h:{frequencies:[261.6255653006,286.15296204753,327.03195662575,357.69120255941,366.27579142084,408.78994578219,418.60090448096,457.84473927605,523.2511306012],description:"Eight-Tone Triadic Cluster 4:7:5"},cluster8i:{frequencies:[261.6255653006,307.67166479351,313.95067836072,366.27579142084,373.75080757229,439.53094970501,448.50096908674,512.78610798918,523.2511306012],description:"Eight-Tone Triadic Cluster 5:6:7"},cluster8j:{frequencies:[261.6255653006,263.718569823,305.22982618403,313.95067836072,366.27579142084,376.74081403286,436.04260883433,439.53094970501,523.2511306012],description:"Eight-Tone Triadic Cluster 5:7:6"},cohenf_11:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,523.2511306012],description:`Flynn Cohen, 7-limit scale of "Rameau's nephew", 1996`},coleman:{frequencies:[261.6255653006,276.70272600503,293.15632631094,310.58830860439,328.48713220126,349.43001184052,368.92737853004,391.76907592069,414.58565256441,438.98455767189,465.89457252293,491.89038573682,523.2511306012],description:"Jim Coleman's ModX piano temperament. TL 16 Mar 1999"},collengettes:{frequencies:[261.6255653006,269.10058145205,275.62199471997,285.40970760065,294.32876096318,302.73815413355,310.07474405997,321.08592105074,331.11985608357,340.58042340025,348.83408706747,358.80077526939,367.49599295996,380.54627680087,392.4383479509,403.65087217807,413.43299207996,428.11456140098,441.49314144476,454.10723120033,465.11211608996,478.40103369253,496.67978412536,507.3950357345,523.2511306012],description:"R.P. Collengettes, from p.23 of d'Erlanger, vol 5. 24 tone Arabic system"},colonna1:{frequencies:[261.6255653006,272.52663052146,290.69507255622,308.86351459099,327.03195662575,348.83408706747,363.36884069528,392.4383479509,399.70572476481,436.04260883433,463.29527188648,490.54793493862,523.2511306012],description:"Colonna 1"},colonna2:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,470.92601754108,479.64686971777,523.2511306012],description:"Colonna 2"},concertina:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"English Concertina, Helmholtz/Ellis, p. 470"},cons11:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Set of intervals with num + den <= 11 not exceeding 2/1"},cons12:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Set of intervals with num + den <= 12 not exceeding 2/1"},cons13:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,523.2511306012],description:"Set of intervals with num + den <= 13 not exceeding 2/1"},cons14:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,523.2511306012],description:"Set of intervals with num + den <= 14 not exceeding 2/1"},cons15:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,523.2511306012],description:"Set of intervals with num + den <= 15 not exceeding 2/1"},cons16:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,523.2511306012],description:"Set of intervals with num + den <= 16 not exceeding 2/1"},cons17:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Set of intervals with num + den <= 17 not exceeding 2/1"},cons18:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,436.04260883433,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Set of intervals with num + den <= 18 not exceeding 2/1"},cons19:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Set of intervals with num + den <= 19 not exceeding 2/1"},cons20:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"Set of intervals with num + den <= 20 not exceeding 2/1"},cons21:{frequencies:[261.6255653006,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"Set of intervals with num + den <= 21 not exceeding 2/1"},cons8:{frequencies:[261.6255653006,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"Set of intervals with num + den <= 8 not exceeding 2/1"},cons9:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"Set of intervals with num + den <= 9 not exceeding 2/1"},cons_5:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,523.2511306012],description:"Set of consonant 5-limit intervals within the octave"},cons_7:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605],description:"Set of consonant 7-limit intervals of tetrad 4:5:6:7 and inverse"},cons_7a:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,457.84473927605],description:"Set of consonant 7-limit intervals, harmonic entropy minima"},cont_frac1:{frequencies:[261.6255653006,264.29672053658,267.01859068163,284.39991302433,288.64312378534,304.51680721446,328.36325429535,342.47239171077,368.24757473349,390.36247006958,408.23697512781,419.80330474394,448.3033221197,488.42606438843,498.20005830409],description:"Continued fraction scale 1, see McLaren in Xenharmonikon 15, pp.33-38"},cont_frac2:{frequencies:[261.6255653006,268.67076720771,283.00159623424,287.78825007941,303.56038377389,306.30898587133,329.63288816559,333.85601282718,352.97051886932,380.09613548074,393.10104267352,426.45795861378,432.83315799354,472.91012288255,483.94654132265,519.4303061261],description:"Continued fraction scale 2, see McLaren in Xenharmonikon 15, pp.33-38"},cordier:{frequencies:[261.6255653006,277.2273508585,293.75953199293,311.27759533081,329.84032939425,349.51003591412,370.35272620855,392.4383479509,415.84102607989,440.63929776914,466.91639276282,494.76049384407,524.26505360912],description:"Serge Cordier, piano tuning, 1975 (Piano bien temp\xEF\xBF\xBDr\xEF\xBF\xBD et justesse orchestrale)"},corner11:{frequencies:[261.6255653006,269.80136421624,286.15296204753,294.32876096318,314.76825825228,327.03195662575,343.38355445704,359.73515228832,392.4383479509,400.61414686654,408.78994578219,449.66894036041,457.84473927605,490.54793493862,494.63583439645,523.2511306012],description:"Quadratic Corner 11-limit. Chalmers '96"},corner13:{frequencies:[261.6255653006,265.71346475842,269.80136421624,286.15296204753,292.28481123426,294.32876096318,314.76825825228,318.85615771011,327.03195662575,343.38355445704,345.42750418595,359.73515228832,371.99885066179,392.4383479509,400.61414686654,408.78994578219,425.14154361347,449.66894036041,457.84473927605,490.54793493862,494.63583439645,523.2511306012],description:"Quadratic Corner 13-limit. Chalmers '96"},corner17:{frequencies:[261.6255653006,265.71346475842,269.80136421624,277.97716313189,286.15296204753,292.28481123426,294.32876096318,295.35073582763,314.76825825228,318.85615771011,327.03195662575,343.38355445704,345.42750418595,347.47145391486,359.73515228832,371.99885066179,382.21859930635,392.4383479509,400.61414686654,408.78994578219,416.96574469783,425.14154361347,449.66894036041,451.71289008932,457.84473927605,486.4600354808,490.54793493862,494.63583439645,523.2511306012],description:"Quadratic Corner 17-limit."},corner17a:{frequencies:[261.6255653006,265.71346475842,269.80136421624,275.93321340298,277.97716313189,286.15296204753,292.28481123426,294.32876096318,295.35073582763,306.59245933664,312.72430852337,314.76825825228,318.85615771011,327.03195662575,331.11985608357,337.2517052703,343.38355445704,345.42750418595,347.47145391486,359.73515228832,367.91095120397,371.99885066179,382.21859930635,392.4383479509,398.57019713763,400.61414686654,404.70204632437,408.78994578219,416.96574469783,425.14154361347,429.2294430713,441.49314144476,449.66894036041,451.71289008932,457.84473927605,459.88868900496,478.28423656516,486.4600354808,490.54793493862,494.63583439645,515.07533168556,521.20718087229,523.2511306012],description:"Quadratic Corner 17 odd limit."},corner7:{frequencies:[261.6255653006,286.15296204753,294.32876096318,327.03195662575,343.38355445704,392.4383479509,400.61414686654,408.78994578219,457.84473927605,490.54793493862,523.2511306012],description:"Quadratic corner 7-limit. Chalmers '96"},corner9:{frequencies:[261.6255653006,286.15296204753,294.32876096318,327.03195662575,331.11985608357,343.38355445704,367.91095120397,392.4383479509,400.61414686654,408.78994578219,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"First 9 harmonics of 5th through 9th harmonics"},corners11:{frequencies:[261.6255653006,269.80136421624,276.76092858245,279.06726965397,286.15296204753,294.32876096318,299.00064605783,304.4370214407,314.76825825228,327.03195662575,334.88072358477,341.71502406609,343.38355445704,348.83408706747,359.73515228832,380.54627680087,392.4383479509,398.6675280771,400.61414686654,408.78994578219,418.60090448096,434.91003062957,449.66894036041,457.84473927605,465.11211608996,478.40103369253,490.54793493862,494.63583439645,507.3950357345,523.2511306012],description:"Quadratic Corners 11-limit. Chalmers '96"},corners13:{frequencies:[261.6255653006,265.71346475842,269.80136421624,276.76092858245,279.06726965397,286.15296204753,292.28481123426,294.32876096318,299.00064605783,304.4370214407,314.76825825228,318.85615771011,322.00069575458,327.03195662575,334.88072358477,341.71502406609,343.38355445704,345.42750418595,348.83408706747,359.73515228832,368.0007951481,371.99885066179,380.54627680087,392.4383479509,396.30854862103,398.6675280771,400.61414686654,408.78994578219,418.60090448096,425.14154361347,429.33426100611,434.91003062957,449.66894036041,457.84473927605,465.11211608996,468.3646483703,478.40103369253,490.54793493862,494.63583439645,507.3950357345,515.20111320734,523.2511306012],description:"Quadratic Corners 13-limit. Chalmers '96"},corners7:{frequencies:[261.6255653006,279.06726965397,286.15296204753,294.32876096318,299.00064605783,327.03195662575,334.88072358477,341.71502406609,343.38355445704,348.83408706747,392.4383479509,398.6675280771,400.61414686654,408.78994578219,418.60090448096,457.84473927605,465.11211608996,478.40103369253,490.54793493862,523.2511306012],description:"Quadratic Corners 7-limit. Chalmers '96"},corrette:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.11326130363,327.03195662575,349.91912034749,365.63284274659,391.22147055517,411.33704984564,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Corrette temperament"},corrette2:{frequencies:[261.6255653006,272.8349596094,292.34127285051,310.42509491746,326.6631048533,350.01785633742,365.01443422269,391.11111150212,409.71484950008,437.02884834934,466.16376151809,488.33748205014,523.2511306012],description:"Michel Corrette, modified meantone temperament (1753)"},coul_12:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,340.65828815182,363.36884069528,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Scale 1 5/4 3/2 2 successively split largest intervals by smallest interval"},coul_12a:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Scale 1 6/5 3/2 2 successively split largest intervals by smallest interval"},coul_12sup:{frequencies:[261.6255653006,280.31310567921,294.32876096318,310.68035879446,331.39238271409,348.83408706747,373.75080757229,392.4383479509,420.46965851882,441.49314144476,466.02053819169,497.08857407114,523.2511306012],description:"Superparticular approximation to Pythagorean scale. Op de Coul, 2003"},coul_13:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,376.74081403286,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Symmetrical 13-tone 5-limit just system"},coul_17sup:{frequencies:[261.6255653006,276.16031892841,279.06726965397,294.57100685697,310.07474405997,313.95067836072,331.39238271409,348.83408706747,368.21375857121,372.08969287196,392.76134247596,413.43299207996,418.60090448096,441.85651028546,465.11211608996,470.92601754108,497.08857407114,523.2511306012],description:"Superparticular approximation to Pythagorean 17-tone scale. Op de Coul, 2003"},coul_20:{frequencies:[261.6255653006,277.18263097687,282.2367833559,293.66476791741,305.55548036855,311.12698372208,329.62755691287,335.63799088232,349.22823143301,363.36884069528,369.99442271164,391.99543598175,399.14308682247,415.30469757995,432.12070439462,440,466.16376151809,474.66379875343,493.88330125613,513.88101620607,523.2511306012],description:"Tuning for a 3-row symmetrical keyboard, Op de Coul, 1989"},coul_27:{frequencies:[261.6255653006,275.62199471997,275.93321340298,279.06726965397,293.99679436797,294.32876096318,310.07474405997,310.42486507835,327.03195662575,330.74639366397,331.11985608357,348.83408706747,367.49599295996,367.91095120397,372.08969287196,372.50983809402,392.4383479509,413.43299207996,413.89982010446,418.60090448096,440.99519155196,441.49314144476,465.11211608996,465.63729761752,490.54793493862,496.11959049595,496.67978412536,523.2511306012],description:"Symmetrical 27-tone 5-limit just system, 67108864/66430125 and 25/24"},counterschismic:{frequencies:[261.6255653006,265.12640119254,268.67408364533,272.2692364133,275.65170316539,279.34022410565,283.07810312094,286.865997406,290.70457953408,294.3160713245,298.25434362449,302.24531258767,306.28968684494,310.09479611189,314.24420508029,318.4491358588,322.71033506911,327.0285519162,331.0913069245,335.5216703313,340.01131880467,344.56104171562,348.84160709651,353.50948891197,358.2398341551,363.03347451625,367.54352740958,372.46166135084,377.44560747755,382.49624206822,387.61445966759,392.4298881006,397.68103103357,403.0024376988,408.3950505989,413.46864135256,419.00130591222,424.60800114791,430.28972009123,436.04746916004,441.46459261549,447.37187116862,453.35819556254,459.4246261707,465.13216971689,471.35614630867,477.663406507,484.05506753352,490.06860102591,496.62625431187,503.27165616309,510.00598369715,516.83042094502,523.2511306012],description:"Counterschismic temperament, g=498.082318, 5-limit"},couperin:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.28785294636,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,465.24345038333,489.02683710225,523.2511306012],description:"Couperin modified meantone"},cross13:{frequencies:[261.6255653006,281.75060878526,285.40970760065,290.69507255622,299.00064605783,305.22982618403,322.00069575458,332.97799220076,336.37572681506,366.27579142084,373.75080757229,406.97310157871,411.12588832951,425.14154361347,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"13-limit harmonic/subharmonic cross"},cross2:{frequencies:[261.6255653006,282.55561052465,339.14425131559,366.27579142084,436.04260883433,470.92601754108,560.62621135843,605.4763082671,726.73768139056,784.8766959018],description:"Pusey's double 5-7 cross reduced by 3/1"},cross2_5:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,348.83408706747,392.4383479509,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"double 3-5 cross reduced by 2/1"},cross2_7:{frequencies:[261.6255653006,294.32876096318,299.00064605783,327.03195662575,334.88072358477,341.71502406609,348.83408706747,392.4383479509,400.61414686654,408.78994578219,418.60090448096,457.84473927605,465.11211608996,523.2511306012],description:"longer 3-5-7 cross reduced by 2/1"},cross3:{frequencies:[261.6255653006,282.55561052465,311.45900631024,336.37572681506,363.28578496026,403.74315632809,436.04260883433,470.92601754108,508.60009894437,565.24041885932,610.45965236807,659.29642455751,726.73768139056,784.8766959018],description:"Pusey's triple 5-7 cross reduced by 3/1"},cross_7:{frequencies:[261.6255653006,299.00064605783,327.03195662575,348.83408706747,392.4383479509,418.60090448096,457.84473927605,523.2511306012],description:"3-5-7 cross reduced by 2/1, quasi diatonic, similar to Zalzal's, Flynn Cohen"},cross_72:{frequencies:[261.6255653006,279.06726965397,294.32876096318,305.22982618403,313.95067836072,343.38355445704,348.83408706747,392.4383479509,398.6675280771,436.04260883433,448.50096908674,465.11211608996,490.54793493862,523.2511306012],description:"double 3-5-7 cross reduced by 2/1"},cross_7a:{frequencies:[261.6255653006,336.37572681506,392.4383479509,436.04260883433,470.92601754108,523.2511306012,610.45965236807,784.8766959018],description:"2-5-7 cross reduced by 3/1"},cruciform:{frequencies:[261.6255653006,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Cruciform Lattice"},galilei:{frequencies:[261.6255653006,277.66336828161,293.32570896007,311.30674962848,328.86683469969,348.2210758395,368.7143392539,390.41365788584,413.39000965417,437.71854962063,463.47885582013,490.75518955849,523.2511306012],description:"Vincenzo Galilei's approximation"},gamelan_om:{frequencies:[261.6255653006,280.31310567921,294.32876096318,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Other Music gamelan (7 limit black keys)"},gamelan_udan:{frequencies:[261.6255653006,261.6255653006,290.69507255622,305.22982618403,334.88072358477,351.32575911795,364.00078650518,392.4383479509,402.50086969323,465.11211608996,465.11211608996,501.44900015948,523.2511306012],description:"Gamelan Udan Mas (approx) s6,p6,p7,s1,p1,s2,p2,p3,s3,p4,s5,p5"},ganassi:{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,327.03195662575,348.83408706747,369.35373924791,392.4383479509,413.09299784305,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"Sylvestro Ganassi's temperament (1543)"},gann_custer:{frequencies:[261.6255653006,269.80136421624,274.70684356563,279.06726965397,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,380.54627680087,392.4383479509,406.97310157871,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,507.3950357345,523.2511306012],description:"Kyle Gann, scale from Custer's Ghost to Sitting Bull, 1/1=G"},gann_frac:{frequencies:[261.6255653006,264.89588486686,294.32876096318,305.22982618403,309.04519901133,313.95067836072,348.83408706747,353.19451315581,366.27579142084,392.4383479509,397.34382730029,412.06026534844,418.60090448096,423.83341578697,457.84473927605,470.92601754108,523.2511306012],description:"Kyle Gann, scale from Fractured Paradise, 1/1=B"},gann_ghost:{frequencies:[261.6255653006,294.32876096318,305.22982618403,343.38355445704,348.83408706747,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"Kyle Gann, scale from Ghost Town, 1/1=E"},gann_super:{frequencies:[261.6255653006,287.78812183066,290.69507255622,294.32876096318,299.00064605783,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,523.2511306012],description:"Kyle Gann, scale from Superparticular Woman (1992), 1/1=G"},gann_things:{frequencies:[261.6255653006,266.47048317654,272.52663052146,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,343.38355445704,348.83408706747,373.75080757229,387.59343007496,392.4383479509,406.97310157871,408.78994578219,436.04260883433,448.50096908674,465.11211608996,490.54793493862,498.33441009638,508.71637697339,523.2511306012],description:"Kyle Gann, scale from How Miraculous Things Happen, 1/1=A"},garcia:{frequencies:[261.6255653006,268.33391312882,271.68808704293,279.06726965397,286.22284067074,294.32876096318,301.87565226992,310.07474405997,313.95067836072,322.00069575458,331.11985608357,339.61010880366,348.83408706747,357.77855083843,362.25078272391,372.08969287196,381.63045422766,392.4383479509,402.50086969323,407.5321305644,418.60090448096,429.33426100611,441.49314144476,452.81347840488,465.11211608996,470.92601754108,483.00104363188,496.11959049595,509.4151632055,523.2511306012],description:"Linear 29-tone scale by Jos\xEF\xBF\xBD L. Garcia, 1988 15/13-52/45 alternating"},garibaldi24:{frequencies:[261.6255653006,271.45160478635,275.48458787532,290.07776082447,294.38747453868,305.44397410364,309.9819851541,326.40257969757,331.25197480486,343.69301829526,348.79929894143,361.89937857146,367.27615309757,386.73177659938,392.47748849606,407.21801775129,413.26809573999,435.16003837828,441.62525370518,458.21165716245,465.0193526482,489.65270106975,496.92751922541,515.59094540799,523.2511306012],description:"Garibaldi[24] in 94-tET tuning."},genovese:{frequencies:[261.6255653006,277.01530443593,277.97716313189,279.06726965397,280.31310567921,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,296.50897400735,299.00064605783,301.87565226992,305.22982618403,307.79478270659,309.19384990071,313.95067836072,317.68818643644,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,338.57426097725,340.11323489078,342.12573923925,348.83408706747,356.76213450082,359.73515228832,362.25078272391,366.27579142084,369.35373924791,370.63621750918,373.75080757229,377.90359432309,380.54627680087,383.71749577421,392.4383479509,400.13321751856,402.50086969323,404.33041910093,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,430.91269578922,436.04260883433,442.75095666255,444.76346101102,448.50096908674,453.48431318771,457.84473927605,461.69217405988,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,488.36772189445,490.54793493862,492.47165233054,494.18162334558,523.2511306012],description:"Denny Genovese's 65-note scale. 3/2=384 Hz"},genovese_12:{frequencies:[261.6255653006,285.40970760065,294.32876096318,313.95067836072,327.03195662575,348.83408706747,359.73515228832,392.4383479509,425.14154361347,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Denny Genovese's superposition of harmonics 8-16 and subharmonics 6-12"},genovese_38:{frequencies:[261.6255653006,280.31310567921,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,485.87604984397,490.54793493862,523.2511306012],description:"Denny Genovese's 38-note scale. Harm 1..16 x Subh. 1..12"},"gf1-2":{frequencies:[261.6255653006,269.29177952703,277.18263097687,285.30470202322,293.66476791741,311.12698372208,320.24370022528,339.28638158975,349.22823143301,359.46139971304,380.8360868427,403.48177901006,415.30469757995,440,466.16376151809,493.88330125613,523.2511306012],description:"16-note scale with all possible quadruplets of 50 & 100 c. Galois Field GF(2)"},"gf2-3":{frequencies:[261.6255653006,270.85177093588,280.40333801024,290.29174037004,300.52885648597,316.56538760238,327.729041887,345.21700307457,357.39105439675,369.99442271164,389.73770840504,410.5345162762,425.01198472693,447.69106452518,471.58032351597,496.7443381147,523.2511306012],description:"16-note scale with all possible quadruplets of 60 & 90 c. Galois Field GF(2)"},gilson7:{frequencies:[261.6255653006,261.6255653006,299.00064605783,313.95067836072,327.03195662575,392.4383479509,373.75080757229,392.4383479509,408.78994578219,408.78994578219,467.18850946536,490.54793493862,523.2511306012],description:"Gilson septimal"},gilson7a:{frequencies:[261.6255653006,261.6255653006,280.31310567921,299.00064605783,313.95067836072,336.37572681506,373.75080757229,373.75080757229,392.4383479509,418.60090448096,470.92601754108,470.92601754108,523.2511306012],description:"Gilson septimal 2"},golden_10:{frequencies:[261.6255653006,287.58715183149,304.90466328003,323.26497397694,342.73087946949,376.74069565061,399.42672527674,423.47882962254,465.50141625349,493.53231135469,523.2511306012],description:"Golden version of Rapoport's Major 10 out of 13"},golden_5:{frequencies:[261.6255653006,327.03195662575,343.38355445704,392.4383479509,425.14154361347,523.2511306012],description:"Golden pentatonic"},gradus10:{frequencies:[261.6255653006,290.69507255622,299.00064605783,305.22982618403,490.54793493862,882.98628288953,930.22423217991,941.85203508216,1220.91930473613,1255.80271344288,1674.40361792384,2747.0684356563,3270.3195662575,3488.34087067467,5886.5752192635,10595.8353946743,10988.2737426252,11162.69078615893,13081.27826503,14651.0316568336,23546.300877054,31395.067836072,41860.090448096,42383.3415786972,56511.1221049296,75348.1628065728,100464.2170754304,133952.2894339072],description:"Intervals > 1 with Gradus = 10"},gradus3:{frequencies:[261.6255653006,784.8766959018,1046.5022612024],description:"Intervals > 1 with Gradus = 3"},gradus4:{frequencies:[261.6255653006,392.4383479509,1569.7533918036,2093.0045224048],description:"Intervals > 1 with Gradus = 4"},gradus5:{frequencies:[261.6255653006,348.83408706747,1308.127826503,2354.6300877054,3139.5067836072,4186.0090448096],description:"Intervals > 1 with Gradus = 5"},gradus6:{frequencies:[261.6255653006,654.0639132515,697.66817413493,1177.3150438527,2616.255653006,4709.2601754108,6279.0135672144,8372.0180896192],description:"Intervals > 1 with Gradus = 6"},gradus7:{frequencies:[261.6255653006,327.03195662575,436.04260883433,588.65752192635,1395.33634826987,1831.3789571042,3924.383479509,5232.511306012,7063.8902631162,9418.5203508216,12558.0271344288,16744.0361792384],description:"Intervals > 1 with Gradus = 7"},gradus8:{frequencies:[261.6255653006,294.32876096318,313.95067836072,418.60090448096,872.08521766867,915.6894785521,1962.1917397545,2790.67269653973,3531.9451315581,3662.7579142084,7848.766959018,10465.022612024,14127.7805262324,18837.0407016432,25116.0542688576,33488.0723584768],description:"Intervals > 1 with Gradus = 8"},gradus9:{frequencies:[261.6255653006,457.84473927605,465.11211608996,470.92601754108,610.45965236807,627.90135672144,837.20180896192,981.09586987725,1744.17043533733,1765.97256577905,5494.1368713126,5581.34539307947,6540.639132515,7325.5158284168,11773.150438527,15697.533918036,20930.045224048,21191.6707893486,28255.5610524648,37674.0814032864,50232.1085377152,66976.1447169536],description:"Intervals > 1 with Gradus = 9"},grady11:{frequencies:[261.6255653006,277.4816601673,290.69507255622,305.22982618403,332.97799220076,356.76213450082,378.42269266694,392.4383479509,420.46965851882,458.69417292962,481.6288815761,504.56359022259,523.2511306012],description:"Kraig Grady's dual [5 7 9 11] hexany scale"},grady7:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:`Kraig Grady's 7-limit "Centaur" scale (1987), see Xenharmonikon 16`},grady7t:{frequencies:[261.6255653006,274.79177208104,293.65339461903,305.54250820508,326.68804977983,349.10444036529,366.6627351378,392.00975085961,407.77240291308,436.0718257558,457.96530027286,489.37179607373,523.2511306012],description:"Tempered version of grady7 with egalised 225/224"},grady_14:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,343.38355445704,348.83408706747,366.27579142084,392.4383479509,412.06026534844,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"Kraig Grady, letter to Lou Harrison, published in 1/1 7 (1) 1991 p 5."},grammateus:{frequencies:[261.6255653006,277.49581689502,294.32876096318,312.18279369479,331.11985608357,348.83408706747,369.99442271164,392.4383479509,416.24372513446,441.49314144476,468.27419030811,496.67978412536,523.2511306012],description:"H. Grammateus (Heinrich Schreiber) (1518). B-F# and Bb-F 1/2 P. Also Marpurg temp.nr.6"},graupner:{frequencies:[261.6255653006,277.083518473,293.59062125964,310.9808189359,329.55130849159,349.11528328816,370.00708353276,392.01655298731,415.20348378516,439.96413779539,466.04943410823,493.90517116572,523.2511306012],description:"Johann Gottlieb Graupner's temperament (1819)"},groenewald_21:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,330.74639366397,348.83408706747,367.91095120397,372.08969287196,392.4383479509,413.89982010446,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.11959049595,523.2511306012],description:"J\xEF\xBF\xBDrgen Gr\xEF\xBF\xBDnewald, new meantone temperament I (2000)"},gross:{frequencies:[13.75,13.83042567154,13.91662997964,13.99803029322,14.07990672861,14.1622619889,14.24509903843,14.32842061343,14.41222946472,14.49652860895,14.58132083065,14.67220542837,14.75802520833,14.84434696019,14.93117353378,15.01850805439,15.10635340681,15.19471249121,15.28358848801,15.37298433293,15.46880332718,15.55928251958,15.65029093742,15.74183158529,15.83390775812,15.92652249736,16.01967895316,16.113380201,16.20762961362,16.30865090754,16.4040424858,16.49999202274,16.59650278193,16.69357794961,16.79122101993,16.88943521823,16.98822378696,17.08759028197,17.18753798549,17.29466699621,17.39582592037,17.49757653721,17.59992220598,17.70286661052,17.80641315127,17.91056524676,18.01532664586,18.12070080902,18.23364617402,18.34029731861,18.44757228066,18.55547460176,18.66400816581,18.77317655783,18.88298349104,18.99343259063,19.10452783216,19.2236053387,19.33604689279,19.44914613325,19.56290690697,19.67733296969,19.79242844011,19.90819712001,20.02464283144,20.14176976577,20.26731246322,20.38585868839,20.50509842475,20.62503561099,20.74567420676,20.86701855437,20.98907266203,21.11184068121,21.23532666504,21.36768545088,21.49266790503,21.61838152318,21.74483045784,21.87201888365,21.99995137868,22.12863216875,22.25806563075,22.38825603783,22.52780097787,22.65956910312,22.79210808945,22.92542231482,23.05951631373,23.1943945132,23.33006176809,23.46652255971,23.60378139323,23.75090264526,23.88982499399,24.02955978014,24.17011203339,24.3114863964,24.45368753658,24.59672057234,24.74059022832,24.88530139802,25.04041015894,25.18687501732,25.33419642278,25.48237967807,25.63142967793,25.78135134315,25.93215007005,26.08383083979,26.23639881154,26.39992889083,26.55434576426,26.70966568928,26.86589425653,27.0230366265,27.18109814415,27.34008402779,27.5],description:"Gross temperament, g=91.531021, 5-limit"},groven:{frequencies:[261.6255653006,264.7464578752,272.5650766677,275.81646505128,279.10663876478,290.77709705464,294.24573392894,297.75574765819,306.54921255625,310.20599265769,313.90639394672,327.03195662575,330.93307160522,334.88072358477,344.77058253591,348.88329767713,353.04507480266,363.47137260637,367.80716871461,372.19468374184,387.75749219625,392.38299382393,397.06367008113,408.78994578219,413.66634097248,418.60090448096,436.10412364188,441.30634506723,446.57062302059,459.75895986689,465.24335632603,470.79317533731,484.69686416326,490.47874118496,496.32958936031,517.08292506126,523.2511306012],description:"Eivind Groven's 36-tone scale with 1/8-schisma temp. fifths and 5/4 (1948)"},groven_ji:{frequencies:[261.6255653006,264.89588486686,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.07474405997,313.95067836072,327.03195662575,331.11985608357,334.88072358477,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,387.59343007496,392.4383479509,396.89567239676,408.78994578219,413.89982010446,418.60090448096,436.04260883433,441.49314144476,446.50763144636,459.88868900496,465.11211608996,470.92601754108,484.4917875937,490.54793493862,496.11959049595,517.37477513058,523.2511306012],description:"Untempered version of Groven's 36-tone scale"},gumbeng:{frequencies:[261.6255653006,305.03156112838,348.43777142572,394.8168394034,470.9259392365,525.62941881859],description:"Scale of gumbeng ensemble, Java. 1/1=440 Hz."},gunkali:{frequencies:[261.6255653006,275.93321340298,282.55561052465,348.83408706747,392.4383479509,408.78994578219,418.60090448096,523.2511306012],description:"Indian mode Gunkali, see Dani\xEF\xBF\xBDlou: Intr. to the Stud. of Mus. Scales, p.175"},gyaling:{frequencies:[261.6255653006,283.49766588023,307.55338551939,339.28638158975,347.81902735497,393.58362272115,435.9522698367],description:'Tibetan Buddhist Gyaling tones measured from CD "The Diamond Path", Ligon 2002'},far12_104:{frequencies:[261.6255653006,276.7193479141,294.32876096318,311.93817401225,329.54758706133,349.67263054599,369.79767403066,392.4383479509,415.07902187114,440.23532622697,465.3916305828,493.06356537421,523.2511306012],description:"Farey approximation to 12-tET with den=104"},far12_65:{frequencies:[261.6255653006,277.72560008833,293.82563487606,309.92566966379,330.05071314845,350.17575663311,370.30080011777,390.42584360243,414.57589578403,438.72594796562,466.90100884415,495.07606972267,523.2511306012],description:"Farey approximation to 12-tET with den=65"},far12_80:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,330.30227619201,349.92419358955,369.5461109871,392.4383479509,415.3305849147,441.49314144476,467.65569797482,493.81825450488,523.2511306012],description:"Farey approximation to 12-tET with den=80"},farey3:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,418.60090448096,523.2511306012],description:"Farey fractions between 0 and 1 until 3rd level, normalised by 2/1"},farey4:{frequencies:[261.6255653006,299.00064605783,313.95067836072,327.03195662575,348.83408706747,373.75080757229,392.4383479509,418.60090448096,448.50096908674,523.2511306012],description:"Farey fractions between 0 and 1 until 4th level, normalised by 2/1"},farey5:{frequencies:[261.6255653006,285.40970760065,290.69507255622,299.00064605783,305.22982618403,313.95067836072,322.00069575458,327.03195662575,332.97799220076,348.83408706747,366.27579142084,373.75080757229,380.54627680087,392.4383479509,402.50086969323,406.97310157871,418.60090448096,436.04260883433,448.50096908674,465.11211608996,523.2511306012],description:"Farey fractions between 0 and 1 until 5th level, normalised by 2/1"},farnsworth:{frequencies:[261.6255653006,294.32876096318,327.03195662575,343.38355445704,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Farnsworth's scale"},fibo_9:{frequencies:[261.6255653006,277.97716313189,327.03195662575,343.38355445704,363.82305174615,392.4383479509,425.14154361347,449.66894036041,523.2511306012],description:"First 9 Fibonacci terms reduced by 2/1, B. McLaren, XH 13, 1991"},finnamore:{frequencies:[261.6255653006,277.97716313189,310.68035879446,348.83408706747,392.4383479509,416.96574469783,457.84473927605,466.02053819169,523.2511306012],description:"David J. Finnamore, Tuning List 9 May '97. Tetrachordal scale, 17/16x19/17x64/57"},finnamore53:{frequencies:[261.6255653006,286.15296204753,310.68035879446,327.03195662575,343.38355445704,359.73515228832,367.91095120397,376.08675011961,392.4383479509,408.78994578219,416.96574469783,425.14154361347,433.31734252912,441.49314144476,457.84473927605,474.19633710734,523.2511306012],description:'David J. Finnamore, tuning for "Crawlspace", 53-limit, 1998.'},finnamore_11:{frequencies:[261.6255653006,287.78812183066,294.32876096318,305.22982618403,323.76163705949,331.11985608357,343.38355445704,348.83408706747,392.4383479509,431.68218274599,441.49314144476,457.84473927605,485.64245558924,515.07533168556,523.2511306012],description:"David J. Finnamore, 11-limit scale, Tuning List 3 Sept '98"},finnamore_7:{frequencies:[261.6255653006,274.70684356563,294.32876096318,309.04519901133,331.11985608357,348.83408706747,366.27579142084,392.4383479509,412.06026534844,441.49314144476,463.567798517,496.67978412536,523.2511306012],description:"David J. Finnamore, TL 1 Sept '98. 7-tone Pyth. with 9/8 div. in 21/20 &15/14"},finnamore_7a:{frequencies:[261.6255653006,280.31310567921,294.32876096318,315.35224388912,331.11985608357,348.83408706747,373.75080757229,392.4383479509,420.46965851882,441.49314144476,473.02836583367,496.67978412536,523.2511306012],description:"David J. Finnamore, TL 1 Sept '98. 7-tone Pyth. with 9/8 div. in 15/14 &21/20"},finnamore_jc:{frequencies:[261.6255653006,276.16031892841,310.68035879446,348.83408706747,392.4383479509,414.24047839262,466.02053819169,523.2511306012],description:"Chalmers' modification of Finnamore. Tuning List 9-5-97 19/18 x 9/8 x 64/57"},fisher:{frequencies:[261.6255653006,273.37431312998,292.50627485027,310.67535808973,327.03195662575,349.71841093413,365.63284485857,391.22147055517,410.55062036439,437.39890198442,467.47330218196,489.02683992698,523.2511306012],description:"Alexander Metcalf Fisher's modified meantone temperament (1818)"},"fj-10tet":{frequencies:[261.6255653006,280.31310567921,300.51585203447,322.00069575458,345.20039866051,370.01329949656,396.52624740872,425.14154361347,455.42228033808,488.36772189445,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 10-tet"},"fj-12tet":{frequencies:[261.6255653006,277.19851561611,293.6613488068,311.12229387098,329.64821227876,348.83408706747,370.01329949656,391.99491478937,415.52295665389,440.00663255101,466.16918908107,490.54793493862,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 12-tet"},"fj-13tet":{frequencies:[261.6255653006,275.96121271433,291.05844139692,306.97399661937,323.91736656265,341.56671025356,360.27127025001,379.97998769849,400.78810003496,422.62591317789,445.95266812602,41.6222490251,496.18641694941,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 13-tet"},"fj-14tet":{frequencies:[261.6255653006,274.92856014639,288.87822835275,303.4856557487,318.85615771011,335.0643204727,352.18826098158,370.01329949656,388.70083987518,408.5030756448,429.33426100611,451.0785608631,473.88781639354,497.93252750759,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 14-tet"},"fj-15tet":{frequencies:[261.6255653006,274.08392555301,286.94416839421,300.51585203447,314.76825825228,329.64821227876,345.20039866051,361.51896296083,378.66858135613,396.52624740872,415.52295665389,392.4383479509,455.42228033808,477.08191319521,499.46698830115,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 15-tet"},"fj-16tet":{frequencies:[261.6255653006,273.25336820285,285.40970760065,297.96244937013,311.12229387098,324.92207303462,339.29565499922,354.2846196779,370.01329949656,386.4008349055,403.52417698906,421.50785520652,440.00663255101,459.44001711325,479.64686971777,500.9851250437,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 16-tet"},"fj-17tet":{frequencies:[261.6255653006,272.52663052146,283.8915708581,295.75063903546,307.98958953109,320.70230585235,334.29933343966,348.03400888612,362.53828334512,373.75080757229,392.4383479509,409.71550792358,426.86276443782,444.76346101102,462.87600014722,482.37213602298,502.32108537715,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 17-tet"},"fj-18tet":{frequencies:[261.6255653006,271.88539139082,282.55561052465,293.6613488068,305.22982618403,317.12189733406,329.64821227876,342.60490694126,355.98232655655,370.01329949656,384.51030051755,399.57359064092,415.52295665389,431.68218274599,448.50096908674,466.16918908107,484.4917875937,503.12608711654,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 18-tet"},"fj-19tet":{frequencies:[261.6255653006,271.31540105247,281.44568388398,291.81313052759,302.73815413355,313.95067836072,325.69713231299,337.73482066077,350.31219760589,363.36884069528,376.74081403286,390.78248994267,405.26313056367,420.46965851882,436.04260883433,451.89870370104,468.95148497277,485.87604984397,504.56359022259,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 19-tet"},"fj-20tet":{frequencies:[261.6255653006,270.8594087818,280.31310567921,290.29686012806,300.51585203447,311.12229387098,322.00069575458,333.44434793214,345.20039866051,357.34223553253,370.01329949656,383.09457776159,396.52624740872,410.48149038542,425.14154361347,440.00663255101,455.42228033808,470.92601754108,488.36772189445,505.41302387616,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 20-tet"},"fj-21tet":{frequencies:[261.6255653006,270.34641747729,279.46367202564,288.87822835275,298.56093922539,308.58400009814,318.85615771011,329.64821227876,340.72166643799,352.18826098158,364.00078650518,376.08675011961,388.70083987518,401.78211814021,415.52295665389,429.33426100611,443.62595855319,457.84473927605,473.88781639354,489.85212226495,506.18859373377,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 21-tet"},"fj-22tet":{frequencies:[261.6255653006,270.06509966514,278.68810216803,287.55242312318,296.76929795292,306.29334474217,316.13089140489,326.18252297218,336.37572681506,347.40443916965,358.52392281934,370.01329949656,381.83190611439,392.4383479509,392.4383479509,419.69101100305,433.03541842858,446.94367405519,461.28718092474,475.68284600109,491.34557385722,506.89953276991,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 22-tet"},"fj-23tet":{frequencies:[261.6255653006,269.55361273395,277.97716313189,286.37392958579,295.1673044417,304.21577360535,313.47928094576,323.18452184192,332.97799220076,343.1154954762,353.6790049434,364.40703738298,375.66747838035,387.20583664489,398.97898708342,411.12588832951,423.58424858192,436.04260883433,449.99597231703,463.79077485106,477.96978276071,492.47165233054,507.86139146587,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 23-tet"},"fj-24tet":{frequencies:[261.6255653006,269.32043486826,277.19851561611,285.40970760065,293.6613488068,302.32287545847,311.12229387098,320.2657782128,329.64821227876,339.29565499922,348.83408706747,348.83408706747,370.01329949656,380.54627680087,391.99491478937,403.52417698906,415.52295665389,427.53446036927,440.00663255101,452.81347840488,466.16918908107,479.64686971777,490.54793493862,508.30109829831,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 24-tet"},"fj-26tet":{frequencies:[261.6255653006,268.69652652494,275.96121271433,283.42769574232,291.05844139692,299.00064605783,306.97399661937,315.29234792636,323.91736656265,332.57487114483,341.56671025356,350.8160989258,360.27127025001,370.01329949656,379.97998769849,390.22118214327,400.78810003496,411.12588832951,422.62591317789,434.18710837121,445.95266812602,457.84473927605,457.84473927605,483.00104363188,496.18641694941,509.48136400643,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 26-tet"},"fj-30tet":{frequencies:[261.6255653006,267.70988077271,274.08392555301,280.31310567921,286.94416839421,293.6613488068,300.51585203447,307.52478728316,314.76825825228,322.00069575458,329.64821227876,337.35928157183,345.20039866051,353.19451315581,361.51896296083,370.01329949656,378.66858135613,387.59343007496,396.52624740872,405.78659107848,415.52295665389,425.14154361347,392.4383479509,444.76346101102,455.42228033808,466.16918908107,477.08191319521,488.36772189445,499.46698830115,511.35905945117,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 30-tet"},"fj-31tet":{frequencies:[261.6255653006,267.57160087561,273.51763645063,279.79400733536,286.15296204753,292.60754013883,299.00064605783,305.96888145324,312.81317590289,319.76457981184,327.03195662575,334.53760808929,342.12573923925,349.884792149,357.81143489641,366.27579142084,373.75080757229,382.37582620857,391.25985441351,400.13321751856,409.20921752145,418.60090448096,428.11456140098,437.54620403721,447.51741432997,457.84473927605,467.90726101838,478.40103369253,489.12605686634,500.50108144463,511.62332769895,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 31-tet"},"fj-36tet":{frequencies:[261.6255653006,266.75547834571,271.88539139082,277.19851561611,282.55561052465,288.08208313999,293.6613488068,299.00064605783,305.22982618403,311.12229387098,317.12189733406,323.18452184192,329.64821227876,327.03195662575,342.60490694126,348.83408706747,355.98232655655,362.89997767503,370.01329949656,377.22755927063,384.51030051755,391.99491478937,399.57359064092,406.97310157871,415.52295665389,423.35773294097,431.68218274599,440.00663255101,448.50096908674,436.04260883433,466.16918908107,475.19745534191,484.4917875937,490.54793493862,503.12608711654,513.18860885887,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 36-tet"},"fj-41tet":{frequencies:[261.6255653006,266.05989691586,270.64713651786,275.21650375777,279.87851171692,284.71017400359,289.532292266,294.32876096318,299.49242343621,304.63250754179,309.81974838229,315.13988547572,320.49131749323,325.95972070239,331.39238271409,337.09447836808,342.81970625596,348.83408706747,354.64798851859,360.72615821749,366.27579142084,373.13810133036,379.35706968587,386.00493241072,392.4383479509,399.32323124828,405.97070477679,413.09299784305,419.97788114044,427.14378008261,434.48531380278,441.85651028546,449.45930449077,436.04260883433,465.11211608996,472.93852188955,480.82536325516,489.12605686634,497.08857407114,505.80942624783,514.53027842451,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 41-tet"},"fj-42tet":{frequencies:[261.6255653006,265.98599138894,270.34641747729,274.92856014639,279.46367202564,284.05061375494,288.87822835275,293.6613488068,298.56093922539,303.4856557487,308.58400009814,313.7026920429,318.85615771011,324.18820048118,329.64821227876,335.0643204727,340.72166643799,346.37750898953,352.18826098158,358.01393146398,364.00078650518,370.01329949656,376.08675011961,382.37582620857,388.70083987518,395.22159864559,401.78211814021,408.5030756448,415.52295665389,422.16852582597,429.33426100611,436.04260883433,443.62595855319,451.0785608631,457.84473927605,466.16918908107,473.88781639354,481.94183081689,489.85212226495,497.93252750759,506.18859373377,514.81159623666,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 42-tet"},"fj-43tet":{frequencies:[261.6255653006,265.84533248287,270.2034526875,274.70684356563,279.06726965397,283.42769574232,288.1672893166,292.86443876933,297.71185016965,302.50455987882,307.4100392282,312.38873468728,317.43901923139,322.67153053741,327.85988562987,332.97799220076,338.57426097725,344.24416486921,348.83408706747,355.41586229515,361.11697745717,367.05676325756,372.95559308809,379.09010482332,385.17097113699,391.45479319413,397.88888056133,404.33041910093,392.4383479509,417.48760420309,424.25767346043,431.1976909584,438.2228218785,445.32011114996,452.54151835779,459.82675113439,467.18850946536,475.05694751951,483.00104363188,490.54793493862,498.33441009638,506.89953276991,514.81159623666,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 43-tet"},"fj-53tet":{frequencies:[261.6255653006,265.06800694929,268.51044859798,272.09058791262,275.69145590816,279.30296836145,282.98275430473,286.71294827463,290.48132617934,294.32876096318,298.13145813324,302.11523612093,306.05254808749,310.07474405997,313.95067836072,318.31110444906,322.46872002167,326.7649917632,331.03642956402,335.41739141103,336.37572681506,344.24416486921,348.83408706747,353.42400926572,358.01393146398,362.89997767503,367.52162744608,372.31330446624,377.3445653374,382.37582620857,387.20583664489,392.4383479509,397.67085925691,402.82031482791,408.13588186894,413.53718386224,418.60090448096,424.41480593208,429.81342870813,436.04260883433,441.49314144476,447.29532132038,453.1728541814,459.07882213124,465.11211608996,470.92601754108,477.46665667359,483.76047923507,485.87604984397,496.55464434604,503.12608711654,509.83443494476,516.36624730382,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 53-tet"},"fj-54tet":{frequencies:[261.6255653006,265.02329991489,268.42103452919,271.88539139082,275.39533189537,279.06726965397,282.55561052465,286.15296204753,289.90941019796,293.6613488068,297.46468383493,301.26580246736,305.22982618403,309.19384990071,313.15787361738,317.12189733406,321.29455387793,325.43667878855,329.64821227876,333.91683992313,338.19890148614,342.60490694126,346.93824963775,351.55935337268,355.98232655655,360.61902244137,365.28852513669,370.01329949656,374.76094489005,379.61356533813,384.51030051755,389.53139722534,394.5147413263,399.57359064092,404.77917650282,409.88005230427,415.52295665389,420.652869699,426.07592063241,431.68218274599,436.04260883433,442.75095666255,448.50096908674,454.40229762736,460.26719821402,466.16918908107,472.20223981084,478.40103369253,484.4917875937,490.54793493862,497.08857407114,503.12608711654,510.16985233617,516.54278277298,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 54-tet"},"fj-55tet":{frequencies:[261.6255653006,264.93728131706,268.33391312882,271.68808704293,275.15792212649,278.68810216803,282.14521748104,285.77561748219,289.37373131733,293.02063313667,296.76929795292,300.51585203447,304.33994330886,308.21641939523,312.11470948142,316.13089140489,319.76457981184,324.10331223806,328.22116374075,332.33517754401,336.37572681506,340.90603963412,345.20039866051,348.83408706747,353.96400011258,358.52392281934,363.07221307022,367.68998366571,372.31330446624,377.04860881557,381.83190611439,386.75083566176,391.58336244338,396.52624740872,401.56482115906,406.65712867376,411.81801945465,416.96574469783,418.60090448096,427.65717404906,433.03541842858,438.60756535689,444.15502946381,449.8123754291,455.42228033808,461.28718092474,467.18850946536,472.93852188955,479.03272519828,485.0974023282,491.34557385722,497.60156537565,503.87145909745,510.16985233617,516.71049146868,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 55-tet"},"fj-5tet":{frequencies:[261.6255653006,300.51585203447,345.20039866051,396.52624740872,455.42228033808,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 5-tet"},"fj-60tet":{frequencies:[261.6255653006,264.66772303665,267.70988077271,270.8594087818,274.08392555301,277.19851561611,280.31310567921,283.6903720127,286.94416839421,290.29686012806,293.6613488068,297.10021822272,300.51585203447,304.05133264664,307.52478728316,311.12229387098,314.76825825228,318.50068819203,322.00069575458,325.79787377056,329.64821227876,333.44434793214,337.35928157183,341.25073734861,345.20039866051,348.83408706747,353.19451315581,357.34223553253,361.51896296083,365.74186169574,370.01329949656,374.3258088147,378.66858135613,383.09457776159,387.59343007496,391.99491478937,396.52624740872,401.15920012759,405.78659107848,410.48149038542,415.52295665389,420.18651396763,425.14154361347,429.81342870813,434.91003062957,440.00663255101,444.76346101102,450.23934493592,455.42228033808,460.95932933915,466.16918908107,470.92601754108,477.08191319521,482.55382044333,488.36772189445,490.54793493862,499.46698830115,505.41302387616,511.35905945117,517.30509502619,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 60-tet"},"fj-66tet":{frequencies:[261.6255653006,264.37951861955,267.19206668997,270.06509966514,272.83808952777,275.76748774928,278.68810216803,281.58005756929,284.57517629188,287.55242312318,290.69507255622,293.6613488068,296.76929795292,299.91223339337,302.93486508491,306.29334474217,309.48390041656,312.81317590289,316.13089140489,319.38705374359,322.78478835788,326.18252297218,329.64821227876,332.97799220076,336.37572681506,340.11323489078,343.8507429665,347.40443916965,351.12904816659,354.74652922115,358.52392281934,362.25078272391,366.27579142084,370.01329949656,373.75080757229,377.90359432309,381.83190611439,385.89770881839,389.97018224052,392.4383479509,398.12586024004,402.50086969323,406.65712867376,411.12588832951,415.52295665389,419.69101100305,424.01384721132,428.62060698183,433.03541842858,437.71969579139,442.27178896054,446.94367405519,451.89870370104,456.45311392871,461.28718092474,466.16918908107,470.92601754108,475.68284600109,481.05345877852,485.87604984397,491.34557385722,496.41773928832,501.44900015948,506.89953276991,512.35006538034,517.80059799077,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 66-tet"},"fj-72tet":{frequencies:[195.99771799087,197.9006084568,199.84081050049,201.76235675531,203.68390301012,205.67661764474,207.66424882366,209.67197738558,211.67753543014,213.81569235368,215.817711945,217.77524221208,219.99743856118,222.13074705632,223.99739198957,226.48625190056,228.66400432268,230.8417567448,233.07836734049,235.19726158904,237.57299150408,239.92824098882,242.11482810637,244.5635242187,246.9571246685,249.45164107929,251.74018824515,254.18454051941,256.66367832138,259.11562717437,261.33029065449,264.17083729204,266.68541956135,269.28382123963,271.86780237443,274.39680518722,277.19677258709,279.99673998696,282.60136082405,285.0875898049,288.0572521987,290.83532347032,293.66437746429,296.5093682426,299.34196929515,302.30156503677,304.88533909691,307.99641398565,311.29049327962,313.59634878539,317.15994365795,320.28895378996,323.39623468494,326.46784071315,329.63252571192,332.8263135694,335.99608798435,339.22681959958,342.55457018224,345.87832586624,349.232297511,352.79589238357,355.99585512627,359.32914964993,362.95873702013,366.4305162438,367.49572123288,373.6206499201,376.91868844398,380.79556638226,384.45706221286,388.2262490973,391.99543598174],description:"Franck Jedrzejewski continued fractions approx. of 72-tet"},"fj-78tet":{frequencies:[138.59131548844,139.82873794816,141.06616040788,142.33702671786,143.60064014465,144.89092073791,146.18536017274,147.4753741736,148.781853392,150.14059177914,151.48353088271,152.80580938469,154.18283848089,155.56168065029,156.95883922787,158.39007484393,159.76498868806,161.21846903757,162.6138101731,164.12129465736,165.53962683341,167.02030328094,168.55700532378,170.00534699915,171.58924774759,173.06676710248,174.62505751543,176.17540104463,177.75842638735,179.35346710269,180.93866188769,182.53490332624,184.15558359423,185.8383548595,187.50589742554,188.98815748424,190.84705739392,192.48793817839,194.02784168382,196.00771761937,197.74614527009,199.57149430335,201.28738678083,203.10796235375,204.87411854813,206.71247055903,207.88697323266,210.45347907504,212.31010032272,214.18657848213,216.10849194808,217.78635291041,220.11561871693,221.7461047815,223.87827886594,225.96410133985,228.00506741647,230.00260868294,232.05987709692,234.17153306667,236.2351968553,238.37706264012,240.41350645954,242.53480210477,244.7463656498,246.9445257794,249.1343885566,251.39820018833,253.59261982991,255.8608901325,258.1602935569,260.55167311827,262.84559834014,265.13121223875,267.51346943117,269.88835121433,272.23294113801,274.70778605744,277.18263097688],description:"Franck Jedrzejewski continued fractions approx. of 78-tet"},"fj-7tet":{frequencies:[261.6255653006,288.87822835275,318.85615771011,352.18826098158,388.70083987518,429.33426100611,473.88781639354,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 7-tet"},"fj-84tet":{frequencies:[97.99885899544,98.81551615374,99.63217331203,100.44883047033,101.26548762862,102.12512674262,102.98185182572,103.83212441184,104.68059938149,105.53723276432,106.39876119505,107.33208366167,108.20707347413,109.09306944775,109.9987192806,110.89344570537,111.83399203009,112.76581035092,113.67867643471,114.64017467391,115.58839778949,116.53918367025,117.50574088079,118.47623251688,119.43610940069,120.45693084856,121.43336875522,122.4985737443,123.47856233425,124.48503710232,125.50731064328,126.58185953578,127.62642101732,128.62350243151,129.74496824748,130.66514532725,131.9215409554,132.99845149381,134.10370178323,135.17083999371,136.34623860235,137.19840259362,138.59838629355,139.73911375276,140.87335980595,142.09834554339,143.22910160872,144.41937115117,145.59830479323,146.83218873215,148.0408295463,149.25980062382,150.498247743,151.74016876713,153.01576229113,154.29607586516,155.64524663982,156.7981743927,158.13452246991,159.45577056885,160.81864040277,162.07503603092,163.33143165907,164.81626285597,166.17197829662,167.54643634704,168.96354999214,170.33135015874,171.49800324202,173.20728566636,174.61614875551,176.03498745477,177.50736723702,178.95443816559,180.52421393897,181.99788099153,183.48722535316,183.74786061645,186.51395744293,188.05186455882,189.60648805639,191.21728584476,192.8364644749,194.36440367429,195.99771799088],description:"Franck Jedrzejewski continued fractions approx. of 84-tet"},"fj-8tet":{frequencies:[261.6255653006,285.40970760065,311.12229387098,339.29565499922,370.01329949656,403.52417698906,440.00663255101,479.64686971777,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 8-tet"},"fj-90tet":{frequencies:[69.29565774422,69.83283338565,70.37840239647,70.9071846685,71.46114704873,72.0131345185,72.59545097014,73.14541650779,73.69538204544,74.24534758309,74.83931036376,75.40998048636,76.00168913882,76.58993750677,77.19009976571,77.78084032514,78.38361285822,78.99704982841,79.59636362512,80.23707738804,80.84493403492,81.4527906818,82.08870225085,82.70772053342,83.37133822351,83.99473665966,84.69469279849,85.2869633775,85.97794571968,86.61957218027,87.31252875772,87.95218098305,88.65767976099,89.35492709123,90.08435506749,90.74431371267,91.43177063473,92.14038007748,92.85618137725,93.5491379547,94.28753430771,95.03404490636,95.75399979201,96.51895185802,97.25706350066,98.00385880968,98.74631228551,99.50145727375,100.29634673506,101.05616754365,101.84361819984,102.66023369514,103.42635484212,103.94348661633,105.02623126858,105.83336819117,106.60870422188,107.47897935838,108.27446522534,109.14066094715,110.05780935847,110.87305239075,111.72157064884,112.60544383436,113.39289449054,114.33783527796,115.19278170468,116.11704811194,116.93642244337,117.80261816517,118.79255613295,119.69249974002,120.62577459179,121.5942673625,122.52275717094,123.4722628897,124.41720367712,125.39214258478,126.36267000417,127.35418180019,128.32529211893,129.35189445588,130.27583655913,131.29703572589,132.29171023897,133.26088027735,134.39157865546,135.4415128637,136.49144707195,137.52522844622,138.59131548844],description:"Franck Jedrzejewski continued fractions approx. of 90-tet"},"fj-96tet":{frequencies:[48.99942949772,49.35708956705,49.70956615711,50.0646344868,50.44058918883,50.81422318282,51.17718191984,51.5338827476,51.91606220592,52.2660581309,52.67438671005,53.04896912563,53.45392308842,53.81904551389,54.21213476343,54.59936429746,54.9993596403,55.39065943221,55.80490581685,56.20522795327,56.62156297514,57.01751796098,57.44760699733,57.85474808165,58.26959183513,58.69162434342,59.11042288614,59.54361052887,59.98206024721,60.41025554513,60.85413018265,61.24928687215,61.73928116713,62.19158359326,62.61038213598,63.09515579158,63.54613512986,63.99925485416,64.47293354963,64.92424408448,65.33257266363,65.89578449693,66.3533941115,66.81740386053,67.32095530991,67.84536391992,68.30223505743,68.78766064103,69.29919314678,69.78706625433,70.30352927934,70.77695371893,71.27189745123,71.86582992999,72.36838818125,72.90159022832,73.41609436608,73.94459360565,74.47913283653,75.03037641838,75.5753912592,76.10549687944,76.66039776256,77.21122223883,77.82262331991,78.34524166943,78.94352530188,79.48796340741,80.07223844749,80.64489438166,81.23589627254,81.66571582953,82.40813142798,82.999033639,83.58726208435,84.21776944921,84.8067048999,85.43490271397,86.04777863014,86.69129834212,87.30807437776,87.94769397027,88.57589178434,89.20408959841,89.83228741249,90.46048522656,91.16172929808,91.87393030822,92.49330511929,93.09891604567,93.82869478287,94.4988997456,95.19889159557,95.91377688915,96.59887529551,97.28872233605,97.99885899544],description:"Franck Jedrzejewski continued fractions approx. of 96-tet"},"fj-9tet":{frequencies:[261.6255653006,282.55561052465,305.22982618403,329.64821227876,355.98232655655,384.51030051755,415.52295665389,448.50096908674,484.4917875937,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 9-tet"},flavel:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Bill Flavel's just tuning. Tuning List 6-5-98"},fogliano:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Fogliano's Monochord with D-/D and Bb-/Bb"},fogliano1:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Fogliano's Monochord no.1, Musica theorica (1529)"},fogliano2:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Fogliano's Monochord no.2"},"fokker-h":{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Fokker-H 5-limit per.bl. synt.comma&small diesis, KNAW B71, 1968"},"fokker-ht":{frequencies:[261.6255653006,272.31140503734,279.67242998298,290.89121260742,305.67073265504,313.92185180985,326.66733279836,335.5942968927,349.22294231864,363.36596605244,376.74379448613,392.00137290182,407.92073675044,419.068143928,436.08264938702,447.85404100892,470.60848490625,489.4864783277,502.71810253025,523.2511306012],description:"Tempered version of Fokker-H per.bl. with better 6 tetrads, OdC"},"fokker-k":{frequencies:[261.6255653006,272.52663052146,282.55561052465,290.69507255622,302.80736724606,313.95067836072,327.03195662575,339.06673262958,348.83408706747,363.36884069528,376.74081403286,392.4383479509,403.74315632809,418.60090448096,436.04260883433,452.08897683944,470.92601754108,484.4917875937,502.32108537715,523.2511306012],description:"Fokker-K 5-limit per.bl. of 225/224 & 81/80 & 10976/10935, KNAW B71, 1968"},"fokker-l":{frequencies:[261.6255653006,271.31540105247,282.62020942966,291.99281841585,301.39265122629,313.95067836072,325.57848126297,339.14425131559,350.39138209902,363.36884069528,376.74081403286,390.69417751556,403.65087217807,420.46965851882,436.04260883433,454.2110508691,468.83301301868,484.38104661368,504.56359022259,523.2511306012],description:"Fokker-L 7-limit periodicity block 10976/10935 & 225/224 & 15625/15552, 1969"},"fokker-lt":{frequencies:[261.6255653006,272.07297743248,282.57734531132,291.77233860052,302.20925621315,313.90139500947,326.42149564976,339.58797317787,349.9403315901,363.14714144228,376.97081214523,391.19775936204,403.12344267272,419.38375585596,436.11106867998,452.98371913917,469.18728997524,484.4545223075,503.15865298196,523.2511306012],description:"Tempered version of Fokker-L per.bl. with more triads"},"fokker-m":{frequencies:[261.6255653006,265.7783520514,274.70684356563,279.06726965397,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,318.93402246168,327.03195662575,336.37572681506,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,406.97310157871,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,465.11211608996,478.40103369253,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"Fokker-M 7-limit periodicity block 81/80 & 225/224 & 1029/1024, KNAW B72, 1969"},"fokker-n":{frequencies:[261.6255653006,265.7783520514,273.37201925287,277.71125765371,286.15296204753,290.69507255622,299.00064605783,303.74668805875,313.95067836072,318.93402246168,328.62879235146,333.84512238879,343.38355445704,348.83408706747,358.80077526939,364.4960256705,375.57576268738,381.53728273004,392.4383479509,398.6675280771,410.05802887931,416.56688648057,429.2294430713,436.04260883433,450.69091522486,457.84473927605,470.92601754108,478.40103369253,492.94318852719,500.76768358318,515.07533168556,523.2511306012],description:"Fokker-N 7-limit periodicity block 81/80 & 2100875/2097152 & 1029/1024, 1969"},"fokker-n2":{frequencies:[261.6255653006,265.7783520514,272.52663052146,279.06726965397,286.15296204753,290.69507255622,299.00064605783,305.22982618403,313.95067836072,318.93402246168,327.03195662575,334.88072358477,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,408.78994578219,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,470.92601754108,478.40103369253,490.54793493862,502.32108537715,515.07533168556,523.2511306012],description:"Fokker-N different block shape"},"fokker-p":{frequencies:[261.6255653006,267.90457886781,273.37201925287,280.31310567921,286.15296204753,290.69507255622,299.00064605783,306.17666156322,312.97980223949,320.35783506196,327.03195662575,334.88072358477,341.85740532612,350.39138209902,357.69120255941,366.27579142084,373.75080757229,382.72082695402,390.69417751556,400.44729382745,408.78994578219,418.60090448096,427.32175665765,437.39523080459,447.11400319927,457.84473927605,470.92601754108,478.40103369253,488.36772189445,500.76768358318,510.98743222773,523.2511306012],description:"Fokker-P 7-limit periodicity block 65625/65536 & 6144/6125 & 2401/2400, 1969"},"fokker-q":{frequencies:[261.6255653006,265.7783520514,269.10058145205,272.52663052146,274.70684356563,279.06726965397,284.76252005507,286.15296204753,290.69507255622,294.32876096318,299.00064605783,301.39265122629,305.22982618403,311.45900631024,313.95067836072,318.93402246168,321.92208230347,327.03195662575,332.22294006425,334.88072358477,340.65828815182,343.38355445704,348.83408706747,353.19451315581,358.80077526939,363.36884069528,366.27579142084,373.75080757229,376.74081403286,381.53728273004,387.59343007496,392.4383479509,398.6675280771,401.85686830172,408.78994578219,412.06026534844,418.60090448096,425.24536328225,429.2294430713,436.04260883433,439.53094970501,448.50096908674,454.2110508691,457.84473927605,465.11211608996,470.92601754108,478.40103369253,480.73697623985,490.54793493862,498.33441009638,502.32108537715,508.71637697339,515.07533168556,523.2511306012],description:"Fokker-Q 7-limit per.bl. 225/224 & 4000/3969 & 6144/6125, KNAW B72, 1969"},"fokker-r":{frequencies:[261.6255653006,264.95644634031,268.26840191956,272.52663052146,275.55899540689,279.06726965397,282.62020942966,287.04062021552,290.69507255622,294.32876096318,298.07600213285,301.80195215951,306.17666156322,310.07474405997,313.95067836072,317.94773560837,322.92069774245,327.03195662575,331.19555792538,334.88072358477,340.1962906258,344.44874425862,348.83408706747,353.19451315581,357.69120255941,363.36884069528,367.91095120397,372.08969287196,376.74081403286,382.72082695402,387.59343007496,392.4383479509,397.43466951046,402.40260287934,408.78994578219,413.33849311034,418.60090448096,423.93031414449,430.56093032327,436.04260883433,441.49314144476,447.11400319927,453.59505416773,459.26499234482,465.11211608996,470.92601754108,476.92160341255,484.38104661368,490.54793493862,496.79333688808,502.32108537715,510.29443593869,516.67311638793,523.2511306012],description:"Fokker-R 7-limit per.bl. 4375/4374 & 65625/65536 & 6144/6125, 1969"},"fokker-s":{frequencies:[261.6255653006,265.7783520514,269.10058145205,273.37201925287,273.85732695955,278.20426865732,282.55561052465,286.15296204753,290.69507255622,295.2417807931,299.00064605783,303.74668805875,304.28591884395,309.04519901133,313.95067836072,317.94773560837,322.92069774245,328.04642310345,332.22294006425,333.84512238879,338.01818641865,343.38355445704,348.83408706747,353.19451315581,358.80077526939,364.4960256705,369.13660007139,370.8542388136,375.57576268738,381.53728273004,387.59343007496,392.4383479509,398.6675280771,404.99558407833,410.05802887931,412.06026534844,417.30640298598,423.93031414449,430.56093032327,436.04260883433,442.96392008567,449.89223739901,450.69091522486,457.84473927605,463.67378109554,470.92601754108,478.40103369253,484.4917875937,492.06963465517,499.88026377668,500.76768358318,508.71637697339,515.07533168556,523.2511306012],description:"Fokker-S 7-limit per.bl. 4375/4374 & 323/322 & 64827/65536, 1969"},fokker_12:{frequencies:[261.6255653006,280.31310567921,294.32876096318,305.22982618403,327.03195662575,348.83408706747,367.91095120397,392.4383479509,420.46965851882,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Fokker's 7-limit 12-tone just scale"},fokker_12a:{frequencies:[261.6255653006,274.70684356563,293.02063313667,309.04519901133,327.03195662575,348.83408706747,367.91095120397,390.69417751556,412.06026534844,439.53094970501,465.11211608996,490.54793493862,523.2511306012],description:"Fokker's 7-limit periodicity block of 2048/2025 & 3969/4000 & 225/224"},fokker_12b:{frequencies:[261.6255653006,275.93321340298,293.02063313667,309.04519901133,332.22294006425,348.83408706747,367.91095120397,392.4383479509,412.06026534844,439.53094970501,467.18850946536,496.11959049595,523.2511306012],description:"Fokker's 7-limit semitone scale KNAW B72, 1969"},fokker_12c:{frequencies:[261.6255653006,275.93321340298,293.02063313667,311.45900631024,332.22294006425,348.83408706747,372.08969287196,392.4383479509,412.06026534844,442.96392008567,467.18850946536,496.11959049595,523.2511306012],description:"Fokker's 7-limit complementary semitone scale, KNAW B72, 1969"},fokker_12t:{frequencies:[261.6255653006,279.53180800295,293.53544531438,305.4439412874,326.66157401657,349.08351368992,366.63408494061,391.81886165309,419.06057467847,436.03416050506,457.88164994338,489.21957814041,523.2511306012],description:"Tempered version of fokker_12 with egalised 225/224, see also lumma"},fokker_12t2:{frequencies:[261.6255653006,279.53060025556,293.5302824794,305.44678713816,326.66192308793,349.10467831311,366.62831408589,391.81689264402,419.03095498017,436.04260883433,457.88067400285,489.21694446174,523.2511306012],description:"Another tempered version of fokker_12 with egalised 225/224"},fokker_22:{frequencies:[261.6255653006,272.52663052146,279.06726965397,287.4304306281,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,367.91095120397,383.2405741708,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,459.88868900496,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Fokker's 22-tone periodicity block of 2048/2025 & 3125/3072. KNAW B71, 1968"},fokker_22a:{frequencies:[261.6255653006,269.46602871384,279.06726965397,287.4304306281,297.67175429757,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,357.20610515709,367.91095120397,383.2405741708,392.4383479509,408.78994578219,418.60090448096,431.14564594215,446.50763144636,459.88868900496,476.27480687611,490.54793493862,502.32108537715,523.2511306012],description:"Fokker's 22-tone periodicity block of 2048/2025 & 2109375/2097152 = semicomma"},fokker_31:{frequencies:[261.6255653006,265.7783520514,275.93321340298,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,315.35224388912,321.92208230347,327.03195662575,336.37572681506,343.38355445704,348.83408706747,357.69120255941,367.91095120397,373.75080757229,381.53728273004,392.4383479509,398.6675280771,406.97310157871,420.46965851882,429.2294430713,436.04260883433,448.50096908674,457.84473927605,465.11211608996,482.88312345521,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"Fokker's 31-tone just system"},fokker_31a:{frequencies:[261.6255653006,269.10058145205,272.52663052146,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,311.45900631024,321.92208230347,327.03195662575,336.37572681506,343.38355445704,348.83408706747,357.69120255941,367.91095120397,373.75080757229,381.53728273004,392.4383479509,398.6675280771,412.06026534844,420.46965851882,429.2294430713,436.04260883433,448.50096908674,457.84473927605,470.92601754108,476.92160341255,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"Fokker's 31-tone first alternate septimal tuning"},fokker_31b:{frequencies:[261.6255653006,267.07609791103,274.70684356563,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,321.92208230347,327.03195662575,336.37572681506,343.38355445704,348.83408706747,357.69120255941,367.91095120397,373.75080757229,381.53728273004,392.4383479509,398.6675280771,408.78994578219,420.46965851882,429.2294430713,436.04260883433,448.50096908674,457.84473927605,467.18850946536,480.53675259294,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"Fokker's 31-tone second alternate septimal tuning"},fokker_31c:{frequencies:[261.6255653006,269.46602871384,272.52663052146,279.06726965397,287.4304306281,294.32876096318,297.67175429757,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,344.91651675372,348.83408706747,359.28803828513,367.91095120397,372.08969287196,383.2405741708,392.4383479509,396.89567239676,408.78994578219,418.60090448096,431.14564594215,436.04260883433,446.50763144636,459.88868900496,465.11211608996,479.0507177135,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Fokker's 31-tone periodicity block of 81/80 & 2109375/2097152 = semicomma"},fokker_31d:{frequencies:[261.6255653006,266.13928761861,272.52663052146,279.06726965397,287.4304306281,294.32876096318,299.40669857094,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,359.28803828513,367.91095120397,376.74081403286,383.2405741708,392.4383479509,399.20893142792,408.78994578219,418.60090448096,425.82286018978,436.04260883433,443.56547936435,459.88868900496,470.92601754108,479.0507177135,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Fokker's 31-tone periodicity block of 81/80 & W\xEF\xBF\xBDrschmidt's comma"},fokker_31d2:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,283.88190679319,290.69507255622,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,376.74081403286,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,425.82286018978,436.04260883433,446.50763144636,454.2110508691,465.11211608996,482.22824196207,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Reduced version of fokker_31d by Prooijen expressibility"},fokker_41:{frequencies:[261.6255653006,264.89588486686,271.31540105247,274.70684356563,280.31310567921,283.8170195002,290.69507255622,294.32876096318,300.33547037059,305.22982618403,311.45900631024,313.95067836072,321.55899383997,325.57848126297,329.64821227876,336.37572681506,341.85740532612,348.83408706747,353.19451315581,361.75386806997,366.27579142084,373.75080757229,378.42269266694,387.59343007496,392.4383479509,400.44729382745,406.97310157871,415.27867508032,420.46965851882,425.72552925031,436.04260883433,439.53094970501,448.50096908674,455.80987376816,465.11211608996,470.92601754108,482.33849075995,488.36772189445,498.33441009638,504.56359022259,516.79124009995,523.2511306012],description:"Fokker's 7-limit supracomma per.bl. 10976/10935 & 225/224 & 496125/262144"},fokker_41a:{frequencies:[261.6255653006,264.59711493117,272.83435407277,275.93321340298,279.06726965397,287.4304306281,291.02331101095,294.32876096318,297.67175429757,306.59245933664,310.42486507835,313.95067836072,323.35923445661,327.03195662575,331.11985608357,334.88072358477,344.91651675372,348.83408706747,353.19451315581,363.77913876369,367.91095120397,372.08969287196,376.315896791,388.03108134794,392.4383479509,396.89567239676,408.78994578219,413.89982010446,418.60090448096,431.14564594215,436.04260883433,441.49314144476,446.50763144636,459.88868900496,465.11211608996,470.92601754108,485.03885168492,490.54793493862,496.11959049595,502.32108537715,517.37477513058,523.2511306012],description:"Fokker's 41-tone periodicity block of schisma & 34171875/33554432"},fokker_41b:{frequencies:[261.6255653006,264.89588486686,272.52663052146,275.93321340298,279.06726965397,287.4304306281,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.42486507835,313.95067836072,323.35923445661,327.03195662575,331.11985608357,340.65828815182,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,383.2405741708,388.03108134794,392.4383479509,397.34382730029,408.78994578219,413.89982010446,418.60090448096,431.14564594215,436.04260883433,441.49314144476,454.2110508691,459.88868900496,465.11211608996,470.92601754108,485.03885168492,490.54793493862,496.67978412536,510.98743222773,517.37477513058,523.2511306012],description:"Fokker's 41-tone periodicity block of schisma & 3125/3072"},fokker_53:{frequencies:[261.6255653006,263.718569823,268.26840191956,272.52663052146,274.70684356563,279.06726965397,282.55561052465,286.15296204753,290.69507255622,294.32876096318,299.00064605783,300.46061014991,305.22982618403,309.04519901133,313.95067836072,317.87506184023,321.92208230347,327.03195662575,329.64821227876,334.88072358477,340.65828815182,343.38355445704,348.83408706747,353.19451315581,357.69120255941,360.55273217989,366.27579142084,373.75080757229,376.74081403286,381.53728273004,386.30649876417,392.4383479509,398.6675280771,400.61414686654,410.05802887931,412.06026534844,418.60090448096,423.83341578697,429.2294430713,436.04260883433,439.53094970501,448.50096908674,450.69091522486,457.84473927605,465.11211608996,470.92601754108,476.92160341255,480.73697623985,490.54793493862,498.33441009638,502.32108537715,508.71637697339,515.07533168556,523.2511306012],description:"Fokker's 53-tone system, degree 37 has alternatives"},fokker_53a:{frequencies:[261.6255653006,264.89588486686,269.46602871384,272.52663052146,275.93321340298,279.38237857051,283.88190679319,287.4304306281,290.69507255622,294.32876096318,298.00787047521,302.80736724606,306.59245933664,310.42486507835,313.95067836072,319.36714514233,323.35923445661,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,359.28803828513,363.36884069528,367.91095120397,372.50983809402,378.50920905758,383.2405741708,388.03108134794,392.4383479509,397.34382730029,403.74315632809,408.78994578219,413.89982010446,418.60090448096,425.82286018978,431.14564594215,436.04260883433,441.49314144476,447.01180571282,454.2110508691,459.88868900496,465.63729761752,470.92601754108,479.0507177135,484.4917875937,490.54793493862,496.67978412536,504.67894541011,510.98743222773,517.37477513058,523.2511306012],description:"Fokker's 53-tone periodicity block of schisma & kleisma"},fokker_53b:{frequencies:[261.6255653006,264.59711493117,267.90457886781,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,310.07474405997,313.95067836072,317.51653791741,323.35923445661,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,388.03108134794,392.4383479509,396.89567239676,401.85686830172,408.78994578219,413.89982010446,418.60090448096,423.35538388988,431.14564594215,436.04260883433,441.49314144476,446.50763144636,451.5790761492,459.88868900496,465.11211608996,470.92601754108,476.27480687611,485.03885168492,490.54793493862,496.11959049595,502.32108537715,510.98743222773,517.37477513058,523.2511306012],description:"Fokker's 53-tone periodicity block of schisma & 2109375/2097152"},fokker_av:{frequencies:[261.6255653006,267.53238172257,273.57240048543,279.74894499065,286.06477437084,292.52336378682,299.12777114678,305.88111195206,312.78710209553,319.84901131344,327.07017092477,334.45455423048,342.00545991849,349.72704272607,357.62295854304,365.69693211485,373.95340598657,382.39606841888,391.02956482064,399.85798283974,408.88548711149,418.11704484248,427.5567798744,437.20988623572,447.08093432269,457.17458061119,467.49637893146,478.0512162812,488.84407170063,499.88088374606,511.16658268681,522.70737825664],description:"Fokker's suggestion for a shrinked octave by averaging approximations"},fokker_bosch:{frequencies:[261.6255653006,294.32876096318,327.03195662575,343.38355445704,348.83408706747,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:'Scale of "Naar Den Bosch toe", genus diatonicum cum septimis. 1/1=D'},fokker_sr:{frequencies:[261.6255653006,269.10058145205,279.06726965397,287.04062021552,296.75121990114,305.22982618403,315.35224388912,325.57848126297,336.37572681506,347.28371334717,358.80077526939,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,434.10464168396,446.50763144636,461.31528248922,474.80195184183,490.54793493862,506.45541529795,523.2511306012],description:"Fokker's 7-limit sruti scale, KNAW B72, 1969"},fokker_sr2:{frequencies:[261.6255653006,270.30192333353,279.06726965397,288.32205155576,296.75121990114,306.59245933664,315.35224388912,327.03195662575,336.37572681506,348.83408706747,358.80077526939,372.08969287196,381.53728273004,394.1903048614,406.97310157871,420.46965851882,434.10464168396,448.50096908674,461.31528248922,476.92160341255,490.54793493862,508.71637697339,523.2511306012],description:"Fokker's complementary 7-limit sruti scale, KNAW B72, 1969"},fokker_sra:{frequencies:[261.6255653006,269.76956886185,278.7476190342,287.42460593148,296.37169586701,305.59729331129,315.11006948887,325.59707150921,336.43308557971,346.90573279191,357.7043774887,368.83916960349,381.11429755927,392.97780480816,406.05627704035,419.57000893919,433.5334812886,447.02871783796,460.94403787128,475.29252052682,490.08765232515,506.39798251136,523.2511306012],description:"Two-step approximation 9-13 to Fokker's 7-limit sruti scale"},fokker_srb:{frequencies:[261.6255653006,269.31534001393,278.64197723942,286.83190328195,296.76515515861,305.48776291796,316.06708432391,325.35701999957,336.62443200122,346.51859521924,358.51885197895,369.0565423573,381.83730669135,393.06038214356,406.67242132093,418.62545783369,433.12283887627,445.85331391262,461.29362042034,474.85209942927,491.29666030217,505.73699464332,523.2511306012],description:"Two-step maximally even approximation 11-11 to Fokker's 7-limit sruti scale"},fokker_uv:{frequencies:[220,220.05029721079,220.09166666667,220.14198483463,220.15668113546,220.24841308594,220.29876708984,220.3905582428,220.5253936656,220.68244897959,220.7744,220.82487425697,220.98214285714,221.03266460905,221.0236875,221.07421875,221.28224372864,221.41762468656,221.66763848397,221.71831695641,221.76,221.81069958848,222.01040039062,222.06115722656,222.40609622534,222.44790857143,222.4987654321,222.65722615577,222.75,222.80092592593,223.00151824951,223.05250167847,223.14544022083,223.18896568405,223.23999196793,223.44097959184,223.49206349206,223.58518518519,223.79557291667,223.88882107205,224.18534499514,224.23659907493,224.33003099121,224.48979591837,224.58333333333,224.79466029576,224.83692169189,224.88832473755,225.18617242815,225.28,225.33150434385,225.49198250729,225.5859375,225.67993164062,225.9788277551,226.03049186753,226.28571428571,226.4317558299,226.68743133545,227.08224,227.1341563786,227.29591836735,227.390625,227.44261188272,228.096,228.14814814815,229.16666666667,231,232.03125,233.6237037037,233.84353741497],description:"Table of Unison Vectors, Microsons and Minisons, from article KNAW, 1969"},foote:{frequencies:[261.6255653006,276.70272600503,293.15632631094,310.58830860439,328.48713220126,349.43001184052,368.92737853004,391.76907592069,414.58565256441,438.98455767189,465.89457252293,492.17459484008,523.2511306012],description:"Ed Foote, piano temperament. TL 9 Jun 1999, almost equal to Coleman"},forster:{frequencies:[261.6255653006,279.06726965397,283.42769574232,287.78812183066,299.00064605783,309.19384990071,319.76457981184,327.03195662575,336.37572681506,340.11323489078,343.38355445704,353.19451315581,359.73515228832,366.27579142084,373.75080757229,377.90359432309,380.54627680087,387.59343007496,392.4383479509,398.6675280771,402.50086969323,406.97310157871,418.60090448096,428.11456140098,441.49314144476,442.75095666255,448.50096908674,457.84473927605,465.11211608996,483.00104363188,490.54793493862,507.3950357345,523.2511306012],description:"Cris Forster's Chrysalis tuning, XH 7+8"},fortuna11:{frequencies:[261.6255653006,274.70684356563,299.00064605783,305.22982618403,332.97799220076,343.38355445704,373.75080757229,398.6675280771,411.12588832951,448.50096908674,457.84473927605,498.33441009638,523.2511306012],description:"11-limit scale from Clem Fortuna"},fortuna_a1:{frequencies:[261.6255653006,277.18263097687,293.66476791741,311.12698372208,320.24370022528,349.22823143301,369.99442271164,391.99543598175,415.30469757995,440,466.16376151809,479.82340237272,523.2511306012],description:"Clem Fortuna, Arabic mode of 24-tET, try C or G major, superset of Basandida, trivalent"},fortuna_a2:{frequencies:[261.6255653006,277.18263097687,285.30470202322,311.12698372208,329.62755691287,349.22823143301,369.99442271164,391.99543598175,428.11456140098,440,466.16376151809,493.88330125613,523.2511306012],description:"Clem Fortuna, Arabic mode of 24-tET, try C or F minor"},fortuna_bag:{frequencies:[261.6255653006,266.17557513191,291.58269109838,303.42373253797,318.96815495553,348.01136516401,359.18086083642,388.55281975337,398.8194592997,432.92801877123,462.35552488468,479.64686971777,523.2511306012],description:"Bagpipe tuning from Fortuna, try key of G with F natural"},fortuna_eth:{frequencies:[261.6255653006,280.31310567921,288.69027895239,305.7551787248,323.91736656265,346.02090894595,368.95913055213,385.17097113699,414.24047839262,422.62591317789,469.58434797544,484.00729580611,523.2511306012],description:"Ethiopian Tunings from Fortuna"},fortuna_sheng:{frequencies:[261.6255653006,275.29257244317,286.94416839421,312.81317590289,320.2657782128,348.83408706747,367.19377586049,382.62738925213,417.81993264424,433.74764773521,467.75479856774,484.77678276288,523.2511306012],description:"Sheng scale on naturals starting on d, from Fortuna"},"francis_r12-14p":{frequencies:[261.6255653006,277.2273508585,293.19140419912,311.27759533081,328.56574776048,349.51003591412,369.636465861,391.67937618637,415.43871422078,438.93656251816,466.46466724696,492.84862139436,523.2511306012],description:"Bach WTC theoretical temperament, 1/14 Pyth. comma, Cornet-ton"},"francis_r12-2":{frequencies:[261.6255653006,277.2831963903,293.15801965318,311.35818177599,328.6319369554,349.45847225471,369.71092870521,391.50168688506,415.45657533448,438.80025285527,466.56783666625,492.94847466277,523.2511306012],description:"J. Charles Francis, Bach WTC temperament R12-2, fifths beat ratios 0, 1, 2. C=279.331 Cornet-ton"},"francis_r2-1":{frequencies:[261.6255653006,276.41735337657,293.40958958006,310.96959408698,328.77281747949,349.18425877583,368.55655650762,391.91325216238,414.62612565656,439.06418506387,465.92902003736,492.10921220871,523.2511306012],description:"J. Charles Francis, Bach WTC temperament R2-1, fifths beat ratios 0, 1, 2. C=249.072 Cammerton"},"francis_r2-14p":{frequencies:[261.6255653006,276.42350693124,293.47533146651,310.97644498676,328.88393162803,349.17189700163,368.56467609256,392.05867944486,414.6352601896,439.36162975058,466.01338145177,492.37181018521,523.2511306012],description:"Bach WTC theoretical temperament, 1/14 Pyth. comma, Cammerton"},francis_seal:{frequencies:[261.6255653006,275.89934348748,293.01242796531,310.38672525582,327.92787107993,349.18506556371,367.865749003,391.38524198103,413.84896721463,437.93907827641,465.58008765101,490.83740312498,523.2511306012],description:"J. Charles Francis, Bach tuning interpretion as beats/sec. from seal"},francis_suppig:{frequencies:[261.6255653006,276.33536163417,293.13939342657,310.64213412049,328.58201670643,349.47038191026,368.45885450371,391.47500324588,414.51381656966,438.73106346722,465.97531289569,491.91879926026,523.2511306012],description:"J. Charles Francis, Suppig Calculus musicus, 5ths beat ratios 0, 1, 2."},efg333:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,523.2511306012],description:"Genus primum [333]"},efg333333333337:{frequencies:[261.6255653006,275.01702890535,279.38237857051,289.72987407313,294.32876096318,309.39415751852,314.30517589183,325.94610833227,331.11985608357,343.38355445704,353.59332287831,366.6893718738,372.50983809402,386.30649876417,392.4383479509,412.52554335802,419.07356785577,434.59481110969,441.49314144476,457.84473927605,471.45776383774,488.9191624984,496.67978412536,515.07533168556,523.2511306012],description:"Genus [333333333337]"},efg333333355:{frequencies:[261.6255653006,264.89588486686,275.93321340298,279.06726965397,290.69507255622,294.32876096318,310.42486507835,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,392.4383479509,397.34382730029,413.89982010446,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"Genus [333333355]"},efg33335:{frequencies:[261.6255653006,275.93321340298,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Genus [33335]"},efg3333555:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,363.36884069528,367.91095120397,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,459.88868900496,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Genus [3333555]"},efg33335555:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,297.67175429757,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,367.91095120397,372.08969287196,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,459.88868900496,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Genus bis-ultra-chromaticum [33335555]"},efg333355577:{frequencies:[261.6255653006,267.07609791103,268.26840191956,272.52663052146,274.70684356563,278.20426865732,279.06726965397,281.68182201554,284.8811711051,286.15296204753,290.69507255622,294.32876096318,300.46061014991,305.22982618403,306.59245933664,312.97980223949,313.95067836072,317.94773560837,320.49131749323,321.92208230347,325.57848126297,327.03195662575,333.84512238879,343.38355445704,348.83408706747,352.10227751942,356.10146388137,357.69120255941,360.55273217989,363.36884069528,366.27579142084,367.91095120397,372.08969287196,375.57576268738,381.53728273004,392.4383479509,400.61414686654,402.40260287934,406.97310157871,408.78994578219,412.06026534844,417.30640298598,418.60090448096,427.32175665765,429.2294430713,436.04260883433,445.12682985172,450.69091522486,457.84473927605,459.88868900496,465.11211608996,469.46970335923,470.92601754108,476.92160341255,480.73697623985,488.36772189445,490.54793493862,500.76768358318,508.71637697339,515.07533168556,523.2511306012],description:"Genus [333355577]"},efg33337:{frequencies:[261.6255653006,294.32876096318,305.22982618403,343.38355445704,348.83408706747,386.30649876417,392.4383479509,441.49314144476,457.84473927605,515.07533168556,523.2511306012],description:"Genus [33337]"},efg3335:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,392.4383479509,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Genus diatonicum veterum correctum [3335]"},efg33355:{frequencies:[261.6255653006,272.52663052146,290.69507255622,310.07474405997,327.03195662575,348.83408706747,363.36884069528,387.59343007496,408.78994578219,436.04260883433,465.11211608996,484.4917875937,523.2511306012],description:"Genus diatonico-chromaticum hodiernum correctum [33355]"},efg333555:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,306.59245933664,313.95067836072,327.03195662575,348.83408706747,363.36884069528,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Genus diatonico-hyperchromaticum [333555]"},efg33355555:{frequencies:[261.6255653006,272.52663052146,279.06726965397,287.4304306281,294.32876096318,306.59245933664,313.95067836072,319.36714514233,327.03195662575,340.65828815182,348.83408706747,359.28803828513,367.91095120397,383.2405741708,392.4383479509,408.78994578219,418.60090448096,425.82286018978,436.04260883433,459.88868900496,470.92601754108,479.0507177135,490.54793493862,510.98743222773,523.2511306012],description:"Genus [33355555]"},efg333555777:{frequencies:[261.6255653006,262.79353657426,267.07609791103,268.26840191956,269.10058145205,272.52663052146,274.70684356563,279.06726965397,280.31310567921,281.68182201554,286.15296204753,294.32876096318,299.00064605783,300.46061014991,305.22982618403,306.59245933664,311.45900631024,312.97980223949,313.95067836072,318.93402246168,320.49131749323,321.92208230347,327.03195662575,333.84512238879,336.37572681506,343.38355445704,348.83408706747,350.39138209902,352.10227751942,357.69120255941,358.80077526939,360.55273217989,366.27579142084,367.91095120397,373.75080757229,375.57576268738,381.53728273004,392.4383479509,398.6675280771,400.61414686654,402.40260287934,408.78994578219,412.06026534844,417.30640298598,418.60090448096,420.46965851882,427.32175665765,429.2294430713,436.04260883433,448.50096908674,450.69091522486,457.84473927605,459.88868900496,467.18850946536,469.46970335923,470.92601754108,476.92160341255,478.40103369253,480.73697623985,488.36772189445,490.54793493862,498.33441009638,500.76768358318,515.07533168556,523.2511306012],description:"Genus [333555777]"},efg333557:{frequencies:[261.6255653006,265.7783520514,279.06726965397,280.31310567921,290.69507255622,299.00064605783,313.95067836072,318.93402246168,327.03195662575,332.22294006425,348.83408706747,358.80077526939,372.08969287196,373.75080757229,392.4383479509,398.6675280771,418.60090448096,425.24536328225,436.04260883433,448.50096908674,465.11211608996,478.40103369253,490.54793493862,498.33441009638,523.2511306012],description:"Genus diatonico-enharmonicum [333557]"},efg33357:{frequencies:[261.6255653006,274.70684356563,279.06726965397,305.22982618403,313.95067836072,325.57848126297,343.38355445704,348.83408706747,366.27579142084,372.08969287196,392.4383479509,406.97310157871,418.60090448096,457.84473927605,465.11211608996,488.36772189445,523.2511306012],description:"Genus diatonico-enharmonicum [33357]"},efg3335711:{frequencies:[261.6255653006,265.58571790036,269.80136421624,275.93321340298,286.15296204753,294.32876096318,295.09524211152,303.52653474327,314.76825825228,321.92208230347,327.03195662575,331.98214737546,337.2517052703,343.38355445704,354.11429053382,359.73515228832,367.91095120397,379.40816842909,386.30649876417,392.4383479509,393.46032281536,404.70204632437,429.2294430713,441.49314144476,442.64286316727,449.66894036041,457.84473927605,472.15238737843,482.88312345521,490.54793493862,505.87755790546,515.07533168556,523.2511306012],description:"Genus [3 3 3 5 7 11], expanded hexany 1 3 5 7 9 11"},efg333577:{frequencies:[261.6255653006,267.07609791103,281.68182201554,286.15296204753,294.32876096318,300.46061014991,305.22982618403,321.92208230347,327.03195662575,333.84512238879,343.38355445704,348.83408706747,367.91095120397,375.57576268738,381.53728273004,392.4383479509,400.61414686654,429.2294430713,436.04260883433,450.69091522486,457.84473927605,490.54793493862,500.76768358318,515.07533168556,523.2511306012],description:"Genus [333577]"},efg3337:{frequencies:[261.6255653006,294.32876096318,305.22982618403,343.38355445704,348.83408706747,392.4383479509,457.84473927605,515.07533168556,523.2511306012],description:"Genus [3337]"},efg33377:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,457.84473927605,515.07533168556,523.2511306012],description:"Genus [33377] Bi-enharmonicum simplex"},efg335:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Genus secundum [335]"},efg3355:{frequencies:[261.6255653006,279.06726965397,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Genus chromaticum veterum correctum [3355]"},efg33555:{frequencies:[261.6255653006,294.32876096318,306.59245933664,313.95067836072,327.03195662575,367.91095120397,392.4383479509,408.78994578219,418.60090448096,459.88868900496,470.92601754108,490.54793493862,523.2511306012],description:"Genus bichromaticum [33555]"},efg335555577:{frequencies:[261.6255653006,267.07609791103,268.26840191956,272.52663052146,274.70684356563,279.06726965397,286.15296204753,293.02063313667,300.46061014991,305.22982618403,306.59245933664,312.97980223949,313.95067836072,320.49131749323,327.03195662575,333.84512238879,334.88072358477,341.85740532612,343.38355445704,348.83408706747,357.69120255941,366.27579142084,375.57576268738,381.53728273004,384.58958099188,390.69417751556,392.4383479509,400.61414686654,408.78994578219,417.30640298598,418.60090448096,427.32175665765,429.2294430713,436.04260883433,439.53094970501,446.50763144636,457.84473927605,469.46970335923,476.92160341255,480.73697623985,488.36772189445,490.54793493862,500.76768358318,502.32108537715,512.78610798918,523.2511306012],description:"Genus [335555577]"},efg33557:{frequencies:[261.6255653006,274.70684356563,279.06726965397,286.15296204753,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,418.60090448096,429.2294430713,436.04260883433,457.84473927605,488.36772189445,490.54793493862,523.2511306012],description:"Genus chromatico-enharmonicum [33557]"},efg335577:{frequencies:[261.6255653006,274.70684356563,279.06726965397,280.31310567921,286.15296204753,299.00064605783,305.22982618403,313.95067836072,318.93402246168,327.03195662575,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,478.40103369253,488.36772189445,490.54793493862,498.33441009638,523.2511306012],description:"Genus chromaticum septimis triplex [335577]"},efg3357:{frequencies:[261.6255653006,286.15296204753,305.22982618403,327.03195662575,343.38355445704,348.83408706747,381.53728273004,392.4383479509,429.2294430713,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Genus enharmonicum vocale [3357]"},efg33577:{frequencies:[261.6255653006,280.31310567921,286.15296204753,299.00064605783,305.22982618403,327.03195662575,343.38355445704,348.83408706747,373.75080757229,381.53728273004,392.4383479509,398.6675280771,429.2294430713,436.04260883433,448.50096908674,457.84473927605,490.54793493862,498.33441009638,523.2511306012],description:"Genus [33577]"},efg337:{frequencies:[261.6255653006,294.32876096318,343.38355445704,392.4383479509,457.84473927605,515.07533168556,523.2511306012],description:"Genus quintum [337]"},efg3377:{frequencies:[261.6255653006,299.00064605783,305.22982618403,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,457.84473927605,523.2511306012],description:"Genus [3377]"},efg33777:{frequencies:[261.6255653006,267.07609791103,299.00064605783,300.46061014991,305.22982618403,343.38355445704,348.83408706747,392.4383479509,398.6675280771,400.61414686654,448.50096908674,457.84473927605,523.2511306012],description:"Genus [33777]"},efg33777a:{frequencies:[261.6255653006,267.07609791103,299.00064605783,305.22982618403,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,457.84473927605,523.2511306012],description:"Genus [33777] with comma discarded which disappears in 31-tET"},efg355:{frequencies:[261.6255653006,313.95067836072,327.03195662575,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Genus tertium [355]"},efg3555:{frequencies:[261.6255653006,306.59245933664,327.03195662575,383.2405741708,392.4383479509,408.78994578219,490.54793493862,510.98743222773,523.2511306012],description:"Genus enharmonicum veterum correctum [3555]"},efg35555:{frequencies:[261.6255653006,306.59245933664,313.95067836072,327.03195662575,334.88072358477,392.4383479509,408.78994578219,418.60090448096,490.54793493862,502.32108537715,523.2511306012],description:"Genus [35555]"},efg35557:{frequencies:[261.6255653006,268.26840191956,274.70684356563,286.15296204753,306.59245933664,313.95067836072,327.03195662575,343.38355445704,357.69120255941,366.27579142084,392.4383479509,408.78994578219,418.60090448096,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Genus [35557]"},efg3557:{frequencies:[261.6255653006,274.70684356563,286.15296204753,313.95067836072,327.03195662575,343.38355445704,366.27579142084,392.4383479509,418.60090448096,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Genus enharmonicum instrumentale [3557]"},efg35577:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,299.00064605783,313.95067836072,327.03195662575,343.38355445704,358.80077526939,366.27579142084,373.75080757229,392.4383479509,418.60090448096,429.2294430713,448.50096908674,457.84473927605,478.40103369253,490.54793493862,523.2511306012],description:"Genus [35577]"},efg357:{frequencies:[261.6255653006,286.15296204753,327.03195662575,343.38355445704,392.4383479509,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Genus sextum [357] & 7-limit Octony, see ch.6 p.118"},efg35711:{frequencies:[261.6255653006,269.80136421624,286.15296204753,295.09524211152,314.76825825228,327.03195662575,337.2517052703,343.38355445704,359.73515228832,392.4383479509,393.46032281536,429.2294430713,449.66894036041,457.84473927605,472.15238737843,490.54793493862,523.2511306012],description:"Genus [3 5 7 11]"},efg3571113:{frequencies:[261.6255653006,265.71346475842,269.80136421624,274.01701053212,278.99913799634,286.15296204753,292.28481123426,295.09524211152,314.76825825228,318.85615771011,319.68651228748,327.03195662575,337.2517052703,343.38355445704,348.74892249543,359.73515228832,365.35601404283,371.99885066179,383.62381474497,392.4383479509,393.46032281536,398.57019713763,425.14154361347,429.2294430713,438.4272168514,449.66894036041,457.84473927605,464.99856332724,472.15238737843,479.52976843121,490.54793493862,511.49841965996,523.2511306012],description:"Genus [3 5 7 11 13]"},efg3577:{frequencies:[261.6255653006,280.31310567921,286.15296204753,299.00064605783,327.03195662575,343.38355445704,373.75080757229,392.4383479509,429.2294430713,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Genus [3577]"},efg35777:{frequencies:[261.6255653006,280.31310567921,286.15296204753,299.00064605783,300.46061014991,327.03195662575,343.38355445704,373.75080757229,375.57576268738,392.4383479509,400.61414686654,429.2294430713,448.50096908674,457.84473927605,490.54793493862,500.76768358318,523.2511306012],description:"Genus [35777]"},efg35777a:{frequencies:[261.6255653006,280.31310567921,286.15296204753,299.00064605783,327.03195662575,343.38355445704,373.75080757229,392.4383479509,400.61414686654,429.2294430713,448.50096908674,457.84473927605,490.54793493862,500.76768358318,523.2511306012],description:"Genus [35777] with comma discarded which disappears in 31-tET"},efg377:{frequencies:[261.6255653006,300.46061014991,343.38355445704,392.4383479509,400.61414686654,457.84473927605,523.2511306012],description:"Genus octavum [377]"},efg3777:{frequencies:[261.6255653006,262.90303388117,300.46061014991,343.38355445704,350.53737850823,392.4383479509,400.61414686654,457.84473927605,523.2511306012],description:"Genus [3777]"},efg37777:{frequencies:[261.6255653006,262.90303388117,299.00064605783,300.46061014991,343.38355445704,350.53737850823,392.4383479509,400.61414686654,448.50096908674,457.84473927605,523.2511306012],description:"Genus [37777]"},efg37777a:{frequencies:[261.6255653006,299.00064605783,343.38355445704,350.53737850823,392.4383479509,400.61414686654,448.50096908674,457.84473927605,523.2511306012],description:"Genus [37777] with comma discarded that disappears in 31-tET"},efg555:{frequencies:[261.6255653006,327.03195662575,408.78994578219,510.98743222773,523.2511306012],description:"Genus quartum [555]"},efg55557:{frequencies:[261.6255653006,286.15296204753,327.03195662575,357.69120255941,366.27579142084,408.78994578219,418.60090448096,447.11400319927,457.84473927605,510.98743222773,523.2511306012],description:"Genus [55557]"},efg5557:{frequencies:[261.6255653006,286.15296204753,327.03195662575,357.69120255941,408.78994578219,447.11400319927,457.84473927605,510.98743222773,523.2511306012],description:"Genus [5557]"},efg55577:{frequencies:[261.6255653006,286.15296204753,291.99281841585,299.00064605783,327.03195662575,357.69120255941,373.75080757229,408.78994578219,447.11400319927,457.84473927605,467.18850946536,510.98743222773,523.2511306012],description:"Genus [55577]"},efg557:{frequencies:[261.6255653006,286.15296204753,327.03195662575,366.27579142084,418.60090448096,457.84473927605,523.2511306012],description:"Genus septimum [557]"},efg5577:{frequencies:[261.6255653006,293.02063313667,320.49131749323,334.88072358477,366.27579142084,400.61414686654,418.60090448096,457.84473927605,512.78610798918,523.2511306012],description:"Genus [5577]"},efg55777:{frequencies:[261.6255653006,286.15296204753,299.00064605783,320.49131749323,327.03195662575,366.27579142084,373.75080757229,400.61414686654,418.60090448096,457.84473927605,478.40103369253,500.76768358318,523.2511306012],description:"Genus [55777]"},efg577:{frequencies:[261.6255653006,286.15296204753,327.03195662575,400.61414686654,457.84473927605,500.76768358318,523.2511306012],description:"Genus nonum [577]"},efg5777:{frequencies:[261.6255653006,286.15296204753,299.00064605783,327.03195662575,373.75080757229,400.61414686654,457.84473927605,500.76768358318,523.2511306012],description:"Genus [5777]"},efg57777:{frequencies:[261.6255653006,286.15296204753,299.00064605783,327.03195662575,350.53737850823,373.75080757229,400.61414686654,438.17172313528,457.84473927605,500.76768358318,523.2511306012],description:"Genus [57777]"},efg777:{frequencies:[261.6255653006,350.53737850823,400.61414686654,457.84473927605,523.2511306012],description:"Genus decimum [777]"},efg77777:{frequencies:[261.6255653006,299.00064605783,341.71502406609,350.53737850823,400.61414686654,457.84473927605,523.2511306012],description:"Genus [77777]"},eikohole1:{frequencies:[261.6255653006,277.4816601673,305.22982618403,332.97799220076,436.04260883433,475.68284600109,523.2511306012],description:"First eikohole ball <6 9 13 17 20|-epimorphic"},eikohole2:{frequencies:[261.6255653006,266.38239376061,274.70684356563,285.40970760065,299.68019298069,313.95067836072,332.97799220076,348.83408706747,366.27579142084,380.54627680087,392.4383479509,399.57359064092,418.60090448096,428.11456140098,443.97065626768,470.92601754108,488.36772189445,499.46698830115,523.2511306012],description:"Second eikohole ball"},eikohole4:{frequencies:[261.6255653006,274.70684356563,279.79400733536,287.78812183066,305.22982618403,313.95067836072,319.76457981184,335.75280880244,348.83408706747,359.73515228832,366.27579142084,373.05867644715,383.71749577421,392.4383479509,406.97310157871,418.60090448096,419.69101100305,431.68218274599,447.67041173658,457.84473927605,470.92601754108,479.64686971777,488.36772189445,503.62921320365,523.2511306012],description:"Fourth eikohole ball"},eikohole5:{frequencies:[261.6255653006,266.38239376061,274.70684356563,279.06726965397,285.40970760065,287.78812183066,294.32876096318,295.98043751179,299.68019298069,305.22982618403,313.95067836072,321.08592105074,325.57848126297,332.97799220076,342.49164912079,348.83408706747,353.19451315581,355.17652501415,363.24871876447,366.27579142084,374.60024122586,380.54627680087,392.4383479509,399.57359064092,406.97310157871,412.06026534844,418.60090448096,428.11456140098,439.53094970501,443.97065626768,448.50096908674,449.52028947103,456.65553216105,457.84473927605,465.11211608996,466.16918908107,470.92601754108,475.68284600109,488.36772189445,499.46698830115,507.3950357345,513.73747368118,523.2511306012],description:"Fifth eikohole ball"},eikohole6:{frequencies:[261.6255653006,266.38239376061,272.43653907335,274.70684356563,279.06726965397,285.40970760065,287.78812183066,293.02063313667,294.32876096318,295.98043751179,299.00064605783,299.68019298069,305.22982618403,310.77945938738,313.95067836072,317.12189733406,321.08592105074,325.57848126297,329.64821227876,332.97799220076,336.37572681506,342.49164912079,348.83408706747,349.6268918108,353.19451315581,355.17652501415,356.76213450082,363.24871876447,366.27579142084,374.60024122586,380.54627680087,383.71749577421,392.4383479509,399.57359064092,406.97310157871,412.06026534844,418.60090448096,428.11456140098,431.68218274599,439.53094970501,443.97065626768,448.50096908674,449.52028947103,456.65553216105,457.84473927605,465.11211608996,466.16918908107,470.92601754108,475.68284600109,484.33162501929,488.36772189445,499.46698830115,507.3950357345,513.73747368118,523.2511306012],description:"Sixth eikohole ball"},eikosany:{frequencies:[261.6255653006,269.80136421624,274.70684356563,287.78812183066,294.32876096318,305.22982618403,323.76163705949,335.75280880244,343.38355445704,359.73515228832,366.27579142084,377.72190990274,392.4383479509,412.06026534844,419.69101100305,431.68218274599,457.84473927605,470.92601754108,479.64686971777,503.62921320365,523.2511306012],description:"3)6 1.3.5.7.9.11 Eikosany (1.3.5 tonic)"},ekring1:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,353.19451315581,367.91095120397,376.74081403286,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Single-tie circular mirroring of 3:4:5"},ekring2:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,343.38355445704,384.42940207435,400.61414686654,448.50096908674,457.84473927605,504.56359022259,515.07533168556,523.2511306012],description:"Single-tie circular mirroring of 6:7:8"},ekring3:{frequencies:[261.6255653006,266.96486255163,299.00064605783,305.10270005901,327.03195662575,333.70607818954,341.71502406609,408.78994578219,418.60090448096,427.14378008261,457.84473927605,467.18850946536,523.2511306012],description:"Single-tie circular mirroring of 4:5:7"},ekring4:{frequencies:[261.6255653006,279.06726965397,313.95067836072,334.88072358477,348.83408706747,376.74081403286,392.4383479509,401.85686830172,436.04260883433,446.50763144636,465.11211608996,502.32108537715,523.2511306012],description:"Single-tie circular mirroring of 4:5:6"},ekring5:{frequencies:[261.6255653006,263.718569823,269.10058145205,305.22982618403,322.92069774245,366.27579142084,373.75080757229,376.74081403286,384.42940207435,439.53094970501,448.50096908674,512.78610798918,523.2511306012],description:"Single-tie circular mirroring of 3:5:7"},ekring5bp:{frequencies:[261.6255653006,282.55561052465,336.37572681506,363.28578496026,366.27579142084,395.57785473451,432.48307733364,512.78610798918,560.62621135843,605.4763082671,610.45965236807,659.29642455751,784.8766959018],description:"Single-tie BP circular mirroring of 3:5:7"},ekring6:{frequencies:[261.6255653006,288.32205155576,299.00064605783,336.37572681506,348.83408706747,384.42940207435,392.4383479509,406.97310157871,432.48307733364,465.11211608996,494.26637409559,512.57253609913,523.2511306012],description:"Single-tie circular mirroring of 6:7:9"},ekring7:{frequencies:[261.6255653006,266.96486255163,290.69507255622,296.62762505737,322.99452506247,336.37572681506,343.24053756638,406.97310157871,415.27867508032,432.48307733364,470.92601754108,480.53675259294,523.2511306012],description:"Single-tie circular mirroring of 5:7:9"},ekring7bp:{frequencies:[261.6255653006,311.45900631024,336.37572681506,400.44729382745,432.48307733364,436.04260883433,470.92601754108,514.86080634958,610.45965236807,667.41215637908,720.80512888941,726.73768139056,784.8766959018],description:"Single-tie BP circular mirroring of 5:7:9"},ellis:{frequencies:[261.6255653006,277.10015133873,293.57875905702,310.98767008297,329.52610437773,349.11112716429,369.96685849926,391.93834696391,415.15022554673,439.86813926913,465.98150356841,493.78915701915,523.2511306012],description:"Alexander John Ellis' imitation equal temperament (1875)"},ellis_24:{frequencies:[261.6255653006,264.89588486686,272.52663052146,275.93321340298,294.32876096318,298.00787047521,306.59245933664,310.42486507835,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.50983809402,392.4383479509,397.34382730029,408.78994578219,413.89982010446,436.04260883433,441.49314144476,459.88868900496,465.63729761752,490.54793493862,496.67978412536,523.2511306012],description:"Ellis, from p.421 of Helmholtz, 24 tones of JI for 1 manual harmonium"},ellis_eb:{frequencies:[261.6255653006,277.21587437848,293.6537610003,311.19285946782,329.68548178616,349.2169654334,370.02116610622,391.93834696391,415.32381240723,439.98064151826,466.28928903228,494.02822100775,523.2511306012],description:"Ellis' new equal beating temperament for pianofortes (1885)"},ellis_harm:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,353.19451315581,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Ellis's Just Harmonium"},ellis_mteb:{frequencies:[261.6255653006,273.31920907322,292.34465012884,313.05587813274,326.9349299255,350.18846153218,365.78692922515,391.15004079048,408.78346942429,437.23842445073,468.2723780569,489.17031487243,523.2511306012],description:"Ellis' equal beating meantone tuning (1885)"},enh14:{frequencies:[261.6255653006,267.70988077271,274.08392555301,348.83408706747,392.4383479509,401.56482115906,411.12588832951,523.2511306012],description:"14/11 Enharmonic"},enh15:{frequencies:[261.6255653006,270.64713651786,280.31310567921,356.76213450082,392.4383479509,402.50086969323,413.09299784305,523.2511306012],description:"Tonos-15 Enharmonic"},enh15_inv:{frequencies:[261.6255653006,331.39238271409,340.11323489078,348.83408706747,383.71749577421,488.36772189445,505.80942624783,523.2511306012],description:"Inverted Enharmonic Tonos-15 Harmonia"},enh15_inv2:{frequencies:[261.6255653006,270.34641747729,279.06726965397,348.83408706747,383.71749577421,392.4383479509,401.15920012759,523.2511306012],description:"Inverted harmonic form of the enharmonic Tonos-15"},enh17:{frequencies:[261.6255653006,269.55361273395,277.97716313189,370.63621750918,404.33041910093,413.73345210327,423.58424858192,523.2511306012],description:"Tonos-17 Enharmonic"},enh17_con:{frequencies:[261.6255653006,269.55361273395,277.97716313189,370.63621750918,378.52209447746,386.75083566176,494.18162334558,523.2511306012],description:"Conjunct Tonos-17 Enharmonic"},enh19:{frequencies:[261.6255653006,268.69652652494,276.16031892841,355.06326719367,382.37582620857,389.87339142835,397.67085925691,523.2511306012],description:"Tonos-19 Enharmonic"},enh19_con:{frequencies:[261.6255653006,268.69652652494,276.16031892841,355.06326719367,361.51896296083,368.21375857121,451.89870370104,523.2511306012],description:"Conjunct Tonos-19 Enharmonic"},enh2:{frequencies:[261.6255653006,266.71168334607,277.18263097687,349.22823143301,391.99543598175,399.61600264311,415.30469757995,523.2511306012],description:"1:2 Enharmonic. New genus 2 + 4 + 24 parts"},enh21:{frequencies:[261.6255653006,268.0066766494,274.70684356563,343.38355445704,392.4383479509,399.57359064092,406.97310157871,523.2511306012],description:"Tonos-21 Enharmonic"},enh21_inv:{frequencies:[261.6255653006,336.37572681506,342.60490694126,348.83408706747,398.6675280771,498.33441009638,510.79277034879,523.2511306012],description:"Inverted Enharmonic Tonos-21 Harmonia"},enh21_inv2:{frequencies:[261.6255653006,270.06509966514,279.06726965397,348.83408706747,398.6675280771,411.12588832951,423.58424858192,523.2511306012],description:"Inverted harmonic form of the enharmonic Tonos-21"},enh23:{frequencies:[261.6255653006,267.43946675172,273.51763645063,334.29933343966,376.08675011961,388.21858076863,401.15920012759,523.2511306012],description:"Tonos-23 Enharmonic"},enh23_con:{frequencies:[261.6255653006,267.43946675172,273.51763645063,334.29933343966,343.8507429665,353.96400011258,462.87600014722,523.2511306012],description:"Conjunct Tonos-23 Enharmonic"},enh25:{frequencies:[261.6255653006,269.71707762948,278.32506946872,363.36884069528,408.78994578219,421.97671822677,436.04260883433,523.2511306012],description:"Tonos-25 Enharmonic"},enh25_con:{frequencies:[261.6255653006,269.71707762948,278.32506946872,363.36884069528,373.75080757229,384.74347838324,503.12608711654,523.2511306012],description:"Conjunct Tonos-25 Enharmonic"},enh27:{frequencies:[261.6255653006,269.10058145205,277.01530443593,353.19451315581,392.4383479509,403.65087217807,415.52295665389,523.2511306012],description:"Tonos-27 Enharmonic"},enh27_inv:{frequencies:[261.6255653006,329.45441556372,339.14425131559,348.83408706747,387.59343007496,494.18162334558,508.71637697339,523.2511306012],description:"Inverted Enharmonic Tonos-27 Harmonia"},enh27_inv2:{frequencies:[261.6255653006,266.38239376061,271.31540105247,348.83408706747,387.59343007496,397.28326582684,406.97310157871,523.2511306012],description:"Inverted harmonic form of the enharmonic Tonos-27"},enh29:{frequencies:[261.6255653006,266.21548749886,270.96933548991,344.87006335079,379.35706968587,389.08417403679,399.32323124828,523.2511306012],description:"Tonos-29 Enharmonic"},enh29_con:{frequencies:[261.6255653006,266.21548749886,270.96933548991,344.87006335079,352.8902973822,361.29244731988,474.19633710734,523.2511306012],description:"Conjunct Tonos-29 Enharmonic"},enh31:{frequencies:[261.6255653006,270.34641747729,279.66870773512,337.93302184661,352.6257619269,368.65420565085,377.22755927063,386.2091678247,523.2511306012],description:"Tonos-31 Enharmonic. Tone 24 alternates with 23 as MESE or A"},enh31_con:{frequencies:[261.6255653006,270.34641747729,279.66870773512,337.93302184661,352.6257619269,360.46188996972,368.65420565085,450.57736246214,523.2511306012],description:"Conjunct Tonos-31 Enharmonic"},enh33:{frequencies:[261.6255653006,269.80136421624,278.50463402967,359.73515228832,392.4383479509,401.56482115906,411.12588832951,523.2511306012],description:"Tonos-33 Enharmonic"},enh33_con:{frequencies:[261.6255653006,269.80136421624,278.50463402967,359.73515228832,367.38909169871,375.37581108347,479.64686971777,523.2511306012],description:"Conjunct Tonos-33 Enharmonic"},enh_invcon:{frequencies:[261.6255653006,283.42769574232,370.63621750918,381.53728273004,392.4383479509,501.44900015948,512.35006538034,523.2511306012],description:"Inverted Enharmonic Conjunct Phrygian Harmonia"},enh_mod:{frequencies:[261.6255653006,294.32876096318,305.22982618403,348.83408706747,392.4383479509,406.97310157871,418.60090448096,523.2511306012],description:"Enharmonic After Wilson's Purvi Modulations, See page 111"},enh_perm:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Permuted Enharmonic, After Wilson's Marwa Permutations, See page 110."},enn45ji:{frequencies:[261.6255653006,267.07609791103,269.10058145205,274.70684356563,276.85245005354,282.55561052465,288.32205155576,290.69507255622,296.75121990114,299.00064605783,305.22982618403,311.45900631024,313.95067836072,320.49131749323,322.92069774245,329.64821227876,336.37572681506,339.14425131559,346.06556256693,348.83408706747,356.10146388137,363.36884069528,366.27579142084,373.75080757229,376.74081403286,384.42940207435,392.4383479509,395.57785473451,403.65087217807,406.97310157871,415.27867508032,423.93031414449,427.32175665765,436.04260883433,439.53094970501,448.50096908674,457.84473927605,461.31528248922,470.92601754108,474.80195184183,484.4917875937,494.47231841813,498.33441009638,508.71637697339,512.78610798918,523.2511306012],description:"Detempered Ennealimma[45], Hahn reduced"},enn72synch:{frequencies:[195.99771799087,197.54967854522,199.11392792408,201.62391554947,203.22042578925,204.82957760946,207.41161549338,209.05395423619,211.68924370912,213.36545381699,215.05493658943,217.76587316352,219.49019959291,221.22817968434,224.01693484168,225.790758792,228.63703016722,230.44743589451,232.27217821307,235.20015301436,237.06252857463,238.93964952543,241.95167308427,243.86750892427,246.94165062806,248.89699839908,250.8678291188,254.03021536301,256.04169222048,258.06909647124,261.3222603528,263.39147750593,266.71173418544,268.8236265844,270.95224149283,274.36780754746,276.54032271274,278.73004041423,282.24365173996,284.47852987378,288.0646054292,290.34557537779,292.64460663558,296.33362372129,298.68006816723,301.0450940916,304.84000597616,307.25380610435,311.12698372207,313.59056753865,316.0736586482,320.05801564518,322.59231767928,325.14668697146,329.24541662461,331.85246687263,336.03572815421,338.69654584276,341.37843257302,345.68177614255,348.4189737305,351.17784515594,355.60471802638,358.42048803112,362.93866010991,365.81250216232,368.70910003837,373.35696816148,376.31330506793,379.29305101359,384.07434037944,387.11553797119,391.99543598174],description:"Poptimal synchonized beating ennealimmal tuning, TM 10-10-2005"},ennea45:{frequencies:[261.6255653006,267.02028728287,269.13615104392,274.68574138534,276.8623300691,282.57123430547,288.39787286736,290.68311542614,296.67700440585,299.02785016604,305.1938252949,311.48692526882,313.95512370264,320.42888174436,322.96795420876,329.62755691287,336.42448069667,339.09030198792,346.08234767737,348.824677577,356.01744619623,363.3585507705,366.23777597441,373.78960287068,376.751482929,384.52012478698,392.44893391322,395.5586690753,403.715093104,406.91412394911,415.30469757995,423.86828492968,427.22700928979,436.03643483576,439.49155400205,448.55387459245,457.80308677504,461.43068321685,470.94538888861,474.67712392136,484.46499932732,494.45467284607,498.37269363637,508.649143962,512.67967026301,523.2511306012],description:"Ennealimmal-45, in a 7-limit least-squares tuning, g=48.999, G.W. Smith"},epimore_enh:{frequencies:[261.6255653006,265.11390617127,279.06726965397,348.83408706747,392.4383479509,397.67085925691,418.60090448096,523.2511306012],description:"New Epimoric Enharmonic, Dorian mode of the 4th new Enharmonic on Hofmann's list"},eratos_chrom:{frequencies:[261.6255653006,275.39533189537,290.69507255622,348.83408706747,392.4383479509,413.09299784305,436.04260883433,523.2511306012],description:"Dorian mode of Eratosthenes's Chromatic. same as Ptol. Intense Chromatic"},eratos_diat:{frequencies:[261.6255653006,275.62199471997,310.07474405997,348.83408706747,392.4383479509,413.43299207996,465.11211608996,523.2511306012],description:"Dorian mode of Eratosthenes's Diatonic, Pythagorean"},eratos_enh:{frequencies:[261.6255653006,268.33391312882,275.39533189537,348.83408706747,392.4383479509,402.50086969323,413.09299784305,523.2511306012],description:"Dorian mode of Eratosthenes's Enharmonic"},erlangen:{frequencies:[261.6255653006,275.62199471997,293.99679436797,310.07474405997,327.03195662575,348.83408706747,367.49599295996,392.4383479509,413.43299207996,440.99519155196,465.11211608996,490.54793493862,523.2511306012],description:"Anonymus: Pro clavichordiis faciendis, Erlangen 15th century"},erlangen2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Revised Erlangen"},erlich1:{frequencies:[261.6255653006,278.64199172491,296.7651860139,326.1838132033,347.39918201406,369.99442271164,394.05928374402,433.12277132725,461.29357245868,491.2966347616,523.2511306012],description:"Asymmetrical Major decatonic mode of 22-tET, Paul Erlich"},erlich10:{frequencies:[261.6255653006,274.70684356563,299.00064605783,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,470.92601754108,523.2511306012],description:"Canonical JI interpretation of the Pentachordal decatonic mode of 22-tET"},erlich10s1:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,470.92601754108,523.2511306012],description:"Superparticular version of erlich10 using 50/49 decatonic comma"},erlich10s2:{frequencies:[261.6255653006,274.70684356563,293.02063313667,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,470.92601754108,523.2511306012],description:"Other superparticular version of erlich10 using 50/49 decatonic comma"},erlich11:{frequencies:[261.6255653006,280.31310567921,305.22982618403,327.03195662575,348.83408706747,373.75080757229,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Canonical JI interpretation of the Symmetrical decatonic mode of 22-tET"},erlich11s1:{frequencies:[261.6255653006,274.70684356563,305.22982618403,327.03195662575,348.83408706747,373.75080757229,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Superparticular version of erlich11 using 50/49 decatonic comma"},erlich11s2:{frequencies:[261.6255653006,280.31310567921,305.22982618403,311.45900631024,348.83408706747,373.75080757229,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Other superparticular version of erlich11 using 50/49 decatonic comma"},erlich12:{frequencies:[261.6255653006,267.01308914069,282.57123920205,288.39008844866,305.19382000629,311.47852302926,329.62755691287,336.41541160581,356.01745236555,363.34874301751,384.52011812375,392.4383479509,415.30469757995,423.85685859121,448.5538823653,457.7907297806,484.46499093218,494.44133512215,523.2511306012],description:"Two 9-tET scales 3/2 shifted, Paul Erlich, TL 5-12-2001"},erlich13:{frequencies:[261.6255653006,269.80136421624,294.32876096318,327.03195662575,343.38355445704,359.73515228832,392.4383479509,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Just scale by Paul Erlich (2002)"},erlich2:{frequencies:[261.6255653006,278.64199172491,296.7651860139,316.06713361714,347.39918201406,369.99442271164,394.05928374402,419.68935090103,446.98642698175,476.05893615592,523.2511306012],description:"Asymmetrical Minor decatonic mode of 22-tET, Paul Erlich"},erlich3:{frequencies:[261.6255653006,278.64199172491,296.7651860139,326.1838132033,347.39918201406,369.99442271164,394.05928374402,419.68935090103,461.29357245868,491.2966347616,523.2511306012],description:"Symmetrical Major decatonic mode of 22-tET, Paul Erlich"},erlich4:{frequencies:[261.6255653006,278.64199172491,296.7651860139,316.06713361714,347.39918201406,369.99442271164,394.05928374402,419.68935090103,446.98642698175,491.2966347616,523.2511306012],description:"Symmetrical Minor decatonic mode of 22-tET, Paul Erlich"},erlich5:{frequencies:[261.6255653006,269.33066959279,278.10477655849,287.16472157287,295.62197660533,306.17967660611,315.19693888202,326.45372959864,335.05049156411,348.07025322573,357.23626005287,368.87410717392,380.89108570115,393.29954676976,406.11224388345,419.34234602259,433.00345117936,444.40607048653,461.67529188567,473.83294924974,490.75518955849,505.2083639382,523.2511306012],description:"Unequal 22-note compromise between decatonic & Indian srutis, Paul Erlich"},erlich6:{frequencies:[261.6255653006,274.70684356563,280.31310567921,285.40970760065,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Scale of consonant tones against 1/1-3/2 drone. TL 23-9-1998"},erlich7:{frequencies:[261.6255653006,272.64118737561,277.98432293805,281.84855879469,292.47977325983,303.51199286577,307.73108663824,313.76190292287,326.97270111135,337.05955506058,340.85784563832,350.05627231138,365.1325261687,373.60234843661,378.13992750117,391.18115131013,406.9458559663,413.62886206386,420.42161880722,437.36472209676,452.44848028305,457.94368329907,468.56640608675,488.7466646507,501.93603498211,507.59230220159,523.2511306012],description:"Meantone-like circle of sinuoidally varying fifths, TL 08-12-99"},erlich8:{frequencies:[261.6255653006,263.902226729,277.18263097687,279.59466973861,293.66476791741,296.22023396764,311.12698372208,313.83440569119,329.62755691287,332.49597057,349.22823143301,352.26720984209,369.99442271164,373.21410818061,391.99543598175,395.40657391157,415.30469757995,418.91867232636,440,443.82887286778,466.16376151809,470.22031101449,493.88330125613,498.18106573801,523.2511306012],description:"Two 12-tET scales 15 cents shifted, Paul Erlich"},erlich9:{frequencies:[261.6255653006,271.31540105247,280.31310567921,290.69507255622,302.70726563706,308.34441624714,319.76457981184,332.97799220076,345.34574619679,356.76213450082,369.97554688974,383.71749577421,396.40237166758,411.12588832951,428.11456140098,436.04260883433,452.23847716247,470.92601754108,488.36772189445,504.56359022259,523.2511306012],description:"11-limit periodicity block, u.v.: 9801/9800 243/242 126/125 100/99"},erlich_bpf:{frequencies:[261.6255653006,269.93113880221,277.4816601673,282.55561052465,293.6613488068,301.87565226992,311.45900631024,319.76457981184,328.70904358281,336.37572681506,347.05432131712,356.76213450082,366.27579142084,377.90359432309,388.47432423422,400.44729382745,411.12588832951,422.62591317789,436.04260883433,447.67041173658,458.69417292962,470.92601754108,485.87604984397,499.46698830115,512.78610798918,528.59042785223,543.37617408586,560.62621135843,575.57624366132,591.67627844905,610.45965236807,624.69777837082,642.17184210147,659.29642455751,680.22646978156,699.2537836216,726.73768139056,740.02659899313,760.72664372021,784.8766959018],description:"Erlich's 39-tone Triple Bohlen-Pierce scale"},erlich_bpp:{frequencies:[261.6255653006,268.60224704195,277.4816601673,282.55561052465,293.6613488068,299.68019298069,311.45900631024,319.76457981184,323.65460841914,336.37572681506,345.34574619679,356.76213450082,366.27579142084,380.67211882362,385.30310526088,400.44729382745,411.12588832951,419.55227017296,436.04260883433,447.67041173658,458.69417292962,470.92601754108,489.43558134466,499.46698830115,512.78610798918,528.59042785223,539.42434736524,560.62621135843,575.57624366132,594.60355750136,610.45965236807,629.27431887171,642.17184210147,659.29642455751,685.20981388252,699.2537836216,720.80512888941,740.02659899313,764.49028821604,784.8766959018],description:"Periodicity block for erlich_bpf, 1625/1617 1331/1323 275/273 245/243"},erlich_bpp2:{frequencies:[261.6255653006,268.60224704195,277.4816601673,282.55561052465,293.92501780685,299.68019298069,311.45900631024,319.76457981184,326.02570445152,336.37572681506,345.34574619679,356.76213450082,366.27579142084,377.90359432309,385.30310526088,400.44729382745,411.12588832951,422.62591317789,436.04260883433,447.67041173658,458.69417292962,470.92601754108,485.87604984397,499.46698830115,512.78610798918,528.59042785223,543.37617408586,560.62621135843,575.57624366132,594.60355750136,610.45965236807,629.83932387181,642.17184210147,659.29642455751,685.20981388252,698.62650953896,726.73768139056,740.02659899313,764.49028821604,784.8766959018],description:"Improved shape for erlich_bpp"},erlich_bppe:{frequencies:[261.6255653006,269.03526454087,276.77324548748,284.61195549492,292.79795257063,301.09050901183,309.7504615497,318.52314490095,327.68449417797,337.10934179701,346.6568752383,356.62740568226,366.72772736951,377.27553481706,387.96064596243,399.11915372018,410.59860200806,422.22748385656,434.37157296247,446.67374500165,459.5209564409,472.53540627884,486.12644973042,499.89441151621,514.27235352402,529.06383329425,544.0478609495,559.69574261012,575.54731703113,592.10118472076,608.870542156,626.38285104305,644.39884822068,662.64936456684,681.70845767885,701.01565227402,721.17823493702,741.60327945962,762.93324174612,784.8766959018],description:"LS optimal 3:5:7:11:13 tempering, virtually equal, g=780.2702 cents"},erlich_bppm:{frequencies:[261.6255653006,269.3148593258,276.83859227209,284.97500405989,292.93622770824,301.54575630263,309.96990811138,319.08006614158,327.99406628962,337.15709295818,347.06629484351,356.76213450082,367.24753706379,377.50717076432,388.60227773252,399.45849178361,410.61798882758,422.6862401977,434.49464068244,447.26463523836,459.75967424319,473.27221959449,486.49381977384,500.79209531182,514.78250488433,529.16376146212,544.7161244152,559.93362036345,576.39032675477,592.49269103014,609.9063234692,626.94500947499,644.45969779399,663.40066444061,681.93379843592,701.97614206495,721.5869464624,742.79471409673,763.54584931731,784.8766959018],description:"MM optimal 3:5:7:11:13 tempering, g=780.352 cents"},erlich_paj:{frequencies:[261.6255653006,269.74106841426,278.59741216196,287.23937405609,296.67040683594,305.87298460253,315.91563888094,325.71519477697,336.4093235789,346.84458402385,358.23265591403,369.99442271164,381.47147728046,393.99623872149,406.21781843768,419.55531290213,432.56972318844,446.77218107119,460.63084592459,475.75462791404,490.51231476219,506.61748047856,523.2511306012],description:"Erlich's Pajara or Twintone, with RMS optimal generator"},erlich_paj2:{frequencies:[261.6255653006,270.25447814202,278.68577354399,287.87753105276,296.85845221806,306.64959036092,316.21614384055,326.645747324,336.83612131731,347.94582350257,358.80069640371,369.99442271164,382.1975482805,394.12120058634,407.1203087173,419.82124923186,433.66800958456,447.19715926063,461.9468459571,476.35821106408,492.06970256841,507.42081104304,523.2511306012],description:"Erlich's Pajara or Twintone with minimax optimal generator"},escapade:{frequencies:[261.6255653006,270.11362843741,278.8770761192,287.9248395776,297.26614463769,306.91051483225,316.86778450163,327.1481015562,337.76194863153,348.72014864112,360.03386958939,371.71464785337,383.77439429365,392.56657056143,405.30282760495,418.45229174958,432.02837124332,446.04490958069,460.51619165905,475.45697355792,490.88248752006,506.80846290374,523.2511306012],description:"Escapade temperament, g=55.275493, 5-limit"},"et-mix6":{frequencies:[261.6255653006,293.66476791741,300.52885648597,311.12698372208,329.62755691287,345.21700307457,369.99442271164,396.55020354877,415.30469757995,440,455.51656649021,466.16376151809,523.2511306012],description:"Mix of equal temperaments from 1-6 (= 4-6)"},euler:{frequencies:[261.6255653006,272.52663052146,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,459.88868900496,490.54793493862,523.2511306012],description:"Euler's Monochord (a mode of Ellis's duodene) (1739), genus [33355]"},euler20:{frequencies:[261.6255653006,274.58143914872,285.65749968142,293.61100773131,305.45468261618,320.58100381398,326.62388782443,329.50688232588,342.79852229325,366.55580177366,381.34192228364,391.95955371998,407.7704102616,411.36965665618,427.96347506501,439.87918162894,457.62301915088,489.33808574423,509.07699553894,513.57043963064,523.2511306012],description:"Genus [3333555] tempered by 225/224-planar"},euler24:{frequencies:[261.6255653006,274.58143914872,285.65749968142,293.61100773131,305.45468261618,308.1508239679,320.58100381398,326.62388782443,329.50688232588,342.79852229325,366.55580177366,381.34192228364,384.70789368407,391.95955371998,407.7704102616,411.36965665618,427.96347506501,439.87918162894,457.62301915088,480.28481865546,489.33808574423,493.65730140218,509.07699553894,513.57043963064,523.2511306012],description:"Genus [33333555] tempered by 225/224-planar"},euler_diat:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Euler's genus diatonicum veterum correctum"},euler_enh:{frequencies:[261.6255653006,267.90457886781,275.62199471997,348.83408706747,392.4383479509,401.85686830172,413.43299207996,523.2511306012],description:"Euler's Old Enharmonic, From Tentamen Novae Theoriae Musicae"},euler_gm:{frequencies:[261.6255653006,271.31540105247,279.06726965397,289.40309445597,348.83408706747,361.75386806997,372.08969287196,385.87079260796,523.2511306012],description:"Euler's Genus Musicum, Octony based on Archytas's Enharmonic"},exptriad2:{frequencies:[261.6255653006,306.59245933664,327.03195662575,367.91095120397,392.4383479509,459.88868900496,490.54793493862,523.2511306012],description:"Two times expanded major triad"},exptriad3:{frequencies:[261.6255653006,269.46602871384,275.93321340298,279.06726965397,287.4304306281,294.32876096318,297.67175429757,303.14928230307,306.59245933664,313.95067836072,323.35923445661,327.03195662575,344.91651675372,348.83408706747,359.28803828513,367.91095120397,372.08969287196,378.93660287884,383.2405741708,392.4383479509,404.19904307077,408.78994578219,418.60090448096,431.14564594215,436.04260883433,446.50763144636,459.88868900496,490.54793493862,505.24880383846,517.37477513058,523.2511306012],description:"Three times expanded major triad"},iivv17:{frequencies:[261.6255653006,269.80136421624,277.97716313189,283.42769574232,294.32876096318,305.22982618403,318.85615771011,327.03195662575,343.38355445704,348.83408706747,359.73515228832,367.91095120397,370.63621750918,392.4383479509,416.96574469783,425.14154361347,436.04260883433,441.49314144476,457.84473927605,479.64686971777,490.54793493862,523.2511306012],description:"17-limit IIVV"},"indian-ayyar":{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Carnatic sruti system, C.Subrahmanya Ayyar, 1976. alt:21/20 25/16 63/40 40/21"},"indian-dk":{frequencies:[261.6255653006,294.32876096318,305.22982618403,313.95067836072,348.83408706747,392.4383479509,406.97310157871,418.60090448096,465.11211608996,523.2511306012],description:"Raga Darbari Kanada"},"indian-ellis":{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,303.82323712328,313.95067836072,324.77656382143,336.37572681506,348.83408706747,358.01393146398,367.68998366571,377.90359432309,388.70083987518,400.13321751856,412.25846653428,425.14154361347,438.85578695585,453.48431318771,469.12170329763,485.87604984397,503.87145909745,523.2511306012],description:"Ellis's Indian Chromatic, theoretical #74 of App.XX, p.517 of Helmholtz"},"indian-hahn":{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Indian shrutis Paul Hahn proposal"},"indian-hrdaya1":{frequencies:[261.6255653006,282.55561052465,294.32876096318,313.95067836072,328.55303549378,348.83408706747,375.07381928051,392.4383479509,428.11456140098,441.49314144476,470.92601754108,492.82955324067,523.2511306012],description:"From Hrdayakautaka of Hrdaya Narayana (17th c) Bhatkande's interpretation"},"indian-hrdaya2":{frequencies:[261.6255653006,282.55561052465,294.32876096318,313.95067836072,330.47439827444,348.83408706747,376.74081403286,392.4383479509,428.11456140098,448.50096908674,470.92601754108,495.71159741166,523.2511306012],description:"From Hrdayakautaka of Hrdaya Narayana (17th c) Levy's interpretation"},"indian-invrot":{frequencies:[261.6255653006,267.90457886781,279.06726965397,313.95067836072,327.03195662575,334.88072358477,348.83408706747,392.4383479509,418.60090448096,446.50763144636,490.54793493862,502.32108537715,523.2511306012],description:"Inverted and rotated North Indian gamut"},"indian-magrama":{frequencies:[261.6255653006,294.32876096318,327.03195662575,367.91095120397,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Indian mode Ma-grama (Sa Ri Ga Ma Pa Dha Ni Sa)"},"indian-newbengali":{frequencies:[261.6255653006,269.13627541126,277.02257024271,285.46954808622,294.32876096318,303.84527498141,313.95067836072,324.71413568646,336.35938765066,348.83408706747,358.01090280364,367.91095120397,377.98706287655,388.6137256405,400.23209335925,412.19781491431,425.25755219187,438.98455767189,453.41648894489,469.13512554326,485.39868175205,503.9696508909,523.2511306012],description:"Modern Bengali scale,S.M. Tagore: The mus. scales of the Hindus,Calcutta 1884"},"indian-old2ellis":{frequencies:[261.6255653006,270.06509966514,277.97716313189,285.40970760065,294.32876096318,305.22982618403,316.13089140489,327.03195662575,337.93302184661,348.83408706747,359.73515228832,370.63621750918,380.54627680087,392.4383479509,404.33041910093,415.52295665389,428.11456140098,441.49314144476,457.84473927605,474.19633710734,490.54793493862,505.80942624783,523.2511306012],description:"Ellis Old Indian Chrom2, Helmholtz, p. 517. This is a 4 cent appr. to #73"},"indian-oldellis":{frequencies:[261.6255653006,269.44737349144,277.4816601673,285.79952600623,294.32876096318,304.84150796353,315.71315096976,327.03195662575,337.72216249472,348.83408706747,359.25382662183,369.99442271164,381.0561299374,392.4383479509,404.18156579781,416.22249025095,428.71043212875,441.49314144476,457.27414749797,473.58203588493,490.54793493862,506.59641128799,523.2511306012],description:"Ellis Old Indian Chromatic, Helmholtz, p. 517. This is a 0.5 cent appr. to #73"},"indian-raja":{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,490.54793493862,523.2511306012],description:"A folk scale from Rajasthan, India"},"indian-sagrama":{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Indian mode Sa-grama (Sa Ri Ga Ma Pa Dha Ni Sa), inverse of Didymus' diatonic"},"indian-srutiharm":{frequencies:[261.6255653006,275.04226095704,278.87560257317,292.29229825722,294.20896982953,310.50067090621,313.3756771183,327.75070817877,332.5423844325,351.70909240436,354.58409877157,369.9174668925,374.70914348171,393.87585105695,414.95923028882,421.66757847392,437.95928040996,441.79262140873,467.66767825558,473.41768959156,493.54273382289,499.29274676062,523.2511306012],description:"B. Chaitanya Deva's sruti harmonium. The Music of India, 1981, p. 109"},"indian-srutivina":{frequencies:[261.6255653006,268.56758546278,278.98051393788,288.52577197574,297.52863491406,305.33829130574,314.01573591759,327.57422802312,336.57725592546,350.35262131413,358.2707318239,366.40588882483,378.77125721528,394.82459335461,403.28512412878,416.95215854696,428.77531684666,444.28620821491,453.93981227417,469.5594057965,487.34812384257,504.37765306036,529.32520658991],description:"Raja S.M. Tagore's sruti vina, measured by Ellis and Hipkins, 1886. 1/1=241.2"},"indian-srutivina2":{frequencies:[261.6255653006,275.04226095704,278.87560257317,292.29229825722,294.20896982953,310.50067090621,313.3756771183,327.75070817877,332.5423844325,351.70909240436,354.58409877157,369.9174668925,374.70914348171,393.87585105695,414.95923028882,421.66757847392,437.95928040996,441.79262140873,467.66767825558,473.41768959156,493.54273382289,499.29274676062,523.2511306012],description:"S. Ramanathan's sruti vina, 1973. In B.C. Deva, The Music of India, p. 110"},"indian-vina":{frequencies:[261.6255653006,276.70272600503,292.81785438923,313.29104303136,329.05685050583,352.26720984209,369.14054089803,390.18821123181,411.0090584005,435.70052664441,465.35666077712,491.60634075178,525.37110555681],description:"Observed South Indian tuning of a vina, Ellis"},"indian-vina2":{frequencies:[261.6255653006,277.02257024271,292.81785438923,308.97787266236,326.21810583671,344.81842302716,363.84824628932,386.37547528213,409.11417474979,432.19134773437,455.25352578019,480.93331155807,507.76825077597,539.82938999168,571.59905201246,602.44805673853,637.90290877605,678.5727631795,715.19510239543,756.4109196702,799.53998816902,846.10508618474,890.73947019126,943.16064703194,1001.55531043729],description:"Observed tuning of old vina in Tanjore Palace, Ellis and Hipkins. 1/1=210.7 Hz"},"indian-vina3":{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Tuning of K.S. Subramanian's vina (1983)"},indian:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.50983809402,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"Indian shruti scale"},indian2:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"Indian shruti scale with tritone 64/45 schisma lower (Mr.Devarajan, Madurai)"},indian2_sm:{frequencies:[261.6255653006,275.80107697063,279.12844116922,290.7446524607,294.25230137258,310.19560923413,313.9379197281,327.00276442799,330.9478443499,348.87940629173,353.08841191408,367.78254402461,372.21960384438,392.38737044642,413.64787586584,418.63827382983,436.06032987759,441.3211172644,465.23297251763,470.84571179248,490.44043044945,496.35728163707,523.2511306012],description:"Shruti/Mathieu's Magic Mode scale in 289-equal (schismic) temperament"},indian3:{frequencies:[261.6255653006,270.06509966514,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,506.89953276991,523.2511306012],description:"Indian shruti scale with 32/31 and 31/16 and tritone schisma lower"},indian4:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,330.74639366397,348.83408706747,367.91095120397,372.08969287196,387.59343007496,392.4383479509,413.89982010446,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.11959049595,523.2511306012],description:"Indian shruti scale according to Firoze Framjee: Text book of Indian music"},indian5:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,387.59343007496,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"23 Shrutis, Amit Mitra, 1/1 no. 12:2, Table C."},indian6:{frequencies:[146.8323839587,148.66778875818,150.35636117371,151.0621234143,152.23581568838,152.95039995698,154.68761437624,154.86227995644,156.62120955595,158.5789746754,159.32333328852,163.14709328744,165.18643195354,167.06262352634,169.15090632042,169.94488884109,172.0691999516,174.02356617327,176.19886075044,178.40134650982,179.23874994958,180.42763340845,181.27454809716,183.54047994838,185.62513725149,185.83473594773,187.94545146714,188.82765426788,190.29476961048,191.18799994622,193.3595179703,193.57784994555,195.77651194493,198.22371834425,200.47514823161,202.98108758451,203.93386660931,206.48303994192,208.82827940793,209.0640779412,211.43863290053,212.43111105136,214.08161581178,215.0864999395,217.52945771659,220.24857593805,223.00168313728,225.53454176056,226.59318512145,228.35372353257,229.42559993547,232.03142156437,232.29341993466,234.93181433392,237.86846201309,238.98499993278,240.57017787793,241.69939746288,244.72063993117,247.77964793031,250.59393528951,253.72635948063,254.91733326163,258.1037999274,261.03534925991,264.29829112566,267.60201976473,270.64145011268,271.91182214574,275.31071992256,278.43770587724,278.75210392159,281.9181772007,283.24148140181,285.44215441571,286.78199991934,290.03927695546,293.6647679174],description:"Shrutis calculated by generation method, Amit Mitra, 1/1 no. 12:2, Table B."},indian_12:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"North Indian Gamut, modern Hindustani gamut out of 22 or more shrutis"},indian_12c:{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,328.55303549378,348.83408706747,369.35373924791,392.4383479509,415.52295665389,441.49314144476,470.92601754108,492.82955324067,523.2511306012],description:"Carnatic gamut. Kuppuswami: Carnatic music and the Tamils, p. v"},indian_a:{frequencies:[261.6255653006,290.79521372391,318.76727400207,355.94891173479,388.6137256405,432.69092326853,486.52148746092,523.2511306012],description:"One observed indian mode"},indian_b:{frequencies:[261.6255653006,290.79521372391,305.95868600104,356.15457528086,388.83826257328,432.94092754357,461.60862817266,523.2511306012],description:"Observed Indian mode"},indian_c:{frequencies:[261.6255653006,278.94941459687,313.65318017499,356.15457528086,388.83826257328,422.07621250312,470.76384471612,523.2511306012],description:"Observed Indian mode"},indian_d:{frequencies:[261.6255653006,289.28740724512,320.24370022528,344.61930560862,391.31674786192,442.03793673691,485.39868175205,523.2511306012],description:"Indian D (Ellis, correct)"},indian_e:{frequencies:[261.6255653006,275.58617649731,323.21709932123,347.81902735497,393.58362272115,410.77171881178,488.21056770985,523.2511306012],description:"Observed Indian mode"},indian_g:{frequencies:[261.6255653006,275.48458755707,279.57748987366,290.07776015425,294.38747470873,309.98198497505,314.58741860623,326.40257913196,331.25197518754,348.79929894143,353.98144532328,367.27615246113,372.73281132023,392.47748849606,413.26809526256,419.40806105693,435.16003737285,441.62525396027,465.0193523796,471.92819182319,489.65270022124,496.92751979948,523.2511306012],description:"Shruti/Mathieu's Magic Mode scale in 94-et (garibaldi) temperament"},indian_rat:{frequencies:[261.6255653006,269.55361273395,277.4816601673,285.40970760065,294.32876096318,302.93486508491,315.75499260417,327.03195662575,337.58137458142,348.83408706747,359.73515228832,370.63621750918,380.54627680087,392.4383479509,404.33041910093,416.22249025095,428.77523202043,441.49314144476,457.84473927605,473.41768959156,490.54793493862,506.37206187213,523.2511306012],description:"Indian Raga, From Fortuna, after Helmholtz, ratios by JC"},indian_rot:{frequencies:[261.6255653006,272.52663052146,279.06726965397,306.59245933664,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,510.98743222773,523.2511306012],description:"Rotated North Indian Gamut"},ionic:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:"Ancient greek Ionic"},iran_diat:{frequencies:[261.6255653006,297.21429859784,337.6441411202,347.13660997509,394.35734781054,448.00148789644,460.59652406882,523.2511306012],description:"Iranian Diatonic from Dariush Anooshfar, Safi-a-ddin Armavi's scale from 125 ET"},iraq:{frequencies:[261.6255653006,290.3675288125,326.6631048533,348.83408706747,387.1561215731,435.55129321875,465.11211608996,516.20736538157,523.2511306012],description:"Iraq 8-tone scale, Ellis"},isfahan_5:{frequencies:[261.6255653006,283.42769574232,305.22982618403,327.03195662575,348.83408706747,523.2511306012],description:"Isfahan (IG #2, DF #8), from Rouanet"},islamic:{frequencies:[261.6255653006,283.42769574232,305.22982618403,330.6656450327,348.83408706747,523.2511306012],description:"Islamic Genus (DF#7), from Rouanet"},italian:{frequencies:[261.6255653006,274.68983337859,292.34127285051,309.02606224197,326.6631048533,348.44038788768,366.66693712906,391.11111150212,411.56972129721,437.02884834934,464.06284405662,489.44164088633,523.2511306012],description:"Italian organ temperament, G.C. Klop (1974), 1/12 P.comma, also d'Alembert/Rousseau (1752/67)"},iter1:{frequencies:[261.6255653006,264.43874342211,268.51044859798,278.54662176283,304.33994330886,376.91818729747,631.61998662719],description:"McLaren style, IE= 2.414214, PD=5, SD=0"},iter10:{frequencies:[261.6255653006,277.06070189651,293.38358189778,297.59908052943,301.91391280887,310.68035879446,328.97472072452,338.5155215149,348.35227203008,368.89204707385,413.65123162392,438.0707139917,463.89070822207,520.1365405381,535.27989222422,550.79066379074,583.29634230953,654.0639132515],description:"Iterated 5/2 Scale, IE=5/2, PD=4, SD=3"},iter11:{frequencies:[261.6255653006,278.87608544381,297.26403435806,306.90779184711,316.86440944623,337.75715313333,360.02747892105,383.76621672426,396.21625406084,409.07019206122,436.04260883433],description:"Binary 5/3 Scale #2"},iter12:{frequencies:[261.6255653006,297.26403435806,306.90779184711,316.86440944623,337.75715313333,360.02747892105,383.76621672426,396.21625406084,409.07019206122,436.04260883433],description:"Binary 5/3 Scale #4"},iter13:{frequencies:[261.6255653006,297.26403435806,337.75715313333,383.76621672426,409.07019206122,436.04260883433],description:"Binary 5/3 Scale #6"},iter14:{frequencies:[261.6255653006,280.22072913446,300.13755324878,344.3186075731,368.79121945838,395.0032340925,453.14877154631,519.85349135637,596.37732215892,638.76512932755,684.16567043124,784.8766959018],description:"Binary Divided 3/1 Scale #2"},iter15:{frequencies:[261.6255653006,285.30470202322,311.12698372208,324.90175210669,339.28638158975,369.99442271164,403.48177901006,440,459.48046426806,479.82340237272,523.2511306012],description:"Binary Division Scale"},iter16:{frequencies:[261.6255653006,273.20871865617,285.30470202322,311.12698372208,324.90175210669,339.28638158975,369.99442271164,403.48177901006,440,459.48046426806,479.82340237272,523.2511306012],description:"Binary Division Scale 4+2"},iter17:{frequencies:[261.6255653006,278.49896488475,296.46060526524,301.12918013362,305.87127435301,315.58067012184,335.93387506143,346.5975621448,357.59974896504,380.66295170881,431.34763334053,459.16716607109,488.78090454553,553.8613271114,571.44277158458,589.58231097183,627.60710380636,711.17202040031],description:"Binary E Scale #2"},iter18:{frequencies:[261.6255653006,296.46060526524,335.93387506143,357.59974896504,380.66295170881,431.34763334053,488.78090454553,553.8613271114,589.58231097183,627.60710380636,711.17202040031],description:"Binary E Scale #4"},iter19:{frequencies:[261.6255653006,322.51878830959,331.06584352035,339.83940187549,358.09020513941,397.58488163802,418.936859706,441.43552612833,490.12256936272,604.19836236377,670.83693141722,744.82523718317,918.18295398723,967.49323514067,1019.45167961503,1131.88958971281,1395.33634826987],description:"Binary Kidjel Ratio scale #2, IE=16/3"},iter2:{frequencies:[261.6255653006,264.43874342211,268.51044859798,278.54662176283,304.33994330886,376.91818729747,466.76379263857,529.06503205232,631.63886479716],description:"Iterated 1 + SQR(2) Scale, IE=2.414214, PD=5, SD=1"},iter20:{frequencies:[261.6255653006,269.61366892789,277.84567157694,295.07138236029,304.08067308856,313.36504071103,332.79286022776,353.42515415018,375.3365967665,386.79659161311,398.60648967463,423.31905787312],description:"Binary PHI Scale #2"},iter21:{frequencies:[261.6255653006,265.58958666715,269.61366892789,277.84567157694,295.07138236029,304.08067308856,313.36504071103,332.79286022776,353.42515415018,375.3365967665,386.79659161311,398.60648967463,423.31905787312],description:"Binary PHI Scale 5+2 #2"},iter22:{frequencies:[261.6255653006,301.8727519909,307.3207469799,312.86706369289,324.26179396336,348.311367392,360.99698978488,374.14462916403,401.89387036212,463.7192413329,498.11197631533,535.05552246568,617.36582527423,639.85050556571,663.15408964479,712.33833913185,821.92095613931],description:"Binary PI Scale #2"},iter23:{frequencies:[261.6255653006,280.22072913446,282.63618845904,285.07246866924,290.00821285991,300.13755151512,305.33413252207,310.62068712289,321.46997343155,344.3186075731,356.34488692223,368.79121945838,395.00323181087,401.84231702948,408.7998141568,423.07827792492,453.14877154631],description:"Binary SQR(3) Scale #2"},iter24:{frequencies:[261.6255653006,289.31157243481,292.97226416221,296.67927674571,304.23460945445,319.92739457651,328.07477344771,336.42963427227,353.78307729046,391.22147055517,411.40114203819,432.62170761687,478.4030399831,490.58621022536,503.07964402145,529.02909391167,585.01254970054],description:"Binary SQR(5) Scale #2"},iter25:{frequencies:[261.6255653006,295.4600775297,299.98610231105,304.581459303,313.98443628203,333.67021037701,343.97120738708,354.59021667251,376.82183739983,425.55401329039,452.23482674104,480.58843796626,542.7401414615,559.49550492793,576.76813324226,612.92956630767,692.19618110881],description:"Binary SQR(7) Scale #2"},iter26:{frequencies:[261.6255653006,266.56189672137,275.04226095704,276.16031892841,278.32506946872,283.8915708581,299.68019298069,302.93486508491,309.19384990071,326.13597866239,377.90359432309,389.87339142835,411.92110281371,477.08191319521,486.74523776856,503.12608711654,552.32063785682,711.29450566101],description:"E Scale"},iter27:{frequencies:[261.6255653006,264.53251602616,264.59858308811,264.97973921471,266.91093025617,277.4816601673,277.93638607994,279.98525409362,291.05844139692,358.0999925052,361.3330282979,375.61956161015,462.09190754392,465.48964215821,480.4396744611,568.53247844169,1395.33634826987],description:"Iterated Kidjel Ratio Scale, IE=16/3, PD=3, SD=3"},iter28:{frequencies:[261.6255653006,265.20947715403,272.47639519786,295.60291144354,377.3445653374,784.8766959018],description:"McLaren 3-Division Scale"},iter29:{frequencies:[261.6255653006,264.46932144517,267.35459227799,273.20191774753,285.29018929764,311.12229387098,370.01329949656,523.2511306012],description:"Iterated Binary Division of the Octave, IE=2, PD=6, SD=0"},iter3:{frequencies:[261.6255653006,291.72408166262,314.40967058055,328.65360269166,338.82655178274,356.71329642628,384.4758307461,404.77917650282,417.30358762823,426.15298265459,441.49314144476],description:"Iterated 27/16 Scale, analog of Hexachord, IE=27/16, PD=3, SD=2"},iter30:{frequencies:[261.6255653006,263.40533105094,266.47048317654,274.97380842818,299.54231389489,377.98194879009,711.1793535636],description:"Iterated E-scale, IE= 2.71828, PD=5, SD=0"},iter31:{frequencies:[261.6255653006,264.53251602616,277.4816601673,358.0999925052,1395.33634826987],description:"Iterated Kidjel Ratio Scale, IE=16/3, PD=3, SD=0"},iter32:{frequencies:[261.6255653006,264.32273607689,265.98599138894,268.74462830198,273.21657135822,280.65287914064,293.09931751721,314.43072526953,352.25402909754,423.30428543018],description:"Iterated PHI scale, IE= 1.61803339, PD=8, SD=0"},iter33:{frequencies:[261.6255653006,264.70351312767,271.46111286829,293.79264300149,376.62581378438,821.87425059077],description:"Iterated PI Scale, IE= 3.14159, PD=4, SD=0"},iter34:{frequencies:[261.6255653006,263.41752122732,264.70351312767,267.00143308075,271.01725226011,278.10591587072,290.81088732616,314.21361862735,359.24704489038,453.1728541814],description:"Iterated SQR3 Scale, IE= 1.73205, PD=8, SD=0"},iter35:{frequencies:[261.6255653006,263.32443260775,265.41724016003,270.17542037578,281.14986121856,307.30621955943,374.94109676838,585.0238335194],description:"Iterated SQR 5 Scale, IE= 2.23607, PD=6, SD=0"},iter36:{frequencies:[261.6255653006,263.60757715894,266.85807660661,275.72514666411,300.63990398578,377.90359432309,692.2176415245],description:"Iterated SQR 7 Scale, IE= 2.64575, PD=5, SD=0"},iter37:{frequencies:[261.6255653006,295.02271214403,313.28742377221,326.0879260201,332.68289475257,342.82647426905,364.05069339959,375.15068445646,382.73792346942,386.58911684499,392.4383479509],description:"Iterated 3/2 scale, IE=3/2, PD=3, SD=2"},iter4:{frequencies:[261.6255653006,267.82522324611,277.41331493081,278.97828136646,281.37089098366,287.35922746131,302.93486508491,307.2300216374,313.76772341995,330.79094463294,377.42704502382,390.96854140427,412.14986314478,470.26367433779,480.2976795817,495.79659597089,536.59937372878,654.0639132515],description:"Iterated 5/2 Scale, IE=5/2, PD=4, SD=3"},iter5:{frequencies:[261.6255653006,292.148547919,314.45380444784,328.62723446295,338.43307070995,355.46951807147,382.59222452561,401.8431885336,413.81298563886,422.03832066739,436.04260883433],description:"Iterated 5/3 Scale, analog of Hexachord, IE=5/3, PD=3, SD=2"},iter6:{frequencies:[261.6255653006,276.4345595629,292.10621368514,326.13597866239,344.58001283494,364.1180547998,406.52587839016,453.84026633778,506.69255051888,535.41976154541,565.73733351326,631.63886479716],description:"Iterated binary 1+SQR(2) scale, IE= 2.414214, G=2, PD=4, SD=2"},iter7:{frequencies:[261.6255653006,279.30296836145,298.19688088025,308.09852755794,318.34159693919,339.84351781315,362.8203594263,387.34174602946,400.24806631808,413.53718386224,441.49314144476],description:"Iterated 27/16 Scale, analog of Hexachord, IE=27/16, PD=3, SD=2"},iter8:{frequencies:[261.6255653006,298.19688088025,308.09852755794,318.34159693919,339.84351781315,362.8203594263,387.34174602946,400.24806631808,413.53718386224,441.49314144476],description:"Iterated 27/16 Scale, analog of Hexachord, IE=27/16, PD=2, SD=2"},iter9:{frequencies:[261.6255653006,298.19688088025,339.84351781315,387.34174602946,413.53718386224,441.49314144476],description:"Iterated 27/16 Scale, analog of Hexachord, IE=27/16, PD=2, SD=12"},ives:{frequencies:[261.6255653006,302.26980244078,349.22823143301,375.37611551499,433.69180740168,501.06699929295,578.9091089468,622.25396744417],description:`Charles Ives' stretched major scale, "Scrapbook" pp. 108-110`},ives2a:{frequencies:[261.6255653006,303.72829164664,352.60650301302,379.92060676531,441.0602510811,512.03893786214,594.44004134205,640.48740045057],description:"Speculation by Joe Monzo for Ives' other stretched scale"},ives2b:{frequencies:[261.6255653006,300.81831683262,345.88232658126,370.885984045,426.44646246473,490.3301667422,563.78395315523,604.53960488156],description:"Alt. speculation by Joe Monzo for Ives' other stretched scale"},abell1:{frequencies:[261.6255653006,273.68256372566,292.6487650037,305.95868600104,327.16162250699,342.04121835587,365.95599773772,391.31674786192,409.35055662695,437.71854962063,457.62637091093,489.33987776603,523.2511306012],description:"Ross Abell's French Baroque Meantone 1, a'=520"},abell2:{frequencies:[261.6255653006,275.90473010106,294.68429813772,308.79945157961,330.00857764288,348.01999353916,369.14054089803,392.90218486657,412.67427966689,441.52756934418,463.21121723949,493.59810545034,523.2511306012],description:"Ross Abell's French Baroque Meantone 2, a'=520"},abell3:{frequencies:[261.6255653006,275.90505521365,293.49576926806,308.08682543008,329.24698751194,350.03632176331,368.71497179837,392.44893164635,412.28324979826,440.25465969448,462.14293627657,492.7440237889,523.2511306012],description:"Ross Abell's French Baroque Meantone 3, a' = 520"},abell4:{frequencies:[261.6255653006,274.95017225036,292.98704147282,308.2648062752,328.10786809908,346.01554587335,367.43868454848,391.54284657258,411.48414905414,438.47771564426,461.87534079415,491.0387427573,523.2511306012],description:"Ross Abell's French Baroque Meantone 4, a'=520"},abell5:{frequencies:[261.6255653006,277.98432293805,295.87822452474,311.66659310186,331.15428443044,349.43001184052,371.27895029721,395.6350356808,416.26536455926,442.29334161825,466.70260620202,495.88429116026,523.2511306012],description:"Ross Abell's French Baroque Meantone 5, a'=520"},abell6:{frequencies:[261.6255653006,277.02257024271,293.32570896007,311.66659310186,330.00857764288,349.43001184052,369.99442271164,391.76907592069,414.82519580403,440.76312290327,466.70260620202,494.16866184506,523.2511306012],description:"Ross Abell's French Baroque Meantone 6, a'=520"},abell7:{frequencies:[261.6255653006,277.50302994288,294.34406205295,310.05056613125,328.86683469969,348.82502010853,369.99442271164,392.44854854484,416.26536455926,438.47771564426,465.08793784701,493.31307433255,523.2511306012],description:"Ross Abell's French Baroque Meantone 7, a'=520"},abell8:{frequencies:[261.6255653006,277.82379926216,294.68429813772,311.48661940174,329.62755691287,350.03605285217,371.27895029721,392.44854854484,415.30469757995,441.01779121056,467.78216486233,494.45418731234,523.2511306012],description:"Ross Abell's French Baroque Meantone 8, a'=520"},abell9:{frequencies:[261.6255653006,276.06414495892,293.32570896007,309.69258848748,330.19925313612,348.62358905703,369.14054089803,391.99543598175,412.67427966689,440,464.55095742407,493.88330125613,523.2511306012],description:"Ross Abell's French Baroque Meantone 9, a'=520"},"ad-dik":{frequencies:[261.6255653006,269.0348830679,275.62199471997,285.40970760065,294.32876096318,300.46061014991,310.07474405997,321.08592105074,327.03195662575,336.37572681506,348.83408706747,358.80077526939,367.49599295996,378.42269266694,392.4383479509,400.61414686654,413.43299207996,428.11456140098,441.49314144476,453.48431318771,470.92601754108,479.64686971777,490.54793493862,508.71637697339,523.2511306012],description:"Amin Ad-Dik, d'Erlanger, vol 5, p.42"},adjeng:{frequencies:[261.6255653006,285.30470202322,305.78200836532,383.0422478503,417.71053321823,523.2511306012],description:"Soeroepan adjeng"},aeolic:{frequencies:[261.6255653006,294.32876096318,310.07474405997,348.83408706747,392.4383479509,413.43299207996,465.11211608996,523.2511306012],description:"Ancient Greek Aeolic, also tritriadic scale of the 54:64:81 triad"},agricola:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.42486507835,331.11985608357,348.83408706747,367.91095120397,392.4383479509,413.89982010446,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"Agricola's Monochord, Rudimenta musices (1539)"},"al-din":{frequencies:[261.6255653006,275.62199471997,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,367.49599295996,387.15627241873,392.4383479509,413.43299207996,435.55080647107,441.49314144476,465.11211608996,489.99465727995,516.20836322497,523.2511306012,551.24398943995,580.73440862809,588.65752192635,620.14948811994,653.3262097066,688.27781763329,697.66817413493,734.99198591993,774.31254483746,784.8766959018,826.86598415992,871.10161294214,917.70375684439,930.22423217991,979.98931455991,1032.41672644994,1046.5022612024,1102.48797887989],description:"Safi al-Din's complete lute tuning on 5 strings 4/3 apart"},"al-din_19":{frequencies:[261.6255653006,275.62199471997,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,344.13890881665,348.83408706747,367.49599295996,387.15627241873,392.4383479509,413.43299207996,435.55080647107,441.49314144476,458.8518784222,465.11211608996,489.99465727995,516.20836322497,523.2511306012],description:"Arabic scale by Safi al-Din"},"al-farabi":{frequencies:[261.6255653006,279.06726965397,299.00064605783,348.83408706747,392.4383479509,418.60090448096,448.50096908674,523.2511306012],description:"Al-Farabi Syn Chrom"},"al-farabi_19":{frequencies:[261.6255653006,275.62199471997,285.40970760065,294.32876096318,310.07474405997,326.6631048533,331.11985608357,336.87132687997,348.83408706747,367.49599295996,380.54627680087,392.4383479509,413.43299207996,435.55080647107,441.49314144476,455.28980211491,465.11211608996,489.99465727995,507.3950357345,523.2511306012],description:"Arabic scale by Al Farabi"},"al-farabi_22":{frequencies:[261.6255653006,275.62199471997,277.01530443593,285.40970760065,294.32876096318,310.07474405997,321.08592105074,326.6631048533,331.11985608357,348.83408706747,367.49599295996,369.35373924791,380.54627680087,392.4383479509,413.43299207996,428.11456140098,435.55080647107,441.49314144476,465.11211608996,489.99465727995,492.47165233054,507.3950357345,523.2511306012],description:"Al-Farabi 22 note ud scale"},"al-farabi_9":{frequencies:[261.6255653006,294.32876096318,321.08592105074,331.11985608357,348.83408706747,392.4383479509,428.11456140098,441.49314144476,465.11211608996,523.2511306012],description:"Al-Farabi 9 note ud scale"},"al-farabi_blue":{frequencies:[261.6255653006,294.32876096318,367.91095120397,380.81054504865,392.4383479509,490.54793493862,506.89953276991,523.2511306012],description:"Another tuning from Al Farabi, c700 AD"},"al-farabi_chrom":{frequencies:[261.6255653006,294.32876096318,353.19451315581,372.50983809402,392.4383479509,470.92601754108,497.08857407114,523.2511306012],description:"Al Farabi's Chromatic c700 AD"},"al-farabi_chrom2":{frequencies:[261.6255653006,279.06726965397,325.57848126297,348.83408706747,392.4383479509,418.60090448096,488.36772189445,523.2511306012],description:"Al-Farabi's Chromatic permuted"},"al-farabi_diat":{frequencies:[261.6255653006,299.00064605783,341.71502406609,348.83408706747,392.4383479509,448.50096908674,512.57253609913,523.2511306012],description:"Al-Farabi's Diatonic"},"al-farabi_diat2":{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:"Old Phrygian, permuted form of Al-Farabi's reduplicated 10/9 diatonic genus, same as ptolemy_diat"},"al-farabi_div":{frequencies:[261.6255653006,275.62199471997,277.01530443593,284.45195690401,288.32205155576,294.32876096318,310.07474405997,311.64221749042,321.08592105074,331.11985608357,348.83408706747],description:"Al Farabi's 10 intervals for the division of the tetrachord"},"al-farabi_div2":{frequencies:[261.6255653006,275.62199471997,277.01530443593,279.38237857051,284.45195690401,288.32205155576,294.32876096318,310.07474405997,311.64221749042,314.30517589183,321.08592105074,331.11985608357,348.83408706747],description:"Al-Farabi's tetrachord division, incl. extra 2187/2048 & 19683/16384"},"al-farabi_divo":{frequencies:[261.6255653006,275.62199471997,277.01530443593,284.45195690401,288.32205155576,294.32876096318,310.07474405997,311.64221749042,321.08592105074,331.11985608357,348.83408706747,367.49599295996,369.35373924791,379.26927587201,392.4383479509,413.43299207996,415.52295665389,426.67793535601,432.48307733364,441.49314144476,465.11211608996,467.46332623563,481.6288815761,496.67978412536,523.2511306012],description:"Al Farabi's theoretical octave division with identical tetrachords, 10th c."},"al-farabi_dor":{frequencies:[261.6255653006,282.55561052465,313.95067836072,348.83408706747,392.4383479509,423.83341578697,470.92601754108,523.2511306012],description:"Dorian mode of Al-Farabi's 10/9 Diatonic"},"al-farabi_dor2":{frequencies:[261.6255653006,267.07609791103,305.22982618403,348.83408706747,392.4383479509,400.61414686654,457.84473927605,523.2511306012],description:"Dorian mode of Al-Farabi's Diatonic"},"al-farabi_g1":{frequencies:[261.6255653006,294.32876096318,331.11985608357,367.91095120397,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Al-Farabi's Greek genus conjunctum medium, Land"},"al-farabi_g10":{frequencies:[261.6255653006,294.32876096318,343.38355445704,367.91095120397,392.4383479509,457.84473927605,490.54793493862,523.2511306012],description:"Al-Farabi's Greek genus chromaticum forte"},"al-farabi_g11":{frequencies:[261.6255653006,294.32876096318,353.19451315581,372.50983809402,392.4383479509,470.92601754108,496.67978412536,523.2511306012],description:"Al-Farabi's Greek genus chromaticum mollissimum"},"al-farabi_g12":{frequencies:[261.6255653006,294.32876096318,367.91095120397,380.17464957743,392.4383479509,490.54793493862,506.89953276991,523.2511306012],description:"Al-Farabi's Greek genus mollissimum ordinantium"},"al-farabi_g3":{frequencies:[261.6255653006,294.32876096318,336.37572681506,378.42269266694,392.4383479509,448.50096908674,504.56359022259,523.2511306012],description:"Al-Farabi's Greek genus conjunctum primum"},"al-farabi_g4":{frequencies:[261.6255653006,294.32876096318,336.37572681506,384.42940207435,392.4383479509,448.50096908674,512.57253609913,523.2511306012],description:"Al-Farabi's Greek genus forte duplicatum primum"},"al-farabi_g5":{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,436.04260883433,479.64686971777,523.2511306012],description:"Al-Farabi's Greek genus conjunctum tertium, or forte aequatum"},"al-farabi_g6":{frequencies:[261.6255653006,294.32876096318,336.37572681506,373.75080757229,392.4383479509,448.50096908674,498.33441009638,523.2511306012],description:"Al-Farabi's Greek genus forte disjunctum primum"},"al-farabi_g7":{frequencies:[261.6255653006,294.32876096318,343.38355445704,374.60024122586,392.4383479509,457.84473927605,499.46698830115,523.2511306012],description:"Al-Farabi's Greek genus non continuum acre"},"al-farabi_g8":{frequencies:[261.6255653006,294.32876096318,353.19451315581,378.42269266694,392.4383479509,470.92601754108,504.56359022259,523.2511306012],description:"Al-Farabi's Greek genus non continuum mediocre"},"al-farabi_g9":{frequencies:[261.6255653006,294.32876096318,367.91095120397,383.71749577421,392.4383479509,490.54793493862,511.62332769895,523.2511306012],description:"Al-Farabi's Greek genus non continuum laxum"},"al-hwarizmi":{frequencies:[261.6255653006,294.32876096318,302.73815413355,311.64221749042,321.08592105074,331.11985608357,348.83408706747],description:"Al-Hwarizmi's tetrachord division"},"al-kindi":{frequencies:[261.6255653006,275.62199471997,279.38237857051,294.32876096318,310.07474405997,331.11985608357,348.83408706747],description:"Al-Kindi's tetrachord division"},"al-kindi2":{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,367.49599295996,392.4383479509,413.43299207996,435.55080647107,441.49314144476,465.11211608996,489.99465727995,523.2511306012],description:"Arabic mode by al-Kindi"},"al-mausili":{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,331.11985608357,348.83408706747,367.49599295996,392.4383479509,413.43299207996,441.49314144476,465.11211608996,523.2511306012],description:"Arabic mode by Ishaq al-Mausili, ? - 850 AD"},albion:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Terry Riley's Harp of New Albion scale, inverse Malcolm's Monochord, 1/1 on C#"},alembert:{frequencies:[261.6255653006,273.70610837433,292.50627485027,307.8325111191,327.03195662575,347.99121610009,365.92863081328,391.22147055517,409.45161370755,437.39890198442,462.86717295458,489.22460251523,523.2511306012],description:"Jean-Le Rond d'Alembert modified meantone (1752)"},alembert2:{frequencies:[261.6255653006,274.99999938609,292.5775112526,309.28790118232,327.03195662575,348.53877105022,367.08095907728,391.31674786192,412.03444522126,437.50542525192,464.32494005553,489.99429388332,523.2511306012],description:"d'Alembert (?)"},alves:{frequencies:[261.6255653006,267.07609791103,294.32876096318,305.22982618403,327.03195662575,336.37572681506,348.83408706747,359.73515228832,392.4383479509,425.14154361347,448.50096908674,457.84473927605,504.56359022259,523.2511306012],description:'Bill Alves, tuning for "Instantaneous Motion", 1/1 vol. 6/3'},alves_22:{frequencies:[261.6255653006,269.80136421624,279.06726965397,287.78812183066,297.30177875068,305.22982618403,317.12189733406,327.03195662575,336.37572681506,348.83408706747,359.73515228832,370.01329949656,380.54627680087,392.4383479509,406.97310157871,418.60090448096,431.68218274599,448.50096908674,460.46099492906,475.68284600109,490.54793493862,507.3950357345,523.2511306012],description:"11-limit rational interpretation of 22-tET, Bill Alves, tuning list 9-1-98"},amity:{frequencies:[261.6255653006,265.19165427121,275.22357733525,278.97501409741,282.77758484276,286.63198489776,290.53892403345,294.49911672845,305.63971046081,309.80573452349,314.02854360428,318.30891171173,322.64762154083,327.04547204619,339.41726037801,344.04368955469,348.73317930436,353.48658917459,358.304790429,371.85908609843,376.92771379174,382.0654272409,387.27317253358,392.55190203235,397.90258328792,412.95482206782,418.58360545772,424.28911201625,430.07238503487,435.93448947821,452.42543551278,458.59222335614,464.84306764133,471.17911410024,477.60152408164,484.11147196776,502.42490579041,509.27320879713,516.21486058423,523.2511306012],description:"Amity temperament, g=339.508826, 5-limit"},angklung:{frequencies:[261.6255653006,294.70472480469,326.28010551578,372.13971319976,421.00655337609,533.77627782773,589.40944960937,672.10704388342,757.81210779894],description:"Scale of an anklung set from Tasikmalaya. 1/1=174 Hz"},appunn:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.38237857051,287.10624449997,290.69507255622,294.32876096318,302.46583782713,306.24666079997,310.07474405997,322.99452506247,327.03195662575,331.11985608357,340.27406755552,344.52749339997,348.83408706747,363.36884069528,367.91095120397,372.50983809402,382.80832599996,387.59343007496,392.4383479509,408.78994578219,413.89982010446,419.07356785577,430.65936674996,436.04260883433,441.49314144476,453.6987567407,459.36999119996,465.11211608996,484.4917875937,490.54793493862,496.67978412536,510.41110133328,516.79124009995,523.2511306012],description:"Probable tuning of A. Appunn's 36-tone harmonium w. 3 manuals 80/81 apart,1887"},arabic:{frequencies:[261.6255653006,275.62199471997,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,367.49599295996,387.15627241873,392.4383479509,413.43299207996,435.55080647107,441.49314144476,465.11211608996,489.99465727995,516.20836322497,523.2511306012],description:"Arabic 17-tone Pythagorean mode, Safi al-Din"},arabic_s:{frequencies:[261.6255653006,275.62199471997,290.69507255622,294.32876096318,310.07474405997,327.03195662575,331.11985608357,348.83408706747,367.91095120397,387.59343007496,392.4383479509,413.43299207996,436.04260883433,441.49314144476,465.11211608996,490.54793493862,516.79124009995,523.2511306012],description:"Schimatically altered Arabic 17-tone Pythagorean mode"},arch_chrom:{frequencies:[261.6255653006,271.31540105247,294.32876096318,348.83408706747,392.4383479509,406.97310157871,441.49314144476,523.2511306012],description:"Archytas' Chromatic"},arch_chromc2:{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,331.11985608357,343.38355445704,348.83408706747,361.75386806997,392.4383479509,406.97310157871,422.04617941496,441.49314144476,457.84473927605,496.67978412536,523.2511306012],description:"Product set of 2 of Archytas' Chromatic"},arch_dor:{frequencies:[261.6255653006,271.31540105247,294.32876096318,348.83408706747,392.4383479509,406.97310157871,465.11211608996,441.49314144476,523.2511306012],description:"Dorian mode of Archytas' Chromatic with added 16/9"},arch_enh:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,392.4383479509,406.97310157871,418.60090448096,523.2511306012],description:"Archytas' Enharmonic"},arch_enh2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,392.4383479509,406.97310157871,465.11211608996,418.60090448096,523.2511306012],description:"Archytas' Enharmonic with added 16/9"},arch_enh3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,336.37572681506,348.83408706747,358.80077526939,448.50096908674,523.2511306012],description:"Complex 9 of p. 113 based on Archytas's Enharmonic"},arch_enhp:{frequencies:[261.6255653006,269.10058145205,279.06726965397,348.83408706747,392.4383479509,403.65087217807,418.60090448096,523.2511306012],description:"Permutation of Archytas's Enharmonic with the 36/35 first"},arch_enht:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,336.37572681506,348.83408706747,504.56359022259,523.2511306012],description:"Complex 6 of p. 113 based on Archytas's Enharmonic"},arch_enht2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,348.83408706747,490.54793493862,508.71637697339,523.2511306012],description:"Complex 5 of p. 113 based on Archytas's Enharmonic"},arch_enht3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,281.36411960997,289.40309445597,348.83408706747,361.75386806997,523.2511306012],description:"Complex 1 of p. 113 based on Archytas's Enharmonic"},arch_enht4:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,339.14425131559,348.83408706747,436.04260883433,523.2511306012],description:"Complex 8 of p. 113 based on Archytas's Enharmonic"},arch_enht5:{frequencies:[261.6255653006,263.77886213435,271.31540105247,279.06726965397,339.14425131559,348.83408706747,508.71637697339,523.2511306012],description:"Complex 10 of p. 113 based on Archytas's Enharmonic"},arch_enht6:{frequencies:[261.6255653006,271.31540105247,279.06726965397,289.40309445597,297.67175429757,348.83408706747,372.08969287196,523.2511306012],description:"Complex 2 of p. 113 based on Archytas's Enharmonic"},arch_enht7:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,287.04062021552,348.83408706747,358.80077526939,523.2511306012],description:"Complex 11 of p. 113 based on Archytas's Enharmonic"},arch_mult:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,336.37572681506,348.83408706747,361.75386806997,392.4383479509,406.97310157871,418.60090448096,490.54793493862,504.56359022259,523.2511306012],description:"Multiple Archytas"},arch_ptol:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,310.07474405997,348.83408706747,361.75386806997,392.4383479509,406.97310157871,418.60090448096,436.04260883433,465.11211608996,523.2511306012],description:"Archytas/Ptolemy Hybrid 1"},arch_ptol2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,313.95067836072,348.83408706747,361.75386806997,392.4383479509,406.97310157871,418.60090448096,441.49314144476,470.92601754108,523.2511306012],description:"Archytas/Ptolemy Hybrid 2"},arch_sept:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,310.07474405997,348.83408706747,361.75386806997,392.4383479509,406.97310157871,418.60090448096,441.49314144476,465.11211608996,523.2511306012],description:"Archytas Septimal"},ariel1:{frequencies:[261.6255653006,282.55561052465,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Ariel 1"},ariel2:{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Ariel 2"},ariel3:{frequencies:[261.6255653006,279.06726965397,290.69507255622,310.07474405997,322.99452506247,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,465.11211608996,484.4917875937,523.2511306012],description:"Ariel's 12-tone JI scale"},ariel_19:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,302.80736724606,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,452.08897683944,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Ariel 19-tone scale"},ariel_31:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,283.88190679319,294.32876096318,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,376.74081403286,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,428.6473261885,436.04260883433,446.50763144636,454.2110508691,465.11211608996,482.22824196207,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Ariel's 31-tone system"},arist_archenh:{frequencies:[261.6255653006,271.89678302796,279.86396690685,349.22823143301,391.99543598175,407.38487419079,419.32216217931,523.2511306012],description:"PsAristo Arch. Enharmonic, 4 + 3 + 23 parts, similar to Archytas' enharmonic"},arist_chrom:{frequencies:[261.6255653006,277.18263097687,329.62755691287,349.22823143301,391.99543598175,415.30469757995,493.88330125613,523.2511306012],description:"Dorian, Neo-Chromatic,6+18+6 parts = Athanasopoulos' Byzant.liturg. 2nd chromatic"},arist_chrom2:{frequencies:[261.6255653006,282.57123920205,336.03572815422,349.22823143301,391.99543598175,423.37848741825,503.48470957687,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 8 + 18 + 4 parts"},arist_chrom3:{frequencies:[261.6255653006,279.86388595857,299.37253740865,349.22869576324,391.99491478937,419.32387668214,448.55625766774,523.2511306012],description:"PsAristo 3 Chromatic, 7 + 7 + 16 parts"},arist_chrom4:{frequencies:[261.6255653006,275.85166538713,290.85115308106,349.22823143301,391.99543598175,413.31050241775,435.7843409791,523.2511306012],description:"PsAristo Chromatic, 5.5 + 5.5 + 19 parts"},arist_chromenh:{frequencies:[261.6255653006,269.29177952703,293.66476791741,349.22823143301,391.99543598175,403.48177901006,440,523.2511306012],description:"Aristoxenos' Chromatic/Enharmonic, 3 + 9 + 18 parts"},arist_chrominv:{frequencies:[261.6255653006,311.12698372208,329.62755691287,349.22823143301,391.99543598175,466.16376151809,493.88330125613,523.2511306012],description:"Aristoxenos' Inverted Chromatic, Dorian mode, 18 + 6 + 6 parts"},arist_chromrej:{frequencies:[261.6255653006,277.18263097687,285.30470202322,349.22823143301,391.99543598175,415.30469757995,427.47405410759,523.2511306012],description:"Aristoxenos Rejected Chromatic, 6 + 3 + 21 parts"},arist_chromunm:{frequencies:[261.6255653006,273.20871865617,282.57118533961,349.22823143301,391.99543598175,409.35055662695,423.37840671577,523.2511306012],description:"Unmelodic Chromatic, genus of Aristoxenos, Dorian Mode, 4.5 + 3.5 + 22 parts"},arist_diat:{frequencies:[261.6255653006,293.66476791741,311.12698372208,349.22823143301,391.99543598175,440,466.16376151809,523.2511306012],description:"Phrygian octave species on E, 12 + 6 + 12 parts"},arist_diat2:{frequencies:[261.6255653006,279.86396690685,311.12698372208,349.22823143301,391.99543598175,419.32216217931,466.16376151809,523.2511306012],description:"PsAristo 2 Diatonic, 7 + 11 + 12 parts"},arist_diat3:{frequencies:[261.6255653006,286.68133251996,314.13668154225,349.22823143301,391.99543598175,429.53666932309,470.6732130613,523.2511306012],description:"PsAristo Diat 3, 9.5 + 9.5 + 11 parts"},arist_diat4:{frequencies:[261.6255653006,282.57123920205,305.19382000629,349.22823143301,391.99543598175,423.37848741825,457.27406033445,523.2511306012],description:"PsAristo Diatonic, 8 + 8 + 14 parts"},arist_diatdor:{frequencies:[261.6255653006,299.37379946195,305.19382000629,349.22823143301,391.99543598175,448.5538823653,457.27406033445,523.2511306012],description:"PsAristo Redup. Diatonic, 14 + 2 + 14 parts"},arist_diatinv:{frequencies:[261.6255653006,293.66476791741,329.62755691287,349.22823143301,391.99543598175,440,493.88330125613,523.2511306012],description:"Lydian octave species on E, major mode, 12 + 12 + 6 parts"},arist_diatred:{frequencies:[261.6255653006,299.37379946195,342.56848033562,349.22823143301,391.99543598175,448.5538823653,513.27277840175,523.2511306012],description:"Aristo Redup. Diatonic, Dorian Mode, 14 + 14 + 2 parts"},arist_diatred2:{frequencies:[261.6255653006,271.89678302796,308.14612137864,349.22823143301,391.99543598175,407.38487419079,461.69751437372,523.2511306012],description:"PsAristo 2 Redup. Diatonic 2, 4 + 13 + 13 parts"},arist_diatred3:{frequencies:[261.6255653006,282.57123920205,314.13668154225,349.22823143301,391.99543598175,423.37848741825,470.6732130613,523.2511306012],description:"PsAristo 3 Redup. Diatonic, 8 + 11 + 11 parts"},arist_enh:{frequencies:[261.6255653006,269.29177952703,277.18263097687,349.22823143301,391.99543598175,403.48177901006,415.30469757995,523.2511306012],description:"Aristoxenos' Enharmonion, Dorian mode"},arist_enh2:{frequencies:[261.6255653006,270.59109411209,279.86402025325,349.22823143301,391.99543598175,405.42855124795,419.32224210861,523.2511306012],description:"PsAristo 2 Enharmonic, 3.5 + 3.5 + 23 parts"},arist_enh3:{frequencies:[261.6255653006,267.99870394401,274.52693220706,349.22823143301,391.99543598175,401.54435471309,411.32564531909,523.2511306012],description:"PsAristo Enharmonic, 2.5 + 2.5 + 25 parts"},arist_hemchrom:{frequencies:[261.6255653006,273.20871865617,285.30470202322,349.22823143301,391.99543598175,409.35055662695,427.47405410759,523.2511306012],description:"Aristoxenos's Chromatic Hemiolion, Dorian Mode"},arist_hemchrom2:{frequencies:[261.6255653006,273.20871865617,293.66476791741,349.22823143301,391.99543598175,409.35055662695,440,523.2511306012],description:"PsAristo C/H Chromatic, 4.5 + 7.5 + 18 parts"},arist_hemchrom3:{frequencies:[261.6255653006,271.81876914348,282.83844897362,348.83408706747,392.4383479509,407.72815371522,424.25767346043,523.2511306012],description:"Dorian mode of Aristoxenos' Hemiolic Chromatic according to Ptolemy's interpret"},arist_hypenh2:{frequencies:[261.6255653006,267.3544191957,273.20871865617,349.22823143301,391.99543598175,400.57901831518,409.35055662695,523.2511306012],description:"PsAristo 2nd Hyperenharmonic, 37.5 + 37.5 + 425 cents"},arist_hypenh3:{frequencies:[261.6255653006,265.43099677612,269.29177952703,349.22823143301,391.99543598175,397.69714089209,403.48177901006,523.2511306012],description:"PsAristo 3 Hyperenharmonic, 1.5 + 1.5 + 27 parts"},arist_hypenh4:{frequencies:[261.6255653006,266.71168334607,271.8968348557,349.22823143301,391.99543598175,399.61600264311,407.38495184466,523.2511306012],description:"PsAristo 4 Hyperenharmonic, 2 + 2 + 26 parts"},arist_hypenh5:{frequencies:[261.6255653006,265.12453591719,268.67030163715,349.22823143301,391.99543598175,397.23796841836,402.55061428954,523.2511306012],description:"PsAristo Hyperenharmonic, 23 + 23 + 454 cents"},arist_intdiat:{frequencies:[261.6255653006,275.39533189537,307.79478270659,348.83408706747,392.4383479509,413.09299784305,461.69217405988,523.2511306012],description:"Dorian mode of Aristoxenos's Intense Diatonic according to Ptolemy"},arist_penh2:{frequencies:[261.6255653006,269.29177952703,339.28638158975,349.22823143301,391.99543598175,403.48177901006,508.3551866238,523.2511306012],description:"Permuted Aristoxenos's Enharmonion, 3 + 24 + 3 parts"},arist_penh3:{frequencies:[261.6255653006,329.62755691287,339.28638158975,349.22823143301,391.99543598175,493.88330125613,508.3551866238,523.2511306012],description:"Permuted Aristoxenos's Enharmonion, 24 + 3 + 3 parts"},arist_pschrom2:{frequencies:[261.6255653006,278.52001838539,296.50560089735,349.22823143301,391.99543598175,417.30851459865,444.25644015807,523.2511306012],description:"PsAristo 2 Chromatic, 6.5 + 6.5 + 17 parts"},arist_softchrom:{frequencies:[261.6255653006,271.89678302796,282.57123920205,349.22823143301,391.99543598175,407.38487419079,423.37848741825,523.2511306012],description:"Aristoxenos's Chromatic Malakon, Dorian Mode"},arist_softchrom2:{frequencies:[261.6255653006,277.18263097687,324.90175210669,349.22823143301,391.99543598175,415.30469757995,486.80259447109,523.2511306012],description:"Aristoxenos' Soft Chromatic, 6 + 16.5 + 9.5 parts"},arist_softchrom3:{frequencies:[261.6255653006,281.2143451833,329.62755691287,349.22823143301,391.99543598175,421.34544350737,493.88330125613,523.2511306012],description:"Aristoxenos's Chromatic Malakon, 9.5 + 16.5 + 6 parts"},arist_softchrom4:{frequencies:[261.6255653006,277.18263097687,297.93622032612,349.22823143301,391.99543598175,415.30469757995,446.39994737251,523.2511306012],description:"PsAristo S. Chromatic, 6 + 7.5 + 16.5 parts"},arist_softchrom5:{frequencies:[261.6255653006,270.64713651786,280.31310567921,348.83408706747,392.4383479509,405.97070477679,420.46965851882,523.2511306012],description:"Dorian mode of Aristoxenos' Soft Chromatic according to Ptolemy's interpretati"},arist_softdiat:{frequencies:[261.6255653006,277.18263097687,302.26980244078,349.22823143301,391.99543598175,415.30469757995,452.89298412314,523.2511306012],description:"Aristoxenos's Diatonon Malakon, Dorian Mode"},arist_softdiat2:{frequencies:[261.6255653006,277.18263097687,320.24370022528,349.22823143301,391.99543598175,415.30469757995,479.82340237272,523.2511306012],description:"Dorian Mode, 6 + 15 + 9 parts"},arist_softdiat3:{frequencies:[261.6255653006,285.30470202322,329.62755691287,349.22823143301,391.99543598175,427.47405410759,466.16376151809,523.2511306012],description:"Dorian Mode, 9 + 15 + 6 parts"},arist_softdiat4:{frequencies:[261.6255653006,285.30470202322,302.26980244078,349.22823143301,391.99543598175,427.47405410759,452.89298412314,523.2511306012],description:"Dorian Mode, 9 + 6 + 15 parts"},arist_softdiat5:{frequencies:[261.6255653006,302.26980244078,320.24370022528,349.22823143301,391.99543598175,452.89298412314,479.82340237272,523.2511306012],description:"Dorian Mode, 15 + 6 + 9 parts"},arist_softdiat6:{frequencies:[261.6255653006,302.26980244078,329.62755691287,349.22823143301,391.99543598175,452.89298412314,493.88330125613,523.2511306012],description:"Dorian Mode, 15 + 9 + 6 parts"},arist_softdiat7:{frequencies:[261.6255653006,275.39533189537,299.00064605783,348.83408706747,392.4383479509,413.09299784305,448.50096908674,523.2511306012],description:"Dorian mode of Aristoxenos's Soft Diatonic according to Ptolemy"},arist_synchrom:{frequencies:[261.6255653006,277.18263097687,293.66476791741,349.22823143301,391.99543598175,415.30469757995,440,523.2511306012],description:"Aristoxenos's Chromatic Syntonon, Dorian Mode"},arist_syndiat:{frequencies:[261.6255653006,277.18263097687,311.12698372208,349.22823143301,391.99543598175,415.30469757995,466.16376151809,523.2511306012],description:"Aristoxenos's Diatonon Syntonon, Dorian Mode"},arist_unchrom:{frequencies:[261.6255653006,271.89678302796,293.66476791741,349.22823143301,391.99543598175,407.38487419079,440,523.2511306012],description:"Aristoxenos's Unnamed Chromatic, Dorian Mode, 4 + 8 + 18 parts"},arist_unchrom2:{frequencies:[261.6255653006,282.57123920205,293.66476791741,349.22823143301,391.99543598175,423.37848741825,440,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 8 + 4 + 18 parts"},arist_unchrom3:{frequencies:[261.6255653006,311.12698372208,323.3415889232,349.22823143301,391.99543598175,466.16376151809,484.46499093218,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 18 + 4 + 8 parts"},arist_unchrom4:{frequencies:[261.6255653006,311.12698372208,336.03572815422,349.22823143301,391.99543598175,466.16376151809,503.48470957687,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 18 + 8 + 4 parts"},arith13:{frequencies:[261.6255653006,269.80136421624,294.32876096318,318.85615771011,327.03195662575,343.38355445704,367.91095120397,371.99885066179,392.4383479509,449.66894036041,457.84473927605,490.54793493862,523.2511306012],description:"The first 13 terms of the arithmetic series, octave reduced"},arith22:{frequencies:[261.6255653006,269.80136421624,277.97716313189,294.32876096318,312.72430852337,318.85615771011,327.03195662575,343.38355445704,349.51540364377,367.91095120397,371.99885066179,388.35044849308,392.4383479509,429.2294430713,449.66894036041,457.84473927605,472.15238737843,490.54793493862,517.11928141447,523.2511306012],description:"The first 22 terms of the arithmetic series, octave reduced"},arnautoff_21:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,361.75386806997,367.91095120397,372.08969287196,378.42269266694,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,465.11211608996,490.54793493862,504.56359022259,523.2511306012],description:"Philip Arnautoff, transposed Archytas enharmonic (2005), 1/1 vol 12/1"},"aron-neidhardt":{frequencies:[261.6255653006,275.62199471997,292.53519855339,310.07474405997,327.04005607367,348.83408706747,367.49599295996,391.42133845759,413.43299207996,437.43855491017,465.11211608996,489.99465727995,523.2511306012],description:"Aron-Neidhardt equal beating well temperament"},art_nam:{frequencies:[261.6255653006,287.78812183066,317.68818643644,324.77656382143,348.83408706747,353.19451315581,392.4383479509,431.68218274599,473.41768959156,523.2511306012],description:"Artificial Nam System"},artusi:{frequencies:[261.6255653006,276.63528606528,292.50629850443,309.28767786778,327.03195662575,349.91920725962,369.99442271164,391.22137338448,413.66637442451,437.39882871549,462.49310482954,489.02679755603,523.2511306012],description:"Lute tuning of Giovanni Maria Artusi (1603). 1/4-comma w. acc. 1/2-way naturals"},astro:{frequencies:[13.75,13.8316453704,13.91377553836,13.99639338254,14.07098381034,14.15453513289,14.23858257025,14.32312915102,14.40817767355,14.49373120103,14.57979273211,14.66636528323,14.75345188876,14.84105560105,14.92917949063,15.01782664621,15.10700017487,15.1875093157,15.27769039377,15.36840704189,15.45966226264,15.55145934276,15.64380149972,15.73669197012,15.83013400973,15.92413089371,16.01868591662,16.11380239262,16.20948365552,16.30573305894,16.39263055969,16.48996755631,16.58788242969,16.68637870643,16.78545983879,16.88512929958,16.98539058219,17.08624720077,17.18770269033,17.28976060687,17.39242452751,17.49569805061,17.59958489756,17.69337767194,17.7984382082,17.90412257766,18.01043448453,18.11737765504,18.22495583753,18.33317280261,18.44203234327,18.55153827502,18.66169443603,18.77250468726,18.88397302169,18.99610312873,19.09733831271,19.21073534981,19.32480572095,19.43955342429,19.55498248173,19.67109693902,19.78790086598,19.90539835657,20.02359352906,20.14249064253,20.26209363229,20.38240680608,20.50343438087,20.62518059864,20.73509756099,20.85821935885,20.98207223488,21.1066605301,21.23198861133,21.35806087129,21.4848817288,21.61245575376,21.74078716869,21.86988059568,21.99974055944,22.13037161156,22.26177833063,22.38041714879,22.51330859954,22.64698913914,22.78146345308,22.91673625467,23.0528122852,23.18969644807,23.32739327396,23.46590772227,23.60524464792,23.74540893465,23.88640549521,24.02823927151,24.15629202037,24.29972834105,24.44401636439,24.58916114767,24.73516777819,24.8820415172,25.02978722599,25.17841022592,25.32791572621,25.478308967,25.62959521956,25.78177978645,25.93486800174,26.07308167197,26.22789959273,26.38363679833,26.54029874734,26.69789108494,26.85641902723,27.01588828389,27.17630444429,27.33767313101,27.5],description:"Astro temperament, g=132.194511, 5-limit"},athan_chrom:{frequencies:[261.6255653006,285.30470202322,329.62755691287,349.22823143301,391.99543598175,427.47405410759,493.88330125613,523.2511306012],description:"Athanasopoulos's Byzantine Liturgical mode Chromatic"},auftetf:{frequencies:[261.6255653006,264.29521392612,269.80136421624,287.78812183066,359.73515228832,380.54627680087,384.42940207435,392.4383479509,418.60090448096],description:"5/4 C.I. again"},augmented:{frequencies:[261.6255653006,312.71213182188,329.62755691287,393.99259743989,415.30469757995,496.39956701727,523.2511306012],description:"Augmented temperament, g=91.2, oct=1/3, 5-limit"},augteta:{frequencies:[261.6255653006,280.76889934699,302.93486508491,328.90071066361,359.73515228832,380.54627680087,408.39112632289,440.63253103259,478.40103369253],description:"Linear Division of the 11/8, duplicated on the 16/11"},augteta2:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,366.27579142084,373.75080757229,402.50086969323,436.04260883433,475.68284600109],description:"Linear Division of the 7/5, duplicated on the 10/7"},augtetb:{frequencies:[261.6255653006,270.8594087818,280.76889934699,302.93486508491,359.73515228832,380.54627680087,295.48299139832,408.39112632289,440.63253103259],description:"Harmonic mean division of 11/8"},augtetc:{frequencies:[261.6255653006,280.31310567921,301.87565226992,327.03195662575,359.73515228832,380.54627680087,407.72815371522,439.09185784716,475.68284600109],description:"11/10 C.I."},augtetd:{frequencies:[261.6255653006,271.68808704293,282.55561052465,294.32876096318,359.73515228832,380.54627680087,395.18267206244,410.98997894494,428.11456140098],description:"11/9 C.I."},augtete:{frequencies:[261.6255653006,269.80136421624,278.50463402967,287.78812183066,359.73515228832,380.54627680087,392.4383479509,405.0976494977,418.60090448096],description:"5/4 C.I."},augtetg:{frequencies:[261.6255653006,278.50463402967,297.71185016965,319.76457981184,359.73515228832,380.54627680087,405.0976494977,433.03541842858,465.11211608996],description:"9/8 C.I."},augteth:{frequencies:[261.6255653006,278.50463402967,287.78812183066,319.76457981184,359.73515228832,380.54627680087,405.0976494977,418.60090448096,465.11211608996],description:"9/8 C.I. A gapped version of this scale is called AugTetI"},augtetj:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,380.54627680087,428.11456140098,475.68284600109],description:"9/8 C.I. comprised of 11:10:9:8 subharmonic series on 1 and 8:9:10:11 on 16/11"},augtetk:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,380.54627680087,418.60090448096,465.11211608996],description:"9/8 C.I. This is the converse form of AugTetJ"},augtetl:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,380.54627680087,428.11456140098,475.68284600109],description:"9/8 C.I. This is the harmonic form of AugTetI"},avg_bac:{frequencies:[261.6255653006,290.69507255622,307.79478270659,348.83408706747,392.4383479509,436.04260883433,461.69217405988,523.2511306012],description:"Average Bac System"},avicenna:{frequencies:[261.6255653006,290.69507255622,299.00064605783,348.83408706747,392.4383479509,436.04260883433,448.50096908674,523.2511306012],description:"Soft diatonic of Avicenna (Ibn Sina)"},avicenna_17:{frequencies:[261.6255653006,278.99913799634,283.42769574232,294.32876096318,310.07474405997,318.85615771011,331.11985608357,348.83408706747,371.99885066179,377.90359432309,392.4383479509,413.43299207996,425.14154361347,441.49314144476,465.11211608996,495.99846754905,503.87145909745,523.2511306012],description:"Tuning by Avicenna (Ibn Sina), Ahmed Mahmud Hifni, Cairo, 1977"},avicenna_19:{frequencies:[261.6255653006,275.62199471997,283.49690885483,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,358.80077526939,372.50983809402,377.99587847311,392.4383479509,413.43299207996,425.24536328225,441.49314144476,465.11211608996,478.40103369253,496.67978412536,503.45611792634,523.2511306012],description:"Arabic scale by Ibn Sina"},avicenna_chrom:{frequencies:[261.6255653006,269.10058145205,299.00064605783,348.83408706747,392.4383479509,403.65087217807,448.50096908674,523.2511306012],description:"Dorian mode a chromatic genus of Avicenna"},avicenna_chrom2:{frequencies:[261.6255653006,271.8968348557,323.34165055711,349.22823143301,391.99543598175,407.38495184466,484.46508327871,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 4 + 18 + 8 parts"},avicenna_chrom3:{frequencies:[261.6255653006,290.69507255622,339.14425131559,348.83408706747,392.4383479509,436.04260883433,508.71637697339,523.2511306012],description:"Avicenna's Chromatic permuted"},avicenna_diat:{frequencies:[261.6255653006,281.75060878526,305.22982618403,348.83408706747,392.4383479509,422.62591317789,457.84473927605,523.2511306012],description:"Dorian mode a soft diatonic genus of Avicenna"},avicenna_diff:{frequencies:[261.6255653006,269.80136421624,286.15296204753,294.32876096318,310.68035879446,343.38355445704,367.91095120397,392.4383479509,400.61414686654,441.49314144476,457.84473927605,515.07533168556,523.2511306012],description:"Difference tones of Avicenna's Soft diatonic reduced by 2/1"},avicenna_enh:{frequencies:[261.6255653006,268.33391312882,279.06726965397,348.83408706747,392.4383479509,402.50086969323,418.60090448096,523.2511306012],description:"Dorian mode of Avicenna's (Ibn Sina) Enharmonic genus"},awad:{frequencies:[261.6255653006,268.33391312882,275.39533189537,282.83844897362,290.69507255622,299.00064605783,307.79478270659,317.12189733406,327.03195662575,337.58137458142,348.83408706747,358.80077526939,369.35373924791,380.54627680087,392.4383479509,402.50086969323,413.09299784305,424.25767346043,436.04260883433,448.50096908674,461.69217405988,475.68284600109,490.54793493862,506.37206187213,523.2511306012],description:"d'Erlanger vol.5, p.37, after Mans.ur 'Awad"},awraamoff:{frequencies:[261.6255653006,294.32876096318,299.00064605783,313.95067836072,327.03195662575,343.38355445704,348.83408706747,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Awraamoff Septimal Just"},ayers:{frequencies:[261.6255653006,268.89294211451,276.57559760349,284.71017400359,293.33775503401,302.50455987882,312.26277148781,322.67153053741,333.7981350387,345.71949700436,358.52392281934,372.31330446624,387.20583664489,403.33941317176,420.87590939662,440.00663255101,460.95932933915,484.00729580611,509.48136400643,537.78588422901,569.42034800719,605.00911975764,645.34306107481,691.43899400873,744.62660893248,806.67882634352,880.01326510202,968.01459161222,1075.57176845802,1210.01823951527,1382.87798801746,1613.35765268703,1936.02918322444,2420.03647903055,3226.71530537407,4840.0729580611,9680.1459161222],description:"Lydia Ayers, algorithmic composition, subharmonics 1-37"},ayers_19:{frequencies:[261.6255653006,268.89294211451,276.57559760349,284.71017400359,293.33775503401,302.50455987882,312.26277148781,322.67153053741,333.7981350387,345.71949700436,358.52392281934,372.31330446624,387.20583664489,403.33941317176,420.87590939662,440.00663255101,460.95932933915,484.00729580611,509.48136400643,523.2511306012],description:"Scale for NINETEEN, for 19 for the 90's CD. Repeats at 37/19 (or 2/1)"},ayers_ap:{frequencies:[261.6255653006,299.00064605783,336.37572681506,388.70083987518,448.50096908674,523.2511306012],description:"Lydia Ayers' Appetizer, ICMC 96, Balinese Slendro from Singaraja,"},ayers_me:{frequencies:[261.6255653006,280.31310567921,299.00064605783,308.34441624714,336.37572681506,392.4383479509,420.46965851882,448.50096908674,504.56359022259,523.2511306012],description:"Scale for Merapi (1996), Lydia Ayers. Slendro 0 2 4 5 7 9, Pelog 0 1 3 6 8 9"},h10_27:{frequencies:[261.6255653006,281.00523680435,300.3849083081,319.76457981184,348.83408706747,368.21375857121,397.28326582684,426.35277308246,455.42228033808,484.4917875937,523.2511306012],description:"10-tET harmonic approximation, fundamental=27"},h12_24:{frequencies:[261.6255653006,272.52663052146,294.32876096318,316.13089140489,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,468.74580449691,490.54793493862,523.2511306012],description:"12-tET harmonic approximation, fundamental=24"},h14_27:{frequencies:[261.6255653006,271.31540105247,290.69507255622,300.3849083081,319.76457981184,339.14425131559,348.83408706747,368.21375857121,387.59343007496,406.97310157871,426.35277308246,455.42228033808,474.80195184183,494.18162334558,523.2511306012],description:"14-tET harmonic approximation, fundamental=27"},h15_24:{frequencies:[261.6255653006,272.52663052146,283.42769574232,305.22982618403,316.13089140489,327.03195662575,348.83408706747,359.73515228832,381.53728273004,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,501.44900015948,523.2511306012],description:"15-tET harmonic approximation, fundamental=24"},hahn9:{frequencies:[261.6255653006,286.15296204753,313.95067836072,327.03195662575,366.27579142084,392.4383479509,418.60090448096,457.84473927605,490.54793493862,523.2511306012],description:"Paul Hahn's just version of 9 out of 31 scale. TL 6-8-'98"},hahn_7:{frequencies:[261.6255653006,274.70684356563,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,488.36772189445,523.2511306012],description:"Paul Hahn's scale with 32 consonant 7-limit dyads. TL '99, see also smithgw_hahn12"},hahn_g:{frequencies:[261.6255653006,280.50183143454,294.66523452594,309.54379154736,331.87735433448,348.63486612079,373.78884718875,392.66259958718,420.99317852788,442.25042328711,464.58101193362,498.10049926644,523.2511306012],description:'fourth of sqrt(2)-1 octave "recursive" meantone, Paul Hahn'},hahnmaxr:{frequencies:[261.6255653006,275.93321340298,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,459.88868900496,490.54793493862,523.2511306012],description:"Paul Hahn's hahn_7 marvel projected to the 5-limit"},halfefg357777:{frequencies:[261.6255653006,280.31310567921,299.00064605783,320.35783506196,341.71502406609,375.57576268738,400.61414686654,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Half genus [357777]"},hamilton:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,319.76457981184,338.57426097725,359.73515228832,383.71749577421,411.12588832951,426.35277308246,442.75095666255,479.64686971777,523.2511306012],description:"Elsie Hamilton's gamut, from article The Modes of Ancient Greek Music (1953)"},hamilton_jc:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,319.76457981184,359.73515228832,338.57426097725,411.12588832951,383.71749577421,442.75095666255,426.35277308246,479.64686971777,523.2511306012],description:"Chalmers' permutation of Hamilton's gamut. Diatonic notes on white"},hamilton_jc2:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,319.76457981184,359.73515228832,383.71749577421,411.12588832951,426.35277308246,442.75095666255,460.46099492906,479.64686971777,523.2511306012],description:"EH gamut, diatonic notes on white and drops 17 for 25. JC Dorian Harmonia on C"},hammond:{frequencies:[261.6255653006,226.52945288223,240.12209418,254.35818848669,269.43528366778,285.40970760065,302.50455987882,320.49131749323,339.40613876835,359.73515228832,381.06332337261,403.65087217807,427.65717404906,453.05890576445],description:'Hammond organ pitch wheel ratios, 1/1=320 Hz. Do "del 0" to get 12-tone scale'},hammond12:{frequencies:[261.6255653006,277.32410877127,293.76579515365,311.17877832054,329.62811300357,349.37146352202,370.1449018936,391.99018843668,415.46876743159,440.10130305006,466.18833124791,493.91391932426,523.2511306012],description:"Hammond organ scale, 1/1=277.0731707 Hz, A=440, see hammond for the ratios"},handblue:{frequencies:[261.6255653006,279.06726965397,294.32876096318,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:'"Handy Blues" of Pitch Palette, 7-limit'},handel:{frequencies:[261.6255653006,276.07055536165,292.89641271707,310.57937447136,328.79480940231,349.02322090701,368.4933346061,391.37619916626,414.10583283548,438.86859125239,465.61660972366,492.3908742288,523.2511306012],description:"Well temperament according to Georg Friedrich H\xEF\xBF\xBDndel's rules (c. 1780)"},hanson_19:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,302.80736724606,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"JI version of Hanson's 19 out of 53-tET scale"},"harm-doreninv1":{frequencies:[261.6255653006,321.08592105074,327.03195662575,332.97799220076,380.54627680087,499.46698830115,511.35905945117,523.2511306012],description:"1st Inverted Schlesinger's Enharmonic Dorian Harmonia"},"harm-dorinv1":{frequencies:[261.6255653006,309.19384990071,321.08592105074,332.97799220076,380.54627680087,475.68284600109,499.46698830115,523.2511306012],description:"1st Inverted Schlesinger's Chromatic Dorian Harmonia"},"harm-lydchrinv1":{frequencies:[261.6255653006,322.00069575458,342.12573923925,362.25078272391,402.50086969323,483.00104363188,503.12608711654,523.2511306012],description:"1st Inverted Schlesinger's Chromatic Lydian Harmonia"},"harm-lydeninv1":{frequencies:[261.6255653006,342.12573923925,352.18826098158,362.25078272391,402.50086969323,503.12608711654,513.18860885887,523.2511306012],description:"1st Inverted Schlesinger's Enharmonic Lydian Harmonia"},"harm-mixochrinv1":{frequencies:[261.6255653006,336.37572681506,355.06326719367,373.75080757229,411.12588832951,485.87604984397,504.56359022259,523.2511306012],description:"1st Inverted Schlesinger's Chromatic Mixolydian Harmonia"},"harm-mixoeninv1":{frequencies:[261.6255653006,355.06326719367,364.40703738298,373.75080757229,411.12588832951,504.56359022259,513.90736041189,523.2511306012],description:"1st Inverted Schlesinger's Enharmonic Mixolydian Harmonia"},harm10:{frequencies:[261.6255653006,286.15296204753,294.32876096318,327.03195662575,331.11985608357,343.38355445704,367.91095120397,392.4383479509,400.61414686654,408.78994578219,441.49314144476,457.84473927605,515.07533168556,523.2511306012],description:"6/7/8/9/10 harmonics"},harm11s:{frequencies:[261.6255653006,65.40639132515,95.13656920022,104.65022612024,116.27802902249,130.8127826503,149.50032302891,174.41704353373,196.21917397545,209.30045224048,261.6255653006,327.03195662575,348.83408706747,392.4383479509,457.84473927605,523.2511306012,588.65752192635,654.0639132515,719.47030457665,1046.5022612024],description:"Harm. 1/4-11/4 and subh. 4/1-4/11. Joseph Pehrson 1999"},harm12s:{frequencies:[261.6255653006,294.32876096318,299.00064605783,327.03195662575,348.83408706747,359.73515228832,380.54627680087,392.4383479509,418.60090448096,457.84473927605,465.11211608996,523.2511306012],description:"Harmonics 1 to 12 and subharmonics mixed"},"harm15-30":{frequencies:[261.6255653006,279.06726965397,296.50897400735,313.95067836072,331.39238271409,348.83408706747,366.27579142084,383.71749577421,418.60090448096,436.04260883433,453.48431318771,488.36772189445,523.2511306012],description:"Harmonics 15 to 30"},harm15:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991],description:"Fifth octave of the harmonic overtone series"},"harm16-32":{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Harmonics 16-32 & Tom Stone's Guitar Scale"},harm16:{frequencies:[261.6255653006,523.2511306012,784.8766959018,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,2877.8812183066,3139.5067836072,3401.1323489078,3662.7579142084,3924.383479509,4186.0090448096,2093.0045224048,1395.33634826987,1046.5022612024,837.20180896192,697.66817413493,598.00129211566,523.2511306012,465.11211608996,418.60090448096,380.54627680087,348.83408706747,322.00069575458,299.00064605783,279.06726965397,261.6255653006],description:"First 16 harmonics and subharmonics"},"harm1c-dorian":{frequencies:[261.6255653006,309.19384990071,321.08592105074,332.97799220076,380.54627680087,475.68284600109,499.46698830115,523.2511306012],description:"Harm1C-Dorian"},"harm1c-hypod":{frequencies:[261.6255653006,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,457.84473927605,490.54793493862,523.2511306012],description:"HarmC-Hypodorian"},"harm1c-hypol":{frequencies:[261.6255653006,274.70684356563,287.78812183066,340.11323489078,366.27579142084,392.4383479509,418.60090448096,444.76346101102,523.2511306012],description:"HarmC-Hypolydian"},"harm1c-lydian":{frequencies:[261.6255653006,271.68808704293,281.75060878526,362.25078272391,382.37582620857,402.50086969323,422.62591317789,442.75095666255,523.2511306012],description:"Harm1C-Lydian"},"harm1c-mix":{frequencies:[261.6255653006,299.00064605783,373.75080757229,392.4383479509,411.12588832951,485.87604984397,504.56359022259,523.2511306012],description:"Harm1C-Con Mixolydian"},"harm1c-mixolydian":{frequencies:[261.6255653006,280.31310567921,299.00064605783,373.75080757229,411.12588832951,429.81342870813,448.50096908674,523.2511306012],description:"Harm1C-Mixolydian"},harm24:{frequencies:[261.6255653006,283.42769574232,305.22982618403,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,501.44900015948,523.2511306012],description:"Harmonics 12 to 24"},harm24_2:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Harmonics 12 to 24, mode 9"},harm3:{frequencies:[261.6255653006,327.03195662575,392.4383479509,457.84473927605],description:"Third octave of the harmonic overtone series"},"harm30-60":{frequencies:[261.6255653006,270.34641747729,279.06726965397,287.78812183066,296.50897400735,305.22982618403,313.95067836072,322.67153053741,331.39238271409,340.11323489078,348.83408706747,357.55493924415,366.27579142084,374.99664359753,383.71749577421,392.4383479509,401.15920012759,409.88005230427,418.60090448096,427.32175665765,436.04260883433,444.76346101102,453.48431318771,462.20516536439,470.92601754108,479.64686971777,488.36772189445,497.08857407114,505.80942624783,514.53027842451,523.2511306012],description:"Harmonics 30-60"},harm30:{frequencies:[261.6255653006,279.06726965397,288.69027895239,299.00064605783,310.07474405997,322.00069575458,334.88072358477,348.83408706747,364.00078650518,398.6675280771,418.60090448096,440.63253103259,465.11211608996,492.47165233054,523.2511306012,558.13453930795,598.00129211566,644.00139150917,697.66817413493,761.09255360175,837.20180896192,930.22423217991,1046.5022612024,1196.00258423131,1395.33634826987,1674.40361792384,2093.0045224048,2790.67269653973,4186.0090448096,8372.0180896192,8633.6436549198,8895.2692202204,9156.894785521,9418.5203508216,9680.1459161222,9941.7714814228,10203.3970467234,10465.022612024,10726.6481773246,10988.2737426252,11249.8993079258,11511.5248732264,11773.150438527,12034.7760038276,12296.4015691282,12558.0271344288,12819.6526997294,13081.27826503,13342.9038303306,13604.5293956312,13866.1549609318,14127.7805262324,14389.406091533,14651.0316568336,14912.6572221342,15174.2827874348,15435.9083527354,15697.533918036,15959.1594833366,16220.7850486372],description:"First 30 harmonics and subharmonics"},"harm32-64":{frequencies:[261.6255653006,269.80136421624,277.97716313189,286.15296204753,294.32876096318,302.50455987882,310.68035879446,318.85615771011,327.03195662575,335.20775554139,343.38355445704,351.55935337268,359.73515228832,367.91095120397,376.08675011961,384.26254903526,392.4383479509,400.61414686654,408.78994578219,416.96574469783,425.14154361347,433.31734252912,441.49314144476,449.66894036041,457.84473927605,466.02053819169,474.19633710734,482.37213602298,490.54793493862,498.72373385427,506.89953276991,515.07533168556,523.2511306012],description:"Harmonics 32-64"},harm37odd:{frequencies:[261.6255653006,269.80136421624,277.97716313189,286.15296204753,294.32876096318,302.50455987882,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Odd harmonics until 37"},harm4:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,425.14154361347,457.84473927605,490.54793493862],description:"Fourth octave of the harmonic overtone series"},"harm6-12":{frequencies:[261.6255653006,269.80136421624,286.15296204753,294.32876096318,314.76825825228,327.03195662575,331.11985608357,343.38355445704,359.73515228832,367.91095120397,392.4383479509,400.61414686654,404.70204632437,408.78994578219,441.49314144476,449.66894036041,457.84473927605,490.54793493862,494.63583439645,515.07533168556,523.2511306012],description:"First 12 harmonics of 6th through 12th harmonics"},harm6:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,457.84473927605,523.2511306012],description:"Harmonics 6-12"},"harm60-30":{frequencies:[261.6255653006,280.31310567921,290.69507255622,313.95067836072,327.03195662575,348.83408706747,373.75080757229,392.4383479509,413.09299784305,436.04260883433,448.50096908674,490.54793493862,523.2511306012],description:"Harmonics 60 to 30 (Perkis)"},harm7lim:{frequencies:[261.6255653006,523.2511306012,784.8766959018,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,3139.5067836072,3662.7579142084,3924.383479509,4186.0090448096,4709.2601754108,5232.511306012,5494.1368713126,5755.7624366132,6279.0135672144,6540.639132515,7325.5158284168,7848.766959018,8372.0180896192,9156.894785521,9418.5203508216,10465.022612024,10988.2737426252,11773.150438527,12558.0271344288,12819.6526997294,13081.27826503,14651.0316568336,15697.533918036,16482.4106139378,16744.0361792384,18313.789571042,18837.0407016432,19621.917397545,20930.045224048,21191.6707893486,21976.5474852504,23546.300877054,25116.0542688576,25639.3053994588,26162.55653006,27470.684356563,29302.0633136672,31395.067836072],description:"7-limit harmonics"},harm8:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Harmonics 8-16"},harm9:{frequencies:[261.6255653006,294.32876096318,305.22982618403,327.03195662575,348.83408706747,356.10146388137,392.4383479509,406.97310157871,457.84473927605,465.11211608996,523.2511306012],description:"6/7/8/9 harmonics, First 9 overtones of 5th through 9th harmonics"},harm_bastard:{frequencies:[261.6255653006,299.00064605783,322.00069575458,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012],description:`Schlesinger's "Bastard" Hypodorian Harmonia & inverse 1)7 from 1.3.5.7.9.11.13`},harm_bastinv:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,425.14154361347,457.84473927605,523.2511306012],description:`Inverse Schlesinger's "Bastard" Hypodorian Harmonia & 1)7 from 1.3.5.7.9.11.13`},harm_darreg:{frequencies:[261.6255653006,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,2877.8812183066,3139.5067836072,3401.1323489078,3662.7579142084,3924.383479509,4186.0090448096,5232.511306012,6279.0135672144,7325.5158284168,8372.0180896192,9418.5203508216,10465.022612024,11511.5248732264,12558.0271344288,13604.5293956312,14651.0316568336,15697.533918036],description:"Darreg Harmonics 4-15"},harm_mean:{frequencies:[261.6255653006,270.06509966514,279.06726965397,299.00064605783,348.83408706747,392.4383479509,405.0976494977,418.60090448096,448.50096908674,523.2511306012],description:"Harm. Mean 9-tonic 8/7 is HM of 1/1 and 4/3, etc."},"harmc-hypop":{frequencies:[261.6255653006,319.76457981184,334.29933343966,348.83408706747,363.36884069528,377.90359432309,406.97310157871,465.11211608996,494.18162334558,523.2511306012],description:"HarmC-Hypophrygian"},"harmd-15":{frequencies:[261.6255653006,279.06726965397,313.95067836072,348.83408706747,383.71749577421,418.60090448096,453.48431318771,523.2511306012],description:"HarmD-15-Harmonia"},"harmd-conmix":{frequencies:[261.6255653006,299.00064605783,336.37572681506,392.4383479509,411.12588832951,448.50096908674,485.87604984397,523.2511306012],description:"HarmD-ConMixolydian"},"harmd-hypod":{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"HarmD-Hypodorian"},"harmd-hypol":{frequencies:[261.6255653006,287.78812183066,313.95067836072,340.11323489078,366.27579142084,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"HarmD-Hypolydian"},"harmd-hypop":{frequencies:[261.6255653006,290.69507255622,319.76457981184,348.83408706747,363.36884069528,377.90359432309,406.97310157871,436.04260883433,465.11211608996,523.2511306012],description:"HarmD-Hypophrygian"},"harmd-lyd":{frequencies:[261.6255653006,281.75060878526,301.87565226992,322.00069575458,362.25078272391,382.37582620857,402.50086969323,442.75095666255,483.00104363188,523.2511306012],description:"HarmD-Lydian"},"harmd-mix":{frequencies:[261.6255653006,299.00064605783,336.37572681506,373.75080757229,411.12588832951,448.50096908674,485.87604984397,523.2511306012],description:"HarmD-Mixolydian. Harmonics 7-14"},"harmd-phr":{frequencies:[261.6255653006,272.52663052146,283.42769574232,294.32876096318,305.22982618403,348.83408706747,327.03195662575,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"HarmD-Phryg (with 5 extra tones)"},"harme-hypod":{frequencies:[261.6255653006,343.38355445704,351.55935337268,359.73515228832,376.08675011961,392.4383479509,490.54793493862,506.89953276991,523.2511306012],description:"HarmE-Hypodorian"},"harme-hypol":{frequencies:[261.6255653006,281.24748269815,274.70684356563,340.11323489078,366.27579142084,392.4383479509,405.51962621593,418.60090448096,523.2511306012],description:"HarmE-Hypolydian"},"harme-hypop":{frequencies:[261.6255653006,334.29933343966,341.56671025356,348.83408706747,363.36884069528,377.90359432309,406.97310157871,494.18162334558,508.71637697339,523.2511306012],description:"HarmE-Hypophrygian"},"harmjc-15":{frequencies:[261.6255653006,280.31310567921,301.87565226992,313.95067836072,327.03195662575,356.76213450082,373.75080757229,392.4383479509,413.09299784305,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"Rationalized JC Sub-15 Harmonia on C. MD=15, No planetary assignment."},"harmjc-17-2":{frequencies:[261.6255653006,277.97716313189,296.50897400735,317.68818643644,342.12573923925,370.63621750918,386.75083566176,404.33041910093,423.58424858192,444.76346101102,468.17206422213,494.18162334558,523.2511306012],description:"Rationalized JC Sub-17 Harmonia on C. MD=17, No planetary assignment."},"harmjc-17":{frequencies:[261.6255653006,269.55361273395,277.97716313189,296.50897400735,317.68818643644,342.12573923925,355.81076880882,370.63621750918,386.75083566176,404.33041910093,423.58424858192,444.76346101102,523.2511306012],description:"Rationalized JC Sub-17 Harmonia on C. MD=17, No planetary assignment."},"harmjc-19-2":{frequencies:[261.6255653006,276.16031892841,292.40504357126,310.68035879446,331.39238271409,355.06326719367,368.21375857121,382.37582620857,397.67085925691,414.24047839262,432.2509339749,451.89870370104,523.2511306012],description:"Rationalized JC Sub-19 Harmonia on C. MD=19, No planetary assignment."},"harmjc-19":{frequencies:[261.6255653006,276.16031892841,292.40504357126,310.68035879446,331.39238271409,355.06326719367,382.37582620857,414.24047839262,432.2509339749,451.89870370104,473.41768959156,497.08857407114,523.2511306012],description:"Rationalized JC Sub-19 Harmonia on C. MD=19, No planetary assignment."},"harmjc-21":{frequencies:[261.6255653006,268.0066766494,274.70684356563,289.16509849014,305.22982618403,343.38355445704,366.27579142084,392.4383479509,406.97310157871,422.62591317789,439.53094970501,457.84473927605,523.2511306012],description:"Rationalized JC Sub-21 Harmonia on C. MD=21, No planetary assignment."},"harmjc-23-2":{frequencies:[261.6255653006,273.51763645063,286.54228580542,300.86940009569,316.70463167967,334.29933343966,353.96400011258,376.08675011961,401.15920012759,429.81342870813,462.87600014722,501.44900015948,523.2511306012],description:"Rationalized JC Sub-23 Harmonia on C. MD=23, No planetary assignment."},"harmjc-23":{frequencies:[261.6255653006,273.51763645063,300.86940009569,316.70463167967,334.29933343966,376.08675011961,401.15920012759,429.81342870813,445.73244458621,462.87600014722,481.3910401531,501.44900015948,523.2511306012],description:"Rationalized JC Sub-23 Harmonia on C. MD=23, No planetary assignment."},"harmjc-25":{frequencies:[261.6255653006,272.52663052146,297.30177875068,311.45900631024,327.03195662575,363.36884069528,384.74347838324,408.78994578219,436.04260883433,467.18850946536,484.4917875937,503.12608711654,523.2511306012],description:"Rationalized JC Sub-25 Harmonia on C. MD=25, No planetary assignment."},"harmjc-27":{frequencies:[261.6255653006,271.68808704293,294.32876096318,307.12566361375,321.08592105074,353.19451315581,371.78369805875,392.4383479509,415.52295665389,441.49314144476,470.92601754108,504.56359022259,523.2511306012],description:"Rationalized JC Sub-27 Harmonia on C. MD=27, No planetary assignment."},"harmjc-hypod16":{frequencies:[261.6255653006,279.06726965397,299.00064605783,310.07474405997,322.00069575458,348.83408706747,364.00078650518,380.54627680087,398.6675280771,418.60090448096,440.63253103259,465.11211608996,523.2511306012],description:"Rationalized JC Hypodorian Harmonia on C. Saturn Scale on C, MD=16. (Steiner)"},"harmjc-hypol20":{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,327.03195662575,348.83408706747,373.75080757229,402.50086969323,418.60090448096,436.04260883433,455.00098313148,575.57624366132,523.2511306012],description:"Rationalized JC Hypolydian Harmonia on C. Mars scale on C., MD=20"},"harmjc-hypop18":{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,336.37572681506,362.25078272391,376.74081403286,392.4383479509,409.50088481833,428.11456140098,448.50096908674,470.92601754108,523.2511306012],description:"Rationalized JC Hypophrygian Harmonia on C. Jupiter scale on C, MD =18"},"harmjc-lydian13":{frequencies:[261.6255653006,272.09058791262,283.42769574232,295.75063903546,309.19384990071,340.11323489078,358.01393146398,377.90359432309,400.13321751856,425.14154361347,453.48431318771,485.87604984397,523.2511306012],description:"Rationalized JC Lydian Harmonia on C. Mercury scale on C, MD = 26 or 13"},"harmjc-mix14":{frequencies:[261.6255653006,271.31540105247,281.75060878526,293.02063313667,305.22982618403,332.97799220076,348.83408706747,366.27579142084,385.55346465352,406.97310157871,430.91269578922,457.84473927605,523.2511306012],description:"Rationalized JC Mixolydian Harmonia on C. Moon Scale on C, MD = 14"},"harmjc-phryg12":{frequencies:[261.6255653006,273.00058987889,285.40970760065,299.00064605783,313.95067836072,348.83408706747,369.35373924791,392.4383479509,418.60090448096,448.50096908674,465.11211608996,483.00104363188,523.2511306012],description:"Rationalized JC Phrygian Harmonia on C. Venus scale on C, MD = 24 or 12"},harmonical:{frequencies:[261.6255653006,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"See pp 17 and 466-468 Helmholtz. lower 4 oct. Instr. designed & tuned by Ellis"},harmonical_up:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,359.73515228832,457.84473927605,392.4383479509,408.78994578219,425.14154361347,474.19633710734,490.54793493862,523.2511306012],description:"Upper 2 octaves of Ellis's Harmonical"},harmsub16:{frequencies:[261.6255653006,280.31310567921,294.32876096318,301.87565226992,327.03195662575,356.76213450082,359.73515228832,392.4383479509,425.14154361347,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"16 harmonics on 1/1 and 16 subharmonics on 15/8"},harrison_16:{frequencies:[261.6255653006,279.06726965397,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,370.63621750918,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:'Lou Harrison 16-tone superparticular "Ptolemy Duple"'},harrison_5:{frequencies:[261.6255653006,279.06726965397,313.95067836072,392.4383479509,418.60090448096,523.2511306012],description:"From Lou Harrison, a pelog style pentatonic"},harrison_5_1:{frequencies:[261.6255653006,285.40970760065,313.95067836072,392.4383479509,418.60090448096,523.2511306012],description:"From Lou Harrison, a pelog style pentatonic"},harrison_5_3:{frequencies:[261.6255653006,271.31540105247,348.83408706747,392.4383479509,406.97310157871,523.2511306012],description:"From Lou Harrison, a pelog style pentatonic"},harrison_5_4:{frequencies:[261.6255653006,279.06726965397,313.95067836072,392.4383479509,490.54793493862,523.2511306012],description:"From Lou Harrison, a pelog style pentatonic"},harrison_8:{frequencies:[261.6255653006,279.06726965397,313.95067836072,327.03195662575,367.91095120397,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:'Lou Harrison 8-tone tuning for "Serenade for Guitar"'},harrison_cinna:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,343.38355445704,367.91095120397,392.4383479509,418.60090448096,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:`Lou Harrison, "Incidental Music for Corneille's Cinna" (1955-56) 1/1=C`},harrison_diat:{frequencies:[261.6255653006,274.70684356563,313.95067836072,348.83408706747,392.4383479509,412.06026534844,470.92601754108,523.2511306012],description:"From Lou Harrison, a soft diatonic"},harrison_joy:{frequencies:[261.6255653006,294.32876096318,327.03195662575,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Lou Harrison's Joyous 6"},harrison_mid:{frequencies:[261.6255653006,294.32876096318,313.95067836072,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Lou Harrison mid mode"},harrison_mid2:{frequencies:[261.6255653006,294.32876096318,313.95067836072,348.83408706747,392.4383479509,448.50096908674,470.92601754108,523.2511306012],description:"Lou Harrison mid mode 2"},harrison_min:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"From Lou Harrison, a symmetrical pentatonic with minor thirds"},harrison_mix1:{frequencies:[261.6255653006,285.40970760065,313.95067836072,392.4383479509,425.14154361347,523.2511306012],description:'A "mixed type" pentatonic, Lou Harrison'},harrison_mix2:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,490.54793493862,523.2511306012],description:'A "mixed type" pentatonic, Lou Harrison'},harrison_mix3:{frequencies:[261.6255653006,313.95067836072,336.37572681506,392.4383479509,418.60090448096,523.2511306012],description:'A "mixed type" pentatonic, Lou Harrison'},harrison_mix4:{frequencies:[261.6255653006,280.31310567921,327.03195662575,392.4383479509,448.50096908674,523.2511306012],description:'A "mixed type" pentatonic, Lou Harrison'},harrison_songs:{frequencies:[261.6255653006,271.31540105247,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,406.97310157871,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:'Shared gamut of "Four Strict Songs" (1951-55), each pentatonic'},harrisonj:{frequencies:[261.6255653006,272.17712546173,292.13970819848,313.56642833783,326.21280531667,350.13858362887,364.25994396351,390.97625694066,406.744629928,436.57694340361,468.59728067062,487.49616921257,523.2511306012],description:"John Harrison's temperament (1775), almost 3/10-comma. Third = 1200/pi"},harrisonm_rev:{frequencies:[261.6255653006,257.53766584278,294.32876096318,289.72987407313,331.11985608357,343.38355445704,372.50983809402,392.4383479509,386.30649876417,441.49314144476,457.84473927605,496.67978412536,523.2511306012],description:'Michael Harrison, piano tuning for "Revelation" (2001), 1/1=F'},haverstick13:{frequencies:[261.6255653006,283.85429714132,301.75671459889,307.97166902637,320.78822215662,341.02002673508,362.52783176564,377.61479489998,401.43059675514,426.7484383229,444.50800708553,482.27514684959,502.34551296122,523.2511306012],description:"Neil Haverstick, scale in 34-tET, MMM 21-5-2006"},hawkes:{frequencies:[261.6255653006,274.56549986328,292.86986732103,310.24975557428,327.84547867349,349.70184487387,366.99801003998,391.46454285105,411.84824958905,438.2147004401,467.42901507992,490.54793493862,523.2511306012],description:"William Hawkes' modified 1/5-comma meantone (1807)"},hawkes2:{frequencies:[261.6255653006,275.15193010334,293.04845178801,312.10900487995,328.24542585003,349.59527202198,367.66978141816,391.58387939843,411.8292495232,438.61558204759,467.14415995873,491.2960898965,523.2511306012],description:"Meantone with fifth tempered 1/6 of 53-tET step by William Hawkes (1808)"},hawkes3:{frequencies:[261.6255653006,274.56549986328,292.86986732103,311.6193417424,327.84547867349,349.70184487387,366.99801003998,391.46454285105,411.84824958905,438.2147004401,467.42901237995,490.54793493862,523.2511306012],description:"William Hawkes' modified 1/5-comma meantone (1811)"},hbarnes:{frequencies:[261.6255653006,276.71351472429,293.33333347996,310.95136287868,328.88393162803,349.42547049952,369.15973155124,391.77416758435,414.83597850347,439.25532436715,466.16376151809,493.04743111995,523.2511306012],description:"Variation on Barnes with 1/6P -> 1/8P. OdC '99"},hebdome1:{frequencies:[261.6255653006,265.71346475842,267.23182741418,269.80136421624,273.30527803723,280.31310567921,283.42769574232,287.78812183066,289.07289023169,292.28481123426,294.32876096318,300.63580584096,303.67253115248,308.34441624714,311.77046531655,315.35224388912,318.85615771011,323.76163705949,327.03195662575,334.03978426773,336.37572681506,340.11323489078,341.63159754654,346.88746827803,350.74177348112,359.73515228832,364.40703738298,367.91095120397,370.01329949656,375.7947573012,382.62738925213,385.43052030892,389.71308164569,392.4383479509,400.84774112128,404.70204632437,409.95791705585,411.12588832951,417.54973033466,420.46965851882,425.14154361347,431.68218274599,437.28844485957,441.49314144476,445.38637902364,449.66894036041,455.50879672872,462.5166243707,467.65569797482,470.92601754108,478.28423656516,479.64686971777,485.87604984397,490.54793493862,501.0596764016,504.56359022259,510.16985233617,513.90736041189,523.2511306012],description:"Wilson 1.3.5.7.9.11.13.15 hebdomekontany, 1.3.5.7 tonic"},helmholtz:{frequencies:[261.6255653006,279.06726965397,327.03195662575,348.83408706747,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Helmholtz's Chromatic scale and Gipsy major from Slovakia"},helmholtz_24:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,306.59245933664,310.07474405997,327.03195662575,331.11985608357,344.91651675372,348.83408706747,367.91095120397,372.50983809402,388.03108134794,392.4383479509,408.78994578219,413.89982010446,436.04260883433,441.49314144476,459.88868900496,465.63729761752,490.54793493862,496.67978412536,517.37477513058,523.2511306012],description:"Simplified Helmholtz 24"},helmholtz_hd:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,523.2511306012],description:"Helmholtz Harmonic Decad"},helmholtz_pure:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,306.59245933664,310.07474405997,327.03195662575,330.74639366397,344.91651675372,348.83408706747,367.91095120397,372.08969287196,387.59343007496,392.4383479509,408.78994578219,413.43299207996,436.04260883433,441.49314144476,459.88868900496,465.11211608996,490.54793493862,496.11959049595,516.79124009995,523.2511306012],description:"Helmholtz's two-keyboard harmonium tuning untempered"},helmholtz_temp:{frequencies:[261.6255653006,275.81645389904,279.10671937395,290.77707354032,294.24580701304,306.54917537161,310.20605716322,327.03195662575,330.9330448436,344.77062435684,348.88325535732,367.80710710303,372.19474608839,387.75741156435,392.38304142029,408.78994578219,413.66637442451,436.10414127513,441.30625330017,459.75895986689,465.24324076996,490.4788828408,496.3296094287,517.08305349316,523.2511306012],description:"Helmholtz's two-keyboard harmonium tuning"},hem_chrom:{frequencies:[261.6255653006,269.55361273395,285.40970760065,348.83408706747,392.4383479509,404.33041910093,428.11456140098,523.2511306012],description:"Hemiolic Chromatic genus has the strong or 1:2 division of the 12/11 pyknon"},hem_chrom11:{frequencies:[261.6255653006,273.00058987889,285.40970760065,348.83408706747,392.4383479509,409.50088481833,428.11456140098,523.2511306012],description:"11'al Hemiolic Chromatic genus with a CI of 11/9, Winnington-Ingram"},hem_chrom13:{frequencies:[261.6255653006,272.09058791262,283.42769574232,348.83408706747,392.4383479509,408.13588186894,425.14154361347,523.2511306012],description:"13'al Hemiolic Chromatic or neutral-third genus has a CI of 16/13"},hem_chrom2:{frequencies:[261.6255653006,269.29177952703,285.30470202322,349.22823143301,391.99543598175,403.48177901006,427.47405410759,523.2511306012],description:"1:2 Hemiolic Chromatic genus 3 + 6 + 21 parts"},hemiwuer24:{frequencies:[261.6255653006,274.60778382002,280.48822448524,286.49458884928,292.62957327549,307.15025309186,313.72755695954,320.44570714783,327.30771955335,350.90592546776,358.42021185082,366.09540888186,373.9349620795,392.49012653442,400.89489544613,409.47964376542,418.24822532303,439.00227453173,448.4030528436,458.00513880662,467.8128437444,491.02635713596,501.54117720983,512.28116095218,523.2511306012],description:"Hemiw\xEF\xBF\xBDrschmidt[24] in 229-tET tuning."},hen12:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Adjusted Hahn12"},hen22:{frequencies:[261.6255653006,272.52663052146,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,366.27579142084,381.53728273004,392.4383479509,415.27867508032,418.60090448096,436.04260883433,448.50096908674,457.84473927605,484.4917875937,490.54793493862,508.71637697339,523.2511306012],description:"Adjusted Hahn22"},hept_diamond:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,294.32876096318,305.22982618403,313.95067836072,316.53463456122,325.57848126297,327.03195662575,334.88072358477,336.37572681506,348.83408706747,392.4383479509,406.97310157871,408.78994578219,418.60090448096,420.46965851882,432.48307733364,436.04260883433,448.50096908674,465.11211608996,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"Inverted-Prime Heptatonic Diamond based on Archytas's Enharmonic"},hept_diamondi:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,281.36411960997,289.40309445597,294.32876096318,297.67175429757,327.03195662575,336.37572681506,348.83408706747,361.75386806997,367.91095120397,372.08969287196,378.42269266694,392.4383479509,406.97310157871,418.60090448096,459.88868900496,465.11211608996,473.02836583367,486.54346200035,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"Prime-Inverted Heptatonic Diamond based on Archytas's Enharmonic"},hept_diamondp:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,339.14425131559,348.83408706747,358.80077526939,361.75386806997,367.91095120397,372.08969287196,378.42269266694,381.53728273004,392.4383479509,403.65087217807,406.97310157871,418.60090448096,436.04260883433,448.50096908674,465.11211608996,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"Heptatonic Diamond based on Archytas's Enharmonic, 27 tones"},herf:{frequencies:[261.6255653006,269.80136421624,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,425.14154361347,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Sims:Reflections on This and That, 1991. Used by Herf in Ekmelischer Gesang"},heun:{frequencies:[261.6255653006,275.15237829755,293.0485888979,312.10878854255,328.24573110938,349.59519124833,367.67029324081,391.58396987353,411.83001550364,438.61588607285,467.14394139401,491.29666030217,523.2511306012],description:"Well temperament for organ of Jan Heun (1805), subset of 55-tET"},hexagonal13:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Star hexagonal 13-tone scale"},hexagonal37:{frequencies:[261.6255653006,272.52663052146,279.06726965397,282.55561052465,283.88190679319,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,313.95067836072,322.99452506247,327.03195662575,334.88072358477,340.65828815182,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,376.74081403286,387.59343007496,392.4383479509,401.85686830172,408.78994578219,418.60090448096,423.83341578697,436.04260883433,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,482.22824196207,484.4917875937,490.54793493862,502.32108537715,523.2511306012],description:"Star hexagonal 37-tone scale"},hexany1:{frequencies:[261.6255653006,305.22982618403,327.03195662575,381.53728273004,436.04260883433,457.84473927605,523.2511306012],description:"Two out of 1 3 5 7 hexany on 1.3"},hexany10:{frequencies:[261.6255653006,294.32876096318,327.03195662575,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"1.3.5.9 Hexany"},hexany11:{frequencies:[261.6255653006,294.32876096318,305.22982618403,343.38355445704,392.4383479509,457.84473927605,523.2511306012],description:"1.3.7.9 Hexany on 1.3"},hexany12:{frequencies:[261.6255653006,290.69507255622,305.22982618403,339.14425131559,406.97310157871,436.04260883433,523.2511306012],description:"3.5.7.9 Hexany on 3.9"},hexany13:{frequencies:[261.6255653006,285.40970760065,327.03195662575,356.76213450082,392.4383479509,475.68284600109,523.2511306012],description:"1.3.5.11 Hexany on 1.11"},hexany14:{frequencies:[261.6255653006,287.78812183066,340.11323489078,383.71749577421,453.48431318771,498.83274450648,523.2511306012],description:"5.11.13.15 Hexany (5.15), used in The Giving, by Stephen J. Taylor"},hexany15:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,418.60090448096,523.2511306012],description:"1.3.5.15 2)4 hexany (1.15 tonic) degenerate, symmetrical pentatonic"},hexany16:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,465.11211608996,523.2511306012],description:"1.3.9.27 Hexany, a degenerate pentatonic form"},hexany17:{frequencies:[261.6255653006,327.03195662575,334.88072358477,408.78994578219,418.60090448096,523.2511306012],description:"1.5.25.125 Hexany, a degenerate pentatonic form"},hexany18:{frequencies:[261.6255653006,299.00064605783,341.71502406609,400.61414686654,457.84473927605,523.2511306012],description:"1.7.49.343 Hexany, a degenerate pentatonic form"},hexany19:{frequencies:[261.6255653006,299.00064605783,327.03195662575,418.60090448096,457.84473927605,523.2511306012],description:"1.5.7.35 Hexany, a degenerate pentatonic form"},hexany2:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,490.54793493862,523.2511306012],description:"Hexany Cluster 2"},hexany20:{frequencies:[261.6255653006,279.06726965397,305.22982618403,398.6675280771,436.04260883433,465.11211608996,523.2511306012],description:"3.5.7.105 Hexany"},hexany21:{frequencies:[261.6255653006,279.06726965397,310.07474405997,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:"3.5.9.135 Hexany"},hexany21a:{frequencies:[261.6255653006,279.06726965397,310.07474405997,348.83408706747,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:"3.5.9.135 Hexany + 4/3. Is Didymos Diatonic tetrachord on 1/1 and inv. on 3/2"},hexany22:{frequencies:[261.6255653006,276.76092858245,359.73515228832,380.54627680087,494.63583439645,523.2511306012],description:"1.11.121.1331 Hexany, a degenerate pentatonic form"},hexany23:{frequencies:[261.6255653006,348.83408706747,359.73515228832,380.54627680087,392.4383479509,523.2511306012],description:"1.3.11.33 Hexany, degenerate pentatonic form"},hexany24:{frequencies:[261.6255653006,327.03195662575,359.73515228832,380.54627680087,418.60090448096,523.2511306012],description:"1.5.11.55 Hexany, a degenerate pentatonic form"},hexany25:{frequencies:[261.6255653006,299.00064605783,359.73515228832,380.54627680087,457.84473927605,523.2511306012],description:"1.7.11.77 Hexany, a degenerate pentatonic form"},hexany26:{frequencies:[261.6255653006,294.32876096318,359.73515228832,380.54627680087,465.11211608996,523.2511306012],description:"1.9.11.99 Hexany, a degenerate pentatonic form"},hexany3:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Hexany Cluster 3"},hexany4:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Hexany Cluster 4"},hexany49:{frequencies:[261.6255653006,299.00064605783,305.22982618403,392.4383479509,400.61414686654,457.84473927605,523.2511306012],description:"1.3.21.49 2)4 hexany (1.21 tonic)"},hexany5:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Hexany Cluster 5"},hexany6:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Hexany Cluster 6"},hexany7:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Hexany Cluster 7"},hexany8:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,340.65828815182,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,502.32108537715,523.2511306012],description:"Hexany Cluster 8"},hexany9:{frequencies:[261.6255653006,299.00064605783,313.95067836072,358.80077526939,418.60090448096,448.50096908674,523.2511306012],description:"1.3.5.7 Hexany on 5.7"},hexany_cl:{frequencies:[261.6255653006,294.32876096318,301.39265122629,313.95067836072,327.03195662575,348.83408706747,353.19451315581,376.74081403286,392.4383479509,418.60090448096,470.92601754108,502.32108537715,523.2511306012],description:"Hexany Cluster 1"},hexany_cl2:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,490.54793493862,502.32108537715,523.2511306012],description:"Composed of 1.3.5.45, 1.3.5.75, 1.3.5.9, and 1.3.5.25 hexanies"},hexany_flank:{frequencies:[261.6255653006,267.07609791103,299.00064605783,305.22982618403,327.03195662575,348.83408706747,373.75080757229,381.53728273004,427.14378008261,436.04260883433,457.84473927605,498.33441009638,523.2511306012],description:"Hexany Flanker, 7-limit, from Wilson"},hexany_tetr:{frequencies:[261.6255653006,269.10058145205,279.06726965397,336.37572681506,348.83408706747,358.80077526939,523.2511306012],description:"Complex 12 of p. 115, a hexany based on Archytas's Enharmonic"},hexany_trans:{frequencies:[261.6255653006,271.31540105247,279.06726965397,339.14425131559,348.83408706747,361.75386806997,523.2511306012],description:"Complex 1 of p. 115, a hexany based on Archytas's Enharmonic"},hexany_trans2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,358.80077526939,372.08969287196,523.2511306012],description:"Complex 2 of p. 115, a hexany based on Archytas's Enharmonic"},hexany_trans3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,336.37572681506,348.83408706747,523.2511306012],description:"Complex 9 of p. 115, a hexany based on Archytas's Enharmonic"},hexany_u2:{frequencies:[261.6255653006,274.70684356563,279.06726965397,280.31310567921,286.15296204753,299.00064605783,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,418.60090448096,436.04260883433,448.50096908674,457.84473927605,478.40103369253,488.36772189445,490.54793493862,498.33441009638,523.2511306012],description:"Hexany union = genus [335577] minus two corners"},hexany_union:{frequencies:[261.6255653006,274.70684356563,280.31310567921,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,488.36772189445,498.33441009638,523.2511306012],description:"The union of all of the pitches of the 1.3.5.7 hexany on each tone as 1/1"},hexany_urot:{frequencies:[261.6255653006,267.07609791103,280.31310567921,286.15296204753,290.69507255622,299.00064605783,305.22982618403,327.03195662575,333.84512238879,343.38355445704,348.83408706747,356.10146388137,373.75080757229,381.53728273004,392.4383479509,400.61414686654,406.97310157871,436.04260883433,445.12682985172,448.50096908674,457.84473927605,490.54793493862,498.33441009638,508.71637697339,523.2511306012],description:"Aggregate rotations of 1.3.5.7 hexany, 1.3 = 1/1"},hexanys:{frequencies:[261.6255653006,286.15296204753,294.32876096318,327.03195662575,343.38355445704,367.91095120397,392.4383479509,429.2294430713,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"Hexanys 1 3 5 7 9"},hexanys2:{frequencies:[261.6255653006,314.76825825228,425.14154361347,457.84473927605,269.80136421624,371.99885066179,392.4383479509,472.15238737843,318.85615771011,359.73515228832,343.38355445704,292.28481123426,523.2511306012],description:"Hexanys 1 3 7 11 13"},higgs:{frequencies:[261.6255653006,392.4383479509,418.60090448096,422.62591317789,423.58424858192,425.14154361347,436.04260883433,523.2511306012],description:"From Greg Higgs announcement of the formation of an Internet Tuning list"},hinsz_gr:{frequencies:[261.6255653006,274.68983337859,292.34127285051,310.07474405997,326.6631048533,348.83408706747,366.25311135453,391.11111150212,412.03474986192,437.02884834934,465.11211608996,489.99465727995,523.2511306012],description:"Reconstructed Hinsz temperament, organ Pelstergasthuiskerk Groningen. Ortgies,2002"},hipkins:{frequencies:[261.6255653006,275.62199471997,299.00064605783,348.83408706747,392.4383479509,413.43299207996,448.50096908674,523.2511306012],description:"Hipkins' Chromatic"},hirajoshi:{frequencies:[261.6255653006,291.13134764929,317.84796618517,388.16504068057,412.91271853531,523.2511306012],description:"Observed Japanese pentatonic koto scale. Helmholtz/Ellis p.519, nr.112"},hirajoshi2:{frequencies:[261.6255653006,294.32876096318,313.95067836072,392.4383479509,418.60090448096,523.2511306012],description:"Japanese pentatonic koto scale, theoretical. Helmholz/Ellis p.519, nr.110"},hirajoshi3:{frequencies:[261.6255653006,292.47977325983,321.54118165335,396.32121331049,415.54465627623,522.94897617031],description:"Observed Japanese pentatonic koto scale. Helmholtz/Ellis p.519, nr.111"},hirashima:{frequencies:[261.6255653006,277.33928225406,292.50627485027,312.00669222389,327.03195662575,349.91912034749,369.78570985692,391.22147055517,416.00892317314,437.39889945791,468.01003810189,489.02683710225,523.2511306012],description:"Tatsushi Hirashima, temperament of chapel organ of Kobe Shoin Women's Univ."},hjelmboogie:{frequencies:[261.6255653006,294.32876096318,327.03195662575,343.38355445704,367.91095120397,392.4383479509,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:`Paul Hjelmstad's "Boogie Woogie" scale, TL 20-3-2006`},ho_mai_nhi:{frequencies:[261.6255653006,287.78812183066,348.83408706747,392.4383479509,431.68218274599,523.2511306012],description:"Ho Mai Nhi (Nam Hue) dan tranh scale, Vietnam"},hochgartz:{frequencies:[261.6255653006,274.56549986328,292.86986732103,309.86458629683,327.84547867349,349.70184487387,366.99801003998,391.46454285105,412.49999887294,438.2147004401,465.53241962975,490.54793493862,523.2511306012],description:"Michael Hochgartz, modified 1/5-comma meantone temperament"},hofmann1:{frequencies:[261.6255653006,262.65154790962,279.06726965397,348.83408706747,392.4383479509,393.97732186443,418.60090448096,523.2511306012],description:"Hofmann's Enharmonic #1, Dorian mode"},hofmann2:{frequencies:[261.6255653006,263.56353245097,279.06726965397,348.83408706747,392.4383479509,395.34529867646,418.60090448096,523.2511306012],description:"Hofmann's Enharmonic #2, Dorian mode"},hofmann_chrom:{frequencies:[261.6255653006,264.26824777838,290.69507255622,348.83408706747,392.4383479509,396.40237166758,436.04260883433,523.2511306012],description:"Hofmann's Chromatic"},holder:{frequencies:[261.6255653006,274.23214485994,292.57879058083,312.45989404005,327.40114268825,349.76744711215,366.57630213591,391.03837375367,409.94826565972,437.46806069696,467.28984664562,489.70152554512,523.2511306012],description:"William Holder's equal beating meantone temperament (1694). 3/2 beats 2.8 Hz"},holder2:{frequencies:[261.6255653006,274.23214485994,292.57879058083,312.45989404005,327.40114268825,349.76744711215,366.57630213591,391.03837375367,410.64811919433,437.46806069696,467.46154552107,489.70152554512,523.2511306012],description:"Holder's irregular e.b. temperament with improved Eb and G#"},hummel:{frequencies:[261.6255653006,277.1703574486,293.54676487235,311.03465677994,329.45811370906,349.13199096171,369.8583804246,391.99149393462,415.308682162,439.8732919971,466.10512967869,493.74031485884,523.2511306012],description:"Johann Nepomuk Hummel's quasi-equal temperament (1829)"},hummel2:{frequencies:[261.6255653006,277.22760066578,293.66431501254,311.21660561883,329.70790803338,349.18845812715,369.99117208793,391.90679138833,415.30984563838,439.96491544382,466.29335337935,494.03030700757,523.2511306012],description:"Johann Nepomuk Hummel's temperament according to the second bearing plan"},husmann:{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,314.30517589183,331.11985608357,348.83408706747],description:"Tetrachord division according to Husmann"},hwerck3:{frequencies:[261.6255653006,276.40121172404,293.00227310437,310.60041853231,328.69828757761,349.03110370139,368.74309237173,391.5530240856,414.36778843034,438.51190905657,465.63764214343,492.7691222293,523.2511306012],description:"Variation on Werckmeister III with 1/4P -> 1/6P and 0P -> 1/24P. OdC '99"},hyper_enh:{frequencies:[261.6255653006,264.93728131706,268.33391312882,348.83408706747,392.4383479509,397.40592197559,402.50086969323,523.2511306012],description:"13/10 HyperEnharmonic. This genus is at the limit of usable tunings"},hyper_enh2:{frequencies:[261.6255653006,267.19206668997,273.00058987889,348.83408706747,392.4383479509,400.78810003496,409.50088481833,523.2511306012],description:"Hyperenharmonic genus from Kathleen Schlesinger's enharmonic Phrygian Harmonia"},hypo_chrom:{frequencies:[261.6255653006,275.39533189537,282.83844897362,290.69507255622,348.83408706747,373.75080757229,387.59343007496,402.50086969323,418.60090448096,427.14378008261,436.04260883433,455.00098313148,523.2511306012],description:"Hypolydian Chromatic Tonos"},hypo_diat:{frequencies:[261.6255653006,290.69507255622,307.79478270659,327.03195662575,348.83408706747,373.75080757229,387.59343007496,402.50086969323,436.04260883433,455.00098313148,475.68284600109,498.33441009638,523.2511306012],description:"Hypolydian Diatonic Tonos"},hypo_enh:{frequencies:[261.6255653006,268.33391312882,271.81876914348,275.39533189537,348.83408706747,373.75080757229,387.59343007496,402.50086969323,410.39304360878,414.45634107026,418.60090448096,465.11211608996,523.2511306012],description:"Hypolydian Enharmonic Tonos"},hypod_chrom:{frequencies:[261.6255653006,279.06726965397,288.69027895239,299.00064605783,322.00069575458,348.83408706747,364.00078650518,380.54627680087,398.6675280771,408.39112632289,418.60090448096,465.11211608996,523.2511306012],description:"Hypodorian Chromatic Tonos"},hypod_chrom2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,348.83408706747,380.54627680087,398.6675280771,418.60090448096,523.2511306012],description:"Schlesinger's Chromatic Hypodorian Harmonia"},hypod_chrom2inv:{frequencies:[261.6255653006,327.03195662575,343.38355445704,359.73515228832,392.4383479509,457.84473927605,490.54793493862,523.2511306012],description:"Inverted Schlesinger's Chromatic Hypodorian Harmonia"},hypod_chromenh:{frequencies:[261.6255653006,270.06509966514,279.06726965397,348.83408706747,380.54627680087,398.6675280771,418.60090448096,523.2511306012],description:"Schlesinger's Hypodorian Harmonia in a mixed chromatic-enharmonic genus"},hypod_chrominv:{frequencies:[261.6255653006,277.97716313189,294.32876096318,359.73515228832,392.4383479509,408.78994578219,425.14154361347,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Hypodorian Inverted"},hypod_diat:{frequencies:[261.6255653006,279.06726965397,299.00064605783,322.00069575458,334.88072358477,348.83408706747,364.00078650518,380.54627680087,418.60090448096,440.63253103259,465.11211608996,492.47165233054,523.2511306012],description:"Hypodorian Diatonic Tonos"},hypod_diat2:{frequencies:[261.6255653006,279.06726965397,322.00069575458,348.83408706747,364.00078650518,380.54627680087,418.60090448096,465.11211608996,523.2511306012],description:"Schlesinger's Hypodorian Harmonia, a subharmonic series through 13 from 16"},hypod_diatcon:{frequencies:[261.6255653006,279.06726965397,322.00069575458,348.83408706747,364.00078650518,418.60090448096,465.11211608996,523.2511306012],description:"A Hypodorian Diatonic with its own trite synemmenon replacing paramese"},hypod_diatinv:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Inverted Schlesinger's Hypodorian Harmonia, a harmonic series from 8 from 16"},hypod_enh:{frequencies:[261.6255653006,270.06509966514,274.49239638096,279.06726965397,310.07474405997,348.83408706747,364.00078650518,380.54627680087,389.39619021485,393.97732186443,398.6675280771,452.54151835779,523.2511306012],description:"Hypodorian Enharmonic Tonos"},hypod_enhinv:{frequencies:[261.6255653006,343.38355445704,351.55935337268,359.73515228832,392.4383479509,490.54793493862,506.89953276991,523.2511306012],description:"Inverted Schlesinger's Enharmonic Hypodorian Harmonia"},hypod_enhinv2:{frequencies:[261.6255653006,269.80136421624,277.97716313189,359.73515228832,392.4383479509,400.61414686654,408.78994578219,523.2511306012],description:"A harmonic form of Schlesinger's Hypodorian enharmonic inverted"},hypodorian_pis:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,392.4383479509,418.60090448096,483.00104363188,523.2511306012,546.00117975777,570.81941520131,627.90135672144,697.66817413493,784.8766959018,897.00193817349,966.00208726375,1046.5022612024],description:"Diatonic Perfect Immutable System in the Hypodorian Tonos"},hypol_chrom:{frequencies:[261.6255653006,275.39533189537,290.69507255622,348.83408706747,373.75080757229,402.50086969323,418.60090448096,436.04260883433,523.2511306012],description:"Schlesinger's Hypolydian Harmonia in the chromatic genus"},hypol_chrominv:{frequencies:[261.6255653006,313.95067836072,327.03195662575,340.11323489078,366.27579142084,392.4383479509,470.92601754108,497.08857407114,523.2511306012],description:"Inverted Schlesinger's Chromatic Hypolydian Harmonia"},hypol_chrominv2:{frequencies:[261.6255653006,274.70684356563,287.78812183066,340.11323489078,366.27579142084,392.4383479509,418.60090448096,523.2511306012],description:"harmonic form of Schlesinger's Chromatic Hypolydian inverted"},hypol_chrominv3:{frequencies:[261.6255653006,274.70684356563,287.78812183066,340.11323489078,392.4383479509,418.60090448096,444.76346101102,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Hypolydian inverted"},hypol_diat:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,373.75080757229,402.50086969323,436.04260883433,475.68284600109,523.2511306012],description:"Schlesinger's Hypolydian Harmonia, a subharmonic series through 13 from 20"},hypol_diatcon:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,402.50086969323,436.04260883433,475.68284600109,523.2511306012],description:"A Hypolydian Diatonic with its own trite synemmenon replacing paramese"},hypol_diatinv:{frequencies:[261.6255653006,287.78812183066,313.95067836072,340.11323489078,366.27579142084,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Inverted Schlesinger's Hypolydian Harmonia, a harmonic series from 10 from 20"},hypol_enh:{frequencies:[261.6255653006,268.33391312882,275.39533189537,348.83408706747,373.75080757229,402.50086969323,418.60090448096,436.04260883433,523.2511306012],description:"Schlesinger's Hypolydian Harmonia in the enharmonic genus"},hypol_enhinv:{frequencies:[261.6255653006,327.03195662575,333.57259575826,340.11323489078,366.27579142084,392.4383479509,497.08857407114,510.16985233617,523.2511306012],description:"Inverted Schlesinger's Enharmonic Hypolydian Harmonia"},hypol_enhinv2:{frequencies:[261.6255653006,268.16620443312,274.70684356563,340.11323489078,366.27579142084,379.35706968587,392.4383479509,523.2511306012],description:"A harmonic form of Schlesinger's Hypolydian enharmonic inverted"},hypol_enhinv3:{frequencies:[261.6255653006,268.16620443312,274.70684356563,340.11323489078,392.4383479509,405.51962621593,418.60090448096,523.2511306012],description:"A harmonic form of Schlesinger's Hypolydian enharmonic inverted"},hypol_pent:{frequencies:[261.6255653006,272.52663052146,290.69507255622,348.83408706747,373.75080757229,402.50086969323,415.27867508032,436.04260883433,523.2511306012],description:"Schlesinger's Hypolydian Harmonia in the pentachromatic genus"},hypol_tri:{frequencies:[261.6255653006,270.64713651786,280.31310567921,348.83408706747,373.75080757229,402.50086969323,413.09299784305,424.25767346043,523.2511306012],description:"Schlesinger's Hypolydian Harmonia in the first trichromatic genus"},hypol_tri2:{frequencies:[261.6255653006,270.64713651786,290.69507255622,348.83408706747,373.75080757229,402.50086969323,413.09299784305,436.04260883433,2093.0045224048],description:"Schlesinger's Hypolydian Harmonia in the second trichromatic genus"},hypolydian_pis:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,366.27579142084,406.97310157871,457.84473927605,488.36772189445,523.2511306012,563.50121757052,610.45965236807,665.95598440153,732.55158284168,813.94620315742,915.6894785521,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Hypolydian Tonos"},hypop_chrom:{frequencies:[261.6255653006,277.01530443593,285.40970760065,294.32876096318,336.37572681506,362.25078272391,376.74081403286,392.4383479509,409.50088481833,418.60090448096,428.11456140098,470.92601754108,523.2511306012],description:"Hypophrygian Chromatic Tonos"},hypop_chromenh:{frequencies:[261.6255653006,269.10058145205,277.01530443593,362.25078272391,392.4383479509,409.50088481833,428.11456140098,523.2511306012],description:"Schlesinger's Hypophrygian Harmonia in a mixed chromatic-enharmonic genus"},hypop_chrominv:{frequencies:[261.6255653006,319.76457981184,334.29933343966,348.83408706747,377.90359432309,465.11211608996,494.18162334558,523.2511306012],description:"Inverted Schlesinger's Chromatic Hypophrygian Harmonia"},hypop_chrominv2:{frequencies:[261.6255653006,276.16031892841,290.69507255622,348.83408706747,377.90359432309,406.97310157871,436.04260883433,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Hypophrygian inverted"},hypop_diat:{frequencies:[261.6255653006,294.32876096318,303.82323712328,313.95067836072,336.37572681506,362.25078272391,376.74081403286,392.4383479509,428.11456140098,448.50096908674,470.92601754108,495.71159741166,523.2511306012],description:"Hypophrygian Diatonic Tonos"},hypop_diat2:{frequencies:[261.6255653006,294.32876096318,313.95067836072,362.25078272391,376.74081403286,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Schlesinger's Hypophrygian Harmonia"},hypop_diat2inv:{frequencies:[261.6255653006,290.69507255622,319.76457981184,348.83408706747,363.36884069528,377.90359432309,436.04260883433,465.11211608996,523.2511306012],description:"Inverted Schlesinger's Hypophrygian Harmonia, a harmonic series from 9 from 18"},hypop_diatcon:{frequencies:[261.6255653006,294.32876096318,313.95067836072,362.25078272391,376.74081403286,428.11456140098,470.92601754108,523.2511306012],description:"A Hypophrygian Diatonic with its own trite synemmenon replacing paramese"},hypop_enh:{frequencies:[261.6255653006,269.10058145205,273.00058987889,277.01530443593,313.95067836072,362.25078272391,376.74081403286,392.4383479509,400.78810003496,405.0976494977,409.50088481833,470.92601754108,523.2511306012],description:"Hypophrygian Enharmonic Tonos"},hypop_enhinv:{frequencies:[261.6255653006,334.29933343966,341.56671025356,348.83408706747,377.90359432309,494.18162334558,508.71637697339,523.2511306012],description:"Inverted Schlesinger's Enharmonic Hypophrygian Harmonia"},hypop_enhinv2:{frequencies:[261.6255653006,268.89294211451,276.16031892841,348.83408706747,377.90359432309,392.4383479509,406.97310157871,523.2511306012],description:"A harmonic form of Schlesinger's Hypophrygian enharmonic inverted"},hypophryg_pis:{frequencies:[261.6255653006,283.42769574232,309.19384990071,340.11323489078,377.90359432309,425.14154361347,453.48431318771,523.2511306012,544.18117582525,566.85539148463,618.38769980142,680.22646978156,755.80718864618,850.28308722695,971.75209968794,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Hypophrygian Tonos"},kanzelmeyer_11:{frequencies:[261.6255653006,277.97716313189,310.68035879446,327.03195662575,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,474.19633710734,506.89953276991,523.2511306012],description:"Bruce Kanzelmeyer, 11 harmonics from 16 to 32. Base 388.3614815 Hz"},kanzelmeyer_18:{frequencies:[261.6255653006,277.97716313189,302.50455987882,310.68035879446,327.03195662575,335.20775554139,351.55935337268,359.73515228832,376.08675011961,384.26254903526,392.4383479509,425.14154361347,433.31734252912,457.84473927605,474.19633710734,482.37213602298,498.72373385427,506.89953276991,523.2511306012],description:"Bruce Kanzelmeyer, 18 harmonics from 32 to 64. Base 388.3614815 Hz"},kayolonian:{frequencies:[261.6255653006,267.90457886781,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,357.20610515709,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,490.54793493862,510.98743222773,523.2511306012],description:"19-tone 5-limit scale of the Kayenian Imperium on Kayolonia (reeks van Sjauriek)"},kayolonian_12:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"See Barnard: De Keiaanse Muziek, p. 11. (uitgebreide reeks)"},kayolonian_40:{frequencies:[261.6255653006,267.90457886781,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.07474405997,313.95067836072,319.36714514233,327.03195662575,331.11985608357,334.88072358477,340.65828815182,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,401.85686830172,408.78994578219,413.43299207996,418.60090448096,436.04260883433,441.49314144476,446.50763144636,459.88868900496,465.11211608996,470.92601754108,490.54793493862,496.11959049595,502.32108537715,510.98743222773,523.2511306012],description:"See Barnard: De Keiaanse Muziek"},kayolonian_f:{frequencies:[261.6255653006,279.06726965397,306.59245933664,327.03195662575,348.83408706747,392.4383479509,418.60090448096,446.50763144636,490.54793493862,523.2511306012],description:"Kayolonian scale F and periodicity block (128/125, 16875/16384)"},kayolonian_p:{frequencies:[261.6255653006,279.06726965397,306.59245933664,327.03195662575,348.83408706747,392.4383479509,418.60090448096,459.88868900496,490.54793493862,523.2511306012],description:"Kayolonian scale P"},kayolonian_s:{frequencies:[261.6255653006,287.4304306281,306.59245933664,327.03195662575,359.28803828513,392.4383479509,418.60090448096,459.88868900496,490.54793493862,523.2511306012],description:"Kayolonian scale S"},kayolonian_t:{frequencies:[261.6255653006,279.06726965397,297.67175429757,317.51653791741,348.83408706747,381.01984550089,418.60090448096,446.50763144636,476.27480687611,523.2511306012],description:"Kayolonian scale T"},kayolonian_z:{frequencies:[261.6255653006,279.06726965397,297.67175429757,327.03195662575,348.83408706747,392.4383479509,418.60090448096,446.50763144636,476.27480687611,523.2511306012],description:"Kayolonian scale Z"},kayoloniana:{frequencies:[261.6255653006,267.90457886781,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,367.91095120397,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,490.54793493862,510.98743222773,523.2511306012],description:"Amendment by Rasch of Kayolonian scale's note 9"},"kebyar-b":{frequencies:[261.6255653006,280.40333801024,299.48910562989,384.37207420335,402.78320381033,523.2511306012],description:"Gamelan Kebyar tuning begbeg, Andrew Toth, 1993"},"kebyar-s":{frequencies:[261.6255653006,283.00682726281,309.51375468789,385.26118901859,416.26536455926,523.2511306012],description:"Gamelan kebyar tuning sedung, Andrew Toth, 1993"},"kebyar-t":{frequencies:[261.6255653006,293.15632631094,325.27731021818,397.46748834812,422.07621250312,523.2511306012],description:"Gamelan kebyar tuning tirus, Andrew Toth, 1993"},keenan:{frequencies:[261.6255653006,279.77706779472,292.57243455474,305.95298478736,327.17991022208,349.87955533643,365.88099775759,391.26571058456,418.41160951721,437.54730686196,457.55816161244,489.30340830564,523.2511306012],description:"Dave Keenan 31-ET mode has 3 4:5:6:7 tetrads + 3 inv. is Fokker's 12-tone mode"},keenan2:{frequencies:[261.6255653006,278.14493936283,295.70736791055,306.84360659709,326.21810583671,346.81593583087,369.99442271164,393.35634555235,418.19337019276,433.94238997708,461.34206956593,490.47180009913,523.2511306012],description:"Dave Keenan strange 9-limit temperament TL 19-11-98"},keenan3:{frequencies:[261.6255653006,272.10155294862,282.99701916355,314.19580976213,326.77681046955,339.86157848985,377.32935907335,392.4383479509,408.1523292189,453.14877154631,471.29371440761,523.2511306012],description:"Chain of 1/6 kleisma tempered 6/5s, 10 tetrads, Dave Keenan, 30-Jun-99, TD235"},keenan3eb:{frequencies:[261.6255653006,272.52625793573,283.88113057344,314.31833892864,327.41448875753,341.05629284549,377.62371824792,393.35750206077,409.74683779238,453.67913385439,472.5817850056,523.2511306012],description:"Chain of 11 equal beating minor thirds, 6/5=3/2 same"},keenan3eb2:{frequencies:[261.6255653006,271.88912362492,282.55531921581,314.13446783,326.45794787121,339.26487744082,377.18204004818,391.97887331053,407.35618327602,452.88341485066,470.6500094,523.2511306012],description:"Chain of 11 equal beating minor thirds, 6/5=3/2 opposite"},keenan3j:{frequencies:[261.6255653006,291.88463270656,302.72962012827,313.97755176024,350.29154279212,363.30663963964,405.32593044476,420.38583225541,436.00528786292,486.43275040712,504.50618240233,523.2511306012],description:"Chain of 11 nearly just 19-tET minor thirds, Dave Keenan, 1-Jul-99"},keenan7:{frequencies:[261.6255653006,269.29177952703,279.86396690685,288.06460709314,296.5055443788,305.19382000629,314.13668154225,326.46944327063,336.03572815422,349.22823143301,359.46139971304,369.99442271164,380.8360868427,391.99543598175,407.38487419079,419.32216217931,435.78442404634,448.5538823653,461.69751437372,475.22628419761,489.15147723638,508.3551866238,523.2511306012],description:"Dave Keenan, 22 out of 72-tET periodicity block. TL 29-04-2001"},keenanmt:{frequencies:[261.6255653006,279.93529690293,292.50627485027,305.64177427204,327.03195662575,349.91912034749,365.63284274659,391.22147055517,418.60090448096,437.39890198442,457.04105241293,489.02683710225,523.2511306012],description:"Dave Keenan 1/4-comma tempered version of keenan with 6 7-limit tetrads"},keenanst:{frequencies:[261.6255653006,268.50609092997,277.46533822773,286.72352888229,294.26410920268,304.08282473376,314.22916151277,322.49311613356,333.25374941849,342.01803421352,353.43015577174,365.22306367425,374.82811589307,387.33500976677,397.52158713557,410.7856943143,424.4923875554,435.65616946139,450.19271626925,462.0323945472,477.44903730562,493.38008744487,506.35555615636,523.2511306012],description:"Dave Keenan, 7-limit temperament, g=260.353"},kelletat:{frequencies:[261.6255653006,275.58617649731,292.98704147282,310.05056613125,327.14272545641,348.82502010853,367.43868454848,391.99543598175,413.39000965417,437.97145880542,465.08793784701,489.90551202062,523.2511306012],description:"Herbert Kelletat's Bach-tuning (1967)"},kellner:{frequencies:[261.6255653006,275.62199471997,292.73769384471,310.07474405997,327.54963108844,348.83408706747,367.49599295996,391.37619916626,413.43299207996,437.91808280662,465.11211608996,491.32444638706,523.2511306012],description:"Herbert Anton Kellner's Bach tuning. 5 1/5 Pyth. comma and 7 pure fifths"},kellners:{frequencies:[261.6255653006,275.84425785506,292.86986732103,310.2247482054,327.84547867349,348.89032888179,367.85164222246,391.46454285105,413.69968681881,438.2147004401,465.26210635182,491.68894399626,523.2511306012],description:"Kellner's temperament with 1/5 synt. comma instead of 1/5 Pyth. comma"},kepler1:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"Kepler's Monochord no.1, Harmonices Mundi (1619)"},kepler2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"Kepler's Monochord no.2"},kepler3:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,441.49314144476,470.92601754108,496.67978412536,523.2511306012],description:"Kepler's choice system, Harmonices Mundi, Liber III (1619)"},kilroy:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Kilroy"},kimball:{frequencies:[261.6255653006,272.52663052146,275.93321340298,290.69507255622,294.32876096318,306.59245933664,327.03195662575,331.11985608357,348.83408706747,363.36884069528,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,459.88868900496,465.11211608996,490.54793493862,523.2511306012],description:"Buzz Kimball 18-note just scale"},kimball_53:{frequencies:[261.6255653006,277.01530443593,277.97716313189,279.06726965397,281.75060878526,283.42769574232,285.40970760065,287.78812183066,296.50897400735,299.00064605783,305.22982618403,307.79478270659,309.19384990071,313.95067836072,317.68818643644,319.76457981184,322.00069575458,327.03195662575,332.97799220076,338.57426097725,340.11323489078,342.12573923925,348.83408706747,359.73515228832,362.25078272391,366.27579142084,369.35373924791,370.63621750918,373.75080757229,377.90359432309,380.54627680087,392.4383479509,400.13321751856,402.50086969323,404.33041910093,411.12588832951,418.60090448096,425.14154361347,428.11456140098,430.91269578922,436.04260883433,442.75095666255,444.76346101102,448.50096908674,457.84473927605,461.69217405988,475.68284600109,479.64686971777,483.00104363188,485.87604984397,490.54793493862,492.47165233054,494.18162334558,523.2511306012],description:"Buzz Kimball 53-note just scale"},kirkwood:{frequencies:[261.6255653006,294.32876096318,305.22982618403,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Scale based on Kirkwood gaps of the asteroid belt"},"kirn-stan":{frequencies:[261.6255653006,276.16031892841,292.60754013883,310.68035879446,327.03195662575,348.83408706747,368.21375857121,392.4383479509,414.24047839262,437.1900893839,465.11211608996,490.54793493862,523.2511306012],description:"Kirnberger temperament improved by Charles Earl Stanhope (1806)"},kirnberger:{frequencies:[261.6255653006,275.62199471997,292.50627485027,310.07474405997,327.03195662575,348.83408706747,367.91095120397,391.22147055517,413.43299207996,437.39890198442,465.11211608996,490.54793493862,523.2511306012],description:"Kirnberger's well-temperament, also called Kirnberger III, letter to Forkel 1779"},kirnberger1:{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,438.75944753732,465.11211608996,490.54793493862,523.2511306012],description:"Kirnberger's temperament 1 (1766)"},kirnberger2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,438.75941205608,465.11211608996,490.54793493862,523.2511306012],description:'Kirnberger 2: 1/2 synt. comma. "Die Kunst des reinen Satzes" (1774)'},kirnberger3:{frequencies:[261.6255653006,275.93321340298,292.50627485027,310.07474405997,327.03195662575,348.83408706747,367.91095120397,391.22147055517,413.89982010446,437.39890198442,465.11211608996,490.54793493862,523.2511306012],description:"Kirnberger 3: 1/4 synt. comma (1744)"},kirnberger3v:{frequencies:[261.6255653006,275.93321340298,292.50063201309,310.07474405997,327.03195662575,348.83408706747,367.91095120397,391.21579858034,413.43299207996,437.39258595147,465.11211608996,490.54793493862,523.2511306012],description:"Variant well-temperament like Kirnberger 3, Kenneth Scholz, MTO 4.4, 1998"},klais:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,327.21690075602,348.83408706747,367.49599295996,391.99543598175,413.43299207996,438.01699797506,465.11211608996,489.99465727995,523.2511306012],description:"Johannes Klais, Bach temperament"},klonaris:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Johnny Klonaris, 19-limit harmonic scale"},knot:{frequencies:[261.6255653006,268.26840191956,280.31310567921,286.15296204753,294.32876096318,299.00064605783,306.59245933664,327.03195662575,348.83408706747,357.69120255941,366.27579142084,367.91095120397,381.53728273004,392.4383479509,408.78994578219,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,459.88868900496,476.92160341255,478.40103369253,490.54793493862,523.2511306012],description:"Smallest knot in 3-D, American Scientist, Nov-Dec '97 p506-510, trefoil knot"},koepf_36:{frequencies:[261.6255653006,272.26348829648,274.95017225036,277.18263097687,288.45311779165,291.29956028699,293.66476791741,305.60543275312,308.62113352716,311.12698372208,323.77767743764,326.97270111135,329.62755691287,343.03050002254,346.41550969045,349.22823143301,363.4281550135,367.0144478307,369.99442271164,385.03871768789,388.83826257328,391.99543598175,407.93431128975,411.95978887118,415.30469757995,432.19134773437,436.45619266906,440,457.89078262597,462.40922843744,466.16376151809,485.11838543951,489.90551202062,493.88330125613,513.96502576833,519.03680970905,523.2511306012],description:"Siegfried Koepf, 36-tone subset of 48-tone scale (1991)"},koepf_48:{frequencies:[261.6255653006,269.44737349144,272.26348829648,274.95017225036,277.18263097687,285.46954808622,288.45311779165,291.29956028699,293.66476791741,302.44445076078,305.60543275312,308.62113352716,311.12698372208,320.42873367481,323.77767743764,326.97270111135,329.62755691287,339.48241770075,343.03050002254,346.41550969045,349.22823143301,359.66909273781,363.4281550135,367.0144478307,369.99442271164,381.0561299374,385.03871768789,388.83826257328,391.99543598175,403.71490654806,407.93431128975,411.95978887118,415.30469757995,427.72104413038,432.19134773437,436.45619266906,440,453.15466093696,457.89078262597,462.40922843744,466.16376151809,480.10063929961,485.11838543951,489.90551202062,493.88330125613,508.64890891624,513.96502576833,519.03680970905,523.2511306012],description:"Siegfried Koepf, 48-tone scale (1991)"},kolinsky:{frequencies:[261.6255653006,277.2273508585,293.75953199293,311.27759533081,329.84032939425,349.51003591412,370.35272620855,392.4383479509,415.84102607989,440.63929776914,466.91639276282,494.76049384407,524.26505360912],description:"Kolinsky's 7th root of 3/2, also invented by Augusto Novaro"},kora1:{frequencies:[261.6255653006,293.66476791741,326.78388880949,349.22823143301,391.99543598175,440,489.62261321254,523.2511306012],description:"Kora tuning Tomora Ba, also called Silaba, 1/1=F, R. King"},kora2:{frequencies:[261.6255653006,298.79793764201,315.65242990842,349.22823143301,391.99543598175,447.69106452518,472.94426956511,523.2511306012],description:"Kora tuning Tomora Mesengo, also called Tomora, 1/1=F, R. King"},kora3:{frequencies:[261.6255653006,291.13134764929,330.58093469714,349.22823143301,391.99543598175,436.20415848357,495.31175393723,523.2511306012],description:"Kora tuning Hardino, 1/1=F, R.King"},kora4:{frequencies:[261.6255653006,291.13134764929,330.58093469714,371.06455309218,391.99543598175,436.20415848357,495.31175393723,523.2511306012],description:"Kora tuning Sauta, 1/1=F, R. King"},korea_5:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,470.92601754108,523.2511306012],description:'According to Lou Harrison, called "the Delightful" in Korea'},kornerup:{frequencies:[261.6255653006,272.97226153513,280.22976278938,292.38332274669,305.0639823888,313.17470478367,326.75708630452,340.92853547661,349.99278713323,365.17196824772,374.88056242272,391.13935185123,408.10305876469,418.95303445734,437.12302030357,456.08130156398,468.2068441924,488.51296691354,509.70006023951,523.2511306012],description:"Kornerup's temperament with fifth of (15 - sqrt 5) / 22 octaves"},kornerup_11:{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Kornerup's doric minor"},kraeh_22:{frequencies:[261.6255653006,267.07609791103,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,320.49131749323,336.37572681506,343.38355445704,353.19451315581,366.27579142084,381.53728273004,392.4383479509,400.61414686654,412.06026534844,436.04260883433,441.49314144476,457.84473927605,470.92601754108,488.36772189445,504.56359022259,523.2511306012],description:"Kraehenbuehl & Schmidt 7-limit 22-tone tuning"},kraeh_22a:{frequencies:[261.6255653006,267.07609791103,269.10058145205,272.52663052146,274.70684356563,279.06726965397,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,311.45900631024,313.95067836072,318.93402246168,320.49131749323,327.03195662575,336.37572681506,343.38355445704,348.83408706747,350.39138209902,353.19451315581,358.80077526939,366.27579142084,367.91095120397,373.75080757229,381.53728273004,392.4383479509,398.6675280771,400.61414686654,403.65087217807,408.78994578219,412.06026534844,418.60090448096,420.46965851882,436.04260883433,441.49314144476,448.50096908674,457.84473927605,467.18850946536,470.92601754108,476.92160341255,478.40103369253,488.36772189445,490.54793493862,498.33441009638,504.56359022259,523.2511306012],description:'Kraehenbuehl & Schmidt 7-limit 22-tone tuning with "inflections" for some tones'},kraeh_22b:{frequencies:[261.6255653006,269.10058145205,279.06726965397,286.15296204753,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,367.91095120397,381.53728273004,392.4383479509,408.78994578219,420.46965851882,436.04260883433,448.50096908674,457.84473927605,476.92160341255,490.54793493862,504.56359022259,523.2511306012],description:"Best 22-tET approximation of KRAEH_22A"},kring1:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,523.2511306012],description:"Double-tie circular mirroring of 4:5:6 and Partch's 5-limit tonality Diamond"},kring1p3:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,282.55561052465,290.69507255622,294.32876096318,301.39265122629,306.59245933664,310.07474405997,313.95067836072,327.03195662575,334.88072358477,340.65828815182,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,376.74081403286,387.59343007496,392.4383479509,401.85686830172,408.78994578219,418.60090448096,436.04260883433,441.49314144476,446.50763144636,454.2110508691,465.11211608996,470.92601754108,484.4917875937,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Third carthesian power of double-tie mirroring of 4:5:6 with kleismas removed"},kring2:{frequencies:[261.6255653006,299.00064605783,305.22982618403,348.83408706747,392.4383479509,448.50096908674,457.84473927605,523.2511306012],description:"Double-tie circular mirroring of 6:7:8"},kring2p3:{frequencies:[261.6255653006,265.7783520514,271.31540105247,288.32205155576,294.32876096318,299.00064605783,305.22982618403,310.07474405997,329.51091606373,336.37572681506,343.38355445704,348.83408706747,356.10146388137,384.42940207435,392.4383479509,398.6675280771,406.97310157871,415.4517078616,441.49314144476,448.50096908674,457.84473927605,465.11211608996,474.80195184183,504.56359022259,515.07533168556,523.2511306012],description:"Third power of 6:7:8 mirroring with 1029/1024 intervals removed"},kring3:{frequencies:[261.6255653006,305.22982618403,313.95067836072,366.27579142084,373.75080757229,436.04260883433,448.50096908674,523.2511306012],description:"Double-tie circular mirroring of 3:5:7"},kring3bp:{frequencies:[261.6255653006,336.37572681506,366.27579142084,436.04260883433,470.92601754108,560.62621135843,610.45965236807,784.8766959018],description:"Double-tie BP circular mirroring of 3:5:7"},kring4:{frequencies:[261.6255653006,299.00064605783,327.03195662575,366.27579142084,373.75080757229,418.60090448096,457.84473927605,523.2511306012],description:"Double-tie circular mirroring of 4:5:7"},kring4p3:{frequencies:[261.6255653006,267.90457886781,273.37201925287,280.42990280658,286.15296204753,293.02063313667,299.00064605783,305.10270005901,320.49131749323,327.03195662575,334.88072358477,341.71502406609,350.53737850823,357.69120255941,366.27579142084,373.75080757229,382.72082695402,390.53145607553,400.61414686654,408.78994578219,418.60090448096,427.14378008261,448.68784449053,457.84473927605,467.18850946536,478.40103369253,488.16432009441,500.76768358318,510.98743222773,523.2511306012],description:"Third power of 4:5:7 mirroring with 3136/3125 intervals removed"},kring5:{frequencies:[261.6255653006,290.69507255622,336.37572681506,366.27579142084,373.75080757229,406.97310157871,470.92601754108,523.2511306012],description:"Double-tie circular mirroring of 5:7:9"},kring5p3:{frequencies:[261.6255653006,266.96486255163,272.4643387202,278.02483542877,284.8811711051,290.69507255622,296.68339105088,302.73815413355,308.91648380975,316.53463456122,322.99452506247,329.64821227876,336.37572681506,343.24053756638,351.70514951247,358.88280562497,366.27579142084,373.75080757229,381.45007420827,389.23476960028,398.83363954714,406.97310157871,415.27867508032,423.83341578697,432.48307733364,443.14848838571,452.19233508746,461.42075008924,470.92601754108,480.53675259294,492.38720931745,502.43592787495,512.78610798918,523.2511306012],description:"Third power of 5:7:9 mirroring with 250047/250000 intervals removed"},kring6:{frequencies:[261.6255653006,305.22982618403,336.37572681506,348.83408706747,392.4383479509,406.97310157871,448.50096908674,523.2511306012],description:"Double-tie circular mirroring of 6:7:9"},kring6p3:{frequencies:[261.6255653006,267.07609791103,271.31540105247,276.96780524107,288.32205155576,294.32876096318,299.00064605783,305.22982618403,310.07474405997,316.53463456122,324.36230800023,329.51091606373,336.37572681506,343.38355445704,348.83408706747,356.10146388137,361.75386806997,369.29040698809,378.42269266694,384.42940207435,392.4383479509,398.6675280771,406.97310157871,415.4517078616,422.04617941496,432.48307733364,441.49314144476,448.50096908674,457.84473927605,465.11211608996,474.80195184183,494.26637409559,504.56359022259,512.57253609913,523.2511306012],description:"Third power of 6:7:9 mirroring with 118098/117649 intervals removed"},krousseau:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,343.38355445704,348.83408706747,366.27579142084,392.4383479509,406.97310157871,457.84473927605,465.11211608996,488.36772189445,523.2511306012],description:"Kami Rousseau's tri-blues scale"},krousseau2:{frequencies:[261.6255653006,271.34627406517,291.88463270656,302.72962012827,337.74269681563,350.29154279212,363.30663963964,390.80553229045,405.32593044476,452.20508247496,469.00678383895,486.43275040712,523.2511306012],description:"19-tET version of Kami Rousseau's tri-blues scale"},kukuya:{frequencies:[261.6255653006,307.37578701508,361.96165147221,412.67427966689,460.80941404108],description:"African Kukuya Horns (aerophone, ivory, one note only)"},kurzw_arab:{frequencies:[261.6255653006,282.02769802256,290.29174037004,302.26980244078,321.16993719469,349.63190883464,374.94271441196,393.35634555235,411.95978887118,429.20598402782,447.69106452518,496.7443381147,523.2511306012],description:'Kurzweil "Empirical Arabic"'},kurzw_harmp:{frequencies:[261.6255653006,285.46954808622,287.62123438446,306.48933163909,308.79945157961,324.90175210669,345.81573716922,348.42227432308,427.72104413038,430.94493093825,458.94995811222,462.40922843744,523.2511306012],description:'Kurzweil "Empirical Bali/Java Harmonic Pelog"'},kurzw_melp:{frequencies:[261.6255653006,281.53940445957,283.98935579354,303.66981774726,307.02089761314,323.96475278212,344.02264297658,347.0163224393,421.10213511252,424.76655906637,451.06547253417,454.99063696457,523.2511306012],description:'Kurzweil "Empirical Bali/Java Melodic Pelog"'},kurzw_slen:{frequencies:[261.6255653006,266.96862289802,288.95340229325,306.66641795878,318.95145438803,352.26720984209,352.26720984209,389.06292924114,404.41509766528,429.20598402782,464.81937009253,474.03826620294,523.2511306012],description:'Kurzweil "Empirical Bali/Java Slendro, Siam 7"'},kurzw_tibet:{frequencies:[261.6255653006,270.53905136894,299.14332201883,312.9293240034,325.46525203475,353.69443592699,373.86139962101,397.69714089209,408.87792937274,438.98455767189,471.30800669535,489.90551202062,523.2511306012],description:'Kurzweil "Empirical Tibetian Ceremonial"'},kwazy:{frequencies:[13.75,13.8425266748,13.92142234948,14.00076777204,14.0805654254,14.16081788707,14.25610896047,14.337361936,14.41907801447,14.50125983535,14.58391005315,14.66703125278,14.76572882594,14.84988638999,14.93452361174,15.01964313826,15.10524789197,15.20689431811,15.29356631363,15.38073220905,15.46839499707,15.55655742089,15.66124080485,15.75050226619,15.84027256598,15.93055451337,16.0213510245,16.11266503216,16.22109048883,16.31354291552,16.40652227664,16.50003157548,16.59407373656,16.70573878851,16.80095347779,16.89671084507,16.99301388521,17.08986590459,17.18726993397,17.30292672931,17.40154500258,17.50072545316,17.60047118468,17.70078541898,17.81989766631,17.92146252619,18.023606257,18.12633215803,18.22964354736,18.35231459047,18.45691397115,18.56210951808,18.66790462912,18.77430261304,18.88130712282,19.00836345475,19.11670199894,19.22565790976,19.335234928,19.44543648263,19.57628896102,19.68786429416,19.80007566685,19.91292659048,20.02642071019,20.16118263857,20.27609169854,20.39165568498,20.50787833065,20.62476338959,20.74231451743,20.88189396397,21.00091073243,21.12060583931,21.24098302814,21.36204643183,21.50579618625,21.62836889778,21.75164008927,21.875613993,22.00029448845,22.14833914981,22.27457391904,22.40152829449,22.52920624893,22.65761190639,22.78674941445,22.94008616579,23.07083364148,23.202326315,23.33456843363,23.46756413327,23.62548236417,23.76013626908,23.89555763659,24.03175070206,24.16872014141,24.30647024079,24.47003364934,24.60950094889,24.74976328722,24.89082505353,25.03269080417,25.2011409598,25.3447753621,25.48922841152,25.63450477396,25.78060914191,25.95409219477,26.10201805756,26.25078702673,26.40040390759,26.55087337946,26.70220060843,26.88188539622,27.03509923475,27.18918616153,27.34415146685,27.5],description:"Kwazy temperament, g=162.741892, p=600, 5-limit"},lambdoma5_12:{frequencies:[261.6255653006,21.80213044172,23.78414230005,26.16255653006,29.06950725562,32.70319566257,37.37508075723,43.60426088343,47.56828460011,52.32511306012,58.13901451124,65.40639132515,71.35242690016,74.75016151446,78.48766959018,87.20852176687,95.13656920022,98.10958698772,104.65022612024,109.01065220858,112.12524227169,116.27802902249,118.92071150027,130.8127826503,145.34753627811,149.50032302891,156.97533918036,163.51597831288,174.41704353373,186.87540378614,196.21917397545,209.30045224048,218.02130441717,261.6255653006,327.03195662575,348.83408706747,392.4383479509,436.04260883433,523.2511306012,654.0639132515,784.8766959018,1046.5022612024,1308.127826503],description:"5x12 Lambdoma"},lambdoma_prim:{frequencies:[261.6255653006,8.43953436454,9.02157121726,11.37502457829,13.76976659477,15.38973913533,16.87906872907,18.04314243452,20.12504348466,22.75004915657,23.78414230005,25.31860309361,27.06471365179,27.53953318954,30.77947827066,34.12507373486,37.37508075723,40.25008696932,41.30929978431,42.19767182268,45.10785608631,46.16921740599,47.56828460011,52.32511306012,56.87512289143,59.07674055175,60.37513045398,63.15099852083,68.84883297384,71.35242690016,74.75016151446,76.94869567665,79.62517204801,87.20852176687,96.38836616338,100.62521742331,104.65022612024,107.72817394731,112.12524227169,118.92071150027,130.8127826503,140.87530439263,156.97533918036,166.48899610038,174.41704353373,186.87540378614,261.6255653006,366.27579142084,392.4383479509,436.04260883433,523.2511306012,610.45965236807,654.0639132515,784.8766959018,915.6894785521,1308.127826503,1831.3789571042],description:"Prime Lambdoma"},lambert:{frequencies:[261.6255653006,276.15600972046,293.19138048956,310.67551062492,328.56569462012,349.50994910362,368.20801314466,391.67947347082,414.23401437362,438.93663604468,466.01326570444,491.89550004992,523.2511306012],description:"Lambert's temperament (1774) 1/7 Pyth. comma, 5 pure"},lara:{frequencies:[261.6255653006,286.4606265643,298.28060863281,313.11013128311,341.05478972476,377.11473546037,395.40657391157,420.13030572059,450.02449304881,492.74350578058,523.2511306012,577.23956595248,599.67057787333],description:"Sundanese 'multi-laras' gamelan Ki Barong tuning, Weintraub, TL 15-2-99 1/1=497"},lebanon:{frequencies:[261.6255653006,285.30470202322,311.12698372208,349.22823143301,391.99543598175,415.30469757995,466.16376151809,523.2511306012],description:"Lebanese scale? Dastgah Shur"},leedy:{frequencies:[261.6255653006,269.80136421624,290.69507255622,294.32876096318,305.22982618403,327.03195662575,348.83408706747,359.73515228832,392.4383479509,436.04260883433,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:'Douglas Leedy, scale for "Pastorale" (1987), 1/1=f, 10/9 only in vocal parts'},leeuw1:{frequencies:[261.6255653006,311.12698372208,349.22823143301,380.8360868427,415.30469757995,466.16376151809,508.3551866238,554.36526195375,604.53960488156,659.25511382574,739.98884542327,806.96355802011,880,987.76660251225],description:'Ton de Leeuw: non-oct. mode from "Car nos vignes sont en fleurs",part 5. 1/1=A'},leftpistol:{frequencies:[261.6255653006,275.93321340298,279.06726965397,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Left Pistol"},legros1:{frequencies:[261.6255653006,274.22463192287,292.50627485027,309.49749487796,327.03195662575,348.83408706747,365.63284274659,391.22147055517,411.33694767869,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Example of temperament with 3 just major thirds"},legros2:{frequencies:[261.6255653006,275.07759559501,292.50627485027,309.49749487796,327.03195662575,348.83408706747,366.77012764335,391.22147055517,412.61639318626,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Example of temperament with 2 just major thirds"},"lehman-bach":{frequencies:[261.6255653006,276.86979852503,293.00227310437,310.77584116741,328.14198392915,349.6228209638,369.15973155124,391.5530240856,414.83597850347,438.51190905657,465.63764214343,492.21297564769,523.2511306012],description:"Brad Lehman's Bach keyboard temperament"},lemba10:{frequencies:[261.6255653006,283.65327551057,298.9489942119,324.1191713102,341.59697290141,370.35792032269,401.5404117335,423.19307614937,458.82405293702,483.56568031466,524.27976214079],description:"10-note Lemba scale, Herman Miller"},lemba12:{frequencies:[261.6255653006,276.1173031791,283.29759227608,298.9897683987,323.75689816556,341.69016129748,369.99442271164,390.48883496177,400.64329718448,422.83538548023,457.86139629758,483.22286023634,523.2511306012],description:"Lemba[12] in 270-et (poptimal)"},lemba22:{frequencies:[261.6255653006,268.42900262332,276.1173031791,283.29759227608,298.9897683987,306.76484424299,315.55115201964,323.75689816556,341.69016129748,350.57563899649,360.61677037127,369.99442271164,379.61593604418,390.48883496177,400.64329718448,422.83538548023,433.83100318771,446.25671880862,457.86139629758,483.22286023634,495.78882330645,509.98912747823,523.2511306012],description:"Lemba[22] in 270-et (poptimal)"},lemba24:{frequencies:[261.6255653006,275.73346179752,283.65327551057,290.60211247891,298.9489942119,307.53562105228,315.06951922004,324.1191713102,332.05932738876,341.59697290141,351.40856549044,360.01724743313,370.35792032269,390.32910012969,401.5404117335,411.37720579947,423.19307614937,435.34833037897,446.01333880095,458.82405293702,470.06416125332,483.56568031466,497.45499966368,509.64147516102,524.27976214079],description:"24-note Lemba scale for mapping millerlemba24.kbm"},lemba8:{frequencies:[261.6255653006,275.73334871592,283.6533803711,298.94898212432,307.53584843097,324.11927802481,341.59694330429,351.4088110982,370.358025147],description:"Lemba temperament (4 down, 3 up) TOP tuning, Herman Miller, TL 22-11-2004"},leusden:{frequencies:[261.6255653006,275.54404190554,292.50627485027,310.51268695591,327.03195662575,349.91912034749,367.08095907728,391.22147055517,413.66634097248,437.39890198442,466.16376151809,489.02683710225,523.2511306012],description:"Organ in Gereformeerde kerk De Koningshof, Henk van Eeken, 1984, a'=415, modif. 1/4 mean"},leven:{frequencies:[261.6255653006,279.06726965397,298.97057995496,313.95067836072,330.39003879965,348.83408706747,369.35382642901,392.4383479509,418.60090448096,448.46752658184,465.11211608996,502.32108537715,523.2511306012],description:"Leven's monochord ?"},ligon:{frequencies:[261.6255653006,279.66870773512,292.40504357126,309.19384990071,329.87571277032,342.12573923925,366.27579142084,392.4383479509,411.12588832951,436.04260883433,462.87600014722,485.87604984397,523.2511306012],description:"Jacky Ligon, strictly proper all prime scale, TL 08-09-2000"},ligon2:{frequencies:[261.6255653006,276.16031892841,292.40504357126,310.68035879446,331.39238271409,355.06326719367,382.37582620857,411.78935130154,441.2028763945,470.61640148747,500.02992658044,529.4434516734,558.85697676637],description:"Jacky Ligon, 19-limit symmetrical non-octave scale, 2001"},ligon3:{frequencies:[261.6255653006,273.51763645063,286.54228580542,300.86940009569,316.70463167967,334.29933343966,341.25073734861,376.08675011961,401.15920012759,427.90314680276,471.58492637221,481.3910401531,508.13498682828,534.87893350345,561.62288017862,588.36682685379,615.11077352897],description:"Jacky Ligon, 23-limit non-octave scale (2001)"},ligon4:{frequencies:[261.6255653006,278.49926570678,289.46759601673,308.13698517552,320.27237341115,340.92853547661,362.91692931321,386.32347802158,401.53832428939,427.43578342293,444.26952759254,472.92296174596,491.54841572131,523.2511306012,556.99853141357,592.92249142473,616.27397035104,640.54474682231,681.85707095323,725.83385862642,754.41987838254,803.07664857879],description:"Jacky Ligon, 2/1 Phi Scale, TL 12-04-2001"},ligon5:{frequencies:[261.6255653006,273.22765669781,280.653851324,293.09977429907,314.41721066027,328.36040925687,337.28508524374,352.24238645938,377.86132347501,394.61802538749,405.34378524393,423.31898451752,454.1076550834,474.24531572837,487.13535379632,508.73764640933,545.73895363303],description:'Jacky Ligon, scale for "Two Golden Flutes" (2001)'},ligon6:{frequencies:[261.6255653006,280.653851324,293.09977429907,314.41721066027,328.36040925687,352.24238645938,377.86132347501,394.61802538749,423.31898451752,442.09155952525,474.24531572837,508.73764640933,531.29821178855,569.94005600595],description:'Jacky Ligon, "Primal Golden Tuning" (2001)'},ligon7:{frequencies:[261.6255653006,294.32876096318,321.08592105074,361.22166118208,394.05999401681,443.31749326891,483.61908356609,527.58445479937],description:"Jacky Ligon, 7 tone, 27/22=generator, MMM 22-01-2002"},lindley_ea:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,328.14198392915,349.6228209638,367.9112241576,391.5530240856,413.43299207996,438.51190905657,465.63764214343,491.10256480205,523.2511306012],description:"Mark Lindley +J. de Boer +W. Drake (1991), for organ Grosvenor Chapel, London"},lindley_sf:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.07474405997,328.14198392915,349.6228209638,368.32692341742,391.5530240856,413.90012676351,438.51190905657,465.63764214343,491.10256480205,523.2511306012],description:"Lindley (1988) suggestion nr. 2 for Stanford Fisk organ"},"ling-lun":{frequencies:[261.6255653006,279.38237857051,294.32876096318,314.30517589183,331.11985608357,353.59332287831,372.50983809402,392.4383479509,419.07356785577,441.49314144476,471.45776383774,496.67978412536,523.2511306012],description:"Scale of Ling Lun from C"},liu_major:{frequencies:[261.6255653006,290.69507255622,322.99452506247,348.83408706747,392.4383479509,436.04260883433,484.4917875937,523.2511306012],description:`Linus Liu's Major Scale, see his 1978 book, "Intonation Theory"`},liu_mel:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,392.4383479509,423.83341578697,436.04260883433,470.92601754108,484.4917875937,523.2511306012],description:"Linus Liu's Melodic Minor, use 5 and 7 descending and 6 and 8 ascending"},liu_minor:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,387.59343007496,418.60090448096,484.4917875937,523.2511306012],description:"Linus Liu's Harmonic Minor"},liu_pent:{frequencies:[261.6255653006,294.32876096318,331.11985608357,353.19451315581,392.4383479509,441.49314144476,496.67978412536,529.79176973372],description:`Linus Liu's "pentatonic scale"`},lorina:{frequencies:[261.6255653006,271.31540105247,293.02063313667,305.22982618403,313.95067836072,348.83408706747,348.83408706747,385.55346465352,406.97310157871,457.84473927605,457.84473927605,465.11211608996,523.2511306012],description:"Lorina"},lt46a:{frequencies:[261.6255653006,265.62583852249,273.73233506765,277.91772325275,286.39934942254,290.77841553921,299.65253047503,308.79746990018,313.51900484808,323.08712797864,328.02715279963,338.03804253716,348.35444940179,353.68081538041,364.47461587782,370.04745828823,381.3407438317,387.1714705201,398.98735486934,411.16384203565,417.45056598488,430.19052226982,436.76816801564,450.09766813034,463.83396431287,470.92601754108,485.29796386361,492.71820372913,507.75521382755,523.2511306012],description:"13-limit temperament, minimax g=495.66296 cents"},lucy_19:{frequencies:[261.6255653006,272.17716319349,280.81422591737,292.13972001074,301.4102593031,313.56641022552,326.2128298123,336.56461921066,350.13857756143,364.25998604447,375.81913491042,390.97626371576,406.74469336313,419.65201956185,436.57696862128,450.43096951372,468.59726172356,487.49621708267,502.96605061019,523.2511306012],description:"Lucy's 19-tone scale"},lucy_24:{frequencies:[261.6255653006,269.92785558198,272.17712546173,280.81425349217,292.13970819848,301.41031849758,303.92192719902,313.56642833783,326.21280343239,336.56467170065,339.36921655583,350.13858362887,364.25994396351,375.81917832675,390.97625694066,403.38329512334,406.744629928,419.65205349792,436.57694340361,450.43105016925,454.18442712942,468.59728067062,487.49616921257,502.96612033609,523.2511306012],description:"Lucy/Harrison, meantone tuning from Bbb to Cx, third=1200.0/pi, 1/1=A"},lucy_31:{frequencies:[261.6255653006,269.92785558198,272.17712546173,280.81425349217,283.15423815518,292.13970819848,301.41031849758,303.92192719902,313.56642833783,323.51698308414,326.21280343239,336.56467170065,339.36921655583,350.13858362887,361.24970022276,364.25994396351,375.81917832675,378.95082751155,390.97625694066,403.38329512334,406.744629928,419.65205349792,432.96907456701,436.57694340361,450.43105016925,454.18442712942,468.59728067062,483.46750424654,487.49616921257,502.96612033609,507.15726445705,523.2511306012],description:"Lucy/Harrison's meantone tuning, 1/1=A"},lucy_7:{frequencies:[261.6255653006,292.13972001074,326.2128298123,350.13857756143,390.97626371576,436.57696862128,487.49621708267,523.2511306012],description:"Diatonic Lucy's scale"},lumma5:{frequencies:[261.6255653006,279.06726965397,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,459.88868900496,490.54793493862,523.2511306012],description:"Carl Lumma's 5-limit version of lumma7, also Fokker 12-tone just."},lumma7:{frequencies:[261.6255653006,279.06726965397,293.02063313667,305.22982618403,327.03195662575,348.83408706747,366.27579142084,390.69417751556,418.60090448096,436.04260883433,457.84473927605,488.36772189445,523.2511306012],description:"Carl Lumma's 7-limit 12-tone scale, a.k.a GW Smith's Prism. TL 21-11-98"},lumma7t:{frequencies:[261.6255653006,279.68948643792,293.67396186758,305.56991806333,326.66797434652,349.22276480589,366.68390442934,392.00157215927,419.06732091375,436.04260883433,457.84473927605,489.45662770953,523.2511306012],description:"Tempered lumma7, 6 tetrads + 4 triads within 2c of Just, TL 19-2-99"},lumma7t72:{frequencies:[261.6255653006,279.86396690685,293.66476791741,305.19382000629,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,435.78442404634,457.27406033445,489.15147723638,523.2511306012],description:"72-tET version of lumma7t"},lumma7t_keen:{frequencies:[261.6255653006,279.95098841649,293.39965821869,305.14186035122,326.51537799354,349.38597341375,366.17023517096,391.81845653432,419.26317124465,436.04260556019,456.98979229899,488.99939844699,523.2511306012],description:"Dave Keenan's adaptation of lumma7t to include 6:8:11, TL 17-04-9"},lumma_10:{frequencies:[261.6255653006,281.2143451833,302.26980244078,324.90175210669,349.22823143301,375.37611551499,391.99543598175,421.34544350737,452.89298412314,486.80259447109,523.2511306012],description:"Carl Lumma's 10-tone 125 cent Pyth. scale, TL 29-12-1999"},lumma_12_fun:{frequencies:[261.6255653006,276.16031892841,293.246794009,310.68035879446,327.94037872749,348.23056788569,368.93292606842,390.99572534534,413.52379936426,439.8701910135,464.30742384759,491.05951174505,522.34585182853],description:"Rational well temperament based on 577/289, 3/2, and 19/16."},"lumma_12_moh-ha-ha":{frequencies:[261.6255653006,276.16031892841,293.42033886144,310.68035879446,330.09788121912,349.51540364377,368.93292606842,391.72740891476,414.24047839262,440.13050829216,466.02053819169,493.4335110265,523.2511306012],description:"Rational well temperament."},lumma_12_strangeion:{frequencies:[261.6255653006,277.97716313189,292.40504357126,310.68035879446,330.09788121912,349.23197505989,368.93292606842,391.9912339477,414.71297038361,440.63253103259,468.17206422213,492.47165233054,523.2511306012],description:'19-limit "dodekaphonic" scale.'},lumma_22:{frequencies:[261.6255653006,263.29318697558,262.98919438538,262.83732973433,262.68555277841,262.53386346698,263.29318697558,262.38226174944,262.98919438538,262.23074757519,263.29318697558,262.68555277841,262.07932089369,263.29318697558,262.83732973433,263.59753095473,262.38226174944,263.44531501617,262.68555277841,262.98919438538,263.29318697558,263.902226729,261.92798165442],description:"Carl Lumma, intervals of attraction by trial and error, 1999."},lumma_5151:{frequencies:[261.6255653006,276.7826524273,292.81785438923,309.78204413166,327.729041887,346.71578592374,369.67398581173,391.09077971329,413.74834001613,437.71854962063,463.0774559108,489.90551202062,522.3451906503],description:"Carl Lumma's 5151 temperament III (1197/709.5/696). June 2003"},lumma_al1:{frequencies:[261.6255653006,274.63272075836,292.81785438923,309.78204413166,327.729041887,346.71578592374,366.8025131876,391.09077971329,413.74834001613,437.71854962063,463.0774559108,489.90551202062,522.3451906503],description:"Alaska I (1197/709.5/696), Carl Lumma, 6 June 2003."},lumma_al2:{frequencies:[261.6255653006,275.18850165466,292.98704147282,310.05056613125,328.10786809908,347.216824829,367.43868454848,391.20374747207,413.98739946535,438.09796819065,463.6127330944,490.61347436729,522.3451906503],description:"Alaska II (1197/707/696.5), Carl Lumma, 6 June 2003."},lumma_al3:{frequencies:[261.6255653006,275.18850165466,292.98704147282,310.05056613125,328.10786809908,349.32910706765,367.43868454848,391.20374747207,413.98739946535,438.09796819065,463.6127330944,490.61347436729,522.3451906503],description:"Alaska III (1197/707/696.5), Carl Lumma, 6 June 2003."},lumma_al4:{frequencies:[261.6255653006,276.38325105256,293.32570896007,309.87152561537,328.86683469969,349.02656754477,368.7143392539,391.31674786192,413.39000965417,438.73106346722,464.55095742407,491.89038573682,522.04355935974],description:"Alaska IV (1196/701/697), Carl Lumma, 6 June 2003."},lumma_al5:{frequencies:[261.6255653006,276.84261239447,293.89809826895,310.99222741882,329.08061019985,349.35433052883,369.67398581173,391.17550247358,415.27471248744,439.42852501549,464.98720675925,493.63374591774,522.3451906503],description:"Alaska V (1197/702/696.375), Carl Lumma, 6 June 2003."},lumma_al6:{frequencies:[261.6255653006,276.86260193655,293.83444433876,310.94732162256,329.05685050583,349.22823143301,369.56723519412,391.09077971329,415.06487744922,439.23819834286,464.81937009253,493.31307433255,522.04355935974],description:"Alaska VI (1196/701/696), Carl Lumma, 6 June 2003."},lumma_al7:{frequencies:[261.6255653006,276.11677207256,293.26810788146,310.16878953668,328.73958549954,348.42227432308,368.499294457,391.39134599911,413.94674961638,438.72852926454,464.99660740427,491.79379203259,522.3451906503],description:"Alaska VII, Carl Lumma, 27 Jan 2004"},lumma_dec1:{frequencies:[261.6255653006,286.10322937235,299.18791603519,327.17991022208,342.14320575162,374.15409293384,391.26571058456,427.87249484695,457.55816161244,489.30340830564,523.2511306012],description:"Carl Lumma, two 5-tone 7/4-chains, 5/4 apart in 31-tET, TL 9-2-2000"},lumma_dec2:{frequencies:[261.6255653006,286.10322937235,292.57243455474,327.17991022208,342.14320575162,382.6142546815,391.26571058456,437.54730686196,457.55816161244,511.68128147674,523.2511306012],description:"Carl Lumma, two 5-tone 3/2-chains, 7/4 apart in 31-tET, TL 9-2-2000"},lumma_magic:{frequencies:[261.6255653006,293.02063313667,299.00064605783,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,418.60090448096,436.04260883433,457.84473927605,467.18850946536,523.2511306012],description:"Magic chord test, Carl Lumma, TL 24-06-99"},"lumma_synchtrines+2":{frequencies:[261.6255653006,277.1478691313,293.59111644706,311.009943641,329.46223568632,349.00930447981,369.71610741159,391.65144749868,414.88821865981,439.50363030131,465.57948255979,493.20241832805,522.46423212702],description:"The 12-tone equal temperament with 2:3:4 brats of +2"},"lumma_synchtrines-2":{frequencies:[261.6255653006,277.19623399848,293.69359242342,311.17279259662,329.69226891672,349.31393351076,370.10338321153,392.13011885309,415.46777761785,440.19437666896,466.39258399594,494.14997995304,523.55935978973],description:"The 12-tone equal temperament with 2:3:4 brats of -2"},lydian_chrom:{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,317.12189733406,327.03195662575,373.75080757229,402.50086969323,418.60090448096,427.14378008261,436.04260883433,475.68284600109,523.2511306012,550.79066379074,581.39014511244,615.58956541318,634.24379466812,654.0639132515,747.50161514457,805.00173938646,837.20180896192,854.28756016522,872.08521766867,951.36569200218,1046.5022612024],description:"Lydian Chromatic Tonos"},lydian_chrom2:{frequencies:[261.6255653006,272.09058791262,283.42769574232,340.11323489078,377.90359432309,400.13321751856,425.14154361347,523.2511306012],description:"Schlesinger's Lydian Harmonia in the chromatic genus"},lydian_chrominv:{frequencies:[261.6255653006,271.68808704293,281.75060878526,362.25078272391,402.50086969323,422.62591317789,442.75095666255,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Lydian inverted"},lydian_diat:{frequencies:[261.6255653006,275.39533189537,290.69507255622,327.03195662575,348.83408706747,373.75080757229,387.59343007496,402.50086969323,436.04260883433,455.00098313148,475.68284600109,498.33441009638,523.2511306012,550.79066379074,581.39014511244,654.0639132515,697.66817413493,747.50161514457,852.70554616492,805.00173938646,872.08521766867,910.00196626296,951.36569200218,996.66882019276,1046.5022612024],description:"Lydian Diatonic Tonos"},lydian_diat2:{frequencies:[261.6255653006,283.42769574232,309.19384990071,340.11323489078,358.01393146398,377.90359432309,425.14154361347,485.87604984397,523.2511306012],description:"Schlesinger's Lydian Harmonia, a subharmonic series through 13 from 26"},lydian_diat2inv:{frequencies:[261.6255653006,281.75060878526,322.00069575458,362.25078272391,382.37582620857,402.50086969323,442.75095666255,483.00104363188,523.2511306012],description:"Inverted Schlesinger's Lydian Harmonia, a harmonic series from 13 from 26"},lydian_diatcon:{frequencies:[261.6255653006,283.42769574232,309.19384990071,340.11323489078,358.01393146398,425.14154361347,485.87604984397,523.2511306012],description:"A Lydian Diatonic with its own trite synemmenon replacing paramese"},lydian_enh:{frequencies:[261.6255653006,275.39533189537,290.69507255622,299.00064605783,303.33398875432,307.79478270659,373.75080757229,402.50086969323,410.39304360878,414.45634107026,418.60090448096,475.68284600109,523.2511306012,550.79066379074,581.39014511244,598.00129211566,606.66797750864,615.58956541318,747.50161514457,805.00173938646,820.78608721757,828.91268214051,837.20180896192,951.36569200218,1046.5022612024],description:"Lydian Enharmonic Tonos"},lydian_enh2:{frequencies:[261.6255653006,266.75547834571,272.09058791262,340.11323489078,377.90359432309,388.70083987518,400.13321751856,523.2511306012],description:"Schlesinger's Lydian Harmonia in the enharmonic genus"},lydian_enhinv:{frequencies:[261.6255653006,266.65682617177,271.68808704293,362.25078272391,402.50086969323,412.56339143556,422.62591317789,523.2511306012],description:"A harmonic form of Schlesinger's Enharmonic Lydian inverted"},lydian_pent:{frequencies:[261.6255653006,269.93113880221,283.42769574232,340.11323489078,377.90359432309,395.48050568695,425.14154361347,523.2511306012],description:"Schlesinger's Lydian Harmonia in the pentachromatic genus"},lydian_pis:{frequencies:[261.6255653006,290.69507255622,327.03195662575,373.75080757229,402.50086969323,436.04260883433,475.68284600109,523.2511306012,550.79066379074,581.39014511244,654.0639132515,747.50161514457,805.00173938646,872.08521766867,951.36569200218,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Lydian Tonos"},lydian_tri:{frequencies:[261.6255653006,268.51044859798,275.76748774928,340.11323489078,377.90359432309,392.4383479509,408.13588186894,523.2511306012],description:"Schlesinger's Lydian Harmonia in the first trichromatic genus"},lydian_tri2:{frequencies:[261.6255653006,268.51044859798,283.42769574232,340.11323489078,377.90359432309,392.4383479509,425.14154361347,523.2511306012],description:"Schlesinger's Lydian Harmonia in the second trichromatic genus"},nachbaur_6:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,457.84473927605,523.2511306012],description:`Fred Nachbaur's harmonic hexatonic, as used in "Void of Sensation"`},nassarre:{frequencies:[261.6255653006,277.66336828161,294.34406205295,311.66659310186,331.15428443044,350.6431449633,372.56793743951,394.49404533893,419.16071913933,443.82887286778,471.58032351597,495.88429116026,523.2511306012],description:"Nassarre's Equal Semitones"},negri5_19:{frequencies:[261.6255653006,271.22480440713,281.41555648081,291.74090527404,302.70251050738,313.80889368201,325.59966315504,337.54616011163,350.22880998446,363.07896889448,376.72096510961,390.54314115106,405.21705098851,420.08476989056,435.86864979507,451.86099895106,468.83881245397,486.04086171852,504.30291533224,523.2511306012],description:"Negri temperament, g=126.238272, 5-limit"},negri_19:{frequencies:[261.6255653006,269.02825605326,281.18681366715,289.14299126725,302.21061955257,310.76166549402,324.80633749066,333.99672707734,349.09149261831,358.96903024071,375.19240283292,392.14898023137,403.24482870584,421.46921730446,433.39468387282,452.98167562873,465.79878414581,486.85025820508,500.62567766841,523.2511306012],description:"Negri temperament, 13-limit, g=124.831"},negri_29:{frequencies:[261.6255653006,269.02825605326,276.64040740805,281.18681366715,289.14299126725,297.32428710198,302.21061955257,310.76166549402,319.55466133443,324.80633749066,333.99672707734,343.44715857517,349.09149261831,358.96903024071,369.1260526158,375.19240283292,385.80846524917,392.14898023137,403.24482870584,414.65463641221,421.46921730446,433.39468387282,445.65757880387,452.98167562873,465.79878414581,478.97855252217,486.85025820508,500.62567766841,514.79087238232,523.2511306012],description:"Negri temperament, 13-limit, g=124.831"},"neid-mar-morg":{frequencies:[261.6255653006,277.49581689502,293.99657683935,311.12698372208,329.99999983505,349.6228209638,369.99442271164,392.4383479509,415.77394625748,440,466.69047534984,494.44133512215,523.2511306012],description:"Neidhardt-Marpurg-de Morgan temperament (1858)"},neidhardt1:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.42509491746,328.14198392915,348.83408706747,368.32692341742,391.5530240856,414.36778843034,438.51190905657,465.11211608996,491.65745674141,523.2511306012],description:"Neidhardt I temperament (1724)"},neidhardt2:{frequencies:[261.6255653006,276.55731914056,293.00227310437,310.77584116741,328.51274831708,349.22823143301,369.15973155124,391.5530240856,414.36778843034,438.51190905657,466.16376151809,492.7691222293,523.2511306012],description:"Neidhardt II temperament (1724)"},neidhardt3:{frequencies:[261.6255653006,276.55731914056,293.00227310437,310.77584116741,328.51274831708,348.83408706747,369.15973155124,391.5530240856,414.36778843034,438.51190905657,465.63764214343,492.7691222293,523.2511306012],description:"Neidhardt III temperament (1724) 'Grosse Stadt'"},neidhardt4:{frequencies:[261.6255653006,277.18263097687,293.66476791741,311.12698372208,329.62755691287,349.22823143301,369.99442271164,391.99543598175,415.30469757995,440,466.16376151809,493.88330125613,523.2511306012],description:"Neidhardt IV temperament (1724), equal temperament"},neidhardtn:{frequencies:[261.6255653006,276.86979852503,293.66476791741,310.77584116741,329.62755691287,348.83408706747,369.99442271164,391.5530240856,415.30469757995,439.50340943686,466.16376151809,493.32589719545,523.2511306012],description:"Johann Georg Neidhardt's temperament (1732), alt. 1/6 & 0 P, also Marpurg nr.10"},neogeb24:{frequencies:[261.6255653006,270.11478301563,282.39420473706,291.55732426372,295.23185084282,304.81152420286,308.65309481038,318.66826025208,333.15492371116,343.96512368902,348.30015108876,359.6017829051,375.94928703407,388.14807710176,393.03994675222,405.79329398283,424.24066266408,438.00640969567,443.52664897728,457.91818970179,463.68937649142,478.73515685363,500.49846361623,516.73862125829,523.2511306012],description:"Neo-Gothic e-based lineotuning (T/S or Blackwood's R=e, ~2.71828), 24 notes"},neogji12:{frequencies:[261.6255653006,282.52678126125,294.32876096318,317.84262891891,332.97799220076,348.83408706747,374.60024122586,392.4383479509,423.79017189188,441.49314144476,443.97065626768,499.46698830115,523.2511306012],description:"M. Schulter, neo-Gothic 12-note JI (prim. 2/3/7/11) 1/1=F with Eb key as D+1"},neogp16a:{frequencies:[261.6255653006,274.38778799819,281.28352228595,295.02457363685,309.19384990071,317.19205704586,332.33517754401,348.83408706747,366.27579142084,374.86334014511,392.4383479509,411.12588832951,422.62591317789,442.75095666255,464.34856430463,498.91386871277,523.2511306012],description:"M. Schulter, scale from mainly prime-to-prime ratios and octave complements (Gb-D#)"},neutr_diat:{frequencies:[261.6255653006,294.32876096318,320.24370022528,348.83408706747,392.4383479509,427.47405410759,479.82340237272,523.2511306012],description:"Neutral Diatonic, 9 + 9 + 12 parts, geometric mean of major and minor"},neutr_pent1:{frequencies:[261.6255653006,302.32287545847,348.83408706747,392.4383479509,453.48431318771,523.2511306012],description:"Quasi-Neutral Pentatonic 1, 15/13 x 52/45 in each trichord, after Dudon"},neutr_pent2:{frequencies:[261.6255653006,301.87565226992,348.83408706747,392.4383479509,452.81347840488,523.2511306012],description:"Quasi-Neutral Pentatonic 2, 15/13 x 52/45 in each trichord, after Dudon"},new_enh:{frequencies:[261.6255653006,264.89588486686,279.06726965397,348.83408706747,392.4383479509,397.34382730029,418.60090448096,523.2511306012],description:"New Enharmonic"},new_enh2:{frequencies:[261.6255653006,327.03195662575,331.11985608357,348.83408706747,392.4383479509,490.54793493862,496.67978412536,523.2511306012],description:"New Enharmonic permuted"},newcastle:{frequencies:[261.6255653006,273.65745935891,291.9012907804,312.65334602246,327.03195662575,350.28154752005,366.3906401674,390.81668391305,410.48618883318,436.04260883433,467.04206359353,490.54793493862,523.2511306012],description:"Newcastle modified 1/3-comma meantone"},norden:{frequencies:[261.6255653006,274.87601291722,292.73769384471,310.07474405997,327.54963108844,349.78078158391,366.5013507395,391.37619916626,412.31401916973,437.91808280662,466.37437567834,489.99465727995,523.2511306012],description:"Reconstructed Schnitger temperament, organ in Norden. Ortgies, 2002"},novaro:{frequencies:[261.6255653006,274.70684356563,279.06726965397,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,490.54793493862,498.33441009638,523.2511306012],description:"9-limit diamond with 21/20, 16/15, 15/8 and 40/21 added for evenness"},novaro15:{frequencies:[261.6255653006,279.06726965397,280.31310567921,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,301.87565226992,305.22982618403,309.19384990071,313.95067836072,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,356.76213450082,359.73515228832,362.25078272391,366.27579142084,373.75080757229,377.90359432309,380.54627680087,383.71749577421,392.4383479509,402.50086969323,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,442.75095666255,448.50096908674,453.48431318771,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,488.36772189445,490.54793493862,523.2511306012],description:"1-15 diamond, see Novaro, 1927, Sistema Natural base del Natural-Aproximado, p"},novaro_eb:{frequencies:[261.6255653006,277.27733921611,293.70273468471,311.34510173929,329.85947563084,349.74559786079,370.61463194963,392.51515715445,416.03831243363,440.72414616847,467.23897542105,495.06435356607,524.26505360912],description:"Novaro (?) equal beating 4/3 with strectched octave, almost pure 3/2"},janke1:{frequencies:[261.6255653006,276.38325105256,293.32570896007,310.58830860439,328.86683469969,349.02656754477,368.7143392539,391.76907592069,414.34624765043,439.23819834286,465.62553897253,492.45896815637,523.2511306012],description:"Rainer Janke, Temperatur I"},janke2:{frequencies:[261.6255653006,276.38325105256,292.98704147282,310.58830860439,328.48713220126,349.02656754477,368.7143392539,391.54284657258,414.34624765043,438.73106346722,465.62553897253,491.89038573682,523.2511306012],description:"Rainer Janke, Temperatur II"},janke3:{frequencies:[261.6255653006,276.22365192501,292.98704147282,310.40895756597,328.29744538229,349.02656754477,368.50142299854,391.54284657258,414.10698098223,438.47771564426,465.62553897253,491.60634075178,523.2511306012],description:"Rainer Janke, Temperatur III"},janke4:{frequencies:[261.6255653006,275.90473010106,292.98704147282,310.76776326996,328.10786809908,349.22823143301,368.07595926604,391.54284657258,413.86785247997,438.47771564426,465.89457252293,491.32245979018,523.2511306012],description:"Rainer Janke, Temperatur IV"},janke5:{frequencies:[261.6255653006,275.58617649731,292.98704147282,310.05056613125,328.10786809908,348.82502010853,367.43868454848,391.54284657258,413.39000965417,438.47771564426,465.08793784701,491.0387427573,523.2511306012],description:"Rainer Janke, Temperatur V"},janke6:{frequencies:[261.6255653006,275.74540729824,292.98704147282,310.58830860439,328.10786809908,349.43001184052,367.65098676472,391.54284657258,413.86785247997,438.47771564426,465.89457252293,491.0387427573,523.2511306012],description:"Rainer Janke, Temperatur VI"},janke7:{frequencies:[261.6255653006,275.42703764514,292.81785438923,311.12698372208,327.91840028839,349.63190883464,367.0144478307,391.54284657258,413.62886206386,438.22451411849,467.24207374344,490.75518955849,523.2511306012],description:"Rainer Janke, Temperatur VII"},jemblung1:{frequencies:[261.6255653006,298.87388797409,337.89601991959,388.44742741354,452.30188977628,523.2511306012],description:"Scale of bamboo gamelan jemblung from Kalijering, slendro-like. 1/1=590 Hz."},jemblung2:{frequencies:[261.6255653006,300.03885820455,355.06324470257,391.40016308218,451.61555914985,523.2511306012],description:"Bamboo gamelan jemblung at Royal Batavia Society. 1/1=504 Hz."},ji_10coh:{frequencies:[261.6255653006,283.42769574232,299.7792935736,327.03195662575,348.83408706747,370.63621750918,392.4383479509,436.04260883433,457.84473927605,485.0974023282,523.2511306012],description:"Differentially coherent 10-tone scale"},ji_10coh2:{frequencies:[261.6255653006,305.22982618403,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,470.92601754108,479.64686971777,523.2511306012],description:"Other diff. coherent 10-tone scale"},ji_11:{frequencies:[261.6255653006,276.96780524107,294.32876096318,316.53463456122,336.37572681506,356.10146388137,384.42940207435,406.97310157871,432.48307733364,465.11211608996,494.26637409559,523.2511306012],description:"3 and 7 prime rational interpretation of 11-tET. OdC 2000"},ji_12:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Basic JI with 7-limit tritone"},ji_12a:{frequencies:[261.6255653006,279.06726965397,294.32876096318,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"7-limit 12-tone scale"},ji_12b:{frequencies:[261.6255653006,272.52663052146,290.69507255622,305.22982618403,327.03195662575,343.38355445704,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"alternate 7-limit 12-tone scale"},ji_12c:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:'Kurzweil "Just with natural b7th", is Sauveur Just with 7/4'},ji_13:{frequencies:[261.6255653006,279.06726965397,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,372.08969287196,392.4383479509,418.60090448096,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"5-limit 12-tone symmetrical scale with two tritones"},ji_17:{frequencies:[261.6255653006,271.31540105247,283.8170195002,294.32876096318,310.07474405997,321.55899383997,336.37572681506,348.83408706747,361.75386806997,378.42269266694,392.4383479509,406.97310157871,425.72552925031,441.49314144476,465.11211608996,482.33849075995,504.56359022259,523.2511306012],description:"3 and 7 prime rational interpretation of 17-tET. OdC"},ji_17a:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,310.07474405997,321.08592105074,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,426.35277308246,441.49314144476,465.11211608996,484.4917875937,502.32108537715,523.2511306012],description:"3, 5 and 11 prime rational interpretation of 17-tET, OdC"},ji_17b:{frequencies:[261.6255653006,272.52663052146,285.40970760065,294.32876096318,310.07474405997,319.76457981184,334.88072358477,348.83408706747,359.73515228832,380.54627680087,392.4383479509,408.78994578219,428.11456140098,441.49314144476,465.11211608996,479.64686971777,502.32108537715,523.2511306012],description:"Alt. 3, 5 and 11 prime rational interpretation of 17-tET, OdC"},ji_19:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,353.19451315581,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,470.92601754108,490.54793493862,523.2511306012],description:"5-limit 19-tone scale"},ji_20:{frequencies:[261.6255653006,271.31540105247,279.38237857051,288.32205155576,299.00064605783,310.07474405997,321.55899383997,331.11985608357,348.83408706747,356.10146388137,372.50983809402,384.42940207435,392.4383479509,413.43299207996,425.72552925031,441.49314144476,457.84473927605,474.80195184183,489.99465727995,504.56359022259,523.2511306012],description:"3 and 7 prime rational interpretation of 20-tET. OdC"},ji_21:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,504.56359022259,523.2511306012],description:"7-limit 21-tone just scale, Op de Coul, 2001"},ji_22:{frequencies:[261.6255653006,272.52663052146,279.06726965397,282.55561052465,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,340.65828815182,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,470.92601754108,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"5-limit 22-tone scale (Zarlino?)"},ji_27:{frequencies:[261.6255653006,267.90457886781,275.62199471997,282.55561052465,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,331.11985608357,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,413.43299207996,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,484.4917875937,496.67978412536,510.98743222773,523.2511306012],description:"7-limit rational interpretation of 27-tET, OdC"},ji_29:{frequencies:[261.6255653006,267.90457886781,275.62199471997,282.55561052465,287.78812183066,294.32876096318,301.39265122629,310.07474405997,317.12189733406,323.76163705949,331.11985608357,340.65828815182,348.83408706747,356.76213450082,367.91095120397,372.08969287196,383.71749577421,392.4383479509,401.85686830172,413.43299207996,422.82919644541,431.68218274599,441.49314144476,454.2110508691,465.11211608996,475.68284600109,484.4917875937,496.67978412536,510.98743222773,523.2511306012],description:"3,5,11-prime rational interpretation of 29-tET, OdC"},ji_30:{frequencies:[261.6255653006,267.57160087561,274.70684356563,280.31310567921,286.15296204753,294.32876096318,299.7792935736,308.34441624714,313.95067836072,321.92208230347,329.64821227876,336.37572681506,344.91651675372,353.19451315581,360.81424763342,370.01329949656,379.40816842909,387.59343007496,396.89567239676,406.97310157871,415.27867508032,425.24536328225,436.04260883433,443.97065626768,456.65553216105,465.11211608996,478.40103369253,488.36772189445,498.33441009638,511.62332769895,523.2511306012],description:"11-limit rational interpretation of 30-tET"},ji_31:{frequencies:[261.6255653006,267.57160087561,274.08392555301,280.31310567921,285.40970760065,293.02063313667,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,334.88072358477,343.38355445704,348.83408706747,356.76213450082,366.27579142084,373.75080757229,383.71749577421,392.4383479509,398.6675280771,408.78994578219,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,467.18850946536,479.64686971777,490.54793493862,499.46698830115,512.78610798918,523.2511306012],description:"A just 11-limit 31-tone scale, optimized for Mann complexity"},ji_31a:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,318.93402246168,327.03195662575,334.88072358477,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,408.78994578219,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,465.11211608996,478.40103369253,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"A just 7-limit 31-tone scale"},ji_31b:{frequencies:[261.6255653006,267.90457886781,275.93321340298,282.55561052465,287.4304306281,294.32876096318,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,344.91651675372,353.19451315581,359.28803828513,367.91095120397,376.74081403286,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,431.14564594215,441.49314144476,452.08897683944,459.88868900496,470.92601754108,479.0507177135,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"A just 5-limit 31-tone scale, corner clipped genus"},ji_31c:{frequencies:[261.6255653006,267.57160087561,272.52663052146,279.06726965397,285.40970760065,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,334.88072358477,343.38355445704,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,398.6675280771,408.78994578219,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,479.64686971777,490.54793493862,502.32108537715,511.62332769895,523.2511306012],description:"A just 11-limit 31-tone scale"},ji_5coh:{frequencies:[261.6255653006,305.22982618403,348.83408706747,381.53728273004,446.94367405519,523.2511306012],description:"Differential fully coherent pentatonic scale"},ji_6coh:{frequencies:[261.6255653006,294.32876096318,330.74639366397,372.08969287196,418.60090448096,465.11211608996,523.2511306012],description:"Differential coherent 6-tone scale, OdC 2003"},ji_7:{frequencies:[261.6255653006,290.69507255622,318.93402246168,348.83408706747,392.4383479509,429.2294430713,470.92601754108,523.2511306012],description:"7-limit rational interpretation of 7-tET. OdC"},ji_7a:{frequencies:[261.6255653006,287.78812183066,319.76457981184,348.83408706747,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Superparticular approximation to 7-tET. Op de Coul, 1998"},ji_8coh:{frequencies:[261.6255653006,286.99041781007,312.35527031954,339.96223546814,370.00947616612,405.83764015148,441.71144237774,480.75585116768,523.2511306012],description:"Differential coherent 8-tone scale, OdC, 2003"},ji_8coh3:{frequencies:[261.6255653006,277.97716313189,302.50455987882,327.03195662575,359.73515228832,392.4383479509,425.14154361347,466.02053819169,523.2511306012],description:"Differential fully coherent 8-tone scale, OdC, 2003"},ji_9coh:{frequencies:[261.6255653006,287.78812183066,313.95067836072,327.03195662575,366.27579142084,392.4383479509,418.60090448096,470.92601754108,497.08857407114,523.2511306012],description:"Differentially coherent 9-tone scale"},ji_ri24a:{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,301.87565226992,310.68035879446,319.76457981184,329.87571277032,340.11323489078,348.83408706747,359.73515228832,370.63621750918,380.54627680087,392.4383479509,402.50086969323,414.99227599406,428.11456140098,440.63253103259,453.48431318771,465.11211608996,479.64686971777,494.18162334558,508.71637697339,523.2511306012],description:"M. Schulter, just/rational intonation system - with circulating 24-note set"},jioct12:{frequencies:[261.6255653006,272.52663052146,282.55561052465,302.80736724606,313.95067836072,327.03195662575,363.36884069528,376.74081403286,392.4383479509,436.04260883433,454.2110508691,470.92601754108,523.2511306012],description:"12-tone JI version of Messiaen's octatonic scale, Erlich & Par\xEF\xBF\xBDzek"},"jobin-bach":{frequencies:[261.6255653006,275.07759559501,292.50627485027,309.76836826904,327.03195662575,348.83408706747,366.77012764335,391.22147055517,412.61639318626,437.39890198442,464.6525521713,489.02683710225,523.2511306012],description:"Emile Jobin, WTC temperament after Bach's signet"},"johnson-secor_rwt":{frequencies:[261.6255653006,276.16031892841,293.03678286293,310.07474405997,327.94037872749,348.83408706747,368.21375857121,391.52992584916,414.24047839262,438.40450629885,465.11211608996,490.95167809495,523.2511306012],description:"Johnson/Secor proportional-beating well-temperament with five 24/19s."},johnson_44:{frequencies:[261.6255653006,265.7783520514,269.99705605222,274.2827236086,278.63641763414,283.05921791404,287.55222124002,292.11654190835,296.75331210627,301.46368356757,306.24882108355,311.17820103386,316.11753722951,321.13527558179,326.23266245367,331.4109583385,336.67144939063,342.01544029518,347.44425644654,352.9592442771,358.56177366235,364.2532300084,370.03502692537,375.90859839047,381.87540114246,387.93691728375,394.09464571975,400.35011587045,406.70487919155,413.16051176499,419.71861468993,426.38081694263,433.14876596753,440.02414274758,447.00865248514,454.10402744924,461.31203006992,468.63444275836,476.07308421189,483.62979961065,491.30646309654,499.10497838378,507.02727962797,515.07533168556,523.2511306012],description:"Aaron Johnson, 44-tET approximation"},johnson_7:{frequencies:[261.6255653006,288.83389952765,318.87182567809,352.10227751942,388.71994014354,429.2294430713,473.86811641255,523.2511306012],description:"Aaron Johnson, 7-tET approximation"},johnson_eb:{frequencies:[261.6255653006,273.1678696521,292.40504357126,312.71949922989,327.03195662575,349.65487315468,365.50630446407,390.89937403737,408.78994578219,437.06859144336,467.84806971401,488.62421754671,523.2511306012],description:'Aaron Johnson, "1/4-comma tempered" equal beating C-G-D-A-E plus just thirds'},johnson_ratwell:{frequencies:[261.6255653006,276.16031892841,292.90688289089,310.07474405997,327.94037872749,348.83408706747,368.21375857121,391.49724879514,414.24047839262,438.30776524386,465.11211608996,490.95167809495,523.2511306012],description:"Aaron Johnson, rational well-temperament with five 24/19's"},johnson_temp:{frequencies:[261.6255653006,275.52965735686,292.50638298357,309.88336774144,327.03195662575,348.76230617841,367.55223824197,391.22154286826,413.09299784305,437.39914452994,464.92072007996,490.30891677011,523.2511306012],description:"Aaron Johnson, temperament with just 5/4, 24/19 and 19/15"},johnston:{frequencies:[261.6255653006,275.93321340298,294.32876096318,315.35224388912,327.03195662575,359.73515228832,367.91095120397,392.4383479509,401.35740131342,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Ben Johnston's combined otonal-utonal scale"},johnston_21:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,340.65828815182,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,470.92601754108,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Johnston 21-note just enharmonic scale"},johnston_22:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,353.19451315581,367.91095120397,378.42269266694,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,504.56359022259,523.2511306012],description:"Johnston 22-note scale from end of string quartet nr. 4"},johnston_25:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,331.11985608357,334.88072358477,348.83408706747,353.19451315581,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Johnston 25-note just enharmonic scale"},"johnston_6-qt":{frequencies:[261.6255653006,262.79353657426,266.47048317654,267.57160087561,271.31540105247,272.52663052146,277.4816601673,280.31310567921,284.23518205497,290.69507255622,294.32876096318,297.30177875068,299.7792935736,300.33547037059,305.22982618403,306.59245933664,310.07474405997,311.45900631024,316.53463456122,317.12189733406,319.76457981184,322.99452506247,327.03195662575,334.46450109452,339.14425131559,342.60490694126,348.83408706747,350.39138209902,355.29397756872,356.76213450082,361.75386806997,363.36884069528,367.91095120397,373.75080757229,381.53728273004,382.24514410802,387.59343007496,390.82337532559,392.4383479509,396.40237166758,399.70572476481,406.97310157871,408.78994578219,413.43299207996,420.46965851882,426.35277308246,436.04260883433,445.95266812602,452.19233508746,459.88868900496,465.11211608996,467.18850946536,475.68284600109,479.64686971777,484.4917875937,486.49381977384,490.54793493862,248.7057842981,498.33441009638,508.71637697339,516.79124009995,523.2511306012],description:"11-limit complete system from Ben Johnston's _6th Quartet_"},"johnston_6-qt_row":{frequencies:[261.6255653006,272.52663052146,290.69507255622,306.59245933664,327.03195662575,350.39138209902,363.36884069528,399.70572476481,408.78994578219,436.04260883433,445.95266812602,490.54793493862,508.71637697339],description:`11-limit 'prime row' from Ben Johnston's "6th Quartet"`},johnston_81:{frequencies:[116.54094037952,117.99770213426,119.33792294863,119.89808681021,120.82964698549,121.39681289533,122.77564089365,122.91427305652,124.31033640482,124.45070146973,125.86421560988,127.43751830501,127.89129259755,128.03570110055,129.48993375502,131.10855792696,132.74741490105,134.25516331721,134.88534766148,135.93335285867,136.57141450725,138.12259600536,138.27855718859,139.84912845542,141.59724256112,142.26189011172,143.87770417225,145.6761754744,147.49712766783,149.17240368579,151.03705873186,151.74601611917,153.46955111706,155.38792050603,157.33026951235,159.11723059817,159.29689788126,161.10619598065,161.86241719378,163.70085452487,163.8856974087,165.74711520643,165.93426862631,167.81895414651,169.91669107334,170.71426813406,172.6532450067,174.81141056928,176.9965532014,179.00688442294,179.84713021531,181.24447047823,182.095219343,184.16346134048,184.37140958479,186.46550460723,188.79632341482,189.68252014896,191.15627745751,191.83693889633,194.23490063253,196.66283689044,198.89653824771,199.12112235157,199.83014468368,201.38274497581,202.32802149222,204.62606815608,204.85712176088,207.18389400804,207.41783578289,209.77369268314,212.39586384168,213.39283516758,215.81655625837,218.5142632116,221.24569150175,223.75860552868,226.55558809779,227.61902417875,230.2043266756,233.08188075904],description:"Johnston 81-note 5-limit scale of Sonata for Microtonal Piano"},jorgensen:{frequencies:[261.6255653006,269.51415085551,288.85811466493,309.59046173614,318.92511007349,352.12195684808,355.62605411908,388.77403176757,408.50706336067,429.24143792307,469.25139168707,473.92081401802,523.2511306012],description:"Jorgensen's 5&7 temperament"},jousse:{frequencies:[261.6255653006,276.90198715646,293.15566421679,311.51473523959,328.62702621286,349.28097970329,369.20264759391,391.76800554826,415.35298052707,439.0631553946,466.60176257857,492.27019703794,523.2511306012],description:"Temperament of Jean Jousse (1832)"},jousse2:{frequencies:[261.6255653006,277.21176919085,293.63180098233,311.16627887077,329.63881547742,349.36510452864,370.14670828388,392.04008509316,415.41939014292,440.0494382652,466.3511549761,494.0599599767,523.2511306012],description:"Jean Jousse's quasi-equal temperament"},quasi_5:{frequencies:[261.6255653006,302.26980244078,349.22823143301,391.99543598175,452.89298412314,523.2511306012],description:"Quasi-Equal 5-Tone in 24-tET, 5 5 4 5 5 steps"},quasi_9:{frequencies:[261.6255653006,281.2143451833,302.26980244078,324.90175210669,349.22823143301,391.99543598175,421.34544350737,452.89298412314,486.80259447109,523.2511306012],description:'Quasi-Equal Enneatonic, Each "tetrachord" has 125 + 125 + 125 + 125 cents'},quint_chrom:{frequencies:[261.6255653006,277.01530443593,294.32876096318,348.83408706747,392.4383479509,415.52295665389,441.49314144476,523.2511306012],description:"Aristides Quintilianus' Chromatic genus"},oconnell:{frequencies:[261.6255653006,267.57429119961,272.27874977392,278.46970304972,283.3657217904,288.34782337261,294.90414810658,300.08911516052,305.36524364276,312.30850472426,317.79947295261,323.38698268281,330.74001416845,336.55504284097,344.20748191927,350.25929591231,356.41751010259,364.52157313929,370.93054700815,377.45220049416,386.03454097812,392.82175095637,399.72829510222,408.81713953112,416.00491024634,423.31905787312],description:"Walter O'Connell, Pythagorean scale of 25 octaves reduced by Phi. XH 15 (1993)"},oconnell_11:{frequencies:[261.6255653006,272.27874977392,288.34782337261,300.08911516052,312.30850472426,323.38698268281,344.20748191927,356.41751010259,370.93054700815,386.03454097812,408.81713953112,423.31905787312],description:"Walter O'Connell, 11-note mode of 25-tone scale"},oconnell_14:{frequencies:[261.6255653006,272.27874977392,283.3657217904,288.34782337261,300.08911516052,312.30850472426,323.38698268281,336.55504284097,344.20748191927,356.41751010259,370.93054700815,386.03454097812,399.72829510222,408.81713953112,423.31905787312],description:"Walter O'Connell, 14-note mode of 25-tone scale"},oconnell_7:{frequencies:[261.6255653006,283.3657217904,300.08911516052,323.38698268281,344.20748191927,370.93054700815,392.82175095637,423.31905787312],description:"Walter O'Connell, 7-note mode of 25-tone scale"},oconnell_9:{frequencies:[261.6255653006,278.46970304972,294.90414810658,305.36524364276,323.38698268281,344.20748191927,364.52157313929,377.45220049416,399.72829510222,423.31905787312],description:"Walter O'Connell, 9-tone mode of 25-tone scale"},oconnell_9a:{frequencies:[261.6255653006,272.27874977392,288.34782337261,305.36524364276,323.38698268281,344.20748191927,356.41751010259,377.45220049416,399.72829510222,423.31905787312],description:"Walter O'Connell, 7+2 major mode analogy for 25-tone scale"},octony_min:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Octony on Harmonic Minor, from Palmer on an album of Turkish music"},octony_rot:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Rotated Octony on Harmonic Minor"},octony_trans:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,348.83408706747,408.78994578219,420.46965851882,436.04260883433,523.2511306012],description:"Complex 10 of p. 115, an Octony based on Archytas's Enharmonic,"},octony_trans2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,315.35224388912,324.36230800023,336.37572681506,348.83408706747,504.56359022259,523.2511306012],description:"Complex 6 of p. 115 based on Archytas's Enharmonic, an Octony"},octony_trans3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,306.59245933664,315.35224388912,327.03195662575,348.83408706747,490.54793493862,523.2511306012],description:"Complex 5 of p. 115 based on Archytas's Enharmonic, an Octony"},octony_trans4:{frequencies:[261.6255653006,271.31540105247,279.06726965397,336.37572681506,348.83408706747,420.46965851882,432.48307733364,448.50096908674,523.2511306012],description:"Complex 11 of p. 115, an Octony based on Archytas's Enharmonic, 8 tones"},octony_trans5:{frequencies:[261.6255653006,271.31540105247,279.06726965397,317.94773560837,327.03195662575,339.14425131559,348.83408706747,508.71637697339,523.2511306012],description:"Complex 15 of p. 115, an Octony based on Archytas's Enharmonic, 8 tones"},octony_trans6:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,336.37572681506,345.98646186692,348.83408706747,358.80077526939,523.2511306012],description:"Complex 14 of p. 115, an Octony based on Archytas's Enharmonic, 8 tones"},octony_u:{frequencies:[261.6255653006,280.31310567921,301.87565226992,327.03195662575,356.76213450082,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"7)8 octony from 1.3.5.7.9.11.13.15, 1.3.5.7.9.11.13 tonic (subharmonics 8-16)"},odd1:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"ODD-1"},odd2:{frequencies:[261.6255653006,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"ODD-2"},oettingen:{frequencies:[261.6255653006,264.89588486686,267.90457886781,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,298.00787047521,301.39265122629,306.59245933664,310.42486507835,313.95067836072,317.87506184023,323.35923445661,327.03195662575,331.11985608357,334.88072358477,339.06673262958,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.50983809402,376.74081403286,383.2405741708,388.03108134794,392.4383479509,397.34382730029,401.85686830172,408.78994578219,413.89982010446,418.60090448096,423.83341578697,431.14564594215,436.04260883433,441.49314144476,446.50763144636,452.08897683944,459.88868900496,465.11211608996,470.92601754108,476.81259276034,485.03885168492,490.54793493862,496.67978412536,502.32108537715,510.98743222773,517.37477513058,523.2511306012],description:"von Oettingen's Orthotonophonium tuning"},oettingen2:{frequencies:[261.6255653006,264.89588486686,267.90457886781,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,310.07474405997,313.95067836072,317.51653791741,322.99452506247,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,396.89567239676,401.85686830172,408.78994578219,413.43299207996,418.60090448096,423.83341578697,431.14564594215,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,476.27480687611,484.4917875937,490.54793493862,496.11959049595,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"von Oettingen's Orthotonophonium tuning with central 1/1"},ogr10:{frequencies:[261.6255653006,264.15640940857,271.89678302796,296.5055443788,342.56848033562,359.46139971304,411.32572372413,440,484.46499093218,513.27277840175,523.2511306012],description:"Optimal Golomb Ruler of 10 segments, length 72"},ogr10a:{frequencies:[261.6255653006,264.15640940857,285.30470202322,314.13668154225,329.62755691287,352.60650301302,431.60923940535,448.5538823653,457.27406033445,508.3551866238,523.2511306012],description:"2nd Optimal Golomb Ruler of 10 segments, length 72"},ogr11:{frequencies:[261.6255653006,265.92749183559,274.74472021414,318.1829357186,331.4244391468,362.52783176564,371.50609336774,409.69842558521,455.51656649021,482.27514684959,486.22402266421,523.2511306012],description:"Optimal Golomb Ruler of 11 segments, length 85"},ogr12:{frequencies:[261.6255653006,265.06964174786,270.3209511875,308.09015504092,333.2396629384,346.57411320722,384.79959982017,413.49815209867,456.11269186454,468.20039948765,496.58195036371,499.83980314828,523.2511306012],description:"Optimal Golomb Ruler of 12 segments, length 106"},ogr2:{frequencies:[261.6255653006,329.62755691287,523.2511306012],description:"Optimal Golomb Ruler of 2 segments, length 3"},ogr3:{frequencies:[261.6255653006,293.66476791741,415.30469757995,523.2511306012],description:"Optimal Golomb Ruler of 3 segments, length 6"},ogr4:{frequencies:[261.6255653006,278.64197723942,336.62443200122,461.29362042034,523.2511306012],description:"Optimal Golomb Ruler of 4 segments, length 11"},ogr4a:{frequencies:[261.6255653006,296.76515515861,406.67242132093,433.12283887627,523.2511306012],description:"2nd Optimal Golomb Ruler of 4 segments, length 11"},ogr5:{frequencies:[261.6255653006,272.51337835337,307.97166902637,393.32961502355,426.7484383229,523.2511306012],description:"Optimal Golomb Ruler of 5 segments, length 17"},ogr5a:{frequencies:[261.6255653006,272.51337835337,307.97166902637,393.32961502355,482.27514684959,523.2511306012],description:"2nd Optimal Golomb Ruler of 5 segments, length 17"},ogr5b:{frequencies:[261.6255653006,272.51337835337,362.52783176564,426.7484383229,463.0066556268,523.2511306012],description:"3rd Optimal Golomb Ruler of 5 segments, length 17"},ogr5c:{frequencies:[261.6255653006,272.51337835337,362.52783176564,409.69842558521,444.50800708553,523.2511306012],description:"4th Optimal Golomb Ruler of 5 segments, length 17"},ogr6:{frequencies:[261.6255653006,268.98086109226,292.31087910123,345.21700307457,430.94493093825,495.02573326308,523.2511306012],description:"Optimal Golomb Ruler of 6 segments, length 25"},ogr6a:{frequencies:[261.6255653006,276.5429423948,284.31762274025,345.21700307457,407.69874723177,468.32288027948,523.2511306012],description:"2nd Optimal Golomb Ruler of 6 segments, length 25"},ogr6b:{frequencies:[261.6255653006,268.98086109226,354.92237405774,407.69874723177,443.06044202496,495.02573326308,523.2511306012],description:"3rd Optimal Golomb Ruler of 6 segments, length 25"},ogr6c:{frequencies:[261.6255653006,268.98086109226,317.66442301495,354.92237405774,455.51656649021,495.02573326308,523.2511306012],description:"4th Optimal Golomb Ruler of 6 segments, length 25"},ogr6d:{frequencies:[261.6255653006,276.5429423948,317.66442301495,375.1593523779,468.32288027948,481.48922855473,523.2511306012],description:"5th Optimal Golomb Ruler of 6 segments, length 25"},ogr7:{frequencies:[261.6255653006,267.01398215014,283.85429714132,314.3146261019,355.21191871351,409.69842558521,502.34551296122,523.2511306012],description:"Optimal Golomb Ruler of 7 segments, length 34"},ogr8:{frequencies:[261.6255653006,265.77967818767,283.06627815664,316.06708432391,387.90015179087,400.3161696196,454.08364189083,499.09751029017,523.2511306012],description:"Optimal Golomb Ruler of 8 segments, length 44"},ogr9:{frequencies:[261.6255653006,264.94361147373,282.17583275232,296.76515515861,349.59519124833,363.06573983159,401.57942110183,438.61588607285,510.2272282764,523.2511306012],description:"Optimal Golomb Ruler of 9 segments, length 55"},oldani:{frequencies:[261.6255653006,272.52663052146,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"This scale by Norbert L. Oldani appeared in Interval 5(3), p.10-11"},oljare:{frequencies:[261.6255653006,286.15296204753,305.22982618403,327.03195662575,348.83408706747,381.53728273004,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,508.71637697339,523.2511306012],description:'Mats \xEF\xBF\xBDljare, scale for "Tampere" (2001)'},oljare17:{frequencies:[261.6255653006,272.51337835337,320.78822215662,334.13814720468,393.32961502355,409.69842558521,426.7484383229,502.34551296122,523.2511306012],description:'Mats \xEF\xBF\xBDljare, scale for "Fafner" (2001), MOS in 17-tET'},olympos:{frequencies:[261.6255653006,279.06726965397,348.83408706747,372.08969287196,465.11211608996,523.2511306012],description:"Scale of ancient Greek flutist Olympos, 6th century BC as reported by Partch"},opelt:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Friederich Wilhelm Opelt 19-tone"},organ1373a:{frequencies:[261.6255653006,277.01530443593,294.32876096318,311.64221749042,331.11985608357,348.83408706747,369.35373924791,392.4383479509,415.52295665389,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"English organ tuning (1373) with 18:17:16 ficta semitones (Eb-G#)"},organ1373b:{frequencies:[261.6255653006,277.01530443593,294.32876096318,311.64221749042,331.11985608357,348.83408706747,369.35373924791,392.4383479509,415.52295665389,441.49314144476,467.46332623563,496.67978412536,523.2511306012],description:"English organ tuning (1373) with 18:17:16 accidental semitones (Eb-G#)"},ragib:{frequencies:[261.6255653006,269.99542342683,281.01564479119,288.12007609225,294.32876096318,303.49446183192,311.45900631024,323.77767743764,335.77702597132,341.99420300732,348.83408706747,360.36579242507,371.06455309218,381.37837507376,392.4383479509,407.46331920162,417.22825371678,432.79663407874,450.28451247858,458.15534711532,465.11211608996,476.50902003141,487.19844562495,503.12608711654,523.2511306012],description:"Idris Ragib Bey, vol.5 d'Erlanger, p 40. Idris Rag'ib Bey"},ragib7:{frequencies:[261.6255653006,270.30192333353,281.29980781121,288.32205155576,294.32876096318,303.74668805875,311.45900631024,324.36230800023,336.37572681506,341.71502406609,348.83408706747,360.4025644447,370.6997805717,381.53728273004,392.4383479509,406.97310157871,417.13259773693,432.48307733364,450.69091522486,457.84473927605,465.11211608996,476.92160341255,486.65469735975,502.32108537715,523.2511306012],description:"7-limit version of Idris Rag'ib Bey scale"},"rameau-flat":{frequencies:[261.6255653006,276.01120901503,292.50629850443,312.00666699279,327.03195662575,349.91920725962,366.20974703841,391.22137338448,415.30469757995,437.39882871549,468.01000025525,489.02679755603,523.2511306012],description:'Rameau bemols, see Pierre-Yves Asselin in "Musique et temperament"'},"rameau-gall":{frequencies:[261.6255653006,274.65078342868,292.50627485027,310.49874388777,327.03195662575,349.91912034749,366.20104475463,391.22147055517,412.61639318626,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"Rameau's temperament, after Gallimard (1st solution)"},"rameau-merc":{frequencies:[261.6255653006,273.37431312998,292.50627485027,308.72950296259,327.03195662575,348.83408706747,365.63284274659,391.22147055517,409.55238583376,437.39890198442,464.53468854848,489.02683710225,523.2511306012],description:"Rameau's temperament, after Mercadier"},"rameau-minor":{frequencies:[261.6255653006,294.32876096318,313.95067836072,353.19451315581,392.4383479509,418.60090448096,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"Rameau's systeme diatonique mineur on E. Asc. 4-6-8-9, desc. 9-7-5-4"},"rameau-nouv":{frequencies:[261.6255653006,275.98004852257,292.50627485027,311.49614460359,327.03195662575,349.91912034749,367.37127028704,391.22147055517,414.64857675456,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"Temperament by Rameau in Nouveau Systeme (1726)"},"rameau-sharp":{frequencies:[261.6255653006,273.37431312998,292.50629850443,308.54983514133,327.03195662575,348.83408706747,365.63293356166,391.22137338448,409.42528169498,437.39882871549,464.33633889105,489.02679755603,523.2511306012],description:'Rameau dieses, see Pierre-Yves Asselin in "Musique et temperament"'},rameau:{frequencies:[261.6255653006,275.07757335026,292.50629850443,310.73186404381,327.03195662575,349.91920725962,366.77009798369,391.22137338448,412.61635981914,437.39882871549,468.01000025525,489.02679755603,523.2511306012],description:"Rameau's modified meantone temperament (1725)"},ramis:{frequencies:[261.6255653006,275.93321340298,290.69507255622,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Monochord of Ramos de Pareja (Ramis de Pareia), Musica practica (1482). Carlos: Switched on Bach"},rapoport_8:{frequencies:[261.6255653006,297.86386736488,316.53463456122,336.37572681506,382.96782946913,406.97310157871,432.48307733364,492.38720931745,523.2511306012],description:"Paul Rapoport, cycle of 14/9 close to 8 out of 11-tET, XH 13, 1991"},rast_moha:{frequencies:[261.6255653006,293.66476791741,320.24370022528,349.22823143301,391.99543598175,427.47405410759,479.82340237272,523.2511306012],description:"Rast + Mohajira (Dudon) 4 + 3 + 3 Rast and 3 + 4 + 3 Mohajira tetrachords"},rat_dorenh:{frequencies:[261.6255653006,267.70988077271,274.08392555301,359.73515228832,411.12588832951,418.60090448096,426.35277308246,523.2511306012],description:"Rationalized Schlesinger's Dorian Harmonia in the enharmonic genus"},rat_hypodenh:{frequencies:[261.6255653006,270.06509966514,279.06726965397,348.83408706747,380.54627680087,389.39619021485,398.6675280771,523.2511306012],description:"1+1 rationalized enharmonic genus derived from K.S.'s 'Bastard' Hypodorian"},rat_hypodenh2:{frequencies:[261.6255653006,270.06509966514,288.69027895239,348.83408706747,380.54627680087,389.39619021485,408.39112632289,523.2511306012],description:"1+2 rationalized enharmonic genus derived from K.S.'s 'Bastard' Hypodorian"},rat_hypodenh3:{frequencies:[261.6255653006,270.06509966514,299.00064605783,348.83408706747,380.54627680087,389.39619021485,418.60090448096,523.2511306012],description:"1+3 rationalized enharmonic genus derived from K.S.'s 'Bastard' Hypodorian"},rat_hypodhex:{frequencies:[261.6255653006,267.19206668997,273.00058987889,348.83408706747,380.54627680087,386.4008349055,392.4383479509,523.2511306012],description:"1+1 rationalized hexachromatic/hexenharmonic genus derived from K.S.'Bastard'"},rat_hypodhex2:{frequencies:[261.6255653006,267.19206668997,279.06726965397,348.83408706747,380.54627680087,386.4008349055,398.6675280771,523.2511306012],description:"1+2 rat. hexachromatic/hexenharmonic genus derived from K.S.'s 'Bastard' Hypodo"},rat_hypodhex3:{frequencies:[261.6255653006,267.19206668997,285.40970760065,348.83408706747,380.54627680087,386.4008349055,405.0976494977,523.2511306012],description:"1+3 rat. hexachromatic/hexenharmonic genus from K.S.'s 'Bastard' Hypodorian"},rat_hypodhex4:{frequencies:[261.6255653006,267.19206668997,292.04714266113,348.83408706747,380.54627680087,386.4008349055,411.73859457144,523.2511306012],description:"1+4 rat. hexachromatic/hexenharmonic genus from K.S.'s 'Bastard' Hypodorian"},rat_hypodhex5:{frequencies:[261.6255653006,267.19206668997,299.00064605783,348.83408706747,380.54627680087,386.4008349055,418.60090448096,523.2511306012],description:"1+5 rat. hexachromatic/hexenharmonic genus from K.S.'s 'Bastard' Hypodorian"},rat_hypodhex6:{frequencies:[261.6255653006,273.00058987889,292.04714266113,348.83408706747,380.54627680087,392.4383479509,411.73859457144,523.2511306012],description:"2+3 rationalized hexachromatic/hexenharmonic genus from K.S.'s 'Bastard' hypod"},rat_hypodpen:{frequencies:[261.6255653006,268.33391312882,275.39533189537,348.83408706747,380.54627680087,387.59343007496,394.90651366128,523.2511306012],description:"1+1 rationalized pentachromatic/pentenharmonic genus derived from K.S.'s 'Bastar"},rat_hypodpen2:{frequencies:[261.6255653006,268.33391312882,282.83844897362,348.83408706747,380.54627680087,387.59343007496,402.50086969323,523.2511306012],description:"1+2 rationalized pentachromatic/pentenharmonic genus from K.S.'s 'Bastard' hyp"},rat_hypodpen3:{frequencies:[261.6255653006,268.33391312882,290.69507255622,348.83408706747,380.54627680087,387.59343007496,410.39304360878,523.2511306012],description:"1+3 rationalized pentachromatic/pentenharmonic genus from 'Bastard' Hypodorian"},rat_hypodpen4:{frequencies:[261.6255653006,268.33391312882,299.00064605783,348.83408706747,380.54627680087,387.59343007496,418.60090448096,523.2511306012],description:"1+4 rationalized pentachromatic/pentenharmonic genus from 'Bastard' Hypodorian"},rat_hypodpen5:{frequencies:[261.6255653006,275.39533189537,290.69507255622,348.83408706747,380.54627680087,394.90651366128,410.39304360878,523.2511306012],description:"2+3 rationalized pentachromatic/pentenharmonic genus from 'Bastard' Hypodorian"},rat_hypodpen6:{frequencies:[261.6255653006,268.33391312882,299.00064605783,348.83408706747,380.54627680087,394.90651366128,418.60090448096,523.2511306012],description:"2+3 rationalized pentachromatic/pentenharmonic genus from 'Bastard' Hypodorian"},rat_hypodtri:{frequencies:[261.6255653006,273.00058987889,285.40970760065,348.83408706747,380.54627680087,392.4383479509,405.0976494977,523.2511306012],description:"rationalized first (1+1) trichromatic genus derived from K.S.'s 'Bastard' hyp"},rat_hypodtri2:{frequencies:[261.6255653006,273.00058987889,299.00064605783,348.83408706747,380.54627680087,392.4383479509,418.60090448096,523.2511306012],description:"rationalized second (1+2) trichromatic genus derived from K.S.'s 'Bastard' hyp"},rat_hypolenh:{frequencies:[261.6255653006,268.33391312882,275.39533189537,348.83408706747,373.75080757229,402.50086969323,410.39304360878,418.60090448096,523.2511306012],description:"Rationalized Schlesinger's Hypolydian Harmonia in the enharmonic genus"},rat_hypopchrom:{frequencies:[261.6255653006,277.01530443593,294.32876096318,362.25078272391,392.4383479509,409.50088481833,428.11456140098,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in the chromatic genus"},rat_hypopenh:{frequencies:[261.6255653006,269.10058145205,277.01530443593,362.25078272391,392.4383479509,400.78810003496,409.50088481833,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in the enharmonic genus"},rat_hypoppen:{frequencies:[261.6255653006,273.79419624481,294.32876096318,362.25078272391,392.4383479509,405.97070477679,428.11456140098,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in the pentachromatic genus"},rat_hypoptri:{frequencies:[261.6255653006,271.68808704293,282.55561052465,362.25078272391,392.4383479509,403.65087217807,415.52295665389,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in first trichromatic genus"},rat_hypoptri2:{frequencies:[261.6255653006,271.68808704293,294.32876096318,362.25078272391,392.4383479509,403.65087217807,428.11456140098,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in second trichromatic genus"},rectsp10:{frequencies:[261.6255653006,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,340.11323489078,348.83408706747,359.73515228832,366.27579142084,373.75080757229,377.90359432309,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,436.04260883433,444.76346101102,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,490.54793493862,494.18162334558,497.08857407114,523.2511306012],description:"Rectangle minimal beats spectrum of order 10"},rectsp10a:{frequencies:[261.6255653006,275.39533189537,277.01530443593,279.06726965397,281.75060878526,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,307.79478270659,313.95067836072,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,359.73515228832,362.25078272391,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,402.50086969323,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,444.76346101102,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,485.87604984397,490.54793493862,494.18162334558,497.08857407114,523.2511306012],description:"Rectangle minimal beats spectrum of order 10 union with inversion"},rectsp11:{frequencies:[261.6255653006,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,404.33041910093,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,444.76346101102,448.50096908674,451.89870370104,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,485.87604984397,490.54793493862,494.18162334558,497.08857407114,499.46698830115,523.2511306012],description:"Rectangle minimal beats spectrum of order 11"},rectsp12:{frequencies:[261.6255653006,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,356.76213450082,359.73515228832,366.27579142084,370.63621750918,373.75080757229,377.90359432309,380.54627680087,392.4383479509,404.33041910093,406.97310157871,411.12588832951,414.24047839262,418.60090448096,425.14154361347,428.11456140098,436.04260883433,444.76346101102,448.50096908674,451.89870370104,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,485.87604984397,490.54793493862,494.18162334558,497.08857407114,499.46698830115,501.44900015948,523.2511306012],description:"Rectangle minimal beats spectrum of order 12"},rectsp6:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Rectangle minimal beats spectrum of order 6 (=songlines)"},rectsp6a:{frequencies:[261.6255653006,285.40970760065,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Rectangle minimal beats spectrum of order 6 union with inversion"},rectsp7:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"Rectangle minimal beats spectrum of order 7"},rectsp7a:{frequencies:[261.6255653006,281.75060878526,285.40970760065,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,332.97799220076,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,411.12588832951,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"Rectangle minimal beats spectrum of order 7 union with inversion"},rectsp8:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,490.54793493862,523.2511306012],description:"Rectangle minimal beats spectrum of order 8"},rectsp8a:{frequencies:[261.6255653006,279.06726965397,281.75060878526,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,322.00069575458,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,490.54793493862,523.2511306012],description:"Rectangle minimal beats spectrum of order 8 union with inversion"},rectsp9:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,377.90359432309,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,490.54793493862,494.18162334558,523.2511306012],description:"Rectangle minimal beats spectrum of order 9"},rectsp9a:{frequencies:[261.6255653006,277.01530443593,279.06726965397,281.75060878526,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,362.25078272391,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,490.54793493862,494.18162334558,523.2511306012],description:"Rectangle minimal beats spectrum of order 9 union with inversion"},redfield:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Redfield New Diatonic"},reinhard:{frequencies:[261.6255653006,277.01530443593,294.32876096318,309.81974838229,327.03195662575,348.83408706747,369.35373924791,392.4383479509,413.09299784305,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"Reinhard 19-limit superparticular"},reinhard17:{frequencies:[261.6255653006,277.01530443593,277.97716313189,286.94416839421,292.40504357126,296.50897400735,307.79478270659,317.68818643644,338.57426097725,342.12573923925,369.35373924791,400.13321751856,404.33041910093,430.91269578922,444.76346101102,477.08191319521,492.47165233054,523.2511306012],description:`Reinhard's Harmonic-17 tuning for "Tresspass", 1998`},renteng1:{frequencies:[261.6255653006,285.40970760065,313.15788183285,391.64553850062,426.52890806662,523.2511306012],description:"Gamelan Renteng from Chileunyi (Tg. Sari). 1/1=330 Hz"},renteng2:{frequencies:[261.6255653006,294.32876096318,311.77048523333,396.07199334683,425.86840190162,523.2511306012],description:"Gamelan Renteng from Chikebo (Tg. Sari). 1/1=360 Hz"},renteng3:{frequencies:[261.6255653006,278.97471276149,312.97903559457,379.60005211265,409.44065404912,468.42785143649,523.2511306012],description:"Gamelan Renteng from Lebakwangi (Pameungpeuk). 1/1=377 Hz"},renteng4:{frequencies:[261.6255653006,296.45730715573,311.93819010347,397.0826586675,424.17395032031,523.2511306012],description:"Gamelan Renteng Bale` bandung from Kanoman (Cheribon). 1/1=338 Hz"},robot:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Dead Robot (see lattice)"},robot_live:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,334.88072358477,348.83408706747,376.74081403286,392.4383479509,418.60090448096,446.50763144636,490.54793493862,502.32108537715,523.2511306012],description:"Live Robot"},romieu:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Romieu's Monochord, Memoire theorique & pratique (1758)"},romieu_inv:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Romieu inverted, Pure (just) C minor in Wilkinson: Tuning In"},rosati_21:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Dante Rosati, JI guitar tuning"},rosati_21a:{frequencies:[261.6255653006,280.31310567921,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,488.36772189445,523.2511306012],description:"Alternative version of rosati_21 with more tetrads"},rousseau:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Rousseau's Monochord, Dictionnaire de musique (1768)"},rousseauw:{frequencies:[261.6255653006,276.81658657456,293.31219032635,311.14941643136,328.83652403056,349.33732971591,369.19521129916,391.76004912942,415.1051791302,439.20783490896,466.32059269121,492.40223109551,523.2511306012],description:"Jean-Jacques Rousseau's temperament (1768)"},rsr_12:{frequencies:[261.6255653006,279.06726965397,299.00064605783,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"RSR - 7 limit JI"},"rvf-1":{frequencies:[261.6255653006,272.14556467328,280.20095193414,292.09989854643,304.19649364034,313.29104303136,326.0297292803,340.21856244106,350.08660369014,364.11104988921,374.67209286633,390.97784457618,406.87534373272,419.03967825638,436.39317047385,454.92493848389,468.39051363853,487.22455955444,508.94280091833,523.2511306012],description:"D-A 695 cents, the increment is 0.25 cents, interval range 49.5 to 75.5"},"rvf-2":{frequencies:[261.6255653006,272.87751533003,278.75612859219,292.27711197479,305.71136588092,312.51386339015,326.29348693151,342.97106251658,349.87433921674,364.79522794952,372.13777859784,391.13596290168,408.38225803817,417.4934384938,436.65792486176,457.83788806384,467.7011114131,487.81592522452,513.9947144098,523.2511306012],description:"695 cents, 0.607 cents, 31-90 cents, C-A# is 7/4."},"rvf-3":{frequencies:[261.6255653006,272.98787180262,278.19314238431,292.29399505039,306.11778315204,312.24320803046,326.25579420701,343.90343447252,349.81371586656,364.81629995674,371.08598724028,391.15855645336,408.71263878415,416.89098941754,436.60748307387,458.73792719255,467.48503753613,487.78774868553,515.83876338215,523.2511306012],description:"694.737, 0.082, 25-97, the fifth E#-B# is 3/2."},majmin:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Malcolm & Marpurg 4 (Yamaha major & minor) mixed. Mersenne/Ban without D#"},major_clus:{frequencies:[261.6255653006,275.93321340298,290.69507255622,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Chalmers' Major Mode Cluster"},major_wing:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Chalmers' Major Wing with 7 major and 6 minor triads"},malcolm:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Malcolm's Monochord (1721), and C major in Yamaha synths, Wilkinson: Tuning In"},malcolm2:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,463.29527188648,490.54793493862,523.2511306012],description:"Malcolm 2"},malcolm_ap:{frequencies:[261.6255653006,279.47938236087,293.66476791741,313.97746652079,326.1838132033,349.22823143301,369.99442271164,391.99543598175,419.68935090103,436.0054062308,466.16376151809,489.82458627646,523.2511306012],description:"Best approximations in mix of all ETs from 12-23 to Malcolm's Monochord"},malcolm_me:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,457.84473927605,490.54793493862,523.2511306012],description:"Malcolm's Mid-East"},malcolme:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,465.11211608996,496.11959049595,523.2511306012],description:"Most equal interval permutation of Malcolm's Monochord"},malcolme2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Inverse most equal interval permutation of Malcolm's Monochord"},malcolms:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,369.99442271164,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Symmetrical version of Malcolm's Monochord and Albion scale"},malerbi:{frequencies:[261.6255653006,275.62199471997,292.73769384471,310.07474405997,327.54963108844,348.83408706747,367.49599295996,391.37619916626,413.43299207996,437.91808280662,465.11211608996,489.99465727995,523.2511306012],description:"Luigi Malerbi's well-temperament nr.1 (1794) (nr.2 = Young)"},malgache:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,327.03195662575,353.19451315581,367.91095120397,392.4383479509,413.89982010446,441.49314144476,459.88868900496,490.54793493862,523.2511306012],description:"tuning from Madagascar"},malgache1:{frequencies:[261.6255653006,279.06726965397,294.32876096318,310.07474405997,327.03195662575,353.19451315581,376.74081403286,392.4383479509,418.60090448096,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"tuning from Madagascar"},malgache2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,353.19451315581,367.91095120397,392.4383479509,408.78994578219,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"tuning from Madagascar"},malkauns:{frequencies:[261.6255653006,313.95067836072,348.83408706747,418.60090448096,465.11211608996,523.2511306012],description:"Raga Malkauns, inverse of prime_5"},mambuti:{frequencies:[261.6255653006,294.34406205295,331.72862856444,394.26624244126,466.16376151809,525.06772693396,590.39077962608,792.18471060794,999.82182774046],description:"African Mambuti Flutes (aerophone; vertical wooden; one note each)"},mandelbaum5:{frequencies:[261.6255653006,272.52663052146,282.55561052465,290.69507255622,302.80736724606,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,376.74081403286,392.4383479509,403.74315632809,418.60090448096,436.04260883433,454.2110508691,470.92601754108,484.4917875937,502.32108537715,523.2511306012],description:"Mandelbaum's 5-limit 19-tone scale, kleismic detempered circle of minor thirds"},mandelbaum7:{frequencies:[261.6255653006,272.52663052146,280.31310567921,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,376.74081403286,392.4383479509,406.97310157871,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,504.56359022259,523.2511306012],description:"Mandelbaum's 7-limit 19-tone scale"},marimba1:{frequencies:[261.6255653006,284.4818984792,319.50463429683,342.83241505062,371.92288545737,411.72190027758,457.09800545097,500.48847822777,547.68138927822,612.97866327818,651.68292300609,728.11694797601,807.8963375694,903.69557412727,1013.19282257599,1069.7265813247,1225.95732655636,1303.36584601218],description:"Marimba of the Bakwese, SW Belgian Congo (Zaire). 1/1=140.5 Hz"},marimba2:{frequencies:[261.6255653006,279.11058864149,318.03161540472,343.03050002254,379.95718438213,421.58889248327,458.6849347701,519.33670373121,571.2689787911,613.68721319418,694.83488613378,761.23234162637,846.59395682498,953.56868388592,1049.52904699774,1145.8425062572,1271.3918647407,1389.66977226756],description:"Marimba of the Bakubu, S. Belgian Congo (Zaire). 1/1=141.5 Hz"},marimba3:{frequencies:[261.6255653006,296.73398952435,348.2210758395,420.13030572059,476.50902003141,518.73708886244,603.49292471609,696.44215167899,840.26061144117,953.01804006282,1037.47417772488],description:"Marimba from the Yakoma tribe, Zaire. 1/1=185.5 Hz"},marion:{frequencies:[261.6255653006,269.91407136119,278.46532473603,287.28749371714,296.38899008685,305.77900572762,315.46632790985,325.46074015958,335.7715953476,346.4093067252,357.3838291689,368.70624618807,380.38737313392,392.4383479509,411.71310103548,431.93429139282,453.14890242083,475.40520223986,498.75490298644,523.2511306012],description:"scale with two different ET step sizes"},marion1:{frequencies:[261.6255653006,262.79353657426,272.52663052146,280.31310567921,286.15296204753,294.32876096318,305.22982618403,311.45900631024,327.03195662575,336.37572681506,343.38355445704,350.39138209902,367.91095120397,373.75080757229,381.53728273004,392.4383479509,408.78994578219,420.46965851882,436.04260883433,457.84473927605,467.18850946536,476.92160341255,490.54793493862,515.07533168556,523.2511306012],description:"Marion's 7-limit Scale # 1"},marion10:{frequencies:[261.6255653006,267.07609791103,272.52663052146,286.15296204753,290.69507255622,296.75121990114,305.22982618403,317.94773560837,327.03195662575,339.14425131559,356.10146388137,363.36884069528,370.93902487643,381.53728273004,400.61414686654,406.97310157871,408.78994578219,423.93031414449,436.04260883433,445.12682985172,457.84473927605,474.80195184183,476.92160341255,484.4917875937,508.71637697339,523.2511306012],description:"Marion's 7-limit Scale # 10"},marion15:{frequencies:[261.6255653006,269.10058145205,280.31310567921,288.32205155576,299.00064605783,313.95067836072,320.35783506196,327.03195662575,336.37572681506,353.19451315581,358.80077526939,360.4025644447,373.75080757229,384.42940207435,392.4383479509,403.65087217807,418.60090448096,420.46965851882,427.14378008261,448.50096908674,461.31528248922,470.92601754108,480.53675259294,504.56359022259,523.2511306012],description:"Marion's 7-limit Scale # 15"},marion19:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,294.32876096318,309.04519901133,313.95067836072,315.35224388912,327.03195662575,336.37572681506,343.38355445704,353.19451315581,366.27579142084,367.91095120397,373.75080757229,392.4383479509,403.65087217807,412.06026534844,420.46965851882,441.49314144476,457.84473927605,470.92601754108,490.54793493862,504.56359022259,515.07533168556,523.2511306012],description:"Marion's 7-limit Scale # 19"},marion26:{frequencies:[261.6255653006,271.31540105247,279.06726965397,284.8811711051,293.02063313667,303.87324917877,305.22982618403,310.07474405997,325.57848126297,334.88072358477,341.85740532612,348.83408706747,366.27579142084,379.84156147346,390.69417751556,406.97310157871,418.60090448096,427.32175665765,434.10464168396,455.80987376816,465.11211608996,474.80195184183,488.36772189445,512.78610798918,523.2511306012],description:"Marion's 7-limit Scale # 26"},marissing:{frequencies:[261.6255653006,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Peter van Marissing, just scale, Mens en Melodie, 1979"},"marpurg-1":{frequencies:[261.6255653006,276.86979852503,294.32876096318,311.47852302926,329.62755691287,348.83408706747,370.83100115625,392.4383479509,415.30469757995,439.50340943686,467.21778431035,494.44133512215,523.2511306012],description:"Other temperament by Marpurg, 3 fifths 1/3 Pyth. comma flat"},"marpurg-t1":{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Marpurg's temperament nr.1, Kirnbergersche Temperatur (1766)"},"marpurg-t11":{frequencies:[261.6255653006,278.12325072816,294.32876096318,311.47852302926,331.11985608357,348.83408706747,371.66947115233,392.4383479509,416.24372513446,441.49314144476,466.16376151809,496.67978412536,523.2511306012],description:"Marpurg's temperament nr.11, 6 tempered fifths"},"marpurg-t12":{frequencies:[261.6255653006,279.06706247425,294.66131982972,310.42509491746,330.74614861362,349.22823143301,372.08941681833,392.88175996935,418.60059350213,441.99197952365,465.63764214343,496.11922267243,523.2511306012],description:"Marpurg's temperament nr.12, 4 tempered fifths"},"marpurg-t2":{frequencies:[261.6255653006,278.75210322491,294.32876096318,313.59611581451,331.11985608357,348.83408706747,371.66947115233,392.4383479509,418.12815462835,441.49314144476,470.39417348663,495.55929511749,523.2511306012],description:"Marpurg's temperament nr.2, 2 tempered fifths, Neue Methode (1790)"},"marpurg-t3":{frequencies:[261.6255653006,276.55731914056,294.32876096318,311.12698372208,331.11985608357,348.83408706747,368.74309237173,392.4383479509,414.83597850347,441.49314144476,465.11211608996,491.65745674141,523.2511306012],description:"Marpurg's temperament nr.3, 2 tempered fifths"},"marpurg-t4":{frequencies:[261.6255653006,276.86979852503,294.32876096318,310.07474405997,331.11985608357,348.83408706747,369.15973155124,392.4383479509,415.30469757995,441.49314144476,465.11211608996,492.21297564769,523.2511306012],description:"Marpurg's temperament nr.4, 2 tempered fifths"},"marpurg-t5":{frequencies:[261.6255653006,277.80935667884,294.32876096318,312.53552595124,331.11985608357,348.83408706747,370.41247575694,392.4383479509,416.71403480995,441.49314144476,468.80328869252,493.88330125613,523.2511306012],description:"Marpurg's temperament nr.5, 2 tempered fifths"},"marpurg-t7":{frequencies:[261.6255653006,276.86979852503,293.00227310437,310.07474405997,329.62755691287,348.83408706747,369.15973155124,390.66969766777,415.30469757995,439.50340943686,465.11211608996,492.21297564769,523.2511306012],description:"Marpurg's temperament nr.7, 3 tempered fifths"},"marpurg-t8":{frequencies:[261.6255653006,277.49581689502,293.33333347996,311.12698372208,329.99999983505,348.83408706747,369.99442271164,391.11111150212,414.83597850347,440,466.69047534984,493.32589719545,523.2511306012],description:"Marpurg's temperament nr.8, 4 tempered fifths"},"marpurg-t9":{frequencies:[261.6255653006,277.49581689502,294.32876096318,312.18279369479,331.11985608357,350.01785633742,371.24999944327,392.4383479509,416.24372513446,441.49314144476,468.27419030811,496.67978412536,523.2511306012],description:"Marpurg's temperament nr.9, 4 tempered fifths"},marpurg:{frequencies:[261.6255653006,277.49581689502,293.83071040301,311.12698372208,329.99999983505,349.42557141756,369.99442271164,392.4383479509,415.53937569366,440,466.69047534984,494.16238213869,523.2511306012],description:"Marpurg, Versuch ueber die musikalische Temperatur (1776), p. 153"},marpurg1:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Marpurg's Monochord no.1 (1776)"},marpurg3:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Marpurg 3"},marpurg4:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Marpurg 4, also Yamaha Pure Minor"},marsh:{frequencies:[261.6255653006,275.50659558095,293.15632631094,311.93674864629,328.48713220126,349.53094576004,368.07595926604,391.65594491223,412.43597848639,438.85779226656,466.97226207056,491.74834273545,523.2511306012],description:"John Marsh's meantone temperament (1809)"},marsh2:{frequencies:[261.6255653006,277.22760066578,293.66431501254,311.21660561883,329.70790803338,349.18845812715,369.99117208793,391.90679138833,415.30984563838,439.96491544382,466.29335337935,494.03030700757,523.2511306012],description:"John Marsh's quasi-equal temperament (1840)"},mavila12:{frequencies:[261.6255653006,256.98292999787,287.53945699376,321.72930260925,316.02010771872,353.59644178868,347.32175377489,388.62000642034,381.72381344999,427.11263899087,477.89842030218,469.41794908116,525.2340355968],description:"A 12-note mavila scale (for warping meantone-based music)"},mavila9:{frequencies:[261.6255653006,287.53945699376,316.02010771872,321.72930260925,353.59644178868,388.62000642034,427.11263899087,434.82882549415,477.89842030218,525.2340355968],description:"9-note scale of mavila temperament (TOP tuning)"},mavlim1:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,465.11211608996,523.2511306012],description:"First 27/25&135/128 scale"},mbira_banda:{frequencies:[261.6255653006,291.13134764929,327.53979283172,368.50142299854,404.88256627495,443.57258128492,480.10063929961,555.00605988575],description:"Mubayiwa Bandambira's tuning of keys R2-R9 from Berliner: The soul of mbira."},mbira_banda2:{frequencies:[261.6255653006,321.16993719469,360.29289210659,380.8360868427,422.32008370967,461.34206956593,587.32953583482,513.96502576833,761.67217368541,711.48673390068,849.04255025658,936.10488897708,1046.50286568598,633.49659152295,1055.60951665979,1174.65975017952,1321.5609185619,1486.83332446121,1633.62433483289,1789.73120457747,1937.11498804338,2239.34414798534],description:"Mubayiwa Bandambira's Mbira DzaVadzimu tuning B1=114 Hz"},mbira_gondo:{frequencies:[261.6255653006,315.28798447451,345.21700307457,379.51849407657,422.56409582244,461.07566488503,564.05539604512,516.94239487354,778.57545143809,697.24717811406,842.69088701475,926.42243447898,1029.11884353824,628.3943418294,1040.47545270591,1153.813137635,1308.64724593201,1415.59600512246,1572.51770682594,1715.83353717518,1883.05646656025,2103.91477035149],description:"John Gondo's Mbira DzaVadzimu tuning B1=122 Hz"},mbira_kunaka:{frequencies:[261.6255653006,292.98704147282,325.27731021818,350.44066402496,386.59871897734,434.19311733646,479.82340237272,507.76825077597],description:"John Kunaka's mbira tuning of keys R2-R9"},mbira_kunaka2:{frequencies:[261.6255653006,340.26769547546,358.83903996308,405.11650317313,448.98591596033,490.75518955849,622.61349925697,541.70354187177,817.28364083393,724.3415782324,907.35693646861,997.5144154576,1094.73088724383,673.88551872153,1085.91380691742,1216.08403680913,1350.10935126711,1454.55340013417,1604.63250673428,1802.17976955899,1991.5747030301,2107.56373750553],description:"John Kunaka's Mbira DzaVadzimu tuning B1=113 Hz"},mbira_mude:{frequencies:[261.6255653006,289.28740724512,309.15639683494,364.68988616898,372.56793743951,408.17001145418,507.1819925915,459.74594725879,689.63684605432,610.50517472746,760.79276355093,824.39562982862,887.65774573556,562.75365576207,888.68380073365,1015.53708814899,1126.80895076279,1206.28956516212,1365.00817887311,1507.58874420517,1666.02447560859,1935.99638964471],description:"Hakurotwi Mude's Mbira DzaVadzimu tuning B1=132 Hz"},mbira_mujuru:{frequencies:[261.6255653006,281.37682788104,301.05008478933,329.43721154897,394.9500460767,419.64523240241,533.01280425363,488.77489658044,700.88132804992,602.10016957865,765.19999119503,809.29752893,942.6160133907,577.57308891646,937.72844143307,1046.50286568598,1145.18149427149,1243.7900049313,1411.51350174391,1540.15576038017,1658.34356815416,1904.9365287586],description:"Ephat Mujuru's Mbira DzaVadzimu tuning, B1=106 Hz"},mbira_zimb:{frequencies:[261.6255653006,276.86260193655,305.95868600104,343.62544191138,379.08031027329,408.40584780369,453.41648894489,507.76825077597],description:"Shona mbira scale"},mboko_bow:{frequencies:[261.6255653006,347.61817721989,375.37611551499],description:"African Mboko Mouth Bow (chordophone, single string, plucked)"},mboko_zither:{frequencies:[261.6255653006,294.68429813772,319.3201344739,354.92237405774,396.55020354877,418.67676528474,472.67116512585,513.07516347663],description:"African Mboko Zither (chordophone; idiochordic palm fibre, plucked)"},mcclain:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,327.03195662575,331.11985608357,367.91095120397,392.4383479509,408.78994578219,441.49314144476,490.54793493862,510.98743222773,523.2511306012],description:"McClain's 12-tone scale, see page 119 of The Myth of Invariance"},mcclain_18:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,319.36714514233,327.03195662575,331.11985608357,344.91651675372,367.91095120397,383.2405741708,392.4383479509,408.78994578219,413.89982010446,441.49314144476,459.88868900496,490.54793493862,496.67978412536,510.98743222773,523.2511306012],description:"McClain's 18-tone scale, see page 143 of The Myth of Invariance"},mcclain_8:{frequencies:[261.6255653006,294.32876096318,327.03195662575,367.91095120397,392.4383479509,408.78994578219,441.49314144476,490.54793493862,523.2511306012],description:"McClain's 8-tone scale, see page 51 of The Myth of Invariance"},mccoskey_22:{frequencies:[261.6255653006,270.06509966514,279.06726965397,287.78812183066,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,382.37582620857,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,506.89953276991,523.2511306012],description:"31-limit rational interpretation of 22-tET, Marion McCoskey"},mclaren_bar:{frequencies:[261.6255653006,281.77400528964,292.14326370913,304.76756192248,325.50548568708,328.66136118639,353.45752508165,360.67039921732,379.1552038283,397.63971531932,405.75513620619,436.411067852,476.98680497297,521.16951219839],description:"Metal bar scale. see McLaren, Xenharmonicon 15, pp.31-33"},mclaren_cps:{frequencies:[261.6255653006,275.93321340298,286.15296204753,294.32876096318,306.59245933664,327.03195662575,343.38355445704,367.91095120397,392.4383479509,408.78994578219,429.2294430713,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"2)12 [1,2,3,4,5,6,8,9,10,12,14,15] a degenerate CPS"},mclaren_harm:{frequencies:[261.6255653006,279.06726965397,299.00064605783,304.4370214407,307.2300216374,348.83408706747,380.54627680087,389.39619021485,393.97732186443,398.6675280771,465.11211608996,523.2511306012],description:'from "Wilson part 9", claimed to be Schlesingers Dorian Enharmonic, prov. unkn'},mclaren_rath1:{frequencies:[261.6255653006,279.06726965397,299.00064605783,334.88072358477,341.71502406609,348.83408706747,372.08969287196,380.54627680087,389.39619021485,398.6675280771,492.47165233054,507.3950357345,523.2511306012],description:"McLaren Rat H1"},mclaren_rath2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,334.88072358477,341.71502406609,348.83408706747,380.54627680087,389.39619021485,398.6675280771,440.63253103259,452.54151835779,465.11211608996,523.2511306012],description:"McLaren Rat H2"},mean10:{frequencies:[261.6255653006,272.18829429226,292.14313377277,313.56091500001,326.220453695,350.13653284039,364.27275363262,390.97854693193,406.76370320307,436.58461973079,468.59178605305,487.51045723915,523.2511306012],description:"3/10-comma meantone scale"},mean11:{frequencies:[261.6255653006,272.83457350033,292.34115464648,313.24237654315,326.6628419965,350.01792709981,365.01399145768,391.11103243201,407.86767761879,437.02858581415,468.2743796482,488.33699124025,523.2511306012],description:"3/11-comma meantone scale. A.J. Ellis no. 10"},mean11ls_19:{frequencies:[261.6255653006,272.93479580544,280.25721516838,292.37183188538,305.01012622427,313.1930753928,326.73140514978,340.85495140859,349.99956372811,365.12891753666,374.92476290643,391.13155279262,408.03891236124,418.98596425085,437.09738047696,455.99169236578,468.2252457596,488.46511500326,509.57988860269,523.2511306012],description:"Least squares appr. to 3/2, 5/4, 7/6, 15/14 and 11/8, Petr Par\xEF\xBF\xBDzek"},mean13:{frequencies:[261.6255653006,273.83184954717,292.64606374809,312.75295135888,327.34460995374,349.8355370417,366.15730590163,391.31494185909,409.57195510156,437.7124891801,467.78648270341,489.61131479929,523.2511306012],description:"3/13-comma meantone scale"},mean14:{frequencies:[261.6255653006,274.22463192287,292.76593693997,312.56088569186,327.61283758281,349.76390952171,366.60744235102,391.39507854003,410.24343789088,437.98145930734,467.59494724206,490.11285326462,523.2511306012],description:"3/14-comma meantone scale (Giordano Riccati, 1762)"},mean14_15:{frequencies:[261.6255653006,274.22463192287,279.31500250577,292.76593693997,306.86462618694,312.56088569186,327.61283758281,349.76390952171,366.60744235102,391.39507854003,410.24343789088,417.8586951835,437.98145930734,467.59494724206,490.11285326462,523.2511306012],description:"15 of 3/14-comma meantone scale"},mean14_19:{frequencies:[261.6255653006,274.22463192287,279.31500250577,292.76593693997,306.86462618694,312.56088569186,327.61283758281,343.38964426558,349.76390952171,366.60744235102,373.41269440635,391.39507854003,410.24343789088,417.8586951835,437.98145930734,459.07327263526,467.59494724206,490.11285326462,513.71515101261,523.2511306012],description:"19 of 3/14-comma meantone scale"},mean14_7:{frequencies:[261.6255653006,292.76593693997,327.61283758281,349.76390952171,391.39507854003,437.98145930734,490.11285326462,523.2511306012],description:"Least squares appr. of 5L+2S to Ptolemy's Intense Diatonic scale"},mean14a:{frequencies:[261.6255653006,274.24690838881,292.77273178776,312.55000460003,327.62804498858,349.75985073129,366.63296888199,391.39962048672,410.28152481852,437.9967071602,467.58409501387,490.1412915133,523.2511306012],description:'fifth of sqrt(5/2)-1 octave "recursive" meantone, Paul Hahn'},mean16:{frequencies:[261.6255653006,274.864106667,292.9608347655,312.24903186879,328.04917632434,349.64754658398,367.34009701877,391.52533508436,411.33694767869,438.41888642025,467.28387071703,490.92894854125,523.2511306012],description:"3/16-comma meantone scale"},mean17:{frequencies:[261.6255653006,273.72412433093,292.61316553779,312.80569569783,327.2710181906,349.85520131118,366.03383354947,391.29294726693,409.38781813791,437.63868343995,467.83907547741,489.47372981579,523.2511306012],description:"4/17-comma meantone scale, least squares error of 5/4 and 3/2"},mean17_17:{frequencies:[261.6255653006,273.72412433093,279.67971414776,292.61316553779,306.14471057197,312.80569569783,327.2710181906,349.85520131118,366.03383354947,373.99786656393,391.29294726693,409.38781813791,418.29512920081,437.63868343995,457.8767570375,467.83907547741,489.47372981579,523.2511306012],description:"4/17-comma meantone scale with split C#/Db, D#/Eb, F#/Gb, G#/Ab and A#/Bb"},mean17_19:{frequencies:[261.6255653006,273.72412433093,279.67971414776,292.61316553779,306.14471057197,312.80569569783,327.2710181906,342.40527209253,349.85520131118,366.03383354947,373.99786656393,391.29294726693,409.38781813791,418.29512920081,437.63868343995,457.8767570375,467.83907547741,489.47372981579,512.10885267608,523.2511306012],description:"4/17-comma meantone scale, least squares error of 5/4 and 3/2"},mean18:{frequencies:[261.6255653006,272.71477685134,292.30447317753,313.30134186202,326.58087306932,350.03988839382,364.87661266094,391.0864943589,407.66301227525,436.94633423564,468.33314368944,488.18382342185,523.2511306012],description:"5/18-comma meantone scale (Smith). 3/2 and 5/3 eq. beat. A.J. Ellis no. 9"},mean19:{frequencies:[261.6255653006,273.06170311607,292.41066686775,313.13068664042,326.81820677503,349.97632128221,365.27443420834,391.15752841841,408.25574814862,437.18446858874,468.16306089008,488.62733218513,523.2511306012],description:"5/19-comma meantone scale, fifths beats three times third. A.J. Ellis no. 11"},mean19r:{frequencies:[261.6255653006,273.04332227389,292.40504357126,313.13971948727,326.80563693258,349.97968716666,365.25335892465,391.15376651139,408.22434232755,437.17185753972,468.17206422213,488.60384173026,523.2511306012],description:"Approximate 5/19-comma meantone with 19/17 tone, Petr Parizek, 2002"},mean23:{frequencies:[261.6255653006,274.15058593695,292.74334833321,312.59706303545,327.56228503462,349.77740346966,366.52259116395,391.37997903742,410.11684180717,437.93077103284,467.63102771476,490.01832104213,523.2511306012],description:"5/23-comma meantone scale, A.J. Ellis no. 4"},mean23six:{frequencies:[261.6255653006,273.11604376732,292.42729246507,313.10398392891,326.85537164611,349.96637341293,365.33674088125,391.16864715511,408.34860251967,437.22175336101,468.13644404983,488.69678846289,523.2511306012],description:"6/23-comma meantone scale"},mean25:{frequencies:[261.6255653006,272.66208311698,292.28833573479,313.32728859832,326.54481265413,350.04955123355,364.81618195011,391.07569872695,407.57299290994,436.91015056532,468.35900068872,488.11644468937,523.2511306012],description:"7/25-comma meantone scale, least square weights 3/2:0 5/4:1 6/5:1"},mean26:{frequencies:[261.6255653006,272.91754119498,292.36655103694,313.20156187458,326.7196004604,350.00272362315,365.10913291207,391.12802157824,408.00943064927,437.08553692506,468.23370304224,488.44305713046,523.2511306012],description:"7/26-comma meantone scale (Woolhouse 1835). Almost equal to meaneb742"},mean26_21:{frequencies:[261.6255653006,272.91754592428,280.26986822267,292.36655272572,304.98534036063,313.20156006546,326.71960423481,335.52133892506,340.8210986211,350.00272362315,365.10913712997,374.9450750913,391.12802157824,408.00943771953,419.00109777107,437.08553944976,455.95052092314,468.23370033762,488.44306277317,501.60158217053,509.52467838008,523.2511306012],description:"21 of 7/26-comma meantone scale (Woolhouse 1835)"},mean27:{frequencies:[261.6255653006,273.15429014256,292.43899158768,313.08519355925,326.88152513903,349.9593710588,365.38059276675,391.17647406766,408.41395592075,437.24799400905,468.11771609009,488.74567091648,523.2511306012],description:"7/27-comma meantone scale, least square weights 3/2:2 5/4:1 6/5:1"},mean29:{frequencies:[261.6255653006,273.57932033947,292.56893127899,312.87664195194,327.1720749345,349.88164908166,365.86785468743,391.26336919078,409.14031659695,437.53944680455,467.90980928584,489.28875967044,523.2511306012],description:"7/29-comma meantone scale, least square weights 3/2:4 5/4:1 6/5:1"},mean2sev:{frequencies:[261.6255653006,272.52663052146,292.24684137387,313.39402123097,326.45210604021,350.07440004945,364.66083404534,391.04793957621,407.34160211012,436.81711699543,468.42550014967,487.94322738789,523.2511306012],description:"2/7-comma meantone scale. Zarlino's temperament (1558). See also meaneb371"},mean2sev_15:{frequencies:[261.6255653006,272.52663052146,280.55692507618,292.24689370448,304.42377254813,313.39402847191,326.45203249943,350.07447082328,364.66081719444,391.04786051887,407.34165622677,419.34452602299,436.81710690282,468.42541627199,487.94330348661,523.2511306012],description:"15 of 2/7-comma meantone scale"},mean2sev_19:{frequencies:[261.6255653006,272.52663052146,280.55692507618,292.24689370448,304.42377254813,313.39402847191,326.45203249943,340.0543130973,350.07447082328,364.66081719444,375.40603866065,391.04786051887,407.34165622677,419.34452602299,436.81710690282,455.01770749831,468.42541627199,487.94330348661,508.27414914183,523.2511306012],description:"19 of 2/7-comma meantone scale"},mean2sev_31:{frequencies:[261.6255653006,264.72620698393,272.52663052146,280.55692507618,283.88190679319,292.24689370448,300.8583415146,304.42377254813,313.39402847191,317.10820138491,326.45203249943,336.07138073182,340.0543130973,350.07447082328,354.22315547012,364.66081719444,375.40603866065,379.85514366424,391.04786051887,395.6823437549,407.34165622677,419.34452602299,424.31412061457,436.81710690282,449.68851049921,455.01770749831,468.42541627199,473.97693555703,487.94330348661,502.32108537715,508.27414914183,523.2511306012],description:"31 of 2/7-comma meantone scale"},mean2seveb:{frequencies:[261.6255653006,274.26749945295,292.59076110537,312.44357330613,327.42660602987,349.76102048238,366.6169314736,391.04794861134,410.01084835752,437.49574139527,467.27496094916,489.74950989452,523.2511306012],description:'"2/7-comma" meantone with equal beating fifths. A.J. Ellis no. 8'},mean2sevr:{frequencies:[261.6255653006,272.52663052146,292.24289114742,313.39346366789,326.45152465405,350.07234194042,364.65868952128,391.04531121882,407.33886585294,436.81651812993,468.41855142334,487.93599106598,523.2511306012],description:"Rational approximation to 2/7-comma meantone, 1/1 = 262.9333"},mean9:{frequencies:[261.6255653006,274.03547926168,292.70827332867,306.59245933664,327.48360691354,349.79835961887,366.39065074918,391.35653176554,409.92008797511,437.85206746661,467.68706357679,489.87127257422,523.2511306012],description:"2/9-comma meantone scale, Lemme Rossi, Sistema musico (1666)"},mean94:{frequencies:[261.6255653006,268.79084150406,291.09659021292,315.25339315665,323.88740273232,350.76536842075,360.37196303797,390.27761906502,400.96635635801,434.24075936811,470.27645613296,483.15616342113,523.2511306012],description:"4/9-comma meantone scale"},mean9_15:{frequencies:[261.6255653006,274.03547926168,279.45274708261,292.70827332867,306.59245933664,312.65343270838,327.48360691354,349.79835961887,366.39065074918,391.35653176554,409.92008797511,418.0235894185,437.85206746661,467.68706357679,489.87127257422,523.2511306012],description:"15 of 2/9-comma meantone scale"},mean9_19:{frequencies:[261.6255653006,274.03547926168,279.45274708261,292.70827332867,306.59245933664,312.65343270838,327.48360691354,343.0174228875,349.79835961887,366.39065074918,373.63364091796,391.35653176554,409.92008797511,418.0235894185,437.85206746661,458.62082212371,467.68706357679,489.87127257422,513.10776453427,523.2511306012],description:"19 of 2/9-comma meantone scale"},mean9_31:{frequencies:[261.6255653006,268.72322665693,274.03547926168,279.45274708261,287.03404351137,292.70827332867,298.49467410529,306.59245933664,312.65343270838,321.13524775754,327.48360691354,333.95746354843,343.0174228875,349.79835961887,359.28803828513,366.39065074918,373.63364091796,383.76997851754,391.35653176554,401.97367512027,409.92008797511,418.0235894185,429.36393755067,437.85181455341,446.50763144636,458.62082212371,467.68706357679,480.3749841712,489.87127257422,499.55528826613,513.10776453427,523.2511306012],description:"31 of 2/9-comma meantone scale"},meaneb1071:{frequencies:[261.6255653006,273.45959631537,292.5323192343,305.76452283047,327.09038632535,349.9034421565,365.73073124967,391.23900009103,408.93579686983,437.45744778434,457.24482979639,489.13584427285,523.2511306012],description:"Equal beating 7/4 = 3/2 same."},meaneb1071a:{frequencies:[261.6255653006,273.94115519525,292.67936294368,306.45675889694,327.41929816594,349.81553441422,366.28252094772,391.33731744348,409.75863641311,437.78732645584,458.39517452459,489.75074612717,523.2511306012],description:"Equal beating 7/4 = 3/2 opposite."},meaneb341:{frequencies:[261.6255653006,272.43747957464,292.21954801903,313.43802026715,326.39113133433,350.09085029289,364.55867287416,391.02956482064,407.18921698842,436.75579855003,468.46925117002,487.82916876009,523.2511306012],description:"Equal beating 6/5 = 5/4 same. Almost 4/15 Pyth. comma"},meaneb371:{frequencies:[261.6255653006,272.52577151658,292.24657972098,313.39444482621,326.45151771442,350.07455777399,364.65985037488,391.0477633913,407.34013625771,436.81652657765,468.42591953828,487.94213100406,523.2511306012],description:"Equal beating 6/5 = 3/2 same. Practically 2/7-comma (Zarlino)"},meaneb371a:{frequencies:[261.6255653006,269.83862220337,291.42039690163,314.72828847419,324.6081803116,350.57044084899,361.57569171511,390.49462500658,421.72650333798,434.96526321606,469.75391665508,484.50062400899,523.2511306012],description:"Equal beating 6/5 = 3/2 opposite. Almost 2/5-comma"},meaneb381:{frequencies:[261.6255653006,275.92799893014,293.28437056932,311.73248946737,328.77414682856,349.45463702831,368.55847249214,391.74146894101,416.38271791821,439.14534885862,466.76838786866,492.28548089506,523.2511306012],description:"Equal beating 6/5 = 8/5 same. Almost 1/7-comma"},meaneb451:{frequencies:[261.6255653006,274.36682021224,292.8092284668,312.49148032108,327.70992276921,349.73795145032,366.77030983847,391.42412846541,410.48661799548,438.07873640926,467.5258138363,490.29448158868,523.2511306012],description:"Equal beating 5/4 = 4/3 same, 5/24 comma meantone. A.J. Ellis no. 6"},meaneb471:{frequencies:[261.6255653006,272.3284467197,292.18612898941,313.49179640307,326.31648163178,350.11087068539,364.43361138613,391.00720457415,407.00321492741,436.68087780422,468.52283272721,487.68970701588,523.2511306012],description:"Equal beating 5/4 = 3/2 same. Almost 5/17-comma"},meaneb471a:{frequencies:[261.6255653006,274.14912748586,292.7429036132,312.59777626068,327.56128980523,349.7776701617,366.52092076205,391.37968062521,410.11434970273,437.92977184699,467.63173811584,490.01645860508,523.2511306012],description:"Equal beating 5/4 = 3/2 opposite. Almost 1/5 Pyth. Gottfried Keller (1707)"},meaneb471b:{frequencies:[261.6255653006,272.31089540773,292.18072491748,313.50040506268,326.30440921209,350.11400731728,364.41338872146,391.00370158472,406.97310157871,436.668886633,468.53149836075,487.66729542944,523.2511306012],description:"21/109-comma meantone with 9/7 major thirds, almost equal beating 5/4 and 3/2"},meaneb472:{frequencies:[261.6255653006,270.83769079127,291.72826852127,314.23020335825,325.29440843388,350.38540704884,362.72286472858,390.7008399429,404.45761497645,435.65472502222,469.25816799182,485.78126704788,523.2511306012],description:"Beating of 5/4 = twice 3/2 same. Almost 5/14-comma"},meaneb472_19:{frequencies:[261.6255653006,270.8378472333,281.80541953687,291.72826852127,302.00051792575,314.23002185182,325.29459633135,336.74877333101,350.38540704884,362.72307424558,377.41153667283,390.7008399429,404.45808222448,420.83660282593,435.65497666633,450.99513069838,469.25816799182,485.78154764623,502.88674365212,523.2511306012],description:"Beating of 5/4 = twice 3/2 same, 19 tones"},meaneb472a:{frequencies:[261.6255653006,274.74648495017,292.92493846141,312.30633997417,327.96897748493,349.66886860972,367.20529370531,391.50146074488,411.13561642091,438.33843670622,467.34113372786,490.7787182415,523.2511306012],description:"Beating of 5/4 = twice 3/2 opposite. Almost 3/17-comma"},meaneb591:{frequencies:[261.6255653006,273.06215106005,292.41085266114,313.13038820279,326.81843330822,349.97621009739,365.27491737756,391.15765268623,418.87439289145,437.18488525956,468.16276342643,488.62782610925,523.2511306012],description:"Equal beating 4/3 = 5/3 same."},meaneb732:{frequencies:[261.6255653006,272.00548436883,292.08705896894,313.65121264041,326.09523618955,350.1701397801,364.06303937825,390.94102347986,406.4514961644,436.45893055948,468.68174619223,487.27655969467,523.2511306012],description:"Beating of 3/2 = twice 6/5 same. Almost 4/13-comma"},meaneb732_19:{frequencies:[261.6255653006,272.00553778846,280.94077405591,292.08707584055,303.67560621907,313.65118727632,326.09527197795,339.03307470248,350.17012966679,364.06310036266,376.02237826726,390.94103477068,406.45158772689,419.80330474394,436.45896585468,453.77543893118,468.68171912011,487.27662724555,506.60928680033,523.2511306012],description:"Beating of 3/2 = twice 6/5 same, 19 tones"},meaneb732a:{frequencies:[261.6255653006,270.68848625127,291.6822692306,314.3042667302,325.1920204578,350.41293324447,362.5515203525,390.67014898736,404.20304509584,435.55206635241,469.33217160858,485.59021720901,523.2511306012],description:"Beating of 3/2 = twice 6/5 opposite. Almost 1/3 Pyth. comma"},meaneb742:{frequencies:[261.6255653006,272.89343543801,292.35917287023,313.21341909223,326.70311046689,350.00714105462,365.08148980199,391.12308516115,407.96824372307,437.06899032128,468.24551969328,488.41224041213,523.2511306012],description:"Beating of 3/2 = twice 5/4 same."},meaneb742a:{frequencies:[261.6255653006,273.78850133971,292.63287562287,312.77409391616,327.31510698093,349.84341999552,366.10759179471,391.30612443552,409.49789158088,437.68290117536,467.80756449982,489.55615570194,523.2511306012],description:"Beating of 3/2 = twice 5/4 opposite. Almost 3/13-comma, 3/14 Pyth. comma"},meaneb781:{frequencies:[261.6255653006,273.88372205101,292.66195046404,312.72748571568,327.38015167213,349.82604176358,366.21672762941,391.32556326448,418.15568884829,437.74813244966,467.76108961433,489.67748280644,523.2511306012],description:"Equal beating 3/2 = 8/5 same."},meaneb891:{frequencies:[261.6255653006,272.7426257605,292.31307409948,313.28760473417,326.59990179186,350.03483972175,364.90860969063,391.092135133,419.1546662649,436.96549358815,468.31936361194,488.21959184068,523.2511306012],description:"Equal beating 8/5 = 5/3 same. Almost 5/18-comma"},meaneight:{frequencies:[261.6255653006,276.08926119362,293.33333347996,311.65444160511,328.88393162803,349.42547049952,368.74309237173,391.77416758435,413.43299207996,439.25532436715,466.69047534984,492.49097043477,523.2511306012],description:"1/8 Pyth. comma meantone scale"},meanfifth:{frequencies:[261.6255653006,274.56546814423,292.86978442859,312.39456569414,327.84548435462,349.70179235499,366.99791252626,391.46460164194,410.82629477826,438.21464222188,467.42914467878,490.54793493862,523.2511306012],description:"1/5-comma meantone scale (Verheijen)"},meanfifth2:{frequencies:[261.6255653006,279.06726965397,292.86986732103,312.39452419152,327.84547867349,349.70184487387,366.99801003998,391.46454285105,417.56218018201,438.2147004401,467.42901237995,490.54793493862,523.2511306012],description:"1/5-comma meantone by John Holden (1770)"},meanfifth_19:{frequencies:[261.6255653006,274.56546814423,279.06726965397,292.86978442859,307.35519222791,312.39456569414,327.84548435462,344.06059968708,349.70179235499,366.99791252626,373.01539917593,391.46460164194,410.82629477826,417.56217294621,438.21464222188,459.88868900496,467.42914467878,490.54793493862,514.81033759999,523.2511306012],description:"19 of 1/5-comma meantone scale"},meanfifth_43:{frequencies:[261.6255653006,265.91515911649,270.13633240739,274.56546814423,279.06726965397,283.49717461664,288.14537375445,292.86978442859,297.67175429757,302.39711110066,307.35519222791,312.39456569414,317.35355938713,322.556865357,327.84548435462,333.22081516619,338.51040756711,344.06059968708,349.70179235499,355.43547760922,361.07770857381,366.99791252626,373.01539917593,378.93660287884,385.14971481892,391.46460164194,397.88302689184,404.19904307077,410.82629477826,417.56217294621,424.19061149626,431.14564594215,438.21464222188,445.39957775044,452.46991103879,459.88868900496,467.42914467878,475.09307907327,482.63477102771,490.54793493862,498.59100550039,506.50570672499,514.81033759999,523.2511306012],description:"Complete 1/5-comma meantone scale"},meanfiftheb:{frequencies:[261.6255653006,275.80023422757,293.11157312801,311.73372470712,328.53333183909,349.48325286892,368.3828117434,391.46459711956,412.7266004334,438.69360944226,466.62683936965,491.82624824197,523.2511306012],description:'"1/5-comma" meantone with equal beating fifths'},meangold:{frequencies:[261.6255653006,272.97231199113,292.38331430233,313.17462880702,326.75706743029,349.99269211627,365.17193449866,391.13923210785,408.10300926149,437.12312635029,468.20685771475,488.51307131873,523.2511306012],description:"Meantone scale with Blackwood's R = phi, and diat./chrom. ST = phi, ~4/15-comma"},meanhalf:{frequencies:[261.6255653006,267.49544939623,290.69507255622,315.90677595028,322.99452506247,351.00752840096,358.88280562497,390.00836666198,398.75867291663,433.34262909025,470.92601754108,481.49180950675,523.2511306012],description:"1/2-comma meantone scale"},meanhar2:{frequencies:[261.6255653006,273.08769296879,292.41861893027,305.22982618403,326.83598255713,349.97156260351,365.30423365264,391.16284711627,408.30015740759,437.20230245522,456.35665612784,488.66055322307,523.2511306012],description:"1/9-Harrison's comma meantone scale"},meanhar3:{frequencies:[261.6255653006,274.22153683641,292.76499331753,306.86017365004,327.61072570921,343.38355445704,366.60389537541,391.39444778107,410.23814647641,437.9793418028,459.06587176894,490.10890120058,523.2511306012],description:"1/11-Harrison's comma meantone scale"},meanharris:{frequencies:[261.6255653006,273.71072489962,292.60907359238,306.12544311476,327.26186315247,349.85764856047,366.01847563765,391.29021017831,409.36491649663,437.62950220286,457.84473927605,489.45661357347,523.2511306012],description:"1/10-Harrison's comma meantone scale"},meanhsev:{frequencies:[261.6255653006,265.69493617871,271.18768033644,275.4057836544,279.68949451567,284.03983498254,289.91182549392,294.4211659268,299.00064605783,305.1819244006,309.92877868547,314.74946639166,321.25632089757,326.25319922315,331.32779988873,336.4813337451,343.43745382287,348.77934146077,354.20431777528,361.52682728594,367.15008027699,372.86080050545,378.66034414493,386.48843610249,392.49994642563,398.60496085649,406.84537033315,413.17351844213,419.60009331305,426.12662827999,434.93599657884,441.70106893056,448.57136642871,457.84473927605,464.96613926104,472.19830582795,481.96011959425,489.45661357347,497.06970936204,504.80122352123,515.23704142273,523.2511306012],description:"1/14-septimal schisma tempered meantone scale"},meanhskl:{frequencies:[261.6255653006,275.0605216927,293.02063313667,312.15345277639,328.18310911307,349.61186736411,367.56508220664,391.56529173291,411.67289207144,438.55312706018,467.18850946536,491.17950266504,523.2511306012],description:"Half septimal kleisma meantone"},meanlst357_19:{frequencies:[261.6255653006,273.71260157103,279.68803244686,292.60971924044,306.12821574316,312.81131320311,327.26311833974,342.38279105966,349.85736361975,366.02068710341,374.01129952811,391.29052886394,409.36829077259,418.30522648629,437.63082426891,457.84952434322,467.84458559023,489.45917220726,512.07206464598,523.2511306012],description:"19 of mean-tone scale, least square error in 3/2, 5/4 and 7/4"},meanmalc:{frequencies:[261.6255653006,279.16226462633,292.82999876562,312.45832383396,327.75622702832,349.72564885805,366.84815356577,391.43789792004,417.67588698136,438.12522309524,467.49265244264,490.38100841085,523.2511306012],description:"Meantone approximation to Malcolm's Monochord, 3/16 Pyth. comma"},meannkleis:{frequencies:[261.6255653006,277.55670411237,293.77792781181,311.66693695111,329.88161264913,349.96913477239,370.42222384066,392.07096746411,415.94530241673,440.25439013544,467.06275302556,494.35929617392,523.2511306012],description:"1/5 kleisma tempered meantone scale"},meanpi:{frequencies:[261.6255653006,275.38456311745,294.43027471344,309.91448590794,326.2128298123,348.77404705732,367.11600789597,392.50613131028,413.14795414706,434.87532652316,464.95175460796,489.40347900327,523.2511306012],description:"Pi-based meantone with Harrison's major third by Erv Wilson"},meanpi2:{frequencies:[261.6255653006,287.5806999253,296.7710142931,326.2128298123,336.6377243117,370.0346037192,381.85992557156,394.06315326167,433.15704755212,446.99959483943,491.34516423327,507.04724898227,523.2511306012],description:"Pi-based meantone by Erv Wilson analogous to 22-tET"},meanpkleis:{frequencies:[261.6255653006,274.33428876064,294.88060759996,309.2047285643,324.22465805628,348.50752497012,365.43662717622,392.80607455881,411.88702081614,442.73537947933,464.24169412807,486.7926967469,523.2511306012],description:"1/5 kleisma positive temperament"},meanquar:{frequencies:[261.6255653006,273.37431312998,292.50627485027,312.977175335,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"1/4-comma meantone scale. Pietro Aaron's temp. (1523). 6/5 beats twice 3/2"},meanquar_14:{frequencies:[261.6255653006,273.37431312998,292.50627485027,305.64177427204,312.977175335,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,418.60090448096,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"1/4-comma meantone scale with split D#/Eb and G#/Ab, Otto Gibelius (1666)"},meanquar_15:{frequencies:[261.6255653006,273.37431312998,279.93529690293,292.50627485027,305.64177427204,312.977175335,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,418.60090448096,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"1/4-comma meantone scale with split C#/Db, D#/Eb and G#/Ab"},meanquar_16:{frequencies:[261.6255653006,273.37431312998,279.93548123753,292.50629850443,305.64179898843,312.97722776199,327.03195662575,349.91920725962,365.63293356166,391.22137338448,408.78994578219,418.60090448096,437.39882871549,457.04097849371,468.01000025525,489.02679755603,523.2511306012],description:"1/4-comma meantone scale with split C#/Db, D#/Eb, G#/Ab and A#/Bb"},meanquar_17:{frequencies:[261.6255653006,273.37431312998,279.93529690293,292.50627485027,305.64177250659,312.977175335,327.03195662575,349.91912034749,365.63284274659,374.40803131735,391.22147055517,408.78994578219,418.60090448096,437.39889945791,457.04105241293,468.01003810189,489.02683710225,523.2511306012],description:"1/4-comma meantone scale with split C#/Db, D#/Eb, F#/Gb, G#/Ab and A#/Bb"},meanquar_19:{frequencies:[261.6255653006,273.37431312998,279.93529690293,292.50627485027,305.64177427204,312.977175335,327.03195662575,341.71789064962,349.91912034749,365.63284274659,374.40803131735,391.22147055517,408.78994578219,418.60090448096,437.39890198442,457.04105241293,468.01003810189,489.02683710225,510.98743222773,523.2511306012],description:"19 of 1/4-comma meantone scale"},meanquar_27:{frequencies:[261.6255653006,273.37431312998,279.93529690293,285.65065877038,292.50627485027,299.52642572255,305.64177427204,312.977175335,327.03195662575,334.88072358477,341.71789064962,349.91912034749,365.63284274659,374.40803131735,382.05221698715,391.22147055517,400.61078621746,408.78994578219,418.60090448096,427.14736482575,437.39890198442,447.89647345742,457.04105241293,468.01003810189,489.02683710225,500.76348165392,510.98743222773,523.2511306012],description:"27 of 1/4-comma meantone scale"},meanquar_31:{frequencies:[261.6255653006,267.90457886781,273.37431312998,279.93529690293,285.65065877038,292.50627485027,299.52642572255,305.64177427204,312.977175335,320.48862783822,327.03195662575,334.88072358477,341.71789064962,349.91912034749,358.31717956585,365.63284274659,374.40803131735,382.05221698715,391.22147055517,400.61078621746,408.78994578219,418.60090448096,427.14736482575,437.39890198442,447.89647345742,457.04105241293,468.01003810189,479.24227945773,489.02683710225,500.76348165392,510.98743222773,523.2511306012],description:"31 of 1/4-comma meantone scale"},meanquareb:{frequencies:[261.6255653006,274.90575459855,292.80763523599,312.14798050979,327.88746490679,349.6453532581,367.3522744581,391.22144795733,411.14173398328,437.99455416256,467.00507093977,490.61429903129,523.2511306012],description:"Variation on 1/4-comma meantone with equal beating fifths"},meanquarm23:{frequencies:[261.6255653006,273.51763645063,292.40504357126,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,408.78994578219,436.04260883433,468.17206422213,489.12605686634,523.2511306012],description:"1/4-comma meantone approximation with minimal order 23 beatings"},meanquarr:{frequencies:[261.6255653006,273.37036621967,292.50063201309,312.98169478553,327.03195662575,349.92419358955,365.62579001637,391.21579858034,408.78994578219,437.39258595147,468.01906681552,489.01974822542,523.2511306012],description:"Rational approximation to 1/4-comma meantone, Kenneth Scholz, MTO 4.4, 1998"},meansabat:{frequencies:[261.6255653006,279.13726386405,294.25495796556,313.95067836072,330.95382015833,348.87783040382,372.229687597,392.38914286775,418.65339720992,441.32709511026,470.8669722571,496.36848628125,523.2511306012],description:"1/9-schisma meantone scale of Eduard Sa'bat-Garibaldi"},meansabat_53:{frequencies:[261.6255653006,264.79625752493,268.00537599851,271.25338610366,275.79485124716,279.13726386405,282.52018221184,285.94410045135,290.73152483281,294.25495796556,297.82109228474,301.4304452945,305.08354077075,310.19140758515,313.95067836072,317.75550958044,321.60645175541,326.99095182327,330.95382015833,334.96471528237,339.02421924159,343.13292113612,348.87783040382,353.10595017045,357.38531136087,361.71653498009,367.77258074571,372.229687597,376.74081403286,381.30660995465,385.92774054592,392.38914286775,397.14458487807,401.95765903525,406.82906379475,413.640406907,418.65339720992,423.72714093867,428.86237189887,436.04260883433,441.32709511026,446.67562589029,452.08897683944,457.56793273834,465.22877230071,470.8669722571,476.57350267936,482.349191678,490.42492909292,496.36848628125,502.38407462043,508.4725670703,514.63484717027,523.2511306012],description:"53-tone 1/9-schisma meantone scale"},meanschis:{frequencies:[261.6255653006,275.81646505128,294.24573392894,310.20599265769,327.03195662575,348.88329767713,367.80716871461,392.38299382393,413.66634097248,436.10412364188,465.24335632603,490.47874118496,523.2511306012],description:"1/8-schisma temperament, Helmholtz"},meanschis7:{frequencies:[261.6255653006,275.84425785506,294.23387584933,310.2247482054,327.0846843223,348.89032888179,367.85164222246,392.37508610937,413.69968681881,436.18322603255,465.26210635182,490.54793493862,523.2511306012],description:"1/7-schisma linear temperament"},meanschis_17:{frequencies:[261.6255653006,275.81646505128,290.77709705464,294.24573392894,310.20599265769,327.03195662575,330.93307160522,348.88329767713,367.80716871461,372.19468374184,392.38299382393,413.66634097248,436.10412364188,441.30634506723,465.24335632603,490.47874118496,496.32958936031,523.2511306012],description:"17-tone 1/8-schisma linear temperament"},meansept:{frequencies:[261.6255653006,273.93523095528,292.67762672082,312.70235991264,327.41522444303,349.81667202162,366.27579142084,391.33604481052,409.74867679276,437.78330574787,467.73603562223,489.74334292241,523.2511306012],description:"Meantone scale with septimal diminished fifth"},meansept2:{frequencies:[261.6255653006,273.61459551034,286.15296204753,292.57963558274,305.98714063953,320.00886175336,327.19620693615,342.18982383643,349.87514759905,365.9082279648,382.67602660872,391.27063976147,409.20043831214,427.95210889573,437.56358849756,457.61500463173,478.58500343311,489.333659422,511.75744671018,523.2511306012],description:"Meantone scale with septimal neutral second"},meansept3:{frequencies:[261.6255653006,267.11515986718,271.23581508831,275.42019673559,281.19923906193,285.53716249988,289.94217244295,296.02592413073,300.59257160392,305.22982618403,309.9384746623,316.44180152381,321.32358037849,326.28048244956,333.12670774706,338.26588629419,343.48414905091,348.7829114007,356.10146388137,361.59490682213,367.17305499414,374.87731434423,380.66058361349,386.53284867747,394.643327573,400.73152907611,406.91341882127,413.19091223118,421.86074762795,428.36858751681,434.97682067587,444.1040384307,450.95501471222,457.91167766162,464.97592623609,474.73234784313,482.05581210758,489.49253462334,499.76337935275,507.47298512535,515.30182087389,523.2511306012],description:"Pythagorean scale with septimal minor third"},meansept4:{frequencies:[261.6255653006,266.94086705872,271.13211808455,275.38917613856,280.98410555769,285.39585012732,289.87686370457,295.76613145071,300.40996929954,305.12672026341,309.91752915454,316.21395200486,321.17884203959,326.22168604472,332.8493514236,338.07543464185,343.38355445704,348.77505435772,355.86092403367,361.44831302863,367.12342987925,374.58207334188,380.46340397682,386.43730087372,394.28810581018,400.47907310734,406.76701374557,413.15368163355,421.54749623588,428.16623317002,434.88889120201,443.72428802318,450.69091522486,457.76754776364,464.95497741911,474.40121026751,481.84980583512,489.41535214975,499.35853288878,507.19898454493,515.16253949886,523.2511306012],description:"Pythagorean scale with septimal narrow fourth"},meansev:{frequencies:[261.6255653006,275.93321340298,293.28595453555,311.72996498387,328.77769811601,349.45369437647,368.5644419122,391.74252566418,413.16594588103,439.14890519043,466.76586696593,492.29212632197,523.2511306012],description:"1/7-comma meantone scale, Jean-Baptiste Romieu (1755)"},meansev2:{frequencies:[261.6255653006,273.98141462199,292.76593693997,312.83835055233,327.61283758281,350.07440004945,366.60744235102,391.74252566418,410.24343789088,438.37026184168,468.42550014967,490.54793493862,524.18054130269],description:"Meantone scale with 1/7-comma stretched octave (stretched meansept)"},meansev_19:{frequencies:[261.6255653006,275.93321340298,278.07859353335,293.28589524255,309.32501829942,311.72996858511,328.77775508885,346.75764506664,349.4536277652,368.56443339655,371.42996022741,391.74260033637,413.16585280598,416.37814821359,439.14890011719,463.16493144882,466.76596133102,492.29202110912,496.11959049595,523.2511306012],description:"19 of 1/7-comma meantone scale"},meanseveb:{frequencies:[261.6255653006,276.822915312,293.45907344559,311.2600957924,329.2717708679,349.29792128041,369.56105314287,391.74259807358,414.53862252605,439.49286138442,466.19439430972,493.21190508606,523.2511306012],description:'"1/7-comma" meantone with equal beating fifths'},meansixth:{frequencies:[261.6255653006,275.36245350283,293.11247215425,312.00666699279,328.38886075091,349.55699144229,367.91095120397,391.62676241399,412.18948168074,438.75944753732,467.04212833931,491.56459996916,523.2511306012],description:"1/6-comma meantone scale (tritonic temperament of Salinas)"},meansixth_19:{frequencies:[261.6255653006,275.36245350283,278.49009641114,293.11247215425,308.50278723002,312.00666699279,328.38886075091,345.6314161331,349.55699144229,367.91095120397,372.08969287196,391.62676241399,412.18948168074,416.87124381956,438.75944753732,461.79691129422,467.04212833931,491.56459996916,517.37477513058,523.2511306012],description:"19 of 1/6-comma meantone scale"},meansixtheb:{frequencies:[261.6255653006,276.39673661379,293.31426069206,311.4574698476,328.96404447481,349.37515437283,369.07004939896,391.62674884124,413.78350416977,439.15979251365,466.37460465854,492.63446576705,523.2511306012],description:'"1/6-comma" meantone with equal beating fifths'},meansixthm:{frequencies:[261.6255653006,275.36250599118,293.11251278827,312.00669222389,328.38895179964,349.55706816887,367.91095120397,391.62667645325,414.52369088643,438.75941205608,467.04206359353,491.56462836305,523.2511306012],description:"modified 1/6-comma meantone scale, wolf spread over 2 fifths"},meansixthm2:{frequencies:[261.6255653006,276.14113065853,293.11251278827,310.24975557428,328.38895179964,349.55706816887,367.91095120397,391.62667645325,414.52380581681,438.75941205608,465.72523006308,491.56462836305,523.2511306012],description:"modified 1/6-comma meantone scale, wolf spread over 4 fifths"},meansixthpm:{frequencies:[261.6255653006,275.00020270933,293.00227310437,309.72478954314,328.14198392915,348.83408706747,367.49599295996,391.5530240856,412.50030385781,438.51190905657,465.11211608996,491.10256480205,523.2511306012],description:"modified 1/6P-comma temperament, French 18th century"},meansixthso:{frequencies:[261.6255653006,273.09145986506,292.50627485027,313.30134186202,327.03195662575,350.28154752005,365.63284274659,391.62667645325,408.78994578219,437.85193595173,468.98001879925,489.53334447372,524.3356019912],description:"1/6-comma meantone scale with 1/6-comma stretched oct, Dave Keenan TL 13-12-99"},meanstr:{frequencies:[261.6255653006,272.52663052146,292.30447317753,313.51763757869,326.58087306932,350.28154752005,364.87661266094,391.35649333595,407.66301227525,437.24799400905,468.98001879925,488.52085380073,523.97386302914],description:"Meantone with 1/9-comma stretched octave, Petr Parizek (2006)"},meanten:{frequencies:[261.6255653006,276.96346718799,293.59840699152,311.2324721493,329.47860040677,349.26769656434,369.74365294187,391.95114287501,414.92943551322,439.85086739936,466.26912673157,493.60433806962,523.2511306012],description:"1/10-comma meantone scale"},meanthird:{frequencies:[261.6255653006,271.40047399919,291.9012907804,313.95067836072,325.68056936328,350.28154752005,363.36884069528,390.81668391305,405.4184580124,436.04260883433,468.98001879925,486.50215045777,523.2511306012],description:"1/3-comma meantone scale (Salinas)"},meanthird_19:{frequencies:[261.6255653006,271.40047399919,281.38801176707,291.9012907804,302.80736724606,313.95067836072,325.68056936328,337.848714425,350.28154752005,363.36884069528,376.74081403286,390.81668391305,405.4184580124,420.33785775232,436.04260883433,452.33412516107,468.98001879925,486.50215045777,504.40543017669,523.2511306012],description:"Complete 1/3-comma meantone scale"},meanthirdeb:{frequencies:[261.6255653006,273.41679662438,292.30169912182,312.83755546226,326.81234905863,349.91518709086,365.63683018302,390.81669745772,408.5035451685,436.83089868331,467.63468237516,488.59687355467,523.2511306012],description:'"1/3-comma" meantone with equal beating fifths'},meanvar1:{frequencies:[261.6255653006,274.22463192287,292.50627485027,312.00669222389,327.03195662575,349.55706816887,366.3906401674,391.22147055517,410.48618883318,437.39890198442,467.04206359353,489.53334447372,523.2511306012],description:"Variable meantone 1: C-G-D-A-E 1/4, others 1/6"},meanvar2:{frequencies:[261.6255653006,274.19219069011,292.50627485027,312.04360750473,327.03195662575,349.70184487387,366.23895640989,391.22147055517,410.65012590831,437.39890198442,467.23549927892,489.3306802979,523.2511306012],description:"Variable meantone 2: C..E 1/4, 1/5-1/6-1/7-1/8 outward both directions"},meanvar3:{frequencies:[261.6255653006,275.36250599118,292.50627485027,310.71739423852,327.03195662575,349.55706816887,367.15000817177,391.22147055517,413.04376116614,437.39890198442,466.0760911248,489.53334447372,523.2511306012],description:"Variable meantone 3: C..E 1/4, 1/6 next, then Pyth."},meanvar4:{frequencies:[261.6255653006,275.07759559501,292.50627485027,311.03921839762,327.03195662575,349.91912034749,366.77012764335,391.22147055517,412.61639318626,437.39890198442,466.55882736321,489.02683710225,523.2511306012],description:"Variable meantone 4: naturals 1/4-comma, accidentals Pyth."},mediant16:{frequencies:[261.6255653006,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,470.92601754108,523.2511306012],description:"Mediant doubling of octave done four times"},mercadier:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.42509491746,328.14198392915,349.22823143301,368.74309237173,391.5530240856,413.90012676351,438.51190905657,465.63764214343,492.21297564769,523.2511306012],description:"Mercadier's well-temperament (1777), 1/12 and 1/6 Pyth. comma"},mercadier2:{frequencies:[261.6255653006,276.14388692511,292.95319623755,310.40895756597,328.03206784165,349.20805980193,368.45885450371,391.49761638186,413.86785247997,438.37641748302,465.57175090792,491.63473786767,523.2511306012],description:"Mercadier de Belestas (1776)"},mercator:{frequencies:[261.6255653006,272.09448029963,279.3054110864,290.48161516351,306.08206748155,318.32990397837,326.76614606023,335.42596179815,348.84778913489,362.80689075348,372.42184279259,387.32403355801,408.12545368833,418.94141877379,435.70530841001,453.13974129598,465.14865565404,490.12996697565,509.74216322321,523.2511306012],description:"19 out of 53-tET, see Mandelbaum p. 331"},merrick:{frequencies:[261.6255653006,278.62147458377,295.28844751169,312.94924079019,329.91874474504,349.29981986967,371.62722343835,394.01440557319,416.60121863153,438.96906929631,468.0242659544,493.6331420766,523.2511306012],description:"A. Merrick's melodically tuned equal temperament (1811)"},mersen_l1:{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Mersenne lute 1"},mersen_l2:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Mersenne lute 2"},mersen_s1:{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Mersenne spinet 1"},mersen_s2:{frequencies:[261.6255653006,272.52663052146,294.32876096318,306.59245933664,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Mersenne spinet 2"},mersenmt1:{frequencies:[261.6255653006,273.37431312998,292.50627485027,311.03921839762,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,466.55882736321,489.02683710225,523.2511306012],description:"Mersenne's Improved Meantone 1"},mersenmt2:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.11326130363,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Mersenne's Improved Meantone 2"},mersenne:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,310.07474405997,313.95067836072,322.99452506247,327.03195662575,340.65828815182,344.52749339997,348.83408706747,363.36884069528,367.91095120397,372.08969287196,376.74081403286,387.59343007496,392.4383479509,408.78994578219,413.43299207996,418.60090448096,430.65936674996,436.04260883433,454.2110508691,459.88868900496,465.11211608996,470.92601754108,484.4917875937,490.54793493862,510.98743222773,523.2511306012],description:"31-note choice system of Mersenne, Harmonie universelle (1636)"},meyer:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Max Meyer, see Doty, David, 1/1 August 1992 (7:4) p.1 and 10-14"},meyer_29:{frequencies:[261.6255653006,268.26840191956,275.93321340298,286.15296204753,289.72987407313,294.32876096318,306.59245933664,321.92208230347,327.03195662575,331.11985608357,343.38355445704,344.91651675372,357.69120255941,367.91095120397,372.50983809402,383.2405741708,386.30649876417,392.4383479509,408.78994578219,413.89982010446,429.2294430713,441.49314144476,457.84473927605,459.88868900496,482.88312345521,490.54793493862,496.67978412536,510.98743222773,515.07533168556,523.2511306012],description:"Max Meyer, see Doty, David, 1/1 August 1992 (7:4) p.1 and 10-14"},mid_enh1:{frequencies:[261.6255653006,269.10058145205,336.37572681506,348.83408706747,392.4383479509,403.65087217807,504.56359022259,523.2511306012],description:"Mid-Mode1 Enharmonic, permutation of Archytas's with the 5/4 lying medially"},mid_enh2:{frequencies:[261.6255653006,271.31540105247,339.14425131559,348.83408706747,392.4383479509,406.97310157871,508.71637697339,523.2511306012],description:"Permutation of Archytas' Enharmonic with the 5/4 medially and 28/27 first"},miller19:{frequencies:[261.6255653006,271.16557874802,283.07475767856,293.39690257971,304.09543631541,315.18408718336,326.67707691855,338.58915326012,350.93559605343,363.73224209988,376.99551198295,390.74241649248,407.9032302438,422.77716528297,438.1934715504,454.17192383337,470.73301771751,487.89800430439,505.68889852562,524.12852955557],description:"TOP tempered nr. 64 [1202.9, 570.4479508], 7-limit {225/224, 1029/1000}"},miller7:{frequencies:[261.6255653006,274.70684356563,294.32876096318,313.95067836072,329.64821227876,353.19451315581,366.27579142084,392.4383479509,412.06026534844,439.53094970501,470.92601754108,494.47231841813,523.2511306012],description:"Herman Miller, 7-limit JI. mode of parizek_ji1"},miller_12:{frequencies:[261.6255653006,273.36657578691,291.63627719304,313.29104303136,327.35065305942,349.22823143301,364.90060015836,391.99543598175,418.19337019276,436.9606979923,456.57025003029,487.08386390194,523.2511306012],description:"Herman Miller, scale with appr. to three 7/4 and one 11/8. Tuning List 19-11-99"},miller_12a:{frequencies:[261.6255653006,273.46133384191,291.68681828778,313.23675853409,327.40738352015,349.22823143301,365.02708698668,391.99543598175,418.12090908234,437.03642407223,456.80766452229,487.25270356141,523.85596330884],description:'Herman Miller, "Starling" scale, alternative version TL 25-11-99'},miller_12r:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,454.2110508691,484.4917875937,523.2511306012],description:'Herman Miller, "Starling" scale rational version'},miller_ar1:{frequencies:[261.6255653006,276.1828093671,293.13465239421,310.07474405997,327.9937953665,348.83408706747,368.24374600687,391.64146650178,414.27421384356,438.21489534465,465.11211608996,490.99166158792,523.2511306012],description:'Herman Miller, "Arrow I" well-temperament'},miller_ar2:{frequencies:[261.6255653006,276.1828093671,293.13465239421,310.2849072826,328.2161033156,349.07052034394,368.24374600687,391.64146650178,414.27421384356,438.51190905657,465.42736069124,491.32444638706,523.2511306012],description:'Herman Miller, "Arrow II" well-temperament'},miller_b1:{frequencies:[261.6255653006,276.37000081643,292.93610587951,310.49521248455,328.2161033156,348.83408706747,368.4933346061,391.64146650178,413.993616853,438.80912407872,465.11211608996,491.32444638706,523.2511306012],description:'Herman Miller, "Butterfly I" well-temperament'},miller_b2:{frequencies:[261.6255653006,276.55731914056,293.13465239421,310.70566022736,328.2161033156,349.07052034394,368.74309237173,392.17254067411,414.27421384356,439.10654054756,465.42736069124,491.99069280383,523.2511306012],description:'Herman Miller, "Butterfly II" well-temperament'},miller_bug:{frequencies:[261.6255653006,275.99574470663,292.73769384471,310.49521248455,327.54963108844,348.83408706747,368.4933346061,391.64146650178,413.993616853,437.62147130622,465.11211608996,491.32444638706,523.2511306012],description:'Herman Miller, "Bug I" well-temperament'},miller_dim:{frequencies:[261.6255653006,272.37088095799,275.97178311718,291.10467300644,307.06737543415,311.12698372208,323.9053895548,328.18760802294,346.1837483498,365.1667076515,369.99442271164,385.1905938463,390.2830385166,411.68417663589,434.25884690128,440,458.07139483414,464.12736626882,489.57775198944,516.42371048788,523.2511306012],description:"Diminished temperament, g=92.421, oct=1/4, 7-limit"},miller_nikta:{frequencies:[261.6255653006,272.78230567952,282.82337239762,292.30660227893,305.1368529352,315.1779191367,326.89249731477,341.39626079795,349.76381456689,364.82541608424,379.88701473,391.60159255926,407.77886614283,422.28262813098,436.22855406869,456.86852448015,469.69877536137,488.10739794888,508.74736733766,523.2511306012],description:'Herman Miller, 19-tone scale of "Nikta". Tuning List 22-1-99'},miller_sp:{frequencies:[261.6255653006,276.74268633071,292.73329748773,304.15432597486,321.72882314722,340.31880135827,353.5963846,374.02771873076,395.63960626236,411.07553805605,434.82810464551,459.95313047266,477.89826295658,505.51194770063,525.23456349057],description:"Herman Miller, Superpelog temperament, TOP tuning"},minor_5:{frequencies:[261.6255653006,299.00064605783,348.83408706747,418.60090448096,465.11211608996,523.2511306012],description:"A minor pentatonic"},minor_clus:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,348.83408706747,353.19451315581,372.08969287196,392.4383479509,418.60090448096,441.49314144476,465.11211608996,470.92601754108,523.2511306012],description:"Chalmers' Minor Mode Cluster, Genus [333335]"},minor_wing:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Chalmers' Minor Wing with 7 minor and 6 major triads"},minortone:{frequencies:[261.6255653006,264.87670583656,269.18630372462,273.56601964703,276.96554054138,281.47182622933,286.05143175444,290.70554674078,294.31805527354,299.10666990622,303.97319627313,307.75057781118,312.75774231814,317.84637624619,323.01780144749,327.03184444407,332.35271908155,337.76016543181,341.95740725719,347.52112383796,353.17536321933,358.9216002989,363.3818066762,369.29410472703,375.30259493676,379.96636500161,386.14849505708,392.43120962619,398.81614754309,403.7721109712,410.34156772664,417.0179085097,422.20006196255,429.06934285921,436.05038835349,443.14501943782,448.65184388114,455.95150328441,463.36992699746,469.12808274602,476.76089208744,484.51788878959,492.4010934061,498.52001054206,506.63103252794,514.8740254656,523.2511306012],description:"Minortone temperament, g=182.466089, 5-limit"},miracle1:{frequencies:[261.6255653006,266.71173418545,279.86396690685,285.30470202322,299.37379946195,305.19382000629,320.24370022528,326.46944327063,342.56848033562,349.22823143301,366.44956000397,373.57357677338,391.99543598175,399.61607881612,419.32216217931,427.47405410759,448.5538823653,457.27406033445,479.82340237272,489.15147723638,513.27277840175,523.2511306012],description:'21 out of 72-tET Pyth. scale "Miracle/Blackjack", Keenan & Erlich, TL 2-5-2001'},miracle1a:{frequencies:[261.6255653006,266.57640943865,279.87817034289,285.17441410431,299.40418912991,305.0699313594,320.29246281951,326.35348199782,342.63803067389,349.1219037468,366.54256247747,373.47879032775,392.11482112276,399.53496279579,419.47115746916,427.40897376302,448.73603972606,457.22764679928,480.04261976898,489.12665346498,513.5333359992,523.2511306012],description:"Version of Blackjack with just 11/8 intervals"},miracle2:{frequencies:[261.6255653006,266.71172956369,274.52699087907,279.86396690685,285.30469707927,293.66477470251,299.3738011912,305.19381471768,314.13668880034,320.24370207508,326.46943949911,336.03573785931,342.56848231438,349.22822739856,359.4614100947,366.44956423737,373.57357245769,380.83607584373,391.99544051026,399.61607650784,407.38486242506,419.32216702351,427.4740516384,435.78441397758,448.55389013814,457.27405769313,466.16375074742,479.82341068742,489.15147723638,498.66088722045,513.27278729609,523.2511306012],description:'31 out of 72-tET Pythagorean scale "Miracle/Canasta", tempered Fokker-M, 36 7-limit tetrads'},miracle24:{frequencies:[261.6255653006,266.71173418545,274.52698453615,279.86396690685,285.30470202322,299.37379946195,305.19382000629,320.24370022528,326.46944327063,342.56848033562,349.22823143301,366.44956000397,373.57357677338,391.99543598175,399.61607881612,419.32216217931,427.47405410759,448.5538823653,457.27406033445,466.16376151809,479.82340237272,489.15147723638,498.66089874196,513.27277840175,523.2511306012],description:"Miracle[24] in 72-tET tuning."},miracle2a:{frequencies:[261.6255653006,266.57640943865,274.68028654691,279.87817034289,285.17441410431,293.84366906071,299.40418912991,305.0699313594,314.34400674513,320.29246281951,326.35348199782,336.27457379784,342.63803067389,349.1219037468,359.73515228832,366.54256247747,373.47879032775,380.54627680087,392.11482112276,399.53496279579,407.09552105481,419.47115746916,427.40897376302,435.49700296564,448.73603972606,457.22764679928,465.87994655565,480.04261976898,489.12665346498,498.38259075187,513.5333359992,523.2511306012],description:"Version of Canasta with just 11/8 intervals"},miracle3:{frequencies:[261.6255653006,266.71172956369,271.8967720342,274.52699087907,279.86396690685,285.30469707927,290.85119844166,293.66477470251,299.3738011912,305.19381471768,311.12697293924,314.13668880034,320.24370207508,326.46943949911,332.81620914398,336.03573785931,342.56848231438,349.22822739856,356.01744208336,359.4614100947,366.44956423737,373.57357245769,380.83607584373,384.52012922913,391.99544051026,399.61607650784,407.38486242506,411.32573797959,419.32216702351,427.4740516384,435.78441397758,440.00001524924,448.55389013814,457.27405769313,466.16375074742,470.67322937359,479.82341068742,489.15147723638,498.66088722045,503.48472993456,513.27278729609,523.2511306012],description:'41 out of 72-tET Pythagorean scale "Miracle/Studloco", Erlich/Keenan 2001'},miracle31s:{frequencies:[261.6255653006,266.63636836248,274.61234258734,279.87187586531,285.23214274484,293.7643779857,299.39072204343,305.12482507342,314.2521161294,320.27085311289,326.40486440328,336.1687117034,342.60720791066,349.16901789451,359.61381619398,366.50134650551,373.52079096839,380.6746756467,392.06191220286,399.57090708206,407.22371854314,419.40512463865,427.43781242392,435.62434685833,448.6553095271,457.24821364991,466.00569400686,479.94546308962,489.13765420145,498.50589943595,513.41785698047,523.2511306012],description:"Canasta with Secor's minimax generator of 116.7155941 cents (5:9 exact). XH5, 1976"},miracle3a:{frequencies:[261.6255653006,266.57640943865,271.6209387912,274.68028654691,279.87817034289,285.17441410431,290.57088243021,293.84366906071,299.40418912991,305.0699313594,310.84289043406,314.34400674513,320.29246281951,326.35348199782,332.52919812642,336.27457379784,342.63803067389,349.1219037468,355.72847573316,359.73515228832,366.54256247747,373.47879032775,380.54627680087,384.83248369581,392.11482112276,399.53496279579,407.09552105481,411.6807594913,419.47115746916,427.40897376302,435.49700296564,440.40213577526,448.73603972606,457.22764679928,465.87994655565,471.12729153307,480.04261976898,489.12665346498,498.38259075187,503.99602271809,513.5333359992,523.2511306012],description:"Version of Studloco with just 11/8 intervals"},miracle3ls:{frequencies:[261.6255653006,266.8561524992,272.19132869617,274.36355553357,279.84880885615,285.44374339214,291.1505189834,293.47406686496,299.34138986722,305.32601617869,311.43030899178,313.91568307924,320.1916880693,326.59318586748,333.12264767748,335.78115718319,342.4943108472,349.34167821305,356.32594256772,359.16962765504,366.35037871957,373.67471357934,381.14545968569,384.18721873359,391.86813762951,399.70261841457,407.69373119716,410.94736065575,419.16328558448,427.54349328421,436.09121881038,439.57145109254,448.35967321435,457.32356924795,466.46667727785,470.18934850506,479.58967749961,489.177972196,498.95793401383,502.93987502638,512.99500332159,523.2511306012],description:"Miracle-41 in a 7-limit least-squares tuning, Gene Ward Smith, 2001"},miracle3p:{frequencies:[261.6255653006,266.34679554672,270.06721067987,274.94077677072,279.90228841312,284.95333588433,290.09553330897,294.14767822015,299.45579274291,304.85969791727,310.36112062791,314.69634158508,320.37527393455,326.15668500873,332.04242788125,336.6805001021,342.75615313904,348.94144590806,355.2383548887,360.20043713509,366.70052302062,373.3179099666,380.0547104455,385.36343543368,392.31760641523,399.39727291251,406.60469732047,412.28427858225,419.7242587073,427.29849640545,435.00941939202,441.0857666732,449.04549132915,457.14885520764,465.39844769831,471.89927840742,480.41505607532,489.08450736089,497.91040254418,504.86537329764,513.97604599191,523.2511306012],description:"Least squares Pythagorean approximation to partch_43"},miracle41s:{frequencies:[261.6255653006,266.63636836248,269.45164985995,274.61234258734,279.87187586531,285.23214274484,290.69507255622,293.7643779857,299.39072204343,305.12482507342,310.96875093738,314.2521161294,320.27085311289,326.40486440328,332.65635780028,336.1687117034,342.60720791066,349.16901789451,355.85650343121,359.61381619398,366.50134650551,373.52079096839,380.6746756467,384.69403121132,392.06191220286,399.57090708206,407.22371854314,411.52339231679,419.40512463865,427.43781242392,435.62434685833,440.22388881539,448.6553095271,457.24821364991,466.00569400686,470.92601754108,479.94546308962,489.13765420145,498.50589943595,503.76937659657,513.41785698047,523.2511306012],description:"StudLoco with Secor's minimax generator of 116.7155941 cents (5:9 exact). XH5, 1976"},miracle_12:{frequencies:[261.6255653006,279.86396690685,299.37379946195,320.24370022528,336.03572815422,342.56848033562,359.46139971304,366.44956000397,384.52011812375,411.32572372413,440,470.6732130613,523.2511306012],description:"A 12-tone subset of Blackjack with six 4-7-9-11 tetrads"},miracle_12a:{frequencies:[261.6255653006,279.86396690685,299.37379946195,320.24370022528,342.56848033562,366.44956000397,391.99543598175,419.32216217931,448.5538823653,479.82339960115,489.15147723638,513.27277840175,523.2511306012],description:"A 12-tone chain of Miracle generators and subset of Blackjack"},"24erlich-keenan":{frequencies:[261.6255653006,266.71173469898,279.86396636799,285.30470202322,290.8512090818,299.37380003836,305.19381941867,320.24370022528,326.46944389922,342.56847967604,349.22823143301,356.01745305102,366.44956070954,373.5735760541,391.99543598175,399.61607958554,407.38487340641,419.32216137194,427.47405410759,448.55388322895,457.27405945401,479.82340237272,489.15147817819,498.66089778183,523.2511306012],description:"24 note mapping for Erlich/Keenan Miracle scale low version, tuned to 72-equal"},miracle_8:{frequencies:[261.6255653006,279.86396690685,314.13668154225,336.03572815422,366.44956000397,391.99543598175,419.32216217931,448.5538823653,523.2511306012],description:"tet3a in 72-et"},miring1:{frequencies:[261.6255653006,285.29448470177,307.6953604706,387.15515639797,420.96788906714,523.2511306012],description:"Gamelan Miring from Serdang wetan, Tangerang. 1/1=309.5 Hz"},miring2:{frequencies:[261.6255653006,279.34865171253,304.66723527068,384.42070010042,412.69311132744,523.2511306012],description:"Gamelan Miring (Melog gender) from Serdang wetan"},misca:{frequencies:[261.6255653006,274.70684356563,289.16509849014,305.22982618403,348.83408706747,392.4383479509,412.06026534844,433.74764773521,457.84473927605,523.2511306012],description:"21/20 x 20/19 x 19/18=7/6 7/6 x 8/7=4/3"},miscb:{frequencies:[261.6255653006,269.80136421624,278.50463402967,319.76457981184,348.83408706747,392.4383479509,404.70204632437,417.75695104451,479.64686971777,523.2511306012],description:"33/32 x 32/31x 31/27=11/9 11/9 x 12/11=4/3"},miscc:{frequencies:[261.6255653006,276.00059636107,292.04714266113,310.07474405997,348.83408706747,392.4383479509,414.00089454161,438.0707139917,465.11211608996,523.2511306012],description:"96/91 x 91/86 x 86/54=32/27. 32/27 x 9/8=4/3."},miscd:{frequencies:[261.6255653006,271.68808704293,282.55561052465,294.32876096318,348.83408706747,392.4383479509,407.5321305644,423.83341578697,441.49314144476,523.2511306012],description:"27/26 x 26/25 x 25/24=9/8. 9/8 x 32/27=4/3."},misce:{frequencies:[261.6255653006,280.31310567921,301.87565226992,327.03195662575,348.83408706747,392.4383479509,420.46965851882,452.81347840488,490.54793493862,523.2511306012],description:"15/14 x 14/13 x 13/12=5/4. 5/4 x 16/15= 4/3."},miscf:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,378.42269266694,392.4383479509,406.97310157871,418.60090448096,504.56359022259,523.2511306012],description:"SupraEnh1"},miscg:{frequencies:[261.6255653006,271.31540105247,279.06726965397,336.37572681506,348.83408706747,392.4383479509,406.97310157871,418.60090448096,504.56359022259,523.2511306012],description:"SupraEnh 2"},misch:{frequencies:[261.6255653006,271.31540105247,279.06726965397,336.37572681506,348.83408706747,392.4383479509,406.97310157871,490.54793493862,504.56359022259,523.2511306012],description:"SupraEnh 3"},misty:{frequencies:[261.6255653006,268.57642185399,270.57706033988,272.59260010205,274.62315370363,276.66883458144,284.01936005382,286.13503371773,288.26646546986,290.41377434565,292.57708030445,300.35025535204,302.58757688062,304.84156607104,307.11234355974,309.40003795144,311.70477168653,319.9861304005,322.36972224007,324.77106769218,327.19030275625,329.62755691287,338.38508739928,340.90573394089,343.44515491415,346.00349213972,348.58088853904,357.84197030948,360.50755209334,363.19298782427,365.89842747751,368.62402219236,378.41760905933,381.23645754858,384.07630597582,386.93730633346,389.81962065329,392.72340320054,403.157261366,406.16039889903,409.18590458221,412.23394976407,415.30469757995,426.33849458487,429.51431022199,432.71378016074,435.93708308397,439.18439906139,450.85263092877,454.21105352848,457.59449053401,461.00313090234,464.43716505707,476.77631130474,480.3278378528,483.9058226648,487.51045723915,491.14194572312,494.80048247871,507.94632001299,511.73003620658,515.54193450341,519.38223078906,523.2511306012],description:"Misty temperament, g=96.787939, p=400, 5-limit"},mistyschism:{frequencies:[261.6255653006,278.75251614148,294.32876096318,310.42486507835,330.74639366397,348.83408706747,372.08969287196,392.4383479509,418.12877421223,440.99519155196,465.63729761752,496.11959049595,523.2511306012],description:"Mistyschism scale 32805/32768 and 67108864/66430125"},mixed9_3:{frequencies:[261.6255653006,273.20871865617,285.30470202322,311.12698372208,349.22823143301,391.99543598175,409.35055662695,427.47405410759,466.16376151809,523.2511306012],description:"A mixture of the hemiolic chromatic and diatonic genera, 75 + 75 + 150 + 200 c"},mixed9_4:{frequencies:[261.6255653006,271.89678302796,282.57123920205,305.19382000629,349.22823143301,391.99543598175,407.38487419079,423.37848741825,457.27406033445,523.2511306012],description:'Mixed enneatonic 4, each "tetrachord" contains 67 + 67 + 133 + 233 cents.'},mixed9_5:{frequencies:[261.6255653006,277.18263097687,293.66476791741,329.62755691287,349.22823143301,391.99543598175,415.30469757995,440,493.88330125613,523.2511306012],description:"A mixture of the intense chromatic genus and the permuted intense diatonic"},mixed9_6:{frequencies:[261.6255653006,277.18263097687,293.66476791741,311.12698372208,349.22823143301,391.99543598175,415.30469757995,440,466.16376151809,523.2511306012],description:"Mixed 9-tonic 6, Mixture of Chromatic and Diatonic"},mixed9_7:{frequencies:[261.6255653006,277.18263097687,311.12698372208,329.62755691287,349.22823143301,391.99543598175,415.30469757995,466.16376151809,493.88330125613,523.2511306012],description:"Mixed 9-tonic 7, Mixture of Chromatic and Diatonic"},mixed9_8:{frequencies:[261.6255653006,293.66476791741,311.12698372208,329.62755691287,349.22823143301,391.99543598175,440,466.16376151809,493.88330125613,523.2511306012],description:"Mixed 9-tonic 8, Mixture of Chromatic and Diatonic"},mixol_chrom:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,311.12229387098,319.76457981184,359.73515228832,411.12588832951,426.35277308246,434.39716502741,442.75095666255,479.64686971777,523.2511306012,548.16785110602,575.57624366132,605.86973016981,622.24458774197,639.52915962369,719.47030457665,822.25177665903,852.70554616492,868.79433005482,885.50191332511,959.29373943553,1046.5022612024],description:"Mixolydian chromatic tonos"},mixol_chrom2:{frequencies:[261.6255653006,271.31540105247,281.75060878526,332.97799220076,366.27579142084,385.55346465352,406.97310157871,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the chromatic genus"},mixol_chrominv:{frequencies:[261.6255653006,279.06726965397,299.00064605783,373.75080757229,411.12588832951,429.81342870813,448.50096908674,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Mixolydian inverted"},mixol_diat:{frequencies:[261.6255653006,274.08392555301,287.78812183066,319.76457981184,338.57426097725,359.73515228832,383.71749577421,411.12588832951,442.75095666255,460.46099492906,479.64686971777,500.50108144463,523.2511306012,548.16785110602,575.57624366132,639.52915962369,677.14852195449,719.47030457665,767.43499154843,822.25177665903,885.50191332511,920.92198985811,959.29373943553,1001.00216288925,1046.5022612024],description:"Mixolydian diatonic tonos"},mixol_diat2:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,348.83408706747,366.27579142084,406.97310157871,457.84473927605,523.2511306012],description:"Schlesinger's Mixolydian Harmonia, a subharmonic series though 13 from 28"},mixol_diatcon:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"A Mixolydian Diatonic with its own trite synemmenon replacing paramese"},mixol_diatinv:{frequencies:[261.6255653006,299.00064605783,336.37572681506,348.83408706747,411.12588832951,448.50096908674,485.87604984397,523.2511306012],description:"A Mixolydian Diatonic with its own trite synemmenon replacing paramese"},mixol_diatinv2:{frequencies:[261.6255653006,299.00064605783,336.37572681506,348.83408706747,373.75080757229,411.12588832951,448.50096908674,485.87604984397,523.2511306012],description:"Inverted Schlesinger's Mixolydian Harmonia, a harmonic series from 14 from 28"},mixol_enh:{frequencies:[261.6255653006,274.08392555301,287.78812183066,295.1673044417,299.00064605783,302.93486508491,348.83408706747,411.12588832951,418.60090448096,422.44127975143,426.35277308246,469.85815809087,523.2511306012,548.16785110602,575.57624366132,590.33460888341,598.00129211566,605.86973016981,697.66817413493,822.25177665903,837.20180896192,844.88255950285,852.70554616492,939.71631618175,1046.5022612024],description:"Mixolydian Enharmonic Tonos"},mixol_enh2:{frequencies:[261.6255653006,266.38239376061,271.31540105247,332.97799220076,366.27579142084,375.66747838035,385.55346465352,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the enharmonic genus"},mixol_enhinv:{frequencies:[261.6255653006,270.34641747729,279.06726965397,373.75080757229,411.12588832951,420.46965851882,429.81342870813,523.2511306012],description:"A harmonic form of Schlesinger's Mixolydian inverted"},mixol_penta:{frequencies:[261.6255653006,269.32043486826,281.75060878526,332.97799220076,366.27579142084,381.53728273004,406.97310157871,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the pentachromatic genus"},mixol_pis:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,411.12588832951,442.75095666255,479.64686971777,523.2511306012,548.16785110602,575.57624366132,639.52915962369,719.47030457665,822.25177665903,885.50191332511,959.29373943553,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Mixolydian Tonos"},mixol_tri1:{frequencies:[261.6255653006,268.0066766494,274.70684356563,332.97799220076,366.27579142084,378.90599112501,392.4383479509,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the first trichromatic genus"},mixol_tri2:{frequencies:[261.6255653006,268.0066766494,281.75060878526,332.97799220076,366.27579142084,378.90599112501,406.97310157871,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the second trichromatic genus"},mmmgeo1:{frequencies:[261.6255653006,291.52662303231,317.822348206,348.40303271111,392.9238840789,423.23948674937,463.96335069158,523.2511306012],description:"Scale for MakeMicroMusic in Peppermint 24, maybe a bit like Georgian tunings"},mmmgeo2:{frequencies:[261.6255653006,295.05751399041,323.4477810403,352.62279726972,392.9238840789,430.73079539701,485.77193724523,529.58860866211],description:"Scale for MakeMicroMusic in Peppermint 24, maybe a bit like Georgian tunings"},mmmgeo3a:{frequencies:[261.6255653006,281.81099471089,317.822348206,348.40303271111,392.9238840789,423.23948674937,463.96335069158,523.2511306012],description:'Peppermint 24 scale for MakeMicroMusic, maybe a bit "Georgian-like"?'},mmmgeo4a:{frequencies:[261.6255653006,281.81099471089,317.822348206,348.40303271111,392.9238840789,423.23948674937,477.32335087626,523.2511306012],description:'Peppermint 24 scale for MakeMicroMusic, maybe a bit "Georgian-like"?'},mmmgeo4b:{frequencies:[261.6255653006,295.05751399041,323.4477810403,348.40303271111,392.9238840789,430.73079539701,485.77193724523,523.2511306012],description:'Peppermint 24 scale for MakeMicroMusic, maybe a bit "Georgian-like"?'},mmswap:{frequencies:[261.6255653006,251.16054268858,294.32876096318,282.55561052465,313.95067836072,348.83408706747,353.19451315581,392.4383479509,376.74081403286,418.60090448096,423.83341578697,470.92601754108,523.2511306012],description:"Swapping major and minor in 5-limit JI"},mokhalif:{frequencies:[261.6255653006,293.66476791741,329.62755691287,349.22823143301,391.99543598175,425.01198472693,477.05982293263,523.2511306012],description:"Iranian mode Mokhalif from C"},montvallon:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Montvallon's Monochord, Nouveau sisteme de musique (1742)"},monzismic:{frequencies:[261.6255653006,265.20988799749,268.52946324281,272.20837072565,275.61554447717,279.39153269358,282.88861654172,286.76424730356,290.69297498385,294.33151655947,298.3639173457,302.09847446042,306.23728412706,310.07039048391,314.31841699833,318.25267316085,322.61279858837,327.03265671938,331.12605620426,335.66254762155,339.86396564906,344.52016812641,348.83245514045,353.61152766937,358.03760933268,362.94279426564,367.48567344471,372.52029869489,377.62390147213,382.35053879638,387.58881783384,392.44018387738,397.81669307529,402.79607923799,408.31446627855,413.42525081527,419.08925963743,424.33490995001,430.14838328955,436.04150237937,441.49934027584,447.54796975207,453.14983163098,459.35807517454,465.10776160818,471.47983118983,477.38124304179,483.92146177974,489.97860285142,496.69140794435,503.49617981289,509.7983334288,516.78267280423,523.2511306012],description:"Monzismic temperament, g=249.018448, 5-limit"},sevengroups:{frequencies:[261.6255653006,261.6255653006,275.62199471997,265.19499215873,270.69536599394,266.7406479561],description:"Here are some suggestions for a logical system encompassing intervals into seven broad groups: skhisma, kleisma, comma,"},"monzo-sym-11":{frequencies:[261.6255653006,269.80136421624,276.76092858245,279.06726965397,285.40970760065,286.15296204753,287.78812183066,294.32876096318,299.00064605783,304.4370214407,305.22982618403,313.95067836072,314.76825825228,327.03195662575,332.97799220076,334.88072358477,341.71502406609,343.38355445704,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,398.6675280771,400.61414686654,408.78994578219,411.12588832951,418.60090448096,434.91003062957,436.04260883433,448.50096908674,449.66894036041,457.84473927605,465.11211608996,475.68284600109,478.40103369253,479.64686971777,490.54793493862,494.63583439645,507.3950357345,523.2511306012],description:"Monzo symmetrical system: 11-limit"},"monzo-sym-5":{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,334.88072358477,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Monzo symmetrical system: 5-limit"},"monzo-sym-7":{frequencies:[261.6255653006,279.06726965397,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,334.88072358477,341.71502406609,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,398.6675280771,400.61414686654,408.78994578219,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,478.40103369253,490.54793493862,523.2511306012],description:"Monzo symmetrical system: 7-limit"},monzo_sumerian_2place12:{frequencies:[261.6255653006,277.17835052447,293.68632213351,311.15032543183,329.66469551353,349.22211163595,369.93402791915,391.94841243536,415.27867508032,439.91220695103,466.03267445926,493.6331420766,523.2511306012],description:"Monzo - most accurate 2-place sexagesimal 12-tET approximation"},monzo_sumerian_simp12:{frequencies:[261.6255653006,277.34158865788,293.41184893525,310.84225580269,329.78012432849,348.83408706747,370.22485655745,392.4383479509,415.27867508032,440.11777340288,466.26338370404,493.6331420766,523.2511306012],description:"Monzo - simplified 2-place sexagesimal 12-tET approximation"},morgan:{frequencies:[261.6255653006,277.18263097687,294.07958763262,310.86358783941,330.18637907377,349.03110370139,370.30791823326,392.32757291716,415.07027187895,440.74593809176,465.76911360306,494.58094207912,523.2511306012],description:"Augustus de Morgan's temperament (1843)"},"mos11-34":{frequencies:[261.6255653006,272.51337835337,301.75671459889,314.3146261019,348.04364484358,362.52783176564,377.61479489998,418.13653788176,435.53771116377,453.66305442345,502.34551296122,523.2511306012],description:"Wilson 11 of 34-tET, G=9, Chain of minor & major thirds with Kleismatic fusion"},"mos12-17":{frequencies:[261.6255653006,272.51337835337,283.85429714132,307.97166902637,320.78822215662,348.04364484358,362.52783176564,377.61479489998,409.69842558521,426.7484383229,463.0066556268,482.27514684959,523.2511306012],description:"MOS 12 of 17, generator 7"},"mos12-22":{frequencies:[261.6255653006,287.56082683758,296.76515515861,326.18384711731,336.62443200122,347.39920007397,381.83730669135,394.05926325844,433.12283887627,446.9863572706,491.29666030217,507.02222283506,523.2511306012],description:"MOS 12 of 22, contains nearly just, recognizable diatonic, and pentatonic scales"},"mos13-22":{frequencies:[261.6255653006,278.64197723942,296.76515515861,316.06708432391,326.18384711731,347.39920007397,369.99442271164,381.83730669135,406.67242132093,433.12283887627,446.9863572706,476.05883716226,507.02222283506,523.2511306012],description:"MOS 13 of 22, contains 5 and 9 tone MOS as well. G=5 or 17"},"mos15-22":{frequencies:[261.6255653006,278.64197723942,287.56082683758,306.26409645618,316.06708432391,336.62443200122,347.39920007397,369.99442271164,381.83730669135,406.67242132093,419.68930726506,446.9863572706,461.29362042034,491.29666030217,507.02222283506,523.2511306012],description:"MOS 15 in 22, contains 7 and 8 tone MOS as well. G= 3 or 19"},moscow:{frequencies:[261.6255653006,277.4816141504,293.64820765919,311.48626315692,329.67368081467,349.7414907984,370.88289054572,392.4383479509,416.22242101754,440.4723112686,467.22939450183,494.51052097482,523.2511306012],description:"Charles E. Moscow's equal beating piano tuning (1895)"},mundeuc45:{frequencies:[261.6255653006,267.57160087561,269.80136421624,271.31540105247,274.70684356563,280.31310567921,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,488.36772189445,499.46698830115,504.56359022259,507.3950357345,513.90736041189,523.2511306012],description:"Euclidean reduced detempered Miracle[45] with Tenney tie-breaker"},musaqa:{frequencies:[261.6255653006,293.66476791741,320.24370022528,349.22823143301,391.99543598175,427.47405410759,466.16376151809,523.2511306012],description:"Egyptian scale by Miha'il Musaqa"},musaqa_24:{frequencies:[261.6255653006,269.02051582234,276.67624041581,284.6011815168,292.80374147632,300.29158209195,310.07474405997,319.15917884888,328.55303549378,338.26335715633,348.29659232622,358.65845048745,369.35373924791,380.38618160659,391.75821216589,403.47075130695,415.52295665389,427.91195157543,440.63253103259,453.67684579974,467.03406698289,480.69003385373,494.62688932105,508.8227088795,523.2511306012],description:"from d'Erlanger vol.5, p.34, after Mih.a'il Mu^saqah, 1899, a Lebanese scholar"},myna23:{frequencies:[261.6255653006,267.85369360167,274.23008563259,291.58574485564,298.52709031489,305.63367799752,312.90944157785,320.35840837329,327.98470157359,348.7424193045,357.04440817535,365.54403007102,374.24598974517,383.15510395049,392.27630410488,417.10295228105,427.03229805648,437.19801690717,447.60573581317,458.26121570764,469.17035466565,498.86352554567,510.73922293119,522.89762727195],description:"23 notes of Myna temperament, 7-limit TOP tuning (Paul Erlich)"},"mystic-r":{frequencies:[261.6255653006,367.91095120397,465.11211608996,654.0639132515,872.08521766867,1177.3150438527],description:"Skriabin's mystic chord, op. 60 rationalised"},mystic:{frequencies:[261.6255653006,369.99442271164,466.16376151809,659.25511382574,880,1174.65907166964],description:"Skriabin's mystic chord, op. 60"},urmawi:{frequencies:[261.6255653006,294.32876096318,326.6631048533,348.83408706747,392.4383479509,441.49314144476,471.45776383774,523.2511306012],description:"al-Urmawi, one of twelve maqam rows. First tetrachord is Rast"},valentine:{frequencies:[261.6255653006,276.16031892841,294.32876096318,310.68035879446,330.47439827444,348.83408706747,371.78369805875,392.4383479509,414.24047839262,440.63253103259,466.02053819169,495.71159741166,523.2511306012],description:"Robert Valentine, tuning with primes 3 & 19, TL 7-2-2002"},valentine2:{frequencies:[261.6255653006,286.10322937235,312.87102146627,349.87955533643,382.6142546815,418.41160951721,467.90420651233,511.68128147674,559.55413558945,625.74204293254,684.28641150324,748.30818586768,782.53142116911,855.74498969389,935.80841302466,1046.5022612024],description:"Robert Valentine, two octave 31-tET subset for guitar, TL 10-5-2002"},vallotti:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.77584116741,328.14198392915,349.6228209638,368.32692341742,391.5530240856,414.36778843034,438.51190905657,466.16376151809,491.10256480205,523.2511306012],description:"Vallotti & Young scale (Vallotti version)"},vavoom:{frequencies:[164.81377845643,165.83014536684,167.75567809608,168.79018601865,170.75008918846,172.7327497266,173.79795102719,175.81600173949,176.90021569146,178.95428827501,180.05785630665,182.14859375797,184.26360775673,185.39991601304,187.55268266167,188.70927492235,190.90046811205,192.07770535997,194.30800987601,196.56421264146,197.77637683895,200.07285246365,201.3066535986,203.64411977036,206.00872855044,207.27913480479,209.68595147418,210.9790342774,213.42881100738,214.74497512464,217.23848121866,219.76094059848,221.11615343515,223.68363702025,225.06304018178,227.6763542391,229.0803795269,231.74034082302,234.43118684139,235.87686755635,238.61574610914,240.08723199411,242.87499909192,244.37274935352,247.21027763268,250.08075380295,251.62294163139,254.54465534315,256.1143694988,259.0882353168,260.68597011615,263.71291896434,266.77501515601,268.42015092639,271.53690502834,273.21140777811,276.38379544331,278.08818779989,281.31720045362,284.58370833477,286.33866758091,289.66348210637,291.44976709494,294.83392732599,296.65209720599,300.09666587055,303.58123106099,305.45334345815,309.00010579622,310.90563508986,314.51570836542,316.45525105281,320.12976356015,323.84694071013,325.84402686189,329.62755691286],description:"Vavoom temperament, g=111.875426, 5-limit"},veroli:{frequencies:[261.6255653006,276.87699530057,293.57148765354,310.97965314221,329.42008585855,349.28270065725,369.64409253099,391.93430587921,414.97617910427,439.79164309579,466.09106516521,493.49262474744,523.2511306012],description:"Claudio di Veroli's well temperament (1978)"},vertex_chrom:{frequencies:[261.6255653006,271.89678302796,317.17549194805,349.22823143301,391.99543598175,407.38487419079,448.5538823653,523.2511306012],description:"A vertex tetrachord from Chapter 5, 66.7 + 266.7 + 166.7 cents"},vertex_chrom2:{frequencies:[261.6255653006,274.52698453615,323.3415889232,349.22823143301,391.99543598175,411.32572372413,484.46499093218,523.2511306012],description:"A vertex tetrachord from Chapter 5, 83.3 + 283.3 + 133.3 cents"},vertex_chrom3:{frequencies:[261.6255653006,275.18850165466,324.90175210669,349.22823143301,391.99543598175,412.31687950427,486.80259447109,523.2511306012],description:"A vertex tetrachord from Chapter 5, 87.5 + 287.5 + 125 cents"},vertex_chrom4:{frequencies:[261.6255653006,275.40936140075,325.42347822215,349.22823143301,391.99543598175,412.64779522483,487.58430040208,523.2511306012],description:"A vertex tetrachord from Chapter 5, 88.9 + 288.9 + 122.2 cents"},vertex_chrom5:{frequencies:[261.6255653006,282.57123920205,329.62755691287,349.22823143301,391.99543598175,423.37848741825,493.88330125613,523.2511306012],description:"A vertex tetrachord from Chapter 5, 133.3 + 266.7 + 100 cents"},vertex_diat:{frequencies:[261.6255653006,299.37379946195,323.3415889232,349.22823143301,391.99543598175,448.5538823653,484.46499932732,523.2511306012],description:"A vertex tetrachord from Chapter 5, 233.3 + 133.3 + 133.3 cents"},vertex_diat10:{frequencies:[261.6255653006,295.79278388132,324.90175210669,349.22823143301,391.99543598175,443.18842137843,486.80259447109,523.2511306012],description:"A vertex tetrachord from Chapter 5, 212.5 + 162.5 + 125 cents"},vertex_diat11:{frequencies:[261.6255653006,295.79278388132,306.66641795878,349.22823143301,391.99543598175,443.18842137843,459.48046426806,523.2511306012],description:"A vertex tetrachord from Chapter 5, 212.5 + 62.5 + 225 cents"},vertex_diat12:{frequencies:[261.6255653006,293.66476791741,315.65242990842,349.22823143301,391.99543598175,440,472.94426956511,523.2511306012],description:"A vertex tetrachord from Chapter 5, 200 + 125 + 175 cents"},vertex_diat2:{frequencies:[261.6255653006,299.37379946195,329.62755691287,349.22823143301,391.99543598175,448.5538823653,493.88330125613,523.2511306012],description:"A vertex tetrachord from Chapter 5, 233.3 + 166.7 + 100 cents"},vertex_diat3:{frequencies:[261.6255653006,273.20871865617,311.12698372208,349.22823143301,391.99543598175,409.35055662695,466.16376151809,523.2511306012],description:"A vertex tetrachord from Chapter 5, 75 + 225 + 200 cents"},vertex_diat4:{frequencies:[261.6255653006,297.93622032612,329.62755691287,349.22823143301,391.99543598175,446.39994737251,493.88330125613,523.2511306012],description:"A vertex tetrachord from Chapter 5, 225 + 175 + 100 cents"},vertex_diat5:{frequencies:[261.6255653006,275.18850165466,315.65242990842,349.22823143301,391.99543598175,412.31687950427,472.94426956511,523.2511306012],description:"A vertex tetrachord from Chapter 5, 87.5 + 237.5 + 175 cents"},vertex_diat7:{frequencies:[261.6255653006,293.66476791741,306.66641795878,349.22823143301,391.99543598175,440,459.48046426806,523.2511306012],description:"A vertex tetrachord from Chapter 5, 200 + 75 + 225 cents"},vertex_diat8:{frequencies:[261.6255653006,277.18263097687,306.66641795878,349.22823143301,391.99543598175,415.30469757995,459.48046426806,523.2511306012],description:"A vertex tetrachord from Chapter 5, 100 + 175 + 225 cents"},vertex_diat9:{frequencies:[261.6255653006,295.79278388132,320.24370022528,349.22823143301,391.99543598175,443.18842137843,479.82340237272,523.2511306012],description:"A vertex tetrachord from Chapter 5, 212.5 + 137.5 + 150 cents"},vertex_sdiat:{frequencies:[261.6255653006,275.18850165466,306.66641795878,349.22823143301,391.99543598175,412.31687950427,459.48046426806,523.2511306012],description:"A vertex tetrachord from Chapter 5, 87.5 + 187.5 + 225 cents"},vertex_sdiat2:{frequencies:[261.6255653006,273.20871865617,302.26980244078,349.22823143301,391.99543598175,409.35055662695,452.89298412314,523.2511306012],description:"A vertex tetrachord from Chapter 5, 75 + 175 + 250 cents"},vertex_sdiat3:{frequencies:[261.6255653006,265.43099677612,302.26980244078,349.22823143301,391.99543598175,397.69714089209,452.89298412314,523.2511306012],description:"A vertex tetrachord from Chapter 5, 25 + 225 + 250 cents"},vertex_sdiat4:{frequencies:[261.6255653006,271.8968348557,302.26980244078,349.22823143301,391.99543598175,407.38495184466,452.89298412314,523.2511306012],description:"A vertex tetrachord from Chapter 5, 66.7 + 183.3 + 250 cents"},vertex_sdiat5:{frequencies:[261.6255653006,299.37374239667,302.26980244078,349.22823143301,391.99543598175,448.55379686399,452.89298412314,523.2511306012],description:"A vertex tetrachord from Chapter 5, 233.33 + 16.67 + 250 cents"},vicentino1:{frequencies:[261.6255653006,267.54129532085,273.59078691818,279.77706779472,286.10322937235,292.57243455474,295.8616864168,299.18791603519,305.95298478736,312.87102146627,319.94548489658,327.17991022208,330.85823737058,334.57791819083,342.14320575162,349.87955533643,357.79083283678,365.88099775759,374.15409293384,382.6142546815,391.26571058456,395.66452371628,400.11279059885,409.15991580663,418.41160951721,427.87249484695,437.54730686196,442.46644183113,447.44088028055,457.55816161244,467.90420651233,478.48419305869,489.30340830564,494.80441235385,500.36726155789,511.68128147674,523.2511306012],description:"Usual Archicembalo tuning, 31-tET plus D,E,G,A,B a 10th tone higher"},vicentino2:{frequencies:[261.6255653006,262.40966637115,273.59078691818,274.41074818102,279.77706779472,280.61556956011,292.57243455474,293.44928279173,305.95298478736,306.86993670158,312.87102146627,313.80870698104,327.17991022208,328.16047998243,342.14320575162,343.16862103779,349.87955533643,350.92815470883,365.88099775759,366.97755604579,374.15409293384,391.26571058456,392.4383479509,409.15991580663,410.38618254261,418.41160951721,419.66560148231,437.54730686196,438.85865161274,457.55816161244,458.92947695163,467.90420651233,469.30653196482,489.30340830564,490.7698679226,511.68128147674,523.2511306012],description:"Alternative Archicembalo tuning, lower 3 rows the same upper 3 rows 3/2 higher"},vicentino2q217:{frequencies:[261.6255653006,262.46259217279,273.59078691818,274.46609608433,279.77706779472,280.67216895906,292.57243455474,293.50847071582,305.95298478736,306.93183153514,312.87102146627,313.87199953275,327.17991022208,328.2266690608,342.14320575162,343.23783523487,349.87955533643,350.99893596542,365.88099775759,367.05157442308,374.15409293384,391.26571058456,392.51750150462,409.15991580663,410.46895395112,418.41160951721,419.7502468954,437.54730686196,438.9471656765,457.55816161244,459.02204178186,467.90420651233,469.40118981889,489.30340830564,490.86885203792,511.68128147674,523.2511306012],description:"Vicentino's second tuning, 217-tET version"},vicentino36:{frequencies:[261.6255653006,262.43934012943,273.37431312998,274.22463192287,279.93529690293,280.80602334765,292.50627485027,293.41610276971,305.64177427204,306.59245933664,312.97717714283,313.95067836072,327.03195662575,328.04917632434,341.71789064962,349.91912034749,351.00752840096,365.63284274659,366.77012764335,374.40803131735,375.5726110527,391.22147055517,392.4383479509,408.78994578219,410.06146948999,418.60090448096,419.90294514449,437.39889945791,438.75941205608,457.04105505291,458.46266117889,468.01003810189,469.46576276783,489.02683710225,490.54793493862,510.98743222773,523.2511306012],description:"Vicentino's second tuning of 1555"},victor_eb:{frequencies:[261.6255653006,276.45300885359,293.16631378471,311.00963644582,328.52867116285,348.83408706747,368.60401198904,391.83966133014,414.6795130731,439.03603741286,465.77732204887,492.79300649794,523.2511306012],description:"Equal beating Victorian piano temperament, interpr. by Bill Bremmer (improved)"},victorian:{frequencies:[261.6255653006,276.5429423948,293.32570896007,310.76776326996,328.29744538229,349.22823143301,368.92737853004,391.99543598175,414.58565256441,438.73106346722,465.89457252293,492.17459484008,523.2511306012],description:"Form of Victorian temperament (1885)"},vitale1:{frequencies:[261.6255653006,280.31310567921,294.32876096318,305.22982618403,327.03195662575,336.37572681506,343.38355445704,348.83408706747,373.75080757229,392.4383479509,420.46965851882,441.49314144476,457.84473927605,490.54793493862,504.56359022259,515.07533168556,523.2511306012],description:"Rami Vitale's 7-limit just scale"},vitale2:{frequencies:[261.6255653006,274.70684356563,294.32876096318,299.00064605783,305.22982618403,313.95067836072,336.37572681506,348.83408706747,366.27579142084,392.4383479509,412.06026534844,441.49314144476,448.50096908674,457.84473927605,470.92601754108,504.56359022259,523.2511306012],description:"Rami Vitale, inverse mode of vitale1"},vitale3:{frequencies:[261.6255653006,274.70684356563,280.31310567921,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,412.06026534844,420.46965851882,441.49314144476,448.50096908674,457.84473927605,470.92601754108,490.54793493862,504.56359022259,515.07533168556,523.2511306012],description:"Superset of several Byzantine scales by Rami Vitale, TL 29-Aug-2001"},vogel_21:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,305.22982618403,310.07474405997,313.95067836072,321.55899383997,330.74639366397,348.83408706747,361.75386806997,372.08969287196,392.4383479509,406.97310157871,413.43299207996,418.60090448096,428.74532511996,440.99519155196,465.11211608996,482.33849075995,496.11959049595,523.2511306012],description:"Martin Vogel's 21-tone Archytas system, see Divisions of the tetrachord"},vogelh_b:{frequencies:[261.6255653006,276.37000081643,292.73769384471,310.07474405997,327.54963108844,349.78078158391,367.49599295996,391.37619916626,413.43299207996,437.91808280662,465.11211608996,489.99465727995,523.2511306012],description:"Harald Vogel's temperament, van Eeken organ in Bunschoten, Immanuelkerk, 1992"},vogelh_fisk:{frequencies:[261.6255653006,274.01856817608,292.73769384471,312.85332572834,327.54963108844,349.78078158391,366.49445363528,391.37619916626,409.75340805561,437.91808280662,467.82492621575,489.99465727995,523.2511306012],description:"Modified meantone tuning of Fisk organ in Memorial Church at Stanford"},vogelh_hb:{frequencies:[261.6255653006,276.50527247638,293.79744652436,312.85332572834,329.92547760025,349.78078158391,369.82037393809,392.08397832814,413.47189899094,440.29822362186,467.82492621575,494.44133512215,523.2511306012],description:"Harald Vogel hybrid meantone (1984)"},vogelh_jakobi:{frequencies:[261.6255653006,275.2485073924,292.86986732103,310.4251397446,327.84547867349,349.70184487387,366.99801003998,391.46454285105,412.87276088221,438.2147004401,466.26912673157,490.54793493862,523.2511306012],description:"Harald Vogel's temperament for the Schnitger organ in St. Jakobi, Hamburg"},volans:{frequencies:[261.6255653006,288.78654445823,322.09885310804,352.06379107796,388.6137256405,429.95038611107,482.60299106564,523.2511306012],description:"African scale according to Kevin Volans 1/1=G"},vong:{frequencies:[261.6255653006,287.78812183066,324.77656382143,353.19451315581,392.4383479509,431.68218274599,476.53227965466,523.2511306012],description:"Vong Co Dan Tranh scale, Vietnam"},"vries19-72":{frequencies:[261.6255653006,271.89678302796,282.57123920205,293.66476791741,305.19382000629,314.13668154225,326.46944327063,339.28638158975,352.60650301302,366.44956000397,377.18735172911,391.99543598175,407.38487419079,423.37848741825,452.89298412314,470.6732130613,489.15147723638,508.3551866238,523.2511306012],description:"Leo de Vries 19/72 Through-Transposing-Tonality 18 tone scale"},"vries35-72":{frequencies:[261.6255653006,320.24370022528,326.46944327063,332.81622067851,339.28638158975,345.88232658126,352.60650301302,359.46139971304,366.44956000397,448.5538823653,457.27406033445,466.16376151809,475.22628419761,484.46499093218,493.88330125613,503.48470957687,513.27277840175,523.2511306012],description:"Leo de Vries 35/72 Through-Transposing-Tonality 17 tone scale"},"vries5-72":{frequencies:[261.6255653006,269.29177952703,274.52698453615,282.57123920205,288.06460709314,296.5055443788,302.26980244078,317.17549194805,332.81622067851,349.22823143301,366.44956000397,384.52011812375,403.48177901006,423.37848741825,444.25635547592,466.16376151809,489.15147723638,513.27277840175,523.2511306012],description:"Leo de Vries 5/72 Through-Transposing-Tonality 18 tone scale"},"vries6-31":{frequencies:[261.6255653006,292.57243455474,299.18791603519,334.57791819083,342.14320575162,382.6142546815,391.26571058456,437.54730686196,447.44088028055,500.36726155789,511.68128147674,523.2511306012],description:'Leo de Vries 6/31 TTT used in "For 31-tone organ" (1995)'},vulture:{frequencies:[261.6255653006,265.58852967049,269.02996542365,272.51599294435,276.04719319079,279.62414831161,283.24745441839,286.9177088442,290.63552324927,294.40151054717,298.21629835234,302.73351960911,306.6562716924,310.62985211059,314.65492307423,318.73214815075,322.86220682342,327.0457799678,331.28356479042,335.57625992643,339.9245807679,344.32924417279,349.54496173019,354.07428378691,358.66229781376,363.30976018416,368.01744541334,372.78612960355,377.61660747204,382.50967536449,387.46614872711,392.486844677,398.43202813578,403.59481739244,408.82450722915,414.12195980508,419.48805795853,424.92368633675,430.42975080549,436.00715908665,441.65684067409,447.37972696622,453.17677170128,460.0412514682,466.0023613576,472.04071122634,478.15730738573,484.35315820906,490.6292962557,496.98675620078,503.42659462849,509.94988192555,516.55769649554,523.2511306012],description:"Vulture temperament, g=475.542233, 5-limit"},walker_21:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,327.03195662575,336.37572681506,348.83408706747,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:'Douglas Walker, 1977, for "out of the fathomless dark/into the limitless light'},walkerr_11:{frequencies:[261.6255653006,291.47537246454,299.00064605783,333.11471138804,341.71502406609,380.70252730062,390.53145607553,435.08860262928,484.72943438718,497.2441172906,510.08190181294,523.2511306012],description:'Robert Walker, "Seven to Pi" scale, TL 09-07-2002'},wauchope:{frequencies:[261.6255653006,274.70684356563,305.22982618403,327.03195662575,366.27579142084,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Symmetrical 7-limit JI whole-half step scale, Ken Wauchope"},wendell1:{frequencies:[261.6255653006,276.25045813601,293.35468319005,310.78176509232,328.42642049784,348.83408706747,369.47972269069,391.8804287311,414.37568699689,438.92294511207,466.17264740545,492.63963050051,523.2511306012],description:"Robert Wendell's Natural Synchronous well-temperament (2003)"},wendell1r:{frequencies:[261.6255653006,276.25560153172,293.36810129327,310.78755172318,328.43721515437,348.83408706747,369.49186704867,391.89926583958,414.38340229758,438.93945576706,466.18132758477,492.65582273156,523.2511306012],description:"Rational version of wendell1 by Gene Ward Smith"},wendell2:{frequencies:[261.6255653006,276.37223575148,293.46077701205,310.91876490958,328.50868755512,348.91469434159,369.57235851938,392.00856887742,414.55835341999,438.92345217603,466.37814713124,492.76314493882,523.2511306012],description:"Robert Wendell's Very Mild Synchronous well-temperament (2003)"},werck1:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,363.36884069528,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Werckmeister I (just intonation)"},werck3:{frequencies:[261.6255653006,275.62199471997,292.34127285051,310.07474405997,327.77163799145,348.83408706747,367.49599295996,391.11111150212,413.43299207996,437.02884834934,465.11211608996,491.65745674141,523.2511306012],description:"Andreas Werckmeister's temperament III (the most famous one, 1681)"},werck3_eb:{frequencies:[261.6255653006,275.62199471997,292.52927773082,310.07474405997,328.06371231954,348.83408706747,367.49599295996,391.41011079897,413.43299207996,437.41828331138,465.11211608996,492.10978071589,523.2511306012],description:"Werckmeister III equal beating version, 5/4 beats twice 3/2"},werck3_mod:{frequencies:[261.6255653006,275.62199471997,292.34127285051,310.07474405997,327.77163799145,348.83408706747,367.49599295996,391.11111150212,413.43299207996,437.02884834934,465.11211608996,490.82535372381,523.2511306012],description:"Modified Werckmeister III with B between E and F#, Nijsse (1997), organ Soest"},werck4:{frequencies:[261.6255653006,274.37997440822,293.00227310437,310.07474405997,328.14198392915,348.83408706747,367.49599295996,390.66969766777,411.5699614066,437.52264545758,467.21778431035,489.99465727995,523.2511306012],description:"Andreas Werckmeister's temperament IV"},werck5:{frequencies:[261.6255653006,276.55731914056,294.32876096318,311.12698372208,328.88393162803,350.01785633742,369.99442271164,392.4383479509,413.43299207996,440,466.69047534984,493.32589719545,523.2511306012],description:"Andreas Werckmeister's temperament V"},werck6:{frequencies:[261.6255653006,275.69145590816,291.35574317567,310.77945938738,328.70904358281,348.83408706747,368.91086905696,391.43977709097,413.53718386224,438.27872477707,466.16918908107,493.06356537421,523.2511306012],description:`Andreas Werckmeister's "septenarius" tuning VI`},werck6_dup:{frequencies:[261.6255653006,275.62199471997,291.49363009634,310.67551062492,328.56569462012,348.83408706747,368.92162485303,391.67947347082,413.43299207996,438.08759304581,466.01326570444,492.84854168382,523.2511306012],description:"Andreas Werckmeister's VI in the interpretation by Dupont (1935)"},werck_cl5:{frequencies:[261.6255653006,274.56549986328,292.86986732103,309.97737261399,327.84547867349,349.70184487387,366.99801003998,391.46454285105,412.14811800305,438.2147004401,466.26912673157,490.54793493862,523.2511306012],description:"Werckmeister Clavier temperament (Nothw. Anm.) Poletti reconstr. 1/5-comma"},werck_cl6:{frequencies:[261.6255653006,275.36250599118,293.11251278827,310.35057963607,328.38895179964,349.55706816887,367.91095120397,391.62667645325,413.31226430431,438.75941205608,466.0760911248,491.56462836305,523.2511306012],description:"Werckmeister Clavier temperament (Nothw. Anm.) Poletti reconstr. 1/6-comma"},werck_puzzle:{frequencies:[261.6255653006,272.52663052146,291.60349465796,306.59245933664,327.03195662575,347.47145391486,365.18568489875,389.71308164569,408.78994578219,436.04260883433,461.93263873387,490.54793493862,523.2511306012],description:"From Hypomnemata Musica, 1697, p. 49, 1/1=192, fifths tempered superparticular"},white:{frequencies:[261.6255653006,275.93321340298,289.72987407313,294.32876096318,305.22982618403,310.42486507835,327.03195662575,331.11985608357,343.38355445704,348.83408706747,367.91095120397,386.30649876417,392.4383479509,406.97310157871,413.89982010446,436.04260883433,441.49314144476,457.84473927605,465.11211608996,490.54793493862,496.67978412536,515.07533168556,523.2511306012],description:"Justin White's 22-tone scale based on Al-Farabi's tetrachord"},wicks:{frequencies:[261.6255653006,276.65728054629,293.45376109391,310.36444075595,329.26048109616,348.28499607284,369.54304125029,391.93835601961,414.48592121967,439.68064187634,465.04666232412,493.39072329352,523.2511306012],description:"Mark Wicks' equal beating temperament for organs (1887)"},wier_cl:{frequencies:[261.6255653006,276.16031892841,290.69507255622,305.22982618403,319.76457981184,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"Danny Wier, ClownTone (2003)"},wiesse:{frequencies:[261.6255653006,277.49581689502,294.32876096318,312.18279369479,331.11985608357,348.83408706747,369.99442271164,392.4383479509,416.24372513446,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"Von Wiesse's 1/2 Pyth. comma tuning"},wilson1:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,459.88868900496,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Wilson's 19-tone Scott scale (1976)"},wilson11:{frequencies:[261.6255653006,271.31540105247,277.4816601673,291.35574317567,305.22982618403,312.16686768822,325.57848126297,332.97799220076,348.83408706747,366.27579142084,374.60024122586,392.4383479509,406.97310157871,416.22249025095,437.0336147635,457.84473927605,468.25030153232,488.36772189445,499.46698830115,523.2511306012],description:"Wilson 11-limit 19-tone scale, 1977"},wilson1t:{frequencies:[261.6255653006,273.34666024156,279.64601698606,292.92954243175,306.05308604033,313.10617410217,327.13365148064,334.67254769546,349.66622272551,366.27579142084,374.71672979763,391.50442319155,409.04422481132,418.47077311482,437.21869500104,457.98711402938,468.54156606881,489.53271107931,500.81414097667,523.2511306012],description:"Wilson's Scott scale, wilson1, in minimax minerva tempering"},wilson2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,361.75386806997,372.08969287196,392.4383479509,406.97310157871,418.60090448096,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Wilson 19-tone, 1975"},wilson3:{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,412.06026534844,429.2294430713,441.49314144476,457.84473927605,470.92601754108,490.54793493862,515.07533168556,523.2511306012],description:"Wilson 19-tone"},wilson5:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Wilson's 22-tone 5-limit scale"},wilson7:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,353.19451315581,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Wilson's 22-tone 7-limit 'marimba' scale"},wilson7_2:{frequencies:[261.6255653006,263.718569823,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,329.64821227876,343.38355445704,353.19451315581,366.27579142084,376.74081403286,392.4383479509,408.78994578219,412.06026534844,436.04260883433,439.53094970501,457.84473927605,470.92601754108,490.54793493862,494.47231841813,523.2511306012],description:"Wilson 7-limit scale"},wilson7_3:{frequencies:[261.6255653006,267.90457886781,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,372.08969287196,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Wilson 7-limit scale"},wilson7_4:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,361.75386806997,372.08969287196,387.59343007496,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Wilson 7-limit 22-tone scale XH 3, 1975"},wilson_17:{frequencies:[261.6255653006,275.93321340298,290.69507255622,294.32876096318,310.42486507835,327.03195662575,331.11985608357,348.83408706747,367.91095120397,372.50983809402,392.4383479509,413.89982010446,436.04260883433,441.49314144476,465.11211608996,490.54793493862,496.67978412536,523.2511306012],description:"Wilson's 17-tone 5-limit scale"},wilson_31:{frequencies:[261.6255653006,265.7783520514,271.31540105247,279.06726965397,285.40970760065,294.32876096318,299.00064605783,305.22982618403,313.95067836072,321.08592105074,327.03195662575,332.22294006425,339.14425131559,348.83408706747,354.37113606854,361.75386806997,372.08969287196,380.54627680087,392.4383479509,398.6675280771,406.97310157871,418.60090448096,428.11456140098,441.49314144476,448.50096908674,457.84473927605,470.92601754108,481.6288815761,490.54793493862,498.33441009638,508.71637697339,523.2511306012],description:"Wilson 11-limit 31-tone scale XH 3, 1975"},wilson_41:{frequencies:[261.6255653006,265.7783520514,271.31540105247,275.62199471997,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,321.08592105074,327.03195662575,331.11985608357,336.37572681506,343.38355445704,348.83408706747,354.37113606854,361.75386806997,367.49599295996,372.08969287196,380.54627680087,387.59343007496,392.4383479509,398.6675280771,406.97310157871,413.43299207996,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,481.6288815761,490.54793493862,496.67978412536,504.56359022259,515.07533168556,523.2511306012],description:"Wilson 11-limit 41-tone scale XH 3, 1975"},wilson_alessandro:{frequencies:[261.6255653006,265.58571790036,269.80136421624,270.50397193556,275.93321340298,278.232656848,284.55612632182,286.15296204753,288.53757006459,294.32876096318,295.09524211152,303.52653474327,304.3169684275,305.22982618403,309.14739649778,314.76825825228,321.92208230347,324.60476632267,327.03195662575,331.98214737546,337.2517052703,340.06213614756,343.38355445704,347.79082106,351.18772614924,354.11429053382,359.73515228832,365.180362113,367.91095120397,370.97687579734,379.40816842909,386.30649876417,391.2646736925,392.4383479509,393.46032281536,404.70204632437,405.75595790334,413.89982010446,417.348985272,419.69101100305,429.2294430713,432.80635509689,441.49314144476,442.64286316727,449.66894036041,456.47545264125,457.84473927605,463.72109474667,472.15238737843,482.88312345521,486.907149484,490.54793493862,494.63583439645,505.87755790546,515.07533168556,521.68623159,523.2511306012],description:"D'Alessandro, genus [3 3 3 5 7 11 11] plus 8 pigtails, XH 12, 1989"},wilson_bag:{frequencies:[261.6255653006,294.32876096318,318.85615771011,349.51540364377,392.4383479509,425.14154361347,466.02053819169,523.2511306012],description:"Erv's bagpipe, mar '97, after Theodore Podnos (37-39)."},wilson_class:{frequencies:[261.6255653006,272.52663052146,293.02063313667,305.22982618403,327.03195662575,348.83408706747,366.27579142084,381.53728273004,418.60090448096,436.04260883433,457.84473927605,488.36772189445,523.2511306012],description:"Class Scale, Erv Wilson, 9 july 1967"},wilson_dia1:{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,303.82323712328,313.95067836072,324.77656382143,336.37572681506,348.83408706747,362.25078272391,371.78369805875,381.83190611439,392.4383479509,403.65087217807,415.52295665389,428.11456140098,441.49314144476,455.73485568492,470.92601754108,487.16484573215,504.56359022259,523.2511306012],description:"Wilson Diaphonic cycles, tetrachordal form"},wilson_dia2:{frequencies:[261.6255653006,268.51044859798,275.76748774928,283.42769574232,291.52562990638,300.09991313892,309.19384990071,318.85615771011,329.14184021688,340.11323489078,351.84127747322,364.40703738298,377.90359432309,388.70083987518,400.13321751856,412.25846653428,425.14154361347,438.85578695585,453.48431318771,469.12170329763,485.87604984397,503.87145909745,523.2511306012],description:"Wilson Diaphonic cycle, conjunctive form"},wilson_dia3:{frequencies:[261.6255653006,268.51044859798,275.76748774928,283.42769574232,291.52562990638,300.09991313892,309.19384990071,318.85615771011,329.14184021688,340.11323489078,351.84127747322,364.40703738298,377.90359432309,392.4383479509,403.65087217807,415.52295665389,428.11456140098,441.49314144476,455.73485568492,470.92601754108,487.16484573215,504.56359022259,523.2511306012],description:"Wilson Diaphonic cycle on 3/2"},wilson_dia4:{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,303.82323712328,313.95067836072,324.77656382143,336.37572681506,348.83408706747,358.01393146398,381.83190611439,377.90359432309,388.70083987518,400.13321751856,412.25846653428,425.14154361347,438.85578695585,453.48431318771,469.12170329763,485.87604984397,503.87145909745,523.2511306012],description:"Wilson Diaphonic cycle on 4/3"},wilson_duo:{frequencies:[261.6255653006,271.31540105247,279.06726965397,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,361.75386806997,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Wilson 'duovigene'"},wilson_enh:{frequencies:[261.6255653006,264.37951861955,279.06726965397,348.83408706747,392.4383479509,396.56927792933,418.60090448096,523.2511306012],description:"Wilson's Enharmonic & 3rd new Enharmonic on Hofmann's list of superp. 4chords"},wilson_enh2:{frequencies:[261.6255653006,265.7783520514,275.62199471997,348.83408706747,392.4383479509,398.6675280771,413.43299207996,523.2511306012],description:"Wilson's 81/64 Enharmonic, a strong division of the 256/243 pyknon"},wilson_facet:{frequencies:[261.6255653006,271.31540105247,274.70684356563,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,353.19451315581,366.27579142084,387.59343007496,392.4383479509,406.97310157871,412.06026534844,436.04260883433,452.19233508746,457.84473927605,470.92601754108,488.36772189445,508.71637697339,523.2511306012],description:"Wilson study in 'conjunct facets', Hexany based"},wilson_gh1:{frequencies:[261.6255653006,286.54684077898,313.84200313831,343.73718179912,398.2573899082,436.19359890902,477.74343791599,523.2511306012],description:"Golden Horagram nr.1: 1phi+0 / 7phi+1"},wilson_gh11:{frequencies:[261.6255653006,294.51148904212,316.87124012705,356.70145865606,383.78276711707,432.02365977685,464.82353976398,523.2511306012],description:"Golden Horagram nr.11: 1phi+0 / 3phi+1"},wilson_gh2:{frequencies:[261.6255653006,290.51361927671,322.59142140135,358.21117585067,382.16527586729,424.3630293795,471.22015545621,523.2511306012],description:"Golden Horagram nr.2: 1phi+0 / 6phi+1"},wilson_gh50:{frequencies:[261.6255653006,270.80964219588,280.31611759965,306.81496952381,317.58537244461,347.60736272384,359.80973785756,372.44046183271,407.64801512355,421.95805149354,461.8466031062,478.05922145,523.2511306012],description:"Golden Horagram nr.50: 7phi+2 / 17phi+5"},wilson_helix:{frequencies:[261.6255653006,283.42769574232,294.32876096318,305.22982618403,327.03195662575,348.83408706747,359.73515228832,392.4383479509,425.14154361347,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"Wilson's Helix Song, see David Rosenthal, Helix Song, XH 7&8, 1979. Also Secor, 1964"},wilson_hypenh:{frequencies:[261.6255653006,266.38239376061,271.31540105247,348.83408706747,392.4383479509,399.57359064092,406.97310157871,523.2511306012],description:"Wilson's Hyperenharmonic, this genus has a CI of 9/7"},wilson_l1:{frequencies:[261.6255653006,269.80136421624,274.70684356563,286.15296204753,294.32876096318,305.22982618403,314.76825825228,327.03195662575,337.2517052703,343.38355445704,359.73515228832,366.27579142084,377.72190990274,392.4383479509,404.70204632437,419.69101100305,431.68218274599,449.66894036041,457.84473927605,472.15238737843,490.54793493862,503.62921320365,523.2511306012],description:"Wilson 11-limit scale"},wilson_l2:{frequencies:[261.6255653006,267.07609791103,279.79400733536,287.78812183066,294.32876096318,305.22982618403,314.76825825228,327.03195662575,335.75280880244,348.83408706747,359.73515228832,373.05867644715,381.53728273004,392.4383479509,411.12588832951,419.69101100305,436.04260883433,447.67041173658,457.84473927605,479.64686971777,490.54793493862,503.62921320365,523.2511306012],description:"Wilson 11-limit scale"},wilson_l3:{frequencies:[261.6255653006,269.80136421624,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,332.97799220076,343.38355445704,359.73515228832,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,429.2294430713,441.49314144476,457.84473927605,470.92601754108,490.54793493862,499.46698830115,523.2511306012],description:"Wilson 11-limit scale"},wilson_l4:{frequencies:[261.6255653006,267.07609791103,274.70684356563,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,356.10146388137,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,508.71637697339,523.2511306012],description:"Wilson 11-limit scale"},wilson_l5:{frequencies:[261.6255653006,267.07609791103,279.79400733536,285.40970760065,299.00064605783,305.22982618403,313.95067836072,327.03195662575,332.97799220076,348.83408706747,356.10146388137,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,479.64686971777,488.36772189445,508.71637697339,523.2511306012],description:"Wilson 11-limit scale"},wilson_l6:{frequencies:[261.6255653006,267.57160087561,277.4816601673,285.40970760065,294.32876096318,305.22982618403,312.16686768822,327.03195662575,332.97799220076,348.83408706747,356.76213450082,369.97554688974,381.53728273004,392.4383479509,406.97310157871,416.22249025095,436.04260883433,443.97065626768,457.84473927605,475.68284600109,490.54793493862,499.46698830115,523.2511306012],description:"Wilson 1 3 7 9 11 15 eikosany plus 9/8 and tritone. Used Stearns: Jewel"},window:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,297.67175429757,306.59245933664,327.03195662575,334.88072358477,348.83408706747,363.36884069528,367.91095120397,372.08969287196,376.74081403286,392.4383479509,408.78994578219,418.60090448096,446.50763144636,459.88868900496,465.11211608996,470.92601754108,502.32108537715,523.2511306012],description:"Window lattice"},wonder1:{frequencies:[261.6255653006,272.72256190885,277.86237426839,283.09905309511,288.43442562998,293.8703485525,299.4087202614,312.10830899518,317.99039712482,323.98334274799,330.08923137594,336.31019538088,342.64839962317,357.18202566262,363.91358676728,370.77201292014,377.75969724053,384.87907140314,392.13262172187,408.76514672187,416.46885901676,424.31776026786,432.3145818485,440.46211650535,448.76319953449,467.79774494453,476.61400354229,485.59641603135,494.74811665626,504.07229015717,513.57219283465,523.2511306012],description:"Wonder Scale, gen=~233.54 cents, 8/7+1029/1024^7/25, LS 12:14:18:21, M.Schulter"},wonder36:{frequencies:[261.6255653006,271.89678302796,277.18263097687,282.57123920205,288.06460709314,293.66476791741,299.37379946195,311.12698372208,317.17549194805,323.3415889232,329.62755691287,336.03572815422,342.56848033562,356.01745236555,362.93866220634,369.99442271164,377.18735172911,384.52011812375,391.99543598175,407.38487419079,415.30469757995,423.37848741825,431.60923940535,440,448.5538823653,466.16376151809,475.22628419761,484.46499093218,493.88330125613,503.48470957687,513.27277840175,523.2511306012],description:"Wonder Scale, 36-tET version"},wronski:{frequencies:[261.6255653006,277.97716313189,294.32876096318,308.86351459099,327.03195662575,348.83408706747,370.63621750918,392.4383479509,416.96574469783,441.49314144476,463.29527188648,494.18162334558,523.2511306012],description:`Wronski's scale, from Jocelyn Godwin, "Music and the Occult", p. 105.`},wurschmidt:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,331.11985608357,353.19451315581,367.91095120397,392.4383479509,413.89982010446,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"W\xEF\xBF\xBDrschmidt's normalised 12-tone system"},wurschmidt1:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,490.54793493862,502.32108537715,523.2511306012],description:"W\xEF\xBF\xBDrschmidt-1 19-tone scale"},wurschmidt2:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,484.4917875937,502.32108537715,523.2511306012],description:"W\xEF\xBF\xBDrschmidt-2 19-tone scale"},wurschmidt_31:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,287.4304306281,294.32876096318,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,376.74081403286,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,428.6473261885,436.04260883433,446.50763144636,454.2110508691,465.11211608996,476.27480687611,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"W\xEF\xBF\xBDrschmidt's 31-tone system"},wurschmidt_31a:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,287.4304306281,294.32876096318,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,372.08969287196,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,428.6473261885,436.04260883433,446.50763144636,454.2110508691,465.11211608996,476.27480687611,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"W\xEF\xBF\xBDrschmidt's 31-tone system with alternative tritone"},wurschmidt_53:{frequencies:[261.6255653006,264.89588486686,267.90457886781,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,310.07474405997,313.95067836072,319.36714514233,321.48549464138,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,396.89567239676,401.85686830172,408.78994578219,413.43299207996,418.60090448096,425.82286018978,428.6473261885,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,476.27480687611,484.4917875937,490.54793493862,496.11959049595,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"W\xEF\xBF\xBDrschmidt's 53-tone system"},wurschmidt_temp:{frequencies:[261.6255653006,270.6876810201,276.46178051834,282.35904862511,288.38211267756,294.53365605714,300.81641938515,307.23320174366,313.78686192261,320.48031969341,327.31655710978,338.6540596739,345.87796520471,353.25596548096,360.79134753214,368.48746850413,376.34775715481,384.37571538166,392.57491978195,400.94902556208,409.5017589506,423.68596790742,432.72370810117,441.95423435346,451.38165902684,461.01018486849,470.84409628664,480.88777706987,491.14570185547,501.62244073019,512.32266126632,523.2511306012],description:"W\xEF\xBF\xBDrschmidt temperament, 5-limit, g=387.744375, 5-limit"},"t-side":{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Tau-on-Side"},"t-side2":{frequencies:[261.6255653006,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,459.88868900496,470.92601754108,490.54793493862,523.2511306012],description:"Tau-on-Side opposite"},tagawa_55:{frequencies:[261.6255653006,277.01530443593,277.97716313189,279.06726965397,280.31310567921,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,296.50897400735,299.00064605783,301.87565226992,305.22982618403,307.79478270659,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,356.76213450082,359.73515228832,362.25078272391,366.27579142084,369.35373924791,370.63621750918,373.75080757229,377.90359432309,380.54627680087,383.71749577421,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,442.75095666255,444.76346101102,448.50096908674,453.48431318771,457.84473927605,461.69217405988,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,488.36772189445,490.54793493862,492.47165233054,494.18162334558,523.2511306012],description:"Rick Tagawa, 17-limit diamond subset with good 72-tET approximation, 2003"},tamil:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,372.50983809402,387.59343007496,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"Possible Tamil sruti scale. Alternative 11th sruti is 45/32 or 64/45"},tamil_vi:{frequencies:[261.6255653006,275.62199471997,290.69507255622,310.07474405997,327.03195662575,348.83408706747,367.91095120397,387.59343007496,413.43299207996,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Vilarippalai scale in Tamil music, Vidyasankar Sundaresan"},tamil_vi2:{frequencies:[261.6255653006,275.62199471997,290.69507255622,310.07474405997,327.03195662575,348.83408706747,367.49599295996,387.59343007496,413.43299207996,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Vilarippalai scale with 1024/729 tritone"},tanaka:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,331.11985608357,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,387.59343007496,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"26-note choice system of Shoh\xEF\xBF\xBD Tanaka, Studien i.G.d. reinen Stimmung (1890)"},tanbur:{frequencies:[261.6255653006,268.33391312882,275.39533189537,282.83844897362,290.69507255622,299.00064605783,306.66732929008,314.73752216614,323.24394168414,332.22294006425,341.71502406609,351.76546595039,523.2511306012],description:"Sub-40 tanbur scale"},tansur:{frequencies:[261.6255653006,275.71279889585,293.19126194179,310.07474405997,328.21516866261,348.83408706747,367.61706537823,391.78834765065,413.56919813705,438.48689188122,465.11211608996,491.022754507,523.2511306012],description:"William Tans'ur temperament from A New Musical Grammar (1746) p. 73"},tartini_7:{frequencies:[261.6255653006,294.32876096318,313.95067836072,367.91095120397,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Tartini (1754) with 2 neochromatic tetrachords, 1/1=d, Minor Gipsy (Slovakia)"},taylor_g:{frequencies:[261.6255653006,274.70684356563,287.78812183066,294.32876096318,313.95067836072,353.19451315581,366.27579142084,392.4383479509,412.06026534844,418.60090448096,431.68218274599,470.92601754108,523.2511306012],description:"Gregory Taylor's Dutch train ride scale based on pelog_schmidt"},taylor_n:{frequencies:[261.6255653006,275.93341798027,292.67158636845,310.42509491746,327.40170814054,348.83408706747,367.9112241576,391.33200541501,413.90012676351,437.76975193523,465.63764214343,491.10256480205,523.2511306012],description:"Nigel Taylor's Circulating Balanced temperament (20th cent.)"},telemann:{frequencies:[261.6255653006,264.94361147373,271.70648167539,275.15237829755,278.64197723942,282.17583275232,289.3785657319,293.0485888979,296.76515515861,300.52885648597,304.34029066685,308.20006306951,312.10878854255,316.06708432391,324.13491490251,328.24573110938,332.40868242763,336.62443200122,345.21700307457,349.59519124833,354.02890545793,363.06573983159,367.67029324081,372.33324354561,377.05533136015,386.67993129161,391.58396987353,396.55020354877,406.67242132093,411.83001550364,417.05301810033,422.34226102699,433.12283887627,438.61588607285,444.17860098504,449.81186203693,461.29362042034,467.14394139401,473.06846134744,485.14386048744,491.29666030217,497.52749252881,503.83734680745,516.69814597997,523.2511306012],description:"G.Ph. Telemann (1767). 55-tET interpretation of Klang- und Intervallen-Tafel"},telemann_28:{frequencies:[261.6255653006,264.94361147373,275.15237829755,278.64197723942,293.0485888979,296.76515515861,308.20006306951,312.10878854255,328.24573110938,332.40868242763,345.21700307457,349.59519124833,354.02890545793,367.67029324081,372.33324354561,386.67993129161,391.58396987353,396.55020354877,406.67242132093,411.83001550364,438.61588607285,444.17860098504,461.29362042034,467.14394139401,473.06846134744,491.29666030217,497.52749252881,516.69814597997,523.2511306012],description:"Telemann's tuning as described on Sorge's monochord, 1746, 1748, 1749"},"temes-mix":{frequencies:[261.6255653006,306.31659399917,323.38698268281,342.47239171077,361.55773069062,378.62819763364,399.72843132859,423.31905787312,446.91000942727,523.2511306012],description:"Temes' 5-tone Phi scale mixed with its octave inverse"},"temes-ur":{frequencies:[261.6255653006,306.31659399917,323.38703872151,342.47239171077,361.55773069062,423.31905787312],description:"Temes' Ur 5-tone phi scale"},temes:{frequencies:[261.6255653006,306.31659399917,323.38703872151,342.47239171077,361.55773069062,423.31905787312,495.63057556553,523.2511306012,554.13187513888,585.01259700885,684.94462120932],description:"Temes' 5-tone Phi scale / 2 cycle"},"temes2-mix":{frequencies:[261.6255653006,306.31659399917,323.38698268281,342.47239171077,361.55773069062,399.72843132859,423.31905787312,468.0102705885,495.63057556553,523.2511306012,552.41124604023,585.01259700885,646.77396536561,684.94438778203,757.25639526728,799.45686265718,846.63811574624,893.82001885454,1046.5022612024],description:"Temes' 2 cycle Phi scale mixed with its 4/1 inverse"},temp10coh:{frequencies:[261.6255653006,279.06726965397,299.10339764541,320.57805584394,343.5945271479,368.2635494613,394.70435354475,423.05284121745,453.57582505819,488.36772189445,523.2511306012],description:"Differential coherent 10-tone scale, OdC, 2003"},temp10ebss:{frequencies:[261.6255653006,280.43397904206,300.58585223371,322.17714382919,345.31067040124,370.09659148016,396.65293718743,425.1061627261,455.59176355181,488.25490599611,523.2511306012],description:`Cycle of 10 equal "beating" 15/14's`},temp11ebst:{frequencies:[261.6255653006,278.68301283272,296.80966039395,316.07252488244,336.70993118161,358.64093492832,381.94662420398,406.71316497313,433.24697173408,461.44397806515,491.40843569917,523.2511306012],description:"Cycle of 11 equal beating 9/7's"},temp12coh3:{frequencies:[261.6255653006,279.8393060116,294.68135606466,311.32770136359,332.21069717879,353.56473801237,370.2386298036,397.61708850394,418.97112933752,440.1984563065,471.2874275201,496.80305467842,523.2511306012],description:"Differential coherent scale, interval=3, OdC, 2003"},temp12ebf:{frequencies:[261.6255653006,277.18807786937,293.58315284916,311.09098010692,329.5354160273,349.23174343306,369.98176018664,391.84186131702,415.18563115404,439.77824302677,466.03998256716,493.70667148145,523.2511306012],description:"Equal beating temperament tuned by The Best Factory Tuners (1840)"},temp12ebf4:{frequencies:[261.6255653006,276.98801737971,293.51517393789,310.79793252689,329.39098365485,348.83408706747,369.75126958642,391.78747833067,414.83115644933,439.62189128662,465.54602917011,493.43560586205,523.2511306012],description:"Eleven equal beating fifths and just fourth"},temp12ebfo:{frequencies:[261.6255653006,277.20265787963,293.64844512428,311.16011036869,329.64835309433,349.33484978517,370.11921182839,392.06266066657,415.42830219132,440.09698059047,466.36447845344,494.0968438935,523.62658899088],description:"Equal beating fifths and fifth beats twice octave at C"},temp12ebfp:{frequencies:[261.6255653006,277.75307788644,293.77513637875,310.82931496301,329.94340332986,349.12935317325,370.63270249518,391.99544730302,416.18671544528,440.21980402758,465.80107112682,494.47220378931,523.2511306012],description:"All fifths except G#-Eb beat same as 700 c. C-G"},temp12ebfr:{frequencies:[261.6255653006,277.1880780098,293.58315312731,311.09097992515,329.53543943235,349.23174457993,369.98176152553,391.84186168221,415.185630746,439.77824342227,466.03998361904,493.70667287983,523.2511306012],description:"Exact values of equal beating temperament of Best Factory Tuners (1840)"},temp12ep:{frequencies:[261.6255653006,277.19910487213,293.6996776193,311.18246278326,329.70593120198,349.3320268423,370.12638880276,392.15855510068,415.50221189151,440.23542223935,466.44090588941,494.20629608476,523.62445363767],description:"Pythagorean comma distributed equally over octave and fifth: 1/19-Pyth comma"},temp12fo1o:{frequencies:[261.6255653006,277.20349049726,293.7089710611,311.19723286579,329.72679517909,349.35966199273,370.1615231373,392.20198585541,415.5548023839,440.29810917508,466.51470234738,494.29230838881,523.72386870485],description:"Fifth beats same octave opposite"},temp12fo2o:{frequencies:[261.6255653006,277.19623399848,293.69359242342,311.17279259662,329.69226891672,349.31393351076,370.10338107372,392.13011658806,415.46777521802,440.19437666896,466.39258399594,494.14997995304,523.55935978973],description:"Fifth beats twice octave opposite"},temp12p10:{frequencies:[261.6255653006,277.12003622197,293.53214922797,310.91625060765,329.32990524605,349.3071136959,369.493381814,391.90691363044,415.11714643072,439.70197837153,465.74281849401,493.32589719545,523.2511306012],description:"1/10-Pyth. comma well temperament"},temp12p6:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,328.14198392915,349.6228209638,367.9112241576,391.5530240856,413.43299207996,438.51190905657,466.16376151809,491.10256480205,523.2511306012],description:"Modified 1/6-Pyth. comma temperament"},temp12p8:{frequencies:[261.6255653006,277.02617059261,293.33333347996,310.60041853231,328.88393162803,349.42547049952,369.36822764145,391.77416758435,414.83597850347,439.25532436715,465.90062756558,492.49097043477,523.2511306012],description:"1/8-Pyth. comma well temperament"},temp12p8a:{frequencies:[261.6255653006,276.55731914056,293.33333347996,311.12698372208,328.88393162803,349.42547049952,368.74309237173,391.77416758435,414.83597850347,439.25532436715,466.69047534984,492.49097043477,523.2511306012],description:"1/8-Pyth. comma well temperament, consecutive just fifths"},temp12s17:{frequencies:[261.6255653006,275.41266079541,292.61316553779,309.9334225479,327.2710181906,348.78108411875,367.16108497228,391.29294726693,413.18177371806,437.63868343995,464.97078294553,490.98112850332,523.2511306012],description:'4/17th synt. comma "well"-temperament. OdC 1999'},temp12s3:{frequencies:[261.6255653006,275.79485124716,293.07576161921,310.19140758515,326.99095182327,348.87783040382,367.77258074571,390.81668391305,413.640406907,437.79703699716,465.22877230071,490.42492909292,523.2511306012],description:'1/3 synt. comma "well"-temperament. OdC 1999'},temp12septendec:{frequencies:[261.6255653006,277.01530443593,293.31032234393,310.5638707171,328.83233370046,348.17541215342,368.65631875068,390.34198455955,413.30334035457,437.61515184999,463.35732874365,494.18162334558,523.2511306012],description:"Scale with 18/17 steps"},temp12w2b:{frequencies:[261.6255653006,276.80621914251,293.38957467182,310.9374037046,329.12408537692,349.33498699812,369.32540968366,391.68699838314,414.83365420901,439.33301386008,466.03043161756,492.93477894539,523.2511306012],description:"The fifths on white keys beat twice the amount of fifths on black keys"},temp15coh:{frequencies:[261.6255653006,273.98642352939,286.93424587686,300.52595924487,314.76156220527,329.6715499436,345.28562122078,360.48992106995,377.61407292725,395.54746439596,414.33033691342,434.93480826785,455.53927928881,477.11963158959,499.65025190386,523.2511306012],description:"Differential coherent 15-tone scale, OdC, 2003"},temp15ebmt:{frequencies:[261.6255653006,274.13344448045,287.10161388969,300.54701305042,315.02372625978,330.03318193885,345.59498492211,361.72946206059,379.10151766291,397.1128647533,415.78702800292,435.14840215297,455.99486887387,477.60848441971,500.01748339385,523.2511306012],description:"Cycle of 15 equal beating minor thirds"},temp15ebsi:{frequencies:[261.6255653006,274.09084013406,287.01483652929,300.41443756554,314.84183942382,329.80016763418,345.30896502873,361.38848559819,378.7013656391,396.65136316555,415.2619179078,434.55734100747,455.33280077531,476.87279531786,499.20546063174,523.2511306012],description:"Cycle of 15 equal beating major sixths"},temp15mt:{frequencies:[261.6255653006,272.10155294862,290.46827626332,302.09918118188,314.19580976213,326.77681046955,348.83408706747,362.80207077951,377.32935907335,392.4383479509,418.92774655891,435.70241417719,453.14877154631,471.29371440761,503.10581234929,523.2511306012],description:"Cycle of 15 minor thirds, Petr Parizek"},temp16d3:{frequencies:[261.6255653006,272.52663052146,287.69189096389,299.67905363019,312.16568143019,325.17258353382,338.72144179457,352.83483584176,372.46899992671,387.98854005196,404.15472995283,420.99451113006,438.53594735503,462.93911228358,482.22824196207,502.32108537715,523.2511306012],description:"Cycle of 16 thirds tempered by 1/3 small diesis"},temp16d4:{frequencies:[261.6255653006,271.36369423603,291.82218013836,302.68427617679,313.95067836072,325.63643364742,337.75715313333,350.32902355546,376.74081403286,390.76372105392,405.30858212106,420.39482899491,436.04260883433,468.91646607712,486.37029938793,504.47379566792,523.2511306012],description:"Cycle of 16 thirds tempered by 1/4 small diesis"},temp16ebs:{frequencies:[261.6255653006,273.35566334732,285.38860666159,297.73221513295,311.13803992337,324.88997598926,338.996955196,354.31789928052,370.0343963911,386.15666093499,403.66631166114,421.62802297921,440.05346707662,460.0644954801,480.59216613216,501.64981691394,523.2511306012],description:"Cycle of 16 equal beating sevenths"},temp16ebt:{frequencies:[261.6255653006,273.54317752885,285.74681450472,298.24333695649,311.03977535434,324.14332902314,339.04034606654,354.29488987405,369.91554384313,385.91109319424,402.29053605603,420.91180538217,439.97998583037,459.50580330844,479.50024102158,499.97454326842,523.2511306012],description:"Cycle of 16 equal beating thirds"},temp16l4:{frequencies:[261.6255653006,278.81939890042,286.59644689091,305.43134787805,313.95067836072,322.70763593891,343.91573686494,353.50850469302,376.74081403286,387.24916379762,412.69888495295,424.21020636659,436.04260883433,464.69899736225,477.66074674968,509.05224558146,523.2511306012],description:"Cycle of 16 fifths tempered by 1/4 major limma"},temp17c10:{frequencies:[261.6255653006,278.13248184697,287.25399162485,296.67464640038,315.39293803189,325.73642523995,336.41913481987,347.45218787195,369.37422084479,381.48805431277,393.9991677018,418.85802036446,432.59470262079,446.78188702878,474.97099505857,490.54793493862,506.63572944675,523.2511306012],description:'Cycle of 17 fifths tempered by 1/10 of "17-tET comma"'},temp17c11:{frequencies:[261.6255653006,276.93071634298,286.5293181416,296.46061382736,313.80362259461,324.68026371274,335.93389640617,347.57758745223,367.91095120397,380.66298908833,393.8570200719,416.89773925535,431.34769064645,446.29848691039,472.40704302301,488.78098359819,505.72245578392,523.2511306012],description:'Cycle of 17 fifths tempered by 1/11 of "17-tET comma"'},temp17c12:{frequencies:[261.6255653006,275.93321340298,285.92682111936,296.28237159295,312.48531442823,323.80274674587,335.53006800342,347.68212334757,366.69599021774,379.97679689512,393.73860099464,415.27118158544,430.3112595477,445.8960513142,470.2809925818,487.31338757149,504.96265307831,523.2511306012],description:'Cycle of 17 fifths tempered by 1/12 of "17-tET comma"'},temp17c13:{frequencies:[261.6255653006,275.09197878886,285.41800532755,296.13163442011,311.37414725128,323.06208421743,335.18874504319,347.77059980835,365.67107999768,379.3971387881,393.63842979584,413.89982010446,429.43622376713,445.55581352332,468.48950048969,486.07501593832,504.32063522708,523.2511306012],description:'Cycle of 17 fifths tempered by 1/13 of "17-tET comma"'},temp17c14:{frequencies:[261.6255653006,274.37296298479,284.98259752889,296.00249241327,310.42486507835,322.42857866752,334.89645942743,347.84645641687,364.79486552165,378.90099378095,393.5525871037,412.72797362103,428.68761089217,445.26438593469,466.95936897503,485.01606158014,503.77098227424,523.2511306012],description:'Cycle of 17 fifths tempered by 1/14 of "17-tET comma"'},temp17c15:{frequencies:[261.6255653006,273.75133628611,284.60578240525,295.8906154666,309.60449456672,321.88054534371,334.64335075548,347.91221098893,364.0371787025,378.47152629398,393.47820661021,411.71505587788,428.03986711385,445.01196937812,465.63729761752,484.10016650719,503.29510175355,523.2511306012],description:'Cycle of 17 fifths tempered by 1/15 of "17-tET comma"'},temp17ebf:{frequencies:[261.6255653006,272.44226039746,283.83762774933,295.84262353625,308.01140541539,320.83119298602,334.33681303028,348.02669374128,362.44895565855,377.64277622383,393.64943714798,409.87448211667,426.96753159265,444.97502525992,463.22819966593,482.45788080796,502.71631088044,523.2511306012],description:"Cycle of 17 equal beating fifths"},temp17ebs:{frequencies:[261.6255653006,272.25303191034,284.09302419378,294.99486987374,307.14054534497,320.67196534338,333.1312181383,347.01199086095,362.47647062671,376.71561430061,392.57935523584,410.25304697073,426.52635565248,444.65634289229,464.854847056,483.45291583119,504.17290303449,523.2511306012],description:"Cycle of 17 equal beating sevenths"},temp17fo2:{frequencies:[261.6255653006,272.49443630436,283.81483782984,295.60553136463,307.88605111976,320.67674980257,333.99881838086,347.87433573796,362.32629011314,377.37863296804,393.05630224552,409.38528080469,426.39262165238,444.10651133426,462.55629730628,481.77255670213,501.78712602614,522.6331757532],description:"Fifth beats twice octave"},temp17nt:{frequencies:[261.6255653006,272.67141175251,283.62400127587,295.59862296305,308.07881564783,321.08592105074,333.98321109015,348.08400151932,362.78013022893,377.35217954558,393.28401259522,409.88848628312,426.35277308246,444.35341180422,463.11404114636,482.66674266598,502.05436630802,523.2511306012],description:"17-tone temperament with 27/22 neutral thirds"},temp17s:{frequencies:[261.6255653006,272.47577100117,283.83144686231,295.66037914716,307.98229466369,320.75501909295,334.12277657932,348.04764753103,362.48197303348,377.58873713905,393.32509157531,409.63717539588,426.70917767843,444.49267120113,463.01730800927,482.21968335939,502.31662775181,523.2511306012],description:"Cycle of 17 fifths tempered by 2 schismas. Schulter, Tuning List 10-9-98"},temp19d5:{frequencies:[261.6255653006,270.66831710441,280.02362001571,289.70227696231,304.50185643804,315.02657220273,325.91506125677,337.17989695691,348.83408706747,360.89108965294,379.3273836973,392.4383479509,406.00247545366,420.03542981361,434.55341522625,449.57319616728,472.53985806789,488.87259164079,505.76984518255,523.2511306012],description:"Cycle of 19 thirds tempered by 1/5 small diesis. Third = 3\\5"},temp19ebf:{frequencies:[261.6255653006,271.21349495395,281.45216719787,291.55303152151,302.33945232218,313.85796000757,325.22143162672,337.35615460362,350.31447634238,363.09838134063,376.74994653359,390.21776437961,404.59965986997,419.95766938963,435.10896436483,451.288596451,468.56635736893,485.61156561298,503.81364896584,523.2511306012],description:"Cycle of 19 equal beating fifths"},temp19ebmt:{frequencies:[261.6255653006,271.3515811897,281.43551369743,291.89053542337,302.73030209663,313.98726376766,325.65848288741,337.75920164946,350.30522706536,363.3129458114,376.82130195458,390.82676353803,405.34762742982,420.40285701732,436.01212051281,452.22214724761,469.0287008844,486.45373685079,504.52001310976,523.2511306012],description:"Cycle of 19 equal beating minor thirds"},temp19ebo:{frequencies:[261.6255653006,277.22364042749,293.65618047886,311.2040149966,329.6906225544,349.43193638686,370.22936988938,392.1394232912,415.53653598153,440.18534605859,466.50709783521,494.2370091719,523.84897992059,555.04513017437,587.91021027711,623.0058793126,659.97909442818,699.46172209312,741.05658909815,784.8766959018],description:"Cycle of 19 equal beating octaves in twelfth"},temp19ebt:{frequencies:[261.6255653006,271.59402175166,281.80172126331,292.25440577595,302.95795550425,313.91838845704,325.14187338321,337.60244413755,350.36206814823,363.42792409681,376.80735887968,390.50790160795,404.53725818867,420.11297167574,436.06250107414,452.39482160095,469.11911613638,486.2447950704,503.78149001575,523.2511306012],description:"Cycle of 19 equal beating thirds"},temp19k10:{frequencies:[261.6255653006,271.76196854941,282.29109592175,293.22816309454,304.58897525989,314.09773337131,326.2671147593,338.90798583865,352.03861397416,365.67797428016,377.09383089344,391.70392883316,406.88007915549,422.6442137645,439.01911266466,452.72455471179,470.26488431194,488.48479525859,507.41061720556,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/10 kleisma"},temp19k3:{frequencies:[261.6255653006,272.95237156345,284.76956174698,297.09836322231,309.96092731219,314.44113201634,328.05453510669,342.25731432435,357.07498823553,372.53417996774,377.91882441317,394.28042610165,411.35038641496,429.15937528906,447.73938330242,454.2110508691,473.87564511273,494.39160029408,515.79576952378,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/3 kleisma"},temp19k4:{frequencies:[261.6255653006,272.52663052146,283.88190679319,295.71031957624,308.03158289191,314.31844786309,327.4150485592,341.05734286691,355.26806612985,370.07090075127,377.62397563434,393.35830866491,409.74823893478,426.8210805314,444.6052930255,453.67960031314,472.58291784883,492.27387080735,512.78528301977,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/4 kleisma"},temp19k5:{frequencies:[261.6255653006,272.27150423996,283.35064249518,294.88062803952,306.8797443789,314.24485853342,327.03195662575,340.33937954017,354.18830437416,368.6007608062,377.44717941318,392.80607455881,408.78994578219,425.42422593284,442.73537947933,453.36102900438,471.8089732132,491.00759210237,510.98743222773,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/5 kleisma"},temp19k6:{frequencies:[261.6255653006,272.10155294862,282.99701916355,294.32876096318,306.11424676116,314.19580976213,326.77681046955,339.86157848985,353.47028562902,367.62391141072,377.32935907335,392.4383479509,408.1523292189,424.49552853314,441.49314144476,453.14877154631,471.29371440761,490.16521545931,509.79236747994,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/6 kleisma"},temp19k7:{frequencies:[261.6255653006,271.9802243463,282.7447017667,293.93521741989,305.56863311614,314.16077935352,326.59468561952,339.52070304385,352.95830848174,366.92774752709,377.24522513926,392.17589782962,407.69749910471,423.83341578697,440.60837682578,452.99722066906,470.92601754108,489.56440442681,508.94046380742,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/7 kleisma"},temp19k8:{frequencies:[261.6255653006,271.88926339885,282.55561052465,293.64040364533,305.16005936662,314.13450956378,326.45815718343,339.26526937521,352.57481080357,366.4064920117,377.18213591051,391.97917444376,407.35670799125,423.33750965456,439.94524339387,452.88359011983,470.65043349884,489.11427877975,508.30246674991,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/8 kleisma"},temp19k9:{frequencies:[261.6255653006,271.81853598083,282.40862793607,293.41130980736,304.84265779003,314.11407882217,326.35200974457,339.06673262958,352.27682225125,366.00158141044,377.13307501509,391.82623534045,407.09184571451,422.95220417284,439.43048454013,452.79523167251,470.4362008006,488.76446469244,507.80680338678,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/9 kleisma"},temp19lst:{frequencies:[261.6255653006,270.56149416036,279.80263334807,289.3594074481,304.78245180412,315.19242188443,325.95794877725,337.09117667186,348.60466454729,360.5114003397,379.7268899367,392.69661814622,406.10933276067,419.98016416303,434.32475952075,449.15930043669,473.09978287909,489.25870067642,505.96953296163,523.2511306012],description:"Cycle of 19 least squares thirds 5/4^5 = 3/2"},temp19lst2:{frequencies:[261.6255653006,270.86681403244,280.43448605562,290.34011310859,303.98143643885,314.71879896063,325.83542931914,337.34472599098,349.26055890156,361.59728998429,378.58655645252,391.95915298383,405.80409975455,420.1380835834,434.97837844393,450.34287106955,471.50175486263,488.15634183652,505.39920634693,523.2511306012],description:"Cycle of 19 least squares thirds 5/4, 3/2 (5), 6/5 (4)"},temp21ebs:{frequencies:[261.6255653006,270.48603901573,279.57527100587,288.89916626223,298.46378542286,308.59004184051,318.97773454914,329.63361550747,340.56460989801,352.13747205507,364.00912264098,376.18727282918,388.67983604901,401.90596519454,415.47356606258,429.3914526989,443.66866815503,458.78424493347,474.29007331382,490.19622772738,506.51304733863,523.2511306012],description:"Cycle of 21 equal beating sevenths"},temp22ebf:{frequencies:[261.6255653006,269.81217946012,278.43675961795,287.52273893052,297.09479717246,306.30473778727,316.00739221221,326.22911792828,336.99768333647,347.35886661388,358.27435338478,369.77379349451,381.88843101834,394.65117841871,406.93109909525,419.8679691216,433.49693671533,447.85502662133,461.66993710068,476.2239184443,491.55650493929,507.70935693135,523.2511306012],description:"Cycle of 22 equal beating fifths"},temp22ebt:{frequencies:[261.6255653006,270.16401944699,278.90739732088,287.86061708193,297.02871287074,306.4168425362,316.03028815926,325.87445510174,336.54752540671,347.4767459334,358.66827061689,370.12838991426,381.86355177507,393.88036006393,406.18556836568,419.52690380046,433.1884314408,447.17783799964,461.50298590676,476.17193984405,491.19294816955,506.57446222015,523.2511306012],description:"Cycle of 22 equal beating thirds"},temp22fo2:{frequencies:[261.6255653006,269.97341665226,278.58762814388,287.47669703533,296.64939669548,306.114775449,315.88217199169,325.96122111215,336.36187067071,347.09438029185,358.16933884319,369.59767092309,381.39065611261,393.55992749281,406.11749146369,419.07573510033,432.44744798202,446.24582051114,460.48446638525,475.17743368268,490.33921589034,505.98477744485,522.12955176559],description:"Fifth beats twice opposite rate as octave"},temp23ebs:{frequencies:[261.6255653006,269.54528659271,277.75645349026,286.26979186473,295.09642104593,304.24787054065,313.41421505132,322.9178815064,332.77128133421,342.98728793362,353.5792427091,364.56098080918,375.56059498003,386.96499273375,398.78907363541,411.04828247111,423.75862731373,436.93671323096,450.13624919654,463.82153026575,478.01042762353,492.72147385367,507.97388874722,523.2511306012],description:"Cycle of 23 equal beating major sixths"},temp24ebaf:{frequencies:[261.6255653006,269.28287293678,277.23083697142,285.33112867981,293.73889258015,302.30779732819,311.20195864933,320.26658492056,329.67528611807,339.26431305611,349.21731641877,359.36108127338,369.88988063787,380.8183283077,391.95623237686,403.5169050439,415.29914897519,427.52862168357,439.9924847314,452.92944495636,466.1143590732,479.79973930305,493.74741628009,508.22451419243,523.2511306012],description:"Cycle of 24 equal beating 11/8's"},temp24ebf:{frequencies:[261.6255653006,269.29177952703,277.18807786937,285.37455545576,293.58315284916,302.20762754558,311.09098010692,320.17688686519,329.5354160273,339.23795459232,349.23174343306,359.45337270909,369.98176018664,380.89707445632,391.84186131702,403.3411703213,415.18563115404,427.4653330282,439.77824302677,452.71493931339,466.03998256716,479.66882917609,493.70667148145,508.26043277122,523.2511306012],description:"24-tone ET with 23 equal beatings fifths. Fifth on 17 slightly smaller."},temp25ebt:{frequencies:[261.6255653006,269.07040607882,276.69392272178,284.50040351526,292.49424189123,300.67993013952,309.06207502162,317.64539198503,326.43470939254,335.74076076764,345.27015661764,355.02825763358,365.02055286832,375.25266439783,385.73034580726,396.45949385543,407.44613828076,419.07870286007,430.99044652419,443.18807578441,455.67844358274,468.46858279232,481.56568677979,494.97711759939,508.71042703507,523.2511306012],description:"Cycle of 25 equal beating thirds"},temp26eb3:{frequencies:[261.6255653006,268.53506427639,276.23413316293,283.52944261778,291.01742029734,298.70315454572,307.26715974579,315.38204761281,323.71124866952,332.26042290088,341.78653782772,350.81307822085,360.07800843467,370.40166886388,380.18393134541,390.22454217496,400.5303243006,412.0137801623,422.89501338113,434.06361862988,445.5271853685,458.30072684004,470.40439262311,482.82771472967,495.57913524385,509.78770018956,523.2511306012],description:"Cycle of 26 fifths, 5/4 beats three times 3/2"},temp26ebf:{frequencies:[261.6255653006,268.42568455944,275.6873347244,283.44184249631,290.6057533496,298.25588724353,306.42524452376,315.14906491362,323.2084665433,331.81486605817,341.00539333861,350.8196903474,359.88651586494,369.56871668171,379.90806097321,389.45994242989,399.66012078319,410.55259814459,422.18435687733,432.93022440227,444.40542617247,456.65946119637,469.74519313893,481.83429211771,494.74389287961,508.52968420524,523.2511306012],description:"Cycle of 26 equal beating fifths"},temp26ebmt:{frequencies:[261.6255653006,268.65375733515,276.22103845862,283.50786797993,291.35362426947,298.90860888253,307.04308924768,315.80151824033,324.23534814673,333.31608510092,342.06028051348,351.47518831899,360.54116941247,370.30254728737,380.81265974123,390.93325547321,401.83014055422,412.32317421544,423.62106542614,434.50024245702,446.21389528982,458.82603004394,470.97074536855,484.04700949484,496.63864979835,510.1961187079,523.2511306012],description:"Cycle of 26 equal beating minor thirds"},temp26ebs:{frequencies:[261.6255653006,268.70854008298,275.97438147252,283.42781183148,291.07367309004,298.91693448926,307.01176285104,315.31558194419,323.83378869523,332.57191674,341.53564330438,350.78687613393,360.27695513986,370.01204624828,379.9984780646,390.24273934583,400.81557597059,411.66137956276,422.7871998129,434.200265189,445.90799193987,457.99123299379,470.38643795716,483.10166179174,496.14516363988,509.5254229925,523.2511306012],description:"Cycle of 26 equal beating sevenths"},temp27c8:{frequencies:[261.6255653006,268.8683660761,273.88218275531,281.46429379013,289.25630678777,297.26403435806,305.49344487497,313.95067836072,319.80518189674,328.65861797738,337.75715313333,347.10756874671,356.7168418477,363.36884069528,373.42828707985,383.76621672426,394.39034225616,405.30858212106,412.86671295557,424.29645219584,436.04260883433,448.1139452722,460.51946086698,473.26841152735,482.09384659572,495.44005640506,509.15574351714,523.2511306012],description:"Cycle of 27 fifths tempered by 1/8 of difference between augm. 2nd and 5/4"},temp27eb2:{frequencies:[261.6255653006,268.46319812592,275.47953375729,282.6792426258,290.06711722511,297.6480770209,305.21714541248,313.19405229436,321.37943712173,329.77875040935,338.39757940759,347.00289091411,356.07187808578,365.37788286775,374.92710181611,384.72589137834,394.78077412888,404.81988946592,415.39993259502,426.25648711974,437.39677971686,448.82822593369,460.24174609969,472.27024976331,484.61312060812,497.27857467888,510.27504274822,523.2511306012],description:"Cycle of 27 fourths, 5/4 beats twice 4/3"},temp28ebt:{frequencies:[261.6255653006,268.20719354764,274.94677993062,281.84811597329,288.91508487862,296.15166190523,303.56191452522,311.15001492268,318.92023016627,326.87692943437,335.10396312415,343.5284476344,352.15511767098,360.98882840285,370.03454814671,379.29736707683,388.78249121135,398.49525813745,408.44113355924,418.72492751128,429.25553103998,440.03886948281,451.08100913788,462.38815755283,473.96667987616,485.82308640697,497.96404651665,510.39638953936,523.2511306012],description:"Cycle of 28 equal beating thirds"},temp29c14:{frequencies:[261.6255653006,268.03384168485,274.59908446169,281.12309545065,288.00894581307,294.85155418799,302.07367045706,309.47268578827,316.82523654187,324.58557784847,332.29718551084,340.4364979057,348.77517523396,357.06148706459,365.80737813473,374.49834647311,383.67133729641,392.78672100419,402.40767098088,412.26427490957,422.0589810157,432.39692561869,442.66994710331,453.51274088813,464.62111626441,475.65973015548,487.31057837675,498.88825560972,511.10806227553,523.2511306012],description:"Cycle of 29 fifths 1/14 comma positive"},temp29ebf:{frequencies:[261.6255653006,267.97141371953,274.40384216744,281.08918054527,287.86573007783,294.90872015661,302.04780073409,309.28428172011,316.80528774769,324.42890571749,332.35226986162,340.383734589,348.52477529448,356.98590767403,365.56247629567,374.47626314535,383.51165984234,392.90231649713,402.42108995343,412.06973029551,422.09773822292,432.26256191617,442.8270465847,453.53566813958,464.39038927288,475.67189906986,487.10732348594,498.99237046175,511.03956815915,523.2511306012],description:"Cycle of 29 equal beating fifths"},temp29fo:{frequencies:[261.6255653006,267.94780983951,274.42283293416,281.05432651499,287.84607006616,294.80193939197,301.92589896847,309.2220107369,316.69443479624,324.34743177532,332.18536334326,340.21270232633,348.43402388135,356.85401564372,365.47747852664,374.30932945854,383.35460418662,392.61845788025,402.10617708826,411.82316930666,421.77497497272,431.96726840975,442.4058610624,453.0967048103,464.04589268124,475.25967298378,486.74443697706,498.50673304697,510.55326782272,522.89091000079],description:"Fifth beats with opposite equal rate as octave"},temp31c51:{frequencies:[261.6255653006,267.17944246504,273.80687224646,279.61933836952,286.55534345926,292.63843680803,298.85066583755,306.26370726525,312.76517639908,319.40466275447,327.32754956004,334.27616903285,342.56794607269,349.84009583671,357.26662128823,366.1286782788,373.90098334082,383.17565840352,391.30984260196,399.61670205031,409.52926208827,418.22288720188,428.59697681668,437.69538032917,446.98692528774,458.07451174337,467.79867446983,477.72926229583,489.57941763243,499.97237729845,512.37427391379,523.2511306012],description:"Cycle of 31 51/220-comma tempered fifths (twice diff. of 31-tET and 1/4-comma)"},temp31coh:{frequencies:[261.6255653006,267.17903658035,272.71444919697,278.8328003927,286.67318542907,292.31259119845,298.22448926086,305.9625493141,312.79375273624,319.37019903425,325.99008611032,333.53448283298,342.55073731576,349.35067604096,356.49690427728,365.94514964733,373.94225818849,381.74854907994,389.68867781295,401.66236977474,409.34549662494,417.52928752537,426.20510506248,437.61344561246,447.02040600938,456.30467151405,466.17931462488,479.8608061495,489.18804557359,499.02680928636,509.58872491278,523.2511306012],description:"Differential coherent 31-tone scale, interval=8, OdC, 2003"},temp31eb1:{frequencies:[261.6255653006,267.35556661283,273.21106374578,279.19480525048,287.36432599524,293.65804565963,300.08960744161,306.66203029506,313.37839929357,320.24186707858,327.25565533923,334.42305632458,341.74743438901,349.23222958864,356.8809512704,367.32364464292,375.36859607341,383.58974428421,391.99094825517,400.57615379751,409.34938620036,418.31476585427,427.47650107887,436.83889236244,446.40633438056,459.46863260649,469.5317006585,479.81516534138,490.32385367952,501.06269841655,512.03674033076,523.2511306012],description:"Cycle of 31 thirds, 3/2 beats equal 5/4. Third 1/18 synt. comma higher"},temp31eb1a:{frequencies:[261.6255653006,267.52830363402,273.56421824856,279.73631545395,286.19123047598,292.64821393201,299.25087842544,306.00251077972,312.90647197491,319.96619882071,327.18520755731,334.56708808783,342.11551697966,349.83425186023,357.90667665031,365.98168819447,374.23888853079,382.68238383924,391.31637942763,400.14517332125,409.17316051655,418.40483516889,427.84479530109,437.49773526159,447.36846272566,457.69148927209,468.01782376277,478.57713873597,489.37469064597,500.41585743254,511.7061296998,523.2511306012],description:"Cycle of 31 thirds, 5/4 beats equal 7/4"},temp31eb2:{frequencies:[261.6255653006,267.43633367564,273.37616065041,279.44791264824,286.8151286113,293.18536340431,299.69708268426,306.35342885652,313.15761412007,320.11292201761,327.22270902014,334.4904061467,341.91952062013,349.51363755953,357.2764217104,366.69546492458,374.83986170174,383.16514754137,391.67534003419,400.37454600262,409.26696348258,418.35688374945,427.64869338884,437.14687641357,446.85601642745,458.63669049374,468.82312458207,479.23580188553,489.87974732177,500.7600974131,511.88210276525,523.2511306012],description:"Cycle of 31 thirds, 3/2 beats twice 5/4"},temp31eb2a:{frequencies:[261.6255653006,267.30377559621,273.10522335955,279.03258328435,287.71713441117,293.9616250555,300.34164347605,306.86013111019,313.520093235,320.3246003528,327.27678960683,334.37986622751,341.63710501026,349.05185182525,356.62752721996,367.72712485201,375.70811839104,383.86232802855,392.19351543866,400.70551714108,409.40225971792,418.28775270674,427.36609266644,436.64146506587,446.11814621352,460.00303307438,469.98674378481,480.18713671772,490.60891465214,501.25688243424,512.13594919255,523.2511306012],description:"Cycle of 31 thirds, 5/4 beats twice 3/2"},temp31eb2b:{frequencies:[261.6255653006,267.52098517401,273.5492512983,279.71335720518,286.24081966732,292.69091492047,299.28635537219,306.03041620307,312.92644639599,319.97787039914,327.18818982659,334.56098519707,342.09991771207,349.80873107384,357.97195918064,366.0384300542,374.28666922186,382.72077261519,391.34492846269,400.16341936959,409.18062444454,418.40102147414,427.82918914659,437.46980932536,447.32766937413,457.76662230541,468.08184681118,478.62951259033,489.41485742956,500.44323714283,511.72012823096,523.2511306012],description:"Cycle of 31 thirds, 5/4 beats twice 7/4 (7/4 beats twice 5/4 gives 31-tET)"},temp31ebf:{frequencies:[261.6255653006,267.58895287558,273.47207673981,279.84020613447,286.1226232561,292.32048149598,299.02929415269,305.64780689513,312.81195283539,319.87967238294,326.85226402826,334.39967773649,341.84550545999,349.90516819854,357.85635261941,365.7005167875,374.19135817901,382.56791460144,390.83172556312,399.77680617055,408.60149248083,418.153686518,427.57731316062,436.87410111252,446.93731687602,456.86508723973,467.61130449655,478.21288647115,488.67177324268,499.99289085438,511.16163412976,523.2511306012],description:"Cycle of 31 equal beating fifths"},temp31ebf2:{frequencies:[261.6255653006,268.47208070676,273.9410776603,281.1098810272,286.83632036086,292.67941197057,300.33857976184,306.45672349367,312.69950064833,320.88257689406,327.41921873353,335.98749730659,342.8318387903,349.81560715632,358.96997989875,366.28249344322,375.86779039798,383.5245262314,391.33723606718,401.57819634767,409.75867428285,420.48170539436,429.04726334649,437.78730875453,449.24382765192,458.39529367535,467.73318258368,479.97335657757,489.75080836323,502.56716753771,512.80487382351,523.2511306012],description:"Cycle of 31 fifths, 3/2 beats equal 7/4"},temp31ebs:{frequencies:[261.6255653006,267.49970467488,273.5255021102,279.70687352555,286.04783307233,292.55250379055,299.22511217624,305.93841412724,312.82503848113,319.88946348152,327.13627425327,334.57018402367,342.19602042672,349.86836735032,357.73879552978,365.81242398075,374.09449397971,382.59039112658,391.30563169636,400.0740276901,409.06880268892,418.29580572823,427.76103041037,437.4706255228,447.4309015606,457.4519243295,467.73166961576,478.27681510244,489.09421437332,500.19089295757,511.57406697079,523.2511306012],description:"Cycle of 31 equal beating sevenths"},temp31ebs1:{frequencies:[261.6255653006,267.15774161678,272.80689957055,278.57550963341,287.00766304701,293.07655388437,299.27377555355,305.60203820353,312.06411627904,318.6628357552,328.30838543699,335.25059642555,342.33960321815,349.5785118895,356.97048813578,364.51877275634,375.55232561156,383.49353066309,391.60265342908,399.88324912115,408.33893898267,416.9734277591,429.59472356821,438.6786743379,447.954711436,457.42689142912,467.09936712211,476.97636845082,491.41388278482,501.80502418824,512.41589335668,523.2511306012],description:"Cycle of 31 sevenths, 3/2 beats equal 7/4. 17/9 schisma fifth"},temp31ebs2:{frequencies:[261.6255653006,267.52957387699,273.56681763873,279.74030009523,286.13080593576,292.58781532731,299.19053769144,305.94226304679,312.84635035505,319.90623967996,327.21431324819,334.59843914397,342.14920188821,349.87035796113,357.76575454309,365.83932576918,374.19671203989,382.64107477964,391.27599615891,400.10577865514,409.13482199124,418.3676180873,427.92498506647,437.58181190976,447.45656083737,457.55415226032,467.87960969795,478.43807796233,489.36771995709,500.41110255739,511.70370009509,523.2511306012],description:"Cycle of 31 sevenths, 3/2 beats twice 7/4. Almost 31-tET"},temp31ebsi:{frequencies:[261.6255653006,267.31506098272,273.2139312212,279.32987994092,285.67089487749,292.24525964349,299.06156112772,306.12870201667,312.71376833043,319.5411631371,326.61980701828,333.95894503443,341.56816427739,349.45740040562,357.63696227352,366.11753111539,374.01961057916,382.2124855973,390.7068565555,399.51382386635,408.64488423766,418.11197066674,427.92744450622,438.10412760018,447.58662182594,457.41807184609,467.61131789159,478.17967690081,489.136951815,500.49745466086,512.27602199232,523.2511306012],description:"Cycle of 31 equal beating major sixths"},temp31ebt:{frequencies:[261.6255653006,267.508686718,273.53300221315,279.70190221389,286.0188552526,292.48741633838,299.11122072338,305.89399777728,312.83956126154,319.95181832117,327.23477005018,334.588671338,342.11906613961,349.83019225353,357.72638299858,365.81208378543,374.09184045976,382.57031224079,391.25226584136,400.14258695229,409.24627647794,418.43865241641,427.85164834976,437.49055334209,447.36079317794,457.46791872903,467.81761394993,478.41570188597,489.26814549043,500.38104816704,511.76065992154,523.2511306012],description:"Cycle of 31 equal beating thirds"},temp31g3:{frequencies:[261.6255653006,266.21023205793,270.87523947024,275.62199471997,289.25983723073,294.32876096318,299.48651076576,304.73464409936,310.07474405997,315.5084236529,331.11985608357,336.92232427465,342.82647426905,348.83408706747,354.94697625466,361.16698614085,379.03761443004,385.6797831671,392.4383479509,399.31534788729,406.31285900225,413.43299207996,433.88975562921,441.49314144476,449.22976592409,457.10196592055,465.11211608996,473.26263524279,496.67978412536,505.38348615935,514.23971114652,523.2511306012],description:"Wonder Scale, cycle of 31 sevenths tempered by 1/3 gamelan residue, s.wonder1"},temp31g4:{frequencies:[261.6255653006,266.75106828164,271.97698492363,277.30528403104,287.97116616014,293.61280545832,299.36497003718,305.22982618403,311.20958045219,317.30648321666,329.51091606373,335.96636137331,342.54827390456,349.25913259695,356.10146388137,363.07784268567,377.0427625798,384.42940207435,391.96075366681,399.63965159508,407.46898671086,415.4517078616,431.43106138252,439.88322158593,448.50096908674,457.28754710584,466.24626137824,475.38048570318,493.66485502092,503.33623955776,513.19709315346,523.2511306012],description:"Cycle of 31 sevenths tempered by 1/4 gamelan residue"},temp31g5:{frequencies:[261.6255653006,267.07609791103,272.64018328418,278.3201871026,287.20071989568,293.1840695693,299.2920706603,305.52732176658,311.89247392994,318.39023342226,328.54930692245,335.39408374843,342.38146206091,349.5144087687,356.79595852417,364.22920722399,375.85089312601,383.68111960674,391.67447579625,399.83436022994,408.16424460367,416.66766586736,429.96253800336,438.92009035289,448.06425836543,457.39892986705,466.92807368021,476.65574406444,491.86469103391,502.11187209711,512.57253609913,523.2511306012],description:"Cycle of 31 sevenths tempered by 1/5 gamelan residue"},temp31g6:{frequencies:[261.6255653006,267.29300481931,273.08321314304,278.9988528944,286.68823620156,292.89859205665,299.24348036203,305.72581270733,312.34856974117,319.11478979112,327.9097940226,335.01310892782,342.27029731995,349.68469585889,357.2597060542,364.99881126821,375.05840734677,383.18307527508,391.48374080678,399.96422099622,408.62840644009,417.48028065389,428.98629965513,438.27917301224,447.77335490729,457.47320099372,467.3831713443,477.50781354513,490.66822826519,501.2972832058,512.15658610391,523.2511306012],description:"Cycle of 31 sevenths tempered by 1/6 gamelan residue"},temp31g7:{frequencies:[261.6255653006,267.44804485495,273.40010374961,279.48462577409,286.32273545638,292.69485077785,299.20877758909,305.86767190621,312.6747599825,319.63333987564,327.45376040978,334.74124806474,342.19091885571,349.80638115363,357.59132564064,365.54952414453,374.49336901227,382.82772265927,391.34755742947,400.0570012071,408.96027492626,418.06169111145,428.2903432132,437.821949061,447.565680886,457.52625955954,467.70851101039,478.11736856842,489.81539667363,500.71624319167,511.85968815724,523.2511306012],description:"Cycle of 31 sevenths tempered by 1/7 gamelan residue"},temp31h10:{frequencies:[261.6255653006,267.8597617245,273.71072489962,279.68949451567,286.35413084244,292.60907359238,299.00064605783,306.12544311476,312.81225819702,320.26616683613,327.26186315247,334.41036913783,342.37893460431,349.85764856047,358.19430059608,366.01847563765,374.01355928612,382.92581520849,391.29021017831,400.61414686654,409.36491649663,418.30683086326,428.27453775026,437.62950220286,447.18881072031,457.84473927605,467.84561789912,478.99376955124,489.45661357347,500.14800438647,512.06587983104,523.2511306012],description:"Cycle of 31 fifths tempered by 1/10 Harrison's comma"},temp31h11:{frequencies:[261.6255653006,269.21878403965,274.22153683641,279.31725480271,287.42394184039,292.76499331753,298.20529308835,306.86017365004,312.56239683413,321.63396690808,327.61072570921,333.69854562169,343.38355445704,349.7644731902,359.91576765193,366.60389537541,373.41630725864,384.25405432087,391.39444778107,402.75397853578,410.23814647641,417.86138882164,429.98907567166,437.9793418028,446.11808436842,459.06587176894,467.59645436585,481.16761342105,490.10890120058,499.21634316923,513.70521350358,523.2511306012],description:"Cycle of 31 fifths tempered by 1/11 Harrison's comma"},temp31h12:{frequencies:[261.6255653006,270.35656674398,274.64794212014,279.0074329748,288.31850430385,292.89498819461,297.54411640065,307.47379627264,312.35433239663,322.77826253379,327.90172667751,333.10651564349,344.2229903876,349.68684701428,361.35664068489,367.0924599966,372.91932620731,385.3644371109,391.48133253101,404.54589939324,410.96726244836,417.49055189439,431.4231018689,438.27108715714,445.22777061734,460.08596806997,467.38892215786,482.98668436162,490.65313915878,498.44128370652,515.07533168556,523.2511306012],description:"Cycle of 31 fifths tempered by 1/12 Harrison's comma"},temp31h8:{frequencies:[261.6255653006,264.15772162327,272.31089540773,280.71571360382,283.4326348965,292.18072491748,301.19882119914,304.11398928909,313.50040506268,316.53463456122,326.30440921209,336.37572681506,339.63135730234,350.11400731728,353.50260556257,364.41338872146,375.66093089504,379.29678648678,391.00370158472,394.788050771,406.97310157871,419.5342415638,423.59472503043,436.668886633,450.14658206855,454.50334862767,468.53149836075,473.06620699858,487.66729542944,502.71904336675,507.58463809481,523.2511306012],description:"Cycle of 31 fifths tempered by 1/8 Harrison's comma"},temp31h9:{frequencies:[261.6255653006,266.20804854623,273.08769296879,280.14512719472,285.05198845745,292.41861893027,299.97562432697,305.22982618403,313.11791376428,318.60230743232,326.83598255713,335.28243953396,341.15505431438,349.97156260351,356.10146388137,365.30423365264,374.74482972428,381.30864508241,391.16284711627,398.01423104415,408.30015740759,418.85190169901,426.18827121524,437.20230245522,448.50096908674,456.35665612784,468.15032961482,476.35018210031,488.66055322307,501.28905975035,510.06935121341,523.2511306012],description:"Cycle of 31 fifths tempered by 1/9 Harrison's comma"},temp31ms:{frequencies:[261.6255653006,267.90457886781,273.56603860918,280.13162379381,286.05147140959,292.91670530125,299.10673210371,306.2852939563,312.75782903301,320.26401722477,327.03195662575,334.88072358477,341.95754947331,350.16453098318,357.56433846376,366.14588292411,373.88341429498,382.85661659068,390.94728541851,400.33002063726,408.78994578219,418.60090448096,427.44693588739,437.70566275183,446.9554220819,457.68235263341,467.35426952494,478.57076966998,488.68410850494,500.41252756995,510.98743222773,523.2511306012],description:"Cycle of 31 5th root of 5/4 chromatic semitones"},temp31mt:{frequencies:[261.6255653006,267.90457886781,274.33428876064,280.9183116909,285.65057792122,292.50627485027,299.52642572255,306.71505845072,314.07622014281,319.36714514233,327.03195662575,334.88072358477,342.9178609508,351.14788961362,359.57543896435,365.63273925968,374.40803131735,383.39382442208,392.5952765698,402.01756125559,408.78994578219,418.60090448096,428.6473261885,438.93486201703,449.46929870544,457.04092569426,468.01003810189,479.24227945773,490.7440946167,502.52195335034,510.98743222773,523.2511306012],description:"Cycle of 31 square root of 5/4 meantones"},temp31to:{frequencies:[261.6255653006,267.53589118464,273.57973594714,279.76011588387,286.08011543105,292.54288870475,299.15166280294,305.90973254237,312.82047235615,319.88733118052,327.11383586587,334.50359293692,342.06029039257,349.78769954651,357.68967690936,365.77016611333,374.03319988033,382.48290424395,391.12349182016,399.95927701915,408.9946695077,418.23417857039,427.68241536008,437.34409519915,447.22403993284,457.32718033558,467.65855857191,478.22333071276,489.02676930874,500.07426891005,511.37133726836,522.92361522538],description:"Third beats with opposite equal rate as octave"},temp31w10:{frequencies:[261.6255653006,267.37376533775,273.24825962152,279.25182297475,287.24047076273,293.55146000581,300.00110689476,306.59245933664,313.32863150945,320.21280450383,327.24823031411,334.4382321302,341.78620813039,349.29562523194,356.97015906904,367.18199034811,375.24938058245,383.49402021056,391.91980359563,400.53071066429,409.33081115087,418.32425711308,427.51529892703,436.90827798988,446.50763144636,459.28102021135,469.37192694062,479.68454193593,490.22373920221,500.99449133668,512.00188868489,523.2511306012],description:"Cycle of 31 thirds tempered by 1/10 Wuerschmidt comma"},temp31w11:{frequencies:[261.6255653006,267.42197848694,273.34681181717,279.40291364591,286.91265577589,293.26931399985,299.76680465545,306.40825140143,313.19684009872,320.13583435099,327.22856275086,334.47843511672,341.88893114233,349.46360748692,357.20610515709,366.80702823839,374.93377645155,383.2405741708,391.73141324262,400.41036830387,409.28161120445,418.34939984118,427.61808628905,437.09212645494,446.77606497733,458.78443573652,468.94897543376,479.33871705477,489.95864449434,500.81386326642,511.90958055231,523.2511306012],description:"Cycle of 31 thirds tempered by 1/11 Wuerschmidt comma"},temp31w12:{frequencies:[261.6255653006,267.46216197987,273.42896553533,279.52888390694,286.63976159726,293.03439921138,299.57169286871,306.25482853931,313.08705807777,320.0717057658,327.2121755928,334.51194000906,341.9745565771,349.60365642833,357.40295156876,366.49485373999,374.67097398132,383.02949720151,391.57448819698,400.31011139524,409.24061734241,418.37035125513,427.70376253715,437.24539007841,446.99988402026,458.37102198078,468.59680699416,479.0507177135,489.73784363297,500.66339010461,511.83267129957,523.2511306012],description:"Cycle of 31 thirds tempered by 1/12 Wuerschmidt comma"},temp31w13:{frequencies:[261.6255653006,267.49616787535,273.49850059869,279.63551774138,286.40905375482,292.83577174957,299.40669857094,306.12507001426,312.99419468163,320.01745343487,327.19830857776,334.54029455907,342.04702698539,349.72220057363,357.56974544479,366.23091133098,374.44874787361,382.85098402684,391.44175752404,400.22529663315,409.2059314354,418.38808223908,427.77627085136,437.37511801764,447.18935574711,458.02150335998,468.29902426597,478.80716193382,489.55109116118,500.53609997149,511.7676037195,523.2511306012],description:"Cycle of 31 thirds tempered by 1/13 Wuerschmidt comma"},temp31w14:{frequencies:[261.6255653006,267.52531966849,273.55811412425,279.72695193191,286.21145362846,292.66562728487,299.26534666214,306.01389218024,312.91461811683,319.97095981222,327.18642276261,334.56459899164,342.10915585471,349.82384327668,357.71250180664,366.00482869479,374.25837321367,382.69803863807,391.32802257119,400.15261355898,409.17620468607,418.4030501472,427.83842920638,437.48634583318,447.35182400506,457.72212848121,468.04393370572,478.5984967348,489.39107187298,500.42702361787,511.71183724724,523.2511306012],description:"Cycle of 31 thirds tempered by 1/14 Wuerschmidt comma"},temp31w15:{frequencies:[261.6255653006,267.55058630145,273.60979095449,279.80621811014,286.0403087015,292.51824916652,299.142895223,305.91756930507,312.84566908988,319.93066920159,327.176122954,334.58566413263,342.16300881716,349.91195724514,357.83639571789,365.80900091179,374.09345893182,382.56553686518,391.22947931103,400.08963362509,409.15044340767,418.41645289306,427.89230922859,437.58276480531,447.49267964143,457.46282942114,467.82296651709,478.41773025336,489.25243249537,500.33250769337,511.66351279634,523.2511306012],description:"Cycle of 31 thirds tempered by 1/15 Wuerschmidt comma, almost 31-tET"},temp31w8:{frequencies:[261.6255653006,267.24122592191,272.97742543896,278.83674800471,288.14389744169,294.32876096318,300.64638059818,307.09960331181,313.69134300364,320.42456924675,327.30232268102,334.32770172848,341.50387698892,348.83408706747,356.32163474066,368.21511264804,376.11866406852,384.19186344763,392.4383479509,400.86184099795,409.46613795376,418.25512179799,427.23275920923,436.40309460541,445.77026919414,460.64940473745,470.53701427025,480.63685362987,490.95348377613,501.49155234204,512.25581818623,523.2511306012],description:"Cycle of 31 thirds tempered by 1/8 Wuerschmidt comma"},temp31w9:{frequencies:[261.6255653006,267.31485098896,273.12785536516,279.06726965397,287.64164332106,293.89667226994,300.28772424256,306.81775371411,313.48978461115,320.30690488373,327.27226963218,334.38910256736,341.66069947616,349.09042189481,356.68171037974,367.64079770339,375.63548096925,383.80401588848,392.15018302326,400.67784514756,409.39095139962,418.29352970104,427.38970265849,436.68368016368,446.1797636563,459.88868900496,469.88938665048,480.10755840871,490.54793493862,501.21534712998,512.11473036853,523.2511306012],description:"Cycle of 31 thirds tempered by 1/9 Wuerschmidt comma"},temp32ebf:{frequencies:[261.6255653006,266.99024669658,272.64192755012,278.59596223891,284.86852586219,291.47665855944,298.4383110444,304.47357861204,310.83171904039,317.53000821614,324.58664278196,332.02079024875,339.85265231199,346.64232633314,353.79523650997,361.33080945807,369.26952339658,377.6329406438,386.44378308989,395.72598875513,403.77301123196,412.25053247262,421.18158418009,430.59042797451,440.50262726312,450.945108697,459.9980085603,469.53522100534,479.58265227668,490.16760508681,501.31882698223,513.0666164148,523.2511306012],description:"Cycle of 32 equal beating fifths"},temp33a12:{frequencies:[261.6255653006,266.94139439278,272.36523138282,277.89927397158,284.73748648557,290.5229142688,296.42589304627,302.44880952638,308.5941041528,316.1876182869,322.61206437627,329.16704532903,335.85521147284,342.67927280589,351.11151394887,358.24555988319,365.52455654698,372.95145333883,382.12859604556,389.89286138208,397.81488464837,405.89786889835,414.14508930077,424.3358756666,432.95772800787,441.75476312782,450.73053786756,459.88868900496,471.20507923536,480.77924170569,490.54793493862,500.51511311891,512.83118959171,523.2511306012],description:'Cycle of 33 fifths tempered by 1/12 "11 fifths" comma'},temp34eb2a:{frequencies:[261.6255653006,267.30377714022,273.10522651459,279.03258811962,285.08859470169,291.27603831759,293.96161656556,300.34163653669,306.86012579271,313.52008961307,320.32459850253,327.27678960683,334.37986815896,341.63710895701,349.05185787385,356.62753339984,364.36762821878,372.27571081823,375.70810971034,383.86232137672,392.19350864246,400.70551251195,409.40225735312,418.28775270674,427.36609513501,436.64147011015,446.11815394416,455.80051576031,465.69301950749,469.98673021106,480.18712562304,490.60890615053,501.2568766435,512.13594623433,523.2511306012],description:"Cycle of 34 thirds, 5/4 beats twice 3/2"},temp34ebsi:{frequencies:[261.6255653006,266.99788221884,272.57696520339,278.14698300137,283.93137567849,289.70637009331,295.70363067102,301.69114426564,307.90910207865,314.36637542255,320.81315450625,327.50805511637,334.19207543599,341.13334896852,348.06334108321,355.26005273528,362.44506998142,369.90662102486,377.65534755435,385.39148338011,393.42536256589,401.44618836017,409.77571602141,418.09170597447,426.72775997548,435.3497813463,444.30364141769,453.60211446558,462.88547695756,472.52613162558,482.15112257833,492.14655599832,502.125745683,512.48900933996,523.2511306012],description:"Cycle of 34 equal beating major sixths"},temp34ebt:{frequencies:[261.6255653006,266.93199967636,272.36578831151,277.92998813547,283.62773001764,289.46221547291,295.43672985114,301.55463262869,307.81936583026,314.23445063866,320.80349820247,327.5302045997,334.16324661664,340.95548417522,347.91073392156,355.03290870525,362.32601803901,369.79415983503,377.44153922514,385.2724539348,393.29131162714,401.50262139782,409.91100286066,418.20230551726,426.69260242977,435.3866631899,444.28938530291,453.40576935587,462.74094691381,472.3001707563,482.08881469934,492.11238732973,502.37652397446,512.8870010249,523.2511306012],description:"Cycle of 34 equal beating thirds"},temp34w10:{frequencies:[261.6255653006,267.37376533775,273.24825962152,279.25182297475,281.06516151868,287.24047076273,293.55146000581,300.00110689476,306.59245933664,313.32863150945,320.21280450383,327.24823031411,334.4382321302,341.78620813039,349.29562523194,351.5637974276,359.28803828513,367.18199034811,375.24938058245,383.49402021056,391.91980359563,400.53071066429,409.33081115087,418.32425711308,427.51529892703,436.90827798988,446.50763144636,449.40705529895,459.28102021135,469.37192694062,479.68454193593,490.22373920221,500.99449133668,512.00188868489,523.2511306012],description:"Cycle of 34 thirds tempered by 1/10 Wuerschmidt comma"},temp34w5:{frequencies:[261.6255653006,266.84400329087,272.16653090376,277.59522118835,285.18293865736,290.87125860088,296.67303727804,302.5905394405,308.62607485572,314.78199505921,321.06070411799,327.46464776022,333.99632772474,340.65828815182,347.45313114562,356.95032497057,364.07013256472,371.33195122039,378.73861781039,386.29301712643,393.99809806388,401.85686830172,409.8723892274,418.04779164423,426.38625992488,434.89105154177,443.56547936435,455.68978545099,464.77906877635,474.04965097839,483.50514461458,493.14924173292,502.98569917153,513.01835960126,523.2511306012],description:"Cycle of 34 thirds tempered by 1/5 Wuerschmidt comma"},temp34w6:{frequencies:[261.6255653006,267.02047390967,272.52663052146,278.06968704778,283.80368699438,289.65592453275,295.6288411546,301.72492193478,307.94670831505,314.29679425134,320.77782174252,327.39249271371,334.14356492035,341.03384719449,348.06621207862,355.14570764395,362.46906930947,369.94344613252,377.57194788125,385.35775486011,393.30411308867,401.41432870635,409.69178284295,418.13992649314,426.76227456772,435.56242170336,444.42154779224,453.58584388327,462.93911228358,472.48525217168,482.22824196207,492.17213857029,502.32108537715,512.67931193931,523.2511306012],description:"Cycle of 34 thirds tempered by 1/6 Wuerschmidt comma"},temp34w7:{frequencies:[261.6255653006,267.14659557842,272.78413659373,276.97759061533,282.82259314675,288.79093992594,294.88523549471,301.10813946365,307.46236235072,313.95067836072,320.57591524951,327.34096447962,334.24877325582,341.30235609413,348.50479124753,353.86228320674,361.3297679824,368.9548354601,376.74081403286,384.69109896591,392.80915578714,401.0985286019,409.56282802254,418.20574780595,427.03105980737,436.04260883433,442.74580331919,452.08897683944,461.62931955889,471.37098776125,481.31823237599,491.47539447856,501.84689823661,512.43727265667,523.2511306012],description:"Cycle of 34 thirds tempered by 1/7 Wuerschmidt comma"},temp34w8:{frequencies:[261.6255653006,267.24122592191,272.97742543896,276.16133434798,282.08899791039,288.14389744169,294.32876096318,300.64638059818,307.09960331181,313.69134300364,320.42456924675,327.30232268102,334.32770172848,341.50387698892,348.83408706747,352.90276052629,360.47764004221,368.21511264804,376.11866406852,384.19186344763,392.4383479509,400.86184099795,409.46613795376,418.25512179799,427.23275920923,436.40309460541,441.49314144476,450.96957067185,460.64940473745,470.53701427025,480.63685362987,490.95348377613,501.49155234204,512.25581818623,523.2511306012],description:"Cycle of 34 thirds tempered by 1/8 Wuerschmidt comma"},temp34w9:{frequencies:[261.6255653006,267.31485098896,273.12785536516,279.06726965397,281.5197407082,287.64164332106,293.89667226994,300.28772424256,306.81775371411,313.48978461115,320.30690488373,327.27226963218,334.38910256736,341.66069947616,349.09042189481,352.15826244648,359.81626391233,367.64079770339,375.63548096925,383.80401588848,392.15018302326,400.67784514756,409.39095139962,418.29352970104,427.38970265849,436.68368016368,440.52130132575,450.10083737825,459.88868900496,469.88938665048,480.10755840871,490.54793493862,501.21534712998,512.11473036853,523.2511306012],description:"Cycle of 34 thirds tempered by 1/9 Wuerschmidt comma"},temp35ebsi:{frequencies:[261.6255653006,266.57889315685,271.71450319234,277.03910343536,282.55964921963,288.28335166643,294.21768457231,300.3704033182,306.74954035112,312.48255822683,318.42655208483,324.58928450704,330.97880464114,337.6034601246,344.47190142434,351.59310182482,358.97636423712,366.63132974323,373.51095055492,380.64374131787,388.03901984907,395.70644562254,403.65603146762,411.89816253905,420.4436041444,429.30351656419,438.48947534443,446.74502047858,455.30437022365,464.17870575399,473.37961532931,482.91911915131,492.80967579032,503.06420520117,513.69610107468,523.2511306012],description:"Cycle of 35 equal beating major sixths"},temp37ebs:{frequencies:[261.6255653006,266.54882370674,271.76117582243,276.81154351547,282.15846820925,287.3392230449,292.82419544994,298.13870690002,303.76528724985,309.7222634282,315.49411047005,321.60488016898,327.52574544851,333.79428377068,339.86801168664,346.29839044807,353.1063601343,359.70275861181,366.68649693083,373.45319917734,380.61724149647,387.55864668979,394.907650003,402.68818871569,410.22692643911,418.2083422233,425.94171605945,434.12919568644,442.06222705415,450.46108885682,459.35313199837,467.96883572953,477.09045247204,485.92859505436,495.28571063961,504.35203618851,513.95073426779,523.2511306012],description:"Cycle of 37 equal beating sevenths"},temp37ebt:{frequencies:[261.6255653006,266.44794669373,271.38606435347,276.44269655507,281.62068893017,286.92295259461,292.35247205526,297.91229840101,303.60556084342,309.43546158348,315.40528084,321.51837488336,327.7781831369,333.8061589736,339.9788066307,346.29959662983,352.77208770341,359.39991652139,366.18681567584,373.13659908053,380.25317623321,387.54055229398,395.00282568127,402.64419215928,410.46895395112,418.00392297279,425.71973353547,433.62072344005,441.71133574434,449.99612361773,458.47974493329,467.16697490003,476.06269518051,485.17191513214,494.49975815874,504.05146656861,513.83241864047,523.2511306012],description:"Cycle of 37 equal beating thirds"},temp3ebt:{frequencies:[261.6255653006,330.24866439584,416.02753826489,523.2511306012],description:"Cycle of 3 equal beating thirds"},temp4ebmt:{frequencies:[261.6255653006,310.36356181711,368.84915763691,439.03187262068,523.2511306012],description:"Cycle of 4 equal beating minor thirds"},temp4ebsi:{frequencies:[261.6255653006,310.92686529443,370.08842528703,441.08229727815,523.2511306012],description:"Cycle of 4 equal beating major sixths"},temp53ebs:{frequencies:[261.6255653006,264.97369574946,268.51842903659,272.2713107977,275.7058824095,279.342132921,283.19190440533,286.71515038985,290.44528277978,294.39444663109,298.00865518834,301.83509073593,305.88621462445,310.17522146598,314.10044576101,318.25616227247,322.65590013911,326.68246801001,330.94547393755,335.45880590636,339.58933056423,343.96239778214,348.59225483118,353.4939765515,357.97994689961,362.72933676467,367.75761084241,372.35940104854,377.23140801172,382.38950169412,387.11009989437,392.10789272021,397.3991578827,403.00112480292,408.12795020911,413.55582307376,419.3024201087,424.56160969567,430.12961973912,436.02458225248,441.41955172249,447.13131541518,453.17847579573,459.58072182695,465.43995070361,471.64323472325,478.21077610462,484.22127701861,490.5847168482,497.32181757346,503.48749858841,510.01522804676,516.92626488088,523.2511306012],description:"Cycle of 53 equal beating harmonic sevenths"},temp53ebsi:{frequencies:[261.6255653006,265.08815342092,268.54511416675,272.14096825888,275.73097879106,279.31515577755,283.04333763043,286.76545980208,290.48153462492,294.34691329876,298.20601137227,302.05883614112,306.06646174912,310.06757319581,314.22944103195,318.38454699407,322.53289853772,326.84792360782,331.1559371129,335.45694960827,339.93076775401,344.39731584765,348.85660497561,353.49505873963,358.12597594237,362.74936749482,367.55851619873,372.35985057275,377.35409330215,382.34021841275,387.3182413058,392.49627136254,397.66588656991,402.8271015422,408.19568270781,413.55554119639,418.90668980097,424.47283359145,430.02993471298,435.57800299537,441.34898312942,447.11058430799,453.10367443873,459.08702461554,465.06065502782,471.27428848056,477.47782740925,483.67128540638,490.11358366391,496.54541154487,502.96678854317,509.64616466331,516.31468511822,523.2511306012],description:"Cycle of 53 equal beating major sixths"},temp53ebt:{frequencies:[261.6255653006,265.06408390481,268.61942739596,272.14046995187,275.78114176924,279.3866896354,283.11473715719,286.8068186786,290.62433945466,294.40503066492,298.31417332138,302.18560037327,306.18856199636,310.15290198883,314.25193588094,318.31142144389,322.50883104059,326.66574402863,330.9638909587,335.40807143415,339.80937339101,344.36021509659,348.86714800611,353.52720940583,358.14231011275,362.91421253104,367.64007568808,372.5265022753,377.36578530136,382.3694885676,387.32491504393,392.44870495902,397.52306357866,402.76982394565,407.96596497751,413.33865052838,418.89387526617,424.39550434456,430.08405345947,435.71772111176,441.54279782575,447.31167294612,453.27655186057,459.18388087721,465.29191391782,471.34101945319,477.59564801313,483.78993007475,490.19466758193,496.53761595054,503.09606844751,509.59124455492,516.30709807412,523.2511306012],description:"Cycle of 53 equal beating thirds"},temp57ebs:{frequencies:[261.6255653006,264.8277951114,268.04955507264,271.33445958124,274.63939933433,278.00911284632,281.39937814535,284.85609135359,288.33388628378,291.8798428433,295.4474281527,299.08493440323,302.74462553584,306.42663750246,310.18081323211,313.95788745209,317.80898926922,321.68357852782,325.63410692083,329.60872876069,333.66125215256,337.73849074816,341.89564167341,346.07814569972,350.28615866377,354.57664765081,358.89330206442,363.2945606359,367.72266219717,372.23755268366,376.77997919433,381.41143316036,386.07113633698,390.82216502962,395.60217018381,400.41132814233,405.3147417445,410.24806349136,415.27807310888,420.33876095689,425.4986359826,430.68997922537,435.98307052812,441.30844296951,446.73819252663,452.20105472878,457.69723413281,463.30113726238,468.93921588924,474.68780077646,480.47144432851,486.36844238798,492.30140788993,498.35065469266,504.4367956254,510.6422225112,516.88549425379,523.2511306012],description:"Cycle of 57 equal beating harmonic sevenths"},temp59ebt:{frequencies:[261.6255653006,264.71774803536,267.84005552541,271.00645194849,274.20369404321,277.44608402629,280.72006081878,284.04026812198,287.39281927261,290.79271098314,294.22572486522,297.70721418515,301.22261902261,304.78766466692,308.38743972219,312.03804524126,315.72421513091,319.46243532331,323.23707283878,327.06501147453,330.93024062011,334.83312418563,338.79111909993,342.78767359614,346.84065928187,350.93313112856,355.08338946648,359.27407840069,363.52394351295,367.81521017702,372.16707169716,376.56132871014,381.01763522853,385.51735474883,390.08061088885,394.68832388107,399.36109834092,404.07939600279,408.86431870994,413.69585627072,418.57446131049,423.52195428502,428.51764625978,433.58387848862,438.69946807471,443.88729218006,449.12565432864,454.4379830027,459.80206875391,465.24189440938,470.73471441434,476.30509804765,481.92974808423,487.63381799831,493.39345924022,499.23442935246,505.13230099895,511.11345315981,517.15287439575,523.2511306012],description:"Cycle of 59 equal beating thirds"},temp5ebf:{frequencies:[261.6255653006,300.99242152138,345.28013476976,397.76927639746,456.81956072863,523.2511306012],description:"Cycle of 5 equal beating fifths"},temp5ebs:{frequencies:[261.6255653006,300.72264357012,345.40501873528,396.4705903526,454.83124362955,523.2511306012],description:"Cycle of 5 equal beating harmonic sevenths"},temp6:{frequencies:[261.6255653006,292.50629174609,327.17562781541,373.91502405318,418.23333786749,467.5991148023,523.2511306012],description:"Tempered wholetone scale with approximations to 5/4 (4), 7/5 (4) and 7/4 (1)"},temp65ebf:{frequencies:[261.6255653006,264.41601755103,267.24454169377,270.11165630441,273.01788702098,275.96376822181,278.903505094,281.88335012505,284.90384796088,287.96555727487,291.06903608099,294.16604397209,297.30530343106,300.48739162418,303.71289539257,306.98240612292,310.29652144782,313.60372560746,316.95605020285,320.35411162765,323.7985328567,327.28994911888,330.77408078649,334.30574717623,337.88559766085,341.51429052286,345.19248907458,348.92086961342,352.64147345074,356.41283883338,360.23565716142,364.11063345825,368.0384739541,371.95812372083,375.93124824951,379.95858022583,384.04085801267,388.17883226226,392.30817269042,396.49385281186,400.73664000181,405.03730976228,409.39665754461,413.81548025993,418.22508312451,422.69484912531,427.22559773342,431.81816208034,436.47338166162,441.11888946365,445.82778005125,450.60091414809,455.43916939942,460.34343547357,465.31460883154,470.27541574397,475.30390033467,480.4009926512,485.56762723834,490.80474851567,496.03094699932,501.32844669322,506.69822455894,512.14126217109,517.65855736571,523.2511306012],description:"Cycle of 65 equal beating fifths"},temp65ebt:{frequencies:[261.6255653006,264.43406811535,267.2034679247,270.07937559507,272.91523803531,275.86016780291,278.76409255008,281.77970028627,284.75331888701,287.84130158502,290.886287826,294.04838131756,297.16644728835,300.4044304772,303.59732911309,306.91302510559,310.18255295306,313.57782661988,316.92582314139,320.40258196387,323.83093239735,327.39113302053,330.90176198948,334.36350914498,337.95839429282,341.50322405771,345.18438591943,348.81429298672,352.58380229516,356.30082494405,360.1608038988,363.96703524466,367.91965255368,371.81723365001,375.86471396542,379.85583700975,384.00045811272,388.08736764479,392.33145942297,396.5164558179,400.86240365726,405.1478399234,409.59809307723,413.98637838791,418.31356254814,422.80716945583,427.23820566351,431.83965831621,436.37704077554,441.08892851835,445.73520856761,450.56017999004,455.31796985254,460.25874195194,465.13071889642,470.19006822446,475.1789734801,480.35974823468,485.46838574269,490.77349931217,496.0047455553,501.43718079349,506.7939752079,512.35679191473,517.84214996629,523.2511306012],description:"Cycle of 65 equal beating thirds"},temp6eb2:{frequencies:[261.6255653006,293.46010680596,329.2739659995,369.56455759223,414.89147313404,465.88425311859,523.2511306012],description:"Cycle of 6 equal beating 9/8 seconds"},temp6s:{frequencies:[261.6255653006,271.93638072959,309.96730300827,353.31693843766,402.72911708552,459.05170412301,523.2511306012],description:"Cycle of 6 tempered harmonic sevenths, 6/5 and 4/3 minimax, Op de Coul, 2002"},temp6teb:{frequencies:[261.6255653006,314.31996068356,377.55323514312,453.43316449459,544.48907971635,653.75617798246,784.8766959018],description:"Cycle of 6 equal beating 6/5's in a twelfth"},"temp7-5ebf":{frequencies:[261.6255653006,272.53310095338,288.29512120063,313.54121701986,318.29837158817,352.05202827415,359.67534615791,387.61143614087,414.35283422339,427.61576999092,475.86500581459,472.62064557223,523.2511306012],description:"7 equal beating fifths on white, 5 equal beating fifths on black"},temp7ebf:{frequencies:[261.6255653006,288.29512120063,318.29837158817,352.05202827415,387.61143614087,427.61576999092,472.62064557223,523.2511306012],description:"Cycle of 7 equal beating fifths"},temp7ebnt:{frequencies:[261.6255653006,288.84289825546,318.65722544634,351.9228541964,388.36258888271,429.02057812008,473.55803233064,523.2511306012],description:"Cycle of 7 equal beating 11/9 neutral thirds"},temp8eb3q:{frequencies:[261.6255653006,285.27029088455,311.06453578321,339.20371183191,369.9009952302,403.38894083349,439.92124473489,479.77466958441,523.2511306012],description:`Cycle of 8 equal "beating" 12/11's`},temp9ebmt:{frequencies:[261.6255653006,282.57058469242,305.18178513943,329.6176429161,355.99737593287,384.50587463168,415.28223014648,448.54214811156,484.4478959333,523.2511306012],description:"Cycle of 9 equal beating 7/6 septimal minor thirds"},tenney_11:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,457.84473927605,523.2511306012],description:`Scale of James Tenney's "Spectrum II" for wind quintet`},tertiadia:{frequencies:[261.6255653006,279.06726965397,297.67175429757,306.59245933664,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,431.14564594215,459.88868900496,490.54793493862,523.2511306012],description:"Tertiadia 2048/2025 and 262144/253125 scale"},tertiadie:{frequencies:[261.6255653006,279.06726965397,297.67175429757,306.59245933664,327.03195662575,348.83408706747,372.08969287196,383.2405741708,408.78994578219,436.04260883433,476.27480687611,490.54793493862,523.2511306012],description:"First Tertiadie 262144/253125 and 128/125 scale"},tet3a:{frequencies:[261.6255653006,280.31310567921,313.95067836072,336.37572681506,366.27579142084,392.4383479509,418.60090448096,448.50096908674,523.2511306012],description:"Eight notes, two major one minor tetrad"},tetracot:{frequencies:[261.6255653006,266.81074454173,272.09868928948,277.49143626213,289.66902367154,295.4099985897,301.26475437609,307.23554606336,320.71844041089,327.07478634962,333.55710924695,340.16790585091,355.09602205939,362.13370020095,369.31085868177,376.6302618745,393.15851224787,400.95055410677,408.89702710335,417.00099192139,435.30089370336,443.92815899023,452.72640877864,461.69903182491,481.96048707062,491.51250279099,501.25383072009,523.2511306012],description:"tetracot temperament, g=176.28227, 5-limit"},"tetragam-di":{frequencies:[261.6255653006,279.06726965397,290.69507255622,290.69507255622,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,436.04260883433,457.84473927605,523.2511306012],description:"Tetragam Dia2"},"tetragam-enh":{frequencies:[261.6255653006,271.31540105247,279.06726965397,279.06726965397,327.03195662575,348.83408706747,366.27579142084,392.4383479509,406.97310157871,418.60090448096,418.60090448096,457.84473927605,523.2511306012],description:"Tetragam Enharm."},"tetragam-hex":{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,327.03195662575,343.38355445704,381.53728273004,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Tetragam/Hexgam"},"tetragam-py":{frequencies:[261.6255653006,275.62199471997,294.32876096318,294.32876096318,331.11985608357,348.83408706747,372.50983809402,392.4383479509,413.43299207996,441.49314144476,441.49314144476,465.11211608996,523.2511306012],description:"Tetragam Pyth."},"tetragam-slpe":{frequencies:[261.6255653006,261.6255653006,300.52885648597,300.52885648597,279.06726965397,345.21700307457,348.83408706747,396.55020354877,455.51656649021,392.4383479509,455.51656649021,418.60090448096,523.2511306012],description:"Tetragam Slendro as 5-tET, Pelog-like pitches on C# E F# A B"},"tetragam-slpe2":{frequencies:[261.6255653006,261.6255653006,300.52885648597,300.52885648597,286.29520819723,345.21700307457,313.29104303136,396.55020354877,396.55020354877,387.04559340587,455.51656649021,423.54155496477,523.2511306012],description:"Tetragam Slendro as 5-tET, Pelog-like pitches on C# E F# A B"},"tetragam-sp":{frequencies:[261.6255653006,271.31540105247,271.31540105247,271.31540105247,336.37572681506,348.83408706747,366.27579142084,392.4383479509,406.97310157871,406.97310157871,406.97310157871,457.84473927605,523.2511306012],description:"Tetragam Septimal"},"tetragam-un":{frequencies:[261.6255653006,269.80136421624,285.40970760065,285.40970760065,319.76457981184,348.83408706747,359.73515228832,392.4383479509,404.70204632437,428.11456140098,428.11456140098,479.64686971777,523.2511306012],description:"Tetragam Undecimal"},tetragam13:{frequencies:[261.6255653006,275.95382006469,307.00724256551,307.00724256551,341.55514486295,341.55514486295,400.80167111126,400.80167111126,445.90437572008,445.90437572008,445.90437572008,496.08254310677,523.2511306012],description:"Tetragam (13-tET)"},tetragam5:{frequencies:[261.6255653006,300.52885648597,300.52885648597,300.52885648597,300.52885648597,345.21700307457,345.21700307457,396.55020354877,455.51656649021,455.51656649021,455.51656649021,455.51656649021,523.2511306012],description:"Tetragam (5-tET)"},tetragam7:{frequencies:[261.6255653006,288.85811466493,288.85811466493,288.85811466493,318.92511007349,352.12195684808,352.12195684808,388.77403176757,429.24143792307,429.24143792307,429.24143792307,473.92081401802,523.2511306012],description:"Tetragam (7-tET)"},tetragam8:{frequencies:[261.6255653006,285.30470202322,311.12698372208,311.12698372208,339.28638158975,339.28638158975,403.48177901006,403.48177901006,440,440,440,440,523.2511306012],description:"Tetragam (8-tET)"},tetragam9a:{frequencies:[261.6255653006,282.57118533961,305.19387818096,305.19387818096,329.62755691287,356.01738450312,415.30469757995,415.30469757995,448.55379686399,448.55379686399,448.55379686399,484.46508327871,523.2511306012],description:"Tetragam (9-tET) A"},tetragam9b:{frequencies:[261.6255653006,282.57118533961,282.57118533961,282.57118533961,305.19387818096,305.19387818096,384.52019141924,384.52019141924,415.30469757995,415.30469757995,415.30469757995,448.55379686399,523.2511306012],description:"Tetragam (9-tET) B"},tetraphonic_31:{frequencies:[261.6255653006,266.96486255163,272.52663052146,278.32506946872,284.37561445717,290.69507255622,297.30177875068,304.21577360535,311.45900631024,319.05556743976,327.03195662575,333.99008336247,341.25073734861,348.83408706747,356.76213450082,365.05892832642,373.75080757229,382.86668092771,392.4383479509,400.61414686654,409.13785211902,418.03215325205,427.32175665765,437.0336147635,447.19718719986,457.84473927605,467.58611670746,477.75103228805,488.36772189445,499.46698830115,511.08249965699,523.2511306012],description:"31-tone Tetraphonic Cycle, conjunctive form on 5/4, 6/5, 7/6 and 8/7"},tetratriad:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"4:5:6 Tetratriadic scale"},tetratriad1:{frequencies:[261.6255653006,290.69507255622,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"3:5:9 Tetratriadic scale"},tetratriad2:{frequencies:[261.6255653006,296.75121990114,305.22982618403,356.10146388137,373.75080757229,415.4517078616,436.04260883433,448.50096908674,508.71637697339,523.2511306012],description:"3:5:7 Tetratriadic scale"},thailand:{frequencies:[261.6255653006,281.86483947605,307.02089761314,350.84574289301,397.92692612688,408.40584780369,474.03826620294,539.82938999168],description:"Observed ranat tuning from Thailand, Helmholtz/Ellis p. 518, nr.85"},thailand2:{frequencies:[261.6255653006,293.66476791741,318.39923223688,356.77227917518,391.76907592069,435.19747628762,477.88722128969,525.37110555681],description:"Observed ranat t'hong tuning, Helmholtz/Ellis p. 518"},thailand3:{frequencies:[261.6255653006,293.32570896007,322.47117131255,354.92237405774,396.55020354877,437.46578647972,488.21056770985,538.58355905405],description:"Observed tak'hay tuning. Helmholtz, p. 518"},thailand4:{frequencies:[261.6255653006,281.88044777549,304.38587215019,332.5176539627,392.71966479735,416.35036198375,461.923848369,523.2511306012,563.76089555097,608.77174430039,665.59794246809,786.00196746963,831.57545378481,924.97296635309,1046.5022612024,1127.52179110194],description:"Khong mon (bronze percussion vessels) tuning, Gemeentemuseum Den Haag 1/1=465"},thirds:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,454.2110508691,502.32108537715,523.2511306012],description:"Major and minor thirds parallellogram"},thomas:{frequencies:[261.6255653006,280.80530480292,294.66217084622,313.95044496966,332.05645032639,350.21604710412,374.62015588545,391.99543598175,420.73257541073,441.99197952365,468.79922683914,499.49209883845,523.2511306012],description:"Tuning of the Thomas/Philpott organ, Gereformeerde Kerk, St. Jansklooster"},tiby1:{frequencies:[261.6255653006,295.66718139806,337.56154978455,348.04364484358,393.32961502355,444.50800708553,507.49227916989,523.2511306012],description:"Tiby's 1st Byzantine Liturgical genus, 12 + 13 + 3 parts"},tiby2:{frequencies:[261.6255653006,295.66718139806,311.12698372208,348.04364484358,393.32961502355,444.50800708553,467.75037672729,523.2511306012],description:"Tiby's second Byzantine Liturgical genus, 12 + 5 + 11 parts"},tiby3:{frequencies:[261.6255653006,295.66718139806,324.07484847125,348.04364484358,393.32961502355,444.50800708553,487.21628271135,523.2511306012],description:"Tiby's third Byzantine Liturgical genus, 12 + 9 + 7 parts"},tiby4:{frequencies:[261.6255653006,286.76251801126,324.07484847125,348.04364484358,393.32961502355,431.12067692221,487.21628271135,523.2511306012],description:"Tiby's fourth Byzantine Liturgical genus, 9 + 12 + 7 parts"},todi_av:{frequencies:[261.6255653006,276.38325105256,310.05056613125,371.27895029721,392.44854854484,413.39000965417,495.88429116026,523.2511306012],description:"Average of 8 interpretations of raga Todi, in B. Bel, 1988."},tonos15_pis:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,383.71749577421,442.75095666255,479.64686971777,523.2511306012,548.16785110602,575.57624366132,639.52915962369,719.47030457665,767.43499154843,885.50191332511,959.29373943553,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-15"},tonos17_pis:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,369.35373924791,418.60090448096,483.00104363188,523.2511306012,546.00117975777,570.81941520131,627.90135672144,697.66817413493,738.70747849581,784.8766959018,897.00193817349,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-17"},tonos19_pis:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,385.55346465352,406.97310157871,457.84473927605,523.2511306012,542.63080210495,563.50121757052,610.45965236807,665.95598440153,771.10692930703,813.94620315742,915.6894785521,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-19"},tonos21_pis:{frequencies:[261.6255653006,299.00064605783,322.00069575458,348.83408706747,398.6675280771,440.63253103259,465.11211608996,523.2511306012,558.13453930795,598.00129211566,644.00139150917,697.66817413493,797.33505615421,881.26506206518,930.22423217991,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-21"},tonos23_pis:{frequencies:[261.6255653006,294.32876096318,336.37572681506,362.25078272391,409.50088481833,448.50096908674,470.92601754108,523.2511306012,554.03060887186,588.65752192635,672.75145363011,724.50156544782,819.00176963666,897.00193817349,941.85203508216,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-23"},tonos25_pis:{frequencies:[261.6255653006,294.32876096318,336.37572681506,362.25078272391,376.74081403286,428.11456140098,470.92601754108,523.2511306012,554.03060887186,588.65752192635,672.75145363011,724.50156544782,753.48162806573,856.22912280196,941.85203508216,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-25"},tonos27_pis:{frequencies:[261.6255653006,290.69507255622,327.03195662575,373.75080757229,387.59343007496,436.04260883433,498.33441009638,523.2511306012,550.79066379074,581.39014511244,654.0639132515,747.50161514457,775.18686014993,872.08521766867,996.66882019276,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-27"},tonos29_pis:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,396.94913355953,442.75095666255,479.64686971777,523.2511306012,548.16785110602,575.57624366132,639.52915962369,719.47030457665,793.89826711906,885.50191332511,959.29373943553,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-29"},tonos31_pis:{frequencies:[261.6255653006,273.51763645063,300.86940009569,334.29933343966,388.21858076863,429.81342870813,462.87600014722,501.44900015948,523.2511306012,547.03527290125,601.73880019138,668.59866687931,776.43716153726,859.62685741626,925.75200029443,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-31"},tonos31_pis2:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,405.0976494977,448.50096908674,483.00104363188,523.2511306012,546.00117975777,570.81941520131,627.90135672144,697.66817413493,810.19529899541,897.00193817349,966.00208726375,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-31B"},tonos33_pis:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012,546.00117975777,570.81941520131,627.90135672144,697.66817413493,761.09255360175,837.20180896192,930.22423217991,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-33"},top31:{frequencies:[261.6255653006,267.49189720203,273.48976766293,279.62212612306,285.89198815637,292.30243695391,298.85662483994,305.55777482212,312.40918217641,319.41421606749,326.57632120555,333.89901954025,341.38591199258,349.04068022565,358.99452880887,367.04412845091,375.2742212459,383.6888543241,392.29216556304,401.08838562235,410.08184002413,419.27695128006,428.67824106611,438.29033244612,448.11795214515,458.16593287385,468.4392157049,478.94285250284,489.68200840824,500.66196437769,511.88811978069,523.36599505479],description:"Top temperament, 11-limit, {225/224, 385/384, 1331/1323}, Gene Ward Smith"},trab19:{frequencies:[261.6255653006,279.06726965397,294.32876096318,297.67175429757,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,367.91095120397,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,459.88868900496,465.11211608996,490.54793493862,523.2511306012],description:"Diamond {1,3,5,45,75,225}"},trab19a:{frequencies:[261.6255653006,279.06726965397,294.32876096318,297.67175429757,306.59245933664,313.95067836072,327.03195662575,344.91651675372,348.83408706747,367.91095120397,372.08969287196,392.4383479509,396.89567239676,418.60090448096,436.04260883433,446.50763144636,459.88868900496,465.11211608996,490.54793493862,523.2511306012],description:"Diamond {1,3,9,15,675}"},tranh:{frequencies:[261.6255653006,290.69507255622,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"Bac Dan Tranh scale, Vietnam"},tranh2:{frequencies:[261.6255653006,290.69507255622,307.79478270659,392.4383479509,436.04260883433,523.2511306012],description:"Dan Ca Dan Tranh Scale"},tranh3:{frequencies:[261.6255653006,317.68818643644,348.83408706747,392.4383479509,473.41768959156,476.53227965466,523.2511306012],description:"Sa Mac Dan Tranh scale"},"tri12-1":{frequencies:[261.6255653006,264.29521392612,275.21650375777,319.76457981184,323.02748368748,332.97799220076,336.37572681506,406.97310157871,411.12588832951,428.11456140098,432.48307733364,502.48719684718,523.2511306012],description:"12-tone Tritriadic of 7:9:11"},"tri12-2":{frequencies:[261.6255653006,294.32876096318,305.22982618403,336.37572681506,348.83408706747,356.10146388137,392.4383479509,406.97310157871,448.50096908674,457.84473927605,474.80195184183,504.56359022259,523.2511306012],description:"12-tone Tritriadic of 6:7:9"},"tri19-1":{frequencies:[261.6255653006,266.96486255163,269.10058145205,305.22982618403,311.45900631024,313.95067836072,320.35783506196,356.10146388137,363.36884069528,366.27579142084,373.75080757229,376.74081403286,384.42940207435,427.32175665765,436.04260883433,439.53094970501,448.50096908674,508.71637697339,512.78610798918,523.2511306012],description:"3:5:7 Tritriadic 19-Tone Matrix"},"tri19-2":{frequencies:[261.6255653006,282.55561052465,290.69507255622,294.32876096318,313.95067836072,322.99452506247,327.03195662575,348.83408706747,353.19451315581,363.36884069528,376.74081403286,387.59343007496,392.4383479509,418.60090448096,423.83341578697,436.04260883433,465.11211608996,470.92601754108,484.4917875937,523.2511306012],description:"3:5:9 Tritriadic 19-Tone Matrix"},"tri19-3":{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"4:5:6 Tritriadic 19-Tone Matrix"},"tri19-4":{frequencies:[261.6255653006,264.89588486686,290.69507255622,294.32876096318,322.99452506247,327.03195662575,331.11985608357,334.88072358477,363.36884069528,367.91095120397,372.08969287196,376.74081403286,408.78994578219,413.43299207996,418.60090448096,423.83341578697,465.11211608996,470.92601754108,516.79124009995,523.2511306012],description:"4:5:9 Tritriadic 19-Tone Matrix"},"tri19-5":{frequencies:[261.6255653006,266.96486255163,284.8811711051,290.69507255622,302.73815413355,316.53463456122,322.99452506247,329.64821227876,336.37572681506,366.27579142084,373.75080757229,406.97310157871,415.27867508032,423.83341578697,432.48307733364,452.19233508746,470.92601754108,480.53675259294,512.78610798918,523.2511306012],description:"5:7:9 Tritriadic 19-Tone Matrix"},"tri19-6":{frequencies:[261.6255653006,267.07609791103,294.32876096318,299.00064605783,305.22982618403,336.37572681506,341.71502406609,343.38355445704,348.83408706747,356.10146388137,384.42940207435,392.4383479509,398.6675280771,400.61414686654,406.97310157871,448.50096908674,457.84473927605,465.11211608996,512.57253609913,523.2511306012],description:"6:7:8 Tritriadic 19-Tone Matrix"},"tri19-7":{frequencies:[261.6255653006,271.31540105247,288.32205155576,294.32876096318,299.00064605783,305.22982618403,316.53463456122,336.37572681506,348.83408706747,356.10146388137,384.42940207435,392.4383479509,406.97310157871,432.48307733364,448.50096908674,457.84473927605,465.11211608996,474.80195184183,504.56359022259,523.2511306012],description:"6:7:9 Tritriadic 19-Tone Matrix"},"tri19-8":{frequencies:[261.6255653006,264.29521392612,272.43653907335,275.21650375777,316.53463456122,319.76457981184,323.02748368748,332.97799220076,336.37572681506,350.27555023717,390.82337532559,406.97310157871,411.12588832951,423.79017189188,428.11456140098,432.48307733364,497.4115685962,502.48719684718,517.96576564563,523.2511306012],description:"7:9:11 Tritriadic 19-Tone Matrix"},"tri19-9":{frequencies:[261.6255653006,266.96486255163,286.15296204753,293.02063313667,299.00064605783,320.49131749323,327.03195662575,334.88072358477,341.71502406609,366.27579142084,373.75080757229,400.61414686654,408.78994578219,418.60090448096,427.14378008261,457.84473927605,467.18850946536,478.40103369253,512.78610798918,523.2511306012],description:"4:5:7 Tritriadic 19-Tone Matrix"},triang11:{frequencies:[261.6255653006,294.32876096318,305.22982618403,313.95067836072,327.03195662575,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,418.60090448096,436.04260883433,448.50096908674,465.11211608996,523.2511306012],description:"11-limit triangular diamond lattice with 64/63 intervals removed"},triaphonic_12:{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,327.03195662575,348.83408706747,367.19377586049,387.59343007496,410.39304360878,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"12-tone Triaphonic Cycle, conjunctive form on 4/3, 5/4 and 6/5"},triaphonic_17:{frequencies:[261.6255653006,271.31540105247,281.75060878526,293.02063313667,305.22982618403,318.50068819203,332.97799220076,348.83408706747,361.75386806997,375.66747838035,390.69417751556,406.97310157871,422.62591317789,439.53094970501,457.84473927605,477.75103228805,499.46698830115,523.2511306012],description:"17-tone Triaphonic Cycle, conjunctive form on 4/3, 7/6 and 9/7"},trichord7:{frequencies:[261.6255653006,294.32876096318,305.22982618403,327.03195662575,343.38355445704,348.83408706747,392.4383479509,436.04260883433,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Trichordal undecatonic, 7-limit"},tricot:{frequencies:[261.6255653006,264.94025538413,268.70564228797,272.11003565477,275.55755973666,279.4738436282,283.01466417842,286.6003471482,290.673570175,294.35628843049,298.08566525814,302.32211998602,306.15242072385,310.03124984507,314.43747949204,318.42127516569,322.45554578164,327.03835025925,331.18179578139,335.37773516927,339.62683737367,344.45368576554,348.81777463097,353.23715677741,358.25743790514,362.79641682209,367.39290067029,372.61436622199,377.33523951767,382.11592657559,387.54663888312,392.45669803325,397.4289679423,403.0773124301,408.18413893183,413.35566924724,419.23036738005,424.541846554,429.92062250389,436.03074525334,441.55507841911,447.14940523431,453.50438708518,459.25010687752,465.06861996272,470.9608512551,477.65424916833,483.70593529179,489.8342966599,496.79592520903,503.09012862502,509.46407999504,516.70469117363,523.2511306012],description:"Tricot temperament, g=565.988015, 5-limit"},tritriad:{frequencies:[261.6255653006,294.32876096318,313.95067836072,348.83408706747,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Tritriadic scale of the 10:12:15 triad, natural minor mode"},tritriad10:{frequencies:[261.6255653006,274.70684356563,294.32876096318,348.83408706747,366.27579142084,392.4383479509,488.36772189445,523.2511306012],description:"Tritriadic scale of the 10:14:15 triad"},tritriad11:{frequencies:[261.6255653006,309.19384990071,356.76213450082,383.71749577421,421.62797713733,453.48431318771,486.49381977384,523.2511306012],description:"Tritriadic scale of the 11:13:15 triad"},tritriad13:{frequencies:[261.6255653006,294.32876096318,340.11323489078,348.83408706747,392.4383479509,453.48431318771,510.16985233617,523.2511306012],description:"Tritriadic scale of the 10:13:15 triad"},tritriad14:{frequencies:[261.6255653006,294.32876096318,336.37572681506,348.83408706747,392.4383479509,448.50096908674,504.56359022259,523.2511306012],description:"Tritriadic scale of the 14:18:21 triad"},tritriad18:{frequencies:[261.6255653006,294.32876096318,319.76457981184,348.83408706747,392.4383479509,426.35277308246,479.64686971777,523.2511306012],description:"Tritriadic scale of the 18:22:27 triad"},tritriad22:{frequencies:[261.6255653006,294.32876096318,321.08592105074,348.83408706747,392.4383479509,428.11456140098,481.6288815761,523.2511306012],description:"Tritriadic scale of the 22:27:33 triad"},tritriad26:{frequencies:[261.6255653006,294.32876096318,301.87565226992,348.83408706747,392.4383479509,402.50086969323,452.81347840488,523.2511306012],description:"Tritriadic scale of the 26:30:39 triad"},tritriad3:{frequencies:[261.6255653006,305.22982618403,356.10146388137,373.75080757229,436.04260883433,448.50096908674,508.71637697339,523.2511306012],description:"Tritriadic scale of the 3:5:7 triad. Possibly Mathews's 3.5.7a"},tritriad32:{frequencies:[261.6255653006,294.32876096318,322.00069575458,348.83408706747,392.4383479509,429.33426100611,483.00104363188,523.2511306012],description:"Tritriadic scale of the 26:32:39 triad"},tritriad3c:{frequencies:[261.6255653006,305.22982618403,366.27579142084,373.75080757229,427.32175665765,436.04260883433,512.78610798918,523.2511306012],description:"From 1/1 7/6 7/5, a variant of the 3.5.7 triad"},tritriad3d:{frequencies:[261.6255653006,305.22982618403,313.95067836072,363.36884069528,366.27579142084,436.04260883433,508.71637697339,523.2511306012],description:"From 1/1 7/6 5/3, a variant of the 3.5.7 triad"},tritriad5:{frequencies:[261.6255653006,290.69507255622,329.64821227876,366.27579142084,406.97310157871,423.83341578697,470.92601754108,523.2511306012],description:"Tritriadic scale of the 5:7:9 triad. Possibly Mathews's 5.7.9a."},tritriad68:{frequencies:[261.6255653006,305.22982618403,348.83408706747,392.4383479509,406.97310157871,457.84473927605,465.11211608996,523.2511306012],description:"Tritriadic scale of the 6:7:8 triad"},tritriad68i:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,398.6675280771,448.50096908674,465.11211608996,523.2511306012],description:"Tritriadic scale of the subharmonic 6:7:8 triad"},tritriad69:{frequencies:[261.6255653006,294.32876096318,305.22982618403,348.83408706747,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"Tritriadic scale of the 6:7:9 triad, septimal natural minor"},tritriad7:{frequencies:[261.6255653006,264.29521392612,323.02748368748,332.97799220076,336.37572681506,411.12588832951,428.11456140098,523.2511306012],description:"Tritriadic scale of the 7:9:11 triad"},tritriad9:{frequencies:[261.6255653006,272.93037367779,319.76457981184,362.25078272391,377.90359432309,442.75095666255,461.88217083933,523.2511306012],description:"Tritriadic scale of the 9:11:13 triad"},tsjerepnin:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,367.91095120397,392.4383479509,418.60090448096,470.92601754108,490.54793493862,523.2511306012],description:"Scale from Ivan Tsjerepnin's Santur Opera (1977) & suite from it Santur Live!"},tsuda13:{frequencies:[261.6255653006,281.75060878526,283.42769574232,322.00069575458,340.11323489078,362.25078272391,377.90359432309,402.50086969323,425.14154361347,442.75095666255,485.87604984397,518.26778650024,523.2511306012],description:"Mayumi Tsuda's Harmonic-13 scale. 1/1=440 Hz."},tuneable3:{frequencies:[36.70809598968,41.95210970249,42.82611198796,43.59086398774,44.04971518762,44.86545065405,45.8851199871,46.71939489596,47.1961234153,47.72052478658,48.94412798624,49.55592958607,50.47363198581,51.39133438555,52.00313598538,52.44013712811,53.02280531843,53.39359416681,55.06214398452,57.10148265061,57.68415084093,58.73295358349,59.65065598323,61.1801599828,62.40376318246,62.92816455374,64.23916798194,66.07457278142,66.74199270851,67.29817598108,68.17217826655,68.82767998065,70.35718398022,73.41619197936,79.53420797764,80.7578111773,82.59321597678,85.65222397592,87.18172797549,88.09943037523,89.14823311779,89.73090130811,90.10169015649,91.7702399742,94.39224683061,95.44104957317,96.35875197291,97.88825597248,100.94726397162,102.7826687711,104.00627197076,104.88027425623,105.53577597033,110.12428796904,114.20296530123,114.71279996775,115.36830168185,116.24230396732,117.46590716698,119.30131196646,120.61231539466,122.3603199656,123.88982396517,124.80752636491,125.85632910747,128.47833596388,132.14914556285,134.59635196216,137.6553599613,139.49076476078,140.71436796044,141.58837024591,146.83238395872,152.950399957,154.17400315666,156.00940795614,159.06841595528,161.51562235459,165.18643195356,168.85724155253,171.30444795184,174.36345595098,176.19886075046,183.5404799484,190.88209914634,192.71750394582,195.77651194496,201.89452794324,205.56533754221,208.01254394152,211.07155194066,220.24857593808,229.4255999355,232.48460793464,238.60262393292,244.7206399312,247.77964793034,256.95667192776,269.19270392432,275.3107199226,281.42873592088,293.66476791744],description:"Marc Sabat, 3 octaves of intervals tuneable by ear"},tuners1:{frequencies:[261.6255653006,276.50456653385,293.15590636358,311.0676370396,328.627540632,349.28088891463,369.11955599459,391.76814585061,414.75684959346,439.06365754828,466.60145532616,492.6062100846,523.2511306012],description:"The Tuner's Guide well temperament no. 1 (1840)"},tuners2:{frequencies:[261.6255653006,276.9861853325,293.55936848273,311.27971878774,329.48489606404,349.42029142443,369.90111701824,391.99869425741,415.03962525779,439.89939957166,466.4799232208,493.78769382322,523.2511306012],description:"The Tuner's Guide well temperament no. 2 (1840)"},tuners3:{frequencies:[261.6255653006,276.9180796764,293.64050032496,311.25753558078,329.38199580693,349.20116137147,369.59117881045,391.8877401954,415.37711930697,439.91014033466,466.33569310799,493.52238512763,523.2511306012],description:"The Tuner's Guide well temperament no. 3 (1840)"},turkish:{frequencies:[261.6255653006,279.06726965397,327.03195662575,348.83408706747,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:"Turkish, 5-limit from Palmer on a Turkish music record, harmonic minor inverse"},turkish_24:{frequencies:[261.6255653006,275.62199471997,279.38237857051,290.36720431405,294.32876096318,310.07474405997,314.30517589183,326.6631048533,331.11985608357,344.13890881665,348.83408706747,367.49599295996,372.50983809402,387.15627241873,392.4383479509,413.43299207996,419.07356785577,435.55080647107,441.49314144476,458.8518784222,465.11211608996,489.99465727995,496.67978412536,516.20836322497,523.2511306012],description:"Ra'uf Yekta, 24-tone Pythagorean Turkish Theoretical Gamut, 1/1=D (perde yegah) at 294 Hz"},turkish_24a:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,344.52749339997,348.83408706747,367.91095120397,372.08969287196,387.59343007496,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,459.36999119996,465.11211608996,490.54793493862,496.67978412536,516.79124009995,523.2511306012],description:"Turkish gamut with schismatic simplifications"},turkish_41:{frequencies:[261.6255653006,266.80864394988,272.09440643071,275.67629620338,281.13773466533,286.70737164501,290.48162858661,294.30556868769,300.13607443832,306.08208692954,310.11139540064,316.25503135793,322.52037740267,326.76608188608,333.2396629384,339.84149442859,344.31521657963,348.8478314504,355.75887527351,362.80683626646,367.58287746967,374.8650823332,382.29155536296,387.32409620162,392.42288612931,400.19720009986,408.12552912594,413.49815209867,421.6899870258,430.04411333507,435.70527569249,441.44096240275,450.1863739015,459.10504388656,465.14876849982,474.36385666592,483.76150545705,490.12981126508,499.83980314828,509.74215733443,516.45247616827,523.2511306012],description:"Abd\xEF\xBF\xBDlkadir T\xEF\xBF\xBDre and M. Ekrem Karadeniz theoretical Turkish gamut"},turkish_41a:{frequencies:[261.6255653006,268.5590565112,272.09440643071,275.67629620338,279.3053384865,286.70737164501,290.48162858661,294.30556868769,298.17984938441,306.08208692954,310.11139540064,314.19374626607,322.52037740267,326.76608188608,335.42589979828,339.84149442859,344.31521657963,348.8478314504,353.4401143131,362.80683626646,367.58287746967,377.32440283229,382.29155536296,387.32409620162,392.42288612931,402.82271318249,408.12552912594,413.49815209867,424.45650702809,430.04411333507,435.70527569249,441.44096240275,453.1398459935,459.10504388656,465.14876849982,477.47594368525,483.76150545705,490.12981126508,503.11902634639,509.74215733443,516.45247616827,523.2511306012],description:"Karadeniz's theoretical Turkish gamut, quantized to subset of 53-tET"},turkish_aeu:{frequencies:[261.6255653006,275.62199471997,279.38237857051,290.36720431405,294.32876096318,310.07474405997,314.30517589183,326.6631048533,331.11985608357,348.83408706747,353.59332287831,367.49599295996,372.50983809402,387.15627241873,392.4383479509,413.43299207996,419.07356785577,435.55080647107,441.49314144476,465.11211608996,471.45776383774,489.99465727995,496.67978412536,516.20836322497,523.2511306012],description:"Arel-Ezgi-Uzdilek (AEU) 24 tone theoretical system"},turkish_bagl:{frequencies:[261.6255653006,277.01530443593,285.40970760065,294.32876096318,311.64221749042,321.08592105074,331.11985608357,348.83408706747,369.35373924791,380.54627680087,392.4383479509,415.52295665389,428.11456140098,441.49314144476,465.11211608996,492.47165233054,507.3950357345,523.2511306012],description:'Ratios of the 17 frets on the neck of "Baglama" ("saz") according to Yal\xEF\xBF\xBD\xEF\xBF\xBDn Tura'},two29:{frequencies:[261.6255653006,265.43099677612,267.95417262175,271.85165581044,274.43586616969,278.42762776199,281.0743490329,285.16266958193,287.87341387594,292.06062910037,294.83694510625,299.12544722478,301.96892109338,306.36116019141,309.2734164419,313.77190187131,316.75460431924,321.36190613206,324.41675883995,329.13550925662,332.26425750751,337.09715242073,340.3015837153,345.25138423021,348.53332930799,353.60286331966,356.96419720496,362.15636101402,365.59900408717,370.91676405444,374.44268531179,379.88907958456,383.50028913155,389.07842928561,392.77699240278,398.49006531303,402.2780950448,408.12936467525,412.00902517967,418.00183444819,421.97534223334,428.1131149215,432.1827401118,438.46898282094,442.63705045414,449.07535460876,453.34424596425,459.9382898638,464.31044382305,471.06399474345,475.54190918343,482.45882552933,487.04505874954,494.12929225872,498.82646444278,506.0820624438,510.89285715645,518.32396488098,523.2511306012],description:"Two 29-tET scales 25 cents shifted, many near just intervals"},two29a:{frequencies:[261.6255653006,264.02813680074,267.95417262175,270.41486126945,274.43586616969,276.95607779319,281.0743490329,283.65552346679,287.87341387594,290.51702578379,294.83694510625,297.54450482308,301.96892109338,304.74197548856,309.2734164419,312.11354980287,316.75460431924,319.66343925668,324.41675883995,327.39595721478,332.26425750751,335.31552138031,340.3015837153,343.42665631876,348.53332930799,351.73399604284,356.96419720496,360.24228665998,365.59900408717,368.95638908389,374.44268531179,377.88128181162,383.50028913155,387.02206376789,392.77699240278,396.38395721814,402.2780950448,405.97231075214,412.00902517967,415.79260233969,421.97534223334,425.85044246025,432.1827401118,436.15157730833,442.63705045414,446.70189207635,453.34424596425,457.50741431695,464.31044382305,468.5743173866,475.54190918343,479.90892674463,487.04505874954,491.51771254425,498.82646444278,503.40730976502,510.89285715645,515.58451111167,523.2511306012],description:"Two 29-tET scales 15.826 cents shifted, 13-limit chords, Mystery temperament, Gene Ward Smith"},xenakis_chrom:{frequencies:[261.6255653006,274.52698453615,329.62755691287,349.22823143301,391.99543598175,411.32572372413,493.88330125613,523.2511306012],description:"Xenakis's Byzantine Liturgical mode, 5 + 19 + 6 parts"},xenakis_diat:{frequencies:[261.6255653006,293.66476791741,326.46944327063,349.22823143301,391.99543598175,440,489.15147723638,523.2511306012],description:"Xenakis's Byzantine Liturgical mode, 12 + 11 + 7 parts"},xenakis_schrom:{frequencies:[261.6255653006,279.86396690685,326.46944327063,349.22823143301,391.99543598175,419.32216217931,489.15147723638,523.2511306012],description:"Xenakis's Byzantine Liturgical mode, 7 + 16 + 7 parts"},xenoga24:{frequencies:[261.6255653006,265.7783520514,279.38237857051,283.8170195002,294.32876096318,299.00064605783,310.07474405997,314.99656539426,331.11985608357,336.37572681506,348.83408706747,354.37113606854,372.50983809402,378.42269266694,392.4383479509,398.6675280771,419.07356785577,425.72552925031,441.49314144476,448.50096908674,465.11211608996,472.49484809138,496.67978412536,504.56359022259,523.2511306012],description:"M. Schulter, 3+7 ratios Xeno-Gothic adaptive tuning (keyboards 64:63 apart)"},xylophone2:{frequencies:[261.6255653006,295.19538981304,332.68808325276,388.83826257328,446.65787257783,506.59641128799,527.19506190947,579.57827742703,633.13077520476,751.1860077911,842.69088701475],description:"African Yaswa xylophones (idiophone; calbash resonators with membrane)"},xylophone3:{frequencies:[261.6255653006,292.47977325983,348.01999353916,392.4383479509,442.29334161825,523.2511306012],description:"African Banyoro xylophone (idiophone; loose log)"},xylophone4:{frequencies:[261.6255653006,281.70207497315,314.1971709147,349.63190883464,391.76907592069,436.9606979923,505.71930677521,568.9637969584,597.94115990992,660.7800775993,716.43551549302],description:"African Bapare xylophone (idiophone, loose-log)"},zalzal:{frequencies:[261.6255653006,294.32876096318,321.08592105074,348.83408706747,392.4383479509,428.11456140098,465.11211608996,523.2511306012],description:"Tuning of popular flute by Al Farabi & Zalzal. First tetrachord is modern Rast"},zalzal2:{frequencies:[261.6255653006,294.32876096318,331.11985608357,348.83408706747,387.59343007496,419.89288258121,465.11211608996,523.2511306012],description:"Zalzal's Scale, a medieval Islamic with Ditone Diatonic & 10/9 x 13/12 x 72/65"},zarlino:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Ptolemy's Intense Diatonic Systonon, also Zarlino's scale"},zarlino2:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,348.83408706747,363.36884069528,367.91095120397,392.4383479509,408.78994578219,436.04260883433,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"16-note choice system of Zarlino, Sopplimenti musicali (1588)"},zartehijaz1:{frequencies:[261.6255653006,280.55696721076,336.07142343876,350.07440004945,375.4060213132,393.89732161404,446.43551156053,468.42549744394,502.32108537715,523.2511306012],description:"Scale from Zarlino temperament extraordinaire -- lower Hijaz tetrachord"},zesster_a:{frequencies:[261.6255653006,279.06726965397,313.95067836072,334.88072358477,348.83408706747,392.4383479509,418.60090448096,502.32108537715,523.2511306012],description:"Harmonic six-star, group A, from Fokker"},zesster_b:{frequencies:[261.6255653006,293.02063313667,299.00064605783,334.88072358477,366.27579142084,418.60090448096,457.84473927605,478.40103369253,523.2511306012],description:"Harmonic six-star, group B, from Fokker"},zesster_c:{frequencies:[261.6255653006,299.00064605783,305.22982618403,348.83408706747,398.6675280771,406.97310157871,457.84473927605,465.11211608996,523.2511306012],description:"Harmonic six-star, group C on Eb, from Fokker"},zesster_mix:{frequencies:[261.6255653006,274.70684356563,279.06726965397,293.02063313667,299.00064605783,313.95067836072,334.88072358477,348.83408706747,358.80077526939,366.27579142084,392.4383479509,418.60090448096,457.84473927605,478.40103369253,488.36772189445,502.32108537715,523.2511306012],description:"Harmonic six-star, groups A, B and C mixed, from Fokker"},zest24:{frequencies:[261.6255653006,269.33468959023,272.52663052146,280.55696721076,292.24684137387,300.8582598368,308.87634556583,317.97777315513,326.45210604021,336.07142343876,350.07440004945,360.38977980792,364.66083404534,375.4060213132,391.04793957621,402.57065589001,410.30971075781,422.39999923493,436.81711699543,449.68847932918,465.03699205118,478.73988827571,487.94322738789,502.32108537715,523.2511306012],description:"Zarlino Extraordinaire Spectrum Temperament (two circles at ~50.28c apart)"},zir_bouzourk:{frequencies:[261.6255653006,281.75060878526,305.22982618403,313.95067836072,353.19451315581,392.4383479509,523.2511306012],description:"Zirafkend Bouzourk (IG #3, DF #9), from both Rouanet and Safi al-Din"},zwolle:{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,331.11985608357,348.83408706747,367.49599295996,392.4383479509,413.43299207996,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"Henri Arnaut De Zwolle. Pythagorean on G flat."},zwolle2:{frequencies:[261.6255653006,273.37431312998,292.50627485027,311.68386704488,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,467.04206359353,489.02683710225,523.2511306012],description:"Henri Arnaut De Zwolle's modified meantone tuning (c. 1440)"},yarman12:{frequencies:[261.6255653006,283.42769574232,294.32876096318,309.19384990071,332.97799220076,348.83408706747,377.90359432309,392.4383479509,411.12588832951,442.75095666255,465.11211608996,499.46698830115,523.2511306012],description:"Detempered Yarman 13-limit, [<1 1 -20 -6 -3 -1|, <0 1 38 15 11 8|]"},yarman12_80:{frequencies:[261.6255653006,282.84340331238,295.36595061166,319.3201344739,333.45764463229,348.2210758395,376.46181130035,393.12919962609,425.01198472693,443.82887286778,479.82340237272,501.06699929295,523.2511306012],description:"Ozan Yarman MOS, 80-et version"},yarman17:{frequencies:[261.6255653006,274.08392555301,283.42769574232,294.32876096318,309.19384990071,322.00069575458,332.97799220076,348.83408706747,362.25078272391,377.90359432309,392.4383479509,411.12588832951,425.14154361347,442.75095666255,465.11211608996,485.87604984397,499.46698830115,523.2511306012],description:"80-et commas 13-limit detempering of a chain of 16 fifths"},"yarman_ney-ahengs":{frequencies:[261.6255653006,275.39533189537,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,436.04260883433,465.11211608996,494.18162334558,523.2511306012],description:"Well Temperament for piano by Ozan Yarman from Ney Ahengs"},yasser_6:{frequencies:[261.6255653006,291.88463270656,325.64340264099,363.30663963964,405.32593044476,452.20508247496,523.2511306012],description:"Yasser Hexad, 6 of 19 as whole tone scale"},yasser_diat:{frequencies:[261.6255653006,281.42815779395,291.88463270656,313.97755176024,325.64340264099,350.29154279212,376.80531512858,390.80553229045,420.38583225541,436.00528786292,469.00678383895,486.43275040712,523.2511306012],description:"Yasser's Supra-Diatonic, the flat notes are V,W,X,Y,and Z"},yasser_ji:{frequencies:[261.6255653006,282.64904822654,294.32876096318,304.39128270551,327.03195662575,347.87575166344,359.73515228832,391.36022062136,425.14154361347,434.84468957929,457.84473927605,478.32915853722,523.2511306012],description:"Yasser's just scale, 2 Yasser hexads, 121/91 apart"},yekta:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,470.92601754108,502.32108537715,523.2511306012],description:"Rauf Yekta's 12-tone tuning suggested in 1922 Lavignac Music Encyclopedia"},"young-g":{frequencies:[261.6255653006,299.07507698093,319.76457981184,341.88537054616,390.82337532559,446.76650366117,477.67301428683,510.71739232152,583.82257301724,667.39198333921,713.56092257662,762.92356430953,872.13001648254,996.96833978235,1065.93668681199,1139.67601990796,1302.81150610354,1489.29848625885,1592.32474578757,1702.47910946196,1946.17475603251,2224.75468143463,2378.65811671778,2543.20970830682,2907.24890901465,3323.39919648924,3553.30434397593,3799.11599765247,4342.92768045015],description:"Gayle Young's Harmonium, see PNM 26(2): 204-212 (1988)"},"young-lm_guitar":{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"LaMonte Young, Tuning of For Guitar '58. 1/1 March '92, inv.of Mersenne lute 1"},"young-lm_piano":{frequencies:[261.6255653006,289.72987407313,294.32876096318,300.46061014991,343.38355445704,338.01818641865,386.30649876417,392.4383479509,400.61414686654,457.84473927605,450.69091522486,515.07533168556,523.2511306012],description:"LaMonte Young's Well-Tempered Piano"},"young-w10":{frequencies:[261.6255653006,277.18263097687,302.26980244078,320.24370022528,349.22823143301,369.99442271164,391.99543598175,427.47405410759,452.89298412314,493.88330125613,523.2511306012],description:"William Lyman Young 10 out of 24-tET (1961)"},"young-w14":{frequencies:[261.6255653006,277.18263097687,293.66476791741,302.26980244078,320.24370022528,339.28638158975,359.46139971304,369.99442271164,391.99543598175,415.30469757995,427.47405410759,452.89298412314,479.82340237272,508.3551866238,523.2511306012],description:"William Lyman Young 14 out of 24-tET (1961)"},"young-wt":{frequencies:[261.6255653006,285.40970760065,309.19384990071,348.83408706747,392.4383479509,428.11456140098,463.79077485106,523.2511306012],description:'William Lyman Young "exquisite 3/4 tone Hellenic Lyre" dorian'},young:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,328.14198392915,348.83408706747,367.49599295996,391.5530240856,413.43299207996,438.51190905657,465.11211608996,491.10256480205,523.2511306012],description:"Thomas Young well temperament (1807), also Luigi Malerbi nr.2 (1794)"},young2:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.77584116741,328.14198392915,349.22823143301,368.32692341742,391.5530240856,414.36778843034,438.51190905657,466.16376151809,491.65745674141,523.2511306012],description:"Thomas Young well temperament no.2 (1799)"},yugo_bagpipe:{frequencies:[261.6255653006,277.02257024271,294.00421879736,322.47117131255,341.84370465044,381.9375744369,404.41509766528,430.1988069325,452.63145841613,463.74664903953,478.99265177484,502.22604835608,523.2511306012],description:"Yugoslavian Bagpipe"},yves:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:`St Yves's scale II from Jocelyn Godwin, "Music and the Occult", 1995.`},saba_sup:{frequencies:[261.6255653006,287.78812183066,313.95067836072,327.03195662575,392.4383479509,418.60090448096,470.92601754108,497.08857407114,523.2511306012],description:"Superparticular version of maqam Sab"},sabagh:{frequencies:[261.6255653006,275.67629620338,279.3053384865,286.70737164501,294.30556868769,310.11139540064,314.19374626607,322.52037740267,326.76608188608,331.06767743197,348.8478314504,362.80683626646,367.58287746967,372.42178901277,392.42288612931,413.49815209867,418.94150105041,430.04411333507,441.44096240275,465.14876849982,471.27205084813,483.76150545705,490.12981126508,496.58195036371,523.2511306012],description:"Twfiq Al-Sabagh, Arabic master musical scale in 53-tET (1954)"},sabbagh:{frequencies:[261.6255653006,294.30556868769,321.46759848648,348.8478314504,392.42288612931,428.64035280622,465.14876849982,523.2511306012],description:"Tawfiq as-Sabbagh, a composer from Syria. 1/1=G"},safi_diat:{frequencies:[261.6255653006,276.16031892841,305.22982618403,348.83408706747,392.4383479509,414.24047839262,457.84473927605,523.2511306012],description:"Safi al-Din's Diatonic, also the strong form of Avicenna's 8/7 diatonic"},safi_diat2:{frequencies:[261.6255653006,283.79722337692,310.07474405997,348.83408706747,392.4383479509,425.69583506538,465.11211608996,523.2511306012],description:"Safi al-Din's 2nd Diatonic, a 3/4 tone diatonic like Ptolemy's Equable Diatonic"},safi_major:{frequencies:[261.6255653006,281.75060878526,322.00069575458,348.83408706747,375.66747838035,392.4383479509,523.2511306012],description:"Singular Major (DF #6), from Safi al-Din, strong 32/27 chromatic"},salinas_19:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,465.11211608996,490.54793493862,510.98743222773,523.2511306012],description:`Salinas' enharmonic tuning for his 19-tone instr. "instrumentum imperfectum"`},salinas_24:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,367.91095120397,372.08969287196,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,459.88868900496,465.11211608996,470.92601754108,490.54793493862,510.98743222773,523.2511306012],description:'Salinas enharmonic system "instrumentum perfectum". Subset of Mersenne'},salinas_enh:{frequencies:[261.6255653006,272.52663052146,279.06726965397,348.83408706747,392.4383479509,408.78994578219,418.60090448096,523.2511306012],description:"Salinas's and Euler's enharmonic"},salunding:{frequencies:[261.6255653006,282.38958039978,310.76686573877,390.36201910543,419.43149305958,523.2511306012],description:"Gamelan slunding, Kengetan, South-Bali. 1/1=378 Hz"},sankey:{frequencies:[261.6255653006,274.88665260982,292.54735824399,309.58527581215,327.03195662575,348.83408706747,366.73895666255,391.24894371175,412.31687950427,437.13741259348,464.79252184829,489.99465727995,523.2511306012],description:"John Sankey's Scarlatti tuning, personal evaluation based on d'Alembert's"},santur1:{frequencies:[261.6255653006,282.02765077995,319.3201344739,347.21689301951,376.46192220133,427.47393558663,475.68393915562,504.55222794679,523.2511306012],description:"Persian santur tuning. 1/1=E"},santur2:{frequencies:[261.6255653006,281.2143451833,317.48098583281,345.21700307457,375.37611551499,423.78627283082,475.68393915562,498.18106573801,523.2511306012],description:"Persian santur tuning. 1/1=E"},sanza:{frequencies:[261.6255653006,293.15632631094,308.97787266236,346.21547002486,390.18821123181,462.40922843744,524.46149515038,595.18445928535,620.10113226249],description:"African N'Gundi Sanza (idiophone; set of lamellas, thumb-plucked)"},sanza2:{frequencies:[261.6255653006,390.63923480058,465.35666077712,523.2511306012,588.68812410589,663.45725712889,702.9084786129,783.08569314515],description:"African Baduma Sanza (idiophone, like mbira)"},sauveur:{frequencies:[261.6255653006,274.85950244128,292.7026939092,313.25286195357,328.80795208256,349.69755047152,367.27338607435,391.35133250294,417.15885134862,438.29716799286,468.84228427561,491.11646492505,523.2511306012],description:"Sauveur's tempered system of the harpsichord. Trait\xEF\xBF\xBD (1697)"},sauveur2:{frequencies:[261.6255653006,278.64199172491,293.04864983565,312.10886966906,328.2456799168,349.5951549002,372.33322418948,391.58401058733,417.05308314313,438.61577206336,467.14384425417,491.2966347616,523.2511306012],description:"Sauveur's Syste^me Chromatique des Musiciens (Memoires 1701), 12 out of 55."},sauveur_17:{frequencies:[261.6255653006,275.62199471997,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,367.49599295996,372.50983809402,392.4383479509,413.43299207996,419.07356785577,441.49314144476,465.11211608996,489.99465727995,496.67978412536,523.2511306012],description:"Sauveur's oriental system, aft. Kitab al-adwar (Bagdad 1294) by Safi al-Din"},sauveur_ji:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Aplication des sons harmoniques aux jeux d'orgues (1702) (PB 81/80 & 128/125)"},savas_bardiat:{frequencies:[261.6255653006,282.57123920205,317.17549194805,349.22823143301,391.99543598175,423.37848741825,475.22628419761,523.2511306012],description:"Savas's Byzantine Liturgical mode, 8 + 12 + 10 parts"},savas_barenh:{frequencies:[261.6255653006,282.57123920205,329.62755691287,349.22823143301,391.99543598175,423.37848741825,493.88330125613,523.2511306012],description:"Savas's Byzantine Liturgical mode, 8 + 16 + 6 parts"},savas_chrom:{frequencies:[261.6255653006,282.57123920205,323.3415889232,349.22823143301,391.99543598175,423.37848741825,484.46499093218,523.2511306012],description:"Savas's Chromatic, Byzantine Liturgical mode, 8 + 14 + 8 parts"},savas_diat:{frequencies:[261.6255653006,288.06460709314,311.12698372208,349.22823143301,391.99543598175,431.60923940535,466.16376151809,523.2511306012],description:"Savas's Diatonic, Byzantine Liturgical mode, 10 + 8 + 12 parts"},savas_palace:{frequencies:[261.6255653006,277.18263097687,336.03572815422,349.22823143301,391.99543598175,415.30469757995,503.48470957687,523.2511306012],description:"Savas's Byzantine Liturgical mode, 6 + 20 + 4 parts"},scalatron:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,340.65828815182,348.83408706747,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,459.88868900496,470.92601754108,490.54793493862,510.98743222773,523.2511306012],description:"Scalatron (tm) 19-tone scale, see manual, 1974"},scheengaas:{frequencies:[261.6255653006,273.84069463911,292.6487650037,312.74862113192,327.53979283172,350.03605285217,366.8025131876,391.54284657258,418.19337019276,437.97145880542,467.51204131067,489.62261321254,523.2511306012],description:"Scheengaas' variation"},scheffer:{frequencies:[261.6255653006,274.56546814423,292.86978442859,309.86465789076,327.84548435462,349.70179235499,366.99791252626,391.46460164194,410.82629477826,438.21464222188,467.42914467878,490.54793493862,523.2511306012],description:"H.Th. Scheffer (1748) modified 1/5-comma temperament, Sweden"},schidlof:{frequencies:[261.6255653006,264.89588486686,274.70684356563,280.31310567921,294.32876096318,305.22982618403,315.35224388912,322.99452506247,327.03195662575,348.83408706747,353.19451315581,366.27579142084,373.75080757229,392.4383479509,406.97310157871,420.46965851882,436.04260883433,457.84473927605,467.18850946536,484.4917875937,490.54793493862,523.2511306012],description:"Schidlof"},schillinger:{frequencies:[261.6255653006,262.8879410321,275.85161280553,277.18263097687,278.52007147562,292.25460328695,293.66476791741,295.08173676673,309.63296633914,311.12698372208,312.62820992379,328.04470063332,329.62755691287,331.21805066987,347.55125362114,349.22823143301,350.91330087035,368.21772660991,369.99442271164,371.77969159194,390.11309203208,391.99543598175,393.88686247394,413.31042363438,415.30469757995,417.30859414412,437.88714035463,440,442.12305445465,463.92526470026,466.16376151809,468.41305936011,491.51169649079,493.88330125613,496.26634930797,520.73850287792,523.2511306012],description:"Joseph Schillinger's double equal temperament, p.664 Mathematical Basis..."},schis41:{frequencies:[261.6255653006,266.96486255163,272.52663052146,275.21650375777,280.31310567921,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,311.45900631024,313.95067836072,321.08592105074,327.03195662575,329.64821227876,336.37572681506,343.38355445704,348.83408706747,355.95315006884,363.36884069528,366.27579142084,373.75080757229,380.54627680087,387.59343007496,392.4383479509,398.6675280771,406.97310157871,415.27867508032,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,484.4917875937,490.54793493862,497.4115685962,504.56359022259,512.78610798918,523.2511306012],description:"41&53 <<1 -8 -14 23 -15 -25 33 -10 81 113||"},schisynch17:{frequencies:[261.6255653006,275.80289341725,290.74848220557,294.25152581512,310.19683462128,327.0062098829,330.94609980123,348.87986495302,367.78544978395,387.71551660339,392.38685458718,413.65005636851,436.06549769577,441.31937388998,465.23419873014,490.4449531872,496.35401261224,523.2511306012],description:"fifth satisfies f^9 + f^8 - 64 = 0"},schlick:{frequencies:[261.6255653006,275.62199471997,293.00227310437,311.47852302926,328.14198392915,349.6228209638,367.9112241576,391.5530240856,414.36778843034,438.51190905657,466.69047534984,491.10256480205,523.2511306012],description:"Reconstructed temp. A. Schlick, Spiegel d. Orgelmacher und Organisten (1511)"},schlick2:{frequencies:[261.6255653006,275.31092272332,293.00227310437,311.83045953724,328.14198392915,349.6228209638,367.9112241576,391.5530240856,415.30469757995,438.51190905657,466.69047534984,491.10256480205,523.2511306012],description:"Schlick's temperament reconstructed by F.J. Ratte (1991)"},schlick3:{frequencies:[261.6255653006,275.31092431358,293.00227310437,311.83045953724,328.14198392915,349.6228209638,367.70355049744,391.5530240856,415.07027187895,438.51190905657,466.95405539699,491.10256480205,523.2511306012],description:"Possible well-tempered interpretation of 1555 tuning, Margo Schulter"},schlick4:{frequencies:[261.6255653006,275.29566620843,293.00166043901,311.83758337792,328.14192706649,349.6222474261,367.6987228158,391.55300599201,415.35839309639,438.51185079886,466.95962791236,491.10245700671,523.2511306012],description:"Another reconstructed Schlick's modified meantone (Poletti?)"},scholz:{frequencies:[261.6255653006,271.31540105247,299.00064605783,305.22982618403,348.83408706747,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"Simple Tune #1 Carter Scholz"},scholz_epi:{frequencies:[261.6255653006,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,2877.8812183066,3139.5067836072,3401.1323489078,3662.7579142084,3924.383479509,4186.0090448096,4709.2601754108,5232.511306012,5494.1368713126,5755.7624366132,6279.0135672144,6540.639132515,6802.2646978156,7063.8902631162,7325.5158284168,8372.0180896192,8633.6436549198,9156.894785521,9418.5203508216,10203.3970467234,10465.022612024,10988.2737426252,11511.5248732264,11773.150438527,12558.0271344288,12819.6526997294,13081.27826503,14127.7805262324,14389.406091533,14651.0316568336,16482.4106139378,16744.0361792384,17005.661744539],description:"Carter Scholz, Epimore"},schulter:{frequencies:[261.6255653006,277.184065539,293.66520219021,311.12905403417,329.62853176407,349.23107169224,369.99606406306,391.99572582396,415.30715405467,440.00097595231,466.1672081452,493.88512703986,523.25577305438],description:`Margo Schulter's 5-limit JI virt. ET, "scintilla of Artusi" tempered 22-08-98`},schulter_17:{frequencies:[261.6255653006,272.43653907335,282.13181390574,295.15344695336,308.77608605158,319.09647917983,332.97799220076,348.34640884647,361.82138782225,375.64984936577,392.98775403209,410.26687922759,423.79017189188,443.34998408798,463.81254988138,480.53289366295,500.16624277499,523.2511306012],description:"Neo-Gothic well-temperament (14:11, 9:7 hypermeantone fifths) TL 04-09-2000"},schulter_24:{frequencies:[261.6255653006,270.06509966514,283.8170195002,292.97240722602,295.75063903546,305.22982618403,307.79478270659,317.68818643644,334.29933343966,345.08318290545,348.06842720833,359.29644098925,377.90359432309,390.09403284964,393.30161007617,406.07983174306,426.86276443782,440.63253103259,444.76346101102,458.66231916761,462.87600014722,477.80748402293,502.32108537715,518.89070451286,523.2511306012],description:'Rational intonation (RI) scale with some "17-ish" features (24 notes)'},schulter_cart34:{frequencies:[261.6255653006,270.08718526646,272.51337835337,281.3271372098,283.85429714132,293.03484945212,295.66718139806,305.22982618403,307.97166902637,317.93223698752,320.78822215662,331.16330924834,334.13814720468,344.94500399825,348.04364484358,359.30023993517,362.52783176564,374.2528814026,377.61479489998,389.82779436071,393.32961502355,406.05087076101,409.69842558521,422.94908927295,426.7484383229,440.55054172958,444.50800708553,458.88449901367,463.0066556268,477.98143975034,482.27514684959,497.87312179111,502.34551296122,518.59261334435,523.2511306012],description:'"Carthesian tuning" with two 17-tET chains 55.106 cents apart'},schulter_diat7:{frequencies:[261.6255653006,295.1673044417,332.97799220076,348.83408706747,392.4383479509,442.75095666255,499.46698830115,523.2511306012],description:"Diatonic scale, symmetrical tetrachords based on 14/11 and 13/11 triads"},schulter_ham:{frequencies:[261.6255653006,272.52663052146,283.8170195002,295.75063903546,307.79478270659,320.70230585235,334.29933343966,348.01136516401,362.25078272391,377.90359432309,393.36609818246,409.50088481833,426.86276443782,444.76346101102,462.87600014722,482.33849075995,502.32108537715,523.2511306012],description:'New rational tuning of "Hammond organ type", TL 01-03-2002'},schulter_jot17a:{frequencies:[261.6255653006,271.31540105247,281.75060878526,295.1673044417,305.22982618403,318.50068819203,332.97799220076,348.83408706747,361.75386806997,375.66747838035,392.4383479509,406.97310157871,422.62591317789,442.75095666255,457.84473927605,477.75103228805,499.46698830115,523.2511306012],description:"Just octachord tuning -- 4:3-9:8-4:3 division, 17 steps (7 + 3 + 7), Bb-Bb"},schulter_jot17bb:{frequencies:[261.6255653006,271.31540105247,281.75060878526,295.15228855401,305.22982618403,318.50068819203,332.97799220076,348.83408706747,361.75386806997,375.66747838035,392.4383479509,406.97310157871,422.62591317789,442.72843283101,457.84473927605,477.75103228805,499.46698830115,523.2511306012],description:'"Just Octachord Tuning" (Bb-Eb, F-Bb) -- 896:891 divided into 1792:1787:1782'},schulter_jwt17:{frequencies:[261.6255653006,272.43653907335,282.34838235411,295.1673044417,308.34441624714,319.76457981184,332.97799220076,347.8430811383,362.25078272391,376.08675011961,393.55640592227,409.81906732402,425.14154361347,443.97065626768,462.87600014722,481.6288815761,500.8899711738,523.2511306012],description:'"Just well-tuned 17" circulating system'},"schulter_lin76-34":{frequencies:[261.6255653006,270.6250663876,281.88470155261,291.58108453077,295.07956188513,305.22982618403,308.89206602106,319.51745915009,332.81131277165,344.25948974019,348.39001840879,360.3740779397,375.36781334896,388.27986588625,392.93856423817,406.45502016129,423.36600317146,437.92911415628,443.18352164838,458.42832346067,463.9286840578,479.88708893184,499.85328649772,517.04744024951,523.2511306012],description:"Two 12-note chains, ~704.160 cents, 34 4ths apart (32 4ths = 7:6), TL 29-11-02"},schulter_pel:{frequencies:[261.6255653006,271.31540105247,305.22982618403,392.4383479509,406.97310157871,523.2511306012],description:"Just pelog-style Phrygian pentatonic"},schulter_pepr:{frequencies:[261.6255653006,270.64528702739,281.81099471089,291.52662303231,295.05751399041,305.22982618403,308.92668738628,319.57714790608,332.76158224462,344.23376719628,348.40303271111,360.41446953256,375.28368107222,388.22184469544,392.9238840789,406.47020586181,423.23948674937,437.83095983374,443.13385158124,458.41119660824,463.96335069158,479.95880706014,499.75992392917,516.98949183803,523.2511306012],description:"Peppermint 24: Wilson/Pepper apotome/limma=Phi, 2 chains spaced for pure 7:6"},schulter_qcm62a:{frequencies:[261.6255653006,262.43934012943,267.90457886781,268.73788454005,273.37431312998,274.22463192287,279.93529690293,280.80602334765,285.65065877038,286.53916259713,292.50627485027,293.41610276971,299.52642572255,300.45808951291,305.64177427204,306.59245933664,312.977175335,313.95067836072,320.36052345918,320.48862783822,327.03195662575,328.04917632434,334.88072358477,335.92235492515,341.71789064962,342.78078913836,349.91912034749,351.00752840096,358.31717956585,359.43170941363,365.63284274659,366.77012764335,374.40803131735,375.5726110527,382.05221698715,383.2405741708,391.22147055517,392.4383479509,400.61078621746,401.85686830172,408.78994578219,410.06146948999,418.60090448096,419.90294514449,427.14736482575,428.47598794138,437.39890198442,438.75941205608,447.89647345742,449.28963835923,457.04105241293,458.46266117889,468.01003810189,469.46576276783,479.24227945773,480.73294151703,489.02683710225,490.54793493862,500.76348165392,502.32108537715,510.98743222773,512.57683571821,523.2511306012],description:"1/4-comma meantone, two 31-notes at 1/4-comma (Vicentino-like system)"},schulter_qcmlji24:{frequencies:[261.6255653006,262.43934012943,273.37431312998,274.22463192287,292.50627485027,293.41610276971,306.59245933664,312.977175335,327.03195662575,328.04917632434,349.91912034749,351.00752840096,365.63284274659,366.77012764335,391.22147055517,392.4383479509,408.78994578219,410.06146948999,437.39890198442,438.75941205608,458.46266117889,468.01003810189,489.02683710225,490.54793493862,523.2511306012],description:"24-note adaptive JI (Eb-G#/F'-A#') for Lasso's Prologue to _Prophetiae_"},schulter_qcmqd8_4:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.28772967674,327.03195662575,349.91912034749,365.63284274659,391.22147055517,411.22091428214,437.39890198442,465.24335632603,489.02683710225,523.2511306012],description:"F-C# in 1/4-comma meantone, other 5ths ~4.888 cents wide or (2048/2025)^(1/4)"},schulter_sq:{frequencies:[261.6255653006,271.31540105247,279.38237857051,289.72987407313,294.32876096318,305.22982618403,310.07474405997,325.94610833227,331.11985608357,343.38355445704,348.83408706747,361.75386806997,372.50983809402,386.30649876417,392.4383479509,406.97310157871,419.07356785577,434.59481110969,441.49314144476,457.84473927605,465.11211608996,488.9191624984,496.67978412536,515.07533168556,523.2511306012],description:'"Sesquisexta" tuning, two 12-tone Pyth. manuals a 7/6 apart. TL 16-5-2001'},schulter_tedorian:{frequencies:[261.6255653006,295.99553712036,309.28772789022,347.85054122562,393.54796334264,442.61656607198,462.49302735707,523.2511306012],description:"Eb Dorian in temperament extraordinaire -- neo-medieval style"},schulter_zarte84:{frequencies:[261.6255653006,272.52663052146,292.24684137387,308.87634556583,326.45210604021,350.07440004945,364.66083404534,391.04793957621,410.30971075781,436.81711699543,465.03699205118,487.94322738789,523.2511306012],description:"Temperament extraordinaire, Zarlino's 2/7-comma meantone (F-C#)"},schulter_zarte84n:{frequencies:[261.6255653006,272.46997760396,292.1447183254,308.81896225817,326.44489157977,350.01709816983,364.52535053201,391.11195868293,410.09013064752,436.73596474349,465.11312402839,488.01232708701,523.2511306012],description:"Zarlino temperament extraordinaire, 1024-tET mapping"},scotbag:{frequencies:[261.6255653006,290.69507255622,327.03195662575,356.76213450082,387.59343007496,436.04260883433,479.64686971777,523.2511306012],description:"Scottish bagpipe tuning"},scotbag2:{frequencies:[261.6255653006,290.69507255622,319.76457981184,348.83408706747,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Scottish bagpipe tuning 2"},scotbag3:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,441.49314144476,479.64686971777,523.2511306012],description:"Scottish bagpipe tuning 3"},scotbag4:{frequencies:[261.6255653006,293.15632631094,318.58319997217,348.2210758395,392.67530119805,428.21545238314,468.59347232539,523.2511306012],description:"Scottish Higland Bagpipe by Macdonald, Edinburgh. Helmholtz/Ellis p. 515, nr.52"},scottd1:{frequencies:[261.6255653006,275.93341798027,292.67158636845,310.42509491746,327.40170814054,349.22823143301,367.9112241576,391.5530240856,413.90012676351,437.52264545758,465.63764214343,490.54829628849,523.2511306012],description:"Dale Scott's temperament 1, TL 9-6-1999"},scottd2:{frequencies:[261.6255653006,276.1828093671,292.93610587951,310.70566022736,327.9937953665,349.3071136959,368.24374600687,391.64146650178,414.27421384356,438.21489534465,466.05849010807,491.32444638706,523.2511306012],description:"Dale Scott's temperament 2, TL 9-6-1999"},scottd3:{frequencies:[261.6255653006,276.40121172404,293.16775656083,310.95136287868,328.51274831708,349.22813057195,368.53494914961,391.77416758435,414.60181737882,438.75957425603,466.42704408487,491.93513777943,523.2511306012],description:"Dale Scott's temperament 3, TL 9-6-1999"},scottd4:{frequencies:[261.6255653006,276.60439543337,293.30494246724,310.98285414553,328.78580734933,349.37474066871,369.05201453919,391.83105388699,414.77686160481,439.10664961187,466.16991430388,492.5350487994,523.2511306012],description:"Dale Scott's temperament 4, TL 9-6-1999"},scottj:{frequencies:[261.6255653006,294.32876096318,336.37572681506,348.83408706747,392.4383479509],description:`Jeff Scott's "seven and five" tuning, fifth-repeating. TL 20-04-99`},scottj2:{frequencies:[261.6255653006,290.69507255622,299.00064605783,305.22982618403,313.95067836072,348.83408706747,366.27579142084,406.97310157871,418.60090448096,428.11456140098,436.04260883433,485.87604984397,523.2511306012,566.85539148463,581.39014511244,598.00129211566,610.45965236807,680.22646978156,719.47030457665,784.8766959018],description:`Jeff Scott's "just tritone/13" tuning. TL 17-03-2001`},secor12_1:{frequencies:[261.6255653006,275.03488264166,292.74290192225,310.07362690431,327.56128791316,349.21167447253,366.91716522699,391.37968062521,412.76363757129,437.92977184699,465.61556619611,490.01645577464,523.2511306012],description:"George Secor's 12-tone temperament ordinaire #1, proportional beating"},secor12_2:{frequencies:[261.6255653006,275.62199471997,292.79557634972,310.07474405997,327.35540669465,348.83408706747,367.49599295996,391.60840570078,413.43299207996,437.83150862942,465.11211608996,489.99465727995,523.2511306012],description:"George Secor's closed 12-tone well-temperament #2, with 7 just fifths"},secor12_3:{frequencies:[261.6255653006,274.49585366342,292.50627485027,309.76836826904,327.03195662575,349.57337698802,365.99447173417,391.22147055517,411.74378028931,437.39890198442,466.09783352473,489.02683710225,523.2511306012],description:"George Secor's closed 12-tone temperament #3 with 5 meantone, 3 just, and 2 wide fifths"},secor17htt1:{frequencies:[261.6255653006,266.21235100401,283.6936382117,294.88137067808,304.94368688875,319.75456524059,327.03195662575,348.50707605838,360.3992766165,372.69727792826,392.80658053205,399.69321489333,425.93975025566,435.63385416574,457.84473927605,480.08189580921,491.0082387498,523.2511306012],description:"George Secor's 17-tone high-tolerance temperament subset #1 on C (5/4 & 7/4 exact)"},secor17htt2:{frequencies:[261.6255653006,266.21235100401,279.78524030783,294.88137067808,300.05119287674,319.75456524059,327.03195662575,348.50707605838,360.3992766165,372.69727792826,392.80658053205,399.69321489333,425.93975025566,442.73709545768,457.84473927605,480.08189580921,491.0082387498,523.2511306012],description:"George Secor's 17-tone high-tolerance temperament subset #2 on Eo (5/4 & 7/4 exact)"},secor17htt3:{frequencies:[261.6255653006,270.55308473255,279.78524030783,294.88137067808,300.05119287674,319.75456524059,327.03195662575,343.70575469589,360.3992766165,368.60172104124,392.80658053205,399.69321489333,425.93975025566,442.73709545768,457.84473927605,480.08189580921,491.0082387498,523.2511306012],description:"George Secor's 17-tone high-tolerance temperament subset #3 on G (5/4 & 7/4 exact)"},secor17htt4:{frequencies:[261.6255653006,270.55308473255,279.78524030783,294.88137067808,300.05119287674,319.75456524059,332.36439517321,343.70575469589,360.3992766165,368.60172104124,392.80658053205,399.69321489333,420.07165483694,442.73709545768,450.49910517366,480.08189580921,491.0082387498,523.2511306012],description:"George Secor's 17-tone high-tolerance temperament subset #4 on Bo (5/4 & 7/4 exact)"},secor17wt:{frequencies:[261.6255653006,271.90848849519,284.45827635845,296.12458543709,307.25838681362,320.91221742866,335.17278980765,347.77473997341,362.0378075073,378.74746489181,393.63374363584,408.43373030454,427.2847686483,445.53990619223,462.29147990415,482.0422296857,504.29062567056,523.2511306012],description:"George Secor's well temperament with 5 pure 11/7 and 3 near just 11/6"},secor19wt:{frequencies:[261.6255653006,272.32755795875,282.27948808054,292.18583194851,304.13791554835,314.37102040472,326.31582004031,339.6640167515,350.11094753355,364.43250202589,378.27942889874,391.0071187494,407.00156221801,421.24111755476,436.68033801788,454.54308187078,469.17957429271,487.6886112017,506.92782577841,523.2511306012],description:"George Secor's 19-tone well temperament with ten 5/17-comma fifths"},secor19wt1:{frequencies:[261.6255653006,272.32845615788,282.22605479514,292.18610873661,304.13920677667,314.3856167727,326.31643450984,339.6657766488,350.11078170334,364.43353349925,378.23315721313,391.00730395019,407.00309738029,421.33223555387,436.68095599763,454.54522431957,469.16941157468,487.689760539,506.89867708289,523.2511306012],description:"George Secor's 19-tone proportional-beating (5/17-comma) well temperament (v.1)"},secor19wt2:{frequencies:[261.6255653006,272.32845615788,282.22605479514,292.18610873661,304.13920677667,314.27577204952,326.31643450984,339.6657766488,350.11078170334,364.43353349925,378.23315721313,391.00730395019,407.00309738029,421.20165315727,436.68095599763,454.54522431957,469.03541436973,487.689760539,506.89867708289,523.2511306012],description:"George Secor's 19-tone proportional-beating (5/17-comma) well temperament (v.2)"},secor1_4tx:{frequencies:[261.6255653006,274.52656755164,292.65557420835,309.65910769439,327.20096538886,349.14957009195,366.50113643833,391.42429537222,412.04336447213,437.62002395673,465.5327601226,489.58458498887,523.2511306012],description:"George Secor's rational 1/4-comma temperament extraordinaire"},secor1_5tx:{frequencies:[261.6255653006,275.23833828784,292.86443876933,310.12174699459,327.84546895566,349.26796031009,366.98445105045,391.462133155,412.85750743176,438.21197504744,465.69061374678,490.54793493862,523.2511306012],description:"George Secor's 1/5-comma temperament extraordinaire (ratios supplied by G. W. Smith)"},secor1_5wt:{frequencies:[261.6255653006,275.62199471997,292.86443876933,310.07474405997,327.84546895566,348.83408706747,367.44664657419,391.462133155,413.43299207996,438.21197504744,465.11211608996,490.54793493862,523.2511306012],description:"George Secor's 1/5-comma well-temperament (ratios supplied by G. W. Smith)"},secor1_7wt:{frequencies:[261.6255653006,276.40791719395,293.28186156416,310.6264877857,328.77715667764,349.45479875891,368.54388959194,391.74026793015,414.61187579093,439.14616729155,465.93973167855,492.29203182992,523.2511306012],description:"George Secor's 1/7-comma well-temperament (ratios supplied by G. W. Smith)"},secor22_19p3:{frequencies:[261.6255653006,266.86058412305,272.32845615788,282.28026746552,292.18610873661,304.13920677667,314.37137994881,326.31643450984,339.6657766488,350.11078170334,357.11635499175,364.43353349925,378.28077924825,391.00730395019,407.00309738029,421.28573964817,436.68095599763,454.54522431957,469.17973147781,477.89781576412,487.689760539,506.93004530576,523.2511306012],description:"George Secor's 19+3 well temperament with ten ~5/17-comma (equal-beating) fifths and 3 pure 9:11. TL 28-6-2002,26-10-2006. Aux=1,10,19"},secor22_ji29:{frequencies:[261.6255653006,272.52663052146,283.42769574232,286.15296204753,294.32876096318,305.22982618403,316.13089140489,327.03195662575,340.65828815182,348.83408706747,359.73515228832,370.63621750918,381.53728273004,392.4383479509,414.24047839262,425.14154361347,436.04260883433,441.49314144476,457.84473927605,479.64686971777,490.54793493862,501.44900015948,523.2511306012],description:"George Secor's 22-tone just intonation (29-limit otonality on 4/3)"},secor29htt:{frequencies:[261.6255653006,270.55308473255,276.71069203503,283.6936382117,290.1503157249,294.88137067808,304.94368688875,310.54087273367,319.75456524059,327.03195662575,332.36439517321,343.70575469589,348.50707605838,360.3992766165,368.60172104124,377.19539564757,387.3949548402,392.80658053205,406.21042497925,415.4555026381,425.93975025566,435.63385416574,442.73709545768,457.84473927605,464.24049278842,480.08189580921,491.0082387498,499.01438878341,516.04239079678,523.2511306012],description:"George Secor's 29-tone 13-limit high-tolerance temperament (5/4 & 7/4 exact)"},secor2_11wt:{frequencies:[261.6255653006,275.91396717201,292.9984614786,310.40321306851,328.14053952957,349.20361470207,367.88528956268,391.55148162785,413.87095075801,438.50612639837,465.60481960276,491.10222639053,523.2511306012],description:"George Secor's rational 2/11-comma well-temperament"},secor41htt:{frequencies:[261.6255653006,266.21235100401,270.55308473255,276.71069203503,279.78524030783,283.6936382117,290.1503157249,294.88137067808,300.05119287674,304.94368688875,310.54087273367,315.34936221801,319.75456524059,327.03195662575,332.36439517321,338.19136297459,343.70575469589,348.50707605838,354.61705516636,360.3992766165,368.60172104124,372.69727792826,377.90358994896,387.3949548402,392.80658053205,399.69321489333,406.21042497925,415.4555026381,420.07165483694,425.93975025566,435.63385416574,442.73709545768,450.49910517366,457.84473927605,464.24049278842,473.46789104304,480.08189580921,491.0082387498,499.01438878341,507.7630447553,516.04239079678,523.2511306012],description:"George Secor's 13-limit high-tolerance temperament superset (5/4 & 7/4 exact)"},secor5_23tx:{frequencies:[261.6255653006,275.02417915696,292.7420830065,310.0721322444,327.56084927797,349.21018850905,366.91927748105,391.38056264645,412.75664067387,437.92311604224,465.61358467873,490.0190422864,523.2511306012],description:"George Secor's rational 5/23-comma temperament extraordinaire"},secor5_23wt:{frequencies:[261.6255653006,275.62199471997,292.75872440224,310.07474405997,327.56278518065,348.83408706747,367.49599295996,391.3766908411,413.43299207996,437.81158306864,465.11211608996,489.99465727995,523.2511306012],description:"George Secor's rational 5/23-comma proportional-beating well-temperament"},secor7p:{frequencies:[261.6255653006,281.10327891957,302.03108525935,356.94582815655,383.52002471837,412.07263653985,442.75095666255,523.2511306012],description:"George Secor's pelog-like MOS with near just 11:13:15:19 tetrads (1979)"},secor_vrwt:{frequencies:[261.6255653006,276.32932769153,293.15777167588,310.55777256823,328.11844153148,349.04269216937,368.62018440632,392.00375398861,414.25255044712,438.65017260809,465.6191423793,491.6947801169,523.2511306012],description:"George Secor's Victorian rational well-temperament (based on Ellis #2)"},"secor_wt1-7":{frequencies:[261.6255653006,276.2204353545,293.2843722634,310.74798946314,328.77415062671,349.45463702831,368.55847674989,391.74146894101,414.33065282463,439.14535139523,466.13275379077,492.28548658217,523.2511306012],description:"George Secor's 1/7-comma well-temperament"},secor_wt10:{frequencies:[261.6255653006,276.4188590209,293.2843722634,310.62634254146,328.77415062671,349.45463500978,368.55847887877,391.7414712038,414.6282883241,439.14535393183,465.93951357928,492.28548942572,523.2511306012],description:"George Secor's 12-tone well-temperament, proportional beating"},"secor_wtpb-24a":{frequencies:[261.6255653006,275.62199471997,292.84836938997,310.07474405997,327.30111872997,348.83408706747,367.49599295996,391.90002374246,413.43299207996,437.54991661796,465.11211608996,490.95167809495,523.2511306012],description:"George Secor's 24-triad proportional-beating well-temperament (24a)"},"secor_wtpb-24b":{frequencies:[261.6255653006,275.62199471997,292.56126314547,310.07474405997,327.51644841334,348.83408706747,367.49599295996,391.46936437571,413.43299207996,437.76524630133,465.11211608996,490.37746560595,523.2511306012],description:"George Secor's 24-triad proportional-beating well-temperament (24b)"},segah:{frequencies:[261.6255653006,293.66476791741,320.24370022528,349.22823143301,391.99543598175,440,479.82340237272,523.2511306012],description:"Arabic SEGAH (Dudon) Two 4 + 3 + 3 tetrachords"},segah2:{frequencies:[261.6255653006,293.66476791741,318.39923223688,349.22823143301,391.99543598175,425.01198472693,466.16376151809,523.2511306012],description:"Iranian mode Segah from C"},segah_rat:{frequencies:[261.6255653006,294.32876096318,319.76457981184,348.83408706747,392.4383479509,441.49314144476,479.64686971777,523.2511306012],description:"Rationalized Arabic Seg\xEF\xBF\xBDh\r"},seidel974:{frequencies:[261.6255653006,262.64754016506,266.73543962288,267.75741448733,268.77938935179,273.88926367407,274.91123853852,276.95518826743,277.97716313189,280.0211128608,283.08703745416,284.10901231862,285.13098718308,287.17493691199,289.2188866409,290.24086150535,294.32876096318,457.84473927605,461.93263873387,463.97658846278,468.0644879206,474.19633710734,476.24028683625,482.37213602298,486.4600354808,488.50398520971,492.59188466754,498.72373385427,506.89953276991,513.03138195665,515.07533168556,519.16323114338,523.2511306012],description:"Dave Seidel, Base 9:7:4 Symmetry, scale for Passacaglia and Fugue State (2005)"},seikilos:{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,336.37572681506,348.83408706747,356.10146388137,392.4383479509,406.97310157871,441.49314144476,457.84473927605,504.56359022259,523.2511306012],description:"Seikilos Tuning"},sekati1:{frequencies:[261.6255653006,285.2147362526,318.99014578736,340.97107458785,383.86043226246,424.60539155549,468.56721805116,523.2511306012],description:"Gamelan sekati from Sumenep, East-Madura. 1/1=244 Hz."},sekati2:{frequencies:[261.6255653006,288.87830434024,317.34219433319,357.31261688157,393.64955765984,420.29657220667,469.35141988267,523.2511306012],description:"Gamelan Kyahi Sepuh from kraton Solo. 1/1=216 Hz."},sekati3:{frequencies:[261.6255653006,291.90272733088,308.20569577938,369.53649673407,403.69531865382,425.43272843735,475.11832680028,523.2511306012],description:"Gamelan Kyahi Henem from kraton Solo. 1/1=168.5 Hz."},sekati4:{frequencies:[261.6255653006,271.36353278789,288.89182053123,342.12578909252,379.12979967788,410.29128883625,439.50493264224,523.2511306012],description:"Gamelan Kyahi Guntur madu from kraton Jogya. 1/1=201.5 Hz."},sekati5:{frequencies:[261.6255653006,274.79663866182,311.31645994273,355.61927540077,375.97459751383,397.52718524897,433.44837981883,523.2511306012],description:"Gamelan Kyahi Naga Ilaga from kraton Jogya. 1/1=218.5 Hz."},sekati6:{frequencies:[261.6255653006,284.57524936299,310.80330758934,358.01400474517,390.79902205709,427.51850178351,468.18764285778,523.2511306012],description:"Gamelan Kyahi Munggang from Paku Alaman, Jogya. 1/1=199.5 Hz."},sekati7:{frequencies:[261.6255653006,286.67481979642,318.21831168293,371.10013445627,390.58282835584,422.12643845206,463.87524473877,523.2511306012],description:"Gamelan of Sultan Anom from Cheribon. 1/1=282 Hz."},sekati8:{frequencies:[261.6255653006,287.04067548259,315.94410704802,350.82750428678,381.72407804086,425.57749367468,447.5043967797,523.2511306012],description:"The old Sultans-gamelan Kyahi Suka rame from Banten. 1/1=262.5 Hz."},sekati9:{frequencies:[261.6255653006,280.44107893528,310.90439774384,346.74342440827,376.31071188751,412.14996063869,455.1567650372,523.2511306012],description:"Gamelan Sekati from Katjerbonan, Cheribon. 1/1=292 Hz."},selisir:{frequencies:[261.6255653006,278.78833362316,320.24370022528,380.8360868427,417.71053321823,524.76452349887],description:"Gamelan semara pagulingan, Bali. Pagan Kelod"},selisir2:{frequencies:[261.6255653006,279.59466973861,299.66214729245,376.46181130035,408.17001145418,520.23742585195],description:"Gamelan semara pagulingan, Bali. Kamasan"},selisir3:{frequencies:[261.6255653006,284.98499077387,305.5412851438,378.42269266694,406.45400323486,523.2511306012],description:"Gamelan gong, Pliatan, Bali. 1/1=280 Hz, McPhee, 1966"},selisir4:{frequencies:[261.6255653006,277.23130136276,295.59098907682,376.373620257,399.32323124828,523.2511306012],description:"Gamelan gong, Apuan, Bali. 1/1=285 Hz. McPhee, 1966"},selisir5:{frequencies:[261.6255653006,275.89605068063,309.19384990071,383.40037296022,406.23315014465,523.2511306012],description:"Gamelan gong, Sayan, Bali. 1/1=275 Hz. McPhee, 1966"},selisir6:{frequencies:[261.6255653006,282.63199755101,312.23197007902,396.25769882774,415.35445602102,523.2511306012],description:"Gamelan gong, Gianyar, Bali. 1/1=274 Hz. McPhee, 1966"},semipor1:{frequencies:[261.6255653006,290.69507255622,313.95067836072,327.03195662575,353.19451315581,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:"First 16/15&250/243 = 648/625&250/243 scale"},semisixths:{frequencies:[261.6255653006,264.19830736984,270.23055453212,272.88791531122,275.57140613391,281.86332858923,284.63508234504,291.13394747727,293.99686553194,300.70948316519,303.66656221886,306.65272199551,313.65430163898,316.7386758187,323.97054074552,327.15636145846,330.37351240232,337.91669168384,341.23965429995,349.03093233441,352.46319080675,360.51072564419,364.05587272954,367.63587953306,376.02984347246,379.72760059524,388.39764380609,392.21702191873,396.07395857323,405.11722624758,409.10101938242,418.44172684717,422.55654641528,426.71183224275,436.45463212963,440.74658728358,450.80983509489,455.24295209046,465.63718490681,470.21611194415,474.84006394159,485.68174342829,490.45777940536,501.656046885,506.58917188228,511.57080469686,523.2511306012],description:"Semisixths temperament, 13-limit, g=443.0"},"scalamakesrc2\\semisixths_8":{frequencies:[261.6255653006,282.20554108354,304.40437778605,337.94858305883,364.53227585368,393.20709362444,436.53702313055,470.87587163898,522.76460573117],description:"8-note MOS of Semisixths [7, 9, 13, -2, 1, 5] temperament, TOP tuning"},semisuper:{frequencies:[261.6255653006,267.78942821112,272.60119889127,277.49943141001,284.03728045772,289.141002119,295.95312328758,301.27095467792,308.36885759663,313.90977919898,321.30545111289,327.07882560827,334.78475653951,340.80033382945,348.82954357113,355.09748450744,363.46353108469,369.99442271164,378.7114412363,385.5163125912,392.44345945086,401.68937424288,408.90712663484,418.54092077997,426.06147005461,436.09942062666,443.93546710474,454.39452662825,462.55931114028,473.45714317395,481.96445416288,493.31947147471,502.18367855499,514.01505508798,523.2511306012],description:"Semisuper temperament, g=71.146064, p=600, 5-limit"},semithirds:{frequencies:[13.75,13.81661017188,13.90316796691,13.99026794524,14.07791366516,14.14611237417,14.23473442257,14.3239115844,14.41364750281,14.48347263281,14.57420816344,14.665512046,14.73655738771,14.82887834882,14.92177776458,15.01525908647,15.08799873642,15.18252139242,15.27763629821,15.37334698758,15.4478213521,15.54459820959,15.64198144101,15.73997475533,15.81622511342,15.91530993122,16.01501558389,16.11534586889,16.19341466585,16.29486248479,16.39694594444,16.47637891809,16.57959953527,16.68346670883,16.78798468204,16.86931199442,16.97499424439,17.08133847,17.18834901569,17.27161584349,17.37981843193,17.48869878298,17.59826134469,17.68351394199,17.7942969746,17.90577393328,18.01794937217,18.10523509614,18.21866011204,18.33279560295,18.42160666689,18.53701356879,18.6531435747,18.77000099922,18.86093005309,18.97908920954,19.09798871479,19.21763298632,19.3107305405,19.43170758802,19.55344264036,19.67594033402,19.77125798984,19.89512013023,20.01975835255,20.14517740386,20.24276822054,20.36958425827,20.49719488615,20.62560496443,20.72552315291,20.85536353332,20.98601745346,21.08768161561,21.21979095359,21.352727802,21.48649759166,21.59058626784,21.72584618454,21.86195334633,21.99891331359,22.10548432428,22.24396995552,22.38332303719,22.52354926226,22.63266180681,22.7744500803,22.91712649141,23.06069686887,23.17241155847,23.3175812365,23.46366023269,23.57732716458,23.72503340608,23.87366512928,24.02322785632,24.1396055475,24.29083432682,24.44301065897,24.59614033986,24.71529329517,24.87012861873,25.02593409262,25.18271565096,25.30471019771,25.46323807533,25.62275923969,25.78327976642,25.90818367164,26.07049216435,26.23381763196,26.36090411207,26.52604894185,26.69222821075,26.85944870765,26.98956598001,27.15864922771,27.32879158412,27.5],description:"Semithirds temperament, g=193.199615, 5-limit"},sensisynch19:{frequencies:[261.6255653006,272.4389540986,281.73678149918,293.38139793239,303.39395317428,313.74821628003,326.71591476706,337.86611241253,351.83064080634,363.83795665907,376.25506171692,391.80626469239,405.17787315281,421.92450060765,436.32398762558,454.35793210906,469.86431365505,485.89989602801,505.98288939536,523.2511306012],description:"Sensi[19] in synch (brat=-1) tuning, generator ~162/125 satisfies g^9-g^7-4=0"},serre_enh:{frequencies:[261.6255653006,265.7783520514,279.06726965397,348.83408706747,392.4383479509,398.6675280771,418.60090448096,523.2511306012],description:"Dorian mode of the Serre's Enharmonic"},"sev-elev":{frequencies:[261.6255653006,279.06726965397,294.32876096318,305.22982618403,327.03195662575,336.37572681506,359.73515228832,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:'"Seven-Eleven Blues" of Pitch Palette'},sha:{frequencies:[261.6255653006,266.96486255163,280.31310567921,284.82183961519,290.63452941521,294.32876096318,300.33547037059,305.16625703708,320.42456924675,326.96384715385,343.31203882349,348.83408706747,355.95315006884,373.75080757229,392.4383479509,400.44729382745,406.8883429195,420.46965851882,427.23275920923,435.9517939049,457.74938532681,480.63685362987,490.44577048562,498.33441009638,523.2511306012],description:"Three chains of sqrt(3/2) separated by 10/7"},shahin:{frequencies:[261.6255653006,277.01530443593,282.55561052465,294.32876096318,310.50067090621,317.47821407264,328.55303549378,348.83408706747,357.66532977804,371.78369805875,376.74081403286,392.4383479509,415.52295665389,428.11456140098,441.49314144476,463.20591889287,478.90781444856,495.71159741166,523.2511306012],description:"Mohajeri Shahin Iranian style scale, TL 9-4-2006"},shahin_wt:{frequencies:[261.6255653006,276.93928561067,294.25491037444,311.47852302926,329.62755691287,348.92163548373,370.73795561568,392.4383479509,415.30469757995,439.61371330969,467.10055427519,494.44133512215,523.2511306012],description:"Mohajeri Shahin, well temperament, TL 28-12-2006"},shalfun:{frequencies:[261.6255653006,269.43930514995,277.46904793785,285.74220762407,294.32876096318,302.80736724606,311.45900631024,320.30554027987,329.50323085718,338.98103822311,348.83408706747,359.12912189513,369.78878487717,380.87868001252,392.4383479509,404.24222079821,416.2697936366,428.68354137408,441.49314144476,454.4477424016,467.68960547122,481.19471271032,494.94053216156,508.90014647073,523.2511306012],description:"d'Erlanger vol.5, p.40. After Alexandre ^Salfun (Chalfoun)"},"sharm1c-conm":{frequencies:[261.6255653006,305.22982618403,318.50068819203,332.97799220076,406.97310157871,430.91269578922,457.84473927605,523.2511306012],description:"Subharm1C-ConMixolydian"},"sharm1c-conp":{frequencies:[261.6255653006,313.95067836072,330.47439827444,348.83408706747,418.60090448096,448.50096908674,483.00104363188,523.2511306012],description:"Subharm1C-ConPhryg"},"sharm1c-dor":{frequencies:[261.6255653006,319.76457981184,338.57426097725,359.73515228832,383.71749577421,411.12588832951,479.64686971777,547.03527290125,523.2511306012],description:"Subharm1C-Dorian"},"sharm1c-lyd":{frequencies:[261.6255653006,309.19384990071,323.91736656265,340.11323489078,382.37582620857,377.90359432309,485.87604984397,503.87145909745,523.2511306012],description:"Subharm1C-Lydian"},"sharm1c-mix":{frequencies:[261.6255653006,305.22982618403,318.50068819203,332.97799220076,366.27579142084,457.84473927605,488.36772189445,523.2511306012],description:"Subharm1C-Mixolydian"},"sharm1c-phr":{frequencies:[261.6255653006,313.95067836072,330.47439827444,348.83408706747,392.4383479509,483.00104363188,502.32108537715,523.2511306012],description:"Subharm1C-Phrygian"},"sharm1e-conm":{frequencies:[261.6255653006,318.50068819203,325.57848126297,332.97799220076,430.91269578922,443.97065626768,457.84473927605,523.2511306012],description:"Subharm1E-ConMixolydian"},"sharm1e-conp":{frequencies:[261.6255653006,330.47439827444,339.40613876835,348.83408706747,448.50096908674,465.11211608996,483.00104363188,523.2511306012],description:"Subharm1E-ConPhrygian"},"sharm1e-dor":{frequencies:[261.6255653006,338.57426097725,348.83408706747,359.73515228832,383.71749577421,411.12588832951,500.50108144463,511.62332769895,523.2511306012],description:"Subharm1E-Dorian"},"sharm1e-lyd":{frequencies:[261.6255653006,323.91736656265,331.81779013735,340.11323489078,382.37582620857,377.90359432309,503.87145909745,513.37846775967,523.2511306012],description:"Subharm1E-Lydian"},"sharm1e-mix":{frequencies:[261.6255653006,318.50068819203,325.57848126297,332.97799220076,366.27579142084,488.36772189445,505.20798816668,523.2511306012],description:"Subharm1E-Mixolydian"},"sharm1e-phr":{frequencies:[261.6255653006,330.47439827444,339.40613876835,348.83408706747,392.4383479509,502.32108537715,512.57253609913,523.2511306012],description:"Subharm1E-Phrygian"},"sharm2c-15":{frequencies:[261.6255653006,327.03195662575,341.25073734861,356.76213450082,392.4383479509,461.69217405988,490.54793493862,523.2511306012],description:"Subharm2C-15-Harmonia"},"sharm2c-hypod":{frequencies:[261.6255653006,322.00069575458,334.88072358477,348.83408706747,364.00078650518,380.54627680087,465.11211608996,492.47165233054,523.2511306012],description:"SHarm2C-Hypodorian"},"sharm2c-hypol":{frequencies:[261.6255653006,307.79478270659,327.03195662575,348.83408706747,373.75080757229,402.50086969323,475.68284600109,498.33441009638,523.2511306012],description:"SHarm2C-Hypolydian"},"sharm2c-hypop":{frequencies:[261.6255653006,336.37572681506,348.83408706747,362.25078272391,376.74081403286,392.4383479509,470.92601754108,495.71159741166,523.2511306012],description:"SHarm2C-Hypophrygian"},"sharm2e-15":{frequencies:[261.6255653006,341.25073734861,348.83408706747,356.76213450082,392.4383479509,490.54793493862,506.37206187213,523.2511306012],description:"Subharm2E-15-Harmonia"},"sharm2e-hypod":{frequencies:[261.6255653006,334.88072358477,341.71502406609,348.83408706747,364.00078650518,380.54627680087,492.47165233054,507.3950357345,523.2511306012],description:"SHarm2E-Hypodorian"},"sharm2e-hypol":{frequencies:[261.6255653006,327.03195662575,337.58137458142,348.83408706747,373.75080757229,402.50086969323,498.33441009638,510.48890790361,523.2511306012],description:"SHarm2E-Hypolydian"},"sharm2e-hypop":{frequencies:[261.6255653006,348.83408706747,355.41586229515,362.25078272391,376.74081403286,392.4383479509,495.71159741166,509.10920815252,523.2511306012],description:"SHarm2E-Hypophrygian"},sherwood:{frequencies:[261.6255653006,279.50101530337,292.73346657716,312.73435005323,327.54017122074,349.91920725962,366.48547573919,391.52543233055,418.27599117656,438.07873640926,468.01000025525,490.16733894289,523.65750116998],description:"Sherwood's improved meantone temperament"},shrutar:{frequencies:[261.6255653006,269.80136421624,277.49581689502,285.40970760065,294.32876096318,304.37698984459,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,368.95121675679,379.48299988042,392.4383479509,405.83598431812,417.42065019394,428.11456140098,441.49314144476,457.84473927605,470.92601754108,490.54793493862,505.97733342682,523.2511306012],description:"Paul Erlich's Shrutar tuning (from 9th fret) tempered with Dave Keenan"},shrutar_temp:{frequencies:[261.6255653006,269.67683152447,277.97586744827,286.53029793775,295.34798250635,304.4370214407,313.80576690868,327.74897996102,337.83512841993,348.23166805304,358.94815083964,369.99442271164,381.38063259971,393.11724175776,405.21503337437,417.68512248001,430.53896367224,443.78837151315,463.50705251482,477.77102045752,492.47394780842,507.62934310616,523.2511306012],description:"Shrutar temperament, 11-limit, g=52.474, 1/2 oct."},shrutart:{frequencies:[261.6255653006,269.83675183105,278.27349931787,286.14641333958,294.32706056425,305.2349557921,313.94319125793,327.02936607233,337.2932679302,348.82502010853,358.79758764604,369.99442271164,381.540672377,392.44854854484,405.86600994967,418.6042204156,436.0530078362,448.49343183014,465.11480315564,478.41198231361,491.94721442498,507.32849364948,523.2511306012],description:"Paul Erlich's 'Shrutar' tuning tempered by Dave Keenan, TL 29-12-2000"},siamese:{frequencies:[261.6255653006,269.26067151764,288.95340229325,296.22023396764,319.13574119147,352.26720984209,362.5475414329,388.79334481031,400.18585940536,429.40436513853,443.77760270734,473.98350631811,523.2511306012],description:"Siamese Tuning, after Clem Fortuna's Microtonal Guide"},silbermann1:{frequencies:[261.6255653006,275.15551885617,293.66476791741,312.53552595124,327.77163799145,349.82028288879,367.9112241576,391.99543598175,411.56972129721,438.75957425603,467.74568907204,491.10256480205,523.2511306012],description:"Gottfried Silbermann's temperament nr. 1"},silbermann2:{frequencies:[261.6255653006,275.00020270933,293.00227310437,312.18279369479,328.14198392915,349.6228209638,367.49599295996,391.5530240856,411.56972129721,438.51190905657,467.21778431035,491.10256480205,523.2511306012],description:"Gottfried Silbermann's temperament nr. 2, 1/6 Pyth. comma meantone"},silbermann2a:{frequencies:[261.6255653006,275.00020270933,293.00227310437,310.77584116741,328.14198392915,349.6228209638,367.49599295996,391.5530240856,411.56972129721,438.51190905657,467.21778431035,491.10256480205,523.2511306012],description:"Modified Silbermann's temperament nr. 2, also used by Hinsz in Midwolda"},silver:{frequencies:[261.6255653006,277.18807786937,293.58315284916,311.09098010692,329.53543886896,349.23174545031,369.98176232374,391.84186131702,415.18563115404,439.77824302677,466.03998256716,493.70667148145,523.2511306012],description:"Equal beating chromatic scale, A.L.Leigh Silver JASA 29/4, 476-481, 1957"},silver_10:{frequencies:[261.6255653006,270.26884019355,294.27266239927,320.41022551991,330.99364634362,360.39280035711,392.40094712608,405.36462386145,441.36692569059,480.56953386201,523.2511306012],description:"Ten-tone MOS from 350.9 cents"},silver_11:{frequencies:[261.6255653006,277.73657748574,294.83971256733,315.81001885226,335.25773244276,355.90304440354,381.21644531515,404.69191411574,429.61301214396,460.16899244324,488.50639225338,523.2511306012],description:"Eleven-tone MOS from 1+sqr(2), 1525.864 cents"},silver_11a:{frequencies:[261.6255653006,272.21316796874,283.22923537857,314.22802528801,326.94437231289,340.17533123945,377.40674067136,392.67983758722,408.5710143206,453.28817432381,471.63208149661,523.2511306012],description:"Eleven-tone MOS from 317.17 cents"},silver_11b:{frequencies:[261.6255653006,281.48899567641,302.85877036442,316.87090334834,340.92873240472,366.81310701257,383.78194911277,412.91987382947,444.27004083312,464.82473992747,500.11279777071,523.2511306012],description:"Eleven-tone MOS from 331.67 cents"},silver_7:{frequencies:[261.6255653006,277.73649727228,315.81000061035,335.2576162513,381.21640127531,404.69175048432,460.16888612163,523.2511306012],description:"Seven-tone MOS from 1+sqr(2), 1525.864 cents"},silver_8:{frequencies:[261.6255653006,288.49477506296,306.46277751246,337.93681424842,358.98416079003,395.852196628,420.50662316693,492.57276348379,523.2511306012],description:"Eight-tone MOS from 273.85 cents"},silver_9:{frequencies:[261.6255653006,294.18258755347,307.6617709921,345.94759796409,361.79860795042,406.82129262791,425.46148093979,478.40645551359,500.32661205896,523.2511306012],description:"Nine-tone MOS from 280.61 cents"},silvermean:{frequencies:[261.6255653006,286.15296204753,327.03195662575,345.42750418595,392.4383479509,416.96574469783,474.19633710734,523.2511306012],description:"First 6 approximants to the Silver Mean, 1+ sqr(2) reduced by 2/1"},simonton:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,465.11211608996,494.18162334558,523.2511306012],description:"Simonton Integral Ratio Scale, JASA 25/6 (1953): A new integral ratio scale"},sims:{frequencies:[261.6255653006,272.52663052146,283.42769574232,294.32876096318,305.22982618403,316.13089140489,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Ezra Sims' 18-tone mode"},sims2:{frequencies:[261.6255653006,269.80136421624,277.97716313189,286.15296204753,294.32876096318,302.50455987882,310.68035879446,318.85615771011,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Sims II"},sims_24:{frequencies:[261.6255653006,269.80136421624,272.52663052146,277.97716313189,283.42769574232,286.15296204753,294.32876096318,302.50455987882,305.22982618403,310.68035879446,316.13089140489,318.85615771011,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"See his article, Reflections on This and That, 1991 p.93-106"},sin:{frequencies:[261.6255653006,275.08939827539,302.09917071192,334.63165645627,369.99442271164,407.01712569342,445.10399729103,483.9175316883,523.2511306012,562.97086325858,602.98541169118,643.23087116255,683.66056756853,724.23972686276,764.94197926416,805.74682982871,846.63811574624,887.6028851904,928.63083777952,969.71346974542,1010.84345850104,1052.01529432917],description:"1/sin(2pi/n), n=4..25"},sinemod12:{frequencies:[261.6255653006,270.6035983646,282.0485507085,292.16840832754,301.82804372114,314.42520179993,326.24260278214,336.76433478807,350.4641458176,364.21811789193,375.86233664064,390.61306119732,406.50371126161,419.61372202861,435.38454314112,453.55584308858,468.551249676,485.36279478778,505.89080731022,523.2511306012],description:"Sine modulated F=12, A=-.08203754"},sinemod8:{frequencies:[261.6255653006,272.43905323978,281.98404270447,290.99567087708,301.68076007415,314.40050256998,326.99158834066,337.97331861211,348.96407538813,362.38276875396,377.76595534172,392.29216556304,405.04934945717,418.6525822649,435.418746849,453.77727371169,470.43955130022,485.47382867757,502.48255971303,523.2511306012],description:"Sine modulated F=8, A=.11364155. Deviation minimal3/2, 4/3, 5/4, 6/5, 5/3, 8/5"},singapore:{frequencies:[261.6255653006,291.46787011619,321.35550581422,354.51258839996,385.70651737906,428.95813651779,462.1422075194,523.2511306012],description:"An observed xylophone tuning from Singapore"},sintemp6:{frequencies:[261.6255653006,277.18263097687,292.42974339757,312.08834713741,327.870830746,349.91196330865,369.15973155124,391.11111150212,416.11779639122,437.6550518996,467.60417912673,491.80624587316,523.2511306012],description:"Sine modulated fifths, A=1/6 Pyth, one cycle, f0=-90 degrees"},sintemp6a:{frequencies:[261.6255653006,276.17281343288,293.21211353711,310.64741311165,328.42667470471,349.22823143301,368.43838932195,391.77416758435,414.19655102258,438.82595961933,465.90062756558,491.80624587316,523.2511306012],description:"Sine modulated fifths, A=1/12 Pyth, one cycle, f0= D-A"},sintemp_19:{frequencies:[261.6255653006,272.86445838226,281.30973389888,292.50627485027,304.14845459111,313.56198179795,327.03195662575,338.65502209741,350.02113164026,365.30494475029,376.98581738134,391.19763056219,407.47965586966,419.94695489748,437.42555500456,453.91586039553,468.43012697388,488.88431353627,505.29249383438,523.2511306012],description:"Sine modulated thirds, A=7.366 cents, one cycle over fifths, f0=90 degrees"},sintemp_7:{frequencies:[261.6255653006,291.06608881088,319.67397341855,351.09362859375,390.60192440975,432.07134328681,473.03044489876,523.2511306012],description:"Sine modulated fifths, A=8.12 cents, one cycle, f0=90 degrees"},slen_pel:{frequencies:[261.6255653006,261.6255653006,283.17034563789,298.45295203849,338.50336851425,364.68988616898,346.01554587335,389.06292924114,398.38689497567,420.13030572059,455.51656649021,493.31307433255,523.2511306012],description:"Pelog white, Slendro black"},slen_pel16:{frequencies:[261.6255653006,261.6255653006,285.30470202322,285.30470202322,297.93622032612,311.12698372208,339.28638158975,386.37547528213,386.37547528213,403.48177901006,421.34544350737,440,523.2511306012],description:"16-tET Slendro and Pelog"},slen_pel23:{frequencies:[261.6255653006,261.6255653006,295.14355885465,295.14355885465,286.38154466424,343.14246862785,313.47984535337,398.94762483098,398.94762483098,387.10394860926,450.05828708186,423.73315704439,523.2511306012],description:"23-tET Slendro and Pelog"},slen_pel_jc:{frequencies:[261.6255653006,261.6255653006,299.00064605783,299.00064605783,279.06726965397,341.71502406609,348.83408706747,392.4383479509,392.4383479509,392.4383479509,448.50096908674,418.60090448096,523.2511306012],description:"Slendro/JC PELOG S1c,P1c#,S2d,eb,P2e,S3f,P3f#,S4g,ab,P4a,S5bb,P5b"},slen_pel_schmidt:{frequencies:[261.6255653006,261.6255653006,294.32876096318,305.22982618403,327.03195662575,348.83408706747,359.73515228832,392.4383479509,392.4383479509,457.84473927605,457.84473927605,490.54793493862,523.2511306012],description:"Dan Schmidt (Pelog white, Slendro black)"},slendro:{frequencies:[261.6255653006,298.45295203849,346.01554587335,398.38689497567,455.51656649021,523.2511306012],description:"Observed Javanese Slendro scale, Helmholtz/Ellis p. 518, nr.94"},slendro10:{frequencies:[261.6255653006,304.21577360535,342.24274530602,391.67780832635,463.92905474816,523.2511306012],description:"Low gender from Singaraja (banjar Lod Peken), Bali. 1/1=172 Hz. McPhee, 1966."},slendro11:{frequencies:[261.6255653006,299.11221417218,343.62760815601,387.36203100102,452.96366529656,523.2511306012],description:"Low gender from Sawan, Bali. 1/1=167.5 Hz. McPhee, 1966."},slendro2:{frequencies:[261.6255653006,299.13295468097,343.58614396263,395.91119354826,450.08870388136,523.2511306012],description:"Gamelan slendro from Ranchaiyuh, distr. Tanggerang, Batavia. 1/1=282.5 Hz"},slendro3:{frequencies:[261.6255653006,298.44694115772,339.14425131559,391.46936437571,453.48431318771,522.28214737536],description:"Gamelan kodok ngorek. 1/1=270 Hz"},slendro4:{frequencies:[261.6255653006,294.5074669504,344.54514337401,400.3014113889,467.49486258632,523.2511306012],description:"Low gender in saih lima from Kuta, Bali. 1/1=183 Hz. McPhee, 1966"},slendro5_1:{frequencies:[261.6255653006,299.00064605783,336.37572681506,392.4383479509,448.50096908674,523.2511306012],description:"A slendro type pentatonic which is based on intervals of 7; from Lou Harrison"},slendro5_2:{frequencies:[261.6255653006,305.22982618403,348.83408706747,392.4383479509,457.84473927605,523.2511306012],description:"A slendro type pentatonic which is based on intervals of 7, no. 2"},slendro5_4:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,448.50096908674,523.2511306012],description:"A slendro type pentatonic which is based on intervals of 7, no. 4"},slendro6:{frequencies:[261.6255653006,295.05549864457,341.56671025356,398.25224940202,461.478427683,523.2511306012],description:"Low gender from Klandis, Bali. 1/1=180 Hz. McPhee, 1966"},slendro8:{frequencies:[261.6255653006,309.85821141747,350.78288084997,406.32350365121,467.71050779996,523.2511306012],description:"Low gender from Tabanan, Bali. 1/1=179 Hz. McPhee, 1966."},slendro9:{frequencies:[261.6255653006,299.00064605783,336.37572681506,388.70083987518,448.50096908674,523.2511306012],description:"Low gender from Singaraja (banjar Panataran), Bali. 1/1=175 Hz. McPhee, 1966."},slendro_7_1:{frequencies:[261.6255653006,299.00064605783,341.71502406609,392.4383479509,448.50096908674,523.2511306012],description:"Septimal Slendro 1, From HMSL Manual, also Lou Harrison, Jacques Dudon"},slendro_7_2:{frequencies:[261.6255653006,294.32876096318,343.38355445704,392.4383479509,448.50096908674,523.2511306012],description:"Septimal Slendro 2, From Lou Harrison, Jacques Dudon's APTOS"},slendro_7_3:{frequencies:[261.6255653006,294.32876096318,336.37572681506,392.4383479509,448.50096908674,523.2511306012],description:'Septimal Slendro 3, Harrison, Dudon, called "MILLS" after Mills Gamelan'},slendro_7_4:{frequencies:[261.6255653006,294.32876096318,343.38355445704,392.4383479509,457.84473927605,523.2511306012],description:'Septimal Slendro 4, from Lou Harrison, Jacques Dudon, called "NAT"'},slendro_7_5:{frequencies:[261.6255653006,305.22982618403,343.38355445704,400.61414686654,467.3831713443,523.2511306012],description:"Septimal Slendro 5, from Jacques Dudon"},slendro_7_6:{frequencies:[261.6255653006,299.00064605783,341.71502406609,390.53145607553,455.62003208812,523.2511306012],description:"Septimal Slendro 6, from Robert Walker"},slendro_a1:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,457.84473927605,523.2511306012],description:`Dudon's Slendro A1, "Seven-Limit Slendro Mutations", 1/1 8:2'94 hexany 1.3.7.21`},slendro_a2:{frequencies:[261.6255653006,299.00064605783,341.71502406609,398.6675280771,448.50096908674,523.2511306012],description:`Dudon's Slendro A2 from "Seven-Limit Slendro Mutations", 1/1 8:2 Jan 1994`},slendro_alv:{frequencies:[261.6255653006,299.00064605783,348.83408706747,406.97310157871,465.11211608996,523.2511306012],description:"Bill Alves, slendro for Gender Barung, 1/1 vol.9 no.4, 1997. 1/1=282.86"},slendro_ang:{frequencies:[261.6255653006,299.00064605783,340.82516392797,388.43396508487,445.83123341082,523.2511306012],description:"Gamelan Angklung Sangsit, North Bali. 1/1=294 Hz"},slendro_av:{frequencies:[261.6255653006,298.97057995496,344.02264297658,395.86362945285,454.20288100724,525.67465946865],description:"Average of 30 measured slendro gamelans, W. Surjodiningrat et al., 1993."},slendro_dudon:{frequencies:[261.6255653006,305.22982618403,348.83408706747,399.70572476481,457.84473927605,523.2511306012],description:'Dudon\'s Slendro from "Fleurs de lumie`re"'},slendro_gum:{frequencies:[261.6255653006,305.03156112838,348.43777142572,394.8168394034,470.92601754108,525.62941881859],description:"Gumbeng, bamboo idiochord from Banyumas. 1/1=440 Hz"},slendro_ky1:{frequencies:[261.6255653006,297.58776037991,344.33874539242,394.68595744625,449.52853279627,523.2511306012],description:"Kyahi Kanyut Me`sem slendro, Mangku Nagaran, Solo. 1/1=291 Hz"},slendro_ky2:{frequencies:[261.6255653006,302.42139140287,345.87786599062,395.54249276388,453.1886900261,523.2511306012],description:"Kyahi Pengawe' sari, Paku Alaman, Jogya. 1/1=295 Hz"},slendro_laras:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,448.50096908674,523.2511306012,598.00129211566,697.66817413493],description:'Lou Harrison, gamelan "Si Betty"'},slendro_m:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,448.50096908674,523.2511306012],description:`Dudon's Slendro M from "Seven-Limit Slendro Mutations", 1/1 8:2 Jan 1994`},slendro_madu:{frequencies:[261.6255653006,300.52885648597,345.61604384578,394.49404533893,447.94973572445,522.94897617031],description:"Sultan's gamelan Madoe kentir, Jogjakarta, Jaap Kunst"},slendro_mat:{frequencies:[261.6255653006,261.6255653006,299.00064605783,299.00064605783,341.71502406609,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,455.62003208812,457.84473927605,523.2511306012],description:`Dudon's Slendro Matrix from "Seven-Limit Slendro Mutations", 1/1 8:2 Jan 1994`},slendro_pa:{frequencies:[261.6255653006,304.19649364034,353.69443592699,411.24653512154,478.16333951147,523.2511306012],description:'"Blown fifth" primitive slendro, von Hornbostel'},slendro_pas:{frequencies:[261.6255653006,300.35531433711,343.03050002254,393.12919962609,450.54468214486,523.2511306012],description:"Gamelan slendro of regent of Pasoeroean, Jaap Kunst"},slendro_pb:{frequencies:[261.6255653006,304.72408298441,342.83241505062,399.30842833955,449.24533531117,523.2511306012],description:'"Blown fifth" medium slendro, von Hornbostel'},slendro_pc:{frequencies:[261.6255653006,299.48910562989,342.83241505062,392.44854854484,449.24533531117,523.2511306012],description:'"Blown fifth" modern slendro, von Hornbostel'},slendro_pliat:{frequencies:[261.6255653006,299.73468146833,339.98478643783,393.08060743874,447.03290350508,523.2511306012,599.46936293666,679.96957287566,786.16121487749,894.06580701017],description:"Gender wayang from Pliatan, South Bali (Slendro), 1/1=305.5 Hz"},slendro_q13:{frequencies:[261.6255653006,307.00725675226,360.2608752926,400.8015646157,470.32478922042,523.2511306012],description:"13-tET quasi slendro, Blackwood"},slendro_s1:{frequencies:[261.6255653006,299.00064605783,348.83408706747,398.6675280771,457.84473927605,523.2511306012],description:`Dudon's Slendro S1 from "Seven-Limit Slendro Mutations", 1/1 8:2 Jan 1994`},slendro_s2:{frequencies:[261.6255653006,299.00064605783,341.71502406609,398.6675280771,455.62003208812,523.2511306012],description:"Dudon's Slendro S2"},slendro_udan:{frequencies:[261.6255653006,305.22982618403,351.32575911795,402.50086969323,465.11211608996,523.2511306012],description:"Slendro Udan Mas (approx)"},slendro_wolf:{frequencies:[261.6255653006,298.18866107946,339.86157848985,395.0032340925,450.20632964813,523.2511306012],description:"Daniel Wolf's slendro. Tuning List 30 5 1997"},slendrob1:{frequencies:[261.6255653006,307.44024341205,355.66611281954,409.9203247543,476.83364134848,523.2511306012],description:"Gamelan miring of Musadikrama, desa Katur, Bajanegara. 1/1=434 Hz"},slendrob2:{frequencies:[261.6255653006,307.55978097874,346.50416420081,398.42969909174,449.35693171058,523.2511306012],description:"Gamelan miring from Bajanegara. 1/1=262 Hz"},slendrob3:{frequencies:[261.6255653006,304.90191053936,342.27700149692,398.33972372326,447.51732140012,523.2511306012],description:"Gamelan miring from Ngumpak, Bajanegara. 1/1=266 Hz"},slendroc1:{frequencies:[261.6255653006,297.59222964268,344.42030317161,394.72197985873,449.50490455178,523.2511306012],description:"Kyahi Kanyut mesem slendro (Mangku Nagaran Solo). 1/1=291 Hz"},slendroc2:{frequencies:[261.6255653006,302.44445076078,346.01554587335,396.09235530397,453.15466093696,523.2511306012],description:"Kyahi Pengawe sari (Paku Alaman, Jogja). 1/1=295 Hz."},slendroc3:{frequencies:[261.6255653006,301.39807245198,344.42030317161,395.40657391157,451.84778706363,523.2511306012],description:"Gamelan slendro of R.M. Jayadipura, Jogja. 1/1=231 Hz"},slendroc4:{frequencies:[261.6255653006,299.14332201883,343.8239850859,396.09235530397,450.28451247858,523.2511306012],description:"Gamelan slendro, Rancha iyuh, Tanggerang, Batavia. 1/1=282.5 Hz"},slendroc5:{frequencies:[261.6255653006,299.83528893666,340.07120590121,393.12919962609,447.17417015401,523.2511306012],description:"Gender wayang from Pliatan, South Bali. 1/1=611 Hz"},slendroc6:{frequencies:[261.6255653006,296.73398952435,343.8239850859,396.7793260952,453.9405988926,527.19506190947,607.33963549452,696.44215167899,797.23415748628,918.4302691641,1071.58188326661],description:"from William Malm: Music Cultures of the Pacific, the Near East and Asia."},slendrod1:{frequencies:[261.6255653006,292.47977325983,340.6610152784,389.06292924114,444.85552088095,523.2511306012],description:"Gender wayang from Ubud (S. Bali). 1/1=347 Hz"},smith_eh:{frequencies:[261.6255653006,272.7117507892,292.30354792656,313.30283124826,326.5788018031,350.04044239751,364.87314355143,391.08587539224,407.65784362321,436.94425707006,468.33462614046,488.17995458879,523.2511306012],description:"Robert Smith's Equal Harmony temperament (1749)"},smith_mq:{frequencies:[261.6255653006,273.37438418823,292.50629623572,312.97714101186,327.03200500996,349.91910755601,365.63292511375,391.22148485648,408.79006910398,437.39894995248,468.01000388518,489.02693031834,523.2511306012],description:"Robert Smith approximation of quarter comma meantone fifth"},"scalamakesrc2\\smithgw-ball":{frequencies:[261.6255653006,267.07609791103,272.52663052146,274.70684356563,280.31310567921,286.15296204753,294.32876096318,300.46061014991,305.22982618403,306.59245933664,313.95067836072,320.49131749323,327.03195662575,333.84512238879,336.37572681506,343.38355445704,350.39138209902,357.69120255941,366.27579142084,367.91095120397,373.75080757229,381.53728273004,392.4383479509,400.61414686654,408.78994578219,412.06026534844,420.46965851882,429.2294430713,436.04260883433,448.50096908674,457.84473927605,467.18850946536,470.92601754108,476.92160341255,480.73697623985,490.54793493862,500.76768358318,515.07533168556,523.2511306012],description:"Ball 2 around tetrad lattice hole"},smithgw46:{frequencies:[261.6255653006,273.72380653152,313.47993226845,327.97605323154,364.46098649856,392.98113253789,436.69740466987,456.89141950378,523.2511306012],description:'Gene Ward Smith 46-tET subset "Star"'},smithgw46a:{frequencies:[261.6255653006,282.09853500802,313.47993226845,327.97605323154,375.61187043063,392.98113253789,436.69740466987,470.87026054824,523.2511306012],description:'46-tET version of "Star", alternative version'},smithgw72a:{frequencies:[261.6255653006,285.30470202322,299.37379946195,326.46944327063,342.56848033562,373.57357677338,391.99543598175,427.47405410759,435.78442404634,457.27406033445,498.66089874196,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72c:{frequencies:[261.6255653006,279.86396690685,305.19382000629,326.46944327063,349.22823143301,391.99543598175,419.32216217931,457.27406033445,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72d:{frequencies:[261.6255653006,305.19382000629,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72e:{frequencies:[261.6255653006,279.86396690685,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72f:{frequencies:[261.6255653006,326.46944327063,349.22823143301,435.78442404634,466.16376151809,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72g:{frequencies:[261.6255653006,326.46944327063,349.22823143301,391.99543598175,419.32216217931,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72h:{frequencies:[261.6255653006,279.86396690685,314.13668154225,349.22823143301,391.99543598175,435.78442404634,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 09-01-2002"},smithgw72i:{frequencies:[261.6255653006,279.86396690685,293.66476791741,314.13668154225,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,435.78442404634,470.6732130613,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset version of Duodene, TL 02-06-2002"},smithgw72j:{frequencies:[261.6255653006,274.52698453615,305.19382000629,326.46944327063,349.22823143301,366.44956000397,391.99543598175,435.78442404634,457.27406033445,489.15147723638,523.2511306012],description:"{225/224, 441/440} tempering of decad, 72-et version (2002)"},smithgw84:{frequencies:[261.6255653006,286.48426603331,306.03443598155,335.11270457212,357.98136125932,391.99543598175,418.74586628806,458.53356119912,489.82466832727,523.2511306012],description:'Gene Ward Smith 84-tET subset, 11-limit temperament "Orwell", 2002'},smithgw_18:{frequencies:[261.6255653006,272.52663052146,280.31310567921,286.15296204753,294.32876096318,306.59245933664,327.03195662575,343.38355445704,350.39138209902,367.91095120397,381.53728273004,392.4383479509,408.78994578219,420.46965851882,436.04260883433,457.84473927605,467.18850946536,490.54793493862,523.2511306012],description:"Gene Ward Smith chord analogue to periodicity blocks, TL 12-07-2002"},smithgw_21:{frequencies:[261.6255653006,267.07609791103,280.31310567921,286.15296204753,299.00064605783,305.22982618403,320.49131749323,327.03195662575,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,398.6675280771,418.60090448096,427.14378008261,448.50096908674,457.84473927605,478.40103369253,488.36772189445,512.57253609913,523.2511306012],description:"Gene Ward Smith symmetrical 7-limit JI version of Blackjack, TL 10-5-2002"},smithgw_45:{frequencies:[261.6255653006,267.02002970726,269.13627541126,274.68560334708,276.86260193655,282.57123920205,288.39758300936,290.68325478745,296.67686217097,299.02814898089,305.19382000629,311.48661940174,313.95528147508,320.42873367481,322.96826575344,329.62755691287,336.42415617173,339.09045868095,346.08217376006,348.82502010853,356.01745236555,363.35818557229,366.23795155866,373.78942366597,376.75185941212,384.52011812375,392.44854854484,395.55886785613,403.71490654806,406.9145164708,415.30469757995,423.86787605389,427.22720671064,436.03621571368,439.49198556474,448.5538823653,457.80262665414,461.43090443914,470.94516310483,474.67759826036,484.46499093218,494.45418731234,498.37294408452,508.64890891624,512.68016480935,523.2511306012],description:"Gene Ward Smith large limma repeating 5-tone MOS"},smithgw_58:{frequencies:[261.6255653006,264.89588486686,267.57160087561,269.80136421624,274.70684356563,279.06726965397,282.55561052465,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,301.49231810831,305.22982618403,310.07474405997,313.95067836072,317.12189733406,319.76457981184,323.76163705949,327.03195662575,332.97799220076,336.37572681506,340.54567384169,343.38355445704,348.83408706747,353.19451315581,356.76213450082,359.73515228832,366.27579142084,370.01329949656,373.75080757229,380.54627680087,383.71749577421,387.59343007496,392.4383479509,398.6675280771,401.98975747775,406.97310157871,411.12588832951,418.60090448096,423.83341578697,428.11456140098,431.68218274599,436.04260883433,441.49314144476,448.50096908674,452.23847716247,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,484.4917875937,490.54793493862,498.33441009638,507.3950357345,511.62332769895,516.79124009995,523.2511306012],description:"Gene Ward Smith 58-tone epimorphic superset of Partch's 43-tone scale"},smithgw_9:{frequencies:[261.6255653006,279.06726965397,305.22982618403,327.03195662575,348.83408706747,392.4383479509,418.60090448096,448.50096908674,490.54793493862,523.2511306012],description:'Gene Ward Smith "Miracle-Magic square" tuning, genus chromaticum of ji_12a'},"smithgw_al-baked":{frequencies:[261.6255653006,277.59364499865,293.85651796007,311.0721560172,330.05816364769,349.39467974592,369.86402907174,392.4383479509,415.42941801053,439.76742419786,466.60823379256,493.94455998605,522.88238970142],description:"Baked alaska, with beat ratios of 2 and 3/2"},"smithgw_al-fried":{frequencies:[261.6255653006,277.00141553195,293.28091128458,310.96067952124,329.23597434237,348.58531822795,369.59898601143,391.32048195179,414.31855981944,439.29480556849,465.11235566178,492.44721175277,522.13326741512],description:"Fried alaska, with octave-fifth brats of 1 and 2"},smithgw_asbru:{frequencies:[261.6255653006,275.52281548997,293.66476791741,313.00128725319,329.62755691287,351.33206601369,367.77883484915,391.99543598175,415.30469757995,440,468.97204376297,490.92584627687,523.2511306012],description:"Modified bifrost (2003)"},smithgw_bifrost:{frequencies:[261.6255653006,275.07759559501,292.50627485027,311.03921839762,327.03195662575,349.91912034749,366.77012764335,391.22147055517,413.66634097248,437.39889945791,466.55882736321,489.02683710225,523.2511306012],description:"Six meantone fifths, four pure, two of sqrt(2048/2025 sqrt(5))"},smithgw_cauldron:{frequencies:[261.6255653006,275.03056468741,291.83931845209,312.58541512404,325.54230007562,350.31873582686,364.83969341757,390.77519652096,414.65779561271,435.90375768372,469.07960710644,486.243977751,523.2511306012],description:"Circulating temperament with two pure 9/7 thirds"},smithgw_ck:{frequencies:[195.99771799087,198.06437430898,200.15282320192,202.2632921446,203.72940721765,205.87758869102,208.04842120778,210.24214482145,211.76609376362,213.99901760782,216.25548480725,218.5357448459,220.11981156469,222.44081817627,224.78629944762,227.15651084977,228.80306427848,231.21563094,233.65363506284,235.34728316698,237.82885399313,240.33658984216,242.87076938222,244.63122826831,247.21069030843,249.81735238129,252.45149840587,254.28140507407,256.96262135434,259.67210915034,262.4101678886,264.31225911206,267.09924514556,269.91561641866,272.7616843206,274.73881033537,277.63573538138,280.56320805899,282.59688215652,285.57666497222,288.58786914203,291.63082264784,293.74472081062,296.84205135845,299.9720393359,303.13503255793,305.33231946532,308.55183127196,311.80529233825,315.09305703284,317.37702217863,320.72353853051,324.10533989702,327.52280172307,329.89686439088,333.37539375097,336.89059979959,339.33256534187,342.91058750208,346.52633537645,350.18021075922,352.71850659998,356.43767199462,360.19605541958,363.99406623991,366.6324923874,370.49837299068,374.40501441099,378.35285076765,381.09535716275,385.11373623244,389.17448849491,391.99543598174],description:"Catakleismic temperament, g=316.745, 11-limit"},smithgw_decab:{frequencies:[261.6255653006,274.70684356563,293.02063313667,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,439.53094970501,488.36772189445,523.2511306012],description:"(10/9) <==> (16/15) transform of decaa"},smithgw_decac:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,348.83408706747,373.75080757229,392.4383479509,418.60090448096,448.50096908674,498.33441009638,523.2511306012],description:"inversion of decaa"},smithgw_decad:{frequencies:[261.6255653006,280.31310567921,311.45900631024,327.03195662575,348.83408706747,373.75080757229,392.4383479509,436.04260883433,467.18850946536,498.33441009638,523.2511306012],description:"inversion of decab"},smithgw_diff13:{frequencies:[261.6255653006,274.70684356563,280.31310567921,299.00064605783,313.95067836072,320.35783506196,336.37572681506,406.97310157871,427.32175665765,436.04260883433,457.84473927605,488.36772189445,498.33441009638,523.2511306012],description:"mod 13 perfect difference set, 7-limit"},smithgw_dwarf6_7:{frequencies:[261.6255653006,299.00064605783,327.03195662575,373.75080757229,392.4383479509,448.50096908674,523.2511306012],description:"Dwarf(<6 10 14 17|)"},smithgw_exotic1:{frequencies:[261.6255653006,274.95996987324,293.39100498914,313.05750197389,327.96500300935,349.94905375768,367.78508905896,392.4383479509,411.12588832951,438.68435539504,468.09011223803,491.94750426812,523.2511306012],description:"Exotic temperament featuring four pure 14/11 thirds and two pure fifths"},smithgw_glumma:{frequencies:[261.6255653006,269.10058145205,299.00064605783,313.95067836072,327.03195662575,358.80077526939,373.75080757229,392.4383479509,436.04260883433,448.50096908674,457.84473927605,512.57253609913,523.2511306012],description:"Gene Smith's Glumma scale, 7-limit, 2002"},smithgw_gm:{frequencies:[261.6255653006,264.89588486686,269.80136421624,274.70684356563,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,373.75080757229,380.54627680087,387.59343007496,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,498.33441009638,507.3950357345,516.79124009995,523.2511306012],description:'Gene Ward Smith "Genesis Minus" periodicity block'},smithgw_graileq:{frequencies:[261.6255653006,274.83794140225,293.02845982215,312.42294214419,328.20064112269,350.39711148969,365.67350481015,391.53226450123,414.40482204179,438.61355268439,469.63029662389,490.10494633744,523.2511306012],description:"56% RMS grail + 44% JI grail"},smithgw_grailrms:{frequencies:[261.6255653006,274.64037495938,293.11160698959,312.82513967025,328.38692028068,350.6222941497,365.93760986436,391.94882001935,414.52240989365,438.39608269016,469.55771333591,490.068176414,523.2511306012],description:"RMS optimized Holy Grail"},smithgw_hahn12:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Hahn-reduced 12 note scale, Fokker block 225/224, 126/125, 64/63"},smithgw_hahn15:{frequencies:[261.6255653006,279.06726965397,290.69507255622,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Hahn-reduced 15 note scale"},smithgw_hahn16:{frequencies:[261.6255653006,280.31310567921,294.32876096318,299.00064605783,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,392.4383479509,408.78994578219,418.60090448096,436.04260883433,457.84473927605,488.36772189445,490.54793493862,523.2511306012],description:"Hahn-reduced 16 note scale"},smithgw_hahn19:{frequencies:[261.6255653006,274.70684356563,280.31310567921,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Hahn-reduced 19 note scale"},smithgw_hahn22:{frequencies:[261.6255653006,272.52663052146,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Hahn-reduced 22 note scale"},smithgw_indianred:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.11959049595,523.2511306012],description:"32805/32768 Hahn-reduced"},smithgw_klv:{frequencies:[261.6255653006,271.78681896552,282.34272472006,293.30861211826,314.10491445143,326.30440921209,338.97771913949,352.14324873572,377.11107157735,391.75765725694,406.97310157871,422.77949745352,452.75560414132,470.34014155688,488.60764618722,523.2511306012],description:"Variant of kleismic with 9/7 thirds, g=316.492"},smithgw_meandin:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,336.37572681506,348.83408706747,373.75080757229,392.4383479509,418.60090448096,448.50096908674,470.92601754108,504.56359022259,523.2511306012],description:"Gene Smith, inverted detempered 7-limit meantone"},smithgw_meanred:{frequencies:[261.6255653006,281.29980781121,291.99281841585,313.95067836072,325.57848126297,350.39138209902,363.36884069528,390.69417751556,420.46965851882,436.04260883433,468.83301301868,486.65469735975,523.2511306012],description:"171-et Hahn reduced rational Meantone[12]"},smithgw_meantune:{frequencies:[261.6255653006,273.55401844854,279.77233440758,292.56174910339,312.85829351777,327.16018629281,334.59705725462,349.85254391288,365.77071543428,374.29488261541,391.03456781852,418.40555295943,437.51985793188,468.14464283802,489.08159472971,500.47948461038,523.2511306012],description:"Meantune scale/temperament, Gene Ward Smith, 2003"},smithgw_mir22:{frequencies:[261.6255653006,267.57160087561,274.70684356563,280.31310567921,285.40970760065,299.00064605783,305.22982618403,319.76457981184,327.03195662575,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,398.6675280771,418.60090448096,428.11456140098,448.50096908674,457.84473927605,479.64686971777,490.54793493862,512.78610798918,523.2511306012],description:"11-limit Miracle[22]"},smithgw_mmt:{frequencies:[261.6255653006,273.37431312998,292.50627485027,307.38829724655,327.03195662575,349.91912034749,365.63284274659,391.22147055517,411.12588832951,437.39890198442,459.65271605653,489.02683710225,523.2511306012],description:"Modified meantone with 5/4, 14/11 and 44/35 major thirds, TL 17-03-2003"},smithgw_modmos12a:{frequencies:[261.6255653006,265.27772209197,292.31087910123,304.72408298441,326.59518553839,340.46429857933,364.90060015836,391.09077971329,407.69874723177,425.01198472693,455.51656649021,488.21056770985,523.2511306012],description:"A 12-note modmos in 50-et meantone"},smithgw_octoid:{frequencies:[261.6255653006,272.34559486824,274.88944875317,277.45706359738,280.04865972334,282.66446436432,285.30470202322,296.99497716113,299.76906949343,302.56907333554,305.39522895084,308.24778413898,311.12698372208,323.87531915696,326.90048829645,329.95391413777,333.03585868997,336.14659218049,339.28638158975,353.18853996009,356.48751029933,359.81729479041,363.17817915623,366.5704580819,369.99442271164,385.15483391523,388.75238658,392.38354231563,396.04861270515,399.74791910495,403.48177901006,420.01432465796,423.93748365756,427.89728706578,431.89407466632,435.9281969008,440,458.02886886968,462.30710409523,466.62530033172,470.98382811593,475.38306960714,479.82340237272,499.48402328631,504.14947188193,508.85849826899,513.6115065207,518.40891338474,523.2511306012],description:"Octoid temperament, g=16.096, oct=1/8, 11-limit"},smithgw_orw18r:{frequencies:[261.6255653006,269.10058145205,280.31310567921,286.15296204753,299.00064605783,305.22982618403,327.03195662575,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,418.60090448096,448.50096908674,457.84473927605,474.80195184183,490.54793493862,523.2511306012],description:'Rational version of two cycles of 9-tone "Orwell"'},smithgw_pel1:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"125/108, 135/128 periodicity block no. 1"},smithgw_pel2:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"125/108, 135/128 periodicity block no. 2"},smithgw_pel3:{frequencies:[261.6255653006,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"125/108, 135/128 periodicity block no. 3"},smithgw_pk:{frequencies:[261.6255653006,271.01659746112,280.74472171431,290.822034715,313.8821415949,325.1489200649,336.82012073975,348.91025643633,376.57634157395,390.09352641046,404.09590743895,418.60090448096,451.79296003201,468.01003810189,484.80922990434,523.2511306012],description:"Parakleismic temperament, g=315.263, 5-limit"},smithgw_pris:{frequencies:[261.6255653006,279.06726965397,293.02063313667,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,488.36772189445,523.2511306012],description:"optimized (15/14)^3 (16/15)^4 (21/20)^3 (25/24)^2 scale"},smithgw_prisa:{frequencies:[261.6255653006,274.70684356563,293.02063313667,313.95067836072,327.03195662575,343.38355445704,366.27579142084,392.4383479509,418.60090448096,439.53094970501,457.84473927605,488.36772189445,523.2511306012],description:"optimized (15/14)^3 (16/15)^4 (21/20)^3 (25/24)^2 scale"},smithgw_pum13marv:{frequencies:[261.6255653006,293.67396865289,305.56991629828,343.00138030143,326.66798000724,366.68389807519,349.22276077151,392.00157668785,407.88051296056,457.84473927605,436.04260883433,489.45661357347,549.41368713126,523.2511306012],description:"pum13 marvel tempered and in epimorphic order"},smithgw_qm3a:{frequencies:[261.6255653006,279.86396690685,305.19382000629,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,457.27406033445,489.15147723638,523.2511306012],description:"Qm(3) 10-note quasi-miracle scale, mode A, 72-tET, TL 04-01-2002"},smithgw_qm3b:{frequencies:[261.6255653006,279.86396690685,299.37379946195,326.46944327063,349.22823143301,373.57357677338,391.99543598175,419.32216217931,448.5538823653,489.15147723638,523.2511306012],description:"Qm(3) 10-note quasi-miracle scale, mode B"},smithgw_ragasyn1:{frequencies:[261.6255653006,269.16210421872,290.69507255622,313.95067836072,322.99452506247,348.83408706747,363.36884069528,392.4383479509,403.74315632809,436.04260883433,470.92601754108,484.4917875937,523.2511306012],description:"Ragasyn 6561/6250 81/80 scale"},smithgw_rainbow:{frequencies:[261.6255653006,273.37431312998,292.50627485027,310.51268695591,327.03195662575,349.91912034749,365.63284274659,391.22147055517,412.03444522126,437.39889945791,468.01003810189,489.02683710225,523.2511306012],description:"Circulating 1/4-comma meantone, Gene Ward SMith"},smithgw_ratwell:{frequencies:[261.6255653006,275.62199471997,293.02063313667,310.07474405997,326.72451751701,348.83408706747,367.49599295996,392.4383479509,413.43299207996,437.57747881743,465.11211608996,489.99465727995,523.2511306012],description:"7-limit rational well-temperament"},smithgw_ratwolf:{frequencies:[261.6255653006,272.55669785235,292.25605339318,313.37920299881,326.47268679644,350.06888377949,364.69531895389,391.05410158062,407.39296674476,436.83777202739,468.410735204,487.98168129749,523.2511306012],description:"Eleven fifths of (418/5)^(1/11) and one 20/13 wolf, G.W. Smith 2003"},smithgw_rectoo:{frequencies:[261.6255653006,290.69507255622,299.00064605783,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,457.84473927605,470.92601754108,523.2511306012],description:"Hahn-reduced circle of fifths via <12 19 27 34| kernel"},smithgw_sc19:{frequencies:[261.6255653006,269.16210421872,282.55561052465,290.69507255622,302.80736724606,313.95067836072,327.03195662575,339.06673262958,348.83408706747,363.36884069528,376.74081403286,392.4383479509,403.74315632809,418.60090448096,436.04260883433,452.08897683944,470.92601754108,484.4917875937,508.60009894437,523.2511306012],description:"Fokker block from commas <81/80, 78732/78125>, Gene Ward Smith 2002"},smithgw_sch13:{frequencies:[261.6255653006,269.71217215021,278.04872701265,282.14859498561,290.86954990528,295.15846273282,304.2815407612,313.68660297237,318.31195648825,328.15068782436,332.98931632582,343.28171142549,353.89223299652,359.11042631209,370.21019888355,375.66900084958,387.28058594818,392.99109319609,405.13808832031,417.66053353744,423.81899742763,436.9188548657,443.36128543927,457.06517711961,471.19264083172,478.14044600934,492.91932687455,500.18749236202,515.64783010531,523.2511306012],description:"13-limit schismic temperament, g=704.3917, TL 31-10-2002"},smithgw_sch13a:{frequencies:[261.6255653006,266.49502311502,271.45511438723,280.18048669638,285.39529457963,294.56874561631,300.051354061,305.6360048159,315.46005229837,321.33149462105,331.66004360268,337.8330052901,344.12086009392,355.18192699392,361.79268541866,373.4217751344,380.37201938485,392.59830625439,399.90547017058,407.34863733398,420.4420328577,428.26743302475,442.03321824291,450.26048038501,458.64087358289,473.38295124548,482.19370453904,497.69284002863,506.95605959354,523.2511306012],description:"13-limit schismic temperament, g=702.660507, TL 31-10-2002"},smithgw_scj22a:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,301.39265122629,313.95067836072,327.03195662575,334.88072358477,348.83408706747,361.67118147155,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"225/224 ^ 15625/15552 = [6,5,22,37,-18,-6] catakleismic"},smithgw_scj22b:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,372.08969287196,387.59343007496,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"5120/5103 ^ 225/224 = [1,-8,-14,-10,25,-15] schismic candidate"},smithgw_scj22c:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,357.20610515709,367.91095120397,383.2405741708,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"225/224 ^ 65625/65536 = [7,-3,827,7,-21] orwell candidate"},smithgw_secab:{frequencies:[261.6255653006,274.07613169002,291.39807132323,313.10572011471,348.73657263424,365.33268718488,392.54808236386,417.35759110361,437.21932894603,486.97408086388,523.2511306012],description:"{126/125, 176/175} tempering of decab, 328-et version"},smithgw_secac:{frequencies:[261.6255653006,281.11531641881,298.8821409504,313.10572011471,348.73657263424,374.71564313773,392.54808236386,417.35759110361,448.44857247831,499.48119153644,523.2511306012],description:"{126/125, 176/175} tempering of decac, 328-et version"},smithgw_secad:{frequencies:[261.6255653006,281.11531641881,313.10572011471,328.00618883132,348.73657263424,374.71564313773,392.54808236386,437.21932894603,469.78990700991,499.48119153644,523.2511306012],description:"{126/125, 176/175} tempering of decad, 328-et version"},smithgw_smalldi11:{frequencies:[261.6255653006,269.10058145205,305.22982618403,313.95067836072,322.92069774245,366.27579142084,373.75080757229,423.93031414449,436.04260883433,448.50096908674,508.71637697339,523.2511306012],description:"Small diesic 11-note block, <10/9, 126/125, 1728/1715> commas"},smithgw_smalldi19a:{frequencies:[261.6255653006,269.10058145205,272.52663052146,299.00064605783,305.22982618403,313.95067836072,317.94773560837,327.03195662575,358.80077526939,366.27579142084,373.75080757229,381.53728273004,418.60090448096,430.56093032327,436.04260883433,448.50096908674,457.84473927605,502.32108537715,508.71637697339,523.2511306012],description:"Small diesic 19-note block, <16/15, 126/125, 1728/1715> commas"},smithgw_smalldi19b:{frequencies:[261.6255653006,266.96486255163,274.70684356563,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,358.80077526939,366.27579142084,373.75080757229,381.53728273004,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,498.33441009638,512.78610798918,523.2511306012],description:"Small diesic 19-note block, <16/15, 126/125, 2401/2400> commas"},smithgw_smalldi19c:{frequencies:[261.6255653006,267.07609791103,274.70684356563,280.31310567921,286.15296204753,313.95067836072,320.49131749323,327.03195662575,336.37572681506,343.38355445704,373.75080757229,381.53728273004,392.4383479509,400.61414686654,436.04260883433,448.50096908674,457.84473927605,470.92601754108,508.71637697339,523.2511306012],description:"Small diesic 19-note scale containing glumma"},smithgw_smalldiglum19:{frequencies:[261.6255653006,267.74077300753,273.99891691894,280.40333801024,286.95745534843,312.9293240034,320.24370022528,327.729041887,335.38934511627,343.22869944589,374.29355081838,383.0422478503,391.99543598175,401.15789496562,437.46578647972,447.69106452518,458.15534711532,468.86422071654,511.30005826145,523.2511306012],description:'Small diesic "glumma" variant of 19-note MOS, 31/120 version'},smithgw_smalldimos11:{frequencies:[261.6255653006,267.74077300753,305.78200836532,312.9293240034,320.24370022528,365.74467430283,374.29355081838,427.47405410759,437.46578647972,447.69106452518,511.30005826145,523.2511306012],description:"Small diesic 11-note MOS, 31/120 version"},smithgw_smalldimos19:{frequencies:[261.6255653006,267.74077300753,273.99891691894,298.79793764201,305.78200836532,312.9293240034,320.24370022528,327.729041887,357.39105439675,365.74467430283,374.29355081838,383.0422478503,417.71053321823,427.47405410759,437.46578647972,447.69106452518,458.15534711532,499.62194879119,511.30005826145,523.2511306012],description:"Small diesic 19-note MOS, 31/120 version"},smithgw_star:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,376.74081403286,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:'Gene Ward Smith "Star" scale, untempered version'},smithgw_star2:{frequencies:[261.6255653006,282.55561052465,313.95067836072,327.03195662575,376.74081403286,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:'Gene Ward Smith "Star" scale, alternative untempered version'},starra:{frequencies:[261.6255653006,274.07613169002,294.49338559574,313.10572011471,328.00618883132,343.61575980934,374.71564313773,392.54808236386,411.22915413197,437.21932894603,458.02627217006,492.14685988839,523.2511306012],description:"12 note {126/125, 176/175} scale, 328-et version"},smithgw_starrb:{frequencies:[261.6255653006,274.07613169002,287.1192112957,305.26548915336,328.00618883132,343.61575980934,365.33268718488,392.54808236386,411.22915413197,437.21932894603,458.02627217006,479.82340237272,523.2511306012],description:"12 note {126/125, 176/175} scale, 328-et version"},smithgw_starrc:{frequencies:[261.6255653006,274.07613169002,287.1192112957,313.10572011471,328.00618883132,343.61575980934,365.33268718488,392.54808236386,411.22915413197,437.21932894603,458.02627217006,492.14685988839,523.2511306012],description:"12 note {126/125, 176/175} scale, 328-et version"},smithgw_tetra:{frequencies:[261.6255653006,274.84135386022,293.90210492181,314.2847539672,326.44746606412,342.93767672779,366.7210324511,392.15380743582,419.35039192746,435.57910814854,457.58200907672,489.31615916483,523.2511306012],description:"{225/224, 385/384} tempering of two-tetrachord 12-note scale"},smithgw_tr31:{frequencies:[261.6255653006,267.54129532085,292.57243455474,299.18791603519,305.95298478736,334.57791819083,342.14320575162,349.87955533643,391.26571058456,400.11279059885,409.15991580663,447.44088028055,457.55816161244,467.90420651233,511.68128147674,523.2511306012],description:"6/31 generator supermajor seconds tripentatonic scale"},smithgw_tr7_13:{frequencies:[261.6255653006,183.87449048025,346.05860897284,243.21533855007,457.74028507734,321.70694650116,605.46440189891,425.52973856044,299.06887661109,562.85871464284,395.58580335293,744.50714985079,523.2511306012],description:"81/80 ==> 28561/28672"},smithgw_tr7_13b:{frequencies:[261.6255653006,372.25357492539,395.58580335293,281.42935732142,299.06887661109,425.52973856044,302.73220094945,321.70694650116,457.74028507734,486.43067710015,346.05860897284,367.7489809605,523.2511306012],description:"reverse reduced 81/80 ==> 28561/28672"},smithgw_tr7_13r:{frequencies:[261.6255653006,367.7489809605,346.05860897284,486.43067710015,457.74028507734,321.70694650116,302.73220094945,425.52973856044,299.06887661109,281.42935732142,395.58580335293,372.25357492539,523.2511306012],description:"reduced 81/80 ==> 28561/28672"},smithgw_tra:{frequencies:[261.6255653006,128.35937755236,399.56478905052,196.03545836752,610.23096296248,299.39301413087,931.96857771927,457.24471305759,224.33452437931,698.32199734535,342.61245382262,1066.50464849657,523.2511306012],description:"81/80 ==> 1029/512"},smithgw_tre:{frequencies:[261.6255653006,256.71872396454,399.56476227799,392.07084290614,305.11544059319,299.39293769309,465.98419519089,457.24482979639,448.66910888407,349.16106442144,342.6124767791,533.2523889322,523.2511306012],description:"81/80 ==> 1029/512 ==> reduction"},smithgw_treb:{frequencies:[261.6255653006,266.6261944661,342.6124767791,349.16106442144,448.66910888407,457.24482979639,465.98419519089,299.39293769309,305.11544059319,392.07084290614,399.56476227799,513.43744792908,523.2511306012],description:"reversed 81/80 ==> 1029/512 ==> reduction"},smithgw_trx:{frequencies:[261.6255653006,490.17835855476,354.35176059633,331.954494127,479.94227969828,449.60690021487,325.02250210538,304.47902995326,285.23403465053,412.39349145653,386.32762147798,279.2776760715,523.2511306012],description:"reduced 3/2->7/6 5/4->11/6 scale"},smithgw_trxb:{frequencies:[261.6255653006,279.2776760715,386.32762147798,412.39349145653,285.23403465053,304.47902995326,325.02250210538,449.60690021487,479.94227969828,331.954494127,354.35176059633,490.17835855476,523.2511306012],description:"reversed reduced 3/2->7/6 5/4->11/6 scale"},smithgw_wa:{frequencies:[261.6255653006,273.6474362764,299.37379946195,313.13022722746,327.51877211613,349.22823143301,374.77430422696,391.99543598175,417.97870684853,437.18511000944,469.1652354389,500.26367760099,523.2511306012],description:"Wreckmeister A temperament, TL 2-6-2002"},smithgw_wa120:{frequencies:[261.6255653006,273.99891691894,298.79793764201,312.9293240034,327.729041887,349.22823143301,374.29355081838,391.99543598175,417.71053321823,437.46578647972,468.86422071654,499.62194879119,523.2511306012],description:"120-tET version of Wreckmeister A temperament"},smithgw_wb:{frequencies:[261.6255653006,280.76349612739,291.78605424516,313.13022722746,327.51877211613,349.22823143301,365.2755039332,391.99543598175,417.97870684853,437.18511000944,469.1652354389,487.58430040208,523.2511306012],description:"Wreckmeister B temperament, TL 2-6-2002"},smithgw_well1:{frequencies:[261.6255653006,275.92984511873,292.92635710626,310.42107575858,327.5229776175,349.2237102284,367.90646015831,391.734151992,413.8947676781,437.99072463899,465.63161363786,490.54194687775,523.2511306012],description:"Well-temperament, Gene Ward Smith (2005)"},smithgw_whelp1:{frequencies:[261.6255653006,275.93321340298,292.50627485027,310.07474405997,327.03195662575,348.05120395042,368.50381975103,390.45372436301,413.66634097248,438.25895612273,464.36382062247,491.65133958137,523.2511306012],description:"well-temperament with one pure third, Gene Ward Smith, 2003"},smithgw_whelp2:{frequencies:[261.6255653006,275.85000668176,292.43269265164,309.98104674077,327.03195662575,347.97308568611,368.21146504308,391.7894791814,413.34036955908,438.14417346548,464.48314871299,489.73685071229,523.2511306012],description:"well-temperament with two pure thirds"},smithgw_whelp3:{frequencies:[261.6255653006,275.96871294479,292.50627485027,310.03485655885,327.03195662575,349.46135677641,368.11883862276,391.73393619399,413.66634097248,436.82669499534,464.84945270756,489.66742197778,523.2511306012],description:"well-temperament with three pure thirds"},smithgw_wiz28:{frequencies:[261.6255653006,269.80136421624,277.4816601673,280.31310567921,287.78812183066,297.30177875068,305.22982618403,308.34441624714,317.12189733406,327.03195662575,336.37572681506,345.34574619679,348.83408706747,359.73515228832,370.01329949656,380.54627680087,392.4383479509,396.40237166758,406.97310157871,418.60090448096,431.68218274599,436.04260883433,448.50096908674,460.46099492906,475.68284600109,490.54793493862,493.35106599542,508.71637697339,523.2511306012],description:"11-limit Wizard[28]"},smithgw_wiz34:{frequencies:[261.6255653006,269.80136421624,272.52663052146,277.4816601673,280.31310567921,287.78812183066,297.30177875068,305.22982618403,308.34441624714,313.95067836072,317.12189733406,327.03195662575,336.37572681506,345.34574619679,348.83408706747,356.76213450082,359.73515228832,370.01329949656,380.54627680087,383.71749577421,392.4383479509,396.40237166758,406.97310157871,418.60090448096,431.68218274599,436.04260883433,443.97065626768,448.50096908674,460.46099492906,475.68284600109,490.54793493862,493.35106599542,504.56359022259,508.71637697339,523.2511306012],description:"11-limit Wizard[34]"},smithgw_wiz38:{frequencies:[261.6255653006,269.80136421624,272.52663052146,277.4816601673,280.31310567921,285.40970760065,287.78812183066,297.30177875068,305.22982618403,308.34441624714,313.95067836072,317.12189733406,327.03195662575,336.37572681506,339.14425131559,345.34574619679,348.83408706747,356.76213450082,359.73515228832,370.01329949656,380.54627680087,383.71749577421,392.4383479509,396.40237166758,403.65087217807,406.97310157871,418.60090448096,431.68218274599,436.04260883433,443.97065626768,448.50096908674,460.46099492906,475.68284600109,479.64686971777,490.54793493862,493.35106599542,504.56359022259,508.71637697339,523.2511306012],description:"11-limit Wizard[38]"},smithgw_wreckpop:{frequencies:[261.6255653006,272.73569398658,292.31087910123,313.29104303136,326.59518553839,350.03605285217,364.90060015836,391.09077971329,419.16071913933,436.9606979923,455.51656649021,501.93603498211,523.2511306012],description:'"Wreckmeister" 13-limit meanpop (50-et) tempered thirds'},smithj12:{frequencies:[261.6255653006,272.52663052146,294.32876096318,306.59245933664,331.11985608357,344.91651675372,363.36884069528,392.4383479509,408.78994578219,441.49314144476,459.88868900496,496.67978412536,523.2511306012],description:"J. Smith, 5-limit JI scale, MMM 21-3-2006"},smithj17:{frequencies:[261.6255653006,272.57820116223,283.17034563789,295.02492750576,308.97787266236,319.3201344739,332.68808325276,348.42227432308,363.00854876594,377.11473546037,392.90218486657,411.48414905414,425.25755219187,443.06044202496,464.01459698705,479.54632553791,499.62194879119,523.2511306012],description:"J. Smith 17-tone well temperament, MMM 12-2006"},smithrk_19:{frequencies:[261.6255653006,274.68253637698,286.11368885031,294.3308008075,305.19387818096,313.95878694534,327.0246436172,343.34529416761,348.83287827711,366.24211271841,381.48359653409,392.43970784476,406.92376081862,418.61050714007,436.03134720211,457.79213919624,470.93981233279,488.32112480698,508.64303280756,523.2511306012],description:"19 out of 612-tET by Roger K. Smith, 1978"},smithrk_mult:{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,457.84473927605,470.92601754108,488.36772189445,508.71637697339,523.2511306012],description:'Roger K. Smith, "Multitonic" scale, just version'},solar:{frequencies:[261.6255653006,394.58976180129,774.00176545642,2207.36533954793,5481.83445910426,34573.03685904828,65024.37680021134,105705.6559450381],description:"Solar system scale: 0=Pluto, 8=Mercury. 1/1=248.54 years period"},solemn:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Solemn 6"},songlines:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Songlines.DEM, Bill Thibault and Scott Gresham-Lancaster. 1992 ICMC (=rectsp6)"},sorge:{frequencies:[261.6255653006,272.52663052146,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Sorge's Monochord (1756)"},sorge1:{frequencies:[261.6255653006,276.86979852503,293.00227310437,311.47852302926,328.88393162803,349.6228209638,369.57684148724,391.5530240856,415.30469757995,439.00737933323,466.69047534984,493.32589719545,523.2511306012],description:"Georg Andreas Sorge, 1744 (A)"},sorge2:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.77584116741,328.88393162803,348.83408706747,368.74309237173,391.5530240856,414.36778843034,438.51190905657,465.63764214343,492.21297564769,523.2511306012],description:"Georg Andreas Sorge, 1744 (B)"},sorge3:{frequencies:[261.6255653006,276.55731914056,293.00227310437,310.77584116741,328.51274831708,348.83408706747,369.15973155124,391.5530240856,414.83597850347,438.51190905657,465.63764214343,492.7691222293,523.2511306012],description:"Georg Andreas Sorge, well temperament, (1756, 1758)"},sparschuh:{frequencies:[261.6255653006,276.27659695743,293.02063313667,310.81117157711,328.60171001755,349.008504111,368.36879594324,391.3918456897,414.41489543615,439.53094970501,465.69350623507,491.85606276513,523.2511306012],description:"Andreas Sparschuh WTC temperament, 1/1=C=250, modified Collatz sequence"},sparschuh2:{frequencies:[261.6255653006,276.27659695743,293.02063313667,310.81117157711,328.60171001755,349.008504111,368.36879594324,391.3918456897,414.41489543615,438.48444744381,465.69350623507,491.85606276513,523.2511306012],description:"Modified Sparschuh temperament with A=419Hz by Tom Dent"},spec1_14:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,523.2511306012],description:"Spectrum sequence of 8/7: 1 to 27 reduced by 2/1"},spec1_17:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,490.54793493862,523.2511306012],description:"Spectrum sequence of 7/6: 1 to 27 reduced by 2/1"},spec1_25:{frequencies:[261.6255653006,277.97716313189,294.32876096318,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Spectrum sequence of 5/4: 1 to 25 reduced by 2/1"},spec1_33:{frequencies:[261.6255653006,277.97716313189,294.32876096318,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,457.84473927605,474.19633710734,490.54793493862,523.2511306012],description:"Spectrum sequence of 4/3: 1 to 29 reduced by 2/1"},spec1_4:{frequencies:[261.6255653006,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Spectrum sequence of 7/5: 1 to 25 reduced by 2/1"},spec1_5:{frequencies:[261.6255653006,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Spectrum sequence of 1.5: 1 to 27 reduced by 2/1"},specr2:{frequencies:[261.6255653006,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,457.84473927605,474.19633710734,490.54793493862,523.2511306012],description:"Spectrum sequence of sqrt(2): 1 to 29 reduced by 2/1"},specr3:{frequencies:[261.6255653006,277.97716313189,310.68035879446,327.03195662575,359.73515228832,392.4383479509,408.78994578219,425.14154361347,441.49314144476,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Spectrum sequence of sqrt(3): 1 to 31 reduced by 2/1"},spon_chal1:{frequencies:[261.6255653006,280.31310567921,285.40970760065,286.15296204753,348.83408706747,392.4383479509,420.46965851882,428.11456140098,429.2294430713,523.2511306012],description:"JC Spondeion, from discussions with George Kahrimanis about tritone of spondeion"},spon_chal2:{frequencies:[261.6255653006,275.62199471997,279.06726965397,285.40970760065,348.83408706747,392.4383479509,413.43299207996,418.60090448096,428.11456140098,523.2511306012],description:"JC Spondeion II, 10 May 1997. Various tunings for the parhypatai and hence trito"},spon_mont:{frequencies:[261.6255653006,271.31540105247,348.83408706747,392.4383479509,428.11456140098,523.2511306012],description:"Montford's Spondeion, a mixed septimal and undecimal pentatonic, 1923"},spon_terp:{frequencies:[261.6255653006,285.40970760065,348.83408706747,392.4383479509,428.11456140098,523.2511306012],description:"Subharm. 6-tone series, guess at Greek poet Terpander's, 6th c. BC & Spondeion, Winnington-Ingram (1928)"},stade:{frequencies:[261.6255653006,274.22463192287,292.50627485027,309.28772967674,327.03195662575,348.83408706747,365.63284274659,391.22147055517,411.33694767869,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Organs in St. Cosmae, Stade; Magnuskerk, Anloo; H.K. Sluipwijk, modif. 1/4 mean"},stanhope:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,326.6631048533,348.83408706747,367.49599295996,392.4383479509,413.43299207996,437.52264545758,465.11211608996,489.99465727995,523.2511306012],description:"Well temperament of Charles, third earl of Stanhope (1806)"},stanhope2:{frequencies:[261.6255653006,275.85537639807,293.11251278827,310.16223770573,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.66634097248,437.85193595173,465.11211608996,490.54793493862,523.2511306012],description:"Stanhope temperament (real version?) with 1/3 synt. comma temp."},stanhope_f:{frequencies:[261.6255653006,275.62199471997,292.46014274879,310.07474405997,326.6631048533,348.83408706747,367.49599295996,392.4383479509,413.43299207996,436.79202494356,465.11211608996,489.99465727995,523.2511306012],description:"Stanhope temperament, equal beating version by Farey (1807)"},stanhope_s:{frequencies:[261.6255653006,275.77758308753,293.11247215425,310.2497806633,327.03195662575,348.83408706747,367.7034443005,392.4383479509,413.66637442451,437.85181455341,465.11211608996,490.54793493862,523.2511306012],description:"Stanhope temperament, alt. version with 1/3 syntonic comma"},starling:{frequencies:[261.6255653006,278.9816419584,293.66476791741,313.14630527334,327.50195613664,349.22823143301,367.60851651046,391.99543598175,418.00016846495,437.16266336983,466.16376151809,490.69849857048,523.2511306012],description:"Starling temperament, Herman Miller (1999)"},stearns:{frequencies:[261.6255653006,299.00064605783,336.37572681506,366.27579142084,398.6675280771,448.50096908674,504.56359022259,523.2511306012],description:"Dan Stearns, guitar scale"},stearns2:{frequencies:[261.6255653006,280.31310567921,287.78812183066,299.00064605783,313.95067836072,317.68818643644,336.37572681506,340.11323489078,355.06326719367,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,429.81342870813,444.76346101102,448.50096908674,467.18850946536,470.92601754108,485.87604984397,497.08857407114,504.56359022259,523.2511306012],description:'Dan Stearns, scale for "At A Day Job" based on harmonics 10-20 and 14-28'},stearns3:{frequencies:[261.6255653006,304.11599009871,327.88291945286,364.30920726489,423.47641042702,470.52269644143,546.93995798074,607.70247408742,706.39900722312,784.8766959018],description:"Dan Stearns, trivalent version of Bohlen's Lambda scale"},stearns4:{frequencies:[261.6255653006,296.65550714972,336.37572681506,347.46339693852,393.986457405,446.73865184892,461.46412096988,523.2511306012],description:"Dan Stearns, 1/4-septimal comma temperament, tuning-math 2-12-2001"},steldek1:{frequencies:[261.6255653006,274.70684356563,275.93321340298,280.31310567921,286.15296204753,294.32876096318,305.22982618403,309.04519901133,315.35224388912,321.92208230347,327.03195662575,331.11985608357,343.38355445704,353.19451315581,367.91095120397,381.53728273004,386.30649876417,392.4383479509,400.61414686654,408.78994578219,412.06026534844,420.46965851882,429.2294430713,436.04260883433,441.49314144476,457.84473927605,490.54793493862,504.56359022259,508.71637697339,515.07533168556,523.2511306012],description:"Stellated two out of 1 3 5 7 9 dekany"},steldek1s:{frequencies:[261.6255653006,274.70684356563,275.93321340298,280.31310567921,286.15296204753,294.32876096318,305.22982618403,309.04519901133,315.35224388912,321.92208230347,327.03195662575,331.11985608357,339.14425131559,343.38355445704,353.19451315581,360.4025644447,367.91095120397,381.53728273004,386.30649876417,392.4383479509,400.61414686654,408.78994578219,412.06026534844,420.46965851882,429.2294430713,436.04260883433,441.49314144476,457.84473927605,482.88312345521,490.54793493862,494.47231841813,504.56359022259,508.71637697339,515.07533168556,523.2511306012],description:"Superstellated two out of 1 3 5 7 9 dekany"},steldek2:{frequencies:[261.6255653006,262.3068818769,269.80136421624,274.70684356563,280.31310567921,286.15296204753,294.32876096318,299.7792935736,308.34441624714,312.16686768822,314.76825825228,327.03195662575,337.2517052703,343.38355445704,356.76213450082,359.73515228832,377.72190990274,381.53728273004,385.43052030892,392.4383479509,393.46032281536,400.61414686654,408.78994578219,416.22249025095,419.69101100305,429.2294430713,431.68218274599,449.66894036041,457.84473927605,472.15238737843,490.54793493862,494.63583439645,499.46698830115,503.62921320365,513.90736041189,523.2511306012],description:"Stellated two out of 1 3 5 7 11 dekany"},steldek2s:{frequencies:[261.6255653006,262.3068818769,269.80136421624,274.70684356563,280.31310567921,286.15296204753,294.32876096318,295.09524211152,299.7792935736,302.17752792219,308.34441624714,312.16686768822,314.76825825228,327.03195662575,337.2517052703,343.38355445704,349.7425091692,356.76213450082,359.73515228832,377.72190990274,381.53728273004,385.43052030892,392.4383479509,393.46032281536,400.61414686654,408.78994578219,416.22249025095,419.69101100305,429.2294430713,431.68218274599,440.49202321019,449.66894036041,454.06089845559,457.84473927605,472.15238737843,490.54793493862,494.63583439645,499.46698830115,503.62921320365,513.90736041189,523.2511306012],description:"Superstellated two out of 1 3 5 7 11 dekany"},steleik1:{frequencies:[220,220.57291666667,224.58333333333,225,226.875,229.16666666667,232.03125,235.27777777778,238.21875,240.625,242.63020833333,243.08035714286,247.5,248.14453125,252.08333333333,252.65625,255.234375,256.66666666667,257.8125,262.5,264.6875,270.703125,272.25,275,277.29166666667,278.4375,280.72916666667,283.59375,288.75,294.09722222222,297.7734375,302.5,308.80208333333,309.375,311.953125,315,315.10416666667,317.625,320.83333333333,324.10714285714,324.84375,330,330.859375,336.11111111111,336.875,340.3125,343.75,346.5,346.61458333333,350,352.91666666667,353.57142857143,360.9375,366.66666666667,371.25,378.125,385,388.92857142857,392.12962962963,393.75,397.03125,401.04166666667,403.33333333333,412.5,415.9375,423.5,425.390625,427.77777777778,432.14285714286,433.125,440],description:"Stellated Eikosany 3 out of 1 3 5 7 9 11"},steleik1s:{frequencies:[123.47082531403,123.79236392162,125.33976847064,127.32928860509,129.9819821177,130.22313607339,131.308328874,132.59082945654,132.63467563031,133.69575303535,135.04621518722,136.42423779117,136.73429287706,138.90467847828,139.26640941182,141.47698733899,141.79852594658,143.24544968073,144.69237341488,145.8499124022,145.89814319334,147.3231438406,148.55083670594,148.82644122673,151.92699208562,154.33853164254,156.26776328807,156.6747105883,159.16161075637,160.43490364242,160.48795751267,162.05545822466,163.70908534941,165.05648522882,165.43161360434,165.73853682068,167.11969129419,168.80776898403,169.77238480679,173.63084809785,175.077771832,175.80123369908,178.26100404713,179.05681210091,180.06162024963,181.89898372156,182.31239050275,185.20623797104,185.68854588243,189.06470126211,189.41547065221,190.99393290764,192.92316455317,195.33470411009,198.06778227459,200.54362955302,202.56932278083,204.25740047067,204.63635668676,208.35701771743,208.89961411773,212.21548100849,212.69778891987,214.8681745211,216.07394429955,217.03856012232,220.07531363843,220.98471576091,222.82625505891,227.89048812843,229.19271948917,231.50779746381,233.43702910934,233.87012192772,234.4016449321,236.33087657764,238.74241613455,241.07423537553,241.15395569146,243.083187337,246.94165062806],description:"Superstellated Eikosany 3 out of 1 3 5 7 9 11"},steleik2:{frequencies:[123.47082531403,124.49974885831,126.04313417474,126.11662871362,127.68005799519,128.74405847848,129.64436657973,130.41605923794,132.04518818306,132.96858110742,133.76006075687,135.81790784543,137.94006265552,138.64744759221,140.44806379471,141.47698733899,144.0492961997,145.92006628022,146.26543921816,147.13606683255,148.16499037684,148.55083670594,151.25176100969,152.15206911093,154.33853164254,154.49287017418,155.62468607289,156.05340421634,157.14468676331,157.64578589202,158.45422581967,160.51207290824,160.9300730981,163.85607442716,164.62776708537,167.20007594608,169.77238480679,170.24007732692,171.65874463798,172.85915543964,173.88807898393,175.56007974339,176.56328019906,180.06162024963,181.09054379391,182.8317990227,183.92008354069,185.20623797104,186.74962328747,187.26408505961,190.14507098361,193.11608771773,194.02558263633,197.55332050245,198.06778227459,200.6400911353,201.66901467958,202.31209189476,203.72686176815,204.2880927923,205.78470885672,205.99049356557,208.95062745451,210.19438118936,214.01609721099,214.57343079747,216.07394429955,217.36009872991,217.87456050205,220.70410024883,224.71690207153,226.36317974239,229.30296129748,230.47887391952,234.08010632452,237.68133872951,239.0961086029,240.76810936236,243.77573203026,245.22677805425,246.94165062806],description:"Stellated Eikosany 3 out of 1 3 5 7 11 13"},steleik2s:{frequencies:[61.73541265702,61.89618196081,62.32902239411,62.70002847979,63.66464430255,64.65940436978,64.99099105886,65.83502990378,66.22690508177,66.31733781516,67.05419712422,67.52310759362,68.40003106886,68.56192463352,68.97003132776,69.45233923915,69.63320470592,70.8992629733,71.32128239576,72.34618670745,72.41853289415,72.94907159667,73.15003322642,73.66157192031,73.89646213689,74.27541835298,75.24003417574,75.43597176474,76.80753488774,77.16926582128,78.37503559973,79.58080537819,79.800036247,80.24397875634,80.46503654906,81.02772911234,81.51003702372,82.29378737972,82.71580680218,82.76403759332,84.40388449202,84.45309958502,84.8861924034,85.7024057919,86.21253915971,86.81542404893,87.05458499673,87.53888591601,87.7800398717,89.13050202357,90.52316611769,90.94949186079,92.60311898553,92.84427294122,94.05004271968,94.53235063106,94.83379307568,95.49696645383,95.7600434964,96.46158227659,96.55804385887,97.94560661931,98.52861618252,100.32004556766,100.58129568632,101.28466139042,101.88754627965,102.12870023534,103.45504699165,104.17850885872,105.33604784604,105.47988405157,106.10774050425,107.4857631082,108.03697214979,109.72504983963,111.41312752947,112.07630090762,112.86005126361,113.15395764711,114.2698743892,114.95005221294,115.75389873191,115.86965263064,116.71851455468,118.16543828883,118.23433941902,119.7000543705,120.57697784574,120.69755482359,121.54159366851,122.26505553558,123.47082531404],description:"Superstellated Eikosany 3 out of 1 3 5 7 11 13"},stelhex1:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,294.32876096318,327.03195662575,343.38355445704,381.53728273004,392.4383479509,400.61414686654,408.78994578219,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Stellated two out of 1 3 5 7 hexany, also dekatesserany, mandala, tetradekany"},stelhex2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,327.03195662575,331.11985608357,353.19451315581,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Stellated two out of 1 3 5 9 hexany"},stelhex3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,281.36411960997,289.40309445597,297.67175429757,339.14425131559,348.83408706747,358.80077526939,361.75386806997,372.08969287196,385.87079260796,434.10464168396,465.11211608996,523.2511306012],description:"Stellated Tetrachordal Hexany based on Archytas's Enharmonic"},stelhex4:{frequencies:[261.6255653006,269.10058145205,276.78916949353,279.06726965397,287.04062021552,297.67175429757,336.37572681506,348.83408706747,358.80077526939,361.75386806997,372.08969287196,382.72082695402,430.56093032327,465.11211608996,523.2511306012],description:"Stellated Tetrachordal Hexany based on the 1/1 35/36 16/15 4/3 tetrachord"},stelhex5:{frequencies:[261.6255653006,294.32876096318,305.22982618403,331.11985608357,343.38355445704,386.30649876417,392.4383479509,400.61414686654,441.49314144476,457.84473927605,504.56359022259,515.07533168556,523.2511306012],description:"Stellated two out of 1 3 7 9 hexany, stellation is degenerate"},stelhex6:{frequencies:[261.6255653006,269.80136421624,294.32876096318,299.7792935736,327.03195662575,337.2517052703,356.76213450082,359.73515228832,392.4383479509,408.78994578219,431.68218274599,449.66894036041,490.54793493862,494.63583439645,523.2511306012],description:"Stellated two out of 1 3 5 11 hexany, from The Giving, by Stephen J. Taylor"},stelpd1:{frequencies:[207.65234878997,208.19311011494,212.37172035338,214.14148468966,218.03496622947,219.00833661442,222.07265078927,222.48465941783,222.99030637105,224.84855892414,227.11975648903,229.43730502463,233.60889238872,237.93498298851,240.90917027586,242.2610735883,244.73312535961,245.28933700815,247.76700707894,249.83173213793,250.29524184505,254.84606442405,255.50972605016,256.96978162759,259.56543598746,262.81000393731,267.67685586207,272.54370778684,275.32476602956,277.59081348659,280.33067086646,281.06069865517,283.1622938045,285.52197958621,292.0111154859,297.32040849473,299.79807856552,302.82634198537,305.91640669951,306.61167126019,311.47852318496,312.28966517242,317.24664398468,317.96765908464,318.55758053007,321.21222703448,324.45679498433,327.0524493442,330.35600943859,333.10897618391,333.72698912674,340.67963473354,342.62637550345,346.08724798328,350.41333858307,356.90247448276,363.39161038245,367.09968803941,371.65051061841,374.7475982069,380.69597278161,385.45467244138,389.34815398119,392.59272193104,396.42721132631,399.73077142069,400.47238695209,401.51528379311,403.7684559805,407.88854226601,408.81556168025,415.30469757994],description:"Stellated two out of 1 3 5 7 9 11 pentadekany"},stelpd1s:{frequencies:[21.82676446456,21.88360499702,22.15715005948,22.2309638065,22.3228272933,22.50885085408,22.68892166091,22.91810268779,23.02041564622,23.14959867453,23.15196087848,23.34251199682,23.38581906917,23.43896865797,23.624449876,23.63429339678,23.87302363311,24.11662591508,24.35217522905,24.55511002263,24.61905562165,25.00983428231,25.20991295657,25.32245721084,25.46455854199,25.72440097609,25.78286552376,25.93612444091,26.04329850885,26.26032599642,26.30904645282,26.78739275196,26.85715158725,27.01062102489,27.2834555807,27.56185818867,27.62449877546,27.69643757435,28.01101439619,28.1360635676,28.29395393554,28.36115207614,28.41087110056,28.58266775121,28.64762835974,28.9399510981,29.17813999603,29.29871082246,29.46613202716,29.54286674598,29.7637697244,30.01180113877,30.06748166036,30.69388752829,30.99367756425,31.12334932909,31.25195821062,31.51239119571,31.65307151355,31.83069817748,32.15550122011,32.2285819047,32.41274522987,32.74014669684,32.82540749553,33.0742298264,33.34644570974,33.42223308636,33.48424093995,33.76327628112,34.09304532068,34.10431947588,34.37715403168,34.58149925455,34.7243980118,35.01376799523,35.07872860376,35.45144009517,35.80953544967,36.01416136652,36.17493887262,36.37794077427,36.74914425156,36.83266503394,36.92858343247,37.50234985274,37.51475142346,37.81486943485,37.88116146742,38.19683781298,38.26770393137,38.58660146413,38.90418666137,39.06494776328,39.39048899464,40.01573485169,40.28572738088,40.51593153734,40.92518337105,41.25258483802,41.26622656581,41.342787283,41.66927761416,42.01652159428,42.09447432451,42.2040953514,42.44093090331,42.61630665085,42.87400162681,42.9714425396,43.65352892912],description:"Superstellated two out of 1 3 5 7 9 11 pentadekany"},stelpent1:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,348.83408706747,353.19451315581,366.27579142084,367.91095120397,373.75080757229,381.53728273004,392.4383479509,406.97310157871,412.06026534844,420.46965851882,436.04260883433,441.49314144476,448.50096908674,457.84473927605,470.92601754108,490.54793493862,504.56359022259,508.71637697339,515.07533168556,523.2511306012],description:"Stellated one out of 1 3 5 7 9 pentany"},stelpent1s:{frequencies:[261.6255653006,271.31540105247,274.70684356563,275.93321340298,280.31310567921,282.55561052465,286.15296204753,288.32205155576,290.69507255622,294.32876096318,301.46155672497,305.22982618403,309.04519901133,313.95067836072,315.35224388912,320.35783506196,321.92208230347,327.03195662575,329.64821227876,336.37572681506,339.14425131559,343.38355445704,348.83408706747,353.19451315581,360.4025644447,366.27579142084,367.91095120397,373.75080757229,381.53728273004,386.30649876417,387.59343007496,392.4383479509,395.57785473451,403.65087217807,406.97310157871,411.88864507966,412.06026534844,420.46965851882,429.2294430713,436.04260883433,439.53094970501,441.49314144476,448.50096908674,452.19233508746,457.84473927605,470.92601754108,480.53675259294,482.88312345521,488.36772189445,490.54793493862,494.47231841813,498.33441009638,504.56359022259,508.71637697339,515.07533168556,523.2511306012],description:"Superstellated one out of 1 3 5 7 9 pentany"},steltet1:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,305.22982618403,313.95067836072,327.03195662575,343.38355445704,366.27579142084,373.75080757229,381.53728273004,392.4383479509,436.04260883433,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Stellated one out of 1 3 5 7 tetrany"},steltet1s:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,305.22982618403,313.95067836072,320.35783506196,327.03195662575,343.38355445704,366.27579142084,373.75080757229,381.53728273004,392.4383479509,429.2294430713,436.04260883433,439.53094970501,448.50096908674,457.84473927605,490.54793493862,508.71637697339,523.2511306012],description:"Superstellated one out of 1 3 5 7 tetrany"},steltet2:{frequencies:[261.6255653006,267.07609791103,272.52663052146,286.15296204753,305.22982618403,327.03195662575,333.84512238879,343.38355445704,381.53728273004,392.4383479509,400.61414686654,408.78994578219,436.04260883433,457.84473927605,476.92160341255,490.54793493862,523.2511306012],description:"Stellated three out of 1 3 5 7 tetrany"},steltet2s:{frequencies:[261.6255653006,286.15296204753,294.32876096318,300.46061014991,306.59245933664,327.03195662575,343.38355445704,350.53737850823,357.69120255941,367.91095120397,392.4383479509,400.61414686654,408.78994578219,429.2294430713,441.49314144476,457.84473927605,490.54793493862,500.76768358318,510.98743222773,515.07533168556,523.2511306012],description:"Superstellated three out of 1 3 5 7 tetrany"},steltri1:{frequencies:[261.6255653006,313.95067836072,327.03195662575,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Stellated one out of 1 3 5 triany"},steltri2:{frequencies:[261.6255653006,294.32876096318,327.03195662575,392.4383479509,408.78994578219,490.54793493862,523.2511306012],description:"Stellated two out of 1 3 5 triany"},stevin:{frequencies:[261.6255653006,277.20445571159,293.66434538175,311.1256573916,329.66931111467,349.25319089654,369.99797100919,392.00714009679,415.41055144586,440.15068186507,466.27261682516,494.00597677606,523.2511306012],description:"Simon Stevin, monochord division of 10000 parts for 12-tET (1585)"},stopper:{frequencies:[261.6255653006,277.19910487213,293.6996776193,311.18246278326,329.70593120198,349.3320268423,370.12638880276,392.15855510068,415.50221189151,440.23542223935,466.44090588941,494.20629608476,523.62445363767,554.79375523088,587.81844599272,622.80896314278,659.88233179115,699.16252826162,740.78092441407,784.8766959018],description:"Bernard Stopper, piano tuning with 19th root of 3 (1988)"},storbeck:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,353.19451315581,358.80077526939,381.53728273004,387.59343007496,392.4383479509,403.65087217807,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,523.2511306012],description:"Ulrich Storbeck, 2001"},strahle:{frequencies:[261.6255653006,278.94941459687,296.90543930973,315.65242990842,335.0021118691,355.12744448111,376.24442122187,398.15684412917,421.10213511252,444.85552088095,469.94877954106,496.17080790016,523.2511306012],description:"Strahle's Geometrical scale"},"sub24-12":{frequencies:[261.6255653006,273.00058987889,285.40970760065,299.00064605783,313.95067836072,330.47439827444,348.83408706747,369.35373924791,392.4383479509,418.60090448096,448.50096908674,483.00104363188,523.2511306012],description:"Subharmonics 24-12"},sub24:{frequencies:[261.6255653006,10.90106522086,11.37502457829,11.89207115003,12.45836025241,13.08127826503,13.76976659477,14.53475362781,15.38973913533,16.35159783129,17.44170435337,18.68754037861,20.12504348466,21.80213044172,23.78414230005,26.16255653006,29.06950725562,32.70319566257,37.37508075723,43.60426088343,52.32511306012,65.40639132515,87.20852176687,130.8127826503,261.6255653006],description:"Subharmonics 24-1"},sub40:{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,327.03195662575,348.83408706747,373.75080757229,402.50086969323,418.60090448096,436.04260883433,475.68284600109,498.33441009638,523.2511306012],description:"sub 40-20"},sub48:{frequencies:[261.6255653006,279.06726965397,299.00064605783,313.95067836072,330.47439827444,348.83408706747,369.35373924791,392.4383479509,418.60090448096,448.50096908674,465.11211608996,502.32108537715,523.2511306012],description:"12 of sub 48 (Leven)"},sub50:{frequencies:[261.6255653006,272.52663052146,290.69507255622,311.45900631024,327.03195662575,344.24416486921,373.75080757229,384.74347838324,408.78994578219,436.04260883433,467.18850946536,484.4917875937,523.2511306012],description:"12 of sub 50"},sub8:{frequencies:[261.6255653006,279.06726965397,299.00064605783,322.00069575458,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012],description:"Subharmonic series 1/16 - 1/8"},sumatra:{frequencies:[261.6255653006,266.79889483106,324.44528279699,356.96377863828,390.9602296356,474.47355835313,530.64156666967,639.28283484968,713.92755727656,784.8766959018],description:'"Archeological" tuning of Pasirah Rus orch. in Muaralakitan, Sumatra. 1/1=354 Hz'},super_10:{frequencies:[261.6255653006,283.42769574232,305.22982618403,327.03195662575,348.83408706747,370.63621750918,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"A superparticular 10-tone scale"},super_11:{frequencies:[261.6255653006,283.42769574232,305.22982618403,327.03195662575,348.83408706747,370.63621750918,392.4383479509,418.60090448096,444.76346101102,470.92601754108,497.08857407114,523.2511306012],description:"A superparticular 11-tone scale"},super_12:{frequencies:[261.6255653006,279.06726965397,296.50897400735,313.95067836072,331.39238271409,348.83408706747,372.08969287196,395.34529867646,418.60090448096,441.85651028546,465.11211608996,494.18162334558,523.2511306012],description:"A superparticular 12-tone scale"},super_12_1:{frequencies:[261.6255653006,280.31310567921,299.00064605783,317.68818643644,336.37572681506,355.06326719367,373.75080757229,392.4383479509,418.60090448096,444.76346101102,470.92601754108,497.08857407114,523.2511306012],description:"Another superparticular 12-tone scale"},super_12_2:{frequencies:[261.6255653006,280.31310567921,299.00064605783,317.68818643644,336.37572681506,355.06326719367,373.75080757229,392.4383479509,420.46965851882,448.50096908674,473.41768959156,498.33441009638,523.2511306012],description:"Another superparticular 12-tone scale"},super_13:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,418.60090448096,444.76346101102,470.92601754108,497.08857407114,523.2511306012],description:"A superparticular 13-tone scale"},super_14:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,501.44900015948,523.2511306012],description:"A superparticular 14-tone scale"},super_15:{frequencies:[261.6255653006,276.16031892841,290.69507255622,305.22982618403,319.76457981184,334.29933343966,348.83408706747,363.36884069528,381.53728273004,399.70572476481,417.87416679957,436.04260883433,457.84473927605,479.64686971777,501.44900015948,523.2511306012],description:"A superparticular 15-tone scale"},super_17:{frequencies:[261.6255653006,274.08392555301,286.54228580542,299.00064605783,311.45900631024,323.91736656265,336.37572681506,348.83408706747,363.36884069528,377.90359432309,392.4383479509,411.12588832951,429.81342870813,448.50096908674,467.18850946536,485.87604984397,504.56359022259,523.2511306012],description:"Superparticular 17-tone scale"},super_19:{frequencies:[261.6255653006,272.52663052146,283.42769574232,294.32876096318,305.22982618403,316.13089140489,327.03195662575,340.11323489078,353.19451315581,366.27579142084,379.35706968587,392.4383479509,408.13588186894,423.83341578697,439.53094970501,455.22848362304,470.92601754108,488.36772189445,505.80942624783,523.2511306012],description:"Superparticular 19-tone scale"},super_19_1:{frequencies:[261.6255653006,272.09058791262,282.55561052465,293.02063313667,303.4856557487,313.95067836072,325.57848126297,337.20628416522,348.83408706747,363.36884069528,377.90359432309,392.4383479509,408.13588186894,423.83341578697,439.53094970501,455.22848362304,470.92601754108,488.36772189445,505.80942624783,523.2511306012],description:"Superparticular 19-tone scale"},super_19_2:{frequencies:[261.6255653006,269.80136421624,277.97716313189,294.32876096318,302.50455987882,310.68035879446,318.85615771011,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Superparticular 19-tone scale"},super_22:{frequencies:[261.6255653006,270.96933548991,280.31310567921,289.65687586852,299.00064605783,308.34441624714,317.68818643644,327.03195662575,337.93302184661,348.83408706747,359.73515228832,370.63621750918,381.53728273004,392.4383479509,406.45400323486,420.46965851882,434.48531380278,448.50096908674,463.45100138963,478.40103369253,493.35106599542,508.30109829831,523.2511306012],description:"Superparticular 22-tone scale"},super_22_1:{frequencies:[261.6255653006,272.09058791262,282.55561052465,293.02063313667,303.4856557487,313.95067836072,325.16320258789,336.37572681506,347.58825104223,358.80077526939,370.01329949656,381.22582372373,392.4383479509,405.51962621593,418.60090448096,431.68218274599,444.76346101102,457.84473927605,470.92601754108,484.00729580611,497.08857407114,510.16985233617,523.2511306012],description:"Superparticular 22-tone scale"},super_24:{frequencies:[261.6255653006,270.34641747729,279.06726965397,287.78812183066,296.50897400735,305.22982618403,313.95067836072,322.67153053741,331.39238271409,340.11323489078,348.83408706747,359.73515228832,370.63621750918,381.53728273004,392.4383479509,405.51962621593,418.60090448096,431.68218274599,444.76346101102,457.84473927605,470.92601754108,484.00729580611,497.08857407114,510.16985233617,523.2511306012],description:"Superparticular 24-tone scale, inverse of Mans.ur 'Awad"},super_7:{frequencies:[261.6255653006,287.78812183066,313.95067836072,353.19451315581,392.4383479509,431.68218274599,470.92601754108,523.2511306012],description:"A superparticular 7-tone scale"},super_8:{frequencies:[261.6255653006,287.78812183066,313.95067836072,340.11323489078,366.27579142084,392.4383479509,436.04260883433,479.64686971777,523.2511306012],description:"A superparticular 8 tone scale"},super_9:{frequencies:[261.6255653006,287.78812183066,313.95067836072,340.11323489078,366.27579142084,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"A superparticular 9-tone scale"},suppig:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,340.65828815182,348.83408706747,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,459.88868900496,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Friedrich Suppig's 19-tone JI scale. Calculus Musicus, Berlin 1722"},sur_7:{frequencies:[261.6255653006,280.40333801024,327.729041887,351.25128999693,383.0422478503,410.5345162762,479.82340237272,523.2511306012],description:"7-tone surupan"},sur_9:{frequencies:[261.6255653006,280.40333801024,305.78200836532,327.729041887,351.25128999693,383.0422478503,410.5345162762,447.69106452518,479.82340237272,523.2511306012],description:"Theoretical nine-tone surupan gamut"},sur_ajeng:{frequencies:[261.6255653006,285.30470202322,305.78200836532,383.0422478503,417.71053321823,523.2511306012],description:"Surupan ajeng"},sur_degung:{frequencies:[261.6255653006,322.09885310804,345.21700307457,396.55020354877,488.21056770985,523.2511306012],description:"Surupan degung"},sur_madenda:{frequencies:[261.6255653006,322.09885310804,345.21700307457,425.01198472693,488.21056770985,523.2511306012],description:"Surupan madenda"},sur_melog:{frequencies:[261.6255653006,280.40333801024,305.78200836532,383.0422478503,410.5345162762,523.2511306012],description:"Surupan melog"},sur_miring:{frequencies:[261.6255653006,285.30470202322,305.78200836532,389.73770840504,417.71053321823,523.2511306012],description:"Surupan miring"},sur_x:{frequencies:[261.6255653006,280.40333801024,305.78200836532,383.0422478503,417.71053321823,523.2511306012],description:"Surupan tone-gender X (= unmodified nyorog)"},sur_y:{frequencies:[261.6255653006,280.40333801024,300.52885648597,383.0422478503,410.5345162762,523.2511306012],description:"Surupan tone-gender Y (= mode on pamiring)"},sverige:{frequencies:[261.6255653006,293.66476791741,329.62755691287,349.22823143301,391.99543598175,440,466.16376151809,493.88330125613,523.2511306012,554.36526195375,587.32953583482,622.25396744417,659.25511382574,698.45646286601,739.98884542327,783.9908719635,830.60939515989,880,932.32752303618,987.76660251225,1046.5022612024,1174.65907166964,1318.51022765149,1396.91292573202,1567.98174392701],description:"Scale on Swedish 50 crown banknote of some kind of violin."},syntonolydian:{frequencies:[261.6255653006,294.32876096318,331.11985608357,372.50983809402,392.4383479509,441.49314144476,496.67978412536,523.2511306012],description:"Greek Syntonolydian, also genus duplicatum medium, or ditonum (Al-Farabi)"},syrian:{frequencies:[261.6255653006,268.67837258085,275.62199471997,279.38237857051,286.74979536837,294.32876096318,302.10804307229,310.07474405997,314.30517589183,322.59351978942,326.6631048533,331.11985608357,339.85160932548,348.83408706747,358.05397697456,367.49599295996,372.50983809402,382.33306049116,392.4383479509,402.81072409638,413.43299207996,419.07356785577,430.12469305256,441.49314144476,453.13547910064,465.11211608996,477.40530263275,489.99465727995,496.67978412536,509.77741398822,523.2511306012],description:"After ^Sayh.'Ali ad-Darwis^ (Shaykh Darvish) from d'Erlanger vol.5, p.29"},szpak_24:{frequencies:[261.6255653006,270.98948203641,277.18263097687,287.10335517712,293.66476791741,304.17540907689,311.12698372208,322.26262012861,329.62755691287,341.42535271779,349.22823143301,361.7275606831,369.99442271164,383.23700075636,391.99543598175,406.02545869431,415.30469757995,430.16898885692,440,455.74816803176,466.16376151809,482.84836435151,493.88330125613,511.56002220218,523.2511306012],description:"Stephen Szpak's scale, TL 2-1-2004"},pagano_b:{frequencies:[261.6255653006,277.97716313189,289.55954492905,312.72430852337,333.57259575826,351.8148470888,370.63621750918,389.16802838464,416.96574469783,444.76346101102,463.29527188648,486.4600354808,523.2511306012],description:"Pat Pagano and David Beardsley, 17-limit scale, TL 27-2-2001"},palace:{frequencies:[261.6255653006,277.01530443593,294.32876096318,299.00064605783,336.37572681506,348.83408706747,373.75080757229,392.4383479509,409.50088481833,428.11456140098,448.50096908674,470.92601754108,523.2511306012],description:"Palace mode+"},palace2:{frequencies:[261.6255653006,277.01530443593,336.37572681506,348.83408706747,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Byzantine Palace mode, 17-limit"},panpipe1:{frequencies:[261.6255653006,305.78200836532,346.61566493686,386.59871897734,424.03113209229,475.68400784708,523.2511306012],description:"Palina panpipe of Solomon Islands. 1/1=f+45c. From Ocora CD Guadalcanal"},panpipe2:{frequencies:[261.6255653006,301.39807245198,340.46429857933,389.512652082,435.70052664441,481.48922855473,540.45338572244,606.98892366383,675.83458963267,749.45240308975,819.17415016614,915.78156525194,979.24522642508,1073.44040298899,1178.73719255088,1360.28482360484],description:"Lalave panpipe of Solomon Islands. 1/1=f'+47c."},panpipe3:{frequencies:[261.6255653006,302.44445076078,341.44901934006,382.59999559751,433.19107626846,482.88183400971,542.01653249392,602.10016957865,677.78929781797,755.1012944609,822.018116801,906.30932187391,994.06270356141,1067.87449159209,1155.14617783291,1300.35790771888],description:"Tenaho panpipe of Solomon Islands. 1/1=f'+67c."},parachrom:{frequencies:[261.6255653006,274.52698453615,288.06460709314,349.22823143301,391.99543598175,411.32572372413,431.60923940535,523.2511306012],description:"Parachromatic, new genus 5 + 5 + 20 parts"},parakleismic:{frequencies:[261.6255653006,269.41173453909,271.00883762044,279.07425994419,280.72864356353,282.39283618632,290.79705467987,292.52093234567,301.22657042972,303.0122754386,312.03014360907,313.87989341557,323.22118988972,325.13728335605,327.06473376202,336.79842078181,338.79499972275,348.87778808468,350.94597487438,361.39038519337,363.53274806687,374.35175001315,376.5709514911,387.77797996035,390.07677146523,392.38919046486,404.06698135965,406.46233589795,418.55895395107,421.04021853379,433.57068509561,436.14094342919,449.12081866987,451.783257426,465.22865943552,467.98658728446,470.76086444006,484.77105399159,487.64483417146,502.15750307968,505.13434926963,520.16751901001,523.2511306012],description:"Parakleismic temperament, g=315.250913, 5-limit"},parizek:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,425.14154361347,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Petr Parizek, 12-tone Linear Level tuning, 1/1=Ab"},parizek_13lqmt:{frequencies:[261.6255653006,272.70676208351,292.18581651805,313.05623198362,325.57848126297,348.83408706747,365.23227064756,391.32028997953,406.97310157871,436.04260883433,467.18850946536,486.97636086341,523.2511306012],description:"April 2003 - Petr Parizek"},parizek_17lqmt:{frequencies:[261.6255653006,272.52663052146,291.99281841585,312.60407618638,327.03195662575,350.39138209902,364.70475555078,390.75509523297,408.78994578219,436.04260883433,467.18850946536,488.44386904122,523.2511306012],description:"To tune the scale by ear, please choose the intervals in the following order:"},parizek_7lmtd1:{frequencies:[261.6255653006,280.31310567921,293.02063313667,313.95067836072,327.03195662575,350.39138209902,366.27579142084,392.4383479509,418.60090448096,437.98922762377,468.83301301868,490.54793493862,523.2511306012],description:"Use SET MIDDLE 62"},parizek_7lqmtd2:{frequencies:[261.6255653006,280.31310567921,293.02063313667,313.95067836072,327.03195662575,350.39138209902,366.27579142084,390.69417751556,418.60090448096,437.98922762377,468.83301301868,488.36772189445,523.2511306012],description:"Use SET MIDDLE 62"},parizek_cirot:{frequencies:[261.6255653006,273.76082553017,293.33333347996,307.98092841354,327.40170814054,348.04713286849,366.66693712906,392.88175996935,409.71484950008,438.01699797506,463.01593599647,491.10256480205,523.2511306012],description:"Overtempered circular tuning (1/1 is F)"},parizek_epi:{frequencies:[261.6255653006,283.42769574232,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"In The Epimoric World"},parizek_epi2:{frequencies:[261.6255653006,283.42769574232,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,523.2511306012,523.2511306012],description:"In the Epimoric World - extended (version for two keyboards)"},parizek_epi2a:{frequencies:[261.6255653006,283.42769574232,287.78812183066,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012,523.2511306012],description:"April 2003 - Petr Parizek"},parizek_ji1:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,343.38355445704,366.27579142084,392.4383479509,412.06026534844,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Petr Parizek, 12-tone septimal tuning, 2002."},parizek_jiweltmp:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,329.45441556372,348.83408706747,370.63621750918,392.4383479509,416.96574469783,440.63253103259,465.11211608996,494.18162334558,523.2511306012],description:"April 2003 - Petr Parizek"},jiwt2:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,331.11985608357,348.83408706747,372.08969287196,392.4383479509,415.8649508569,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"June 2003 - Petr Parizek"},parizek_llt7:{frequencies:[261.6255653006,283.42769574232,327.03195662575,359.73515228832,392.4383479509,425.14154361347,479.64686971777,523.2511306012],description:"7-tone mode of Linear Level Tuning 2000 (= wilson_helix)"},parizek_qmeb1:{frequencies:[261.6255653006,273.53155294581,293.066620053,305.25690181412,326.9069921792,350.33366042609,366.2083106197,392.1884190578,408.50877577745,437.87542071709,457.7197748295,488.61098601707,523.2511306012],description:"Equal beating quasi-meantone tuning no. 1 - F...A# (1/1 = 261.7Hz)(3/2 5/3 5/4 7/4 7/6)"},parizek_qmeb2:{frequencies:[261.6255653006,274.12423619715,293.39509530855,306.21121252767,327.1564453797,350.32795211486,366.55713600477,391.6914154272,409.44351174042,438.20041390279,457.4712730142,489.73875803795,523.2511306012],description:"Equal beating quasi-meantone tuning no. 2 - F...A# (1/1 = 262.7Hz)"},parizek_qmeb3:{frequencies:[261.6255653006,274.23252240717,293.57983281823,306.4052273004,327.28159934073,350.29865766202,366.78755898655,391.93906252094,409.53887392713,438.37260750749,457.59509656107,490.04864950866,523.2511306012],description:"Equal beating quasi-meantone tuning no. 3 - F...A#. 1/1 = 262Hz"},parizek_qmtp12:{frequencies:[261.6255653006,273.55480692456,293.00227310437,305.44101254122,326.6631048533,350.4133380576,366.39100206434,391.84790908124,408.48291326839,437.52264545758,457.47219685667,489.2574430773,523.2511306012],description:"12-tone quasi-meantone tuning with 1/9 Pyth. comma as basic tempering unit (F...A#)"},parizek_qmtp24:{frequencies:[261.6255653006,273.14323313659,280.64720643091,285.59764149034,293.00227310437,305.44101254122,313.83229199844,326.6631048533,335.63741195089,341.5578378819,350.4133380576,365.83975262993,375.89034660662,381.37064019061,391.84790908124,407.86833637529,419.07356785577,437.52264545758,448.86620556368,457.47219685667,469.33298761093,489.2574430773,502.69865025911,510.02774559919,523.2511306012],description:"24-tone quasi-meantone tuning with 1/9 Pyth. comma as basic tempering unit (Bbb...C##)"},parizek_syndiat:{frequencies:[261.6255653006,290.69507255622,294.32876096318,327.03195662575,348.83408706747,353.19451315581,387.59343007496,392.4383479509,436.04260883433,441.49314144476,484.4917875937,490.54793493862,523.2511306012],description:"Petr Parizek, diatonic scale with syntonic alternatives"},parizek_syntonal:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Petr Parizek, Syntonic corrections in JI tonality, Jan. 2004"},parizek_temp19:{frequencies:[261.6255653006,276.69969455132,294.32876096318,310.68035879446,328.58088727969,349.51540364377,368.93292606842,392.4383479509,415.04954182698,438.10784970625,466.02053819169,492.87133091954,523.2511306012],description:"Petr Parizek, genus [3 3 19 19 19] well temperament"},"partch-barstow":{frequencies:[261.6255653006,279.06726965397,287.78812183066,290.69507255622,294.32876096318,299.00064605783,313.95067836072,327.03195662575,348.83408706747,359.73515228832,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,470.92601754108,479.64686971777,490.54793493862,523.2511306012],description:"Guitar scale for Partch's Barstow (1941, 1968)"},"partch-greek":{frequencies:[261.6255653006,261.6255653006,271.31540105247,294.32876096318,279.06726965397,348.83408706747,313.95067836072,392.4383479509,392.4383479509,406.97310157871,418.60090448096,418.60090448096,523.2511306012],description:'Partch Greek scales from "Two Studies on Ancient Greek Scales" on black/white'},"partch-grm":{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,313.95067836072,348.83408706747,392.4383479509,406.97310157871,418.60090448096,523.2511306012],description:'Partch Greek scales from "Two Studies on Ancient Greek Scales" mixed'},"partch-indian":{frequencies:[261.6255653006,269.80136421624,277.97716313189,285.40970760065,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,383.71749577421,392.4383479509,406.97310157871,411.12588832951,428.11456140098,441.49314144476,457.84473927605,475.68284600109,490.54793493862,507.3950357345,523.2511306012],description:"Partch's Indian Chromatic, Exposition of Monophony, 1933."},"partch-ur":{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:"Ur-Partch curved keyboard, published in Interval"},"partch_29-av":{frequencies:[261.6255653006,269.80136421624,274.70684356563,280.31310567921,285.40970760065,290.69507255622,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,488.36772189445,498.33441009638,507.3950357345,523.2511306012],description:"29-tone JI scale from Partch's Adapted Viola 1928-30"},partch_29:{frequencies:[261.6255653006,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,523.2511306012],description:"Partch/Ptolemy 11-limit Diamond"},partch_37:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:'From "Exposition on Monophony" 1933, unp. see Ayers, 1/1 vol.9(2)'},partch_39:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:"Ur-Partch Keyboard 39 tones, published in Interval"},partch_41:{frequencies:[261.6255653006,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,359.73515228832,362.25078272391,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,402.50086969323,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,442.75095666255,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,523.2511306012],description:"13-limit Diamond after Partch, Genesis of a Music, p 454, 2nd edition"},partch_41a:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:'From "Exposition on Monophony" 1933, unp. see Ayers, 1/1 vol. 9(2)'},partch_41comb:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,274.70684356563,279.06726965397,280.31310567921,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,488.36772189445,490.54793493862,498.33441009638,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:"41-tone JI combination from Partch's 29-tone and 37-tone scales"},partch_43:{frequencies:[261.6255653006,264.89588486686,269.80136421624,274.70684356563,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,373.75080757229,380.54627680087,387.59343007496,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,498.33441009638,507.3950357345,516.79124009995,523.2511306012],description:"Harry Partch's 43-tone pure scale"},partch_43a:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.70684356563,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,498.33441009638,507.3950357345,512.57253609913,523.2511306012],description:'From "Exposition on Monophony" 1933, unp. see Ayers, 1/1 vol. 9(2)'},patala:{frequencies:[261.6255653006,289.6217982776,320.24370022528,355.94891173479,393.58362272115,439.74591942221,480.6555937997,537.34060327431],description:"Observed patala tuning from Burma, Helmholtz/Ellis p. 518, nr.83"},pelog1:{frequencies:[261.6255653006,285.79952600623,313.83440569119,359.87690576543,393.35634555235,426.98050185716,482.04578814299,523.2511306012],description:"Gamelan Saih pitu from Ksatria, Den Pasar (South Bali). 1/1=312.5 Hz"},pelog10:{frequencies:[261.6255653006,290.16653606067,310.14521470005,342.49164912079,385.30310526088,418.60090448096,442.38504678101,523.2511306012],description:"Balinese saih 7 scale, Krobokan. 1/1=275 Hz. McPhee, 1966"},pelog11:{frequencies:[261.6255653006,289.11520789678,327.03195662575,352.6257619269,388.64667309147,441.73012112348,478.69895237627,523.2511306012],description:"Balinese saih pitu, gamelan luang, banjar Se`se'h. 1/1=276 Hz. McPhee, 1966"},pelog11i:{frequencies:[261.6255653006,267.83009854382,287.76973397991,309.19384990071,332.21296611011,356.94582815655,383.52002471837,392.61532371972,421.84506978464,453.25093845942,486.99493426005,523.2511306012],description:"George Secor's isopelogic scale with ~537.84194 generator and just 13/11"},pelog12:{frequencies:[261.6255653006,284.41230790592,308.04300430555,358.68021049276,385.68672051706,409.31741667997,472.61392441399,523.2511306012],description:"Balinese saih pitu, gamelan Semar Pegulingan, Tampak Gangsai, 1/1=310, McPhee"},pelog13:{frequencies:[261.6255653006,289.80062617913,323.61069924911,351.78575931905,394.45085229937,454.02098012766,494.27106657141,523.2511306012],description:"Balinese saih pitu, gamelan Semar Pegulingan, Klungkung, 1/1=325. McPhee, 1966"},pelog14:{frequencies:[261.6255653006,287.66412867175,309.98289727559,347.18084494866,375.69927149802,402.97776645827,427.77639824032,523.2511306012],description:"Balinese saih pitu, suling gambuh, Tabanan, 1/1=211 Hz, McPhee, 1966"},pelog15:{frequencies:[261.6255653006,284.9387344858,307.6043148279,344.51683351465,375.60105909492,407.98046074103,427.4081017287,523.2511306012],description:"Balinese saih pitu, suling gambuh, Batuan, 1/1=202 Hz. McPhee, 1966"},pelog2:{frequencies:[261.6255653006,285.30470202322,314.92395982138,345.81573716922,388.6137256405,424.52127512829,466.97226207056,523.2511306012],description:"Bamboo gambang from Batu lulan (South Bali). 1/1=315 Hz"},pelog3:{frequencies:[261.6255653006,285.63448939555,315.83481057014,390.18821123181,421.34544350737,523.2511306012],description:"Gamelan Gong from Padangtegal, distr. Ubud (South Bali). 1/1=555 Hz"},pelog4:{frequencies:[261.6255653006,290.96323214696,317.29765457754,352.87817160549,385.03871768789,434.94616895528,470.49199937597,523.2511306012],description:"Hindu-Jav. demung, excavated in Banjarnegara. 1/1=427 Hz"},pelog5:{frequencies:[261.6255653006,284.64626913494,310.94732162256,358.21775774651,390.8649420513,427.47405410759,468.32288027948,523.2511306012],description:"Gamelan Kyahi Munggang (Paku Alaman, Jogja). 1/1=199.5 Hz"},pelog6:{frequencies:[261.6255653006,282.02769802256,315.83481057014,354.51258839996,386.37547528213,413.39000965417,523.2511306012],description:"Gamelan Semar pegulingan, Ubud (S. Bali). 1/1=263.5 Hz"},pelog7:{frequencies:[261.6255653006,281.2143451833,303.31920717687,353.89879686059,384.81637482457,412.43597848639,448.72664641273,523.2511306012],description:"Gamelan Kantjilbelik (kraton Jogja). Measured by Surjodiningrat, 1972."},pelog8:{frequencies:[261.6255653006,281.2143451833,305.0763174688,362.1707891162,386.59871897734,415.30469757995,456.83405152976,529.33101587613,573.91491069685,623.33318620372,730.64478690489,786.25839925218,840.74610520523,945.88853913022,1075.30214607265],description:"from William Malm: Music Cultures of the Pacific, the Near East and Asia."},pelog9:{frequencies:[261.6255653006,282.57123920205,305.19382000629,356.01745236555,384.52011812375,415.30469757995,448.5538823653,523.2511306012],description:"9-tET Pelog"},pelog9i:{frequencies:[261.6255653006,287.76973397991,309.19384990071,332.21296611011,356.94582815655,383.52002471837,421.84506978464,453.25093845942,486.99493426005,523.2511306012],description:"George Secor's isopelogic scale with ~537.84194 generator and just 13/11"},pelog_24:{frequencies:[261.6255653006,293.66476791741,320.24370022528,349.22823143301,391.99543598175,440,479.82340237272,523.2511306012],description:"Subset of 24-tET (Sumatra?)"},pelog_a:{frequencies:[261.6255653006,280.7274598329,305.95868600104,363.84824628932,386.82209166041,411.72190027758,452.10885997356,523.2511306012],description:"Pelog, average class A. Kunst 1949"},pelog_alv:{frequencies:[261.6255653006,299.00064605783,313.95067836072,343.38355445704,392.4383479509,418.60090448096,457.84473927605,523.2511306012],description:"Bill Alves JI Pelog, 1/1 vol. 9 no. 4, 1997. 1/1=293.33"},pelog_av:{frequencies:[261.6255653006,280.40333801024,305.78200836532,357.39105439675,385.26118901859,411.72190027758,452.89298412314,523.2511306012],description:'"Normalised Pelog", Kunst, 1949. Average of 39 Javanese gamelans'},pelog_b:{frequencies:[261.6255653006,280.07959041159,302.79405018898,354.30787302884,382.82105786018,408.64182041696,451.58686491179,523.2511306012],description:"Pelog, average class B. Kunst 1949"},pelog_c:{frequencies:[261.6255653006,279.91785681123,304.37225518229,350.84574289301,384.81637482457,410.29745071461,451.58686491179,523.2511306012],description:"Pelog, average class C. Kunst 1949"},pelog_he:{frequencies:[261.6255653006,283.17034563789,338.50336851425,364.68988616898,389.06292924114,420.13030572059,493.31307433255,523.2511306012],description:"Observed Javanese Pelog scale, Helmholtz/Ellis p. 518, nr.96"},pelog_jc:{frequencies:[261.6255653006,294.32876096318,313.95067836072,392.4383479509,418.60090448096,523.2511306012],description:"John Chalmers' Pelog, on keys C# E F# A B c#, like Olympos' Enharmonic on 4/3"},pelog_laras:{frequencies:[261.6255653006,283.42769574232,305.22982618403,370.63621750918,392.4383479509,414.24047839262,457.84473927605,523.2511306012],description:'Lou Harrison, gamelan "Si Betty"'},pelog_me1:{frequencies:[261.6255653006,281.13654920971,305.96893643544,353.85975480175,389.33427481332,412.3928606827,454.07565526112,523.2511306012],description:"Gamelan Kyahi Kanyut Mesem pelog (Mangku Nagaran). 1/1=295 Hz"},pelog_me2:{frequencies:[261.6255653006,277.86440299076,299.96729002515,349.58586605592,383.41679241104,405.97081699752,447.47001910635,523.2511306012],description:"Gamelan Kyahi Bermara (kraton Jogja). 1/1=290 Hz"},pelog_me3:{frequencies:[261.6255653006,281.75056896146,306.90688773629,358.59164065877,385.12012728597,411.64865826518,457.38747412584,523.2511306012],description:"Gamelan Kyahi Pangasih (kraton Solo). 1/1=286 Hz"},pelog_pa:{frequencies:[261.6255653006,286.29520819723,313.29104303136,342.83241505062,387.04559340587,423.54155496477,463.47885582013,523.2511306012],description:'"Blown fifth" pelog, von Hornbostel, type a.'},pelog_pa2:{frequencies:[261.6255653006,286.29520819723,313.29104303136,353.69443592699,387.04559340587,423.54155496477,463.47885582013,523.2511306012],description:"New mixed gender Pelog"},pelog_pb:{frequencies:[261.6255653006,277.98432293805,304.19649364034,353.69443592699,387.04559340587,411.24653512154,450.02449304881,523.2511306012],description:'"Primitive" Pelog, step of blown semi-fourths, von Hornbostel, type b.'},pelog_pb2:{frequencies:[261.6255653006,277.50302994288,303.66981774726,353.69443592699,387.04559340587,410.5345162762,449.24533531117,523.2511306012],description:'"Primitive" Pelog, Kunst: Music in Java, p. 28'},pelog_schmidt:{frequencies:[261.6255653006,287.78812183066,313.95067836072,366.27579142084,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Modern Pelog designed by Dan Schmidt and used by Berkeley Gamelan"},pelog_selun:{frequencies:[261.6255653006,281.10829462369,350.68958753059,378.52209447746,416.55977244877,523.2511306012,562.21664032682,701.37917506118,757.04418895493,833.11970794305,1046.5022612024,1124.43328065364],description:"Gamelan selunding from Kengetan, South Bali (Pelog), 1/1=141 Hz"},pelog_slen:{frequencies:[261.6255653006,289.4545544734,306.66641795878,334.42210013281,344.22141564971,354.30787302884,386.37547528213,397.69714089209,446.39994737251,459.48046426806,493.88330125613,523.2511306012],description:"W.P. Malm, pelog+slendro, Musical Cultures Of The Pacific, The Near East, And Asia. P: 1,3,5,6,8,10; S: 2,4,7,9"},pelog_str:{frequencies:[261.6255653006,282.73796785026,305.22982618403,329.86096249197,356.10146388137,384.83778957396,415.4517078616,448.97742116962,484.69365917187,523.80699136456],description:"JI Pelog with stretched 2/1 and extra tones between 2-3, 6-7. Wolf, XH 11, '87"},pelogic:{frequencies:[261.6255653006,268.93425429917,294.59920226397,322.71340889889,353.51061198674,363.38617257172,398.06486099125,436.0530078362,477.66644151787,523.2511306012],description:"Pelogic temperament, g=521.1, 5-limit"},pelogic2:{frequencies:[261.6255653006,252.56770712848,285.96465797334,276.06414495892,312.56802260838,301.74646235804,341.64630500046,386.82209166041,373.42974737602,422.80824892286,408.17001145418,462.1422075194,523.2511306012],description:"Pelogic temperament, g=677.0 in cycle of fifths order"},penta1:{frequencies:[261.6255653006,282.55561052465,294.32876096318,313.95067836072,331.11985608357,372.50983809402,376.74081403286,397.34382730029,423.83341578697,441.49314144476,470.92601754108,496.67978412536,523.2511306012],description:"Pentagonal scale 9/8 3/2 16/15 4/3 5/3"},penta2:{frequencies:[261.6255653006,267.07609791103,286.15296204753,305.22982618403,312.97980223949,333.84512238879,356.10146388137,363.36884069528,400.61414686654,436.04260883433,457.84473927605,476.92160341255,523.2511306012],description:"Pentagonal scale 7/4 4/3 15/8 32/21 6/5"},penta_opt:{frequencies:[261.6255653006,292.5084949701,327.03692214239,391.62201198054,436.95817401562,523.2511306012],description:"Optimally consonant major pentatonic, John deLaubenfels, 2001"},pentadekany:{frequencies:[261.6255653006,283.42769574232,299.7792935736,305.22982618403,327.03195662575,354.2846196779,359.73515228832,381.53728273004,389.71308164569,419.69101100305,425.14154361347,436.04260883433,457.84473927605,479.64686971777,495.99846754905,523.2511306012],description:"2)6 1.3.5.7.11.13 Pentadekany (1.3 tonic)"},pentadekany2:{frequencies:[261.6255653006,269.80136421624,294.32876096318,299.7792935736,305.22982618403,327.03195662575,343.38355445704,359.73515228832,381.53728273004,392.4383479509,419.69101100305,436.04260883433,457.84473927605,479.64686971777,490.54793493862,523.2511306012],description:"2)6 1.3.5.7.9.11 Pentadekany (1.3 tonic)"},pentadekany3:{frequencies:[261.6255653006,277.97716313189,278.79474302345,287.78812183066,291.4672313427,300.86940009569,305.77487944508,319.67373760167,359.73515228832,376.08675011961,405.51962621593,413.69542513157,430.86460285443,444.76346101102,506.89953276991,523.2511306012],description:"2)6 1.5.11.17.23.31 Pentadekany (1.5 tonic)"},pentatetra1:{frequencies:[261.6255653006,275.39533189537,290.69507255622,327.03195662575,348.83408706747,392.4383479509,413.09299784305,436.04260883433,490.54793493862,523.2511306012],description:"Penta-tetrachord 20/19 x 19/18 x 18/17 x 17/16 = 5/4. 5/4 x 16/15 = 4/3"},pentatetra2:{frequencies:[261.6255653006,275.39533189537,307.79478270659,327.03195662575,348.83408706747,392.4383479509,413.09299784305,461.69217405988,490.54793493862,523.2511306012],description:"Penta-tetrachord 20/19 x 19/18 x 18/17 x 17/16 = 5/4. 5/4 x 16/15 = 4/3"},pentatetra3:{frequencies:[261.6255653006,290.69507255622,307.79478270659,327.03195662575,348.83408706747,392.4383479509,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"Penta-tetrachord 20/19 x 19/18 x 18/17 x 17/16 = 5/4. 5/4 x 16/15 = 4/3"},pentatriad:{frequencies:[261.6255653006,290.69507255622,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"4:5:6 Pentatriadic scale"},pentatriad1:{frequencies:[261.6255653006,290.69507255622,294.32876096318,327.03195662575,348.83408706747,387.59343007496,392.4383479509,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"3:5:9 Pentatriadic scale"},pepper:{frequencies:[261.6255653006,274.70684356563,290.69507255622,294.32876096318,305.22982618403,327.03195662575,343.38355445704,348.83408706747,367.91095120397,392.4383479509,406.97310157871,436.04260883433,441.49314144476,457.84473927605,465.11211608996,490.54793493862,515.07533168556,523.2511306012],description:"Keenan Pepper's 17-tone jazz tuning, TL 07-06-2000"},pepper2:{frequencies:[261.6255653006,281.81099471089,295.05751399041,308.92668738628,332.76158224462,348.40303271111,375.28368107222,392.9238840789,423.23948674937,443.13385158124,463.96335069158,499.75992392917,523.2511306012],description:`Keenan Pepper's "Noble Fifth" with chromatic/diatonic semitone = Phi (12)`},peprmint:{frequencies:[261.6255653006,270.64528749638,281.81099405977,291.52662269553,295.0575145017,305.22982618403,308.92668738628,319.57714845986,332.76158147578,344.23376699744,348.40303331485,360.41446869983,375.28368085545,388.22184514393,392.92388339801,406.47020562703,423.23948723831,437.83096109824,443.13385158124,458.41119713782,463.9633498876,479.95880678291,499.75992479518,516.98949333115,523.2511306012],description:"Peppermint 24: Wilson/Pepper apotome/limma=Phi, 2 chains spaced for pure 7:6"},"perkis-indian":{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,303.82323712328,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.01393146398,369.99442271164,377.90359432309,388.70083987518,400.13321751856,412.18367363396,425.14154361347,438.99882991118,453.48431318771,469.12170329763,485.27322596079,503.87145909745,523.2511306012],description:"Indian 22 Perkis"},"perrett-tt":{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,412.06026534844,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,515.07533168556,523.2511306012],description:"Perrett Tierce-Tone"},perrett:{frequencies:[261.6255653006,274.70684356563,279.06726965397,348.83408706747,392.4383479509,412.06026534844,418.60090448096,523.2511306012],description:"Perrett / Tartini / Pachymeres Enharmonic"},perrett_14:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,343.38355445704,348.83408706747,366.27579142084,392.4383479509,412.06026534844,436.04260883433,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"Perrett's 14-tone system (subscale of tierce-tone)"},perrett_chrom:{frequencies:[261.6255653006,274.70684356563,294.32876096318,348.83408706747,392.4383479509,412.06026534844,441.49314144476,523.2511306012],description:"Perrett's Chromatic"},perry:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Robin Perry, Tuning List 22-9-'98"},perry2:{frequencies:[261.6255653006,274.70684356563,290.69507255622,305.22982618403,327.03195662575,348.83408706747,373.75080757229,392.4383479509,415.27867508032,436.04260883433,457.84473927605,498.33441009638,523.2511306012],description:"Robin Perry, 7-limit scale, TL 22-10-2006"},perry3:{frequencies:[261.6255653006,277.97716313189,294.32876096318,307.79478270659,327.03195662575,348.83408706747,369.35373924791,370.63621750918,392.4383479509,418.60090448096,444.76346101102,465.11211608996,492.47165233054,523.2511306012],description:"Robin Perry, symmetrical 3,5,17 scale, TL 22-10-2006"},"persian-far":{frequencies:[261.6255653006,275.58617649731,282.84340331238,294.51413096332,310.22971009486,318.39923223688,331.53706992441,349.22823143301,362.58942698662,376.46181130035,391.99543598175,412.91271853531,423.78627283082,441.27260666252,464.81937009253,477.05982293263,496.7443381147,523.2511306012],description:"Hormoz Farhat, average of observed Persian tar and sehtar tunings (1966)"},"persian-vaz":{frequencies:[261.6255653006,277.18263097687,285.30470202322,293.66476791741,311.12698372208,320.24370022528,329.62755691287,349.22823143301,359.46139971304,380.8360868427,391.99543598175,415.30469757995,427.47405410759,440,466.16376151809,479.82340237272,493.88330125613,523.2511306012],description:"Vaziri's Persian tuning, using quartertones"},persian:{frequencies:[261.6255653006,275.62199471997,282.55561052465,294.32876096318,310.07474405997,317.87506184023,331.11985608357,348.83408706747,363.36884069528,376.74081403286,392.4383479509,413.43299207996,423.83341578697,441.49314144476,465.11211608996,476.81259276034,496.67978412536,523.2511306012],description:"Persian Tar Scale, from Dariush Anooshfar, Internet Tuning List 2/10/94"},persian2:{frequencies:[261.6255653006,275.62199471997,288.32205155576,294.32876096318,310.07474405997,321.08592105074,331.11985608357,348.83408706747,367.49599295996,384.42940207435,392.4383479509,413.43299207996,428.11456140098,441.49314144476,465.11211608996,489.99465727995,512.57253609913,523.2511306012],description:"Traditional Persian scale, from Mark Rankin"},phi1_13:{frequencies:[261.6255653006,272.27874348295,293.41755524936,305.36527715608,329.07281683115,342.47239171077,356.41758627629,384.088434771,399.72820043646,416.00480451705,448.3020273708,466.55651779723,502.7784067407,523.2511306012],description:"Pythagorean scale with (Phi + 1) / 2 as fifth"},phi_10:{frequencies:[261.6255653006,277.06593756944,293.41755524936,323.38703872151,342.47239171077,362.68389667063,399.72820043646,423.31898451752,448.3020273708,494.09131284284,523.2511306012],description:"Pythagorean scale with Phi as fifth"},phi_12:{frequencies:[261.6255653006,280.653851324,301.06608340242,314.41721066027,337.28508524374,352.24238645938,377.86132347501,405.34355110824,423.31898451752,454.10739278061,474.24531572837,508.73764640933,531.29821178855],description:"Non-Octave Pythagorean scale with Phi as fourth. Jacky Ligon TL 12-04-2001"},phi_13:{frequencies:[261.6255653006,277.06593756944,293.41755524936,305.36527715608,323.38703872151,342.47239171077,362.68389667063,377.45230514615,399.72820043646,423.31898451752,448.3020273708,466.55651779723,494.09131284284,523.2511306012],description:"Pythagorean scale with Phi as fifth"},phi_13a:{frequencies:[261.6255653006,280.653851324,293.09977429907,314.41721066027,328.36040925687,352.24238645938,377.86132347501,394.61802538749,423.31898451752,442.09155952525,474.24531572837,508.73764640933,531.29821178855,569.94005600595],description:"Non-Octave Pythagorean scale with Phi as fifth, Jacky Ligon TL 12-04-2001"},phi_13b:{frequencies:[261.6255653006,277.56939878091,287.90530191745,305.45065986668,316.82478268872,336.13253486432,356.61692887617,369.89633953852,392.4383479509,407.05164722964,431.8579526603,458.17598957099,475.23717379553,504.19880204444],description:"Non-Octave Pythagorean scale with 12 3/2s, Jacky Ligon, TL 12-04-2001"},phi_17:{frequencies:[261.6255653006,276.86436108535,292.99059544936,310.05629713556,328.11582814217,347.22745468775,367.4522682176,388.8548834608,411.50435256812,435.47307590797,460.83762934409,487.67984759381,516.08523529366,546.14543793146,577.9565447239,611.62018657326,647.24497389216,684.94478342154],description:"Phi + 1 equal division by 17, Brouncker (1653)"},phi_7b:{frequencies:[261.6255653006,277.06593756944,299.7954575021,323.38703872151,342.47239171077,369.42210382256,399.72820043646,423.31898451752],description:"Heinz Bohlen's Pythagorean scale with Phi as fifth (1999)"},phi_7be:{frequencies:[261.6255653006,277.18263097687,299.37379946195,323.3415889232,342.56848033562,369.99442271164,399.61607881612,423.37848741825],description:"36-tET approximation of phi_7b"},phi_8:{frequencies:[261.6255653006,280.010356995,292.01318753119,312.53354015396,325.93049860793,348.83408706747,373.34714284662,389.35091690288,416.71138708025],description:"Non-Octave Pythagorean scale with 4/3s, Jacky Ligon, TL 12-04-2001"},phi_8a:{frequencies:[261.6255653006,275.77662731691,284.90271245142,300.31281179658,310.2506767011,327.03195662575,344.72084112096,356.12824371673,375.39107678967],description:"Non-Octave Pythagorean scale with 5/4s, Jacky Ligon, TL 12-04-2001"},phillips_19:{frequencies:[261.6255653006,274.63272075836,286.12988535196,293.66476791741,305.42895910556,326.59518553839,329.62755691287,342.83241505062,349.22823143301,366.5907009274,384.81637482457,391.99543598175,407.69874723177,428.71043212875,440,457.62637091093,489.33987776603,493.88330125613,513.66823365307,523.2511306012],description:"Pauline Phillips, organ manual scale, TL 7-10-2002"},phillips_19a:{frequencies:[261.6255653006,274.58143914872,285.65749968142,293.61100773131,305.45468261618,326.62388782443,329.50688232588,342.79852229325,349.26020182051,366.55580177366,381.34192228364,391.95955371998,407.7704102616,427.96347506501,439.87918162894,457.62301915088,489.33808574423,493.65730140218,509.07699553894,523.2511306012],description:"Adaptation by Gene Ward Smith with more consonant chords, TL 25-10-2002"},phillips_22:{frequencies:[261.6255653006,275.93321340298,286.15296204753,294.32876096318,305.5744765615,306.59245933664,327.03195662575,331.11985608357,343.38355445704,349.22797321314,367.91095120397,392.4383479509,407.76797091773,408.78994578219,416.96574469783,429.2294430713,441.49314144476,457.84473927605,459.88868900496,490.54793493862,496.67978412536,515.07533168556,523.2511306012],description:"All-key 19-limit JI scale (2002), TL 21-10-2002"},phillips_ji:{frequencies:[261.6255653006,275.93321340298,286.15296204753,294.32876096318,305.5744765615,306.59245933664,327.03195662575,331.11985608357,349.22797321314,367.91095120397,386.30649876417,392.4383479509,407.76797091773,408.78994578219,429.2294430713,441.49314144476,457.84473927605,459.88868900496,490.54793493862,496.67978412536,515.07533168556,523.2511306012],description:'Pauline Phillips, JI 0 #/b "C" scale (2002), TL 8-10-2002'},phryg_chromcon2:{frequencies:[261.6255653006,283.42769574232,294.32876096318,305.22982618403,392.4383479509,414.24047839262,436.04260883433,523.2511306012],description:"Harmonic Conjunct Chromatic Phrygian"},phryg_chromconi:{frequencies:[261.6255653006,283.42769574232,348.83408706747,370.63621750918,392.4383479509,479.64686971777,501.44900015948,523.2511306012],description:"Inverted Conjunct Chromatic Phrygian"},phryg_chrominv:{frequencies:[261.6255653006,272.52663052146,283.42769574232,348.83408706747,392.4383479509,414.24047839262,436.04260883433,523.2511306012],description:"Inverted Schlesinger's Chromatic Phrygian"},phryg_chromt:{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,324.77656382143,336.37572681506,362.25078272391,392.4383479509,409.50088481833,418.60090448096,428.11456140098,470.92601754108,523.2511306012,554.03060887186,588.65752192635,627.90135672144,649.55312764287,672.75145363011,724.50156544782,784.8766959018,819.00176963666,837.20180896192,856.22912280196,941.85203508216,1046.5022612024],description:"Phrygian Chromatic Tonos"},phryg_diat:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,369.35373924791,392.4383479509,448.50096908674,483.00104363188,523.2511306012],description:"Schlesinger's Phrygian Harmonia, a subharmonic series through 13 from 24"},phryg_diatcon:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,369.35373924791,448.50096908674,483.00104363188,523.2511306012],description:"A Phrygian Diatonic with its own trite synemmenon replacing paramese"},phryg_diatinv:{frequencies:[261.6255653006,283.42769574232,305.22982618403,370.63621750918,392.4383479509,436.04260883433,479.64686971777,523.2511306012],description:"Inverted Conjunct Phrygian Harmonia with 17, the local Trite Synemmenon"},phryg_diatsinv:{frequencies:[261.6255653006,283.42769574232,305.22982618403,348.83408706747,370.63621750918,392.4383479509,436.04260883433,479.64686971777,523.2511306012],description:"Inverted Schlesinger's Phrygian Harmonia, a harmonic series from 12 from 24"},phryg_enh:{frequencies:[261.6255653006,267.19206668997,273.00058987889,348.83408706747,392.4383479509,405.0976494977,418.60090448096,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the enharmonic genus"},phryg_enhcon:{frequencies:[261.6255653006,283.42769574232,288.87822835275,294.32876096318,392.4383479509,403.33941317176,414.24047839262,523.2511306012],description:"Harmonic Conjunct Enharmonic Phrygian"},phryg_enhinv:{frequencies:[261.6255653006,327.03195662575,337.93302184661,348.83408706747,392.4383479509,501.44900015948,512.35006538034,523.2511306012],description:"Inverted Schlesinger's Enharmonic Phrygian Harmonia"},phryg_enhinv2:{frequencies:[261.6255653006,267.07609791103,272.52663052146,348.83408706747,392.4383479509,403.33941317176,414.24047839262,523.2511306012],description:"Inverted harmonic form of Schlesinger's Enharmonic Phrygian"},phryg_penta:{frequencies:[261.6255653006,270.64713651786,285.40970760065,348.83408706747,392.4383479509,413.09299784305,448.50096908674,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the pentachromatic genus"},phryg_pis:{frequencies:[261.6255653006,294.32876096318,336.37572681506,362.25078272391,392.4383479509,428.11456140098,470.92601754108,523.2511306012,554.03060887186,588.65752192635,672.75145363011,724.50156544782,784.8766959018,856.22912280196,941.85203508216,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Phrygian Tonos"},phryg_tri1:{frequencies:[261.6255653006,273.00058987889,285.40970760065,348.83408706747,392.4383479509,418.60090448096,448.50096908674,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the chromatic genus"},phryg_tri1inv:{frequencies:[261.6255653006,305.22982618403,327.03195662575,348.83408706747,392.4383479509,479.64686971777,501.44900015948,523.2511306012],description:"Inverted Schlesinger's Chromatic Phrygian Harmonia"},phryg_tri2:{frequencies:[261.6255653006,269.10058145205,285.40970760065,348.83408706747,392.4383479509,409.50088481833,448.50096908674,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the second trichromatic genus"},phryg_tri3:{frequencies:[261.6255653006,269.10058145205,277.01530443593,348.83408706747,392.4383479509,409.50088481833,428.11456140098,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the first trichromatic genus"},phrygian:{frequencies:[261.6255653006,290.69507255622,313.95067836072,327.03195662575,348.83408706747,353.19451315581,387.59343007496,392.4383479509,418.60090448096,436.04260883433,465.11211608996,470.92601754108,523.2511306012],description:"Old Phrygian ??"},phrygian_diat:{frequencies:[261.6255653006,277.01530443593,294.32876096318,336.37572681506,348.83408706747,362.25078272391,376.74081403286,392.4383479509,428.11456140098,448.50096908674,470.92601754108,495.71159741166,523.2511306012,554.03060887186,588.65752192635,672.75145363011,697.66817413493,724.50156544782,753.48162806573,784.8766959018,856.22912280196,897.00193817349,941.85203508216,991.42319482333,1046.5022612024],description:"Phrygian Diatonic Tonos"},phrygian_enh:{frequencies:[261.6255653006,277.01530443593,294.32876096318,303.82323712328,308.80394592858,313.95067836072,348.83408706747,392.4383479509,400.78810003496,405.0976494977,409.50088481833,459.44001711325,523.2511306012],description:"Phrygian Enharmonic Tonos"},phrygian_harm:{frequencies:[261.6255653006,273.00058987889,285.40970760065,299.00064605783,313.95067836072,330.47439827444,348.83408706747,369.35373924791,392.4383479509,418.60090448096,448.50096908674,483.00104363188,523.2511306012],description:"Phrygian Harmonia-Aliquot 24 (flute tuning)"},piano:{frequencies:[261.6255653006,275.93321340298,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,348.83408706747,367.91095120397,372.08969287196,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,465.11211608996,490.54793493862,515.07533168556,523.2511306012],description:"Enhanced Piano Total Gamut, see 1/1 vol. 8/2 January 1994"},piano7:{frequencies:[261.6255653006,275.93321340298,294.32876096318,305.22982618403,327.03195662575,348.83408706747,367.91095120397,392.4383479509,406.97310157871,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Enhanced piano 7-limit"},pipedum_10:{frequencies:[261.6255653006,279.06726965397,306.59245933664,327.03195662575,348.83408706747,372.08969287196,396.89567239676,431.14564594215,459.88868900496,490.54793493862,523.2511306012],description:"2048/2025 and 34171875/33554432 are homophonic intervals"},pipedum_10a:{frequencies:[261.6255653006,279.06726965397,294.32876096318,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,465.11211608996,490.54793493862,523.2511306012],description:"2048/2025 and 25/24, Manuel Op de Coul, 2001"},pipedum_10b:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,348.83408706747,367.91095120397,392.4383479509,418.60090448096,446.50763144636,490.54793493862,523.2511306012],description:"225/224, 64/63 and 25/24 are homophonic intervals"},pipedum_10c:{frequencies:[261.6255653006,280.31310567921,305.22982618403,327.03195662575,348.83408706747,373.75080757229,392.4383479509,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"225/224, 64/63 and 49/48 are homophonic intervals"},pipedum_10d:{frequencies:[261.6255653006,279.06726965397,299.00064605783,318.93402246168,343.38355445704,372.08969287196,392.4383479509,425.24536328225,448.50096908674,488.36772189445,523.2511306012],description:"1029/1024, 2048/2025 and 64/63 are homophonic intervals"},pipedum_10e:{frequencies:[261.6255653006,286.15296204753,305.22982618403,327.03195662575,348.83408706747,367.91095120397,406.97310157871,429.2294430713,465.11211608996,490.54793493862,523.2511306012],description:"2048/2025, 64/63 and 49/48 are homophonic intervals"},pipedum_10f:{frequencies:[261.6255653006,280.31310567921,294.32876096318,327.03195662575,348.83408706747,373.75080757229,392.4383479509,420.46965851882,465.11211608996,490.54793493862,523.2511306012],description:"225/224, 64/63 and 28/27 are homophonic intervals"},pipedum_10g:{frequencies:[261.6255653006,280.31310567921,299.00064605783,325.57848126297,348.83408706747,372.08969287196,398.6675280771,425.24536328225,457.84473927605,490.54793493862,523.2511306012],description:"225/224, 1029/1024 and 2048/2025 are homophonic intervals"},pipedum_10h:{frequencies:[261.6255653006,286.15296204753,305.22982618403,327.03195662575,348.83408706747,373.75080757229,400.61414686654,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"225/224, 1029/1024 and 64/63 are homophonic intervals"},pipedum_10i:{frequencies:[261.6255653006,279.06726965397,294.32876096318,321.92208230347,343.38355445704,367.91095120397,392.4383479509,418.60090448096,457.84473927605,488.36772189445,523.2511306012],description:"225/224, 2048/2025 and 49/48 are homophonic intervals"},pipedum_10j:{frequencies:[261.6255653006,269.10058145205,305.22982618403,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,457.84473927605,488.36772189445,523.2511306012],description:"25/24, 28/27 and 49/48, Gene Ward Smith, 2002"},pipedum_10k:{frequencies:[261.6255653006,280.31310567921,299.00064605783,320.49131749323,343.38355445704,367.91095120397,394.1903048614,420.46965851882,455.80987376816,488.36772189445,523.2511306012],description:"2048/2025, 225/224 and 2401/2400"},pipedum_11:{frequencies:[261.6255653006,272.52663052146,282.55561052465,313.95067836072,327.03195662575,363.36884069528,376.74081403286,392.4383479509,436.04260883433,454.2110508691,470.92601754108,523.2511306012],description:"16/15 and 15625/15552 are homophonic intervals"},pipedum_11a:{frequencies:[261.6255653006,269.10058145205,305.22982618403,313.95067836072,322.92069774245,366.27579142084,376.74081403286,381.53728273004,436.04260883433,448.50096908674,508.71637697339,523.2511306012],description:"126/125, 1728/1715 and 10/9, Gene Ward Smith, 2002"},pipedum_12:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"81/80 and 2048/2025 are homophonic intervals"},pipedum_12a:{frequencies:[261.6255653006,279.06726965397,297.67175429757,306.59245933664,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"81/80 and 2048/2025 are homophonic intervals"},pipedum_12b:{frequencies:[261.6255653006,274.70684356563,299.00064605783,313.95067836072,320.49131749323,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,488.36772189445,523.2511306012],description:"64/63, 50/49 comma and 36/35 chroma"},pipedum_12c:{frequencies:[261.6255653006,280.31310567921,294.32876096318,315.35224388912,327.03195662575,348.83408706747,367.91095120397,392.4383479509,420.46965851882,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"225/224, 64/63 and 36/35 are homophonic intervals"},pipedum_12d:{frequencies:[261.6255653006,280.31310567921,293.02063313667,313.95067836072,327.03195662575,350.39138209902,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"50/49, 128/125 and 225/224 are homophonic intervals"},pipedum_12e:{frequencies:[261.6255653006,280.31310567921,293.02063313667,313.95067836072,327.03195662575,350.39138209902,373.75080757229,392.4383479509,418.60090448096,439.53094970501,467.18850946536,500.55911728431,523.2511306012],description:"50/49, 225/224 and 3136/3125 are homophonic intervals"},pipedum_12f:{frequencies:[261.6255653006,273.74326726486,293.02063313667,313.95067836072,327.03195662575,350.39138209902,366.27579142084,392.4383479509,408.78994578219,437.98922762377,468.83301301868,490.54793493862,523.2511306012],description:"128/125, 3136/3125 and 703125/702464 are homophonic intervals"},pipedum_12g:{frequencies:[261.6255653006,279.06726965397,286.15296204753,306.59245933664,327.03195662575,348.83408706747,366.27579142084,390.69417751556,408.78994578219,437.98922762377,457.84473927605,488.36772189445,523.2511306012],description:"50/49, 225/224 and 28672/28125 are homophonic intervals"},pipedum_12h:{frequencies:[261.6255653006,275.93321340298,291.02331101095,310.42486507835,330.74639366397,348.83408706747,367.91095120397,392.4383479509,413.89982010446,436.53496651643,465.11211608996,496.11959049595,523.2511306012],description:"2048/2025 and 67108864/66430125, Gene Ward Smith, 2004"},pipedum_12i:{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,336.37572681506,348.83408706747,378.42269266694,392.4383479509,406.97310157871,441.49314144476,465.11211608996,504.56359022259,523.2511306012],description:"64/63 and 6561/6272, Gene Ward Smith, 2004"},pipedum_12j:{frequencies:[261.6255653006,283.8170195002,285.83021674664,310.07474405997,336.37572681506,348.83408706747,378.42269266694,392.4383479509,413.43299207996,448.50096908674,465.11211608996,504.56359022259,523.2511306012],description:"6561/6272 and 59049/57344"},pipedum_12k:{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,336.37572681506,348.83408706747,356.10146388137,392.4383479509,406.97310157871,448.50096908674,457.84473927605,474.80195184183,523.2511306012],description:"64/63 and 729/686, Gene Ward Smith, 2004"},pipedum_12l:{frequencies:[261.6255653006,276.16031892841,294.32876096318,310.68035879446,331.39238271409,348.83408706747,368.21375857121,392.4383479509,414.24047839262,441.49314144476,465.11211608996,497.08857407114,523.2511306012],description:"81/80, 361/360 and 513/512, Gene Ward Smith"},pipedum_13:{frequencies:[261.6255653006,276.76092858245,287.78812183066,309.14739649778,327.03195662575,345.95116072807,359.73515228832,380.54627680087,408.78994578219,418.60090448096,449.66894036041,475.68284600109,494.63583439645,523.2511306012],description:"33275/32768 and 163840/161051 are homophonic intervals. Op de Coul, 2001"},pipedum_13a:{frequencies:[261.6255653006,266.96486255163,293.02063313667,299.00064605783,327.03195662575,334.88072358477,366.27579142084,373.75080757229,408.78994578219,418.60090448096,457.84473927605,467.18850946536,512.78610798918,523.2511306012],description:"15/14, 3136/3125, 2401/2400, Gene Ward Smith, 2002"},pipedum_13b:{frequencies:[261.6255653006,267.90457886781,293.02063313667,299.00064605783,327.03195662575,334.88072358477,366.27579142084,373.75080757229,408.78994578219,418.60090448096,457.84473927605,467.18850946536,510.98743222773,523.2511306012],description:"15/14, 3136/3125, 6144/6125, Gene Ward Smith, 2002"},pipedum_13bp:{frequencies:[261.6255653006,282.55561052465,305.16005936662,336.45263027341,363.36884069528,392.4383479509,436.04260883433,470.92601754108,508.60009894437,545.05326104292,605.61473449213,654.0639132515,706.38902631162,784.8766959018],description:"78732/78125 and 250/243, twelfth based, Manuel Op de Coul, 2003"},pipedum_13bp2:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,376.74081403286,392.4383479509,436.04260883433,470.92601754108,523.2511306012,565.1112210493,627.90135672144,678.13346525916,726.73768139056,784.8766959018],description:"250/243 and 648/625, twelfth based, Manuel Op de Coul, 2003"},pipedum_13c:{frequencies:[261.6255653006,267.07609791103,293.02063313667,299.00064605783,327.03195662575,334.88072358477,366.27579142084,373.75080757229,408.78994578219,418.60090448096,457.84473927605,467.18850946536,512.57253609913,523.2511306012],description:"15/14, 2401/2400, 6144/6125, Gene Ward Smith, 2002"},pipedum_13d:{frequencies:[261.6255653006,281.04308772525,287.78812183066,309.14739649778,327.03195662575,334.88072358477,359.73515228832,380.54627680087,408.78994578219,418.60090448096,449.66894036041,475.68284600109,494.63583439645,523.2511306012],description:"125/121 and 33275/32768, Joe Monzo, 2003"},pipedum_13e:{frequencies:[261.6255653006,276.76092858245,287.78812183066,304.4370214407,327.03195662575,334.88072358477,359.73515228832,380.54627680087,408.78994578219,418.60090448096,449.66894036041,475.68284600109,494.63583439645,523.2511306012],description:"33275/32768 and 163840/161051, Manuel Op de Coul, 2004"},pipedum_14:{frequencies:[261.6255653006,274.70684356563,284.76252005507,305.22982618403,320.49131749323,336.37572681506,348.83408706747,373.90653707544,392.4383479509,406.97310157871,427.14378008261,448.50096908674,480.73697623985,498.33441009638,523.2511306012],description:"81/80, 49/48 and 2401/2400, Paul Erlich, TL 17-1-2001"},pipedum_14a:{frequencies:[261.6255653006,274.70684356563,284.8811711051,305.22982618403,320.35783506196,336.37572681506,348.83408706747,366.27579142084,392.4383479509,406.97310157871,427.32175665765,448.50096908674,480.53675259294,498.33441009638,523.2511306012],description:"81/80, 50/49 and 2401/2400, Paul Erlich, 2001"},pipedum_14b:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,313.95067836072,339.14425131559,353.19451315581,366.27579142084,392.4383479509,406.97310157871,418.60090448096,457.84473927605,470.92601754108,508.71637697339,523.2511306012],description:"245/243, 81/80 comma and 25/24 chroma"},pipedum_14c:{frequencies:[261.6255653006,280.31310567921,282.55561052465,305.22982618403,327.03195662575,336.37572681506,363.36884069528,366.27579142084,392.4383479509,403.65087217807,436.04260883433,467.18850946536,470.92601754108,508.71637697339,523.2511306012],description:"245/243, 50/49 comma and 25/24 chroma"},pipedum_15:{frequencies:[261.6255653006,272.52663052146,290.69507255622,301.39265122629,313.95067836072,327.03195662575,348.83408706747,363.36884069528,376.74081403286,392.4383479509,418.60090448096,436.04260883433,454.2110508691,470.92601754108,502.32108537715,523.2511306012],description:"126/125, 128/125 and 875/864, 5-limit, Paul Erlich, 2001"},pipedum_15a:{frequencies:[261.6255653006,274.70684356563,290.69507255622,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,381.53728273004,392.4383479509,418.60090448096,436.04260883433,457.84473927605,488.36772189445,502.32108537715,523.2511306012],description:"Septimal version of pipedum_15, Manuel Op de Coul, 2001"},pipedum_15b:{frequencies:[261.6255653006,274.70684356563,286.15296204753,299.00064605783,311.45900631024,327.03195662575,343.38355445704,357.69120255941,382.72082695402,398.6675280771,418.60090448096,439.53094970501,457.84473927605,478.40103369253,498.33441009638,523.2511306012],description:"126/125, 128/125 and 1029/1024, Paul Erlich, 2001"},pipedum_15c:{frequencies:[261.6255653006,274.70684356563,284.76252005507,299.00064605783,313.95067836072,327.03195662575,341.71502406609,358.80077526939,381.53728273004,400.61414686654,418.60090448096,436.04260883433,457.84473927605,480.73697623985,498.33441009638,523.2511306012],description:"49/48, 126/125 and 1029/1024, Paul Erlich, 2001"},pipedum_15d:{frequencies:[261.6255653006,274.70684356563,286.15296204753,299.00064605783,313.95067836072,327.03195662575,343.38355445704,360.55273217989,379.68336007343,398.6675280771,418.60090448096,436.04260883433,457.84473927605,478.40103369253,498.33441009638,523.2511306012],description:"64/63, 126/125 and 1029/1024, Paul Erlich, 2001"},pipedum_15e:{frequencies:[261.6255653006,273.37201925287,286.15296204753,299.00064605783,313.95067836072,332.22294006425,343.38355445704,358.80077526939,381.53728273004,398.6675280771,412.06026534844,436.04260883433,457.84473927605,478.40103369253,500.76768358318,523.2511306012],description:"64/63, 875/864 and 1029/1024, Paul Erlich, 2001"},pipedum_15f:{frequencies:[261.6255653006,274.70684356563,290.69507255622,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,387.59343007496,392.4383479509,418.60090448096,436.04260883433,465.11211608996,488.36772189445,490.54793493862,523.2511306012],description:"126/125, 64/63 comma and 28/27 chroma"},pipedum_15g:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,376.74081403286,392.4383479509,418.60090448096,436.04260883433,465.11211608996,470.92601754108,502.32108537715,523.2511306012],description:"128/125 and 250/243"},pipedum_16:{frequencies:[261.6255653006,274.70684356563,286.15296204753,299.00064605783,313.95067836072,327.03195662575,343.38355445704,355.95315006884,373.75080757229,384.58958099188,400.61414686654,418.60090448096,439.53094970501,457.84473927605,480.73697623985,498.33441009638,523.2511306012],description:"50/49, 126/125 and 1029/1024, Paul Erlich, 2001"},pipedum_16a:{frequencies:[261.6255653006,272.52663052146,283.88190679319,301.39265122629,313.95067836072,327.03195662575,340.65828815182,354.85238349148,363.36884069528,385.78259356965,401.85686830172,418.60090448096,436.04260883433,454.2110508691,482.22824196207,502.32108537715,523.2511306012],description:"3125/3072 and 1990656/1953125, OdC 2004"},pipedum_17:{frequencies:[261.6255653006,269.10058145205,286.15296204753,294.32876096318,305.22982618403,318.93402246168,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,429.2294430713,448.50096908674,465.11211608996,478.40103369253,508.71637697339,523.2511306012],description:"245/243, 64/63 and 525/512, Paul Erlich, 2001"},pipedum_17a:{frequencies:[261.6255653006,271.31540105247,286.15296204753,296.75121990114,305.22982618403,318.93402246168,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,429.2294430713,448.50096908674,461.31528248922,478.40103369253,504.56359022259,523.2511306012],description:"245/243, 525/512 and 1728/1715, Paul Erlich, 2001"},pipedum_17b:{frequencies:[261.6255653006,264.89588486686,286.15296204753,294.32876096318,305.22982618403,327.03195662575,339.14425131559,343.38355445704,367.91095120397,381.53728273004,392.4383479509,406.97310157871,436.04260883433,441.49314144476,457.84473927605,490.54793493862,508.71637697339,523.2511306012],description:"245/243, 64/63 comma and 25/24 chroma"},pipedum_17c:{frequencies:[261.6255653006,273.6806973752,285.83021674664,299.00064605783,310.07474405997,321.55899383997,336.37572681506,348.83408706747,364.90759650026,378.42269266694,392.4383479509,413.43299207996,428.74532511996,448.50096908674,465.11211608996,486.54346200035,504.56359022259,523.2511306012],description:"1605632/1594323 and 177147/175616, Manuel Op de Coul, 2002"},pipedum_17d:{frequencies:[261.6255653006,274.08392555301,284.23518205497,299.00064605783,308.34441624714,319.76457981184,336.37572681506,348.83408706747,365.44523407068,373.05867644715,392.4383479509,411.12588832951,426.35277308246,448.50096908674,465.11211608996,479.64686971777,504.56359022259,523.2511306012],description:"243/242, 99/98 and 64/63, Manuel Op de Coul, 2002"},pipedum_17e:{frequencies:[261.6255653006,271.31540105247,286.15296204753,296.75121990114,310.07474405997,321.92208230347,336.37572681506,348.83408706747,362.16234259141,378.42269266694,395.66829320152,413.43299207996,429.2294430713,445.12682985172,465.11211608996,482.88312345521,504.56359022259,523.2511306012],description:"245/243, 1728/1715 and 32805/32768, Manuel Op de Coul, 2003"},pipedum_17f:{frequencies:[261.6255653006,269.80136421624,285.40970760065,294.32876096318,310.07474405997,319.76457981184,331.11985608357,348.83408706747,359.73515228832,380.54627680087,392.4383479509,413.43299207996,428.11456140098,441.49314144476,465.11211608996,479.64686971777,507.3950357345,523.2511306012],description:"243/242 and 8192/8019, Manuel Op de Coul"},pipedum_17g:{frequencies:[261.6255653006,274.08392555301,285.40970760065,299.00064605783,305.22982618403,319.76457981184,336.37572681506,348.83408706747,359.73515228832,380.54627680087,392.4383479509,406.97310157871,428.11456140098,448.50096908674,457.84473927605,479.64686971777,499.46698830115,523.2511306012],description:"243/242, 896/891 and 99/98, Manuel Op de Coul"},pipedum_18:{frequencies:[261.6255653006,272.52663052146,280.31310567921,296.75121990114,305.22982618403,317.94773560837,327.03195662575,340.65828815182,350.39138209902,379.84156147346,390.69417751556,406.97310157871,418.60090448096,436.04260883433,448.50096908674,474.80195184183,488.36772189445,508.71637697339,523.2511306012],description:"875/864, 686/675 and 128/125, Paul Erlich, 2001"},pipedum_18a:{frequencies:[261.6255653006,269.10058145205,280.31310567921,293.02063313667,305.22982618403,313.95067836072,327.03195662575,341.85740532612,356.10146388137,366.27579142084,384.42940207435,400.44729382745,418.60090448096,436.04260883433,448.50096908674,467.18850946536,488.36772189445,508.71637697339,523.2511306012],description:"875/864, 686/675 and 50/49, Paul Erlich, 2001"},pipedum_18b:{frequencies:[261.6255653006,272.52663052146,280.31310567921,296.75121990114,305.22982618403,317.94773560837,327.03195662575,346.20975655133,356.10146388137,373.75080757229,384.42940207435,400.44729382745,418.60090448096,436.04260883433,448.50096908674,467.18850946536,488.36772189445,508.71637697339,523.2511306012],description:"1728/1715, 875/864 and 686/675, Paul Erlich, 2001"},pipedum_19:{frequencies:[261.6255653006,272.52663052146,282.55561052465,290.69507255622,301.39265122629,313.95067836072,327.03195662575,339.06673262958,348.83408706747,363.36884069528,376.74081403286,392.4383479509,401.85686830172,418.60090448096,436.04260883433,452.08897683944,470.92601754108,484.4917875937,502.32108537715,523.2511306012],description:"81/80 and 15625/15552 are homophonic intervals, inverse of Mandelbaum"},pipedum_19a:{frequencies:[261.6255653006,271.25338610366,282.55561052465,294.32876096318,301.39265122629,313.95067836072,327.03195662575,339.06673262958,353.19451315581,361.67118147155,376.74081403286,392.4383479509,408.78994578219,416.64520105522,434.00541776586,452.08897683944,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"3125/3072 and 15625/15552 are homophonic intervals"},pipedum_19b:{frequencies:[261.6255653006,272.52663052146,282.55561052465,290.69507255622,302.80736724606,313.95067836072,327.03195662575,339.06673262958,348.83408706747,363.36884069528,376.74081403286,392.4383479509,403.74315632809,418.60090448096,436.04260883433,452.08897683944,470.92601754108,484.4917875937,502.32108537715,523.2511306012],description:"15625/15552 and 78732/78125, Paul Erlich, TL 19-2-2001"},pipedum_19c:{frequencies:[261.6255653006,269.10058145205,280.31310567921,290.69507255622,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,376.74081403286,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,470.92601754108,488.36772189445,508.71637697339,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19d:{frequencies:[261.6255653006,271.31540105247,280.31310567921,290.69507255622,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,376.74081403286,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,470.92601754108,488.36772189445,504.56359022259,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19e:{frequencies:[261.6255653006,269.10058145205,280.31310567921,287.04062021552,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,476.92160341255,488.36772189445,508.71637697339,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19f:{frequencies:[261.6255653006,269.10058145205,279.06726965397,287.04062021552,305.22982618403,315.35224388912,327.03195662575,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,418.60090448096,434.10464168396,448.50096908674,476.92160341255,490.54793493862,508.71637697339,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19g:{frequencies:[261.6255653006,269.10058145205,280.31310567921,288.32205155576,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,360.4025644447,379.84156147346,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,474.80195184183,488.36772189445,508.71637697339,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19h:{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,353.19451315581,366.27579142084,381.53728273004,392.4383479509,412.06026534844,415.27867508032,436.04260883433,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"126/125, 81/80 comma and 49/48 chroma"},pipedum_19i:{frequencies:[261.6255653006,275.93321340298,286.15296204753,294.32876096318,305.22982618403,321.92208230347,327.03195662575,343.38355445704,348.83408706747,367.91095120397,381.53728273004,392.4383479509,406.97310157871,429.2294430713,436.04260883433,457.84473927605,465.11211608996,490.54793493862,515.07533168556,523.2511306012],description:"225/224, 81/80 comma and 49/48 chroma"},pipedum_19j:{frequencies:[261.6255653006,266.96486255163,286.15296204753,293.02063313667,299.00064605783,320.49131749323,327.03195662575,333.70607818954,358.95027559242,366.27579142084,373.75080757229,381.37837507376,410.22888639134,418.60090448096,427.14378008261,457.84473927605,467.18850946536,478.40103369253,512.78610798918,523.2511306012],description:"21/20, 3136/3125 and 2401/2400, Gene Ward Smith, 2002"},pipedum_19k:{frequencies:[261.6255653006,267.90457886781,286.15296204753,293.02063313667,299.00064605783,320.49131749323,327.03195662575,334.88072358477,357.69120255941,366.27579142084,373.75080757229,382.72082695402,408.78994578219,418.60090448096,427.14378008261,457.84473927605,467.18850946536,478.40103369253,510.98743222773,523.2511306012],description:"21/20, 3136/3125 and 6144/6125, Gene Ward Smith, 2002"},pipedum_19l:{frequencies:[261.6255653006,267.07609791103,286.15296204753,293.02063313667,299.00064605783,320.49131749323,327.03195662575,333.84512238879,358.80077526939,366.27579142084,373.75080757229,381.53728273004,410.05802887931,418.60090448096,427.14378008261,457.84473927605,467.18850946536,478.40103369253,512.57253609913,523.2511306012],description:"21/20, 2401/2400 and 6144/6125, Gene Ward Smith, 2002"},pipedum_19m:{frequencies:[261.6255653006,269.10058145205,293.02063313667,299.00064605783,305.22982618403,313.95067836072,317.94773560837,348.83408706747,358.80077526939,366.27579142084,373.75080757229,406.97310157871,418.60090448096,430.56093032327,436.04260883433,448.50096908674,488.36772189445,502.32108537715,508.71637697339,523.2511306012],description:"126/125, 1728/1715 and 16/15, Gene Ward Smith, 2002"},pipedum_19n:{frequencies:[261.6255653006,267.07609791103,274.70684356563,280.31310567921,305.22982618403,313.95067836072,320.49131749323,327.03195662575,333.70607818954,366.27579142084,373.75080757229,381.53728273004,392.4383479509,427.32175665765,436.04260883433,448.50096908674,457.84473927605,467.18850946536,512.78610798918,523.2511306012],description:"126/125, 2401/2400 and 16/15, Gene Ward Smith, 2002"},pipedum_19o:{frequencies:[261.6255653006,272.52663052146,280.31310567921,290.69507255622,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,376.74081403286,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,470.92601754108,488.36772189445,502.32108537715,523.2511306012],description:"225/224, 3136/3125 and 4375/4374, OdC 2000"},pipedum_21:{frequencies:[261.6255653006,267.07609791103,280.31310567921,284.8811711051,299.00064605783,305.22982618403,320.35783506196,327.03195662575,341.85740532612,348.83408706747,366.27579142084,373.75080757229,392.4383479509,400.44729382745,418.60090448096,427.32175665765,448.50096908674,457.84473927605,480.53675259294,488.36772189445,512.57253609913,523.2511306012],description:"36/35, 225/224 and 2401/2400, P. Erlich, 2001. Just PB version of miracle1"},pipedum_21a:{frequencies:[261.6255653006,265.7783520514,286.15296204753,290.69507255622,299.00064605783,305.22982618403,327.03195662575,332.22294006425,343.38355445704,348.83408706747,373.75080757229,381.53728273004,392.4383479509,398.6675280771,429.2294430713,436.04260883433,448.50096908674,457.84473927605,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"1029/1024, 81/80 comma and 25/24 chroma"},pipedum_21b:{frequencies:[261.6255653006,267.07609791103,279.06726965397,284.8811711051,299.00064605783,305.22982618403,318.93402246168,325.57848126297,343.38355445704,348.83408706747,366.27579142084,372.08969287196,392.4383479509,398.6675280771,418.60090448096,427.32175665765,448.50096908674,457.84473927605,478.40103369253,488.36772189445,496.11959049595,523.2511306012],description:"36/35, 225/224 and 1029/1024, Gene Ward Smith, 2002"},pipedum_21c:{frequencies:[261.6255653006,269.46602871384,279.06726965397,287.4304306281,297.67175429757,306.59245933664,317.51653791741,327.03195662575,344.91651675372,348.83408706747,367.91095120397,372.08969287196,392.4383479509,396.89567239676,418.60090448096,431.14564594215,446.50763144636,459.88868900496,476.27480687611,490.54793493862,508.02646066786,523.2511306012],description:"First 128/125 and ampersand comma Fokker block"},pipedum_22:{frequencies:[261.6255653006,267.90457886781,279.06726965397,285.76488412567,299.40669857094,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,357.20610515709,365.77905168086,383.2405741708,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,457.22381460107,479.0507177135,490.54793493862,510.98743222773,523.2511306012],description:"3125/3072 and 2109375/2097152 are homophonic intervals"},pipedum_22a:{frequencies:[261.6255653006,267.90457886781,279.06726965397,287.4304306281,297.67175429757,306.59245933664,317.51653791741,327.03195662575,334.88072358477,348.83408706747,357.20610515709,372.08969287196,381.01984550089,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,459.88868900496,476.27480687611,490.54793493862,508.02646066786,523.2511306012],description:"2048/2025 and 2109375/2097152 are homophonic intervals"},pipedum_22b:{frequencies:[261.6255653006,271.31540105247,279.06726965397,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,357.69120255941,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,429.2294430713,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:'2025/2048, 245/243 and 64/63. P. Erlich "7-limit Indian", TL 19-12-2000'},pipedum_22b2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,429.2294430713,448.50096908674,465.11211608996,478.40103369253,490.54793493862,504.56359022259,523.2511306012],description:"Version of pipedum_22b with other shape, Paul Erlich"},pipedum_22c:{frequencies:[261.6255653006,267.07609791103,274.70684356563,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,498.33441009638,512.57253609913,523.2511306012],description:"1728/1715, 64/63 and 50/49, Paul Erlich, 2001"},pipedum_22d:{frequencies:[261.6255653006,269.10058145205,274.70684356563,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,333.84512238879,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,410.05802887931,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,498.33441009638,508.71637697339,523.2511306012],description:"1728/1715, 875/864 and 64/63, Paul Erlich, 2001"},pipedum_22e:{frequencies:[261.6255653006,269.10058145205,274.70684356563,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,356.10146388137,366.27579142084,384.42940207435,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,498.33441009638,508.71637697339,523.2511306012],description:"1728/1715, 245/243 and 50/49, Paul Erlich, 2001"},pipedum_22f:{frequencies:[261.6255653006,269.10058145205,276.78916949353,290.69507255622,296.75121990114,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,461.31528248922,470.92601754108,494.58536650191,508.71637697339,523.2511306012],description:"1728/1715, 245/243 and 875/864, Paul Erlich, 2001"},pipedum_22g:{frequencies:[261.6255653006,267.07609791103,279.06726965397,286.15296204753,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,478.40103369253,490.54793493862,512.57253609913,523.2511306012],description:"225/224, 1728/1715 and 64/63, Paul Erlich, 2001"},pipedum_22h:{frequencies:[261.6255653006,269.10058145205,280.31310567921,287.04062021552,296.75121990114,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,461.31528248922,476.92160341255,488.36772189445,508.71637697339,523.2511306012],description:"225/224, 1728/1715 and 875/864, Paul Erlich, 2001"},pipedum_22i:{frequencies:[261.6255653006,269.10058145205,279.06726965397,288.32205155576,296.75121990114,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,461.31528248922,474.80195184183,490.54793493862,508.71637697339,523.2511306012],description:"1728/1715, 245/243 and 245/243, Paul Erlich, 2001"},pipedum_22j:{frequencies:[261.6255653006,271.31540105247,280.31310567921,290.69507255622,299.00064605783,305.22982618403,320.35783506196,332.22294006425,336.37572681506,348.83408706747,353.19451315581,373.75080757229,387.59343007496,392.4383479509,406.97310157871,427.14378008261,436.04260883433,448.50096908674,465.11211608996,480.53675259294,498.33441009638,504.56359022259,523.2511306012],description:"50/49, 64/63 and 245/243, Gene Ward Smith, 2002"},pipedum_22k:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,334.88072358477,348.83408706747,359.73515228832,367.91095120397,380.54627680087,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"121/120, 2048/2025 and 4125/4096, Manuel Op de Coul"},pipedum_22l:{frequencies:[261.6255653006,275.62199471997,284.23518205497,290.69507255622,303.18419419197,310.07474405997,319.76457981184,330.74639366397,341.08221846597,348.83408706747,363.82103303037,372.08969287196,387.59343007496,404.24559225596,413.43299207996,426.35277308246,440.99519155196,454.77629128796,465.11211608996,485.09471070715,496.11959049595,511.62332769895,523.2511306012],description:"121/120, 736/729, 100/99 and 2048/2025"},pipedum_23:{frequencies:[261.6255653006,271.25338610366,276.85245005354,287.04062021552,297.60371503945,302.80736724606,313.95067836072,325.50406332439,332.22294006425,344.44874425862,348.83408706747,363.36884069528,376.74081403286,384.51729174103,398.6675280771,413.33849311034,420.56578784176,436.04260883433,452.08897683944,461.42075008924,478.40103369253,496.00619173241,504.67894541011,523.2511306012],description:"6144/6125, 15625/1552 and 5103/5000, Manuel Op de Coul, 2003"},pipedum_24:{frequencies:[261.6255653006,267.57160087561,275.93321340298,285.40970760065,290.69507255622,299.7792935736,310.07474405997,319.76457981184,327.03195662575,338.26335715633,348.83408706747,356.76213450082,367.91095120397,380.54627680087,392.4383479509,401.35740131342,413.43299207996,426.35277308246,436.04260883433,449.66894036041,465.11211608996,479.64686971777,490.54793493862,507.3950357345,523.2511306012],description:"121/120, 16384/16335 and 32805/32768. Manuel Op de Coul, 2001"},pipedum_24a:{frequencies:[261.6255653006,272.52663052146,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,321.92208230347,327.03195662575,343.38355445704,348.83408706747,366.27579142084,367.91095120397,381.53728273004,392.4383479509,412.06026534844,418.60090448096,429.2294430713,436.04260883433,457.84473927605,470.92601754108,488.36772189445,490.54793493862,515.07533168556,523.2511306012],description:"49/48, 81/80 and 128/125, Gene Ward Smith, 2002"},pipedum_24b:{frequencies:[261.6255653006,271.31540105247,275.62199471997,289.72987407313,294.32876096318,305.22982618403,310.07474405997,325.94610833227,331.11985608357,343.38355445704,348.83408706747,361.75386806997,372.50983809402,386.30649876417,392.4383479509,406.97310157871,413.43299207996,434.59481110969,441.49314144476,457.84473927605,465.11211608996,482.33849075995,496.67978412536,515.07533168556,523.2511306012],description:"49/48, 81/80 and 531441/524288"},pipedum_25:{frequencies:[261.6255653006,268.26840191956,274.70684356563,281.29980781121,291.99281841585,299.00064605783,306.17666156322,313.95067836072,327.03195662575,335.33550239945,343.38355445704,351.62475976401,364.99102301981,373.75080757229,382.72082695402,392.4383479509,408.78994578219,418.60090448096,429.2294430713,439.53094970501,447.89271634391,467.18850946536,478.40103369253,490.54793493862,502.32108537715,523.2511306012],description:"65625/65536, 1029/1024 and 3125/3072, Manuel Op de Coul, 2003"},pipedum_26:{frequencies:[261.6255653006,267.07609791103,274.70684356563,286.15296204753,292.89859205665,299.00064605783,305.22982618403,313.95067836072,327.03195662575,333.84512238879,341.71502406609,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,400.61414686654,410.05802887931,418.60090448096,436.04260883433,448.50096908674,457.84473927605,467.3831713443,478.40103369253,498.33441009638,512.57253609913,523.2511306012],description:"1029/1024, 1728/1715 and 50/49, Paul Erlich, 2001"},pipedum_26a:{frequencies:[261.6255653006,272.52663052146,274.70684356563,286.15296204753,294.32876096318,305.22982618403,306.59245933664,321.92208230347,325.57848126297,327.03195662575,343.38355445704,348.83408706747,366.27579142084,367.91095120397,381.53728273004,392.4383479509,408.78994578219,412.06026534844,429.2294430713,436.04260883433,457.84473927605,459.88868900496,465.11211608996,488.36772189445,490.54793493862,515.07533168556,523.2511306012],description:"50/49, 81/80 and 525/512, Gene Ward Smith, 2002"},pipedum_26b:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,290.69507255622,301.39265122629,306.59245933664,313.95067836072,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,376.74081403286,392.4383479509,401.85686830172,408.78994578219,418.60090448096,436.04260883433,446.50763144636,454.2110508691,470.92601754108,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"81/80 and 78125/73728, Gene Ward Smith, 2005"},pipedum_27:{frequencies:[261.6255653006,271.20240005245,278.95104005395,284.76252005507,292.89859205665,299.00064605783,307.54352165948,316.40280006119,325.44288006294,332.22294006425,341.71502406609,351.47831046798,358.80077526939,369.05222599138,379.68336007343,390.53145607553,398.6675280771,410.05802887931,418.60090448096,430.56093032327,442.86267118965,455.62003208812,468.63774729064,478.40103369253,492.06963465517,502.32108537715,516.67311638793,523.2511306012],description:"126/125, 1728/1715 and 4000/3969 are homophonic intervals, Paul Erlich"},pipedum_27a:{frequencies:[261.6255653006,269.10058145205,274.70684356563,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,406.97310157871,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,498.33441009638,508.71637697339,523.2511306012],description:"126/126, 1728/1715 and 64/63, Paul Erlich, 2001"},pipedum_27b:{frequencies:[261.6255653006,266.96486255163,272.52663052146,280.31310567921,293.02063313667,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,333.70607818954,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,410.22888639134,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,467.18850946536,488.36772189445,502.32108537715,512.78610798918,523.2511306012],description:"2401/2400, 126/125 and 128/125, Paul Erlich, 2001"},pipedum_27c:{frequencies:[261.6255653006,266.96486255163,274.70684356563,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.35783506196,327.03195662575,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,418.60090448096,427.32175665765,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,498.33441009638,512.78610798918,523.2511306012],description:"2401/2400, 126/125 and 686/675, Paul Erlich, 2001"},pipedum_27d:{frequencies:[261.6255653006,266.96486255163,274.70684356563,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,336.37572681506,348.83408706747,355.95315006884,366.27579142084,373.75080757229,384.58958099188,392.4383479509,406.97310157871,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,498.33441009638,512.78610798918,523.2511306012],description:"2401/2400, 126/125 and 64/63, Paul Erlich, 2001"},pipedum_27e:{frequencies:[261.6255653006,269.10058145205,274.70684356563,282.55561052465,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.35783506196,329.64821227876,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,415.27867508032,427.32175665765,436.04260883433,448.50096908674,457.84473927605,470.92601754108,484.4917875937,498.33441009638,508.71637697339,523.2511306012],description:"2401/2400, 126/125 and 245/243, Paul Erlich, 2001"},pipedum_27f:{frequencies:[261.6255653006,267.07609791103,272.52663052146,280.31310567921,293.02063313667,299.00064605783,305.22982618403,313.95067836072,320.35783506196,327.03195662575,333.84512238879,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,410.05802887931,418.60090448096,427.32175665765,436.04260883433,448.50096908674,457.84473927605,467.18850946536,488.36772189445,502.32108537715,512.57253609913,523.2511306012],description:"2401/2400, 1728/1715 and 128/125, Paul Erlich, 2001"},pipedum_27g:{frequencies:[261.6255653006,267.07609791103,274.59243005311,280.31310567921,290.81619550312,299.00064605783,305.22982618403,313.95067836072,320.35783506196,327.03195662575,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,418.60090448096,427.32175665765,436.04260883433,448.50096908674,457.84473927605,470.72988009104,488.36772189445,498.54204943392,512.57253609913,523.2511306012],description:"2401/2400, 1728/1715 and 686/675, Paul Erlich, 2001"},pipedum_27h:{frequencies:[261.6255653006,267.07609791103,274.70684356563,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,498.33441009638,512.57253609913,523.2511306012],description:"2401/2400, 1728/1715 and 64/63, Paul Erlich, 2001"},pipedum_27i:{frequencies:[261.6255653006,269.10058145205,274.70684356563,282.43792805463,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,329.51091606373,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,415.4517078616,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,484.69365917187,498.33441009638,508.71637697339,523.2511306012],description:"2401/2400, 1728/1715 and 245/243, Paul Erlich, 2001"},pipedum_27j:{frequencies:[261.6255653006,269.16210421872,276.91574508099,282.55561052465,290.69507255622,299.06900468747,305.16005936662,313.95067836072,322.99452506247,329.57286411595,339.06673262958,348.83408706747,358.88280562497,366.19207123994,376.74081403286,387.59343007496,395.48743693914,406.88007915549,418.60090448096,423.83341578697,436.04260883433,448.60350703121,461.52624180165,470.92601754108,484.4917875937,498.44834114579,508.60009894437,523.2511306012],description:"78732/78125 and 390625000/387420489"},pipedum_27k:{frequencies:[261.6255653006,264.89588486686,275.62199471997,279.38237857051,290.69507255622,294.32876096318,298.00787047521,310.07474405997,313.95067836072,331.11985608357,344.52749339997,348.83408706747,353.19451315581,367.49599295996,372.50983809402,387.59343007496,392.4383479509,397.34382730029,413.43299207996,418.60090448096,441.49314144476,447.01180571282,459.36999119996,465.11211608996,470.92601754108,496.67978412536,516.79124009995,523.2511306012],description:"67108864/66430125 and 25/24"},pipedum_28:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,285.76488412567,299.40669857094,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,428.6473261885,436.04260883433,446.50763144636,457.22381460107,479.0507177135,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"393216/390625 and 16875/16384"},pipedum_29:{frequencies:[261.6255653006,266.96486255163,274.70684356563,280.31310567921,288.44218574391,294.32876096318,300.33547037059,310.07474405997,316.40280006119,325.57848126297,332.22294006425,341.85740532612,348.83408706747,355.95315006884,366.27579142084,373.75080757229,384.58958099188,392.4383479509,400.44729382745,412.06026534844,420.46965851882,434.10464168396,442.96392008567,455.80987376816,465.11211608996,474.60420009179,488.36772189445,498.33441009638,512.78610798918,523.2511306012],description:"5120/5103, 225/224 and 50421/50000, Manuel Op de Coul, 2003"},pipedum_29a:{frequencies:[261.6255653006,272.52663052146,274.70684356563,286.15296204753,290.69507255622,294.32876096318,305.22982618403,313.95067836072,317.94773560837,327.03195662575,339.14425131559,343.38355445704,348.83408706747,363.36884069528,366.27579142084,372.60080508745,381.53728273004,392.4383479509,408.78994578219,412.06026534844,429.2294430713,436.04260883433,441.49314144476,457.84473927605,470.92601754108,476.92160341255,490.54793493862,508.71637697339,515.07533168556,523.2511306012],description:"49/48, 55/54, 65/64, 91/90 and 100/99"},pipedum_31:{frequencies:[261.6255653006,271.62175694356,275.93321340298,281.68182201554,289.72987407313,294.32876096318,300.46061014991,310.42486507835,316.89204976748,321.92208230347,331.11985608357,338.01818641865,343.38355445704,356.50355598842,362.16234259141,367.91095120397,380.27045972098,386.30649876417,392.4383479509,407.43263541533,413.89982010446,422.52273302331,434.59481110969,441.49314144476,450.69091522486,465.63729761752,475.33807465122,482.88312345521,496.67978412536,507.02727962797,515.07533168556,523.2511306012],description:"81/80, 225/224 and 1029/1024 are homophonic intervals"},pipedum_31a:{frequencies:[261.6255653006,269.46602871384,275.93321340298,282.55561052465,287.4304306281,294.32876096318,301.39265122629,306.59245933664,313.95067836072,321.48549464138,329.20114651277,336.83253589231,344.91651675372,353.19451315581,359.28803828513,367.91095120397,376.74081403286,385.78259356965,392.4383479509,401.85686830172,411.50143314096,421.04066986538,431.14564594215,441.49314144476,452.08897683944,459.88868900496,470.92601754108,482.22824196207,490.54793493862,502.32108537715,514.3767914262,523.2511306012],description:"393216/390625 and 2109375/2097152 are homophonic intervals"},pipedum_31b:{frequencies:[261.6255653006,267.07609791103,280.31310567921,286.15296204753,290.69507255622,294.32876096318,299.00064605783,305.22982618403,307.54352165948,327.03195662575,333.84512238879,339.14425131559,343.38355445704,348.83408706747,356.10146388137,373.75080757229,381.53728273004,387.59343007496,392.4383479509,400.61414686654,406.97310157871,429.2294430713,436.04260883433,445.12682985172,448.50096908674,457.84473927605,465.11211608996,490.54793493862,498.33441009638,508.71637697339,515.07533168556,523.2511306012],description:"245/243, 1029/1024 comma and 25/24 chroma"},pipedum_31c:{frequencies:[261.6255653006,265.7783520514,274.70684356563,279.06726965397,286.15296204753,293.02063313667,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,334.88072358477,343.38355445704,348.83408706747,360.55273217989,366.27579142084,373.75080757229,384.58958099188,392.4383479509,398.6675280771,412.06026534844,418.60090448096,429.2294430713,439.53094970501,448.50096908674,457.84473927605,470.92601754108,480.73697623985,490.54793493862,502.32108537715,515.07533168556,523.2511306012],description:"126/125, 225/224 and 1029/1024, Op de Coul"},pipedum_31d:{frequencies:[261.6255653006,269.10058145205,274.70684356563,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,316.53463456122,327.03195662575,336.37572681506,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,403.65087217807,406.97310157871,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,470.92601754108,478.40103369253,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"1728/1715, 225/224 and 81/80"},pipedum_31e:{frequencies:[261.6255653006,267.07609791103,272.52663052146,276.85245005354,286.15296204753,290.69507255622,299.00064605783,305.22982618403,311.45900631024,317.94773560837,327.03195662575,332.22294006425,343.38355445704,348.83408706747,357.69120255941,363.36884069528,373.75080757229,381.53728273004,392.4383479509,398.6675280771,408.78994578219,415.27867508032,429.2294430713,436.04260883433,448.50096908674,457.84473927605,467.18850946536,476.92160341255,490.54793493862,498.33441009638,508.71637697339,523.2511306012],description:'81/80, 126/125 and 1029/1024, Gene Smith (2005) "Synstargam"'},pipedum_32:{frequencies:[261.6255653006,267.07609791103,270.30192333353,280.31310567921,286.15296204753,292.11448209019,299.00064605783,305.22982618403,311.5887808962,315.35224388912,325.57848126297,333.84512238879,337.87740416691,348.83408706747,356.10146388137,360.4025644447,367.91095120397,379.84156147346,384.42940207435,394.1903048614,406.97310157871,415.4517078616,420.46965851882,429.2294430713,443.14848838571,448.50096908674,457.84473927605,474.80195184183,480.53675259294,490.54793493862,500.76768358318,512.57253609913,523.2511306012],description:"225/224, 2048/2025 and 117649/116640"},pipedum_32a:{frequencies:[261.6255653006,268.26840191956,274.59243005311,280.31310567921,286.15296204753,292.89859205665,299.00064605783,305.22982618403,311.5887808962,320.35783506196,327.03195662575,333.84512238879,341.71502406609,348.83408706747,356.10146388137,364.4960256705,372.08969287196,381.53728273004,390.53145607553,398.6675280771,406.97310157871,416.56688648057,425.24536328225,434.10464168396,438.17172313528,450.50320555588,459.88868900496,469.46970335923,480.53675259294,490.54793493862,500.76768358318,512.57253609913,523.2511306012],description:"589824/588245, 225/224 and 2048/2025"},pipedum_34:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,283.88190679319,290.69507255622,294.32876096318,301.39265122629,306.59245933664,313.95067836072,321.48549464138,327.03195662575,334.88072358477,340.65828815182,348.83408706747,354.85238349148,363.36884069528,367.91095120397,376.74081403286,385.78259356965,392.4383479509,401.85686830172,408.78994578219,418.60090448096,425.82286018978,436.04260883433,446.50763144636,454.2110508691,465.11211608996,470.92601754108,482.22824196207,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"15625/15552 and 393216/390625 are homophonic intervals"},pipedum_34a:{frequencies:[261.6255653006,264.89588486686,272.52663052146,279.06726965397,282.55561052465,290.69507255622,294.32876096318,301.39265122629,306.59245933664,313.95067836072,317.87506184023,327.03195662575,334.88072358477,340.65828815182,348.83408706747,353.19451315581,363.36884069528,367.91095120397,376.74081403286,387.59343007496,392.4383479509,401.85686830172,408.78994578219,418.60090448096,423.83341578697,436.04260883433,441.49314144476,452.08897683944,465.11211608996,470.92601754108,484.4917875937,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"15625/15552 and 2048/2025, Manuel Op de Coul, 2001"},pipedum_34b:{frequencies:[261.6255653006,267.57160087561,272.52663052146,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.7792935736,310.07474405997,313.95067836072,319.76457981184,327.03195662575,334.88072358477,342.49164912079,348.83408706747,356.76213450082,359.73515228832,367.91095120397,380.54627680087,383.71749577421,392.4383479509,399.70572476481,408.78994578219,418.60090448096,428.11456140098,436.04260883433,441.49314144476,449.66894036041,465.11211608996,470.92601754108,479.64686971777,490.54793493862,502.32108537715,511.62332769895,523.2511306012],description:"100/99, 243/242 and 5632/5625, Manuel Op de Coul"},pipedum_36:{frequencies:[261.6255653006,267.07609791103,269.10058145205,280.31310567921,286.15296204753,290.69507255622,294.32876096318,300.46061014991,305.22982618403,311.5887808962,320.35783506196,327.03195662575,333.84512238879,336.37572681506,343.38355445704,348.83408706747,356.10146388137,367.91095120397,373.75080757229,381.53728273004,384.42940207435,392.4383479509,400.61414686654,406.97310157871,420.46965851882,429.2294430713,436.04260883433,445.12682985172,448.50096908674,457.84473927605,467.3831713443,480.53675259294,490.54793493862,498.33441009638,508.71637697339,515.07533168556,523.2511306012],description:"1029/1024, 245/243 comma and 50/49 chroma, Gene Ward Smith, 2001"},pipedum_36a:{frequencies:[261.6255653006,264.89588486686,275.62199471997,275.93321340298,279.06726965397,290.69507255622,293.99679436797,294.32876096318,310.07474405997,310.42486507835,313.95067836072,327.03195662575,330.74639366397,331.11985608357,348.83408706747,349.22797321314,353.19451315581,367.91095120397,372.08969287196,372.50983809402,387.59343007496,392.4383479509,397.34382730029,413.43299207996,413.89982010446,418.60090448096,436.04260883433,440.99519155196,441.49314144476,465.11211608996,465.63729761752,470.92601754108,490.54793493862,496.11959049595,496.67978412536,516.79124009995,523.2511306012],description:"1125/1024 and 531441/524288, Op de Coul"},pipedum_37:{frequencies:[261.6255653006,263.718569823,276.85245005354,279.06726965397,280.31310567921,290.69507255622,293.02063313667,299.00064605783,308.98710943476,311.45900631024,313.95067836072,325.57848126297,332.22294006425,333.70607818954,346.06556256693,348.83408706747,351.62475976401,353.19451315581,370.78453132171,373.75080757229,376.74081403286,390.69417751556,392.4383479509,400.44729382745,415.27867508032,418.60090448096,421.94971171681,436.04260883433,444.94143758605,448.50096908674,465.11211608996,467.18850946536,470.92601754108,494.37937509562,498.33441009638,502.32108537715,519.0983438504,523.2511306012],description:"250/243, 3136/3125 and 3125/3087, Gene Ward Smith, 2002"},pipedum_38:{frequencies:[261.6255653006,271.25338610366,272.52663052146,280.3771918945,282.55561052465,290.69507255622,292.95365699196,301.39265122629,302.80736724606,313.95067836072,315.42434088132,325.50406332439,327.03195662575,336.45263027341,339.06673262958,348.83408706747,350.47148986813,361.67118147155,363.36884069528,376.74081403286,378.50920905758,390.60487598927,392.4383479509,403.74315632809,406.88007915549,418.60090448096,420.56578784176,434.00541776586,436.04260883433,452.08897683944,454.2110508691,467.29531982417,470.92601754108,484.4917875937,488.25609498659,502.32108537715,504.67894541011,519.21702202686,523.2511306012],description:"81/80 and 1224440064/1220703125, Manuel Op de Coul, 2001"},pipedum_38a:{frequencies:[261.6255653006,268.26840191956,272.52663052146,274.70684356563,279.06726965397,286.15296204753,293.02063313667,294.32876096318,305.22982618403,306.59245933664,313.95067836072,321.92208230347,327.03195662575,329.64821227876,340.65828815182,343.38355445704,348.83408706747,357.69120255941,366.27579142084,367.91095120397,381.53728273004,383.2405741708,390.69417751556,392.4383479509,408.78994578219,412.06026534844,418.60090448096,429.2294430713,436.04260883433,439.53094970501,457.84473927605,459.88868900496,470.92601754108,476.92160341255,488.36772189445,490.54793493862,510.98743222773,515.07533168556,523.2511306012],description:"50/49, 81/80 and 3125/3072, Gene Ward Smith, 2002"},pipedum_41:{frequencies:[261.6255653006,265.71346475842,269.80136421624,274.70684356563,280.31310567921,286.15296204753,290.69507255622,294.32876096318,299.00064605783,303.67253115248,308.34441624714,313.95067836072,320.49131749323,327.03195662575,331.11985608357,336.37572681506,343.38355445704,348.83408706747,354.2846196779,359.73515228832,366.27579142084,373.75080757229,381.53728273004,387.40708707973,392.4383479509,400.61414686654,406.97310157871,412.06026534844,418.60090448096,425.14154361347,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,495.99846754905,503.62921320365,513.90736041189,523.2511306012],description:"100/99 105/104 196/195 275/273 385/384, Paul Erlich, TL 3-11-2000"},pipedum_41a:{frequencies:[261.6255653006,265.71346475842,269.80136421624,274.70684356563,280.31310567921,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,373.75080757229,380.54627680087,387.59343007496,392.4383479509,400.61414686654,406.97310157871,411.12588832951,418.60090448096,425.14154361347,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,495.99846754905,503.62921320365,513.90736041189,523.2511306012],description:"pipedum_41 improved shape by Manuel Op de Coul, all intervals superparticular"},pipedum_41b:{frequencies:[261.6255653006,265.7783520514,271.31540105247,274.70684356563,279.06726965397,284.8811711051,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,331.11985608357,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,373.75080757229,381.53728273004,387.59343007496,392.4383479509,398.6675280771,406.97310157871,412.06026534844,418.60090448096,425.14154361347,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,498.33441009638,504.56359022259,515.07533168556,523.2511306012],description:"pipedum_41 more improved shape by M. OdC, all intervals superparticular"},pipedum_41c:{frequencies:[261.6255653006,267.07609791103,271.31540105247,275.93321340298,280.31310567921,286.15296204753,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,315.35224388912,320.35783506196,327.03195662575,333.84512238879,336.37572681506,343.38355445704,348.83408706747,356.10146388137,360.4025644447,367.91095120397,373.75080757229,381.53728273004,384.42940207435,392.4383479509,398.6675280771,406.97310157871,410.05802887931,420.46965851882,429.2294430713,436.04260883433,445.12682985172,448.50096908674,457.84473927605,465.11211608996,474.80195184183,480.53675259294,490.54793493862,498.33441009638,508.71637697339,512.57253609913,523.2511306012],description:"225/224, 245/243 and 1029/1024, Gene Ward Smith, 2002"},pipedum_41d:{frequencies:[261.6255653006,264.89588486686,272.52663052146,275.93321340298,279.06726965397,282.55561052465,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.07474405997,313.95067836072,317.51653791741,327.03195662575,331.11985608357,334.88072358477,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,376.74081403286,387.59343007496,392.4383479509,396.89567239676,408.78994578219,413.89982010446,418.60090448096,423.83341578697,436.04260883433,441.49314144476,446.50763144636,459.88868900496,465.11211608996,470.92601754108,484.4917875937,490.54793493862,496.11959049595,502.32108537715,517.37477513058,523.2511306012],description:"3125/3072 and 32805/32768"},pipedum_43:{frequencies:[261.6255653006,269.10058145205,273.37201925287,274.70684356563,282.55561052465,286.15296204753,287.04062021552,290.69507255622,299.00064605783,305.22982618403,307.54352165948,313.95067836072,322.92069774245,327.03195662575,328.04642310345,332.22294006425,341.71502406609,343.38355445704,348.83408706747,358.80077526939,366.27579142084,369.05222599138,376.74081403286,379.68336007343,381.53728273004,392.4383479509,398.6675280771,410.05802887931,412.06026534844,418.60090448096,423.93031414449,430.56093032327,436.04260883433,448.50096908674,455.62003208812,457.84473927605,470.92601754108,478.40103369253,492.06963465517,494.47231841813,498.33441009638,508.71637697339,512.57253609913,523.2511306012],description:"81/80, 126/125 and 12288/12005, Gene Ward Smith, 2002"},pipedum_45:{frequencies:[261.6255653006,265.7783520514,267.07609791103,274.70684356563,279.06726965397,280.31310567921,284.8811711051,293.02063313667,294.32876096318,299.00064605783,303.74668805875,305.22982618403,313.95067836072,320.49131749323,325.57848126297,327.03195662575,336.37572681506,341.85740532612,343.38355445704,348.83408706747,356.10146388137,358.80077526939,366.27579142084,372.08969287196,373.75080757229,384.58958099188,392.4383479509,398.6675280771,400.61414686654,406.97310157871,418.60090448096,420.46965851882,427.32175665765,436.04260883433,439.53094970501,448.50096908674,455.80987376816,457.84473927605,465.11211608996,478.40103369253,480.73697623985,488.36772189445,498.33441009638,512.78610798918,515.07533168556,523.2511306012],description:"81/80, 525/512 and 2401/2400, Gene Ward Smith, 2002"},scala205pipedum_45a:{frequencies:[261.6255653006,267.07609791103,269.10058145205,274.70684356563,276.85245005354,282.55561052465,288.32205155576,290.69507255622,296.75121990114,299.00064605783,305.22982618403,311.45900631024,313.95067836072,320.49131749323,322.99452506247,329.64821227876,336.37572681506,339.14425131559,345.98646186692,348.83408706747,356.10146388137,363.28578496026,366.27579142084,373.75080757229,376.82694590621,384.42940207435,392.4383479509,395.66829320152,403.65087217807,406.97310157871,415.27867508032,423.83341578697,427.14378008261,436.04260883433,439.53094970501,448.50096908674,457.84473927605,461.31528248922,470.92601754108,474.80195184183,484.4917875937,494.47231841813,498.33441009638,508.71637697339,512.57253609913,523.2511306012],description:"81/80, 2401/2400 and 4375/4374, Gene Ward Smith"},pipedum_46:{frequencies:[261.6255653006,265.7783520514,270.41454913492,274.70684356563,279.06726965397,280.31310567921,286.15296204753,290.69507255622,295.30928005711,300.46061014991,305.22982618403,310.07474405997,313.95067836072,320.49131749323,325.57848126297,327.03195662575,332.22294006425,339.14425131559,343.38355445704,348.83408706747,354.37113606854,360.55273217989,366.27579142084,372.08969287196,373.75080757229,381.53728273004,387.59343007496,392.4383479509,398.6675280771,406.97310157871,412.06026534844,418.60090448096,427.32175665765,429.2294430713,436.04260883433,442.96392008567,450.69091522486,457.84473927605,465.11211608996,470.92601754108,480.73697623985,488.36772189445,490.54793493862,498.33441009638,508.71637697339,515.07533168556,523.2511306012],description:"126/125, 1029/1024 and 5120/5103. Manuel Op de Coul, 2001"},pipedum_46a:{frequencies:[261.6255653006,267.07609791103,269.10058145205,274.70684356563,279.06726965397,280.31310567921,286.15296204753,290.69507255622,294.32876096318,299.00064605783,305.22982618403,307.54352165948,313.95067836072,320.35783506196,320.49131749323,327.03195662575,332.22294006425,336.37572681506,343.38355445704,348.83408706747,353.19451315581,358.80077526939,366.12324007081,366.27579142084,373.75080757229,381.53728273004,387.59343007496,392.4383479509,398.6675280771,406.97310157871,412.06026534844,418.60090448096,427.14378008261,427.32175665765,436.04260883433,445.12682985172,448.50096908674,457.84473927605,465.11211608996,470.92601754108,478.40103369253,488.36772189445,490.54793493862,498.33441009638,508.71637697339,512.57253609913,523.2511306012],description:"126/125, 1029/1024 and 245/243, Gene Ward Smith, 2002"},pipedum_46b:{frequencies:[261.6255653006,264.89588486686,271.25338610366,272.52663052146,279.06726965397,282.55561052465,283.88190679319,290.69507255622,294.32876096318,301.39265122629,302.80736724606,310.07474405997,313.95067836072,317.87506184023,322.99452506247,327.03195662575,334.88072358477,339.06673262958,340.65828815182,348.83408706747,353.19451315581,361.67118147155,363.36884069528,372.08969287196,376.74081403286,381.45007420827,387.59343007496,392.4383479509,401.85686830172,403.74315632809,408.78994578219,418.60090448096,423.83341578697,430.65936674996,436.04260883433,441.49314144476,452.08897683944,454.2110508691,465.11211608996,470.92601754108,482.22824196207,484.4917875937,490.54793493862,502.32108537715,508.60009894437,516.79124009995,523.2511306012],description:"2048/2025 and 78732/78125"},pipedum_46c:{frequencies:[261.6255653006,266.47048317654,271.31540105247,274.08392555301,279.06726965397,282.62020942966,287.78812183066,290.69507255622,297.67175429757,299.7792935736,306.97399661937,310.07474405997,313.95067836072,319.76457981184,325.57848126297,328.90071066361,332.22294006425,339.14425131559,342.60490694126,348.83408706747,355.29397756872,359.73515228832,363.36884069528,372.08969287196,374.72411696701,383.71749577421,387.59343007496,394.68085279633,399.70572476481,406.97310157871,411.12588832951,418.60090448096,426.35277308246,431.68218274599,436.04260883433,446.50763144636,449.66894036041,460.46099492906,465.11211608996,467.18850946536,479.64686971777,484.4917875937,496.11959049595,499.63215595601,511.62332769895,516.79124009995,523.2511306012],description:"126/125, 176/175, 385/384 and 896/891, Paul Erlich"},pipedum_46d:{frequencies:[261.6255653006,267.23182741418,272.79915715198,274.70684356563,278.36648688978,283.42769574232,287.78812183066,291.52562990638,297.59908052943,299.7792935736,303.67253115248,311.77046531655,313.95067836072,320.67819289702,324.7609013714,327.03195662575,334.03978426773,340.11323489078,343.04051394309,345.34574619679,354.2846196779,359.73515228832,366.27579142084,374.12455837986,376.74081403286,381.53728273004,389.71308164569,392.4383479509,402.90337056292,408.13588186894,411.12588832951,419.69101100305,425.14154361347,431.68218274599,439.53094970501,445.38637902364,448.50096908674,457.84473927605,467.65569797482,470.92601754108,479.64686971777,485.87604984397,490.54793493862,503.62921320365,510.16985233617,519.61744219425,523.2511306012],description:"91/90, 121/120, 126/125, 169/168 and 176/175"},pipedum_5:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"16/15 and 27/25"},pipedum_50:{frequencies:[261.6255653006,267.07609791103,269.10058145205,273.37201925287,274.70684356563,276.85245005354,284.76252005507,286.15296204753,290.69507255622,299.00064605783,300.46061014991,305.22982618403,307.54352165948,313.95067836072,316.40280006119,320.49131749323,327.03195662575,332.22294006425,333.84512238879,341.71502406609,343.38355445704,348.83408706747,358.80077526939,360.55273217989,361.60320006994,366.27579142084,373.75080757229,379.68336007343,381.53728273004,392.4383479509,398.6675280771,400.61414686654,410.05802887931,412.06026534844,418.60090448096,423.93031414449,427.14378008261,436.04260883433,445.12682985172,448.50096908674,455.62003208812,457.84473927605,470.92601754108,478.40103369253,480.73697623985,484.4917875937,498.33441009638,500.76768358318,508.71637697339,512.57253609913,523.2511306012],description:"81/80, 126/125 and 16807/16384, Gene Ward Smith, 2002"},pipedum_53:{frequencies:[261.6255653006,264.89588486686,269.16210421872,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,298.00787047521,302.80736724606,306.59245933664,310.07474405997,313.95067836072,317.87506184023,322.99452506247,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,397.34382730029,403.74315632809,408.78994578219,413.89982010446,418.60090448096,423.83341578697,430.65936674996,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,476.81259276034,484.4917875937,490.54793493862,496.67978412536,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"15625/15552 and 32805/32768, Manuel Op de Coul, 2001"},pipedum_53a:{frequencies:[261.6255653006,266.96486255163,269.10058145205,272.52663052146,276.85245005354,280.31310567921,282.55561052465,288.32205155576,290.69507255622,294.32876096318,299.00064605783,302.80736724606,305.22982618403,311.45900631024,313.95067836072,320.35783506196,322.99452506247,327.03195662575,332.22294006425,336.37572681506,339.14425131559,346.06556256693,348.83408706747,353.19451315581,358.80077526939,363.36884069528,366.27579142084,373.75080757229,376.74081403286,384.42940207435,387.59343007496,392.4383479509,398.6675280771,403.65087217807,406.97310157871,415.27867508032,418.60090448096,423.83341578697,430.56093032327,436.04260883433,441.49314144476,448.50096908674,454.2110508691,457.84473927605,467.18850946536,470.92601754108,480.53675259294,484.4917875937,490.54793493862,498.33441009638,504.56359022259,508.71637697339,519.0983438504,523.2511306012],description:"225/224, 1728/1715 and 4375/4374, Manuel Op de Coul, 2001"},pipedum_53b:{frequencies:[261.6255653006,266.96486255163,269.10058145205,272.52663052146,274.70684356563,280.31310567921,286.03378130532,288.32205155576,290.69507255622,293.02063313667,299.00064605783,301.39265122629,305.22982618403,311.45900631024,313.95067836072,320.35783506196,322.92069774245,327.03195662575,333.70607818954,336.37572681506,341.85740532612,343.24053756638,348.83408706747,351.62475976401,358.80077526939,363.36884069528,366.27579142084,373.75080757229,376.74081403286,384.42940207435,389.3237578878,392.4383479509,400.44729382745,403.65087217807,406.97310157871,410.22888639134,418.60090448096,427.14378008261,430.56093032327,436.04260883433,439.53094970501,448.50096908674,457.65405008851,457.84473927605,467.18850946536,470.92601754108,478.60036745656,480.53675259294,488.36772189445,498.33441009638,502.32108537715,512.57253609913,512.78610798918,523.2511306012],description:"225/224, 1728/1715 and 3125/3087, Gene Ward Smith, 2002"},pipedum_55:{frequencies:[261.6255653006,267.07609791103,269.10058145205,272.52663052146,274.70684356563,279.06726965397,280.31310567921,286.15296204753,293.02063313667,294.32876096318,296.75121990114,299.00064605783,305.22982618403,306.59245933664,313.95067836072,317.94773560837,320.49131749323,325.57848126297,327.03195662575,333.84512238879,336.37572681506,340.65828815182,343.38355445704,348.83408706747,356.10146388137,358.80077526939,366.27579142084,367.91095120397,373.75080757229,376.74081403286,381.53728273004,390.69417751556,392.4383479509,400.61414686654,403.65087217807,406.97310157871,408.78994578219,418.60090448096,427.32175665765,429.2294430713,436.04260883433,439.53094970501,445.12682985172,448.50096908674,457.84473927605,459.88868900496,470.92601754108,474.80195184183,476.92160341255,488.36772189445,490.54793493862,502.32108537715,504.56359022259,508.71637697339,520.92557002075,523.2511306012],description:"81/80, 686/675 and 6144/6125, Gene Ward Smith, 2002"},pipedum_58:{frequencies:[261.6255653006,264.29521392612,268.60224704195,271.31540105247,275.62199471997,277.50997462242,280.31310567921,284.8811711051,287.78812183066,292.35618725654,295.30928005711,297.33211566688,302.17752792219,305.22982618403,310.07474405997,313.23877206058,315.35224388912,320.49131749323,323.76163705949,328.90071066361,332.22294006425,337.63694353197,339.94971891247,343.38355445704,348.83408706747,352.39361856816,358.13632938927,361.75386806997,364.23184169193,370.01329949656,373.75080757229,379.84156147346,383.71749577421,389.80824967539,392.4383479509,396.44282088917,402.90337056292,406.97310157871,413.43299207996,417.65169608078,420.46965851882,427.32175665765,431.68218274599,438.53428088482,442.96392008567,445.99817350032,453.26629188329,457.84473927605,465.11211608996,469.85815809087,477.51510585235,480.73697623985,485.64245558924,493.35106599542,498.33441009638,506.45541529795,511.62332769895,515.07533168556,523.2511306012],description:"9801/9800, 2401/2400, 5120/5103 and 896/891"},pipedum_58a:{frequencies:[261.6255653006,265.65057399753,267.66008354786,270.48058443385,272.52663052146,277.4816601673,281.75060878526,285.40970760065,287.78812183066,293.02063313667,295.1673044417,297.30177875068,301.87565226992,305.22982618403,309.92566966379,313.95067836072,316.2506833304,322.00069575458,323.72860352852,327.03195662575,332.97799220076,338.10073054231,342.60490694126,344.24801655217,348.83408706747,352.18826098158,358.59168390851,362.25078272391,366.27579142084,368.95913055213,375.66747838035,379.50081999647,381.53728273004,388.47432423422,392.4383479509,399.57359064092,402.50086969323,406.97310157871,411.12588832951,418.60090448096,422.62591317789,428.25613367658,430.31002069022,436.04260883433,442.75095666255,450.80097405642,455.40098399577,457.84473927605,466.16918908107,469.58434797544,475.68284600109,483.00104363188,488.36772189445,495.88107146206,499.46698830115,503.12608711654,512.27383415502,516.54278277298,523.2511306012],description:"126/125, 144/143, 176/175, 196/195 and 364/363"},pipedum_5a:{frequencies:[261.6255653006,290.69507255622,348.83408706747,392.4383479509,470.92601754108,523.2511306012],description:"27/25 and 81/80"},pipedum_64:{frequencies:[261.6255653006,267.90457886781,266.96486255163,273.37201925287,274.70684356563,273.74326726486,280.31310567921,280.42990280658,284.76252005507,286.15296204753,294.32876096318,300.05312833195,299.00064605783,300.46061014991,307.67166479351,306.59245933664,313.95067836072,312.84944830269,320.35783506196,320.49131749323,328.18310911307,327.03195662575,336.37572681506,336.5158833679,341.71502406609,343.38355445704,351.62475976401,348.83408706747,358.80077526939,358.95027559242,366.12324007081,366.27579142084,375.06641041494,373.75080757229,382.72082695402,384.58958099188,383.2405741708,392.4383479509,392.60186392921,398.6675280771,400.61414686654,412.06026534844,408.78994578219,418.60090448096,428.6473261885,427.14378008261,429.2294430713,439.53094970501,437.98922762377,448.50096908674,448.68784449053,455.62003208812,457.84473927605,468.83301301868,467.18850946536,478.40103369253,480.73697623985,488.16432009441,490.54793493862,502.32108537715,500.55911728431,512.57253609913,512.78610798918,520.70860810071,523.2511306012],description:"225/224 235298/234375 and 67108864/66706983"},pipedum_65:{frequencies:[261.6255653006,264.59711493117,267.38234771992,270.72462706642,273.0589090967,275.93321340298,279.06726965397,282.00481986086,285.20783756792,287.99181818792,291.26283636981,294.32876096318,297.67175429757,300.80514118491,303.39878788522,306.84479880935,310.42486507835,313.95067836072,317.25542234346,320.85881726391,323.62537374423,327.30111872997,331.11985608357,334.60532825287,338.40578383303,341.32363637087,345.20039866051,348.83408706747,352.79615324157,356.9123501364,360.9661694219,364.07854546226,367.91095120397,372.08969287196,376.00642648114,380.70650681216,383.98909091723,388.35044849308,392.4383479509,396.89567239676,401.07352157989,404.53171718029,409.58836364504,413.89982010446,418.60090448096,423.00722979129,427.81175635188,431.50049832564,436.89425455471,441.49314144476,446.50763144636,451.20771177737,455.09818182783,460.26719821402,465.11211608996,470.92601754108,475.8831335152,481.28822589586,485.43806061635,490.95167809495,496.11959049595,501.90799237931,507.60867574954,511.9854545563,517.80059799077,523.2511306012],description:"1216/1215, 32805/32768 and 39858075/39845888. Manuel Op de Coul, 2001"},pipedum_65a:{frequencies:[261.6255653006,264.89588486686,267.90457886781,269.16210421872,272.52663052146,275.93321340298,279.06726965397,282.55561052465,286.08755565621,287.10624449997,290.69507255622,294.32876096318,298.00787047521,301.39265122629,302.80736724606,306.59245933664,310.07474405997,313.95067836072,317.87506184023,319.0069383333,322.99452506247,327.03195662575,331.11985608357,334.88072358477,339.06673262958,340.65828815182,344.52749339997,348.83408706747,353.19451315581,357.60944457026,358.88280562497,363.36884069528,367.91095120397,372.08969287196,376.74081403286,381.45007420827,383.2405741708,387.59343007496,392.4383479509,397.34382730029,401.85686830172,403.74315632809,408.78994578219,413.43299207996,418.60090448096,423.83341578697,429.13133348431,430.65936674996,436.04260883433,441.49314144476,446.50763144636,452.08897683944,454.2110508691,459.88868900496,465.11211608996,470.92601754108,476.81259276034,478.51040749995,484.4917875937,490.54793493862,496.67978412536,502.32108537715,508.60009894437,510.98743222773,516.79124009995,523.2511306012],description:"78732/78125 and 32805/32768"},pipedum_67:{frequencies:[261.6255653006,262.79353657426,266.96486255163,267.07609791103,272.52663052146,274.70684356563,279.06726965397,280.31310567921,284.8811711051,286.15296204753,293.02063313667,294.32876096318,299.00064605783,299.12522966035,300.33547037059,305.22982618403,306.59245933664,311.45900631024,313.95067836072,320.35783506196,320.49131749323,325.57848126297,327.03195662575,332.22294006425,336.5158833679,339.00300006557,341.85740532612,343.38355445704,348.83408706747,350.39138209902,355.95315006884,360.55273217989,366.27579142084,367.91095120397,373.75080757229,373.90653707544,381.53728273004,384.58958099188,390.69417751556,392.4383479509,398.83363954714,400.44729382745,400.61414686654,406.97310157871,408.78994578219,418.60090448096,420.46965851882,427.32175665765,429.2294430713,436.04260883433,439.53094970501,448.50096908674,448.68784449053,455.80987376816,457.84473927605,459.88868900496,465.11211608996,467.18850946536,474.60420009179,480.73697623985,488.36772189445,490.54793493862,498.33441009638,504.77382505185,512.78610798918,515.07533168556,520.92557002075,523.2511306012],description:"81/80, 1029/1024 and 9604/9375, Gene Ward Smith, 2002"},pipedum_68:{frequencies:[246.94165062806,250.86135936819,252.08626834948,253.99712636029,258.02882677871,259.28873315946,263.4044273366,264.58033995864,268.89201957278,272.13977824317,273.16014686758,276.57464870343,277.80935695657,282.21902928921,286.81815421096,288.0985923994,291.6998248044,292.67158592955,296.32998075367,301.03363124183,302.50352201937,307.30516522603,308.67706328508,311.01688942076,316.08531280392,317.49640795036,322.53603347338,324.11091644933,329.25553417075,333.37122834788,334.48181249092,338.66283514705,340.17472280396,345.71831087928,351.20590311546,352.77378661151,357.18345894416,358.5226927637,362.85303765756,368.76619827124,370.41247594209,376.29203905228,378.12940252422,384.13145653254,387.04324016806,388.93309973919,395.1066410049,396.87050993795,403.33802935916,409.74022030137,411.56941771343,414.86197305514,416.71403543485,423.32854393382,430.22723131644,432.1478885991,439.00737889433,441.15096961159,444.49497113051,451.55044686274,453.56629707195,460.95774783905,468.27453748728,470.36504881535,474.12796920588,476.24461192554,483.80405021008,491.68826436165,493.88330125612],description:"245/243, 2048/2025 and 2401/2400, Gene Ward Smith, 2002"},pipedum_7:{frequencies:[261.6255653006,290.69507255622,317.94773560837,347.75533582165,392.4383479509,429.2294430713,476.92160341255,523.2511306012],description:"81/80, 64/63 and 6144/6125, Manuel Op de Coul"},pipedum_72:{frequencies:[195.99771799087,198.44768946576,200.08100378235,201.59765279061,204.16428957382,205.79760389041,208.41771227328,209.06423252359,211.67753543014,214.37250405251,216.08748408493,217.77524221208,220.49743273973,222.31222642483,223.99739198957,226.79735938944,228.66400432268,231.52230437672,232.29359169288,235.19726158904,238.19167116946,240.09720453882,241.91718334873,244.99714748859,246.9571246685,250.10125472793,251.99706598826,254.07111591409,257.24700486302,258.04499557198,261.33029065449,264.59691928767,266.7746717098,268.79687038748,272.2190527651,274.39680518722,277.89028303104,279.99673998696,282.23671390685,285.83000540335,289.40288047089,290.3669896161,293.99657698631,296.41630189977,300.12150567352,302.39647918591,304.88533909691,308.69640583562,311.1074888744,313.59634878539,317.58889489261,321.55875607877,322.55624446497,326.66286331812,329.27616622466,333.46833963724,335.99608798435,338.76148788545,342.99600648402,347.28345656507,348.44038753932,352.79589238357,357.28750675419,360.14580680822,362.95873702013,365.86240691629,370.43568700274,373.32898664928,376.31561854247,381.10667387114,385.87050729453,387.1559861548,391.99543598174],description:"225/224, 1029/1024 and 4375/4374, Gene Ward Smith, 2002"},pipedum_72a:{frequencies:[195.99771799087,197.5656997348,200.08100378235,201.59765279061,203.21043401293,205.79760389041,207.44398472154,209.99755499022,211.67753543014,213.41973736784,216.04686727389,217.77524221208,219.51744414977,222.31222642483,223.99739198957,226.84921063758,228.66400432268,230.49331635726,233.3306166558,235.19726158904,237.07883968176,240.09720453882,241.91718334873,244.99714748859,246.9571246685,248.93278166584,251.99706598826,254.07111591409,256.1036848414,259.25624072866,261.33029065449,264.65741241051,266.7746717098,268.79687038748,272.2190527651,274.39680518722,276.59197962872,279.99673998696,282.23671390685,285.83000540335,288.11664544658,290.30062001848,293.99657698631,296.3485496022,298.59492344758,302.46561418344,304.88533909691,308.7669811456,311.1074888744,313.59634878539,317.58889489261,320.12960605175,322.55624446497,326.66286331812,329.27616622466,333.46833963724,335.99608798435,338.68405668822,342.99600648402,345.73997453589,348.36074402217,352.79589238357,355.69956227973,360.07811212314,362.95873702013,365.86240691629,370.52037737472,373.32898664928,376.31561854247,381.10667387114,384.15552726211,388.884361093,391.99543598174],description:"4375/4374, 2401/2400 and 15625/15552, Manuel Op de Coul, 2002"},pipedum_72b:{frequencies:[195.99771799087,197.5656997348,200.51849868858,202.12264667808,204.16428957382,205.79760389041,207.94510975112,209.60867062912,211.67753543014,213.41973736784,215.59748978996,218.74745311481,220.49743273973,222.7983318762,224.58071853121,226.79735938944,228.66400432268,230.99731048924,232.89852292125,235.19726158904,238.19167116946,240.62219842629,242.5471760137,244.99714748859,246.9571246685,249.53413170134,251.53040475495,254.07111591409,256.1036848414,259.87197430039,262.49694373777,264.59691928767,267.35799825143,269.49686223745,272.2190527651,274.39680518722,277.19677258709,279.4782275055,283.49669923679,285.83000540335,288.74663811155,291.12315365156,293.99657698631,296.3485496022,299.44095804161,301.83648570594,304.88533909691,309.37139797666,311.91766462667,314.99633248533,317.51630314521,320.82959790172,323.39623468494,326.66286331812,329.27616622466,332.71217560179,336.87107779681,340.19603908415,342.99600648402,346.49596573386,349.34778438187,352.79589238357,355.69956227973,359.32914964993,362.08404605941,367.49572123288,371.24567757199,374.30119755201,377.99559898239,381.10667387114,384.99551748207,388.16420486875,391.99543598174],description:"225/224, 3025/3024, 1375/1372 and 4375/4374"},pipedum_72b2:{frequencies:[195.99771799087,198.44768946576,200.45221158157,202.12264667808,204.16428957382,205.79760389041,207.87636756607,209.06423252359,211.67753543014,213.81569235368,215.59748978996,217.77524221208,220.49743273973,222.72467953508,223.99739198957,226.79735938944,228.66400432268,230.99731048924,233.3306166558,235.19726158904,237.57299150408,239.55276643329,241.97249134675,244.99714748859,246.39713118852,249.45164107929,251.99706598826,254.07111591409,257.24700486302,258.71698774795,261.33029065449,264.59691928767,267.2696154421,269.49686223745,272.2190527651,274.39680518722,277.19677258709,279.99673998696,282.23671390685,285.0875898049,287.46331971994,290.3669896161,293.99657698631,296.96623938011,298.66318931942,302.39647918591,304.88533909691,307.99641398565,311.81455134911,313.59634878539,317.51630314521,320.72353853051,323.39623468494,326.66286331812,329.27616622466,332.60218810572,335.99608798435,338.76148788545,342.99600648402,344.95598366393,348.44038753932,352.79589238357,356.35948725613,359.32914964993,362.95873702013,367.49572123288,369.59569678278,374.17746161893,376.31561854247,380.11678640654,383.28442629326,387.1559861548,391.99543598174],description:"Optimised version of pipedum_72b, Manuel Op de Coul"},pipedum_72c:{frequencies:[195.99771799087,197.5656997348,199.99767141926,201.59765279061,203.25689273127,205.79760389041,207.40499258293,209.99755499022,211.67753543014,213.41973736784,215.9974851328,217.77524221208,219.51744414977,222.31222642483,223.99739198957,226.79735938944,228.66400432268,230.49331635726,233.3306166558,235.19726158904,237.13304151982,239.99720570311,241.91718334873,244.99714748859,246.9571246685,248.88599109952,251.99706598826,254.07111591409,256.1036848414,259.19698215935,261.33029065449,264.59691928767,266.7746717098,268.79687038748,272.2190527651,274.39680518722,276.47678096998,279.99673998696,282.23671390685,285.83000540335,287.99664684373,290.3669896161,293.99657698631,296.41630189977,298.66318931942,302.39647918591,304.88533909691,308.69640583562,311.1074888744,313.59634878539,317.58889489261,320.12960605175,322.55624446497,326.66286331812,329.27616622466,333.32945236543,335.99608798435,338.76148788545,342.99600648402,345.59597621247,348.44038753932,352.79589238357,355.69956227973,359.99580855466,362.95873702013,365.86240691629,370.43568700274,373.32898664928,376.31561854247,381.10667387114,384.15552726211,388.884361093,391.99543598174],description:"441/440, 2401/2400, 4375/4374 and 1375/1372"},pipedum_74:{frequencies:[174.6141157165,175.4667237034,177.38576834692,178.25190979393,182.45393315683,183.34482150233,186.25505676427,187.16450528362,187.6669026756,191.57662981467,192.51206257744,194.01568412944,194.96302633711,195.48635695375,199.55898939029,200.53339851817,202.72659239648,203.71646833592,208.51878075067,209.5369388598,210.56006844408,212.8629220163,213.90229175271,216.62558481901,218.9447197882,220.01378580279,221.73221043365,222.81488724241,228.06741644604,229.18102687791,231.68753416741,232.81882095533,233.95563160453,239.47078726834,240.6400782218,243.27191087578,244.4597620031,249.5526737115,250.2225369008,251.44432663176,253.4082404956,254.6455854199,259.95070178281,260.64847593833,261.92117357475,266.07865252038,267.37786469089,273.68089973525,275.01723225349,278.02504100089,279.3825851464,280.74675792544,285.20305567028,287.36494472201,291.02352619417,291.92629305093,292.44453950566,297.08651632321,299.33848408543,304.08988859472,305.57470250388,310.42509460711,311.94084213937,312.778171126,319.29438302446,320.85343762907,325.94634933747,328.4170796823,333.63004920107,334.22233086361,335.25910217568,339.52744722653,342.10112466906,347.53130125111,349.228231433],description:"81/80, 126/125 and 4194304/4117715, Gene Ward Smith, 2002"},pipedum_81:{frequencies:[116.54094037952,117.10998793997,118.96887663743,119.87068153322,121.77339076391,122.3679873985,122.96548733697,124.86529326377,124.9173204693,126.84728204574,127.4666535401,128.08904930934,130.12220882219,130.47149010419,131.10855792696,133.18964614802,133.83998621711,135.96443044277,136.62831926329,136.99506460939,139.16958944446,139.84912845542,140.53198552796,142.70319230145,142.76265196491,144.96832233798,145.6761754744,146.38748492496,148.71109579678,149.83835191653,152.21673845488,152.95998424812,153.70685917121,155.38792050603,156.14665058662,156.56578812502,159.82757537763,160.60798346053,163.08936263023,163.15731653133,163.95398311595,166.48705768503,167.29998277138,169.12970939431,169.95553805347,170.78539907912,173.96198680558,174.81141056928,175.66498190995,177.58619486403,178.45331495614,182.66008614586,183.55198109774,184.08675852442,184.44823100545,186.46550460723,187.37598070395,190.2709230686,191.19998031015,193.29109645065,194.23490063253,195.18331323328,199.78446922203,200.75997932566,202.95565127318,203.94664566416,204.94247889494,208.7543841667,209.77369268314,210.79797829194,213.10343383684,214.14397794737,217.45248350698,218.5142632116,218.60531082127,221.98274358004,223.06664369518,227.71386543882,228.32510768232,229.43997637218,231.94931574077,233.08188075904],description:"81/80, 126/125 and 17294403/16777216, Gene Ward Smith, 2002"},pipedum_87:{frequencies:[82.40688922822,83.34286871081,83.43697534357,84.3846545697,84.87648045204,85.84050961273,86.81548824043,86.91351598289,87.90068184343,87.99993493267,88.99944036648,90.43280025045,90.53491248218,91.56321025358,92.60318745646,92.70775038175,93.76072729966,93.86659726152,95.37834401414,96.46165360048,96.57057331432,97.66742427048,97.77770548075,98.88826707386,100.01144245297,100.59434720242,101.73690028175,101.85177654245,103.00861153527,104.17858588852,104.29621917947,105.48081821212,105.59992191921,107.30063701591,108.51936030054,108.64189497861,109.87585230429,111.12382494775,111.2493004581,112.5128727596,113.16864060272,114.45401281697,115.75398432057,115.88468797718,117.20090912458,117.3332465769,118.66592048864,120.5770670006,120.7132166429,122.0842803381,122.22213185094,123.61033384233,125.01430306622,125.15546301536,127.17112535219,128.61553813397,128.76076441909,130.22323236064,130.37027397433,131.85102276515,133.3485899373,133.49916054972,135.64920037567,135.80236872326,137.34481538037,138.90478118469,139.06162557262,140.6410909495,140.79989589228,143.06751602122,144.69248040072,144.85585997148,146.50113640572,146.66655822112,148.3324006108,150.01716367946,150.89152080363,152.60535042263,154.33864576076,154.51291730291,156.26787883277,156.4443287692,158.22122731818,160.76942266746,160.95095552387,162.7790404508,162.96284246792,164.81377845644],description:"67108864/66430125 and 15625/15552, Op de Coul"},pipedum_9:{frequencies:[261.6255653006,280.31310567921,305.22982618403,327.03195662575,348.83408706747,392.4383479509,420.46965851882,448.50096908674,490.54793493862,523.2511306012],description:"225/224, 49/48 and 36/35 are homophonic intervals"},pipedum_99:{frequencies:[41.20344461411,41.53307217102,41.72802550619,42.06184971024,42.3806858888,42.72949811834,42.92025480636,43.26361684482,43.60972577957,43.95034092172,44.14654780083,44.49972018324,44.86597302425,45.06626754668,45.407877738,45.78160512679,46.1478579678,46.35387519087,46.73538856693,47.08965098755,47.46636819545,47.68917200707,48.07068538313,48.45525086619,48.65129757643,49.0517197787,49.44413353693,49.83968660523,50.07363060743,50.47421965228,50.85682306656,51.275397742,51.50430576764,51.91634021378,52.34363519496,52.55541404861,52.975857361,53.41187264792,53.8391676291,54.07952105602,54.50191086522,54.93792615215,55.37742956136,55.62465022905,56.08246628032,56.50758118507,56.7598471725,57.22700640849,57.68482245975,58.14630103943,58.41923570866,58.86206373444,59.33296024432,59.82129736567,60.08835672891,60.56906358274,61.04214016905,61.31464972338,61.80516692116,62.29960825653,62.81236223395,63.06649685833,63.5710288332,64.0942471775,64.60700115492,64.89542526722,65.40229303827,65.92551138258,66.21982170125,66.7648408099,67.29895953638,67.80909742208,68.12738858153,68.67240769018,69.2217869517,69.77556124732,70.1030828504,70.63447648133,71.19955229318,71.53375801061,72.10602807469,72.68287629929,73.25056820286,73.57757966805,74.1662003054,74.77662170709,75.37483468075,75.67979623,76.30267521131,76.91309661301,77.25645865146,77.87451032067,78.48275164592,79.11061365909,79.4637860415,80.11780897188,80.75875144366,81.37091690649,81.75286629784,82.40688922822],description:"2401/2400, 3136/3125 and 4375/4374, Gene Ward Smith, 2002"},pipedum_9a:{frequencies:[261.6255653006,282.62020942966,305.22982618403,329.72357766794,356.10146388137,384.67750727926,415.4517078616,448.79042515914,484.69365917187,523.2511306012],description:"4375/4374, 2401/2400 and 21/20 are homophonic intervals"},pipedum_9b:{frequencies:[261.6255653006,279.06726965397,306.59245933664,327.03195662575,357.20610515709,383.2405741708,418.60090448096,446.50763144636,490.54793493862,523.2511306012],description:"128/125 and 2109375/2097152 are homophonic intervals"},pipedum_9c:{frequencies:[261.6255653006,285.40970760065,305.22982618403,332.97799220076,348.83408706747,392.4383479509,411.12588832951,448.50096908674,479.64686971777,523.2511306012],description:"49/48, 21/20, 99/98 and 121/120, Gene Ward Smith, 2002"},pipedum_9d:{frequencies:[261.6255653006,277.4816601673,308.34441624714,327.03195662575,346.85207520913,394.68085279633,418.60090448096,443.97065626768,493.35106599542,523.2511306012],description:"128/125, 36/35, 99/98 and 121/120, Gene Ward Smith, 2002"},pipedum_9e:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,502.32108537715,523.2511306012],description:"21/20, 27/25 and 128/125"},polansky_ps:{frequencies:[261.6255653006,523.2511306012,784.8766959018,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,2877.8812183066,3139.5067836072,3401.1323489078,3662.7579142084,3924.383479509,4186.0090448096,4447.6346101102,327.03195662575,654.0639132515,981.09586987725,1308.127826503,1635.15978312875,1962.1917397545,2289.22369638025,2616.255653006,2943.28760963175,3270.3195662575,3597.35152288325,3924.383479509,4251.41543613475,4578.4473927605,4905.47934938625,5232.511306012,5559.54326263775,392.4383479509,784.8766959018,1177.3150438527,1569.7533918036,1962.1917397545,2354.6300877054,2747.0684356563,3139.5067836072,3531.9451315581,3924.383479509,4316.8218274599,4709.2601754108,5101.6985233617,5494.1368713126,5886.5752192635,6279.0135672144,6671.4519151653],description:"Three interlocking harmonic series on 1:5:3 by Larry Polansky in Psaltery"},poole:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Poole's double diatonic or dichordal scale"},porcupine:{frequencies:[261.6255653006,268.5059110196,275.56719913678,277.81869773502,285.12489766782,287.45448663717,295.01409284105,302.77250493809,305.24628043356,313.27378316024,315.83336022842,324.13928669805,332.66364612382,335.38164643474,344.20166244741,347.01393314922,356.13986022226,365.50578499276,368.49211923405,378.18288921726,381.27279846892,391.29968045081,401.5902538439,404.87141319969,415.51890206933,418.91386427268,429.93064777916,441.23715556831,444.84224659643,456.54090625717,460.27103529174,472.37544811397,484.79818817936,488.75918813348,501.6127950959,505.71118020326,519.01059820838,523.2511306012],description:"porcupine temperament, g=162.996, 5-limit"},portbag1:{frequencies:[261.6255653006,281.75060878526,311.64221749042,334.88072358477,376.74081403286,413.43299207996,457.84473927605,523.2511306012],description:"Portugese bagpipe tuning"},portbag2:{frequencies:[261.6255653006,274.70684356563,281.75060878526,310.07474405997,317.68818643644,343.38355445704,372.08969287196,392.4383479509,408.78994578219,482.37213602298,523.2511306012],description:"Portugese bagpipe tuning 2"},prelleur:{frequencies:[261.6255653006,276.42153822591,293.20376052703,310.91918875105,328.72923110101,349.43408698743,368.89538496172,391.53834819612,414.55891854195,438.90564190541,466.17878415199,492.19384741628,523.2511306012],description:"Peter Prelleur's well temperament (1731)"},preston:{frequencies:[261.6255653006,276.24946721727,293.45376109391,311.26733605541,328.91048112005,349.30075403587,368.79929095641,391.73834630677,413.67420227347,439.48064068428,466.20100528964,492.6657196346,523.2511306012],description:"Preston's equal beating temperament (1785)"},preston2:{frequencies:[261.6255653006,276.2302000593,293.37610901672,311.58628319174,328.97985807656,349.39999567988,368.9044325484,391.80273191286,413.67420227347,439.35140993827,466.62242981045,492.67053466508,523.2511306012],description:"Preston's theoretically correct well temperament"},prime_10:{frequencies:[261.6255653006,277.97716313189,310.68035879446,327.03195662575,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,474.19633710734,523.2511306012],description:"First 10 prime numbers reduced by 2/1"},prime_5:{frequencies:[261.6255653006,294.32876096318,327.03195662575,392.4383479509,436.04260883433,523.2511306012],description:'What Lou Harrison calls "the Prime Pentatonic", a widely used scale'},primes6:{frequencies:[261.6255653006,523.2511306012,784.8766959018,1308.127826503,1831.3789571042,2877.8812183066,3401.1323489078],description:"First 6 primes"},prinz:{frequencies:[261.6255653006,275.62199471997,292.50627485027,310.07474405997,327.03195662575,348.83408706747,367.49599295996,391.22147055517,413.43299207996,437.39890198442,465.11211608996,490.54793493862,523.2511306012],description:"Prinz well-tempermament (1808)"},prinz2:{frequencies:[261.6255653006,275.62199471997,291.81313052759,310.07474405997,327.03195662575,348.83408706747,367.49599295996,390.42584360243,413.43299207996,436.71344361716,465.11211608996,490.54793493862,523.2511306012],description:"Prinz equal beating temperament (1808)"},"prod13-2":{frequencies:[261.6255653006,265.71346475842,269.80136421624,286.15296204753,292.28481123426,294.32876096318,314.76825825228,318.85615771011,327.03195662575,343.38355445704,345.42750418595,359.73515228832,371.99885066179,392.4383479509,400.61414686654,408.78994578219,425.14154361347,449.66894036041,457.84473927605,490.54793493862,494.63583439645,523.2511306012],description:"13-limit binary products [1 3 5 7 11 13]"},prod13:{frequencies:[261.6255653006,265.71346475842,269.80136421624,286.15296204753,292.28481123426,294.32876096318,314.76825825228,318.85615771011,327.03195662575,331.11985608357,343.38355445704,345.42750418595,359.73515228832,367.91095120397,371.99885066179,392.4383479509,400.61414686654,404.70204632437,408.78994578219,425.14154361347,441.49314144476,449.66894036041,457.84473927605,478.28423656516,490.54793493862,494.63583439645,515.07533168556,523.2511306012],description:"13-limit binary products [1 3 5 7 9 11 13]"},prod7d:{frequencies:[261.6255653006,265.7783520514,267.90457886781,273.37201925287,279.06726965397,286.15296204753,294.32876096318,299.00064605783,300.46061014991,306.59245933664,310.07474405997,318.93402246168,327.03195662575,334.88072358477,341.71502406609,343.38355445704,348.83408706747,350.53737850823,357.69120255941,367.91095120397,372.08969287196,382.72082695402,390.53145607553,392.4383479509,398.6675280771,400.61414686654,408.78994578219,418.60090448096,429.2294430713,441.49314144476,446.50763144636,455.62003208812,457.84473927605,465.11211608996,478.40103369253,490.54793493862,500.76768358318,510.98743222773,515.07533168556,523.2511306012],description:"Double Cubic Corner 7-limit. Chalmers '96"},prod7s:{frequencies:[261.6255653006,286.15296204753,294.32876096318,300.46061014991,306.59245933664,327.03195662575,343.38355445704,350.53737850823,357.69120255941,367.91095120397,392.4383479509,400.61414686654,408.78994578219,429.2294430713,441.49314144476,457.84473927605,490.54793493862,500.76768358318,510.98743222773,515.07533168556,523.2511306012],description:"Single Cubic Corner 7-limit"},prodq13:{frequencies:[261.6255653006,265.71346475842,269.80136421624,276.76092858245,279.06726965397,286.15296204753,292.28481123426,294.32876096318,299.00064605783,304.4370214407,314.76825825228,318.85615771011,322.00069575458,327.03195662575,334.88072358477,341.71502406609,343.38355445704,345.42750418595,348.83408706747,359.73515228832,368.0007951481,371.99885066179,380.54627680087,392.4383479509,396.30854862103,400.61414686654,408.78994578219,418.60090448096,425.14154361347,429.33426100611,434.91003062957,449.66894036041,457.84473927605,465.11211608996,468.3646483703,478.40103369253,490.54793493862,494.63583439645,507.3950357345,515.20111320734,523.2511306012],description:"13-limit Binary products and quotients. Chalmers '96"},prog_ennea:{frequencies:[261.6255653006,269.29177952703,285.30470202322,311.12698372208,349.22823143301,391.99543598175,403.48177901006,427.47405410759,466.16376151809,523.2511306012],description:"Progressive Enneatonic, 50+100+150+200 cents in each half (500 cents)"},prog_ennea1:{frequencies:[261.6255653006,269.10058145205,285.40970760065,310.68035879446,348.83408706747,392.4383479509,404.33041910093,428.11456140098,465.11211608996,523.2511306012],description:"Progressive Enneatonic, appr. 50+100+150+200 cents in each half (500 cents)"},prog_ennea2:{frequencies:[261.6255653006,269.55361273395,285.40970760065,321.08592105074,348.83408706747,392.4383479509,404.33041910093,428.11456140098,481.6288815761,523.2511306012],description:"Progressive Enneatonic, appr. 50+100+200+150 cents in each half (500 cents)"},prog_ennea3:{frequencies:[261.6255653006,269.55361273395,285.40970760065,310.07474405997,348.83408706747,392.4383479509,404.33041910093,428.11456140098,465.11211608996,523.2511306012],description:"Progressive Enneatonic, appr. 50+100+150+200 cents in each half (500 cents)"},prooijen1:{frequencies:[261.6255653006,339.14425131559,366.27579142084,436.04260883433,470.92601754108,610.45965236807,726.73768139056,784.8766959018],description:"Kees van Prooijen, major mode of Bohlen-Pierce"},prooijen2:{frequencies:[261.6255653006,311.45900631024,336.37572681506,436.04260883433,470.92601754108,560.62621135843,726.73768139056,784.8766959018],description:"Kees van Prooijen, minor mode of Bohlen-Pierce"},"ps-dorian":{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,392.4383479509,490.54793493862,504.56359022259,523.2511306012],description:"Complex 4 of p. 115 based on Archytas's Enharmonic"},"ps-enh":{frequencies:[261.6255653006,266.38239376061,279.06726965397,348.83408706747,392.4383479509,399.57359064092,418.60090448096,523.2511306012],description:"Dorian mode of an Enharmonic genus found in Ptolemy's Harmonics"},"ps-hypod":{frequencies:[261.6255653006,294.32876096318,367.91095120397,378.42269266694,392.4383479509,406.97310157871,418.60090448096,523.2511306012],description:"Complex 7 of p. 115 based on Archytas's Enharmonic"},"ps-hypod2":{frequencies:[261.6255653006,294.32876096318,305.22982618403,313.95067836072,392.4383479509,490.54793493862,504.56359022259,523.2511306012],description:"Complex 8 of p. 115 based on Archytas's Enharmonic"},"ps-mixol":{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,436.04260883433,448.50096908674,465.11211608996,523.2511306012],description:"Complex 3 of p. 115 based on Archytas's Enharmonic"},ptolemy:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Intense Diatonic Syntonon, also Zarlino's scale"},ptolemy_chrom:{frequencies:[261.6255653006,271.31540105247,290.69507255622,348.83408706747,392.4383479509,406.97310157871,436.04260883433,523.2511306012],description:"Ptolemy Soft Chromatic"},ptolemy_ddiat:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,392.4383479509,413.43299207996,465.11211608996,523.2511306012],description:"Lyra tuning, Dorian mode, comb. of diatonon toniaion & diatonon ditoniaion"},ptolemy_diat:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:"Ptolemy's Diatonon Ditoniaion & Archytas' Diatonic, also Lyra tuning"},ptolemy_diat2:{frequencies:[261.6255653006,271.31540105247,305.22982618403,348.83408706747,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"Dorian mode of a permutation of Ptolemy's Tonic Diatonic"},ptolemy_diat3:{frequencies:[261.6255653006,294.32876096318,313.95067836072,348.83408706747,392.4383479509,441.49314144476,470.92601754108,523.2511306012],description:"Dorian mode of the remaining permutation of Ptolemy's Intense Diatonic"},ptolemy_diat4:{frequencies:[261.6255653006,299.00064605783,310.07474405997,348.83408706747,392.4383479509,448.50096908674,465.11211608996,523.2511306012],description:"permuted Ptolemy's diatonic"},ptolemy_diat5:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Sterea lyra, Dorian, comb. of 2 Tonic Diatonic 4chords, also Archytas' diatonic"},ptolemy_diff:{frequencies:[261.6255653006,294.32876096318,327.03195662575,343.38355445704,392.4383479509,425.14154361347,490.54793493862,523.2511306012],description:"Difference tones of Intense Diatonic reduced by 2/1"},ptolemy_enh:{frequencies:[261.6255653006,267.43946675172,279.06726965397,348.83408706747,392.4383479509,401.15920012759,418.60090448096,523.2511306012],description:"Dorian mode of Ptolemy's Enharmonic"},ptolemy_exp:{frequencies:[261.6255653006,272.52663052146,275.93321340298,287.4304306281,290.69507255622,294.32876096318,306.59245933664,327.03195662575,340.65828815182,344.91651675372,348.83408706747,363.36884069528,367.91095120397,383.2405741708,392.4383479509,408.78994578219,413.89982010446,431.14564594215,436.04260883433,441.49314144476,459.88868900496,490.54793493862,510.98743222773,517.37477513058,523.2511306012],description:"Intense Diatonic expanded: all interval combinations"},ptolemy_hom:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Dorian mode of Ptolemy's Equable Diatonic or Diatonon Homalon"},ptolemy_iast:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Ptolemy's Iastia or Lydia tuning, mixture of Tonic Diatonic & Intense Diatonic"},ptolemy_iastaiol:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,392.4383479509,441.49314144476,465.11211608996,523.2511306012],description:"Ptolemy's kithara tuning, mixture of Tonic Diatonic and Ditone Diatonic"},ptolemy_ichrom:{frequencies:[261.6255653006,274.08392555301,299.00064605783,348.83408706747,392.4383479509,411.12588832951,448.50096908674,523.2511306012],description:"Dorian mode of Ptolemy's Intense Chromatic"},ptolemy_idiat:{frequencies:[261.6255653006,279.06726965397,313.95067836072,348.83408706747,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Dorian mode of Ptolemy's Intense Diatonic (Diatonon Syntonon)"},ptolemy_imix:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Ptolemy Intense Diatonic mixed with its inverse"},ptolemy_malak:{frequencies:[261.6255653006,274.08392555301,299.00064605783,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Ptolemy's Malaka lyra tuning, a mixture of Intense Chrom. & Tonic Diatonic"},ptolemy_malak2:{frequencies:[261.6255653006,271.31540105247,290.69507255622,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Malaka lyra, mixture of his Soft Chromatic and Tonic Diatonic."},ptolemy_mdiat:{frequencies:[261.6255653006,274.70684356563,305.22982618403,348.83408706747,392.4383479509,412.06026534844,457.84473927605,523.2511306012],description:"Ptolemy soft diatonic"},ptolemy_mdiat2:{frequencies:[261.6255653006,290.69507255622,305.22982618403,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"permuted Ptolemy soft diatonic"},ptolemy_mdiat3:{frequencies:[261.6255653006,299.00064605783,313.95067836072,348.83408706747,392.4383479509,448.50096908674,470.92601754108,523.2511306012],description:"permuted Ptolemy soft diatonic"},ptolemy_meta:{frequencies:[261.6255653006,274.70684356563,305.22982618403,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Metabolika lyra tuning, mixture of Soft Diatonic & Tonic Diatonic"},ptolemy_mix:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,348.83408706747,353.19451315581,367.91095120397,372.08969287196,387.59343007496,392.4383479509,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"All modes of Ptolemy Intense Diatonic mixed"},ptolemy_prod:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,331.11985608357,348.83408706747,363.36884069528,367.91095120397,372.08969287196,387.59343007496,392.4383479509,418.60090448096,436.04260883433,441.49314144476,465.11211608996,484.4917875937,490.54793493862,523.2511306012],description:"Product of Intense Diatonic with its intervals"},ptolemy_tree:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,470.92601754108,479.64686971777,485.87604984397,490.54793493862,523.2511306012],description:"Intense Diatonic with all their Farey parent fractions"},pygmie:{frequencies:[261.6255653006,299.00064605783,343.38355445704,392.4383479509,457.84473927605,523.2511306012],description:"Pygmie scale"},pyle:{frequencies:[261.6255653006,277.19063644077,293.6461094938,311.15753660095,329.66944764997,349.23831768549,369.99228554622,391.93430587921,415.28070933274,439.96441988338,466.23108306565,493.99742571239,523.2511306012],description:"Howard Willet Pyle quasi equal temperament"},pyramid:{frequencies:[261.6255653006,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:'This scale may also be called the "Wedding Cake"'},pyramid_down:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,334.88072358477,348.83408706747,392.4383479509,418.60090448096,441.49314144476,465.11211608996,470.92601754108,502.32108537715,523.2511306012],description:"Upside-Down Wedding Cake (divorce cake)"},pyth_12:{frequencies:[261.6255653006,279.38237857051,294.32876096318,310.07474405997,331.11985608357,348.83408706747,372.50983809402,392.4383479509,419.07356785577,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"12-tone Pythagorean scale"},pyth_12s:{frequencies:[261.6255653006,279.38237857051,294.32876096318,314.30517589183,326.6631048533,348.83408706747,367.49599295996,392.4383479509,419.07356785577,435.55080647107,471.45776383774,489.99465727995,523.2511306012],description:"Scale with major thirds flat by a schisma"},pyth_17:{frequencies:[261.6255653006,275.62199471997,279.38237857051,294.32876096318,310.07474405997,314.30517589183,331.11985608357,348.83408706747,367.49599295996,372.50983809402,392.4383479509,413.43299207996,419.07356785577,441.49314144476,465.11211608996,471.45776383774,496.67978412536,523.2511306012],description:"17-tone Pythagorean scale"},pyth_17s:{frequencies:[261.6255653006,275.62199471997,279.06726965397,294.32876096318,310.07474405997,313.95067836072,331.11985608357,348.83408706747,367.49599295996,372.08969287196,392.4383479509,413.43299207996,418.60090448096,441.49314144476,465.11211608996,470.92601754108,496.67978412536,523.2511306012],description:"Schismatically altered 17-tone Pythagorean scale"},pyth_22:{frequencies:[261.6255653006,275.62199471997,279.38237857051,290.36720431405,294.32876096318,310.07474405997,314.30517589183,326.6631048533,331.11985608357,348.83408706747,353.59332287831,367.49599295996,372.50983809402,392.4383479509,413.43299207996,419.07356785577,435.55080647107,441.49314144476,465.11211608996,471.45776383774,489.99465727995,496.67978412536,523.2511306012],description:"Pythagorean shrutis"},pyth_27:{frequencies:[261.6255653006,265.19499215873,275.62199471997,279.38237857051,290.36720431405,294.32876096318,298.34436617857,310.07474405997,314.30517589183,326.6631048533,331.11985608357,348.83408706747,353.59332287831,367.49599295996,372.50983809402,387.15627241873,392.4383479509,397.79248823809,413.43299207996,419.07356785577,435.55080647107,441.49314144476,447.51654926786,465.11211608996,471.45776383774,489.99465727995,496.67978412536,523.2511306012],description:"27-tone Pythagorean scale"},pyth_31:{frequencies:[261.6255653006,265.19499215873,275.62199471997,279.38237857051,283.19406633357,294.32876096318,298.34436617857,310.07474405997,314.30517589183,318.59332496145,326.6631048533,331.11985608357,335.63741195089,348.83408706747,353.59332287831,367.49599295996,372.50983809402,377.59208844475,392.4383479509,397.79248823809,413.43299207996,419.07356785577,424.79110016094,441.49314144476,447.51654926786,465.11211608996,471.45776383774,477.8899872033,489.99465727995,496.67978412536,503.45611792634,523.2511306012],description:"31-tone Pythagorean scale"},pyth_7a:{frequencies:[261.6255653006,277.97716313189,294.32876096318,312.72430852337,331.11985608357,348.83408706747,370.63621750918,392.4383479509,416.96574469783,441.49314144476,469.08646278506,496.67978412536,523.2511306012],description:"Pythagorean 7-tone with whole tones divided arithmetically"},pyth_7h:{frequencies:[261.6255653006,277.01530443593,294.32876096318,311.64221749042,331.11985608357,348.83408706747,369.35373924791,392.4383479509,415.52295665389,441.49314144476,467.46332623563,496.67978412536,523.2511306012],description:"Pythagorean 7-tone with whole tones divided harmonically"},pyth_chrom:{frequencies:[261.6255653006,275.62199471997,294.32876096318,348.83408706747,392.4383479509,413.43299207996,441.49314144476,465.11211608996,523.2511306012],description:"Dorian mode of the so-called Pythagorean chromatic, recorded by Gaudentius"},pyth_sev:{frequencies:[261.6255653006,268.38018042036,275.30918532257,282.41708286353,291.47537246454,299.00064605783,306.7202061947,314.63906894008,322.76237975718,333.11471138804,341.71502406609,350.53737850823,359.58750736009,368.87129039875,380.70252730062,390.53145607553,400.61414686654,410.95715126868,421.56719060242,435.08860262928,446.32166408632,457.84473927605,469.66531573563,481.7910743145,497.2441172906,510.08190181294,523.2511306012],description:"26-tone Pythagorean scale based on 7/4"},pyth_sev_16:{frequencies:[261.6255653006,268.38018042036,275.30918532257,282.41708286353,306.7202061947,314.63906894008,322.76237975718,350.53737850823,359.58750736009,368.87129039875,400.61414686654,410.95715126868,421.56719060242,457.84473927605,469.66531573563,481.7910743145,523.2511306012],description:'16-tone Pythagorean scale based on 7/4, "Armodue"'},pyth_third:{frequencies:[261.6255653006,267.90457886781,274.33428876064,280.9183116909,287.66035117148,290.46272611903,297.43383186155,304.57224382623,311.88197767806,319.36714514233,327.03195662575,334.88072358477,342.9178609508,351.14788961362,359.57543896435,363.07840893547,371.79228894479,380.71530478279,389.85247209758,399.20893142792,408.78994578219,418.60090448096,428.6473261885,438.93486201703,449.46929870544,453.84801015616,464.74036282794,475.89413097849,487.31559012197,499.0111642849,510.98743222773,523.2511306012],description:"Cycle of 5/4 thirds"}};o.prototype._tune=function(i,n=220){const e=new t;if(!e.isValidScale(i))throw new Error('not a valid tune.js scale name: "'+i+'". See http://abbernie.github.io/tune/scales.html');return e.loadScale(i),e.tonicize(n),this._asNumber()._withHap(r=>r.withValue(()=>e.note(r.value)).setContext(a(c({},r.context),{type:"frequency"})))};o.prototype.define("tune",(i,n)=>n.tune(i),{composable:!0,patternified:!0}); +var h=Object.defineProperty,q=Object.defineProperties;var g=Object.getOwnPropertyDescriptors;var p=Object.getOwnPropertySymbols;var y=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable;var m=(i,n,e)=>n in i?h(i,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[n]=e,c=(i,n)=>{for(var e in n||(n={}))y.call(n,e)&&m(i,e,n[e]);if(p)for(var e of p(n))b.call(n,e)&&m(i,e,n[e]);return i},a=(i,n)=>q(i,g(n));import{P as o,w as _}from"./index.268aabb2.js";function S(i){if(!/^[1-9]+[0-9]*edo$/.test(i))throw new Error('not an edo scale: "'+i+'"');const[n,e]=i.match(/^([1-9]+[0-9]*)edo$/);return Array.from({length:e},(r,s)=>Math.pow(2,s/e))}const f={"12ji":[1/1,16/15,9/8,6/5,5/4,4/3,45/32,3/2,8/5,5/3,16/9,15/8]};function v(i,n){return n.map(e=>e*i)}const w=220;function k(i,n){if(typeof i=="string")if(/^[1-9]+[0-9]*edo$/.test(i))i=S(i);else if(f[i])i=f[i];else throw new Error('unknown scale name: "'+i+'"');return i=v(w,i),n?i.filter((e,r)=>n.includes(r)):i}function l(i,n,e=0){const r=_(e+n,i.length),s=Math.floor(n/i.length);return i[r]*Math.pow(2,s)}o.prototype._xen=function(i,n){return this._asNumber()._withHap(e=>{const r=k(i);n=n||r.length;const s=l(r,e.value);return e.withValue(()=>s).setContext(a(c({},e.context),{type:"frequency"}))})};o.prototype.tuning=function(i){return this._asNumber()._withHap(n=>{const e=l(i,n.value);return n.withValue(()=>e).setContext(a(c({},n.context),{type:"frequency"}))})};o.prototype.define("xen",(i,n)=>n.xen(i),{composable:!0,patternified:!0});function t(){this.scale=[],this.mode={output:"frequency",input:"step"},this.etmajor=[261.62558,293.664764,329.627563,349.228241,391.995422,440,493.883301,523.25116],this.tonic=440}t.prototype.tonicize=function(i){this.tonic=i};t.prototype.note=function(i,n){var e;return this.mode.output=="frequency"?e=this.frequency(i,n):this.mode.output=="ratio"?e=this.ratio(i,n):this.mode.output=="MIDI"?e=this.MIDI(i,n):e=this.frequency(i,n),e};t.prototype.frequency=function(i,n){(this.mode.input=="midi"||this.mode.input=="MIDI")&&(this.stepIn+=60);var e=Math.floor(i/this.scale.length);n&&(e+=n);for(var r=i%this.scale.length;r<0;)r+=this.scale.length;var s=this.tonic*this.scale[r];return s=s*Math.pow(2,e),s=Math.floor(s*1e11)/1e11,s};t.prototype.ratio=function(i,n){(this.mode.input=="midi"||this.mode.input=="MIDI")&&(this.stepIn+=60);var e=Math.floor(i/this.scale.length);n&&(e+=n);var r=i%this.scale.length,s=Math.pow(2,e)*this.scale[r];return s=Math.floor(s*1e11)/1e11,s};t.prototype.MIDI=function(i,n){var e=this.frequency(i,n),r=69+12*Math.log(e/440)/Math.log(2);return r=Math.floor(r*1e9)/1e9,r};t.prototype.loadScale=function(i){var n=u[i].frequencies;this.scale=[];for(var e=0;e[1, 1, -1]->[0, 1, -1]->[0, 0, -1]->[0, 0, 0]->[0, -1, 0],[0, -1, 1]->[0, -2, 1]->[-1, -2, 1]"},breedt1:{frequencies:[261.6255653006,275.62199471997,292.34127285051,310.07474405997,326.6631048533,348.83408706747,367.49599295996,391.11111150212,413.43299207996,437.02884834934,465.11211608996,489.99465727995,523.2511306012],description:"Graham Breed's 1/4 P temperament, TL 10-06-99"},breedt2:{frequencies:[261.6255653006,276.37000081643,293.53214922797,310.91625060765,328.43856194079,349.78078158391,368.4933346061,392.4383479509,414.55500101742,439.10654054756,466.37437567834,492.65784266492,523.2511306012],description:"Graham Breed's 1/5 P temperament, TL 10-06-99"},breedt3:{frequencies:[261.6255653006,276.55731914056,293.33333347996,311.12698372208,328.88393162803,350.01785633742,368.74309237173,392.4383479509,414.83597850347,438.51190905657,466.69047534984,491.65745674141,523.2511306012],description:"Graham Breed's other 1/4 P temperament, TL 10-06-99"},brown:{frequencies:[261.6255653006,272.52663052146,275.62199471997,275.93321340298,279.38237857051,287.10624449997,290.69507255622,291.02331101095,294.32876096318,306.24666079997,306.59245933664,310.07474405997,310.42486507835,322.99452506247,327.03195662575,331.11985608357,344.52749339997,344.91651675372,348.83408706747,349.22797321314,363.36884069528,367.49599295996,367.91095120397,372.50983809402,382.80832599996,387.59343007496,388.03108134794,392.4383479509,408.78994578219,413.43299207996,413.89982010446,430.65936674996,436.04260883433,436.53496651643,441.49314144476,459.36999119996,459.88868900496,465.11211608996,465.63729761752,484.4917875937,489.99465727995,490.54793493862,496.67978412536,516.79124009995,517.37477513058,523.2511306012],description:"Tuning of Colin Brown's Voice Harmonium, Glasgow. Helmholtz/Ellis p. 470-473"},bruder:{frequencies:[261.6255653006,276.38325105256,293.66476791741,310.22971009486,327.53979283172,349.02656754477,368.60786575306,391.65594491223,414.34624765043,439.23819834286,465.62553897253,491.60634075178,523.2511306012],description:"Ignaz Bruder organ temperament (1829) according to P. Vier"},burma3:{frequencies:[261.6255653006,287.71029735626,317.68827763215,350.39147881787,389.32370520689,429.81331927092,476.14308821464,523.2511306012],description:"Burmese scale, von Hornbostel"},"burt-forks":{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,465.11211608996,470.92601754108,490.54793493862,504.56359022259,523.2511306012],description:"Warren Burt 19-tone Forks. Interval 5(3): pp. 13+23 Winter 1986-87"},burt1:{frequencies:[261.6255653006,272.09058791262,283.42769574232,295.75063903546,309.19384990071,340.11323489078,358.01393146398,377.90359432309,415.52295665389,425.14154361347,453.48431318771,485.87604984397,523.2511306012],description:"W. Burt's 13diatsub #1"},burt10:{frequencies:[261.6255653006,265.11390617127,268.69652652494,272.3773008609,276.16031892841,355.06326719367,368.21375857121,382.37582620857,386.08821287079,389.87339142835,393.73352401674,397.67085925691,523.2511306012],description:"W. Burt's 19enhsub #10"},burt11:{frequencies:[261.6255653006,344.24416486921,347.6866065179,351.12904816659,354.57148981529,358.01393146398,371.78369805875,385.55346465352,495.71159741166,502.59648070905,509.48136400643,516.36624730382,523.2511306012],description:"W. Burt's 19enhharm #11"},burt12:{frequencies:[261.6255653006,302.93486508491,316.70463167967,330.47439827444,344.24416486921,358.01393146398,371.78369805875,385.55346465352,440.63253103259,468.17206422213,495.71159741166,509.48136400643,523.2511306012],description:"W. Burt's 19diatharm #12"},burt13:{frequencies:[261.6255653006,273.51763645063,286.54228580542,293.53112204458,300.86940009569,334.29933343966,353.96400011258,376.08675011961,401.15920012759,429.81342870813,445.73244458621,462.87600014722,523.2511306012],description:"W. Burt's 23diatsub #13"},burt14:{frequencies:[261.6255653006,264.50057151269,267.43946675172,270.4444045804,273.51763645063,334.29933343966,353.96400011258,376.08675011961,382.05638107389,388.21858076863,394.58281979763,401.15920012759,523.2511306012],description:"W. Burt's 23enhsub #14"},burt15:{frequencies:[261.6255653006,341.25073734861,346.93824963775,352.6257619269,358.31327421604,364.00078650518,386.75083566176,409.50088481833,500.50108144463,506.18859373377,511.87610602291,517.56361831206,523.2511306012],description:"W. Burt's 23enhharm #15"},burt16:{frequencies:[261.6255653006,295.75063903546,307.12566361375,318.50068819203,341.25073734861,364.00078650518,386.75083566176,409.50088481833,455.00098313148,466.37600770977,477.75103228805,500.50108144463,523.2511306012],description:"W. Burt's 23diatharm #16"},burt17:{frequencies:[261.6255653006,262.27760655527,262.77528702311,280.51080915002,281.04308772525,281.33584094163,286.12102533302,286.66394947976,306.91182648178,308.56189006502,309.14739649778,336.61297098002,337.2517052703,337.60300912996,338.42271813583,339.41807907152,363.01398831179,369.18841978454,370.27426807802,396.01525997649,398.14437427744,399.31538714296,403.93556517602,406.10726176299,434.33931739357,434.79175418253,435.61678597414,437.95881170519,475.21831197179,476.86837555503,477.77324913293,478.27092960078,479.17846457156,521.20718087229,521.75010501903,522.74014316897,523.2511306012],description:`W. Burt's "2 out of 3,5,11,17,31 dekany" CPS with 1/1=3/1. 1/1 vol. 10(1) '98`},burt18:{frequencies:[261.6255653006,268.26840191956,269.80136421624,270.50397193556,275.42222597075,281.04308772525,286.15296204753,295.09524211152,300.46061014991,306.59245933664,309.14739649778,314.76825825228,321.92208230347,324.60476632267,337.2517052703,343.38355445704,344.27778246344,354.11429053382,357.69120255941,367.91095120397,370.97687579734,375.57576268738,393.46032281536,404.70204632437,413.13333895612,421.56463158788,429.2294430713,432.80635509689,449.66894036041,463.72109474667,472.15238737843,490.54793493862,491.82540351919,500.76768358318,505.87755790546,515.07533168556,523.2511306012],description:`W. Burt's "2 out of 1,3,5,7,11 dekany" CPS with 1/1=1/1. 1/1 vol. 10(1) '98`},burt19:{frequencies:[261.6255653006,268.26840191956,286.15296204753,294.32876096318,300.46061014991,306.59245933664,321.92208230347,327.03195662575,343.38355445704,357.69120255941,367.91095120397,375.57576268738,392.4383479509,400.61414686654,408.78994578219,429.2294430713,457.84473927605,490.54793493862,500.76768358318,515.07533168556,523.2511306012],description:`W. Burt's "2 out of 2,3,4,5,7 dekany" CPS with 1/1=1/1. 1/1 vol. 10(1) '98`},burt2:{frequencies:[261.6255653006,264.16561933264,266.75547834571,269.39662169567,272.09058791262,340.11323489078,344.41846571218,348.83408706747,353.36439988652,358.01393146398,412.25846653428,485.87604984397,523.2511306012],description:"W. Burt's 13enhsub #2"},burt20:{frequencies:[261.6255653006,269.10058145205,279.06726965397,279.38237857051,294.32876096318,298.00787047521,330.74639366397,335.25885428462,367.91095120397,376.74081403286,412.06026534844,418.60090448096,523.2511306012],description:'Warren Burt tuning for "Commas" (1993) 1/1=263. XH 16'},burt3:{frequencies:[261.6255653006,281.75060878526,332.06321749692,382.37582620857,387.40708707973,392.4383479509,397.46960882207,402.50086969323,503.12608711654,508.1573479877,513.18860885887,518.21986973003,523.2511306012],description:"W. Burt's 13enhharm #3"},burt4:{frequencies:[261.6255653006,281.75060878526,301.87565226992,322.00069575458,342.12573923925,362.25078272391,382.37582620857,402.50086969323,442.75095666255,462.87600014722,483.00104363188,503.12608711654,523.2511306012],description:"W. Burt's 13diatharm #4, see his post 3/30/94 in Tuning Digest #57"},burt5:{frequencies:[261.6255653006,277.97716313189,296.50897400735,317.68818643644,342.12573923925,277.97716313189,386.75083566176,404.33041910093,423.58424858192,444.76346101102,468.17206422213,494.18162334558,523.2511306012],description:"W. Burt's 17diatsub #5"},burt6:{frequencies:[261.6255653006,265.53042448419,269.55361273395,273.7005913914,277.97716313189,370.63621750918,386.75083566176,404.33041910093,408.97789518255,413.73345210327,418.60090448096,423.58424858192,523.2511306012],description:"W. Burt's 17enhsub #6"},burt7:{frequencies:[261.6255653006,323.18452184192,327.03195662575,330.87939140958,334.72682619341,338.57426097725,353.96400011258,369.35373924791,492.47165233054,500.16652189821,507.86139146587,515.55626103354,523.2511306012],description:"W. Burt's 17enhharm #7"},burt8:{frequencies:[261.6255653006,277.01530443593,292.40504357126,307.79478270659,323.18452184192,338.57426097725,353.96400011258,369.35373924791,400.13321751856,430.91269578922,461.69217405988,492.47165233054,523.2511306012],description:"W. Burt's 17diatharm #8"},burt9:{frequencies:[261.6255653006,268.69652652494,276.16031892841,292.40504357126,310.68035879446,355.06326719367,368.21375857121,382.37582620857,397.67085925691,414.24047839262,432.2509339749,451.89870370104,523.2511306012],description:"W. Burt's 19diatsub #9"},burt_fibo:{frequencies:[261.6255653006,277.97716313189,294.32876096318,311.70233365892,327.03195662575,343.38355445704,363.82305174615,385.28452389971,392.4383479509,425.14154361347,449.66894036041,476.24028683625,523.2511306012],description:'Warren Burt, 3/2+5/3+8/5+etc. "Recurrent Sequences", 2002'},burt_fibo23:{frequencies:[261.6255653006,267.05480676802,277.97716313189,282.81557538079,294.32876096318,299.5065008038,311.70233365892,327.03195662575,330.09788121912,343.38355445704,349.5792770728,363.82305174615,370.21039464899,385.28452389971,392.4383479509,408.02346463385,425.14154361347,432.10374737758,449.66894036041,457.60521391719,476.24028683625,484.61169812829,504.34459560877,523.2511306012],description:'Warren Burt, 23-tone Fibonacci scale. "Recurrent Sequences", 2002'},burt_primes:{frequencies:[261.6255653006,267.75741448733,273.88926367407,277.97716313189,280.0211128608,284.10901231862,290.24086150535,298.416660421,302.50455987882,304.54850960773,308.63640906555,310.68035879446,320.90010743902,322.94405716793,327.03195662575,333.16380581248,335.20775554139,339.29565499922,341.33960472813,351.55935337268,353.60330310159,359.73515228832,363.82305174615,365.86700147506,369.95490093288,376.08675011961,384.26254903526,390.39439822199,392.4383479509,394.48229767981,396.52624740872,402.65809659545,406.74599605328,412.87784524001,421.05364415565,425.14154361347,431.27339280021,433.31734252912,437.40524198694,445.58104090258,455.80078954714,457.84473927605,461.93263873387,463.97658846278,468.0644879206,474.19633710734,476.24028683625,482.37213602298,488.50398520971,492.59188466754,498.72373385427,506.89953276991,513.03138195665,519.16323114338,523.2511306012],description:'Warren Burt, primes until 251. "Some Numbers", Dec. 2002'},bushmen:{frequencies:[261.6255653006,347.0163224393,394.26624244126,453.9405988926,523.2511306012],description:"Observed scale of South-African bushmen, almost (4 notes) equal pentatonic"},dan_semantic:{frequencies:[261.6255653006,272.52663052146,275.62199471997,279.06726965397,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.07474405997,313.95067836072,322.99452506247,327.03195662575,331.11985608357,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,387.59343007496,392.4383479509,397.34382730029,408.78994578219,413.43299207996,418.60090448096,430.65936674996,436.04260883433,441.49314144476,459.88868900496,465.11211608996,470.92601754108,484.4917875937,490.54793493862,496.67978412536,516.79124009995,523.2511306012],description:'The Semantic Scale, from Alain Dani\xEF\xBF\xBDlou: "S\xEF\xBF\xBDmantique Musicale" (1967)'},danielou5_53:{frequencies:[261.6255653006,264.89588486686,267.90457886781,272.52663052146,275.62199471997,279.06726965397,282.55561052465,285.76488412567,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,310.07474405997,313.95067836072,317.87506184023,322.99452506247,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.52749339997,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,397.34382730029,401.85686830172,408.78994578219,413.43299207996,418.60090448096,423.83341578697,430.65936674996,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,479.0507177135,484.4917875937,490.54793493862,496.67978412536,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"Dani\xEF\xBF\xBDlou's Harmonic Division in 5-limit, symmetrized"},danielou_53:{frequencies:[261.6255653006,264.89588486686,267.43946675172,272.52663052146,275.62199471997,279.06726965397,282.55561052465,287.78812183066,290.69507255622,294.32876096318,297.67175429757,301.87565226992,306.59245933664,310.07474405997,313.95067836072,318.93402246168,322.99452506247,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.52749339997,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,397.34382730029,401.85686830172,408.78994578219,413.43299207996,418.60090448096,423.83341578697,430.65936674996,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,479.64686971777,484.4917875937,490.54793493862,496.67978412536,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"Dani\xEF\xBF\xBDlou's Harmonic Division of the Octave, see p. 153"},darreg:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,470.92601754108,490.54793493862,523.2511306012],description:"This set of 19 ratios in 5-limit JI is for his megalyra family"},darreg_ennea:{frequencies:[261.6255653006,269.29177952703,277.18263097687,293.66476791741,349.22823143301,391.99543598175,403.48177901006,415.30469757995,440,523.2511306012],description:"Ivor Darreg's Mixed Enneatonic, a mixture of chromatic and enharmonic"},darreg_genus:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,348.83408706747,392.4383479509,406.97310157871,418.60090448096,436.04260883433,523.2511306012],description:"Ivor Darreg's Mixed JI Genus (Archytas Enh, Ptolemy Soft Chrom, Didymos Chrom"},darreg_genus2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,348.83408706747,392.4383479509,406.97310157871,418.60090448096,441.49314144476,523.2511306012],description:"Darreg's Mixed JI Genus 2 (Archytas Enharmonic and Chromatic Genera)"},david11:{frequencies:[261.6255653006,269.80136421624,274.70684356563,285.40970760065,294.32876096318,305.22982618403,314.76825825228,327.03195662575,332.97799220076,343.38355445704,359.73515228832,366.27579142084,374.60024122586,392.4383479509,406.97310157871,419.69101100305,428.11456140098,441.49314144476,457.84473927605,479.64686971777,490.54793493862,499.46698830115,523.2511306012],description:"11-limit system from Gary David, 1967"},david7:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,336.37572681506,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,470.92601754108,488.36772189445,523.2511306012],description:"Gary David's Constant Structure, 1967. A mode of Fokker's 7-limit scale"},ddimlim1:{frequencies:[261.6255653006,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"First 27/25&2048/1875 scale"},de_caus:{frequencies:[261.6255653006,272.52663052146,290.69507255622,306.59245933664,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"De Caus (a mode of Ellis's duodene) (1615)"},degung1:{frequencies:[261.6255653006,286.1303811777,319.28416942365,390.63652710512,420.90734643474,523.2511306012],description:"Gamelan Degung, Kabupaten Sukabumi. 1/1=363 Hz"},degung2:{frequencies:[261.6255653006,276.67939184371,325.99375993805,390.36201910543,415.27879033283,523.2511306012],description:"Gamelan Degung, Kabupaten Bandung. 1/1=252 Hz"},degung3:{frequencies:[261.6255653006,282.83850205216,320.55017368416,393.28023705203,426.95140008307,523.2511306012],description:"Gamelan Degung, Kabupaten Sumedang. 1/1=388.5 Hz"},degung4:{frequencies:[261.6255653006,284.6485709981,319.18312009646,379.88037698982,415.46137490477,523.2511306012],description:"Gamelan Degung, Kasepuhan Cheribon. 1/1=250 Hz"},degung5:{frequencies:[261.6255653006,284.24274449773,317.86283634652,388.77066331187,430.33748813761,523.2511306012],description:"Gamelan Degung, Kanoman Cheribon. 1/1=428 Hz"},degung6:{frequencies:[261.6255653006,273.29426590363,298.47415715355,379.54129348313,409.02013274169,523.2511306012],description:"Gamelan Degung, Kacherbonan Cheribon. 1/1=426 Hz"},dekany:{frequencies:[261.6255653006,299.7792935736,305.22982618403,327.03195662575,359.73515228832,381.53728273004,419.69101100305,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"2)5 Dekany 1.3.5.7.11 (1.3 tonic)"},dekany2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,313.95067836072,348.83408706747,358.80077526939,398.6675280771,418.60090448096,448.50096908674,465.11211608996,523.2511306012],description:"3)5 Dekany 1.3.5.7.9 (1.3.5.7.9 tonic)"},dekany3:{frequencies:[261.6255653006,294.32876096318,305.22982618403,327.03195662575,343.38355445704,381.53728273004,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"2)5 Dekany 1.3.5.7.9 and 3)5 Dekany 1 1/3 1/5 1/7 1/9"},dekany4:{frequencies:[261.6255653006,270.96933548991,288.48890459486,310.68035879446,321.77608589426,355.06326719367,425.14154361347,440.3251701711,474.19633710734,485.87604984397,523.2511306012],description:"2)5 Dekany 1.7.13.19.29 (1.7 tonic)"},dekany_union:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,343.38355445704,366.27579142084,381.53728273004,392.4383479509,412.06026534844,436.04260883433,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Union of 2)5 and 3)5 [ 1 3 5 7 9] dekanies"},dent:{frequencies:[261.6255653006,276.73939277812,293.41671964988,311.13637945111,328.33487278761,349.18153137729,368.9858570375,391.91718148616,414.84850593482,438.82216331296,465.92281947955,491.98114271667,523.2511306012],description:"Tom Dent, well temperament with A=421 Hz. Integer Hz beat rates from A"},dent2:{frequencies:[261.6255653006,276.57667301797,293.18838124587,310.79781949647,328.55897053596,349.10502918563,369.05532299592,391.67735584266,414.54302837239,438.92977277749,465.83490899549,492.45596147139,523.2511306012],description:"Tom Dent, well-temperament, 2/32 and 5/32 comma. TL 3 & 5-9-2005"},dent3:{frequencies:[261.6255653006,276.38325105256,293.15632631094,310.94732162256,328.48713220126,349.22823143301,368.7143392539,391.76907592069,414.58565256441,438.73106346722,466.16376151809,492.17459484008,523.2511306012],description:'Tom Dent, Bach harpsichord "sine wave" temperament, TL 10-10-2005'},deporcy:{frequencies:[261.6255653006,272.52663052146,286.15296204753,299.00064605783,313.95067836072,327.03195662575,348.83408706747,358.80077526939,381.53728273004,392.4383479509,418.60090448096,436.04260883433,457.84473927605,478.40103369253,502.32108537715,523.2511306012],description:"A 15-note chord-based detempering of 7-limit porcupine"},diab19_612:{frequencies:[261.6255653006,267.01398215014,280.33982809972,299.03492334906,305.19382000629,313.95883772326,320.42510414137,327.02455105776,348.83292260574,366.24210002542,373.7851897098,392.43965797471,418.61038382265,427.23204601759,436.03127668087,448.5538823653,457.79225819026,488.32116993744,512.69177642068,523.2511306012],description:"diab19a in 612-tET"},diab19_72:{frequencies:[261.6255653006,266.71173418545,279.86396690685,299.37379946195,305.19382000629,314.13668154225,320.24370022528,326.46944327063,349.22823143301,366.44956000397,373.57357677338,391.99543598175,419.32216217931,427.47405410759,435.78442404634,448.5538823653,457.27406033445,489.15147723638,513.27277840175,523.2511306012],description:"diab19a in 72-tET"},diablack:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,331.11985608357,372.08969287196,392.4383479509,418.60090448096,441.49314144476,470.92601754108,523.2511306012],description:"Unique 256/245&2048/2025 Fokker block"},diachrome1:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,334.88072358477,367.91095120397,392.4383479509,418.60090448096,441.49314144476,470.92601754108,523.2511306012],description:"First 25/24&2048/2025 scale"},diacycle13:{frequencies:[261.6255653006,268.33391312882,275.39533189537,282.83844897362,290.69507255622,299.00064605783,307.79478270659,317.12189733406,327.03195662575,337.58137458142,348.83408706747,360.86284869048,373.75080757229,387.59343007496,402.50086969323,413.09299784305,424.25767346043,436.04260883433,448.50096908674,461.69217405988,475.68284600109,490.54793493862,506.37206187213,523.2511306012],description:"Diacycle on 20/13, 13/10; there are also nodes at 3/2, 4/3; 13/9, 18/13"},diaddim1:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,334.88072358477,344.91651675372,357.20610515709,367.91095120397,392.4383479509,418.60090448096,446.50763144636,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"First 2048/2025&2048/1875 scale"},dialim1:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,334.88072358477,348.83408706747,353.19451315581,367.91095120397,392.4383479509,418.60090448096,441.49314144476,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"First 27/25&2048/2025 scale"},diamisty:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.42486507835,330.74639366397,348.83408706747,372.08969287196,392.4383479509,413.89982010446,436.53496651643,470.39487098876,496.11959049595,523.2511306012],description:"Diamisty scale 2048/2025 and 67108864/66430125"},diamond11a:{frequencies:[261.6255653006,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,523.2511306012],description:"11-limit Diamond with added 16/15 & 15/8, Zoomoozophone tuning: 1/1 = 392 Hz"},diamond11ak:{frequencies:[261.6255653006,279.72330032405,285.63317938628,287.78812183066,290.69507255622,293.86839138568,299.07491977616,305.39295512204,314.19649759716,319.76457981184,326.52043447049,333.41680553884,335.93301933283,349.10721912206,359.17247822875,366.75848641051,373.2589099097,381.14243472333,392.13131479202,407.50942884268,410.58480125643,419.25667855894,428.11456140098,435.70146034294,448.26139746089,457.73103588952,465.84075338014,470.92601754108,475.68284600109,479.27160679251,489.39746055879,523.2511306012],description:"microtempered version of diamond11a, Dave Keenan TL 11-1-2000, 225/224&385/384"},diamond11at:{frequencies:[261.6255653006,279.83704120119,285.33574350137,287.98268367985,290.84948650387,293.82121114493,299.2738827313,305.22380787491,314.19079532693,320.23980272009,326.48518221507,332.71524733285,336.02719554531,349.1122100506,359.53680125564,366.52331521885,373.4984028396,380.75621844446,392.12570885984,407.39521875769,411.45055399509,419.30194782174,427.47925671618,435.70936791853,448.50981249085,457.42672761267,465.91555560021,470.67599975252,475.36147343465,479.7712027167,489.19854301666,523.2511306012],description:"microtempered version of diamond11a, OdC"},diamond11map:{frequencies:[195.99771799087,228.66400432268,261.33029065449,293.99657698631,326.66286331812,359.32914964993,391.99543598174,457.32800864536,522.66058130899,587.99315397261,653.32572663623,718.65829929986,213.81569235368,249.45164107929,285.0875898049,320.72353853051,356.35948725613,391.99543598174,427.63138470735,498.90328215858,570.1751796098,641.44707706103,712.71897451225,783.99087196348,235.19726158904,274.39680518722,313.59634878539,352.79589238357,391.99543598174,431.19497957991,470.39452317809,548.79361037444,627.19269757078,705.59178476713,783.99087196348,862.38995915983,261.33029065449,304.88533909691,348.44038753932,391.99543598174,435.55048442416,479.10553286657,522.66058130899,609.77067819382,696.88077507865,783.99087196348,871.10096884831,958.21106573314,293.99657698631,342.99600648402,391.99543598174,440.99486547946,489.99429497718,538.99372447489,587.99315397261,685.99201296804,783.99087196348,881.98973095892,979.98858995435,1077.98744894978,335.99608798435,391.99543598174,447.99478397913,503.99413197652,559.99347997391,615.99282797131,671.9921759687,783.99087196348,895.98956795826,1007.98826395305,1119.98695994783,1231.98565594261,783.99087196348],description:"11-limit diamond on a 'centreless' map"},diamond15:{frequencies:[261.6255653006,269.80136421624,279.06726965397,280.31310567921,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,301.87565226992,305.22982618403,309.19384990071,310.07474405997,313.95067836072,318.85615771011,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,340.11323489078,343.38355445704,348.83408706747,356.76213450082,359.73515228832,362.25078272391,366.27579142084,367.91095120397,372.08969287196,373.75080757229,377.90359432309,380.54627680087,383.71749577421,392.4383479509,398.6675280771,402.50086969323,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,429.33426100611,436.04260883433,441.49314144476,442.75095666255,448.50096908674,453.48431318771,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,488.36772189445,490.54793493862,507.3950357345,523.2511306012],description:"15-limit Diamond + 2nd ratios. See Novaro, 1927, Sistema Natural..."},diamond17:{frequencies:[261.6255653006,277.97716313189,281.75060878526,283.42769574232,285.40970760065,287.78812183066,299.00064605783,305.22982618403,307.79478270659,309.19384990071,313.95067836072,317.68818643644,322.00069575458,327.03195662575,332.97799220076,338.57426097725,340.11323489078,342.12573923925,348.83408706747,359.73515228832,366.27579142084,369.35373924791,370.63621750918,373.75080757229,380.54627680087,392.4383479509,400.13321751856,402.50086969323,404.33041910093,411.12588832951,418.60090448096,425.14154361347,430.91269578922,436.04260883433,442.75095666255,444.76346101102,448.50096908674,457.84473927605,475.68284600109,479.64686971777,483.00104363188,485.87604984397,492.47165233054,523.2511306012],description:"17-limit Diamond"},diamond17a:{frequencies:[261.6255653006,277.01530443593,277.97716313189,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,307.79478270659,309.19384990071,313.95067836072,317.68818643644,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,338.57426097725,340.11323489078,342.12573923925,348.83408706747,359.73515228832,362.25078272391,366.27579142084,369.35373924791,370.63621750918,373.75080757229,377.90359432309,380.54627680087,392.4383479509,400.13321751856,402.50086969323,404.33041910093,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,430.91269578922,436.04260883433,442.75095666255,444.76346101102,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,492.47165233054,494.18162334558,523.2511306012],description:"17-limit, +9 Diamond"},diamond19:{frequencies:[261.6255653006,275.39533189537,277.97716313189,281.75060878526,283.42769574232,285.40970760065,287.78812183066,292.40504357126,299.00064605783,302.93486508491,305.22982618403,307.79478270659,309.19384990071,310.68035879446,313.95067836072,317.68818643644,322.00069575458,327.03195662575,330.47439827444,332.97799220076,338.57426097725,340.11323489078,342.12573923925,348.83408706747,355.06326719367,358.01393146398,359.73515228832,366.27579142084,369.35373924791,370.63621750918,373.75080757229,380.54627680087,382.37582620857,385.55346465352,392.4383479509,400.13321751856,402.50086969323,404.33041910093,411.12588832951,414.24047839262,418.60090448096,425.14154361347,430.91269578922,436.04260883433,440.63253103259,442.75095666255,444.76346101102,448.50096908674,451.89870370104,457.84473927605,468.17206422213,475.68284600109,479.64686971777,483.00104363188,485.87604984397,492.47165233054,497.08857407114,523.2511306012],description:"19-limit Diamond"},diamond7:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,523.2511306012],description:"7-limit Diamond, also double-tie circular mirroring of 4:5:6:7"},diamond9:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,523.2511306012],description:"9-limit Diamond"},diamond_chess:{frequencies:[261.6255653006,299.00064605783,313.95067836072,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,436.04260883433,457.84473927605,523.2511306012],description:"9-limit chessboard pattern diamond. OdC"},diamond_chess11:{frequencies:[261.6255653006,287.78812183066,299.00064605783,313.95067836072,319.76457981184,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,428.11456140098,436.04260883433,457.84473927605,475.68284600109,523.2511306012],description:"11-limit chessboard pattern diamond. OdC"},diamond_dup:{frequencies:[261.6255653006,274.70684356563,280.31310567921,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Two 7-limit diamonds 3/2 apart"},diamond_mod:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,327.03195662575,336.37572681506,348.83408706747,392.4383479509,406.97310157871,418.60090448096,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"13-tone Octave Modular Diamond, based on Archytas's Enharmonic"},diamond_tetr:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,336.37572681506,339.14425131559,348.83408706747,358.80077526939,523.2511306012],description:"Tetrachord Modular Diamond based on Archytas's Enharmonic"},diaphonic_10:{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,336.37572681506,362.25078272391,392.4383479509,418.60090448096,448.50096908674,483.00104363188,523.2511306012],description:"10-tone Diaphonic Cycle"},diaphonic_12:{frequencies:[261.6255653006,274.70684356563,289.16509849014,305.22982618403,323.18452184192,343.38355445704,366.27579142084,392.4383479509,413.09299784305,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"12-tone Diaphonic Cycle, conjunctive form on 3/2 and 4/3"},diaphonic_12a:{frequencies:[261.6255653006,274.70684356563,289.16509849014,305.22982618403,323.18452184192,343.38355445704,366.27579142084,385.55346465352,406.97310157871,430.91269578922,457.84473927605,488.36772189445,523.2511306012],description:"2nd 12-tone Diaphonic Cycle, conjunctive form on 10/7 and 7/5"},diaphonic_5:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,448.50096908674,523.2511306012],description:"D5-tone Diaphonic Cycle"},diaphonic_7:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012],description:"7-tone Diaphonic Cycle, disjunctive form on 4/3 and 3/2"},diaschismic:{frequencies:[261.6255653006,266.61097723855,278.05603152599,283.35453458855,295.51835494038,301.14961170579,314.07733767684,320.06224556188,333.80185153667,340.16262034629,354.76509561975,369.99442271164,377.04485988831,393.23061088369,400.72382577504,417.92606548687,425.88986517773,444.17243057662,452.63636847719,472.06710558841,481.06259110609,501.71360968203,523.2511306012],description:"diaschismic temperament, g=105.446531, p=600, 5-limit"},diat13:{frequencies:[261.6255653006,279.06726965397,322.00069575458,348.83408706747,392.4383479509,418.60090448096,483.00104363188,523.2511306012],description:"This genus is from K.S's diatonic Hypodorian harmonia"},diat15:{frequencies:[261.6255653006,301.87565226992,327.03195662575,356.76213450082,373.75080757229,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Tonos-15 Diatonic and its own trite synemmenon Bb"},diat15_inv:{frequencies:[261.6255653006,279.06726965397,313.95067836072,348.83408706747,366.27579142084,383.71749577421,418.60090448096,453.48431318771,523.2511306012],description:"Inverted Tonos-15 Harmonia, a harmonic series from 15 from 30."},diat17:{frequencies:[261.6255653006,296.50897400735,342.12573923925,370.63621750918,386.75083566176,404.33041910093,444.76346101102,494.18162334558,523.2511306012],description:"Tonos-17 Diatonic and its own trite synemmenon Bb"},diat19:{frequencies:[261.6255653006,276.16031892841,310.68035879446,355.06326719367,368.21375857121,382.37582620857,414.24047839262,451.89870370104,523.2511306012],description:"Tonos-19 Diatonic and its own trite synemmenon Bb"},diat21:{frequencies:[261.6255653006,289.16509849014,305.22982618403,343.38355445704,366.27579142084,392.4383479509,422.62591317789,457.84473927605,523.2511306012],description:"Tonos-21 Diatonic and its own trite synemmenon Bb"},diat21_inv:{frequencies:[261.6255653006,299.00064605783,323.91736656265,348.83408706747,373.75080757229,398.6675280771,448.50096908674,473.41768959156,523.2511306012],description:"Inverted Tonos-21 Harmonia, a harmonic series from 21 from 42."},diat23:{frequencies:[261.6255653006,286.54228580542,300.86940009569,334.29933343966,353.96400011258,376.08675011961,429.81342870813,462.87600014722,523.2511306012],description:"Tonos-23 Diatonic and its own trite synemmenon Bb"},diat25:{frequencies:[261.6255653006,297.30177875068,327.03195662575,363.36884069528,384.74347838324,408.78994578219,467.18850946536,503.12608711654,523.2511306012],description:"Tonos-25 Diatonic and its own trite synemmenon Bb"},diat27:{frequencies:[261.6255653006,294.32876096318,336.37572681506,353.19451315581,371.78369805875,392.4383479509,441.49314144476,504.56359022259,523.2511306012],description:"Tonos-27 Diatonic and its own trite synemmenon Bb"},diat27_inv:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,377.90359432309,387.59343007496,406.97310157871,465.11211608996,523.2511306012],description:"Inverted Tonos-27 Harmonia, a harmonic series from 27 from 54"},diat29:{frequencies:[261.6255653006,291.81313052759,316.13089140489,344.87006335079,361.29244731988,379.35706968587,421.50785520652,474.19633710734,523.2511306012],description:"Tonos-29 Diatonic and its own trite synemmenon Bb"},diat31:{frequencies:[261.6255653006,289.65687586852,311.93817401225,337.93302184661,352.6257619269,368.65420565085,405.51962621593,450.57736246214,523.2511306012],description:"Tonos-31 Diatonic. The disjunctive and conjunctive diatonic forms are the same"},diat33:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,375.37581108347,392.4383479509,431.68218274599,479.64686971777,523.2511306012],description:"Tonos-33 Diatonic. The conjunctive form is 23 (Bb instead of B) 20 18 33/2"},diat_chrom:{frequencies:[261.6255653006,280.31310567921,301.87565226992,348.83408706747,392.4383479509,420.46965851882,452.81347840488,523.2511306012],description:"Diatonic- Chromatic, on the border between the chromatic and diatonic genera"},diat_dies2:{frequencies:[261.6255653006,266.71168334607,311.12698372208,349.22823143301,391.99543598175,399.61600264311,466.16376151809,523.2511306012],description:"Dorian Diatonic, 2 part Diesis"},diat_dies5:{frequencies:[261.6255653006,274.52693220706,311.12698372208,349.22823143301,391.99543598175,411.32564531909,466.16376151809,523.2511306012],description:"Dorian Diatonic, 5 part Diesis"},diat_enh:{frequencies:[261.6255653006,269.29177952703,311.12698372208,349.22823143301,391.99543598175,403.48177901006,466.16376151809,523.2511306012],description:"Diat. + Enharm. Diesis, Dorian Mode"},diat_enh2:{frequencies:[261.6255653006,269.29177952703,302.26980244078,349.22823143301,391.99543598175,403.48177901006,452.89298412314,523.2511306012],description:"Diat. + Enharm. Diesis, Dorian Mode 3 + 12 + 15 parts"},diat_enh3:{frequencies:[261.6255653006,302.26980244078,311.12698372208,349.22823143301,391.99543598175,452.89298412314,466.16376151809,523.2511306012],description:"Diat. + Enharm. Diesis, Dorian Mode, 15 + 3 + 12 parts"},diat_enh4:{frequencies:[261.6255653006,302.26980244078,339.28638158975,349.22823143301,391.99543598175,452.89298412314,508.3551866238,523.2511306012],description:"Diat. + Enharm. Diesis, Dorian Mode, 15 + 12 + 3 parts"},diat_enh5:{frequencies:[261.6255653006,293.66476791741,339.28638158975,349.22823143301,391.99543598175,440,508.3551866238,523.2511306012],description:"Dorian Mode, 12 + 15 + 3 parts"},diat_enh6:{frequencies:[261.6255653006,293.66476791741,302.26980244078,349.22823143301,391.99543598175,440,452.89298412314,523.2511306012],description:"Dorian Mode, 12 + 3 + 15 parts"},diat_eq:{frequencies:[261.6255653006,288.06466200271,317.1754314895,349.22823143301,391.99543598175,431.60932167676,475.22619361214,523.2511306012],description:"Equal Diatonic, Islamic form, similar to 11/10 x 11/10 x 400/363"},diat_eq2:{frequencies:[261.6255653006,287.78812183066,317.12189733406,348.83408706747,392.4383479509,431.68218274599,475.68284600109,523.2511306012],description:"Equal Diatonic, 11/10 x 400/363 x 11/10"},diat_gold:{frequencies:[261.6255653006,292.38332274669,326.75708630452,349.99258496952,391.13935185123,437.1232727958,488.51296691354,523.2511306012],description:"Diatonic scale with ratio between whole and half tone the Golden Section"},diat_hemchrom:{frequencies:[261.6255653006,273.20871865617,311.12698372208,349.22823143301,391.99543598175,409.35055662695,466.16376151809,523.2511306012],description:"Diat. + Hem. Chrom. Diesis, Another genus of Aristoxenos, Dorian Mode"},diat_smal:{frequencies:[261.6255653006,299.00064605783,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:'"Smallest number" diatonic scale'},diat_sofchrom:{frequencies:[261.6255653006,271.8968348557,311.12698372208,349.22823143301,391.99543598175,407.38495184466,466.16376151809,523.2511306012],description:"Diat. + Soft Chrom. Diesis, Another genus of Aristoxenos, Dorian Mode"},diat_soft:{frequencies:[261.6255653006,274.52693220706,302.26980244078,349.22823143301,391.99543598175,411.32564531909,452.89298412314,523.2511306012],description:"Soft Diatonic genus 5 + 10 + 15 parts"},diat_soft2:{frequencies:[261.6255653006,281.2143451833,302.26980244078,349.22823143301,391.99543598175,421.34544350737,452.89298412314,523.2511306012],description:"Soft Diatonic genus with equally divided Pyknon; Dorian Mode"},diat_soft3:{frequencies:[261.6255653006,281.2143451833,324.90175210669,349.22823143301,391.99543598175,421.34544350737,486.80259447109,523.2511306012],description:"New Soft Diatonic genus with equally divided Pyknon; Dorian Mode; 1:1 pyknon"},diat_soft4:{frequencies:[261.6255653006,302.26980244078,324.90175210669,349.22823143301,391.99543598175,452.89298412314,486.80259447109,523.2511306012],description:"New Soft Diatonic genus with equally divided Pyknon; Dorian Mode; 1:1 pyknon"},dicot:{frequencies:[261.6255653006,270.35822989652,294.32876096318,320.42456924675,331.11985608357,360.47764004221,392.4383479509,405.53734464206,441.49314144476,480.63685362987,523.2511306012],description:"Dicot temperament, g=350.9775, 5-limit"},didy_chrom:{frequencies:[261.6255653006,279.06726965397,290.69507255622,348.83408706747,392.4383479509,418.60090448096,436.04260883433,523.2511306012],description:"Didymus Chromatic"},didy_chrom1:{frequencies:[261.6255653006,279.06726965397,334.88072358477,348.83408706747,392.4383479509,418.60090448096,502.32108537715,523.2511306012],description:"Permuted Didymus Chromatic"},didy_chrom2:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,392.4383479509,470.92601754108,490.54793493862,523.2511306012],description:"Didymos's Chromatic, 6/5 x 25/24 x 16/15"},didy_chrom3:{frequencies:[261.6255653006,272.52663052146,290.69507255622,348.83408706747,392.4383479509,408.78994578219,436.04260883433,523.2511306012],description:"Didymos's Chromatic, 25/24 x 16/15 x 6/5"},didy_diat:{frequencies:[261.6255653006,279.06726965397,310.07474405997,348.83408706747,392.4383479509,418.60090448096,465.11211608996,523.2511306012],description:"Didymus Diatonic"},didy_diatinv:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Inverse Didymus Diatonic, variant of Ptolemy with 2 identical triads"},didy_enh:{frequencies:[261.6255653006,270.06509966514,279.06726965397,348.83408706747,392.4383479509,405.0976494977,418.60090448096,523.2511306012],description:"Dorian mode of Didymos's Enharmonic"},didy_enh2:{frequencies:[261.6255653006,275.62199471997,279.06726965397,348.83408706747,392.4383479509,413.43299207996,418.60090448096,523.2511306012],description:"Permuted Didymus Enharmonic"},"diesic-m":{frequencies:[261.6255653006,289.62525622617,320.62153003931,354.93508703008,392.92094947462,434.97213484265,481.52372211906,523.2511306012],description:"Minimal Diesic temperament, g=176.021, 5-limit"},"diesic-t":{frequencies:[261.6255653006,272.92239980638,281.87304203955,294.04415210774,303.68749398125,316.80053726141,327.19018747082,337.92057205022,352.51178108166,364.07260143821,379.79303732838,392.24856169057,409.18561859271,422.60509148244,436.46466102477,455.31094249407,470.24311865111,490.54793493862,506.63572944675,523.2511306012],description:"Tiny Diesic temperament, g=443.017, 5-limit"},diff31_72:{frequencies:[261.6255653006,269.29177952703,274.52698453615,279.86396690685,285.30470202322,293.66476791741,299.37379946195,305.19382000629,314.13668154225,320.24370022528,326.46944327063,336.03572815422,342.56848033562,352.60650301302,356.01745236555,366.44956000397,373.57357677338,384.52011812375,388.23978476841,399.61607881612,407.38487419079,419.32216217931,427.47405410759,435.78442404634,448.5538823653,457.27406033445,466.16376151809,479.82340237272,489.15147723638,498.66089874196,508.3551866238,523.2511306012],description:"Diff31, 11/9, 4/3, 7/5, 3/2, 7/4, 9/5 difference diamond, tempered to 72-et"},dimteta:{frequencies:[261.6255653006,282.55561052465,307.12566361375,336.37572681506,406.97310157871,439.53094970501,477.75103228805,523.2511306012],description:"A heptatonic form on the 9/7"},dimtetb:{frequencies:[261.6255653006,294.32876096318,336.37572681506,406.97310157871,457.84473927605,523.2511306012],description:"A pentatonic form on the 9/7"},div_fifth1:{frequencies:[261.6255653006,273.00058987889,285.40970760065,348.83408706747,392.4383479509,523.2511306012],description:"Divided Fifth #1, From Schlesinger, see Chapter 8, p. 160"},div_fifth2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,348.83408706747,392.4383479509,523.2511306012],description:"Divided Fifth #2, From Schlesinger, see Chapter 8, p. 160"},div_fifth3:{frequencies:[261.6255653006,271.31540105247,305.22982618403,348.83408706747,392.4383479509,523.2511306012],description:"Divided Fifth #3, From Schlesinger, see Chapter 8, p. 160"},div_fifth4:{frequencies:[261.6255653006,274.70684356563,305.22982618403,343.38355445704,392.4383479509,523.2511306012],description:"Divided Fifth #4, From Schlesinger, see Chapter 8, p. 160"},div_fifth5:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,411.12588832951,523.2511306012],description:"Divided Fifth #5, From Schlesinger, see Chapter 8, p. 160"},dkring1:{frequencies:[261.6255653006,274.70684356563,305.22982618403,313.95067836072,320.49131749323,327.03195662575,366.27579142084,392.4383479509,439.53094970501,448.50096908674,457.84473927605,470.92601754108,523.2511306012],description:"Double-tie circular mirroring of 4:5:6:7"},dkring2:{frequencies:[261.6255653006,274.70684356563,305.22982618403,329.64821227876,336.37572681506,353.19451315581,366.27579142084,392.4383479509,406.97310157871,427.32175665765,436.04260883433,470.92601754108,523.2511306012],description:"Double-tie circular mirroring of 3:5:7:9"},dkring3:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,348.83408706747,384.42940207435,392.4383479509,398.6675280771,448.50096908674,465.11211608996,504.56359022259,523.2511306012],description:"Double-tie circular mirroring of 6:7:8:9"},dkring4:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,327.03195662575,336.37572681506,367.91095120397,373.75080757229,378.42269266694,420.46965851882,467.18850946536,470.92601754108,523.2511306012],description:"Double-tie circular mirroring of 7:8:9:10"},dodeceny:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Degenerate eikosany 3)6 from 1.3.5.9.15.45 tonic 1.3.15"},dorian_chrom:{frequencies:[261.6255653006,279.06726965397,299.00064605783,310.07474405997,315.92521092903,322.00069575458,348.83408706747,380.54627680087,398.6675280771,408.39112632289,418.60090448096,465.11211608996,523.2511306012,558.13453930795,598.00129211566,620.14948811994,631.85042185805,644.00139150917,697.66817413493,761.09255360175,797.33505615421,816.78225264578,837.20180896192,930.22423217991,1046.5022612024],description:"Dorian Chromatic Tonos"},dorian_chrom2:{frequencies:[261.6255653006,274.08392555301,287.78812183066,359.73515228832,411.12588832951,426.35277308246,442.75095666255,523.2511306012],description:"Schlesinger's Dorian Harmonia in the chromatic genus"},dorian_chrominv:{frequencies:[261.6255653006,273.00058987889,285.40970760065,332.97799220076,380.54627680087,404.33041910093,428.11456140098,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Dorian inverted"},dorian_diat:{frequencies:[261.6255653006,279.06726965397,299.00064605783,322.00069575458,334.88072358477,348.83408706747,364.00078650518,380.54627680087,418.60090448096,440.63253103259,465.11211608996,492.47165233054,523.2511306012,558.13453930795,598.00129211566,644.00139150917,669.76144716954,697.66817413493,728.00157301037,761.09255360175,837.20180896192,881.26506206518,930.22423217991,984.94330466108,1046.5022612024],description:"Dorian Diatonic Tonos"},dorian_diat2:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,383.71749577421,411.12588832951,442.75095666255,479.64686971777,523.2511306012],description:"Schlesinger's Dorian Harmonia, a subharmonic series through 13 from 22"},dorian_diat2inv:{frequencies:[261.6255653006,285.40970760065,309.19384990071,332.97799220076,356.76213450082,380.54627680087,428.11456140098,475.68284600109,523.2511306012],description:"Inverted Schlesinger's Dorian Harmonia, a harmonic series from 11 from 22"},dorian_diatcon:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,383.71749577421,411.12588832951,479.64686971777,523.2511306012],description:"A Dorian Diatonic with its own trite synemmenon replacing paramese"},dorian_diatred11:{frequencies:[261.6255653006,287.78812183066,316.56693401373,348.83408706747,392.4383479509,431.68218274599,474.85040102059,523.2511306012],description:"Dorian mode of a diatonic genus with reduplicated 11/10"},dorian_enh:{frequencies:[261.6255653006,279.06726965397,299.00064605783,304.4370214407,307.2300216374,310.07474405997,348.83408706747,380.54627680087,389.39619021485,393.97732186443,398.6675280771,465.11211608996,523.2511306012,558.13453930795,598.00129211566,608.8740428814,614.4600432748,620.14948811994,697.66817413493,761.09255360175,778.79238042969,787.95464372887,797.33505615421,930.22423217991,1046.5022612024],description:"Dorian Enharmonic Tonos"},dorian_enh2:{frequencies:[261.6255653006,267.70988077271,274.08392555301,359.73515228832,411.12588832951,426.35277308246,442.75095666255,523.2511306012],description:"Schlesinger's Dorian Harmonia in the enharmonic genus"},dorian_enhinv:{frequencies:[261.6255653006,267.19206668997,273.00058987889,332.97799220076,380.54627680087,392.4383479509,404.33041910093,523.2511306012],description:"A harmonic form of Schlesinger's Dorian enharmonic inverted"},dorian_pent:{frequencies:[261.6255653006,271.49822814213,287.78812183066,359.73515228832,411.12588832951,423.21782622156,442.75095666255,523.2511306012],description:"Schlesinger's Dorian Harmonia in the pentachromatic genus"},dorian_pis:{frequencies:[261.6255653006,299.00064605783,322.00069575458,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012,558.13453930795,598.00129211566,644.00139150917,697.66817413493,761.09255360175,837.20180896192,930.22423217991,1046.5022612024],description:"Diatonic Perfect Immutable System in the Dorian Tonos, a non-rep. 16 tone gamut"},dorian_schl:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,319.76457981184,338.57426097725,359.73515228832,383.71749577421,411.12588832951,442.75095666255,460.46099492906,479.64686971777,523.2511306012],description:"Schlesinger's Dorian Piano Tuning (Sub 22)"},dorian_tri1:{frequencies:[261.6255653006,269.80136421624,278.50463402967,359.73515228832,411.12588832951,421.15334902048,431.68218274599,523.2511306012],description:"Schlesinger's Dorian Harmonia in the first trichromatic genus"},dorian_tri2:{frequencies:[261.6255653006,269.80136421624,287.78812183066,359.73515228832,411.12588832951,421.15334902048,442.75095666255,523.2511306012],description:"Schlesinger's Dorian Harmonia in the second trichromatic genus"},douwes:{frequencies:[261.6255653006,273.00058987889,292.50063201309,313.39353429974,327.01933943691,350.37786403433,365.61168556196,391.72680409,408.75840577964,436.81779569448,468.01906681552,488.36772189445,523.2511306012],description:"Claas Douwes recommendation of 24/23 and 15/14 steps for clavichord (1699)"},dow_high:{frequencies:[261.6255653006,277.01530443593,278.50463402967,294.32876096318,308.34441624714,313.31771328338,327.34193952303,331.11985608357,346.88746827803,348.83408706747,369.35373924791,392.4383479509,417.75695104451,441.49314144476,462.5166243707],description:"Highest octave of Dowlands lute tuning, strings 5,6. 1/1=G (1610)"},dow_lmh:{frequencies:[261.6255653006,278.50463402967,294.32876096318,308.34441624714,327.34193952303,348.83408706747,369.35373924791,371.33951203956,392.4383479509,411.12588832951,417.75695104451,436.45591936403,441.49314144476,462.5166243707,465.11211608996,492.47165233054,495.11934938608,523.2511306012,548.16785110602,557.00926805934,581.94122581871,588.65752192635,616.68883249427,620.14948811994,626.63542656676,656.62886977405,662.23971216714,693.77493655606,697.66817413493,736.51936392681,742.67902407912,784.8766959018,822.25177665903,831.04591330779,835.51390208901,882.98628288953,925.03324874141,939.95313985014,982.02581856908,993.35956825072,1040.66240483408,1046.5022612024,1108.06121774372,1114.01853611868,1177.3150438527,1233.37766498854,1253.27085313352,1309.3677580921,1324.47942433429,1387.54987311211,1395.33634826987,1477.41495699162,1569.7533918036,1671.02780417803,1765.97256577905,1850.06649748281],description:"All three octaves of Dowland's lute tuning"},dow_low:{frequencies:[261.6255653006,278.50463402967,294.32876096318,308.34441624714,327.34193952303,348.83408706747,369.35373924791,371.33951203956,392.4383479509,411.12588832951,417.75695104451,436.45591936403,441.49314144476,462.5166243707,465.11211608996,492.47165233054,495.11934938608,523.2511306012],description:"Lowest octave of Dowlands lute tuning, strings 1,2,3. 1/1=G. (1610)"},dow_middle:{frequencies:[261.6255653006,274.08392555301,278.50463402967,290.97061290936,294.32876096318,308.34441624714,310.07474405997,313.31771328338,328.31443488703,331.11985608357,346.88746827803,348.83408706747,368.2596819634,371.33951203956,392.4383479509,411.12588832951,415.52295665389,417.75695104451,441.49314144476,462.5166243707,469.97656992507,491.01290928454,496.67978412536,520.33120241704,523.2511306012],description:"Middle octave of Dowlands lute tuning, strings 3,4,5. 1/1=G (1610)"},dowland_12:{frequencies:[261.6255653006,278.50463402967,294.32876096318,308.34441624714,327.34193952303,348.83408706747,369.35373924791,392.4383479509,417.75695104451,441.49314144476,462.5166243707,492.47165233054,523.2511306012],description:"subset of Dowland's lute tuning, lowest octave"},druri:{frequencies:[261.6255653006,285.79952600623,326.97270111135,357.18467683857,523.2511306012],description:"Scale of druri dana of Siwoli, south Nias, Jaap Kunst"},dudon_a:{frequencies:[261.6255653006,285.85015468029,319.76457981184,348.83408706747,392.4383479509,428.77523202043,479.64686971777,523.2511306012],description:"Dudon Tetrachord A"},dudon_b:{frequencies:[261.6255653006,283.42769574232,321.58142401532,348.83408706747,392.4383479509,425.14154361347,482.37213602298,523.2511306012],description:"Dudon Tetrachord B"},dudon_c12:{frequencies:[261.6255653006,302.50455987882,327.03195662575,343.38355445704,392.4383479509,425.14154361347,474.19633710734,523.2511306012],description:"Differentially coherent scale in interval class 1 and 2"},dudon_diat:{frequencies:[261.6255653006,294.32876096318,321.08592105074,350.8160989258,392.4383479509,428.11456140098,481.6288815761,523.2511306012],description:"Dudon Neutral Diatonic"},dudon_moha_baya:{frequencies:[261.6255653006,285.30470202322,320.24370022528,349.22823143301,391.99543598175,427.47405410759,466.16376151809,523.2511306012],description:"Mohajira + Bayati (Dudon) 3 + 4 + 3 Mohajira and 3 + 3 + 4 Bayati tetrachords"},dudon_mohajira:{frequencies:[261.6255653006,285.30470202322,320.24370022528,349.22823143301,391.99543598175,427.47405410759,479.82340237272,523.2511306012],description:"Dudon's Mohajira, two 3 + 4 + 3 tetrachords, neutral diatonic"},dudon_mohajira_r:{frequencies:[261.6255653006,283.42769574232,321.58142401532,348.83408706747,392.4383479509,425.14154361347,479.64686971777,523.2511306012],description:"Jacques Dudon, JI Mohajira, Lumi\xEF\xBF\xBDres audibles"},dudon_thai:{frequencies:[261.6255653006,288.26147859917,317.63518509943,350.43752981487,386.47021463976,426.17461277719,469.97930400405,523.2511306012],description:"Dudon, coherent Thai heptatonic scale, 1/1 vol. 11/2, 2003"},dudon_thai2:{frequencies:[261.6255653006,288.02814528506,314.43072526953,347.1339209321,383.13743909274,422.44127975143,475.35895071461,523.2511306012],description:"Slightly better version, 3.685 cents deviation"},dudon_thai3:{frequencies:[261.6255653006,291.60349465796,321.58142401532,354.2846196779,394.48229767981,434.67997568173,478.96555314146,523.2511306012],description:"Dudon, Thai scale with two 704/703 = 2.46 c. deviations and simpler numbers"},duncan:{frequencies:[261.6255653006,277.97716313189,294.32876096318,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Dudley Duncan's Superparticular Scale"},duoden12:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.42486507835,330.74639366397,348.83408706747,372.08969287196,392.4383479509,413.89982010446,440.99519155196,465.63729761752,496.11959049595,523.2511306012],description:"Almost equal 12-tone subset of Duodenarium"},duodenarium:{frequencies:[14.56761754744,14.73307690724,14.74971276678,14.91724036858,14.98726085128,15.00418372272,15.10370587319,15.17460161192,15.19173601925,15.34695511171,15.36428413207,15.5387920506,15.55633768372,15.71528203439,15.73302695124,15.80687667908,15.91172305982,15.92968978813,16.00446263757,16.18624171938,16.20451842054,16.38856974087,16.57471152064,16.59342686263,16.78189541465,16.86066845769,16.87970668806,16.99166910733,17.07142681341,17.26532450067,17.28481964857,17.48114105693,17.67969228869,17.69965532014,17.78273626396,17.90068844229,17.98471302153,18.00502046726,18.2095219343,18.41634613405,18.43714095848,18.64655046072,18.73407606409,18.85833844126,18.87963234148,18.9682520149,18.98967002407,19.18369388963,19.20535516508,19.42349006325,19.44542210465,19.64410254298,19.66628368904,19.88965382477,19.91211223516,20.00557829696,20.13827449758,20.23280214922,20.25564802567,20.48571217609,20.7183894008,20.74178357829,20.97736926831,21.07583557211,21.21563074642,21.23958638417,21.33928351676,21.58165562584,21.60602456072,21.85142632116,22.09961536086,22.12456915017,22.37586055287,22.48089127691,22.50627558408,22.65555880978,22.76190241787,23.02043266756,23.0464261981,23.3081880759,23.57292305158,23.59954042685,23.71031501862,23.86758458973,23.97961736204,24.00669395635,24.27936257907,24.30677763081,24.55512817873,24.5828546113,24.86206728096,24.89014029395,25.14445125502,25.17284312198,25.29100268653,25.31956003209,25.487503661,25.60714022011,25.897986751,25.92722947286,26.22171158539,26.51953843303,26.54948298021,26.67410439595,26.85103266344,26.9770695323,27.0075307009,27.31428290145,27.62451920107,27.65571143772,27.96982569108,28.10111409614,28.2875076619,28.31944851222,28.45237802234,28.77554083445,28.80803274762,29.13523509488],description:"Ellis's Duodenarium : genus [3^12 5^8]"},duodene:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Ellis's Duodene : genus [33355]"},"duodene14-18-21":{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,336.37572681506,348.83408706747,378.42269266694,392.4383479509,406.97310157871,448.50096908674,457.84473927605,504.56359022259,523.2511306012],description:"14-18-21 Duodene"},"duodene3-11_9":{frequencies:[261.6255653006,285.40970760065,294.32876096318,319.76457981184,321.08592105074,348.83408706747,359.73515228832,392.4383479509,426.35277308246,428.11456140098,479.64686971777,481.6288815761,523.2511306012],description:"3-11/9 Duodene"},"duodene3-7":{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,457.84473927605,515.07533168556,523.2511306012],description:"3-7 Duodene"},"duodene6-7-9":{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,343.38355445704,348.83408706747,392.4383479509,406.97310157871,448.50096908674,457.84473927605,504.56359022259,523.2511306012],description:"6-7-9 Duodene"},duodene_min:{frequencies:[261.6255653006,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,353.19451315581,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Minor Duodene"},"duodene_r-45":{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,334.88072358477,353.19451315581,376.74081403286,401.85686830172,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Ellis's Duodene rotated -45 degrees"},duodene_r45:{frequencies:[261.6255653006,275.93321340298,279.06726965397,294.32876096318,313.95067836072,334.88072358477,383.2405741708,408.78994578219,436.04260883433,459.88868900496,465.11211608996,490.54793493862,523.2511306012],description:"Ellis's Duodene rotated 45 degrees"},duodene_r90:{frequencies:[261.6255653006,272.52663052146,279.06726965397,306.59245933664,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Ellis's Duodene rotated 90 degrees: genus [33555]"},duodene_skew:{frequencies:[261.6255653006,282.55561052465,290.69507255622,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,418.60090448096,436.04260883433,470.92601754108,502.32108537715,523.2511306012],description:"Rotated 6/5x3/2 duodene"},duodene_t:{frequencies:[261.6255653006,279.3825857701,293.66476791741,313.59634948548,327.03195662575,349.22823143301,367.08095907728,391.99543598175,418.60090448096,436.53528831673,469.86362971679,489.99429388332,523.2511306012],description:"Duodene with equal tempered fifths"},duowell:{frequencies:[261.6255653006,278.41172412276,294.03623226919,312.90189200955,327.96500300935,349.00756672938,368.59392213143,392.24328034087,417.4100028405,437.50413894442,469.11953885575,491.70297432358,523.2511306012],description:"Ellis duodene well-tuned to fifth=(7168/11)^(1/16) third=(11/7)^(1/2)"},dwarf6_7:{frequencies:[261.6255653006,299.00064605783,327.03195662575,373.75080757229,392.4383479509,448.50096908674,523.2511306012],description:"Dwarf(<6 10 14 17|)"},cairo:{frequencies:[261.6255653006,269.38381929633,276.03456984659,285.15047989166,293.63138642043,300.85736580106,309.799366845,312.20234522745,320.03127253896,327.93377450564,337.66851484331,348.83408706747,357.41197445437,367.9166999024,380.21445327801,392.4383479509,401.02017979859,414.62054722758,417.26565438692,427.77234352616,440.44707963064,451.93568025669,468.86302025197,480.04690880844,491.77737838459,510.98743222773,523.2511306012],description:"P.42, of d'Erlanger, vol.5. Congress of Arabic Music, Cairo, 1932"},canright:{frequencies:[261.6255653006,286.48426603331,306.03443598155,335.11270457212,357.98136125932,391.99543598175,418.74586628806,458.53356119912,489.82466832727,523.2511306012],description:`David Canright's piano tuning for "Fibonacci Suite" (2001)`},carlos_alpha:{frequencies:[261.6255653006,273.68256372566,286.29520819723,299.48910562989,313.29104303136,327.729041887,342.83241505062,358.63182625716,375.1593523779,392.44854854484,410.5345162762,429.45397474154,449.24533531117,469.94877954106,491.60634075178,514.26198936695,537.96172218451,562.75365576207,588.68812410589],description:"Wendy Carlos' Alpha scale with perfect fifth divided in nine"},carlos_alpha2:{frequencies:[261.6255653006,267.58616452957,273.68256372566,279.91785681123,286.29520819723,292.81785438923,299.48910562989,306.31234757893,313.29104303136,320.42873367481,327.729041887,335.19567257401,342.83241505062,350.6431449633,358.63182625716,366.8025131876,375.1593523779,383.7065849236,392.44854854484,401.3896797878,410.5345162762,419.88769901416,429.45397474154,439.23819834286,449.24533531117,459.48046426806,469.94877954106,480.6555937997,491.60634075178,502.8065779009,514.26198936695,525.97838877075,537.96172218451,550.21807114943,562.75365576207,575.57483783111,588.68812410589],description:"Wendy Carlos' Alpha prime scale with perfect fifth divided by eightteen"},carlos_beta:{frequencies:[261.6255653006,271.44693432634,281.63699549204,292.20958942356,303.17907632096,314.56035546319,326.36888544505,338.62070517372,351.33245565363,364.52140258903,378.2054598351,392.40321372938,407.13394833666,422.41767164147,438.27514272393,454.72789995564,471.7982902542,489.50949943583,507.88558370741,526.95150234083,546.73315157381,567.25739978343,588.55212398003],description:"Wendy Carlos' Beta scale with perfect fifth divided by eleven"},carlos_beta2:{frequencies:[261.6255653006,266.49100855797,271.44693432634,276.49502530642,281.63699549204,286.87459075215,292.20958942356,297.64380291476,303.17907632096,308.81728905054,314.56035546319,320.41022551991,326.36888544505,332.43835840072,338.62070517372,344.91802487526,351.33245565363,357.86617542024,364.52140258903,371.30039682974,378.2054598351,385.23893610237,392.40321372938,399.70072522531,407.13394833666,414.70540688852,422.41767164147,430.27336116448,438.27514272393,446.42573318931,454.72789995564,463.18446188312,471.7982902542,480.57230974851,489.50949943583,498.61289378764,507.88558370741,517.33071758003,526.95150234083,536.75120456442,546.73315157381,556.90073257014,567.25739978343,577.80666964473,588.55212398003],description:"Wendy Carlos' Beta prime scale with perfect fifth divided by twentytwo"},carlos_gamma:{frequencies:[261.6255653006,266.98388983977,272.45195763676,278.03201633122,283.72635959645,289.53732808222,295.4673103769,301.51874398927,307.69411635045,313.99596583639,320.42688281121,326.98951069203,333.68654703547,340.52074464653,347.49491271011,354.6119179457,361.87468578579,369.2862015783,376.84951181374,384.56772537748,392.44401482761,400.48161769905,408.68383783428,417.05404674148,425.59568498025,434.31226357598,443.20736546293,452.28464695708,461.547839259,471.00074998758,480.64726474513,490.49134871455,500.53704828923,510.78849273629,521.24989589392,531.92555790347],description:"Wendy Carlos' Gamma scale with third divided by eleven or fifth by twenty"},carlos_harm:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,425.14154361347,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Carlos Harmonic & Ben Johnston's scale of 'Blues' from Suite f.micr.piano (1977) & David Beardsley's scale of 'Science Friction'"},carlos_super:{frequencies:[261.6255653006,277.97716313189,294.32876096318,313.95067836072,327.03195662575,348.83408706747,359.73515228832,392.4383479509,425.14154361347,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Carlos Super Just"},carlson:{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Brian Carlson's guitar scale (or 7 is 21/16 instead) fretted by Mark Rankin"},cassandra1:{frequencies:[261.6255653006,265.52313139125,271.43629763673,275.48001908354,279.58398024378,283.7490817683,290.06813927787,294.38942683035,298.7750924519,305.42877739024,309.97889991383,314.59680966486,319.28351286859,326.39391783308,331.25637026535,336.19125912653,343.67819754196,348.79814248043,353.99435973883,359.26798967332,367.26884406885,372.74022844163,378.29312490007,386.71766674112,392.47878977853,398.32574139651,407.19640716832,413.26261206104,419.41919061043,425.66748431192,435.14704737009,441.62964923022,448.20882304357,458.19037897128,465.01626879626,471.9438445688,478.97462660712,489.64133323501,496.93576068834,504.33885972365,515.57042175735,523.2511306012],description:"Cassandra temperament (Erv Wilson), 13-limit, g=497.866"},cassandra2:{frequencies:[261.6255653006,265.34593985135,270.18130909623,275.10479273152,279.0168449367,284.10133754875,289.27848429833,293.3920895946,298.7385406747,304.18241953205,309.72550158209,314.12986807617,319.85422136322,325.68288889698,330.31417303802,336.33345109576,342.46241778116,348.70307193775,353.66170827405,360.10644584283,366.66862514012,371.88273569526,378.65951299923,385.5597827545,392.58579535013,398.16845391153,405.42423290482,412.81223314336,418.68251621245,426.31212065787,434.08075852776,440.25348482514,448.27617460765,456.44506096456,464.76280801961,471.37183998139,479.96159605313,488.70788228454,495.65741860341,504.6897280454,513.8866322474,523.2511306012],description:"Cassandra temperament, schismic variant, 13-limit, g=497.395"},catler:{frequencies:[261.6255653006,269.80136421624,279.06726965397,294.32876096318,299.00064605783,305.22982618403,313.95067836072,318.93402246168,322.00069575458,327.03195662575,343.38355445704,348.83408706747,359.73515228832,367.91095120397,380.54627680087,392.4383479509,418.60090448096,425.14154361347,436.04260883433,441.49314144476,457.84473927605,465.11211608996,483.00104363188,490.54793493862,523.2511306012],description:'Catler 24-tone JI from "Over and Under the 13 Limit", 1/1 3(3)'},cbrat19:{frequencies:[261.6255653006,272.05448646742,281.65887246066,291.7164960911,303.76422848609,314.23522436032,325.78124145721,339.14379232251,350.05979530932,364.18597952318,377.95660802413,389.93691761381,406.2330981776,420.87727247778,436.65546295526,454.14747622901,467.92430113657,486.684954898,506.27371414348,523.2511306012],description:"brats = -1 -1 -1 -1 -1 -1 -1 -1 0 3/7 390808/591947 1/2 1/2 1/2 1/2 1/4 0 0 -1"},ceb88f:{frequencies:[261.6255653006,275.30280934529,289.60851057007,304.80308899558,320.69584574771,337.31885569235,354.97473368038,373.44187862432,393.05647479461,413.57234190108,435.03089105397,457.82276134277,481.66189358475,506.59641128799],description:"88 cents steps with equal beating fifths"},ceb88s:{frequencies:[261.6255653006,275.27750547448,289.60710371138,304.74878776577,320.64207659236,337.32428016541,354.95189689869,373.45451504132,392.8755714351,413.39725679488,434.93759942207,457.54716438978,481.43806014345,506.51485544552,533.01280425363],description:"88 cents steps with equal beating sevenths"},ceb88t:{frequencies:[261.6255653006,275.20384442973,289.60910777612,304.54100616185,320.3823320487,337.18847246966,354.60902163481,373.09056856306,392.69773188536,413.02170471677,434.58350960486,457.45853552679,481.16983689269,506.32527343025,533.01280425363],description:"88 cents steps with equal beating 7/6 thirds"},cet105:{frequencies:[261.6255653006,277.98437592617,295.36606150822,313.83458334354,333.45789502888,354.30820661869,376.46223533368,400.00150378562,425.01262301844,451.58762919357,479.82430313337,509.82655042708,541.70476218406,575.57624366132],description:"Equal temperament with very good 6/5 and 13/8"},cet105a:{frequencies:[261.6255653006,278.09098920184,295.59266404146,314.19580976213,333.96974580612,354.98815389674,377.32935907335,401.07660961589,426.31839262878,453.14877154631,481.66772230429,511.98151233648,544.20310589723,578.45256778249,614.85751848055,653.5536209391,694.68506540856,738.40511604959,784.8766959018],description:"18th root of 3"},cet111:{frequencies:[261.6255653006,279.02234237845,297.57591715819,317.3632108372,338.46625752841,360.97255206362,384.97540137331,410.57431878206,437.87543474729,466.99193686517,498.04453913461,531.16197935691,566.48156495049,604.14972437838,644.32262592407,687.16682227215,732.8599410185,781.59142109591,833.56329335333,888.99103711409,948.10444554232,1011.14859670036,1078.38486510237,1150.09200534594,1226.56730779978,1308.127826503],description:'25th root of 5, Karlheinz Stockhausen in "Studie II" (1954)'},cet111a:{frequencies:[261.6255653006,279.09119608948,297.72279782842,317.59821198502,338.80046946076,361.41815173468,385.54574794778,411.2840547398,438.74060487161,468.03009995854,499.27490936609,532.60556349815,568.16130614457,606.09068659426,646.55215742719,689.71476370538,735.75882016749,784.8766959018],description:"17th root of 3. McLaren 'Microtonal Music', volume 1, track 8"},cet112:{frequencies:[261.6255653006,279.13807488234,297.82282461384,317.75828292395,339.02816520012,361.72179601836,385.93447726538,411.76789245756,439.33052439618,468.73812456399,500.11419015728,533.59048802364,569.30759588159,607.4155105893,648.07426630787,691.45461344743,737.73872000797,787.12095980595,839.80871352279,896.02324851892,956.00062766807,1019.99273078287,1088.26829265547,1161.11404316696,1238.83588500259,1321.76021726874,1410.23528064063,1504.63263477595,1605.34868446028,1712.8063948195,1827.45703443292,1949.78208984359,2080.29524321777,2219.54459500735,2368.11492276755,2526.63016208001,2695.75596930795,2876.20260183901,3068.72784518,3274.14022786751,3493.30234242079,3727.13457771193,3976.61891204907,4242.80307922676,4526.8048719912,4829.81697864182,5153.11189830808,5498.04733953642,5866.07179694692,6258.73081875602,6677.6733762505,7124.65885956048,7601.56430418436,8110.3925243186],description:"53rd root of 31. McLaren 'Microtonal Music', volume 4, track 16"},cet114:{frequencies:[261.6255653006,279.47933554513,298.55147893584,318.92513586406,340.68912750315,363.93832870511,388.77409689134,415.30469757995,443.64579124771,473.92093172942,506.26209616971,540.81027939262,577.71608583803,617.1404103833,659.25511382574,704.24379572788,752.30258557703,803.64098403142,858.48280642307,917.06712239825,979.64933665453,1046.5022612024],description:"21st root of 4"},cet115:{frequencies:[261.6255653006,279.68949451567,299.00064605783,319.64513593742,341.71502406609,365.30872604057,390.53145607553,417.49568846357,446.32166408632,477.13792869952,510.08190181294],description:"2nd root of 8/7. Werner Linden, Musiktheorie, 2003 no.1 midi 15.Eb=19.44544 Hz"},cet117:{frequencies:[261.6255653006,279.86396690685,299.37379946195,320.24370022528,342.56848033562,366.44956000397,391.99543598175,419.32216217931,448.5538823653,479.82340237272,513.27277840175,549.0539690723,587.32953583482,628.27336308449,672.07145630843,718.92279942609,769.0402362475,822.65144744826,880,941.34642612261,1006.96941915374,1077.1671181081,1152.25842837255,1232.58448551457,1318.51022765149,1410.42601205207,1508.74940691646,1613.92711604023,1726.4369576214,1846.79005749489,1975.53320502451,2113.25127526858,2260.56991361642,2418.15841952625,2586.73271138559,2767.05861265008,2959.95538169309],description:"72nd root of 128, step = generator of Miracle"},cet118:{frequencies:[261.6255653006,280.22072913446,300.13755324878,321.46997343155,344.3186075731,368.79121945838,395.0032340925,423.07827792492,453.14877154631,485.35654007358,519.85349135637,556.8023269521,596.37732215892,638.76512932755,684.16567043124,732.79307276157,784.8766959018],description:"16th root of 3. McLaren 'Microtonal Music', volume 1, track 7"},cet126:{frequencies:[261.6255653006,281.50639381697,302.89795903081,325.91506125677,350.68122444233,377.32935907335,406.00247545366,436.85445118639,470.05085697597,505.76984518255,544.20310589723,585.55689566922,630.05314440547,677.93064638327,729.44634176744,784.8766959018],description:"15th root of 3. McLaren 'Microtonal Music', volume 1, track 6"},cet126a:{frequencies:[261.6255653006,281.42815779395,302.72962012827,325.64340264099,350.29154279212,376.80531512858,405.32593044476,436.00528786292,469.00678383895,504.50618240233,542.69254813034,583.76926541313,627.95510352048,675.48539363125,726.61327927927,781.61106458091,840.77166451082,904.41016494992,972.86550081423,1046.5022612024],description:"19th root of 4"},cet133:{frequencies:[261.6255653006,282.54488373859,305.13688994853,329.53533037111,355.88464567857,384.34082587483,415.07233376839,448.26110228542,484.10361152681,522.81205194575,564.61558053174,609.76167743791,658.5176110828,711.17202040031],description:"13th root of e"},cet140:{frequencies:[261.6255653006,283.72172983292,307.68407293041,333.67021037701,361.85106232365,392.4119924075,425.55401329039,461.49511402661,500.47170241421,542.7401414615,588.57845795114,638.28815062634,692.19618110881,750.65713728047,814.05554253056,882.80839491877,957.36792629418,1038.22454144983,1125.91008648826,1221.00130775733,1324.12366033919,1435.95544645068,1557.23222387914,1688.75170820144,1831.3789571042],description:"24th root of 7"},cet141:{frequencies:[261.6255653006,283.85429714132,307.97166902637,334.13814720468,362.52783176564,393.32961502355,426.7484383229,463.0066556268,502.34551296122,545.02675670673,591.33436279611,641.57644431325,696.08728968715,755.22958979995,819.39685117042,889.01601417107,964.55029369918,1046.5022612024],description:"17th root of 4"},cet146:{frequencies:[261.6255653006,284.69629445872,309.80145226022,337.12043918596,366.84847565362,399.19799705513,434.40017432099,472.70655602525,514.39088038704,559.75102196641,609.11112257023,662.82390755693,721.27320639821,784.8766959018],description:"13th root of 3, Bohlen-Pierce approximation"},cet148:{frequencies:[261.6255653006,284.92791524313,310.30575035912,337.94392545772,368.04376529149,400.82452432448,436.52498800167,475.40520223986,517.74838217475,563.86296895784,614.08486606944,668.77990486322,728.34649714081,793.21854485147,863.86858278563,940.81124699851,1024.60701225804,1115.86625569541,1215.25373699679,1323.49342609599,1441.37375222579,1569.7533918036],description:"21th root of 6, Moreno's C-21"},cet152:{frequencies:[261.6255653006,285.70808394691,312.0073878821,340.72733440875,372.0911362405,406.34196228781,443.74556186468,484.59214639302,529.19833545193,577.91081034511,631.10724720728,689.20039277289,752.64098693245,821.92125998587],description:"13th root of pi"},cet158:{frequencies:[261.6255653006,286.70831230381,314.19580976213,344.3186075731,377.32935907335,413.50494015483,453.14877154631,496.5933637384,544.20310589723,596.37732215892,653.5536209391,716.21156534988,784.8766959018],description:`12th root of 3, Moreno's A-12, see dissertation "Embedding Equal Pitch Spaces.`},cet159:{frequencies:[261.6255653006,286.82842069679,314.45911373416,344.75151869218,377.96204482418,414.37180231943,454.28897403052,498.05144066897,546.02962057131],description:"4e-th root of e. e-th root of e is highest x-th root of x"},cet160:{frequencies:[261.6255653006,286.95745534843,314.74210513576,345.21700307457,378.64263238751,415.30469757995,455.51656649021,499.62194879119,547.99783383788,601.05771297194,659.25511382574,723.0874768355,793.10040709753,869.89233791055,954.11964586525,1046.5022612024],description:'15th root of 4, Rudolf Escher in "The Long Christmas Dinner" (1960)'},cet160a:{frequencies:[261.6255653006,287.06963246392,314.98822873932,345.62201499981,379.23505183234,416.11708252541,456.58602635137,500.99072933585,549.71395617638,603.17569602575,661.83679400878,726.20290371434,796.8288589228,874.32344802967,959.35468153537,1052.65552131526,1155.03021091382,1267.36122959081,1390.6168610076,1525.85955590014,1674.2551187631,1837.08270650821,2015.74588766663,2211.78472029595,2426.88907720145,2662.91313932742,2921.89140956529,3206.0563044734,3517.85730085803,3859.98211320646,4235.37982185266,4647.28638964387,5099.2524155536,5595.17379976366,6139.32543031277,6736.39784717273,7391.53779523322,8110.3925243186],description:"37th root of 31. McLaren 'Microtonal Music', volume 2, track 7"},cet163:{frequencies:[261.6255653006,287.45276480522,315.82957660097,347.00769742017,381.26366336311,418.90131810157,460.25449359467,505.68997636603,555.61077020009,610.45965236807],description:'9th root of 7/3. Jeff Scott in "Quiet Moonlight" (2001)'},cet163a:{frequencies:[261.6255653006,287.41152361975,315.7389582221,346.85836204295,381.04491126651,418.60090448096,459.85843616195,505.18233428314,554.97338050766],description:"5th root of 8/5"},cet166:{frequencies:[261.6255653006,287.95619440582,316.93680165166,348.83408706747],description:"3rd root of 4/3"},cet173:{frequencies:[261.6255653006,289.10449173793,319.46957112932,353.02394045842,390.10257564198,431.07563562091,476.35215768611,526.38414093011,581.67105858963,642.7648443263,710.27540222401,784.8766959018],description:"11th root of 3, Moreno's A-11"},cet175:{frequencies:[261.6255653006,289.48414624674,320.30918244523,354.41654988346,392.15575985798,433.91353804458,480.11779720922,531.2420078798,587.8100594825,650.40162657281,719.65810898332,796.28920449429,881.08018137935,974.89992535123,1078.70983713651,1193.57370864212,1320.66858845324,1461.29686662697,1616.89961515233,1789.07135516847,1979.57639663535,2190.36691789568,2423.60297039629,2681.67459807517,2967.22638952895,3283.18448966052,3632.78664249769,4019.61535560076,4447.6346101102],description:"28th root of 7. McLaren 'Microtonal Music', volume 6, track 3"},cet175a:{frequencies:[261.6255653006,289.53628281337,320.42456924675,354.60807736883,392.4383479509,434.30442400296,480.63685362987,531.91211578736],description:"4th root of 3/2"},cet178:{frequencies:[261.6255653006,289.91935960089,321.27301846367,356.01745236555,394.51936464224,437.18511000944,484.46499093218,536.85800524663,594.91712478053,659.25511382574,730.5510078664,809.55727745129,897.10776473059,994.12650420781,1101.63744560301,1220.77528002516,1352.79740322961,1499.09721690784,1661.21879031979,1840.87318566558,2039.95650991293,2260.56991361642,2505.04181781964,2775.9524141353,3076.16094499002,3408.83584914421,3777.48827884202,4186.0090448096],description:"27th root of 16"},cet181:{frequencies:[261.6255653006,290.48091212946,322.51878830959,358.09020513941,397.58488163802,441.43552612833,490.12256936272,544.17943316245,604.19836236377,670.83693141722,744.82523718317,826.97390553231,918.18295398723,1019.45167961503,1131.88958971281,1256.72856920928,1395.33634826987],description:"6.625 tET. The 16/3 is the so-called Kidjel Ratio promoted by Maurice Kidjel in 1958"},cet182:{frequencies:[261.6255653006,290.70585738945,323.0184918031,358.92275093366,398.81785224951,443.14738973192,492.40425618917,547.1361382945,607.95159681319,675.52683545966,750.61321956915,834.04563048717,926.75174856904,1029.76237395443,1144.22286477952,1271.40590625444,1412.7256395721,1569.7533918036],description:"17th root of 6, Moreno's C-17"},cet195:{frequencies:[261.6255653006,292.81795587218,327.72927094457,366.80289667873,410.53509014096,459.48126579586,514.26306468681,575.57624366132],description:"7th root of 11/5"},cet21k:{frequencies:[261.6255653006,264.89588486686,268.20708342769,271.55967197054,274.95416787017,278.3910952928,281.87098404962,285.39437141672,288.96180112674,292.57382370898,296.23099657435,299.9338841014,303.68305772341,307.47909424051,311.32258299104,315.21411535185,319.1542918681,323.14372059172,327.18301717534,331.2728049672,335.41371510742,339.60638662537,343.85146653829,348.14960995112,352.50148015762,356.90774874273,361.36909568619,365.8862094675,370.45978717215,375.09053459917,379.77916637013,384.52640603933,389.33298620552,394.19964862491,399.1271443257,404.11623372391,409.16768674077,414.28228292154,419.46080913287,424.70406934596,430.01287031296,435.38803129329,440.83038178715,446.34076166346,451.92002128953,457.56902166224,463.28863454093,469.07974258197,474.94323947488,480.88003008033,486.89103056976,492.97716856672,499.13938329007,505.37862569893,511.69585863936,518.09205699304,524.56820782765],description:"scale of syntonic comma's, almost 56-tET"},cet222:{frequencies:[261.6255653006,297.3462123974,337.94392545772,384.08458333231,436.52498800167,496.12526073276,563.86296895784,640.8491384935,728.34649714081,827.79017883768,940.81124699851,1069.2634803114,1215.25373699679,1381.1765584523,1569.7533918036],description:"14th root of 6, Moreno's C-14"},cet233:{frequencies:[261.6255653006,299.41460910537,342.66187834083,392.15575985798,448.79850611373,513.6227001391,587.8100594825,672.71300106294,769.87926947615,881.08018137935,1008.34288220748,1153.98733901804,1320.66858845324,1511.42518780658,1729.7345489351,1979.57639663535,2265.50524176842,2592.73349533282,2967.22638952895,3395.81083571538,3886.29974647262,4447.6346101102],description:"21st root of 17. McLaren 'Microtonal Music', volume 2, track 15"},cet24:{frequencies:[261.6255653006,265.3411057651,269.1094134006,272.9312375932,276.80733837157,280.73848655813,284.72546392233,288.7690633361,292.87008893155,297.02935626086,301.24769245848,305.52593640563,309.86493889709,314.26556281043,318.72868327757,323.25518785885,327.84597671953,332.50196280875,337.22407204116,342.01324348101,346.8704295289,351.79659611118,356.79272287204,361.85980336835,366.9988452672,372.21087054633,377.49691569736,382.85803193188,388.29528539052,393.80975735501,399.40254446313,405.07475892685,410.82752875349,416.66199797006,422.57932685074,428.58069214763,434.66728732478,440.84032279551,447.10102616311,453.45064246502,459.89043442035,466.42168268106,473.04568608657,479.76376192214,486.57724618073,493.48749382879,500.49587907561,507.6037956467,514.81265706088,522.12389691142,529.53896915113],description:"least squares fit primes 2-13"},cet258:{frequencies:[261.6255653006,303.75687573192,352.67287219582,409.46613795376,475.40520223986,551.96287401486,640.8491384935,744.04935121924,863.86858278563,1002.98310468409,1164.50016626124,1352.0273979586,1569.7533918036],description:"12th root of 6, Moreno's C-12"},cet29:{frequencies:[51.91308719749,52.80006242627,53.70219231256,54.6197354699,55.55295587693,56.50212107609,57.46750349647,58.44938022184,59.44803272677,60.46374832519,61.49681820986,62.54753889218,63.61621194966,64.70314373878,65.80864697157,66.93303858176,68.07664129187,69.2397833384,70.42279815925,71.62602610967,72.84981213985,74.09450750046,75.36046944358,76.64806088248,77.95765225928,79.28961901721,80.64434345693,82.02221441105,83.42362735565,84.84898403373,86.29869452271,87.77317443616,89.27284697886,90.79814258634,92.34949851506,93.9273610926,95.53218267212,97.16442386902,98.82455316866,100.51304648023,102.230389586,103.97707482641,105.75360353451,107.56048560902,109.39823902877,111.26739251837,113.16848194039,115.10205294491,117.06866050489,119.06886838764,121.10325205621,123.17239474253,125.2768903313,127.4173428542,129.59436591466,131.80858584574,134.06063743615,136.35116706905,138.68083217153,141.05030058861,143.46025402018,145.91138336926,148.40439215824,150.93999592972,153.51892156515,156.14191102559,158.8097162888,161.52310306741,164.28285015685,167.08974869373,169.94460622727,172.84824120887,175.80148703892,178.80519135714,181.8602162858,184.96743760879,188.12774927869,191.34205731671,194.61128429254,197.93636853869,201.31826325695,204.75794142387,208.2563891515,211.8146105632,215.43362693858,219.11447574094,222.85821595641,226.66592086774,230.53868336123,234.47761499594,238.48384494529,242.55852580808,246.70282574354,250.91793424736,255.20506113867,259.56543598745],description:"95th root of 5"},cet39:{frequencies:[261.6255653006,267.55763511324,273.62420803617,279.82833216202,286.17312954462,292.66178817784,299.29756995616,306.08381073387,313.02392200207,320.12139075456,327.37978859613,334.80276256646,342.39404424694,350.15744982839,358.09687996112,366.21632994368,374.51987945827,383.01170275779,391.6960687417,400.57734310204,409.65998815178,418.94857448076,428.44776921301,438.16234766073,448.09719341103,458.25729813392,468.64777462103,479.27384364987,490.14084702027,501.25424765147,512.61963232837,524.24271148185,536.12933410494,548.28547272565,560.71723832061,573.43088042607,586.43278689221,599.72950056876,613.32770249519,627.23422858353,641.45606974252,656.00037539202,670.87445318194,686.08578808043,701.64202314362,717.55097860059,733.82065199545,750.45921787297,767.47504913108,784.8766959018],description:"49th root of 3"},cet39a:{frequencies:[261.6255653006,267.54999903763,273.60843178624,279.80421399945,286.14029787289,292.61969147246,299.24597805224,306.02231493662,312.9519192023,320.03862308027,327.28580327671,334.69690040195,342.27601296361,350.02675229311,357.95279806627,366.05853356918,374.34782106107,382.82459589435,391.49354592099,400.35880176332,409.42457221564,418.6958708581,428.17711532294,437.87280684605,447.78830736843,457.9283414747,468.29772316218,478.90218693807,489.74678566745,500.83666784082,512.17796641877,523.77608535691],description:"31-tET with least squares octave; equal weight to 5/4, 3/2, 7/4 and 2/1"},cet39b:{frequencies:[261.6255653006,267.54443554965,273.59736903996,279.78708267123,286.11699418435,292.58994480246,299.2095086599,305.97865699219,312.90112748358,319.98002733127,327.21907624411,334.6220906301,342.19239338178,349.93416455252,357.85087908811,365.94690831825,374.22588619981,382.6921630398,391.3502022376,400.20389001205,409.25811505631,418.51694141988,427.98548149913,437.66798531163,447.56979919346,457.69536764001,468.05001127562,478.63918904181,489.46765396188,500.54138513107,511.86535306771,523.4458104663],description:"31-tET with l.s. 8/7, 5/4, 4/3, 3/2, 8/5, 7/4, 2/1; equal weights"},cet39c:{frequencies:[261.6255653006,267.52919373065,273.56603860918,279.73910598956,286.05147140959,292.50627485027,299.10673210371,305.85612987468,312.75782903301,319.8152662872,327.03195662575,334.41149334841,341.95754947331,349.67388372612,357.56433846376,365.63284274659,373.88341429498,382.32016148985,390.94728541851,399.7690842757,408.78994578219,418.01436575232,427.44693588739,437.09235368188,446.9554220819,457.04105241293,467.35426952494,477.9002035559,488.68410850494,499.71135422907,510.98743222773,522.51795602393],description:"10th root of 5/4"},cet39d:{frequencies:[261.6255653006,267.55786538889,273.62467903016,279.82905628857,286.1741163878,292.66304927922,299.29911724561,306.08565654127,313.02607906932,320.12387409698,327.38261000985,334.80593610581,342.39758442978,350.16137164992,358.1012009765,366.22106412416,374.52504331879,383.0173133498,391.70214366901,400.58390053708,409.66704921865,418.95615622721,428.45589162089,438.17103135034,448.1064596598,458.26717154264,468.65827525256,479.28499487175,490.15267293726,501.26677312698,512.63288300643,524.25671683791],description:"31-tET with l.s. 5/4, 3/2, 7/4"},cet39e:{frequencies:[261.6255653006,267.56053134626,273.63013029147,279.83741943955,286.18551905392,292.67762672082,299.3170076044,306.10700082387,313.05102655064,320.15257723818,327.41522444303,334.84262641603,342.43851674365,350.20672153383,358.15114775562,366.27579142084],description:"15th root of 7/5, X.J. Scott"},cet44:{frequencies:[261.6255653006,268.36512159638,275.27829096782,282.369545742,289.64347345451,297.10477981732,304.75829176301,312.60896056742,320.66186505284,328.92221487359,337.3953538863,346.08676360706,355.00206675748,364.14703090225,373.52757218034,383.14975913231,393.01981662619,403.14412988459,413.52924861543,424.18189124916,435.1089492851,446.31749174973,457.81476976988,469.60822126365,481.70547575226,494.11435929576,506.84289955596,519.89933098975,533.2921001762],description:"least maximum error of 10.0911 cents to a set of 11-limit consonances"},cet45:{frequencies:[261.6255653006,268.55812265554,275.67437899809,282.97903853108,290.47742047479,298.17449463282,306.07552595385,314.18591889722,322.51122112969,331.05693609414,339.82928674186,348.83408706747],description:"11th root of 4/3"},cet45a:{frequencies:[261.6255653006,268.48547646737,275.52525683447,282.74962263341,290.1634137569,297.77159700127,305.57926939395,313.59166160814,321.8141414671,330.2522175402,338.9115428334,347.79791857637,356.91729810903,366.27579142084],description:"13th root of 7/5, X.J. Scott"},cet49:{frequencies:[261.6255653006,269.10883825956,276.80615518671,284.72363837915,292.86758524998,301.24447333711,309.86096545541,318.72391499615,327.84037137809,337.21758565441,346.86301628009,356.78433504421,366.98943317194,377.48642760107,388.28366743806,399.38974059878,410.81348063915,422.56397378117,434.65056613995,447.08287115744,459.87077724873,473.02445566714,486.55436859423,500.47127746122,514.78625150841,529.51067658945],description:"least squares fit primes 3-13"},cet49a:{frequencies:[261.6255653006,269.10939785623,276.80730639354,284.72541458317,292.8700212642,301.24760545475,309.86483150611,318.72855440416,327.84582522255,337.22389673177,346.87022916874,356.7924961714,366.99859088307,377.49663223147,388.29497138724,399.40219840734,410.82714906841,422.57891189558,434.66683539241,447.10053547759,459.8899031344,473.04511227892,486.57662785344,500.49521415122,514.81194337949,529.53820446742],description:"least squares fit primes 5-13"},cet49b:{frequencies:[261.6255653006,269.11089011973,276.81037630182,284.73015118141,292.87651740119,301.25595792767,309.87514121046,318.74092648901,327.86036925135,337.24072684885,346.88946427176,356.81426008988,367.0230125633,377.52384592787,388.3251168606,399.43542112995,410.86360043647,422.61874944911,434.71022304287,447.14764374346,459.94090938509,473.10020098719,486.63599085665,500.55905092174,514.88046130456,529.61161913871],description:"least squares fit primes 3-11"},cet51:{frequencies:[261.6255653006,269.45730810595,277.52349357863,285.8311397433,294.38747470873,303.19994295657,312.27621181854,321.62417814738,331.25197518754,341.1679796516,351.38081900843,361.89937898954,372.73281132023,383.89054168203,395.38227791356,407.21801845694,419.40806105693,431.96301172054,444.89379394488,458.21165822114,471.92819182319,486.05532888913,500.60536080461,515.59094689708,531.0251223827,546.92132188791,563.29337300176,580.1555203085,597.52243480304,615.40922665547,633.83145835774,652.80515826392,672.34683453572,692.47348950549,713.20263446921,734.55230492227,756.54107625132,779.18807989593,802.51301999392,826.53619052513,851.2784929682,876.7614544861,903.00724665589,930.0387047592,957.87934765022,986.55339821839,1016.08580446361,1046.5022612024],description:"47nd root of 4"},cet53:{frequencies:[261.6255653006,269.81714175785,278.26519897904,286.97776745533,295.963129115,305.22982618403],description:"5th root of 7/6, X.J. Scott"},cet54:{frequencies:[261.6255653006,269.96706985652,278.57452968396,287.45642599351,296.6215054241,306.0787984682,315.83762188043,325.9075894649,336.29862154621,347.0209567468,358.08515411748,369.5021153806,381.28308783765,393.43967739203,405.98385998242,418.92799580061,432.28483186346,446.06752886518,460.28966468743,474.96525012045,490.10874266572,505.73506369981,521.85960157932,538.49824405725,555.66738252045,573.38393096839,591.66534267587,610.52963091344,629.99537269573,650.08174791487,670.80854445602,692.19618110881,714.26572768264,737.03893002078,760.53821452531,784.78673539949,809.80838082331,835.62780061242,862.2704354823,889.76252234217,918.13114956434,947.40426420901,977.61070438283,1008.78022764847,1040.94354635268,1074.13233401713,1108.37929206026,1143.71815851921,1180.1837471134,1217.81198154093,1256.63993812708,1296.7058535394,1338.04920533515,1380.71072249048,1424.73243255855,1470.15770307252,1517.03129303135,1565.39936221354,1615.30956841503,1666.81108016015,1719.95463363144,1774.79258265191,1831.3789571042],description:"62nd root of 7"},cet54a:{frequencies:[36.70809598968,37.88151295543,39.09243955873,40.34207507177,41.63165640381,42.96246070241,44.33580570763,45.75305128262,47.21560103286,48.72490261351,50.28245077394,51.88978777214,53.5485051662,55.26024570942,57.02670371,58.84962859429,60.73082539186,62.67215683218,64.67554556259,66.74297456936,68.87649134796,71.07820847085,73.35030604133,75.69503428946,78.11471406483,80.61174171737,83.18858976192,85.8478097501,88.59203530858,91.42398271579,94.34645661434,97.36235078878,100.47465152683,103.6864411753,107.00089881505,110.42130694669,113.95105240089,117.59363027227,121.3526480812,125.23182656372,129.23500749643,133.36615476182,137.62935895249,142.02884224198,146.56895930934,151.25420649717,156.08922305851,161.0787965455,166.22786851013,171.54153558634,177.0250602084,182.68387207023,188.52357443227,194.5499507934,200.76896615752,207.18677957808,213.80974586608,220.64442297146,227.69757979185,234.97619765489,242.48748500016,250.23887937817,258.23805608937,266.49293732345,275.01169389411,283.8027624226,292.87484767725,302.23693268442,311.89828942495,321.86848086456,332.15738106504,342.77517792247,353.73238500089,365.03985405114,376.70877738729,388.75071142436,401.17757988308,414.00168763976,427.23573537822,440.89282237095,454.98647402737,469.53064564449,484.53973861665,500.02861758376,516.01261368641,532.50755680773,549.52977996323,567.09613827221,585.22402902787,603.93139550692,623.23676470498,643.1592524742,663.71858572717,684.9351219702,706.82987354375,729.42451222373,752.74141479803,776.80366927173,801.63510168485,827.26030448295,853.70464190233,880.99430375232],description:"101st root of 24"},cet54b:{frequencies:[261.6255653006,269.96795403263,278.5763544202,287.45924871019,296.62539133416,306.08381073387,315.84382837889,325.91506125677,336.30743300953,347.03118371184,358.09687996112,369.51542742358,381.29807310848,393.45642905887,406.00247545366,418.94857448076,432.30748251802,446.09236270275,460.31680056078,474.99480683953,490.14084702027,505.76984518255,521.89720128632,538.53880634615,555.71105808945,573.43088042607,591.71572697754,610.58361784146,630.05314440547,650.14349087612,670.87445318194,692.26646247798,714.3405894063,737.11858847932,760.62290389144,784.8766959018],description:"35th root of 3 or shrunk 22-tET"},cet55:{frequencies:[261.6255653006,270.01349691657,278.67035254505,287.60475577316,296.82560168354,306.34207552634,316.16365537714,326.30012507123,336.76157646737,347.55843063202,358.70144085484,370.20170518484,382.07067969055,394.32018111076,406.96241165943,420.00996255663,433.47583121124,447.37342422819,461.71658555081,476.51960046685,491.79721226214,507.56463983627,523.83758122386,540.63224654693,557.96536270557,575.85419620437,594.31655714751,613.37083662462,633.03601203256,653.33166919923,674.2780257851,695.8959359612,718.20693418482,741.23324143097,764.99779551626,789.52425640623,814.83705588084,840.96140460432,867.92332151557,895.74966491622,924.46813868508,954.10735043232,984.69681977767,1016.26701863443,1048.84937826003,1082.47635523452,1117.18144085251,1152.9992001672,1189.96531328939,1228.1165836432,1267.49101522141,1308.127826503],description:"51th root of 5"},cet55a:{frequencies:[261.6255653006,270.1234331478,278.89732210685,287.95619440582,297.30930820811,306.96622255393,316.93680165166,327.23123542864,337.86004496999,348.83408706747],description:"9th root of 4/3"},cet63:{frequencies:[261.6255653006,271.38398887572,281.50639381697,292.00635633712,302.89795903081,314.19580976213,325.91506125677,338.07143142496,350.68122444233,363.76135261718,377.32935907335,391.4034412791,406.00247545366,421.14604188408,436.85445118639,453.14877154631,470.05085697597,487.58337662462,505.76984518255,524.63465441916,544.20310589723,564.50144490757,585.55689566922,607.39769784277,630.05314440547,653.5536209391,677.93064638327,703.21691530872,729.44634176744,756.65410477833,784.8766959018],description:"30th root of 3 or stretched 19-tET"},cet63a:{frequencies:[261.6255653006,271.37251603396,281.48259278098,291.96932561311,302.84674360983,314.12940356828,325.83240291761,337.9714015469,350.5626427598,363.62297711023,377.1698766242,391.22147055517,405.79656146784,420.91465242294,436.59597307447,452.86150935499,469.73302118774,487.23308701689,505.38512383853,524.21342105699,543.74317298677,564.00051582303,585.01254970054,606.80739415229,629.41421305643,652.8632568014,677.18590276436,702.41470135475,728.58340348685,755.72702964881,783.88190097186,813.08569174348,843.37747981977,874.79780396885,907.38869808556,941.19377721109,976.25827622702,1012.62911525602,1050.35496244617,1089.48630538731,1130.07549372248,1172.17684627813,1215.84669925421,1261.14348767523,1308.127826503],description:"44th root of 5"},cet67:{frequencies:[261.6255653006,271.89449162354,282.56647812794,293.65734341902,305.18353207836,317.16212905639,329.61089159214,342.54827390456,355.99345454941,369.96636271272,384.48771622149,399.57903967613,415.26270466472,431.56196087069,448.50096908674],description:"14th root of 12/7, X.J. Scott"},cet70:{frequencies:[261.6255653006,272.49048247121,283.80660334964,295.59266404146,307.86818385681,320.65348759128,333.96974580612,347.83900623503,362.28423824861,377.32935907335,392.99928119148,409.31995166322,426.31839262878,444.02275580482,462.46235461904,481.66772230429,501.67065719504,522.50428685614,544.20310589723,566.80304433509,590.34152430617,614.85751848055,640.39162865951,666.98613212152,694.68506540856,723.53429383412,753.58158307649,784.8766959018],description:"27th root of 3"},cet78:{frequencies:[261.6255653006,273.68177330057,286.29355449603,299.48651076576,313.28742377221,327.72430932822,342.82647426905,358.62457594514,375.15068445646,392.4383479509],description:"9th root of 3/2"},cet79:{frequencies:[261.6255653006,273.87994580863,286.70831230381,300.13755324878,314.19580976213,328.91254817579,344.3186075731,360.44627930254,377.32935907335,395.0032340925,413.50494015483,432.87325713404,453.14877154631,474.3739811962,496.5933637384,519.85349135637,544.20310589723,569.69324454502,596.37732215892,624.31126899512,653.5536209391,684.16567043124,716.21156534988,749.7584744066,784.8766959018],description:"24th root of 3, James Heffernan (1906)."},cet80:{frequencies:[261.6255653006,273.93704112612,286.82786567404,300.32530171503,314.4578949408,329.25553433534,344.74951538696,360.97260627516,377.95911717185,395.74497280393,414.36778843034,433.8669493945,454.28369442026,475.66120282759,498.04439817054,521.48118104407,546.02084308555,571.71528316122,598.61884237431,626.7884189909,656.28358877393,687.16673097983,719.50316028422,753.36126491573,788.81265129014,825.93229545055,864.79870163404,905.49406830005,948.10446197172,992.7199992577,1039.43503743958,1088.34837402783,1139.56345570838,1193.18859712177,1249.33720993748,1308.127826503],description:"35th root of 5"},cet84:{frequencies:[261.6255653006,274.70153691096,288.43104187674,302.84674360983,317.98293803021,333.87563322966,350.5626427598,368.08366429725,386.48038152577,405.79656146784,426.0781586093,447.37342422819,469.73302118774,493.21014446673,517.86064472263,543.74317298677,570.91930267857,599.45368763079,629.41421305643,660.87215705217,693.9023601738,728.58340348685,764.99779551626,803.23216389999,843.37747981977,885.52924725223,929.78774807537,976.25827622702,1025.05138820617,1076.28316609431,1130.07549372248,1186.55634664103,1245.86008938569,1308.127826503],description:"33rd root of 5"},cet87:{frequencies:[261.6255653006,275.05808287728,289.18026151691,304.0275068203,319.63704721237,336.04802279017,353.30157737897,371.44097305523,390.51169339433,410.56155044631,431.64081781968,453.80235066263,477.10170997643,501.59731726833,527.35059397819,554.42610593952],description:"Least-squares stretched ET to telephone dial tones. 1/1=697 Hz"},cet88:{frequencies:[261.6255653006,275.26799068863,289.6217982776,304.72408298441,320.61387403473,337.33223582731,354.92237405774,373.42974737602,392.90218486657,413.39000965417,434.94616895528,457.62637091093,481.48922855473,506.59641128799,533.01280425363],description:"88 cents steps by Gary Morrison"},cet88_appr:{frequencies:[261.6255653006,275.62199471997,290.69507255622,305.22982618403,320.49131749323,336.37572681506,354.37113606854,373.75080757229,392.4383479509,413.43299207996,436.04260883433,457.84473927605,482.33849075995,504.56359022259,531.55670410281,560.62621135843,588.65752192635,620.14948811994,654.0639132515,686.76710891407,723.50773613993,763.07456546008,801.22829373309],description:"88 cents scale approximated"},cet88b:{frequencies:[261.6255653006,275.26385669298,289.61326650562,304.7105300898,320.59498481995,337.30729585456,354.89100872976,373.39113880701,392.85588995712,413.33509311257,434.8821088097,457.55209870333,481.40413163568,506.49927024418,532.9029023296],description:"87.9745 cents steps. Least squares of 7/6, 11/9, 10/7, 3/2, 7/4."},cet88bis:{frequencies:[261.6255653006,289.53272725508,320.41669955092,337.26306895804,373.23835706057,392.86190344834,434.76782633734,457.62637091093],description:"Bistep approximation of 2212121 mode in 7/4 to 11/9 9/7 10/7 3/2"},cet88bm:{frequencies:[261.6255653006,275.22889829239,289.53954239223,304.59427454323,320.43178392135,337.09277136281,354.62005396115,373.05867644715,392.45602022512,412.86193859025,434.32887139488,456.91198653787,480.66932039657,505.66192697453,531.95403480429],description:"87.75412 cents steps. Minimal highest deviation for 7/6, 11/9, 10/7, 3/2, 7/4."},cet88c:{frequencies:[261.6255653006,275.37188725148,289.84046967782,305.06925821769,321.09819727018,337.96933026971,355.72690383892,374.4174952616,394.09012940783,414.79640018179,436.59061916193,459.52995194191,483.67455974508,509.0877727469,535.83624905561,563.99013984227,593.62329144382,624.813430743,657.64235771869,692.19618110881,728.56553457307,766.84580121693,807.13738838693,849.54597972796,894.18279699007,941.16492045434,990.61558284509,1042.66447461031,1097.44811755542,1155.11020756021,1215.8019705522,1279.68259818323,1346.91964745566,1417.68945580607,1492.17764912727,1570.57960775359,1653.10095047047,1739.95812689496,1831.3789571042],description:"38th root of 7. McLaren 'Microtonal Music', volume 3, track 7"},cet89:{frequencies:[261.6255653006,275.56724848068,290.25186566903,305.71900507847,322.01036982349,339.16988002511,357.2437980159,376.28084921395,396.33236207144,417.45239374596,439.69788420361,463.12880499146,487.80833148705,513.80299757552,541.1828853206,570.0218080747,600.39752248465,632.39191886931,666.09125466774,701.58637981228,738.97299766656,778.35189934333,819.82925103406,863.51687139942,909.53255273344,958.00034936337,1009.05093129669,1062.82192563509,1119.45831186524,1179.11277682321,1241.94614996535,1308.127826503],description:"31st root of 5. McLaren 'Microtonal Music', volume 2, track 22"},cet90:{frequencies:[261.6255653006,275.62199471997,290.36720431405,305.90125228146,322.26633935092,339.50692625527,357.66984706396,376.80444887746,396.96271256675,418.19939952297,440.572208006,464.1419130862,488.97255163391,515.13157534193,542.69005603758,571.72285881831,602.3088534069,634.53113933145],description:"Scale with limma steps"},cet93:{frequencies:[261.6255653006,275.99488223824,291.15340824655,307.14448922429,324.01384989472,341.80973194459,360.58302103444,380.38739950036,401.27949808494,423.31905787312],description:"Tuning used in John Chowning's STRIA, 9th root of Phi"},cet98:{frequencies:[261.6255653006,276.83245825991,292.92324815749,309.94930780463,327.96500300935,347.02785219778,367.1987248383,388.54202015806,411.12588832951],description:"8th root of 11/7, X.J. Scott"},chahargah:{frequencies:[261.6255653006,277.18263097687,283.66146785671,311.12698372208,326.97270111135,348.82502010853,367.86341164695,392.44854854484,415.30469757995,425.01198472693,466.16376151809,493.88330125613,523.2511306012],description:"Chahargah in C"},chahargah2:{frequencies:[261.6255653006,283.66146785671,327.729041887,348.82502010853,392.44854854484,425.01198472693,493.88330125613,523.2511306012],description:"Dastgah Chahargah in C, Mohammad Reza Gharib"},chalmers:{frequencies:[261.6255653006,274.70684356563,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,412.06026534844,418.60090448096,436.04260883433,457.84473927605,470.92601754108,488.36772189445,515.07533168556,523.2511306012],description:"Chalmers' 19-tone with more hexanies than Perrett's Tierce-Tone"},chalmers_17:{frequencies:[261.6255653006,269.10058145205,286.15296204753,294.32876096318,313.95067836072,327.03195662575,336.37572681506,343.38355445704,376.74081403286,384.42940207435,392.4383479509,400.61414686654,408.78994578219,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"7-limit figurative scale, Chalmers '96 Adnexed S&H decads"},chalmers_19:{frequencies:[261.6255653006,269.10058145205,290.69507255622,294.32876096318,305.22982618403,313.95067836072,336.37572681506,348.83408706747,356.10146388137,363.36884069528,376.74081403286,384.42940207435,392.4383479509,406.97310157871,436.04260883433,448.50096908674,465.11211608996,470.92601754108,508.71637697339,523.2511306012],description:"7-limit figurative scale. Reversed S&H decads"},chalmers_csurd:{frequencies:[261.6255653006,273.35108123154,287.04667286017,303.37994773979,315.80837468238,323.38635505005,348.83408706747,357.38803216938,383.0466618906,392.4383479509,423.31690179539,433.47765231178,451.2357321491,476.91154755397,500.80604115761,523.2511306012],description:"Combined Surd Scale, combination of Surd and Inverted Surd, JHC, 26-6-97"},chalmers_isurd:{frequencies:[261.6255653006,273.35108123154,287.04667286017,303.37994773979,323.38635505005,348.83408706747,383.0466618906,433.47765231178,523.2511306012],description:"Inverted Surd Scale, of the form 4/(SQRT(N)+1, JHC, 26-6-97"},chalmers_ji1:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,466.02053819169,490.54793493862,523.2511306012],description:"Based loosely on Wronski's and similar JI scales, May 2, 1997."},chalmers_ji2:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,348.83408706747,370.63621750918,392.4383479509,416.96574469783,441.49314144476,466.02053819169,490.54793493862,523.2511306012],description:"Based loosely on Wronski's and similar JI scales, May 2, 1997."},chalmers_ji3:{frequencies:[261.6255653006,279.06726965397,296.50897400735,313.95067836072,331.39238271409,348.83408706747,366.27579142084,392.4383479509,418.60090448096,444.76346101102,470.92601754108,497.08857407114,523.2511306012],description:"15 16 17 18 19 20 21 on 1/1, 15-20 on 3/2, May 2, 1997. See other scales"},chalmers_ji4:{frequencies:[261.6255653006,279.06726965397,296.50897400735,313.95067836072,331.39238271409,348.83408706747,372.08969287196,395.34529867646,418.60090448096,441.85651028546,465.11211608996,496.11959049595,523.2511306012],description:"15 16 17 18 19 20 on 1/1, same on 4/3, + 16/15 on 16/9"},chalmers_surd:{frequencies:[261.6255653006,315.80837468238,357.38803216938,392.4383479509,423.31690179539,451.2357321491,476.91154755397,500.80604115761,523.2511306012],description:"Surd Scale, Surds of the form (SQRT(N)+1)/2, JHC, 26-6-97"},chalmers_surd2:{frequencies:[261.6255653006,272.2395613933,282.33485096279,291.98077704337,301.23248980765,310.13469895524,318.72425558532,327.03195662575,335.08385052998,342.90220911983,350.50624086893,357.91266581346,365.13613061818,372.18956061116,379.08442465499,385.8309605564,392.4383479509,398.91485744029,405.26796981327,411.50448329997,417.63058822561,423.65195171798,429.57376586736,435.40081471708,441.13750301549,446.78791303515,452.35581962987,457.84473927605,463.2579384726,468.59846621725,473.86917438523,479.07273156015,484.21164154672,489.28825377326,494.3047826718,499.26331035461,504.16580309972,509.01411882861,513.81001953884,518.55516185524,523.2511306012],description:"Surd Scale, Surds of the form (SQRT(N)+1)/4"},chalung:{frequencies:[261.6255653006,328.09251713275,362.03316295439,390.31715077734,479.41117101029,527.4935758042,647.70012555753,728.30917696308,823.06004869243,961.65052057178,1054.9871516084,1301.05663342451],description:'Tuning of chalung from Tasikmalaya. "slendroid". 1/1=185 Hz'},chaumont:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.49749487796,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,465.40109831725,489.02683710225,523.2511306012],description:"Lambert Chaumont organ temperament (1695), 1st interpretation"},chaumont2:{frequencies:[261.6255653006,274.56549986328,292.86986732103,309.30531842668,327.84547867349,349.70184487387,366.99801003998,391.46454285105,410.8262805401,438.2147004401,465.11211608996,490.54793493862,523.2511306012],description:"Lambert Chaumont organ temperament (1695), 2nd interpretation"},chimes:{frequencies:[261.6255653006,288.69027895239,130.8127826503,144.34513947619],description:"Heavenly Chimes"},chimes_peck:{frequencies:[261.6255653006,327.03195662575,392.4383479509,457.84473927605,588.65752192635,719.47030457665,850.28308722695,981.09586987725,1046.5022612024],description:"Kris Peck, 9-tone windchime tuning. TL 7-3-2001"},chin_12:{frequencies:[261.6255653006,277.05457499359,293.57996645301,310.53449241474,329.24697610111,347.79893712036,368.97000115401,391.76907592069,413.1274313058,439.00991514661,462.11551390967,491.43599249807,523.2511306012],description:"Chinese scale, 4th cent."},chin_5:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,441.49314144476,523.2511306012],description:"Chinese pentatonic from Zhou period"},chin_60:{frequencies:[261.6255653006,262.17244551937,265.19499215873,268.81311753311,272.48060600886,276.1981310001,279.38237857051,283.19406633357,287.05775848811,290.97416342694,294.32876096318,294.94400091442,298.34436617857,302.41475692242,306.54068145351,310.72289706448,314.30517589183,318.59332496145,322.93997797627,327.34593352805,331.11985608357,331.812000697,335.63741195089,340.21660119759,344.85826629043,349.56326086722,353.59332287831,358.41749022331,363.30747486009,368.26417485089,372.50983809402,373.28850041093,377.59208844475,382.74367817547,387.96555142985,392.4383479509,393.25866808247,397.79248823809,403.21967609811,408.72090880899,414.29719629306,419.07356785577,424.79110016094,430.58663751693,436.46124492224,441.49314144476,442.41600115048,447.51654926786,453.62213515688,459.81102195042,466.08434536373,471.45776383774,477.8899872033,484.40996672226,491.01890004663,496.67978412536,497.7180007967,503.45611792634,510.32490448905,517.28740216504,523.2511306012],description:'Chinese scale of fifths (the 60 lu")'},chin_7:{frequencies:[261.6255653006,294.32876096318,331.11985608357,348.83408706747,392.4383479509,441.49314144476,496.67978412536,523.2511306012],description:"Chinese heptatonic scale and tritriadic of 64:81:96 triad"},chin_bianzhong:{frequencies:[261.6255653006,277.82379926216,312.56802260838,375.1593523779,420.13030572059,469.40618689596,506.59641128799,563.72967895209,627.66881138238,764.75812197709,849.53311813274,949.1724262561,1225.95732655636],description:"Pitches of Bianzhong bells (Xinyang). 1/1=b, Liang Mingyue, 1975."},chin_bianzhong2a:{frequencies:[261.6255653006,284.81073476233,312.56802260838,372.56793743951,413.39000965417,447.94973572445,491.60634075178,562.75365576207,652.05945856061,695.63805470995,863.88355261715,960.75607282217,1173.30283584026],description:"A-tones (GU) of 13 Xinyang bells (Ma Cheng-Yuan) 1/1=d#=619 Hz"},chin_bianzhong2b:{frequencies:[261.6255653006,279.59231184543,312.74738729016,375.37536096215,418.43048063126,468.86028020615,505.12945327459,562.08698385796,624.42058858709,762.97988553915,849.53425657971,936.08862980659,1215.37624187632],description:"B-tones (SUI) of 13 Xinyang bells (Ma Cheng-Yuan) 1/1=b+=506.6 Hz"},chin_bianzhong3:{frequencies:[261.6255653006,508.3551866238,542.32970395878,608.04166718582,619.02750937577,673.88551872153,729.80120031671,739.56153452917,812.57643344187,881.52624580654,911.03313298042,978.11461117351,982.0774855146,1059.88575280263,1092.20381072382,1163.18085489566,1213.27682870749,1331.52122774489,1483.40111876828,1542.82606951623,1645.93659621657,1649.74391394557,1818.91159982256,2044.01922018919,2273.22753490632,2362.92760489328,2776.13057951436],description:"A and B-tones of 13 Xinyang bells (Ma Cheng-Yuan) abs. pitches wrt middle-C"},chin_bronze:{frequencies:[261.6255653006,299.00064605783,313.95067836072,327.03195662575,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:`Scale found on ancient Chinese bronze instrument 3rd c.BC & "Scholar's Lute"`},chin_chime:{frequencies:[261.6255653006,248.6592656401,341.74499057264,392.56190849927,548.78974538591,648.86582834888,714.36935367713,785.57745330134,889.7110417619,886.88898199546,992.62825668803,1044.08711871947,1326.14827969763],description:"Pitches of 12 stone chimes, F. Kuttner, 1951, ROMA Toronto. %1=b4"},chin_ching:{frequencies:[261.6255653006,276.1981310001,294.32876096318,310.72289706448,331.11985608357,349.56326086722,368.26417485089,392.4383479509,414.29719629306,441.49314144476,466.08434536373,496.67978412536,524.34489103873],description:"Scale of Ching Fang, c.45 BC. Pyth.steps 0 1 2 3 4 5 47 48 49 50 51 52 53"},chin_di:{frequencies:[261.6255653006,298.70635408336,316.56004827153,360.50766037677,409.94872043165,433.75364775074,527.37121036213],description:"Chinese di scale"},chin_di2:{frequencies:[261.6255653006,289.95657583698,318.21537073485,338.89464890898,383.48501130814,436.9606979923,494.73987775324,522.04355935974],description:"Observed tuning from Chinese flute dizi, Helmholtz/Ellis p. 518, nr.103"},chin_huang:{frequencies:[261.6255653006,331.11985608357,392.4383479509,441.49314144476,523.2511306012,588.65752192635,662.23971216714],description:"Huang Zhong qin tuning"},"chin_liu-an":{frequencies:[261.6255653006,278.83777354406,294.32876096318,311.64221749042,331.11985608357,353.19451315581,371.78369805875,392.4383479509,415.52295665389,441.49314144476,470.92601754108,492.82955324067],description:'Scale of Liu An, in: "Huai Nan Tzu", c.122 BC, 1st known corr. to Pyth. scale'},chin_lu:{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,328.55303549378,348.83408706747,371.78369805875,392.4383479509,415.52295665389,441.49314144476,470.92601754108,495.71159741166,523.2511306012],description:"Chinese L\xEF\xBF\xBD scale by Huai Nan zi, Han era. P\xEF\xBF\xBDre Amiot 1780, Kurt Reinhard"},chin_lu2:{frequencies:[261.6255653006,279.38237857051,294.32876096318,314.30517589183,331.11985608357,353.59332287831,372.50983809402,392.4383479509,419.07356785577,441.49314144476,471.45776383774,496.67978412536,523.2511306012],description:"Chinese L\xEF\xBF\xBD (Lushi chunqiu, by Lu Buwei). Mingyue: Music of the billion, p.67"},chin_lu3:{frequencies:[261.6255653006,277.34278419245,293.66476791741,310.58830860439,329.24697610111,347.81902735497,369.14054089803,391.76907592069,413.1512951712,439.23819834286,462.1422075194,491.60634075178,523.2511306012],description:"Chinese L\xEF\xBF\xBD scale by Ho Ch'\xEF\xBF\xBDng-T'ien, reported in Sung Shu (500 AD)"},chin_lu3a:{frequencies:[261.6255653006,277.06033146978,293.58830182213,310.53780743131,329.25144446584,347.79484055318,368.74579520635,391.78066943209,413.13681807919,438.99947255393,462.1072190611,491.17907538715,523.2511306012],description:`Chinese L\xEF\xBF\xBD scale by Ho Ch'\xEF\xBF\xBDng-T'ien, calc. basis is "big number" 177147`},chin_lu4:{frequencies:[261.6255653006,276.78521684908,293.5444075184,310.55356739316,329.35741152087,348.44172229085,369.5396750577,391.9150968203,414.62425518576,439.72952246257,465.20924434298,493.37740286979,523.2511306012],description:'Chinese L\xEF\xBF\xBD "749-Temperament"'},chin_lu5:{frequencies:[261.6255653006,277.35401920913,293.41471131112,311.37240624271,329.40299530711,349.20610523279,369.80535913035,392.03738806826,415.16320853113,440.12206674667,466.08434536373,494.10449271367,522.71643616375],description:"Chinese L\xEF\xBF\xBD scale by Ch'ien Lo-Chih, c.450 AD Pyth.steps 0 154 255 103 204 etc."},chin_lusheng:{frequencies:[261.6255653006,316.38258506467,348.82502010853,389.28772571905,466.97226207056,520.53801357752],description:"Observed tuning of a small Lusheng, 1/1=d, OdC '97"},chin_pan:{frequencies:[261.6255653006,275.62199471997,279.38237857051,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,344.13890881665,348.83408706747,367.49599295996,372.50983809402,387.15627241873,392.4383479509,413.43299207996,419.07356785577,435.55080647107,441.49314144476,458.8518784222,465.11211608996,489.99465727995,496.67978412536,516.20836322497,523.2511306012],description:"Pan Huai-su pure system, in: Sin-Yan Shen, 1991"},chin_pipa:{frequencies:[261.6255653006,284.4818984792,320.42873367481,380.17671965621,433.44136952667,521.74210224793],description:"Observed tuning from Chinese balloon lute p'i-p'a, Helmholtz/Ellis p. 518, nr.109"},chin_sheng:{frequencies:[261.6255653006,295.36595061166,318.03161540472,348.82502010853,395.40657391157,442.03793673691,477.05982293263,522.94897617031],description:"Observed tuning from Chinese sheng or mouth organ, Helmholtz/Ellis p. 518, nr.105"},chin_sientsu:{frequencies:[261.6255653006,291.80478157373,326.97270111135,392.44854854484,438.22451411849,523.2511306012],description:"Observed tuning from Chinese tamboura sienzi, Helmholtz/Ellis p. 518, nr.108"},chin_sona:{frequencies:[261.6255653006,284.4818984792,310.58830860439,337.33223582731,377.98706287655,418.43499793376,469.94877954106,528.10941333272],description:"Observed tuning from Chinese oboe (so-na), Helmholtz/Ellis p. 518, nr.104"},"chin_wang-po":{frequencies:[261.6255653006,294.32876096318,330.24264909897,371.97947673071,392.4383479509,440.94196398978,495.71159741166,517.50111817701],description:"Scale of Wang Po, 958 AD. H. Pischner: Musik in China, Berlin, 1955, p.20"},chin_yangqin:{frequencies:[261.6255653006,288.45311779165,306.48933163909,347.41744306689,383.26356564167,434.44398956347,465.08793784701,522.64699622026],description:"Observed tuning from Chinese dulcimer yangqin, Helmholtz/Ellis p. 518, nr.107"},chin_yunlo:{frequencies:[261.6255653006,288.45311779165,323.40385076956,367.0144478307,386.1523605003,409.35055662695,483.1608380663,525.67465946865],description:"Observed tuning from Chinese gong-chime (y\xEF\xBF\xBDn-lo), Helmholtz/Ellis p. 518, nr.106"},choquel:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,475.68284600109,490.54793493862,523.2511306012],description:"Choquel/Barbour/Marpurg?"},chordal:{frequencies:[261.6255653006,392.4383479509,327.03195662575,457.84473927605,588.65752192635,719.47030457665,850.28308722695,981.09586987725,981.09586987725,490.54793493862,555.95432626377,621.36071758893,310.68035879446,523.2511306012,348.83408706747,418.60090448096,299.00064605783,465.11211608996,380.54627680087,322.00069575458,279.06726965397,610.45965236807,915.6894785521,872.08521766867,697.66817413493,654.0639132515,627.90135672144,448.50096908674,319.76457981184,377.90359432309,444.76346101102,889.52692202204,336.37572681506,294.32876096318,465.11211608996,411.12588832951,305.22982618403,366.27579142084,373.75080757229,313.95067836072,470.92601754108],description:"Chordal Notes S&H"},chrom15:{frequencies:[261.6255653006,280.31310567921,301.87565226992,356.76213450082,392.4383479509,413.09299784305,436.04260883433,523.2511306012],description:"Tonos-15 Chromatic"},chrom15_inv:{frequencies:[261.6255653006,313.95067836072,331.39238271409,348.83408706747,383.71749577421,453.48431318771,488.36772189445,523.2511306012],description:"Inverted Chromatic Tonos-15 Harmonia"},chrom15_inv2:{frequencies:[261.6255653006,279.06726965397,296.50897400735,348.83408706747,383.71749577421,401.15920012759,418.60090448096,523.2511306012],description:"A harmonic form of the Chromatic Tonos-15 inverted"},chrom17:{frequencies:[261.6255653006,277.97716313189,296.50897400735,370.63621750918,404.33041910093,423.58424858192,444.76346101102,523.2511306012],description:"Tonos-17 Chromatic"},chrom17_con:{frequencies:[261.6255653006,277.97716313189,296.50897400735,370.63621750918,386.75083566176,404.33041910093,494.18162334558,523.2511306012],description:"Conjunct Tonos-17 Chromatic"},chrom19:{frequencies:[261.6255653006,276.16031892841,292.40504357126,355.06326719367,382.37582620857,397.67085925691,414.24047839262,523.2511306012],description:"Tonos-19 Chromatic"},chrom19_con:{frequencies:[261.6255653006,276.16031892841,292.40504357126,355.06326719367,368.21375857121,382.37582620857,451.89870370104,523.2511306012],description:"Conjunct Tonos-19 Chromatic"},chrom21:{frequencies:[261.6255653006,274.70684356563,289.16509849014,343.38355445704,392.4383479509,406.97310157871,422.62591317789,523.2511306012],description:"Tonos-21 Chromatic"},chrom21_inv:{frequencies:[261.6255653006,323.91736656265,336.37572681506,348.83408706747,398.6675280771,473.41768959156,498.33441009638,523.2511306012],description:"Inverted Chromatic Tonos-21 Harmonia"},chrom21_inv2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,348.83408706747,398.6675280771,423.58424858192,448.50096908674,523.2511306012],description:"Inverted harmonic form of the Chromatic Tonos-21"},chrom23:{frequencies:[261.6255653006,273.51763645063,286.54228580542,334.29933343966,376.08675011961,401.15920012759,429.81342870813,523.2511306012],description:"Tonos-23 Chromatic"},chrom23_con:{frequencies:[261.6255653006,273.51763645063,286.54228580542,334.29933343966,353.96400011258,376.08675011961,462.87600014722,523.2511306012],description:"Conjunct Tonos-23 Chromatic"},chrom25:{frequencies:[261.6255653006,278.32506946872,297.30177875068,363.36884069528,408.78994578219,436.04260883433,467.18850946536,523.2511306012],description:"Tonos-25 Chromatic"},chrom25_con:{frequencies:[261.6255653006,278.32506946872,297.30177875068,363.36884069528,384.74347838324,408.78994578219,503.12608711654,523.2511306012],description:"Conjunct Tonos-25 Chromatic"},chrom27:{frequencies:[261.6255653006,277.01530443593,294.32876096318,353.19451315581,392.4383479509,415.52295665389,441.49314144476,523.2511306012],description:"Tonos-27 Chromatic"},chrom27_inv:{frequencies:[261.6255653006,310.07474405997,329.45441556372,348.83408706747,387.59343007496,465.11211608996,494.18162334558,523.2511306012],description:"Inverted Chromatic Tonos-27 Harmonia"},chrom27_inv2:{frequencies:[261.6255653006,271.31540105247,281.00523680435,348.83408706747,387.59343007496,406.97310157871,436.04260883433,523.2511306012],description:"Inverted harmonic form of the Chromatic Tonos-27"},chrom29:{frequencies:[261.6255653006,270.96933548991,281.00523680435,344.87006335079,379.35706968587,399.32323124828,421.50785520652,523.2511306012],description:"Tonos-29 Chromatic"},chrom29_con:{frequencies:[261.6255653006,270.96933548991,281.00523680435,344.87006335079,361.29244731988,379.35706968587,474.19633710734,523.2511306012],description:"Conjunct Tonos-29 Chromatic"},chrom31:{frequencies:[261.6255653006,279.66870773512,300.3849083081,337.93302184661,352.6257619269,368.65420565085,386.2091678247,405.51962621593,523.2511306012],description:"Tonos-31 Chromatic. Tone 24 alternates with 23 as MESE or A"},chrom31_con:{frequencies:[261.6255653006,279.66870773512,300.3849083081,337.93302184661,352.6257619269,368.65420565085,386.2091678247,450.57736246214,523.2511306012],description:"Conjunct Tonos-31 Chromatic"},chrom33:{frequencies:[261.6255653006,278.50463402967,297.71185016965,359.73515228832,392.4383479509,411.12588832951,431.68218274599,523.2511306012],description:"Tonos-33 Chromatic. A variant is 66 63 60 48"},chrom33_con:{frequencies:[261.6255653006,278.50463402967,297.71185016965,359.73515228832,375.37581108347,392.4383479509,479.64686971777,523.2511306012],description:"Conjunct Tonos-33 Chromatic"},chrom_new:{frequencies:[261.6255653006,273.20871865617,297.93622032612,349.22823143301,391.99543598175,409.35055662695,446.39994737251,523.2511306012],description:"New Chromatic genus 4.5 + 9 + 16.5"},chrom_new2:{frequencies:[261.6255653006,273.6474710507,299.37374239667,349.22823143301,391.99543598175,410.00794244467,448.55379686399,523.2511306012],description:"New Chromatic genus 14/3 + 28/3 + 16 parts"},chrom_soft:{frequencies:[261.6255653006,271.68808704293,282.55561052465,348.83408706747,392.4383479509,407.5321305644,423.83341578697,523.2511306012],description:"100/81 Chromatic. This genus is a good approximation to the soft chromatic"},chrom_soft2:{frequencies:[261.6255653006,268.42893440103,282.57118533961,349.22823143301,391.99543598175,402.18897205153,423.37840671577,523.2511306012],description:"1:2 Soft Chromatic"},chrom_soft3:{frequencies:[261.6255653006,271.31540105247,281.75060878526,348.83408706747,392.4383479509,406.97310157871,422.62591317789,523.2511306012],description:"Soft chromatic genus is from K. Schlesinger's modified Mixolydian Harmonia"},cifariello:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,376.74081403286,392.4383479509,418.60090448096,436.04260883433,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"F. Cifariello Ciardi, ICMC 86 Proc. 15-tone 5-limit tuning"},ckring1:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,523.2511306012],description:"Double-tie circular mirroring with common pivot of 4:5:6:7 = square 1 3 5 7"},ckring2:{frequencies:[261.6255653006,290.69507255622,305.22982618403,313.95067836072,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,436.04260883433,448.50096908674,470.92601754108,523.2511306012],description:"Double-tie circular mirroring with common pivot of 3:5:7:9"},"clampitt-phi":{frequencies:[261.6255653006,289.46753582364,320.2724252102,340.92857683151,377.20990650852,444.26963537301,491.54843559637,523.2511306012],description:'David Clampitt, phi+1 mod 3phi+2, from "Pairwise Well-Formed Scales", 1997'},classr:{frequencies:[261.6255653006,275.93321340298,287.4304306281,313.95067836072,327.03195662575,344.91651675372,367.91095120397,392.4383479509,408.78994578219,441.49314144476,459.88868900496,490.54793493862,523.2511306012],description:"Marvel projection to the 5-limit of class"},cluster:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"13-tone 5-limit Tritriadic Cluster"},cluster6a:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Six-Tone Triadic Cluster 4:5:6"},cluster6b:{frequencies:[261.6255653006,313.95067836072,327.03195662575,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Six-Tone Triadic Cluster 4:6:5"},cluster6c:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,418.60090448096,436.04260883433,523.2511306012],description:"Six-Tone Triadic Cluster 3:4:5"},cluster6d:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"Six-Tone Triadic Cluster 3:5:4"},cluster6e:{frequencies:[261.6255653006,313.95067836072,327.03195662575,392.4383479509,418.60090448096,502.32108537715,523.2511306012],description:"Six-Tone Triadic Cluster 5:6:8"},cluster6f:{frequencies:[261.6255653006,313.95067836072,348.83408706747,418.60090448096,436.04260883433,502.32108537715,523.2511306012],description:"Six-Tone Triadic Cluster 5:8:6"},cluster6g:{frequencies:[261.6255653006,286.15296204753,299.00064605783,327.03195662575,373.75080757229,457.84473927605,523.2511306012],description:"Six-Tone Triadic Cluster 4:5:7"},cluster6h:{frequencies:[261.6255653006,286.15296204753,327.03195662575,366.27579142084,418.60090448096,457.84473927605,523.2511306012],description:"Six-Tone Triadic Cluster 4:7:5"},cluster6i:{frequencies:[261.6255653006,313.95067836072,366.27579142084,373.75080757229,439.53094970501,448.50096908674,523.2511306012],description:"Six-Tone Triadic Cluster 5:6:7"},cluster6j:{frequencies:[261.6255653006,305.22982618403,313.95067836072,366.27579142084,436.04260883433,439.53094970501,523.2511306012],description:"Six-Tone Triadic Cluster 5:7:6"},cluster8a:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Eight-Tone Triadic Cluster 4:5:6"},cluster8b:{frequencies:[261.6255653006,306.59245933664,313.95067836072,327.03195662575,392.4383479509,408.78994578219,418.60090448096,490.54793493862,523.2511306012],description:"Eight-Tone Triadic Cluster 4:6:5"},cluster8c:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,363.36884069528,418.60090448096,436.04260883433,484.4917875937,523.2511306012],description:"Eight-Tone Triadic Cluster 3:4:5"},cluster8d:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,387.59343007496,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:"Eight-Tone Triadic Cluster 3:5:4"},cluster8e:{frequencies:[261.6255653006,313.95067836072,327.03195662575,334.88072358477,392.4383479509,401.85686830172,418.60090448096,502.32108537715,523.2511306012],description:"Eight-Tone Triadic Cluster 5:6:8"},cluster8f:{frequencies:[261.6255653006,301.39265122629,313.95067836072,348.83408706747,376.74081403286,418.60090448096,436.04260883433,502.32108537715,523.2511306012],description:"Eight-Tone Triadic Cluster 5:8:6"},cluster8g:{frequencies:[261.6255653006,286.15296204753,299.00064605783,327.03195662575,373.75080757229,400.61414686654,457.84473927605,500.76768358318,523.2511306012],description:"Eight-Tone Triadic Cluster 4:5:7"},cluster8h:{frequencies:[261.6255653006,286.15296204753,327.03195662575,357.69120255941,366.27579142084,408.78994578219,418.60090448096,457.84473927605,523.2511306012],description:"Eight-Tone Triadic Cluster 4:7:5"},cluster8i:{frequencies:[261.6255653006,307.67166479351,313.95067836072,366.27579142084,373.75080757229,439.53094970501,448.50096908674,512.78610798918,523.2511306012],description:"Eight-Tone Triadic Cluster 5:6:7"},cluster8j:{frequencies:[261.6255653006,263.718569823,305.22982618403,313.95067836072,366.27579142084,376.74081403286,436.04260883433,439.53094970501,523.2511306012],description:"Eight-Tone Triadic Cluster 5:7:6"},cohenf_11:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,523.2511306012],description:`Flynn Cohen, 7-limit scale of "Rameau's nephew", 1996`},coleman:{frequencies:[261.6255653006,276.70272600503,293.15632631094,310.58830860439,328.48713220126,349.43001184052,368.92737853004,391.76907592069,414.58565256441,438.98455767189,465.89457252293,491.89038573682,523.2511306012],description:"Jim Coleman's ModX piano temperament. TL 16 Mar 1999"},collengettes:{frequencies:[261.6255653006,269.10058145205,275.62199471997,285.40970760065,294.32876096318,302.73815413355,310.07474405997,321.08592105074,331.11985608357,340.58042340025,348.83408706747,358.80077526939,367.49599295996,380.54627680087,392.4383479509,403.65087217807,413.43299207996,428.11456140098,441.49314144476,454.10723120033,465.11211608996,478.40103369253,496.67978412536,507.3950357345,523.2511306012],description:"R.P. Collengettes, from p.23 of d'Erlanger, vol 5. 24 tone Arabic system"},colonna1:{frequencies:[261.6255653006,272.52663052146,290.69507255622,308.86351459099,327.03195662575,348.83408706747,363.36884069528,392.4383479509,399.70572476481,436.04260883433,463.29527188648,490.54793493862,523.2511306012],description:"Colonna 1"},colonna2:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,470.92601754108,479.64686971777,523.2511306012],description:"Colonna 2"},concertina:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"English Concertina, Helmholtz/Ellis, p. 470"},cons11:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Set of intervals with num + den <= 11 not exceeding 2/1"},cons12:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Set of intervals with num + den <= 12 not exceeding 2/1"},cons13:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,523.2511306012],description:"Set of intervals with num + den <= 13 not exceeding 2/1"},cons14:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,523.2511306012],description:"Set of intervals with num + den <= 14 not exceeding 2/1"},cons15:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,523.2511306012],description:"Set of intervals with num + den <= 15 not exceeding 2/1"},cons16:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,523.2511306012],description:"Set of intervals with num + den <= 16 not exceeding 2/1"},cons17:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Set of intervals with num + den <= 17 not exceeding 2/1"},cons18:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,436.04260883433,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Set of intervals with num + den <= 18 not exceeding 2/1"},cons19:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Set of intervals with num + den <= 19 not exceeding 2/1"},cons20:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"Set of intervals with num + den <= 20 not exceeding 2/1"},cons21:{frequencies:[261.6255653006,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"Set of intervals with num + den <= 21 not exceeding 2/1"},cons8:{frequencies:[261.6255653006,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"Set of intervals with num + den <= 8 not exceeding 2/1"},cons9:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"Set of intervals with num + den <= 9 not exceeding 2/1"},cons_5:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,523.2511306012],description:"Set of consonant 5-limit intervals within the octave"},cons_7:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605],description:"Set of consonant 7-limit intervals of tetrad 4:5:6:7 and inverse"},cons_7a:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,457.84473927605],description:"Set of consonant 7-limit intervals, harmonic entropy minima"},cont_frac1:{frequencies:[261.6255653006,264.29672053658,267.01859068163,284.39991302433,288.64312378534,304.51680721446,328.36325429535,342.47239171077,368.24757473349,390.36247006958,408.23697512781,419.80330474394,448.3033221197,488.42606438843,498.20005830409],description:"Continued fraction scale 1, see McLaren in Xenharmonikon 15, pp.33-38"},cont_frac2:{frequencies:[261.6255653006,268.67076720771,283.00159623424,287.78825007941,303.56038377389,306.30898587133,329.63288816559,333.85601282718,352.97051886932,380.09613548074,393.10104267352,426.45795861378,432.83315799354,472.91012288255,483.94654132265,519.4303061261],description:"Continued fraction scale 2, see McLaren in Xenharmonikon 15, pp.33-38"},cordier:{frequencies:[261.6255653006,277.2273508585,293.75953199293,311.27759533081,329.84032939425,349.51003591412,370.35272620855,392.4383479509,415.84102607989,440.63929776914,466.91639276282,494.76049384407,524.26505360912],description:"Serge Cordier, piano tuning, 1975 (Piano bien temp\xEF\xBF\xBDr\xEF\xBF\xBD et justesse orchestrale)"},corner11:{frequencies:[261.6255653006,269.80136421624,286.15296204753,294.32876096318,314.76825825228,327.03195662575,343.38355445704,359.73515228832,392.4383479509,400.61414686654,408.78994578219,449.66894036041,457.84473927605,490.54793493862,494.63583439645,523.2511306012],description:"Quadratic Corner 11-limit. Chalmers '96"},corner13:{frequencies:[261.6255653006,265.71346475842,269.80136421624,286.15296204753,292.28481123426,294.32876096318,314.76825825228,318.85615771011,327.03195662575,343.38355445704,345.42750418595,359.73515228832,371.99885066179,392.4383479509,400.61414686654,408.78994578219,425.14154361347,449.66894036041,457.84473927605,490.54793493862,494.63583439645,523.2511306012],description:"Quadratic Corner 13-limit. Chalmers '96"},corner17:{frequencies:[261.6255653006,265.71346475842,269.80136421624,277.97716313189,286.15296204753,292.28481123426,294.32876096318,295.35073582763,314.76825825228,318.85615771011,327.03195662575,343.38355445704,345.42750418595,347.47145391486,359.73515228832,371.99885066179,382.21859930635,392.4383479509,400.61414686654,408.78994578219,416.96574469783,425.14154361347,449.66894036041,451.71289008932,457.84473927605,486.4600354808,490.54793493862,494.63583439645,523.2511306012],description:"Quadratic Corner 17-limit."},corner17a:{frequencies:[261.6255653006,265.71346475842,269.80136421624,275.93321340298,277.97716313189,286.15296204753,292.28481123426,294.32876096318,295.35073582763,306.59245933664,312.72430852337,314.76825825228,318.85615771011,327.03195662575,331.11985608357,337.2517052703,343.38355445704,345.42750418595,347.47145391486,359.73515228832,367.91095120397,371.99885066179,382.21859930635,392.4383479509,398.57019713763,400.61414686654,404.70204632437,408.78994578219,416.96574469783,425.14154361347,429.2294430713,441.49314144476,449.66894036041,451.71289008932,457.84473927605,459.88868900496,478.28423656516,486.4600354808,490.54793493862,494.63583439645,515.07533168556,521.20718087229,523.2511306012],description:"Quadratic Corner 17 odd limit."},corner7:{frequencies:[261.6255653006,286.15296204753,294.32876096318,327.03195662575,343.38355445704,392.4383479509,400.61414686654,408.78994578219,457.84473927605,490.54793493862,523.2511306012],description:"Quadratic corner 7-limit. Chalmers '96"},corner9:{frequencies:[261.6255653006,286.15296204753,294.32876096318,327.03195662575,331.11985608357,343.38355445704,367.91095120397,392.4383479509,400.61414686654,408.78994578219,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"First 9 harmonics of 5th through 9th harmonics"},corners11:{frequencies:[261.6255653006,269.80136421624,276.76092858245,279.06726965397,286.15296204753,294.32876096318,299.00064605783,304.4370214407,314.76825825228,327.03195662575,334.88072358477,341.71502406609,343.38355445704,348.83408706747,359.73515228832,380.54627680087,392.4383479509,398.6675280771,400.61414686654,408.78994578219,418.60090448096,434.91003062957,449.66894036041,457.84473927605,465.11211608996,478.40103369253,490.54793493862,494.63583439645,507.3950357345,523.2511306012],description:"Quadratic Corners 11-limit. Chalmers '96"},corners13:{frequencies:[261.6255653006,265.71346475842,269.80136421624,276.76092858245,279.06726965397,286.15296204753,292.28481123426,294.32876096318,299.00064605783,304.4370214407,314.76825825228,318.85615771011,322.00069575458,327.03195662575,334.88072358477,341.71502406609,343.38355445704,345.42750418595,348.83408706747,359.73515228832,368.0007951481,371.99885066179,380.54627680087,392.4383479509,396.30854862103,398.6675280771,400.61414686654,408.78994578219,418.60090448096,425.14154361347,429.33426100611,434.91003062957,449.66894036041,457.84473927605,465.11211608996,468.3646483703,478.40103369253,490.54793493862,494.63583439645,507.3950357345,515.20111320734,523.2511306012],description:"Quadratic Corners 13-limit. Chalmers '96"},corners7:{frequencies:[261.6255653006,279.06726965397,286.15296204753,294.32876096318,299.00064605783,327.03195662575,334.88072358477,341.71502406609,343.38355445704,348.83408706747,392.4383479509,398.6675280771,400.61414686654,408.78994578219,418.60090448096,457.84473927605,465.11211608996,478.40103369253,490.54793493862,523.2511306012],description:"Quadratic Corners 7-limit. Chalmers '96"},corrette:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.11326130363,327.03195662575,349.91912034749,365.63284274659,391.22147055517,411.33704984564,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Corrette temperament"},corrette2:{frequencies:[261.6255653006,272.8349596094,292.34127285051,310.42509491746,326.6631048533,350.01785633742,365.01443422269,391.11111150212,409.71484950008,437.02884834934,466.16376151809,488.33748205014,523.2511306012],description:"Michel Corrette, modified meantone temperament (1753)"},coul_12:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,340.65828815182,363.36884069528,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Scale 1 5/4 3/2 2 successively split largest intervals by smallest interval"},coul_12a:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Scale 1 6/5 3/2 2 successively split largest intervals by smallest interval"},coul_12sup:{frequencies:[261.6255653006,280.31310567921,294.32876096318,310.68035879446,331.39238271409,348.83408706747,373.75080757229,392.4383479509,420.46965851882,441.49314144476,466.02053819169,497.08857407114,523.2511306012],description:"Superparticular approximation to Pythagorean scale. Op de Coul, 2003"},coul_13:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,376.74081403286,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Symmetrical 13-tone 5-limit just system"},coul_17sup:{frequencies:[261.6255653006,276.16031892841,279.06726965397,294.57100685697,310.07474405997,313.95067836072,331.39238271409,348.83408706747,368.21375857121,372.08969287196,392.76134247596,413.43299207996,418.60090448096,441.85651028546,465.11211608996,470.92601754108,497.08857407114,523.2511306012],description:"Superparticular approximation to Pythagorean 17-tone scale. Op de Coul, 2003"},coul_20:{frequencies:[261.6255653006,277.18263097687,282.2367833559,293.66476791741,305.55548036855,311.12698372208,329.62755691287,335.63799088232,349.22823143301,363.36884069528,369.99442271164,391.99543598175,399.14308682247,415.30469757995,432.12070439462,440,466.16376151809,474.66379875343,493.88330125613,513.88101620607,523.2511306012],description:"Tuning for a 3-row symmetrical keyboard, Op de Coul, 1989"},coul_27:{frequencies:[261.6255653006,275.62199471997,275.93321340298,279.06726965397,293.99679436797,294.32876096318,310.07474405997,310.42486507835,327.03195662575,330.74639366397,331.11985608357,348.83408706747,367.49599295996,367.91095120397,372.08969287196,372.50983809402,392.4383479509,413.43299207996,413.89982010446,418.60090448096,440.99519155196,441.49314144476,465.11211608996,465.63729761752,490.54793493862,496.11959049595,496.67978412536,523.2511306012],description:"Symmetrical 27-tone 5-limit just system, 67108864/66430125 and 25/24"},counterschismic:{frequencies:[261.6255653006,265.12640119254,268.67408364533,272.2692364133,275.65170316539,279.34022410565,283.07810312094,286.865997406,290.70457953408,294.3160713245,298.25434362449,302.24531258767,306.28968684494,310.09479611189,314.24420508029,318.4491358588,322.71033506911,327.0285519162,331.0913069245,335.5216703313,340.01131880467,344.56104171562,348.84160709651,353.50948891197,358.2398341551,363.03347451625,367.54352740958,372.46166135084,377.44560747755,382.49624206822,387.61445966759,392.4298881006,397.68103103357,403.0024376988,408.3950505989,413.46864135256,419.00130591222,424.60800114791,430.28972009123,436.04746916004,441.46459261549,447.37187116862,453.35819556254,459.4246261707,465.13216971689,471.35614630867,477.663406507,484.05506753352,490.06860102591,496.62625431187,503.27165616309,510.00598369715,516.83042094502,523.2511306012],description:"Counterschismic temperament, g=498.082318, 5-limit"},couperin:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.28785294636,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,465.24345038333,489.02683710225,523.2511306012],description:"Couperin modified meantone"},cross13:{frequencies:[261.6255653006,281.75060878526,285.40970760065,290.69507255622,299.00064605783,305.22982618403,322.00069575458,332.97799220076,336.37572681506,366.27579142084,373.75080757229,406.97310157871,411.12588832951,425.14154361347,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"13-limit harmonic/subharmonic cross"},cross2:{frequencies:[261.6255653006,282.55561052465,339.14425131559,366.27579142084,436.04260883433,470.92601754108,560.62621135843,605.4763082671,726.73768139056,784.8766959018],description:"Pusey's double 5-7 cross reduced by 3/1"},cross2_5:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,348.83408706747,392.4383479509,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"double 3-5 cross reduced by 2/1"},cross2_7:{frequencies:[261.6255653006,294.32876096318,299.00064605783,327.03195662575,334.88072358477,341.71502406609,348.83408706747,392.4383479509,400.61414686654,408.78994578219,418.60090448096,457.84473927605,465.11211608996,523.2511306012],description:"longer 3-5-7 cross reduced by 2/1"},cross3:{frequencies:[261.6255653006,282.55561052465,311.45900631024,336.37572681506,363.28578496026,403.74315632809,436.04260883433,470.92601754108,508.60009894437,565.24041885932,610.45965236807,659.29642455751,726.73768139056,784.8766959018],description:"Pusey's triple 5-7 cross reduced by 3/1"},cross_7:{frequencies:[261.6255653006,299.00064605783,327.03195662575,348.83408706747,392.4383479509,418.60090448096,457.84473927605,523.2511306012],description:"3-5-7 cross reduced by 2/1, quasi diatonic, similar to Zalzal's, Flynn Cohen"},cross_72:{frequencies:[261.6255653006,279.06726965397,294.32876096318,305.22982618403,313.95067836072,343.38355445704,348.83408706747,392.4383479509,398.6675280771,436.04260883433,448.50096908674,465.11211608996,490.54793493862,523.2511306012],description:"double 3-5-7 cross reduced by 2/1"},cross_7a:{frequencies:[261.6255653006,336.37572681506,392.4383479509,436.04260883433,470.92601754108,523.2511306012,610.45965236807,784.8766959018],description:"2-5-7 cross reduced by 3/1"},cruciform:{frequencies:[261.6255653006,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Cruciform Lattice"},galilei:{frequencies:[261.6255653006,277.66336828161,293.32570896007,311.30674962848,328.86683469969,348.2210758395,368.7143392539,390.41365788584,413.39000965417,437.71854962063,463.47885582013,490.75518955849,523.2511306012],description:"Vincenzo Galilei's approximation"},gamelan_om:{frequencies:[261.6255653006,280.31310567921,294.32876096318,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Other Music gamelan (7 limit black keys)"},gamelan_udan:{frequencies:[261.6255653006,261.6255653006,290.69507255622,305.22982618403,334.88072358477,351.32575911795,364.00078650518,392.4383479509,402.50086969323,465.11211608996,465.11211608996,501.44900015948,523.2511306012],description:"Gamelan Udan Mas (approx) s6,p6,p7,s1,p1,s2,p2,p3,s3,p4,s5,p5"},ganassi:{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,327.03195662575,348.83408706747,369.35373924791,392.4383479509,413.09299784305,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"Sylvestro Ganassi's temperament (1543)"},gann_custer:{frequencies:[261.6255653006,269.80136421624,274.70684356563,279.06726965397,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,380.54627680087,392.4383479509,406.97310157871,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,507.3950357345,523.2511306012],description:"Kyle Gann, scale from Custer's Ghost to Sitting Bull, 1/1=G"},gann_frac:{frequencies:[261.6255653006,264.89588486686,294.32876096318,305.22982618403,309.04519901133,313.95067836072,348.83408706747,353.19451315581,366.27579142084,392.4383479509,397.34382730029,412.06026534844,418.60090448096,423.83341578697,457.84473927605,470.92601754108,523.2511306012],description:"Kyle Gann, scale from Fractured Paradise, 1/1=B"},gann_ghost:{frequencies:[261.6255653006,294.32876096318,305.22982618403,343.38355445704,348.83408706747,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"Kyle Gann, scale from Ghost Town, 1/1=E"},gann_super:{frequencies:[261.6255653006,287.78812183066,290.69507255622,294.32876096318,299.00064605783,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,523.2511306012],description:"Kyle Gann, scale from Superparticular Woman (1992), 1/1=G"},gann_things:{frequencies:[261.6255653006,266.47048317654,272.52663052146,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,343.38355445704,348.83408706747,373.75080757229,387.59343007496,392.4383479509,406.97310157871,408.78994578219,436.04260883433,448.50096908674,465.11211608996,490.54793493862,498.33441009638,508.71637697339,523.2511306012],description:"Kyle Gann, scale from How Miraculous Things Happen, 1/1=A"},garcia:{frequencies:[261.6255653006,268.33391312882,271.68808704293,279.06726965397,286.22284067074,294.32876096318,301.87565226992,310.07474405997,313.95067836072,322.00069575458,331.11985608357,339.61010880366,348.83408706747,357.77855083843,362.25078272391,372.08969287196,381.63045422766,392.4383479509,402.50086969323,407.5321305644,418.60090448096,429.33426100611,441.49314144476,452.81347840488,465.11211608996,470.92601754108,483.00104363188,496.11959049595,509.4151632055,523.2511306012],description:"Linear 29-tone scale by Jos\xEF\xBF\xBD L. Garcia, 1988 15/13-52/45 alternating"},garibaldi24:{frequencies:[261.6255653006,271.45160478635,275.48458787532,290.07776082447,294.38747453868,305.44397410364,309.9819851541,326.40257969757,331.25197480486,343.69301829526,348.79929894143,361.89937857146,367.27615309757,386.73177659938,392.47748849606,407.21801775129,413.26809573999,435.16003837828,441.62525370518,458.21165716245,465.0193526482,489.65270106975,496.92751922541,515.59094540799,523.2511306012],description:"Garibaldi[24] in 94-tET tuning."},genovese:{frequencies:[261.6255653006,277.01530443593,277.97716313189,279.06726965397,280.31310567921,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,296.50897400735,299.00064605783,301.87565226992,305.22982618403,307.79478270659,309.19384990071,313.95067836072,317.68818643644,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,338.57426097725,340.11323489078,342.12573923925,348.83408706747,356.76213450082,359.73515228832,362.25078272391,366.27579142084,369.35373924791,370.63621750918,373.75080757229,377.90359432309,380.54627680087,383.71749577421,392.4383479509,400.13321751856,402.50086969323,404.33041910093,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,430.91269578922,436.04260883433,442.75095666255,444.76346101102,448.50096908674,453.48431318771,457.84473927605,461.69217405988,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,488.36772189445,490.54793493862,492.47165233054,494.18162334558,523.2511306012],description:"Denny Genovese's 65-note scale. 3/2=384 Hz"},genovese_12:{frequencies:[261.6255653006,285.40970760065,294.32876096318,313.95067836072,327.03195662575,348.83408706747,359.73515228832,392.4383479509,425.14154361347,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Denny Genovese's superposition of harmonics 8-16 and subharmonics 6-12"},genovese_38:{frequencies:[261.6255653006,280.31310567921,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,485.87604984397,490.54793493862,523.2511306012],description:"Denny Genovese's 38-note scale. Harm 1..16 x Subh. 1..12"},"gf1-2":{frequencies:[261.6255653006,269.29177952703,277.18263097687,285.30470202322,293.66476791741,311.12698372208,320.24370022528,339.28638158975,349.22823143301,359.46139971304,380.8360868427,403.48177901006,415.30469757995,440,466.16376151809,493.88330125613,523.2511306012],description:"16-note scale with all possible quadruplets of 50 & 100 c. Galois Field GF(2)"},"gf2-3":{frequencies:[261.6255653006,270.85177093588,280.40333801024,290.29174037004,300.52885648597,316.56538760238,327.729041887,345.21700307457,357.39105439675,369.99442271164,389.73770840504,410.5345162762,425.01198472693,447.69106452518,471.58032351597,496.7443381147,523.2511306012],description:"16-note scale with all possible quadruplets of 60 & 90 c. Galois Field GF(2)"},gilson7:{frequencies:[261.6255653006,261.6255653006,299.00064605783,313.95067836072,327.03195662575,392.4383479509,373.75080757229,392.4383479509,408.78994578219,408.78994578219,467.18850946536,490.54793493862,523.2511306012],description:"Gilson septimal"},gilson7a:{frequencies:[261.6255653006,261.6255653006,280.31310567921,299.00064605783,313.95067836072,336.37572681506,373.75080757229,373.75080757229,392.4383479509,418.60090448096,470.92601754108,470.92601754108,523.2511306012],description:"Gilson septimal 2"},golden_10:{frequencies:[261.6255653006,287.58715183149,304.90466328003,323.26497397694,342.73087946949,376.74069565061,399.42672527674,423.47882962254,465.50141625349,493.53231135469,523.2511306012],description:"Golden version of Rapoport's Major 10 out of 13"},golden_5:{frequencies:[261.6255653006,327.03195662575,343.38355445704,392.4383479509,425.14154361347,523.2511306012],description:"Golden pentatonic"},gradus10:{frequencies:[261.6255653006,290.69507255622,299.00064605783,305.22982618403,490.54793493862,882.98628288953,930.22423217991,941.85203508216,1220.91930473613,1255.80271344288,1674.40361792384,2747.0684356563,3270.3195662575,3488.34087067467,5886.5752192635,10595.8353946743,10988.2737426252,11162.69078615893,13081.27826503,14651.0316568336,23546.300877054,31395.067836072,41860.090448096,42383.3415786972,56511.1221049296,75348.1628065728,100464.2170754304,133952.2894339072],description:"Intervals > 1 with Gradus = 10"},gradus3:{frequencies:[261.6255653006,784.8766959018,1046.5022612024],description:"Intervals > 1 with Gradus = 3"},gradus4:{frequencies:[261.6255653006,392.4383479509,1569.7533918036,2093.0045224048],description:"Intervals > 1 with Gradus = 4"},gradus5:{frequencies:[261.6255653006,348.83408706747,1308.127826503,2354.6300877054,3139.5067836072,4186.0090448096],description:"Intervals > 1 with Gradus = 5"},gradus6:{frequencies:[261.6255653006,654.0639132515,697.66817413493,1177.3150438527,2616.255653006,4709.2601754108,6279.0135672144,8372.0180896192],description:"Intervals > 1 with Gradus = 6"},gradus7:{frequencies:[261.6255653006,327.03195662575,436.04260883433,588.65752192635,1395.33634826987,1831.3789571042,3924.383479509,5232.511306012,7063.8902631162,9418.5203508216,12558.0271344288,16744.0361792384],description:"Intervals > 1 with Gradus = 7"},gradus8:{frequencies:[261.6255653006,294.32876096318,313.95067836072,418.60090448096,872.08521766867,915.6894785521,1962.1917397545,2790.67269653973,3531.9451315581,3662.7579142084,7848.766959018,10465.022612024,14127.7805262324,18837.0407016432,25116.0542688576,33488.0723584768],description:"Intervals > 1 with Gradus = 8"},gradus9:{frequencies:[261.6255653006,457.84473927605,465.11211608996,470.92601754108,610.45965236807,627.90135672144,837.20180896192,981.09586987725,1744.17043533733,1765.97256577905,5494.1368713126,5581.34539307947,6540.639132515,7325.5158284168,11773.150438527,15697.533918036,20930.045224048,21191.6707893486,28255.5610524648,37674.0814032864,50232.1085377152,66976.1447169536],description:"Intervals > 1 with Gradus = 9"},grady11:{frequencies:[261.6255653006,277.4816601673,290.69507255622,305.22982618403,332.97799220076,356.76213450082,378.42269266694,392.4383479509,420.46965851882,458.69417292962,481.6288815761,504.56359022259,523.2511306012],description:"Kraig Grady's dual [5 7 9 11] hexany scale"},grady7:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:`Kraig Grady's 7-limit "Centaur" scale (1987), see Xenharmonikon 16`},grady7t:{frequencies:[261.6255653006,274.79177208104,293.65339461903,305.54250820508,326.68804977983,349.10444036529,366.6627351378,392.00975085961,407.77240291308,436.0718257558,457.96530027286,489.37179607373,523.2511306012],description:"Tempered version of grady7 with egalised 225/224"},grady_14:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,343.38355445704,348.83408706747,366.27579142084,392.4383479509,412.06026534844,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"Kraig Grady, letter to Lou Harrison, published in 1/1 7 (1) 1991 p 5."},grammateus:{frequencies:[261.6255653006,277.49581689502,294.32876096318,312.18279369479,331.11985608357,348.83408706747,369.99442271164,392.4383479509,416.24372513446,441.49314144476,468.27419030811,496.67978412536,523.2511306012],description:"H. Grammateus (Heinrich Schreiber) (1518). B-F# and Bb-F 1/2 P. Also Marpurg temp.nr.6"},graupner:{frequencies:[261.6255653006,277.083518473,293.59062125964,310.9808189359,329.55130849159,349.11528328816,370.00708353276,392.01655298731,415.20348378516,439.96413779539,466.04943410823,493.90517116572,523.2511306012],description:"Johann Gottlieb Graupner's temperament (1819)"},groenewald_21:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,330.74639366397,348.83408706747,367.91095120397,372.08969287196,392.4383479509,413.89982010446,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.11959049595,523.2511306012],description:"J\xEF\xBF\xBDrgen Gr\xEF\xBF\xBDnewald, new meantone temperament I (2000)"},gross:{frequencies:[13.75,13.83042567154,13.91662997964,13.99803029322,14.07990672861,14.1622619889,14.24509903843,14.32842061343,14.41222946472,14.49652860895,14.58132083065,14.67220542837,14.75802520833,14.84434696019,14.93117353378,15.01850805439,15.10635340681,15.19471249121,15.28358848801,15.37298433293,15.46880332718,15.55928251958,15.65029093742,15.74183158529,15.83390775812,15.92652249736,16.01967895316,16.113380201,16.20762961362,16.30865090754,16.4040424858,16.49999202274,16.59650278193,16.69357794961,16.79122101993,16.88943521823,16.98822378696,17.08759028197,17.18753798549,17.29466699621,17.39582592037,17.49757653721,17.59992220598,17.70286661052,17.80641315127,17.91056524676,18.01532664586,18.12070080902,18.23364617402,18.34029731861,18.44757228066,18.55547460176,18.66400816581,18.77317655783,18.88298349104,18.99343259063,19.10452783216,19.2236053387,19.33604689279,19.44914613325,19.56290690697,19.67733296969,19.79242844011,19.90819712001,20.02464283144,20.14176976577,20.26731246322,20.38585868839,20.50509842475,20.62503561099,20.74567420676,20.86701855437,20.98907266203,21.11184068121,21.23532666504,21.36768545088,21.49266790503,21.61838152318,21.74483045784,21.87201888365,21.99995137868,22.12863216875,22.25806563075,22.38825603783,22.52780097787,22.65956910312,22.79210808945,22.92542231482,23.05951631373,23.1943945132,23.33006176809,23.46652255971,23.60378139323,23.75090264526,23.88982499399,24.02955978014,24.17011203339,24.3114863964,24.45368753658,24.59672057234,24.74059022832,24.88530139802,25.04041015894,25.18687501732,25.33419642278,25.48237967807,25.63142967793,25.78135134315,25.93215007005,26.08383083979,26.23639881154,26.39992889083,26.55434576426,26.70966568928,26.86589425653,27.0230366265,27.18109814415,27.34008402779,27.5],description:"Gross temperament, g=91.531021, 5-limit"},groven:{frequencies:[261.6255653006,264.7464578752,272.5650766677,275.81646505128,279.10663876478,290.77709705464,294.24573392894,297.75574765819,306.54921255625,310.20599265769,313.90639394672,327.03195662575,330.93307160522,334.88072358477,344.77058253591,348.88329767713,353.04507480266,363.47137260637,367.80716871461,372.19468374184,387.75749219625,392.38299382393,397.06367008113,408.78994578219,413.66634097248,418.60090448096,436.10412364188,441.30634506723,446.57062302059,459.75895986689,465.24335632603,470.79317533731,484.69686416326,490.47874118496,496.32958936031,517.08292506126,523.2511306012],description:"Eivind Groven's 36-tone scale with 1/8-schisma temp. fifths and 5/4 (1948)"},groven_ji:{frequencies:[261.6255653006,264.89588486686,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.07474405997,313.95067836072,327.03195662575,331.11985608357,334.88072358477,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,387.59343007496,392.4383479509,396.89567239676,408.78994578219,413.89982010446,418.60090448096,436.04260883433,441.49314144476,446.50763144636,459.88868900496,465.11211608996,470.92601754108,484.4917875937,490.54793493862,496.11959049595,517.37477513058,523.2511306012],description:"Untempered version of Groven's 36-tone scale"},gumbeng:{frequencies:[261.6255653006,305.03156112838,348.43777142572,394.8168394034,470.9259392365,525.62941881859],description:"Scale of gumbeng ensemble, Java. 1/1=440 Hz."},gunkali:{frequencies:[261.6255653006,275.93321340298,282.55561052465,348.83408706747,392.4383479509,408.78994578219,418.60090448096,523.2511306012],description:"Indian mode Gunkali, see Dani\xEF\xBF\xBDlou: Intr. to the Stud. of Mus. Scales, p.175"},gyaling:{frequencies:[261.6255653006,283.49766588023,307.55338551939,339.28638158975,347.81902735497,393.58362272115,435.9522698367],description:'Tibetan Buddhist Gyaling tones measured from CD "The Diamond Path", Ligon 2002'},far12_104:{frequencies:[261.6255653006,276.7193479141,294.32876096318,311.93817401225,329.54758706133,349.67263054599,369.79767403066,392.4383479509,415.07902187114,440.23532622697,465.3916305828,493.06356537421,523.2511306012],description:"Farey approximation to 12-tET with den=104"},far12_65:{frequencies:[261.6255653006,277.72560008833,293.82563487606,309.92566966379,330.05071314845,350.17575663311,370.30080011777,390.42584360243,414.57589578403,438.72594796562,466.90100884415,495.07606972267,523.2511306012],description:"Farey approximation to 12-tET with den=65"},far12_80:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,330.30227619201,349.92419358955,369.5461109871,392.4383479509,415.3305849147,441.49314144476,467.65569797482,493.81825450488,523.2511306012],description:"Farey approximation to 12-tET with den=80"},farey3:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,418.60090448096,523.2511306012],description:"Farey fractions between 0 and 1 until 3rd level, normalised by 2/1"},farey4:{frequencies:[261.6255653006,299.00064605783,313.95067836072,327.03195662575,348.83408706747,373.75080757229,392.4383479509,418.60090448096,448.50096908674,523.2511306012],description:"Farey fractions between 0 and 1 until 4th level, normalised by 2/1"},farey5:{frequencies:[261.6255653006,285.40970760065,290.69507255622,299.00064605783,305.22982618403,313.95067836072,322.00069575458,327.03195662575,332.97799220076,348.83408706747,366.27579142084,373.75080757229,380.54627680087,392.4383479509,402.50086969323,406.97310157871,418.60090448096,436.04260883433,448.50096908674,465.11211608996,523.2511306012],description:"Farey fractions between 0 and 1 until 5th level, normalised by 2/1"},farnsworth:{frequencies:[261.6255653006,294.32876096318,327.03195662575,343.38355445704,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Farnsworth's scale"},fibo_9:{frequencies:[261.6255653006,277.97716313189,327.03195662575,343.38355445704,363.82305174615,392.4383479509,425.14154361347,449.66894036041,523.2511306012],description:"First 9 Fibonacci terms reduced by 2/1, B. McLaren, XH 13, 1991"},finnamore:{frequencies:[261.6255653006,277.97716313189,310.68035879446,348.83408706747,392.4383479509,416.96574469783,457.84473927605,466.02053819169,523.2511306012],description:"David J. Finnamore, Tuning List 9 May '97. Tetrachordal scale, 17/16x19/17x64/57"},finnamore53:{frequencies:[261.6255653006,286.15296204753,310.68035879446,327.03195662575,343.38355445704,359.73515228832,367.91095120397,376.08675011961,392.4383479509,408.78994578219,416.96574469783,425.14154361347,433.31734252912,441.49314144476,457.84473927605,474.19633710734,523.2511306012],description:'David J. Finnamore, tuning for "Crawlspace", 53-limit, 1998.'},finnamore_11:{frequencies:[261.6255653006,287.78812183066,294.32876096318,305.22982618403,323.76163705949,331.11985608357,343.38355445704,348.83408706747,392.4383479509,431.68218274599,441.49314144476,457.84473927605,485.64245558924,515.07533168556,523.2511306012],description:"David J. Finnamore, 11-limit scale, Tuning List 3 Sept '98"},finnamore_7:{frequencies:[261.6255653006,274.70684356563,294.32876096318,309.04519901133,331.11985608357,348.83408706747,366.27579142084,392.4383479509,412.06026534844,441.49314144476,463.567798517,496.67978412536,523.2511306012],description:"David J. Finnamore, TL 1 Sept '98. 7-tone Pyth. with 9/8 div. in 21/20 &15/14"},finnamore_7a:{frequencies:[261.6255653006,280.31310567921,294.32876096318,315.35224388912,331.11985608357,348.83408706747,373.75080757229,392.4383479509,420.46965851882,441.49314144476,473.02836583367,496.67978412536,523.2511306012],description:"David J. Finnamore, TL 1 Sept '98. 7-tone Pyth. with 9/8 div. in 15/14 &21/20"},finnamore_jc:{frequencies:[261.6255653006,276.16031892841,310.68035879446,348.83408706747,392.4383479509,414.24047839262,466.02053819169,523.2511306012],description:"Chalmers' modification of Finnamore. Tuning List 9-5-97 19/18 x 9/8 x 64/57"},fisher:{frequencies:[261.6255653006,273.37431312998,292.50627485027,310.67535808973,327.03195662575,349.71841093413,365.63284485857,391.22147055517,410.55062036439,437.39890198442,467.47330218196,489.02683992698,523.2511306012],description:"Alexander Metcalf Fisher's modified meantone temperament (1818)"},"fj-10tet":{frequencies:[261.6255653006,280.31310567921,300.51585203447,322.00069575458,345.20039866051,370.01329949656,396.52624740872,425.14154361347,455.42228033808,488.36772189445,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 10-tet"},"fj-12tet":{frequencies:[261.6255653006,277.19851561611,293.6613488068,311.12229387098,329.64821227876,348.83408706747,370.01329949656,391.99491478937,415.52295665389,440.00663255101,466.16918908107,490.54793493862,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 12-tet"},"fj-13tet":{frequencies:[261.6255653006,275.96121271433,291.05844139692,306.97399661937,323.91736656265,341.56671025356,360.27127025001,379.97998769849,400.78810003496,422.62591317789,445.95266812602,41.6222490251,496.18641694941,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 13-tet"},"fj-14tet":{frequencies:[261.6255653006,274.92856014639,288.87822835275,303.4856557487,318.85615771011,335.0643204727,352.18826098158,370.01329949656,388.70083987518,408.5030756448,429.33426100611,451.0785608631,473.88781639354,497.93252750759,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 14-tet"},"fj-15tet":{frequencies:[261.6255653006,274.08392555301,286.94416839421,300.51585203447,314.76825825228,329.64821227876,345.20039866051,361.51896296083,378.66858135613,396.52624740872,415.52295665389,392.4383479509,455.42228033808,477.08191319521,499.46698830115,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 15-tet"},"fj-16tet":{frequencies:[261.6255653006,273.25336820285,285.40970760065,297.96244937013,311.12229387098,324.92207303462,339.29565499922,354.2846196779,370.01329949656,386.4008349055,403.52417698906,421.50785520652,440.00663255101,459.44001711325,479.64686971777,500.9851250437,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 16-tet"},"fj-17tet":{frequencies:[261.6255653006,272.52663052146,283.8915708581,295.75063903546,307.98958953109,320.70230585235,334.29933343966,348.03400888612,362.53828334512,373.75080757229,392.4383479509,409.71550792358,426.86276443782,444.76346101102,462.87600014722,482.37213602298,502.32108537715,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 17-tet"},"fj-18tet":{frequencies:[261.6255653006,271.88539139082,282.55561052465,293.6613488068,305.22982618403,317.12189733406,329.64821227876,342.60490694126,355.98232655655,370.01329949656,384.51030051755,399.57359064092,415.52295665389,431.68218274599,448.50096908674,466.16918908107,484.4917875937,503.12608711654,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 18-tet"},"fj-19tet":{frequencies:[261.6255653006,271.31540105247,281.44568388398,291.81313052759,302.73815413355,313.95067836072,325.69713231299,337.73482066077,350.31219760589,363.36884069528,376.74081403286,390.78248994267,405.26313056367,420.46965851882,436.04260883433,451.89870370104,468.95148497277,485.87604984397,504.56359022259,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 19-tet"},"fj-20tet":{frequencies:[261.6255653006,270.8594087818,280.31310567921,290.29686012806,300.51585203447,311.12229387098,322.00069575458,333.44434793214,345.20039866051,357.34223553253,370.01329949656,383.09457776159,396.52624740872,410.48149038542,425.14154361347,440.00663255101,455.42228033808,470.92601754108,488.36772189445,505.41302387616,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 20-tet"},"fj-21tet":{frequencies:[261.6255653006,270.34641747729,279.46367202564,288.87822835275,298.56093922539,308.58400009814,318.85615771011,329.64821227876,340.72166643799,352.18826098158,364.00078650518,376.08675011961,388.70083987518,401.78211814021,415.52295665389,429.33426100611,443.62595855319,457.84473927605,473.88781639354,489.85212226495,506.18859373377,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 21-tet"},"fj-22tet":{frequencies:[261.6255653006,270.06509966514,278.68810216803,287.55242312318,296.76929795292,306.29334474217,316.13089140489,326.18252297218,336.37572681506,347.40443916965,358.52392281934,370.01329949656,381.83190611439,392.4383479509,392.4383479509,419.69101100305,433.03541842858,446.94367405519,461.28718092474,475.68284600109,491.34557385722,506.89953276991,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 22-tet"},"fj-23tet":{frequencies:[261.6255653006,269.55361273395,277.97716313189,286.37392958579,295.1673044417,304.21577360535,313.47928094576,323.18452184192,332.97799220076,343.1154954762,353.6790049434,364.40703738298,375.66747838035,387.20583664489,398.97898708342,411.12588832951,423.58424858192,436.04260883433,449.99597231703,463.79077485106,477.96978276071,492.47165233054,507.86139146587,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 23-tet"},"fj-24tet":{frequencies:[261.6255653006,269.32043486826,277.19851561611,285.40970760065,293.6613488068,302.32287545847,311.12229387098,320.2657782128,329.64821227876,339.29565499922,348.83408706747,348.83408706747,370.01329949656,380.54627680087,391.99491478937,403.52417698906,415.52295665389,427.53446036927,440.00663255101,452.81347840488,466.16918908107,479.64686971777,490.54793493862,508.30109829831,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 24-tet"},"fj-26tet":{frequencies:[261.6255653006,268.69652652494,275.96121271433,283.42769574232,291.05844139692,299.00064605783,306.97399661937,315.29234792636,323.91736656265,332.57487114483,341.56671025356,350.8160989258,360.27127025001,370.01329949656,379.97998769849,390.22118214327,400.78810003496,411.12588832951,422.62591317789,434.18710837121,445.95266812602,457.84473927605,457.84473927605,483.00104363188,496.18641694941,509.48136400643,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 26-tet"},"fj-30tet":{frequencies:[261.6255653006,267.70988077271,274.08392555301,280.31310567921,286.94416839421,293.6613488068,300.51585203447,307.52478728316,314.76825825228,322.00069575458,329.64821227876,337.35928157183,345.20039866051,353.19451315581,361.51896296083,370.01329949656,378.66858135613,387.59343007496,396.52624740872,405.78659107848,415.52295665389,425.14154361347,392.4383479509,444.76346101102,455.42228033808,466.16918908107,477.08191319521,488.36772189445,499.46698830115,511.35905945117,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 30-tet"},"fj-31tet":{frequencies:[261.6255653006,267.57160087561,273.51763645063,279.79400733536,286.15296204753,292.60754013883,299.00064605783,305.96888145324,312.81317590289,319.76457981184,327.03195662575,334.53760808929,342.12573923925,349.884792149,357.81143489641,366.27579142084,373.75080757229,382.37582620857,391.25985441351,400.13321751856,409.20921752145,418.60090448096,428.11456140098,437.54620403721,447.51741432997,457.84473927605,467.90726101838,478.40103369253,489.12605686634,500.50108144463,511.62332769895,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 31-tet"},"fj-36tet":{frequencies:[261.6255653006,266.75547834571,271.88539139082,277.19851561611,282.55561052465,288.08208313999,293.6613488068,299.00064605783,305.22982618403,311.12229387098,317.12189733406,323.18452184192,329.64821227876,327.03195662575,342.60490694126,348.83408706747,355.98232655655,362.89997767503,370.01329949656,377.22755927063,384.51030051755,391.99491478937,399.57359064092,406.97310157871,415.52295665389,423.35773294097,431.68218274599,440.00663255101,448.50096908674,436.04260883433,466.16918908107,475.19745534191,484.4917875937,490.54793493862,503.12608711654,513.18860885887,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 36-tet"},"fj-41tet":{frequencies:[261.6255653006,266.05989691586,270.64713651786,275.21650375777,279.87851171692,284.71017400359,289.532292266,294.32876096318,299.49242343621,304.63250754179,309.81974838229,315.13988547572,320.49131749323,325.95972070239,331.39238271409,337.09447836808,342.81970625596,348.83408706747,354.64798851859,360.72615821749,366.27579142084,373.13810133036,379.35706968587,386.00493241072,392.4383479509,399.32323124828,405.97070477679,413.09299784305,419.97788114044,427.14378008261,434.48531380278,441.85651028546,449.45930449077,436.04260883433,465.11211608996,472.93852188955,480.82536325516,489.12605686634,497.08857407114,505.80942624783,514.53027842451,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 41-tet"},"fj-42tet":{frequencies:[261.6255653006,265.98599138894,270.34641747729,274.92856014639,279.46367202564,284.05061375494,288.87822835275,293.6613488068,298.56093922539,303.4856557487,308.58400009814,313.7026920429,318.85615771011,324.18820048118,329.64821227876,335.0643204727,340.72166643799,346.37750898953,352.18826098158,358.01393146398,364.00078650518,370.01329949656,376.08675011961,382.37582620857,388.70083987518,395.22159864559,401.78211814021,408.5030756448,415.52295665389,422.16852582597,429.33426100611,436.04260883433,443.62595855319,451.0785608631,457.84473927605,466.16918908107,473.88781639354,481.94183081689,489.85212226495,497.93252750759,506.18859373377,514.81159623666,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 42-tet"},"fj-43tet":{frequencies:[261.6255653006,265.84533248287,270.2034526875,274.70684356563,279.06726965397,283.42769574232,288.1672893166,292.86443876933,297.71185016965,302.50455987882,307.4100392282,312.38873468728,317.43901923139,322.67153053741,327.85988562987,332.97799220076,338.57426097725,344.24416486921,348.83408706747,355.41586229515,361.11697745717,367.05676325756,372.95559308809,379.09010482332,385.17097113699,391.45479319413,397.88888056133,404.33041910093,392.4383479509,417.48760420309,424.25767346043,431.1976909584,438.2228218785,445.32011114996,452.54151835779,459.82675113439,467.18850946536,475.05694751951,483.00104363188,490.54793493862,498.33441009638,506.89953276991,514.81159623666,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 43-tet"},"fj-53tet":{frequencies:[261.6255653006,265.06800694929,268.51044859798,272.09058791262,275.69145590816,279.30296836145,282.98275430473,286.71294827463,290.48132617934,294.32876096318,298.13145813324,302.11523612093,306.05254808749,310.07474405997,313.95067836072,318.31110444906,322.46872002167,326.7649917632,331.03642956402,335.41739141103,336.37572681506,344.24416486921,348.83408706747,353.42400926572,358.01393146398,362.89997767503,367.52162744608,372.31330446624,377.3445653374,382.37582620857,387.20583664489,392.4383479509,397.67085925691,402.82031482791,408.13588186894,413.53718386224,418.60090448096,424.41480593208,429.81342870813,436.04260883433,441.49314144476,447.29532132038,453.1728541814,459.07882213124,465.11211608996,470.92601754108,477.46665667359,483.76047923507,485.87604984397,496.55464434604,503.12608711654,509.83443494476,516.36624730382,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 53-tet"},"fj-54tet":{frequencies:[261.6255653006,265.02329991489,268.42103452919,271.88539139082,275.39533189537,279.06726965397,282.55561052465,286.15296204753,289.90941019796,293.6613488068,297.46468383493,301.26580246736,305.22982618403,309.19384990071,313.15787361738,317.12189733406,321.29455387793,325.43667878855,329.64821227876,333.91683992313,338.19890148614,342.60490694126,346.93824963775,351.55935337268,355.98232655655,360.61902244137,365.28852513669,370.01329949656,374.76094489005,379.61356533813,384.51030051755,389.53139722534,394.5147413263,399.57359064092,404.77917650282,409.88005230427,415.52295665389,420.652869699,426.07592063241,431.68218274599,436.04260883433,442.75095666255,448.50096908674,454.40229762736,460.26719821402,466.16918908107,472.20223981084,478.40103369253,484.4917875937,490.54793493862,497.08857407114,503.12608711654,510.16985233617,516.54278277298,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 54-tet"},"fj-55tet":{frequencies:[261.6255653006,264.93728131706,268.33391312882,271.68808704293,275.15792212649,278.68810216803,282.14521748104,285.77561748219,289.37373131733,293.02063313667,296.76929795292,300.51585203447,304.33994330886,308.21641939523,312.11470948142,316.13089140489,319.76457981184,324.10331223806,328.22116374075,332.33517754401,336.37572681506,340.90603963412,345.20039866051,348.83408706747,353.96400011258,358.52392281934,363.07221307022,367.68998366571,372.31330446624,377.04860881557,381.83190611439,386.75083566176,391.58336244338,396.52624740872,401.56482115906,406.65712867376,411.81801945465,416.96574469783,418.60090448096,427.65717404906,433.03541842858,438.60756535689,444.15502946381,449.8123754291,455.42228033808,461.28718092474,467.18850946536,472.93852188955,479.03272519828,485.0974023282,491.34557385722,497.60156537565,503.87145909745,510.16985233617,516.71049146868,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 55-tet"},"fj-5tet":{frequencies:[261.6255653006,300.51585203447,345.20039866051,396.52624740872,455.42228033808,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 5-tet"},"fj-60tet":{frequencies:[261.6255653006,264.66772303665,267.70988077271,270.8594087818,274.08392555301,277.19851561611,280.31310567921,283.6903720127,286.94416839421,290.29686012806,293.6613488068,297.10021822272,300.51585203447,304.05133264664,307.52478728316,311.12229387098,314.76825825228,318.50068819203,322.00069575458,325.79787377056,329.64821227876,333.44434793214,337.35928157183,341.25073734861,345.20039866051,348.83408706747,353.19451315581,357.34223553253,361.51896296083,365.74186169574,370.01329949656,374.3258088147,378.66858135613,383.09457776159,387.59343007496,391.99491478937,396.52624740872,401.15920012759,405.78659107848,410.48149038542,415.52295665389,420.18651396763,425.14154361347,429.81342870813,434.91003062957,440.00663255101,444.76346101102,450.23934493592,455.42228033808,460.95932933915,466.16918908107,470.92601754108,477.08191319521,482.55382044333,488.36772189445,490.54793493862,499.46698830115,505.41302387616,511.35905945117,517.30509502619,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 60-tet"},"fj-66tet":{frequencies:[261.6255653006,264.37951861955,267.19206668997,270.06509966514,272.83808952777,275.76748774928,278.68810216803,281.58005756929,284.57517629188,287.55242312318,290.69507255622,293.6613488068,296.76929795292,299.91223339337,302.93486508491,306.29334474217,309.48390041656,312.81317590289,316.13089140489,319.38705374359,322.78478835788,326.18252297218,329.64821227876,332.97799220076,336.37572681506,340.11323489078,343.8507429665,347.40443916965,351.12904816659,354.74652922115,358.52392281934,362.25078272391,366.27579142084,370.01329949656,373.75080757229,377.90359432309,381.83190611439,385.89770881839,389.97018224052,392.4383479509,398.12586024004,402.50086969323,406.65712867376,411.12588832951,415.52295665389,419.69101100305,424.01384721132,428.62060698183,433.03541842858,437.71969579139,442.27178896054,446.94367405519,451.89870370104,456.45311392871,461.28718092474,466.16918908107,470.92601754108,475.68284600109,481.05345877852,485.87604984397,491.34557385722,496.41773928832,501.44900015948,506.89953276991,512.35006538034,517.80059799077,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 66-tet"},"fj-72tet":{frequencies:[195.99771799087,197.9006084568,199.84081050049,201.76235675531,203.68390301012,205.67661764474,207.66424882366,209.67197738558,211.67753543014,213.81569235368,215.817711945,217.77524221208,219.99743856118,222.13074705632,223.99739198957,226.48625190056,228.66400432268,230.8417567448,233.07836734049,235.19726158904,237.57299150408,239.92824098882,242.11482810637,244.5635242187,246.9571246685,249.45164107929,251.74018824515,254.18454051941,256.66367832138,259.11562717437,261.33029065449,264.17083729204,266.68541956135,269.28382123963,271.86780237443,274.39680518722,277.19677258709,279.99673998696,282.60136082405,285.0875898049,288.0572521987,290.83532347032,293.66437746429,296.5093682426,299.34196929515,302.30156503677,304.88533909691,307.99641398565,311.29049327962,313.59634878539,317.15994365795,320.28895378996,323.39623468494,326.46784071315,329.63252571192,332.8263135694,335.99608798435,339.22681959958,342.55457018224,345.87832586624,349.232297511,352.79589238357,355.99585512627,359.32914964993,362.95873702013,366.4305162438,367.49572123288,373.6206499201,376.91868844398,380.79556638226,384.45706221286,388.2262490973,391.99543598174],description:"Franck Jedrzejewski continued fractions approx. of 72-tet"},"fj-78tet":{frequencies:[138.59131548844,139.82873794816,141.06616040788,142.33702671786,143.60064014465,144.89092073791,146.18536017274,147.4753741736,148.781853392,150.14059177914,151.48353088271,152.80580938469,154.18283848089,155.56168065029,156.95883922787,158.39007484393,159.76498868806,161.21846903757,162.6138101731,164.12129465736,165.53962683341,167.02030328094,168.55700532378,170.00534699915,171.58924774759,173.06676710248,174.62505751543,176.17540104463,177.75842638735,179.35346710269,180.93866188769,182.53490332624,184.15558359423,185.8383548595,187.50589742554,188.98815748424,190.84705739392,192.48793817839,194.02784168382,196.00771761937,197.74614527009,199.57149430335,201.28738678083,203.10796235375,204.87411854813,206.71247055903,207.88697323266,210.45347907504,212.31010032272,214.18657848213,216.10849194808,217.78635291041,220.11561871693,221.7461047815,223.87827886594,225.96410133985,228.00506741647,230.00260868294,232.05987709692,234.17153306667,236.2351968553,238.37706264012,240.41350645954,242.53480210477,244.7463656498,246.9445257794,249.1343885566,251.39820018833,253.59261982991,255.8608901325,258.1602935569,260.55167311827,262.84559834014,265.13121223875,267.51346943117,269.88835121433,272.23294113801,274.70778605744,277.18263097688],description:"Franck Jedrzejewski continued fractions approx. of 78-tet"},"fj-7tet":{frequencies:[261.6255653006,288.87822835275,318.85615771011,352.18826098158,388.70083987518,429.33426100611,473.88781639354,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 7-tet"},"fj-84tet":{frequencies:[97.99885899544,98.81551615374,99.63217331203,100.44883047033,101.26548762862,102.12512674262,102.98185182572,103.83212441184,104.68059938149,105.53723276432,106.39876119505,107.33208366167,108.20707347413,109.09306944775,109.9987192806,110.89344570537,111.83399203009,112.76581035092,113.67867643471,114.64017467391,115.58839778949,116.53918367025,117.50574088079,118.47623251688,119.43610940069,120.45693084856,121.43336875522,122.4985737443,123.47856233425,124.48503710232,125.50731064328,126.58185953578,127.62642101732,128.62350243151,129.74496824748,130.66514532725,131.9215409554,132.99845149381,134.10370178323,135.17083999371,136.34623860235,137.19840259362,138.59838629355,139.73911375276,140.87335980595,142.09834554339,143.22910160872,144.41937115117,145.59830479323,146.83218873215,148.0408295463,149.25980062382,150.498247743,151.74016876713,153.01576229113,154.29607586516,155.64524663982,156.7981743927,158.13452246991,159.45577056885,160.81864040277,162.07503603092,163.33143165907,164.81626285597,166.17197829662,167.54643634704,168.96354999214,170.33135015874,171.49800324202,173.20728566636,174.61614875551,176.03498745477,177.50736723702,178.95443816559,180.52421393897,181.99788099153,183.48722535316,183.74786061645,186.51395744293,188.05186455882,189.60648805639,191.21728584476,192.8364644749,194.36440367429,195.99771799088],description:"Franck Jedrzejewski continued fractions approx. of 84-tet"},"fj-8tet":{frequencies:[261.6255653006,285.40970760065,311.12229387098,339.29565499922,370.01329949656,403.52417698906,440.00663255101,479.64686971777,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 8-tet"},"fj-90tet":{frequencies:[69.29565774422,69.83283338565,70.37840239647,70.9071846685,71.46114704873,72.0131345185,72.59545097014,73.14541650779,73.69538204544,74.24534758309,74.83931036376,75.40998048636,76.00168913882,76.58993750677,77.19009976571,77.78084032514,78.38361285822,78.99704982841,79.59636362512,80.23707738804,80.84493403492,81.4527906818,82.08870225085,82.70772053342,83.37133822351,83.99473665966,84.69469279849,85.2869633775,85.97794571968,86.61957218027,87.31252875772,87.95218098305,88.65767976099,89.35492709123,90.08435506749,90.74431371267,91.43177063473,92.14038007748,92.85618137725,93.5491379547,94.28753430771,95.03404490636,95.75399979201,96.51895185802,97.25706350066,98.00385880968,98.74631228551,99.50145727375,100.29634673506,101.05616754365,101.84361819984,102.66023369514,103.42635484212,103.94348661633,105.02623126858,105.83336819117,106.60870422188,107.47897935838,108.27446522534,109.14066094715,110.05780935847,110.87305239075,111.72157064884,112.60544383436,113.39289449054,114.33783527796,115.19278170468,116.11704811194,116.93642244337,117.80261816517,118.79255613295,119.69249974002,120.62577459179,121.5942673625,122.52275717094,123.4722628897,124.41720367712,125.39214258478,126.36267000417,127.35418180019,128.32529211893,129.35189445588,130.27583655913,131.29703572589,132.29171023897,133.26088027735,134.39157865546,135.4415128637,136.49144707195,137.52522844622,138.59131548844],description:"Franck Jedrzejewski continued fractions approx. of 90-tet"},"fj-96tet":{frequencies:[48.99942949772,49.35708956705,49.70956615711,50.0646344868,50.44058918883,50.81422318282,51.17718191984,51.5338827476,51.91606220592,52.2660581309,52.67438671005,53.04896912563,53.45392308842,53.81904551389,54.21213476343,54.59936429746,54.9993596403,55.39065943221,55.80490581685,56.20522795327,56.62156297514,57.01751796098,57.44760699733,57.85474808165,58.26959183513,58.69162434342,59.11042288614,59.54361052887,59.98206024721,60.41025554513,60.85413018265,61.24928687215,61.73928116713,62.19158359326,62.61038213598,63.09515579158,63.54613512986,63.99925485416,64.47293354963,64.92424408448,65.33257266363,65.89578449693,66.3533941115,66.81740386053,67.32095530991,67.84536391992,68.30223505743,68.78766064103,69.29919314678,69.78706625433,70.30352927934,70.77695371893,71.27189745123,71.86582992999,72.36838818125,72.90159022832,73.41609436608,73.94459360565,74.47913283653,75.03037641838,75.5753912592,76.10549687944,76.66039776256,77.21122223883,77.82262331991,78.34524166943,78.94352530188,79.48796340741,80.07223844749,80.64489438166,81.23589627254,81.66571582953,82.40813142798,82.999033639,83.58726208435,84.21776944921,84.8067048999,85.43490271397,86.04777863014,86.69129834212,87.30807437776,87.94769397027,88.57589178434,89.20408959841,89.83228741249,90.46048522656,91.16172929808,91.87393030822,92.49330511929,93.09891604567,93.82869478287,94.4988997456,95.19889159557,95.91377688915,96.59887529551,97.28872233605,97.99885899544],description:"Franck Jedrzejewski continued fractions approx. of 96-tet"},"fj-9tet":{frequencies:[261.6255653006,282.55561052465,305.22982618403,329.64821227876,355.98232655655,384.51030051755,415.52295665389,448.50096908674,484.4917875937,523.2511306012],description:"Franck Jedrzejewski continued fractions approx. of 9-tet"},flavel:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Bill Flavel's just tuning. Tuning List 6-5-98"},fogliano:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Fogliano's Monochord with D-/D and Bb-/Bb"},fogliano1:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Fogliano's Monochord no.1, Musica theorica (1529)"},fogliano2:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Fogliano's Monochord no.2"},"fokker-h":{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Fokker-H 5-limit per.bl. synt.comma&small diesis, KNAW B71, 1968"},"fokker-ht":{frequencies:[261.6255653006,272.31140503734,279.67242998298,290.89121260742,305.67073265504,313.92185180985,326.66733279836,335.5942968927,349.22294231864,363.36596605244,376.74379448613,392.00137290182,407.92073675044,419.068143928,436.08264938702,447.85404100892,470.60848490625,489.4864783277,502.71810253025,523.2511306012],description:"Tempered version of Fokker-H per.bl. with better 6 tetrads, OdC"},"fokker-k":{frequencies:[261.6255653006,272.52663052146,282.55561052465,290.69507255622,302.80736724606,313.95067836072,327.03195662575,339.06673262958,348.83408706747,363.36884069528,376.74081403286,392.4383479509,403.74315632809,418.60090448096,436.04260883433,452.08897683944,470.92601754108,484.4917875937,502.32108537715,523.2511306012],description:"Fokker-K 5-limit per.bl. of 225/224 & 81/80 & 10976/10935, KNAW B71, 1968"},"fokker-l":{frequencies:[261.6255653006,271.31540105247,282.62020942966,291.99281841585,301.39265122629,313.95067836072,325.57848126297,339.14425131559,350.39138209902,363.36884069528,376.74081403286,390.69417751556,403.65087217807,420.46965851882,436.04260883433,454.2110508691,468.83301301868,484.38104661368,504.56359022259,523.2511306012],description:"Fokker-L 7-limit periodicity block 10976/10935 & 225/224 & 15625/15552, 1969"},"fokker-lt":{frequencies:[261.6255653006,272.07297743248,282.57734531132,291.77233860052,302.20925621315,313.90139500947,326.42149564976,339.58797317787,349.9403315901,363.14714144228,376.97081214523,391.19775936204,403.12344267272,419.38375585596,436.11106867998,452.98371913917,469.18728997524,484.4545223075,503.15865298196,523.2511306012],description:"Tempered version of Fokker-L per.bl. with more triads"},"fokker-m":{frequencies:[261.6255653006,265.7783520514,274.70684356563,279.06726965397,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,318.93402246168,327.03195662575,336.37572681506,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,406.97310157871,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,465.11211608996,478.40103369253,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"Fokker-M 7-limit periodicity block 81/80 & 225/224 & 1029/1024, KNAW B72, 1969"},"fokker-n":{frequencies:[261.6255653006,265.7783520514,273.37201925287,277.71125765371,286.15296204753,290.69507255622,299.00064605783,303.74668805875,313.95067836072,318.93402246168,328.62879235146,333.84512238879,343.38355445704,348.83408706747,358.80077526939,364.4960256705,375.57576268738,381.53728273004,392.4383479509,398.6675280771,410.05802887931,416.56688648057,429.2294430713,436.04260883433,450.69091522486,457.84473927605,470.92601754108,478.40103369253,492.94318852719,500.76768358318,515.07533168556,523.2511306012],description:"Fokker-N 7-limit periodicity block 81/80 & 2100875/2097152 & 1029/1024, 1969"},"fokker-n2":{frequencies:[261.6255653006,265.7783520514,272.52663052146,279.06726965397,286.15296204753,290.69507255622,299.00064605783,305.22982618403,313.95067836072,318.93402246168,327.03195662575,334.88072358477,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,408.78994578219,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,470.92601754108,478.40103369253,490.54793493862,502.32108537715,515.07533168556,523.2511306012],description:"Fokker-N different block shape"},"fokker-p":{frequencies:[261.6255653006,267.90457886781,273.37201925287,280.31310567921,286.15296204753,290.69507255622,299.00064605783,306.17666156322,312.97980223949,320.35783506196,327.03195662575,334.88072358477,341.85740532612,350.39138209902,357.69120255941,366.27579142084,373.75080757229,382.72082695402,390.69417751556,400.44729382745,408.78994578219,418.60090448096,427.32175665765,437.39523080459,447.11400319927,457.84473927605,470.92601754108,478.40103369253,488.36772189445,500.76768358318,510.98743222773,523.2511306012],description:"Fokker-P 7-limit periodicity block 65625/65536 & 6144/6125 & 2401/2400, 1969"},"fokker-q":{frequencies:[261.6255653006,265.7783520514,269.10058145205,272.52663052146,274.70684356563,279.06726965397,284.76252005507,286.15296204753,290.69507255622,294.32876096318,299.00064605783,301.39265122629,305.22982618403,311.45900631024,313.95067836072,318.93402246168,321.92208230347,327.03195662575,332.22294006425,334.88072358477,340.65828815182,343.38355445704,348.83408706747,353.19451315581,358.80077526939,363.36884069528,366.27579142084,373.75080757229,376.74081403286,381.53728273004,387.59343007496,392.4383479509,398.6675280771,401.85686830172,408.78994578219,412.06026534844,418.60090448096,425.24536328225,429.2294430713,436.04260883433,439.53094970501,448.50096908674,454.2110508691,457.84473927605,465.11211608996,470.92601754108,478.40103369253,480.73697623985,490.54793493862,498.33441009638,502.32108537715,508.71637697339,515.07533168556,523.2511306012],description:"Fokker-Q 7-limit per.bl. 225/224 & 4000/3969 & 6144/6125, KNAW B72, 1969"},"fokker-r":{frequencies:[261.6255653006,264.95644634031,268.26840191956,272.52663052146,275.55899540689,279.06726965397,282.62020942966,287.04062021552,290.69507255622,294.32876096318,298.07600213285,301.80195215951,306.17666156322,310.07474405997,313.95067836072,317.94773560837,322.92069774245,327.03195662575,331.19555792538,334.88072358477,340.1962906258,344.44874425862,348.83408706747,353.19451315581,357.69120255941,363.36884069528,367.91095120397,372.08969287196,376.74081403286,382.72082695402,387.59343007496,392.4383479509,397.43466951046,402.40260287934,408.78994578219,413.33849311034,418.60090448096,423.93031414449,430.56093032327,436.04260883433,441.49314144476,447.11400319927,453.59505416773,459.26499234482,465.11211608996,470.92601754108,476.92160341255,484.38104661368,490.54793493862,496.79333688808,502.32108537715,510.29443593869,516.67311638793,523.2511306012],description:"Fokker-R 7-limit per.bl. 4375/4374 & 65625/65536 & 6144/6125, 1969"},"fokker-s":{frequencies:[261.6255653006,265.7783520514,269.10058145205,273.37201925287,273.85732695955,278.20426865732,282.55561052465,286.15296204753,290.69507255622,295.2417807931,299.00064605783,303.74668805875,304.28591884395,309.04519901133,313.95067836072,317.94773560837,322.92069774245,328.04642310345,332.22294006425,333.84512238879,338.01818641865,343.38355445704,348.83408706747,353.19451315581,358.80077526939,364.4960256705,369.13660007139,370.8542388136,375.57576268738,381.53728273004,387.59343007496,392.4383479509,398.6675280771,404.99558407833,410.05802887931,412.06026534844,417.30640298598,423.93031414449,430.56093032327,436.04260883433,442.96392008567,449.89223739901,450.69091522486,457.84473927605,463.67378109554,470.92601754108,478.40103369253,484.4917875937,492.06963465517,499.88026377668,500.76768358318,508.71637697339,515.07533168556,523.2511306012],description:"Fokker-S 7-limit per.bl. 4375/4374 & 323/322 & 64827/65536, 1969"},fokker_12:{frequencies:[261.6255653006,280.31310567921,294.32876096318,305.22982618403,327.03195662575,348.83408706747,367.91095120397,392.4383479509,420.46965851882,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Fokker's 7-limit 12-tone just scale"},fokker_12a:{frequencies:[261.6255653006,274.70684356563,293.02063313667,309.04519901133,327.03195662575,348.83408706747,367.91095120397,390.69417751556,412.06026534844,439.53094970501,465.11211608996,490.54793493862,523.2511306012],description:"Fokker's 7-limit periodicity block of 2048/2025 & 3969/4000 & 225/224"},fokker_12b:{frequencies:[261.6255653006,275.93321340298,293.02063313667,309.04519901133,332.22294006425,348.83408706747,367.91095120397,392.4383479509,412.06026534844,439.53094970501,467.18850946536,496.11959049595,523.2511306012],description:"Fokker's 7-limit semitone scale KNAW B72, 1969"},fokker_12c:{frequencies:[261.6255653006,275.93321340298,293.02063313667,311.45900631024,332.22294006425,348.83408706747,372.08969287196,392.4383479509,412.06026534844,442.96392008567,467.18850946536,496.11959049595,523.2511306012],description:"Fokker's 7-limit complementary semitone scale, KNAW B72, 1969"},fokker_12t:{frequencies:[261.6255653006,279.53180800295,293.53544531438,305.4439412874,326.66157401657,349.08351368992,366.63408494061,391.81886165309,419.06057467847,436.03416050506,457.88164994338,489.21957814041,523.2511306012],description:"Tempered version of fokker_12 with egalised 225/224, see also lumma"},fokker_12t2:{frequencies:[261.6255653006,279.53060025556,293.5302824794,305.44678713816,326.66192308793,349.10467831311,366.62831408589,391.81689264402,419.03095498017,436.04260883433,457.88067400285,489.21694446174,523.2511306012],description:"Another tempered version of fokker_12 with egalised 225/224"},fokker_22:{frequencies:[261.6255653006,272.52663052146,279.06726965397,287.4304306281,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,367.91095120397,383.2405741708,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,459.88868900496,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Fokker's 22-tone periodicity block of 2048/2025 & 3125/3072. KNAW B71, 1968"},fokker_22a:{frequencies:[261.6255653006,269.46602871384,279.06726965397,287.4304306281,297.67175429757,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,357.20610515709,367.91095120397,383.2405741708,392.4383479509,408.78994578219,418.60090448096,431.14564594215,446.50763144636,459.88868900496,476.27480687611,490.54793493862,502.32108537715,523.2511306012],description:"Fokker's 22-tone periodicity block of 2048/2025 & 2109375/2097152 = semicomma"},fokker_31:{frequencies:[261.6255653006,265.7783520514,275.93321340298,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,315.35224388912,321.92208230347,327.03195662575,336.37572681506,343.38355445704,348.83408706747,357.69120255941,367.91095120397,373.75080757229,381.53728273004,392.4383479509,398.6675280771,406.97310157871,420.46965851882,429.2294430713,436.04260883433,448.50096908674,457.84473927605,465.11211608996,482.88312345521,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"Fokker's 31-tone just system"},fokker_31a:{frequencies:[261.6255653006,269.10058145205,272.52663052146,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,311.45900631024,321.92208230347,327.03195662575,336.37572681506,343.38355445704,348.83408706747,357.69120255941,367.91095120397,373.75080757229,381.53728273004,392.4383479509,398.6675280771,412.06026534844,420.46965851882,429.2294430713,436.04260883433,448.50096908674,457.84473927605,470.92601754108,476.92160341255,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"Fokker's 31-tone first alternate septimal tuning"},fokker_31b:{frequencies:[261.6255653006,267.07609791103,274.70684356563,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,321.92208230347,327.03195662575,336.37572681506,343.38355445704,348.83408706747,357.69120255941,367.91095120397,373.75080757229,381.53728273004,392.4383479509,398.6675280771,408.78994578219,420.46965851882,429.2294430713,436.04260883433,448.50096908674,457.84473927605,467.18850946536,480.53675259294,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"Fokker's 31-tone second alternate septimal tuning"},fokker_31c:{frequencies:[261.6255653006,269.46602871384,272.52663052146,279.06726965397,287.4304306281,294.32876096318,297.67175429757,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,344.91651675372,348.83408706747,359.28803828513,367.91095120397,372.08969287196,383.2405741708,392.4383479509,396.89567239676,408.78994578219,418.60090448096,431.14564594215,436.04260883433,446.50763144636,459.88868900496,465.11211608996,479.0507177135,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Fokker's 31-tone periodicity block of 81/80 & 2109375/2097152 = semicomma"},fokker_31d:{frequencies:[261.6255653006,266.13928761861,272.52663052146,279.06726965397,287.4304306281,294.32876096318,299.40669857094,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,359.28803828513,367.91095120397,376.74081403286,383.2405741708,392.4383479509,399.20893142792,408.78994578219,418.60090448096,425.82286018978,436.04260883433,443.56547936435,459.88868900496,470.92601754108,479.0507177135,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Fokker's 31-tone periodicity block of 81/80 & W\xEF\xBF\xBDrschmidt's comma"},fokker_31d2:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,283.88190679319,290.69507255622,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,376.74081403286,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,425.82286018978,436.04260883433,446.50763144636,454.2110508691,465.11211608996,482.22824196207,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Reduced version of fokker_31d by Prooijen expressibility"},fokker_41:{frequencies:[261.6255653006,264.89588486686,271.31540105247,274.70684356563,280.31310567921,283.8170195002,290.69507255622,294.32876096318,300.33547037059,305.22982618403,311.45900631024,313.95067836072,321.55899383997,325.57848126297,329.64821227876,336.37572681506,341.85740532612,348.83408706747,353.19451315581,361.75386806997,366.27579142084,373.75080757229,378.42269266694,387.59343007496,392.4383479509,400.44729382745,406.97310157871,415.27867508032,420.46965851882,425.72552925031,436.04260883433,439.53094970501,448.50096908674,455.80987376816,465.11211608996,470.92601754108,482.33849075995,488.36772189445,498.33441009638,504.56359022259,516.79124009995,523.2511306012],description:"Fokker's 7-limit supracomma per.bl. 10976/10935 & 225/224 & 496125/262144"},fokker_41a:{frequencies:[261.6255653006,264.59711493117,272.83435407277,275.93321340298,279.06726965397,287.4304306281,291.02331101095,294.32876096318,297.67175429757,306.59245933664,310.42486507835,313.95067836072,323.35923445661,327.03195662575,331.11985608357,334.88072358477,344.91651675372,348.83408706747,353.19451315581,363.77913876369,367.91095120397,372.08969287196,376.315896791,388.03108134794,392.4383479509,396.89567239676,408.78994578219,413.89982010446,418.60090448096,431.14564594215,436.04260883433,441.49314144476,446.50763144636,459.88868900496,465.11211608996,470.92601754108,485.03885168492,490.54793493862,496.11959049595,502.32108537715,517.37477513058,523.2511306012],description:"Fokker's 41-tone periodicity block of schisma & 34171875/33554432"},fokker_41b:{frequencies:[261.6255653006,264.89588486686,272.52663052146,275.93321340298,279.06726965397,287.4304306281,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.42486507835,313.95067836072,323.35923445661,327.03195662575,331.11985608357,340.65828815182,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,383.2405741708,388.03108134794,392.4383479509,397.34382730029,408.78994578219,413.89982010446,418.60090448096,431.14564594215,436.04260883433,441.49314144476,454.2110508691,459.88868900496,465.11211608996,470.92601754108,485.03885168492,490.54793493862,496.67978412536,510.98743222773,517.37477513058,523.2511306012],description:"Fokker's 41-tone periodicity block of schisma & 3125/3072"},fokker_53:{frequencies:[261.6255653006,263.718569823,268.26840191956,272.52663052146,274.70684356563,279.06726965397,282.55561052465,286.15296204753,290.69507255622,294.32876096318,299.00064605783,300.46061014991,305.22982618403,309.04519901133,313.95067836072,317.87506184023,321.92208230347,327.03195662575,329.64821227876,334.88072358477,340.65828815182,343.38355445704,348.83408706747,353.19451315581,357.69120255941,360.55273217989,366.27579142084,373.75080757229,376.74081403286,381.53728273004,386.30649876417,392.4383479509,398.6675280771,400.61414686654,410.05802887931,412.06026534844,418.60090448096,423.83341578697,429.2294430713,436.04260883433,439.53094970501,448.50096908674,450.69091522486,457.84473927605,465.11211608996,470.92601754108,476.92160341255,480.73697623985,490.54793493862,498.33441009638,502.32108537715,508.71637697339,515.07533168556,523.2511306012],description:"Fokker's 53-tone system, degree 37 has alternatives"},fokker_53a:{frequencies:[261.6255653006,264.89588486686,269.46602871384,272.52663052146,275.93321340298,279.38237857051,283.88190679319,287.4304306281,290.69507255622,294.32876096318,298.00787047521,302.80736724606,306.59245933664,310.42486507835,313.95067836072,319.36714514233,323.35923445661,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,359.28803828513,363.36884069528,367.91095120397,372.50983809402,378.50920905758,383.2405741708,388.03108134794,392.4383479509,397.34382730029,403.74315632809,408.78994578219,413.89982010446,418.60090448096,425.82286018978,431.14564594215,436.04260883433,441.49314144476,447.01180571282,454.2110508691,459.88868900496,465.63729761752,470.92601754108,479.0507177135,484.4917875937,490.54793493862,496.67978412536,504.67894541011,510.98743222773,517.37477513058,523.2511306012],description:"Fokker's 53-tone periodicity block of schisma & kleisma"},fokker_53b:{frequencies:[261.6255653006,264.59711493117,267.90457886781,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,310.07474405997,313.95067836072,317.51653791741,323.35923445661,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,388.03108134794,392.4383479509,396.89567239676,401.85686830172,408.78994578219,413.89982010446,418.60090448096,423.35538388988,431.14564594215,436.04260883433,441.49314144476,446.50763144636,451.5790761492,459.88868900496,465.11211608996,470.92601754108,476.27480687611,485.03885168492,490.54793493862,496.11959049595,502.32108537715,510.98743222773,517.37477513058,523.2511306012],description:"Fokker's 53-tone periodicity block of schisma & 2109375/2097152"},fokker_av:{frequencies:[261.6255653006,267.53238172257,273.57240048543,279.74894499065,286.06477437084,292.52336378682,299.12777114678,305.88111195206,312.78710209553,319.84901131344,327.07017092477,334.45455423048,342.00545991849,349.72704272607,357.62295854304,365.69693211485,373.95340598657,382.39606841888,391.02956482064,399.85798283974,408.88548711149,418.11704484248,427.5567798744,437.20988623572,447.08093432269,457.17458061119,467.49637893146,478.0512162812,488.84407170063,499.88088374606,511.16658268681,522.70737825664],description:"Fokker's suggestion for a shrinked octave by averaging approximations"},fokker_bosch:{frequencies:[261.6255653006,294.32876096318,327.03195662575,343.38355445704,348.83408706747,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:'Scale of "Naar Den Bosch toe", genus diatonicum cum septimis. 1/1=D'},fokker_sr:{frequencies:[261.6255653006,269.10058145205,279.06726965397,287.04062021552,296.75121990114,305.22982618403,315.35224388912,325.57848126297,336.37572681506,347.28371334717,358.80077526939,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,434.10464168396,446.50763144636,461.31528248922,474.80195184183,490.54793493862,506.45541529795,523.2511306012],description:"Fokker's 7-limit sruti scale, KNAW B72, 1969"},fokker_sr2:{frequencies:[261.6255653006,270.30192333353,279.06726965397,288.32205155576,296.75121990114,306.59245933664,315.35224388912,327.03195662575,336.37572681506,348.83408706747,358.80077526939,372.08969287196,381.53728273004,394.1903048614,406.97310157871,420.46965851882,434.10464168396,448.50096908674,461.31528248922,476.92160341255,490.54793493862,508.71637697339,523.2511306012],description:"Fokker's complementary 7-limit sruti scale, KNAW B72, 1969"},fokker_sra:{frequencies:[261.6255653006,269.76956886185,278.7476190342,287.42460593148,296.37169586701,305.59729331129,315.11006948887,325.59707150921,336.43308557971,346.90573279191,357.7043774887,368.83916960349,381.11429755927,392.97780480816,406.05627704035,419.57000893919,433.5334812886,447.02871783796,460.94403787128,475.29252052682,490.08765232515,506.39798251136,523.2511306012],description:"Two-step approximation 9-13 to Fokker's 7-limit sruti scale"},fokker_srb:{frequencies:[261.6255653006,269.31534001393,278.64197723942,286.83190328195,296.76515515861,305.48776291796,316.06708432391,325.35701999957,336.62443200122,346.51859521924,358.51885197895,369.0565423573,381.83730669135,393.06038214356,406.67242132093,418.62545783369,433.12283887627,445.85331391262,461.29362042034,474.85209942927,491.29666030217,505.73699464332,523.2511306012],description:"Two-step maximally even approximation 11-11 to Fokker's 7-limit sruti scale"},fokker_uv:{frequencies:[220,220.05029721079,220.09166666667,220.14198483463,220.15668113546,220.24841308594,220.29876708984,220.3905582428,220.5253936656,220.68244897959,220.7744,220.82487425697,220.98214285714,221.03266460905,221.0236875,221.07421875,221.28224372864,221.41762468656,221.66763848397,221.71831695641,221.76,221.81069958848,222.01040039062,222.06115722656,222.40609622534,222.44790857143,222.4987654321,222.65722615577,222.75,222.80092592593,223.00151824951,223.05250167847,223.14544022083,223.18896568405,223.23999196793,223.44097959184,223.49206349206,223.58518518519,223.79557291667,223.88882107205,224.18534499514,224.23659907493,224.33003099121,224.48979591837,224.58333333333,224.79466029576,224.83692169189,224.88832473755,225.18617242815,225.28,225.33150434385,225.49198250729,225.5859375,225.67993164062,225.9788277551,226.03049186753,226.28571428571,226.4317558299,226.68743133545,227.08224,227.1341563786,227.29591836735,227.390625,227.44261188272,228.096,228.14814814815,229.16666666667,231,232.03125,233.6237037037,233.84353741497],description:"Table of Unison Vectors, Microsons and Minisons, from article KNAW, 1969"},foote:{frequencies:[261.6255653006,276.70272600503,293.15632631094,310.58830860439,328.48713220126,349.43001184052,368.92737853004,391.76907592069,414.58565256441,438.98455767189,465.89457252293,492.17459484008,523.2511306012],description:"Ed Foote, piano temperament. TL 9 Jun 1999, almost equal to Coleman"},forster:{frequencies:[261.6255653006,279.06726965397,283.42769574232,287.78812183066,299.00064605783,309.19384990071,319.76457981184,327.03195662575,336.37572681506,340.11323489078,343.38355445704,353.19451315581,359.73515228832,366.27579142084,373.75080757229,377.90359432309,380.54627680087,387.59343007496,392.4383479509,398.6675280771,402.50086969323,406.97310157871,418.60090448096,428.11456140098,441.49314144476,442.75095666255,448.50096908674,457.84473927605,465.11211608996,483.00104363188,490.54793493862,507.3950357345,523.2511306012],description:"Cris Forster's Chrysalis tuning, XH 7+8"},fortuna11:{frequencies:[261.6255653006,274.70684356563,299.00064605783,305.22982618403,332.97799220076,343.38355445704,373.75080757229,398.6675280771,411.12588832951,448.50096908674,457.84473927605,498.33441009638,523.2511306012],description:"11-limit scale from Clem Fortuna"},fortuna_a1:{frequencies:[261.6255653006,277.18263097687,293.66476791741,311.12698372208,320.24370022528,349.22823143301,369.99442271164,391.99543598175,415.30469757995,440,466.16376151809,479.82340237272,523.2511306012],description:"Clem Fortuna, Arabic mode of 24-tET, try C or G major, superset of Basandida, trivalent"},fortuna_a2:{frequencies:[261.6255653006,277.18263097687,285.30470202322,311.12698372208,329.62755691287,349.22823143301,369.99442271164,391.99543598175,428.11456140098,440,466.16376151809,493.88330125613,523.2511306012],description:"Clem Fortuna, Arabic mode of 24-tET, try C or F minor"},fortuna_bag:{frequencies:[261.6255653006,266.17557513191,291.58269109838,303.42373253797,318.96815495553,348.01136516401,359.18086083642,388.55281975337,398.8194592997,432.92801877123,462.35552488468,479.64686971777,523.2511306012],description:"Bagpipe tuning from Fortuna, try key of G with F natural"},fortuna_eth:{frequencies:[261.6255653006,280.31310567921,288.69027895239,305.7551787248,323.91736656265,346.02090894595,368.95913055213,385.17097113699,414.24047839262,422.62591317789,469.58434797544,484.00729580611,523.2511306012],description:"Ethiopian Tunings from Fortuna"},fortuna_sheng:{frequencies:[261.6255653006,275.29257244317,286.94416839421,312.81317590289,320.2657782128,348.83408706747,367.19377586049,382.62738925213,417.81993264424,433.74764773521,467.75479856774,484.77678276288,523.2511306012],description:"Sheng scale on naturals starting on d, from Fortuna"},"francis_r12-14p":{frequencies:[261.6255653006,277.2273508585,293.19140419912,311.27759533081,328.56574776048,349.51003591412,369.636465861,391.67937618637,415.43871422078,438.93656251816,466.46466724696,492.84862139436,523.2511306012],description:"Bach WTC theoretical temperament, 1/14 Pyth. comma, Cornet-ton"},"francis_r12-2":{frequencies:[261.6255653006,277.2831963903,293.15801965318,311.35818177599,328.6319369554,349.45847225471,369.71092870521,391.50168688506,415.45657533448,438.80025285527,466.56783666625,492.94847466277,523.2511306012],description:"J. Charles Francis, Bach WTC temperament R12-2, fifths beat ratios 0, 1, 2. C=279.331 Cornet-ton"},"francis_r2-1":{frequencies:[261.6255653006,276.41735337657,293.40958958006,310.96959408698,328.77281747949,349.18425877583,368.55655650762,391.91325216238,414.62612565656,439.06418506387,465.92902003736,492.10921220871,523.2511306012],description:"J. Charles Francis, Bach WTC temperament R2-1, fifths beat ratios 0, 1, 2. C=249.072 Cammerton"},"francis_r2-14p":{frequencies:[261.6255653006,276.42350693124,293.47533146651,310.97644498676,328.88393162803,349.17189700163,368.56467609256,392.05867944486,414.6352601896,439.36162975058,466.01338145177,492.37181018521,523.2511306012],description:"Bach WTC theoretical temperament, 1/14 Pyth. comma, Cammerton"},francis_seal:{frequencies:[261.6255653006,275.89934348748,293.01242796531,310.38672525582,327.92787107993,349.18506556371,367.865749003,391.38524198103,413.84896721463,437.93907827641,465.58008765101,490.83740312498,523.2511306012],description:"J. Charles Francis, Bach tuning interpretion as beats/sec. from seal"},francis_suppig:{frequencies:[261.6255653006,276.33536163417,293.13939342657,310.64213412049,328.58201670643,349.47038191026,368.45885450371,391.47500324588,414.51381656966,438.73106346722,465.97531289569,491.91879926026,523.2511306012],description:"J. Charles Francis, Suppig Calculus musicus, 5ths beat ratios 0, 1, 2."},efg333:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,523.2511306012],description:"Genus primum [333]"},efg333333333337:{frequencies:[261.6255653006,275.01702890535,279.38237857051,289.72987407313,294.32876096318,309.39415751852,314.30517589183,325.94610833227,331.11985608357,343.38355445704,353.59332287831,366.6893718738,372.50983809402,386.30649876417,392.4383479509,412.52554335802,419.07356785577,434.59481110969,441.49314144476,457.84473927605,471.45776383774,488.9191624984,496.67978412536,515.07533168556,523.2511306012],description:"Genus [333333333337]"},efg333333355:{frequencies:[261.6255653006,264.89588486686,275.93321340298,279.06726965397,290.69507255622,294.32876096318,310.42486507835,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,392.4383479509,397.34382730029,413.89982010446,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"Genus [333333355]"},efg33335:{frequencies:[261.6255653006,275.93321340298,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Genus [33335]"},efg3333555:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,363.36884069528,367.91095120397,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,459.88868900496,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Genus [3333555]"},efg33335555:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,297.67175429757,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,367.91095120397,372.08969287196,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,459.88868900496,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Genus bis-ultra-chromaticum [33335555]"},efg333355577:{frequencies:[261.6255653006,267.07609791103,268.26840191956,272.52663052146,274.70684356563,278.20426865732,279.06726965397,281.68182201554,284.8811711051,286.15296204753,290.69507255622,294.32876096318,300.46061014991,305.22982618403,306.59245933664,312.97980223949,313.95067836072,317.94773560837,320.49131749323,321.92208230347,325.57848126297,327.03195662575,333.84512238879,343.38355445704,348.83408706747,352.10227751942,356.10146388137,357.69120255941,360.55273217989,363.36884069528,366.27579142084,367.91095120397,372.08969287196,375.57576268738,381.53728273004,392.4383479509,400.61414686654,402.40260287934,406.97310157871,408.78994578219,412.06026534844,417.30640298598,418.60090448096,427.32175665765,429.2294430713,436.04260883433,445.12682985172,450.69091522486,457.84473927605,459.88868900496,465.11211608996,469.46970335923,470.92601754108,476.92160341255,480.73697623985,488.36772189445,490.54793493862,500.76768358318,508.71637697339,515.07533168556,523.2511306012],description:"Genus [333355577]"},efg33337:{frequencies:[261.6255653006,294.32876096318,305.22982618403,343.38355445704,348.83408706747,386.30649876417,392.4383479509,441.49314144476,457.84473927605,515.07533168556,523.2511306012],description:"Genus [33337]"},efg3335:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,392.4383479509,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Genus diatonicum veterum correctum [3335]"},efg33355:{frequencies:[261.6255653006,272.52663052146,290.69507255622,310.07474405997,327.03195662575,348.83408706747,363.36884069528,387.59343007496,408.78994578219,436.04260883433,465.11211608996,484.4917875937,523.2511306012],description:"Genus diatonico-chromaticum hodiernum correctum [33355]"},efg333555:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,306.59245933664,313.95067836072,327.03195662575,348.83408706747,363.36884069528,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Genus diatonico-hyperchromaticum [333555]"},efg33355555:{frequencies:[261.6255653006,272.52663052146,279.06726965397,287.4304306281,294.32876096318,306.59245933664,313.95067836072,319.36714514233,327.03195662575,340.65828815182,348.83408706747,359.28803828513,367.91095120397,383.2405741708,392.4383479509,408.78994578219,418.60090448096,425.82286018978,436.04260883433,459.88868900496,470.92601754108,479.0507177135,490.54793493862,510.98743222773,523.2511306012],description:"Genus [33355555]"},efg333555777:{frequencies:[261.6255653006,262.79353657426,267.07609791103,268.26840191956,269.10058145205,272.52663052146,274.70684356563,279.06726965397,280.31310567921,281.68182201554,286.15296204753,294.32876096318,299.00064605783,300.46061014991,305.22982618403,306.59245933664,311.45900631024,312.97980223949,313.95067836072,318.93402246168,320.49131749323,321.92208230347,327.03195662575,333.84512238879,336.37572681506,343.38355445704,348.83408706747,350.39138209902,352.10227751942,357.69120255941,358.80077526939,360.55273217989,366.27579142084,367.91095120397,373.75080757229,375.57576268738,381.53728273004,392.4383479509,398.6675280771,400.61414686654,402.40260287934,408.78994578219,412.06026534844,417.30640298598,418.60090448096,420.46965851882,427.32175665765,429.2294430713,436.04260883433,448.50096908674,450.69091522486,457.84473927605,459.88868900496,467.18850946536,469.46970335923,470.92601754108,476.92160341255,478.40103369253,480.73697623985,488.36772189445,490.54793493862,498.33441009638,500.76768358318,515.07533168556,523.2511306012],description:"Genus [333555777]"},efg333557:{frequencies:[261.6255653006,265.7783520514,279.06726965397,280.31310567921,290.69507255622,299.00064605783,313.95067836072,318.93402246168,327.03195662575,332.22294006425,348.83408706747,358.80077526939,372.08969287196,373.75080757229,392.4383479509,398.6675280771,418.60090448096,425.24536328225,436.04260883433,448.50096908674,465.11211608996,478.40103369253,490.54793493862,498.33441009638,523.2511306012],description:"Genus diatonico-enharmonicum [333557]"},efg33357:{frequencies:[261.6255653006,274.70684356563,279.06726965397,305.22982618403,313.95067836072,325.57848126297,343.38355445704,348.83408706747,366.27579142084,372.08969287196,392.4383479509,406.97310157871,418.60090448096,457.84473927605,465.11211608996,488.36772189445,523.2511306012],description:"Genus diatonico-enharmonicum [33357]"},efg3335711:{frequencies:[261.6255653006,265.58571790036,269.80136421624,275.93321340298,286.15296204753,294.32876096318,295.09524211152,303.52653474327,314.76825825228,321.92208230347,327.03195662575,331.98214737546,337.2517052703,343.38355445704,354.11429053382,359.73515228832,367.91095120397,379.40816842909,386.30649876417,392.4383479509,393.46032281536,404.70204632437,429.2294430713,441.49314144476,442.64286316727,449.66894036041,457.84473927605,472.15238737843,482.88312345521,490.54793493862,505.87755790546,515.07533168556,523.2511306012],description:"Genus [3 3 3 5 7 11], expanded hexany 1 3 5 7 9 11"},efg333577:{frequencies:[261.6255653006,267.07609791103,281.68182201554,286.15296204753,294.32876096318,300.46061014991,305.22982618403,321.92208230347,327.03195662575,333.84512238879,343.38355445704,348.83408706747,367.91095120397,375.57576268738,381.53728273004,392.4383479509,400.61414686654,429.2294430713,436.04260883433,450.69091522486,457.84473927605,490.54793493862,500.76768358318,515.07533168556,523.2511306012],description:"Genus [333577]"},efg3337:{frequencies:[261.6255653006,294.32876096318,305.22982618403,343.38355445704,348.83408706747,392.4383479509,457.84473927605,515.07533168556,523.2511306012],description:"Genus [3337]"},efg33377:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,457.84473927605,515.07533168556,523.2511306012],description:"Genus [33377] Bi-enharmonicum simplex"},efg335:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Genus secundum [335]"},efg3355:{frequencies:[261.6255653006,279.06726965397,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Genus chromaticum veterum correctum [3355]"},efg33555:{frequencies:[261.6255653006,294.32876096318,306.59245933664,313.95067836072,327.03195662575,367.91095120397,392.4383479509,408.78994578219,418.60090448096,459.88868900496,470.92601754108,490.54793493862,523.2511306012],description:"Genus bichromaticum [33555]"},efg335555577:{frequencies:[261.6255653006,267.07609791103,268.26840191956,272.52663052146,274.70684356563,279.06726965397,286.15296204753,293.02063313667,300.46061014991,305.22982618403,306.59245933664,312.97980223949,313.95067836072,320.49131749323,327.03195662575,333.84512238879,334.88072358477,341.85740532612,343.38355445704,348.83408706747,357.69120255941,366.27579142084,375.57576268738,381.53728273004,384.58958099188,390.69417751556,392.4383479509,400.61414686654,408.78994578219,417.30640298598,418.60090448096,427.32175665765,429.2294430713,436.04260883433,439.53094970501,446.50763144636,457.84473927605,469.46970335923,476.92160341255,480.73697623985,488.36772189445,490.54793493862,500.76768358318,502.32108537715,512.78610798918,523.2511306012],description:"Genus [335555577]"},efg33557:{frequencies:[261.6255653006,274.70684356563,279.06726965397,286.15296204753,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,418.60090448096,429.2294430713,436.04260883433,457.84473927605,488.36772189445,490.54793493862,523.2511306012],description:"Genus chromatico-enharmonicum [33557]"},efg335577:{frequencies:[261.6255653006,274.70684356563,279.06726965397,280.31310567921,286.15296204753,299.00064605783,305.22982618403,313.95067836072,318.93402246168,327.03195662575,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,478.40103369253,488.36772189445,490.54793493862,498.33441009638,523.2511306012],description:"Genus chromaticum septimis triplex [335577]"},efg3357:{frequencies:[261.6255653006,286.15296204753,305.22982618403,327.03195662575,343.38355445704,348.83408706747,381.53728273004,392.4383479509,429.2294430713,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Genus enharmonicum vocale [3357]"},efg33577:{frequencies:[261.6255653006,280.31310567921,286.15296204753,299.00064605783,305.22982618403,327.03195662575,343.38355445704,348.83408706747,373.75080757229,381.53728273004,392.4383479509,398.6675280771,429.2294430713,436.04260883433,448.50096908674,457.84473927605,490.54793493862,498.33441009638,523.2511306012],description:"Genus [33577]"},efg337:{frequencies:[261.6255653006,294.32876096318,343.38355445704,392.4383479509,457.84473927605,515.07533168556,523.2511306012],description:"Genus quintum [337]"},efg3377:{frequencies:[261.6255653006,299.00064605783,305.22982618403,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,457.84473927605,523.2511306012],description:"Genus [3377]"},efg33777:{frequencies:[261.6255653006,267.07609791103,299.00064605783,300.46061014991,305.22982618403,343.38355445704,348.83408706747,392.4383479509,398.6675280771,400.61414686654,448.50096908674,457.84473927605,523.2511306012],description:"Genus [33777]"},efg33777a:{frequencies:[261.6255653006,267.07609791103,299.00064605783,305.22982618403,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,457.84473927605,523.2511306012],description:"Genus [33777] with comma discarded which disappears in 31-tET"},efg355:{frequencies:[261.6255653006,313.95067836072,327.03195662575,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Genus tertium [355]"},efg3555:{frequencies:[261.6255653006,306.59245933664,327.03195662575,383.2405741708,392.4383479509,408.78994578219,490.54793493862,510.98743222773,523.2511306012],description:"Genus enharmonicum veterum correctum [3555]"},efg35555:{frequencies:[261.6255653006,306.59245933664,313.95067836072,327.03195662575,334.88072358477,392.4383479509,408.78994578219,418.60090448096,490.54793493862,502.32108537715,523.2511306012],description:"Genus [35555]"},efg35557:{frequencies:[261.6255653006,268.26840191956,274.70684356563,286.15296204753,306.59245933664,313.95067836072,327.03195662575,343.38355445704,357.69120255941,366.27579142084,392.4383479509,408.78994578219,418.60090448096,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Genus [35557]"},efg3557:{frequencies:[261.6255653006,274.70684356563,286.15296204753,313.95067836072,327.03195662575,343.38355445704,366.27579142084,392.4383479509,418.60090448096,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Genus enharmonicum instrumentale [3557]"},efg35577:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,299.00064605783,313.95067836072,327.03195662575,343.38355445704,358.80077526939,366.27579142084,373.75080757229,392.4383479509,418.60090448096,429.2294430713,448.50096908674,457.84473927605,478.40103369253,490.54793493862,523.2511306012],description:"Genus [35577]"},efg357:{frequencies:[261.6255653006,286.15296204753,327.03195662575,343.38355445704,392.4383479509,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Genus sextum [357] & 7-limit Octony, see ch.6 p.118"},efg35711:{frequencies:[261.6255653006,269.80136421624,286.15296204753,295.09524211152,314.76825825228,327.03195662575,337.2517052703,343.38355445704,359.73515228832,392.4383479509,393.46032281536,429.2294430713,449.66894036041,457.84473927605,472.15238737843,490.54793493862,523.2511306012],description:"Genus [3 5 7 11]"},efg3571113:{frequencies:[261.6255653006,265.71346475842,269.80136421624,274.01701053212,278.99913799634,286.15296204753,292.28481123426,295.09524211152,314.76825825228,318.85615771011,319.68651228748,327.03195662575,337.2517052703,343.38355445704,348.74892249543,359.73515228832,365.35601404283,371.99885066179,383.62381474497,392.4383479509,393.46032281536,398.57019713763,425.14154361347,429.2294430713,438.4272168514,449.66894036041,457.84473927605,464.99856332724,472.15238737843,479.52976843121,490.54793493862,511.49841965996,523.2511306012],description:"Genus [3 5 7 11 13]"},efg3577:{frequencies:[261.6255653006,280.31310567921,286.15296204753,299.00064605783,327.03195662575,343.38355445704,373.75080757229,392.4383479509,429.2294430713,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Genus [3577]"},efg35777:{frequencies:[261.6255653006,280.31310567921,286.15296204753,299.00064605783,300.46061014991,327.03195662575,343.38355445704,373.75080757229,375.57576268738,392.4383479509,400.61414686654,429.2294430713,448.50096908674,457.84473927605,490.54793493862,500.76768358318,523.2511306012],description:"Genus [35777]"},efg35777a:{frequencies:[261.6255653006,280.31310567921,286.15296204753,299.00064605783,327.03195662575,343.38355445704,373.75080757229,392.4383479509,400.61414686654,429.2294430713,448.50096908674,457.84473927605,490.54793493862,500.76768358318,523.2511306012],description:"Genus [35777] with comma discarded which disappears in 31-tET"},efg377:{frequencies:[261.6255653006,300.46061014991,343.38355445704,392.4383479509,400.61414686654,457.84473927605,523.2511306012],description:"Genus octavum [377]"},efg3777:{frequencies:[261.6255653006,262.90303388117,300.46061014991,343.38355445704,350.53737850823,392.4383479509,400.61414686654,457.84473927605,523.2511306012],description:"Genus [3777]"},efg37777:{frequencies:[261.6255653006,262.90303388117,299.00064605783,300.46061014991,343.38355445704,350.53737850823,392.4383479509,400.61414686654,448.50096908674,457.84473927605,523.2511306012],description:"Genus [37777]"},efg37777a:{frequencies:[261.6255653006,299.00064605783,343.38355445704,350.53737850823,392.4383479509,400.61414686654,448.50096908674,457.84473927605,523.2511306012],description:"Genus [37777] with comma discarded that disappears in 31-tET"},efg555:{frequencies:[261.6255653006,327.03195662575,408.78994578219,510.98743222773,523.2511306012],description:"Genus quartum [555]"},efg55557:{frequencies:[261.6255653006,286.15296204753,327.03195662575,357.69120255941,366.27579142084,408.78994578219,418.60090448096,447.11400319927,457.84473927605,510.98743222773,523.2511306012],description:"Genus [55557]"},efg5557:{frequencies:[261.6255653006,286.15296204753,327.03195662575,357.69120255941,408.78994578219,447.11400319927,457.84473927605,510.98743222773,523.2511306012],description:"Genus [5557]"},efg55577:{frequencies:[261.6255653006,286.15296204753,291.99281841585,299.00064605783,327.03195662575,357.69120255941,373.75080757229,408.78994578219,447.11400319927,457.84473927605,467.18850946536,510.98743222773,523.2511306012],description:"Genus [55577]"},efg557:{frequencies:[261.6255653006,286.15296204753,327.03195662575,366.27579142084,418.60090448096,457.84473927605,523.2511306012],description:"Genus septimum [557]"},efg5577:{frequencies:[261.6255653006,293.02063313667,320.49131749323,334.88072358477,366.27579142084,400.61414686654,418.60090448096,457.84473927605,512.78610798918,523.2511306012],description:"Genus [5577]"},efg55777:{frequencies:[261.6255653006,286.15296204753,299.00064605783,320.49131749323,327.03195662575,366.27579142084,373.75080757229,400.61414686654,418.60090448096,457.84473927605,478.40103369253,500.76768358318,523.2511306012],description:"Genus [55777]"},efg577:{frequencies:[261.6255653006,286.15296204753,327.03195662575,400.61414686654,457.84473927605,500.76768358318,523.2511306012],description:"Genus nonum [577]"},efg5777:{frequencies:[261.6255653006,286.15296204753,299.00064605783,327.03195662575,373.75080757229,400.61414686654,457.84473927605,500.76768358318,523.2511306012],description:"Genus [5777]"},efg57777:{frequencies:[261.6255653006,286.15296204753,299.00064605783,327.03195662575,350.53737850823,373.75080757229,400.61414686654,438.17172313528,457.84473927605,500.76768358318,523.2511306012],description:"Genus [57777]"},efg777:{frequencies:[261.6255653006,350.53737850823,400.61414686654,457.84473927605,523.2511306012],description:"Genus decimum [777]"},efg77777:{frequencies:[261.6255653006,299.00064605783,341.71502406609,350.53737850823,400.61414686654,457.84473927605,523.2511306012],description:"Genus [77777]"},eikohole1:{frequencies:[261.6255653006,277.4816601673,305.22982618403,332.97799220076,436.04260883433,475.68284600109,523.2511306012],description:"First eikohole ball <6 9 13 17 20|-epimorphic"},eikohole2:{frequencies:[261.6255653006,266.38239376061,274.70684356563,285.40970760065,299.68019298069,313.95067836072,332.97799220076,348.83408706747,366.27579142084,380.54627680087,392.4383479509,399.57359064092,418.60090448096,428.11456140098,443.97065626768,470.92601754108,488.36772189445,499.46698830115,523.2511306012],description:"Second eikohole ball"},eikohole4:{frequencies:[261.6255653006,274.70684356563,279.79400733536,287.78812183066,305.22982618403,313.95067836072,319.76457981184,335.75280880244,348.83408706747,359.73515228832,366.27579142084,373.05867644715,383.71749577421,392.4383479509,406.97310157871,418.60090448096,419.69101100305,431.68218274599,447.67041173658,457.84473927605,470.92601754108,479.64686971777,488.36772189445,503.62921320365,523.2511306012],description:"Fourth eikohole ball"},eikohole5:{frequencies:[261.6255653006,266.38239376061,274.70684356563,279.06726965397,285.40970760065,287.78812183066,294.32876096318,295.98043751179,299.68019298069,305.22982618403,313.95067836072,321.08592105074,325.57848126297,332.97799220076,342.49164912079,348.83408706747,353.19451315581,355.17652501415,363.24871876447,366.27579142084,374.60024122586,380.54627680087,392.4383479509,399.57359064092,406.97310157871,412.06026534844,418.60090448096,428.11456140098,439.53094970501,443.97065626768,448.50096908674,449.52028947103,456.65553216105,457.84473927605,465.11211608996,466.16918908107,470.92601754108,475.68284600109,488.36772189445,499.46698830115,507.3950357345,513.73747368118,523.2511306012],description:"Fifth eikohole ball"},eikohole6:{frequencies:[261.6255653006,266.38239376061,272.43653907335,274.70684356563,279.06726965397,285.40970760065,287.78812183066,293.02063313667,294.32876096318,295.98043751179,299.00064605783,299.68019298069,305.22982618403,310.77945938738,313.95067836072,317.12189733406,321.08592105074,325.57848126297,329.64821227876,332.97799220076,336.37572681506,342.49164912079,348.83408706747,349.6268918108,353.19451315581,355.17652501415,356.76213450082,363.24871876447,366.27579142084,374.60024122586,380.54627680087,383.71749577421,392.4383479509,399.57359064092,406.97310157871,412.06026534844,418.60090448096,428.11456140098,431.68218274599,439.53094970501,443.97065626768,448.50096908674,449.52028947103,456.65553216105,457.84473927605,465.11211608996,466.16918908107,470.92601754108,475.68284600109,484.33162501929,488.36772189445,499.46698830115,507.3950357345,513.73747368118,523.2511306012],description:"Sixth eikohole ball"},eikosany:{frequencies:[261.6255653006,269.80136421624,274.70684356563,287.78812183066,294.32876096318,305.22982618403,323.76163705949,335.75280880244,343.38355445704,359.73515228832,366.27579142084,377.72190990274,392.4383479509,412.06026534844,419.69101100305,431.68218274599,457.84473927605,470.92601754108,479.64686971777,503.62921320365,523.2511306012],description:"3)6 1.3.5.7.9.11 Eikosany (1.3.5 tonic)"},ekring1:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,353.19451315581,367.91095120397,376.74081403286,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Single-tie circular mirroring of 3:4:5"},ekring2:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,336.37572681506,343.38355445704,384.42940207435,400.61414686654,448.50096908674,457.84473927605,504.56359022259,515.07533168556,523.2511306012],description:"Single-tie circular mirroring of 6:7:8"},ekring3:{frequencies:[261.6255653006,266.96486255163,299.00064605783,305.10270005901,327.03195662575,333.70607818954,341.71502406609,408.78994578219,418.60090448096,427.14378008261,457.84473927605,467.18850946536,523.2511306012],description:"Single-tie circular mirroring of 4:5:7"},ekring4:{frequencies:[261.6255653006,279.06726965397,313.95067836072,334.88072358477,348.83408706747,376.74081403286,392.4383479509,401.85686830172,436.04260883433,446.50763144636,465.11211608996,502.32108537715,523.2511306012],description:"Single-tie circular mirroring of 4:5:6"},ekring5:{frequencies:[261.6255653006,263.718569823,269.10058145205,305.22982618403,322.92069774245,366.27579142084,373.75080757229,376.74081403286,384.42940207435,439.53094970501,448.50096908674,512.78610798918,523.2511306012],description:"Single-tie circular mirroring of 3:5:7"},ekring5bp:{frequencies:[261.6255653006,282.55561052465,336.37572681506,363.28578496026,366.27579142084,395.57785473451,432.48307733364,512.78610798918,560.62621135843,605.4763082671,610.45965236807,659.29642455751,784.8766959018],description:"Single-tie BP circular mirroring of 3:5:7"},ekring6:{frequencies:[261.6255653006,288.32205155576,299.00064605783,336.37572681506,348.83408706747,384.42940207435,392.4383479509,406.97310157871,432.48307733364,465.11211608996,494.26637409559,512.57253609913,523.2511306012],description:"Single-tie circular mirroring of 6:7:9"},ekring7:{frequencies:[261.6255653006,266.96486255163,290.69507255622,296.62762505737,322.99452506247,336.37572681506,343.24053756638,406.97310157871,415.27867508032,432.48307733364,470.92601754108,480.53675259294,523.2511306012],description:"Single-tie circular mirroring of 5:7:9"},ekring7bp:{frequencies:[261.6255653006,311.45900631024,336.37572681506,400.44729382745,432.48307733364,436.04260883433,470.92601754108,514.86080634958,610.45965236807,667.41215637908,720.80512888941,726.73768139056,784.8766959018],description:"Single-tie BP circular mirroring of 5:7:9"},ellis:{frequencies:[261.6255653006,277.10015133873,293.57875905702,310.98767008297,329.52610437773,349.11112716429,369.96685849926,391.93834696391,415.15022554673,439.86813926913,465.98150356841,493.78915701915,523.2511306012],description:"Alexander John Ellis' imitation equal temperament (1875)"},ellis_24:{frequencies:[261.6255653006,264.89588486686,272.52663052146,275.93321340298,294.32876096318,298.00787047521,306.59245933664,310.42486507835,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.50983809402,392.4383479509,397.34382730029,408.78994578219,413.89982010446,436.04260883433,441.49314144476,459.88868900496,465.63729761752,490.54793493862,496.67978412536,523.2511306012],description:"Ellis, from p.421 of Helmholtz, 24 tones of JI for 1 manual harmonium"},ellis_eb:{frequencies:[261.6255653006,277.21587437848,293.6537610003,311.19285946782,329.68548178616,349.2169654334,370.02116610622,391.93834696391,415.32381240723,439.98064151826,466.28928903228,494.02822100775,523.2511306012],description:"Ellis' new equal beating temperament for pianofortes (1885)"},ellis_harm:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,353.19451315581,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Ellis's Just Harmonium"},ellis_mteb:{frequencies:[261.6255653006,273.31920907322,292.34465012884,313.05587813274,326.9349299255,350.18846153218,365.78692922515,391.15004079048,408.78346942429,437.23842445073,468.2723780569,489.17031487243,523.2511306012],description:"Ellis' equal beating meantone tuning (1885)"},enh14:{frequencies:[261.6255653006,267.70988077271,274.08392555301,348.83408706747,392.4383479509,401.56482115906,411.12588832951,523.2511306012],description:"14/11 Enharmonic"},enh15:{frequencies:[261.6255653006,270.64713651786,280.31310567921,356.76213450082,392.4383479509,402.50086969323,413.09299784305,523.2511306012],description:"Tonos-15 Enharmonic"},enh15_inv:{frequencies:[261.6255653006,331.39238271409,340.11323489078,348.83408706747,383.71749577421,488.36772189445,505.80942624783,523.2511306012],description:"Inverted Enharmonic Tonos-15 Harmonia"},enh15_inv2:{frequencies:[261.6255653006,270.34641747729,279.06726965397,348.83408706747,383.71749577421,392.4383479509,401.15920012759,523.2511306012],description:"Inverted harmonic form of the enharmonic Tonos-15"},enh17:{frequencies:[261.6255653006,269.55361273395,277.97716313189,370.63621750918,404.33041910093,413.73345210327,423.58424858192,523.2511306012],description:"Tonos-17 Enharmonic"},enh17_con:{frequencies:[261.6255653006,269.55361273395,277.97716313189,370.63621750918,378.52209447746,386.75083566176,494.18162334558,523.2511306012],description:"Conjunct Tonos-17 Enharmonic"},enh19:{frequencies:[261.6255653006,268.69652652494,276.16031892841,355.06326719367,382.37582620857,389.87339142835,397.67085925691,523.2511306012],description:"Tonos-19 Enharmonic"},enh19_con:{frequencies:[261.6255653006,268.69652652494,276.16031892841,355.06326719367,361.51896296083,368.21375857121,451.89870370104,523.2511306012],description:"Conjunct Tonos-19 Enharmonic"},enh2:{frequencies:[261.6255653006,266.71168334607,277.18263097687,349.22823143301,391.99543598175,399.61600264311,415.30469757995,523.2511306012],description:"1:2 Enharmonic. New genus 2 + 4 + 24 parts"},enh21:{frequencies:[261.6255653006,268.0066766494,274.70684356563,343.38355445704,392.4383479509,399.57359064092,406.97310157871,523.2511306012],description:"Tonos-21 Enharmonic"},enh21_inv:{frequencies:[261.6255653006,336.37572681506,342.60490694126,348.83408706747,398.6675280771,498.33441009638,510.79277034879,523.2511306012],description:"Inverted Enharmonic Tonos-21 Harmonia"},enh21_inv2:{frequencies:[261.6255653006,270.06509966514,279.06726965397,348.83408706747,398.6675280771,411.12588832951,423.58424858192,523.2511306012],description:"Inverted harmonic form of the enharmonic Tonos-21"},enh23:{frequencies:[261.6255653006,267.43946675172,273.51763645063,334.29933343966,376.08675011961,388.21858076863,401.15920012759,523.2511306012],description:"Tonos-23 Enharmonic"},enh23_con:{frequencies:[261.6255653006,267.43946675172,273.51763645063,334.29933343966,343.8507429665,353.96400011258,462.87600014722,523.2511306012],description:"Conjunct Tonos-23 Enharmonic"},enh25:{frequencies:[261.6255653006,269.71707762948,278.32506946872,363.36884069528,408.78994578219,421.97671822677,436.04260883433,523.2511306012],description:"Tonos-25 Enharmonic"},enh25_con:{frequencies:[261.6255653006,269.71707762948,278.32506946872,363.36884069528,373.75080757229,384.74347838324,503.12608711654,523.2511306012],description:"Conjunct Tonos-25 Enharmonic"},enh27:{frequencies:[261.6255653006,269.10058145205,277.01530443593,353.19451315581,392.4383479509,403.65087217807,415.52295665389,523.2511306012],description:"Tonos-27 Enharmonic"},enh27_inv:{frequencies:[261.6255653006,329.45441556372,339.14425131559,348.83408706747,387.59343007496,494.18162334558,508.71637697339,523.2511306012],description:"Inverted Enharmonic Tonos-27 Harmonia"},enh27_inv2:{frequencies:[261.6255653006,266.38239376061,271.31540105247,348.83408706747,387.59343007496,397.28326582684,406.97310157871,523.2511306012],description:"Inverted harmonic form of the enharmonic Tonos-27"},enh29:{frequencies:[261.6255653006,266.21548749886,270.96933548991,344.87006335079,379.35706968587,389.08417403679,399.32323124828,523.2511306012],description:"Tonos-29 Enharmonic"},enh29_con:{frequencies:[261.6255653006,266.21548749886,270.96933548991,344.87006335079,352.8902973822,361.29244731988,474.19633710734,523.2511306012],description:"Conjunct Tonos-29 Enharmonic"},enh31:{frequencies:[261.6255653006,270.34641747729,279.66870773512,337.93302184661,352.6257619269,368.65420565085,377.22755927063,386.2091678247,523.2511306012],description:"Tonos-31 Enharmonic. Tone 24 alternates with 23 as MESE or A"},enh31_con:{frequencies:[261.6255653006,270.34641747729,279.66870773512,337.93302184661,352.6257619269,360.46188996972,368.65420565085,450.57736246214,523.2511306012],description:"Conjunct Tonos-31 Enharmonic"},enh33:{frequencies:[261.6255653006,269.80136421624,278.50463402967,359.73515228832,392.4383479509,401.56482115906,411.12588832951,523.2511306012],description:"Tonos-33 Enharmonic"},enh33_con:{frequencies:[261.6255653006,269.80136421624,278.50463402967,359.73515228832,367.38909169871,375.37581108347,479.64686971777,523.2511306012],description:"Conjunct Tonos-33 Enharmonic"},enh_invcon:{frequencies:[261.6255653006,283.42769574232,370.63621750918,381.53728273004,392.4383479509,501.44900015948,512.35006538034,523.2511306012],description:"Inverted Enharmonic Conjunct Phrygian Harmonia"},enh_mod:{frequencies:[261.6255653006,294.32876096318,305.22982618403,348.83408706747,392.4383479509,406.97310157871,418.60090448096,523.2511306012],description:"Enharmonic After Wilson's Purvi Modulations, See page 111"},enh_perm:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Permuted Enharmonic, After Wilson's Marwa Permutations, See page 110."},enn45ji:{frequencies:[261.6255653006,267.07609791103,269.10058145205,274.70684356563,276.85245005354,282.55561052465,288.32205155576,290.69507255622,296.75121990114,299.00064605783,305.22982618403,311.45900631024,313.95067836072,320.49131749323,322.92069774245,329.64821227876,336.37572681506,339.14425131559,346.06556256693,348.83408706747,356.10146388137,363.36884069528,366.27579142084,373.75080757229,376.74081403286,384.42940207435,392.4383479509,395.57785473451,403.65087217807,406.97310157871,415.27867508032,423.93031414449,427.32175665765,436.04260883433,439.53094970501,448.50096908674,457.84473927605,461.31528248922,470.92601754108,474.80195184183,484.4917875937,494.47231841813,498.33441009638,508.71637697339,512.78610798918,523.2511306012],description:"Detempered Ennealimma[45], Hahn reduced"},enn72synch:{frequencies:[195.99771799087,197.54967854522,199.11392792408,201.62391554947,203.22042578925,204.82957760946,207.41161549338,209.05395423619,211.68924370912,213.36545381699,215.05493658943,217.76587316352,219.49019959291,221.22817968434,224.01693484168,225.790758792,228.63703016722,230.44743589451,232.27217821307,235.20015301436,237.06252857463,238.93964952543,241.95167308427,243.86750892427,246.94165062806,248.89699839908,250.8678291188,254.03021536301,256.04169222048,258.06909647124,261.3222603528,263.39147750593,266.71173418544,268.8236265844,270.95224149283,274.36780754746,276.54032271274,278.73004041423,282.24365173996,284.47852987378,288.0646054292,290.34557537779,292.64460663558,296.33362372129,298.68006816723,301.0450940916,304.84000597616,307.25380610435,311.12698372207,313.59056753865,316.0736586482,320.05801564518,322.59231767928,325.14668697146,329.24541662461,331.85246687263,336.03572815421,338.69654584276,341.37843257302,345.68177614255,348.4189737305,351.17784515594,355.60471802638,358.42048803112,362.93866010991,365.81250216232,368.70910003837,373.35696816148,376.31330506793,379.29305101359,384.07434037944,387.11553797119,391.99543598174],description:"Poptimal synchonized beating ennealimmal tuning, TM 10-10-2005"},ennea45:{frequencies:[261.6255653006,267.02028728287,269.13615104392,274.68574138534,276.8623300691,282.57123430547,288.39787286736,290.68311542614,296.67700440585,299.02785016604,305.1938252949,311.48692526882,313.95512370264,320.42888174436,322.96795420876,329.62755691287,336.42448069667,339.09030198792,346.08234767737,348.824677577,356.01744619623,363.3585507705,366.23777597441,373.78960287068,376.751482929,384.52012478698,392.44893391322,395.5586690753,403.715093104,406.91412394911,415.30469757995,423.86828492968,427.22700928979,436.03643483576,439.49155400205,448.55387459245,457.80308677504,461.43068321685,470.94538888861,474.67712392136,484.46499932732,494.45467284607,498.37269363637,508.649143962,512.67967026301,523.2511306012],description:"Ennealimmal-45, in a 7-limit least-squares tuning, g=48.999, G.W. Smith"},epimore_enh:{frequencies:[261.6255653006,265.11390617127,279.06726965397,348.83408706747,392.4383479509,397.67085925691,418.60090448096,523.2511306012],description:"New Epimoric Enharmonic, Dorian mode of the 4th new Enharmonic on Hofmann's list"},eratos_chrom:{frequencies:[261.6255653006,275.39533189537,290.69507255622,348.83408706747,392.4383479509,413.09299784305,436.04260883433,523.2511306012],description:"Dorian mode of Eratosthenes's Chromatic. same as Ptol. Intense Chromatic"},eratos_diat:{frequencies:[261.6255653006,275.62199471997,310.07474405997,348.83408706747,392.4383479509,413.43299207996,465.11211608996,523.2511306012],description:"Dorian mode of Eratosthenes's Diatonic, Pythagorean"},eratos_enh:{frequencies:[261.6255653006,268.33391312882,275.39533189537,348.83408706747,392.4383479509,402.50086969323,413.09299784305,523.2511306012],description:"Dorian mode of Eratosthenes's Enharmonic"},erlangen:{frequencies:[261.6255653006,275.62199471997,293.99679436797,310.07474405997,327.03195662575,348.83408706747,367.49599295996,392.4383479509,413.43299207996,440.99519155196,465.11211608996,490.54793493862,523.2511306012],description:"Anonymus: Pro clavichordiis faciendis, Erlangen 15th century"},erlangen2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Revised Erlangen"},erlich1:{frequencies:[261.6255653006,278.64199172491,296.7651860139,326.1838132033,347.39918201406,369.99442271164,394.05928374402,433.12277132725,461.29357245868,491.2966347616,523.2511306012],description:"Asymmetrical Major decatonic mode of 22-tET, Paul Erlich"},erlich10:{frequencies:[261.6255653006,274.70684356563,299.00064605783,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,470.92601754108,523.2511306012],description:"Canonical JI interpretation of the Pentachordal decatonic mode of 22-tET"},erlich10s1:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,470.92601754108,523.2511306012],description:"Superparticular version of erlich10 using 50/49 decatonic comma"},erlich10s2:{frequencies:[261.6255653006,274.70684356563,293.02063313667,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,470.92601754108,523.2511306012],description:"Other superparticular version of erlich10 using 50/49 decatonic comma"},erlich11:{frequencies:[261.6255653006,280.31310567921,305.22982618403,327.03195662575,348.83408706747,373.75080757229,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Canonical JI interpretation of the Symmetrical decatonic mode of 22-tET"},erlich11s1:{frequencies:[261.6255653006,274.70684356563,305.22982618403,327.03195662575,348.83408706747,373.75080757229,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Superparticular version of erlich11 using 50/49 decatonic comma"},erlich11s2:{frequencies:[261.6255653006,280.31310567921,305.22982618403,311.45900631024,348.83408706747,373.75080757229,392.4383479509,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Other superparticular version of erlich11 using 50/49 decatonic comma"},erlich12:{frequencies:[261.6255653006,267.01308914069,282.57123920205,288.39008844866,305.19382000629,311.47852302926,329.62755691287,336.41541160581,356.01745236555,363.34874301751,384.52011812375,392.4383479509,415.30469757995,423.85685859121,448.5538823653,457.7907297806,484.46499093218,494.44133512215,523.2511306012],description:"Two 9-tET scales 3/2 shifted, Paul Erlich, TL 5-12-2001"},erlich13:{frequencies:[261.6255653006,269.80136421624,294.32876096318,327.03195662575,343.38355445704,359.73515228832,392.4383479509,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Just scale by Paul Erlich (2002)"},erlich2:{frequencies:[261.6255653006,278.64199172491,296.7651860139,316.06713361714,347.39918201406,369.99442271164,394.05928374402,419.68935090103,446.98642698175,476.05893615592,523.2511306012],description:"Asymmetrical Minor decatonic mode of 22-tET, Paul Erlich"},erlich3:{frequencies:[261.6255653006,278.64199172491,296.7651860139,326.1838132033,347.39918201406,369.99442271164,394.05928374402,419.68935090103,461.29357245868,491.2966347616,523.2511306012],description:"Symmetrical Major decatonic mode of 22-tET, Paul Erlich"},erlich4:{frequencies:[261.6255653006,278.64199172491,296.7651860139,316.06713361714,347.39918201406,369.99442271164,394.05928374402,419.68935090103,446.98642698175,491.2966347616,523.2511306012],description:"Symmetrical Minor decatonic mode of 22-tET, Paul Erlich"},erlich5:{frequencies:[261.6255653006,269.33066959279,278.10477655849,287.16472157287,295.62197660533,306.17967660611,315.19693888202,326.45372959864,335.05049156411,348.07025322573,357.23626005287,368.87410717392,380.89108570115,393.29954676976,406.11224388345,419.34234602259,433.00345117936,444.40607048653,461.67529188567,473.83294924974,490.75518955849,505.2083639382,523.2511306012],description:"Unequal 22-note compromise between decatonic & Indian srutis, Paul Erlich"},erlich6:{frequencies:[261.6255653006,274.70684356563,280.31310567921,285.40970760065,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Scale of consonant tones against 1/1-3/2 drone. TL 23-9-1998"},erlich7:{frequencies:[261.6255653006,272.64118737561,277.98432293805,281.84855879469,292.47977325983,303.51199286577,307.73108663824,313.76190292287,326.97270111135,337.05955506058,340.85784563832,350.05627231138,365.1325261687,373.60234843661,378.13992750117,391.18115131013,406.9458559663,413.62886206386,420.42161880722,437.36472209676,452.44848028305,457.94368329907,468.56640608675,488.7466646507,501.93603498211,507.59230220159,523.2511306012],description:"Meantone-like circle of sinuoidally varying fifths, TL 08-12-99"},erlich8:{frequencies:[261.6255653006,263.902226729,277.18263097687,279.59466973861,293.66476791741,296.22023396764,311.12698372208,313.83440569119,329.62755691287,332.49597057,349.22823143301,352.26720984209,369.99442271164,373.21410818061,391.99543598175,395.40657391157,415.30469757995,418.91867232636,440,443.82887286778,466.16376151809,470.22031101449,493.88330125613,498.18106573801,523.2511306012],description:"Two 12-tET scales 15 cents shifted, Paul Erlich"},erlich9:{frequencies:[261.6255653006,271.31540105247,280.31310567921,290.69507255622,302.70726563706,308.34441624714,319.76457981184,332.97799220076,345.34574619679,356.76213450082,369.97554688974,383.71749577421,396.40237166758,411.12588832951,428.11456140098,436.04260883433,452.23847716247,470.92601754108,488.36772189445,504.56359022259,523.2511306012],description:"11-limit periodicity block, u.v.: 9801/9800 243/242 126/125 100/99"},erlich_bpf:{frequencies:[261.6255653006,269.93113880221,277.4816601673,282.55561052465,293.6613488068,301.87565226992,311.45900631024,319.76457981184,328.70904358281,336.37572681506,347.05432131712,356.76213450082,366.27579142084,377.90359432309,388.47432423422,400.44729382745,411.12588832951,422.62591317789,436.04260883433,447.67041173658,458.69417292962,470.92601754108,485.87604984397,499.46698830115,512.78610798918,528.59042785223,543.37617408586,560.62621135843,575.57624366132,591.67627844905,610.45965236807,624.69777837082,642.17184210147,659.29642455751,680.22646978156,699.2537836216,726.73768139056,740.02659899313,760.72664372021,784.8766959018],description:"Erlich's 39-tone Triple Bohlen-Pierce scale"},erlich_bpp:{frequencies:[261.6255653006,268.60224704195,277.4816601673,282.55561052465,293.6613488068,299.68019298069,311.45900631024,319.76457981184,323.65460841914,336.37572681506,345.34574619679,356.76213450082,366.27579142084,380.67211882362,385.30310526088,400.44729382745,411.12588832951,419.55227017296,436.04260883433,447.67041173658,458.69417292962,470.92601754108,489.43558134466,499.46698830115,512.78610798918,528.59042785223,539.42434736524,560.62621135843,575.57624366132,594.60355750136,610.45965236807,629.27431887171,642.17184210147,659.29642455751,685.20981388252,699.2537836216,720.80512888941,740.02659899313,764.49028821604,784.8766959018],description:"Periodicity block for erlich_bpf, 1625/1617 1331/1323 275/273 245/243"},erlich_bpp2:{frequencies:[261.6255653006,268.60224704195,277.4816601673,282.55561052465,293.92501780685,299.68019298069,311.45900631024,319.76457981184,326.02570445152,336.37572681506,345.34574619679,356.76213450082,366.27579142084,377.90359432309,385.30310526088,400.44729382745,411.12588832951,422.62591317789,436.04260883433,447.67041173658,458.69417292962,470.92601754108,485.87604984397,499.46698830115,512.78610798918,528.59042785223,543.37617408586,560.62621135843,575.57624366132,594.60355750136,610.45965236807,629.83932387181,642.17184210147,659.29642455751,685.20981388252,698.62650953896,726.73768139056,740.02659899313,764.49028821604,784.8766959018],description:"Improved shape for erlich_bpp"},erlich_bppe:{frequencies:[261.6255653006,269.03526454087,276.77324548748,284.61195549492,292.79795257063,301.09050901183,309.7504615497,318.52314490095,327.68449417797,337.10934179701,346.6568752383,356.62740568226,366.72772736951,377.27553481706,387.96064596243,399.11915372018,410.59860200806,422.22748385656,434.37157296247,446.67374500165,459.5209564409,472.53540627884,486.12644973042,499.89441151621,514.27235352402,529.06383329425,544.0478609495,559.69574261012,575.54731703113,592.10118472076,608.870542156,626.38285104305,644.39884822068,662.64936456684,681.70845767885,701.01565227402,721.17823493702,741.60327945962,762.93324174612,784.8766959018],description:"LS optimal 3:5:7:11:13 tempering, virtually equal, g=780.2702 cents"},erlich_bppm:{frequencies:[261.6255653006,269.3148593258,276.83859227209,284.97500405989,292.93622770824,301.54575630263,309.96990811138,319.08006614158,327.99406628962,337.15709295818,347.06629484351,356.76213450082,367.24753706379,377.50717076432,388.60227773252,399.45849178361,410.61798882758,422.6862401977,434.49464068244,447.26463523836,459.75967424319,473.27221959449,486.49381977384,500.79209531182,514.78250488433,529.16376146212,544.7161244152,559.93362036345,576.39032675477,592.49269103014,609.9063234692,626.94500947499,644.45969779399,663.40066444061,681.93379843592,701.97614206495,721.5869464624,742.79471409673,763.54584931731,784.8766959018],description:"MM optimal 3:5:7:11:13 tempering, g=780.352 cents"},erlich_paj:{frequencies:[261.6255653006,269.74106841426,278.59741216196,287.23937405609,296.67040683594,305.87298460253,315.91563888094,325.71519477697,336.4093235789,346.84458402385,358.23265591403,369.99442271164,381.47147728046,393.99623872149,406.21781843768,419.55531290213,432.56972318844,446.77218107119,460.63084592459,475.75462791404,490.51231476219,506.61748047856,523.2511306012],description:"Erlich's Pajara or Twintone, with RMS optimal generator"},erlich_paj2:{frequencies:[261.6255653006,270.25447814202,278.68577354399,287.87753105276,296.85845221806,306.64959036092,316.21614384055,326.645747324,336.83612131731,347.94582350257,358.80069640371,369.99442271164,382.1975482805,394.12120058634,407.1203087173,419.82124923186,433.66800958456,447.19715926063,461.9468459571,476.35821106408,492.06970256841,507.42081104304,523.2511306012],description:"Erlich's Pajara or Twintone with minimax optimal generator"},escapade:{frequencies:[261.6255653006,270.11362843741,278.8770761192,287.9248395776,297.26614463769,306.91051483225,316.86778450163,327.1481015562,337.76194863153,348.72014864112,360.03386958939,371.71464785337,383.77439429365,392.56657056143,405.30282760495,418.45229174958,432.02837124332,446.04490958069,460.51619165905,475.45697355792,490.88248752006,506.80846290374,523.2511306012],description:"Escapade temperament, g=55.275493, 5-limit"},"et-mix6":{frequencies:[261.6255653006,293.66476791741,300.52885648597,311.12698372208,329.62755691287,345.21700307457,369.99442271164,396.55020354877,415.30469757995,440,455.51656649021,466.16376151809,523.2511306012],description:"Mix of equal temperaments from 1-6 (= 4-6)"},euler:{frequencies:[261.6255653006,272.52663052146,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,459.88868900496,490.54793493862,523.2511306012],description:"Euler's Monochord (a mode of Ellis's duodene) (1739), genus [33355]"},euler20:{frequencies:[261.6255653006,274.58143914872,285.65749968142,293.61100773131,305.45468261618,320.58100381398,326.62388782443,329.50688232588,342.79852229325,366.55580177366,381.34192228364,391.95955371998,407.7704102616,411.36965665618,427.96347506501,439.87918162894,457.62301915088,489.33808574423,509.07699553894,513.57043963064,523.2511306012],description:"Genus [3333555] tempered by 225/224-planar"},euler24:{frequencies:[261.6255653006,274.58143914872,285.65749968142,293.61100773131,305.45468261618,308.1508239679,320.58100381398,326.62388782443,329.50688232588,342.79852229325,366.55580177366,381.34192228364,384.70789368407,391.95955371998,407.7704102616,411.36965665618,427.96347506501,439.87918162894,457.62301915088,480.28481865546,489.33808574423,493.65730140218,509.07699553894,513.57043963064,523.2511306012],description:"Genus [33333555] tempered by 225/224-planar"},euler_diat:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Euler's genus diatonicum veterum correctum"},euler_enh:{frequencies:[261.6255653006,267.90457886781,275.62199471997,348.83408706747,392.4383479509,401.85686830172,413.43299207996,523.2511306012],description:"Euler's Old Enharmonic, From Tentamen Novae Theoriae Musicae"},euler_gm:{frequencies:[261.6255653006,271.31540105247,279.06726965397,289.40309445597,348.83408706747,361.75386806997,372.08969287196,385.87079260796,523.2511306012],description:"Euler's Genus Musicum, Octony based on Archytas's Enharmonic"},exptriad2:{frequencies:[261.6255653006,306.59245933664,327.03195662575,367.91095120397,392.4383479509,459.88868900496,490.54793493862,523.2511306012],description:"Two times expanded major triad"},exptriad3:{frequencies:[261.6255653006,269.46602871384,275.93321340298,279.06726965397,287.4304306281,294.32876096318,297.67175429757,303.14928230307,306.59245933664,313.95067836072,323.35923445661,327.03195662575,344.91651675372,348.83408706747,359.28803828513,367.91095120397,372.08969287196,378.93660287884,383.2405741708,392.4383479509,404.19904307077,408.78994578219,418.60090448096,431.14564594215,436.04260883433,446.50763144636,459.88868900496,490.54793493862,505.24880383846,517.37477513058,523.2511306012],description:"Three times expanded major triad"},iivv17:{frequencies:[261.6255653006,269.80136421624,277.97716313189,283.42769574232,294.32876096318,305.22982618403,318.85615771011,327.03195662575,343.38355445704,348.83408706747,359.73515228832,367.91095120397,370.63621750918,392.4383479509,416.96574469783,425.14154361347,436.04260883433,441.49314144476,457.84473927605,479.64686971777,490.54793493862,523.2511306012],description:"17-limit IIVV"},"indian-ayyar":{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Carnatic sruti system, C.Subrahmanya Ayyar, 1976. alt:21/20 25/16 63/40 40/21"},"indian-dk":{frequencies:[261.6255653006,294.32876096318,305.22982618403,313.95067836072,348.83408706747,392.4383479509,406.97310157871,418.60090448096,465.11211608996,523.2511306012],description:"Raga Darbari Kanada"},"indian-ellis":{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,303.82323712328,313.95067836072,324.77656382143,336.37572681506,348.83408706747,358.01393146398,367.68998366571,377.90359432309,388.70083987518,400.13321751856,412.25846653428,425.14154361347,438.85578695585,453.48431318771,469.12170329763,485.87604984397,503.87145909745,523.2511306012],description:"Ellis's Indian Chromatic, theoretical #74 of App.XX, p.517 of Helmholtz"},"indian-hahn":{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Indian shrutis Paul Hahn proposal"},"indian-hrdaya1":{frequencies:[261.6255653006,282.55561052465,294.32876096318,313.95067836072,328.55303549378,348.83408706747,375.07381928051,392.4383479509,428.11456140098,441.49314144476,470.92601754108,492.82955324067,523.2511306012],description:"From Hrdayakautaka of Hrdaya Narayana (17th c) Bhatkande's interpretation"},"indian-hrdaya2":{frequencies:[261.6255653006,282.55561052465,294.32876096318,313.95067836072,330.47439827444,348.83408706747,376.74081403286,392.4383479509,428.11456140098,448.50096908674,470.92601754108,495.71159741166,523.2511306012],description:"From Hrdayakautaka of Hrdaya Narayana (17th c) Levy's interpretation"},"indian-invrot":{frequencies:[261.6255653006,267.90457886781,279.06726965397,313.95067836072,327.03195662575,334.88072358477,348.83408706747,392.4383479509,418.60090448096,446.50763144636,490.54793493862,502.32108537715,523.2511306012],description:"Inverted and rotated North Indian gamut"},"indian-magrama":{frequencies:[261.6255653006,294.32876096318,327.03195662575,367.91095120397,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Indian mode Ma-grama (Sa Ri Ga Ma Pa Dha Ni Sa)"},"indian-newbengali":{frequencies:[261.6255653006,269.13627541126,277.02257024271,285.46954808622,294.32876096318,303.84527498141,313.95067836072,324.71413568646,336.35938765066,348.83408706747,358.01090280364,367.91095120397,377.98706287655,388.6137256405,400.23209335925,412.19781491431,425.25755219187,438.98455767189,453.41648894489,469.13512554326,485.39868175205,503.9696508909,523.2511306012],description:"Modern Bengali scale,S.M. Tagore: The mus. scales of the Hindus,Calcutta 1884"},"indian-old2ellis":{frequencies:[261.6255653006,270.06509966514,277.97716313189,285.40970760065,294.32876096318,305.22982618403,316.13089140489,327.03195662575,337.93302184661,348.83408706747,359.73515228832,370.63621750918,380.54627680087,392.4383479509,404.33041910093,415.52295665389,428.11456140098,441.49314144476,457.84473927605,474.19633710734,490.54793493862,505.80942624783,523.2511306012],description:"Ellis Old Indian Chrom2, Helmholtz, p. 517. This is a 4 cent appr. to #73"},"indian-oldellis":{frequencies:[261.6255653006,269.44737349144,277.4816601673,285.79952600623,294.32876096318,304.84150796353,315.71315096976,327.03195662575,337.72216249472,348.83408706747,359.25382662183,369.99442271164,381.0561299374,392.4383479509,404.18156579781,416.22249025095,428.71043212875,441.49314144476,457.27414749797,473.58203588493,490.54793493862,506.59641128799,523.2511306012],description:"Ellis Old Indian Chromatic, Helmholtz, p. 517. This is a 0.5 cent appr. to #73"},"indian-raja":{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,490.54793493862,523.2511306012],description:"A folk scale from Rajasthan, India"},"indian-sagrama":{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Indian mode Sa-grama (Sa Ri Ga Ma Pa Dha Ni Sa), inverse of Didymus' diatonic"},"indian-srutiharm":{frequencies:[261.6255653006,275.04226095704,278.87560257317,292.29229825722,294.20896982953,310.50067090621,313.3756771183,327.75070817877,332.5423844325,351.70909240436,354.58409877157,369.9174668925,374.70914348171,393.87585105695,414.95923028882,421.66757847392,437.95928040996,441.79262140873,467.66767825558,473.41768959156,493.54273382289,499.29274676062,523.2511306012],description:"B. Chaitanya Deva's sruti harmonium. The Music of India, 1981, p. 109"},"indian-srutivina":{frequencies:[261.6255653006,268.56758546278,278.98051393788,288.52577197574,297.52863491406,305.33829130574,314.01573591759,327.57422802312,336.57725592546,350.35262131413,358.2707318239,366.40588882483,378.77125721528,394.82459335461,403.28512412878,416.95215854696,428.77531684666,444.28620821491,453.93981227417,469.5594057965,487.34812384257,504.37765306036,529.32520658991],description:"Raja S.M. Tagore's sruti vina, measured by Ellis and Hipkins, 1886. 1/1=241.2"},"indian-srutivina2":{frequencies:[261.6255653006,275.04226095704,278.87560257317,292.29229825722,294.20896982953,310.50067090621,313.3756771183,327.75070817877,332.5423844325,351.70909240436,354.58409877157,369.9174668925,374.70914348171,393.87585105695,414.95923028882,421.66757847392,437.95928040996,441.79262140873,467.66767825558,473.41768959156,493.54273382289,499.29274676062,523.2511306012],description:"S. Ramanathan's sruti vina, 1973. In B.C. Deva, The Music of India, p. 110"},"indian-vina":{frequencies:[261.6255653006,276.70272600503,292.81785438923,313.29104303136,329.05685050583,352.26720984209,369.14054089803,390.18821123181,411.0090584005,435.70052664441,465.35666077712,491.60634075178,525.37110555681],description:"Observed South Indian tuning of a vina, Ellis"},"indian-vina2":{frequencies:[261.6255653006,277.02257024271,292.81785438923,308.97787266236,326.21810583671,344.81842302716,363.84824628932,386.37547528213,409.11417474979,432.19134773437,455.25352578019,480.93331155807,507.76825077597,539.82938999168,571.59905201246,602.44805673853,637.90290877605,678.5727631795,715.19510239543,756.4109196702,799.53998816902,846.10508618474,890.73947019126,943.16064703194,1001.55531043729],description:"Observed tuning of old vina in Tanjore Palace, Ellis and Hipkins. 1/1=210.7 Hz"},"indian-vina3":{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Tuning of K.S. Subramanian's vina (1983)"},indian:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.50983809402,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"Indian shruti scale"},indian2:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"Indian shruti scale with tritone 64/45 schisma lower (Mr.Devarajan, Madurai)"},indian2_sm:{frequencies:[261.6255653006,275.80107697063,279.12844116922,290.7446524607,294.25230137258,310.19560923413,313.9379197281,327.00276442799,330.9478443499,348.87940629173,353.08841191408,367.78254402461,372.21960384438,392.38737044642,413.64787586584,418.63827382983,436.06032987759,441.3211172644,465.23297251763,470.84571179248,490.44043044945,496.35728163707,523.2511306012],description:"Shruti/Mathieu's Magic Mode scale in 289-equal (schismic) temperament"},indian3:{frequencies:[261.6255653006,270.06509966514,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,506.89953276991,523.2511306012],description:"Indian shruti scale with 32/31 and 31/16 and tritone schisma lower"},indian4:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,330.74639366397,348.83408706747,367.91095120397,372.08969287196,387.59343007496,392.4383479509,413.89982010446,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.11959049595,523.2511306012],description:"Indian shruti scale according to Firoze Framjee: Text book of Indian music"},indian5:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,387.59343007496,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"23 Shrutis, Amit Mitra, 1/1 no. 12:2, Table C."},indian6:{frequencies:[146.8323839587,148.66778875818,150.35636117371,151.0621234143,152.23581568838,152.95039995698,154.68761437624,154.86227995644,156.62120955595,158.5789746754,159.32333328852,163.14709328744,165.18643195354,167.06262352634,169.15090632042,169.94488884109,172.0691999516,174.02356617327,176.19886075044,178.40134650982,179.23874994958,180.42763340845,181.27454809716,183.54047994838,185.62513725149,185.83473594773,187.94545146714,188.82765426788,190.29476961048,191.18799994622,193.3595179703,193.57784994555,195.77651194493,198.22371834425,200.47514823161,202.98108758451,203.93386660931,206.48303994192,208.82827940793,209.0640779412,211.43863290053,212.43111105136,214.08161581178,215.0864999395,217.52945771659,220.24857593805,223.00168313728,225.53454176056,226.59318512145,228.35372353257,229.42559993547,232.03142156437,232.29341993466,234.93181433392,237.86846201309,238.98499993278,240.57017787793,241.69939746288,244.72063993117,247.77964793031,250.59393528951,253.72635948063,254.91733326163,258.1037999274,261.03534925991,264.29829112566,267.60201976473,270.64145011268,271.91182214574,275.31071992256,278.43770587724,278.75210392159,281.9181772007,283.24148140181,285.44215441571,286.78199991934,290.03927695546,293.6647679174],description:"Shrutis calculated by generation method, Amit Mitra, 1/1 no. 12:2, Table B."},indian_12:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"North Indian Gamut, modern Hindustani gamut out of 22 or more shrutis"},indian_12c:{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,328.55303549378,348.83408706747,369.35373924791,392.4383479509,415.52295665389,441.49314144476,470.92601754108,492.82955324067,523.2511306012],description:"Carnatic gamut. Kuppuswami: Carnatic music and the Tamils, p. v"},indian_a:{frequencies:[261.6255653006,290.79521372391,318.76727400207,355.94891173479,388.6137256405,432.69092326853,486.52148746092,523.2511306012],description:"One observed indian mode"},indian_b:{frequencies:[261.6255653006,290.79521372391,305.95868600104,356.15457528086,388.83826257328,432.94092754357,461.60862817266,523.2511306012],description:"Observed Indian mode"},indian_c:{frequencies:[261.6255653006,278.94941459687,313.65318017499,356.15457528086,388.83826257328,422.07621250312,470.76384471612,523.2511306012],description:"Observed Indian mode"},indian_d:{frequencies:[261.6255653006,289.28740724512,320.24370022528,344.61930560862,391.31674786192,442.03793673691,485.39868175205,523.2511306012],description:"Indian D (Ellis, correct)"},indian_e:{frequencies:[261.6255653006,275.58617649731,323.21709932123,347.81902735497,393.58362272115,410.77171881178,488.21056770985,523.2511306012],description:"Observed Indian mode"},indian_g:{frequencies:[261.6255653006,275.48458755707,279.57748987366,290.07776015425,294.38747470873,309.98198497505,314.58741860623,326.40257913196,331.25197518754,348.79929894143,353.98144532328,367.27615246113,372.73281132023,392.47748849606,413.26809526256,419.40806105693,435.16003737285,441.62525396027,465.0193523796,471.92819182319,489.65270022124,496.92751979948,523.2511306012],description:"Shruti/Mathieu's Magic Mode scale in 94-et (garibaldi) temperament"},indian_rat:{frequencies:[261.6255653006,269.55361273395,277.4816601673,285.40970760065,294.32876096318,302.93486508491,315.75499260417,327.03195662575,337.58137458142,348.83408706747,359.73515228832,370.63621750918,380.54627680087,392.4383479509,404.33041910093,416.22249025095,428.77523202043,441.49314144476,457.84473927605,473.41768959156,490.54793493862,506.37206187213,523.2511306012],description:"Indian Raga, From Fortuna, after Helmholtz, ratios by JC"},indian_rot:{frequencies:[261.6255653006,272.52663052146,279.06726965397,306.59245933664,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,510.98743222773,523.2511306012],description:"Rotated North Indian Gamut"},ionic:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:"Ancient greek Ionic"},iran_diat:{frequencies:[261.6255653006,297.21429859784,337.6441411202,347.13660997509,394.35734781054,448.00148789644,460.59652406882,523.2511306012],description:"Iranian Diatonic from Dariush Anooshfar, Safi-a-ddin Armavi's scale from 125 ET"},iraq:{frequencies:[261.6255653006,290.3675288125,326.6631048533,348.83408706747,387.1561215731,435.55129321875,465.11211608996,516.20736538157,523.2511306012],description:"Iraq 8-tone scale, Ellis"},isfahan_5:{frequencies:[261.6255653006,283.42769574232,305.22982618403,327.03195662575,348.83408706747,523.2511306012],description:"Isfahan (IG #2, DF #8), from Rouanet"},islamic:{frequencies:[261.6255653006,283.42769574232,305.22982618403,330.6656450327,348.83408706747,523.2511306012],description:"Islamic Genus (DF#7), from Rouanet"},italian:{frequencies:[261.6255653006,274.68983337859,292.34127285051,309.02606224197,326.6631048533,348.44038788768,366.66693712906,391.11111150212,411.56972129721,437.02884834934,464.06284405662,489.44164088633,523.2511306012],description:"Italian organ temperament, G.C. Klop (1974), 1/12 P.comma, also d'Alembert/Rousseau (1752/67)"},iter1:{frequencies:[261.6255653006,264.43874342211,268.51044859798,278.54662176283,304.33994330886,376.91818729747,631.61998662719],description:"McLaren style, IE= 2.414214, PD=5, SD=0"},iter10:{frequencies:[261.6255653006,277.06070189651,293.38358189778,297.59908052943,301.91391280887,310.68035879446,328.97472072452,338.5155215149,348.35227203008,368.89204707385,413.65123162392,438.0707139917,463.89070822207,520.1365405381,535.27989222422,550.79066379074,583.29634230953,654.0639132515],description:"Iterated 5/2 Scale, IE=5/2, PD=4, SD=3"},iter11:{frequencies:[261.6255653006,278.87608544381,297.26403435806,306.90779184711,316.86440944623,337.75715313333,360.02747892105,383.76621672426,396.21625406084,409.07019206122,436.04260883433],description:"Binary 5/3 Scale #2"},iter12:{frequencies:[261.6255653006,297.26403435806,306.90779184711,316.86440944623,337.75715313333,360.02747892105,383.76621672426,396.21625406084,409.07019206122,436.04260883433],description:"Binary 5/3 Scale #4"},iter13:{frequencies:[261.6255653006,297.26403435806,337.75715313333,383.76621672426,409.07019206122,436.04260883433],description:"Binary 5/3 Scale #6"},iter14:{frequencies:[261.6255653006,280.22072913446,300.13755324878,344.3186075731,368.79121945838,395.0032340925,453.14877154631,519.85349135637,596.37732215892,638.76512932755,684.16567043124,784.8766959018],description:"Binary Divided 3/1 Scale #2"},iter15:{frequencies:[261.6255653006,285.30470202322,311.12698372208,324.90175210669,339.28638158975,369.99442271164,403.48177901006,440,459.48046426806,479.82340237272,523.2511306012],description:"Binary Division Scale"},iter16:{frequencies:[261.6255653006,273.20871865617,285.30470202322,311.12698372208,324.90175210669,339.28638158975,369.99442271164,403.48177901006,440,459.48046426806,479.82340237272,523.2511306012],description:"Binary Division Scale 4+2"},iter17:{frequencies:[261.6255653006,278.49896488475,296.46060526524,301.12918013362,305.87127435301,315.58067012184,335.93387506143,346.5975621448,357.59974896504,380.66295170881,431.34763334053,459.16716607109,488.78090454553,553.8613271114,571.44277158458,589.58231097183,627.60710380636,711.17202040031],description:"Binary E Scale #2"},iter18:{frequencies:[261.6255653006,296.46060526524,335.93387506143,357.59974896504,380.66295170881,431.34763334053,488.78090454553,553.8613271114,589.58231097183,627.60710380636,711.17202040031],description:"Binary E Scale #4"},iter19:{frequencies:[261.6255653006,322.51878830959,331.06584352035,339.83940187549,358.09020513941,397.58488163802,418.936859706,441.43552612833,490.12256936272,604.19836236377,670.83693141722,744.82523718317,918.18295398723,967.49323514067,1019.45167961503,1131.88958971281,1395.33634826987],description:"Binary Kidjel Ratio scale #2, IE=16/3"},iter2:{frequencies:[261.6255653006,264.43874342211,268.51044859798,278.54662176283,304.33994330886,376.91818729747,466.76379263857,529.06503205232,631.63886479716],description:"Iterated 1 + SQR(2) Scale, IE=2.414214, PD=5, SD=1"},iter20:{frequencies:[261.6255653006,269.61366892789,277.84567157694,295.07138236029,304.08067308856,313.36504071103,332.79286022776,353.42515415018,375.3365967665,386.79659161311,398.60648967463,423.31905787312],description:"Binary PHI Scale #2"},iter21:{frequencies:[261.6255653006,265.58958666715,269.61366892789,277.84567157694,295.07138236029,304.08067308856,313.36504071103,332.79286022776,353.42515415018,375.3365967665,386.79659161311,398.60648967463,423.31905787312],description:"Binary PHI Scale 5+2 #2"},iter22:{frequencies:[261.6255653006,301.8727519909,307.3207469799,312.86706369289,324.26179396336,348.311367392,360.99698978488,374.14462916403,401.89387036212,463.7192413329,498.11197631533,535.05552246568,617.36582527423,639.85050556571,663.15408964479,712.33833913185,821.92095613931],description:"Binary PI Scale #2"},iter23:{frequencies:[261.6255653006,280.22072913446,282.63618845904,285.07246866924,290.00821285991,300.13755151512,305.33413252207,310.62068712289,321.46997343155,344.3186075731,356.34488692223,368.79121945838,395.00323181087,401.84231702948,408.7998141568,423.07827792492,453.14877154631],description:"Binary SQR(3) Scale #2"},iter24:{frequencies:[261.6255653006,289.31157243481,292.97226416221,296.67927674571,304.23460945445,319.92739457651,328.07477344771,336.42963427227,353.78307729046,391.22147055517,411.40114203819,432.62170761687,478.4030399831,490.58621022536,503.07964402145,529.02909391167,585.01254970054],description:"Binary SQR(5) Scale #2"},iter25:{frequencies:[261.6255653006,295.4600775297,299.98610231105,304.581459303,313.98443628203,333.67021037701,343.97120738708,354.59021667251,376.82183739983,425.55401329039,452.23482674104,480.58843796626,542.7401414615,559.49550492793,576.76813324226,612.92956630767,692.19618110881],description:"Binary SQR(7) Scale #2"},iter26:{frequencies:[261.6255653006,266.56189672137,275.04226095704,276.16031892841,278.32506946872,283.8915708581,299.68019298069,302.93486508491,309.19384990071,326.13597866239,377.90359432309,389.87339142835,411.92110281371,477.08191319521,486.74523776856,503.12608711654,552.32063785682,711.29450566101],description:"E Scale"},iter27:{frequencies:[261.6255653006,264.53251602616,264.59858308811,264.97973921471,266.91093025617,277.4816601673,277.93638607994,279.98525409362,291.05844139692,358.0999925052,361.3330282979,375.61956161015,462.09190754392,465.48964215821,480.4396744611,568.53247844169,1395.33634826987],description:"Iterated Kidjel Ratio Scale, IE=16/3, PD=3, SD=3"},iter28:{frequencies:[261.6255653006,265.20947715403,272.47639519786,295.60291144354,377.3445653374,784.8766959018],description:"McLaren 3-Division Scale"},iter29:{frequencies:[261.6255653006,264.46932144517,267.35459227799,273.20191774753,285.29018929764,311.12229387098,370.01329949656,523.2511306012],description:"Iterated Binary Division of the Octave, IE=2, PD=6, SD=0"},iter3:{frequencies:[261.6255653006,291.72408166262,314.40967058055,328.65360269166,338.82655178274,356.71329642628,384.4758307461,404.77917650282,417.30358762823,426.15298265459,441.49314144476],description:"Iterated 27/16 Scale, analog of Hexachord, IE=27/16, PD=3, SD=2"},iter30:{frequencies:[261.6255653006,263.40533105094,266.47048317654,274.97380842818,299.54231389489,377.98194879009,711.1793535636],description:"Iterated E-scale, IE= 2.71828, PD=5, SD=0"},iter31:{frequencies:[261.6255653006,264.53251602616,277.4816601673,358.0999925052,1395.33634826987],description:"Iterated Kidjel Ratio Scale, IE=16/3, PD=3, SD=0"},iter32:{frequencies:[261.6255653006,264.32273607689,265.98599138894,268.74462830198,273.21657135822,280.65287914064,293.09931751721,314.43072526953,352.25402909754,423.30428543018],description:"Iterated PHI scale, IE= 1.61803339, PD=8, SD=0"},iter33:{frequencies:[261.6255653006,264.70351312767,271.46111286829,293.79264300149,376.62581378438,821.87425059077],description:"Iterated PI Scale, IE= 3.14159, PD=4, SD=0"},iter34:{frequencies:[261.6255653006,263.41752122732,264.70351312767,267.00143308075,271.01725226011,278.10591587072,290.81088732616,314.21361862735,359.24704489038,453.1728541814],description:"Iterated SQR3 Scale, IE= 1.73205, PD=8, SD=0"},iter35:{frequencies:[261.6255653006,263.32443260775,265.41724016003,270.17542037578,281.14986121856,307.30621955943,374.94109676838,585.0238335194],description:"Iterated SQR 5 Scale, IE= 2.23607, PD=6, SD=0"},iter36:{frequencies:[261.6255653006,263.60757715894,266.85807660661,275.72514666411,300.63990398578,377.90359432309,692.2176415245],description:"Iterated SQR 7 Scale, IE= 2.64575, PD=5, SD=0"},iter37:{frequencies:[261.6255653006,295.02271214403,313.28742377221,326.0879260201,332.68289475257,342.82647426905,364.05069339959,375.15068445646,382.73792346942,386.58911684499,392.4383479509],description:"Iterated 3/2 scale, IE=3/2, PD=3, SD=2"},iter4:{frequencies:[261.6255653006,267.82522324611,277.41331493081,278.97828136646,281.37089098366,287.35922746131,302.93486508491,307.2300216374,313.76772341995,330.79094463294,377.42704502382,390.96854140427,412.14986314478,470.26367433779,480.2976795817,495.79659597089,536.59937372878,654.0639132515],description:"Iterated 5/2 Scale, IE=5/2, PD=4, SD=3"},iter5:{frequencies:[261.6255653006,292.148547919,314.45380444784,328.62723446295,338.43307070995,355.46951807147,382.59222452561,401.8431885336,413.81298563886,422.03832066739,436.04260883433],description:"Iterated 5/3 Scale, analog of Hexachord, IE=5/3, PD=3, SD=2"},iter6:{frequencies:[261.6255653006,276.4345595629,292.10621368514,326.13597866239,344.58001283494,364.1180547998,406.52587839016,453.84026633778,506.69255051888,535.41976154541,565.73733351326,631.63886479716],description:"Iterated binary 1+SQR(2) scale, IE= 2.414214, G=2, PD=4, SD=2"},iter7:{frequencies:[261.6255653006,279.30296836145,298.19688088025,308.09852755794,318.34159693919,339.84351781315,362.8203594263,387.34174602946,400.24806631808,413.53718386224,441.49314144476],description:"Iterated 27/16 Scale, analog of Hexachord, IE=27/16, PD=3, SD=2"},iter8:{frequencies:[261.6255653006,298.19688088025,308.09852755794,318.34159693919,339.84351781315,362.8203594263,387.34174602946,400.24806631808,413.53718386224,441.49314144476],description:"Iterated 27/16 Scale, analog of Hexachord, IE=27/16, PD=2, SD=2"},iter9:{frequencies:[261.6255653006,298.19688088025,339.84351781315,387.34174602946,413.53718386224,441.49314144476],description:"Iterated 27/16 Scale, analog of Hexachord, IE=27/16, PD=2, SD=12"},ives:{frequencies:[261.6255653006,302.26980244078,349.22823143301,375.37611551499,433.69180740168,501.06699929295,578.9091089468,622.25396744417],description:`Charles Ives' stretched major scale, "Scrapbook" pp. 108-110`},ives2a:{frequencies:[261.6255653006,303.72829164664,352.60650301302,379.92060676531,441.0602510811,512.03893786214,594.44004134205,640.48740045057],description:"Speculation by Joe Monzo for Ives' other stretched scale"},ives2b:{frequencies:[261.6255653006,300.81831683262,345.88232658126,370.885984045,426.44646246473,490.3301667422,563.78395315523,604.53960488156],description:"Alt. speculation by Joe Monzo for Ives' other stretched scale"},abell1:{frequencies:[261.6255653006,273.68256372566,292.6487650037,305.95868600104,327.16162250699,342.04121835587,365.95599773772,391.31674786192,409.35055662695,437.71854962063,457.62637091093,489.33987776603,523.2511306012],description:"Ross Abell's French Baroque Meantone 1, a'=520"},abell2:{frequencies:[261.6255653006,275.90473010106,294.68429813772,308.79945157961,330.00857764288,348.01999353916,369.14054089803,392.90218486657,412.67427966689,441.52756934418,463.21121723949,493.59810545034,523.2511306012],description:"Ross Abell's French Baroque Meantone 2, a'=520"},abell3:{frequencies:[261.6255653006,275.90505521365,293.49576926806,308.08682543008,329.24698751194,350.03632176331,368.71497179837,392.44893164635,412.28324979826,440.25465969448,462.14293627657,492.7440237889,523.2511306012],description:"Ross Abell's French Baroque Meantone 3, a' = 520"},abell4:{frequencies:[261.6255653006,274.95017225036,292.98704147282,308.2648062752,328.10786809908,346.01554587335,367.43868454848,391.54284657258,411.48414905414,438.47771564426,461.87534079415,491.0387427573,523.2511306012],description:"Ross Abell's French Baroque Meantone 4, a'=520"},abell5:{frequencies:[261.6255653006,277.98432293805,295.87822452474,311.66659310186,331.15428443044,349.43001184052,371.27895029721,395.6350356808,416.26536455926,442.29334161825,466.70260620202,495.88429116026,523.2511306012],description:"Ross Abell's French Baroque Meantone 5, a'=520"},abell6:{frequencies:[261.6255653006,277.02257024271,293.32570896007,311.66659310186,330.00857764288,349.43001184052,369.99442271164,391.76907592069,414.82519580403,440.76312290327,466.70260620202,494.16866184506,523.2511306012],description:"Ross Abell's French Baroque Meantone 6, a'=520"},abell7:{frequencies:[261.6255653006,277.50302994288,294.34406205295,310.05056613125,328.86683469969,348.82502010853,369.99442271164,392.44854854484,416.26536455926,438.47771564426,465.08793784701,493.31307433255,523.2511306012],description:"Ross Abell's French Baroque Meantone 7, a'=520"},abell8:{frequencies:[261.6255653006,277.82379926216,294.68429813772,311.48661940174,329.62755691287,350.03605285217,371.27895029721,392.44854854484,415.30469757995,441.01779121056,467.78216486233,494.45418731234,523.2511306012],description:"Ross Abell's French Baroque Meantone 8, a'=520"},abell9:{frequencies:[261.6255653006,276.06414495892,293.32570896007,309.69258848748,330.19925313612,348.62358905703,369.14054089803,391.99543598175,412.67427966689,440,464.55095742407,493.88330125613,523.2511306012],description:"Ross Abell's French Baroque Meantone 9, a'=520"},"ad-dik":{frequencies:[261.6255653006,269.0348830679,275.62199471997,285.40970760065,294.32876096318,300.46061014991,310.07474405997,321.08592105074,327.03195662575,336.37572681506,348.83408706747,358.80077526939,367.49599295996,378.42269266694,392.4383479509,400.61414686654,413.43299207996,428.11456140098,441.49314144476,453.48431318771,470.92601754108,479.64686971777,490.54793493862,508.71637697339,523.2511306012],description:"Amin Ad-Dik, d'Erlanger, vol 5, p.42"},adjeng:{frequencies:[261.6255653006,285.30470202322,305.78200836532,383.0422478503,417.71053321823,523.2511306012],description:"Soeroepan adjeng"},aeolic:{frequencies:[261.6255653006,294.32876096318,310.07474405997,348.83408706747,392.4383479509,413.43299207996,465.11211608996,523.2511306012],description:"Ancient Greek Aeolic, also tritriadic scale of the 54:64:81 triad"},agricola:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.42486507835,331.11985608357,348.83408706747,367.91095120397,392.4383479509,413.89982010446,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"Agricola's Monochord, Rudimenta musices (1539)"},"al-din":{frequencies:[261.6255653006,275.62199471997,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,367.49599295996,387.15627241873,392.4383479509,413.43299207996,435.55080647107,441.49314144476,465.11211608996,489.99465727995,516.20836322497,523.2511306012,551.24398943995,580.73440862809,588.65752192635,620.14948811994,653.3262097066,688.27781763329,697.66817413493,734.99198591993,774.31254483746,784.8766959018,826.86598415992,871.10161294214,917.70375684439,930.22423217991,979.98931455991,1032.41672644994,1046.5022612024,1102.48797887989],description:"Safi al-Din's complete lute tuning on 5 strings 4/3 apart"},"al-din_19":{frequencies:[261.6255653006,275.62199471997,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,344.13890881665,348.83408706747,367.49599295996,387.15627241873,392.4383479509,413.43299207996,435.55080647107,441.49314144476,458.8518784222,465.11211608996,489.99465727995,516.20836322497,523.2511306012],description:"Arabic scale by Safi al-Din"},"al-farabi":{frequencies:[261.6255653006,279.06726965397,299.00064605783,348.83408706747,392.4383479509,418.60090448096,448.50096908674,523.2511306012],description:"Al-Farabi Syn Chrom"},"al-farabi_19":{frequencies:[261.6255653006,275.62199471997,285.40970760065,294.32876096318,310.07474405997,326.6631048533,331.11985608357,336.87132687997,348.83408706747,367.49599295996,380.54627680087,392.4383479509,413.43299207996,435.55080647107,441.49314144476,455.28980211491,465.11211608996,489.99465727995,507.3950357345,523.2511306012],description:"Arabic scale by Al Farabi"},"al-farabi_22":{frequencies:[261.6255653006,275.62199471997,277.01530443593,285.40970760065,294.32876096318,310.07474405997,321.08592105074,326.6631048533,331.11985608357,348.83408706747,367.49599295996,369.35373924791,380.54627680087,392.4383479509,413.43299207996,428.11456140098,435.55080647107,441.49314144476,465.11211608996,489.99465727995,492.47165233054,507.3950357345,523.2511306012],description:"Al-Farabi 22 note ud scale"},"al-farabi_9":{frequencies:[261.6255653006,294.32876096318,321.08592105074,331.11985608357,348.83408706747,392.4383479509,428.11456140098,441.49314144476,465.11211608996,523.2511306012],description:"Al-Farabi 9 note ud scale"},"al-farabi_blue":{frequencies:[261.6255653006,294.32876096318,367.91095120397,380.81054504865,392.4383479509,490.54793493862,506.89953276991,523.2511306012],description:"Another tuning from Al Farabi, c700 AD"},"al-farabi_chrom":{frequencies:[261.6255653006,294.32876096318,353.19451315581,372.50983809402,392.4383479509,470.92601754108,497.08857407114,523.2511306012],description:"Al Farabi's Chromatic c700 AD"},"al-farabi_chrom2":{frequencies:[261.6255653006,279.06726965397,325.57848126297,348.83408706747,392.4383479509,418.60090448096,488.36772189445,523.2511306012],description:"Al-Farabi's Chromatic permuted"},"al-farabi_diat":{frequencies:[261.6255653006,299.00064605783,341.71502406609,348.83408706747,392.4383479509,448.50096908674,512.57253609913,523.2511306012],description:"Al-Farabi's Diatonic"},"al-farabi_diat2":{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:"Old Phrygian, permuted form of Al-Farabi's reduplicated 10/9 diatonic genus, same as ptolemy_diat"},"al-farabi_div":{frequencies:[261.6255653006,275.62199471997,277.01530443593,284.45195690401,288.32205155576,294.32876096318,310.07474405997,311.64221749042,321.08592105074,331.11985608357,348.83408706747],description:"Al Farabi's 10 intervals for the division of the tetrachord"},"al-farabi_div2":{frequencies:[261.6255653006,275.62199471997,277.01530443593,279.38237857051,284.45195690401,288.32205155576,294.32876096318,310.07474405997,311.64221749042,314.30517589183,321.08592105074,331.11985608357,348.83408706747],description:"Al-Farabi's tetrachord division, incl. extra 2187/2048 & 19683/16384"},"al-farabi_divo":{frequencies:[261.6255653006,275.62199471997,277.01530443593,284.45195690401,288.32205155576,294.32876096318,310.07474405997,311.64221749042,321.08592105074,331.11985608357,348.83408706747,367.49599295996,369.35373924791,379.26927587201,392.4383479509,413.43299207996,415.52295665389,426.67793535601,432.48307733364,441.49314144476,465.11211608996,467.46332623563,481.6288815761,496.67978412536,523.2511306012],description:"Al Farabi's theoretical octave division with identical tetrachords, 10th c."},"al-farabi_dor":{frequencies:[261.6255653006,282.55561052465,313.95067836072,348.83408706747,392.4383479509,423.83341578697,470.92601754108,523.2511306012],description:"Dorian mode of Al-Farabi's 10/9 Diatonic"},"al-farabi_dor2":{frequencies:[261.6255653006,267.07609791103,305.22982618403,348.83408706747,392.4383479509,400.61414686654,457.84473927605,523.2511306012],description:"Dorian mode of Al-Farabi's Diatonic"},"al-farabi_g1":{frequencies:[261.6255653006,294.32876096318,331.11985608357,367.91095120397,392.4383479509,441.49314144476,490.54793493862,523.2511306012],description:"Al-Farabi's Greek genus conjunctum medium, Land"},"al-farabi_g10":{frequencies:[261.6255653006,294.32876096318,343.38355445704,367.91095120397,392.4383479509,457.84473927605,490.54793493862,523.2511306012],description:"Al-Farabi's Greek genus chromaticum forte"},"al-farabi_g11":{frequencies:[261.6255653006,294.32876096318,353.19451315581,372.50983809402,392.4383479509,470.92601754108,496.67978412536,523.2511306012],description:"Al-Farabi's Greek genus chromaticum mollissimum"},"al-farabi_g12":{frequencies:[261.6255653006,294.32876096318,367.91095120397,380.17464957743,392.4383479509,490.54793493862,506.89953276991,523.2511306012],description:"Al-Farabi's Greek genus mollissimum ordinantium"},"al-farabi_g3":{frequencies:[261.6255653006,294.32876096318,336.37572681506,378.42269266694,392.4383479509,448.50096908674,504.56359022259,523.2511306012],description:"Al-Farabi's Greek genus conjunctum primum"},"al-farabi_g4":{frequencies:[261.6255653006,294.32876096318,336.37572681506,384.42940207435,392.4383479509,448.50096908674,512.57253609913,523.2511306012],description:"Al-Farabi's Greek genus forte duplicatum primum"},"al-farabi_g5":{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,436.04260883433,479.64686971777,523.2511306012],description:"Al-Farabi's Greek genus conjunctum tertium, or forte aequatum"},"al-farabi_g6":{frequencies:[261.6255653006,294.32876096318,336.37572681506,373.75080757229,392.4383479509,448.50096908674,498.33441009638,523.2511306012],description:"Al-Farabi's Greek genus forte disjunctum primum"},"al-farabi_g7":{frequencies:[261.6255653006,294.32876096318,343.38355445704,374.60024122586,392.4383479509,457.84473927605,499.46698830115,523.2511306012],description:"Al-Farabi's Greek genus non continuum acre"},"al-farabi_g8":{frequencies:[261.6255653006,294.32876096318,353.19451315581,378.42269266694,392.4383479509,470.92601754108,504.56359022259,523.2511306012],description:"Al-Farabi's Greek genus non continuum mediocre"},"al-farabi_g9":{frequencies:[261.6255653006,294.32876096318,367.91095120397,383.71749577421,392.4383479509,490.54793493862,511.62332769895,523.2511306012],description:"Al-Farabi's Greek genus non continuum laxum"},"al-hwarizmi":{frequencies:[261.6255653006,294.32876096318,302.73815413355,311.64221749042,321.08592105074,331.11985608357,348.83408706747],description:"Al-Hwarizmi's tetrachord division"},"al-kindi":{frequencies:[261.6255653006,275.62199471997,279.38237857051,294.32876096318,310.07474405997,331.11985608357,348.83408706747],description:"Al-Kindi's tetrachord division"},"al-kindi2":{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,367.49599295996,392.4383479509,413.43299207996,435.55080647107,441.49314144476,465.11211608996,489.99465727995,523.2511306012],description:"Arabic mode by al-Kindi"},"al-mausili":{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,331.11985608357,348.83408706747,367.49599295996,392.4383479509,413.43299207996,441.49314144476,465.11211608996,523.2511306012],description:"Arabic mode by Ishaq al-Mausili, ? - 850 AD"},albion:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Terry Riley's Harp of New Albion scale, inverse Malcolm's Monochord, 1/1 on C#"},alembert:{frequencies:[261.6255653006,273.70610837433,292.50627485027,307.8325111191,327.03195662575,347.99121610009,365.92863081328,391.22147055517,409.45161370755,437.39890198442,462.86717295458,489.22460251523,523.2511306012],description:"Jean-Le Rond d'Alembert modified meantone (1752)"},alembert2:{frequencies:[261.6255653006,274.99999938609,292.5775112526,309.28790118232,327.03195662575,348.53877105022,367.08095907728,391.31674786192,412.03444522126,437.50542525192,464.32494005553,489.99429388332,523.2511306012],description:"d'Alembert (?)"},alves:{frequencies:[261.6255653006,267.07609791103,294.32876096318,305.22982618403,327.03195662575,336.37572681506,348.83408706747,359.73515228832,392.4383479509,425.14154361347,448.50096908674,457.84473927605,504.56359022259,523.2511306012],description:'Bill Alves, tuning for "Instantaneous Motion", 1/1 vol. 6/3'},alves_22:{frequencies:[261.6255653006,269.80136421624,279.06726965397,287.78812183066,297.30177875068,305.22982618403,317.12189733406,327.03195662575,336.37572681506,348.83408706747,359.73515228832,370.01329949656,380.54627680087,392.4383479509,406.97310157871,418.60090448096,431.68218274599,448.50096908674,460.46099492906,475.68284600109,490.54793493862,507.3950357345,523.2511306012],description:"11-limit rational interpretation of 22-tET, Bill Alves, tuning list 9-1-98"},amity:{frequencies:[261.6255653006,265.19165427121,275.22357733525,278.97501409741,282.77758484276,286.63198489776,290.53892403345,294.49911672845,305.63971046081,309.80573452349,314.02854360428,318.30891171173,322.64762154083,327.04547204619,339.41726037801,344.04368955469,348.73317930436,353.48658917459,358.304790429,371.85908609843,376.92771379174,382.0654272409,387.27317253358,392.55190203235,397.90258328792,412.95482206782,418.58360545772,424.28911201625,430.07238503487,435.93448947821,452.42543551278,458.59222335614,464.84306764133,471.17911410024,477.60152408164,484.11147196776,502.42490579041,509.27320879713,516.21486058423,523.2511306012],description:"Amity temperament, g=339.508826, 5-limit"},angklung:{frequencies:[261.6255653006,294.70472480469,326.28010551578,372.13971319976,421.00655337609,533.77627782773,589.40944960937,672.10704388342,757.81210779894],description:"Scale of an anklung set from Tasikmalaya. 1/1=174 Hz"},appunn:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.38237857051,287.10624449997,290.69507255622,294.32876096318,302.46583782713,306.24666079997,310.07474405997,322.99452506247,327.03195662575,331.11985608357,340.27406755552,344.52749339997,348.83408706747,363.36884069528,367.91095120397,372.50983809402,382.80832599996,387.59343007496,392.4383479509,408.78994578219,413.89982010446,419.07356785577,430.65936674996,436.04260883433,441.49314144476,453.6987567407,459.36999119996,465.11211608996,484.4917875937,490.54793493862,496.67978412536,510.41110133328,516.79124009995,523.2511306012],description:"Probable tuning of A. Appunn's 36-tone harmonium w. 3 manuals 80/81 apart,1887"},arabic:{frequencies:[261.6255653006,275.62199471997,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,367.49599295996,387.15627241873,392.4383479509,413.43299207996,435.55080647107,441.49314144476,465.11211608996,489.99465727995,516.20836322497,523.2511306012],description:"Arabic 17-tone Pythagorean mode, Safi al-Din"},arabic_s:{frequencies:[261.6255653006,275.62199471997,290.69507255622,294.32876096318,310.07474405997,327.03195662575,331.11985608357,348.83408706747,367.91095120397,387.59343007496,392.4383479509,413.43299207996,436.04260883433,441.49314144476,465.11211608996,490.54793493862,516.79124009995,523.2511306012],description:"Schimatically altered Arabic 17-tone Pythagorean mode"},arch_chrom:{frequencies:[261.6255653006,271.31540105247,294.32876096318,348.83408706747,392.4383479509,406.97310157871,441.49314144476,523.2511306012],description:"Archytas' Chromatic"},arch_chromc2:{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,331.11985608357,343.38355445704,348.83408706747,361.75386806997,392.4383479509,406.97310157871,422.04617941496,441.49314144476,457.84473927605,496.67978412536,523.2511306012],description:"Product set of 2 of Archytas' Chromatic"},arch_dor:{frequencies:[261.6255653006,271.31540105247,294.32876096318,348.83408706747,392.4383479509,406.97310157871,465.11211608996,441.49314144476,523.2511306012],description:"Dorian mode of Archytas' Chromatic with added 16/9"},arch_enh:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,392.4383479509,406.97310157871,418.60090448096,523.2511306012],description:"Archytas' Enharmonic"},arch_enh2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,392.4383479509,406.97310157871,465.11211608996,418.60090448096,523.2511306012],description:"Archytas' Enharmonic with added 16/9"},arch_enh3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,336.37572681506,348.83408706747,358.80077526939,448.50096908674,523.2511306012],description:"Complex 9 of p. 113 based on Archytas's Enharmonic"},arch_enhp:{frequencies:[261.6255653006,269.10058145205,279.06726965397,348.83408706747,392.4383479509,403.65087217807,418.60090448096,523.2511306012],description:"Permutation of Archytas's Enharmonic with the 36/35 first"},arch_enht:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,336.37572681506,348.83408706747,504.56359022259,523.2511306012],description:"Complex 6 of p. 113 based on Archytas's Enharmonic"},arch_enht2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,348.83408706747,490.54793493862,508.71637697339,523.2511306012],description:"Complex 5 of p. 113 based on Archytas's Enharmonic"},arch_enht3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,281.36411960997,289.40309445597,348.83408706747,361.75386806997,523.2511306012],description:"Complex 1 of p. 113 based on Archytas's Enharmonic"},arch_enht4:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,339.14425131559,348.83408706747,436.04260883433,523.2511306012],description:"Complex 8 of p. 113 based on Archytas's Enharmonic"},arch_enht5:{frequencies:[261.6255653006,263.77886213435,271.31540105247,279.06726965397,339.14425131559,348.83408706747,508.71637697339,523.2511306012],description:"Complex 10 of p. 113 based on Archytas's Enharmonic"},arch_enht6:{frequencies:[261.6255653006,271.31540105247,279.06726965397,289.40309445597,297.67175429757,348.83408706747,372.08969287196,523.2511306012],description:"Complex 2 of p. 113 based on Archytas's Enharmonic"},arch_enht7:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,287.04062021552,348.83408706747,358.80077526939,523.2511306012],description:"Complex 11 of p. 113 based on Archytas's Enharmonic"},arch_mult:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,336.37572681506,348.83408706747,361.75386806997,392.4383479509,406.97310157871,418.60090448096,490.54793493862,504.56359022259,523.2511306012],description:"Multiple Archytas"},arch_ptol:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,310.07474405997,348.83408706747,361.75386806997,392.4383479509,406.97310157871,418.60090448096,436.04260883433,465.11211608996,523.2511306012],description:"Archytas/Ptolemy Hybrid 1"},arch_ptol2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,313.95067836072,348.83408706747,361.75386806997,392.4383479509,406.97310157871,418.60090448096,441.49314144476,470.92601754108,523.2511306012],description:"Archytas/Ptolemy Hybrid 2"},arch_sept:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,310.07474405997,348.83408706747,361.75386806997,392.4383479509,406.97310157871,418.60090448096,441.49314144476,465.11211608996,523.2511306012],description:"Archytas Septimal"},ariel1:{frequencies:[261.6255653006,282.55561052465,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Ariel 1"},ariel2:{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Ariel 2"},ariel3:{frequencies:[261.6255653006,279.06726965397,290.69507255622,310.07474405997,322.99452506247,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,465.11211608996,484.4917875937,523.2511306012],description:"Ariel's 12-tone JI scale"},ariel_19:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,302.80736724606,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,452.08897683944,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Ariel 19-tone scale"},ariel_31:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,283.88190679319,294.32876096318,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,376.74081403286,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,428.6473261885,436.04260883433,446.50763144636,454.2110508691,465.11211608996,482.22824196207,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Ariel's 31-tone system"},arist_archenh:{frequencies:[261.6255653006,271.89678302796,279.86396690685,349.22823143301,391.99543598175,407.38487419079,419.32216217931,523.2511306012],description:"PsAristo Arch. Enharmonic, 4 + 3 + 23 parts, similar to Archytas' enharmonic"},arist_chrom:{frequencies:[261.6255653006,277.18263097687,329.62755691287,349.22823143301,391.99543598175,415.30469757995,493.88330125613,523.2511306012],description:"Dorian, Neo-Chromatic,6+18+6 parts = Athanasopoulos' Byzant.liturg. 2nd chromatic"},arist_chrom2:{frequencies:[261.6255653006,282.57123920205,336.03572815422,349.22823143301,391.99543598175,423.37848741825,503.48470957687,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 8 + 18 + 4 parts"},arist_chrom3:{frequencies:[261.6255653006,279.86388595857,299.37253740865,349.22869576324,391.99491478937,419.32387668214,448.55625766774,523.2511306012],description:"PsAristo 3 Chromatic, 7 + 7 + 16 parts"},arist_chrom4:{frequencies:[261.6255653006,275.85166538713,290.85115308106,349.22823143301,391.99543598175,413.31050241775,435.7843409791,523.2511306012],description:"PsAristo Chromatic, 5.5 + 5.5 + 19 parts"},arist_chromenh:{frequencies:[261.6255653006,269.29177952703,293.66476791741,349.22823143301,391.99543598175,403.48177901006,440,523.2511306012],description:"Aristoxenos' Chromatic/Enharmonic, 3 + 9 + 18 parts"},arist_chrominv:{frequencies:[261.6255653006,311.12698372208,329.62755691287,349.22823143301,391.99543598175,466.16376151809,493.88330125613,523.2511306012],description:"Aristoxenos' Inverted Chromatic, Dorian mode, 18 + 6 + 6 parts"},arist_chromrej:{frequencies:[261.6255653006,277.18263097687,285.30470202322,349.22823143301,391.99543598175,415.30469757995,427.47405410759,523.2511306012],description:"Aristoxenos Rejected Chromatic, 6 + 3 + 21 parts"},arist_chromunm:{frequencies:[261.6255653006,273.20871865617,282.57118533961,349.22823143301,391.99543598175,409.35055662695,423.37840671577,523.2511306012],description:"Unmelodic Chromatic, genus of Aristoxenos, Dorian Mode, 4.5 + 3.5 + 22 parts"},arist_diat:{frequencies:[261.6255653006,293.66476791741,311.12698372208,349.22823143301,391.99543598175,440,466.16376151809,523.2511306012],description:"Phrygian octave species on E, 12 + 6 + 12 parts"},arist_diat2:{frequencies:[261.6255653006,279.86396690685,311.12698372208,349.22823143301,391.99543598175,419.32216217931,466.16376151809,523.2511306012],description:"PsAristo 2 Diatonic, 7 + 11 + 12 parts"},arist_diat3:{frequencies:[261.6255653006,286.68133251996,314.13668154225,349.22823143301,391.99543598175,429.53666932309,470.6732130613,523.2511306012],description:"PsAristo Diat 3, 9.5 + 9.5 + 11 parts"},arist_diat4:{frequencies:[261.6255653006,282.57123920205,305.19382000629,349.22823143301,391.99543598175,423.37848741825,457.27406033445,523.2511306012],description:"PsAristo Diatonic, 8 + 8 + 14 parts"},arist_diatdor:{frequencies:[261.6255653006,299.37379946195,305.19382000629,349.22823143301,391.99543598175,448.5538823653,457.27406033445,523.2511306012],description:"PsAristo Redup. Diatonic, 14 + 2 + 14 parts"},arist_diatinv:{frequencies:[261.6255653006,293.66476791741,329.62755691287,349.22823143301,391.99543598175,440,493.88330125613,523.2511306012],description:"Lydian octave species on E, major mode, 12 + 12 + 6 parts"},arist_diatred:{frequencies:[261.6255653006,299.37379946195,342.56848033562,349.22823143301,391.99543598175,448.5538823653,513.27277840175,523.2511306012],description:"Aristo Redup. Diatonic, Dorian Mode, 14 + 14 + 2 parts"},arist_diatred2:{frequencies:[261.6255653006,271.89678302796,308.14612137864,349.22823143301,391.99543598175,407.38487419079,461.69751437372,523.2511306012],description:"PsAristo 2 Redup. Diatonic 2, 4 + 13 + 13 parts"},arist_diatred3:{frequencies:[261.6255653006,282.57123920205,314.13668154225,349.22823143301,391.99543598175,423.37848741825,470.6732130613,523.2511306012],description:"PsAristo 3 Redup. Diatonic, 8 + 11 + 11 parts"},arist_enh:{frequencies:[261.6255653006,269.29177952703,277.18263097687,349.22823143301,391.99543598175,403.48177901006,415.30469757995,523.2511306012],description:"Aristoxenos' Enharmonion, Dorian mode"},arist_enh2:{frequencies:[261.6255653006,270.59109411209,279.86402025325,349.22823143301,391.99543598175,405.42855124795,419.32224210861,523.2511306012],description:"PsAristo 2 Enharmonic, 3.5 + 3.5 + 23 parts"},arist_enh3:{frequencies:[261.6255653006,267.99870394401,274.52693220706,349.22823143301,391.99543598175,401.54435471309,411.32564531909,523.2511306012],description:"PsAristo Enharmonic, 2.5 + 2.5 + 25 parts"},arist_hemchrom:{frequencies:[261.6255653006,273.20871865617,285.30470202322,349.22823143301,391.99543598175,409.35055662695,427.47405410759,523.2511306012],description:"Aristoxenos's Chromatic Hemiolion, Dorian Mode"},arist_hemchrom2:{frequencies:[261.6255653006,273.20871865617,293.66476791741,349.22823143301,391.99543598175,409.35055662695,440,523.2511306012],description:"PsAristo C/H Chromatic, 4.5 + 7.5 + 18 parts"},arist_hemchrom3:{frequencies:[261.6255653006,271.81876914348,282.83844897362,348.83408706747,392.4383479509,407.72815371522,424.25767346043,523.2511306012],description:"Dorian mode of Aristoxenos' Hemiolic Chromatic according to Ptolemy's interpret"},arist_hypenh2:{frequencies:[261.6255653006,267.3544191957,273.20871865617,349.22823143301,391.99543598175,400.57901831518,409.35055662695,523.2511306012],description:"PsAristo 2nd Hyperenharmonic, 37.5 + 37.5 + 425 cents"},arist_hypenh3:{frequencies:[261.6255653006,265.43099677612,269.29177952703,349.22823143301,391.99543598175,397.69714089209,403.48177901006,523.2511306012],description:"PsAristo 3 Hyperenharmonic, 1.5 + 1.5 + 27 parts"},arist_hypenh4:{frequencies:[261.6255653006,266.71168334607,271.8968348557,349.22823143301,391.99543598175,399.61600264311,407.38495184466,523.2511306012],description:"PsAristo 4 Hyperenharmonic, 2 + 2 + 26 parts"},arist_hypenh5:{frequencies:[261.6255653006,265.12453591719,268.67030163715,349.22823143301,391.99543598175,397.23796841836,402.55061428954,523.2511306012],description:"PsAristo Hyperenharmonic, 23 + 23 + 454 cents"},arist_intdiat:{frequencies:[261.6255653006,275.39533189537,307.79478270659,348.83408706747,392.4383479509,413.09299784305,461.69217405988,523.2511306012],description:"Dorian mode of Aristoxenos's Intense Diatonic according to Ptolemy"},arist_penh2:{frequencies:[261.6255653006,269.29177952703,339.28638158975,349.22823143301,391.99543598175,403.48177901006,508.3551866238,523.2511306012],description:"Permuted Aristoxenos's Enharmonion, 3 + 24 + 3 parts"},arist_penh3:{frequencies:[261.6255653006,329.62755691287,339.28638158975,349.22823143301,391.99543598175,493.88330125613,508.3551866238,523.2511306012],description:"Permuted Aristoxenos's Enharmonion, 24 + 3 + 3 parts"},arist_pschrom2:{frequencies:[261.6255653006,278.52001838539,296.50560089735,349.22823143301,391.99543598175,417.30851459865,444.25644015807,523.2511306012],description:"PsAristo 2 Chromatic, 6.5 + 6.5 + 17 parts"},arist_softchrom:{frequencies:[261.6255653006,271.89678302796,282.57123920205,349.22823143301,391.99543598175,407.38487419079,423.37848741825,523.2511306012],description:"Aristoxenos's Chromatic Malakon, Dorian Mode"},arist_softchrom2:{frequencies:[261.6255653006,277.18263097687,324.90175210669,349.22823143301,391.99543598175,415.30469757995,486.80259447109,523.2511306012],description:"Aristoxenos' Soft Chromatic, 6 + 16.5 + 9.5 parts"},arist_softchrom3:{frequencies:[261.6255653006,281.2143451833,329.62755691287,349.22823143301,391.99543598175,421.34544350737,493.88330125613,523.2511306012],description:"Aristoxenos's Chromatic Malakon, 9.5 + 16.5 + 6 parts"},arist_softchrom4:{frequencies:[261.6255653006,277.18263097687,297.93622032612,349.22823143301,391.99543598175,415.30469757995,446.39994737251,523.2511306012],description:"PsAristo S. Chromatic, 6 + 7.5 + 16.5 parts"},arist_softchrom5:{frequencies:[261.6255653006,270.64713651786,280.31310567921,348.83408706747,392.4383479509,405.97070477679,420.46965851882,523.2511306012],description:"Dorian mode of Aristoxenos' Soft Chromatic according to Ptolemy's interpretati"},arist_softdiat:{frequencies:[261.6255653006,277.18263097687,302.26980244078,349.22823143301,391.99543598175,415.30469757995,452.89298412314,523.2511306012],description:"Aristoxenos's Diatonon Malakon, Dorian Mode"},arist_softdiat2:{frequencies:[261.6255653006,277.18263097687,320.24370022528,349.22823143301,391.99543598175,415.30469757995,479.82340237272,523.2511306012],description:"Dorian Mode, 6 + 15 + 9 parts"},arist_softdiat3:{frequencies:[261.6255653006,285.30470202322,329.62755691287,349.22823143301,391.99543598175,427.47405410759,466.16376151809,523.2511306012],description:"Dorian Mode, 9 + 15 + 6 parts"},arist_softdiat4:{frequencies:[261.6255653006,285.30470202322,302.26980244078,349.22823143301,391.99543598175,427.47405410759,452.89298412314,523.2511306012],description:"Dorian Mode, 9 + 6 + 15 parts"},arist_softdiat5:{frequencies:[261.6255653006,302.26980244078,320.24370022528,349.22823143301,391.99543598175,452.89298412314,479.82340237272,523.2511306012],description:"Dorian Mode, 15 + 6 + 9 parts"},arist_softdiat6:{frequencies:[261.6255653006,302.26980244078,329.62755691287,349.22823143301,391.99543598175,452.89298412314,493.88330125613,523.2511306012],description:"Dorian Mode, 15 + 9 + 6 parts"},arist_softdiat7:{frequencies:[261.6255653006,275.39533189537,299.00064605783,348.83408706747,392.4383479509,413.09299784305,448.50096908674,523.2511306012],description:"Dorian mode of Aristoxenos's Soft Diatonic according to Ptolemy"},arist_synchrom:{frequencies:[261.6255653006,277.18263097687,293.66476791741,349.22823143301,391.99543598175,415.30469757995,440,523.2511306012],description:"Aristoxenos's Chromatic Syntonon, Dorian Mode"},arist_syndiat:{frequencies:[261.6255653006,277.18263097687,311.12698372208,349.22823143301,391.99543598175,415.30469757995,466.16376151809,523.2511306012],description:"Aristoxenos's Diatonon Syntonon, Dorian Mode"},arist_unchrom:{frequencies:[261.6255653006,271.89678302796,293.66476791741,349.22823143301,391.99543598175,407.38487419079,440,523.2511306012],description:"Aristoxenos's Unnamed Chromatic, Dorian Mode, 4 + 8 + 18 parts"},arist_unchrom2:{frequencies:[261.6255653006,282.57123920205,293.66476791741,349.22823143301,391.99543598175,423.37848741825,440,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 8 + 4 + 18 parts"},arist_unchrom3:{frequencies:[261.6255653006,311.12698372208,323.3415889232,349.22823143301,391.99543598175,466.16376151809,484.46499093218,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 18 + 4 + 8 parts"},arist_unchrom4:{frequencies:[261.6255653006,311.12698372208,336.03572815422,349.22823143301,391.99543598175,466.16376151809,503.48470957687,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 18 + 8 + 4 parts"},arith13:{frequencies:[261.6255653006,269.80136421624,294.32876096318,318.85615771011,327.03195662575,343.38355445704,367.91095120397,371.99885066179,392.4383479509,449.66894036041,457.84473927605,490.54793493862,523.2511306012],description:"The first 13 terms of the arithmetic series, octave reduced"},arith22:{frequencies:[261.6255653006,269.80136421624,277.97716313189,294.32876096318,312.72430852337,318.85615771011,327.03195662575,343.38355445704,349.51540364377,367.91095120397,371.99885066179,388.35044849308,392.4383479509,429.2294430713,449.66894036041,457.84473927605,472.15238737843,490.54793493862,517.11928141447,523.2511306012],description:"The first 22 terms of the arithmetic series, octave reduced"},arnautoff_21:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,361.75386806997,367.91095120397,372.08969287196,378.42269266694,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,465.11211608996,490.54793493862,504.56359022259,523.2511306012],description:"Philip Arnautoff, transposed Archytas enharmonic (2005), 1/1 vol 12/1"},"aron-neidhardt":{frequencies:[261.6255653006,275.62199471997,292.53519855339,310.07474405997,327.04005607367,348.83408706747,367.49599295996,391.42133845759,413.43299207996,437.43855491017,465.11211608996,489.99465727995,523.2511306012],description:"Aron-Neidhardt equal beating well temperament"},art_nam:{frequencies:[261.6255653006,287.78812183066,317.68818643644,324.77656382143,348.83408706747,353.19451315581,392.4383479509,431.68218274599,473.41768959156,523.2511306012],description:"Artificial Nam System"},artusi:{frequencies:[261.6255653006,276.63528606528,292.50629850443,309.28767786778,327.03195662575,349.91920725962,369.99442271164,391.22137338448,413.66637442451,437.39882871549,462.49310482954,489.02679755603,523.2511306012],description:"Lute tuning of Giovanni Maria Artusi (1603). 1/4-comma w. acc. 1/2-way naturals"},astro:{frequencies:[13.75,13.8316453704,13.91377553836,13.99639338254,14.07098381034,14.15453513289,14.23858257025,14.32312915102,14.40817767355,14.49373120103,14.57979273211,14.66636528323,14.75345188876,14.84105560105,14.92917949063,15.01782664621,15.10700017487,15.1875093157,15.27769039377,15.36840704189,15.45966226264,15.55145934276,15.64380149972,15.73669197012,15.83013400973,15.92413089371,16.01868591662,16.11380239262,16.20948365552,16.30573305894,16.39263055969,16.48996755631,16.58788242969,16.68637870643,16.78545983879,16.88512929958,16.98539058219,17.08624720077,17.18770269033,17.28976060687,17.39242452751,17.49569805061,17.59958489756,17.69337767194,17.7984382082,17.90412257766,18.01043448453,18.11737765504,18.22495583753,18.33317280261,18.44203234327,18.55153827502,18.66169443603,18.77250468726,18.88397302169,18.99610312873,19.09733831271,19.21073534981,19.32480572095,19.43955342429,19.55498248173,19.67109693902,19.78790086598,19.90539835657,20.02359352906,20.14249064253,20.26209363229,20.38240680608,20.50343438087,20.62518059864,20.73509756099,20.85821935885,20.98207223488,21.1066605301,21.23198861133,21.35806087129,21.4848817288,21.61245575376,21.74078716869,21.86988059568,21.99974055944,22.13037161156,22.26177833063,22.38041714879,22.51330859954,22.64698913914,22.78146345308,22.91673625467,23.0528122852,23.18969644807,23.32739327396,23.46590772227,23.60524464792,23.74540893465,23.88640549521,24.02823927151,24.15629202037,24.29972834105,24.44401636439,24.58916114767,24.73516777819,24.8820415172,25.02978722599,25.17841022592,25.32791572621,25.478308967,25.62959521956,25.78177978645,25.93486800174,26.07308167197,26.22789959273,26.38363679833,26.54029874734,26.69789108494,26.85641902723,27.01588828389,27.17630444429,27.33767313101,27.5],description:"Astro temperament, g=132.194511, 5-limit"},athan_chrom:{frequencies:[261.6255653006,285.30470202322,329.62755691287,349.22823143301,391.99543598175,427.47405410759,493.88330125613,523.2511306012],description:"Athanasopoulos's Byzantine Liturgical mode Chromatic"},auftetf:{frequencies:[261.6255653006,264.29521392612,269.80136421624,287.78812183066,359.73515228832,380.54627680087,384.42940207435,392.4383479509,418.60090448096],description:"5/4 C.I. again"},augmented:{frequencies:[261.6255653006,312.71213182188,329.62755691287,393.99259743989,415.30469757995,496.39956701727,523.2511306012],description:"Augmented temperament, g=91.2, oct=1/3, 5-limit"},augteta:{frequencies:[261.6255653006,280.76889934699,302.93486508491,328.90071066361,359.73515228832,380.54627680087,408.39112632289,440.63253103259,478.40103369253],description:"Linear Division of the 11/8, duplicated on the 16/11"},augteta2:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,366.27579142084,373.75080757229,402.50086969323,436.04260883433,475.68284600109],description:"Linear Division of the 7/5, duplicated on the 10/7"},augtetb:{frequencies:[261.6255653006,270.8594087818,280.76889934699,302.93486508491,359.73515228832,380.54627680087,295.48299139832,408.39112632289,440.63253103259],description:"Harmonic mean division of 11/8"},augtetc:{frequencies:[261.6255653006,280.31310567921,301.87565226992,327.03195662575,359.73515228832,380.54627680087,407.72815371522,439.09185784716,475.68284600109],description:"11/10 C.I."},augtetd:{frequencies:[261.6255653006,271.68808704293,282.55561052465,294.32876096318,359.73515228832,380.54627680087,395.18267206244,410.98997894494,428.11456140098],description:"11/9 C.I."},augtete:{frequencies:[261.6255653006,269.80136421624,278.50463402967,287.78812183066,359.73515228832,380.54627680087,392.4383479509,405.0976494977,418.60090448096],description:"5/4 C.I."},augtetg:{frequencies:[261.6255653006,278.50463402967,297.71185016965,319.76457981184,359.73515228832,380.54627680087,405.0976494977,433.03541842858,465.11211608996],description:"9/8 C.I."},augteth:{frequencies:[261.6255653006,278.50463402967,287.78812183066,319.76457981184,359.73515228832,380.54627680087,405.0976494977,418.60090448096,465.11211608996],description:"9/8 C.I. A gapped version of this scale is called AugTetI"},augtetj:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,380.54627680087,428.11456140098,475.68284600109],description:"9/8 C.I. comprised of 11:10:9:8 subharmonic series on 1 and 8:9:10:11 on 16/11"},augtetk:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,380.54627680087,418.60090448096,465.11211608996],description:"9/8 C.I. This is the converse form of AugTetJ"},augtetl:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,380.54627680087,428.11456140098,475.68284600109],description:"9/8 C.I. This is the harmonic form of AugTetI"},avg_bac:{frequencies:[261.6255653006,290.69507255622,307.79478270659,348.83408706747,392.4383479509,436.04260883433,461.69217405988,523.2511306012],description:"Average Bac System"},avicenna:{frequencies:[261.6255653006,290.69507255622,299.00064605783,348.83408706747,392.4383479509,436.04260883433,448.50096908674,523.2511306012],description:"Soft diatonic of Avicenna (Ibn Sina)"},avicenna_17:{frequencies:[261.6255653006,278.99913799634,283.42769574232,294.32876096318,310.07474405997,318.85615771011,331.11985608357,348.83408706747,371.99885066179,377.90359432309,392.4383479509,413.43299207996,425.14154361347,441.49314144476,465.11211608996,495.99846754905,503.87145909745,523.2511306012],description:"Tuning by Avicenna (Ibn Sina), Ahmed Mahmud Hifni, Cairo, 1977"},avicenna_19:{frequencies:[261.6255653006,275.62199471997,283.49690885483,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,358.80077526939,372.50983809402,377.99587847311,392.4383479509,413.43299207996,425.24536328225,441.49314144476,465.11211608996,478.40103369253,496.67978412536,503.45611792634,523.2511306012],description:"Arabic scale by Ibn Sina"},avicenna_chrom:{frequencies:[261.6255653006,269.10058145205,299.00064605783,348.83408706747,392.4383479509,403.65087217807,448.50096908674,523.2511306012],description:"Dorian mode a chromatic genus of Avicenna"},avicenna_chrom2:{frequencies:[261.6255653006,271.8968348557,323.34165055711,349.22823143301,391.99543598175,407.38495184466,484.46508327871,523.2511306012],description:"Dorian Mode, a 1:2 Chromatic, 4 + 18 + 8 parts"},avicenna_chrom3:{frequencies:[261.6255653006,290.69507255622,339.14425131559,348.83408706747,392.4383479509,436.04260883433,508.71637697339,523.2511306012],description:"Avicenna's Chromatic permuted"},avicenna_diat:{frequencies:[261.6255653006,281.75060878526,305.22982618403,348.83408706747,392.4383479509,422.62591317789,457.84473927605,523.2511306012],description:"Dorian mode a soft diatonic genus of Avicenna"},avicenna_diff:{frequencies:[261.6255653006,269.80136421624,286.15296204753,294.32876096318,310.68035879446,343.38355445704,367.91095120397,392.4383479509,400.61414686654,441.49314144476,457.84473927605,515.07533168556,523.2511306012],description:"Difference tones of Avicenna's Soft diatonic reduced by 2/1"},avicenna_enh:{frequencies:[261.6255653006,268.33391312882,279.06726965397,348.83408706747,392.4383479509,402.50086969323,418.60090448096,523.2511306012],description:"Dorian mode of Avicenna's (Ibn Sina) Enharmonic genus"},awad:{frequencies:[261.6255653006,268.33391312882,275.39533189537,282.83844897362,290.69507255622,299.00064605783,307.79478270659,317.12189733406,327.03195662575,337.58137458142,348.83408706747,358.80077526939,369.35373924791,380.54627680087,392.4383479509,402.50086969323,413.09299784305,424.25767346043,436.04260883433,448.50096908674,461.69217405988,475.68284600109,490.54793493862,506.37206187213,523.2511306012],description:"d'Erlanger vol.5, p.37, after Mans.ur 'Awad"},awraamoff:{frequencies:[261.6255653006,294.32876096318,299.00064605783,313.95067836072,327.03195662575,343.38355445704,348.83408706747,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Awraamoff Septimal Just"},ayers:{frequencies:[261.6255653006,268.89294211451,276.57559760349,284.71017400359,293.33775503401,302.50455987882,312.26277148781,322.67153053741,333.7981350387,345.71949700436,358.52392281934,372.31330446624,387.20583664489,403.33941317176,420.87590939662,440.00663255101,460.95932933915,484.00729580611,509.48136400643,537.78588422901,569.42034800719,605.00911975764,645.34306107481,691.43899400873,744.62660893248,806.67882634352,880.01326510202,968.01459161222,1075.57176845802,1210.01823951527,1382.87798801746,1613.35765268703,1936.02918322444,2420.03647903055,3226.71530537407,4840.0729580611,9680.1459161222],description:"Lydia Ayers, algorithmic composition, subharmonics 1-37"},ayers_19:{frequencies:[261.6255653006,268.89294211451,276.57559760349,284.71017400359,293.33775503401,302.50455987882,312.26277148781,322.67153053741,333.7981350387,345.71949700436,358.52392281934,372.31330446624,387.20583664489,403.33941317176,420.87590939662,440.00663255101,460.95932933915,484.00729580611,509.48136400643,523.2511306012],description:"Scale for NINETEEN, for 19 for the 90's CD. Repeats at 37/19 (or 2/1)"},ayers_ap:{frequencies:[261.6255653006,299.00064605783,336.37572681506,388.70083987518,448.50096908674,523.2511306012],description:"Lydia Ayers' Appetizer, ICMC 96, Balinese Slendro from Singaraja,"},ayers_me:{frequencies:[261.6255653006,280.31310567921,299.00064605783,308.34441624714,336.37572681506,392.4383479509,420.46965851882,448.50096908674,504.56359022259,523.2511306012],description:"Scale for Merapi (1996), Lydia Ayers. Slendro 0 2 4 5 7 9, Pelog 0 1 3 6 8 9"},h10_27:{frequencies:[261.6255653006,281.00523680435,300.3849083081,319.76457981184,348.83408706747,368.21375857121,397.28326582684,426.35277308246,455.42228033808,484.4917875937,523.2511306012],description:"10-tET harmonic approximation, fundamental=27"},h12_24:{frequencies:[261.6255653006,272.52663052146,294.32876096318,316.13089140489,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,468.74580449691,490.54793493862,523.2511306012],description:"12-tET harmonic approximation, fundamental=24"},h14_27:{frequencies:[261.6255653006,271.31540105247,290.69507255622,300.3849083081,319.76457981184,339.14425131559,348.83408706747,368.21375857121,387.59343007496,406.97310157871,426.35277308246,455.42228033808,474.80195184183,494.18162334558,523.2511306012],description:"14-tET harmonic approximation, fundamental=27"},h15_24:{frequencies:[261.6255653006,272.52663052146,283.42769574232,305.22982618403,316.13089140489,327.03195662575,348.83408706747,359.73515228832,381.53728273004,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,501.44900015948,523.2511306012],description:"15-tET harmonic approximation, fundamental=24"},hahn9:{frequencies:[261.6255653006,286.15296204753,313.95067836072,327.03195662575,366.27579142084,392.4383479509,418.60090448096,457.84473927605,490.54793493862,523.2511306012],description:"Paul Hahn's just version of 9 out of 31 scale. TL 6-8-'98"},hahn_7:{frequencies:[261.6255653006,274.70684356563,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,488.36772189445,523.2511306012],description:"Paul Hahn's scale with 32 consonant 7-limit dyads. TL '99, see also smithgw_hahn12"},hahn_g:{frequencies:[261.6255653006,280.50183143454,294.66523452594,309.54379154736,331.87735433448,348.63486612079,373.78884718875,392.66259958718,420.99317852788,442.25042328711,464.58101193362,498.10049926644,523.2511306012],description:'fourth of sqrt(2)-1 octave "recursive" meantone, Paul Hahn'},hahnmaxr:{frequencies:[261.6255653006,275.93321340298,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,459.88868900496,490.54793493862,523.2511306012],description:"Paul Hahn's hahn_7 marvel projected to the 5-limit"},halfefg357777:{frequencies:[261.6255653006,280.31310567921,299.00064605783,320.35783506196,341.71502406609,375.57576268738,400.61414686654,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Half genus [357777]"},hamilton:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,319.76457981184,338.57426097725,359.73515228832,383.71749577421,411.12588832951,426.35277308246,442.75095666255,479.64686971777,523.2511306012],description:"Elsie Hamilton's gamut, from article The Modes of Ancient Greek Music (1953)"},hamilton_jc:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,319.76457981184,359.73515228832,338.57426097725,411.12588832951,383.71749577421,442.75095666255,426.35277308246,479.64686971777,523.2511306012],description:"Chalmers' permutation of Hamilton's gamut. Diatonic notes on white"},hamilton_jc2:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,319.76457981184,359.73515228832,383.71749577421,411.12588832951,426.35277308246,442.75095666255,460.46099492906,479.64686971777,523.2511306012],description:"EH gamut, diatonic notes on white and drops 17 for 25. JC Dorian Harmonia on C"},hammond:{frequencies:[261.6255653006,226.52945288223,240.12209418,254.35818848669,269.43528366778,285.40970760065,302.50455987882,320.49131749323,339.40613876835,359.73515228832,381.06332337261,403.65087217807,427.65717404906,453.05890576445],description:'Hammond organ pitch wheel ratios, 1/1=320 Hz. Do "del 0" to get 12-tone scale'},hammond12:{frequencies:[261.6255653006,277.32410877127,293.76579515365,311.17877832054,329.62811300357,349.37146352202,370.1449018936,391.99018843668,415.46876743159,440.10130305006,466.18833124791,493.91391932426,523.2511306012],description:"Hammond organ scale, 1/1=277.0731707 Hz, A=440, see hammond for the ratios"},handblue:{frequencies:[261.6255653006,279.06726965397,294.32876096318,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:'"Handy Blues" of Pitch Palette, 7-limit'},handel:{frequencies:[261.6255653006,276.07055536165,292.89641271707,310.57937447136,328.79480940231,349.02322090701,368.4933346061,391.37619916626,414.10583283548,438.86859125239,465.61660972366,492.3908742288,523.2511306012],description:"Well temperament according to Georg Friedrich H\xEF\xBF\xBDndel's rules (c. 1780)"},hanson_19:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,302.80736724606,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"JI version of Hanson's 19 out of 53-tET scale"},"harm-doreninv1":{frequencies:[261.6255653006,321.08592105074,327.03195662575,332.97799220076,380.54627680087,499.46698830115,511.35905945117,523.2511306012],description:"1st Inverted Schlesinger's Enharmonic Dorian Harmonia"},"harm-dorinv1":{frequencies:[261.6255653006,309.19384990071,321.08592105074,332.97799220076,380.54627680087,475.68284600109,499.46698830115,523.2511306012],description:"1st Inverted Schlesinger's Chromatic Dorian Harmonia"},"harm-lydchrinv1":{frequencies:[261.6255653006,322.00069575458,342.12573923925,362.25078272391,402.50086969323,483.00104363188,503.12608711654,523.2511306012],description:"1st Inverted Schlesinger's Chromatic Lydian Harmonia"},"harm-lydeninv1":{frequencies:[261.6255653006,342.12573923925,352.18826098158,362.25078272391,402.50086969323,503.12608711654,513.18860885887,523.2511306012],description:"1st Inverted Schlesinger's Enharmonic Lydian Harmonia"},"harm-mixochrinv1":{frequencies:[261.6255653006,336.37572681506,355.06326719367,373.75080757229,411.12588832951,485.87604984397,504.56359022259,523.2511306012],description:"1st Inverted Schlesinger's Chromatic Mixolydian Harmonia"},"harm-mixoeninv1":{frequencies:[261.6255653006,355.06326719367,364.40703738298,373.75080757229,411.12588832951,504.56359022259,513.90736041189,523.2511306012],description:"1st Inverted Schlesinger's Enharmonic Mixolydian Harmonia"},harm10:{frequencies:[261.6255653006,286.15296204753,294.32876096318,327.03195662575,331.11985608357,343.38355445704,367.91095120397,392.4383479509,400.61414686654,408.78994578219,441.49314144476,457.84473927605,515.07533168556,523.2511306012],description:"6/7/8/9/10 harmonics"},harm11s:{frequencies:[261.6255653006,65.40639132515,95.13656920022,104.65022612024,116.27802902249,130.8127826503,149.50032302891,174.41704353373,196.21917397545,209.30045224048,261.6255653006,327.03195662575,348.83408706747,392.4383479509,457.84473927605,523.2511306012,588.65752192635,654.0639132515,719.47030457665,1046.5022612024],description:"Harm. 1/4-11/4 and subh. 4/1-4/11. Joseph Pehrson 1999"},harm12s:{frequencies:[261.6255653006,294.32876096318,299.00064605783,327.03195662575,348.83408706747,359.73515228832,380.54627680087,392.4383479509,418.60090448096,457.84473927605,465.11211608996,523.2511306012],description:"Harmonics 1 to 12 and subharmonics mixed"},"harm15-30":{frequencies:[261.6255653006,279.06726965397,296.50897400735,313.95067836072,331.39238271409,348.83408706747,366.27579142084,383.71749577421,418.60090448096,436.04260883433,453.48431318771,488.36772189445,523.2511306012],description:"Harmonics 15 to 30"},harm15:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991],description:"Fifth octave of the harmonic overtone series"},"harm16-32":{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Harmonics 16-32 & Tom Stone's Guitar Scale"},harm16:{frequencies:[261.6255653006,523.2511306012,784.8766959018,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,2877.8812183066,3139.5067836072,3401.1323489078,3662.7579142084,3924.383479509,4186.0090448096,2093.0045224048,1395.33634826987,1046.5022612024,837.20180896192,697.66817413493,598.00129211566,523.2511306012,465.11211608996,418.60090448096,380.54627680087,348.83408706747,322.00069575458,299.00064605783,279.06726965397,261.6255653006],description:"First 16 harmonics and subharmonics"},"harm1c-dorian":{frequencies:[261.6255653006,309.19384990071,321.08592105074,332.97799220076,380.54627680087,475.68284600109,499.46698830115,523.2511306012],description:"Harm1C-Dorian"},"harm1c-hypod":{frequencies:[261.6255653006,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,457.84473927605,490.54793493862,523.2511306012],description:"HarmC-Hypodorian"},"harm1c-hypol":{frequencies:[261.6255653006,274.70684356563,287.78812183066,340.11323489078,366.27579142084,392.4383479509,418.60090448096,444.76346101102,523.2511306012],description:"HarmC-Hypolydian"},"harm1c-lydian":{frequencies:[261.6255653006,271.68808704293,281.75060878526,362.25078272391,382.37582620857,402.50086969323,422.62591317789,442.75095666255,523.2511306012],description:"Harm1C-Lydian"},"harm1c-mix":{frequencies:[261.6255653006,299.00064605783,373.75080757229,392.4383479509,411.12588832951,485.87604984397,504.56359022259,523.2511306012],description:"Harm1C-Con Mixolydian"},"harm1c-mixolydian":{frequencies:[261.6255653006,280.31310567921,299.00064605783,373.75080757229,411.12588832951,429.81342870813,448.50096908674,523.2511306012],description:"Harm1C-Mixolydian"},harm24:{frequencies:[261.6255653006,283.42769574232,305.22982618403,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,501.44900015948,523.2511306012],description:"Harmonics 12 to 24"},harm24_2:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Harmonics 12 to 24, mode 9"},harm3:{frequencies:[261.6255653006,327.03195662575,392.4383479509,457.84473927605],description:"Third octave of the harmonic overtone series"},"harm30-60":{frequencies:[261.6255653006,270.34641747729,279.06726965397,287.78812183066,296.50897400735,305.22982618403,313.95067836072,322.67153053741,331.39238271409,340.11323489078,348.83408706747,357.55493924415,366.27579142084,374.99664359753,383.71749577421,392.4383479509,401.15920012759,409.88005230427,418.60090448096,427.32175665765,436.04260883433,444.76346101102,453.48431318771,462.20516536439,470.92601754108,479.64686971777,488.36772189445,497.08857407114,505.80942624783,514.53027842451,523.2511306012],description:"Harmonics 30-60"},harm30:{frequencies:[261.6255653006,279.06726965397,288.69027895239,299.00064605783,310.07474405997,322.00069575458,334.88072358477,348.83408706747,364.00078650518,398.6675280771,418.60090448096,440.63253103259,465.11211608996,492.47165233054,523.2511306012,558.13453930795,598.00129211566,644.00139150917,697.66817413493,761.09255360175,837.20180896192,930.22423217991,1046.5022612024,1196.00258423131,1395.33634826987,1674.40361792384,2093.0045224048,2790.67269653973,4186.0090448096,8372.0180896192,8633.6436549198,8895.2692202204,9156.894785521,9418.5203508216,9680.1459161222,9941.7714814228,10203.3970467234,10465.022612024,10726.6481773246,10988.2737426252,11249.8993079258,11511.5248732264,11773.150438527,12034.7760038276,12296.4015691282,12558.0271344288,12819.6526997294,13081.27826503,13342.9038303306,13604.5293956312,13866.1549609318,14127.7805262324,14389.406091533,14651.0316568336,14912.6572221342,15174.2827874348,15435.9083527354,15697.533918036,15959.1594833366,16220.7850486372],description:"First 30 harmonics and subharmonics"},"harm32-64":{frequencies:[261.6255653006,269.80136421624,277.97716313189,286.15296204753,294.32876096318,302.50455987882,310.68035879446,318.85615771011,327.03195662575,335.20775554139,343.38355445704,351.55935337268,359.73515228832,367.91095120397,376.08675011961,384.26254903526,392.4383479509,400.61414686654,408.78994578219,416.96574469783,425.14154361347,433.31734252912,441.49314144476,449.66894036041,457.84473927605,466.02053819169,474.19633710734,482.37213602298,490.54793493862,498.72373385427,506.89953276991,515.07533168556,523.2511306012],description:"Harmonics 32-64"},harm37odd:{frequencies:[261.6255653006,269.80136421624,277.97716313189,286.15296204753,294.32876096318,302.50455987882,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Odd harmonics until 37"},harm4:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,425.14154361347,457.84473927605,490.54793493862],description:"Fourth octave of the harmonic overtone series"},"harm6-12":{frequencies:[261.6255653006,269.80136421624,286.15296204753,294.32876096318,314.76825825228,327.03195662575,331.11985608357,343.38355445704,359.73515228832,367.91095120397,392.4383479509,400.61414686654,404.70204632437,408.78994578219,441.49314144476,449.66894036041,457.84473927605,490.54793493862,494.63583439645,515.07533168556,523.2511306012],description:"First 12 harmonics of 6th through 12th harmonics"},harm6:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,457.84473927605,523.2511306012],description:"Harmonics 6-12"},"harm60-30":{frequencies:[261.6255653006,280.31310567921,290.69507255622,313.95067836072,327.03195662575,348.83408706747,373.75080757229,392.4383479509,413.09299784305,436.04260883433,448.50096908674,490.54793493862,523.2511306012],description:"Harmonics 60 to 30 (Perkis)"},harm7lim:{frequencies:[261.6255653006,523.2511306012,784.8766959018,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,3139.5067836072,3662.7579142084,3924.383479509,4186.0090448096,4709.2601754108,5232.511306012,5494.1368713126,5755.7624366132,6279.0135672144,6540.639132515,7325.5158284168,7848.766959018,8372.0180896192,9156.894785521,9418.5203508216,10465.022612024,10988.2737426252,11773.150438527,12558.0271344288,12819.6526997294,13081.27826503,14651.0316568336,15697.533918036,16482.4106139378,16744.0361792384,18313.789571042,18837.0407016432,19621.917397545,20930.045224048,21191.6707893486,21976.5474852504,23546.300877054,25116.0542688576,25639.3053994588,26162.55653006,27470.684356563,29302.0633136672,31395.067836072],description:"7-limit harmonics"},harm8:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Harmonics 8-16"},harm9:{frequencies:[261.6255653006,294.32876096318,305.22982618403,327.03195662575,348.83408706747,356.10146388137,392.4383479509,406.97310157871,457.84473927605,465.11211608996,523.2511306012],description:"6/7/8/9 harmonics, First 9 overtones of 5th through 9th harmonics"},harm_bastard:{frequencies:[261.6255653006,299.00064605783,322.00069575458,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012],description:`Schlesinger's "Bastard" Hypodorian Harmonia & inverse 1)7 from 1.3.5.7.9.11.13`},harm_bastinv:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,425.14154361347,457.84473927605,523.2511306012],description:`Inverse Schlesinger's "Bastard" Hypodorian Harmonia & 1)7 from 1.3.5.7.9.11.13`},harm_darreg:{frequencies:[261.6255653006,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,2877.8812183066,3139.5067836072,3401.1323489078,3662.7579142084,3924.383479509,4186.0090448096,5232.511306012,6279.0135672144,7325.5158284168,8372.0180896192,9418.5203508216,10465.022612024,11511.5248732264,12558.0271344288,13604.5293956312,14651.0316568336,15697.533918036],description:"Darreg Harmonics 4-15"},harm_mean:{frequencies:[261.6255653006,270.06509966514,279.06726965397,299.00064605783,348.83408706747,392.4383479509,405.0976494977,418.60090448096,448.50096908674,523.2511306012],description:"Harm. Mean 9-tonic 8/7 is HM of 1/1 and 4/3, etc."},"harmc-hypop":{frequencies:[261.6255653006,319.76457981184,334.29933343966,348.83408706747,363.36884069528,377.90359432309,406.97310157871,465.11211608996,494.18162334558,523.2511306012],description:"HarmC-Hypophrygian"},"harmd-15":{frequencies:[261.6255653006,279.06726965397,313.95067836072,348.83408706747,383.71749577421,418.60090448096,453.48431318771,523.2511306012],description:"HarmD-15-Harmonia"},"harmd-conmix":{frequencies:[261.6255653006,299.00064605783,336.37572681506,392.4383479509,411.12588832951,448.50096908674,485.87604984397,523.2511306012],description:"HarmD-ConMixolydian"},"harmd-hypod":{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"HarmD-Hypodorian"},"harmd-hypol":{frequencies:[261.6255653006,287.78812183066,313.95067836072,340.11323489078,366.27579142084,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"HarmD-Hypolydian"},"harmd-hypop":{frequencies:[261.6255653006,290.69507255622,319.76457981184,348.83408706747,363.36884069528,377.90359432309,406.97310157871,436.04260883433,465.11211608996,523.2511306012],description:"HarmD-Hypophrygian"},"harmd-lyd":{frequencies:[261.6255653006,281.75060878526,301.87565226992,322.00069575458,362.25078272391,382.37582620857,402.50086969323,442.75095666255,483.00104363188,523.2511306012],description:"HarmD-Lydian"},"harmd-mix":{frequencies:[261.6255653006,299.00064605783,336.37572681506,373.75080757229,411.12588832951,448.50096908674,485.87604984397,523.2511306012],description:"HarmD-Mixolydian. Harmonics 7-14"},"harmd-phr":{frequencies:[261.6255653006,272.52663052146,283.42769574232,294.32876096318,305.22982618403,348.83408706747,327.03195662575,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"HarmD-Phryg (with 5 extra tones)"},"harme-hypod":{frequencies:[261.6255653006,343.38355445704,351.55935337268,359.73515228832,376.08675011961,392.4383479509,490.54793493862,506.89953276991,523.2511306012],description:"HarmE-Hypodorian"},"harme-hypol":{frequencies:[261.6255653006,281.24748269815,274.70684356563,340.11323489078,366.27579142084,392.4383479509,405.51962621593,418.60090448096,523.2511306012],description:"HarmE-Hypolydian"},"harme-hypop":{frequencies:[261.6255653006,334.29933343966,341.56671025356,348.83408706747,363.36884069528,377.90359432309,406.97310157871,494.18162334558,508.71637697339,523.2511306012],description:"HarmE-Hypophrygian"},"harmjc-15":{frequencies:[261.6255653006,280.31310567921,301.87565226992,313.95067836072,327.03195662575,356.76213450082,373.75080757229,392.4383479509,413.09299784305,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"Rationalized JC Sub-15 Harmonia on C. MD=15, No planetary assignment."},"harmjc-17-2":{frequencies:[261.6255653006,277.97716313189,296.50897400735,317.68818643644,342.12573923925,370.63621750918,386.75083566176,404.33041910093,423.58424858192,444.76346101102,468.17206422213,494.18162334558,523.2511306012],description:"Rationalized JC Sub-17 Harmonia on C. MD=17, No planetary assignment."},"harmjc-17":{frequencies:[261.6255653006,269.55361273395,277.97716313189,296.50897400735,317.68818643644,342.12573923925,355.81076880882,370.63621750918,386.75083566176,404.33041910093,423.58424858192,444.76346101102,523.2511306012],description:"Rationalized JC Sub-17 Harmonia on C. MD=17, No planetary assignment."},"harmjc-19-2":{frequencies:[261.6255653006,276.16031892841,292.40504357126,310.68035879446,331.39238271409,355.06326719367,368.21375857121,382.37582620857,397.67085925691,414.24047839262,432.2509339749,451.89870370104,523.2511306012],description:"Rationalized JC Sub-19 Harmonia on C. MD=19, No planetary assignment."},"harmjc-19":{frequencies:[261.6255653006,276.16031892841,292.40504357126,310.68035879446,331.39238271409,355.06326719367,382.37582620857,414.24047839262,432.2509339749,451.89870370104,473.41768959156,497.08857407114,523.2511306012],description:"Rationalized JC Sub-19 Harmonia on C. MD=19, No planetary assignment."},"harmjc-21":{frequencies:[261.6255653006,268.0066766494,274.70684356563,289.16509849014,305.22982618403,343.38355445704,366.27579142084,392.4383479509,406.97310157871,422.62591317789,439.53094970501,457.84473927605,523.2511306012],description:"Rationalized JC Sub-21 Harmonia on C. MD=21, No planetary assignment."},"harmjc-23-2":{frequencies:[261.6255653006,273.51763645063,286.54228580542,300.86940009569,316.70463167967,334.29933343966,353.96400011258,376.08675011961,401.15920012759,429.81342870813,462.87600014722,501.44900015948,523.2511306012],description:"Rationalized JC Sub-23 Harmonia on C. MD=23, No planetary assignment."},"harmjc-23":{frequencies:[261.6255653006,273.51763645063,300.86940009569,316.70463167967,334.29933343966,376.08675011961,401.15920012759,429.81342870813,445.73244458621,462.87600014722,481.3910401531,501.44900015948,523.2511306012],description:"Rationalized JC Sub-23 Harmonia on C. MD=23, No planetary assignment."},"harmjc-25":{frequencies:[261.6255653006,272.52663052146,297.30177875068,311.45900631024,327.03195662575,363.36884069528,384.74347838324,408.78994578219,436.04260883433,467.18850946536,484.4917875937,503.12608711654,523.2511306012],description:"Rationalized JC Sub-25 Harmonia on C. MD=25, No planetary assignment."},"harmjc-27":{frequencies:[261.6255653006,271.68808704293,294.32876096318,307.12566361375,321.08592105074,353.19451315581,371.78369805875,392.4383479509,415.52295665389,441.49314144476,470.92601754108,504.56359022259,523.2511306012],description:"Rationalized JC Sub-27 Harmonia on C. MD=27, No planetary assignment."},"harmjc-hypod16":{frequencies:[261.6255653006,279.06726965397,299.00064605783,310.07474405997,322.00069575458,348.83408706747,364.00078650518,380.54627680087,398.6675280771,418.60090448096,440.63253103259,465.11211608996,523.2511306012],description:"Rationalized JC Hypodorian Harmonia on C. Saturn Scale on C, MD=16. (Steiner)"},"harmjc-hypol20":{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,327.03195662575,348.83408706747,373.75080757229,402.50086969323,418.60090448096,436.04260883433,455.00098313148,575.57624366132,523.2511306012],description:"Rationalized JC Hypolydian Harmonia on C. Mars scale on C., MD=20"},"harmjc-hypop18":{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,336.37572681506,362.25078272391,376.74081403286,392.4383479509,409.50088481833,428.11456140098,448.50096908674,470.92601754108,523.2511306012],description:"Rationalized JC Hypophrygian Harmonia on C. Jupiter scale on C, MD =18"},"harmjc-lydian13":{frequencies:[261.6255653006,272.09058791262,283.42769574232,295.75063903546,309.19384990071,340.11323489078,358.01393146398,377.90359432309,400.13321751856,425.14154361347,453.48431318771,485.87604984397,523.2511306012],description:"Rationalized JC Lydian Harmonia on C. Mercury scale on C, MD = 26 or 13"},"harmjc-mix14":{frequencies:[261.6255653006,271.31540105247,281.75060878526,293.02063313667,305.22982618403,332.97799220076,348.83408706747,366.27579142084,385.55346465352,406.97310157871,430.91269578922,457.84473927605,523.2511306012],description:"Rationalized JC Mixolydian Harmonia on C. Moon Scale on C, MD = 14"},"harmjc-phryg12":{frequencies:[261.6255653006,273.00058987889,285.40970760065,299.00064605783,313.95067836072,348.83408706747,369.35373924791,392.4383479509,418.60090448096,448.50096908674,465.11211608996,483.00104363188,523.2511306012],description:"Rationalized JC Phrygian Harmonia on C. Venus scale on C, MD = 24 or 12"},harmonical:{frequencies:[261.6255653006,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"See pp 17 and 466-468 Helmholtz. lower 4 oct. Instr. designed & tuned by Ellis"},harmonical_up:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,359.73515228832,457.84473927605,392.4383479509,408.78994578219,425.14154361347,474.19633710734,490.54793493862,523.2511306012],description:"Upper 2 octaves of Ellis's Harmonical"},harmsub16:{frequencies:[261.6255653006,280.31310567921,294.32876096318,301.87565226992,327.03195662575,356.76213450082,359.73515228832,392.4383479509,425.14154361347,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"16 harmonics on 1/1 and 16 subharmonics on 15/8"},harrison_16:{frequencies:[261.6255653006,279.06726965397,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,370.63621750918,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:'Lou Harrison 16-tone superparticular "Ptolemy Duple"'},harrison_5:{frequencies:[261.6255653006,279.06726965397,313.95067836072,392.4383479509,418.60090448096,523.2511306012],description:"From Lou Harrison, a pelog style pentatonic"},harrison_5_1:{frequencies:[261.6255653006,285.40970760065,313.95067836072,392.4383479509,418.60090448096,523.2511306012],description:"From Lou Harrison, a pelog style pentatonic"},harrison_5_3:{frequencies:[261.6255653006,271.31540105247,348.83408706747,392.4383479509,406.97310157871,523.2511306012],description:"From Lou Harrison, a pelog style pentatonic"},harrison_5_4:{frequencies:[261.6255653006,279.06726965397,313.95067836072,392.4383479509,490.54793493862,523.2511306012],description:"From Lou Harrison, a pelog style pentatonic"},harrison_8:{frequencies:[261.6255653006,279.06726965397,313.95067836072,327.03195662575,367.91095120397,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:'Lou Harrison 8-tone tuning for "Serenade for Guitar"'},harrison_cinna:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,343.38355445704,367.91095120397,392.4383479509,418.60090448096,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:`Lou Harrison, "Incidental Music for Corneille's Cinna" (1955-56) 1/1=C`},harrison_diat:{frequencies:[261.6255653006,274.70684356563,313.95067836072,348.83408706747,392.4383479509,412.06026534844,470.92601754108,523.2511306012],description:"From Lou Harrison, a soft diatonic"},harrison_joy:{frequencies:[261.6255653006,294.32876096318,327.03195662575,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Lou Harrison's Joyous 6"},harrison_mid:{frequencies:[261.6255653006,294.32876096318,313.95067836072,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Lou Harrison mid mode"},harrison_mid2:{frequencies:[261.6255653006,294.32876096318,313.95067836072,348.83408706747,392.4383479509,448.50096908674,470.92601754108,523.2511306012],description:"Lou Harrison mid mode 2"},harrison_min:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"From Lou Harrison, a symmetrical pentatonic with minor thirds"},harrison_mix1:{frequencies:[261.6255653006,285.40970760065,313.95067836072,392.4383479509,425.14154361347,523.2511306012],description:'A "mixed type" pentatonic, Lou Harrison'},harrison_mix2:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,490.54793493862,523.2511306012],description:'A "mixed type" pentatonic, Lou Harrison'},harrison_mix3:{frequencies:[261.6255653006,313.95067836072,336.37572681506,392.4383479509,418.60090448096,523.2511306012],description:'A "mixed type" pentatonic, Lou Harrison'},harrison_mix4:{frequencies:[261.6255653006,280.31310567921,327.03195662575,392.4383479509,448.50096908674,523.2511306012],description:'A "mixed type" pentatonic, Lou Harrison'},harrison_songs:{frequencies:[261.6255653006,271.31540105247,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,406.97310157871,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:'Shared gamut of "Four Strict Songs" (1951-55), each pentatonic'},harrisonj:{frequencies:[261.6255653006,272.17712546173,292.13970819848,313.56642833783,326.21280531667,350.13858362887,364.25994396351,390.97625694066,406.744629928,436.57694340361,468.59728067062,487.49616921257,523.2511306012],description:"John Harrison's temperament (1775), almost 3/10-comma. Third = 1200/pi"},harrisonm_rev:{frequencies:[261.6255653006,257.53766584278,294.32876096318,289.72987407313,331.11985608357,343.38355445704,372.50983809402,392.4383479509,386.30649876417,441.49314144476,457.84473927605,496.67978412536,523.2511306012],description:'Michael Harrison, piano tuning for "Revelation" (2001), 1/1=F'},haverstick13:{frequencies:[261.6255653006,283.85429714132,301.75671459889,307.97166902637,320.78822215662,341.02002673508,362.52783176564,377.61479489998,401.43059675514,426.7484383229,444.50800708553,482.27514684959,502.34551296122,523.2511306012],description:"Neil Haverstick, scale in 34-tET, MMM 21-5-2006"},hawkes:{frequencies:[261.6255653006,274.56549986328,292.86986732103,310.24975557428,327.84547867349,349.70184487387,366.99801003998,391.46454285105,411.84824958905,438.2147004401,467.42901507992,490.54793493862,523.2511306012],description:"William Hawkes' modified 1/5-comma meantone (1807)"},hawkes2:{frequencies:[261.6255653006,275.15193010334,293.04845178801,312.10900487995,328.24542585003,349.59527202198,367.66978141816,391.58387939843,411.8292495232,438.61558204759,467.14415995873,491.2960898965,523.2511306012],description:"Meantone with fifth tempered 1/6 of 53-tET step by William Hawkes (1808)"},hawkes3:{frequencies:[261.6255653006,274.56549986328,292.86986732103,311.6193417424,327.84547867349,349.70184487387,366.99801003998,391.46454285105,411.84824958905,438.2147004401,467.42901237995,490.54793493862,523.2511306012],description:"William Hawkes' modified 1/5-comma meantone (1811)"},hbarnes:{frequencies:[261.6255653006,276.71351472429,293.33333347996,310.95136287868,328.88393162803,349.42547049952,369.15973155124,391.77416758435,414.83597850347,439.25532436715,466.16376151809,493.04743111995,523.2511306012],description:"Variation on Barnes with 1/6P -> 1/8P. OdC '99"},hebdome1:{frequencies:[261.6255653006,265.71346475842,267.23182741418,269.80136421624,273.30527803723,280.31310567921,283.42769574232,287.78812183066,289.07289023169,292.28481123426,294.32876096318,300.63580584096,303.67253115248,308.34441624714,311.77046531655,315.35224388912,318.85615771011,323.76163705949,327.03195662575,334.03978426773,336.37572681506,340.11323489078,341.63159754654,346.88746827803,350.74177348112,359.73515228832,364.40703738298,367.91095120397,370.01329949656,375.7947573012,382.62738925213,385.43052030892,389.71308164569,392.4383479509,400.84774112128,404.70204632437,409.95791705585,411.12588832951,417.54973033466,420.46965851882,425.14154361347,431.68218274599,437.28844485957,441.49314144476,445.38637902364,449.66894036041,455.50879672872,462.5166243707,467.65569797482,470.92601754108,478.28423656516,479.64686971777,485.87604984397,490.54793493862,501.0596764016,504.56359022259,510.16985233617,513.90736041189,523.2511306012],description:"Wilson 1.3.5.7.9.11.13.15 hebdomekontany, 1.3.5.7 tonic"},helmholtz:{frequencies:[261.6255653006,279.06726965397,327.03195662575,348.83408706747,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Helmholtz's Chromatic scale and Gipsy major from Slovakia"},helmholtz_24:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,306.59245933664,310.07474405997,327.03195662575,331.11985608357,344.91651675372,348.83408706747,367.91095120397,372.50983809402,388.03108134794,392.4383479509,408.78994578219,413.89982010446,436.04260883433,441.49314144476,459.88868900496,465.63729761752,490.54793493862,496.67978412536,517.37477513058,523.2511306012],description:"Simplified Helmholtz 24"},helmholtz_hd:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,523.2511306012],description:"Helmholtz Harmonic Decad"},helmholtz_pure:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,306.59245933664,310.07474405997,327.03195662575,330.74639366397,344.91651675372,348.83408706747,367.91095120397,372.08969287196,387.59343007496,392.4383479509,408.78994578219,413.43299207996,436.04260883433,441.49314144476,459.88868900496,465.11211608996,490.54793493862,496.11959049595,516.79124009995,523.2511306012],description:"Helmholtz's two-keyboard harmonium tuning untempered"},helmholtz_temp:{frequencies:[261.6255653006,275.81645389904,279.10671937395,290.77707354032,294.24580701304,306.54917537161,310.20605716322,327.03195662575,330.9330448436,344.77062435684,348.88325535732,367.80710710303,372.19474608839,387.75741156435,392.38304142029,408.78994578219,413.66637442451,436.10414127513,441.30625330017,459.75895986689,465.24324076996,490.4788828408,496.3296094287,517.08305349316,523.2511306012],description:"Helmholtz's two-keyboard harmonium tuning"},hem_chrom:{frequencies:[261.6255653006,269.55361273395,285.40970760065,348.83408706747,392.4383479509,404.33041910093,428.11456140098,523.2511306012],description:"Hemiolic Chromatic genus has the strong or 1:2 division of the 12/11 pyknon"},hem_chrom11:{frequencies:[261.6255653006,273.00058987889,285.40970760065,348.83408706747,392.4383479509,409.50088481833,428.11456140098,523.2511306012],description:"11'al Hemiolic Chromatic genus with a CI of 11/9, Winnington-Ingram"},hem_chrom13:{frequencies:[261.6255653006,272.09058791262,283.42769574232,348.83408706747,392.4383479509,408.13588186894,425.14154361347,523.2511306012],description:"13'al Hemiolic Chromatic or neutral-third genus has a CI of 16/13"},hem_chrom2:{frequencies:[261.6255653006,269.29177952703,285.30470202322,349.22823143301,391.99543598175,403.48177901006,427.47405410759,523.2511306012],description:"1:2 Hemiolic Chromatic genus 3 + 6 + 21 parts"},hemiwuer24:{frequencies:[261.6255653006,274.60778382002,280.48822448524,286.49458884928,292.62957327549,307.15025309186,313.72755695954,320.44570714783,327.30771955335,350.90592546776,358.42021185082,366.09540888186,373.9349620795,392.49012653442,400.89489544613,409.47964376542,418.24822532303,439.00227453173,448.4030528436,458.00513880662,467.8128437444,491.02635713596,501.54117720983,512.28116095218,523.2511306012],description:"Hemiw\xEF\xBF\xBDrschmidt[24] in 229-tET tuning."},hen12:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Adjusted Hahn12"},hen22:{frequencies:[261.6255653006,272.52663052146,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,366.27579142084,381.53728273004,392.4383479509,415.27867508032,418.60090448096,436.04260883433,448.50096908674,457.84473927605,484.4917875937,490.54793493862,508.71637697339,523.2511306012],description:"Adjusted Hahn22"},hept_diamond:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,294.32876096318,305.22982618403,313.95067836072,316.53463456122,325.57848126297,327.03195662575,334.88072358477,336.37572681506,348.83408706747,392.4383479509,406.97310157871,408.78994578219,418.60090448096,420.46965851882,432.48307733364,436.04260883433,448.50096908674,465.11211608996,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"Inverted-Prime Heptatonic Diamond based on Archytas's Enharmonic"},hept_diamondi:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,281.36411960997,289.40309445597,294.32876096318,297.67175429757,327.03195662575,336.37572681506,348.83408706747,361.75386806997,367.91095120397,372.08969287196,378.42269266694,392.4383479509,406.97310157871,418.60090448096,459.88868900496,465.11211608996,473.02836583367,486.54346200035,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"Prime-Inverted Heptatonic Diamond based on Archytas's Enharmonic"},hept_diamondp:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,339.14425131559,348.83408706747,358.80077526939,361.75386806997,367.91095120397,372.08969287196,378.42269266694,381.53728273004,392.4383479509,403.65087217807,406.97310157871,418.60090448096,436.04260883433,448.50096908674,465.11211608996,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"Heptatonic Diamond based on Archytas's Enharmonic, 27 tones"},herf:{frequencies:[261.6255653006,269.80136421624,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,425.14154361347,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Sims:Reflections on This and That, 1991. Used by Herf in Ekmelischer Gesang"},heun:{frequencies:[261.6255653006,275.15237829755,293.0485888979,312.10878854255,328.24573110938,349.59519124833,367.67029324081,391.58396987353,411.83001550364,438.61588607285,467.14394139401,491.29666030217,523.2511306012],description:"Well temperament for organ of Jan Heun (1805), subset of 55-tET"},hexagonal13:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Star hexagonal 13-tone scale"},hexagonal37:{frequencies:[261.6255653006,272.52663052146,279.06726965397,282.55561052465,283.88190679319,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,313.95067836072,322.99452506247,327.03195662575,334.88072358477,340.65828815182,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,376.74081403286,387.59343007496,392.4383479509,401.85686830172,408.78994578219,418.60090448096,423.83341578697,436.04260883433,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,482.22824196207,484.4917875937,490.54793493862,502.32108537715,523.2511306012],description:"Star hexagonal 37-tone scale"},hexany1:{frequencies:[261.6255653006,305.22982618403,327.03195662575,381.53728273004,436.04260883433,457.84473927605,523.2511306012],description:"Two out of 1 3 5 7 hexany on 1.3"},hexany10:{frequencies:[261.6255653006,294.32876096318,327.03195662575,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"1.3.5.9 Hexany"},hexany11:{frequencies:[261.6255653006,294.32876096318,305.22982618403,343.38355445704,392.4383479509,457.84473927605,523.2511306012],description:"1.3.7.9 Hexany on 1.3"},hexany12:{frequencies:[261.6255653006,290.69507255622,305.22982618403,339.14425131559,406.97310157871,436.04260883433,523.2511306012],description:"3.5.7.9 Hexany on 3.9"},hexany13:{frequencies:[261.6255653006,285.40970760065,327.03195662575,356.76213450082,392.4383479509,475.68284600109,523.2511306012],description:"1.3.5.11 Hexany on 1.11"},hexany14:{frequencies:[261.6255653006,287.78812183066,340.11323489078,383.71749577421,453.48431318771,498.83274450648,523.2511306012],description:"5.11.13.15 Hexany (5.15), used in The Giving, by Stephen J. Taylor"},hexany15:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,418.60090448096,523.2511306012],description:"1.3.5.15 2)4 hexany (1.15 tonic) degenerate, symmetrical pentatonic"},hexany16:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,465.11211608996,523.2511306012],description:"1.3.9.27 Hexany, a degenerate pentatonic form"},hexany17:{frequencies:[261.6255653006,327.03195662575,334.88072358477,408.78994578219,418.60090448096,523.2511306012],description:"1.5.25.125 Hexany, a degenerate pentatonic form"},hexany18:{frequencies:[261.6255653006,299.00064605783,341.71502406609,400.61414686654,457.84473927605,523.2511306012],description:"1.7.49.343 Hexany, a degenerate pentatonic form"},hexany19:{frequencies:[261.6255653006,299.00064605783,327.03195662575,418.60090448096,457.84473927605,523.2511306012],description:"1.5.7.35 Hexany, a degenerate pentatonic form"},hexany2:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,490.54793493862,523.2511306012],description:"Hexany Cluster 2"},hexany20:{frequencies:[261.6255653006,279.06726965397,305.22982618403,398.6675280771,436.04260883433,465.11211608996,523.2511306012],description:"3.5.7.105 Hexany"},hexany21:{frequencies:[261.6255653006,279.06726965397,310.07474405997,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:"3.5.9.135 Hexany"},hexany21a:{frequencies:[261.6255653006,279.06726965397,310.07474405997,348.83408706747,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:"3.5.9.135 Hexany + 4/3. Is Didymos Diatonic tetrachord on 1/1 and inv. on 3/2"},hexany22:{frequencies:[261.6255653006,276.76092858245,359.73515228832,380.54627680087,494.63583439645,523.2511306012],description:"1.11.121.1331 Hexany, a degenerate pentatonic form"},hexany23:{frequencies:[261.6255653006,348.83408706747,359.73515228832,380.54627680087,392.4383479509,523.2511306012],description:"1.3.11.33 Hexany, degenerate pentatonic form"},hexany24:{frequencies:[261.6255653006,327.03195662575,359.73515228832,380.54627680087,418.60090448096,523.2511306012],description:"1.5.11.55 Hexany, a degenerate pentatonic form"},hexany25:{frequencies:[261.6255653006,299.00064605783,359.73515228832,380.54627680087,457.84473927605,523.2511306012],description:"1.7.11.77 Hexany, a degenerate pentatonic form"},hexany26:{frequencies:[261.6255653006,294.32876096318,359.73515228832,380.54627680087,465.11211608996,523.2511306012],description:"1.9.11.99 Hexany, a degenerate pentatonic form"},hexany3:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Hexany Cluster 3"},hexany4:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Hexany Cluster 4"},hexany49:{frequencies:[261.6255653006,299.00064605783,305.22982618403,392.4383479509,400.61414686654,457.84473927605,523.2511306012],description:"1.3.21.49 2)4 hexany (1.21 tonic)"},hexany5:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Hexany Cluster 5"},hexany6:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Hexany Cluster 6"},hexany7:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Hexany Cluster 7"},hexany8:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,340.65828815182,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,502.32108537715,523.2511306012],description:"Hexany Cluster 8"},hexany9:{frequencies:[261.6255653006,299.00064605783,313.95067836072,358.80077526939,418.60090448096,448.50096908674,523.2511306012],description:"1.3.5.7 Hexany on 5.7"},hexany_cl:{frequencies:[261.6255653006,294.32876096318,301.39265122629,313.95067836072,327.03195662575,348.83408706747,353.19451315581,376.74081403286,392.4383479509,418.60090448096,470.92601754108,502.32108537715,523.2511306012],description:"Hexany Cluster 1"},hexany_cl2:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,490.54793493862,502.32108537715,523.2511306012],description:"Composed of 1.3.5.45, 1.3.5.75, 1.3.5.9, and 1.3.5.25 hexanies"},hexany_flank:{frequencies:[261.6255653006,267.07609791103,299.00064605783,305.22982618403,327.03195662575,348.83408706747,373.75080757229,381.53728273004,427.14378008261,436.04260883433,457.84473927605,498.33441009638,523.2511306012],description:"Hexany Flanker, 7-limit, from Wilson"},hexany_tetr:{frequencies:[261.6255653006,269.10058145205,279.06726965397,336.37572681506,348.83408706747,358.80077526939,523.2511306012],description:"Complex 12 of p. 115, a hexany based on Archytas's Enharmonic"},hexany_trans:{frequencies:[261.6255653006,271.31540105247,279.06726965397,339.14425131559,348.83408706747,361.75386806997,523.2511306012],description:"Complex 1 of p. 115, a hexany based on Archytas's Enharmonic"},hexany_trans2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,358.80077526939,372.08969287196,523.2511306012],description:"Complex 2 of p. 115, a hexany based on Archytas's Enharmonic"},hexany_trans3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,336.37572681506,348.83408706747,523.2511306012],description:"Complex 9 of p. 115, a hexany based on Archytas's Enharmonic"},hexany_u2:{frequencies:[261.6255653006,274.70684356563,279.06726965397,280.31310567921,286.15296204753,299.00064605783,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,418.60090448096,436.04260883433,448.50096908674,457.84473927605,478.40103369253,488.36772189445,490.54793493862,498.33441009638,523.2511306012],description:"Hexany union = genus [335577] minus two corners"},hexany_union:{frequencies:[261.6255653006,274.70684356563,280.31310567921,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,488.36772189445,498.33441009638,523.2511306012],description:"The union of all of the pitches of the 1.3.5.7 hexany on each tone as 1/1"},hexany_urot:{frequencies:[261.6255653006,267.07609791103,280.31310567921,286.15296204753,290.69507255622,299.00064605783,305.22982618403,327.03195662575,333.84512238879,343.38355445704,348.83408706747,356.10146388137,373.75080757229,381.53728273004,392.4383479509,400.61414686654,406.97310157871,436.04260883433,445.12682985172,448.50096908674,457.84473927605,490.54793493862,498.33441009638,508.71637697339,523.2511306012],description:"Aggregate rotations of 1.3.5.7 hexany, 1.3 = 1/1"},hexanys:{frequencies:[261.6255653006,286.15296204753,294.32876096318,327.03195662575,343.38355445704,367.91095120397,392.4383479509,429.2294430713,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"Hexanys 1 3 5 7 9"},hexanys2:{frequencies:[261.6255653006,314.76825825228,425.14154361347,457.84473927605,269.80136421624,371.99885066179,392.4383479509,472.15238737843,318.85615771011,359.73515228832,343.38355445704,292.28481123426,523.2511306012],description:"Hexanys 1 3 7 11 13"},higgs:{frequencies:[261.6255653006,392.4383479509,418.60090448096,422.62591317789,423.58424858192,425.14154361347,436.04260883433,523.2511306012],description:"From Greg Higgs announcement of the formation of an Internet Tuning list"},hinsz_gr:{frequencies:[261.6255653006,274.68983337859,292.34127285051,310.07474405997,326.6631048533,348.83408706747,366.25311135453,391.11111150212,412.03474986192,437.02884834934,465.11211608996,489.99465727995,523.2511306012],description:"Reconstructed Hinsz temperament, organ Pelstergasthuiskerk Groningen. Ortgies,2002"},hipkins:{frequencies:[261.6255653006,275.62199471997,299.00064605783,348.83408706747,392.4383479509,413.43299207996,448.50096908674,523.2511306012],description:"Hipkins' Chromatic"},hirajoshi:{frequencies:[261.6255653006,291.13134764929,317.84796618517,388.16504068057,412.91271853531,523.2511306012],description:"Observed Japanese pentatonic koto scale. Helmholtz/Ellis p.519, nr.112"},hirajoshi2:{frequencies:[261.6255653006,294.32876096318,313.95067836072,392.4383479509,418.60090448096,523.2511306012],description:"Japanese pentatonic koto scale, theoretical. Helmholz/Ellis p.519, nr.110"},hirajoshi3:{frequencies:[261.6255653006,292.47977325983,321.54118165335,396.32121331049,415.54465627623,522.94897617031],description:"Observed Japanese pentatonic koto scale. Helmholtz/Ellis p.519, nr.111"},hirashima:{frequencies:[261.6255653006,277.33928225406,292.50627485027,312.00669222389,327.03195662575,349.91912034749,369.78570985692,391.22147055517,416.00892317314,437.39889945791,468.01003810189,489.02683710225,523.2511306012],description:"Tatsushi Hirashima, temperament of chapel organ of Kobe Shoin Women's Univ."},hjelmboogie:{frequencies:[261.6255653006,294.32876096318,327.03195662575,343.38355445704,367.91095120397,392.4383479509,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:`Paul Hjelmstad's "Boogie Woogie" scale, TL 20-3-2006`},ho_mai_nhi:{frequencies:[261.6255653006,287.78812183066,348.83408706747,392.4383479509,431.68218274599,523.2511306012],description:"Ho Mai Nhi (Nam Hue) dan tranh scale, Vietnam"},hochgartz:{frequencies:[261.6255653006,274.56549986328,292.86986732103,309.86458629683,327.84547867349,349.70184487387,366.99801003998,391.46454285105,412.49999887294,438.2147004401,465.53241962975,490.54793493862,523.2511306012],description:"Michael Hochgartz, modified 1/5-comma meantone temperament"},hofmann1:{frequencies:[261.6255653006,262.65154790962,279.06726965397,348.83408706747,392.4383479509,393.97732186443,418.60090448096,523.2511306012],description:"Hofmann's Enharmonic #1, Dorian mode"},hofmann2:{frequencies:[261.6255653006,263.56353245097,279.06726965397,348.83408706747,392.4383479509,395.34529867646,418.60090448096,523.2511306012],description:"Hofmann's Enharmonic #2, Dorian mode"},hofmann_chrom:{frequencies:[261.6255653006,264.26824777838,290.69507255622,348.83408706747,392.4383479509,396.40237166758,436.04260883433,523.2511306012],description:"Hofmann's Chromatic"},holder:{frequencies:[261.6255653006,274.23214485994,292.57879058083,312.45989404005,327.40114268825,349.76744711215,366.57630213591,391.03837375367,409.94826565972,437.46806069696,467.28984664562,489.70152554512,523.2511306012],description:"William Holder's equal beating meantone temperament (1694). 3/2 beats 2.8 Hz"},holder2:{frequencies:[261.6255653006,274.23214485994,292.57879058083,312.45989404005,327.40114268825,349.76744711215,366.57630213591,391.03837375367,410.64811919433,437.46806069696,467.46154552107,489.70152554512,523.2511306012],description:"Holder's irregular e.b. temperament with improved Eb and G#"},hummel:{frequencies:[261.6255653006,277.1703574486,293.54676487235,311.03465677994,329.45811370906,349.13199096171,369.8583804246,391.99149393462,415.308682162,439.8732919971,466.10512967869,493.74031485884,523.2511306012],description:"Johann Nepomuk Hummel's quasi-equal temperament (1829)"},hummel2:{frequencies:[261.6255653006,277.22760066578,293.66431501254,311.21660561883,329.70790803338,349.18845812715,369.99117208793,391.90679138833,415.30984563838,439.96491544382,466.29335337935,494.03030700757,523.2511306012],description:"Johann Nepomuk Hummel's temperament according to the second bearing plan"},husmann:{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,314.30517589183,331.11985608357,348.83408706747],description:"Tetrachord division according to Husmann"},hwerck3:{frequencies:[261.6255653006,276.40121172404,293.00227310437,310.60041853231,328.69828757761,349.03110370139,368.74309237173,391.5530240856,414.36778843034,438.51190905657,465.63764214343,492.7691222293,523.2511306012],description:"Variation on Werckmeister III with 1/4P -> 1/6P and 0P -> 1/24P. OdC '99"},hyper_enh:{frequencies:[261.6255653006,264.93728131706,268.33391312882,348.83408706747,392.4383479509,397.40592197559,402.50086969323,523.2511306012],description:"13/10 HyperEnharmonic. This genus is at the limit of usable tunings"},hyper_enh2:{frequencies:[261.6255653006,267.19206668997,273.00058987889,348.83408706747,392.4383479509,400.78810003496,409.50088481833,523.2511306012],description:"Hyperenharmonic genus from Kathleen Schlesinger's enharmonic Phrygian Harmonia"},hypo_chrom:{frequencies:[261.6255653006,275.39533189537,282.83844897362,290.69507255622,348.83408706747,373.75080757229,387.59343007496,402.50086969323,418.60090448096,427.14378008261,436.04260883433,455.00098313148,523.2511306012],description:"Hypolydian Chromatic Tonos"},hypo_diat:{frequencies:[261.6255653006,290.69507255622,307.79478270659,327.03195662575,348.83408706747,373.75080757229,387.59343007496,402.50086969323,436.04260883433,455.00098313148,475.68284600109,498.33441009638,523.2511306012],description:"Hypolydian Diatonic Tonos"},hypo_enh:{frequencies:[261.6255653006,268.33391312882,271.81876914348,275.39533189537,348.83408706747,373.75080757229,387.59343007496,402.50086969323,410.39304360878,414.45634107026,418.60090448096,465.11211608996,523.2511306012],description:"Hypolydian Enharmonic Tonos"},hypod_chrom:{frequencies:[261.6255653006,279.06726965397,288.69027895239,299.00064605783,322.00069575458,348.83408706747,364.00078650518,380.54627680087,398.6675280771,408.39112632289,418.60090448096,465.11211608996,523.2511306012],description:"Hypodorian Chromatic Tonos"},hypod_chrom2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,348.83408706747,380.54627680087,398.6675280771,418.60090448096,523.2511306012],description:"Schlesinger's Chromatic Hypodorian Harmonia"},hypod_chrom2inv:{frequencies:[261.6255653006,327.03195662575,343.38355445704,359.73515228832,392.4383479509,457.84473927605,490.54793493862,523.2511306012],description:"Inverted Schlesinger's Chromatic Hypodorian Harmonia"},hypod_chromenh:{frequencies:[261.6255653006,270.06509966514,279.06726965397,348.83408706747,380.54627680087,398.6675280771,418.60090448096,523.2511306012],description:"Schlesinger's Hypodorian Harmonia in a mixed chromatic-enharmonic genus"},hypod_chrominv:{frequencies:[261.6255653006,277.97716313189,294.32876096318,359.73515228832,392.4383479509,408.78994578219,425.14154361347,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Hypodorian Inverted"},hypod_diat:{frequencies:[261.6255653006,279.06726965397,299.00064605783,322.00069575458,334.88072358477,348.83408706747,364.00078650518,380.54627680087,418.60090448096,440.63253103259,465.11211608996,492.47165233054,523.2511306012],description:"Hypodorian Diatonic Tonos"},hypod_diat2:{frequencies:[261.6255653006,279.06726965397,322.00069575458,348.83408706747,364.00078650518,380.54627680087,418.60090448096,465.11211608996,523.2511306012],description:"Schlesinger's Hypodorian Harmonia, a subharmonic series through 13 from 16"},hypod_diatcon:{frequencies:[261.6255653006,279.06726965397,322.00069575458,348.83408706747,364.00078650518,418.60090448096,465.11211608996,523.2511306012],description:"A Hypodorian Diatonic with its own trite synemmenon replacing paramese"},hypod_diatinv:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Inverted Schlesinger's Hypodorian Harmonia, a harmonic series from 8 from 16"},hypod_enh:{frequencies:[261.6255653006,270.06509966514,274.49239638096,279.06726965397,310.07474405997,348.83408706747,364.00078650518,380.54627680087,389.39619021485,393.97732186443,398.6675280771,452.54151835779,523.2511306012],description:"Hypodorian Enharmonic Tonos"},hypod_enhinv:{frequencies:[261.6255653006,343.38355445704,351.55935337268,359.73515228832,392.4383479509,490.54793493862,506.89953276991,523.2511306012],description:"Inverted Schlesinger's Enharmonic Hypodorian Harmonia"},hypod_enhinv2:{frequencies:[261.6255653006,269.80136421624,277.97716313189,359.73515228832,392.4383479509,400.61414686654,408.78994578219,523.2511306012],description:"A harmonic form of Schlesinger's Hypodorian enharmonic inverted"},hypodorian_pis:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,392.4383479509,418.60090448096,483.00104363188,523.2511306012,546.00117975777,570.81941520131,627.90135672144,697.66817413493,784.8766959018,897.00193817349,966.00208726375,1046.5022612024],description:"Diatonic Perfect Immutable System in the Hypodorian Tonos"},hypol_chrom:{frequencies:[261.6255653006,275.39533189537,290.69507255622,348.83408706747,373.75080757229,402.50086969323,418.60090448096,436.04260883433,523.2511306012],description:"Schlesinger's Hypolydian Harmonia in the chromatic genus"},hypol_chrominv:{frequencies:[261.6255653006,313.95067836072,327.03195662575,340.11323489078,366.27579142084,392.4383479509,470.92601754108,497.08857407114,523.2511306012],description:"Inverted Schlesinger's Chromatic Hypolydian Harmonia"},hypol_chrominv2:{frequencies:[261.6255653006,274.70684356563,287.78812183066,340.11323489078,366.27579142084,392.4383479509,418.60090448096,523.2511306012],description:"harmonic form of Schlesinger's Chromatic Hypolydian inverted"},hypol_chrominv3:{frequencies:[261.6255653006,274.70684356563,287.78812183066,340.11323489078,392.4383479509,418.60090448096,444.76346101102,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Hypolydian inverted"},hypol_diat:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,373.75080757229,402.50086969323,436.04260883433,475.68284600109,523.2511306012],description:"Schlesinger's Hypolydian Harmonia, a subharmonic series through 13 from 20"},hypol_diatcon:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,402.50086969323,436.04260883433,475.68284600109,523.2511306012],description:"A Hypolydian Diatonic with its own trite synemmenon replacing paramese"},hypol_diatinv:{frequencies:[261.6255653006,287.78812183066,313.95067836072,340.11323489078,366.27579142084,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Inverted Schlesinger's Hypolydian Harmonia, a harmonic series from 10 from 20"},hypol_enh:{frequencies:[261.6255653006,268.33391312882,275.39533189537,348.83408706747,373.75080757229,402.50086969323,418.60090448096,436.04260883433,523.2511306012],description:"Schlesinger's Hypolydian Harmonia in the enharmonic genus"},hypol_enhinv:{frequencies:[261.6255653006,327.03195662575,333.57259575826,340.11323489078,366.27579142084,392.4383479509,497.08857407114,510.16985233617,523.2511306012],description:"Inverted Schlesinger's Enharmonic Hypolydian Harmonia"},hypol_enhinv2:{frequencies:[261.6255653006,268.16620443312,274.70684356563,340.11323489078,366.27579142084,379.35706968587,392.4383479509,523.2511306012],description:"A harmonic form of Schlesinger's Hypolydian enharmonic inverted"},hypol_enhinv3:{frequencies:[261.6255653006,268.16620443312,274.70684356563,340.11323489078,392.4383479509,405.51962621593,418.60090448096,523.2511306012],description:"A harmonic form of Schlesinger's Hypolydian enharmonic inverted"},hypol_pent:{frequencies:[261.6255653006,272.52663052146,290.69507255622,348.83408706747,373.75080757229,402.50086969323,415.27867508032,436.04260883433,523.2511306012],description:"Schlesinger's Hypolydian Harmonia in the pentachromatic genus"},hypol_tri:{frequencies:[261.6255653006,270.64713651786,280.31310567921,348.83408706747,373.75080757229,402.50086969323,413.09299784305,424.25767346043,523.2511306012],description:"Schlesinger's Hypolydian Harmonia in the first trichromatic genus"},hypol_tri2:{frequencies:[261.6255653006,270.64713651786,290.69507255622,348.83408706747,373.75080757229,402.50086969323,413.09299784305,436.04260883433,2093.0045224048],description:"Schlesinger's Hypolydian Harmonia in the second trichromatic genus"},hypolydian_pis:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,366.27579142084,406.97310157871,457.84473927605,488.36772189445,523.2511306012,563.50121757052,610.45965236807,665.95598440153,732.55158284168,813.94620315742,915.6894785521,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Hypolydian Tonos"},hypop_chrom:{frequencies:[261.6255653006,277.01530443593,285.40970760065,294.32876096318,336.37572681506,362.25078272391,376.74081403286,392.4383479509,409.50088481833,418.60090448096,428.11456140098,470.92601754108,523.2511306012],description:"Hypophrygian Chromatic Tonos"},hypop_chromenh:{frequencies:[261.6255653006,269.10058145205,277.01530443593,362.25078272391,392.4383479509,409.50088481833,428.11456140098,523.2511306012],description:"Schlesinger's Hypophrygian Harmonia in a mixed chromatic-enharmonic genus"},hypop_chrominv:{frequencies:[261.6255653006,319.76457981184,334.29933343966,348.83408706747,377.90359432309,465.11211608996,494.18162334558,523.2511306012],description:"Inverted Schlesinger's Chromatic Hypophrygian Harmonia"},hypop_chrominv2:{frequencies:[261.6255653006,276.16031892841,290.69507255622,348.83408706747,377.90359432309,406.97310157871,436.04260883433,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Hypophrygian inverted"},hypop_diat:{frequencies:[261.6255653006,294.32876096318,303.82323712328,313.95067836072,336.37572681506,362.25078272391,376.74081403286,392.4383479509,428.11456140098,448.50096908674,470.92601754108,495.71159741166,523.2511306012],description:"Hypophrygian Diatonic Tonos"},hypop_diat2:{frequencies:[261.6255653006,294.32876096318,313.95067836072,362.25078272391,376.74081403286,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Schlesinger's Hypophrygian Harmonia"},hypop_diat2inv:{frequencies:[261.6255653006,290.69507255622,319.76457981184,348.83408706747,363.36884069528,377.90359432309,436.04260883433,465.11211608996,523.2511306012],description:"Inverted Schlesinger's Hypophrygian Harmonia, a harmonic series from 9 from 18"},hypop_diatcon:{frequencies:[261.6255653006,294.32876096318,313.95067836072,362.25078272391,376.74081403286,428.11456140098,470.92601754108,523.2511306012],description:"A Hypophrygian Diatonic with its own trite synemmenon replacing paramese"},hypop_enh:{frequencies:[261.6255653006,269.10058145205,273.00058987889,277.01530443593,313.95067836072,362.25078272391,376.74081403286,392.4383479509,400.78810003496,405.0976494977,409.50088481833,470.92601754108,523.2511306012],description:"Hypophrygian Enharmonic Tonos"},hypop_enhinv:{frequencies:[261.6255653006,334.29933343966,341.56671025356,348.83408706747,377.90359432309,494.18162334558,508.71637697339,523.2511306012],description:"Inverted Schlesinger's Enharmonic Hypophrygian Harmonia"},hypop_enhinv2:{frequencies:[261.6255653006,268.89294211451,276.16031892841,348.83408706747,377.90359432309,392.4383479509,406.97310157871,523.2511306012],description:"A harmonic form of Schlesinger's Hypophrygian enharmonic inverted"},hypophryg_pis:{frequencies:[261.6255653006,283.42769574232,309.19384990071,340.11323489078,377.90359432309,425.14154361347,453.48431318771,523.2511306012,544.18117582525,566.85539148463,618.38769980142,680.22646978156,755.80718864618,850.28308722695,971.75209968794,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Hypophrygian Tonos"},kanzelmeyer_11:{frequencies:[261.6255653006,277.97716313189,310.68035879446,327.03195662575,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,474.19633710734,506.89953276991,523.2511306012],description:"Bruce Kanzelmeyer, 11 harmonics from 16 to 32. Base 388.3614815 Hz"},kanzelmeyer_18:{frequencies:[261.6255653006,277.97716313189,302.50455987882,310.68035879446,327.03195662575,335.20775554139,351.55935337268,359.73515228832,376.08675011961,384.26254903526,392.4383479509,425.14154361347,433.31734252912,457.84473927605,474.19633710734,482.37213602298,498.72373385427,506.89953276991,523.2511306012],description:"Bruce Kanzelmeyer, 18 harmonics from 32 to 64. Base 388.3614815 Hz"},kayolonian:{frequencies:[261.6255653006,267.90457886781,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,357.20610515709,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,490.54793493862,510.98743222773,523.2511306012],description:"19-tone 5-limit scale of the Kayenian Imperium on Kayolonia (reeks van Sjauriek)"},kayolonian_12:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"See Barnard: De Keiaanse Muziek, p. 11. (uitgebreide reeks)"},kayolonian_40:{frequencies:[261.6255653006,267.90457886781,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.07474405997,313.95067836072,319.36714514233,327.03195662575,331.11985608357,334.88072358477,340.65828815182,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,401.85686830172,408.78994578219,413.43299207996,418.60090448096,436.04260883433,441.49314144476,446.50763144636,459.88868900496,465.11211608996,470.92601754108,490.54793493862,496.11959049595,502.32108537715,510.98743222773,523.2511306012],description:"See Barnard: De Keiaanse Muziek"},kayolonian_f:{frequencies:[261.6255653006,279.06726965397,306.59245933664,327.03195662575,348.83408706747,392.4383479509,418.60090448096,446.50763144636,490.54793493862,523.2511306012],description:"Kayolonian scale F and periodicity block (128/125, 16875/16384)"},kayolonian_p:{frequencies:[261.6255653006,279.06726965397,306.59245933664,327.03195662575,348.83408706747,392.4383479509,418.60090448096,459.88868900496,490.54793493862,523.2511306012],description:"Kayolonian scale P"},kayolonian_s:{frequencies:[261.6255653006,287.4304306281,306.59245933664,327.03195662575,359.28803828513,392.4383479509,418.60090448096,459.88868900496,490.54793493862,523.2511306012],description:"Kayolonian scale S"},kayolonian_t:{frequencies:[261.6255653006,279.06726965397,297.67175429757,317.51653791741,348.83408706747,381.01984550089,418.60090448096,446.50763144636,476.27480687611,523.2511306012],description:"Kayolonian scale T"},kayolonian_z:{frequencies:[261.6255653006,279.06726965397,297.67175429757,327.03195662575,348.83408706747,392.4383479509,418.60090448096,446.50763144636,476.27480687611,523.2511306012],description:"Kayolonian scale Z"},kayoloniana:{frequencies:[261.6255653006,267.90457886781,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,367.91095120397,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,490.54793493862,510.98743222773,523.2511306012],description:"Amendment by Rasch of Kayolonian scale's note 9"},"kebyar-b":{frequencies:[261.6255653006,280.40333801024,299.48910562989,384.37207420335,402.78320381033,523.2511306012],description:"Gamelan Kebyar tuning begbeg, Andrew Toth, 1993"},"kebyar-s":{frequencies:[261.6255653006,283.00682726281,309.51375468789,385.26118901859,416.26536455926,523.2511306012],description:"Gamelan kebyar tuning sedung, Andrew Toth, 1993"},"kebyar-t":{frequencies:[261.6255653006,293.15632631094,325.27731021818,397.46748834812,422.07621250312,523.2511306012],description:"Gamelan kebyar tuning tirus, Andrew Toth, 1993"},keenan:{frequencies:[261.6255653006,279.77706779472,292.57243455474,305.95298478736,327.17991022208,349.87955533643,365.88099775759,391.26571058456,418.41160951721,437.54730686196,457.55816161244,489.30340830564,523.2511306012],description:"Dave Keenan 31-ET mode has 3 4:5:6:7 tetrads + 3 inv. is Fokker's 12-tone mode"},keenan2:{frequencies:[261.6255653006,278.14493936283,295.70736791055,306.84360659709,326.21810583671,346.81593583087,369.99442271164,393.35634555235,418.19337019276,433.94238997708,461.34206956593,490.47180009913,523.2511306012],description:"Dave Keenan strange 9-limit temperament TL 19-11-98"},keenan3:{frequencies:[261.6255653006,272.10155294862,282.99701916355,314.19580976213,326.77681046955,339.86157848985,377.32935907335,392.4383479509,408.1523292189,453.14877154631,471.29371440761,523.2511306012],description:"Chain of 1/6 kleisma tempered 6/5s, 10 tetrads, Dave Keenan, 30-Jun-99, TD235"},keenan3eb:{frequencies:[261.6255653006,272.52625793573,283.88113057344,314.31833892864,327.41448875753,341.05629284549,377.62371824792,393.35750206077,409.74683779238,453.67913385439,472.5817850056,523.2511306012],description:"Chain of 11 equal beating minor thirds, 6/5=3/2 same"},keenan3eb2:{frequencies:[261.6255653006,271.88912362492,282.55531921581,314.13446783,326.45794787121,339.26487744082,377.18204004818,391.97887331053,407.35618327602,452.88341485066,470.6500094,523.2511306012],description:"Chain of 11 equal beating minor thirds, 6/5=3/2 opposite"},keenan3j:{frequencies:[261.6255653006,291.88463270656,302.72962012827,313.97755176024,350.29154279212,363.30663963964,405.32593044476,420.38583225541,436.00528786292,486.43275040712,504.50618240233,523.2511306012],description:"Chain of 11 nearly just 19-tET minor thirds, Dave Keenan, 1-Jul-99"},keenan7:{frequencies:[261.6255653006,269.29177952703,279.86396690685,288.06460709314,296.5055443788,305.19382000629,314.13668154225,326.46944327063,336.03572815422,349.22823143301,359.46139971304,369.99442271164,380.8360868427,391.99543598175,407.38487419079,419.32216217931,435.78442404634,448.5538823653,461.69751437372,475.22628419761,489.15147723638,508.3551866238,523.2511306012],description:"Dave Keenan, 22 out of 72-tET periodicity block. TL 29-04-2001"},keenanmt:{frequencies:[261.6255653006,279.93529690293,292.50627485027,305.64177427204,327.03195662575,349.91912034749,365.63284274659,391.22147055517,418.60090448096,437.39890198442,457.04105241293,489.02683710225,523.2511306012],description:"Dave Keenan 1/4-comma tempered version of keenan with 6 7-limit tetrads"},keenanst:{frequencies:[261.6255653006,268.50609092997,277.46533822773,286.72352888229,294.26410920268,304.08282473376,314.22916151277,322.49311613356,333.25374941849,342.01803421352,353.43015577174,365.22306367425,374.82811589307,387.33500976677,397.52158713557,410.7856943143,424.4923875554,435.65616946139,450.19271626925,462.0323945472,477.44903730562,493.38008744487,506.35555615636,523.2511306012],description:"Dave Keenan, 7-limit temperament, g=260.353"},kelletat:{frequencies:[261.6255653006,275.58617649731,292.98704147282,310.05056613125,327.14272545641,348.82502010853,367.43868454848,391.99543598175,413.39000965417,437.97145880542,465.08793784701,489.90551202062,523.2511306012],description:"Herbert Kelletat's Bach-tuning (1967)"},kellner:{frequencies:[261.6255653006,275.62199471997,292.73769384471,310.07474405997,327.54963108844,348.83408706747,367.49599295996,391.37619916626,413.43299207996,437.91808280662,465.11211608996,491.32444638706,523.2511306012],description:"Herbert Anton Kellner's Bach tuning. 5 1/5 Pyth. comma and 7 pure fifths"},kellners:{frequencies:[261.6255653006,275.84425785506,292.86986732103,310.2247482054,327.84547867349,348.89032888179,367.85164222246,391.46454285105,413.69968681881,438.2147004401,465.26210635182,491.68894399626,523.2511306012],description:"Kellner's temperament with 1/5 synt. comma instead of 1/5 Pyth. comma"},kepler1:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"Kepler's Monochord no.1, Harmonices Mundi (1619)"},kepler2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"Kepler's Monochord no.2"},kepler3:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,441.49314144476,470.92601754108,496.67978412536,523.2511306012],description:"Kepler's choice system, Harmonices Mundi, Liber III (1619)"},kilroy:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Kilroy"},kimball:{frequencies:[261.6255653006,272.52663052146,275.93321340298,290.69507255622,294.32876096318,306.59245933664,327.03195662575,331.11985608357,348.83408706747,363.36884069528,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,459.88868900496,465.11211608996,490.54793493862,523.2511306012],description:"Buzz Kimball 18-note just scale"},kimball_53:{frequencies:[261.6255653006,277.01530443593,277.97716313189,279.06726965397,281.75060878526,283.42769574232,285.40970760065,287.78812183066,296.50897400735,299.00064605783,305.22982618403,307.79478270659,309.19384990071,313.95067836072,317.68818643644,319.76457981184,322.00069575458,327.03195662575,332.97799220076,338.57426097725,340.11323489078,342.12573923925,348.83408706747,359.73515228832,362.25078272391,366.27579142084,369.35373924791,370.63621750918,373.75080757229,377.90359432309,380.54627680087,392.4383479509,400.13321751856,402.50086969323,404.33041910093,411.12588832951,418.60090448096,425.14154361347,428.11456140098,430.91269578922,436.04260883433,442.75095666255,444.76346101102,448.50096908674,457.84473927605,461.69217405988,475.68284600109,479.64686971777,483.00104363188,485.87604984397,490.54793493862,492.47165233054,494.18162334558,523.2511306012],description:"Buzz Kimball 53-note just scale"},kirkwood:{frequencies:[261.6255653006,294.32876096318,305.22982618403,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Scale based on Kirkwood gaps of the asteroid belt"},"kirn-stan":{frequencies:[261.6255653006,276.16031892841,292.60754013883,310.68035879446,327.03195662575,348.83408706747,368.21375857121,392.4383479509,414.24047839262,437.1900893839,465.11211608996,490.54793493862,523.2511306012],description:"Kirnberger temperament improved by Charles Earl Stanhope (1806)"},kirnberger:{frequencies:[261.6255653006,275.62199471997,292.50627485027,310.07474405997,327.03195662575,348.83408706747,367.91095120397,391.22147055517,413.43299207996,437.39890198442,465.11211608996,490.54793493862,523.2511306012],description:"Kirnberger's well-temperament, also called Kirnberger III, letter to Forkel 1779"},kirnberger1:{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,438.75944753732,465.11211608996,490.54793493862,523.2511306012],description:"Kirnberger's temperament 1 (1766)"},kirnberger2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,438.75941205608,465.11211608996,490.54793493862,523.2511306012],description:'Kirnberger 2: 1/2 synt. comma. "Die Kunst des reinen Satzes" (1774)'},kirnberger3:{frequencies:[261.6255653006,275.93321340298,292.50627485027,310.07474405997,327.03195662575,348.83408706747,367.91095120397,391.22147055517,413.89982010446,437.39890198442,465.11211608996,490.54793493862,523.2511306012],description:"Kirnberger 3: 1/4 synt. comma (1744)"},kirnberger3v:{frequencies:[261.6255653006,275.93321340298,292.50063201309,310.07474405997,327.03195662575,348.83408706747,367.91095120397,391.21579858034,413.43299207996,437.39258595147,465.11211608996,490.54793493862,523.2511306012],description:"Variant well-temperament like Kirnberger 3, Kenneth Scholz, MTO 4.4, 1998"},klais:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,327.21690075602,348.83408706747,367.49599295996,391.99543598175,413.43299207996,438.01699797506,465.11211608996,489.99465727995,523.2511306012],description:"Johannes Klais, Bach temperament"},klonaris:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Johnny Klonaris, 19-limit harmonic scale"},knot:{frequencies:[261.6255653006,268.26840191956,280.31310567921,286.15296204753,294.32876096318,299.00064605783,306.59245933664,327.03195662575,348.83408706747,357.69120255941,366.27579142084,367.91095120397,381.53728273004,392.4383479509,408.78994578219,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,459.88868900496,476.92160341255,478.40103369253,490.54793493862,523.2511306012],description:"Smallest knot in 3-D, American Scientist, Nov-Dec '97 p506-510, trefoil knot"},koepf_36:{frequencies:[261.6255653006,272.26348829648,274.95017225036,277.18263097687,288.45311779165,291.29956028699,293.66476791741,305.60543275312,308.62113352716,311.12698372208,323.77767743764,326.97270111135,329.62755691287,343.03050002254,346.41550969045,349.22823143301,363.4281550135,367.0144478307,369.99442271164,385.03871768789,388.83826257328,391.99543598175,407.93431128975,411.95978887118,415.30469757995,432.19134773437,436.45619266906,440,457.89078262597,462.40922843744,466.16376151809,485.11838543951,489.90551202062,493.88330125613,513.96502576833,519.03680970905,523.2511306012],description:"Siegfried Koepf, 36-tone subset of 48-tone scale (1991)"},koepf_48:{frequencies:[261.6255653006,269.44737349144,272.26348829648,274.95017225036,277.18263097687,285.46954808622,288.45311779165,291.29956028699,293.66476791741,302.44445076078,305.60543275312,308.62113352716,311.12698372208,320.42873367481,323.77767743764,326.97270111135,329.62755691287,339.48241770075,343.03050002254,346.41550969045,349.22823143301,359.66909273781,363.4281550135,367.0144478307,369.99442271164,381.0561299374,385.03871768789,388.83826257328,391.99543598175,403.71490654806,407.93431128975,411.95978887118,415.30469757995,427.72104413038,432.19134773437,436.45619266906,440,453.15466093696,457.89078262597,462.40922843744,466.16376151809,480.10063929961,485.11838543951,489.90551202062,493.88330125613,508.64890891624,513.96502576833,519.03680970905,523.2511306012],description:"Siegfried Koepf, 48-tone scale (1991)"},kolinsky:{frequencies:[261.6255653006,277.2273508585,293.75953199293,311.27759533081,329.84032939425,349.51003591412,370.35272620855,392.4383479509,415.84102607989,440.63929776914,466.91639276282,494.76049384407,524.26505360912],description:"Kolinsky's 7th root of 3/2, also invented by Augusto Novaro"},kora1:{frequencies:[261.6255653006,293.66476791741,326.78388880949,349.22823143301,391.99543598175,440,489.62261321254,523.2511306012],description:"Kora tuning Tomora Ba, also called Silaba, 1/1=F, R. King"},kora2:{frequencies:[261.6255653006,298.79793764201,315.65242990842,349.22823143301,391.99543598175,447.69106452518,472.94426956511,523.2511306012],description:"Kora tuning Tomora Mesengo, also called Tomora, 1/1=F, R. King"},kora3:{frequencies:[261.6255653006,291.13134764929,330.58093469714,349.22823143301,391.99543598175,436.20415848357,495.31175393723,523.2511306012],description:"Kora tuning Hardino, 1/1=F, R.King"},kora4:{frequencies:[261.6255653006,291.13134764929,330.58093469714,371.06455309218,391.99543598175,436.20415848357,495.31175393723,523.2511306012],description:"Kora tuning Sauta, 1/1=F, R. King"},korea_5:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,470.92601754108,523.2511306012],description:'According to Lou Harrison, called "the Delightful" in Korea'},kornerup:{frequencies:[261.6255653006,272.97226153513,280.22976278938,292.38332274669,305.0639823888,313.17470478367,326.75708630452,340.92853547661,349.99278713323,365.17196824772,374.88056242272,391.13935185123,408.10305876469,418.95303445734,437.12302030357,456.08130156398,468.2068441924,488.51296691354,509.70006023951,523.2511306012],description:"Kornerup's temperament with fifth of (15 - sqrt 5) / 22 octaves"},kornerup_11:{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Kornerup's doric minor"},kraeh_22:{frequencies:[261.6255653006,267.07609791103,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,320.49131749323,336.37572681506,343.38355445704,353.19451315581,366.27579142084,381.53728273004,392.4383479509,400.61414686654,412.06026534844,436.04260883433,441.49314144476,457.84473927605,470.92601754108,488.36772189445,504.56359022259,523.2511306012],description:"Kraehenbuehl & Schmidt 7-limit 22-tone tuning"},kraeh_22a:{frequencies:[261.6255653006,267.07609791103,269.10058145205,272.52663052146,274.70684356563,279.06726965397,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,311.45900631024,313.95067836072,318.93402246168,320.49131749323,327.03195662575,336.37572681506,343.38355445704,348.83408706747,350.39138209902,353.19451315581,358.80077526939,366.27579142084,367.91095120397,373.75080757229,381.53728273004,392.4383479509,398.6675280771,400.61414686654,403.65087217807,408.78994578219,412.06026534844,418.60090448096,420.46965851882,436.04260883433,441.49314144476,448.50096908674,457.84473927605,467.18850946536,470.92601754108,476.92160341255,478.40103369253,488.36772189445,490.54793493862,498.33441009638,504.56359022259,523.2511306012],description:'Kraehenbuehl & Schmidt 7-limit 22-tone tuning with "inflections" for some tones'},kraeh_22b:{frequencies:[261.6255653006,269.10058145205,279.06726965397,286.15296204753,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,367.91095120397,381.53728273004,392.4383479509,408.78994578219,420.46965851882,436.04260883433,448.50096908674,457.84473927605,476.92160341255,490.54793493862,504.56359022259,523.2511306012],description:"Best 22-tET approximation of KRAEH_22A"},kring1:{frequencies:[261.6255653006,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,523.2511306012],description:"Double-tie circular mirroring of 4:5:6 and Partch's 5-limit tonality Diamond"},kring1p3:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,282.55561052465,290.69507255622,294.32876096318,301.39265122629,306.59245933664,310.07474405997,313.95067836072,327.03195662575,334.88072358477,340.65828815182,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,376.74081403286,387.59343007496,392.4383479509,401.85686830172,408.78994578219,418.60090448096,436.04260883433,441.49314144476,446.50763144636,454.2110508691,465.11211608996,470.92601754108,484.4917875937,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Third carthesian power of double-tie mirroring of 4:5:6 with kleismas removed"},kring2:{frequencies:[261.6255653006,299.00064605783,305.22982618403,348.83408706747,392.4383479509,448.50096908674,457.84473927605,523.2511306012],description:"Double-tie circular mirroring of 6:7:8"},kring2p3:{frequencies:[261.6255653006,265.7783520514,271.31540105247,288.32205155576,294.32876096318,299.00064605783,305.22982618403,310.07474405997,329.51091606373,336.37572681506,343.38355445704,348.83408706747,356.10146388137,384.42940207435,392.4383479509,398.6675280771,406.97310157871,415.4517078616,441.49314144476,448.50096908674,457.84473927605,465.11211608996,474.80195184183,504.56359022259,515.07533168556,523.2511306012],description:"Third power of 6:7:8 mirroring with 1029/1024 intervals removed"},kring3:{frequencies:[261.6255653006,305.22982618403,313.95067836072,366.27579142084,373.75080757229,436.04260883433,448.50096908674,523.2511306012],description:"Double-tie circular mirroring of 3:5:7"},kring3bp:{frequencies:[261.6255653006,336.37572681506,366.27579142084,436.04260883433,470.92601754108,560.62621135843,610.45965236807,784.8766959018],description:"Double-tie BP circular mirroring of 3:5:7"},kring4:{frequencies:[261.6255653006,299.00064605783,327.03195662575,366.27579142084,373.75080757229,418.60090448096,457.84473927605,523.2511306012],description:"Double-tie circular mirroring of 4:5:7"},kring4p3:{frequencies:[261.6255653006,267.90457886781,273.37201925287,280.42990280658,286.15296204753,293.02063313667,299.00064605783,305.10270005901,320.49131749323,327.03195662575,334.88072358477,341.71502406609,350.53737850823,357.69120255941,366.27579142084,373.75080757229,382.72082695402,390.53145607553,400.61414686654,408.78994578219,418.60090448096,427.14378008261,448.68784449053,457.84473927605,467.18850946536,478.40103369253,488.16432009441,500.76768358318,510.98743222773,523.2511306012],description:"Third power of 4:5:7 mirroring with 3136/3125 intervals removed"},kring5:{frequencies:[261.6255653006,290.69507255622,336.37572681506,366.27579142084,373.75080757229,406.97310157871,470.92601754108,523.2511306012],description:"Double-tie circular mirroring of 5:7:9"},kring5p3:{frequencies:[261.6255653006,266.96486255163,272.4643387202,278.02483542877,284.8811711051,290.69507255622,296.68339105088,302.73815413355,308.91648380975,316.53463456122,322.99452506247,329.64821227876,336.37572681506,343.24053756638,351.70514951247,358.88280562497,366.27579142084,373.75080757229,381.45007420827,389.23476960028,398.83363954714,406.97310157871,415.27867508032,423.83341578697,432.48307733364,443.14848838571,452.19233508746,461.42075008924,470.92601754108,480.53675259294,492.38720931745,502.43592787495,512.78610798918,523.2511306012],description:"Third power of 5:7:9 mirroring with 250047/250000 intervals removed"},kring6:{frequencies:[261.6255653006,305.22982618403,336.37572681506,348.83408706747,392.4383479509,406.97310157871,448.50096908674,523.2511306012],description:"Double-tie circular mirroring of 6:7:9"},kring6p3:{frequencies:[261.6255653006,267.07609791103,271.31540105247,276.96780524107,288.32205155576,294.32876096318,299.00064605783,305.22982618403,310.07474405997,316.53463456122,324.36230800023,329.51091606373,336.37572681506,343.38355445704,348.83408706747,356.10146388137,361.75386806997,369.29040698809,378.42269266694,384.42940207435,392.4383479509,398.6675280771,406.97310157871,415.4517078616,422.04617941496,432.48307733364,441.49314144476,448.50096908674,457.84473927605,465.11211608996,474.80195184183,494.26637409559,504.56359022259,512.57253609913,523.2511306012],description:"Third power of 6:7:9 mirroring with 118098/117649 intervals removed"},krousseau:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,343.38355445704,348.83408706747,366.27579142084,392.4383479509,406.97310157871,457.84473927605,465.11211608996,488.36772189445,523.2511306012],description:"Kami Rousseau's tri-blues scale"},krousseau2:{frequencies:[261.6255653006,271.34627406517,291.88463270656,302.72962012827,337.74269681563,350.29154279212,363.30663963964,390.80553229045,405.32593044476,452.20508247496,469.00678383895,486.43275040712,523.2511306012],description:"19-tET version of Kami Rousseau's tri-blues scale"},kukuya:{frequencies:[261.6255653006,307.37578701508,361.96165147221,412.67427966689,460.80941404108],description:"African Kukuya Horns (aerophone, ivory, one note only)"},kurzw_arab:{frequencies:[261.6255653006,282.02769802256,290.29174037004,302.26980244078,321.16993719469,349.63190883464,374.94271441196,393.35634555235,411.95978887118,429.20598402782,447.69106452518,496.7443381147,523.2511306012],description:'Kurzweil "Empirical Arabic"'},kurzw_harmp:{frequencies:[261.6255653006,285.46954808622,287.62123438446,306.48933163909,308.79945157961,324.90175210669,345.81573716922,348.42227432308,427.72104413038,430.94493093825,458.94995811222,462.40922843744,523.2511306012],description:'Kurzweil "Empirical Bali/Java Harmonic Pelog"'},kurzw_melp:{frequencies:[261.6255653006,281.53940445957,283.98935579354,303.66981774726,307.02089761314,323.96475278212,344.02264297658,347.0163224393,421.10213511252,424.76655906637,451.06547253417,454.99063696457,523.2511306012],description:'Kurzweil "Empirical Bali/Java Melodic Pelog"'},kurzw_slen:{frequencies:[261.6255653006,266.96862289802,288.95340229325,306.66641795878,318.95145438803,352.26720984209,352.26720984209,389.06292924114,404.41509766528,429.20598402782,464.81937009253,474.03826620294,523.2511306012],description:'Kurzweil "Empirical Bali/Java Slendro, Siam 7"'},kurzw_tibet:{frequencies:[261.6255653006,270.53905136894,299.14332201883,312.9293240034,325.46525203475,353.69443592699,373.86139962101,397.69714089209,408.87792937274,438.98455767189,471.30800669535,489.90551202062,523.2511306012],description:'Kurzweil "Empirical Tibetian Ceremonial"'},kwazy:{frequencies:[13.75,13.8425266748,13.92142234948,14.00076777204,14.0805654254,14.16081788707,14.25610896047,14.337361936,14.41907801447,14.50125983535,14.58391005315,14.66703125278,14.76572882594,14.84988638999,14.93452361174,15.01964313826,15.10524789197,15.20689431811,15.29356631363,15.38073220905,15.46839499707,15.55655742089,15.66124080485,15.75050226619,15.84027256598,15.93055451337,16.0213510245,16.11266503216,16.22109048883,16.31354291552,16.40652227664,16.50003157548,16.59407373656,16.70573878851,16.80095347779,16.89671084507,16.99301388521,17.08986590459,17.18726993397,17.30292672931,17.40154500258,17.50072545316,17.60047118468,17.70078541898,17.81989766631,17.92146252619,18.023606257,18.12633215803,18.22964354736,18.35231459047,18.45691397115,18.56210951808,18.66790462912,18.77430261304,18.88130712282,19.00836345475,19.11670199894,19.22565790976,19.335234928,19.44543648263,19.57628896102,19.68786429416,19.80007566685,19.91292659048,20.02642071019,20.16118263857,20.27609169854,20.39165568498,20.50787833065,20.62476338959,20.74231451743,20.88189396397,21.00091073243,21.12060583931,21.24098302814,21.36204643183,21.50579618625,21.62836889778,21.75164008927,21.875613993,22.00029448845,22.14833914981,22.27457391904,22.40152829449,22.52920624893,22.65761190639,22.78674941445,22.94008616579,23.07083364148,23.202326315,23.33456843363,23.46756413327,23.62548236417,23.76013626908,23.89555763659,24.03175070206,24.16872014141,24.30647024079,24.47003364934,24.60950094889,24.74976328722,24.89082505353,25.03269080417,25.2011409598,25.3447753621,25.48922841152,25.63450477396,25.78060914191,25.95409219477,26.10201805756,26.25078702673,26.40040390759,26.55087337946,26.70220060843,26.88188539622,27.03509923475,27.18918616153,27.34415146685,27.5],description:"Kwazy temperament, g=162.741892, p=600, 5-limit"},lambdoma5_12:{frequencies:[261.6255653006,21.80213044172,23.78414230005,26.16255653006,29.06950725562,32.70319566257,37.37508075723,43.60426088343,47.56828460011,52.32511306012,58.13901451124,65.40639132515,71.35242690016,74.75016151446,78.48766959018,87.20852176687,95.13656920022,98.10958698772,104.65022612024,109.01065220858,112.12524227169,116.27802902249,118.92071150027,130.8127826503,145.34753627811,149.50032302891,156.97533918036,163.51597831288,174.41704353373,186.87540378614,196.21917397545,209.30045224048,218.02130441717,261.6255653006,327.03195662575,348.83408706747,392.4383479509,436.04260883433,523.2511306012,654.0639132515,784.8766959018,1046.5022612024,1308.127826503],description:"5x12 Lambdoma"},lambdoma_prim:{frequencies:[261.6255653006,8.43953436454,9.02157121726,11.37502457829,13.76976659477,15.38973913533,16.87906872907,18.04314243452,20.12504348466,22.75004915657,23.78414230005,25.31860309361,27.06471365179,27.53953318954,30.77947827066,34.12507373486,37.37508075723,40.25008696932,41.30929978431,42.19767182268,45.10785608631,46.16921740599,47.56828460011,52.32511306012,56.87512289143,59.07674055175,60.37513045398,63.15099852083,68.84883297384,71.35242690016,74.75016151446,76.94869567665,79.62517204801,87.20852176687,96.38836616338,100.62521742331,104.65022612024,107.72817394731,112.12524227169,118.92071150027,130.8127826503,140.87530439263,156.97533918036,166.48899610038,174.41704353373,186.87540378614,261.6255653006,366.27579142084,392.4383479509,436.04260883433,523.2511306012,610.45965236807,654.0639132515,784.8766959018,915.6894785521,1308.127826503,1831.3789571042],description:"Prime Lambdoma"},lambert:{frequencies:[261.6255653006,276.15600972046,293.19138048956,310.67551062492,328.56569462012,349.50994910362,368.20801314466,391.67947347082,414.23401437362,438.93663604468,466.01326570444,491.89550004992,523.2511306012],description:"Lambert's temperament (1774) 1/7 Pyth. comma, 5 pure"},lara:{frequencies:[261.6255653006,286.4606265643,298.28060863281,313.11013128311,341.05478972476,377.11473546037,395.40657391157,420.13030572059,450.02449304881,492.74350578058,523.2511306012,577.23956595248,599.67057787333],description:"Sundanese 'multi-laras' gamelan Ki Barong tuning, Weintraub, TL 15-2-99 1/1=497"},lebanon:{frequencies:[261.6255653006,285.30470202322,311.12698372208,349.22823143301,391.99543598175,415.30469757995,466.16376151809,523.2511306012],description:"Lebanese scale? Dastgah Shur"},leedy:{frequencies:[261.6255653006,269.80136421624,290.69507255622,294.32876096318,305.22982618403,327.03195662575,348.83408706747,359.73515228832,392.4383479509,436.04260883433,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:'Douglas Leedy, scale for "Pastorale" (1987), 1/1=f, 10/9 only in vocal parts'},leeuw1:{frequencies:[261.6255653006,311.12698372208,349.22823143301,380.8360868427,415.30469757995,466.16376151809,508.3551866238,554.36526195375,604.53960488156,659.25511382574,739.98884542327,806.96355802011,880,987.76660251225],description:'Ton de Leeuw: non-oct. mode from "Car nos vignes sont en fleurs",part 5. 1/1=A'},leftpistol:{frequencies:[261.6255653006,275.93321340298,279.06726965397,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Left Pistol"},legros1:{frequencies:[261.6255653006,274.22463192287,292.50627485027,309.49749487796,327.03195662575,348.83408706747,365.63284274659,391.22147055517,411.33694767869,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Example of temperament with 3 just major thirds"},legros2:{frequencies:[261.6255653006,275.07759559501,292.50627485027,309.49749487796,327.03195662575,348.83408706747,366.77012764335,391.22147055517,412.61639318626,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Example of temperament with 2 just major thirds"},"lehman-bach":{frequencies:[261.6255653006,276.86979852503,293.00227310437,310.77584116741,328.14198392915,349.6228209638,369.15973155124,391.5530240856,414.83597850347,438.51190905657,465.63764214343,492.21297564769,523.2511306012],description:"Brad Lehman's Bach keyboard temperament"},lemba10:{frequencies:[261.6255653006,283.65327551057,298.9489942119,324.1191713102,341.59697290141,370.35792032269,401.5404117335,423.19307614937,458.82405293702,483.56568031466,524.27976214079],description:"10-note Lemba scale, Herman Miller"},lemba12:{frequencies:[261.6255653006,276.1173031791,283.29759227608,298.9897683987,323.75689816556,341.69016129748,369.99442271164,390.48883496177,400.64329718448,422.83538548023,457.86139629758,483.22286023634,523.2511306012],description:"Lemba[12] in 270-et (poptimal)"},lemba22:{frequencies:[261.6255653006,268.42900262332,276.1173031791,283.29759227608,298.9897683987,306.76484424299,315.55115201964,323.75689816556,341.69016129748,350.57563899649,360.61677037127,369.99442271164,379.61593604418,390.48883496177,400.64329718448,422.83538548023,433.83100318771,446.25671880862,457.86139629758,483.22286023634,495.78882330645,509.98912747823,523.2511306012],description:"Lemba[22] in 270-et (poptimal)"},lemba24:{frequencies:[261.6255653006,275.73346179752,283.65327551057,290.60211247891,298.9489942119,307.53562105228,315.06951922004,324.1191713102,332.05932738876,341.59697290141,351.40856549044,360.01724743313,370.35792032269,390.32910012969,401.5404117335,411.37720579947,423.19307614937,435.34833037897,446.01333880095,458.82405293702,470.06416125332,483.56568031466,497.45499966368,509.64147516102,524.27976214079],description:"24-note Lemba scale for mapping millerlemba24.kbm"},lemba8:{frequencies:[261.6255653006,275.73334871592,283.6533803711,298.94898212432,307.53584843097,324.11927802481,341.59694330429,351.4088110982,370.358025147],description:"Lemba temperament (4 down, 3 up) TOP tuning, Herman Miller, TL 22-11-2004"},leusden:{frequencies:[261.6255653006,275.54404190554,292.50627485027,310.51268695591,327.03195662575,349.91912034749,367.08095907728,391.22147055517,413.66634097248,437.39890198442,466.16376151809,489.02683710225,523.2511306012],description:"Organ in Gereformeerde kerk De Koningshof, Henk van Eeken, 1984, a'=415, modif. 1/4 mean"},leven:{frequencies:[261.6255653006,279.06726965397,298.97057995496,313.95067836072,330.39003879965,348.83408706747,369.35382642901,392.4383479509,418.60090448096,448.46752658184,465.11211608996,502.32108537715,523.2511306012],description:"Leven's monochord ?"},ligon:{frequencies:[261.6255653006,279.66870773512,292.40504357126,309.19384990071,329.87571277032,342.12573923925,366.27579142084,392.4383479509,411.12588832951,436.04260883433,462.87600014722,485.87604984397,523.2511306012],description:"Jacky Ligon, strictly proper all prime scale, TL 08-09-2000"},ligon2:{frequencies:[261.6255653006,276.16031892841,292.40504357126,310.68035879446,331.39238271409,355.06326719367,382.37582620857,411.78935130154,441.2028763945,470.61640148747,500.02992658044,529.4434516734,558.85697676637],description:"Jacky Ligon, 19-limit symmetrical non-octave scale, 2001"},ligon3:{frequencies:[261.6255653006,273.51763645063,286.54228580542,300.86940009569,316.70463167967,334.29933343966,341.25073734861,376.08675011961,401.15920012759,427.90314680276,471.58492637221,481.3910401531,508.13498682828,534.87893350345,561.62288017862,588.36682685379,615.11077352897],description:"Jacky Ligon, 23-limit non-octave scale (2001)"},ligon4:{frequencies:[261.6255653006,278.49926570678,289.46759601673,308.13698517552,320.27237341115,340.92853547661,362.91692931321,386.32347802158,401.53832428939,427.43578342293,444.26952759254,472.92296174596,491.54841572131,523.2511306012,556.99853141357,592.92249142473,616.27397035104,640.54474682231,681.85707095323,725.83385862642,754.41987838254,803.07664857879],description:"Jacky Ligon, 2/1 Phi Scale, TL 12-04-2001"},ligon5:{frequencies:[261.6255653006,273.22765669781,280.653851324,293.09977429907,314.41721066027,328.36040925687,337.28508524374,352.24238645938,377.86132347501,394.61802538749,405.34378524393,423.31898451752,454.1076550834,474.24531572837,487.13535379632,508.73764640933,545.73895363303],description:'Jacky Ligon, scale for "Two Golden Flutes" (2001)'},ligon6:{frequencies:[261.6255653006,280.653851324,293.09977429907,314.41721066027,328.36040925687,352.24238645938,377.86132347501,394.61802538749,423.31898451752,442.09155952525,474.24531572837,508.73764640933,531.29821178855,569.94005600595],description:'Jacky Ligon, "Primal Golden Tuning" (2001)'},ligon7:{frequencies:[261.6255653006,294.32876096318,321.08592105074,361.22166118208,394.05999401681,443.31749326891,483.61908356609,527.58445479937],description:"Jacky Ligon, 7 tone, 27/22=generator, MMM 22-01-2002"},lindley_ea:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,328.14198392915,349.6228209638,367.9112241576,391.5530240856,413.43299207996,438.51190905657,465.63764214343,491.10256480205,523.2511306012],description:"Mark Lindley +J. de Boer +W. Drake (1991), for organ Grosvenor Chapel, London"},lindley_sf:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.07474405997,328.14198392915,349.6228209638,368.32692341742,391.5530240856,413.90012676351,438.51190905657,465.63764214343,491.10256480205,523.2511306012],description:"Lindley (1988) suggestion nr. 2 for Stanford Fisk organ"},"ling-lun":{frequencies:[261.6255653006,279.38237857051,294.32876096318,314.30517589183,331.11985608357,353.59332287831,372.50983809402,392.4383479509,419.07356785577,441.49314144476,471.45776383774,496.67978412536,523.2511306012],description:"Scale of Ling Lun from C"},liu_major:{frequencies:[261.6255653006,290.69507255622,322.99452506247,348.83408706747,392.4383479509,436.04260883433,484.4917875937,523.2511306012],description:`Linus Liu's Major Scale, see his 1978 book, "Intonation Theory"`},liu_mel:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,392.4383479509,423.83341578697,436.04260883433,470.92601754108,484.4917875937,523.2511306012],description:"Linus Liu's Melodic Minor, use 5 and 7 descending and 6 and 8 ascending"},liu_minor:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,387.59343007496,418.60090448096,484.4917875937,523.2511306012],description:"Linus Liu's Harmonic Minor"},liu_pent:{frequencies:[261.6255653006,294.32876096318,331.11985608357,353.19451315581,392.4383479509,441.49314144476,496.67978412536,529.79176973372],description:`Linus Liu's "pentatonic scale"`},lorina:{frequencies:[261.6255653006,271.31540105247,293.02063313667,305.22982618403,313.95067836072,348.83408706747,348.83408706747,385.55346465352,406.97310157871,457.84473927605,457.84473927605,465.11211608996,523.2511306012],description:"Lorina"},lt46a:{frequencies:[261.6255653006,265.62583852249,273.73233506765,277.91772325275,286.39934942254,290.77841553921,299.65253047503,308.79746990018,313.51900484808,323.08712797864,328.02715279963,338.03804253716,348.35444940179,353.68081538041,364.47461587782,370.04745828823,381.3407438317,387.1714705201,398.98735486934,411.16384203565,417.45056598488,430.19052226982,436.76816801564,450.09766813034,463.83396431287,470.92601754108,485.29796386361,492.71820372913,507.75521382755,523.2511306012],description:"13-limit temperament, minimax g=495.66296 cents"},lucy_19:{frequencies:[261.6255653006,272.17716319349,280.81422591737,292.13972001074,301.4102593031,313.56641022552,326.2128298123,336.56461921066,350.13857756143,364.25998604447,375.81913491042,390.97626371576,406.74469336313,419.65201956185,436.57696862128,450.43096951372,468.59726172356,487.49621708267,502.96605061019,523.2511306012],description:"Lucy's 19-tone scale"},lucy_24:{frequencies:[261.6255653006,269.92785558198,272.17712546173,280.81425349217,292.13970819848,301.41031849758,303.92192719902,313.56642833783,326.21280343239,336.56467170065,339.36921655583,350.13858362887,364.25994396351,375.81917832675,390.97625694066,403.38329512334,406.744629928,419.65205349792,436.57694340361,450.43105016925,454.18442712942,468.59728067062,487.49616921257,502.96612033609,523.2511306012],description:"Lucy/Harrison, meantone tuning from Bbb to Cx, third=1200.0/pi, 1/1=A"},lucy_31:{frequencies:[261.6255653006,269.92785558198,272.17712546173,280.81425349217,283.15423815518,292.13970819848,301.41031849758,303.92192719902,313.56642833783,323.51698308414,326.21280343239,336.56467170065,339.36921655583,350.13858362887,361.24970022276,364.25994396351,375.81917832675,378.95082751155,390.97625694066,403.38329512334,406.744629928,419.65205349792,432.96907456701,436.57694340361,450.43105016925,454.18442712942,468.59728067062,483.46750424654,487.49616921257,502.96612033609,507.15726445705,523.2511306012],description:"Lucy/Harrison's meantone tuning, 1/1=A"},lucy_7:{frequencies:[261.6255653006,292.13972001074,326.2128298123,350.13857756143,390.97626371576,436.57696862128,487.49621708267,523.2511306012],description:"Diatonic Lucy's scale"},lumma5:{frequencies:[261.6255653006,279.06726965397,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,459.88868900496,490.54793493862,523.2511306012],description:"Carl Lumma's 5-limit version of lumma7, also Fokker 12-tone just."},lumma7:{frequencies:[261.6255653006,279.06726965397,293.02063313667,305.22982618403,327.03195662575,348.83408706747,366.27579142084,390.69417751556,418.60090448096,436.04260883433,457.84473927605,488.36772189445,523.2511306012],description:"Carl Lumma's 7-limit 12-tone scale, a.k.a GW Smith's Prism. TL 21-11-98"},lumma7t:{frequencies:[261.6255653006,279.68948643792,293.67396186758,305.56991806333,326.66797434652,349.22276480589,366.68390442934,392.00157215927,419.06732091375,436.04260883433,457.84473927605,489.45662770953,523.2511306012],description:"Tempered lumma7, 6 tetrads + 4 triads within 2c of Just, TL 19-2-99"},lumma7t72:{frequencies:[261.6255653006,279.86396690685,293.66476791741,305.19382000629,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,435.78442404634,457.27406033445,489.15147723638,523.2511306012],description:"72-tET version of lumma7t"},lumma7t_keen:{frequencies:[261.6255653006,279.95098841649,293.39965821869,305.14186035122,326.51537799354,349.38597341375,366.17023517096,391.81845653432,419.26317124465,436.04260556019,456.98979229899,488.99939844699,523.2511306012],description:"Dave Keenan's adaptation of lumma7t to include 6:8:11, TL 17-04-9"},lumma_10:{frequencies:[261.6255653006,281.2143451833,302.26980244078,324.90175210669,349.22823143301,375.37611551499,391.99543598175,421.34544350737,452.89298412314,486.80259447109,523.2511306012],description:"Carl Lumma's 10-tone 125 cent Pyth. scale, TL 29-12-1999"},lumma_12_fun:{frequencies:[261.6255653006,276.16031892841,293.246794009,310.68035879446,327.94037872749,348.23056788569,368.93292606842,390.99572534534,413.52379936426,439.8701910135,464.30742384759,491.05951174505,522.34585182853],description:"Rational well temperament based on 577/289, 3/2, and 19/16."},"lumma_12_moh-ha-ha":{frequencies:[261.6255653006,276.16031892841,293.42033886144,310.68035879446,330.09788121912,349.51540364377,368.93292606842,391.72740891476,414.24047839262,440.13050829216,466.02053819169,493.4335110265,523.2511306012],description:"Rational well temperament."},lumma_12_strangeion:{frequencies:[261.6255653006,277.97716313189,292.40504357126,310.68035879446,330.09788121912,349.23197505989,368.93292606842,391.9912339477,414.71297038361,440.63253103259,468.17206422213,492.47165233054,523.2511306012],description:'19-limit "dodekaphonic" scale.'},lumma_22:{frequencies:[261.6255653006,263.29318697558,262.98919438538,262.83732973433,262.68555277841,262.53386346698,263.29318697558,262.38226174944,262.98919438538,262.23074757519,263.29318697558,262.68555277841,262.07932089369,263.29318697558,262.83732973433,263.59753095473,262.38226174944,263.44531501617,262.68555277841,262.98919438538,263.29318697558,263.902226729,261.92798165442],description:"Carl Lumma, intervals of attraction by trial and error, 1999."},lumma_5151:{frequencies:[261.6255653006,276.7826524273,292.81785438923,309.78204413166,327.729041887,346.71578592374,369.67398581173,391.09077971329,413.74834001613,437.71854962063,463.0774559108,489.90551202062,522.3451906503],description:"Carl Lumma's 5151 temperament III (1197/709.5/696). June 2003"},lumma_al1:{frequencies:[261.6255653006,274.63272075836,292.81785438923,309.78204413166,327.729041887,346.71578592374,366.8025131876,391.09077971329,413.74834001613,437.71854962063,463.0774559108,489.90551202062,522.3451906503],description:"Alaska I (1197/709.5/696), Carl Lumma, 6 June 2003."},lumma_al2:{frequencies:[261.6255653006,275.18850165466,292.98704147282,310.05056613125,328.10786809908,347.216824829,367.43868454848,391.20374747207,413.98739946535,438.09796819065,463.6127330944,490.61347436729,522.3451906503],description:"Alaska II (1197/707/696.5), Carl Lumma, 6 June 2003."},lumma_al3:{frequencies:[261.6255653006,275.18850165466,292.98704147282,310.05056613125,328.10786809908,349.32910706765,367.43868454848,391.20374747207,413.98739946535,438.09796819065,463.6127330944,490.61347436729,522.3451906503],description:"Alaska III (1197/707/696.5), Carl Lumma, 6 June 2003."},lumma_al4:{frequencies:[261.6255653006,276.38325105256,293.32570896007,309.87152561537,328.86683469969,349.02656754477,368.7143392539,391.31674786192,413.39000965417,438.73106346722,464.55095742407,491.89038573682,522.04355935974],description:"Alaska IV (1196/701/697), Carl Lumma, 6 June 2003."},lumma_al5:{frequencies:[261.6255653006,276.84261239447,293.89809826895,310.99222741882,329.08061019985,349.35433052883,369.67398581173,391.17550247358,415.27471248744,439.42852501549,464.98720675925,493.63374591774,522.3451906503],description:"Alaska V (1197/702/696.375), Carl Lumma, 6 June 2003."},lumma_al6:{frequencies:[261.6255653006,276.86260193655,293.83444433876,310.94732162256,329.05685050583,349.22823143301,369.56723519412,391.09077971329,415.06487744922,439.23819834286,464.81937009253,493.31307433255,522.04355935974],description:"Alaska VI (1196/701/696), Carl Lumma, 6 June 2003."},lumma_al7:{frequencies:[261.6255653006,276.11677207256,293.26810788146,310.16878953668,328.73958549954,348.42227432308,368.499294457,391.39134599911,413.94674961638,438.72852926454,464.99660740427,491.79379203259,522.3451906503],description:"Alaska VII, Carl Lumma, 27 Jan 2004"},lumma_dec1:{frequencies:[261.6255653006,286.10322937235,299.18791603519,327.17991022208,342.14320575162,374.15409293384,391.26571058456,427.87249484695,457.55816161244,489.30340830564,523.2511306012],description:"Carl Lumma, two 5-tone 7/4-chains, 5/4 apart in 31-tET, TL 9-2-2000"},lumma_dec2:{frequencies:[261.6255653006,286.10322937235,292.57243455474,327.17991022208,342.14320575162,382.6142546815,391.26571058456,437.54730686196,457.55816161244,511.68128147674,523.2511306012],description:"Carl Lumma, two 5-tone 3/2-chains, 7/4 apart in 31-tET, TL 9-2-2000"},lumma_magic:{frequencies:[261.6255653006,293.02063313667,299.00064605783,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,418.60090448096,436.04260883433,457.84473927605,467.18850946536,523.2511306012],description:"Magic chord test, Carl Lumma, TL 24-06-99"},"lumma_synchtrines+2":{frequencies:[261.6255653006,277.1478691313,293.59111644706,311.009943641,329.46223568632,349.00930447981,369.71610741159,391.65144749868,414.88821865981,439.50363030131,465.57948255979,493.20241832805,522.46423212702],description:"The 12-tone equal temperament with 2:3:4 brats of +2"},"lumma_synchtrines-2":{frequencies:[261.6255653006,277.19623399848,293.69359242342,311.17279259662,329.69226891672,349.31393351076,370.10338321153,392.13011885309,415.46777761785,440.19437666896,466.39258399594,494.14997995304,523.55935978973],description:"The 12-tone equal temperament with 2:3:4 brats of -2"},lydian_chrom:{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,317.12189733406,327.03195662575,373.75080757229,402.50086969323,418.60090448096,427.14378008261,436.04260883433,475.68284600109,523.2511306012,550.79066379074,581.39014511244,615.58956541318,634.24379466812,654.0639132515,747.50161514457,805.00173938646,837.20180896192,854.28756016522,872.08521766867,951.36569200218,1046.5022612024],description:"Lydian Chromatic Tonos"},lydian_chrom2:{frequencies:[261.6255653006,272.09058791262,283.42769574232,340.11323489078,377.90359432309,400.13321751856,425.14154361347,523.2511306012],description:"Schlesinger's Lydian Harmonia in the chromatic genus"},lydian_chrominv:{frequencies:[261.6255653006,271.68808704293,281.75060878526,362.25078272391,402.50086969323,422.62591317789,442.75095666255,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Lydian inverted"},lydian_diat:{frequencies:[261.6255653006,275.39533189537,290.69507255622,327.03195662575,348.83408706747,373.75080757229,387.59343007496,402.50086969323,436.04260883433,455.00098313148,475.68284600109,498.33441009638,523.2511306012,550.79066379074,581.39014511244,654.0639132515,697.66817413493,747.50161514457,852.70554616492,805.00173938646,872.08521766867,910.00196626296,951.36569200218,996.66882019276,1046.5022612024],description:"Lydian Diatonic Tonos"},lydian_diat2:{frequencies:[261.6255653006,283.42769574232,309.19384990071,340.11323489078,358.01393146398,377.90359432309,425.14154361347,485.87604984397,523.2511306012],description:"Schlesinger's Lydian Harmonia, a subharmonic series through 13 from 26"},lydian_diat2inv:{frequencies:[261.6255653006,281.75060878526,322.00069575458,362.25078272391,382.37582620857,402.50086969323,442.75095666255,483.00104363188,523.2511306012],description:"Inverted Schlesinger's Lydian Harmonia, a harmonic series from 13 from 26"},lydian_diatcon:{frequencies:[261.6255653006,283.42769574232,309.19384990071,340.11323489078,358.01393146398,425.14154361347,485.87604984397,523.2511306012],description:"A Lydian Diatonic with its own trite synemmenon replacing paramese"},lydian_enh:{frequencies:[261.6255653006,275.39533189537,290.69507255622,299.00064605783,303.33398875432,307.79478270659,373.75080757229,402.50086969323,410.39304360878,414.45634107026,418.60090448096,475.68284600109,523.2511306012,550.79066379074,581.39014511244,598.00129211566,606.66797750864,615.58956541318,747.50161514457,805.00173938646,820.78608721757,828.91268214051,837.20180896192,951.36569200218,1046.5022612024],description:"Lydian Enharmonic Tonos"},lydian_enh2:{frequencies:[261.6255653006,266.75547834571,272.09058791262,340.11323489078,377.90359432309,388.70083987518,400.13321751856,523.2511306012],description:"Schlesinger's Lydian Harmonia in the enharmonic genus"},lydian_enhinv:{frequencies:[261.6255653006,266.65682617177,271.68808704293,362.25078272391,402.50086969323,412.56339143556,422.62591317789,523.2511306012],description:"A harmonic form of Schlesinger's Enharmonic Lydian inverted"},lydian_pent:{frequencies:[261.6255653006,269.93113880221,283.42769574232,340.11323489078,377.90359432309,395.48050568695,425.14154361347,523.2511306012],description:"Schlesinger's Lydian Harmonia in the pentachromatic genus"},lydian_pis:{frequencies:[261.6255653006,290.69507255622,327.03195662575,373.75080757229,402.50086969323,436.04260883433,475.68284600109,523.2511306012,550.79066379074,581.39014511244,654.0639132515,747.50161514457,805.00173938646,872.08521766867,951.36569200218,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Lydian Tonos"},lydian_tri:{frequencies:[261.6255653006,268.51044859798,275.76748774928,340.11323489078,377.90359432309,392.4383479509,408.13588186894,523.2511306012],description:"Schlesinger's Lydian Harmonia in the first trichromatic genus"},lydian_tri2:{frequencies:[261.6255653006,268.51044859798,283.42769574232,340.11323489078,377.90359432309,392.4383479509,425.14154361347,523.2511306012],description:"Schlesinger's Lydian Harmonia in the second trichromatic genus"},nachbaur_6:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,457.84473927605,523.2511306012],description:`Fred Nachbaur's harmonic hexatonic, as used in "Void of Sensation"`},nassarre:{frequencies:[261.6255653006,277.66336828161,294.34406205295,311.66659310186,331.15428443044,350.6431449633,372.56793743951,394.49404533893,419.16071913933,443.82887286778,471.58032351597,495.88429116026,523.2511306012],description:"Nassarre's Equal Semitones"},negri5_19:{frequencies:[261.6255653006,271.22480440713,281.41555648081,291.74090527404,302.70251050738,313.80889368201,325.59966315504,337.54616011163,350.22880998446,363.07896889448,376.72096510961,390.54314115106,405.21705098851,420.08476989056,435.86864979507,451.86099895106,468.83881245397,486.04086171852,504.30291533224,523.2511306012],description:"Negri temperament, g=126.238272, 5-limit"},negri_19:{frequencies:[261.6255653006,269.02825605326,281.18681366715,289.14299126725,302.21061955257,310.76166549402,324.80633749066,333.99672707734,349.09149261831,358.96903024071,375.19240283292,392.14898023137,403.24482870584,421.46921730446,433.39468387282,452.98167562873,465.79878414581,486.85025820508,500.62567766841,523.2511306012],description:"Negri temperament, 13-limit, g=124.831"},negri_29:{frequencies:[261.6255653006,269.02825605326,276.64040740805,281.18681366715,289.14299126725,297.32428710198,302.21061955257,310.76166549402,319.55466133443,324.80633749066,333.99672707734,343.44715857517,349.09149261831,358.96903024071,369.1260526158,375.19240283292,385.80846524917,392.14898023137,403.24482870584,414.65463641221,421.46921730446,433.39468387282,445.65757880387,452.98167562873,465.79878414581,478.97855252217,486.85025820508,500.62567766841,514.79087238232,523.2511306012],description:"Negri temperament, 13-limit, g=124.831"},"neid-mar-morg":{frequencies:[261.6255653006,277.49581689502,293.99657683935,311.12698372208,329.99999983505,349.6228209638,369.99442271164,392.4383479509,415.77394625748,440,466.69047534984,494.44133512215,523.2511306012],description:"Neidhardt-Marpurg-de Morgan temperament (1858)"},neidhardt1:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.42509491746,328.14198392915,348.83408706747,368.32692341742,391.5530240856,414.36778843034,438.51190905657,465.11211608996,491.65745674141,523.2511306012],description:"Neidhardt I temperament (1724)"},neidhardt2:{frequencies:[261.6255653006,276.55731914056,293.00227310437,310.77584116741,328.51274831708,349.22823143301,369.15973155124,391.5530240856,414.36778843034,438.51190905657,466.16376151809,492.7691222293,523.2511306012],description:"Neidhardt II temperament (1724)"},neidhardt3:{frequencies:[261.6255653006,276.55731914056,293.00227310437,310.77584116741,328.51274831708,348.83408706747,369.15973155124,391.5530240856,414.36778843034,438.51190905657,465.63764214343,492.7691222293,523.2511306012],description:"Neidhardt III temperament (1724) 'Grosse Stadt'"},neidhardt4:{frequencies:[261.6255653006,277.18263097687,293.66476791741,311.12698372208,329.62755691287,349.22823143301,369.99442271164,391.99543598175,415.30469757995,440,466.16376151809,493.88330125613,523.2511306012],description:"Neidhardt IV temperament (1724), equal temperament"},neidhardtn:{frequencies:[261.6255653006,276.86979852503,293.66476791741,310.77584116741,329.62755691287,348.83408706747,369.99442271164,391.5530240856,415.30469757995,439.50340943686,466.16376151809,493.32589719545,523.2511306012],description:"Johann Georg Neidhardt's temperament (1732), alt. 1/6 & 0 P, also Marpurg nr.10"},neogeb24:{frequencies:[261.6255653006,270.11478301563,282.39420473706,291.55732426372,295.23185084282,304.81152420286,308.65309481038,318.66826025208,333.15492371116,343.96512368902,348.30015108876,359.6017829051,375.94928703407,388.14807710176,393.03994675222,405.79329398283,424.24066266408,438.00640969567,443.52664897728,457.91818970179,463.68937649142,478.73515685363,500.49846361623,516.73862125829,523.2511306012],description:"Neo-Gothic e-based lineotuning (T/S or Blackwood's R=e, ~2.71828), 24 notes"},neogji12:{frequencies:[261.6255653006,282.52678126125,294.32876096318,317.84262891891,332.97799220076,348.83408706747,374.60024122586,392.4383479509,423.79017189188,441.49314144476,443.97065626768,499.46698830115,523.2511306012],description:"M. Schulter, neo-Gothic 12-note JI (prim. 2/3/7/11) 1/1=F with Eb key as D+1"},neogp16a:{frequencies:[261.6255653006,274.38778799819,281.28352228595,295.02457363685,309.19384990071,317.19205704586,332.33517754401,348.83408706747,366.27579142084,374.86334014511,392.4383479509,411.12588832951,422.62591317789,442.75095666255,464.34856430463,498.91386871277,523.2511306012],description:"M. Schulter, scale from mainly prime-to-prime ratios and octave complements (Gb-D#)"},neutr_diat:{frequencies:[261.6255653006,294.32876096318,320.24370022528,348.83408706747,392.4383479509,427.47405410759,479.82340237272,523.2511306012],description:"Neutral Diatonic, 9 + 9 + 12 parts, geometric mean of major and minor"},neutr_pent1:{frequencies:[261.6255653006,302.32287545847,348.83408706747,392.4383479509,453.48431318771,523.2511306012],description:"Quasi-Neutral Pentatonic 1, 15/13 x 52/45 in each trichord, after Dudon"},neutr_pent2:{frequencies:[261.6255653006,301.87565226992,348.83408706747,392.4383479509,452.81347840488,523.2511306012],description:"Quasi-Neutral Pentatonic 2, 15/13 x 52/45 in each trichord, after Dudon"},new_enh:{frequencies:[261.6255653006,264.89588486686,279.06726965397,348.83408706747,392.4383479509,397.34382730029,418.60090448096,523.2511306012],description:"New Enharmonic"},new_enh2:{frequencies:[261.6255653006,327.03195662575,331.11985608357,348.83408706747,392.4383479509,490.54793493862,496.67978412536,523.2511306012],description:"New Enharmonic permuted"},newcastle:{frequencies:[261.6255653006,273.65745935891,291.9012907804,312.65334602246,327.03195662575,350.28154752005,366.3906401674,390.81668391305,410.48618883318,436.04260883433,467.04206359353,490.54793493862,523.2511306012],description:"Newcastle modified 1/3-comma meantone"},norden:{frequencies:[261.6255653006,274.87601291722,292.73769384471,310.07474405997,327.54963108844,349.78078158391,366.5013507395,391.37619916626,412.31401916973,437.91808280662,466.37437567834,489.99465727995,523.2511306012],description:"Reconstructed Schnitger temperament, organ in Norden. Ortgies, 2002"},novaro:{frequencies:[261.6255653006,274.70684356563,279.06726965397,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,490.54793493862,498.33441009638,523.2511306012],description:"9-limit diamond with 21/20, 16/15, 15/8 and 40/21 added for evenness"},novaro15:{frequencies:[261.6255653006,279.06726965397,280.31310567921,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,301.87565226992,305.22982618403,309.19384990071,313.95067836072,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,356.76213450082,359.73515228832,362.25078272391,366.27579142084,373.75080757229,377.90359432309,380.54627680087,383.71749577421,392.4383479509,402.50086969323,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,442.75095666255,448.50096908674,453.48431318771,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,488.36772189445,490.54793493862,523.2511306012],description:"1-15 diamond, see Novaro, 1927, Sistema Natural base del Natural-Aproximado, p"},novaro_eb:{frequencies:[261.6255653006,277.27733921611,293.70273468471,311.34510173929,329.85947563084,349.74559786079,370.61463194963,392.51515715445,416.03831243363,440.72414616847,467.23897542105,495.06435356607,524.26505360912],description:"Novaro (?) equal beating 4/3 with strectched octave, almost pure 3/2"},janke1:{frequencies:[261.6255653006,276.38325105256,293.32570896007,310.58830860439,328.86683469969,349.02656754477,368.7143392539,391.76907592069,414.34624765043,439.23819834286,465.62553897253,492.45896815637,523.2511306012],description:"Rainer Janke, Temperatur I"},janke2:{frequencies:[261.6255653006,276.38325105256,292.98704147282,310.58830860439,328.48713220126,349.02656754477,368.7143392539,391.54284657258,414.34624765043,438.73106346722,465.62553897253,491.89038573682,523.2511306012],description:"Rainer Janke, Temperatur II"},janke3:{frequencies:[261.6255653006,276.22365192501,292.98704147282,310.40895756597,328.29744538229,349.02656754477,368.50142299854,391.54284657258,414.10698098223,438.47771564426,465.62553897253,491.60634075178,523.2511306012],description:"Rainer Janke, Temperatur III"},janke4:{frequencies:[261.6255653006,275.90473010106,292.98704147282,310.76776326996,328.10786809908,349.22823143301,368.07595926604,391.54284657258,413.86785247997,438.47771564426,465.89457252293,491.32245979018,523.2511306012],description:"Rainer Janke, Temperatur IV"},janke5:{frequencies:[261.6255653006,275.58617649731,292.98704147282,310.05056613125,328.10786809908,348.82502010853,367.43868454848,391.54284657258,413.39000965417,438.47771564426,465.08793784701,491.0387427573,523.2511306012],description:"Rainer Janke, Temperatur V"},janke6:{frequencies:[261.6255653006,275.74540729824,292.98704147282,310.58830860439,328.10786809908,349.43001184052,367.65098676472,391.54284657258,413.86785247997,438.47771564426,465.89457252293,491.0387427573,523.2511306012],description:"Rainer Janke, Temperatur VI"},janke7:{frequencies:[261.6255653006,275.42703764514,292.81785438923,311.12698372208,327.91840028839,349.63190883464,367.0144478307,391.54284657258,413.62886206386,438.22451411849,467.24207374344,490.75518955849,523.2511306012],description:"Rainer Janke, Temperatur VII"},jemblung1:{frequencies:[261.6255653006,298.87388797409,337.89601991959,388.44742741354,452.30188977628,523.2511306012],description:"Scale of bamboo gamelan jemblung from Kalijering, slendro-like. 1/1=590 Hz."},jemblung2:{frequencies:[261.6255653006,300.03885820455,355.06324470257,391.40016308218,451.61555914985,523.2511306012],description:"Bamboo gamelan jemblung at Royal Batavia Society. 1/1=504 Hz."},ji_10coh:{frequencies:[261.6255653006,283.42769574232,299.7792935736,327.03195662575,348.83408706747,370.63621750918,392.4383479509,436.04260883433,457.84473927605,485.0974023282,523.2511306012],description:"Differentially coherent 10-tone scale"},ji_10coh2:{frequencies:[261.6255653006,305.22982618403,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,470.92601754108,479.64686971777,523.2511306012],description:"Other diff. coherent 10-tone scale"},ji_11:{frequencies:[261.6255653006,276.96780524107,294.32876096318,316.53463456122,336.37572681506,356.10146388137,384.42940207435,406.97310157871,432.48307733364,465.11211608996,494.26637409559,523.2511306012],description:"3 and 7 prime rational interpretation of 11-tET. OdC 2000"},ji_12:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Basic JI with 7-limit tritone"},ji_12a:{frequencies:[261.6255653006,279.06726965397,294.32876096318,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"7-limit 12-tone scale"},ji_12b:{frequencies:[261.6255653006,272.52663052146,290.69507255622,305.22982618403,327.03195662575,343.38355445704,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"alternate 7-limit 12-tone scale"},ji_12c:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:'Kurzweil "Just with natural b7th", is Sauveur Just with 7/4'},ji_13:{frequencies:[261.6255653006,279.06726965397,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,372.08969287196,392.4383479509,418.60090448096,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"5-limit 12-tone symmetrical scale with two tritones"},ji_17:{frequencies:[261.6255653006,271.31540105247,283.8170195002,294.32876096318,310.07474405997,321.55899383997,336.37572681506,348.83408706747,361.75386806997,378.42269266694,392.4383479509,406.97310157871,425.72552925031,441.49314144476,465.11211608996,482.33849075995,504.56359022259,523.2511306012],description:"3 and 7 prime rational interpretation of 17-tET. OdC"},ji_17a:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,310.07474405997,321.08592105074,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,426.35277308246,441.49314144476,465.11211608996,484.4917875937,502.32108537715,523.2511306012],description:"3, 5 and 11 prime rational interpretation of 17-tET, OdC"},ji_17b:{frequencies:[261.6255653006,272.52663052146,285.40970760065,294.32876096318,310.07474405997,319.76457981184,334.88072358477,348.83408706747,359.73515228832,380.54627680087,392.4383479509,408.78994578219,428.11456140098,441.49314144476,465.11211608996,479.64686971777,502.32108537715,523.2511306012],description:"Alt. 3, 5 and 11 prime rational interpretation of 17-tET, OdC"},ji_19:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,353.19451315581,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,470.92601754108,490.54793493862,523.2511306012],description:"5-limit 19-tone scale"},ji_20:{frequencies:[261.6255653006,271.31540105247,279.38237857051,288.32205155576,299.00064605783,310.07474405997,321.55899383997,331.11985608357,348.83408706747,356.10146388137,372.50983809402,384.42940207435,392.4383479509,413.43299207996,425.72552925031,441.49314144476,457.84473927605,474.80195184183,489.99465727995,504.56359022259,523.2511306012],description:"3 and 7 prime rational interpretation of 20-tET. OdC"},ji_21:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,504.56359022259,523.2511306012],description:"7-limit 21-tone just scale, Op de Coul, 2001"},ji_22:{frequencies:[261.6255653006,272.52663052146,279.06726965397,282.55561052465,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,340.65828815182,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,470.92601754108,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"5-limit 22-tone scale (Zarlino?)"},ji_27:{frequencies:[261.6255653006,267.90457886781,275.62199471997,282.55561052465,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,331.11985608357,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,413.43299207996,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,484.4917875937,496.67978412536,510.98743222773,523.2511306012],description:"7-limit rational interpretation of 27-tET, OdC"},ji_29:{frequencies:[261.6255653006,267.90457886781,275.62199471997,282.55561052465,287.78812183066,294.32876096318,301.39265122629,310.07474405997,317.12189733406,323.76163705949,331.11985608357,340.65828815182,348.83408706747,356.76213450082,367.91095120397,372.08969287196,383.71749577421,392.4383479509,401.85686830172,413.43299207996,422.82919644541,431.68218274599,441.49314144476,454.2110508691,465.11211608996,475.68284600109,484.4917875937,496.67978412536,510.98743222773,523.2511306012],description:"3,5,11-prime rational interpretation of 29-tET, OdC"},ji_30:{frequencies:[261.6255653006,267.57160087561,274.70684356563,280.31310567921,286.15296204753,294.32876096318,299.7792935736,308.34441624714,313.95067836072,321.92208230347,329.64821227876,336.37572681506,344.91651675372,353.19451315581,360.81424763342,370.01329949656,379.40816842909,387.59343007496,396.89567239676,406.97310157871,415.27867508032,425.24536328225,436.04260883433,443.97065626768,456.65553216105,465.11211608996,478.40103369253,488.36772189445,498.33441009638,511.62332769895,523.2511306012],description:"11-limit rational interpretation of 30-tET"},ji_31:{frequencies:[261.6255653006,267.57160087561,274.08392555301,280.31310567921,285.40970760065,293.02063313667,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,334.88072358477,343.38355445704,348.83408706747,356.76213450082,366.27579142084,373.75080757229,383.71749577421,392.4383479509,398.6675280771,408.78994578219,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,467.18850946536,479.64686971777,490.54793493862,499.46698830115,512.78610798918,523.2511306012],description:"A just 11-limit 31-tone scale, optimized for Mann complexity"},ji_31a:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,318.93402246168,327.03195662575,334.88072358477,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,398.6675280771,408.78994578219,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,465.11211608996,478.40103369253,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"A just 7-limit 31-tone scale"},ji_31b:{frequencies:[261.6255653006,267.90457886781,275.93321340298,282.55561052465,287.4304306281,294.32876096318,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,344.91651675372,353.19451315581,359.28803828513,367.91095120397,376.74081403286,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,431.14564594215,441.49314144476,452.08897683944,459.88868900496,470.92601754108,479.0507177135,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"A just 5-limit 31-tone scale, corner clipped genus"},ji_31c:{frequencies:[261.6255653006,267.57160087561,272.52663052146,279.06726965397,285.40970760065,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,334.88072358477,343.38355445704,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,398.6675280771,408.78994578219,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,479.64686971777,490.54793493862,502.32108537715,511.62332769895,523.2511306012],description:"A just 11-limit 31-tone scale"},ji_5coh:{frequencies:[261.6255653006,305.22982618403,348.83408706747,381.53728273004,446.94367405519,523.2511306012],description:"Differential fully coherent pentatonic scale"},ji_6coh:{frequencies:[261.6255653006,294.32876096318,330.74639366397,372.08969287196,418.60090448096,465.11211608996,523.2511306012],description:"Differential coherent 6-tone scale, OdC 2003"},ji_7:{frequencies:[261.6255653006,290.69507255622,318.93402246168,348.83408706747,392.4383479509,429.2294430713,470.92601754108,523.2511306012],description:"7-limit rational interpretation of 7-tET. OdC"},ji_7a:{frequencies:[261.6255653006,287.78812183066,319.76457981184,348.83408706747,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Superparticular approximation to 7-tET. Op de Coul, 1998"},ji_8coh:{frequencies:[261.6255653006,286.99041781007,312.35527031954,339.96223546814,370.00947616612,405.83764015148,441.71144237774,480.75585116768,523.2511306012],description:"Differential coherent 8-tone scale, OdC, 2003"},ji_8coh3:{frequencies:[261.6255653006,277.97716313189,302.50455987882,327.03195662575,359.73515228832,392.4383479509,425.14154361347,466.02053819169,523.2511306012],description:"Differential fully coherent 8-tone scale, OdC, 2003"},ji_9coh:{frequencies:[261.6255653006,287.78812183066,313.95067836072,327.03195662575,366.27579142084,392.4383479509,418.60090448096,470.92601754108,497.08857407114,523.2511306012],description:"Differentially coherent 9-tone scale"},ji_ri24a:{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,301.87565226992,310.68035879446,319.76457981184,329.87571277032,340.11323489078,348.83408706747,359.73515228832,370.63621750918,380.54627680087,392.4383479509,402.50086969323,414.99227599406,428.11456140098,440.63253103259,453.48431318771,465.11211608996,479.64686971777,494.18162334558,508.71637697339,523.2511306012],description:"M. Schulter, just/rational intonation system - with circulating 24-note set"},jioct12:{frequencies:[261.6255653006,272.52663052146,282.55561052465,302.80736724606,313.95067836072,327.03195662575,363.36884069528,376.74081403286,392.4383479509,436.04260883433,454.2110508691,470.92601754108,523.2511306012],description:"12-tone JI version of Messiaen's octatonic scale, Erlich & Par\xEF\xBF\xBDzek"},"jobin-bach":{frequencies:[261.6255653006,275.07759559501,292.50627485027,309.76836826904,327.03195662575,348.83408706747,366.77012764335,391.22147055517,412.61639318626,437.39890198442,464.6525521713,489.02683710225,523.2511306012],description:"Emile Jobin, WTC temperament after Bach's signet"},"johnson-secor_rwt":{frequencies:[261.6255653006,276.16031892841,293.03678286293,310.07474405997,327.94037872749,348.83408706747,368.21375857121,391.52992584916,414.24047839262,438.40450629885,465.11211608996,490.95167809495,523.2511306012],description:"Johnson/Secor proportional-beating well-temperament with five 24/19s."},johnson_44:{frequencies:[261.6255653006,265.7783520514,269.99705605222,274.2827236086,278.63641763414,283.05921791404,287.55222124002,292.11654190835,296.75331210627,301.46368356757,306.24882108355,311.17820103386,316.11753722951,321.13527558179,326.23266245367,331.4109583385,336.67144939063,342.01544029518,347.44425644654,352.9592442771,358.56177366235,364.2532300084,370.03502692537,375.90859839047,381.87540114246,387.93691728375,394.09464571975,400.35011587045,406.70487919155,413.16051176499,419.71861468993,426.38081694263,433.14876596753,440.02414274758,447.00865248514,454.10402744924,461.31203006992,468.63444275836,476.07308421189,483.62979961065,491.30646309654,499.10497838378,507.02727962797,515.07533168556,523.2511306012],description:"Aaron Johnson, 44-tET approximation"},johnson_7:{frequencies:[261.6255653006,288.83389952765,318.87182567809,352.10227751942,388.71994014354,429.2294430713,473.86811641255,523.2511306012],description:"Aaron Johnson, 7-tET approximation"},johnson_eb:{frequencies:[261.6255653006,273.1678696521,292.40504357126,312.71949922989,327.03195662575,349.65487315468,365.50630446407,390.89937403737,408.78994578219,437.06859144336,467.84806971401,488.62421754671,523.2511306012],description:'Aaron Johnson, "1/4-comma tempered" equal beating C-G-D-A-E plus just thirds'},johnson_ratwell:{frequencies:[261.6255653006,276.16031892841,292.90688289089,310.07474405997,327.94037872749,348.83408706747,368.21375857121,391.49724879514,414.24047839262,438.30776524386,465.11211608996,490.95167809495,523.2511306012],description:"Aaron Johnson, rational well-temperament with five 24/19's"},johnson_temp:{frequencies:[261.6255653006,275.52965735686,292.50638298357,309.88336774144,327.03195662575,348.76230617841,367.55223824197,391.22154286826,413.09299784305,437.39914452994,464.92072007996,490.30891677011,523.2511306012],description:"Aaron Johnson, temperament with just 5/4, 24/19 and 19/15"},johnston:{frequencies:[261.6255653006,275.93321340298,294.32876096318,315.35224388912,327.03195662575,359.73515228832,367.91095120397,392.4383479509,401.35740131342,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Ben Johnston's combined otonal-utonal scale"},johnston_21:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,340.65828815182,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,470.92601754108,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"Johnston 21-note just enharmonic scale"},johnston_22:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,353.19451315581,367.91095120397,378.42269266694,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,504.56359022259,523.2511306012],description:"Johnston 22-note scale from end of string quartet nr. 4"},johnston_25:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,331.11985608357,334.88072358477,348.83408706747,353.19451315581,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Johnston 25-note just enharmonic scale"},"johnston_6-qt":{frequencies:[261.6255653006,262.79353657426,266.47048317654,267.57160087561,271.31540105247,272.52663052146,277.4816601673,280.31310567921,284.23518205497,290.69507255622,294.32876096318,297.30177875068,299.7792935736,300.33547037059,305.22982618403,306.59245933664,310.07474405997,311.45900631024,316.53463456122,317.12189733406,319.76457981184,322.99452506247,327.03195662575,334.46450109452,339.14425131559,342.60490694126,348.83408706747,350.39138209902,355.29397756872,356.76213450082,361.75386806997,363.36884069528,367.91095120397,373.75080757229,381.53728273004,382.24514410802,387.59343007496,390.82337532559,392.4383479509,396.40237166758,399.70572476481,406.97310157871,408.78994578219,413.43299207996,420.46965851882,426.35277308246,436.04260883433,445.95266812602,452.19233508746,459.88868900496,465.11211608996,467.18850946536,475.68284600109,479.64686971777,484.4917875937,486.49381977384,490.54793493862,248.7057842981,498.33441009638,508.71637697339,516.79124009995,523.2511306012],description:"11-limit complete system from Ben Johnston's _6th Quartet_"},"johnston_6-qt_row":{frequencies:[261.6255653006,272.52663052146,290.69507255622,306.59245933664,327.03195662575,350.39138209902,363.36884069528,399.70572476481,408.78994578219,436.04260883433,445.95266812602,490.54793493862,508.71637697339],description:`11-limit 'prime row' from Ben Johnston's "6th Quartet"`},johnston_81:{frequencies:[116.54094037952,117.99770213426,119.33792294863,119.89808681021,120.82964698549,121.39681289533,122.77564089365,122.91427305652,124.31033640482,124.45070146973,125.86421560988,127.43751830501,127.89129259755,128.03570110055,129.48993375502,131.10855792696,132.74741490105,134.25516331721,134.88534766148,135.93335285867,136.57141450725,138.12259600536,138.27855718859,139.84912845542,141.59724256112,142.26189011172,143.87770417225,145.6761754744,147.49712766783,149.17240368579,151.03705873186,151.74601611917,153.46955111706,155.38792050603,157.33026951235,159.11723059817,159.29689788126,161.10619598065,161.86241719378,163.70085452487,163.8856974087,165.74711520643,165.93426862631,167.81895414651,169.91669107334,170.71426813406,172.6532450067,174.81141056928,176.9965532014,179.00688442294,179.84713021531,181.24447047823,182.095219343,184.16346134048,184.37140958479,186.46550460723,188.79632341482,189.68252014896,191.15627745751,191.83693889633,194.23490063253,196.66283689044,198.89653824771,199.12112235157,199.83014468368,201.38274497581,202.32802149222,204.62606815608,204.85712176088,207.18389400804,207.41783578289,209.77369268314,212.39586384168,213.39283516758,215.81655625837,218.5142632116,221.24569150175,223.75860552868,226.55558809779,227.61902417875,230.2043266756,233.08188075904],description:"Johnston 81-note 5-limit scale of Sonata for Microtonal Piano"},jorgensen:{frequencies:[261.6255653006,269.51415085551,288.85811466493,309.59046173614,318.92511007349,352.12195684808,355.62605411908,388.77403176757,408.50706336067,429.24143792307,469.25139168707,473.92081401802,523.2511306012],description:"Jorgensen's 5&7 temperament"},jousse:{frequencies:[261.6255653006,276.90198715646,293.15566421679,311.51473523959,328.62702621286,349.28097970329,369.20264759391,391.76800554826,415.35298052707,439.0631553946,466.60176257857,492.27019703794,523.2511306012],description:"Temperament of Jean Jousse (1832)"},jousse2:{frequencies:[261.6255653006,277.21176919085,293.63180098233,311.16627887077,329.63881547742,349.36510452864,370.14670828388,392.04008509316,415.41939014292,440.0494382652,466.3511549761,494.0599599767,523.2511306012],description:"Jean Jousse's quasi-equal temperament"},quasi_5:{frequencies:[261.6255653006,302.26980244078,349.22823143301,391.99543598175,452.89298412314,523.2511306012],description:"Quasi-Equal 5-Tone in 24-tET, 5 5 4 5 5 steps"},quasi_9:{frequencies:[261.6255653006,281.2143451833,302.26980244078,324.90175210669,349.22823143301,391.99543598175,421.34544350737,452.89298412314,486.80259447109,523.2511306012],description:'Quasi-Equal Enneatonic, Each "tetrachord" has 125 + 125 + 125 + 125 cents'},quint_chrom:{frequencies:[261.6255653006,277.01530443593,294.32876096318,348.83408706747,392.4383479509,415.52295665389,441.49314144476,523.2511306012],description:"Aristides Quintilianus' Chromatic genus"},oconnell:{frequencies:[261.6255653006,267.57429119961,272.27874977392,278.46970304972,283.3657217904,288.34782337261,294.90414810658,300.08911516052,305.36524364276,312.30850472426,317.79947295261,323.38698268281,330.74001416845,336.55504284097,344.20748191927,350.25929591231,356.41751010259,364.52157313929,370.93054700815,377.45220049416,386.03454097812,392.82175095637,399.72829510222,408.81713953112,416.00491024634,423.31905787312],description:"Walter O'Connell, Pythagorean scale of 25 octaves reduced by Phi. XH 15 (1993)"},oconnell_11:{frequencies:[261.6255653006,272.27874977392,288.34782337261,300.08911516052,312.30850472426,323.38698268281,344.20748191927,356.41751010259,370.93054700815,386.03454097812,408.81713953112,423.31905787312],description:"Walter O'Connell, 11-note mode of 25-tone scale"},oconnell_14:{frequencies:[261.6255653006,272.27874977392,283.3657217904,288.34782337261,300.08911516052,312.30850472426,323.38698268281,336.55504284097,344.20748191927,356.41751010259,370.93054700815,386.03454097812,399.72829510222,408.81713953112,423.31905787312],description:"Walter O'Connell, 14-note mode of 25-tone scale"},oconnell_7:{frequencies:[261.6255653006,283.3657217904,300.08911516052,323.38698268281,344.20748191927,370.93054700815,392.82175095637,423.31905787312],description:"Walter O'Connell, 7-note mode of 25-tone scale"},oconnell_9:{frequencies:[261.6255653006,278.46970304972,294.90414810658,305.36524364276,323.38698268281,344.20748191927,364.52157313929,377.45220049416,399.72829510222,423.31905787312],description:"Walter O'Connell, 9-tone mode of 25-tone scale"},oconnell_9a:{frequencies:[261.6255653006,272.27874977392,288.34782337261,305.36524364276,323.38698268281,344.20748191927,356.41751010259,377.45220049416,399.72829510222,423.31905787312],description:"Walter O'Connell, 7+2 major mode analogy for 25-tone scale"},octony_min:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Octony on Harmonic Minor, from Palmer on an album of Turkish music"},octony_rot:{frequencies:[261.6255653006,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Rotated Octony on Harmonic Minor"},octony_trans:{frequencies:[261.6255653006,271.31540105247,279.06726965397,327.03195662575,348.83408706747,408.78994578219,420.46965851882,436.04260883433,523.2511306012],description:"Complex 10 of p. 115, an Octony based on Archytas's Enharmonic,"},octony_trans2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,315.35224388912,324.36230800023,336.37572681506,348.83408706747,504.56359022259,523.2511306012],description:"Complex 6 of p. 115 based on Archytas's Enharmonic, an Octony"},octony_trans3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,306.59245933664,315.35224388912,327.03195662575,348.83408706747,490.54793493862,523.2511306012],description:"Complex 5 of p. 115 based on Archytas's Enharmonic, an Octony"},octony_trans4:{frequencies:[261.6255653006,271.31540105247,279.06726965397,336.37572681506,348.83408706747,420.46965851882,432.48307733364,448.50096908674,523.2511306012],description:"Complex 11 of p. 115, an Octony based on Archytas's Enharmonic, 8 tones"},octony_trans5:{frequencies:[261.6255653006,271.31540105247,279.06726965397,317.94773560837,327.03195662575,339.14425131559,348.83408706747,508.71637697339,523.2511306012],description:"Complex 15 of p. 115, an Octony based on Archytas's Enharmonic, 8 tones"},octony_trans6:{frequencies:[261.6255653006,269.10058145205,271.31540105247,279.06726965397,336.37572681506,345.98646186692,348.83408706747,358.80077526939,523.2511306012],description:"Complex 14 of p. 115, an Octony based on Archytas's Enharmonic, 8 tones"},octony_u:{frequencies:[261.6255653006,280.31310567921,301.87565226992,327.03195662575,356.76213450082,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"7)8 octony from 1.3.5.7.9.11.13.15, 1.3.5.7.9.11.13 tonic (subharmonics 8-16)"},odd1:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"ODD-1"},odd2:{frequencies:[261.6255653006,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"ODD-2"},oettingen:{frequencies:[261.6255653006,264.89588486686,267.90457886781,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,298.00787047521,301.39265122629,306.59245933664,310.42486507835,313.95067836072,317.87506184023,323.35923445661,327.03195662575,331.11985608357,334.88072358477,339.06673262958,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.50983809402,376.74081403286,383.2405741708,388.03108134794,392.4383479509,397.34382730029,401.85686830172,408.78994578219,413.89982010446,418.60090448096,423.83341578697,431.14564594215,436.04260883433,441.49314144476,446.50763144636,452.08897683944,459.88868900496,465.11211608996,470.92601754108,476.81259276034,485.03885168492,490.54793493862,496.67978412536,502.32108537715,510.98743222773,517.37477513058,523.2511306012],description:"von Oettingen's Orthotonophonium tuning"},oettingen2:{frequencies:[261.6255653006,264.89588486686,267.90457886781,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,310.07474405997,313.95067836072,317.51653791741,322.99452506247,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,396.89567239676,401.85686830172,408.78994578219,413.43299207996,418.60090448096,423.83341578697,431.14564594215,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,476.27480687611,484.4917875937,490.54793493862,496.11959049595,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"von Oettingen's Orthotonophonium tuning with central 1/1"},ogr10:{frequencies:[261.6255653006,264.15640940857,271.89678302796,296.5055443788,342.56848033562,359.46139971304,411.32572372413,440,484.46499093218,513.27277840175,523.2511306012],description:"Optimal Golomb Ruler of 10 segments, length 72"},ogr10a:{frequencies:[261.6255653006,264.15640940857,285.30470202322,314.13668154225,329.62755691287,352.60650301302,431.60923940535,448.5538823653,457.27406033445,508.3551866238,523.2511306012],description:"2nd Optimal Golomb Ruler of 10 segments, length 72"},ogr11:{frequencies:[261.6255653006,265.92749183559,274.74472021414,318.1829357186,331.4244391468,362.52783176564,371.50609336774,409.69842558521,455.51656649021,482.27514684959,486.22402266421,523.2511306012],description:"Optimal Golomb Ruler of 11 segments, length 85"},ogr12:{frequencies:[261.6255653006,265.06964174786,270.3209511875,308.09015504092,333.2396629384,346.57411320722,384.79959982017,413.49815209867,456.11269186454,468.20039948765,496.58195036371,499.83980314828,523.2511306012],description:"Optimal Golomb Ruler of 12 segments, length 106"},ogr2:{frequencies:[261.6255653006,329.62755691287,523.2511306012],description:"Optimal Golomb Ruler of 2 segments, length 3"},ogr3:{frequencies:[261.6255653006,293.66476791741,415.30469757995,523.2511306012],description:"Optimal Golomb Ruler of 3 segments, length 6"},ogr4:{frequencies:[261.6255653006,278.64197723942,336.62443200122,461.29362042034,523.2511306012],description:"Optimal Golomb Ruler of 4 segments, length 11"},ogr4a:{frequencies:[261.6255653006,296.76515515861,406.67242132093,433.12283887627,523.2511306012],description:"2nd Optimal Golomb Ruler of 4 segments, length 11"},ogr5:{frequencies:[261.6255653006,272.51337835337,307.97166902637,393.32961502355,426.7484383229,523.2511306012],description:"Optimal Golomb Ruler of 5 segments, length 17"},ogr5a:{frequencies:[261.6255653006,272.51337835337,307.97166902637,393.32961502355,482.27514684959,523.2511306012],description:"2nd Optimal Golomb Ruler of 5 segments, length 17"},ogr5b:{frequencies:[261.6255653006,272.51337835337,362.52783176564,426.7484383229,463.0066556268,523.2511306012],description:"3rd Optimal Golomb Ruler of 5 segments, length 17"},ogr5c:{frequencies:[261.6255653006,272.51337835337,362.52783176564,409.69842558521,444.50800708553,523.2511306012],description:"4th Optimal Golomb Ruler of 5 segments, length 17"},ogr6:{frequencies:[261.6255653006,268.98086109226,292.31087910123,345.21700307457,430.94493093825,495.02573326308,523.2511306012],description:"Optimal Golomb Ruler of 6 segments, length 25"},ogr6a:{frequencies:[261.6255653006,276.5429423948,284.31762274025,345.21700307457,407.69874723177,468.32288027948,523.2511306012],description:"2nd Optimal Golomb Ruler of 6 segments, length 25"},ogr6b:{frequencies:[261.6255653006,268.98086109226,354.92237405774,407.69874723177,443.06044202496,495.02573326308,523.2511306012],description:"3rd Optimal Golomb Ruler of 6 segments, length 25"},ogr6c:{frequencies:[261.6255653006,268.98086109226,317.66442301495,354.92237405774,455.51656649021,495.02573326308,523.2511306012],description:"4th Optimal Golomb Ruler of 6 segments, length 25"},ogr6d:{frequencies:[261.6255653006,276.5429423948,317.66442301495,375.1593523779,468.32288027948,481.48922855473,523.2511306012],description:"5th Optimal Golomb Ruler of 6 segments, length 25"},ogr7:{frequencies:[261.6255653006,267.01398215014,283.85429714132,314.3146261019,355.21191871351,409.69842558521,502.34551296122,523.2511306012],description:"Optimal Golomb Ruler of 7 segments, length 34"},ogr8:{frequencies:[261.6255653006,265.77967818767,283.06627815664,316.06708432391,387.90015179087,400.3161696196,454.08364189083,499.09751029017,523.2511306012],description:"Optimal Golomb Ruler of 8 segments, length 44"},ogr9:{frequencies:[261.6255653006,264.94361147373,282.17583275232,296.76515515861,349.59519124833,363.06573983159,401.57942110183,438.61588607285,510.2272282764,523.2511306012],description:"Optimal Golomb Ruler of 9 segments, length 55"},oldani:{frequencies:[261.6255653006,272.52663052146,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"This scale by Norbert L. Oldani appeared in Interval 5(3), p.10-11"},oljare:{frequencies:[261.6255653006,286.15296204753,305.22982618403,327.03195662575,348.83408706747,381.53728273004,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,508.71637697339,523.2511306012],description:'Mats \xEF\xBF\xBDljare, scale for "Tampere" (2001)'},oljare17:{frequencies:[261.6255653006,272.51337835337,320.78822215662,334.13814720468,393.32961502355,409.69842558521,426.7484383229,502.34551296122,523.2511306012],description:'Mats \xEF\xBF\xBDljare, scale for "Fafner" (2001), MOS in 17-tET'},olympos:{frequencies:[261.6255653006,279.06726965397,348.83408706747,372.08969287196,465.11211608996,523.2511306012],description:"Scale of ancient Greek flutist Olympos, 6th century BC as reported by Partch"},opelt:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Friederich Wilhelm Opelt 19-tone"},organ1373a:{frequencies:[261.6255653006,277.01530443593,294.32876096318,311.64221749042,331.11985608357,348.83408706747,369.35373924791,392.4383479509,415.52295665389,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"English organ tuning (1373) with 18:17:16 ficta semitones (Eb-G#)"},organ1373b:{frequencies:[261.6255653006,277.01530443593,294.32876096318,311.64221749042,331.11985608357,348.83408706747,369.35373924791,392.4383479509,415.52295665389,441.49314144476,467.46332623563,496.67978412536,523.2511306012],description:"English organ tuning (1373) with 18:17:16 accidental semitones (Eb-G#)"},ragib:{frequencies:[261.6255653006,269.99542342683,281.01564479119,288.12007609225,294.32876096318,303.49446183192,311.45900631024,323.77767743764,335.77702597132,341.99420300732,348.83408706747,360.36579242507,371.06455309218,381.37837507376,392.4383479509,407.46331920162,417.22825371678,432.79663407874,450.28451247858,458.15534711532,465.11211608996,476.50902003141,487.19844562495,503.12608711654,523.2511306012],description:"Idris Ragib Bey, vol.5 d'Erlanger, p 40. Idris Rag'ib Bey"},ragib7:{frequencies:[261.6255653006,270.30192333353,281.29980781121,288.32205155576,294.32876096318,303.74668805875,311.45900631024,324.36230800023,336.37572681506,341.71502406609,348.83408706747,360.4025644447,370.6997805717,381.53728273004,392.4383479509,406.97310157871,417.13259773693,432.48307733364,450.69091522486,457.84473927605,465.11211608996,476.92160341255,486.65469735975,502.32108537715,523.2511306012],description:"7-limit version of Idris Rag'ib Bey scale"},"rameau-flat":{frequencies:[261.6255653006,276.01120901503,292.50629850443,312.00666699279,327.03195662575,349.91920725962,366.20974703841,391.22137338448,415.30469757995,437.39882871549,468.01000025525,489.02679755603,523.2511306012],description:'Rameau bemols, see Pierre-Yves Asselin in "Musique et temperament"'},"rameau-gall":{frequencies:[261.6255653006,274.65078342868,292.50627485027,310.49874388777,327.03195662575,349.91912034749,366.20104475463,391.22147055517,412.61639318626,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"Rameau's temperament, after Gallimard (1st solution)"},"rameau-merc":{frequencies:[261.6255653006,273.37431312998,292.50627485027,308.72950296259,327.03195662575,348.83408706747,365.63284274659,391.22147055517,409.55238583376,437.39890198442,464.53468854848,489.02683710225,523.2511306012],description:"Rameau's temperament, after Mercadier"},"rameau-minor":{frequencies:[261.6255653006,294.32876096318,313.95067836072,353.19451315581,392.4383479509,418.60090448096,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"Rameau's systeme diatonique mineur on E. Asc. 4-6-8-9, desc. 9-7-5-4"},"rameau-nouv":{frequencies:[261.6255653006,275.98004852257,292.50627485027,311.49614460359,327.03195662575,349.91912034749,367.37127028704,391.22147055517,414.64857675456,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"Temperament by Rameau in Nouveau Systeme (1726)"},"rameau-sharp":{frequencies:[261.6255653006,273.37431312998,292.50629850443,308.54983514133,327.03195662575,348.83408706747,365.63293356166,391.22137338448,409.42528169498,437.39882871549,464.33633889105,489.02679755603,523.2511306012],description:'Rameau dieses, see Pierre-Yves Asselin in "Musique et temperament"'},rameau:{frequencies:[261.6255653006,275.07757335026,292.50629850443,310.73186404381,327.03195662575,349.91920725962,366.77009798369,391.22137338448,412.61635981914,437.39882871549,468.01000025525,489.02679755603,523.2511306012],description:"Rameau's modified meantone temperament (1725)"},ramis:{frequencies:[261.6255653006,275.93321340298,290.69507255622,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Monochord of Ramos de Pareja (Ramis de Pareia), Musica practica (1482). Carlos: Switched on Bach"},rapoport_8:{frequencies:[261.6255653006,297.86386736488,316.53463456122,336.37572681506,382.96782946913,406.97310157871,432.48307733364,492.38720931745,523.2511306012],description:"Paul Rapoport, cycle of 14/9 close to 8 out of 11-tET, XH 13, 1991"},rast_moha:{frequencies:[261.6255653006,293.66476791741,320.24370022528,349.22823143301,391.99543598175,427.47405410759,479.82340237272,523.2511306012],description:"Rast + Mohajira (Dudon) 4 + 3 + 3 Rast and 3 + 4 + 3 Mohajira tetrachords"},rat_dorenh:{frequencies:[261.6255653006,267.70988077271,274.08392555301,359.73515228832,411.12588832951,418.60090448096,426.35277308246,523.2511306012],description:"Rationalized Schlesinger's Dorian Harmonia in the enharmonic genus"},rat_hypodenh:{frequencies:[261.6255653006,270.06509966514,279.06726965397,348.83408706747,380.54627680087,389.39619021485,398.6675280771,523.2511306012],description:"1+1 rationalized enharmonic genus derived from K.S.'s 'Bastard' Hypodorian"},rat_hypodenh2:{frequencies:[261.6255653006,270.06509966514,288.69027895239,348.83408706747,380.54627680087,389.39619021485,408.39112632289,523.2511306012],description:"1+2 rationalized enharmonic genus derived from K.S.'s 'Bastard' Hypodorian"},rat_hypodenh3:{frequencies:[261.6255653006,270.06509966514,299.00064605783,348.83408706747,380.54627680087,389.39619021485,418.60090448096,523.2511306012],description:"1+3 rationalized enharmonic genus derived from K.S.'s 'Bastard' Hypodorian"},rat_hypodhex:{frequencies:[261.6255653006,267.19206668997,273.00058987889,348.83408706747,380.54627680087,386.4008349055,392.4383479509,523.2511306012],description:"1+1 rationalized hexachromatic/hexenharmonic genus derived from K.S.'Bastard'"},rat_hypodhex2:{frequencies:[261.6255653006,267.19206668997,279.06726965397,348.83408706747,380.54627680087,386.4008349055,398.6675280771,523.2511306012],description:"1+2 rat. hexachromatic/hexenharmonic genus derived from K.S.'s 'Bastard' Hypodo"},rat_hypodhex3:{frequencies:[261.6255653006,267.19206668997,285.40970760065,348.83408706747,380.54627680087,386.4008349055,405.0976494977,523.2511306012],description:"1+3 rat. hexachromatic/hexenharmonic genus from K.S.'s 'Bastard' Hypodorian"},rat_hypodhex4:{frequencies:[261.6255653006,267.19206668997,292.04714266113,348.83408706747,380.54627680087,386.4008349055,411.73859457144,523.2511306012],description:"1+4 rat. hexachromatic/hexenharmonic genus from K.S.'s 'Bastard' Hypodorian"},rat_hypodhex5:{frequencies:[261.6255653006,267.19206668997,299.00064605783,348.83408706747,380.54627680087,386.4008349055,418.60090448096,523.2511306012],description:"1+5 rat. hexachromatic/hexenharmonic genus from K.S.'s 'Bastard' Hypodorian"},rat_hypodhex6:{frequencies:[261.6255653006,273.00058987889,292.04714266113,348.83408706747,380.54627680087,392.4383479509,411.73859457144,523.2511306012],description:"2+3 rationalized hexachromatic/hexenharmonic genus from K.S.'s 'Bastard' hypod"},rat_hypodpen:{frequencies:[261.6255653006,268.33391312882,275.39533189537,348.83408706747,380.54627680087,387.59343007496,394.90651366128,523.2511306012],description:"1+1 rationalized pentachromatic/pentenharmonic genus derived from K.S.'s 'Bastar"},rat_hypodpen2:{frequencies:[261.6255653006,268.33391312882,282.83844897362,348.83408706747,380.54627680087,387.59343007496,402.50086969323,523.2511306012],description:"1+2 rationalized pentachromatic/pentenharmonic genus from K.S.'s 'Bastard' hyp"},rat_hypodpen3:{frequencies:[261.6255653006,268.33391312882,290.69507255622,348.83408706747,380.54627680087,387.59343007496,410.39304360878,523.2511306012],description:"1+3 rationalized pentachromatic/pentenharmonic genus from 'Bastard' Hypodorian"},rat_hypodpen4:{frequencies:[261.6255653006,268.33391312882,299.00064605783,348.83408706747,380.54627680087,387.59343007496,418.60090448096,523.2511306012],description:"1+4 rationalized pentachromatic/pentenharmonic genus from 'Bastard' Hypodorian"},rat_hypodpen5:{frequencies:[261.6255653006,275.39533189537,290.69507255622,348.83408706747,380.54627680087,394.90651366128,410.39304360878,523.2511306012],description:"2+3 rationalized pentachromatic/pentenharmonic genus from 'Bastard' Hypodorian"},rat_hypodpen6:{frequencies:[261.6255653006,268.33391312882,299.00064605783,348.83408706747,380.54627680087,394.90651366128,418.60090448096,523.2511306012],description:"2+3 rationalized pentachromatic/pentenharmonic genus from 'Bastard' Hypodorian"},rat_hypodtri:{frequencies:[261.6255653006,273.00058987889,285.40970760065,348.83408706747,380.54627680087,392.4383479509,405.0976494977,523.2511306012],description:"rationalized first (1+1) trichromatic genus derived from K.S.'s 'Bastard' hyp"},rat_hypodtri2:{frequencies:[261.6255653006,273.00058987889,299.00064605783,348.83408706747,380.54627680087,392.4383479509,418.60090448096,523.2511306012],description:"rationalized second (1+2) trichromatic genus derived from K.S.'s 'Bastard' hyp"},rat_hypolenh:{frequencies:[261.6255653006,268.33391312882,275.39533189537,348.83408706747,373.75080757229,402.50086969323,410.39304360878,418.60090448096,523.2511306012],description:"Rationalized Schlesinger's Hypolydian Harmonia in the enharmonic genus"},rat_hypopchrom:{frequencies:[261.6255653006,277.01530443593,294.32876096318,362.25078272391,392.4383479509,409.50088481833,428.11456140098,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in the chromatic genus"},rat_hypopenh:{frequencies:[261.6255653006,269.10058145205,277.01530443593,362.25078272391,392.4383479509,400.78810003496,409.50088481833,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in the enharmonic genus"},rat_hypoppen:{frequencies:[261.6255653006,273.79419624481,294.32876096318,362.25078272391,392.4383479509,405.97070477679,428.11456140098,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in the pentachromatic genus"},rat_hypoptri:{frequencies:[261.6255653006,271.68808704293,282.55561052465,362.25078272391,392.4383479509,403.65087217807,415.52295665389,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in first trichromatic genus"},rat_hypoptri2:{frequencies:[261.6255653006,271.68808704293,294.32876096318,362.25078272391,392.4383479509,403.65087217807,428.11456140098,523.2511306012],description:"Rationalized Schlesinger's Hypophrygian Harmonia in second trichromatic genus"},rectsp10:{frequencies:[261.6255653006,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,340.11323489078,348.83408706747,359.73515228832,366.27579142084,373.75080757229,377.90359432309,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,436.04260883433,444.76346101102,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,490.54793493862,494.18162334558,497.08857407114,523.2511306012],description:"Rectangle minimal beats spectrum of order 10"},rectsp10a:{frequencies:[261.6255653006,275.39533189537,277.01530443593,279.06726965397,281.75060878526,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,307.79478270659,313.95067836072,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,359.73515228832,362.25078272391,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,402.50086969323,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,444.76346101102,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,485.87604984397,490.54793493862,494.18162334558,497.08857407114,523.2511306012],description:"Rectangle minimal beats spectrum of order 10 union with inversion"},rectsp11:{frequencies:[261.6255653006,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,404.33041910093,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,444.76346101102,448.50096908674,451.89870370104,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,485.87604984397,490.54793493862,494.18162334558,497.08857407114,499.46698830115,523.2511306012],description:"Rectangle minimal beats spectrum of order 11"},rectsp12:{frequencies:[261.6255653006,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,356.76213450082,359.73515228832,366.27579142084,370.63621750918,373.75080757229,377.90359432309,380.54627680087,392.4383479509,404.33041910093,406.97310157871,411.12588832951,414.24047839262,418.60090448096,425.14154361347,428.11456140098,436.04260883433,444.76346101102,448.50096908674,451.89870370104,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,485.87604984397,490.54793493862,494.18162334558,497.08857407114,499.46698830115,501.44900015948,523.2511306012],description:"Rectangle minimal beats spectrum of order 12"},rectsp6:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Rectangle minimal beats spectrum of order 6 (=songlines)"},rectsp6a:{frequencies:[261.6255653006,285.40970760065,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Rectangle minimal beats spectrum of order 6 union with inversion"},rectsp7:{frequencies:[261.6255653006,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"Rectangle minimal beats spectrum of order 7"},rectsp7a:{frequencies:[261.6255653006,281.75060878526,285.40970760065,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,332.97799220076,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,411.12588832951,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012],description:"Rectangle minimal beats spectrum of order 7 union with inversion"},rectsp8:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,490.54793493862,523.2511306012],description:"Rectangle minimal beats spectrum of order 8"},rectsp8a:{frequencies:[261.6255653006,279.06726965397,281.75060878526,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,322.00069575458,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,490.54793493862,523.2511306012],description:"Rectangle minimal beats spectrum of order 8 union with inversion"},rectsp9:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,377.90359432309,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,490.54793493862,494.18162334558,523.2511306012],description:"Rectangle minimal beats spectrum of order 9"},rectsp9a:{frequencies:[261.6255653006,277.01530443593,279.06726965397,281.75060878526,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,362.25078272391,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,490.54793493862,494.18162334558,523.2511306012],description:"Rectangle minimal beats spectrum of order 9 union with inversion"},redfield:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Redfield New Diatonic"},reinhard:{frequencies:[261.6255653006,277.01530443593,294.32876096318,309.81974838229,327.03195662575,348.83408706747,369.35373924791,392.4383479509,413.09299784305,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"Reinhard 19-limit superparticular"},reinhard17:{frequencies:[261.6255653006,277.01530443593,277.97716313189,286.94416839421,292.40504357126,296.50897400735,307.79478270659,317.68818643644,338.57426097725,342.12573923925,369.35373924791,400.13321751856,404.33041910093,430.91269578922,444.76346101102,477.08191319521,492.47165233054,523.2511306012],description:`Reinhard's Harmonic-17 tuning for "Tresspass", 1998`},renteng1:{frequencies:[261.6255653006,285.40970760065,313.15788183285,391.64553850062,426.52890806662,523.2511306012],description:"Gamelan Renteng from Chileunyi (Tg. Sari). 1/1=330 Hz"},renteng2:{frequencies:[261.6255653006,294.32876096318,311.77048523333,396.07199334683,425.86840190162,523.2511306012],description:"Gamelan Renteng from Chikebo (Tg. Sari). 1/1=360 Hz"},renteng3:{frequencies:[261.6255653006,278.97471276149,312.97903559457,379.60005211265,409.44065404912,468.42785143649,523.2511306012],description:"Gamelan Renteng from Lebakwangi (Pameungpeuk). 1/1=377 Hz"},renteng4:{frequencies:[261.6255653006,296.45730715573,311.93819010347,397.0826586675,424.17395032031,523.2511306012],description:"Gamelan Renteng Bale` bandung from Kanoman (Cheribon). 1/1=338 Hz"},robot:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Dead Robot (see lattice)"},robot_live:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,334.88072358477,348.83408706747,376.74081403286,392.4383479509,418.60090448096,446.50763144636,490.54793493862,502.32108537715,523.2511306012],description:"Live Robot"},romieu:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Romieu's Monochord, Memoire theorique & pratique (1758)"},romieu_inv:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Romieu inverted, Pure (just) C minor in Wilkinson: Tuning In"},rosati_21:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Dante Rosati, JI guitar tuning"},rosati_21a:{frequencies:[261.6255653006,280.31310567921,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,488.36772189445,523.2511306012],description:"Alternative version of rosati_21 with more tetrads"},rousseau:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Rousseau's Monochord, Dictionnaire de musique (1768)"},rousseauw:{frequencies:[261.6255653006,276.81658657456,293.31219032635,311.14941643136,328.83652403056,349.33732971591,369.19521129916,391.76004912942,415.1051791302,439.20783490896,466.32059269121,492.40223109551,523.2511306012],description:"Jean-Jacques Rousseau's temperament (1768)"},rsr_12:{frequencies:[261.6255653006,279.06726965397,299.00064605783,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"RSR - 7 limit JI"},"rvf-1":{frequencies:[261.6255653006,272.14556467328,280.20095193414,292.09989854643,304.19649364034,313.29104303136,326.0297292803,340.21856244106,350.08660369014,364.11104988921,374.67209286633,390.97784457618,406.87534373272,419.03967825638,436.39317047385,454.92493848389,468.39051363853,487.22455955444,508.94280091833,523.2511306012],description:"D-A 695 cents, the increment is 0.25 cents, interval range 49.5 to 75.5"},"rvf-2":{frequencies:[261.6255653006,272.87751533003,278.75612859219,292.27711197479,305.71136588092,312.51386339015,326.29348693151,342.97106251658,349.87433921674,364.79522794952,372.13777859784,391.13596290168,408.38225803817,417.4934384938,436.65792486176,457.83788806384,467.7011114131,487.81592522452,513.9947144098,523.2511306012],description:"695 cents, 0.607 cents, 31-90 cents, C-A# is 7/4."},"rvf-3":{frequencies:[261.6255653006,272.98787180262,278.19314238431,292.29399505039,306.11778315204,312.24320803046,326.25579420701,343.90343447252,349.81371586656,364.81629995674,371.08598724028,391.15855645336,408.71263878415,416.89098941754,436.60748307387,458.73792719255,467.48503753613,487.78774868553,515.83876338215,523.2511306012],description:"694.737, 0.082, 25-97, the fifth E#-B# is 3/2."},majmin:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Malcolm & Marpurg 4 (Yamaha major & minor) mixed. Mersenne/Ban without D#"},major_clus:{frequencies:[261.6255653006,275.93321340298,290.69507255622,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Chalmers' Major Mode Cluster"},major_wing:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Chalmers' Major Wing with 7 major and 6 minor triads"},malcolm:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Malcolm's Monochord (1721), and C major in Yamaha synths, Wilkinson: Tuning In"},malcolm2:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,463.29527188648,490.54793493862,523.2511306012],description:"Malcolm 2"},malcolm_ap:{frequencies:[261.6255653006,279.47938236087,293.66476791741,313.97746652079,326.1838132033,349.22823143301,369.99442271164,391.99543598175,419.68935090103,436.0054062308,466.16376151809,489.82458627646,523.2511306012],description:"Best approximations in mix of all ETs from 12-23 to Malcolm's Monochord"},malcolm_me:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,457.84473927605,490.54793493862,523.2511306012],description:"Malcolm's Mid-East"},malcolme:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,465.11211608996,496.11959049595,523.2511306012],description:"Most equal interval permutation of Malcolm's Monochord"},malcolme2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Inverse most equal interval permutation of Malcolm's Monochord"},malcolms:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,369.99442271164,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Symmetrical version of Malcolm's Monochord and Albion scale"},malerbi:{frequencies:[261.6255653006,275.62199471997,292.73769384471,310.07474405997,327.54963108844,348.83408706747,367.49599295996,391.37619916626,413.43299207996,437.91808280662,465.11211608996,489.99465727995,523.2511306012],description:"Luigi Malerbi's well-temperament nr.1 (1794) (nr.2 = Young)"},malgache:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,327.03195662575,353.19451315581,367.91095120397,392.4383479509,413.89982010446,441.49314144476,459.88868900496,490.54793493862,523.2511306012],description:"tuning from Madagascar"},malgache1:{frequencies:[261.6255653006,279.06726965397,294.32876096318,310.07474405997,327.03195662575,353.19451315581,376.74081403286,392.4383479509,418.60090448096,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"tuning from Madagascar"},malgache2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,353.19451315581,367.91095120397,392.4383479509,408.78994578219,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"tuning from Madagascar"},malkauns:{frequencies:[261.6255653006,313.95067836072,348.83408706747,418.60090448096,465.11211608996,523.2511306012],description:"Raga Malkauns, inverse of prime_5"},mambuti:{frequencies:[261.6255653006,294.34406205295,331.72862856444,394.26624244126,466.16376151809,525.06772693396,590.39077962608,792.18471060794,999.82182774046],description:"African Mambuti Flutes (aerophone; vertical wooden; one note each)"},mandelbaum5:{frequencies:[261.6255653006,272.52663052146,282.55561052465,290.69507255622,302.80736724606,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,376.74081403286,392.4383479509,403.74315632809,418.60090448096,436.04260883433,454.2110508691,470.92601754108,484.4917875937,502.32108537715,523.2511306012],description:"Mandelbaum's 5-limit 19-tone scale, kleismic detempered circle of minor thirds"},mandelbaum7:{frequencies:[261.6255653006,272.52663052146,280.31310567921,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,376.74081403286,392.4383479509,406.97310157871,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,504.56359022259,523.2511306012],description:"Mandelbaum's 7-limit 19-tone scale"},marimba1:{frequencies:[261.6255653006,284.4818984792,319.50463429683,342.83241505062,371.92288545737,411.72190027758,457.09800545097,500.48847822777,547.68138927822,612.97866327818,651.68292300609,728.11694797601,807.8963375694,903.69557412727,1013.19282257599,1069.7265813247,1225.95732655636,1303.36584601218],description:"Marimba of the Bakwese, SW Belgian Congo (Zaire). 1/1=140.5 Hz"},marimba2:{frequencies:[261.6255653006,279.11058864149,318.03161540472,343.03050002254,379.95718438213,421.58889248327,458.6849347701,519.33670373121,571.2689787911,613.68721319418,694.83488613378,761.23234162637,846.59395682498,953.56868388592,1049.52904699774,1145.8425062572,1271.3918647407,1389.66977226756],description:"Marimba of the Bakubu, S. Belgian Congo (Zaire). 1/1=141.5 Hz"},marimba3:{frequencies:[261.6255653006,296.73398952435,348.2210758395,420.13030572059,476.50902003141,518.73708886244,603.49292471609,696.44215167899,840.26061144117,953.01804006282,1037.47417772488],description:"Marimba from the Yakoma tribe, Zaire. 1/1=185.5 Hz"},marion:{frequencies:[261.6255653006,269.91407136119,278.46532473603,287.28749371714,296.38899008685,305.77900572762,315.46632790985,325.46074015958,335.7715953476,346.4093067252,357.3838291689,368.70624618807,380.38737313392,392.4383479509,411.71310103548,431.93429139282,453.14890242083,475.40520223986,498.75490298644,523.2511306012],description:"scale with two different ET step sizes"},marion1:{frequencies:[261.6255653006,262.79353657426,272.52663052146,280.31310567921,286.15296204753,294.32876096318,305.22982618403,311.45900631024,327.03195662575,336.37572681506,343.38355445704,350.39138209902,367.91095120397,373.75080757229,381.53728273004,392.4383479509,408.78994578219,420.46965851882,436.04260883433,457.84473927605,467.18850946536,476.92160341255,490.54793493862,515.07533168556,523.2511306012],description:"Marion's 7-limit Scale # 1"},marion10:{frequencies:[261.6255653006,267.07609791103,272.52663052146,286.15296204753,290.69507255622,296.75121990114,305.22982618403,317.94773560837,327.03195662575,339.14425131559,356.10146388137,363.36884069528,370.93902487643,381.53728273004,400.61414686654,406.97310157871,408.78994578219,423.93031414449,436.04260883433,445.12682985172,457.84473927605,474.80195184183,476.92160341255,484.4917875937,508.71637697339,523.2511306012],description:"Marion's 7-limit Scale # 10"},marion15:{frequencies:[261.6255653006,269.10058145205,280.31310567921,288.32205155576,299.00064605783,313.95067836072,320.35783506196,327.03195662575,336.37572681506,353.19451315581,358.80077526939,360.4025644447,373.75080757229,384.42940207435,392.4383479509,403.65087217807,418.60090448096,420.46965851882,427.14378008261,448.50096908674,461.31528248922,470.92601754108,480.53675259294,504.56359022259,523.2511306012],description:"Marion's 7-limit Scale # 15"},marion19:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,294.32876096318,309.04519901133,313.95067836072,315.35224388912,327.03195662575,336.37572681506,343.38355445704,353.19451315581,366.27579142084,367.91095120397,373.75080757229,392.4383479509,403.65087217807,412.06026534844,420.46965851882,441.49314144476,457.84473927605,470.92601754108,490.54793493862,504.56359022259,515.07533168556,523.2511306012],description:"Marion's 7-limit Scale # 19"},marion26:{frequencies:[261.6255653006,271.31540105247,279.06726965397,284.8811711051,293.02063313667,303.87324917877,305.22982618403,310.07474405997,325.57848126297,334.88072358477,341.85740532612,348.83408706747,366.27579142084,379.84156147346,390.69417751556,406.97310157871,418.60090448096,427.32175665765,434.10464168396,455.80987376816,465.11211608996,474.80195184183,488.36772189445,512.78610798918,523.2511306012],description:"Marion's 7-limit Scale # 26"},marissing:{frequencies:[261.6255653006,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Peter van Marissing, just scale, Mens en Melodie, 1979"},"marpurg-1":{frequencies:[261.6255653006,276.86979852503,294.32876096318,311.47852302926,329.62755691287,348.83408706747,370.83100115625,392.4383479509,415.30469757995,439.50340943686,467.21778431035,494.44133512215,523.2511306012],description:"Other temperament by Marpurg, 3 fifths 1/3 Pyth. comma flat"},"marpurg-t1":{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Marpurg's temperament nr.1, Kirnbergersche Temperatur (1766)"},"marpurg-t11":{frequencies:[261.6255653006,278.12325072816,294.32876096318,311.47852302926,331.11985608357,348.83408706747,371.66947115233,392.4383479509,416.24372513446,441.49314144476,466.16376151809,496.67978412536,523.2511306012],description:"Marpurg's temperament nr.11, 6 tempered fifths"},"marpurg-t12":{frequencies:[261.6255653006,279.06706247425,294.66131982972,310.42509491746,330.74614861362,349.22823143301,372.08941681833,392.88175996935,418.60059350213,441.99197952365,465.63764214343,496.11922267243,523.2511306012],description:"Marpurg's temperament nr.12, 4 tempered fifths"},"marpurg-t2":{frequencies:[261.6255653006,278.75210322491,294.32876096318,313.59611581451,331.11985608357,348.83408706747,371.66947115233,392.4383479509,418.12815462835,441.49314144476,470.39417348663,495.55929511749,523.2511306012],description:"Marpurg's temperament nr.2, 2 tempered fifths, Neue Methode (1790)"},"marpurg-t3":{frequencies:[261.6255653006,276.55731914056,294.32876096318,311.12698372208,331.11985608357,348.83408706747,368.74309237173,392.4383479509,414.83597850347,441.49314144476,465.11211608996,491.65745674141,523.2511306012],description:"Marpurg's temperament nr.3, 2 tempered fifths"},"marpurg-t4":{frequencies:[261.6255653006,276.86979852503,294.32876096318,310.07474405997,331.11985608357,348.83408706747,369.15973155124,392.4383479509,415.30469757995,441.49314144476,465.11211608996,492.21297564769,523.2511306012],description:"Marpurg's temperament nr.4, 2 tempered fifths"},"marpurg-t5":{frequencies:[261.6255653006,277.80935667884,294.32876096318,312.53552595124,331.11985608357,348.83408706747,370.41247575694,392.4383479509,416.71403480995,441.49314144476,468.80328869252,493.88330125613,523.2511306012],description:"Marpurg's temperament nr.5, 2 tempered fifths"},"marpurg-t7":{frequencies:[261.6255653006,276.86979852503,293.00227310437,310.07474405997,329.62755691287,348.83408706747,369.15973155124,390.66969766777,415.30469757995,439.50340943686,465.11211608996,492.21297564769,523.2511306012],description:"Marpurg's temperament nr.7, 3 tempered fifths"},"marpurg-t8":{frequencies:[261.6255653006,277.49581689502,293.33333347996,311.12698372208,329.99999983505,348.83408706747,369.99442271164,391.11111150212,414.83597850347,440,466.69047534984,493.32589719545,523.2511306012],description:"Marpurg's temperament nr.8, 4 tempered fifths"},"marpurg-t9":{frequencies:[261.6255653006,277.49581689502,294.32876096318,312.18279369479,331.11985608357,350.01785633742,371.24999944327,392.4383479509,416.24372513446,441.49314144476,468.27419030811,496.67978412536,523.2511306012],description:"Marpurg's temperament nr.9, 4 tempered fifths"},marpurg:{frequencies:[261.6255653006,277.49581689502,293.83071040301,311.12698372208,329.99999983505,349.42557141756,369.99442271164,392.4383479509,415.53937569366,440,466.69047534984,494.16238213869,523.2511306012],description:"Marpurg, Versuch ueber die musikalische Temperatur (1776), p. 153"},marpurg1:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Marpurg's Monochord no.1 (1776)"},marpurg3:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"Marpurg 3"},marpurg4:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Marpurg 4, also Yamaha Pure Minor"},marsh:{frequencies:[261.6255653006,275.50659558095,293.15632631094,311.93674864629,328.48713220126,349.53094576004,368.07595926604,391.65594491223,412.43597848639,438.85779226656,466.97226207056,491.74834273545,523.2511306012],description:"John Marsh's meantone temperament (1809)"},marsh2:{frequencies:[261.6255653006,277.22760066578,293.66431501254,311.21660561883,329.70790803338,349.18845812715,369.99117208793,391.90679138833,415.30984563838,439.96491544382,466.29335337935,494.03030700757,523.2511306012],description:"John Marsh's quasi-equal temperament (1840)"},mavila12:{frequencies:[261.6255653006,256.98292999787,287.53945699376,321.72930260925,316.02010771872,353.59644178868,347.32175377489,388.62000642034,381.72381344999,427.11263899087,477.89842030218,469.41794908116,525.2340355968],description:"A 12-note mavila scale (for warping meantone-based music)"},mavila9:{frequencies:[261.6255653006,287.53945699376,316.02010771872,321.72930260925,353.59644178868,388.62000642034,427.11263899087,434.82882549415,477.89842030218,525.2340355968],description:"9-note scale of mavila temperament (TOP tuning)"},mavlim1:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,465.11211608996,523.2511306012],description:"First 27/25&135/128 scale"},mbira_banda:{frequencies:[261.6255653006,291.13134764929,327.53979283172,368.50142299854,404.88256627495,443.57258128492,480.10063929961,555.00605988575],description:"Mubayiwa Bandambira's tuning of keys R2-R9 from Berliner: The soul of mbira."},mbira_banda2:{frequencies:[261.6255653006,321.16993719469,360.29289210659,380.8360868427,422.32008370967,461.34206956593,587.32953583482,513.96502576833,761.67217368541,711.48673390068,849.04255025658,936.10488897708,1046.50286568598,633.49659152295,1055.60951665979,1174.65975017952,1321.5609185619,1486.83332446121,1633.62433483289,1789.73120457747,1937.11498804338,2239.34414798534],description:"Mubayiwa Bandambira's Mbira DzaVadzimu tuning B1=114 Hz"},mbira_gondo:{frequencies:[261.6255653006,315.28798447451,345.21700307457,379.51849407657,422.56409582244,461.07566488503,564.05539604512,516.94239487354,778.57545143809,697.24717811406,842.69088701475,926.42243447898,1029.11884353824,628.3943418294,1040.47545270591,1153.813137635,1308.64724593201,1415.59600512246,1572.51770682594,1715.83353717518,1883.05646656025,2103.91477035149],description:"John Gondo's Mbira DzaVadzimu tuning B1=122 Hz"},mbira_kunaka:{frequencies:[261.6255653006,292.98704147282,325.27731021818,350.44066402496,386.59871897734,434.19311733646,479.82340237272,507.76825077597],description:"John Kunaka's mbira tuning of keys R2-R9"},mbira_kunaka2:{frequencies:[261.6255653006,340.26769547546,358.83903996308,405.11650317313,448.98591596033,490.75518955849,622.61349925697,541.70354187177,817.28364083393,724.3415782324,907.35693646861,997.5144154576,1094.73088724383,673.88551872153,1085.91380691742,1216.08403680913,1350.10935126711,1454.55340013417,1604.63250673428,1802.17976955899,1991.5747030301,2107.56373750553],description:"John Kunaka's Mbira DzaVadzimu tuning B1=113 Hz"},mbira_mude:{frequencies:[261.6255653006,289.28740724512,309.15639683494,364.68988616898,372.56793743951,408.17001145418,507.1819925915,459.74594725879,689.63684605432,610.50517472746,760.79276355093,824.39562982862,887.65774573556,562.75365576207,888.68380073365,1015.53708814899,1126.80895076279,1206.28956516212,1365.00817887311,1507.58874420517,1666.02447560859,1935.99638964471],description:"Hakurotwi Mude's Mbira DzaVadzimu tuning B1=132 Hz"},mbira_mujuru:{frequencies:[261.6255653006,281.37682788104,301.05008478933,329.43721154897,394.9500460767,419.64523240241,533.01280425363,488.77489658044,700.88132804992,602.10016957865,765.19999119503,809.29752893,942.6160133907,577.57308891646,937.72844143307,1046.50286568598,1145.18149427149,1243.7900049313,1411.51350174391,1540.15576038017,1658.34356815416,1904.9365287586],description:"Ephat Mujuru's Mbira DzaVadzimu tuning, B1=106 Hz"},mbira_zimb:{frequencies:[261.6255653006,276.86260193655,305.95868600104,343.62544191138,379.08031027329,408.40584780369,453.41648894489,507.76825077597],description:"Shona mbira scale"},mboko_bow:{frequencies:[261.6255653006,347.61817721989,375.37611551499],description:"African Mboko Mouth Bow (chordophone, single string, plucked)"},mboko_zither:{frequencies:[261.6255653006,294.68429813772,319.3201344739,354.92237405774,396.55020354877,418.67676528474,472.67116512585,513.07516347663],description:"African Mboko Zither (chordophone; idiochordic palm fibre, plucked)"},mcclain:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,327.03195662575,331.11985608357,367.91095120397,392.4383479509,408.78994578219,441.49314144476,490.54793493862,510.98743222773,523.2511306012],description:"McClain's 12-tone scale, see page 119 of The Myth of Invariance"},mcclain_18:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,319.36714514233,327.03195662575,331.11985608357,344.91651675372,367.91095120397,383.2405741708,392.4383479509,408.78994578219,413.89982010446,441.49314144476,459.88868900496,490.54793493862,496.67978412536,510.98743222773,523.2511306012],description:"McClain's 18-tone scale, see page 143 of The Myth of Invariance"},mcclain_8:{frequencies:[261.6255653006,294.32876096318,327.03195662575,367.91095120397,392.4383479509,408.78994578219,441.49314144476,490.54793493862,523.2511306012],description:"McClain's 8-tone scale, see page 51 of The Myth of Invariance"},mccoskey_22:{frequencies:[261.6255653006,270.06509966514,279.06726965397,287.78812183066,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,382.37582620857,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,506.89953276991,523.2511306012],description:"31-limit rational interpretation of 22-tET, Marion McCoskey"},mclaren_bar:{frequencies:[261.6255653006,281.77400528964,292.14326370913,304.76756192248,325.50548568708,328.66136118639,353.45752508165,360.67039921732,379.1552038283,397.63971531932,405.75513620619,436.411067852,476.98680497297,521.16951219839],description:"Metal bar scale. see McLaren, Xenharmonicon 15, pp.31-33"},mclaren_cps:{frequencies:[261.6255653006,275.93321340298,286.15296204753,294.32876096318,306.59245933664,327.03195662575,343.38355445704,367.91095120397,392.4383479509,408.78994578219,429.2294430713,441.49314144476,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"2)12 [1,2,3,4,5,6,8,9,10,12,14,15] a degenerate CPS"},mclaren_harm:{frequencies:[261.6255653006,279.06726965397,299.00064605783,304.4370214407,307.2300216374,348.83408706747,380.54627680087,389.39619021485,393.97732186443,398.6675280771,465.11211608996,523.2511306012],description:'from "Wilson part 9", claimed to be Schlesingers Dorian Enharmonic, prov. unkn'},mclaren_rath1:{frequencies:[261.6255653006,279.06726965397,299.00064605783,334.88072358477,341.71502406609,348.83408706747,372.08969287196,380.54627680087,389.39619021485,398.6675280771,492.47165233054,507.3950357345,523.2511306012],description:"McLaren Rat H1"},mclaren_rath2:{frequencies:[261.6255653006,279.06726965397,299.00064605783,334.88072358477,341.71502406609,348.83408706747,380.54627680087,389.39619021485,398.6675280771,440.63253103259,452.54151835779,465.11211608996,523.2511306012],description:"McLaren Rat H2"},mean10:{frequencies:[261.6255653006,272.18829429226,292.14313377277,313.56091500001,326.220453695,350.13653284039,364.27275363262,390.97854693193,406.76370320307,436.58461973079,468.59178605305,487.51045723915,523.2511306012],description:"3/10-comma meantone scale"},mean11:{frequencies:[261.6255653006,272.83457350033,292.34115464648,313.24237654315,326.6628419965,350.01792709981,365.01399145768,391.11103243201,407.86767761879,437.02858581415,468.2743796482,488.33699124025,523.2511306012],description:"3/11-comma meantone scale. A.J. Ellis no. 10"},mean11ls_19:{frequencies:[261.6255653006,272.93479580544,280.25721516838,292.37183188538,305.01012622427,313.1930753928,326.73140514978,340.85495140859,349.99956372811,365.12891753666,374.92476290643,391.13155279262,408.03891236124,418.98596425085,437.09738047696,455.99169236578,468.2252457596,488.46511500326,509.57988860269,523.2511306012],description:"Least squares appr. to 3/2, 5/4, 7/6, 15/14 and 11/8, Petr Par\xEF\xBF\xBDzek"},mean13:{frequencies:[261.6255653006,273.83184954717,292.64606374809,312.75295135888,327.34460995374,349.8355370417,366.15730590163,391.31494185909,409.57195510156,437.7124891801,467.78648270341,489.61131479929,523.2511306012],description:"3/13-comma meantone scale"},mean14:{frequencies:[261.6255653006,274.22463192287,292.76593693997,312.56088569186,327.61283758281,349.76390952171,366.60744235102,391.39507854003,410.24343789088,437.98145930734,467.59494724206,490.11285326462,523.2511306012],description:"3/14-comma meantone scale (Giordano Riccati, 1762)"},mean14_15:{frequencies:[261.6255653006,274.22463192287,279.31500250577,292.76593693997,306.86462618694,312.56088569186,327.61283758281,349.76390952171,366.60744235102,391.39507854003,410.24343789088,417.8586951835,437.98145930734,467.59494724206,490.11285326462,523.2511306012],description:"15 of 3/14-comma meantone scale"},mean14_19:{frequencies:[261.6255653006,274.22463192287,279.31500250577,292.76593693997,306.86462618694,312.56088569186,327.61283758281,343.38964426558,349.76390952171,366.60744235102,373.41269440635,391.39507854003,410.24343789088,417.8586951835,437.98145930734,459.07327263526,467.59494724206,490.11285326462,513.71515101261,523.2511306012],description:"19 of 3/14-comma meantone scale"},mean14_7:{frequencies:[261.6255653006,292.76593693997,327.61283758281,349.76390952171,391.39507854003,437.98145930734,490.11285326462,523.2511306012],description:"Least squares appr. of 5L+2S to Ptolemy's Intense Diatonic scale"},mean14a:{frequencies:[261.6255653006,274.24690838881,292.77273178776,312.55000460003,327.62804498858,349.75985073129,366.63296888199,391.39962048672,410.28152481852,437.9967071602,467.58409501387,490.1412915133,523.2511306012],description:'fifth of sqrt(5/2)-1 octave "recursive" meantone, Paul Hahn'},mean16:{frequencies:[261.6255653006,274.864106667,292.9608347655,312.24903186879,328.04917632434,349.64754658398,367.34009701877,391.52533508436,411.33694767869,438.41888642025,467.28387071703,490.92894854125,523.2511306012],description:"3/16-comma meantone scale"},mean17:{frequencies:[261.6255653006,273.72412433093,292.61316553779,312.80569569783,327.2710181906,349.85520131118,366.03383354947,391.29294726693,409.38781813791,437.63868343995,467.83907547741,489.47372981579,523.2511306012],description:"4/17-comma meantone scale, least squares error of 5/4 and 3/2"},mean17_17:{frequencies:[261.6255653006,273.72412433093,279.67971414776,292.61316553779,306.14471057197,312.80569569783,327.2710181906,349.85520131118,366.03383354947,373.99786656393,391.29294726693,409.38781813791,418.29512920081,437.63868343995,457.8767570375,467.83907547741,489.47372981579,523.2511306012],description:"4/17-comma meantone scale with split C#/Db, D#/Eb, F#/Gb, G#/Ab and A#/Bb"},mean17_19:{frequencies:[261.6255653006,273.72412433093,279.67971414776,292.61316553779,306.14471057197,312.80569569783,327.2710181906,342.40527209253,349.85520131118,366.03383354947,373.99786656393,391.29294726693,409.38781813791,418.29512920081,437.63868343995,457.8767570375,467.83907547741,489.47372981579,512.10885267608,523.2511306012],description:"4/17-comma meantone scale, least squares error of 5/4 and 3/2"},mean18:{frequencies:[261.6255653006,272.71477685134,292.30447317753,313.30134186202,326.58087306932,350.03988839382,364.87661266094,391.0864943589,407.66301227525,436.94633423564,468.33314368944,488.18382342185,523.2511306012],description:"5/18-comma meantone scale (Smith). 3/2 and 5/3 eq. beat. A.J. Ellis no. 9"},mean19:{frequencies:[261.6255653006,273.06170311607,292.41066686775,313.13068664042,326.81820677503,349.97632128221,365.27443420834,391.15752841841,408.25574814862,437.18446858874,468.16306089008,488.62733218513,523.2511306012],description:"5/19-comma meantone scale, fifths beats three times third. A.J. Ellis no. 11"},mean19r:{frequencies:[261.6255653006,273.04332227389,292.40504357126,313.13971948727,326.80563693258,349.97968716666,365.25335892465,391.15376651139,408.22434232755,437.17185753972,468.17206422213,488.60384173026,523.2511306012],description:"Approximate 5/19-comma meantone with 19/17 tone, Petr Parizek, 2002"},mean23:{frequencies:[261.6255653006,274.15058593695,292.74334833321,312.59706303545,327.56228503462,349.77740346966,366.52259116395,391.37997903742,410.11684180717,437.93077103284,467.63102771476,490.01832104213,523.2511306012],description:"5/23-comma meantone scale, A.J. Ellis no. 4"},mean23six:{frequencies:[261.6255653006,273.11604376732,292.42729246507,313.10398392891,326.85537164611,349.96637341293,365.33674088125,391.16864715511,408.34860251967,437.22175336101,468.13644404983,488.69678846289,523.2511306012],description:"6/23-comma meantone scale"},mean25:{frequencies:[261.6255653006,272.66208311698,292.28833573479,313.32728859832,326.54481265413,350.04955123355,364.81618195011,391.07569872695,407.57299290994,436.91015056532,468.35900068872,488.11644468937,523.2511306012],description:"7/25-comma meantone scale, least square weights 3/2:0 5/4:1 6/5:1"},mean26:{frequencies:[261.6255653006,272.91754119498,292.36655103694,313.20156187458,326.7196004604,350.00272362315,365.10913291207,391.12802157824,408.00943064927,437.08553692506,468.23370304224,488.44305713046,523.2511306012],description:"7/26-comma meantone scale (Woolhouse 1835). Almost equal to meaneb742"},mean26_21:{frequencies:[261.6255653006,272.91754592428,280.26986822267,292.36655272572,304.98534036063,313.20156006546,326.71960423481,335.52133892506,340.8210986211,350.00272362315,365.10913712997,374.9450750913,391.12802157824,408.00943771953,419.00109777107,437.08553944976,455.95052092314,468.23370033762,488.44306277317,501.60158217053,509.52467838008,523.2511306012],description:"21 of 7/26-comma meantone scale (Woolhouse 1835)"},mean27:{frequencies:[261.6255653006,273.15429014256,292.43899158768,313.08519355925,326.88152513903,349.9593710588,365.38059276675,391.17647406766,408.41395592075,437.24799400905,468.11771609009,488.74567091648,523.2511306012],description:"7/27-comma meantone scale, least square weights 3/2:2 5/4:1 6/5:1"},mean29:{frequencies:[261.6255653006,273.57932033947,292.56893127899,312.87664195194,327.1720749345,349.88164908166,365.86785468743,391.26336919078,409.14031659695,437.53944680455,467.90980928584,489.28875967044,523.2511306012],description:"7/29-comma meantone scale, least square weights 3/2:4 5/4:1 6/5:1"},mean2sev:{frequencies:[261.6255653006,272.52663052146,292.24684137387,313.39402123097,326.45210604021,350.07440004945,364.66083404534,391.04793957621,407.34160211012,436.81711699543,468.42550014967,487.94322738789,523.2511306012],description:"2/7-comma meantone scale. Zarlino's temperament (1558). See also meaneb371"},mean2sev_15:{frequencies:[261.6255653006,272.52663052146,280.55692507618,292.24689370448,304.42377254813,313.39402847191,326.45203249943,350.07447082328,364.66081719444,391.04786051887,407.34165622677,419.34452602299,436.81710690282,468.42541627199,487.94330348661,523.2511306012],description:"15 of 2/7-comma meantone scale"},mean2sev_19:{frequencies:[261.6255653006,272.52663052146,280.55692507618,292.24689370448,304.42377254813,313.39402847191,326.45203249943,340.0543130973,350.07447082328,364.66081719444,375.40603866065,391.04786051887,407.34165622677,419.34452602299,436.81710690282,455.01770749831,468.42541627199,487.94330348661,508.27414914183,523.2511306012],description:"19 of 2/7-comma meantone scale"},mean2sev_31:{frequencies:[261.6255653006,264.72620698393,272.52663052146,280.55692507618,283.88190679319,292.24689370448,300.8583415146,304.42377254813,313.39402847191,317.10820138491,326.45203249943,336.07138073182,340.0543130973,350.07447082328,354.22315547012,364.66081719444,375.40603866065,379.85514366424,391.04786051887,395.6823437549,407.34165622677,419.34452602299,424.31412061457,436.81710690282,449.68851049921,455.01770749831,468.42541627199,473.97693555703,487.94330348661,502.32108537715,508.27414914183,523.2511306012],description:"31 of 2/7-comma meantone scale"},mean2seveb:{frequencies:[261.6255653006,274.26749945295,292.59076110537,312.44357330613,327.42660602987,349.76102048238,366.6169314736,391.04794861134,410.01084835752,437.49574139527,467.27496094916,489.74950989452,523.2511306012],description:'"2/7-comma" meantone with equal beating fifths. A.J. Ellis no. 8'},mean2sevr:{frequencies:[261.6255653006,272.52663052146,292.24289114742,313.39346366789,326.45152465405,350.07234194042,364.65868952128,391.04531121882,407.33886585294,436.81651812993,468.41855142334,487.93599106598,523.2511306012],description:"Rational approximation to 2/7-comma meantone, 1/1 = 262.9333"},mean9:{frequencies:[261.6255653006,274.03547926168,292.70827332867,306.59245933664,327.48360691354,349.79835961887,366.39065074918,391.35653176554,409.92008797511,437.85206746661,467.68706357679,489.87127257422,523.2511306012],description:"2/9-comma meantone scale, Lemme Rossi, Sistema musico (1666)"},mean94:{frequencies:[261.6255653006,268.79084150406,291.09659021292,315.25339315665,323.88740273232,350.76536842075,360.37196303797,390.27761906502,400.96635635801,434.24075936811,470.27645613296,483.15616342113,523.2511306012],description:"4/9-comma meantone scale"},mean9_15:{frequencies:[261.6255653006,274.03547926168,279.45274708261,292.70827332867,306.59245933664,312.65343270838,327.48360691354,349.79835961887,366.39065074918,391.35653176554,409.92008797511,418.0235894185,437.85206746661,467.68706357679,489.87127257422,523.2511306012],description:"15 of 2/9-comma meantone scale"},mean9_19:{frequencies:[261.6255653006,274.03547926168,279.45274708261,292.70827332867,306.59245933664,312.65343270838,327.48360691354,343.0174228875,349.79835961887,366.39065074918,373.63364091796,391.35653176554,409.92008797511,418.0235894185,437.85206746661,458.62082212371,467.68706357679,489.87127257422,513.10776453427,523.2511306012],description:"19 of 2/9-comma meantone scale"},mean9_31:{frequencies:[261.6255653006,268.72322665693,274.03547926168,279.45274708261,287.03404351137,292.70827332867,298.49467410529,306.59245933664,312.65343270838,321.13524775754,327.48360691354,333.95746354843,343.0174228875,349.79835961887,359.28803828513,366.39065074918,373.63364091796,383.76997851754,391.35653176554,401.97367512027,409.92008797511,418.0235894185,429.36393755067,437.85181455341,446.50763144636,458.62082212371,467.68706357679,480.3749841712,489.87127257422,499.55528826613,513.10776453427,523.2511306012],description:"31 of 2/9-comma meantone scale"},meaneb1071:{frequencies:[261.6255653006,273.45959631537,292.5323192343,305.76452283047,327.09038632535,349.9034421565,365.73073124967,391.23900009103,408.93579686983,437.45744778434,457.24482979639,489.13584427285,523.2511306012],description:"Equal beating 7/4 = 3/2 same."},meaneb1071a:{frequencies:[261.6255653006,273.94115519525,292.67936294368,306.45675889694,327.41929816594,349.81553441422,366.28252094772,391.33731744348,409.75863641311,437.78732645584,458.39517452459,489.75074612717,523.2511306012],description:"Equal beating 7/4 = 3/2 opposite."},meaneb341:{frequencies:[261.6255653006,272.43747957464,292.21954801903,313.43802026715,326.39113133433,350.09085029289,364.55867287416,391.02956482064,407.18921698842,436.75579855003,468.46925117002,487.82916876009,523.2511306012],description:"Equal beating 6/5 = 5/4 same. Almost 4/15 Pyth. comma"},meaneb371:{frequencies:[261.6255653006,272.52577151658,292.24657972098,313.39444482621,326.45151771442,350.07455777399,364.65985037488,391.0477633913,407.34013625771,436.81652657765,468.42591953828,487.94213100406,523.2511306012],description:"Equal beating 6/5 = 3/2 same. Practically 2/7-comma (Zarlino)"},meaneb371a:{frequencies:[261.6255653006,269.83862220337,291.42039690163,314.72828847419,324.6081803116,350.57044084899,361.57569171511,390.49462500658,421.72650333798,434.96526321606,469.75391665508,484.50062400899,523.2511306012],description:"Equal beating 6/5 = 3/2 opposite. Almost 2/5-comma"},meaneb381:{frequencies:[261.6255653006,275.92799893014,293.28437056932,311.73248946737,328.77414682856,349.45463702831,368.55847249214,391.74146894101,416.38271791821,439.14534885862,466.76838786866,492.28548089506,523.2511306012],description:"Equal beating 6/5 = 8/5 same. Almost 1/7-comma"},meaneb451:{frequencies:[261.6255653006,274.36682021224,292.8092284668,312.49148032108,327.70992276921,349.73795145032,366.77030983847,391.42412846541,410.48661799548,438.07873640926,467.5258138363,490.29448158868,523.2511306012],description:"Equal beating 5/4 = 4/3 same, 5/24 comma meantone. A.J. Ellis no. 6"},meaneb471:{frequencies:[261.6255653006,272.3284467197,292.18612898941,313.49179640307,326.31648163178,350.11087068539,364.43361138613,391.00720457415,407.00321492741,436.68087780422,468.52283272721,487.68970701588,523.2511306012],description:"Equal beating 5/4 = 3/2 same. Almost 5/17-comma"},meaneb471a:{frequencies:[261.6255653006,274.14912748586,292.7429036132,312.59777626068,327.56128980523,349.7776701617,366.52092076205,391.37968062521,410.11434970273,437.92977184699,467.63173811584,490.01645860508,523.2511306012],description:"Equal beating 5/4 = 3/2 opposite. Almost 1/5 Pyth. Gottfried Keller (1707)"},meaneb471b:{frequencies:[261.6255653006,272.31089540773,292.18072491748,313.50040506268,326.30440921209,350.11400731728,364.41338872146,391.00370158472,406.97310157871,436.668886633,468.53149836075,487.66729542944,523.2511306012],description:"21/109-comma meantone with 9/7 major thirds, almost equal beating 5/4 and 3/2"},meaneb472:{frequencies:[261.6255653006,270.83769079127,291.72826852127,314.23020335825,325.29440843388,350.38540704884,362.72286472858,390.7008399429,404.45761497645,435.65472502222,469.25816799182,485.78126704788,523.2511306012],description:"Beating of 5/4 = twice 3/2 same. Almost 5/14-comma"},meaneb472_19:{frequencies:[261.6255653006,270.8378472333,281.80541953687,291.72826852127,302.00051792575,314.23002185182,325.29459633135,336.74877333101,350.38540704884,362.72307424558,377.41153667283,390.7008399429,404.45808222448,420.83660282593,435.65497666633,450.99513069838,469.25816799182,485.78154764623,502.88674365212,523.2511306012],description:"Beating of 5/4 = twice 3/2 same, 19 tones"},meaneb472a:{frequencies:[261.6255653006,274.74648495017,292.92493846141,312.30633997417,327.96897748493,349.66886860972,367.20529370531,391.50146074488,411.13561642091,438.33843670622,467.34113372786,490.7787182415,523.2511306012],description:"Beating of 5/4 = twice 3/2 opposite. Almost 3/17-comma"},meaneb591:{frequencies:[261.6255653006,273.06215106005,292.41085266114,313.13038820279,326.81843330822,349.97621009739,365.27491737756,391.15765268623,418.87439289145,437.18488525956,468.16276342643,488.62782610925,523.2511306012],description:"Equal beating 4/3 = 5/3 same."},meaneb732:{frequencies:[261.6255653006,272.00548436883,292.08705896894,313.65121264041,326.09523618955,350.1701397801,364.06303937825,390.94102347986,406.4514961644,436.45893055948,468.68174619223,487.27655969467,523.2511306012],description:"Beating of 3/2 = twice 6/5 same. Almost 4/13-comma"},meaneb732_19:{frequencies:[261.6255653006,272.00553778846,280.94077405591,292.08707584055,303.67560621907,313.65118727632,326.09527197795,339.03307470248,350.17012966679,364.06310036266,376.02237826726,390.94103477068,406.45158772689,419.80330474394,436.45896585468,453.77543893118,468.68171912011,487.27662724555,506.60928680033,523.2511306012],description:"Beating of 3/2 = twice 6/5 same, 19 tones"},meaneb732a:{frequencies:[261.6255653006,270.68848625127,291.6822692306,314.3042667302,325.1920204578,350.41293324447,362.5515203525,390.67014898736,404.20304509584,435.55206635241,469.33217160858,485.59021720901,523.2511306012],description:"Beating of 3/2 = twice 6/5 opposite. Almost 1/3 Pyth. comma"},meaneb742:{frequencies:[261.6255653006,272.89343543801,292.35917287023,313.21341909223,326.70311046689,350.00714105462,365.08148980199,391.12308516115,407.96824372307,437.06899032128,468.24551969328,488.41224041213,523.2511306012],description:"Beating of 3/2 = twice 5/4 same."},meaneb742a:{frequencies:[261.6255653006,273.78850133971,292.63287562287,312.77409391616,327.31510698093,349.84341999552,366.10759179471,391.30612443552,409.49789158088,437.68290117536,467.80756449982,489.55615570194,523.2511306012],description:"Beating of 3/2 = twice 5/4 opposite. Almost 3/13-comma, 3/14 Pyth. comma"},meaneb781:{frequencies:[261.6255653006,273.88372205101,292.66195046404,312.72748571568,327.38015167213,349.82604176358,366.21672762941,391.32556326448,418.15568884829,437.74813244966,467.76108961433,489.67748280644,523.2511306012],description:"Equal beating 3/2 = 8/5 same."},meaneb891:{frequencies:[261.6255653006,272.7426257605,292.31307409948,313.28760473417,326.59990179186,350.03483972175,364.90860969063,391.092135133,419.1546662649,436.96549358815,468.31936361194,488.21959184068,523.2511306012],description:"Equal beating 8/5 = 5/3 same. Almost 5/18-comma"},meaneight:{frequencies:[261.6255653006,276.08926119362,293.33333347996,311.65444160511,328.88393162803,349.42547049952,368.74309237173,391.77416758435,413.43299207996,439.25532436715,466.69047534984,492.49097043477,523.2511306012],description:"1/8 Pyth. comma meantone scale"},meanfifth:{frequencies:[261.6255653006,274.56546814423,292.86978442859,312.39456569414,327.84548435462,349.70179235499,366.99791252626,391.46460164194,410.82629477826,438.21464222188,467.42914467878,490.54793493862,523.2511306012],description:"1/5-comma meantone scale (Verheijen)"},meanfifth2:{frequencies:[261.6255653006,279.06726965397,292.86986732103,312.39452419152,327.84547867349,349.70184487387,366.99801003998,391.46454285105,417.56218018201,438.2147004401,467.42901237995,490.54793493862,523.2511306012],description:"1/5-comma meantone by John Holden (1770)"},meanfifth_19:{frequencies:[261.6255653006,274.56546814423,279.06726965397,292.86978442859,307.35519222791,312.39456569414,327.84548435462,344.06059968708,349.70179235499,366.99791252626,373.01539917593,391.46460164194,410.82629477826,417.56217294621,438.21464222188,459.88868900496,467.42914467878,490.54793493862,514.81033759999,523.2511306012],description:"19 of 1/5-comma meantone scale"},meanfifth_43:{frequencies:[261.6255653006,265.91515911649,270.13633240739,274.56546814423,279.06726965397,283.49717461664,288.14537375445,292.86978442859,297.67175429757,302.39711110066,307.35519222791,312.39456569414,317.35355938713,322.556865357,327.84548435462,333.22081516619,338.51040756711,344.06059968708,349.70179235499,355.43547760922,361.07770857381,366.99791252626,373.01539917593,378.93660287884,385.14971481892,391.46460164194,397.88302689184,404.19904307077,410.82629477826,417.56217294621,424.19061149626,431.14564594215,438.21464222188,445.39957775044,452.46991103879,459.88868900496,467.42914467878,475.09307907327,482.63477102771,490.54793493862,498.59100550039,506.50570672499,514.81033759999,523.2511306012],description:"Complete 1/5-comma meantone scale"},meanfiftheb:{frequencies:[261.6255653006,275.80023422757,293.11157312801,311.73372470712,328.53333183909,349.48325286892,368.3828117434,391.46459711956,412.7266004334,438.69360944226,466.62683936965,491.82624824197,523.2511306012],description:'"1/5-comma" meantone with equal beating fifths'},meangold:{frequencies:[261.6255653006,272.97231199113,292.38331430233,313.17462880702,326.75706743029,349.99269211627,365.17193449866,391.13923210785,408.10300926149,437.12312635029,468.20685771475,488.51307131873,523.2511306012],description:"Meantone scale with Blackwood's R = phi, and diat./chrom. ST = phi, ~4/15-comma"},meanhalf:{frequencies:[261.6255653006,267.49544939623,290.69507255622,315.90677595028,322.99452506247,351.00752840096,358.88280562497,390.00836666198,398.75867291663,433.34262909025,470.92601754108,481.49180950675,523.2511306012],description:"1/2-comma meantone scale"},meanhar2:{frequencies:[261.6255653006,273.08769296879,292.41861893027,305.22982618403,326.83598255713,349.97156260351,365.30423365264,391.16284711627,408.30015740759,437.20230245522,456.35665612784,488.66055322307,523.2511306012],description:"1/9-Harrison's comma meantone scale"},meanhar3:{frequencies:[261.6255653006,274.22153683641,292.76499331753,306.86017365004,327.61072570921,343.38355445704,366.60389537541,391.39444778107,410.23814647641,437.9793418028,459.06587176894,490.10890120058,523.2511306012],description:"1/11-Harrison's comma meantone scale"},meanharris:{frequencies:[261.6255653006,273.71072489962,292.60907359238,306.12544311476,327.26186315247,349.85764856047,366.01847563765,391.29021017831,409.36491649663,437.62950220286,457.84473927605,489.45661357347,523.2511306012],description:"1/10-Harrison's comma meantone scale"},meanhsev:{frequencies:[261.6255653006,265.69493617871,271.18768033644,275.4057836544,279.68949451567,284.03983498254,289.91182549392,294.4211659268,299.00064605783,305.1819244006,309.92877868547,314.74946639166,321.25632089757,326.25319922315,331.32779988873,336.4813337451,343.43745382287,348.77934146077,354.20431777528,361.52682728594,367.15008027699,372.86080050545,378.66034414493,386.48843610249,392.49994642563,398.60496085649,406.84537033315,413.17351844213,419.60009331305,426.12662827999,434.93599657884,441.70106893056,448.57136642871,457.84473927605,464.96613926104,472.19830582795,481.96011959425,489.45661357347,497.06970936204,504.80122352123,515.23704142273,523.2511306012],description:"1/14-septimal schisma tempered meantone scale"},meanhskl:{frequencies:[261.6255653006,275.0605216927,293.02063313667,312.15345277639,328.18310911307,349.61186736411,367.56508220664,391.56529173291,411.67289207144,438.55312706018,467.18850946536,491.17950266504,523.2511306012],description:"Half septimal kleisma meantone"},meanlst357_19:{frequencies:[261.6255653006,273.71260157103,279.68803244686,292.60971924044,306.12821574316,312.81131320311,327.26311833974,342.38279105966,349.85736361975,366.02068710341,374.01129952811,391.29052886394,409.36829077259,418.30522648629,437.63082426891,457.84952434322,467.84458559023,489.45917220726,512.07206464598,523.2511306012],description:"19 of mean-tone scale, least square error in 3/2, 5/4 and 7/4"},meanmalc:{frequencies:[261.6255653006,279.16226462633,292.82999876562,312.45832383396,327.75622702832,349.72564885805,366.84815356577,391.43789792004,417.67588698136,438.12522309524,467.49265244264,490.38100841085,523.2511306012],description:"Meantone approximation to Malcolm's Monochord, 3/16 Pyth. comma"},meannkleis:{frequencies:[261.6255653006,277.55670411237,293.77792781181,311.66693695111,329.88161264913,349.96913477239,370.42222384066,392.07096746411,415.94530241673,440.25439013544,467.06275302556,494.35929617392,523.2511306012],description:"1/5 kleisma tempered meantone scale"},meanpi:{frequencies:[261.6255653006,275.38456311745,294.43027471344,309.91448590794,326.2128298123,348.77404705732,367.11600789597,392.50613131028,413.14795414706,434.87532652316,464.95175460796,489.40347900327,523.2511306012],description:"Pi-based meantone with Harrison's major third by Erv Wilson"},meanpi2:{frequencies:[261.6255653006,287.5806999253,296.7710142931,326.2128298123,336.6377243117,370.0346037192,381.85992557156,394.06315326167,433.15704755212,446.99959483943,491.34516423327,507.04724898227,523.2511306012],description:"Pi-based meantone by Erv Wilson analogous to 22-tET"},meanpkleis:{frequencies:[261.6255653006,274.33428876064,294.88060759996,309.2047285643,324.22465805628,348.50752497012,365.43662717622,392.80607455881,411.88702081614,442.73537947933,464.24169412807,486.7926967469,523.2511306012],description:"1/5 kleisma positive temperament"},meanquar:{frequencies:[261.6255653006,273.37431312998,292.50627485027,312.977175335,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"1/4-comma meantone scale. Pietro Aaron's temp. (1523). 6/5 beats twice 3/2"},meanquar_14:{frequencies:[261.6255653006,273.37431312998,292.50627485027,305.64177427204,312.977175335,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,418.60090448096,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"1/4-comma meantone scale with split D#/Eb and G#/Ab, Otto Gibelius (1666)"},meanquar_15:{frequencies:[261.6255653006,273.37431312998,279.93529690293,292.50627485027,305.64177427204,312.977175335,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,418.60090448096,437.39890198442,468.01003810189,489.02683710225,523.2511306012],description:"1/4-comma meantone scale with split C#/Db, D#/Eb and G#/Ab"},meanquar_16:{frequencies:[261.6255653006,273.37431312998,279.93548123753,292.50629850443,305.64179898843,312.97722776199,327.03195662575,349.91920725962,365.63293356166,391.22137338448,408.78994578219,418.60090448096,437.39882871549,457.04097849371,468.01000025525,489.02679755603,523.2511306012],description:"1/4-comma meantone scale with split C#/Db, D#/Eb, G#/Ab and A#/Bb"},meanquar_17:{frequencies:[261.6255653006,273.37431312998,279.93529690293,292.50627485027,305.64177250659,312.977175335,327.03195662575,349.91912034749,365.63284274659,374.40803131735,391.22147055517,408.78994578219,418.60090448096,437.39889945791,457.04105241293,468.01003810189,489.02683710225,523.2511306012],description:"1/4-comma meantone scale with split C#/Db, D#/Eb, F#/Gb, G#/Ab and A#/Bb"},meanquar_19:{frequencies:[261.6255653006,273.37431312998,279.93529690293,292.50627485027,305.64177427204,312.977175335,327.03195662575,341.71789064962,349.91912034749,365.63284274659,374.40803131735,391.22147055517,408.78994578219,418.60090448096,437.39890198442,457.04105241293,468.01003810189,489.02683710225,510.98743222773,523.2511306012],description:"19 of 1/4-comma meantone scale"},meanquar_27:{frequencies:[261.6255653006,273.37431312998,279.93529690293,285.65065877038,292.50627485027,299.52642572255,305.64177427204,312.977175335,327.03195662575,334.88072358477,341.71789064962,349.91912034749,365.63284274659,374.40803131735,382.05221698715,391.22147055517,400.61078621746,408.78994578219,418.60090448096,427.14736482575,437.39890198442,447.89647345742,457.04105241293,468.01003810189,489.02683710225,500.76348165392,510.98743222773,523.2511306012],description:"27 of 1/4-comma meantone scale"},meanquar_31:{frequencies:[261.6255653006,267.90457886781,273.37431312998,279.93529690293,285.65065877038,292.50627485027,299.52642572255,305.64177427204,312.977175335,320.48862783822,327.03195662575,334.88072358477,341.71789064962,349.91912034749,358.31717956585,365.63284274659,374.40803131735,382.05221698715,391.22147055517,400.61078621746,408.78994578219,418.60090448096,427.14736482575,437.39890198442,447.89647345742,457.04105241293,468.01003810189,479.24227945773,489.02683710225,500.76348165392,510.98743222773,523.2511306012],description:"31 of 1/4-comma meantone scale"},meanquareb:{frequencies:[261.6255653006,274.90575459855,292.80763523599,312.14798050979,327.88746490679,349.6453532581,367.3522744581,391.22144795733,411.14173398328,437.99455416256,467.00507093977,490.61429903129,523.2511306012],description:"Variation on 1/4-comma meantone with equal beating fifths"},meanquarm23:{frequencies:[261.6255653006,273.51763645063,292.40504357126,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,408.78994578219,436.04260883433,468.17206422213,489.12605686634,523.2511306012],description:"1/4-comma meantone approximation with minimal order 23 beatings"},meanquarr:{frequencies:[261.6255653006,273.37036621967,292.50063201309,312.98169478553,327.03195662575,349.92419358955,365.62579001637,391.21579858034,408.78994578219,437.39258595147,468.01906681552,489.01974822542,523.2511306012],description:"Rational approximation to 1/4-comma meantone, Kenneth Scholz, MTO 4.4, 1998"},meansabat:{frequencies:[261.6255653006,279.13726386405,294.25495796556,313.95067836072,330.95382015833,348.87783040382,372.229687597,392.38914286775,418.65339720992,441.32709511026,470.8669722571,496.36848628125,523.2511306012],description:"1/9-schisma meantone scale of Eduard Sa'bat-Garibaldi"},meansabat_53:{frequencies:[261.6255653006,264.79625752493,268.00537599851,271.25338610366,275.79485124716,279.13726386405,282.52018221184,285.94410045135,290.73152483281,294.25495796556,297.82109228474,301.4304452945,305.08354077075,310.19140758515,313.95067836072,317.75550958044,321.60645175541,326.99095182327,330.95382015833,334.96471528237,339.02421924159,343.13292113612,348.87783040382,353.10595017045,357.38531136087,361.71653498009,367.77258074571,372.229687597,376.74081403286,381.30660995465,385.92774054592,392.38914286775,397.14458487807,401.95765903525,406.82906379475,413.640406907,418.65339720992,423.72714093867,428.86237189887,436.04260883433,441.32709511026,446.67562589029,452.08897683944,457.56793273834,465.22877230071,470.8669722571,476.57350267936,482.349191678,490.42492909292,496.36848628125,502.38407462043,508.4725670703,514.63484717027,523.2511306012],description:"53-tone 1/9-schisma meantone scale"},meanschis:{frequencies:[261.6255653006,275.81646505128,294.24573392894,310.20599265769,327.03195662575,348.88329767713,367.80716871461,392.38299382393,413.66634097248,436.10412364188,465.24335632603,490.47874118496,523.2511306012],description:"1/8-schisma temperament, Helmholtz"},meanschis7:{frequencies:[261.6255653006,275.84425785506,294.23387584933,310.2247482054,327.0846843223,348.89032888179,367.85164222246,392.37508610937,413.69968681881,436.18322603255,465.26210635182,490.54793493862,523.2511306012],description:"1/7-schisma linear temperament"},meanschis_17:{frequencies:[261.6255653006,275.81646505128,290.77709705464,294.24573392894,310.20599265769,327.03195662575,330.93307160522,348.88329767713,367.80716871461,372.19468374184,392.38299382393,413.66634097248,436.10412364188,441.30634506723,465.24335632603,490.47874118496,496.32958936031,523.2511306012],description:"17-tone 1/8-schisma linear temperament"},meansept:{frequencies:[261.6255653006,273.93523095528,292.67762672082,312.70235991264,327.41522444303,349.81667202162,366.27579142084,391.33604481052,409.74867679276,437.78330574787,467.73603562223,489.74334292241,523.2511306012],description:"Meantone scale with septimal diminished fifth"},meansept2:{frequencies:[261.6255653006,273.61459551034,286.15296204753,292.57963558274,305.98714063953,320.00886175336,327.19620693615,342.18982383643,349.87514759905,365.9082279648,382.67602660872,391.27063976147,409.20043831214,427.95210889573,437.56358849756,457.61500463173,478.58500343311,489.333659422,511.75744671018,523.2511306012],description:"Meantone scale with septimal neutral second"},meansept3:{frequencies:[261.6255653006,267.11515986718,271.23581508831,275.42019673559,281.19923906193,285.53716249988,289.94217244295,296.02592413073,300.59257160392,305.22982618403,309.9384746623,316.44180152381,321.32358037849,326.28048244956,333.12670774706,338.26588629419,343.48414905091,348.7829114007,356.10146388137,361.59490682213,367.17305499414,374.87731434423,380.66058361349,386.53284867747,394.643327573,400.73152907611,406.91341882127,413.19091223118,421.86074762795,428.36858751681,434.97682067587,444.1040384307,450.95501471222,457.91167766162,464.97592623609,474.73234784313,482.05581210758,489.49253462334,499.76337935275,507.47298512535,515.30182087389,523.2511306012],description:"Pythagorean scale with septimal minor third"},meansept4:{frequencies:[261.6255653006,266.94086705872,271.13211808455,275.38917613856,280.98410555769,285.39585012732,289.87686370457,295.76613145071,300.40996929954,305.12672026341,309.91752915454,316.21395200486,321.17884203959,326.22168604472,332.8493514236,338.07543464185,343.38355445704,348.77505435772,355.86092403367,361.44831302863,367.12342987925,374.58207334188,380.46340397682,386.43730087372,394.28810581018,400.47907310734,406.76701374557,413.15368163355,421.54749623588,428.16623317002,434.88889120201,443.72428802318,450.69091522486,457.76754776364,464.95497741911,474.40121026751,481.84980583512,489.41535214975,499.35853288878,507.19898454493,515.16253949886,523.2511306012],description:"Pythagorean scale with septimal narrow fourth"},meansev:{frequencies:[261.6255653006,275.93321340298,293.28595453555,311.72996498387,328.77769811601,349.45369437647,368.5644419122,391.74252566418,413.16594588103,439.14890519043,466.76586696593,492.29212632197,523.2511306012],description:"1/7-comma meantone scale, Jean-Baptiste Romieu (1755)"},meansev2:{frequencies:[261.6255653006,273.98141462199,292.76593693997,312.83835055233,327.61283758281,350.07440004945,366.60744235102,391.74252566418,410.24343789088,438.37026184168,468.42550014967,490.54793493862,524.18054130269],description:"Meantone scale with 1/7-comma stretched octave (stretched meansept)"},meansev_19:{frequencies:[261.6255653006,275.93321340298,278.07859353335,293.28589524255,309.32501829942,311.72996858511,328.77775508885,346.75764506664,349.4536277652,368.56443339655,371.42996022741,391.74260033637,413.16585280598,416.37814821359,439.14890011719,463.16493144882,466.76596133102,492.29202110912,496.11959049595,523.2511306012],description:"19 of 1/7-comma meantone scale"},meanseveb:{frequencies:[261.6255653006,276.822915312,293.45907344559,311.2600957924,329.2717708679,349.29792128041,369.56105314287,391.74259807358,414.53862252605,439.49286138442,466.19439430972,493.21190508606,523.2511306012],description:'"1/7-comma" meantone with equal beating fifths'},meansixth:{frequencies:[261.6255653006,275.36245350283,293.11247215425,312.00666699279,328.38886075091,349.55699144229,367.91095120397,391.62676241399,412.18948168074,438.75944753732,467.04212833931,491.56459996916,523.2511306012],description:"1/6-comma meantone scale (tritonic temperament of Salinas)"},meansixth_19:{frequencies:[261.6255653006,275.36245350283,278.49009641114,293.11247215425,308.50278723002,312.00666699279,328.38886075091,345.6314161331,349.55699144229,367.91095120397,372.08969287196,391.62676241399,412.18948168074,416.87124381956,438.75944753732,461.79691129422,467.04212833931,491.56459996916,517.37477513058,523.2511306012],description:"19 of 1/6-comma meantone scale"},meansixtheb:{frequencies:[261.6255653006,276.39673661379,293.31426069206,311.4574698476,328.96404447481,349.37515437283,369.07004939896,391.62674884124,413.78350416977,439.15979251365,466.37460465854,492.63446576705,523.2511306012],description:'"1/6-comma" meantone with equal beating fifths'},meansixthm:{frequencies:[261.6255653006,275.36250599118,293.11251278827,312.00669222389,328.38895179964,349.55706816887,367.91095120397,391.62667645325,414.52369088643,438.75941205608,467.04206359353,491.56462836305,523.2511306012],description:"modified 1/6-comma meantone scale, wolf spread over 2 fifths"},meansixthm2:{frequencies:[261.6255653006,276.14113065853,293.11251278827,310.24975557428,328.38895179964,349.55706816887,367.91095120397,391.62667645325,414.52380581681,438.75941205608,465.72523006308,491.56462836305,523.2511306012],description:"modified 1/6-comma meantone scale, wolf spread over 4 fifths"},meansixthpm:{frequencies:[261.6255653006,275.00020270933,293.00227310437,309.72478954314,328.14198392915,348.83408706747,367.49599295996,391.5530240856,412.50030385781,438.51190905657,465.11211608996,491.10256480205,523.2511306012],description:"modified 1/6P-comma temperament, French 18th century"},meansixthso:{frequencies:[261.6255653006,273.09145986506,292.50627485027,313.30134186202,327.03195662575,350.28154752005,365.63284274659,391.62667645325,408.78994578219,437.85193595173,468.98001879925,489.53334447372,524.3356019912],description:"1/6-comma meantone scale with 1/6-comma stretched oct, Dave Keenan TL 13-12-99"},meanstr:{frequencies:[261.6255653006,272.52663052146,292.30447317753,313.51763757869,326.58087306932,350.28154752005,364.87661266094,391.35649333595,407.66301227525,437.24799400905,468.98001879925,488.52085380073,523.97386302914],description:"Meantone with 1/9-comma stretched octave, Petr Parizek (2006)"},meanten:{frequencies:[261.6255653006,276.96346718799,293.59840699152,311.2324721493,329.47860040677,349.26769656434,369.74365294187,391.95114287501,414.92943551322,439.85086739936,466.26912673157,493.60433806962,523.2511306012],description:"1/10-comma meantone scale"},meanthird:{frequencies:[261.6255653006,271.40047399919,291.9012907804,313.95067836072,325.68056936328,350.28154752005,363.36884069528,390.81668391305,405.4184580124,436.04260883433,468.98001879925,486.50215045777,523.2511306012],description:"1/3-comma meantone scale (Salinas)"},meanthird_19:{frequencies:[261.6255653006,271.40047399919,281.38801176707,291.9012907804,302.80736724606,313.95067836072,325.68056936328,337.848714425,350.28154752005,363.36884069528,376.74081403286,390.81668391305,405.4184580124,420.33785775232,436.04260883433,452.33412516107,468.98001879925,486.50215045777,504.40543017669,523.2511306012],description:"Complete 1/3-comma meantone scale"},meanthirdeb:{frequencies:[261.6255653006,273.41679662438,292.30169912182,312.83755546226,326.81234905863,349.91518709086,365.63683018302,390.81669745772,408.5035451685,436.83089868331,467.63468237516,488.59687355467,523.2511306012],description:'"1/3-comma" meantone with equal beating fifths'},meanvar1:{frequencies:[261.6255653006,274.22463192287,292.50627485027,312.00669222389,327.03195662575,349.55706816887,366.3906401674,391.22147055517,410.48618883318,437.39890198442,467.04206359353,489.53334447372,523.2511306012],description:"Variable meantone 1: C-G-D-A-E 1/4, others 1/6"},meanvar2:{frequencies:[261.6255653006,274.19219069011,292.50627485027,312.04360750473,327.03195662575,349.70184487387,366.23895640989,391.22147055517,410.65012590831,437.39890198442,467.23549927892,489.3306802979,523.2511306012],description:"Variable meantone 2: C..E 1/4, 1/5-1/6-1/7-1/8 outward both directions"},meanvar3:{frequencies:[261.6255653006,275.36250599118,292.50627485027,310.71739423852,327.03195662575,349.55706816887,367.15000817177,391.22147055517,413.04376116614,437.39890198442,466.0760911248,489.53334447372,523.2511306012],description:"Variable meantone 3: C..E 1/4, 1/6 next, then Pyth."},meanvar4:{frequencies:[261.6255653006,275.07759559501,292.50627485027,311.03921839762,327.03195662575,349.91912034749,366.77012764335,391.22147055517,412.61639318626,437.39890198442,466.55882736321,489.02683710225,523.2511306012],description:"Variable meantone 4: naturals 1/4-comma, accidentals Pyth."},mediant16:{frequencies:[261.6255653006,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,470.92601754108,523.2511306012],description:"Mediant doubling of octave done four times"},mercadier:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.42509491746,328.14198392915,349.22823143301,368.74309237173,391.5530240856,413.90012676351,438.51190905657,465.63764214343,492.21297564769,523.2511306012],description:"Mercadier's well-temperament (1777), 1/12 and 1/6 Pyth. comma"},mercadier2:{frequencies:[261.6255653006,276.14388692511,292.95319623755,310.40895756597,328.03206784165,349.20805980193,368.45885450371,391.49761638186,413.86785247997,438.37641748302,465.57175090792,491.63473786767,523.2511306012],description:"Mercadier de Belestas (1776)"},mercator:{frequencies:[261.6255653006,272.09448029963,279.3054110864,290.48161516351,306.08206748155,318.32990397837,326.76614606023,335.42596179815,348.84778913489,362.80689075348,372.42184279259,387.32403355801,408.12545368833,418.94141877379,435.70530841001,453.13974129598,465.14865565404,490.12996697565,509.74216322321,523.2511306012],description:"19 out of 53-tET, see Mandelbaum p. 331"},merrick:{frequencies:[261.6255653006,278.62147458377,295.28844751169,312.94924079019,329.91874474504,349.29981986967,371.62722343835,394.01440557319,416.60121863153,438.96906929631,468.0242659544,493.6331420766,523.2511306012],description:"A. Merrick's melodically tuned equal temperament (1811)"},mersen_l1:{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Mersenne lute 1"},mersen_l2:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Mersenne lute 2"},mersen_s1:{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Mersenne spinet 1"},mersen_s2:{frequencies:[261.6255653006,272.52663052146,294.32876096318,306.59245933664,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Mersenne spinet 2"},mersenmt1:{frequencies:[261.6255653006,273.37431312998,292.50627485027,311.03921839762,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,466.55882736321,489.02683710225,523.2511306012],description:"Mersenne's Improved Meantone 1"},mersenmt2:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.11326130363,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Mersenne's Improved Meantone 2"},mersenne:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,310.07474405997,313.95067836072,322.99452506247,327.03195662575,340.65828815182,344.52749339997,348.83408706747,363.36884069528,367.91095120397,372.08969287196,376.74081403286,387.59343007496,392.4383479509,408.78994578219,413.43299207996,418.60090448096,430.65936674996,436.04260883433,454.2110508691,459.88868900496,465.11211608996,470.92601754108,484.4917875937,490.54793493862,510.98743222773,523.2511306012],description:"31-note choice system of Mersenne, Harmonie universelle (1636)"},meyer:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Max Meyer, see Doty, David, 1/1 August 1992 (7:4) p.1 and 10-14"},meyer_29:{frequencies:[261.6255653006,268.26840191956,275.93321340298,286.15296204753,289.72987407313,294.32876096318,306.59245933664,321.92208230347,327.03195662575,331.11985608357,343.38355445704,344.91651675372,357.69120255941,367.91095120397,372.50983809402,383.2405741708,386.30649876417,392.4383479509,408.78994578219,413.89982010446,429.2294430713,441.49314144476,457.84473927605,459.88868900496,482.88312345521,490.54793493862,496.67978412536,510.98743222773,515.07533168556,523.2511306012],description:"Max Meyer, see Doty, David, 1/1 August 1992 (7:4) p.1 and 10-14"},mid_enh1:{frequencies:[261.6255653006,269.10058145205,336.37572681506,348.83408706747,392.4383479509,403.65087217807,504.56359022259,523.2511306012],description:"Mid-Mode1 Enharmonic, permutation of Archytas's with the 5/4 lying medially"},mid_enh2:{frequencies:[261.6255653006,271.31540105247,339.14425131559,348.83408706747,392.4383479509,406.97310157871,508.71637697339,523.2511306012],description:"Permutation of Archytas' Enharmonic with the 5/4 medially and 28/27 first"},miller19:{frequencies:[261.6255653006,271.16557874802,283.07475767856,293.39690257971,304.09543631541,315.18408718336,326.67707691855,338.58915326012,350.93559605343,363.73224209988,376.99551198295,390.74241649248,407.9032302438,422.77716528297,438.1934715504,454.17192383337,470.73301771751,487.89800430439,505.68889852562,524.12852955557],description:"TOP tempered nr. 64 [1202.9, 570.4479508], 7-limit {225/224, 1029/1000}"},miller7:{frequencies:[261.6255653006,274.70684356563,294.32876096318,313.95067836072,329.64821227876,353.19451315581,366.27579142084,392.4383479509,412.06026534844,439.53094970501,470.92601754108,494.47231841813,523.2511306012],description:"Herman Miller, 7-limit JI. mode of parizek_ji1"},miller_12:{frequencies:[261.6255653006,273.36657578691,291.63627719304,313.29104303136,327.35065305942,349.22823143301,364.90060015836,391.99543598175,418.19337019276,436.9606979923,456.57025003029,487.08386390194,523.2511306012],description:"Herman Miller, scale with appr. to three 7/4 and one 11/8. Tuning List 19-11-99"},miller_12a:{frequencies:[261.6255653006,273.46133384191,291.68681828778,313.23675853409,327.40738352015,349.22823143301,365.02708698668,391.99543598175,418.12090908234,437.03642407223,456.80766452229,487.25270356141,523.85596330884],description:'Herman Miller, "Starling" scale, alternative version TL 25-11-99'},miller_12r:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,454.2110508691,484.4917875937,523.2511306012],description:'Herman Miller, "Starling" scale rational version'},miller_ar1:{frequencies:[261.6255653006,276.1828093671,293.13465239421,310.07474405997,327.9937953665,348.83408706747,368.24374600687,391.64146650178,414.27421384356,438.21489534465,465.11211608996,490.99166158792,523.2511306012],description:'Herman Miller, "Arrow I" well-temperament'},miller_ar2:{frequencies:[261.6255653006,276.1828093671,293.13465239421,310.2849072826,328.2161033156,349.07052034394,368.24374600687,391.64146650178,414.27421384356,438.51190905657,465.42736069124,491.32444638706,523.2511306012],description:'Herman Miller, "Arrow II" well-temperament'},miller_b1:{frequencies:[261.6255653006,276.37000081643,292.93610587951,310.49521248455,328.2161033156,348.83408706747,368.4933346061,391.64146650178,413.993616853,438.80912407872,465.11211608996,491.32444638706,523.2511306012],description:'Herman Miller, "Butterfly I" well-temperament'},miller_b2:{frequencies:[261.6255653006,276.55731914056,293.13465239421,310.70566022736,328.2161033156,349.07052034394,368.74309237173,392.17254067411,414.27421384356,439.10654054756,465.42736069124,491.99069280383,523.2511306012],description:'Herman Miller, "Butterfly II" well-temperament'},miller_bug:{frequencies:[261.6255653006,275.99574470663,292.73769384471,310.49521248455,327.54963108844,348.83408706747,368.4933346061,391.64146650178,413.993616853,437.62147130622,465.11211608996,491.32444638706,523.2511306012],description:'Herman Miller, "Bug I" well-temperament'},miller_dim:{frequencies:[261.6255653006,272.37088095799,275.97178311718,291.10467300644,307.06737543415,311.12698372208,323.9053895548,328.18760802294,346.1837483498,365.1667076515,369.99442271164,385.1905938463,390.2830385166,411.68417663589,434.25884690128,440,458.07139483414,464.12736626882,489.57775198944,516.42371048788,523.2511306012],description:"Diminished temperament, g=92.421, oct=1/4, 7-limit"},miller_nikta:{frequencies:[261.6255653006,272.78230567952,282.82337239762,292.30660227893,305.1368529352,315.1779191367,326.89249731477,341.39626079795,349.76381456689,364.82541608424,379.88701473,391.60159255926,407.77886614283,422.28262813098,436.22855406869,456.86852448015,469.69877536137,488.10739794888,508.74736733766,523.2511306012],description:'Herman Miller, 19-tone scale of "Nikta". Tuning List 22-1-99'},miller_sp:{frequencies:[261.6255653006,276.74268633071,292.73329748773,304.15432597486,321.72882314722,340.31880135827,353.5963846,374.02771873076,395.63960626236,411.07553805605,434.82810464551,459.95313047266,477.89826295658,505.51194770063,525.23456349057],description:"Herman Miller, Superpelog temperament, TOP tuning"},minor_5:{frequencies:[261.6255653006,299.00064605783,348.83408706747,418.60090448096,465.11211608996,523.2511306012],description:"A minor pentatonic"},minor_clus:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,348.83408706747,353.19451315581,372.08969287196,392.4383479509,418.60090448096,441.49314144476,465.11211608996,470.92601754108,523.2511306012],description:"Chalmers' Minor Mode Cluster, Genus [333335]"},minor_wing:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,376.74081403286,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Chalmers' Minor Wing with 7 minor and 6 major triads"},minortone:{frequencies:[261.6255653006,264.87670583656,269.18630372462,273.56601964703,276.96554054138,281.47182622933,286.05143175444,290.70554674078,294.31805527354,299.10666990622,303.97319627313,307.75057781118,312.75774231814,317.84637624619,323.01780144749,327.03184444407,332.35271908155,337.76016543181,341.95740725719,347.52112383796,353.17536321933,358.9216002989,363.3818066762,369.29410472703,375.30259493676,379.96636500161,386.14849505708,392.43120962619,398.81614754309,403.7721109712,410.34156772664,417.0179085097,422.20006196255,429.06934285921,436.05038835349,443.14501943782,448.65184388114,455.95150328441,463.36992699746,469.12808274602,476.76089208744,484.51788878959,492.4010934061,498.52001054206,506.63103252794,514.8740254656,523.2511306012],description:"Minortone temperament, g=182.466089, 5-limit"},miracle1:{frequencies:[261.6255653006,266.71173418545,279.86396690685,285.30470202322,299.37379946195,305.19382000629,320.24370022528,326.46944327063,342.56848033562,349.22823143301,366.44956000397,373.57357677338,391.99543598175,399.61607881612,419.32216217931,427.47405410759,448.5538823653,457.27406033445,479.82340237272,489.15147723638,513.27277840175,523.2511306012],description:'21 out of 72-tET Pyth. scale "Miracle/Blackjack", Keenan & Erlich, TL 2-5-2001'},miracle1a:{frequencies:[261.6255653006,266.57640943865,279.87817034289,285.17441410431,299.40418912991,305.0699313594,320.29246281951,326.35348199782,342.63803067389,349.1219037468,366.54256247747,373.47879032775,392.11482112276,399.53496279579,419.47115746916,427.40897376302,448.73603972606,457.22764679928,480.04261976898,489.12665346498,513.5333359992,523.2511306012],description:"Version of Blackjack with just 11/8 intervals"},miracle2:{frequencies:[261.6255653006,266.71172956369,274.52699087907,279.86396690685,285.30469707927,293.66477470251,299.3738011912,305.19381471768,314.13668880034,320.24370207508,326.46943949911,336.03573785931,342.56848231438,349.22822739856,359.4614100947,366.44956423737,373.57357245769,380.83607584373,391.99544051026,399.61607650784,407.38486242506,419.32216702351,427.4740516384,435.78441397758,448.55389013814,457.27405769313,466.16375074742,479.82341068742,489.15147723638,498.66088722045,513.27278729609,523.2511306012],description:'31 out of 72-tET Pythagorean scale "Miracle/Canasta", tempered Fokker-M, 36 7-limit tetrads'},miracle24:{frequencies:[261.6255653006,266.71173418545,274.52698453615,279.86396690685,285.30470202322,299.37379946195,305.19382000629,320.24370022528,326.46944327063,342.56848033562,349.22823143301,366.44956000397,373.57357677338,391.99543598175,399.61607881612,419.32216217931,427.47405410759,448.5538823653,457.27406033445,466.16376151809,479.82340237272,489.15147723638,498.66089874196,513.27277840175,523.2511306012],description:"Miracle[24] in 72-tET tuning."},miracle2a:{frequencies:[261.6255653006,266.57640943865,274.68028654691,279.87817034289,285.17441410431,293.84366906071,299.40418912991,305.0699313594,314.34400674513,320.29246281951,326.35348199782,336.27457379784,342.63803067389,349.1219037468,359.73515228832,366.54256247747,373.47879032775,380.54627680087,392.11482112276,399.53496279579,407.09552105481,419.47115746916,427.40897376302,435.49700296564,448.73603972606,457.22764679928,465.87994655565,480.04261976898,489.12665346498,498.38259075187,513.5333359992,523.2511306012],description:"Version of Canasta with just 11/8 intervals"},miracle3:{frequencies:[261.6255653006,266.71172956369,271.8967720342,274.52699087907,279.86396690685,285.30469707927,290.85119844166,293.66477470251,299.3738011912,305.19381471768,311.12697293924,314.13668880034,320.24370207508,326.46943949911,332.81620914398,336.03573785931,342.56848231438,349.22822739856,356.01744208336,359.4614100947,366.44956423737,373.57357245769,380.83607584373,384.52012922913,391.99544051026,399.61607650784,407.38486242506,411.32573797959,419.32216702351,427.4740516384,435.78441397758,440.00001524924,448.55389013814,457.27405769313,466.16375074742,470.67322937359,479.82341068742,489.15147723638,498.66088722045,503.48472993456,513.27278729609,523.2511306012],description:'41 out of 72-tET Pythagorean scale "Miracle/Studloco", Erlich/Keenan 2001'},miracle31s:{frequencies:[261.6255653006,266.63636836248,274.61234258734,279.87187586531,285.23214274484,293.7643779857,299.39072204343,305.12482507342,314.2521161294,320.27085311289,326.40486440328,336.1687117034,342.60720791066,349.16901789451,359.61381619398,366.50134650551,373.52079096839,380.6746756467,392.06191220286,399.57090708206,407.22371854314,419.40512463865,427.43781242392,435.62434685833,448.6553095271,457.24821364991,466.00569400686,479.94546308962,489.13765420145,498.50589943595,513.41785698047,523.2511306012],description:"Canasta with Secor's minimax generator of 116.7155941 cents (5:9 exact). XH5, 1976"},miracle3a:{frequencies:[261.6255653006,266.57640943865,271.6209387912,274.68028654691,279.87817034289,285.17441410431,290.57088243021,293.84366906071,299.40418912991,305.0699313594,310.84289043406,314.34400674513,320.29246281951,326.35348199782,332.52919812642,336.27457379784,342.63803067389,349.1219037468,355.72847573316,359.73515228832,366.54256247747,373.47879032775,380.54627680087,384.83248369581,392.11482112276,399.53496279579,407.09552105481,411.6807594913,419.47115746916,427.40897376302,435.49700296564,440.40213577526,448.73603972606,457.22764679928,465.87994655565,471.12729153307,480.04261976898,489.12665346498,498.38259075187,503.99602271809,513.5333359992,523.2511306012],description:"Version of Studloco with just 11/8 intervals"},miracle3ls:{frequencies:[261.6255653006,266.8561524992,272.19132869617,274.36355553357,279.84880885615,285.44374339214,291.1505189834,293.47406686496,299.34138986722,305.32601617869,311.43030899178,313.91568307924,320.1916880693,326.59318586748,333.12264767748,335.78115718319,342.4943108472,349.34167821305,356.32594256772,359.16962765504,366.35037871957,373.67471357934,381.14545968569,384.18721873359,391.86813762951,399.70261841457,407.69373119716,410.94736065575,419.16328558448,427.54349328421,436.09121881038,439.57145109254,448.35967321435,457.32356924795,466.46667727785,470.18934850506,479.58967749961,489.177972196,498.95793401383,502.93987502638,512.99500332159,523.2511306012],description:"Miracle-41 in a 7-limit least-squares tuning, Gene Ward Smith, 2001"},miracle3p:{frequencies:[261.6255653006,266.34679554672,270.06721067987,274.94077677072,279.90228841312,284.95333588433,290.09553330897,294.14767822015,299.45579274291,304.85969791727,310.36112062791,314.69634158508,320.37527393455,326.15668500873,332.04242788125,336.6805001021,342.75615313904,348.94144590806,355.2383548887,360.20043713509,366.70052302062,373.3179099666,380.0547104455,385.36343543368,392.31760641523,399.39727291251,406.60469732047,412.28427858225,419.7242587073,427.29849640545,435.00941939202,441.0857666732,449.04549132915,457.14885520764,465.39844769831,471.89927840742,480.41505607532,489.08450736089,497.91040254418,504.86537329764,513.97604599191,523.2511306012],description:"Least squares Pythagorean approximation to partch_43"},miracle41s:{frequencies:[261.6255653006,266.63636836248,269.45164985995,274.61234258734,279.87187586531,285.23214274484,290.69507255622,293.7643779857,299.39072204343,305.12482507342,310.96875093738,314.2521161294,320.27085311289,326.40486440328,332.65635780028,336.1687117034,342.60720791066,349.16901789451,355.85650343121,359.61381619398,366.50134650551,373.52079096839,380.6746756467,384.69403121132,392.06191220286,399.57090708206,407.22371854314,411.52339231679,419.40512463865,427.43781242392,435.62434685833,440.22388881539,448.6553095271,457.24821364991,466.00569400686,470.92601754108,479.94546308962,489.13765420145,498.50589943595,503.76937659657,513.41785698047,523.2511306012],description:"StudLoco with Secor's minimax generator of 116.7155941 cents (5:9 exact). XH5, 1976"},miracle_12:{frequencies:[261.6255653006,279.86396690685,299.37379946195,320.24370022528,336.03572815422,342.56848033562,359.46139971304,366.44956000397,384.52011812375,411.32572372413,440,470.6732130613,523.2511306012],description:"A 12-tone subset of Blackjack with six 4-7-9-11 tetrads"},miracle_12a:{frequencies:[261.6255653006,279.86396690685,299.37379946195,320.24370022528,342.56848033562,366.44956000397,391.99543598175,419.32216217931,448.5538823653,479.82339960115,489.15147723638,513.27277840175,523.2511306012],description:"A 12-tone chain of Miracle generators and subset of Blackjack"},"24erlich-keenan":{frequencies:[261.6255653006,266.71173469898,279.86396636799,285.30470202322,290.8512090818,299.37380003836,305.19381941867,320.24370022528,326.46944389922,342.56847967604,349.22823143301,356.01745305102,366.44956070954,373.5735760541,391.99543598175,399.61607958554,407.38487340641,419.32216137194,427.47405410759,448.55388322895,457.27405945401,479.82340237272,489.15147817819,498.66089778183,523.2511306012],description:"24 note mapping for Erlich/Keenan Miracle scale low version, tuned to 72-equal"},miracle_8:{frequencies:[261.6255653006,279.86396690685,314.13668154225,336.03572815422,366.44956000397,391.99543598175,419.32216217931,448.5538823653,523.2511306012],description:"tet3a in 72-et"},miring1:{frequencies:[261.6255653006,285.29448470177,307.6953604706,387.15515639797,420.96788906714,523.2511306012],description:"Gamelan Miring from Serdang wetan, Tangerang. 1/1=309.5 Hz"},miring2:{frequencies:[261.6255653006,279.34865171253,304.66723527068,384.42070010042,412.69311132744,523.2511306012],description:"Gamelan Miring (Melog gender) from Serdang wetan"},misca:{frequencies:[261.6255653006,274.70684356563,289.16509849014,305.22982618403,348.83408706747,392.4383479509,412.06026534844,433.74764773521,457.84473927605,523.2511306012],description:"21/20 x 20/19 x 19/18=7/6 7/6 x 8/7=4/3"},miscb:{frequencies:[261.6255653006,269.80136421624,278.50463402967,319.76457981184,348.83408706747,392.4383479509,404.70204632437,417.75695104451,479.64686971777,523.2511306012],description:"33/32 x 32/31x 31/27=11/9 11/9 x 12/11=4/3"},miscc:{frequencies:[261.6255653006,276.00059636107,292.04714266113,310.07474405997,348.83408706747,392.4383479509,414.00089454161,438.0707139917,465.11211608996,523.2511306012],description:"96/91 x 91/86 x 86/54=32/27. 32/27 x 9/8=4/3."},miscd:{frequencies:[261.6255653006,271.68808704293,282.55561052465,294.32876096318,348.83408706747,392.4383479509,407.5321305644,423.83341578697,441.49314144476,523.2511306012],description:"27/26 x 26/25 x 25/24=9/8. 9/8 x 32/27=4/3."},misce:{frequencies:[261.6255653006,280.31310567921,301.87565226992,327.03195662575,348.83408706747,392.4383479509,420.46965851882,452.81347840488,490.54793493862,523.2511306012],description:"15/14 x 14/13 x 13/12=5/4. 5/4 x 16/15= 4/3."},miscf:{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,378.42269266694,392.4383479509,406.97310157871,418.60090448096,504.56359022259,523.2511306012],description:"SupraEnh1"},miscg:{frequencies:[261.6255653006,271.31540105247,279.06726965397,336.37572681506,348.83408706747,392.4383479509,406.97310157871,418.60090448096,504.56359022259,523.2511306012],description:"SupraEnh 2"},misch:{frequencies:[261.6255653006,271.31540105247,279.06726965397,336.37572681506,348.83408706747,392.4383479509,406.97310157871,490.54793493862,504.56359022259,523.2511306012],description:"SupraEnh 3"},misty:{frequencies:[261.6255653006,268.57642185399,270.57706033988,272.59260010205,274.62315370363,276.66883458144,284.01936005382,286.13503371773,288.26646546986,290.41377434565,292.57708030445,300.35025535204,302.58757688062,304.84156607104,307.11234355974,309.40003795144,311.70477168653,319.9861304005,322.36972224007,324.77106769218,327.19030275625,329.62755691287,338.38508739928,340.90573394089,343.44515491415,346.00349213972,348.58088853904,357.84197030948,360.50755209334,363.19298782427,365.89842747751,368.62402219236,378.41760905933,381.23645754858,384.07630597582,386.93730633346,389.81962065329,392.72340320054,403.157261366,406.16039889903,409.18590458221,412.23394976407,415.30469757995,426.33849458487,429.51431022199,432.71378016074,435.93708308397,439.18439906139,450.85263092877,454.21105352848,457.59449053401,461.00313090234,464.43716505707,476.77631130474,480.3278378528,483.9058226648,487.51045723915,491.14194572312,494.80048247871,507.94632001299,511.73003620658,515.54193450341,519.38223078906,523.2511306012],description:"Misty temperament, g=96.787939, p=400, 5-limit"},mistyschism:{frequencies:[261.6255653006,278.75251614148,294.32876096318,310.42486507835,330.74639366397,348.83408706747,372.08969287196,392.4383479509,418.12877421223,440.99519155196,465.63729761752,496.11959049595,523.2511306012],description:"Mistyschism scale 32805/32768 and 67108864/66430125"},mixed9_3:{frequencies:[261.6255653006,273.20871865617,285.30470202322,311.12698372208,349.22823143301,391.99543598175,409.35055662695,427.47405410759,466.16376151809,523.2511306012],description:"A mixture of the hemiolic chromatic and diatonic genera, 75 + 75 + 150 + 200 c"},mixed9_4:{frequencies:[261.6255653006,271.89678302796,282.57123920205,305.19382000629,349.22823143301,391.99543598175,407.38487419079,423.37848741825,457.27406033445,523.2511306012],description:'Mixed enneatonic 4, each "tetrachord" contains 67 + 67 + 133 + 233 cents.'},mixed9_5:{frequencies:[261.6255653006,277.18263097687,293.66476791741,329.62755691287,349.22823143301,391.99543598175,415.30469757995,440,493.88330125613,523.2511306012],description:"A mixture of the intense chromatic genus and the permuted intense diatonic"},mixed9_6:{frequencies:[261.6255653006,277.18263097687,293.66476791741,311.12698372208,349.22823143301,391.99543598175,415.30469757995,440,466.16376151809,523.2511306012],description:"Mixed 9-tonic 6, Mixture of Chromatic and Diatonic"},mixed9_7:{frequencies:[261.6255653006,277.18263097687,311.12698372208,329.62755691287,349.22823143301,391.99543598175,415.30469757995,466.16376151809,493.88330125613,523.2511306012],description:"Mixed 9-tonic 7, Mixture of Chromatic and Diatonic"},mixed9_8:{frequencies:[261.6255653006,293.66476791741,311.12698372208,329.62755691287,349.22823143301,391.99543598175,440,466.16376151809,493.88330125613,523.2511306012],description:"Mixed 9-tonic 8, Mixture of Chromatic and Diatonic"},mixol_chrom:{frequencies:[261.6255653006,274.08392555301,287.78812183066,302.93486508491,311.12229387098,319.76457981184,359.73515228832,411.12588832951,426.35277308246,434.39716502741,442.75095666255,479.64686971777,523.2511306012,548.16785110602,575.57624366132,605.86973016981,622.24458774197,639.52915962369,719.47030457665,822.25177665903,852.70554616492,868.79433005482,885.50191332511,959.29373943553,1046.5022612024],description:"Mixolydian chromatic tonos"},mixol_chrom2:{frequencies:[261.6255653006,271.31540105247,281.75060878526,332.97799220076,366.27579142084,385.55346465352,406.97310157871,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the chromatic genus"},mixol_chrominv:{frequencies:[261.6255653006,279.06726965397,299.00064605783,373.75080757229,411.12588832951,429.81342870813,448.50096908674,523.2511306012],description:"A harmonic form of Schlesinger's Chromatic Mixolydian inverted"},mixol_diat:{frequencies:[261.6255653006,274.08392555301,287.78812183066,319.76457981184,338.57426097725,359.73515228832,383.71749577421,411.12588832951,442.75095666255,460.46099492906,479.64686971777,500.50108144463,523.2511306012,548.16785110602,575.57624366132,639.52915962369,677.14852195449,719.47030457665,767.43499154843,822.25177665903,885.50191332511,920.92198985811,959.29373943553,1001.00216288925,1046.5022612024],description:"Mixolydian diatonic tonos"},mixol_diat2:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,348.83408706747,366.27579142084,406.97310157871,457.84473927605,523.2511306012],description:"Schlesinger's Mixolydian Harmonia, a subharmonic series though 13 from 28"},mixol_diatcon:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"A Mixolydian Diatonic with its own trite synemmenon replacing paramese"},mixol_diatinv:{frequencies:[261.6255653006,299.00064605783,336.37572681506,348.83408706747,411.12588832951,448.50096908674,485.87604984397,523.2511306012],description:"A Mixolydian Diatonic with its own trite synemmenon replacing paramese"},mixol_diatinv2:{frequencies:[261.6255653006,299.00064605783,336.37572681506,348.83408706747,373.75080757229,411.12588832951,448.50096908674,485.87604984397,523.2511306012],description:"Inverted Schlesinger's Mixolydian Harmonia, a harmonic series from 14 from 28"},mixol_enh:{frequencies:[261.6255653006,274.08392555301,287.78812183066,295.1673044417,299.00064605783,302.93486508491,348.83408706747,411.12588832951,418.60090448096,422.44127975143,426.35277308246,469.85815809087,523.2511306012,548.16785110602,575.57624366132,590.33460888341,598.00129211566,605.86973016981,697.66817413493,822.25177665903,837.20180896192,844.88255950285,852.70554616492,939.71631618175,1046.5022612024],description:"Mixolydian Enharmonic Tonos"},mixol_enh2:{frequencies:[261.6255653006,266.38239376061,271.31540105247,332.97799220076,366.27579142084,375.66747838035,385.55346465352,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the enharmonic genus"},mixol_enhinv:{frequencies:[261.6255653006,270.34641747729,279.06726965397,373.75080757229,411.12588832951,420.46965851882,429.81342870813,523.2511306012],description:"A harmonic form of Schlesinger's Mixolydian inverted"},mixol_penta:{frequencies:[261.6255653006,269.32043486826,281.75060878526,332.97799220076,366.27579142084,381.53728273004,406.97310157871,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the pentachromatic genus"},mixol_pis:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,411.12588832951,442.75095666255,479.64686971777,523.2511306012,548.16785110602,575.57624366132,639.52915962369,719.47030457665,822.25177665903,885.50191332511,959.29373943553,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Mixolydian Tonos"},mixol_tri1:{frequencies:[261.6255653006,268.0066766494,274.70684356563,332.97799220076,366.27579142084,378.90599112501,392.4383479509,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the first trichromatic genus"},mixol_tri2:{frequencies:[261.6255653006,268.0066766494,281.75060878526,332.97799220076,366.27579142084,378.90599112501,406.97310157871,523.2511306012],description:"Schlesinger's Mixolydian Harmonia in the second trichromatic genus"},mmmgeo1:{frequencies:[261.6255653006,291.52662303231,317.822348206,348.40303271111,392.9238840789,423.23948674937,463.96335069158,523.2511306012],description:"Scale for MakeMicroMusic in Peppermint 24, maybe a bit like Georgian tunings"},mmmgeo2:{frequencies:[261.6255653006,295.05751399041,323.4477810403,352.62279726972,392.9238840789,430.73079539701,485.77193724523,529.58860866211],description:"Scale for MakeMicroMusic in Peppermint 24, maybe a bit like Georgian tunings"},mmmgeo3a:{frequencies:[261.6255653006,281.81099471089,317.822348206,348.40303271111,392.9238840789,423.23948674937,463.96335069158,523.2511306012],description:'Peppermint 24 scale for MakeMicroMusic, maybe a bit "Georgian-like"?'},mmmgeo4a:{frequencies:[261.6255653006,281.81099471089,317.822348206,348.40303271111,392.9238840789,423.23948674937,477.32335087626,523.2511306012],description:'Peppermint 24 scale for MakeMicroMusic, maybe a bit "Georgian-like"?'},mmmgeo4b:{frequencies:[261.6255653006,295.05751399041,323.4477810403,348.40303271111,392.9238840789,430.73079539701,485.77193724523,523.2511306012],description:'Peppermint 24 scale for MakeMicroMusic, maybe a bit "Georgian-like"?'},mmswap:{frequencies:[261.6255653006,251.16054268858,294.32876096318,282.55561052465,313.95067836072,348.83408706747,353.19451315581,392.4383479509,376.74081403286,418.60090448096,423.83341578697,470.92601754108,523.2511306012],description:"Swapping major and minor in 5-limit JI"},mokhalif:{frequencies:[261.6255653006,293.66476791741,329.62755691287,349.22823143301,391.99543598175,425.01198472693,477.05982293263,523.2511306012],description:"Iranian mode Mokhalif from C"},montvallon:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Montvallon's Monochord, Nouveau sisteme de musique (1742)"},monzismic:{frequencies:[261.6255653006,265.20988799749,268.52946324281,272.20837072565,275.61554447717,279.39153269358,282.88861654172,286.76424730356,290.69297498385,294.33151655947,298.3639173457,302.09847446042,306.23728412706,310.07039048391,314.31841699833,318.25267316085,322.61279858837,327.03265671938,331.12605620426,335.66254762155,339.86396564906,344.52016812641,348.83245514045,353.61152766937,358.03760933268,362.94279426564,367.48567344471,372.52029869489,377.62390147213,382.35053879638,387.58881783384,392.44018387738,397.81669307529,402.79607923799,408.31446627855,413.42525081527,419.08925963743,424.33490995001,430.14838328955,436.04150237937,441.49934027584,447.54796975207,453.14983163098,459.35807517454,465.10776160818,471.47983118983,477.38124304179,483.92146177974,489.97860285142,496.69140794435,503.49617981289,509.7983334288,516.78267280423,523.2511306012],description:"Monzismic temperament, g=249.018448, 5-limit"},sevengroups:{frequencies:[261.6255653006,261.6255653006,275.62199471997,265.19499215873,270.69536599394,266.7406479561],description:"Here are some suggestions for a logical system encompassing intervals into seven broad groups: skhisma, kleisma, comma,"},"monzo-sym-11":{frequencies:[261.6255653006,269.80136421624,276.76092858245,279.06726965397,285.40970760065,286.15296204753,287.78812183066,294.32876096318,299.00064605783,304.4370214407,305.22982618403,313.95067836072,314.76825825228,327.03195662575,332.97799220076,334.88072358477,341.71502406609,343.38355445704,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,398.6675280771,400.61414686654,408.78994578219,411.12588832951,418.60090448096,434.91003062957,436.04260883433,448.50096908674,449.66894036041,457.84473927605,465.11211608996,475.68284600109,478.40103369253,479.64686971777,490.54793493862,494.63583439645,507.3950357345,523.2511306012],description:"Monzo symmetrical system: 11-limit"},"monzo-sym-5":{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,334.88072358477,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Monzo symmetrical system: 5-limit"},"monzo-sym-7":{frequencies:[261.6255653006,279.06726965397,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,334.88072358477,341.71502406609,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,398.6675280771,400.61414686654,408.78994578219,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,478.40103369253,490.54793493862,523.2511306012],description:"Monzo symmetrical system: 7-limit"},monzo_sumerian_2place12:{frequencies:[261.6255653006,277.17835052447,293.68632213351,311.15032543183,329.66469551353,349.22211163595,369.93402791915,391.94841243536,415.27867508032,439.91220695103,466.03267445926,493.6331420766,523.2511306012],description:"Monzo - most accurate 2-place sexagesimal 12-tET approximation"},monzo_sumerian_simp12:{frequencies:[261.6255653006,277.34158865788,293.41184893525,310.84225580269,329.78012432849,348.83408706747,370.22485655745,392.4383479509,415.27867508032,440.11777340288,466.26338370404,493.6331420766,523.2511306012],description:"Monzo - simplified 2-place sexagesimal 12-tET approximation"},morgan:{frequencies:[261.6255653006,277.18263097687,294.07958763262,310.86358783941,330.18637907377,349.03110370139,370.30791823326,392.32757291716,415.07027187895,440.74593809176,465.76911360306,494.58094207912,523.2511306012],description:"Augustus de Morgan's temperament (1843)"},"mos11-34":{frequencies:[261.6255653006,272.51337835337,301.75671459889,314.3146261019,348.04364484358,362.52783176564,377.61479489998,418.13653788176,435.53771116377,453.66305442345,502.34551296122,523.2511306012],description:"Wilson 11 of 34-tET, G=9, Chain of minor & major thirds with Kleismatic fusion"},"mos12-17":{frequencies:[261.6255653006,272.51337835337,283.85429714132,307.97166902637,320.78822215662,348.04364484358,362.52783176564,377.61479489998,409.69842558521,426.7484383229,463.0066556268,482.27514684959,523.2511306012],description:"MOS 12 of 17, generator 7"},"mos12-22":{frequencies:[261.6255653006,287.56082683758,296.76515515861,326.18384711731,336.62443200122,347.39920007397,381.83730669135,394.05926325844,433.12283887627,446.9863572706,491.29666030217,507.02222283506,523.2511306012],description:"MOS 12 of 22, contains nearly just, recognizable diatonic, and pentatonic scales"},"mos13-22":{frequencies:[261.6255653006,278.64197723942,296.76515515861,316.06708432391,326.18384711731,347.39920007397,369.99442271164,381.83730669135,406.67242132093,433.12283887627,446.9863572706,476.05883716226,507.02222283506,523.2511306012],description:"MOS 13 of 22, contains 5 and 9 tone MOS as well. G=5 or 17"},"mos15-22":{frequencies:[261.6255653006,278.64197723942,287.56082683758,306.26409645618,316.06708432391,336.62443200122,347.39920007397,369.99442271164,381.83730669135,406.67242132093,419.68930726506,446.9863572706,461.29362042034,491.29666030217,507.02222283506,523.2511306012],description:"MOS 15 in 22, contains 7 and 8 tone MOS as well. G= 3 or 19"},moscow:{frequencies:[261.6255653006,277.4816141504,293.64820765919,311.48626315692,329.67368081467,349.7414907984,370.88289054572,392.4383479509,416.22242101754,440.4723112686,467.22939450183,494.51052097482,523.2511306012],description:"Charles E. Moscow's equal beating piano tuning (1895)"},mundeuc45:{frequencies:[261.6255653006,267.57160087561,269.80136421624,271.31540105247,274.70684356563,280.31310567921,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,488.36772189445,499.46698830115,504.56359022259,507.3950357345,513.90736041189,523.2511306012],description:"Euclidean reduced detempered Miracle[45] with Tenney tie-breaker"},musaqa:{frequencies:[261.6255653006,293.66476791741,320.24370022528,349.22823143301,391.99543598175,427.47405410759,466.16376151809,523.2511306012],description:"Egyptian scale by Miha'il Musaqa"},musaqa_24:{frequencies:[261.6255653006,269.02051582234,276.67624041581,284.6011815168,292.80374147632,300.29158209195,310.07474405997,319.15917884888,328.55303549378,338.26335715633,348.29659232622,358.65845048745,369.35373924791,380.38618160659,391.75821216589,403.47075130695,415.52295665389,427.91195157543,440.63253103259,453.67684579974,467.03406698289,480.69003385373,494.62688932105,508.8227088795,523.2511306012],description:"from d'Erlanger vol.5, p.34, after Mih.a'il Mu^saqah, 1899, a Lebanese scholar"},myna23:{frequencies:[261.6255653006,267.85369360167,274.23008563259,291.58574485564,298.52709031489,305.63367799752,312.90944157785,320.35840837329,327.98470157359,348.7424193045,357.04440817535,365.54403007102,374.24598974517,383.15510395049,392.27630410488,417.10295228105,427.03229805648,437.19801690717,447.60573581317,458.26121570764,469.17035466565,498.86352554567,510.73922293119,522.89762727195],description:"23 notes of Myna temperament, 7-limit TOP tuning (Paul Erlich)"},"mystic-r":{frequencies:[261.6255653006,367.91095120397,465.11211608996,654.0639132515,872.08521766867,1177.3150438527],description:"Skriabin's mystic chord, op. 60 rationalised"},mystic:{frequencies:[261.6255653006,369.99442271164,466.16376151809,659.25511382574,880,1174.65907166964],description:"Skriabin's mystic chord, op. 60"},urmawi:{frequencies:[261.6255653006,294.32876096318,326.6631048533,348.83408706747,392.4383479509,441.49314144476,471.45776383774,523.2511306012],description:"al-Urmawi, one of twelve maqam rows. First tetrachord is Rast"},valentine:{frequencies:[261.6255653006,276.16031892841,294.32876096318,310.68035879446,330.47439827444,348.83408706747,371.78369805875,392.4383479509,414.24047839262,440.63253103259,466.02053819169,495.71159741166,523.2511306012],description:"Robert Valentine, tuning with primes 3 & 19, TL 7-2-2002"},valentine2:{frequencies:[261.6255653006,286.10322937235,312.87102146627,349.87955533643,382.6142546815,418.41160951721,467.90420651233,511.68128147674,559.55413558945,625.74204293254,684.28641150324,748.30818586768,782.53142116911,855.74498969389,935.80841302466,1046.5022612024],description:"Robert Valentine, two octave 31-tET subset for guitar, TL 10-5-2002"},vallotti:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.77584116741,328.14198392915,349.6228209638,368.32692341742,391.5530240856,414.36778843034,438.51190905657,466.16376151809,491.10256480205,523.2511306012],description:"Vallotti & Young scale (Vallotti version)"},vavoom:{frequencies:[164.81377845643,165.83014536684,167.75567809608,168.79018601865,170.75008918846,172.7327497266,173.79795102719,175.81600173949,176.90021569146,178.95428827501,180.05785630665,182.14859375797,184.26360775673,185.39991601304,187.55268266167,188.70927492235,190.90046811205,192.07770535997,194.30800987601,196.56421264146,197.77637683895,200.07285246365,201.3066535986,203.64411977036,206.00872855044,207.27913480479,209.68595147418,210.9790342774,213.42881100738,214.74497512464,217.23848121866,219.76094059848,221.11615343515,223.68363702025,225.06304018178,227.6763542391,229.0803795269,231.74034082302,234.43118684139,235.87686755635,238.61574610914,240.08723199411,242.87499909192,244.37274935352,247.21027763268,250.08075380295,251.62294163139,254.54465534315,256.1143694988,259.0882353168,260.68597011615,263.71291896434,266.77501515601,268.42015092639,271.53690502834,273.21140777811,276.38379544331,278.08818779989,281.31720045362,284.58370833477,286.33866758091,289.66348210637,291.44976709494,294.83392732599,296.65209720599,300.09666587055,303.58123106099,305.45334345815,309.00010579622,310.90563508986,314.51570836542,316.45525105281,320.12976356015,323.84694071013,325.84402686189,329.62755691286],description:"Vavoom temperament, g=111.875426, 5-limit"},veroli:{frequencies:[261.6255653006,276.87699530057,293.57148765354,310.97965314221,329.42008585855,349.28270065725,369.64409253099,391.93430587921,414.97617910427,439.79164309579,466.09106516521,493.49262474744,523.2511306012],description:"Claudio di Veroli's well temperament (1978)"},vertex_chrom:{frequencies:[261.6255653006,271.89678302796,317.17549194805,349.22823143301,391.99543598175,407.38487419079,448.5538823653,523.2511306012],description:"A vertex tetrachord from Chapter 5, 66.7 + 266.7 + 166.7 cents"},vertex_chrom2:{frequencies:[261.6255653006,274.52698453615,323.3415889232,349.22823143301,391.99543598175,411.32572372413,484.46499093218,523.2511306012],description:"A vertex tetrachord from Chapter 5, 83.3 + 283.3 + 133.3 cents"},vertex_chrom3:{frequencies:[261.6255653006,275.18850165466,324.90175210669,349.22823143301,391.99543598175,412.31687950427,486.80259447109,523.2511306012],description:"A vertex tetrachord from Chapter 5, 87.5 + 287.5 + 125 cents"},vertex_chrom4:{frequencies:[261.6255653006,275.40936140075,325.42347822215,349.22823143301,391.99543598175,412.64779522483,487.58430040208,523.2511306012],description:"A vertex tetrachord from Chapter 5, 88.9 + 288.9 + 122.2 cents"},vertex_chrom5:{frequencies:[261.6255653006,282.57123920205,329.62755691287,349.22823143301,391.99543598175,423.37848741825,493.88330125613,523.2511306012],description:"A vertex tetrachord from Chapter 5, 133.3 + 266.7 + 100 cents"},vertex_diat:{frequencies:[261.6255653006,299.37379946195,323.3415889232,349.22823143301,391.99543598175,448.5538823653,484.46499932732,523.2511306012],description:"A vertex tetrachord from Chapter 5, 233.3 + 133.3 + 133.3 cents"},vertex_diat10:{frequencies:[261.6255653006,295.79278388132,324.90175210669,349.22823143301,391.99543598175,443.18842137843,486.80259447109,523.2511306012],description:"A vertex tetrachord from Chapter 5, 212.5 + 162.5 + 125 cents"},vertex_diat11:{frequencies:[261.6255653006,295.79278388132,306.66641795878,349.22823143301,391.99543598175,443.18842137843,459.48046426806,523.2511306012],description:"A vertex tetrachord from Chapter 5, 212.5 + 62.5 + 225 cents"},vertex_diat12:{frequencies:[261.6255653006,293.66476791741,315.65242990842,349.22823143301,391.99543598175,440,472.94426956511,523.2511306012],description:"A vertex tetrachord from Chapter 5, 200 + 125 + 175 cents"},vertex_diat2:{frequencies:[261.6255653006,299.37379946195,329.62755691287,349.22823143301,391.99543598175,448.5538823653,493.88330125613,523.2511306012],description:"A vertex tetrachord from Chapter 5, 233.3 + 166.7 + 100 cents"},vertex_diat3:{frequencies:[261.6255653006,273.20871865617,311.12698372208,349.22823143301,391.99543598175,409.35055662695,466.16376151809,523.2511306012],description:"A vertex tetrachord from Chapter 5, 75 + 225 + 200 cents"},vertex_diat4:{frequencies:[261.6255653006,297.93622032612,329.62755691287,349.22823143301,391.99543598175,446.39994737251,493.88330125613,523.2511306012],description:"A vertex tetrachord from Chapter 5, 225 + 175 + 100 cents"},vertex_diat5:{frequencies:[261.6255653006,275.18850165466,315.65242990842,349.22823143301,391.99543598175,412.31687950427,472.94426956511,523.2511306012],description:"A vertex tetrachord from Chapter 5, 87.5 + 237.5 + 175 cents"},vertex_diat7:{frequencies:[261.6255653006,293.66476791741,306.66641795878,349.22823143301,391.99543598175,440,459.48046426806,523.2511306012],description:"A vertex tetrachord from Chapter 5, 200 + 75 + 225 cents"},vertex_diat8:{frequencies:[261.6255653006,277.18263097687,306.66641795878,349.22823143301,391.99543598175,415.30469757995,459.48046426806,523.2511306012],description:"A vertex tetrachord from Chapter 5, 100 + 175 + 225 cents"},vertex_diat9:{frequencies:[261.6255653006,295.79278388132,320.24370022528,349.22823143301,391.99543598175,443.18842137843,479.82340237272,523.2511306012],description:"A vertex tetrachord from Chapter 5, 212.5 + 137.5 + 150 cents"},vertex_sdiat:{frequencies:[261.6255653006,275.18850165466,306.66641795878,349.22823143301,391.99543598175,412.31687950427,459.48046426806,523.2511306012],description:"A vertex tetrachord from Chapter 5, 87.5 + 187.5 + 225 cents"},vertex_sdiat2:{frequencies:[261.6255653006,273.20871865617,302.26980244078,349.22823143301,391.99543598175,409.35055662695,452.89298412314,523.2511306012],description:"A vertex tetrachord from Chapter 5, 75 + 175 + 250 cents"},vertex_sdiat3:{frequencies:[261.6255653006,265.43099677612,302.26980244078,349.22823143301,391.99543598175,397.69714089209,452.89298412314,523.2511306012],description:"A vertex tetrachord from Chapter 5, 25 + 225 + 250 cents"},vertex_sdiat4:{frequencies:[261.6255653006,271.8968348557,302.26980244078,349.22823143301,391.99543598175,407.38495184466,452.89298412314,523.2511306012],description:"A vertex tetrachord from Chapter 5, 66.7 + 183.3 + 250 cents"},vertex_sdiat5:{frequencies:[261.6255653006,299.37374239667,302.26980244078,349.22823143301,391.99543598175,448.55379686399,452.89298412314,523.2511306012],description:"A vertex tetrachord from Chapter 5, 233.33 + 16.67 + 250 cents"},vicentino1:{frequencies:[261.6255653006,267.54129532085,273.59078691818,279.77706779472,286.10322937235,292.57243455474,295.8616864168,299.18791603519,305.95298478736,312.87102146627,319.94548489658,327.17991022208,330.85823737058,334.57791819083,342.14320575162,349.87955533643,357.79083283678,365.88099775759,374.15409293384,382.6142546815,391.26571058456,395.66452371628,400.11279059885,409.15991580663,418.41160951721,427.87249484695,437.54730686196,442.46644183113,447.44088028055,457.55816161244,467.90420651233,478.48419305869,489.30340830564,494.80441235385,500.36726155789,511.68128147674,523.2511306012],description:"Usual Archicembalo tuning, 31-tET plus D,E,G,A,B a 10th tone higher"},vicentino2:{frequencies:[261.6255653006,262.40966637115,273.59078691818,274.41074818102,279.77706779472,280.61556956011,292.57243455474,293.44928279173,305.95298478736,306.86993670158,312.87102146627,313.80870698104,327.17991022208,328.16047998243,342.14320575162,343.16862103779,349.87955533643,350.92815470883,365.88099775759,366.97755604579,374.15409293384,391.26571058456,392.4383479509,409.15991580663,410.38618254261,418.41160951721,419.66560148231,437.54730686196,438.85865161274,457.55816161244,458.92947695163,467.90420651233,469.30653196482,489.30340830564,490.7698679226,511.68128147674,523.2511306012],description:"Alternative Archicembalo tuning, lower 3 rows the same upper 3 rows 3/2 higher"},vicentino2q217:{frequencies:[261.6255653006,262.46259217279,273.59078691818,274.46609608433,279.77706779472,280.67216895906,292.57243455474,293.50847071582,305.95298478736,306.93183153514,312.87102146627,313.87199953275,327.17991022208,328.2266690608,342.14320575162,343.23783523487,349.87955533643,350.99893596542,365.88099775759,367.05157442308,374.15409293384,391.26571058456,392.51750150462,409.15991580663,410.46895395112,418.41160951721,419.7502468954,437.54730686196,438.9471656765,457.55816161244,459.02204178186,467.90420651233,469.40118981889,489.30340830564,490.86885203792,511.68128147674,523.2511306012],description:"Vicentino's second tuning, 217-tET version"},vicentino36:{frequencies:[261.6255653006,262.43934012943,273.37431312998,274.22463192287,279.93529690293,280.80602334765,292.50627485027,293.41610276971,305.64177427204,306.59245933664,312.97717714283,313.95067836072,327.03195662575,328.04917632434,341.71789064962,349.91912034749,351.00752840096,365.63284274659,366.77012764335,374.40803131735,375.5726110527,391.22147055517,392.4383479509,408.78994578219,410.06146948999,418.60090448096,419.90294514449,437.39889945791,438.75941205608,457.04105505291,458.46266117889,468.01003810189,469.46576276783,489.02683710225,490.54793493862,510.98743222773,523.2511306012],description:"Vicentino's second tuning of 1555"},victor_eb:{frequencies:[261.6255653006,276.45300885359,293.16631378471,311.00963644582,328.52867116285,348.83408706747,368.60401198904,391.83966133014,414.6795130731,439.03603741286,465.77732204887,492.79300649794,523.2511306012],description:"Equal beating Victorian piano temperament, interpr. by Bill Bremmer (improved)"},victorian:{frequencies:[261.6255653006,276.5429423948,293.32570896007,310.76776326996,328.29744538229,349.22823143301,368.92737853004,391.99543598175,414.58565256441,438.73106346722,465.89457252293,492.17459484008,523.2511306012],description:"Form of Victorian temperament (1885)"},vitale1:{frequencies:[261.6255653006,280.31310567921,294.32876096318,305.22982618403,327.03195662575,336.37572681506,343.38355445704,348.83408706747,373.75080757229,392.4383479509,420.46965851882,441.49314144476,457.84473927605,490.54793493862,504.56359022259,515.07533168556,523.2511306012],description:"Rami Vitale's 7-limit just scale"},vitale2:{frequencies:[261.6255653006,274.70684356563,294.32876096318,299.00064605783,305.22982618403,313.95067836072,336.37572681506,348.83408706747,366.27579142084,392.4383479509,412.06026534844,441.49314144476,448.50096908674,457.84473927605,470.92601754108,504.56359022259,523.2511306012],description:"Rami Vitale, inverse mode of vitale1"},vitale3:{frequencies:[261.6255653006,274.70684356563,280.31310567921,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,412.06026534844,420.46965851882,441.49314144476,448.50096908674,457.84473927605,470.92601754108,490.54793493862,504.56359022259,515.07533168556,523.2511306012],description:"Superset of several Byzantine scales by Rami Vitale, TL 29-Aug-2001"},vogel_21:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,305.22982618403,310.07474405997,313.95067836072,321.55899383997,330.74639366397,348.83408706747,361.75386806997,372.08969287196,392.4383479509,406.97310157871,413.43299207996,418.60090448096,428.74532511996,440.99519155196,465.11211608996,482.33849075995,496.11959049595,523.2511306012],description:"Martin Vogel's 21-tone Archytas system, see Divisions of the tetrachord"},vogelh_b:{frequencies:[261.6255653006,276.37000081643,292.73769384471,310.07474405997,327.54963108844,349.78078158391,367.49599295996,391.37619916626,413.43299207996,437.91808280662,465.11211608996,489.99465727995,523.2511306012],description:"Harald Vogel's temperament, van Eeken organ in Bunschoten, Immanuelkerk, 1992"},vogelh_fisk:{frequencies:[261.6255653006,274.01856817608,292.73769384471,312.85332572834,327.54963108844,349.78078158391,366.49445363528,391.37619916626,409.75340805561,437.91808280662,467.82492621575,489.99465727995,523.2511306012],description:"Modified meantone tuning of Fisk organ in Memorial Church at Stanford"},vogelh_hb:{frequencies:[261.6255653006,276.50527247638,293.79744652436,312.85332572834,329.92547760025,349.78078158391,369.82037393809,392.08397832814,413.47189899094,440.29822362186,467.82492621575,494.44133512215,523.2511306012],description:"Harald Vogel hybrid meantone (1984)"},vogelh_jakobi:{frequencies:[261.6255653006,275.2485073924,292.86986732103,310.4251397446,327.84547867349,349.70184487387,366.99801003998,391.46454285105,412.87276088221,438.2147004401,466.26912673157,490.54793493862,523.2511306012],description:"Harald Vogel's temperament for the Schnitger organ in St. Jakobi, Hamburg"},volans:{frequencies:[261.6255653006,288.78654445823,322.09885310804,352.06379107796,388.6137256405,429.95038611107,482.60299106564,523.2511306012],description:"African scale according to Kevin Volans 1/1=G"},vong:{frequencies:[261.6255653006,287.78812183066,324.77656382143,353.19451315581,392.4383479509,431.68218274599,476.53227965466,523.2511306012],description:"Vong Co Dan Tranh scale, Vietnam"},"vries19-72":{frequencies:[261.6255653006,271.89678302796,282.57123920205,293.66476791741,305.19382000629,314.13668154225,326.46944327063,339.28638158975,352.60650301302,366.44956000397,377.18735172911,391.99543598175,407.38487419079,423.37848741825,452.89298412314,470.6732130613,489.15147723638,508.3551866238,523.2511306012],description:"Leo de Vries 19/72 Through-Transposing-Tonality 18 tone scale"},"vries35-72":{frequencies:[261.6255653006,320.24370022528,326.46944327063,332.81622067851,339.28638158975,345.88232658126,352.60650301302,359.46139971304,366.44956000397,448.5538823653,457.27406033445,466.16376151809,475.22628419761,484.46499093218,493.88330125613,503.48470957687,513.27277840175,523.2511306012],description:"Leo de Vries 35/72 Through-Transposing-Tonality 17 tone scale"},"vries5-72":{frequencies:[261.6255653006,269.29177952703,274.52698453615,282.57123920205,288.06460709314,296.5055443788,302.26980244078,317.17549194805,332.81622067851,349.22823143301,366.44956000397,384.52011812375,403.48177901006,423.37848741825,444.25635547592,466.16376151809,489.15147723638,513.27277840175,523.2511306012],description:"Leo de Vries 5/72 Through-Transposing-Tonality 18 tone scale"},"vries6-31":{frequencies:[261.6255653006,292.57243455474,299.18791603519,334.57791819083,342.14320575162,382.6142546815,391.26571058456,437.54730686196,447.44088028055,500.36726155789,511.68128147674,523.2511306012],description:'Leo de Vries 6/31 TTT used in "For 31-tone organ" (1995)'},vulture:{frequencies:[261.6255653006,265.58852967049,269.02996542365,272.51599294435,276.04719319079,279.62414831161,283.24745441839,286.9177088442,290.63552324927,294.40151054717,298.21629835234,302.73351960911,306.6562716924,310.62985211059,314.65492307423,318.73214815075,322.86220682342,327.0457799678,331.28356479042,335.57625992643,339.9245807679,344.32924417279,349.54496173019,354.07428378691,358.66229781376,363.30976018416,368.01744541334,372.78612960355,377.61660747204,382.50967536449,387.46614872711,392.486844677,398.43202813578,403.59481739244,408.82450722915,414.12195980508,419.48805795853,424.92368633675,430.42975080549,436.00715908665,441.65684067409,447.37972696622,453.17677170128,460.0412514682,466.0023613576,472.04071122634,478.15730738573,484.35315820906,490.6292962557,496.98675620078,503.42659462849,509.94988192555,516.55769649554,523.2511306012],description:"Vulture temperament, g=475.542233, 5-limit"},walker_21:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,327.03195662575,336.37572681506,348.83408706747,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:'Douglas Walker, 1977, for "out of the fathomless dark/into the limitless light'},walkerr_11:{frequencies:[261.6255653006,291.47537246454,299.00064605783,333.11471138804,341.71502406609,380.70252730062,390.53145607553,435.08860262928,484.72943438718,497.2441172906,510.08190181294,523.2511306012],description:'Robert Walker, "Seven to Pi" scale, TL 09-07-2002'},wauchope:{frequencies:[261.6255653006,274.70684356563,305.22982618403,327.03195662575,366.27579142084,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Symmetrical 7-limit JI whole-half step scale, Ken Wauchope"},wendell1:{frequencies:[261.6255653006,276.25045813601,293.35468319005,310.78176509232,328.42642049784,348.83408706747,369.47972269069,391.8804287311,414.37568699689,438.92294511207,466.17264740545,492.63963050051,523.2511306012],description:"Robert Wendell's Natural Synchronous well-temperament (2003)"},wendell1r:{frequencies:[261.6255653006,276.25560153172,293.36810129327,310.78755172318,328.43721515437,348.83408706747,369.49186704867,391.89926583958,414.38340229758,438.93945576706,466.18132758477,492.65582273156,523.2511306012],description:"Rational version of wendell1 by Gene Ward Smith"},wendell2:{frequencies:[261.6255653006,276.37223575148,293.46077701205,310.91876490958,328.50868755512,348.91469434159,369.57235851938,392.00856887742,414.55835341999,438.92345217603,466.37814713124,492.76314493882,523.2511306012],description:"Robert Wendell's Very Mild Synchronous well-temperament (2003)"},werck1:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,363.36884069528,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"Werckmeister I (just intonation)"},werck3:{frequencies:[261.6255653006,275.62199471997,292.34127285051,310.07474405997,327.77163799145,348.83408706747,367.49599295996,391.11111150212,413.43299207996,437.02884834934,465.11211608996,491.65745674141,523.2511306012],description:"Andreas Werckmeister's temperament III (the most famous one, 1681)"},werck3_eb:{frequencies:[261.6255653006,275.62199471997,292.52927773082,310.07474405997,328.06371231954,348.83408706747,367.49599295996,391.41011079897,413.43299207996,437.41828331138,465.11211608996,492.10978071589,523.2511306012],description:"Werckmeister III equal beating version, 5/4 beats twice 3/2"},werck3_mod:{frequencies:[261.6255653006,275.62199471997,292.34127285051,310.07474405997,327.77163799145,348.83408706747,367.49599295996,391.11111150212,413.43299207996,437.02884834934,465.11211608996,490.82535372381,523.2511306012],description:"Modified Werckmeister III with B between E and F#, Nijsse (1997), organ Soest"},werck4:{frequencies:[261.6255653006,274.37997440822,293.00227310437,310.07474405997,328.14198392915,348.83408706747,367.49599295996,390.66969766777,411.5699614066,437.52264545758,467.21778431035,489.99465727995,523.2511306012],description:"Andreas Werckmeister's temperament IV"},werck5:{frequencies:[261.6255653006,276.55731914056,294.32876096318,311.12698372208,328.88393162803,350.01785633742,369.99442271164,392.4383479509,413.43299207996,440,466.69047534984,493.32589719545,523.2511306012],description:"Andreas Werckmeister's temperament V"},werck6:{frequencies:[261.6255653006,275.69145590816,291.35574317567,310.77945938738,328.70904358281,348.83408706747,368.91086905696,391.43977709097,413.53718386224,438.27872477707,466.16918908107,493.06356537421,523.2511306012],description:`Andreas Werckmeister's "septenarius" tuning VI`},werck6_dup:{frequencies:[261.6255653006,275.62199471997,291.49363009634,310.67551062492,328.56569462012,348.83408706747,368.92162485303,391.67947347082,413.43299207996,438.08759304581,466.01326570444,492.84854168382,523.2511306012],description:"Andreas Werckmeister's VI in the interpretation by Dupont (1935)"},werck_cl5:{frequencies:[261.6255653006,274.56549986328,292.86986732103,309.97737261399,327.84547867349,349.70184487387,366.99801003998,391.46454285105,412.14811800305,438.2147004401,466.26912673157,490.54793493862,523.2511306012],description:"Werckmeister Clavier temperament (Nothw. Anm.) Poletti reconstr. 1/5-comma"},werck_cl6:{frequencies:[261.6255653006,275.36250599118,293.11251278827,310.35057963607,328.38895179964,349.55706816887,367.91095120397,391.62667645325,413.31226430431,438.75941205608,466.0760911248,491.56462836305,523.2511306012],description:"Werckmeister Clavier temperament (Nothw. Anm.) Poletti reconstr. 1/6-comma"},werck_puzzle:{frequencies:[261.6255653006,272.52663052146,291.60349465796,306.59245933664,327.03195662575,347.47145391486,365.18568489875,389.71308164569,408.78994578219,436.04260883433,461.93263873387,490.54793493862,523.2511306012],description:"From Hypomnemata Musica, 1697, p. 49, 1/1=192, fifths tempered superparticular"},white:{frequencies:[261.6255653006,275.93321340298,289.72987407313,294.32876096318,305.22982618403,310.42486507835,327.03195662575,331.11985608357,343.38355445704,348.83408706747,367.91095120397,386.30649876417,392.4383479509,406.97310157871,413.89982010446,436.04260883433,441.49314144476,457.84473927605,465.11211608996,490.54793493862,496.67978412536,515.07533168556,523.2511306012],description:"Justin White's 22-tone scale based on Al-Farabi's tetrachord"},wicks:{frequencies:[261.6255653006,276.65728054629,293.45376109391,310.36444075595,329.26048109616,348.28499607284,369.54304125029,391.93835601961,414.48592121967,439.68064187634,465.04666232412,493.39072329352,523.2511306012],description:"Mark Wicks' equal beating temperament for organs (1887)"},wier_cl:{frequencies:[261.6255653006,276.16031892841,290.69507255622,305.22982618403,319.76457981184,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"Danny Wier, ClownTone (2003)"},wiesse:{frequencies:[261.6255653006,277.49581689502,294.32876096318,312.18279369479,331.11985608357,348.83408706747,369.99442271164,392.4383479509,416.24372513446,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"Von Wiesse's 1/2 Pyth. comma tuning"},wilson1:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,459.88868900496,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Wilson's 19-tone Scott scale (1976)"},wilson11:{frequencies:[261.6255653006,271.31540105247,277.4816601673,291.35574317567,305.22982618403,312.16686768822,325.57848126297,332.97799220076,348.83408706747,366.27579142084,374.60024122586,392.4383479509,406.97310157871,416.22249025095,437.0336147635,457.84473927605,468.25030153232,488.36772189445,499.46698830115,523.2511306012],description:"Wilson 11-limit 19-tone scale, 1977"},wilson1t:{frequencies:[261.6255653006,273.34666024156,279.64601698606,292.92954243175,306.05308604033,313.10617410217,327.13365148064,334.67254769546,349.66622272551,366.27579142084,374.71672979763,391.50442319155,409.04422481132,418.47077311482,437.21869500104,457.98711402938,468.54156606881,489.53271107931,500.81414097667,523.2511306012],description:"Wilson's Scott scale, wilson1, in minimax minerva tempering"},wilson2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,361.75386806997,372.08969287196,392.4383479509,406.97310157871,418.60090448096,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Wilson 19-tone, 1975"},wilson3:{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,412.06026534844,429.2294430713,441.49314144476,457.84473927605,470.92601754108,490.54793493862,515.07533168556,523.2511306012],description:"Wilson 19-tone"},wilson5:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Wilson's 22-tone 5-limit scale"},wilson7:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,353.19451315581,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Wilson's 22-tone 7-limit 'marimba' scale"},wilson7_2:{frequencies:[261.6255653006,263.718569823,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,329.64821227876,343.38355445704,353.19451315581,366.27579142084,376.74081403286,392.4383479509,408.78994578219,412.06026534844,436.04260883433,439.53094970501,457.84473927605,470.92601754108,490.54793493862,494.47231841813,523.2511306012],description:"Wilson 7-limit scale"},wilson7_3:{frequencies:[261.6255653006,267.90457886781,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,372.08969287196,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Wilson 7-limit scale"},wilson7_4:{frequencies:[261.6255653006,271.31540105247,279.06726965397,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,361.75386806997,372.08969287196,387.59343007496,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Wilson 7-limit 22-tone scale XH 3, 1975"},wilson_17:{frequencies:[261.6255653006,275.93321340298,290.69507255622,294.32876096318,310.42486507835,327.03195662575,331.11985608357,348.83408706747,367.91095120397,372.50983809402,392.4383479509,413.89982010446,436.04260883433,441.49314144476,465.11211608996,490.54793493862,496.67978412536,523.2511306012],description:"Wilson's 17-tone 5-limit scale"},wilson_31:{frequencies:[261.6255653006,265.7783520514,271.31540105247,279.06726965397,285.40970760065,294.32876096318,299.00064605783,305.22982618403,313.95067836072,321.08592105074,327.03195662575,332.22294006425,339.14425131559,348.83408706747,354.37113606854,361.75386806997,372.08969287196,380.54627680087,392.4383479509,398.6675280771,406.97310157871,418.60090448096,428.11456140098,441.49314144476,448.50096908674,457.84473927605,470.92601754108,481.6288815761,490.54793493862,498.33441009638,508.71637697339,523.2511306012],description:"Wilson 11-limit 31-tone scale XH 3, 1975"},wilson_41:{frequencies:[261.6255653006,265.7783520514,271.31540105247,275.62199471997,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,321.08592105074,327.03195662575,331.11985608357,336.37572681506,343.38355445704,348.83408706747,354.37113606854,361.75386806997,367.49599295996,372.08969287196,380.54627680087,387.59343007496,392.4383479509,398.6675280771,406.97310157871,413.43299207996,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,481.6288815761,490.54793493862,496.67978412536,504.56359022259,515.07533168556,523.2511306012],description:"Wilson 11-limit 41-tone scale XH 3, 1975"},wilson_alessandro:{frequencies:[261.6255653006,265.58571790036,269.80136421624,270.50397193556,275.93321340298,278.232656848,284.55612632182,286.15296204753,288.53757006459,294.32876096318,295.09524211152,303.52653474327,304.3169684275,305.22982618403,309.14739649778,314.76825825228,321.92208230347,324.60476632267,327.03195662575,331.98214737546,337.2517052703,340.06213614756,343.38355445704,347.79082106,351.18772614924,354.11429053382,359.73515228832,365.180362113,367.91095120397,370.97687579734,379.40816842909,386.30649876417,391.2646736925,392.4383479509,393.46032281536,404.70204632437,405.75595790334,413.89982010446,417.348985272,419.69101100305,429.2294430713,432.80635509689,441.49314144476,442.64286316727,449.66894036041,456.47545264125,457.84473927605,463.72109474667,472.15238737843,482.88312345521,486.907149484,490.54793493862,494.63583439645,505.87755790546,515.07533168556,521.68623159,523.2511306012],description:"D'Alessandro, genus [3 3 3 5 7 11 11] plus 8 pigtails, XH 12, 1989"},wilson_bag:{frequencies:[261.6255653006,294.32876096318,318.85615771011,349.51540364377,392.4383479509,425.14154361347,466.02053819169,523.2511306012],description:"Erv's bagpipe, mar '97, after Theodore Podnos (37-39)."},wilson_class:{frequencies:[261.6255653006,272.52663052146,293.02063313667,305.22982618403,327.03195662575,348.83408706747,366.27579142084,381.53728273004,418.60090448096,436.04260883433,457.84473927605,488.36772189445,523.2511306012],description:"Class Scale, Erv Wilson, 9 july 1967"},wilson_dia1:{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,303.82323712328,313.95067836072,324.77656382143,336.37572681506,348.83408706747,362.25078272391,371.78369805875,381.83190611439,392.4383479509,403.65087217807,415.52295665389,428.11456140098,441.49314144476,455.73485568492,470.92601754108,487.16484573215,504.56359022259,523.2511306012],description:"Wilson Diaphonic cycles, tetrachordal form"},wilson_dia2:{frequencies:[261.6255653006,268.51044859798,275.76748774928,283.42769574232,291.52562990638,300.09991313892,309.19384990071,318.85615771011,329.14184021688,340.11323489078,351.84127747322,364.40703738298,377.90359432309,388.70083987518,400.13321751856,412.25846653428,425.14154361347,438.85578695585,453.48431318771,469.12170329763,485.87604984397,503.87145909745,523.2511306012],description:"Wilson Diaphonic cycle, conjunctive form"},wilson_dia3:{frequencies:[261.6255653006,268.51044859798,275.76748774928,283.42769574232,291.52562990638,300.09991313892,309.19384990071,318.85615771011,329.14184021688,340.11323489078,351.84127747322,364.40703738298,377.90359432309,392.4383479509,403.65087217807,415.52295665389,428.11456140098,441.49314144476,455.73485568492,470.92601754108,487.16484573215,504.56359022259,523.2511306012],description:"Wilson Diaphonic cycle on 3/2"},wilson_dia4:{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,303.82323712328,313.95067836072,324.77656382143,336.37572681506,348.83408706747,358.01393146398,381.83190611439,377.90359432309,388.70083987518,400.13321751856,412.25846653428,425.14154361347,438.85578695585,453.48431318771,469.12170329763,485.87604984397,503.87145909745,523.2511306012],description:"Wilson Diaphonic cycle on 4/3"},wilson_duo:{frequencies:[261.6255653006,271.31540105247,279.06726965397,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,361.75386806997,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Wilson 'duovigene'"},wilson_enh:{frequencies:[261.6255653006,264.37951861955,279.06726965397,348.83408706747,392.4383479509,396.56927792933,418.60090448096,523.2511306012],description:"Wilson's Enharmonic & 3rd new Enharmonic on Hofmann's list of superp. 4chords"},wilson_enh2:{frequencies:[261.6255653006,265.7783520514,275.62199471997,348.83408706747,392.4383479509,398.6675280771,413.43299207996,523.2511306012],description:"Wilson's 81/64 Enharmonic, a strong division of the 256/243 pyknon"},wilson_facet:{frequencies:[261.6255653006,271.31540105247,274.70684356563,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,353.19451315581,366.27579142084,387.59343007496,392.4383479509,406.97310157871,412.06026534844,436.04260883433,452.19233508746,457.84473927605,470.92601754108,488.36772189445,508.71637697339,523.2511306012],description:"Wilson study in 'conjunct facets', Hexany based"},wilson_gh1:{frequencies:[261.6255653006,286.54684077898,313.84200313831,343.73718179912,398.2573899082,436.19359890902,477.74343791599,523.2511306012],description:"Golden Horagram nr.1: 1phi+0 / 7phi+1"},wilson_gh11:{frequencies:[261.6255653006,294.51148904212,316.87124012705,356.70145865606,383.78276711707,432.02365977685,464.82353976398,523.2511306012],description:"Golden Horagram nr.11: 1phi+0 / 3phi+1"},wilson_gh2:{frequencies:[261.6255653006,290.51361927671,322.59142140135,358.21117585067,382.16527586729,424.3630293795,471.22015545621,523.2511306012],description:"Golden Horagram nr.2: 1phi+0 / 6phi+1"},wilson_gh50:{frequencies:[261.6255653006,270.80964219588,280.31611759965,306.81496952381,317.58537244461,347.60736272384,359.80973785756,372.44046183271,407.64801512355,421.95805149354,461.8466031062,478.05922145,523.2511306012],description:"Golden Horagram nr.50: 7phi+2 / 17phi+5"},wilson_helix:{frequencies:[261.6255653006,283.42769574232,294.32876096318,305.22982618403,327.03195662575,348.83408706747,359.73515228832,392.4383479509,425.14154361347,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"Wilson's Helix Song, see David Rosenthal, Helix Song, XH 7&8, 1979. Also Secor, 1964"},wilson_hypenh:{frequencies:[261.6255653006,266.38239376061,271.31540105247,348.83408706747,392.4383479509,399.57359064092,406.97310157871,523.2511306012],description:"Wilson's Hyperenharmonic, this genus has a CI of 9/7"},wilson_l1:{frequencies:[261.6255653006,269.80136421624,274.70684356563,286.15296204753,294.32876096318,305.22982618403,314.76825825228,327.03195662575,337.2517052703,343.38355445704,359.73515228832,366.27579142084,377.72190990274,392.4383479509,404.70204632437,419.69101100305,431.68218274599,449.66894036041,457.84473927605,472.15238737843,490.54793493862,503.62921320365,523.2511306012],description:"Wilson 11-limit scale"},wilson_l2:{frequencies:[261.6255653006,267.07609791103,279.79400733536,287.78812183066,294.32876096318,305.22982618403,314.76825825228,327.03195662575,335.75280880244,348.83408706747,359.73515228832,373.05867644715,381.53728273004,392.4383479509,411.12588832951,419.69101100305,436.04260883433,447.67041173658,457.84473927605,479.64686971777,490.54793493862,503.62921320365,523.2511306012],description:"Wilson 11-limit scale"},wilson_l3:{frequencies:[261.6255653006,269.80136421624,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,332.97799220076,343.38355445704,359.73515228832,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,429.2294430713,441.49314144476,457.84473927605,470.92601754108,490.54793493862,499.46698830115,523.2511306012],description:"Wilson 11-limit scale"},wilson_l4:{frequencies:[261.6255653006,267.07609791103,274.70684356563,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,356.10146388137,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,508.71637697339,523.2511306012],description:"Wilson 11-limit scale"},wilson_l5:{frequencies:[261.6255653006,267.07609791103,279.79400733536,285.40970760065,299.00064605783,305.22982618403,313.95067836072,327.03195662575,332.97799220076,348.83408706747,356.10146388137,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,479.64686971777,488.36772189445,508.71637697339,523.2511306012],description:"Wilson 11-limit scale"},wilson_l6:{frequencies:[261.6255653006,267.57160087561,277.4816601673,285.40970760065,294.32876096318,305.22982618403,312.16686768822,327.03195662575,332.97799220076,348.83408706747,356.76213450082,369.97554688974,381.53728273004,392.4383479509,406.97310157871,416.22249025095,436.04260883433,443.97065626768,457.84473927605,475.68284600109,490.54793493862,499.46698830115,523.2511306012],description:"Wilson 1 3 7 9 11 15 eikosany plus 9/8 and tritone. Used Stearns: Jewel"},window:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,297.67175429757,306.59245933664,327.03195662575,334.88072358477,348.83408706747,363.36884069528,367.91095120397,372.08969287196,376.74081403286,392.4383479509,408.78994578219,418.60090448096,446.50763144636,459.88868900496,465.11211608996,470.92601754108,502.32108537715,523.2511306012],description:"Window lattice"},wonder1:{frequencies:[261.6255653006,272.72256190885,277.86237426839,283.09905309511,288.43442562998,293.8703485525,299.4087202614,312.10830899518,317.99039712482,323.98334274799,330.08923137594,336.31019538088,342.64839962317,357.18202566262,363.91358676728,370.77201292014,377.75969724053,384.87907140314,392.13262172187,408.76514672187,416.46885901676,424.31776026786,432.3145818485,440.46211650535,448.76319953449,467.79774494453,476.61400354229,485.59641603135,494.74811665626,504.07229015717,513.57219283465,523.2511306012],description:"Wonder Scale, gen=~233.54 cents, 8/7+1029/1024^7/25, LS 12:14:18:21, M.Schulter"},wonder36:{frequencies:[261.6255653006,271.89678302796,277.18263097687,282.57123920205,288.06460709314,293.66476791741,299.37379946195,311.12698372208,317.17549194805,323.3415889232,329.62755691287,336.03572815422,342.56848033562,356.01745236555,362.93866220634,369.99442271164,377.18735172911,384.52011812375,391.99543598175,407.38487419079,415.30469757995,423.37848741825,431.60923940535,440,448.5538823653,466.16376151809,475.22628419761,484.46499093218,493.88330125613,503.48470957687,513.27277840175,523.2511306012],description:"Wonder Scale, 36-tET version"},wronski:{frequencies:[261.6255653006,277.97716313189,294.32876096318,308.86351459099,327.03195662575,348.83408706747,370.63621750918,392.4383479509,416.96574469783,441.49314144476,463.29527188648,494.18162334558,523.2511306012],description:`Wronski's scale, from Jocelyn Godwin, "Music and the Occult", p. 105.`},wurschmidt:{frequencies:[261.6255653006,275.93321340298,294.32876096318,313.95067836072,331.11985608357,353.19451315581,367.91095120397,392.4383479509,413.89982010446,441.49314144476,470.92601754108,490.54793493862,523.2511306012],description:"W\xEF\xBF\xBDrschmidt's normalised 12-tone system"},wurschmidt1:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,490.54793493862,502.32108537715,523.2511306012],description:"W\xEF\xBF\xBDrschmidt-1 19-tone scale"},wurschmidt2:{frequencies:[261.6255653006,272.52663052146,282.55561052465,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,484.4917875937,502.32108537715,523.2511306012],description:"W\xEF\xBF\xBDrschmidt-2 19-tone scale"},wurschmidt_31:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,287.4304306281,294.32876096318,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,376.74081403286,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,428.6473261885,436.04260883433,446.50763144636,454.2110508691,465.11211608996,476.27480687611,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"W\xEF\xBF\xBDrschmidt's 31-tone system"},wurschmidt_31a:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,287.4304306281,294.32876096318,301.39265122629,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,372.08969287196,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,428.6473261885,436.04260883433,446.50763144636,454.2110508691,465.11211608996,476.27480687611,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"W\xEF\xBF\xBDrschmidt's 31-tone system with alternative tritone"},wurschmidt_53:{frequencies:[261.6255653006,264.89588486686,267.90457886781,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,297.67175429757,301.39265122629,306.59245933664,310.07474405997,313.95067836072,319.36714514233,321.48549464138,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,396.89567239676,401.85686830172,408.78994578219,413.43299207996,418.60090448096,425.82286018978,428.6473261885,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,476.27480687611,484.4917875937,490.54793493862,496.11959049595,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"W\xEF\xBF\xBDrschmidt's 53-tone system"},wurschmidt_temp:{frequencies:[261.6255653006,270.6876810201,276.46178051834,282.35904862511,288.38211267756,294.53365605714,300.81641938515,307.23320174366,313.78686192261,320.48031969341,327.31655710978,338.6540596739,345.87796520471,353.25596548096,360.79134753214,368.48746850413,376.34775715481,384.37571538166,392.57491978195,400.94902556208,409.5017589506,423.68596790742,432.72370810117,441.95423435346,451.38165902684,461.01018486849,470.84409628664,480.88777706987,491.14570185547,501.62244073019,512.32266126632,523.2511306012],description:"W\xEF\xBF\xBDrschmidt temperament, 5-limit, g=387.744375, 5-limit"},"t-side":{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"Tau-on-Side"},"t-side2":{frequencies:[261.6255653006,294.32876096318,306.59245933664,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,459.88868900496,470.92601754108,490.54793493862,523.2511306012],description:"Tau-on-Side opposite"},tagawa_55:{frequencies:[261.6255653006,277.01530443593,277.97716313189,279.06726965397,280.31310567921,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,296.50897400735,299.00064605783,301.87565226992,305.22982618403,307.79478270659,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,356.76213450082,359.73515228832,362.25078272391,366.27579142084,369.35373924791,370.63621750918,373.75080757229,377.90359432309,380.54627680087,383.71749577421,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,442.75095666255,444.76346101102,448.50096908674,453.48431318771,457.84473927605,461.69217405988,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,488.36772189445,490.54793493862,492.47165233054,494.18162334558,523.2511306012],description:"Rick Tagawa, 17-limit diamond subset with good 72-tET approximation, 2003"},tamil:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,372.50983809402,387.59343007496,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.67978412536,523.2511306012],description:"Possible Tamil sruti scale. Alternative 11th sruti is 45/32 or 64/45"},tamil_vi:{frequencies:[261.6255653006,275.62199471997,290.69507255622,310.07474405997,327.03195662575,348.83408706747,367.91095120397,387.59343007496,413.43299207996,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Vilarippalai scale in Tamil music, Vidyasankar Sundaresan"},tamil_vi2:{frequencies:[261.6255653006,275.62199471997,290.69507255622,310.07474405997,327.03195662575,348.83408706747,367.49599295996,387.59343007496,413.43299207996,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Vilarippalai scale with 1024/729 tritone"},tanaka:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,331.11985608357,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,387.59343007496,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,459.88868900496,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"26-note choice system of Shoh\xEF\xBF\xBD Tanaka, Studien i.G.d. reinen Stimmung (1890)"},tanbur:{frequencies:[261.6255653006,268.33391312882,275.39533189537,282.83844897362,290.69507255622,299.00064605783,306.66732929008,314.73752216614,323.24394168414,332.22294006425,341.71502406609,351.76546595039,523.2511306012],description:"Sub-40 tanbur scale"},tansur:{frequencies:[261.6255653006,275.71279889585,293.19126194179,310.07474405997,328.21516866261,348.83408706747,367.61706537823,391.78834765065,413.56919813705,438.48689188122,465.11211608996,491.022754507,523.2511306012],description:"William Tans'ur temperament from A New Musical Grammar (1746) p. 73"},tartini_7:{frequencies:[261.6255653006,294.32876096318,313.95067836072,367.91095120397,392.4383479509,418.60090448096,490.54793493862,523.2511306012],description:"Tartini (1754) with 2 neochromatic tetrachords, 1/1=d, Minor Gipsy (Slovakia)"},taylor_g:{frequencies:[261.6255653006,274.70684356563,287.78812183066,294.32876096318,313.95067836072,353.19451315581,366.27579142084,392.4383479509,412.06026534844,418.60090448096,431.68218274599,470.92601754108,523.2511306012],description:"Gregory Taylor's Dutch train ride scale based on pelog_schmidt"},taylor_n:{frequencies:[261.6255653006,275.93341798027,292.67158636845,310.42509491746,327.40170814054,348.83408706747,367.9112241576,391.33200541501,413.90012676351,437.76975193523,465.63764214343,491.10256480205,523.2511306012],description:"Nigel Taylor's Circulating Balanced temperament (20th cent.)"},telemann:{frequencies:[261.6255653006,264.94361147373,271.70648167539,275.15237829755,278.64197723942,282.17583275232,289.3785657319,293.0485888979,296.76515515861,300.52885648597,304.34029066685,308.20006306951,312.10878854255,316.06708432391,324.13491490251,328.24573110938,332.40868242763,336.62443200122,345.21700307457,349.59519124833,354.02890545793,363.06573983159,367.67029324081,372.33324354561,377.05533136015,386.67993129161,391.58396987353,396.55020354877,406.67242132093,411.83001550364,417.05301810033,422.34226102699,433.12283887627,438.61588607285,444.17860098504,449.81186203693,461.29362042034,467.14394139401,473.06846134744,485.14386048744,491.29666030217,497.52749252881,503.83734680745,516.69814597997,523.2511306012],description:"G.Ph. Telemann (1767). 55-tET interpretation of Klang- und Intervallen-Tafel"},telemann_28:{frequencies:[261.6255653006,264.94361147373,275.15237829755,278.64197723942,293.0485888979,296.76515515861,308.20006306951,312.10878854255,328.24573110938,332.40868242763,345.21700307457,349.59519124833,354.02890545793,367.67029324081,372.33324354561,386.67993129161,391.58396987353,396.55020354877,406.67242132093,411.83001550364,438.61588607285,444.17860098504,461.29362042034,467.14394139401,473.06846134744,491.29666030217,497.52749252881,516.69814597997,523.2511306012],description:"Telemann's tuning as described on Sorge's monochord, 1746, 1748, 1749"},"temes-mix":{frequencies:[261.6255653006,306.31659399917,323.38698268281,342.47239171077,361.55773069062,378.62819763364,399.72843132859,423.31905787312,446.91000942727,523.2511306012],description:"Temes' 5-tone Phi scale mixed with its octave inverse"},"temes-ur":{frequencies:[261.6255653006,306.31659399917,323.38703872151,342.47239171077,361.55773069062,423.31905787312],description:"Temes' Ur 5-tone phi scale"},temes:{frequencies:[261.6255653006,306.31659399917,323.38703872151,342.47239171077,361.55773069062,423.31905787312,495.63057556553,523.2511306012,554.13187513888,585.01259700885,684.94462120932],description:"Temes' 5-tone Phi scale / 2 cycle"},"temes2-mix":{frequencies:[261.6255653006,306.31659399917,323.38698268281,342.47239171077,361.55773069062,399.72843132859,423.31905787312,468.0102705885,495.63057556553,523.2511306012,552.41124604023,585.01259700885,646.77396536561,684.94438778203,757.25639526728,799.45686265718,846.63811574624,893.82001885454,1046.5022612024],description:"Temes' 2 cycle Phi scale mixed with its 4/1 inverse"},temp10coh:{frequencies:[261.6255653006,279.06726965397,299.10339764541,320.57805584394,343.5945271479,368.2635494613,394.70435354475,423.05284121745,453.57582505819,488.36772189445,523.2511306012],description:"Differential coherent 10-tone scale, OdC, 2003"},temp10ebss:{frequencies:[261.6255653006,280.43397904206,300.58585223371,322.17714382919,345.31067040124,370.09659148016,396.65293718743,425.1061627261,455.59176355181,488.25490599611,523.2511306012],description:`Cycle of 10 equal "beating" 15/14's`},temp11ebst:{frequencies:[261.6255653006,278.68301283272,296.80966039395,316.07252488244,336.70993118161,358.64093492832,381.94662420398,406.71316497313,433.24697173408,461.44397806515,491.40843569917,523.2511306012],description:"Cycle of 11 equal beating 9/7's"},temp12coh3:{frequencies:[261.6255653006,279.8393060116,294.68135606466,311.32770136359,332.21069717879,353.56473801237,370.2386298036,397.61708850394,418.97112933752,440.1984563065,471.2874275201,496.80305467842,523.2511306012],description:"Differential coherent scale, interval=3, OdC, 2003"},temp12ebf:{frequencies:[261.6255653006,277.18807786937,293.58315284916,311.09098010692,329.5354160273,349.23174343306,369.98176018664,391.84186131702,415.18563115404,439.77824302677,466.03998256716,493.70667148145,523.2511306012],description:"Equal beating temperament tuned by The Best Factory Tuners (1840)"},temp12ebf4:{frequencies:[261.6255653006,276.98801737971,293.51517393789,310.79793252689,329.39098365485,348.83408706747,369.75126958642,391.78747833067,414.83115644933,439.62189128662,465.54602917011,493.43560586205,523.2511306012],description:"Eleven equal beating fifths and just fourth"},temp12ebfo:{frequencies:[261.6255653006,277.20265787963,293.64844512428,311.16011036869,329.64835309433,349.33484978517,370.11921182839,392.06266066657,415.42830219132,440.09698059047,466.36447845344,494.0968438935,523.62658899088],description:"Equal beating fifths and fifth beats twice octave at C"},temp12ebfp:{frequencies:[261.6255653006,277.75307788644,293.77513637875,310.82931496301,329.94340332986,349.12935317325,370.63270249518,391.99544730302,416.18671544528,440.21980402758,465.80107112682,494.47220378931,523.2511306012],description:"All fifths except G#-Eb beat same as 700 c. C-G"},temp12ebfr:{frequencies:[261.6255653006,277.1880780098,293.58315312731,311.09097992515,329.53543943235,349.23174457993,369.98176152553,391.84186168221,415.185630746,439.77824342227,466.03998361904,493.70667287983,523.2511306012],description:"Exact values of equal beating temperament of Best Factory Tuners (1840)"},temp12ep:{frequencies:[261.6255653006,277.19910487213,293.6996776193,311.18246278326,329.70593120198,349.3320268423,370.12638880276,392.15855510068,415.50221189151,440.23542223935,466.44090588941,494.20629608476,523.62445363767],description:"Pythagorean comma distributed equally over octave and fifth: 1/19-Pyth comma"},temp12fo1o:{frequencies:[261.6255653006,277.20349049726,293.7089710611,311.19723286579,329.72679517909,349.35966199273,370.1615231373,392.20198585541,415.5548023839,440.29810917508,466.51470234738,494.29230838881,523.72386870485],description:"Fifth beats same octave opposite"},temp12fo2o:{frequencies:[261.6255653006,277.19623399848,293.69359242342,311.17279259662,329.69226891672,349.31393351076,370.10338107372,392.13011658806,415.46777521802,440.19437666896,466.39258399594,494.14997995304,523.55935978973],description:"Fifth beats twice octave opposite"},temp12p10:{frequencies:[261.6255653006,277.12003622197,293.53214922797,310.91625060765,329.32990524605,349.3071136959,369.493381814,391.90691363044,415.11714643072,439.70197837153,465.74281849401,493.32589719545,523.2511306012],description:"1/10-Pyth. comma well temperament"},temp12p6:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,328.14198392915,349.6228209638,367.9112241576,391.5530240856,413.43299207996,438.51190905657,466.16376151809,491.10256480205,523.2511306012],description:"Modified 1/6-Pyth. comma temperament"},temp12p8:{frequencies:[261.6255653006,277.02617059261,293.33333347996,310.60041853231,328.88393162803,349.42547049952,369.36822764145,391.77416758435,414.83597850347,439.25532436715,465.90062756558,492.49097043477,523.2511306012],description:"1/8-Pyth. comma well temperament"},temp12p8a:{frequencies:[261.6255653006,276.55731914056,293.33333347996,311.12698372208,328.88393162803,349.42547049952,368.74309237173,391.77416758435,414.83597850347,439.25532436715,466.69047534984,492.49097043477,523.2511306012],description:"1/8-Pyth. comma well temperament, consecutive just fifths"},temp12s17:{frequencies:[261.6255653006,275.41266079541,292.61316553779,309.9334225479,327.2710181906,348.78108411875,367.16108497228,391.29294726693,413.18177371806,437.63868343995,464.97078294553,490.98112850332,523.2511306012],description:'4/17th synt. comma "well"-temperament. OdC 1999'},temp12s3:{frequencies:[261.6255653006,275.79485124716,293.07576161921,310.19140758515,326.99095182327,348.87783040382,367.77258074571,390.81668391305,413.640406907,437.79703699716,465.22877230071,490.42492909292,523.2511306012],description:'1/3 synt. comma "well"-temperament. OdC 1999'},temp12septendec:{frequencies:[261.6255653006,277.01530443593,293.31032234393,310.5638707171,328.83233370046,348.17541215342,368.65631875068,390.34198455955,413.30334035457,437.61515184999,463.35732874365,494.18162334558,523.2511306012],description:"Scale with 18/17 steps"},temp12w2b:{frequencies:[261.6255653006,276.80621914251,293.38957467182,310.9374037046,329.12408537692,349.33498699812,369.32540968366,391.68699838314,414.83365420901,439.33301386008,466.03043161756,492.93477894539,523.2511306012],description:"The fifths on white keys beat twice the amount of fifths on black keys"},temp15coh:{frequencies:[261.6255653006,273.98642352939,286.93424587686,300.52595924487,314.76156220527,329.6715499436,345.28562122078,360.48992106995,377.61407292725,395.54746439596,414.33033691342,434.93480826785,455.53927928881,477.11963158959,499.65025190386,523.2511306012],description:"Differential coherent 15-tone scale, OdC, 2003"},temp15ebmt:{frequencies:[261.6255653006,274.13344448045,287.10161388969,300.54701305042,315.02372625978,330.03318193885,345.59498492211,361.72946206059,379.10151766291,397.1128647533,415.78702800292,435.14840215297,455.99486887387,477.60848441971,500.01748339385,523.2511306012],description:"Cycle of 15 equal beating minor thirds"},temp15ebsi:{frequencies:[261.6255653006,274.09084013406,287.01483652929,300.41443756554,314.84183942382,329.80016763418,345.30896502873,361.38848559819,378.7013656391,396.65136316555,415.2619179078,434.55734100747,455.33280077531,476.87279531786,499.20546063174,523.2511306012],description:"Cycle of 15 equal beating major sixths"},temp15mt:{frequencies:[261.6255653006,272.10155294862,290.46827626332,302.09918118188,314.19580976213,326.77681046955,348.83408706747,362.80207077951,377.32935907335,392.4383479509,418.92774655891,435.70241417719,453.14877154631,471.29371440761,503.10581234929,523.2511306012],description:"Cycle of 15 minor thirds, Petr Parizek"},temp16d3:{frequencies:[261.6255653006,272.52663052146,287.69189096389,299.67905363019,312.16568143019,325.17258353382,338.72144179457,352.83483584176,372.46899992671,387.98854005196,404.15472995283,420.99451113006,438.53594735503,462.93911228358,482.22824196207,502.32108537715,523.2511306012],description:"Cycle of 16 thirds tempered by 1/3 small diesis"},temp16d4:{frequencies:[261.6255653006,271.36369423603,291.82218013836,302.68427617679,313.95067836072,325.63643364742,337.75715313333,350.32902355546,376.74081403286,390.76372105392,405.30858212106,420.39482899491,436.04260883433,468.91646607712,486.37029938793,504.47379566792,523.2511306012],description:"Cycle of 16 thirds tempered by 1/4 small diesis"},temp16ebs:{frequencies:[261.6255653006,273.35566334732,285.38860666159,297.73221513295,311.13803992337,324.88997598926,338.996955196,354.31789928052,370.0343963911,386.15666093499,403.66631166114,421.62802297921,440.05346707662,460.0644954801,480.59216613216,501.64981691394,523.2511306012],description:"Cycle of 16 equal beating sevenths"},temp16ebt:{frequencies:[261.6255653006,273.54317752885,285.74681450472,298.24333695649,311.03977535434,324.14332902314,339.04034606654,354.29488987405,369.91554384313,385.91109319424,402.29053605603,420.91180538217,439.97998583037,459.50580330844,479.50024102158,499.97454326842,523.2511306012],description:"Cycle of 16 equal beating thirds"},temp16l4:{frequencies:[261.6255653006,278.81939890042,286.59644689091,305.43134787805,313.95067836072,322.70763593891,343.91573686494,353.50850469302,376.74081403286,387.24916379762,412.69888495295,424.21020636659,436.04260883433,464.69899736225,477.66074674968,509.05224558146,523.2511306012],description:"Cycle of 16 fifths tempered by 1/4 major limma"},temp17c10:{frequencies:[261.6255653006,278.13248184697,287.25399162485,296.67464640038,315.39293803189,325.73642523995,336.41913481987,347.45218787195,369.37422084479,381.48805431277,393.9991677018,418.85802036446,432.59470262079,446.78188702878,474.97099505857,490.54793493862,506.63572944675,523.2511306012],description:'Cycle of 17 fifths tempered by 1/10 of "17-tET comma"'},temp17c11:{frequencies:[261.6255653006,276.93071634298,286.5293181416,296.46061382736,313.80362259461,324.68026371274,335.93389640617,347.57758745223,367.91095120397,380.66298908833,393.8570200719,416.89773925535,431.34769064645,446.29848691039,472.40704302301,488.78098359819,505.72245578392,523.2511306012],description:'Cycle of 17 fifths tempered by 1/11 of "17-tET comma"'},temp17c12:{frequencies:[261.6255653006,275.93321340298,285.92682111936,296.28237159295,312.48531442823,323.80274674587,335.53006800342,347.68212334757,366.69599021774,379.97679689512,393.73860099464,415.27118158544,430.3112595477,445.8960513142,470.2809925818,487.31338757149,504.96265307831,523.2511306012],description:'Cycle of 17 fifths tempered by 1/12 of "17-tET comma"'},temp17c13:{frequencies:[261.6255653006,275.09197878886,285.41800532755,296.13163442011,311.37414725128,323.06208421743,335.18874504319,347.77059980835,365.67107999768,379.3971387881,393.63842979584,413.89982010446,429.43622376713,445.55581352332,468.48950048969,486.07501593832,504.32063522708,523.2511306012],description:'Cycle of 17 fifths tempered by 1/13 of "17-tET comma"'},temp17c14:{frequencies:[261.6255653006,274.37296298479,284.98259752889,296.00249241327,310.42486507835,322.42857866752,334.89645942743,347.84645641687,364.79486552165,378.90099378095,393.5525871037,412.72797362103,428.68761089217,445.26438593469,466.95936897503,485.01606158014,503.77098227424,523.2511306012],description:'Cycle of 17 fifths tempered by 1/14 of "17-tET comma"'},temp17c15:{frequencies:[261.6255653006,273.75133628611,284.60578240525,295.8906154666,309.60449456672,321.88054534371,334.64335075548,347.91221098893,364.0371787025,378.47152629398,393.47820661021,411.71505587788,428.03986711385,445.01196937812,465.63729761752,484.10016650719,503.29510175355,523.2511306012],description:'Cycle of 17 fifths tempered by 1/15 of "17-tET comma"'},temp17ebf:{frequencies:[261.6255653006,272.44226039746,283.83762774933,295.84262353625,308.01140541539,320.83119298602,334.33681303028,348.02669374128,362.44895565855,377.64277622383,393.64943714798,409.87448211667,426.96753159265,444.97502525992,463.22819966593,482.45788080796,502.71631088044,523.2511306012],description:"Cycle of 17 equal beating fifths"},temp17ebs:{frequencies:[261.6255653006,272.25303191034,284.09302419378,294.99486987374,307.14054534497,320.67196534338,333.1312181383,347.01199086095,362.47647062671,376.71561430061,392.57935523584,410.25304697073,426.52635565248,444.65634289229,464.854847056,483.45291583119,504.17290303449,523.2511306012],description:"Cycle of 17 equal beating sevenths"},temp17fo2:{frequencies:[261.6255653006,272.49443630436,283.81483782984,295.60553136463,307.88605111976,320.67674980257,333.99881838086,347.87433573796,362.32629011314,377.37863296804,393.05630224552,409.38528080469,426.39262165238,444.10651133426,462.55629730628,481.77255670213,501.78712602614,522.6331757532],description:"Fifth beats twice octave"},temp17nt:{frequencies:[261.6255653006,272.67141175251,283.62400127587,295.59862296305,308.07881564783,321.08592105074,333.98321109015,348.08400151932,362.78013022893,377.35217954558,393.28401259522,409.88848628312,426.35277308246,444.35341180422,463.11404114636,482.66674266598,502.05436630802,523.2511306012],description:"17-tone temperament with 27/22 neutral thirds"},temp17s:{frequencies:[261.6255653006,272.47577100117,283.83144686231,295.66037914716,307.98229466369,320.75501909295,334.12277657932,348.04764753103,362.48197303348,377.58873713905,393.32509157531,409.63717539588,426.70917767843,444.49267120113,463.01730800927,482.21968335939,502.31662775181,523.2511306012],description:"Cycle of 17 fifths tempered by 2 schismas. Schulter, Tuning List 10-9-98"},temp19d5:{frequencies:[261.6255653006,270.66831710441,280.02362001571,289.70227696231,304.50185643804,315.02657220273,325.91506125677,337.17989695691,348.83408706747,360.89108965294,379.3273836973,392.4383479509,406.00247545366,420.03542981361,434.55341522625,449.57319616728,472.53985806789,488.87259164079,505.76984518255,523.2511306012],description:"Cycle of 19 thirds tempered by 1/5 small diesis. Third = 3\\5"},temp19ebf:{frequencies:[261.6255653006,271.21349495395,281.45216719787,291.55303152151,302.33945232218,313.85796000757,325.22143162672,337.35615460362,350.31447634238,363.09838134063,376.74994653359,390.21776437961,404.59965986997,419.95766938963,435.10896436483,451.288596451,468.56635736893,485.61156561298,503.81364896584,523.2511306012],description:"Cycle of 19 equal beating fifths"},temp19ebmt:{frequencies:[261.6255653006,271.3515811897,281.43551369743,291.89053542337,302.73030209663,313.98726376766,325.65848288741,337.75920164946,350.30522706536,363.3129458114,376.82130195458,390.82676353803,405.34762742982,420.40285701732,436.01212051281,452.22214724761,469.0287008844,486.45373685079,504.52001310976,523.2511306012],description:"Cycle of 19 equal beating minor thirds"},temp19ebo:{frequencies:[261.6255653006,277.22364042749,293.65618047886,311.2040149966,329.6906225544,349.43193638686,370.22936988938,392.1394232912,415.53653598153,440.18534605859,466.50709783521,494.2370091719,523.84897992059,555.04513017437,587.91021027711,623.0058793126,659.97909442818,699.46172209312,741.05658909815,784.8766959018],description:"Cycle of 19 equal beating octaves in twelfth"},temp19ebt:{frequencies:[261.6255653006,271.59402175166,281.80172126331,292.25440577595,302.95795550425,313.91838845704,325.14187338321,337.60244413755,350.36206814823,363.42792409681,376.80735887968,390.50790160795,404.53725818867,420.11297167574,436.06250107414,452.39482160095,469.11911613638,486.2447950704,503.78149001575,523.2511306012],description:"Cycle of 19 equal beating thirds"},temp19k10:{frequencies:[261.6255653006,271.76196854941,282.29109592175,293.22816309454,304.58897525989,314.09773337131,326.2671147593,338.90798583865,352.03861397416,365.67797428016,377.09383089344,391.70392883316,406.88007915549,422.6442137645,439.01911266466,452.72455471179,470.26488431194,488.48479525859,507.41061720556,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/10 kleisma"},temp19k3:{frequencies:[261.6255653006,272.95237156345,284.76956174698,297.09836322231,309.96092731219,314.44113201634,328.05453510669,342.25731432435,357.07498823553,372.53417996774,377.91882441317,394.28042610165,411.35038641496,429.15937528906,447.73938330242,454.2110508691,473.87564511273,494.39160029408,515.79576952378,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/3 kleisma"},temp19k4:{frequencies:[261.6255653006,272.52663052146,283.88190679319,295.71031957624,308.03158289191,314.31844786309,327.4150485592,341.05734286691,355.26806612985,370.07090075127,377.62397563434,393.35830866491,409.74823893478,426.8210805314,444.6052930255,453.67960031314,472.58291784883,492.27387080735,512.78528301977,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/4 kleisma"},temp19k5:{frequencies:[261.6255653006,272.27150423996,283.35064249518,294.88062803952,306.8797443789,314.24485853342,327.03195662575,340.33937954017,354.18830437416,368.6007608062,377.44717941318,392.80607455881,408.78994578219,425.42422593284,442.73537947933,453.36102900438,471.8089732132,491.00759210237,510.98743222773,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/5 kleisma"},temp19k6:{frequencies:[261.6255653006,272.10155294862,282.99701916355,294.32876096318,306.11424676116,314.19580976213,326.77681046955,339.86157848985,353.47028562902,367.62391141072,377.32935907335,392.4383479509,408.1523292189,424.49552853314,441.49314144476,453.14877154631,471.29371440761,490.16521545931,509.79236747994,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/6 kleisma"},temp19k7:{frequencies:[261.6255653006,271.9802243463,282.7447017667,293.93521741989,305.56863311614,314.16077935352,326.59468561952,339.52070304385,352.95830848174,366.92774752709,377.24522513926,392.17589782962,407.69749910471,423.83341578697,440.60837682578,452.99722066906,470.92601754108,489.56440442681,508.94046380742,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/7 kleisma"},temp19k8:{frequencies:[261.6255653006,271.88926339885,282.55561052465,293.64040364533,305.16005936662,314.13450956378,326.45815718343,339.26526937521,352.57481080357,366.4064920117,377.18213591051,391.97917444376,407.35670799125,423.33750965456,439.94524339387,452.88359011983,470.65043349884,489.11427877975,508.30246674991,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/8 kleisma"},temp19k9:{frequencies:[261.6255653006,271.81853598083,282.40862793607,293.41130980736,304.84265779003,314.11407882217,326.35200974457,339.06673262958,352.27682225125,366.00158141044,377.13307501509,391.82623534045,407.09184571451,422.95220417284,439.43048454013,452.79523167251,470.4362008006,488.76446469244,507.80680338678,523.2511306012],description:"Chain of 19 minor thirds tempered by 1/9 kleisma"},temp19lst:{frequencies:[261.6255653006,270.56149416036,279.80263334807,289.3594074481,304.78245180412,315.19242188443,325.95794877725,337.09117667186,348.60466454729,360.5114003397,379.7268899367,392.69661814622,406.10933276067,419.98016416303,434.32475952075,449.15930043669,473.09978287909,489.25870067642,505.96953296163,523.2511306012],description:"Cycle of 19 least squares thirds 5/4^5 = 3/2"},temp19lst2:{frequencies:[261.6255653006,270.86681403244,280.43448605562,290.34011310859,303.98143643885,314.71879896063,325.83542931914,337.34472599098,349.26055890156,361.59728998429,378.58655645252,391.95915298383,405.80409975455,420.1380835834,434.97837844393,450.34287106955,471.50175486263,488.15634183652,505.39920634693,523.2511306012],description:"Cycle of 19 least squares thirds 5/4, 3/2 (5), 6/5 (4)"},temp21ebs:{frequencies:[261.6255653006,270.48603901573,279.57527100587,288.89916626223,298.46378542286,308.59004184051,318.97773454914,329.63361550747,340.56460989801,352.13747205507,364.00912264098,376.18727282918,388.67983604901,401.90596519454,415.47356606258,429.3914526989,443.66866815503,458.78424493347,474.29007331382,490.19622772738,506.51304733863,523.2511306012],description:"Cycle of 21 equal beating sevenths"},temp22ebf:{frequencies:[261.6255653006,269.81217946012,278.43675961795,287.52273893052,297.09479717246,306.30473778727,316.00739221221,326.22911792828,336.99768333647,347.35886661388,358.27435338478,369.77379349451,381.88843101834,394.65117841871,406.93109909525,419.8679691216,433.49693671533,447.85502662133,461.66993710068,476.2239184443,491.55650493929,507.70935693135,523.2511306012],description:"Cycle of 22 equal beating fifths"},temp22ebt:{frequencies:[261.6255653006,270.16401944699,278.90739732088,287.86061708193,297.02871287074,306.4168425362,316.03028815926,325.87445510174,336.54752540671,347.4767459334,358.66827061689,370.12838991426,381.86355177507,393.88036006393,406.18556836568,419.52690380046,433.1884314408,447.17783799964,461.50298590676,476.17193984405,491.19294816955,506.57446222015,523.2511306012],description:"Cycle of 22 equal beating thirds"},temp22fo2:{frequencies:[261.6255653006,269.97341665226,278.58762814388,287.47669703533,296.64939669548,306.114775449,315.88217199169,325.96122111215,336.36187067071,347.09438029185,358.16933884319,369.59767092309,381.39065611261,393.55992749281,406.11749146369,419.07573510033,432.44744798202,446.24582051114,460.48446638525,475.17743368268,490.33921589034,505.98477744485,522.12955176559],description:"Fifth beats twice opposite rate as octave"},temp23ebs:{frequencies:[261.6255653006,269.54528659271,277.75645349026,286.26979186473,295.09642104593,304.24787054065,313.41421505132,322.9178815064,332.77128133421,342.98728793362,353.5792427091,364.56098080918,375.56059498003,386.96499273375,398.78907363541,411.04828247111,423.75862731373,436.93671323096,450.13624919654,463.82153026575,478.01042762353,492.72147385367,507.97388874722,523.2511306012],description:"Cycle of 23 equal beating major sixths"},temp24ebaf:{frequencies:[261.6255653006,269.28287293678,277.23083697142,285.33112867981,293.73889258015,302.30779732819,311.20195864933,320.26658492056,329.67528611807,339.26431305611,349.21731641877,359.36108127338,369.88988063787,380.8183283077,391.95623237686,403.5169050439,415.29914897519,427.52862168357,439.9924847314,452.92944495636,466.1143590732,479.79973930305,493.74741628009,508.22451419243,523.2511306012],description:"Cycle of 24 equal beating 11/8's"},temp24ebf:{frequencies:[261.6255653006,269.29177952703,277.18807786937,285.37455545576,293.58315284916,302.20762754558,311.09098010692,320.17688686519,329.5354160273,339.23795459232,349.23174343306,359.45337270909,369.98176018664,380.89707445632,391.84186131702,403.3411703213,415.18563115404,427.4653330282,439.77824302677,452.71493931339,466.03998256716,479.66882917609,493.70667148145,508.26043277122,523.2511306012],description:"24-tone ET with 23 equal beatings fifths. Fifth on 17 slightly smaller."},temp25ebt:{frequencies:[261.6255653006,269.07040607882,276.69392272178,284.50040351526,292.49424189123,300.67993013952,309.06207502162,317.64539198503,326.43470939254,335.74076076764,345.27015661764,355.02825763358,365.02055286832,375.25266439783,385.73034580726,396.45949385543,407.44613828076,419.07870286007,430.99044652419,443.18807578441,455.67844358274,468.46858279232,481.56568677979,494.97711759939,508.71042703507,523.2511306012],description:"Cycle of 25 equal beating thirds"},temp26eb3:{frequencies:[261.6255653006,268.53506427639,276.23413316293,283.52944261778,291.01742029734,298.70315454572,307.26715974579,315.38204761281,323.71124866952,332.26042290088,341.78653782772,350.81307822085,360.07800843467,370.40166886388,380.18393134541,390.22454217496,400.5303243006,412.0137801623,422.89501338113,434.06361862988,445.5271853685,458.30072684004,470.40439262311,482.82771472967,495.57913524385,509.78770018956,523.2511306012],description:"Cycle of 26 fifths, 5/4 beats three times 3/2"},temp26ebf:{frequencies:[261.6255653006,268.42568455944,275.6873347244,283.44184249631,290.6057533496,298.25588724353,306.42524452376,315.14906491362,323.2084665433,331.81486605817,341.00539333861,350.8196903474,359.88651586494,369.56871668171,379.90806097321,389.45994242989,399.66012078319,410.55259814459,422.18435687733,432.93022440227,444.40542617247,456.65946119637,469.74519313893,481.83429211771,494.74389287961,508.52968420524,523.2511306012],description:"Cycle of 26 equal beating fifths"},temp26ebmt:{frequencies:[261.6255653006,268.65375733515,276.22103845862,283.50786797993,291.35362426947,298.90860888253,307.04308924768,315.80151824033,324.23534814673,333.31608510092,342.06028051348,351.47518831899,360.54116941247,370.30254728737,380.81265974123,390.93325547321,401.83014055422,412.32317421544,423.62106542614,434.50024245702,446.21389528982,458.82603004394,470.97074536855,484.04700949484,496.63864979835,510.1961187079,523.2511306012],description:"Cycle of 26 equal beating minor thirds"},temp26ebs:{frequencies:[261.6255653006,268.70854008298,275.97438147252,283.42781183148,291.07367309004,298.91693448926,307.01176285104,315.31558194419,323.83378869523,332.57191674,341.53564330438,350.78687613393,360.27695513986,370.01204624828,379.9984780646,390.24273934583,400.81557597059,411.66137956276,422.7871998129,434.200265189,445.90799193987,457.99123299379,470.38643795716,483.10166179174,496.14516363988,509.5254229925,523.2511306012],description:"Cycle of 26 equal beating sevenths"},temp27c8:{frequencies:[261.6255653006,268.8683660761,273.88218275531,281.46429379013,289.25630678777,297.26403435806,305.49344487497,313.95067836072,319.80518189674,328.65861797738,337.75715313333,347.10756874671,356.7168418477,363.36884069528,373.42828707985,383.76621672426,394.39034225616,405.30858212106,412.86671295557,424.29645219584,436.04260883433,448.1139452722,460.51946086698,473.26841152735,482.09384659572,495.44005640506,509.15574351714,523.2511306012],description:"Cycle of 27 fifths tempered by 1/8 of difference between augm. 2nd and 5/4"},temp27eb2:{frequencies:[261.6255653006,268.46319812592,275.47953375729,282.6792426258,290.06711722511,297.6480770209,305.21714541248,313.19405229436,321.37943712173,329.77875040935,338.39757940759,347.00289091411,356.07187808578,365.37788286775,374.92710181611,384.72589137834,394.78077412888,404.81988946592,415.39993259502,426.25648711974,437.39677971686,448.82822593369,460.24174609969,472.27024976331,484.61312060812,497.27857467888,510.27504274822,523.2511306012],description:"Cycle of 27 fourths, 5/4 beats twice 4/3"},temp28ebt:{frequencies:[261.6255653006,268.20719354764,274.94677993062,281.84811597329,288.91508487862,296.15166190523,303.56191452522,311.15001492268,318.92023016627,326.87692943437,335.10396312415,343.5284476344,352.15511767098,360.98882840285,370.03454814671,379.29736707683,388.78249121135,398.49525813745,408.44113355924,418.72492751128,429.25553103998,440.03886948281,451.08100913788,462.38815755283,473.96667987616,485.82308640697,497.96404651665,510.39638953936,523.2511306012],description:"Cycle of 28 equal beating thirds"},temp29c14:{frequencies:[261.6255653006,268.03384168485,274.59908446169,281.12309545065,288.00894581307,294.85155418799,302.07367045706,309.47268578827,316.82523654187,324.58557784847,332.29718551084,340.4364979057,348.77517523396,357.06148706459,365.80737813473,374.49834647311,383.67133729641,392.78672100419,402.40767098088,412.26427490957,422.0589810157,432.39692561869,442.66994710331,453.51274088813,464.62111626441,475.65973015548,487.31057837675,498.88825560972,511.10806227553,523.2511306012],description:"Cycle of 29 fifths 1/14 comma positive"},temp29ebf:{frequencies:[261.6255653006,267.97141371953,274.40384216744,281.08918054527,287.86573007783,294.90872015661,302.04780073409,309.28428172011,316.80528774769,324.42890571749,332.35226986162,340.383734589,348.52477529448,356.98590767403,365.56247629567,374.47626314535,383.51165984234,392.90231649713,402.42108995343,412.06973029551,422.09773822292,432.26256191617,442.8270465847,453.53566813958,464.39038927288,475.67189906986,487.10732348594,498.99237046175,511.03956815915,523.2511306012],description:"Cycle of 29 equal beating fifths"},temp29fo:{frequencies:[261.6255653006,267.94780983951,274.42283293416,281.05432651499,287.84607006616,294.80193939197,301.92589896847,309.2220107369,316.69443479624,324.34743177532,332.18536334326,340.21270232633,348.43402388135,356.85401564372,365.47747852664,374.30932945854,383.35460418662,392.61845788025,402.10617708826,411.82316930666,421.77497497272,431.96726840975,442.4058610624,453.0967048103,464.04589268124,475.25967298378,486.74443697706,498.50673304697,510.55326782272,522.89091000079],description:"Fifth beats with opposite equal rate as octave"},temp31c51:{frequencies:[261.6255653006,267.17944246504,273.80687224646,279.61933836952,286.55534345926,292.63843680803,298.85066583755,306.26370726525,312.76517639908,319.40466275447,327.32754956004,334.27616903285,342.56794607269,349.84009583671,357.26662128823,366.1286782788,373.90098334082,383.17565840352,391.30984260196,399.61670205031,409.52926208827,418.22288720188,428.59697681668,437.69538032917,446.98692528774,458.07451174337,467.79867446983,477.72926229583,489.57941763243,499.97237729845,512.37427391379,523.2511306012],description:"Cycle of 31 51/220-comma tempered fifths (twice diff. of 31-tET and 1/4-comma)"},temp31coh:{frequencies:[261.6255653006,267.17903658035,272.71444919697,278.8328003927,286.67318542907,292.31259119845,298.22448926086,305.9625493141,312.79375273624,319.37019903425,325.99008611032,333.53448283298,342.55073731576,349.35067604096,356.49690427728,365.94514964733,373.94225818849,381.74854907994,389.68867781295,401.66236977474,409.34549662494,417.52928752537,426.20510506248,437.61344561246,447.02040600938,456.30467151405,466.17931462488,479.8608061495,489.18804557359,499.02680928636,509.58872491278,523.2511306012],description:"Differential coherent 31-tone scale, interval=8, OdC, 2003"},temp31eb1:{frequencies:[261.6255653006,267.35556661283,273.21106374578,279.19480525048,287.36432599524,293.65804565963,300.08960744161,306.66203029506,313.37839929357,320.24186707858,327.25565533923,334.42305632458,341.74743438901,349.23222958864,356.8809512704,367.32364464292,375.36859607341,383.58974428421,391.99094825517,400.57615379751,409.34938620036,418.31476585427,427.47650107887,436.83889236244,446.40633438056,459.46863260649,469.5317006585,479.81516534138,490.32385367952,501.06269841655,512.03674033076,523.2511306012],description:"Cycle of 31 thirds, 3/2 beats equal 5/4. Third 1/18 synt. comma higher"},temp31eb1a:{frequencies:[261.6255653006,267.52830363402,273.56421824856,279.73631545395,286.19123047598,292.64821393201,299.25087842544,306.00251077972,312.90647197491,319.96619882071,327.18520755731,334.56708808783,342.11551697966,349.83425186023,357.90667665031,365.98168819447,374.23888853079,382.68238383924,391.31637942763,400.14517332125,409.17316051655,418.40483516889,427.84479530109,437.49773526159,447.36846272566,457.69148927209,468.01782376277,478.57713873597,489.37469064597,500.41585743254,511.7061296998,523.2511306012],description:"Cycle of 31 thirds, 5/4 beats equal 7/4"},temp31eb2:{frequencies:[261.6255653006,267.43633367564,273.37616065041,279.44791264824,286.8151286113,293.18536340431,299.69708268426,306.35342885652,313.15761412007,320.11292201761,327.22270902014,334.4904061467,341.91952062013,349.51363755953,357.2764217104,366.69546492458,374.83986170174,383.16514754137,391.67534003419,400.37454600262,409.26696348258,418.35688374945,427.64869338884,437.14687641357,446.85601642745,458.63669049374,468.82312458207,479.23580188553,489.87974732177,500.7600974131,511.88210276525,523.2511306012],description:"Cycle of 31 thirds, 3/2 beats twice 5/4"},temp31eb2a:{frequencies:[261.6255653006,267.30377559621,273.10522335955,279.03258328435,287.71713441117,293.9616250555,300.34164347605,306.86013111019,313.520093235,320.3246003528,327.27678960683,334.37986622751,341.63710501026,349.05185182525,356.62752721996,367.72712485201,375.70811839104,383.86232802855,392.19351543866,400.70551714108,409.40225971792,418.28775270674,427.36609266644,436.64146506587,446.11814621352,460.00303307438,469.98674378481,480.18713671772,490.60891465214,501.25688243424,512.13594919255,523.2511306012],description:"Cycle of 31 thirds, 5/4 beats twice 3/2"},temp31eb2b:{frequencies:[261.6255653006,267.52098517401,273.5492512983,279.71335720518,286.24081966732,292.69091492047,299.28635537219,306.03041620307,312.92644639599,319.97787039914,327.18818982659,334.56098519707,342.09991771207,349.80873107384,357.97195918064,366.0384300542,374.28666922186,382.72077261519,391.34492846269,400.16341936959,409.18062444454,418.40102147414,427.82918914659,437.46980932536,447.32766937413,457.76662230541,468.08184681118,478.62951259033,489.41485742956,500.44323714283,511.72012823096,523.2511306012],description:"Cycle of 31 thirds, 5/4 beats twice 7/4 (7/4 beats twice 5/4 gives 31-tET)"},temp31ebf:{frequencies:[261.6255653006,267.58895287558,273.47207673981,279.84020613447,286.1226232561,292.32048149598,299.02929415269,305.64780689513,312.81195283539,319.87967238294,326.85226402826,334.39967773649,341.84550545999,349.90516819854,357.85635261941,365.7005167875,374.19135817901,382.56791460144,390.83172556312,399.77680617055,408.60149248083,418.153686518,427.57731316062,436.87410111252,446.93731687602,456.86508723973,467.61130449655,478.21288647115,488.67177324268,499.99289085438,511.16163412976,523.2511306012],description:"Cycle of 31 equal beating fifths"},temp31ebf2:{frequencies:[261.6255653006,268.47208070676,273.9410776603,281.1098810272,286.83632036086,292.67941197057,300.33857976184,306.45672349367,312.69950064833,320.88257689406,327.41921873353,335.98749730659,342.8318387903,349.81560715632,358.96997989875,366.28249344322,375.86779039798,383.5245262314,391.33723606718,401.57819634767,409.75867428285,420.48170539436,429.04726334649,437.78730875453,449.24382765192,458.39529367535,467.73318258368,479.97335657757,489.75080836323,502.56716753771,512.80487382351,523.2511306012],description:"Cycle of 31 fifths, 3/2 beats equal 7/4"},temp31ebs:{frequencies:[261.6255653006,267.49970467488,273.5255021102,279.70687352555,286.04783307233,292.55250379055,299.22511217624,305.93841412724,312.82503848113,319.88946348152,327.13627425327,334.57018402367,342.19602042672,349.86836735032,357.73879552978,365.81242398075,374.09449397971,382.59039112658,391.30563169636,400.0740276901,409.06880268892,418.29580572823,427.76103041037,437.4706255228,447.4309015606,457.4519243295,467.73166961576,478.27681510244,489.09421437332,500.19089295757,511.57406697079,523.2511306012],description:"Cycle of 31 equal beating sevenths"},temp31ebs1:{frequencies:[261.6255653006,267.15774161678,272.80689957055,278.57550963341,287.00766304701,293.07655388437,299.27377555355,305.60203820353,312.06411627904,318.6628357552,328.30838543699,335.25059642555,342.33960321815,349.5785118895,356.97048813578,364.51877275634,375.55232561156,383.49353066309,391.60265342908,399.88324912115,408.33893898267,416.9734277591,429.59472356821,438.6786743379,447.954711436,457.42689142912,467.09936712211,476.97636845082,491.41388278482,501.80502418824,512.41589335668,523.2511306012],description:"Cycle of 31 sevenths, 3/2 beats equal 7/4. 17/9 schisma fifth"},temp31ebs2:{frequencies:[261.6255653006,267.52957387699,273.56681763873,279.74030009523,286.13080593576,292.58781532731,299.19053769144,305.94226304679,312.84635035505,319.90623967996,327.21431324819,334.59843914397,342.14920188821,349.87035796113,357.76575454309,365.83932576918,374.19671203989,382.64107477964,391.27599615891,400.10577865514,409.13482199124,418.3676180873,427.92498506647,437.58181190976,447.45656083737,457.55415226032,467.87960969795,478.43807796233,489.36771995709,500.41110255739,511.70370009509,523.2511306012],description:"Cycle of 31 sevenths, 3/2 beats twice 7/4. Almost 31-tET"},temp31ebsi:{frequencies:[261.6255653006,267.31506098272,273.2139312212,279.32987994092,285.67089487749,292.24525964349,299.06156112772,306.12870201667,312.71376833043,319.5411631371,326.61980701828,333.95894503443,341.56816427739,349.45740040562,357.63696227352,366.11753111539,374.01961057916,382.2124855973,390.7068565555,399.51382386635,408.64488423766,418.11197066674,427.92744450622,438.10412760018,447.58662182594,457.41807184609,467.61131789159,478.17967690081,489.136951815,500.49745466086,512.27602199232,523.2511306012],description:"Cycle of 31 equal beating major sixths"},temp31ebt:{frequencies:[261.6255653006,267.508686718,273.53300221315,279.70190221389,286.0188552526,292.48741633838,299.11122072338,305.89399777728,312.83956126154,319.95181832117,327.23477005018,334.588671338,342.11906613961,349.83019225353,357.72638299858,365.81208378543,374.09184045976,382.57031224079,391.25226584136,400.14258695229,409.24627647794,418.43865241641,427.85164834976,437.49055334209,447.36079317794,457.46791872903,467.81761394993,478.41570188597,489.26814549043,500.38104816704,511.76065992154,523.2511306012],description:"Cycle of 31 equal beating thirds"},temp31g3:{frequencies:[261.6255653006,266.21023205793,270.87523947024,275.62199471997,289.25983723073,294.32876096318,299.48651076576,304.73464409936,310.07474405997,315.5084236529,331.11985608357,336.92232427465,342.82647426905,348.83408706747,354.94697625466,361.16698614085,379.03761443004,385.6797831671,392.4383479509,399.31534788729,406.31285900225,413.43299207996,433.88975562921,441.49314144476,449.22976592409,457.10196592055,465.11211608996,473.26263524279,496.67978412536,505.38348615935,514.23971114652,523.2511306012],description:"Wonder Scale, cycle of 31 sevenths tempered by 1/3 gamelan residue, s.wonder1"},temp31g4:{frequencies:[261.6255653006,266.75106828164,271.97698492363,277.30528403104,287.97116616014,293.61280545832,299.36497003718,305.22982618403,311.20958045219,317.30648321666,329.51091606373,335.96636137331,342.54827390456,349.25913259695,356.10146388137,363.07784268567,377.0427625798,384.42940207435,391.96075366681,399.63965159508,407.46898671086,415.4517078616,431.43106138252,439.88322158593,448.50096908674,457.28754710584,466.24626137824,475.38048570318,493.66485502092,503.33623955776,513.19709315346,523.2511306012],description:"Cycle of 31 sevenths tempered by 1/4 gamelan residue"},temp31g5:{frequencies:[261.6255653006,267.07609791103,272.64018328418,278.3201871026,287.20071989568,293.1840695693,299.2920706603,305.52732176658,311.89247392994,318.39023342226,328.54930692245,335.39408374843,342.38146206091,349.5144087687,356.79595852417,364.22920722399,375.85089312601,383.68111960674,391.67447579625,399.83436022994,408.16424460367,416.66766586736,429.96253800336,438.92009035289,448.06425836543,457.39892986705,466.92807368021,476.65574406444,491.86469103391,502.11187209711,512.57253609913,523.2511306012],description:"Cycle of 31 sevenths tempered by 1/5 gamelan residue"},temp31g6:{frequencies:[261.6255653006,267.29300481931,273.08321314304,278.9988528944,286.68823620156,292.89859205665,299.24348036203,305.72581270733,312.34856974117,319.11478979112,327.9097940226,335.01310892782,342.27029731995,349.68469585889,357.2597060542,364.99881126821,375.05840734677,383.18307527508,391.48374080678,399.96422099622,408.62840644009,417.48028065389,428.98629965513,438.27917301224,447.77335490729,457.47320099372,467.3831713443,477.50781354513,490.66822826519,501.2972832058,512.15658610391,523.2511306012],description:"Cycle of 31 sevenths tempered by 1/6 gamelan residue"},temp31g7:{frequencies:[261.6255653006,267.44804485495,273.40010374961,279.48462577409,286.32273545638,292.69485077785,299.20877758909,305.86767190621,312.6747599825,319.63333987564,327.45376040978,334.74124806474,342.19091885571,349.80638115363,357.59132564064,365.54952414453,374.49336901227,382.82772265927,391.34755742947,400.0570012071,408.96027492626,418.06169111145,428.2903432132,437.821949061,447.565680886,457.52625955954,467.70851101039,478.11736856842,489.81539667363,500.71624319167,511.85968815724,523.2511306012],description:"Cycle of 31 sevenths tempered by 1/7 gamelan residue"},temp31h10:{frequencies:[261.6255653006,267.8597617245,273.71072489962,279.68949451567,286.35413084244,292.60907359238,299.00064605783,306.12544311476,312.81225819702,320.26616683613,327.26186315247,334.41036913783,342.37893460431,349.85764856047,358.19430059608,366.01847563765,374.01355928612,382.92581520849,391.29021017831,400.61414686654,409.36491649663,418.30683086326,428.27453775026,437.62950220286,447.18881072031,457.84473927605,467.84561789912,478.99376955124,489.45661357347,500.14800438647,512.06587983104,523.2511306012],description:"Cycle of 31 fifths tempered by 1/10 Harrison's comma"},temp31h11:{frequencies:[261.6255653006,269.21878403965,274.22153683641,279.31725480271,287.42394184039,292.76499331753,298.20529308835,306.86017365004,312.56239683413,321.63396690808,327.61072570921,333.69854562169,343.38355445704,349.7644731902,359.91576765193,366.60389537541,373.41630725864,384.25405432087,391.39444778107,402.75397853578,410.23814647641,417.86138882164,429.98907567166,437.9793418028,446.11808436842,459.06587176894,467.59645436585,481.16761342105,490.10890120058,499.21634316923,513.70521350358,523.2511306012],description:"Cycle of 31 fifths tempered by 1/11 Harrison's comma"},temp31h12:{frequencies:[261.6255653006,270.35656674398,274.64794212014,279.0074329748,288.31850430385,292.89498819461,297.54411640065,307.47379627264,312.35433239663,322.77826253379,327.90172667751,333.10651564349,344.2229903876,349.68684701428,361.35664068489,367.0924599966,372.91932620731,385.3644371109,391.48133253101,404.54589939324,410.96726244836,417.49055189439,431.4231018689,438.27108715714,445.22777061734,460.08596806997,467.38892215786,482.98668436162,490.65313915878,498.44128370652,515.07533168556,523.2511306012],description:"Cycle of 31 fifths tempered by 1/12 Harrison's comma"},temp31h8:{frequencies:[261.6255653006,264.15772162327,272.31089540773,280.71571360382,283.4326348965,292.18072491748,301.19882119914,304.11398928909,313.50040506268,316.53463456122,326.30440921209,336.37572681506,339.63135730234,350.11400731728,353.50260556257,364.41338872146,375.66093089504,379.29678648678,391.00370158472,394.788050771,406.97310157871,419.5342415638,423.59472503043,436.668886633,450.14658206855,454.50334862767,468.53149836075,473.06620699858,487.66729542944,502.71904336675,507.58463809481,523.2511306012],description:"Cycle of 31 fifths tempered by 1/8 Harrison's comma"},temp31h9:{frequencies:[261.6255653006,266.20804854623,273.08769296879,280.14512719472,285.05198845745,292.41861893027,299.97562432697,305.22982618403,313.11791376428,318.60230743232,326.83598255713,335.28243953396,341.15505431438,349.97156260351,356.10146388137,365.30423365264,374.74482972428,381.30864508241,391.16284711627,398.01423104415,408.30015740759,418.85190169901,426.18827121524,437.20230245522,448.50096908674,456.35665612784,468.15032961482,476.35018210031,488.66055322307,501.28905975035,510.06935121341,523.2511306012],description:"Cycle of 31 fifths tempered by 1/9 Harrison's comma"},temp31ms:{frequencies:[261.6255653006,267.90457886781,273.56603860918,280.13162379381,286.05147140959,292.91670530125,299.10673210371,306.2852939563,312.75782903301,320.26401722477,327.03195662575,334.88072358477,341.95754947331,350.16453098318,357.56433846376,366.14588292411,373.88341429498,382.85661659068,390.94728541851,400.33002063726,408.78994578219,418.60090448096,427.44693588739,437.70566275183,446.9554220819,457.68235263341,467.35426952494,478.57076966998,488.68410850494,500.41252756995,510.98743222773,523.2511306012],description:"Cycle of 31 5th root of 5/4 chromatic semitones"},temp31mt:{frequencies:[261.6255653006,267.90457886781,274.33428876064,280.9183116909,285.65057792122,292.50627485027,299.52642572255,306.71505845072,314.07622014281,319.36714514233,327.03195662575,334.88072358477,342.9178609508,351.14788961362,359.57543896435,365.63273925968,374.40803131735,383.39382442208,392.5952765698,402.01756125559,408.78994578219,418.60090448096,428.6473261885,438.93486201703,449.46929870544,457.04092569426,468.01003810189,479.24227945773,490.7440946167,502.52195335034,510.98743222773,523.2511306012],description:"Cycle of 31 square root of 5/4 meantones"},temp31to:{frequencies:[261.6255653006,267.53589118464,273.57973594714,279.76011588387,286.08011543105,292.54288870475,299.15166280294,305.90973254237,312.82047235615,319.88733118052,327.11383586587,334.50359293692,342.06029039257,349.78769954651,357.68967690936,365.77016611333,374.03319988033,382.48290424395,391.12349182016,399.95927701915,408.9946695077,418.23417857039,427.68241536008,437.34409519915,447.22403993284,457.32718033558,467.65855857191,478.22333071276,489.02676930874,500.07426891005,511.37133726836,522.92361522538],description:"Third beats with opposite equal rate as octave"},temp31w10:{frequencies:[261.6255653006,267.37376533775,273.24825962152,279.25182297475,287.24047076273,293.55146000581,300.00110689476,306.59245933664,313.32863150945,320.21280450383,327.24823031411,334.4382321302,341.78620813039,349.29562523194,356.97015906904,367.18199034811,375.24938058245,383.49402021056,391.91980359563,400.53071066429,409.33081115087,418.32425711308,427.51529892703,436.90827798988,446.50763144636,459.28102021135,469.37192694062,479.68454193593,490.22373920221,500.99449133668,512.00188868489,523.2511306012],description:"Cycle of 31 thirds tempered by 1/10 Wuerschmidt comma"},temp31w11:{frequencies:[261.6255653006,267.42197848694,273.34681181717,279.40291364591,286.91265577589,293.26931399985,299.76680465545,306.40825140143,313.19684009872,320.13583435099,327.22856275086,334.47843511672,341.88893114233,349.46360748692,357.20610515709,366.80702823839,374.93377645155,383.2405741708,391.73141324262,400.41036830387,409.28161120445,418.34939984118,427.61808628905,437.09212645494,446.77606497733,458.78443573652,468.94897543376,479.33871705477,489.95864449434,500.81386326642,511.90958055231,523.2511306012],description:"Cycle of 31 thirds tempered by 1/11 Wuerschmidt comma"},temp31w12:{frequencies:[261.6255653006,267.46216197987,273.42896553533,279.52888390694,286.63976159726,293.03439921138,299.57169286871,306.25482853931,313.08705807777,320.0717057658,327.2121755928,334.51194000906,341.9745565771,349.60365642833,357.40295156876,366.49485373999,374.67097398132,383.02949720151,391.57448819698,400.31011139524,409.24061734241,418.37035125513,427.70376253715,437.24539007841,446.99988402026,458.37102198078,468.59680699416,479.0507177135,489.73784363297,500.66339010461,511.83267129957,523.2511306012],description:"Cycle of 31 thirds tempered by 1/12 Wuerschmidt comma"},temp31w13:{frequencies:[261.6255653006,267.49616787535,273.49850059869,279.63551774138,286.40905375482,292.83577174957,299.40669857094,306.12507001426,312.99419468163,320.01745343487,327.19830857776,334.54029455907,342.04702698539,349.72220057363,357.56974544479,366.23091133098,374.44874787361,382.85098402684,391.44175752404,400.22529663315,409.2059314354,418.38808223908,427.77627085136,437.37511801764,447.18935574711,458.02150335998,468.29902426597,478.80716193382,489.55109116118,500.53609997149,511.7676037195,523.2511306012],description:"Cycle of 31 thirds tempered by 1/13 Wuerschmidt comma"},temp31w14:{frequencies:[261.6255653006,267.52531966849,273.55811412425,279.72695193191,286.21145362846,292.66562728487,299.26534666214,306.01389218024,312.91461811683,319.97095981222,327.18642276261,334.56459899164,342.10915585471,349.82384327668,357.71250180664,366.00482869479,374.25837321367,382.69803863807,391.32802257119,400.15261355898,409.17620468607,418.4030501472,427.83842920638,437.48634583318,447.35182400506,457.72212848121,468.04393370572,478.5984967348,489.39107187298,500.42702361787,511.71183724724,523.2511306012],description:"Cycle of 31 thirds tempered by 1/14 Wuerschmidt comma"},temp31w15:{frequencies:[261.6255653006,267.55058630145,273.60979095449,279.80621811014,286.0403087015,292.51824916652,299.142895223,305.91756930507,312.84566908988,319.93066920159,327.176122954,334.58566413263,342.16300881716,349.91195724514,357.83639571789,365.80900091179,374.09345893182,382.56553686518,391.22947931103,400.08963362509,409.15044340767,418.41645289306,427.89230922859,437.58276480531,447.49267964143,457.46282942114,467.82296651709,478.41773025336,489.25243249537,500.33250769337,511.66351279634,523.2511306012],description:"Cycle of 31 thirds tempered by 1/15 Wuerschmidt comma, almost 31-tET"},temp31w8:{frequencies:[261.6255653006,267.24122592191,272.97742543896,278.83674800471,288.14389744169,294.32876096318,300.64638059818,307.09960331181,313.69134300364,320.42456924675,327.30232268102,334.32770172848,341.50387698892,348.83408706747,356.32163474066,368.21511264804,376.11866406852,384.19186344763,392.4383479509,400.86184099795,409.46613795376,418.25512179799,427.23275920923,436.40309460541,445.77026919414,460.64940473745,470.53701427025,480.63685362987,490.95348377613,501.49155234204,512.25581818623,523.2511306012],description:"Cycle of 31 thirds tempered by 1/8 Wuerschmidt comma"},temp31w9:{frequencies:[261.6255653006,267.31485098896,273.12785536516,279.06726965397,287.64164332106,293.89667226994,300.28772424256,306.81775371411,313.48978461115,320.30690488373,327.27226963218,334.38910256736,341.66069947616,349.09042189481,356.68171037974,367.64079770339,375.63548096925,383.80401588848,392.15018302326,400.67784514756,409.39095139962,418.29352970104,427.38970265849,436.68368016368,446.1797636563,459.88868900496,469.88938665048,480.10755840871,490.54793493862,501.21534712998,512.11473036853,523.2511306012],description:"Cycle of 31 thirds tempered by 1/9 Wuerschmidt comma"},temp32ebf:{frequencies:[261.6255653006,266.99024669658,272.64192755012,278.59596223891,284.86852586219,291.47665855944,298.4383110444,304.47357861204,310.83171904039,317.53000821614,324.58664278196,332.02079024875,339.85265231199,346.64232633314,353.79523650997,361.33080945807,369.26952339658,377.6329406438,386.44378308989,395.72598875513,403.77301123196,412.25053247262,421.18158418009,430.59042797451,440.50262726312,450.945108697,459.9980085603,469.53522100534,479.58265227668,490.16760508681,501.31882698223,513.0666164148,523.2511306012],description:"Cycle of 32 equal beating fifths"},temp33a12:{frequencies:[261.6255653006,266.94139439278,272.36523138282,277.89927397158,284.73748648557,290.5229142688,296.42589304627,302.44880952638,308.5941041528,316.1876182869,322.61206437627,329.16704532903,335.85521147284,342.67927280589,351.11151394887,358.24555988319,365.52455654698,372.95145333883,382.12859604556,389.89286138208,397.81488464837,405.89786889835,414.14508930077,424.3358756666,432.95772800787,441.75476312782,450.73053786756,459.88868900496,471.20507923536,480.77924170569,490.54793493862,500.51511311891,512.83118959171,523.2511306012],description:'Cycle of 33 fifths tempered by 1/12 "11 fifths" comma'},temp34eb2a:{frequencies:[261.6255653006,267.30377714022,273.10522651459,279.03258811962,285.08859470169,291.27603831759,293.96161656556,300.34163653669,306.86012579271,313.52008961307,320.32459850253,327.27678960683,334.37986815896,341.63710895701,349.05185787385,356.62753339984,364.36762821878,372.27571081823,375.70810971034,383.86232137672,392.19350864246,400.70551251195,409.40225735312,418.28775270674,427.36609513501,436.64147011015,446.11815394416,455.80051576031,465.69301950749,469.98673021106,480.18712562304,490.60890615053,501.2568766435,512.13594623433,523.2511306012],description:"Cycle of 34 thirds, 5/4 beats twice 3/2"},temp34ebsi:{frequencies:[261.6255653006,266.99788221884,272.57696520339,278.14698300137,283.93137567849,289.70637009331,295.70363067102,301.69114426564,307.90910207865,314.36637542255,320.81315450625,327.50805511637,334.19207543599,341.13334896852,348.06334108321,355.26005273528,362.44506998142,369.90662102486,377.65534755435,385.39148338011,393.42536256589,401.44618836017,409.77571602141,418.09170597447,426.72775997548,435.3497813463,444.30364141769,453.60211446558,462.88547695756,472.52613162558,482.15112257833,492.14655599832,502.125745683,512.48900933996,523.2511306012],description:"Cycle of 34 equal beating major sixths"},temp34ebt:{frequencies:[261.6255653006,266.93199967636,272.36578831151,277.92998813547,283.62773001764,289.46221547291,295.43672985114,301.55463262869,307.81936583026,314.23445063866,320.80349820247,327.5302045997,334.16324661664,340.95548417522,347.91073392156,355.03290870525,362.32601803901,369.79415983503,377.44153922514,385.2724539348,393.29131162714,401.50262139782,409.91100286066,418.20230551726,426.69260242977,435.3866631899,444.28938530291,453.40576935587,462.74094691381,472.3001707563,482.08881469934,492.11238732973,502.37652397446,512.8870010249,523.2511306012],description:"Cycle of 34 equal beating thirds"},temp34w10:{frequencies:[261.6255653006,267.37376533775,273.24825962152,279.25182297475,281.06516151868,287.24047076273,293.55146000581,300.00110689476,306.59245933664,313.32863150945,320.21280450383,327.24823031411,334.4382321302,341.78620813039,349.29562523194,351.5637974276,359.28803828513,367.18199034811,375.24938058245,383.49402021056,391.91980359563,400.53071066429,409.33081115087,418.32425711308,427.51529892703,436.90827798988,446.50763144636,449.40705529895,459.28102021135,469.37192694062,479.68454193593,490.22373920221,500.99449133668,512.00188868489,523.2511306012],description:"Cycle of 34 thirds tempered by 1/10 Wuerschmidt comma"},temp34w5:{frequencies:[261.6255653006,266.84400329087,272.16653090376,277.59522118835,285.18293865736,290.87125860088,296.67303727804,302.5905394405,308.62607485572,314.78199505921,321.06070411799,327.46464776022,333.99632772474,340.65828815182,347.45313114562,356.95032497057,364.07013256472,371.33195122039,378.73861781039,386.29301712643,393.99809806388,401.85686830172,409.8723892274,418.04779164423,426.38625992488,434.89105154177,443.56547936435,455.68978545099,464.77906877635,474.04965097839,483.50514461458,493.14924173292,502.98569917153,513.01835960126,523.2511306012],description:"Cycle of 34 thirds tempered by 1/5 Wuerschmidt comma"},temp34w6:{frequencies:[261.6255653006,267.02047390967,272.52663052146,278.06968704778,283.80368699438,289.65592453275,295.6288411546,301.72492193478,307.94670831505,314.29679425134,320.77782174252,327.39249271371,334.14356492035,341.03384719449,348.06621207862,355.14570764395,362.46906930947,369.94344613252,377.57194788125,385.35775486011,393.30411308867,401.41432870635,409.69178284295,418.13992649314,426.76227456772,435.56242170336,444.42154779224,453.58584388327,462.93911228358,472.48525217168,482.22824196207,492.17213857029,502.32108537715,512.67931193931,523.2511306012],description:"Cycle of 34 thirds tempered by 1/6 Wuerschmidt comma"},temp34w7:{frequencies:[261.6255653006,267.14659557842,272.78413659373,276.97759061533,282.82259314675,288.79093992594,294.88523549471,301.10813946365,307.46236235072,313.95067836072,320.57591524951,327.34096447962,334.24877325582,341.30235609413,348.50479124753,353.86228320674,361.3297679824,368.9548354601,376.74081403286,384.69109896591,392.80915578714,401.0985286019,409.56282802254,418.20574780595,427.03105980737,436.04260883433,442.74580331919,452.08897683944,461.62931955889,471.37098776125,481.31823237599,491.47539447856,501.84689823661,512.43727265667,523.2511306012],description:"Cycle of 34 thirds tempered by 1/7 Wuerschmidt comma"},temp34w8:{frequencies:[261.6255653006,267.24122592191,272.97742543896,276.16133434798,282.08899791039,288.14389744169,294.32876096318,300.64638059818,307.09960331181,313.69134300364,320.42456924675,327.30232268102,334.32770172848,341.50387698892,348.83408706747,352.90276052629,360.47764004221,368.21511264804,376.11866406852,384.19186344763,392.4383479509,400.86184099795,409.46613795376,418.25512179799,427.23275920923,436.40309460541,441.49314144476,450.96957067185,460.64940473745,470.53701427025,480.63685362987,490.95348377613,501.49155234204,512.25581818623,523.2511306012],description:"Cycle of 34 thirds tempered by 1/8 Wuerschmidt comma"},temp34w9:{frequencies:[261.6255653006,267.31485098896,273.12785536516,279.06726965397,281.5197407082,287.64164332106,293.89667226994,300.28772424256,306.81775371411,313.48978461115,320.30690488373,327.27226963218,334.38910256736,341.66069947616,349.09042189481,352.15826244648,359.81626391233,367.64079770339,375.63548096925,383.80401588848,392.15018302326,400.67784514756,409.39095139962,418.29352970104,427.38970265849,436.68368016368,440.52130132575,450.10083737825,459.88868900496,469.88938665048,480.10755840871,490.54793493862,501.21534712998,512.11473036853,523.2511306012],description:"Cycle of 34 thirds tempered by 1/9 Wuerschmidt comma"},temp35ebsi:{frequencies:[261.6255653006,266.57889315685,271.71450319234,277.03910343536,282.55964921963,288.28335166643,294.21768457231,300.3704033182,306.74954035112,312.48255822683,318.42655208483,324.58928450704,330.97880464114,337.6034601246,344.47190142434,351.59310182482,358.97636423712,366.63132974323,373.51095055492,380.64374131787,388.03901984907,395.70644562254,403.65603146762,411.89816253905,420.4436041444,429.30351656419,438.48947534443,446.74502047858,455.30437022365,464.17870575399,473.37961532931,482.91911915131,492.80967579032,503.06420520117,513.69610107468,523.2511306012],description:"Cycle of 35 equal beating major sixths"},temp37ebs:{frequencies:[261.6255653006,266.54882370674,271.76117582243,276.81154351547,282.15846820925,287.3392230449,292.82419544994,298.13870690002,303.76528724985,309.7222634282,315.49411047005,321.60488016898,327.52574544851,333.79428377068,339.86801168664,346.29839044807,353.1063601343,359.70275861181,366.68649693083,373.45319917734,380.61724149647,387.55864668979,394.907650003,402.68818871569,410.22692643911,418.2083422233,425.94171605945,434.12919568644,442.06222705415,450.46108885682,459.35313199837,467.96883572953,477.09045247204,485.92859505436,495.28571063961,504.35203618851,513.95073426779,523.2511306012],description:"Cycle of 37 equal beating sevenths"},temp37ebt:{frequencies:[261.6255653006,266.44794669373,271.38606435347,276.44269655507,281.62068893017,286.92295259461,292.35247205526,297.91229840101,303.60556084342,309.43546158348,315.40528084,321.51837488336,327.7781831369,333.8061589736,339.9788066307,346.29959662983,352.77208770341,359.39991652139,366.18681567584,373.13659908053,380.25317623321,387.54055229398,395.00282568127,402.64419215928,410.46895395112,418.00392297279,425.71973353547,433.62072344005,441.71133574434,449.99612361773,458.47974493329,467.16697490003,476.06269518051,485.17191513214,494.49975815874,504.05146656861,513.83241864047,523.2511306012],description:"Cycle of 37 equal beating thirds"},temp3ebt:{frequencies:[261.6255653006,330.24866439584,416.02753826489,523.2511306012],description:"Cycle of 3 equal beating thirds"},temp4ebmt:{frequencies:[261.6255653006,310.36356181711,368.84915763691,439.03187262068,523.2511306012],description:"Cycle of 4 equal beating minor thirds"},temp4ebsi:{frequencies:[261.6255653006,310.92686529443,370.08842528703,441.08229727815,523.2511306012],description:"Cycle of 4 equal beating major sixths"},temp53ebs:{frequencies:[261.6255653006,264.97369574946,268.51842903659,272.2713107977,275.7058824095,279.342132921,283.19190440533,286.71515038985,290.44528277978,294.39444663109,298.00865518834,301.83509073593,305.88621462445,310.17522146598,314.10044576101,318.25616227247,322.65590013911,326.68246801001,330.94547393755,335.45880590636,339.58933056423,343.96239778214,348.59225483118,353.4939765515,357.97994689961,362.72933676467,367.75761084241,372.35940104854,377.23140801172,382.38950169412,387.11009989437,392.10789272021,397.3991578827,403.00112480292,408.12795020911,413.55582307376,419.3024201087,424.56160969567,430.12961973912,436.02458225248,441.41955172249,447.13131541518,453.17847579573,459.58072182695,465.43995070361,471.64323472325,478.21077610462,484.22127701861,490.5847168482,497.32181757346,503.48749858841,510.01522804676,516.92626488088,523.2511306012],description:"Cycle of 53 equal beating harmonic sevenths"},temp53ebsi:{frequencies:[261.6255653006,265.08815342092,268.54511416675,272.14096825888,275.73097879106,279.31515577755,283.04333763043,286.76545980208,290.48153462492,294.34691329876,298.20601137227,302.05883614112,306.06646174912,310.06757319581,314.22944103195,318.38454699407,322.53289853772,326.84792360782,331.1559371129,335.45694960827,339.93076775401,344.39731584765,348.85660497561,353.49505873963,358.12597594237,362.74936749482,367.55851619873,372.35985057275,377.35409330215,382.34021841275,387.3182413058,392.49627136254,397.66588656991,402.8271015422,408.19568270781,413.55554119639,418.90668980097,424.47283359145,430.02993471298,435.57800299537,441.34898312942,447.11058430799,453.10367443873,459.08702461554,465.06065502782,471.27428848056,477.47782740925,483.67128540638,490.11358366391,496.54541154487,502.96678854317,509.64616466331,516.31468511822,523.2511306012],description:"Cycle of 53 equal beating major sixths"},temp53ebt:{frequencies:[261.6255653006,265.06408390481,268.61942739596,272.14046995187,275.78114176924,279.3866896354,283.11473715719,286.8068186786,290.62433945466,294.40503066492,298.31417332138,302.18560037327,306.18856199636,310.15290198883,314.25193588094,318.31142144389,322.50883104059,326.66574402863,330.9638909587,335.40807143415,339.80937339101,344.36021509659,348.86714800611,353.52720940583,358.14231011275,362.91421253104,367.64007568808,372.5265022753,377.36578530136,382.3694885676,387.32491504393,392.44870495902,397.52306357866,402.76982394565,407.96596497751,413.33865052838,418.89387526617,424.39550434456,430.08405345947,435.71772111176,441.54279782575,447.31167294612,453.27655186057,459.18388087721,465.29191391782,471.34101945319,477.59564801313,483.78993007475,490.19466758193,496.53761595054,503.09606844751,509.59124455492,516.30709807412,523.2511306012],description:"Cycle of 53 equal beating thirds"},temp57ebs:{frequencies:[261.6255653006,264.8277951114,268.04955507264,271.33445958124,274.63939933433,278.00911284632,281.39937814535,284.85609135359,288.33388628378,291.8798428433,295.4474281527,299.08493440323,302.74462553584,306.42663750246,310.18081323211,313.95788745209,317.80898926922,321.68357852782,325.63410692083,329.60872876069,333.66125215256,337.73849074816,341.89564167341,346.07814569972,350.28615866377,354.57664765081,358.89330206442,363.2945606359,367.72266219717,372.23755268366,376.77997919433,381.41143316036,386.07113633698,390.82216502962,395.60217018381,400.41132814233,405.3147417445,410.24806349136,415.27807310888,420.33876095689,425.4986359826,430.68997922537,435.98307052812,441.30844296951,446.73819252663,452.20105472878,457.69723413281,463.30113726238,468.93921588924,474.68780077646,480.47144432851,486.36844238798,492.30140788993,498.35065469266,504.4367956254,510.6422225112,516.88549425379,523.2511306012],description:"Cycle of 57 equal beating harmonic sevenths"},temp59ebt:{frequencies:[261.6255653006,264.71774803536,267.84005552541,271.00645194849,274.20369404321,277.44608402629,280.72006081878,284.04026812198,287.39281927261,290.79271098314,294.22572486522,297.70721418515,301.22261902261,304.78766466692,308.38743972219,312.03804524126,315.72421513091,319.46243532331,323.23707283878,327.06501147453,330.93024062011,334.83312418563,338.79111909993,342.78767359614,346.84065928187,350.93313112856,355.08338946648,359.27407840069,363.52394351295,367.81521017702,372.16707169716,376.56132871014,381.01763522853,385.51735474883,390.08061088885,394.68832388107,399.36109834092,404.07939600279,408.86431870994,413.69585627072,418.57446131049,423.52195428502,428.51764625978,433.58387848862,438.69946807471,443.88729218006,449.12565432864,454.4379830027,459.80206875391,465.24189440938,470.73471441434,476.30509804765,481.92974808423,487.63381799831,493.39345924022,499.23442935246,505.13230099895,511.11345315981,517.15287439575,523.2511306012],description:"Cycle of 59 equal beating thirds"},temp5ebf:{frequencies:[261.6255653006,300.99242152138,345.28013476976,397.76927639746,456.81956072863,523.2511306012],description:"Cycle of 5 equal beating fifths"},temp5ebs:{frequencies:[261.6255653006,300.72264357012,345.40501873528,396.4705903526,454.83124362955,523.2511306012],description:"Cycle of 5 equal beating harmonic sevenths"},temp6:{frequencies:[261.6255653006,292.50629174609,327.17562781541,373.91502405318,418.23333786749,467.5991148023,523.2511306012],description:"Tempered wholetone scale with approximations to 5/4 (4), 7/5 (4) and 7/4 (1)"},temp65ebf:{frequencies:[261.6255653006,264.41601755103,267.24454169377,270.11165630441,273.01788702098,275.96376822181,278.903505094,281.88335012505,284.90384796088,287.96555727487,291.06903608099,294.16604397209,297.30530343106,300.48739162418,303.71289539257,306.98240612292,310.29652144782,313.60372560746,316.95605020285,320.35411162765,323.7985328567,327.28994911888,330.77408078649,334.30574717623,337.88559766085,341.51429052286,345.19248907458,348.92086961342,352.64147345074,356.41283883338,360.23565716142,364.11063345825,368.0384739541,371.95812372083,375.93124824951,379.95858022583,384.04085801267,388.17883226226,392.30817269042,396.49385281186,400.73664000181,405.03730976228,409.39665754461,413.81548025993,418.22508312451,422.69484912531,427.22559773342,431.81816208034,436.47338166162,441.11888946365,445.82778005125,450.60091414809,455.43916939942,460.34343547357,465.31460883154,470.27541574397,475.30390033467,480.4009926512,485.56762723834,490.80474851567,496.03094699932,501.32844669322,506.69822455894,512.14126217109,517.65855736571,523.2511306012],description:"Cycle of 65 equal beating fifths"},temp65ebt:{frequencies:[261.6255653006,264.43406811535,267.2034679247,270.07937559507,272.91523803531,275.86016780291,278.76409255008,281.77970028627,284.75331888701,287.84130158502,290.886287826,294.04838131756,297.16644728835,300.4044304772,303.59732911309,306.91302510559,310.18255295306,313.57782661988,316.92582314139,320.40258196387,323.83093239735,327.39113302053,330.90176198948,334.36350914498,337.95839429282,341.50322405771,345.18438591943,348.81429298672,352.58380229516,356.30082494405,360.1608038988,363.96703524466,367.91965255368,371.81723365001,375.86471396542,379.85583700975,384.00045811272,388.08736764479,392.33145942297,396.5164558179,400.86240365726,405.1478399234,409.59809307723,413.98637838791,418.31356254814,422.80716945583,427.23820566351,431.83965831621,436.37704077554,441.08892851835,445.73520856761,450.56017999004,455.31796985254,460.25874195194,465.13071889642,470.19006822446,475.1789734801,480.35974823468,485.46838574269,490.77349931217,496.0047455553,501.43718079349,506.7939752079,512.35679191473,517.84214996629,523.2511306012],description:"Cycle of 65 equal beating thirds"},temp6eb2:{frequencies:[261.6255653006,293.46010680596,329.2739659995,369.56455759223,414.89147313404,465.88425311859,523.2511306012],description:"Cycle of 6 equal beating 9/8 seconds"},temp6s:{frequencies:[261.6255653006,271.93638072959,309.96730300827,353.31693843766,402.72911708552,459.05170412301,523.2511306012],description:"Cycle of 6 tempered harmonic sevenths, 6/5 and 4/3 minimax, Op de Coul, 2002"},temp6teb:{frequencies:[261.6255653006,314.31996068356,377.55323514312,453.43316449459,544.48907971635,653.75617798246,784.8766959018],description:"Cycle of 6 equal beating 6/5's in a twelfth"},"temp7-5ebf":{frequencies:[261.6255653006,272.53310095338,288.29512120063,313.54121701986,318.29837158817,352.05202827415,359.67534615791,387.61143614087,414.35283422339,427.61576999092,475.86500581459,472.62064557223,523.2511306012],description:"7 equal beating fifths on white, 5 equal beating fifths on black"},temp7ebf:{frequencies:[261.6255653006,288.29512120063,318.29837158817,352.05202827415,387.61143614087,427.61576999092,472.62064557223,523.2511306012],description:"Cycle of 7 equal beating fifths"},temp7ebnt:{frequencies:[261.6255653006,288.84289825546,318.65722544634,351.9228541964,388.36258888271,429.02057812008,473.55803233064,523.2511306012],description:"Cycle of 7 equal beating 11/9 neutral thirds"},temp8eb3q:{frequencies:[261.6255653006,285.27029088455,311.06453578321,339.20371183191,369.9009952302,403.38894083349,439.92124473489,479.77466958441,523.2511306012],description:`Cycle of 8 equal "beating" 12/11's`},temp9ebmt:{frequencies:[261.6255653006,282.57058469242,305.18178513943,329.6176429161,355.99737593287,384.50587463168,415.28223014648,448.54214811156,484.4478959333,523.2511306012],description:"Cycle of 9 equal beating 7/6 septimal minor thirds"},tenney_11:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,457.84473927605,523.2511306012],description:`Scale of James Tenney's "Spectrum II" for wind quintet`},tertiadia:{frequencies:[261.6255653006,279.06726965397,297.67175429757,306.59245933664,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,431.14564594215,459.88868900496,490.54793493862,523.2511306012],description:"Tertiadia 2048/2025 and 262144/253125 scale"},tertiadie:{frequencies:[261.6255653006,279.06726965397,297.67175429757,306.59245933664,327.03195662575,348.83408706747,372.08969287196,383.2405741708,408.78994578219,436.04260883433,476.27480687611,490.54793493862,523.2511306012],description:"First Tertiadie 262144/253125 and 128/125 scale"},tet3a:{frequencies:[261.6255653006,280.31310567921,313.95067836072,336.37572681506,366.27579142084,392.4383479509,418.60090448096,448.50096908674,523.2511306012],description:"Eight notes, two major one minor tetrad"},tetracot:{frequencies:[261.6255653006,266.81074454173,272.09868928948,277.49143626213,289.66902367154,295.4099985897,301.26475437609,307.23554606336,320.71844041089,327.07478634962,333.55710924695,340.16790585091,355.09602205939,362.13370020095,369.31085868177,376.6302618745,393.15851224787,400.95055410677,408.89702710335,417.00099192139,435.30089370336,443.92815899023,452.72640877864,461.69903182491,481.96048707062,491.51250279099,501.25383072009,523.2511306012],description:"tetracot temperament, g=176.28227, 5-limit"},"tetragam-di":{frequencies:[261.6255653006,279.06726965397,290.69507255622,290.69507255622,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,436.04260883433,457.84473927605,523.2511306012],description:"Tetragam Dia2"},"tetragam-enh":{frequencies:[261.6255653006,271.31540105247,279.06726965397,279.06726965397,327.03195662575,348.83408706747,366.27579142084,392.4383479509,406.97310157871,418.60090448096,418.60090448096,457.84473927605,523.2511306012],description:"Tetragam Enharm."},"tetragam-hex":{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,327.03195662575,343.38355445704,381.53728273004,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Tetragam/Hexgam"},"tetragam-py":{frequencies:[261.6255653006,275.62199471997,294.32876096318,294.32876096318,331.11985608357,348.83408706747,372.50983809402,392.4383479509,413.43299207996,441.49314144476,441.49314144476,465.11211608996,523.2511306012],description:"Tetragam Pyth."},"tetragam-slpe":{frequencies:[261.6255653006,261.6255653006,300.52885648597,300.52885648597,279.06726965397,345.21700307457,348.83408706747,396.55020354877,455.51656649021,392.4383479509,455.51656649021,418.60090448096,523.2511306012],description:"Tetragam Slendro as 5-tET, Pelog-like pitches on C# E F# A B"},"tetragam-slpe2":{frequencies:[261.6255653006,261.6255653006,300.52885648597,300.52885648597,286.29520819723,345.21700307457,313.29104303136,396.55020354877,396.55020354877,387.04559340587,455.51656649021,423.54155496477,523.2511306012],description:"Tetragam Slendro as 5-tET, Pelog-like pitches on C# E F# A B"},"tetragam-sp":{frequencies:[261.6255653006,271.31540105247,271.31540105247,271.31540105247,336.37572681506,348.83408706747,366.27579142084,392.4383479509,406.97310157871,406.97310157871,406.97310157871,457.84473927605,523.2511306012],description:"Tetragam Septimal"},"tetragam-un":{frequencies:[261.6255653006,269.80136421624,285.40970760065,285.40970760065,319.76457981184,348.83408706747,359.73515228832,392.4383479509,404.70204632437,428.11456140098,428.11456140098,479.64686971777,523.2511306012],description:"Tetragam Undecimal"},tetragam13:{frequencies:[261.6255653006,275.95382006469,307.00724256551,307.00724256551,341.55514486295,341.55514486295,400.80167111126,400.80167111126,445.90437572008,445.90437572008,445.90437572008,496.08254310677,523.2511306012],description:"Tetragam (13-tET)"},tetragam5:{frequencies:[261.6255653006,300.52885648597,300.52885648597,300.52885648597,300.52885648597,345.21700307457,345.21700307457,396.55020354877,455.51656649021,455.51656649021,455.51656649021,455.51656649021,523.2511306012],description:"Tetragam (5-tET)"},tetragam7:{frequencies:[261.6255653006,288.85811466493,288.85811466493,288.85811466493,318.92511007349,352.12195684808,352.12195684808,388.77403176757,429.24143792307,429.24143792307,429.24143792307,473.92081401802,523.2511306012],description:"Tetragam (7-tET)"},tetragam8:{frequencies:[261.6255653006,285.30470202322,311.12698372208,311.12698372208,339.28638158975,339.28638158975,403.48177901006,403.48177901006,440,440,440,440,523.2511306012],description:"Tetragam (8-tET)"},tetragam9a:{frequencies:[261.6255653006,282.57118533961,305.19387818096,305.19387818096,329.62755691287,356.01738450312,415.30469757995,415.30469757995,448.55379686399,448.55379686399,448.55379686399,484.46508327871,523.2511306012],description:"Tetragam (9-tET) A"},tetragam9b:{frequencies:[261.6255653006,282.57118533961,282.57118533961,282.57118533961,305.19387818096,305.19387818096,384.52019141924,384.52019141924,415.30469757995,415.30469757995,415.30469757995,448.55379686399,523.2511306012],description:"Tetragam (9-tET) B"},tetraphonic_31:{frequencies:[261.6255653006,266.96486255163,272.52663052146,278.32506946872,284.37561445717,290.69507255622,297.30177875068,304.21577360535,311.45900631024,319.05556743976,327.03195662575,333.99008336247,341.25073734861,348.83408706747,356.76213450082,365.05892832642,373.75080757229,382.86668092771,392.4383479509,400.61414686654,409.13785211902,418.03215325205,427.32175665765,437.0336147635,447.19718719986,457.84473927605,467.58611670746,477.75103228805,488.36772189445,499.46698830115,511.08249965699,523.2511306012],description:"31-tone Tetraphonic Cycle, conjunctive form on 5/4, 6/5, 7/6 and 8/7"},tetratriad:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"4:5:6 Tetratriadic scale"},tetratriad1:{frequencies:[261.6255653006,290.69507255622,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"3:5:9 Tetratriadic scale"},tetratriad2:{frequencies:[261.6255653006,296.75121990114,305.22982618403,356.10146388137,373.75080757229,415.4517078616,436.04260883433,448.50096908674,508.71637697339,523.2511306012],description:"3:5:7 Tetratriadic scale"},thailand:{frequencies:[261.6255653006,281.86483947605,307.02089761314,350.84574289301,397.92692612688,408.40584780369,474.03826620294,539.82938999168],description:"Observed ranat tuning from Thailand, Helmholtz/Ellis p. 518, nr.85"},thailand2:{frequencies:[261.6255653006,293.66476791741,318.39923223688,356.77227917518,391.76907592069,435.19747628762,477.88722128969,525.37110555681],description:"Observed ranat t'hong tuning, Helmholtz/Ellis p. 518"},thailand3:{frequencies:[261.6255653006,293.32570896007,322.47117131255,354.92237405774,396.55020354877,437.46578647972,488.21056770985,538.58355905405],description:"Observed tak'hay tuning. Helmholtz, p. 518"},thailand4:{frequencies:[261.6255653006,281.88044777549,304.38587215019,332.5176539627,392.71966479735,416.35036198375,461.923848369,523.2511306012,563.76089555097,608.77174430039,665.59794246809,786.00196746963,831.57545378481,924.97296635309,1046.5022612024,1127.52179110194],description:"Khong mon (bronze percussion vessels) tuning, Gemeentemuseum Den Haag 1/1=465"},thirds:{frequencies:[261.6255653006,272.52663052146,290.69507255622,313.95067836072,327.03195662575,348.83408706747,363.36884069528,392.4383479509,418.60090448096,436.04260883433,454.2110508691,502.32108537715,523.2511306012],description:"Major and minor thirds parallellogram"},thomas:{frequencies:[261.6255653006,280.80530480292,294.66217084622,313.95044496966,332.05645032639,350.21604710412,374.62015588545,391.99543598175,420.73257541073,441.99197952365,468.79922683914,499.49209883845,523.2511306012],description:"Tuning of the Thomas/Philpott organ, Gereformeerde Kerk, St. Jansklooster"},tiby1:{frequencies:[261.6255653006,295.66718139806,337.56154978455,348.04364484358,393.32961502355,444.50800708553,507.49227916989,523.2511306012],description:"Tiby's 1st Byzantine Liturgical genus, 12 + 13 + 3 parts"},tiby2:{frequencies:[261.6255653006,295.66718139806,311.12698372208,348.04364484358,393.32961502355,444.50800708553,467.75037672729,523.2511306012],description:"Tiby's second Byzantine Liturgical genus, 12 + 5 + 11 parts"},tiby3:{frequencies:[261.6255653006,295.66718139806,324.07484847125,348.04364484358,393.32961502355,444.50800708553,487.21628271135,523.2511306012],description:"Tiby's third Byzantine Liturgical genus, 12 + 9 + 7 parts"},tiby4:{frequencies:[261.6255653006,286.76251801126,324.07484847125,348.04364484358,393.32961502355,431.12067692221,487.21628271135,523.2511306012],description:"Tiby's fourth Byzantine Liturgical genus, 9 + 12 + 7 parts"},todi_av:{frequencies:[261.6255653006,276.38325105256,310.05056613125,371.27895029721,392.44854854484,413.39000965417,495.88429116026,523.2511306012],description:"Average of 8 interpretations of raga Todi, in B. Bel, 1988."},tonos15_pis:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,383.71749577421,442.75095666255,479.64686971777,523.2511306012,548.16785110602,575.57624366132,639.52915962369,719.47030457665,767.43499154843,885.50191332511,959.29373943553,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-15"},tonos17_pis:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,369.35373924791,418.60090448096,483.00104363188,523.2511306012,546.00117975777,570.81941520131,627.90135672144,697.66817413493,738.70747849581,784.8766959018,897.00193817349,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-17"},tonos19_pis:{frequencies:[261.6255653006,281.75060878526,305.22982618403,332.97799220076,385.55346465352,406.97310157871,457.84473927605,523.2511306012,542.63080210495,563.50121757052,610.45965236807,665.95598440153,771.10692930703,813.94620315742,915.6894785521,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-19"},tonos21_pis:{frequencies:[261.6255653006,299.00064605783,322.00069575458,348.83408706747,398.6675280771,440.63253103259,465.11211608996,523.2511306012,558.13453930795,598.00129211566,644.00139150917,697.66817413493,797.33505615421,881.26506206518,930.22423217991,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-21"},tonos23_pis:{frequencies:[261.6255653006,294.32876096318,336.37572681506,362.25078272391,409.50088481833,448.50096908674,470.92601754108,523.2511306012,554.03060887186,588.65752192635,672.75145363011,724.50156544782,819.00176963666,897.00193817349,941.85203508216,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-23"},tonos25_pis:{frequencies:[261.6255653006,294.32876096318,336.37572681506,362.25078272391,376.74081403286,428.11456140098,470.92601754108,523.2511306012,554.03060887186,588.65752192635,672.75145363011,724.50156544782,753.48162806573,856.22912280196,941.85203508216,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-25"},tonos27_pis:{frequencies:[261.6255653006,290.69507255622,327.03195662575,373.75080757229,387.59343007496,436.04260883433,498.33441009638,523.2511306012,550.79066379074,581.39014511244,654.0639132515,747.50161514457,775.18686014993,872.08521766867,996.66882019276,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-27"},tonos29_pis:{frequencies:[261.6255653006,287.78812183066,319.76457981184,359.73515228832,396.94913355953,442.75095666255,479.64686971777,523.2511306012,548.16785110602,575.57624366132,639.52915962369,719.47030457665,793.89826711906,885.50191332511,959.29373943553,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-29"},tonos31_pis:{frequencies:[261.6255653006,273.51763645063,300.86940009569,334.29933343966,388.21858076863,429.81342870813,462.87600014722,501.44900015948,523.2511306012,547.03527290125,601.73880019138,668.59866687931,776.43716153726,859.62685741626,925.75200029443,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-31"},tonos31_pis2:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,405.0976494977,448.50096908674,483.00104363188,523.2511306012,546.00117975777,570.81941520131,627.90135672144,697.66817413493,810.19529899541,897.00193817349,966.00208726375,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-31B"},tonos33_pis:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012,546.00117975777,570.81941520131,627.90135672144,697.66817413493,761.09255360175,837.20180896192,930.22423217991,1046.5022612024],description:"Diatonic Perfect Immutable System in the new Tonos-33"},top31:{frequencies:[261.6255653006,267.49189720203,273.48976766293,279.62212612306,285.89198815637,292.30243695391,298.85662483994,305.55777482212,312.40918217641,319.41421606749,326.57632120555,333.89901954025,341.38591199258,349.04068022565,358.99452880887,367.04412845091,375.2742212459,383.6888543241,392.29216556304,401.08838562235,410.08184002413,419.27695128006,428.67824106611,438.29033244612,448.11795214515,458.16593287385,468.4392157049,478.94285250284,489.68200840824,500.66196437769,511.88811978069,523.36599505479],description:"Top temperament, 11-limit, {225/224, 385/384, 1331/1323}, Gene Ward Smith"},trab19:{frequencies:[261.6255653006,279.06726965397,294.32876096318,297.67175429757,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,367.91095120397,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,459.88868900496,465.11211608996,490.54793493862,523.2511306012],description:"Diamond {1,3,5,45,75,225}"},trab19a:{frequencies:[261.6255653006,279.06726965397,294.32876096318,297.67175429757,306.59245933664,313.95067836072,327.03195662575,344.91651675372,348.83408706747,367.91095120397,372.08969287196,392.4383479509,396.89567239676,418.60090448096,436.04260883433,446.50763144636,459.88868900496,465.11211608996,490.54793493862,523.2511306012],description:"Diamond {1,3,9,15,675}"},tranh:{frequencies:[261.6255653006,290.69507255622,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"Bac Dan Tranh scale, Vietnam"},tranh2:{frequencies:[261.6255653006,290.69507255622,307.79478270659,392.4383479509,436.04260883433,523.2511306012],description:"Dan Ca Dan Tranh Scale"},tranh3:{frequencies:[261.6255653006,317.68818643644,348.83408706747,392.4383479509,473.41768959156,476.53227965466,523.2511306012],description:"Sa Mac Dan Tranh scale"},"tri12-1":{frequencies:[261.6255653006,264.29521392612,275.21650375777,319.76457981184,323.02748368748,332.97799220076,336.37572681506,406.97310157871,411.12588832951,428.11456140098,432.48307733364,502.48719684718,523.2511306012],description:"12-tone Tritriadic of 7:9:11"},"tri12-2":{frequencies:[261.6255653006,294.32876096318,305.22982618403,336.37572681506,348.83408706747,356.10146388137,392.4383479509,406.97310157871,448.50096908674,457.84473927605,474.80195184183,504.56359022259,523.2511306012],description:"12-tone Tritriadic of 6:7:9"},"tri19-1":{frequencies:[261.6255653006,266.96486255163,269.10058145205,305.22982618403,311.45900631024,313.95067836072,320.35783506196,356.10146388137,363.36884069528,366.27579142084,373.75080757229,376.74081403286,384.42940207435,427.32175665765,436.04260883433,439.53094970501,448.50096908674,508.71637697339,512.78610798918,523.2511306012],description:"3:5:7 Tritriadic 19-Tone Matrix"},"tri19-2":{frequencies:[261.6255653006,282.55561052465,290.69507255622,294.32876096318,313.95067836072,322.99452506247,327.03195662575,348.83408706747,353.19451315581,363.36884069528,376.74081403286,387.59343007496,392.4383479509,418.60090448096,423.83341578697,436.04260883433,465.11211608996,470.92601754108,484.4917875937,523.2511306012],description:"3:5:9 Tritriadic 19-Tone Matrix"},"tri19-3":{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,334.88072358477,348.83408706747,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"4:5:6 Tritriadic 19-Tone Matrix"},"tri19-4":{frequencies:[261.6255653006,264.89588486686,290.69507255622,294.32876096318,322.99452506247,327.03195662575,331.11985608357,334.88072358477,363.36884069528,367.91095120397,372.08969287196,376.74081403286,408.78994578219,413.43299207996,418.60090448096,423.83341578697,465.11211608996,470.92601754108,516.79124009995,523.2511306012],description:"4:5:9 Tritriadic 19-Tone Matrix"},"tri19-5":{frequencies:[261.6255653006,266.96486255163,284.8811711051,290.69507255622,302.73815413355,316.53463456122,322.99452506247,329.64821227876,336.37572681506,366.27579142084,373.75080757229,406.97310157871,415.27867508032,423.83341578697,432.48307733364,452.19233508746,470.92601754108,480.53675259294,512.78610798918,523.2511306012],description:"5:7:9 Tritriadic 19-Tone Matrix"},"tri19-6":{frequencies:[261.6255653006,267.07609791103,294.32876096318,299.00064605783,305.22982618403,336.37572681506,341.71502406609,343.38355445704,348.83408706747,356.10146388137,384.42940207435,392.4383479509,398.6675280771,400.61414686654,406.97310157871,448.50096908674,457.84473927605,465.11211608996,512.57253609913,523.2511306012],description:"6:7:8 Tritriadic 19-Tone Matrix"},"tri19-7":{frequencies:[261.6255653006,271.31540105247,288.32205155576,294.32876096318,299.00064605783,305.22982618403,316.53463456122,336.37572681506,348.83408706747,356.10146388137,384.42940207435,392.4383479509,406.97310157871,432.48307733364,448.50096908674,457.84473927605,465.11211608996,474.80195184183,504.56359022259,523.2511306012],description:"6:7:9 Tritriadic 19-Tone Matrix"},"tri19-8":{frequencies:[261.6255653006,264.29521392612,272.43653907335,275.21650375777,316.53463456122,319.76457981184,323.02748368748,332.97799220076,336.37572681506,350.27555023717,390.82337532559,406.97310157871,411.12588832951,423.79017189188,428.11456140098,432.48307733364,497.4115685962,502.48719684718,517.96576564563,523.2511306012],description:"7:9:11 Tritriadic 19-Tone Matrix"},"tri19-9":{frequencies:[261.6255653006,266.96486255163,286.15296204753,293.02063313667,299.00064605783,320.49131749323,327.03195662575,334.88072358477,341.71502406609,366.27579142084,373.75080757229,400.61414686654,408.78994578219,418.60090448096,427.14378008261,457.84473927605,467.18850946536,478.40103369253,512.78610798918,523.2511306012],description:"4:5:7 Tritriadic 19-Tone Matrix"},triang11:{frequencies:[261.6255653006,294.32876096318,305.22982618403,313.95067836072,327.03195662575,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,418.60090448096,436.04260883433,448.50096908674,465.11211608996,523.2511306012],description:"11-limit triangular diamond lattice with 64/63 intervals removed"},triaphonic_12:{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,327.03195662575,348.83408706747,367.19377586049,387.59343007496,410.39304360878,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"12-tone Triaphonic Cycle, conjunctive form on 4/3, 5/4 and 6/5"},triaphonic_17:{frequencies:[261.6255653006,271.31540105247,281.75060878526,293.02063313667,305.22982618403,318.50068819203,332.97799220076,348.83408706747,361.75386806997,375.66747838035,390.69417751556,406.97310157871,422.62591317789,439.53094970501,457.84473927605,477.75103228805,499.46698830115,523.2511306012],description:"17-tone Triaphonic Cycle, conjunctive form on 4/3, 7/6 and 9/7"},trichord7:{frequencies:[261.6255653006,294.32876096318,305.22982618403,327.03195662575,343.38355445704,348.83408706747,392.4383479509,436.04260883433,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Trichordal undecatonic, 7-limit"},tricot:{frequencies:[261.6255653006,264.94025538413,268.70564228797,272.11003565477,275.55755973666,279.4738436282,283.01466417842,286.6003471482,290.673570175,294.35628843049,298.08566525814,302.32211998602,306.15242072385,310.03124984507,314.43747949204,318.42127516569,322.45554578164,327.03835025925,331.18179578139,335.37773516927,339.62683737367,344.45368576554,348.81777463097,353.23715677741,358.25743790514,362.79641682209,367.39290067029,372.61436622199,377.33523951767,382.11592657559,387.54663888312,392.45669803325,397.4289679423,403.0773124301,408.18413893183,413.35566924724,419.23036738005,424.541846554,429.92062250389,436.03074525334,441.55507841911,447.14940523431,453.50438708518,459.25010687752,465.06861996272,470.9608512551,477.65424916833,483.70593529179,489.8342966599,496.79592520903,503.09012862502,509.46407999504,516.70469117363,523.2511306012],description:"Tricot temperament, g=565.988015, 5-limit"},tritriad:{frequencies:[261.6255653006,294.32876096318,313.95067836072,348.83408706747,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Tritriadic scale of the 10:12:15 triad, natural minor mode"},tritriad10:{frequencies:[261.6255653006,274.70684356563,294.32876096318,348.83408706747,366.27579142084,392.4383479509,488.36772189445,523.2511306012],description:"Tritriadic scale of the 10:14:15 triad"},tritriad11:{frequencies:[261.6255653006,309.19384990071,356.76213450082,383.71749577421,421.62797713733,453.48431318771,486.49381977384,523.2511306012],description:"Tritriadic scale of the 11:13:15 triad"},tritriad13:{frequencies:[261.6255653006,294.32876096318,340.11323489078,348.83408706747,392.4383479509,453.48431318771,510.16985233617,523.2511306012],description:"Tritriadic scale of the 10:13:15 triad"},tritriad14:{frequencies:[261.6255653006,294.32876096318,336.37572681506,348.83408706747,392.4383479509,448.50096908674,504.56359022259,523.2511306012],description:"Tritriadic scale of the 14:18:21 triad"},tritriad18:{frequencies:[261.6255653006,294.32876096318,319.76457981184,348.83408706747,392.4383479509,426.35277308246,479.64686971777,523.2511306012],description:"Tritriadic scale of the 18:22:27 triad"},tritriad22:{frequencies:[261.6255653006,294.32876096318,321.08592105074,348.83408706747,392.4383479509,428.11456140098,481.6288815761,523.2511306012],description:"Tritriadic scale of the 22:27:33 triad"},tritriad26:{frequencies:[261.6255653006,294.32876096318,301.87565226992,348.83408706747,392.4383479509,402.50086969323,452.81347840488,523.2511306012],description:"Tritriadic scale of the 26:30:39 triad"},tritriad3:{frequencies:[261.6255653006,305.22982618403,356.10146388137,373.75080757229,436.04260883433,448.50096908674,508.71637697339,523.2511306012],description:"Tritriadic scale of the 3:5:7 triad. Possibly Mathews's 3.5.7a"},tritriad32:{frequencies:[261.6255653006,294.32876096318,322.00069575458,348.83408706747,392.4383479509,429.33426100611,483.00104363188,523.2511306012],description:"Tritriadic scale of the 26:32:39 triad"},tritriad3c:{frequencies:[261.6255653006,305.22982618403,366.27579142084,373.75080757229,427.32175665765,436.04260883433,512.78610798918,523.2511306012],description:"From 1/1 7/6 7/5, a variant of the 3.5.7 triad"},tritriad3d:{frequencies:[261.6255653006,305.22982618403,313.95067836072,363.36884069528,366.27579142084,436.04260883433,508.71637697339,523.2511306012],description:"From 1/1 7/6 5/3, a variant of the 3.5.7 triad"},tritriad5:{frequencies:[261.6255653006,290.69507255622,329.64821227876,366.27579142084,406.97310157871,423.83341578697,470.92601754108,523.2511306012],description:"Tritriadic scale of the 5:7:9 triad. Possibly Mathews's 5.7.9a."},tritriad68:{frequencies:[261.6255653006,305.22982618403,348.83408706747,392.4383479509,406.97310157871,457.84473927605,465.11211608996,523.2511306012],description:"Tritriadic scale of the 6:7:8 triad"},tritriad68i:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,398.6675280771,448.50096908674,465.11211608996,523.2511306012],description:"Tritriadic scale of the subharmonic 6:7:8 triad"},tritriad69:{frequencies:[261.6255653006,294.32876096318,305.22982618403,348.83408706747,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"Tritriadic scale of the 6:7:9 triad, septimal natural minor"},tritriad7:{frequencies:[261.6255653006,264.29521392612,323.02748368748,332.97799220076,336.37572681506,411.12588832951,428.11456140098,523.2511306012],description:"Tritriadic scale of the 7:9:11 triad"},tritriad9:{frequencies:[261.6255653006,272.93037367779,319.76457981184,362.25078272391,377.90359432309,442.75095666255,461.88217083933,523.2511306012],description:"Tritriadic scale of the 9:11:13 triad"},tsjerepnin:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,367.91095120397,392.4383479509,418.60090448096,470.92601754108,490.54793493862,523.2511306012],description:"Scale from Ivan Tsjerepnin's Santur Opera (1977) & suite from it Santur Live!"},tsuda13:{frequencies:[261.6255653006,281.75060878526,283.42769574232,322.00069575458,340.11323489078,362.25078272391,377.90359432309,402.50086969323,425.14154361347,442.75095666255,485.87604984397,518.26778650024,523.2511306012],description:"Mayumi Tsuda's Harmonic-13 scale. 1/1=440 Hz."},tuneable3:{frequencies:[36.70809598968,41.95210970249,42.82611198796,43.59086398774,44.04971518762,44.86545065405,45.8851199871,46.71939489596,47.1961234153,47.72052478658,48.94412798624,49.55592958607,50.47363198581,51.39133438555,52.00313598538,52.44013712811,53.02280531843,53.39359416681,55.06214398452,57.10148265061,57.68415084093,58.73295358349,59.65065598323,61.1801599828,62.40376318246,62.92816455374,64.23916798194,66.07457278142,66.74199270851,67.29817598108,68.17217826655,68.82767998065,70.35718398022,73.41619197936,79.53420797764,80.7578111773,82.59321597678,85.65222397592,87.18172797549,88.09943037523,89.14823311779,89.73090130811,90.10169015649,91.7702399742,94.39224683061,95.44104957317,96.35875197291,97.88825597248,100.94726397162,102.7826687711,104.00627197076,104.88027425623,105.53577597033,110.12428796904,114.20296530123,114.71279996775,115.36830168185,116.24230396732,117.46590716698,119.30131196646,120.61231539466,122.3603199656,123.88982396517,124.80752636491,125.85632910747,128.47833596388,132.14914556285,134.59635196216,137.6553599613,139.49076476078,140.71436796044,141.58837024591,146.83238395872,152.950399957,154.17400315666,156.00940795614,159.06841595528,161.51562235459,165.18643195356,168.85724155253,171.30444795184,174.36345595098,176.19886075046,183.5404799484,190.88209914634,192.71750394582,195.77651194496,201.89452794324,205.56533754221,208.01254394152,211.07155194066,220.24857593808,229.4255999355,232.48460793464,238.60262393292,244.7206399312,247.77964793034,256.95667192776,269.19270392432,275.3107199226,281.42873592088,293.66476791744],description:"Marc Sabat, 3 octaves of intervals tuneable by ear"},tuners1:{frequencies:[261.6255653006,276.50456653385,293.15590636358,311.0676370396,328.627540632,349.28088891463,369.11955599459,391.76814585061,414.75684959346,439.06365754828,466.60145532616,492.6062100846,523.2511306012],description:"The Tuner's Guide well temperament no. 1 (1840)"},tuners2:{frequencies:[261.6255653006,276.9861853325,293.55936848273,311.27971878774,329.48489606404,349.42029142443,369.90111701824,391.99869425741,415.03962525779,439.89939957166,466.4799232208,493.78769382322,523.2511306012],description:"The Tuner's Guide well temperament no. 2 (1840)"},tuners3:{frequencies:[261.6255653006,276.9180796764,293.64050032496,311.25753558078,329.38199580693,349.20116137147,369.59117881045,391.8877401954,415.37711930697,439.91014033466,466.33569310799,493.52238512763,523.2511306012],description:"The Tuner's Guide well temperament no. 3 (1840)"},turkish:{frequencies:[261.6255653006,279.06726965397,327.03195662575,348.83408706747,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:"Turkish, 5-limit from Palmer on a Turkish music record, harmonic minor inverse"},turkish_24:{frequencies:[261.6255653006,275.62199471997,279.38237857051,290.36720431405,294.32876096318,310.07474405997,314.30517589183,326.6631048533,331.11985608357,344.13890881665,348.83408706747,367.49599295996,372.50983809402,387.15627241873,392.4383479509,413.43299207996,419.07356785577,435.55080647107,441.49314144476,458.8518784222,465.11211608996,489.99465727995,496.67978412536,516.20836322497,523.2511306012],description:"Ra'uf Yekta, 24-tone Pythagorean Turkish Theoretical Gamut, 1/1=D (perde yegah) at 294 Hz"},turkish_24a:{frequencies:[261.6255653006,275.62199471997,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,344.52749339997,348.83408706747,367.91095120397,372.08969287196,387.59343007496,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,459.36999119996,465.11211608996,490.54793493862,496.67978412536,516.79124009995,523.2511306012],description:"Turkish gamut with schismatic simplifications"},turkish_41:{frequencies:[261.6255653006,266.80864394988,272.09440643071,275.67629620338,281.13773466533,286.70737164501,290.48162858661,294.30556868769,300.13607443832,306.08208692954,310.11139540064,316.25503135793,322.52037740267,326.76608188608,333.2396629384,339.84149442859,344.31521657963,348.8478314504,355.75887527351,362.80683626646,367.58287746967,374.8650823332,382.29155536296,387.32409620162,392.42288612931,400.19720009986,408.12552912594,413.49815209867,421.6899870258,430.04411333507,435.70527569249,441.44096240275,450.1863739015,459.10504388656,465.14876849982,474.36385666592,483.76150545705,490.12981126508,499.83980314828,509.74215733443,516.45247616827,523.2511306012],description:"Abd\xEF\xBF\xBDlkadir T\xEF\xBF\xBDre and M. Ekrem Karadeniz theoretical Turkish gamut"},turkish_41a:{frequencies:[261.6255653006,268.5590565112,272.09440643071,275.67629620338,279.3053384865,286.70737164501,290.48162858661,294.30556868769,298.17984938441,306.08208692954,310.11139540064,314.19374626607,322.52037740267,326.76608188608,335.42589979828,339.84149442859,344.31521657963,348.8478314504,353.4401143131,362.80683626646,367.58287746967,377.32440283229,382.29155536296,387.32409620162,392.42288612931,402.82271318249,408.12552912594,413.49815209867,424.45650702809,430.04411333507,435.70527569249,441.44096240275,453.1398459935,459.10504388656,465.14876849982,477.47594368525,483.76150545705,490.12981126508,503.11902634639,509.74215733443,516.45247616827,523.2511306012],description:"Karadeniz's theoretical Turkish gamut, quantized to subset of 53-tET"},turkish_aeu:{frequencies:[261.6255653006,275.62199471997,279.38237857051,290.36720431405,294.32876096318,310.07474405997,314.30517589183,326.6631048533,331.11985608357,348.83408706747,353.59332287831,367.49599295996,372.50983809402,387.15627241873,392.4383479509,413.43299207996,419.07356785577,435.55080647107,441.49314144476,465.11211608996,471.45776383774,489.99465727995,496.67978412536,516.20836322497,523.2511306012],description:"Arel-Ezgi-Uzdilek (AEU) 24 tone theoretical system"},turkish_bagl:{frequencies:[261.6255653006,277.01530443593,285.40970760065,294.32876096318,311.64221749042,321.08592105074,331.11985608357,348.83408706747,369.35373924791,380.54627680087,392.4383479509,415.52295665389,428.11456140098,441.49314144476,465.11211608996,492.47165233054,507.3950357345,523.2511306012],description:'Ratios of the 17 frets on the neck of "Baglama" ("saz") according to Yal\xEF\xBF\xBD\xEF\xBF\xBDn Tura'},two29:{frequencies:[261.6255653006,265.43099677612,267.95417262175,271.85165581044,274.43586616969,278.42762776199,281.0743490329,285.16266958193,287.87341387594,292.06062910037,294.83694510625,299.12544722478,301.96892109338,306.36116019141,309.2734164419,313.77190187131,316.75460431924,321.36190613206,324.41675883995,329.13550925662,332.26425750751,337.09715242073,340.3015837153,345.25138423021,348.53332930799,353.60286331966,356.96419720496,362.15636101402,365.59900408717,370.91676405444,374.44268531179,379.88907958456,383.50028913155,389.07842928561,392.77699240278,398.49006531303,402.2780950448,408.12936467525,412.00902517967,418.00183444819,421.97534223334,428.1131149215,432.1827401118,438.46898282094,442.63705045414,449.07535460876,453.34424596425,459.9382898638,464.31044382305,471.06399474345,475.54190918343,482.45882552933,487.04505874954,494.12929225872,498.82646444278,506.0820624438,510.89285715645,518.32396488098,523.2511306012],description:"Two 29-tET scales 25 cents shifted, many near just intervals"},two29a:{frequencies:[261.6255653006,264.02813680074,267.95417262175,270.41486126945,274.43586616969,276.95607779319,281.0743490329,283.65552346679,287.87341387594,290.51702578379,294.83694510625,297.54450482308,301.96892109338,304.74197548856,309.2734164419,312.11354980287,316.75460431924,319.66343925668,324.41675883995,327.39595721478,332.26425750751,335.31552138031,340.3015837153,343.42665631876,348.53332930799,351.73399604284,356.96419720496,360.24228665998,365.59900408717,368.95638908389,374.44268531179,377.88128181162,383.50028913155,387.02206376789,392.77699240278,396.38395721814,402.2780950448,405.97231075214,412.00902517967,415.79260233969,421.97534223334,425.85044246025,432.1827401118,436.15157730833,442.63705045414,446.70189207635,453.34424596425,457.50741431695,464.31044382305,468.5743173866,475.54190918343,479.90892674463,487.04505874954,491.51771254425,498.82646444278,503.40730976502,510.89285715645,515.58451111167,523.2511306012],description:"Two 29-tET scales 15.826 cents shifted, 13-limit chords, Mystery temperament, Gene Ward Smith"},xenakis_chrom:{frequencies:[261.6255653006,274.52698453615,329.62755691287,349.22823143301,391.99543598175,411.32572372413,493.88330125613,523.2511306012],description:"Xenakis's Byzantine Liturgical mode, 5 + 19 + 6 parts"},xenakis_diat:{frequencies:[261.6255653006,293.66476791741,326.46944327063,349.22823143301,391.99543598175,440,489.15147723638,523.2511306012],description:"Xenakis's Byzantine Liturgical mode, 12 + 11 + 7 parts"},xenakis_schrom:{frequencies:[261.6255653006,279.86396690685,326.46944327063,349.22823143301,391.99543598175,419.32216217931,489.15147723638,523.2511306012],description:"Xenakis's Byzantine Liturgical mode, 7 + 16 + 7 parts"},xenoga24:{frequencies:[261.6255653006,265.7783520514,279.38237857051,283.8170195002,294.32876096318,299.00064605783,310.07474405997,314.99656539426,331.11985608357,336.37572681506,348.83408706747,354.37113606854,372.50983809402,378.42269266694,392.4383479509,398.6675280771,419.07356785577,425.72552925031,441.49314144476,448.50096908674,465.11211608996,472.49484809138,496.67978412536,504.56359022259,523.2511306012],description:"M. Schulter, 3+7 ratios Xeno-Gothic adaptive tuning (keyboards 64:63 apart)"},xylophone2:{frequencies:[261.6255653006,295.19538981304,332.68808325276,388.83826257328,446.65787257783,506.59641128799,527.19506190947,579.57827742703,633.13077520476,751.1860077911,842.69088701475],description:"African Yaswa xylophones (idiophone; calbash resonators with membrane)"},xylophone3:{frequencies:[261.6255653006,292.47977325983,348.01999353916,392.4383479509,442.29334161825,523.2511306012],description:"African Banyoro xylophone (idiophone; loose log)"},xylophone4:{frequencies:[261.6255653006,281.70207497315,314.1971709147,349.63190883464,391.76907592069,436.9606979923,505.71930677521,568.9637969584,597.94115990992,660.7800775993,716.43551549302],description:"African Bapare xylophone (idiophone, loose-log)"},zalzal:{frequencies:[261.6255653006,294.32876096318,321.08592105074,348.83408706747,392.4383479509,428.11456140098,465.11211608996,523.2511306012],description:"Tuning of popular flute by Al Farabi & Zalzal. First tetrachord is modern Rast"},zalzal2:{frequencies:[261.6255653006,294.32876096318,331.11985608357,348.83408706747,387.59343007496,419.89288258121,465.11211608996,523.2511306012],description:"Zalzal's Scale, a medieval Islamic with Ditone Diatonic & 10/9 x 13/12 x 72/65"},zarlino:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Ptolemy's Intense Diatonic Systonon, also Zarlino's scale"},zarlino2:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,348.83408706747,363.36884069528,367.91095120397,392.4383479509,408.78994578219,436.04260883433,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"16-note choice system of Zarlino, Sopplimenti musicali (1588)"},zartehijaz1:{frequencies:[261.6255653006,280.55696721076,336.07142343876,350.07440004945,375.4060213132,393.89732161404,446.43551156053,468.42549744394,502.32108537715,523.2511306012],description:"Scale from Zarlino temperament extraordinaire -- lower Hijaz tetrachord"},zesster_a:{frequencies:[261.6255653006,279.06726965397,313.95067836072,334.88072358477,348.83408706747,392.4383479509,418.60090448096,502.32108537715,523.2511306012],description:"Harmonic six-star, group A, from Fokker"},zesster_b:{frequencies:[261.6255653006,293.02063313667,299.00064605783,334.88072358477,366.27579142084,418.60090448096,457.84473927605,478.40103369253,523.2511306012],description:"Harmonic six-star, group B, from Fokker"},zesster_c:{frequencies:[261.6255653006,299.00064605783,305.22982618403,348.83408706747,398.6675280771,406.97310157871,457.84473927605,465.11211608996,523.2511306012],description:"Harmonic six-star, group C on Eb, from Fokker"},zesster_mix:{frequencies:[261.6255653006,274.70684356563,279.06726965397,293.02063313667,299.00064605783,313.95067836072,334.88072358477,348.83408706747,358.80077526939,366.27579142084,392.4383479509,418.60090448096,457.84473927605,478.40103369253,488.36772189445,502.32108537715,523.2511306012],description:"Harmonic six-star, groups A, B and C mixed, from Fokker"},zest24:{frequencies:[261.6255653006,269.33468959023,272.52663052146,280.55696721076,292.24684137387,300.8582598368,308.87634556583,317.97777315513,326.45210604021,336.07142343876,350.07440004945,360.38977980792,364.66083404534,375.4060213132,391.04793957621,402.57065589001,410.30971075781,422.39999923493,436.81711699543,449.68847932918,465.03699205118,478.73988827571,487.94322738789,502.32108537715,523.2511306012],description:"Zarlino Extraordinaire Spectrum Temperament (two circles at ~50.28c apart)"},zir_bouzourk:{frequencies:[261.6255653006,281.75060878526,305.22982618403,313.95067836072,353.19451315581,392.4383479509,523.2511306012],description:"Zirafkend Bouzourk (IG #3, DF #9), from both Rouanet and Safi al-Din"},zwolle:{frequencies:[261.6255653006,275.62199471997,294.32876096318,310.07474405997,331.11985608357,348.83408706747,367.49599295996,392.4383479509,413.43299207996,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"Henri Arnaut De Zwolle. Pythagorean on G flat."},zwolle2:{frequencies:[261.6255653006,273.37431312998,292.50627485027,311.68386704488,327.03195662575,349.91912034749,365.63284274659,391.22147055517,408.78994578219,437.39890198442,467.04206359353,489.02683710225,523.2511306012],description:"Henri Arnaut De Zwolle's modified meantone tuning (c. 1440)"},yarman12:{frequencies:[261.6255653006,283.42769574232,294.32876096318,309.19384990071,332.97799220076,348.83408706747,377.90359432309,392.4383479509,411.12588832951,442.75095666255,465.11211608996,499.46698830115,523.2511306012],description:"Detempered Yarman 13-limit, [<1 1 -20 -6 -3 -1|, <0 1 38 15 11 8|]"},yarman12_80:{frequencies:[261.6255653006,282.84340331238,295.36595061166,319.3201344739,333.45764463229,348.2210758395,376.46181130035,393.12919962609,425.01198472693,443.82887286778,479.82340237272,501.06699929295,523.2511306012],description:"Ozan Yarman MOS, 80-et version"},yarman17:{frequencies:[261.6255653006,274.08392555301,283.42769574232,294.32876096318,309.19384990071,322.00069575458,332.97799220076,348.83408706747,362.25078272391,377.90359432309,392.4383479509,411.12588832951,425.14154361347,442.75095666255,465.11211608996,485.87604984397,499.46698830115,523.2511306012],description:"80-et commas 13-limit detempering of a chain of 16 fifths"},"yarman_ney-ahengs":{frequencies:[261.6255653006,275.39533189537,294.32876096318,310.07474405997,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.43299207996,436.04260883433,465.11211608996,494.18162334558,523.2511306012],description:"Well Temperament for piano by Ozan Yarman from Ney Ahengs"},yasser_6:{frequencies:[261.6255653006,291.88463270656,325.64340264099,363.30663963964,405.32593044476,452.20508247496,523.2511306012],description:"Yasser Hexad, 6 of 19 as whole tone scale"},yasser_diat:{frequencies:[261.6255653006,281.42815779395,291.88463270656,313.97755176024,325.64340264099,350.29154279212,376.80531512858,390.80553229045,420.38583225541,436.00528786292,469.00678383895,486.43275040712,523.2511306012],description:"Yasser's Supra-Diatonic, the flat notes are V,W,X,Y,and Z"},yasser_ji:{frequencies:[261.6255653006,282.64904822654,294.32876096318,304.39128270551,327.03195662575,347.87575166344,359.73515228832,391.36022062136,425.14154361347,434.84468957929,457.84473927605,478.32915853722,523.2511306012],description:"Yasser's just scale, 2 Yasser hexads, 121/91 apart"},yekta:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,470.92601754108,502.32108537715,523.2511306012],description:"Rauf Yekta's 12-tone tuning suggested in 1922 Lavignac Music Encyclopedia"},"young-g":{frequencies:[261.6255653006,299.07507698093,319.76457981184,341.88537054616,390.82337532559,446.76650366117,477.67301428683,510.71739232152,583.82257301724,667.39198333921,713.56092257662,762.92356430953,872.13001648254,996.96833978235,1065.93668681199,1139.67601990796,1302.81150610354,1489.29848625885,1592.32474578757,1702.47910946196,1946.17475603251,2224.75468143463,2378.65811671778,2543.20970830682,2907.24890901465,3323.39919648924,3553.30434397593,3799.11599765247,4342.92768045015],description:"Gayle Young's Harmonium, see PNM 26(2): 204-212 (1988)"},"young-lm_guitar":{frequencies:[261.6255653006,279.06726965397,290.69507255622,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"LaMonte Young, Tuning of For Guitar '58. 1/1 March '92, inv.of Mersenne lute 1"},"young-lm_piano":{frequencies:[261.6255653006,289.72987407313,294.32876096318,300.46061014991,343.38355445704,338.01818641865,386.30649876417,392.4383479509,400.61414686654,457.84473927605,450.69091522486,515.07533168556,523.2511306012],description:"LaMonte Young's Well-Tempered Piano"},"young-w10":{frequencies:[261.6255653006,277.18263097687,302.26980244078,320.24370022528,349.22823143301,369.99442271164,391.99543598175,427.47405410759,452.89298412314,493.88330125613,523.2511306012],description:"William Lyman Young 10 out of 24-tET (1961)"},"young-w14":{frequencies:[261.6255653006,277.18263097687,293.66476791741,302.26980244078,320.24370022528,339.28638158975,359.46139971304,369.99442271164,391.99543598175,415.30469757995,427.47405410759,452.89298412314,479.82340237272,508.3551866238,523.2511306012],description:"William Lyman Young 14 out of 24-tET (1961)"},"young-wt":{frequencies:[261.6255653006,285.40970760065,309.19384990071,348.83408706747,392.4383479509,428.11456140098,463.79077485106,523.2511306012],description:'William Lyman Young "exquisite 3/4 tone Hellenic Lyre" dorian'},young:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,328.14198392915,348.83408706747,367.49599295996,391.5530240856,413.43299207996,438.51190905657,465.11211608996,491.10256480205,523.2511306012],description:"Thomas Young well temperament (1807), also Luigi Malerbi nr.2 (1794)"},young2:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.77584116741,328.14198392915,349.22823143301,368.32692341742,391.5530240856,414.36778843034,438.51190905657,466.16376151809,491.65745674141,523.2511306012],description:"Thomas Young well temperament no.2 (1799)"},yugo_bagpipe:{frequencies:[261.6255653006,277.02257024271,294.00421879736,322.47117131255,341.84370465044,381.9375744369,404.41509766528,430.1988069325,452.63145841613,463.74664903953,478.99265177484,502.22604835608,523.2511306012],description:"Yugoslavian Bagpipe"},yves:{frequencies:[261.6255653006,290.69507255622,327.03195662575,348.83408706747,392.4383479509,436.04260883433,465.11211608996,523.2511306012],description:`St Yves's scale II from Jocelyn Godwin, "Music and the Occult", 1995.`},saba_sup:{frequencies:[261.6255653006,287.78812183066,313.95067836072,327.03195662575,392.4383479509,418.60090448096,470.92601754108,497.08857407114,523.2511306012],description:"Superparticular version of maqam Sab"},sabagh:{frequencies:[261.6255653006,275.67629620338,279.3053384865,286.70737164501,294.30556868769,310.11139540064,314.19374626607,322.52037740267,326.76608188608,331.06767743197,348.8478314504,362.80683626646,367.58287746967,372.42178901277,392.42288612931,413.49815209867,418.94150105041,430.04411333507,441.44096240275,465.14876849982,471.27205084813,483.76150545705,490.12981126508,496.58195036371,523.2511306012],description:"Twfiq Al-Sabagh, Arabic master musical scale in 53-tET (1954)"},sabbagh:{frequencies:[261.6255653006,294.30556868769,321.46759848648,348.8478314504,392.42288612931,428.64035280622,465.14876849982,523.2511306012],description:"Tawfiq as-Sabbagh, a composer from Syria. 1/1=G"},safi_diat:{frequencies:[261.6255653006,276.16031892841,305.22982618403,348.83408706747,392.4383479509,414.24047839262,457.84473927605,523.2511306012],description:"Safi al-Din's Diatonic, also the strong form of Avicenna's 8/7 diatonic"},safi_diat2:{frequencies:[261.6255653006,283.79722337692,310.07474405997,348.83408706747,392.4383479509,425.69583506538,465.11211608996,523.2511306012],description:"Safi al-Din's 2nd Diatonic, a 3/4 tone diatonic like Ptolemy's Equable Diatonic"},safi_major:{frequencies:[261.6255653006,281.75060878526,322.00069575458,348.83408706747,375.66747838035,392.4383479509,523.2511306012],description:"Singular Major (DF #6), from Safi al-Din, strong 32/27 chromatic"},salinas_19:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,372.08969287196,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,465.11211608996,490.54793493862,510.98743222773,523.2511306012],description:`Salinas' enharmonic tuning for his 19-tone instr. "instrumentum imperfectum"`},salinas_24:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,340.65828815182,348.83408706747,363.36884069528,367.91095120397,372.08969287196,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,459.88868900496,465.11211608996,470.92601754108,490.54793493862,510.98743222773,523.2511306012],description:'Salinas enharmonic system "instrumentum perfectum". Subset of Mersenne'},salinas_enh:{frequencies:[261.6255653006,272.52663052146,279.06726965397,348.83408706747,392.4383479509,408.78994578219,418.60090448096,523.2511306012],description:"Salinas's and Euler's enharmonic"},salunding:{frequencies:[261.6255653006,282.38958039978,310.76686573877,390.36201910543,419.43149305958,523.2511306012],description:"Gamelan slunding, Kengetan, South-Bali. 1/1=378 Hz"},sankey:{frequencies:[261.6255653006,274.88665260982,292.54735824399,309.58527581215,327.03195662575,348.83408706747,366.73895666255,391.24894371175,412.31687950427,437.13741259348,464.79252184829,489.99465727995,523.2511306012],description:"John Sankey's Scarlatti tuning, personal evaluation based on d'Alembert's"},santur1:{frequencies:[261.6255653006,282.02765077995,319.3201344739,347.21689301951,376.46192220133,427.47393558663,475.68393915562,504.55222794679,523.2511306012],description:"Persian santur tuning. 1/1=E"},santur2:{frequencies:[261.6255653006,281.2143451833,317.48098583281,345.21700307457,375.37611551499,423.78627283082,475.68393915562,498.18106573801,523.2511306012],description:"Persian santur tuning. 1/1=E"},sanza:{frequencies:[261.6255653006,293.15632631094,308.97787266236,346.21547002486,390.18821123181,462.40922843744,524.46149515038,595.18445928535,620.10113226249],description:"African N'Gundi Sanza (idiophone; set of lamellas, thumb-plucked)"},sanza2:{frequencies:[261.6255653006,390.63923480058,465.35666077712,523.2511306012,588.68812410589,663.45725712889,702.9084786129,783.08569314515],description:"African Baduma Sanza (idiophone, like mbira)"},sauveur:{frequencies:[261.6255653006,274.85950244128,292.7026939092,313.25286195357,328.80795208256,349.69755047152,367.27338607435,391.35133250294,417.15885134862,438.29716799286,468.84228427561,491.11646492505,523.2511306012],description:"Sauveur's tempered system of the harpsichord. Trait\xEF\xBF\xBD (1697)"},sauveur2:{frequencies:[261.6255653006,278.64199172491,293.04864983565,312.10886966906,328.2456799168,349.5951549002,372.33322418948,391.58401058733,417.05308314313,438.61577206336,467.14384425417,491.2966347616,523.2511306012],description:"Sauveur's Syste^me Chromatique des Musiciens (Memoires 1701), 12 out of 55."},sauveur_17:{frequencies:[261.6255653006,275.62199471997,290.36720431405,294.32876096318,310.07474405997,326.6631048533,331.11985608357,348.83408706747,367.49599295996,372.50983809402,392.4383479509,413.43299207996,419.07356785577,441.49314144476,465.11211608996,489.99465727995,496.67978412536,523.2511306012],description:"Sauveur's oriental system, aft. Kitab al-adwar (Bagdad 1294) by Safi al-Din"},sauveur_ji:{frequencies:[261.6255653006,272.52663052146,294.32876096318,313.95067836072,327.03195662575,348.83408706747,367.91095120397,392.4383479509,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Aplication des sons harmoniques aux jeux d'orgues (1702) (PB 81/80 & 128/125)"},savas_bardiat:{frequencies:[261.6255653006,282.57123920205,317.17549194805,349.22823143301,391.99543598175,423.37848741825,475.22628419761,523.2511306012],description:"Savas's Byzantine Liturgical mode, 8 + 12 + 10 parts"},savas_barenh:{frequencies:[261.6255653006,282.57123920205,329.62755691287,349.22823143301,391.99543598175,423.37848741825,493.88330125613,523.2511306012],description:"Savas's Byzantine Liturgical mode, 8 + 16 + 6 parts"},savas_chrom:{frequencies:[261.6255653006,282.57123920205,323.3415889232,349.22823143301,391.99543598175,423.37848741825,484.46499093218,523.2511306012],description:"Savas's Chromatic, Byzantine Liturgical mode, 8 + 14 + 8 parts"},savas_diat:{frequencies:[261.6255653006,288.06460709314,311.12698372208,349.22823143301,391.99543598175,431.60923940535,466.16376151809,523.2511306012],description:"Savas's Diatonic, Byzantine Liturgical mode, 10 + 8 + 12 parts"},savas_palace:{frequencies:[261.6255653006,277.18263097687,336.03572815422,349.22823143301,391.99543598175,415.30469757995,503.48470957687,523.2511306012],description:"Savas's Byzantine Liturgical mode, 6 + 20 + 4 parts"},scalatron:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,340.65828815182,348.83408706747,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,459.88868900496,470.92601754108,490.54793493862,510.98743222773,523.2511306012],description:"Scalatron (tm) 19-tone scale, see manual, 1974"},scheengaas:{frequencies:[261.6255653006,273.84069463911,292.6487650037,312.74862113192,327.53979283172,350.03605285217,366.8025131876,391.54284657258,418.19337019276,437.97145880542,467.51204131067,489.62261321254,523.2511306012],description:"Scheengaas' variation"},scheffer:{frequencies:[261.6255653006,274.56546814423,292.86978442859,309.86465789076,327.84548435462,349.70179235499,366.99791252626,391.46460164194,410.82629477826,438.21464222188,467.42914467878,490.54793493862,523.2511306012],description:"H.Th. Scheffer (1748) modified 1/5-comma temperament, Sweden"},schidlof:{frequencies:[261.6255653006,264.89588486686,274.70684356563,280.31310567921,294.32876096318,305.22982618403,315.35224388912,322.99452506247,327.03195662575,348.83408706747,353.19451315581,366.27579142084,373.75080757229,392.4383479509,406.97310157871,420.46965851882,436.04260883433,457.84473927605,467.18850946536,484.4917875937,490.54793493862,523.2511306012],description:"Schidlof"},schillinger:{frequencies:[261.6255653006,262.8879410321,275.85161280553,277.18263097687,278.52007147562,292.25460328695,293.66476791741,295.08173676673,309.63296633914,311.12698372208,312.62820992379,328.04470063332,329.62755691287,331.21805066987,347.55125362114,349.22823143301,350.91330087035,368.21772660991,369.99442271164,371.77969159194,390.11309203208,391.99543598175,393.88686247394,413.31042363438,415.30469757995,417.30859414412,437.88714035463,440,442.12305445465,463.92526470026,466.16376151809,468.41305936011,491.51169649079,493.88330125613,496.26634930797,520.73850287792,523.2511306012],description:"Joseph Schillinger's double equal temperament, p.664 Mathematical Basis..."},schis41:{frequencies:[261.6255653006,266.96486255163,272.52663052146,275.21650375777,280.31310567921,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,311.45900631024,313.95067836072,321.08592105074,327.03195662575,329.64821227876,336.37572681506,343.38355445704,348.83408706747,355.95315006884,363.36884069528,366.27579142084,373.75080757229,380.54627680087,387.59343007496,392.4383479509,398.6675280771,406.97310157871,415.27867508032,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,484.4917875937,490.54793493862,497.4115685962,504.56359022259,512.78610798918,523.2511306012],description:"41&53 <<1 -8 -14 23 -15 -25 33 -10 81 113||"},schisynch17:{frequencies:[261.6255653006,275.80289341725,290.74848220557,294.25152581512,310.19683462128,327.0062098829,330.94609980123,348.87986495302,367.78544978395,387.71551660339,392.38685458718,413.65005636851,436.06549769577,441.31937388998,465.23419873014,490.4449531872,496.35401261224,523.2511306012],description:"fifth satisfies f^9 + f^8 - 64 = 0"},schlick:{frequencies:[261.6255653006,275.62199471997,293.00227310437,311.47852302926,328.14198392915,349.6228209638,367.9112241576,391.5530240856,414.36778843034,438.51190905657,466.69047534984,491.10256480205,523.2511306012],description:"Reconstructed temp. A. Schlick, Spiegel d. Orgelmacher und Organisten (1511)"},schlick2:{frequencies:[261.6255653006,275.31092272332,293.00227310437,311.83045953724,328.14198392915,349.6228209638,367.9112241576,391.5530240856,415.30469757995,438.51190905657,466.69047534984,491.10256480205,523.2511306012],description:"Schlick's temperament reconstructed by F.J. Ratte (1991)"},schlick3:{frequencies:[261.6255653006,275.31092431358,293.00227310437,311.83045953724,328.14198392915,349.6228209638,367.70355049744,391.5530240856,415.07027187895,438.51190905657,466.95405539699,491.10256480205,523.2511306012],description:"Possible well-tempered interpretation of 1555 tuning, Margo Schulter"},schlick4:{frequencies:[261.6255653006,275.29566620843,293.00166043901,311.83758337792,328.14192706649,349.6222474261,367.6987228158,391.55300599201,415.35839309639,438.51185079886,466.95962791236,491.10245700671,523.2511306012],description:"Another reconstructed Schlick's modified meantone (Poletti?)"},scholz:{frequencies:[261.6255653006,271.31540105247,299.00064605783,305.22982618403,348.83408706747,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"Simple Tune #1 Carter Scholz"},scholz_epi:{frequencies:[261.6255653006,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,2877.8812183066,3139.5067836072,3401.1323489078,3662.7579142084,3924.383479509,4186.0090448096,4709.2601754108,5232.511306012,5494.1368713126,5755.7624366132,6279.0135672144,6540.639132515,6802.2646978156,7063.8902631162,7325.5158284168,8372.0180896192,8633.6436549198,9156.894785521,9418.5203508216,10203.3970467234,10465.022612024,10988.2737426252,11511.5248732264,11773.150438527,12558.0271344288,12819.6526997294,13081.27826503,14127.7805262324,14389.406091533,14651.0316568336,16482.4106139378,16744.0361792384,17005.661744539],description:"Carter Scholz, Epimore"},schulter:{frequencies:[261.6255653006,277.184065539,293.66520219021,311.12905403417,329.62853176407,349.23107169224,369.99606406306,391.99572582396,415.30715405467,440.00097595231,466.1672081452,493.88512703986,523.25577305438],description:`Margo Schulter's 5-limit JI virt. ET, "scintilla of Artusi" tempered 22-08-98`},schulter_17:{frequencies:[261.6255653006,272.43653907335,282.13181390574,295.15344695336,308.77608605158,319.09647917983,332.97799220076,348.34640884647,361.82138782225,375.64984936577,392.98775403209,410.26687922759,423.79017189188,443.34998408798,463.81254988138,480.53289366295,500.16624277499,523.2511306012],description:"Neo-Gothic well-temperament (14:11, 9:7 hypermeantone fifths) TL 04-09-2000"},schulter_24:{frequencies:[261.6255653006,270.06509966514,283.8170195002,292.97240722602,295.75063903546,305.22982618403,307.79478270659,317.68818643644,334.29933343966,345.08318290545,348.06842720833,359.29644098925,377.90359432309,390.09403284964,393.30161007617,406.07983174306,426.86276443782,440.63253103259,444.76346101102,458.66231916761,462.87600014722,477.80748402293,502.32108537715,518.89070451286,523.2511306012],description:'Rational intonation (RI) scale with some "17-ish" features (24 notes)'},schulter_cart34:{frequencies:[261.6255653006,270.08718526646,272.51337835337,281.3271372098,283.85429714132,293.03484945212,295.66718139806,305.22982618403,307.97166902637,317.93223698752,320.78822215662,331.16330924834,334.13814720468,344.94500399825,348.04364484358,359.30023993517,362.52783176564,374.2528814026,377.61479489998,389.82779436071,393.32961502355,406.05087076101,409.69842558521,422.94908927295,426.7484383229,440.55054172958,444.50800708553,458.88449901367,463.0066556268,477.98143975034,482.27514684959,497.87312179111,502.34551296122,518.59261334435,523.2511306012],description:'"Carthesian tuning" with two 17-tET chains 55.106 cents apart'},schulter_diat7:{frequencies:[261.6255653006,295.1673044417,332.97799220076,348.83408706747,392.4383479509,442.75095666255,499.46698830115,523.2511306012],description:"Diatonic scale, symmetrical tetrachords based on 14/11 and 13/11 triads"},schulter_ham:{frequencies:[261.6255653006,272.52663052146,283.8170195002,295.75063903546,307.79478270659,320.70230585235,334.29933343966,348.01136516401,362.25078272391,377.90359432309,393.36609818246,409.50088481833,426.86276443782,444.76346101102,462.87600014722,482.33849075995,502.32108537715,523.2511306012],description:'New rational tuning of "Hammond organ type", TL 01-03-2002'},schulter_jot17a:{frequencies:[261.6255653006,271.31540105247,281.75060878526,295.1673044417,305.22982618403,318.50068819203,332.97799220076,348.83408706747,361.75386806997,375.66747838035,392.4383479509,406.97310157871,422.62591317789,442.75095666255,457.84473927605,477.75103228805,499.46698830115,523.2511306012],description:"Just octachord tuning -- 4:3-9:8-4:3 division, 17 steps (7 + 3 + 7), Bb-Bb"},schulter_jot17bb:{frequencies:[261.6255653006,271.31540105247,281.75060878526,295.15228855401,305.22982618403,318.50068819203,332.97799220076,348.83408706747,361.75386806997,375.66747838035,392.4383479509,406.97310157871,422.62591317789,442.72843283101,457.84473927605,477.75103228805,499.46698830115,523.2511306012],description:'"Just Octachord Tuning" (Bb-Eb, F-Bb) -- 896:891 divided into 1792:1787:1782'},schulter_jwt17:{frequencies:[261.6255653006,272.43653907335,282.34838235411,295.1673044417,308.34441624714,319.76457981184,332.97799220076,347.8430811383,362.25078272391,376.08675011961,393.55640592227,409.81906732402,425.14154361347,443.97065626768,462.87600014722,481.6288815761,500.8899711738,523.2511306012],description:'"Just well-tuned 17" circulating system'},"schulter_lin76-34":{frequencies:[261.6255653006,270.6250663876,281.88470155261,291.58108453077,295.07956188513,305.22982618403,308.89206602106,319.51745915009,332.81131277165,344.25948974019,348.39001840879,360.3740779397,375.36781334896,388.27986588625,392.93856423817,406.45502016129,423.36600317146,437.92911415628,443.18352164838,458.42832346067,463.9286840578,479.88708893184,499.85328649772,517.04744024951,523.2511306012],description:"Two 12-note chains, ~704.160 cents, 34 4ths apart (32 4ths = 7:6), TL 29-11-02"},schulter_pel:{frequencies:[261.6255653006,271.31540105247,305.22982618403,392.4383479509,406.97310157871,523.2511306012],description:"Just pelog-style Phrygian pentatonic"},schulter_pepr:{frequencies:[261.6255653006,270.64528702739,281.81099471089,291.52662303231,295.05751399041,305.22982618403,308.92668738628,319.57714790608,332.76158224462,344.23376719628,348.40303271111,360.41446953256,375.28368107222,388.22184469544,392.9238840789,406.47020586181,423.23948674937,437.83095983374,443.13385158124,458.41119660824,463.96335069158,479.95880706014,499.75992392917,516.98949183803,523.2511306012],description:"Peppermint 24: Wilson/Pepper apotome/limma=Phi, 2 chains spaced for pure 7:6"},schulter_qcm62a:{frequencies:[261.6255653006,262.43934012943,267.90457886781,268.73788454005,273.37431312998,274.22463192287,279.93529690293,280.80602334765,285.65065877038,286.53916259713,292.50627485027,293.41610276971,299.52642572255,300.45808951291,305.64177427204,306.59245933664,312.977175335,313.95067836072,320.36052345918,320.48862783822,327.03195662575,328.04917632434,334.88072358477,335.92235492515,341.71789064962,342.78078913836,349.91912034749,351.00752840096,358.31717956585,359.43170941363,365.63284274659,366.77012764335,374.40803131735,375.5726110527,382.05221698715,383.2405741708,391.22147055517,392.4383479509,400.61078621746,401.85686830172,408.78994578219,410.06146948999,418.60090448096,419.90294514449,427.14736482575,428.47598794138,437.39890198442,438.75941205608,447.89647345742,449.28963835923,457.04105241293,458.46266117889,468.01003810189,469.46576276783,479.24227945773,480.73294151703,489.02683710225,490.54793493862,500.76348165392,502.32108537715,510.98743222773,512.57683571821,523.2511306012],description:"1/4-comma meantone, two 31-notes at 1/4-comma (Vicentino-like system)"},schulter_qcmlji24:{frequencies:[261.6255653006,262.43934012943,273.37431312998,274.22463192287,292.50627485027,293.41610276971,306.59245933664,312.977175335,327.03195662575,328.04917632434,349.91912034749,351.00752840096,365.63284274659,366.77012764335,391.22147055517,392.4383479509,408.78994578219,410.06146948999,437.39890198442,438.75941205608,458.46266117889,468.01003810189,489.02683710225,490.54793493862,523.2511306012],description:"24-note adaptive JI (Eb-G#/F'-A#') for Lasso's Prologue to _Prophetiae_"},schulter_qcmqd8_4:{frequencies:[261.6255653006,273.37431312998,292.50627485027,309.28772967674,327.03195662575,349.91912034749,365.63284274659,391.22147055517,411.22091428214,437.39890198442,465.24335632603,489.02683710225,523.2511306012],description:"F-C# in 1/4-comma meantone, other 5ths ~4.888 cents wide or (2048/2025)^(1/4)"},schulter_sq:{frequencies:[261.6255653006,271.31540105247,279.38237857051,289.72987407313,294.32876096318,305.22982618403,310.07474405997,325.94610833227,331.11985608357,343.38355445704,348.83408706747,361.75386806997,372.50983809402,386.30649876417,392.4383479509,406.97310157871,419.07356785577,434.59481110969,441.49314144476,457.84473927605,465.11211608996,488.9191624984,496.67978412536,515.07533168556,523.2511306012],description:'"Sesquisexta" tuning, two 12-tone Pyth. manuals a 7/6 apart. TL 16-5-2001'},schulter_tedorian:{frequencies:[261.6255653006,295.99553712036,309.28772789022,347.85054122562,393.54796334264,442.61656607198,462.49302735707,523.2511306012],description:"Eb Dorian in temperament extraordinaire -- neo-medieval style"},schulter_zarte84:{frequencies:[261.6255653006,272.52663052146,292.24684137387,308.87634556583,326.45210604021,350.07440004945,364.66083404534,391.04793957621,410.30971075781,436.81711699543,465.03699205118,487.94322738789,523.2511306012],description:"Temperament extraordinaire, Zarlino's 2/7-comma meantone (F-C#)"},schulter_zarte84n:{frequencies:[261.6255653006,272.46997760396,292.1447183254,308.81896225817,326.44489157977,350.01709816983,364.52535053201,391.11195868293,410.09013064752,436.73596474349,465.11312402839,488.01232708701,523.2511306012],description:"Zarlino temperament extraordinaire, 1024-tET mapping"},scotbag:{frequencies:[261.6255653006,290.69507255622,327.03195662575,356.76213450082,387.59343007496,436.04260883433,479.64686971777,523.2511306012],description:"Scottish bagpipe tuning"},scotbag2:{frequencies:[261.6255653006,290.69507255622,319.76457981184,348.83408706747,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Scottish bagpipe tuning 2"},scotbag3:{frequencies:[261.6255653006,294.32876096318,327.03195662575,359.73515228832,392.4383479509,441.49314144476,479.64686971777,523.2511306012],description:"Scottish bagpipe tuning 3"},scotbag4:{frequencies:[261.6255653006,293.15632631094,318.58319997217,348.2210758395,392.67530119805,428.21545238314,468.59347232539,523.2511306012],description:"Scottish Higland Bagpipe by Macdonald, Edinburgh. Helmholtz/Ellis p. 515, nr.52"},scottd1:{frequencies:[261.6255653006,275.93341798027,292.67158636845,310.42509491746,327.40170814054,349.22823143301,367.9112241576,391.5530240856,413.90012676351,437.52264545758,465.63764214343,490.54829628849,523.2511306012],description:"Dale Scott's temperament 1, TL 9-6-1999"},scottd2:{frequencies:[261.6255653006,276.1828093671,292.93610587951,310.70566022736,327.9937953665,349.3071136959,368.24374600687,391.64146650178,414.27421384356,438.21489534465,466.05849010807,491.32444638706,523.2511306012],description:"Dale Scott's temperament 2, TL 9-6-1999"},scottd3:{frequencies:[261.6255653006,276.40121172404,293.16775656083,310.95136287868,328.51274831708,349.22813057195,368.53494914961,391.77416758435,414.60181737882,438.75957425603,466.42704408487,491.93513777943,523.2511306012],description:"Dale Scott's temperament 3, TL 9-6-1999"},scottd4:{frequencies:[261.6255653006,276.60439543337,293.30494246724,310.98285414553,328.78580734933,349.37474066871,369.05201453919,391.83105388699,414.77686160481,439.10664961187,466.16991430388,492.5350487994,523.2511306012],description:"Dale Scott's temperament 4, TL 9-6-1999"},scottj:{frequencies:[261.6255653006,294.32876096318,336.37572681506,348.83408706747,392.4383479509],description:`Jeff Scott's "seven and five" tuning, fifth-repeating. TL 20-04-99`},scottj2:{frequencies:[261.6255653006,290.69507255622,299.00064605783,305.22982618403,313.95067836072,348.83408706747,366.27579142084,406.97310157871,418.60090448096,428.11456140098,436.04260883433,485.87604984397,523.2511306012,566.85539148463,581.39014511244,598.00129211566,610.45965236807,680.22646978156,719.47030457665,784.8766959018],description:`Jeff Scott's "just tritone/13" tuning. TL 17-03-2001`},secor12_1:{frequencies:[261.6255653006,275.03488264166,292.74290192225,310.07362690431,327.56128791316,349.21167447253,366.91716522699,391.37968062521,412.76363757129,437.92977184699,465.61556619611,490.01645577464,523.2511306012],description:"George Secor's 12-tone temperament ordinaire #1, proportional beating"},secor12_2:{frequencies:[261.6255653006,275.62199471997,292.79557634972,310.07474405997,327.35540669465,348.83408706747,367.49599295996,391.60840570078,413.43299207996,437.83150862942,465.11211608996,489.99465727995,523.2511306012],description:"George Secor's closed 12-tone well-temperament #2, with 7 just fifths"},secor12_3:{frequencies:[261.6255653006,274.49585366342,292.50627485027,309.76836826904,327.03195662575,349.57337698802,365.99447173417,391.22147055517,411.74378028931,437.39890198442,466.09783352473,489.02683710225,523.2511306012],description:"George Secor's closed 12-tone temperament #3 with 5 meantone, 3 just, and 2 wide fifths"},secor17htt1:{frequencies:[261.6255653006,266.21235100401,283.6936382117,294.88137067808,304.94368688875,319.75456524059,327.03195662575,348.50707605838,360.3992766165,372.69727792826,392.80658053205,399.69321489333,425.93975025566,435.63385416574,457.84473927605,480.08189580921,491.0082387498,523.2511306012],description:"George Secor's 17-tone high-tolerance temperament subset #1 on C (5/4 & 7/4 exact)"},secor17htt2:{frequencies:[261.6255653006,266.21235100401,279.78524030783,294.88137067808,300.05119287674,319.75456524059,327.03195662575,348.50707605838,360.3992766165,372.69727792826,392.80658053205,399.69321489333,425.93975025566,442.73709545768,457.84473927605,480.08189580921,491.0082387498,523.2511306012],description:"George Secor's 17-tone high-tolerance temperament subset #2 on Eo (5/4 & 7/4 exact)"},secor17htt3:{frequencies:[261.6255653006,270.55308473255,279.78524030783,294.88137067808,300.05119287674,319.75456524059,327.03195662575,343.70575469589,360.3992766165,368.60172104124,392.80658053205,399.69321489333,425.93975025566,442.73709545768,457.84473927605,480.08189580921,491.0082387498,523.2511306012],description:"George Secor's 17-tone high-tolerance temperament subset #3 on G (5/4 & 7/4 exact)"},secor17htt4:{frequencies:[261.6255653006,270.55308473255,279.78524030783,294.88137067808,300.05119287674,319.75456524059,332.36439517321,343.70575469589,360.3992766165,368.60172104124,392.80658053205,399.69321489333,420.07165483694,442.73709545768,450.49910517366,480.08189580921,491.0082387498,523.2511306012],description:"George Secor's 17-tone high-tolerance temperament subset #4 on Bo (5/4 & 7/4 exact)"},secor17wt:{frequencies:[261.6255653006,271.90848849519,284.45827635845,296.12458543709,307.25838681362,320.91221742866,335.17278980765,347.77473997341,362.0378075073,378.74746489181,393.63374363584,408.43373030454,427.2847686483,445.53990619223,462.29147990415,482.0422296857,504.29062567056,523.2511306012],description:"George Secor's well temperament with 5 pure 11/7 and 3 near just 11/6"},secor19wt:{frequencies:[261.6255653006,272.32755795875,282.27948808054,292.18583194851,304.13791554835,314.37102040472,326.31582004031,339.6640167515,350.11094753355,364.43250202589,378.27942889874,391.0071187494,407.00156221801,421.24111755476,436.68033801788,454.54308187078,469.17957429271,487.6886112017,506.92782577841,523.2511306012],description:"George Secor's 19-tone well temperament with ten 5/17-comma fifths"},secor19wt1:{frequencies:[261.6255653006,272.32845615788,282.22605479514,292.18610873661,304.13920677667,314.3856167727,326.31643450984,339.6657766488,350.11078170334,364.43353349925,378.23315721313,391.00730395019,407.00309738029,421.33223555387,436.68095599763,454.54522431957,469.16941157468,487.689760539,506.89867708289,523.2511306012],description:"George Secor's 19-tone proportional-beating (5/17-comma) well temperament (v.1)"},secor19wt2:{frequencies:[261.6255653006,272.32845615788,282.22605479514,292.18610873661,304.13920677667,314.27577204952,326.31643450984,339.6657766488,350.11078170334,364.43353349925,378.23315721313,391.00730395019,407.00309738029,421.20165315727,436.68095599763,454.54522431957,469.03541436973,487.689760539,506.89867708289,523.2511306012],description:"George Secor's 19-tone proportional-beating (5/17-comma) well temperament (v.2)"},secor1_4tx:{frequencies:[261.6255653006,274.52656755164,292.65557420835,309.65910769439,327.20096538886,349.14957009195,366.50113643833,391.42429537222,412.04336447213,437.62002395673,465.5327601226,489.58458498887,523.2511306012],description:"George Secor's rational 1/4-comma temperament extraordinaire"},secor1_5tx:{frequencies:[261.6255653006,275.23833828784,292.86443876933,310.12174699459,327.84546895566,349.26796031009,366.98445105045,391.462133155,412.85750743176,438.21197504744,465.69061374678,490.54793493862,523.2511306012],description:"George Secor's 1/5-comma temperament extraordinaire (ratios supplied by G. W. Smith)"},secor1_5wt:{frequencies:[261.6255653006,275.62199471997,292.86443876933,310.07474405997,327.84546895566,348.83408706747,367.44664657419,391.462133155,413.43299207996,438.21197504744,465.11211608996,490.54793493862,523.2511306012],description:"George Secor's 1/5-comma well-temperament (ratios supplied by G. W. Smith)"},secor1_7wt:{frequencies:[261.6255653006,276.40791719395,293.28186156416,310.6264877857,328.77715667764,349.45479875891,368.54388959194,391.74026793015,414.61187579093,439.14616729155,465.93973167855,492.29203182992,523.2511306012],description:"George Secor's 1/7-comma well-temperament (ratios supplied by G. W. Smith)"},secor22_19p3:{frequencies:[261.6255653006,266.86058412305,272.32845615788,282.28026746552,292.18610873661,304.13920677667,314.37137994881,326.31643450984,339.6657766488,350.11078170334,357.11635499175,364.43353349925,378.28077924825,391.00730395019,407.00309738029,421.28573964817,436.68095599763,454.54522431957,469.17973147781,477.89781576412,487.689760539,506.93004530576,523.2511306012],description:"George Secor's 19+3 well temperament with ten ~5/17-comma (equal-beating) fifths and 3 pure 9:11. TL 28-6-2002,26-10-2006. Aux=1,10,19"},secor22_ji29:{frequencies:[261.6255653006,272.52663052146,283.42769574232,286.15296204753,294.32876096318,305.22982618403,316.13089140489,327.03195662575,340.65828815182,348.83408706747,359.73515228832,370.63621750918,381.53728273004,392.4383479509,414.24047839262,425.14154361347,436.04260883433,441.49314144476,457.84473927605,479.64686971777,490.54793493862,501.44900015948,523.2511306012],description:"George Secor's 22-tone just intonation (29-limit otonality on 4/3)"},secor29htt:{frequencies:[261.6255653006,270.55308473255,276.71069203503,283.6936382117,290.1503157249,294.88137067808,304.94368688875,310.54087273367,319.75456524059,327.03195662575,332.36439517321,343.70575469589,348.50707605838,360.3992766165,368.60172104124,377.19539564757,387.3949548402,392.80658053205,406.21042497925,415.4555026381,425.93975025566,435.63385416574,442.73709545768,457.84473927605,464.24049278842,480.08189580921,491.0082387498,499.01438878341,516.04239079678,523.2511306012],description:"George Secor's 29-tone 13-limit high-tolerance temperament (5/4 & 7/4 exact)"},secor2_11wt:{frequencies:[261.6255653006,275.91396717201,292.9984614786,310.40321306851,328.14053952957,349.20361470207,367.88528956268,391.55148162785,413.87095075801,438.50612639837,465.60481960276,491.10222639053,523.2511306012],description:"George Secor's rational 2/11-comma well-temperament"},secor41htt:{frequencies:[261.6255653006,266.21235100401,270.55308473255,276.71069203503,279.78524030783,283.6936382117,290.1503157249,294.88137067808,300.05119287674,304.94368688875,310.54087273367,315.34936221801,319.75456524059,327.03195662575,332.36439517321,338.19136297459,343.70575469589,348.50707605838,354.61705516636,360.3992766165,368.60172104124,372.69727792826,377.90358994896,387.3949548402,392.80658053205,399.69321489333,406.21042497925,415.4555026381,420.07165483694,425.93975025566,435.63385416574,442.73709545768,450.49910517366,457.84473927605,464.24049278842,473.46789104304,480.08189580921,491.0082387498,499.01438878341,507.7630447553,516.04239079678,523.2511306012],description:"George Secor's 13-limit high-tolerance temperament superset (5/4 & 7/4 exact)"},secor5_23tx:{frequencies:[261.6255653006,275.02417915696,292.7420830065,310.0721322444,327.56084927797,349.21018850905,366.91927748105,391.38056264645,412.75664067387,437.92311604224,465.61358467873,490.0190422864,523.2511306012],description:"George Secor's rational 5/23-comma temperament extraordinaire"},secor5_23wt:{frequencies:[261.6255653006,275.62199471997,292.75872440224,310.07474405997,327.56278518065,348.83408706747,367.49599295996,391.3766908411,413.43299207996,437.81158306864,465.11211608996,489.99465727995,523.2511306012],description:"George Secor's rational 5/23-comma proportional-beating well-temperament"},secor7p:{frequencies:[261.6255653006,281.10327891957,302.03108525935,356.94582815655,383.52002471837,412.07263653985,442.75095666255,523.2511306012],description:"George Secor's pelog-like MOS with near just 11:13:15:19 tetrads (1979)"},secor_vrwt:{frequencies:[261.6255653006,276.32932769153,293.15777167588,310.55777256823,328.11844153148,349.04269216937,368.62018440632,392.00375398861,414.25255044712,438.65017260809,465.6191423793,491.6947801169,523.2511306012],description:"George Secor's Victorian rational well-temperament (based on Ellis #2)"},"secor_wt1-7":{frequencies:[261.6255653006,276.2204353545,293.2843722634,310.74798946314,328.77415062671,349.45463702831,368.55847674989,391.74146894101,414.33065282463,439.14535139523,466.13275379077,492.28548658217,523.2511306012],description:"George Secor's 1/7-comma well-temperament"},secor_wt10:{frequencies:[261.6255653006,276.4188590209,293.2843722634,310.62634254146,328.77415062671,349.45463500978,368.55847887877,391.7414712038,414.6282883241,439.14535393183,465.93951357928,492.28548942572,523.2511306012],description:"George Secor's 12-tone well-temperament, proportional beating"},"secor_wtpb-24a":{frequencies:[261.6255653006,275.62199471997,292.84836938997,310.07474405997,327.30111872997,348.83408706747,367.49599295996,391.90002374246,413.43299207996,437.54991661796,465.11211608996,490.95167809495,523.2511306012],description:"George Secor's 24-triad proportional-beating well-temperament (24a)"},"secor_wtpb-24b":{frequencies:[261.6255653006,275.62199471997,292.56126314547,310.07474405997,327.51644841334,348.83408706747,367.49599295996,391.46936437571,413.43299207996,437.76524630133,465.11211608996,490.37746560595,523.2511306012],description:"George Secor's 24-triad proportional-beating well-temperament (24b)"},segah:{frequencies:[261.6255653006,293.66476791741,320.24370022528,349.22823143301,391.99543598175,440,479.82340237272,523.2511306012],description:"Arabic SEGAH (Dudon) Two 4 + 3 + 3 tetrachords"},segah2:{frequencies:[261.6255653006,293.66476791741,318.39923223688,349.22823143301,391.99543598175,425.01198472693,466.16376151809,523.2511306012],description:"Iranian mode Segah from C"},segah_rat:{frequencies:[261.6255653006,294.32876096318,319.76457981184,348.83408706747,392.4383479509,441.49314144476,479.64686971777,523.2511306012],description:"Rationalized Arabic Seg\xEF\xBF\xBDh\r"},seidel974:{frequencies:[261.6255653006,262.64754016506,266.73543962288,267.75741448733,268.77938935179,273.88926367407,274.91123853852,276.95518826743,277.97716313189,280.0211128608,283.08703745416,284.10901231862,285.13098718308,287.17493691199,289.2188866409,290.24086150535,294.32876096318,457.84473927605,461.93263873387,463.97658846278,468.0644879206,474.19633710734,476.24028683625,482.37213602298,486.4600354808,488.50398520971,492.59188466754,498.72373385427,506.89953276991,513.03138195665,515.07533168556,519.16323114338,523.2511306012],description:"Dave Seidel, Base 9:7:4 Symmetry, scale for Passacaglia and Fugue State (2005)"},seikilos:{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,336.37572681506,348.83408706747,356.10146388137,392.4383479509,406.97310157871,441.49314144476,457.84473927605,504.56359022259,523.2511306012],description:"Seikilos Tuning"},sekati1:{frequencies:[261.6255653006,285.2147362526,318.99014578736,340.97107458785,383.86043226246,424.60539155549,468.56721805116,523.2511306012],description:"Gamelan sekati from Sumenep, East-Madura. 1/1=244 Hz."},sekati2:{frequencies:[261.6255653006,288.87830434024,317.34219433319,357.31261688157,393.64955765984,420.29657220667,469.35141988267,523.2511306012],description:"Gamelan Kyahi Sepuh from kraton Solo. 1/1=216 Hz."},sekati3:{frequencies:[261.6255653006,291.90272733088,308.20569577938,369.53649673407,403.69531865382,425.43272843735,475.11832680028,523.2511306012],description:"Gamelan Kyahi Henem from kraton Solo. 1/1=168.5 Hz."},sekati4:{frequencies:[261.6255653006,271.36353278789,288.89182053123,342.12578909252,379.12979967788,410.29128883625,439.50493264224,523.2511306012],description:"Gamelan Kyahi Guntur madu from kraton Jogya. 1/1=201.5 Hz."},sekati5:{frequencies:[261.6255653006,274.79663866182,311.31645994273,355.61927540077,375.97459751383,397.52718524897,433.44837981883,523.2511306012],description:"Gamelan Kyahi Naga Ilaga from kraton Jogya. 1/1=218.5 Hz."},sekati6:{frequencies:[261.6255653006,284.57524936299,310.80330758934,358.01400474517,390.79902205709,427.51850178351,468.18764285778,523.2511306012],description:"Gamelan Kyahi Munggang from Paku Alaman, Jogya. 1/1=199.5 Hz."},sekati7:{frequencies:[261.6255653006,286.67481979642,318.21831168293,371.10013445627,390.58282835584,422.12643845206,463.87524473877,523.2511306012],description:"Gamelan of Sultan Anom from Cheribon. 1/1=282 Hz."},sekati8:{frequencies:[261.6255653006,287.04067548259,315.94410704802,350.82750428678,381.72407804086,425.57749367468,447.5043967797,523.2511306012],description:"The old Sultans-gamelan Kyahi Suka rame from Banten. 1/1=262.5 Hz."},sekati9:{frequencies:[261.6255653006,280.44107893528,310.90439774384,346.74342440827,376.31071188751,412.14996063869,455.1567650372,523.2511306012],description:"Gamelan Sekati from Katjerbonan, Cheribon. 1/1=292 Hz."},selisir:{frequencies:[261.6255653006,278.78833362316,320.24370022528,380.8360868427,417.71053321823,524.76452349887],description:"Gamelan semara pagulingan, Bali. Pagan Kelod"},selisir2:{frequencies:[261.6255653006,279.59466973861,299.66214729245,376.46181130035,408.17001145418,520.23742585195],description:"Gamelan semara pagulingan, Bali. Kamasan"},selisir3:{frequencies:[261.6255653006,284.98499077387,305.5412851438,378.42269266694,406.45400323486,523.2511306012],description:"Gamelan gong, Pliatan, Bali. 1/1=280 Hz, McPhee, 1966"},selisir4:{frequencies:[261.6255653006,277.23130136276,295.59098907682,376.373620257,399.32323124828,523.2511306012],description:"Gamelan gong, Apuan, Bali. 1/1=285 Hz. McPhee, 1966"},selisir5:{frequencies:[261.6255653006,275.89605068063,309.19384990071,383.40037296022,406.23315014465,523.2511306012],description:"Gamelan gong, Sayan, Bali. 1/1=275 Hz. McPhee, 1966"},selisir6:{frequencies:[261.6255653006,282.63199755101,312.23197007902,396.25769882774,415.35445602102,523.2511306012],description:"Gamelan gong, Gianyar, Bali. 1/1=274 Hz. McPhee, 1966"},semipor1:{frequencies:[261.6255653006,290.69507255622,313.95067836072,327.03195662575,353.19451315581,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:"First 16/15&250/243 = 648/625&250/243 scale"},semisixths:{frequencies:[261.6255653006,264.19830736984,270.23055453212,272.88791531122,275.57140613391,281.86332858923,284.63508234504,291.13394747727,293.99686553194,300.70948316519,303.66656221886,306.65272199551,313.65430163898,316.7386758187,323.97054074552,327.15636145846,330.37351240232,337.91669168384,341.23965429995,349.03093233441,352.46319080675,360.51072564419,364.05587272954,367.63587953306,376.02984347246,379.72760059524,388.39764380609,392.21702191873,396.07395857323,405.11722624758,409.10101938242,418.44172684717,422.55654641528,426.71183224275,436.45463212963,440.74658728358,450.80983509489,455.24295209046,465.63718490681,470.21611194415,474.84006394159,485.68174342829,490.45777940536,501.656046885,506.58917188228,511.57080469686,523.2511306012],description:"Semisixths temperament, 13-limit, g=443.0"},"scalamakesrc2\\semisixths_8":{frequencies:[261.6255653006,282.20554108354,304.40437778605,337.94858305883,364.53227585368,393.20709362444,436.53702313055,470.87587163898,522.76460573117],description:"8-note MOS of Semisixths [7, 9, 13, -2, 1, 5] temperament, TOP tuning"},semisuper:{frequencies:[261.6255653006,267.78942821112,272.60119889127,277.49943141001,284.03728045772,289.141002119,295.95312328758,301.27095467792,308.36885759663,313.90977919898,321.30545111289,327.07882560827,334.78475653951,340.80033382945,348.82954357113,355.09748450744,363.46353108469,369.99442271164,378.7114412363,385.5163125912,392.44345945086,401.68937424288,408.90712663484,418.54092077997,426.06147005461,436.09942062666,443.93546710474,454.39452662825,462.55931114028,473.45714317395,481.96445416288,493.31947147471,502.18367855499,514.01505508798,523.2511306012],description:"Semisuper temperament, g=71.146064, p=600, 5-limit"},semithirds:{frequencies:[13.75,13.81661017188,13.90316796691,13.99026794524,14.07791366516,14.14611237417,14.23473442257,14.3239115844,14.41364750281,14.48347263281,14.57420816344,14.665512046,14.73655738771,14.82887834882,14.92177776458,15.01525908647,15.08799873642,15.18252139242,15.27763629821,15.37334698758,15.4478213521,15.54459820959,15.64198144101,15.73997475533,15.81622511342,15.91530993122,16.01501558389,16.11534586889,16.19341466585,16.29486248479,16.39694594444,16.47637891809,16.57959953527,16.68346670883,16.78798468204,16.86931199442,16.97499424439,17.08133847,17.18834901569,17.27161584349,17.37981843193,17.48869878298,17.59826134469,17.68351394199,17.7942969746,17.90577393328,18.01794937217,18.10523509614,18.21866011204,18.33279560295,18.42160666689,18.53701356879,18.6531435747,18.77000099922,18.86093005309,18.97908920954,19.09798871479,19.21763298632,19.3107305405,19.43170758802,19.55344264036,19.67594033402,19.77125798984,19.89512013023,20.01975835255,20.14517740386,20.24276822054,20.36958425827,20.49719488615,20.62560496443,20.72552315291,20.85536353332,20.98601745346,21.08768161561,21.21979095359,21.352727802,21.48649759166,21.59058626784,21.72584618454,21.86195334633,21.99891331359,22.10548432428,22.24396995552,22.38332303719,22.52354926226,22.63266180681,22.7744500803,22.91712649141,23.06069686887,23.17241155847,23.3175812365,23.46366023269,23.57732716458,23.72503340608,23.87366512928,24.02322785632,24.1396055475,24.29083432682,24.44301065897,24.59614033986,24.71529329517,24.87012861873,25.02593409262,25.18271565096,25.30471019771,25.46323807533,25.62275923969,25.78327976642,25.90818367164,26.07049216435,26.23381763196,26.36090411207,26.52604894185,26.69222821075,26.85944870765,26.98956598001,27.15864922771,27.32879158412,27.5],description:"Semithirds temperament, g=193.199615, 5-limit"},sensisynch19:{frequencies:[261.6255653006,272.4389540986,281.73678149918,293.38139793239,303.39395317428,313.74821628003,326.71591476706,337.86611241253,351.83064080634,363.83795665907,376.25506171692,391.80626469239,405.17787315281,421.92450060765,436.32398762558,454.35793210906,469.86431365505,485.89989602801,505.98288939536,523.2511306012],description:"Sensi[19] in synch (brat=-1) tuning, generator ~162/125 satisfies g^9-g^7-4=0"},serre_enh:{frequencies:[261.6255653006,265.7783520514,279.06726965397,348.83408706747,392.4383479509,398.6675280771,418.60090448096,523.2511306012],description:"Dorian mode of the Serre's Enharmonic"},"sev-elev":{frequencies:[261.6255653006,279.06726965397,294.32876096318,305.22982618403,327.03195662575,336.37572681506,359.73515228832,392.4383479509,406.97310157871,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:'"Seven-Eleven Blues" of Pitch Palette'},sha:{frequencies:[261.6255653006,266.96486255163,280.31310567921,284.82183961519,290.63452941521,294.32876096318,300.33547037059,305.16625703708,320.42456924675,326.96384715385,343.31203882349,348.83408706747,355.95315006884,373.75080757229,392.4383479509,400.44729382745,406.8883429195,420.46965851882,427.23275920923,435.9517939049,457.74938532681,480.63685362987,490.44577048562,498.33441009638,523.2511306012],description:"Three chains of sqrt(3/2) separated by 10/7"},shahin:{frequencies:[261.6255653006,277.01530443593,282.55561052465,294.32876096318,310.50067090621,317.47821407264,328.55303549378,348.83408706747,357.66532977804,371.78369805875,376.74081403286,392.4383479509,415.52295665389,428.11456140098,441.49314144476,463.20591889287,478.90781444856,495.71159741166,523.2511306012],description:"Mohajeri Shahin Iranian style scale, TL 9-4-2006"},shahin_wt:{frequencies:[261.6255653006,276.93928561067,294.25491037444,311.47852302926,329.62755691287,348.92163548373,370.73795561568,392.4383479509,415.30469757995,439.61371330969,467.10055427519,494.44133512215,523.2511306012],description:"Mohajeri Shahin, well temperament, TL 28-12-2006"},shalfun:{frequencies:[261.6255653006,269.43930514995,277.46904793785,285.74220762407,294.32876096318,302.80736724606,311.45900631024,320.30554027987,329.50323085718,338.98103822311,348.83408706747,359.12912189513,369.78878487717,380.87868001252,392.4383479509,404.24222079821,416.2697936366,428.68354137408,441.49314144476,454.4477424016,467.68960547122,481.19471271032,494.94053216156,508.90014647073,523.2511306012],description:"d'Erlanger vol.5, p.40. After Alexandre ^Salfun (Chalfoun)"},"sharm1c-conm":{frequencies:[261.6255653006,305.22982618403,318.50068819203,332.97799220076,406.97310157871,430.91269578922,457.84473927605,523.2511306012],description:"Subharm1C-ConMixolydian"},"sharm1c-conp":{frequencies:[261.6255653006,313.95067836072,330.47439827444,348.83408706747,418.60090448096,448.50096908674,483.00104363188,523.2511306012],description:"Subharm1C-ConPhryg"},"sharm1c-dor":{frequencies:[261.6255653006,319.76457981184,338.57426097725,359.73515228832,383.71749577421,411.12588832951,479.64686971777,547.03527290125,523.2511306012],description:"Subharm1C-Dorian"},"sharm1c-lyd":{frequencies:[261.6255653006,309.19384990071,323.91736656265,340.11323489078,382.37582620857,377.90359432309,485.87604984397,503.87145909745,523.2511306012],description:"Subharm1C-Lydian"},"sharm1c-mix":{frequencies:[261.6255653006,305.22982618403,318.50068819203,332.97799220076,366.27579142084,457.84473927605,488.36772189445,523.2511306012],description:"Subharm1C-Mixolydian"},"sharm1c-phr":{frequencies:[261.6255653006,313.95067836072,330.47439827444,348.83408706747,392.4383479509,483.00104363188,502.32108537715,523.2511306012],description:"Subharm1C-Phrygian"},"sharm1e-conm":{frequencies:[261.6255653006,318.50068819203,325.57848126297,332.97799220076,430.91269578922,443.97065626768,457.84473927605,523.2511306012],description:"Subharm1E-ConMixolydian"},"sharm1e-conp":{frequencies:[261.6255653006,330.47439827444,339.40613876835,348.83408706747,448.50096908674,465.11211608996,483.00104363188,523.2511306012],description:"Subharm1E-ConPhrygian"},"sharm1e-dor":{frequencies:[261.6255653006,338.57426097725,348.83408706747,359.73515228832,383.71749577421,411.12588832951,500.50108144463,511.62332769895,523.2511306012],description:"Subharm1E-Dorian"},"sharm1e-lyd":{frequencies:[261.6255653006,323.91736656265,331.81779013735,340.11323489078,382.37582620857,377.90359432309,503.87145909745,513.37846775967,523.2511306012],description:"Subharm1E-Lydian"},"sharm1e-mix":{frequencies:[261.6255653006,318.50068819203,325.57848126297,332.97799220076,366.27579142084,488.36772189445,505.20798816668,523.2511306012],description:"Subharm1E-Mixolydian"},"sharm1e-phr":{frequencies:[261.6255653006,330.47439827444,339.40613876835,348.83408706747,392.4383479509,502.32108537715,512.57253609913,523.2511306012],description:"Subharm1E-Phrygian"},"sharm2c-15":{frequencies:[261.6255653006,327.03195662575,341.25073734861,356.76213450082,392.4383479509,461.69217405988,490.54793493862,523.2511306012],description:"Subharm2C-15-Harmonia"},"sharm2c-hypod":{frequencies:[261.6255653006,322.00069575458,334.88072358477,348.83408706747,364.00078650518,380.54627680087,465.11211608996,492.47165233054,523.2511306012],description:"SHarm2C-Hypodorian"},"sharm2c-hypol":{frequencies:[261.6255653006,307.79478270659,327.03195662575,348.83408706747,373.75080757229,402.50086969323,475.68284600109,498.33441009638,523.2511306012],description:"SHarm2C-Hypolydian"},"sharm2c-hypop":{frequencies:[261.6255653006,336.37572681506,348.83408706747,362.25078272391,376.74081403286,392.4383479509,470.92601754108,495.71159741166,523.2511306012],description:"SHarm2C-Hypophrygian"},"sharm2e-15":{frequencies:[261.6255653006,341.25073734861,348.83408706747,356.76213450082,392.4383479509,490.54793493862,506.37206187213,523.2511306012],description:"Subharm2E-15-Harmonia"},"sharm2e-hypod":{frequencies:[261.6255653006,334.88072358477,341.71502406609,348.83408706747,364.00078650518,380.54627680087,492.47165233054,507.3950357345,523.2511306012],description:"SHarm2E-Hypodorian"},"sharm2e-hypol":{frequencies:[261.6255653006,327.03195662575,337.58137458142,348.83408706747,373.75080757229,402.50086969323,498.33441009638,510.48890790361,523.2511306012],description:"SHarm2E-Hypolydian"},"sharm2e-hypop":{frequencies:[261.6255653006,348.83408706747,355.41586229515,362.25078272391,376.74081403286,392.4383479509,495.71159741166,509.10920815252,523.2511306012],description:"SHarm2E-Hypophrygian"},sherwood:{frequencies:[261.6255653006,279.50101530337,292.73346657716,312.73435005323,327.54017122074,349.91920725962,366.48547573919,391.52543233055,418.27599117656,438.07873640926,468.01000025525,490.16733894289,523.65750116998],description:"Sherwood's improved meantone temperament"},shrutar:{frequencies:[261.6255653006,269.80136421624,277.49581689502,285.40970760065,294.32876096318,304.37698984459,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,368.95121675679,379.48299988042,392.4383479509,405.83598431812,417.42065019394,428.11456140098,441.49314144476,457.84473927605,470.92601754108,490.54793493862,505.97733342682,523.2511306012],description:"Paul Erlich's Shrutar tuning (from 9th fret) tempered with Dave Keenan"},shrutar_temp:{frequencies:[261.6255653006,269.67683152447,277.97586744827,286.53029793775,295.34798250635,304.4370214407,313.80576690868,327.74897996102,337.83512841993,348.23166805304,358.94815083964,369.99442271164,381.38063259971,393.11724175776,405.21503337437,417.68512248001,430.53896367224,443.78837151315,463.50705251482,477.77102045752,492.47394780842,507.62934310616,523.2511306012],description:"Shrutar temperament, 11-limit, g=52.474, 1/2 oct."},shrutart:{frequencies:[261.6255653006,269.83675183105,278.27349931787,286.14641333958,294.32706056425,305.2349557921,313.94319125793,327.02936607233,337.2932679302,348.82502010853,358.79758764604,369.99442271164,381.540672377,392.44854854484,405.86600994967,418.6042204156,436.0530078362,448.49343183014,465.11480315564,478.41198231361,491.94721442498,507.32849364948,523.2511306012],description:"Paul Erlich's 'Shrutar' tuning tempered by Dave Keenan, TL 29-12-2000"},siamese:{frequencies:[261.6255653006,269.26067151764,288.95340229325,296.22023396764,319.13574119147,352.26720984209,362.5475414329,388.79334481031,400.18585940536,429.40436513853,443.77760270734,473.98350631811,523.2511306012],description:"Siamese Tuning, after Clem Fortuna's Microtonal Guide"},silbermann1:{frequencies:[261.6255653006,275.15551885617,293.66476791741,312.53552595124,327.77163799145,349.82028288879,367.9112241576,391.99543598175,411.56972129721,438.75957425603,467.74568907204,491.10256480205,523.2511306012],description:"Gottfried Silbermann's temperament nr. 1"},silbermann2:{frequencies:[261.6255653006,275.00020270933,293.00227310437,312.18279369479,328.14198392915,349.6228209638,367.49599295996,391.5530240856,411.56972129721,438.51190905657,467.21778431035,491.10256480205,523.2511306012],description:"Gottfried Silbermann's temperament nr. 2, 1/6 Pyth. comma meantone"},silbermann2a:{frequencies:[261.6255653006,275.00020270933,293.00227310437,310.77584116741,328.14198392915,349.6228209638,367.49599295996,391.5530240856,411.56972129721,438.51190905657,467.21778431035,491.10256480205,523.2511306012],description:"Modified Silbermann's temperament nr. 2, also used by Hinsz in Midwolda"},silver:{frequencies:[261.6255653006,277.18807786937,293.58315284916,311.09098010692,329.53543886896,349.23174545031,369.98176232374,391.84186131702,415.18563115404,439.77824302677,466.03998256716,493.70667148145,523.2511306012],description:"Equal beating chromatic scale, A.L.Leigh Silver JASA 29/4, 476-481, 1957"},silver_10:{frequencies:[261.6255653006,270.26884019355,294.27266239927,320.41022551991,330.99364634362,360.39280035711,392.40094712608,405.36462386145,441.36692569059,480.56953386201,523.2511306012],description:"Ten-tone MOS from 350.9 cents"},silver_11:{frequencies:[261.6255653006,277.73657748574,294.83971256733,315.81001885226,335.25773244276,355.90304440354,381.21644531515,404.69191411574,429.61301214396,460.16899244324,488.50639225338,523.2511306012],description:"Eleven-tone MOS from 1+sqr(2), 1525.864 cents"},silver_11a:{frequencies:[261.6255653006,272.21316796874,283.22923537857,314.22802528801,326.94437231289,340.17533123945,377.40674067136,392.67983758722,408.5710143206,453.28817432381,471.63208149661,523.2511306012],description:"Eleven-tone MOS from 317.17 cents"},silver_11b:{frequencies:[261.6255653006,281.48899567641,302.85877036442,316.87090334834,340.92873240472,366.81310701257,383.78194911277,412.91987382947,444.27004083312,464.82473992747,500.11279777071,523.2511306012],description:"Eleven-tone MOS from 331.67 cents"},silver_7:{frequencies:[261.6255653006,277.73649727228,315.81000061035,335.2576162513,381.21640127531,404.69175048432,460.16888612163,523.2511306012],description:"Seven-tone MOS from 1+sqr(2), 1525.864 cents"},silver_8:{frequencies:[261.6255653006,288.49477506296,306.46277751246,337.93681424842,358.98416079003,395.852196628,420.50662316693,492.57276348379,523.2511306012],description:"Eight-tone MOS from 273.85 cents"},silver_9:{frequencies:[261.6255653006,294.18258755347,307.6617709921,345.94759796409,361.79860795042,406.82129262791,425.46148093979,478.40645551359,500.32661205896,523.2511306012],description:"Nine-tone MOS from 280.61 cents"},silvermean:{frequencies:[261.6255653006,286.15296204753,327.03195662575,345.42750418595,392.4383479509,416.96574469783,474.19633710734,523.2511306012],description:"First 6 approximants to the Silver Mean, 1+ sqr(2) reduced by 2/1"},simonton:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,348.83408706747,370.63621750918,392.4383479509,414.24047839262,436.04260883433,465.11211608996,494.18162334558,523.2511306012],description:"Simonton Integral Ratio Scale, JASA 25/6 (1953): A new integral ratio scale"},sims:{frequencies:[261.6255653006,272.52663052146,283.42769574232,294.32876096318,305.22982618403,316.13089140489,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Ezra Sims' 18-tone mode"},sims2:{frequencies:[261.6255653006,269.80136421624,277.97716313189,286.15296204753,294.32876096318,302.50455987882,310.68035879446,318.85615771011,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Sims II"},sims_24:{frequencies:[261.6255653006,269.80136421624,272.52663052146,277.97716313189,283.42769574232,286.15296204753,294.32876096318,302.50455987882,305.22982618403,310.68035879446,316.13089140489,318.85615771011,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"See his article, Reflections on This and That, 1991 p.93-106"},sin:{frequencies:[261.6255653006,275.08939827539,302.09917071192,334.63165645627,369.99442271164,407.01712569342,445.10399729103,483.9175316883,523.2511306012,562.97086325858,602.98541169118,643.23087116255,683.66056756853,724.23972686276,764.94197926416,805.74682982871,846.63811574624,887.6028851904,928.63083777952,969.71346974542,1010.84345850104,1052.01529432917],description:"1/sin(2pi/n), n=4..25"},sinemod12:{frequencies:[261.6255653006,270.6035983646,282.0485507085,292.16840832754,301.82804372114,314.42520179993,326.24260278214,336.76433478807,350.4641458176,364.21811789193,375.86233664064,390.61306119732,406.50371126161,419.61372202861,435.38454314112,453.55584308858,468.551249676,485.36279478778,505.89080731022,523.2511306012],description:"Sine modulated F=12, A=-.08203754"},sinemod8:{frequencies:[261.6255653006,272.43905323978,281.98404270447,290.99567087708,301.68076007415,314.40050256998,326.99158834066,337.97331861211,348.96407538813,362.38276875396,377.76595534172,392.29216556304,405.04934945717,418.6525822649,435.418746849,453.77727371169,470.43955130022,485.47382867757,502.48255971303,523.2511306012],description:"Sine modulated F=8, A=.11364155. Deviation minimal3/2, 4/3, 5/4, 6/5, 5/3, 8/5"},singapore:{frequencies:[261.6255653006,291.46787011619,321.35550581422,354.51258839996,385.70651737906,428.95813651779,462.1422075194,523.2511306012],description:"An observed xylophone tuning from Singapore"},sintemp6:{frequencies:[261.6255653006,277.18263097687,292.42974339757,312.08834713741,327.870830746,349.91196330865,369.15973155124,391.11111150212,416.11779639122,437.6550518996,467.60417912673,491.80624587316,523.2511306012],description:"Sine modulated fifths, A=1/6 Pyth, one cycle, f0=-90 degrees"},sintemp6a:{frequencies:[261.6255653006,276.17281343288,293.21211353711,310.64741311165,328.42667470471,349.22823143301,368.43838932195,391.77416758435,414.19655102258,438.82595961933,465.90062756558,491.80624587316,523.2511306012],description:"Sine modulated fifths, A=1/12 Pyth, one cycle, f0= D-A"},sintemp_19:{frequencies:[261.6255653006,272.86445838226,281.30973389888,292.50627485027,304.14845459111,313.56198179795,327.03195662575,338.65502209741,350.02113164026,365.30494475029,376.98581738134,391.19763056219,407.47965586966,419.94695489748,437.42555500456,453.91586039553,468.43012697388,488.88431353627,505.29249383438,523.2511306012],description:"Sine modulated thirds, A=7.366 cents, one cycle over fifths, f0=90 degrees"},sintemp_7:{frequencies:[261.6255653006,291.06608881088,319.67397341855,351.09362859375,390.60192440975,432.07134328681,473.03044489876,523.2511306012],description:"Sine modulated fifths, A=8.12 cents, one cycle, f0=90 degrees"},slen_pel:{frequencies:[261.6255653006,261.6255653006,283.17034563789,298.45295203849,338.50336851425,364.68988616898,346.01554587335,389.06292924114,398.38689497567,420.13030572059,455.51656649021,493.31307433255,523.2511306012],description:"Pelog white, Slendro black"},slen_pel16:{frequencies:[261.6255653006,261.6255653006,285.30470202322,285.30470202322,297.93622032612,311.12698372208,339.28638158975,386.37547528213,386.37547528213,403.48177901006,421.34544350737,440,523.2511306012],description:"16-tET Slendro and Pelog"},slen_pel23:{frequencies:[261.6255653006,261.6255653006,295.14355885465,295.14355885465,286.38154466424,343.14246862785,313.47984535337,398.94762483098,398.94762483098,387.10394860926,450.05828708186,423.73315704439,523.2511306012],description:"23-tET Slendro and Pelog"},slen_pel_jc:{frequencies:[261.6255653006,261.6255653006,299.00064605783,299.00064605783,279.06726965397,341.71502406609,348.83408706747,392.4383479509,392.4383479509,392.4383479509,448.50096908674,418.60090448096,523.2511306012],description:"Slendro/JC PELOG S1c,P1c#,S2d,eb,P2e,S3f,P3f#,S4g,ab,P4a,S5bb,P5b"},slen_pel_schmidt:{frequencies:[261.6255653006,261.6255653006,294.32876096318,305.22982618403,327.03195662575,348.83408706747,359.73515228832,392.4383479509,392.4383479509,457.84473927605,457.84473927605,490.54793493862,523.2511306012],description:"Dan Schmidt (Pelog white, Slendro black)"},slendro:{frequencies:[261.6255653006,298.45295203849,346.01554587335,398.38689497567,455.51656649021,523.2511306012],description:"Observed Javanese Slendro scale, Helmholtz/Ellis p. 518, nr.94"},slendro10:{frequencies:[261.6255653006,304.21577360535,342.24274530602,391.67780832635,463.92905474816,523.2511306012],description:"Low gender from Singaraja (banjar Lod Peken), Bali. 1/1=172 Hz. McPhee, 1966."},slendro11:{frequencies:[261.6255653006,299.11221417218,343.62760815601,387.36203100102,452.96366529656,523.2511306012],description:"Low gender from Sawan, Bali. 1/1=167.5 Hz. McPhee, 1966."},slendro2:{frequencies:[261.6255653006,299.13295468097,343.58614396263,395.91119354826,450.08870388136,523.2511306012],description:"Gamelan slendro from Ranchaiyuh, distr. Tanggerang, Batavia. 1/1=282.5 Hz"},slendro3:{frequencies:[261.6255653006,298.44694115772,339.14425131559,391.46936437571,453.48431318771,522.28214737536],description:"Gamelan kodok ngorek. 1/1=270 Hz"},slendro4:{frequencies:[261.6255653006,294.5074669504,344.54514337401,400.3014113889,467.49486258632,523.2511306012],description:"Low gender in saih lima from Kuta, Bali. 1/1=183 Hz. McPhee, 1966"},slendro5_1:{frequencies:[261.6255653006,299.00064605783,336.37572681506,392.4383479509,448.50096908674,523.2511306012],description:"A slendro type pentatonic which is based on intervals of 7; from Lou Harrison"},slendro5_2:{frequencies:[261.6255653006,305.22982618403,348.83408706747,392.4383479509,457.84473927605,523.2511306012],description:"A slendro type pentatonic which is based on intervals of 7, no. 2"},slendro5_4:{frequencies:[261.6255653006,294.32876096318,348.83408706747,392.4383479509,448.50096908674,523.2511306012],description:"A slendro type pentatonic which is based on intervals of 7, no. 4"},slendro6:{frequencies:[261.6255653006,295.05549864457,341.56671025356,398.25224940202,461.478427683,523.2511306012],description:"Low gender from Klandis, Bali. 1/1=180 Hz. McPhee, 1966"},slendro8:{frequencies:[261.6255653006,309.85821141747,350.78288084997,406.32350365121,467.71050779996,523.2511306012],description:"Low gender from Tabanan, Bali. 1/1=179 Hz. McPhee, 1966."},slendro9:{frequencies:[261.6255653006,299.00064605783,336.37572681506,388.70083987518,448.50096908674,523.2511306012],description:"Low gender from Singaraja (banjar Panataran), Bali. 1/1=175 Hz. McPhee, 1966."},slendro_7_1:{frequencies:[261.6255653006,299.00064605783,341.71502406609,392.4383479509,448.50096908674,523.2511306012],description:"Septimal Slendro 1, From HMSL Manual, also Lou Harrison, Jacques Dudon"},slendro_7_2:{frequencies:[261.6255653006,294.32876096318,343.38355445704,392.4383479509,448.50096908674,523.2511306012],description:"Septimal Slendro 2, From Lou Harrison, Jacques Dudon's APTOS"},slendro_7_3:{frequencies:[261.6255653006,294.32876096318,336.37572681506,392.4383479509,448.50096908674,523.2511306012],description:'Septimal Slendro 3, Harrison, Dudon, called "MILLS" after Mills Gamelan'},slendro_7_4:{frequencies:[261.6255653006,294.32876096318,343.38355445704,392.4383479509,457.84473927605,523.2511306012],description:'Septimal Slendro 4, from Lou Harrison, Jacques Dudon, called "NAT"'},slendro_7_5:{frequencies:[261.6255653006,305.22982618403,343.38355445704,400.61414686654,467.3831713443,523.2511306012],description:"Septimal Slendro 5, from Jacques Dudon"},slendro_7_6:{frequencies:[261.6255653006,299.00064605783,341.71502406609,390.53145607553,455.62003208812,523.2511306012],description:"Septimal Slendro 6, from Robert Walker"},slendro_a1:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,457.84473927605,523.2511306012],description:`Dudon's Slendro A1, "Seven-Limit Slendro Mutations", 1/1 8:2'94 hexany 1.3.7.21`},slendro_a2:{frequencies:[261.6255653006,299.00064605783,341.71502406609,398.6675280771,448.50096908674,523.2511306012],description:`Dudon's Slendro A2 from "Seven-Limit Slendro Mutations", 1/1 8:2 Jan 1994`},slendro_alv:{frequencies:[261.6255653006,299.00064605783,348.83408706747,406.97310157871,465.11211608996,523.2511306012],description:"Bill Alves, slendro for Gender Barung, 1/1 vol.9 no.4, 1997. 1/1=282.86"},slendro_ang:{frequencies:[261.6255653006,299.00064605783,340.82516392797,388.43396508487,445.83123341082,523.2511306012],description:"Gamelan Angklung Sangsit, North Bali. 1/1=294 Hz"},slendro_av:{frequencies:[261.6255653006,298.97057995496,344.02264297658,395.86362945285,454.20288100724,525.67465946865],description:"Average of 30 measured slendro gamelans, W. Surjodiningrat et al., 1993."},slendro_dudon:{frequencies:[261.6255653006,305.22982618403,348.83408706747,399.70572476481,457.84473927605,523.2511306012],description:'Dudon\'s Slendro from "Fleurs de lumie`re"'},slendro_gum:{frequencies:[261.6255653006,305.03156112838,348.43777142572,394.8168394034,470.92601754108,525.62941881859],description:"Gumbeng, bamboo idiochord from Banyumas. 1/1=440 Hz"},slendro_ky1:{frequencies:[261.6255653006,297.58776037991,344.33874539242,394.68595744625,449.52853279627,523.2511306012],description:"Kyahi Kanyut Me`sem slendro, Mangku Nagaran, Solo. 1/1=291 Hz"},slendro_ky2:{frequencies:[261.6255653006,302.42139140287,345.87786599062,395.54249276388,453.1886900261,523.2511306012],description:"Kyahi Pengawe' sari, Paku Alaman, Jogya. 1/1=295 Hz"},slendro_laras:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,448.50096908674,523.2511306012,598.00129211566,697.66817413493],description:'Lou Harrison, gamelan "Si Betty"'},slendro_m:{frequencies:[261.6255653006,299.00064605783,348.83408706747,392.4383479509,448.50096908674,523.2511306012],description:`Dudon's Slendro M from "Seven-Limit Slendro Mutations", 1/1 8:2 Jan 1994`},slendro_madu:{frequencies:[261.6255653006,300.52885648597,345.61604384578,394.49404533893,447.94973572445,522.94897617031],description:"Sultan's gamelan Madoe kentir, Jogjakarta, Jaap Kunst"},slendro_mat:{frequencies:[261.6255653006,261.6255653006,299.00064605783,299.00064605783,341.71502406609,343.38355445704,348.83408706747,392.4383479509,398.6675280771,448.50096908674,455.62003208812,457.84473927605,523.2511306012],description:`Dudon's Slendro Matrix from "Seven-Limit Slendro Mutations", 1/1 8:2 Jan 1994`},slendro_pa:{frequencies:[261.6255653006,304.19649364034,353.69443592699,411.24653512154,478.16333951147,523.2511306012],description:'"Blown fifth" primitive slendro, von Hornbostel'},slendro_pas:{frequencies:[261.6255653006,300.35531433711,343.03050002254,393.12919962609,450.54468214486,523.2511306012],description:"Gamelan slendro of regent of Pasoeroean, Jaap Kunst"},slendro_pb:{frequencies:[261.6255653006,304.72408298441,342.83241505062,399.30842833955,449.24533531117,523.2511306012],description:'"Blown fifth" medium slendro, von Hornbostel'},slendro_pc:{frequencies:[261.6255653006,299.48910562989,342.83241505062,392.44854854484,449.24533531117,523.2511306012],description:'"Blown fifth" modern slendro, von Hornbostel'},slendro_pliat:{frequencies:[261.6255653006,299.73468146833,339.98478643783,393.08060743874,447.03290350508,523.2511306012,599.46936293666,679.96957287566,786.16121487749,894.06580701017],description:"Gender wayang from Pliatan, South Bali (Slendro), 1/1=305.5 Hz"},slendro_q13:{frequencies:[261.6255653006,307.00725675226,360.2608752926,400.8015646157,470.32478922042,523.2511306012],description:"13-tET quasi slendro, Blackwood"},slendro_s1:{frequencies:[261.6255653006,299.00064605783,348.83408706747,398.6675280771,457.84473927605,523.2511306012],description:`Dudon's Slendro S1 from "Seven-Limit Slendro Mutations", 1/1 8:2 Jan 1994`},slendro_s2:{frequencies:[261.6255653006,299.00064605783,341.71502406609,398.6675280771,455.62003208812,523.2511306012],description:"Dudon's Slendro S2"},slendro_udan:{frequencies:[261.6255653006,305.22982618403,351.32575911795,402.50086969323,465.11211608996,523.2511306012],description:"Slendro Udan Mas (approx)"},slendro_wolf:{frequencies:[261.6255653006,298.18866107946,339.86157848985,395.0032340925,450.20632964813,523.2511306012],description:"Daniel Wolf's slendro. Tuning List 30 5 1997"},slendrob1:{frequencies:[261.6255653006,307.44024341205,355.66611281954,409.9203247543,476.83364134848,523.2511306012],description:"Gamelan miring of Musadikrama, desa Katur, Bajanegara. 1/1=434 Hz"},slendrob2:{frequencies:[261.6255653006,307.55978097874,346.50416420081,398.42969909174,449.35693171058,523.2511306012],description:"Gamelan miring from Bajanegara. 1/1=262 Hz"},slendrob3:{frequencies:[261.6255653006,304.90191053936,342.27700149692,398.33972372326,447.51732140012,523.2511306012],description:"Gamelan miring from Ngumpak, Bajanegara. 1/1=266 Hz"},slendroc1:{frequencies:[261.6255653006,297.59222964268,344.42030317161,394.72197985873,449.50490455178,523.2511306012],description:"Kyahi Kanyut mesem slendro (Mangku Nagaran Solo). 1/1=291 Hz"},slendroc2:{frequencies:[261.6255653006,302.44445076078,346.01554587335,396.09235530397,453.15466093696,523.2511306012],description:"Kyahi Pengawe sari (Paku Alaman, Jogja). 1/1=295 Hz."},slendroc3:{frequencies:[261.6255653006,301.39807245198,344.42030317161,395.40657391157,451.84778706363,523.2511306012],description:"Gamelan slendro of R.M. Jayadipura, Jogja. 1/1=231 Hz"},slendroc4:{frequencies:[261.6255653006,299.14332201883,343.8239850859,396.09235530397,450.28451247858,523.2511306012],description:"Gamelan slendro, Rancha iyuh, Tanggerang, Batavia. 1/1=282.5 Hz"},slendroc5:{frequencies:[261.6255653006,299.83528893666,340.07120590121,393.12919962609,447.17417015401,523.2511306012],description:"Gender wayang from Pliatan, South Bali. 1/1=611 Hz"},slendroc6:{frequencies:[261.6255653006,296.73398952435,343.8239850859,396.7793260952,453.9405988926,527.19506190947,607.33963549452,696.44215167899,797.23415748628,918.4302691641,1071.58188326661],description:"from William Malm: Music Cultures of the Pacific, the Near East and Asia."},slendrod1:{frequencies:[261.6255653006,292.47977325983,340.6610152784,389.06292924114,444.85552088095,523.2511306012],description:"Gender wayang from Ubud (S. Bali). 1/1=347 Hz"},smith_eh:{frequencies:[261.6255653006,272.7117507892,292.30354792656,313.30283124826,326.5788018031,350.04044239751,364.87314355143,391.08587539224,407.65784362321,436.94425707006,468.33462614046,488.17995458879,523.2511306012],description:"Robert Smith's Equal Harmony temperament (1749)"},smith_mq:{frequencies:[261.6255653006,273.37438418823,292.50629623572,312.97714101186,327.03200500996,349.91910755601,365.63292511375,391.22148485648,408.79006910398,437.39894995248,468.01000388518,489.02693031834,523.2511306012],description:"Robert Smith approximation of quarter comma meantone fifth"},"scalamakesrc2\\smithgw-ball":{frequencies:[261.6255653006,267.07609791103,272.52663052146,274.70684356563,280.31310567921,286.15296204753,294.32876096318,300.46061014991,305.22982618403,306.59245933664,313.95067836072,320.49131749323,327.03195662575,333.84512238879,336.37572681506,343.38355445704,350.39138209902,357.69120255941,366.27579142084,367.91095120397,373.75080757229,381.53728273004,392.4383479509,400.61414686654,408.78994578219,412.06026534844,420.46965851882,429.2294430713,436.04260883433,448.50096908674,457.84473927605,467.18850946536,470.92601754108,476.92160341255,480.73697623985,490.54793493862,500.76768358318,515.07533168556,523.2511306012],description:"Ball 2 around tetrad lattice hole"},smithgw46:{frequencies:[261.6255653006,273.72380653152,313.47993226845,327.97605323154,364.46098649856,392.98113253789,436.69740466987,456.89141950378,523.2511306012],description:'Gene Ward Smith 46-tET subset "Star"'},smithgw46a:{frequencies:[261.6255653006,282.09853500802,313.47993226845,327.97605323154,375.61187043063,392.98113253789,436.69740466987,470.87026054824,523.2511306012],description:'46-tET version of "Star", alternative version'},smithgw72a:{frequencies:[261.6255653006,285.30470202322,299.37379946195,326.46944327063,342.56848033562,373.57357677338,391.99543598175,427.47405410759,435.78442404634,457.27406033445,498.66089874196,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72c:{frequencies:[261.6255653006,279.86396690685,305.19382000629,326.46944327063,349.22823143301,391.99543598175,419.32216217931,457.27406033445,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72d:{frequencies:[261.6255653006,305.19382000629,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72e:{frequencies:[261.6255653006,279.86396690685,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72f:{frequencies:[261.6255653006,326.46944327063,349.22823143301,435.78442404634,466.16376151809,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72g:{frequencies:[261.6255653006,326.46944327063,349.22823143301,391.99543598175,419.32216217931,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 04-01-2002"},smithgw72h:{frequencies:[261.6255653006,279.86396690685,314.13668154225,349.22823143301,391.99543598175,435.78442404634,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset, TL 09-01-2002"},smithgw72i:{frequencies:[261.6255653006,279.86396690685,293.66476791741,314.13668154225,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,435.78442404634,470.6732130613,489.15147723638,523.2511306012],description:"Gene Ward Smith 72-tET subset version of Duodene, TL 02-06-2002"},smithgw72j:{frequencies:[261.6255653006,274.52698453615,305.19382000629,326.46944327063,349.22823143301,366.44956000397,391.99543598175,435.78442404634,457.27406033445,489.15147723638,523.2511306012],description:"{225/224, 441/440} tempering of decad, 72-et version (2002)"},smithgw84:{frequencies:[261.6255653006,286.48426603331,306.03443598155,335.11270457212,357.98136125932,391.99543598175,418.74586628806,458.53356119912,489.82466832727,523.2511306012],description:'Gene Ward Smith 84-tET subset, 11-limit temperament "Orwell", 2002'},smithgw_18:{frequencies:[261.6255653006,272.52663052146,280.31310567921,286.15296204753,294.32876096318,306.59245933664,327.03195662575,343.38355445704,350.39138209902,367.91095120397,381.53728273004,392.4383479509,408.78994578219,420.46965851882,436.04260883433,457.84473927605,467.18850946536,490.54793493862,523.2511306012],description:"Gene Ward Smith chord analogue to periodicity blocks, TL 12-07-2002"},smithgw_21:{frequencies:[261.6255653006,267.07609791103,280.31310567921,286.15296204753,299.00064605783,305.22982618403,320.49131749323,327.03195662575,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,398.6675280771,418.60090448096,427.14378008261,448.50096908674,457.84473927605,478.40103369253,488.36772189445,512.57253609913,523.2511306012],description:"Gene Ward Smith symmetrical 7-limit JI version of Blackjack, TL 10-5-2002"},smithgw_45:{frequencies:[261.6255653006,267.02002970726,269.13627541126,274.68560334708,276.86260193655,282.57123920205,288.39758300936,290.68325478745,296.67686217097,299.02814898089,305.19382000629,311.48661940174,313.95528147508,320.42873367481,322.96826575344,329.62755691287,336.42415617173,339.09045868095,346.08217376006,348.82502010853,356.01745236555,363.35818557229,366.23795155866,373.78942366597,376.75185941212,384.52011812375,392.44854854484,395.55886785613,403.71490654806,406.9145164708,415.30469757995,423.86787605389,427.22720671064,436.03621571368,439.49198556474,448.5538823653,457.80262665414,461.43090443914,470.94516310483,474.67759826036,484.46499093218,494.45418731234,498.37294408452,508.64890891624,512.68016480935,523.2511306012],description:"Gene Ward Smith large limma repeating 5-tone MOS"},smithgw_58:{frequencies:[261.6255653006,264.89588486686,267.57160087561,269.80136421624,274.70684356563,279.06726965397,282.55561052465,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,301.49231810831,305.22982618403,310.07474405997,313.95067836072,317.12189733406,319.76457981184,323.76163705949,327.03195662575,332.97799220076,336.37572681506,340.54567384169,343.38355445704,348.83408706747,353.19451315581,356.76213450082,359.73515228832,366.27579142084,370.01329949656,373.75080757229,380.54627680087,383.71749577421,387.59343007496,392.4383479509,398.6675280771,401.98975747775,406.97310157871,411.12588832951,418.60090448096,423.83341578697,428.11456140098,431.68218274599,436.04260883433,441.49314144476,448.50096908674,452.23847716247,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,484.4917875937,490.54793493862,498.33441009638,507.3950357345,511.62332769895,516.79124009995,523.2511306012],description:"Gene Ward Smith 58-tone epimorphic superset of Partch's 43-tone scale"},smithgw_9:{frequencies:[261.6255653006,279.06726965397,305.22982618403,327.03195662575,348.83408706747,392.4383479509,418.60090448096,448.50096908674,490.54793493862,523.2511306012],description:'Gene Ward Smith "Miracle-Magic square" tuning, genus chromaticum of ji_12a'},"smithgw_al-baked":{frequencies:[261.6255653006,277.59364499865,293.85651796007,311.0721560172,330.05816364769,349.39467974592,369.86402907174,392.4383479509,415.42941801053,439.76742419786,466.60823379256,493.94455998605,522.88238970142],description:"Baked alaska, with beat ratios of 2 and 3/2"},"smithgw_al-fried":{frequencies:[261.6255653006,277.00141553195,293.28091128458,310.96067952124,329.23597434237,348.58531822795,369.59898601143,391.32048195179,414.31855981944,439.29480556849,465.11235566178,492.44721175277,522.13326741512],description:"Fried alaska, with octave-fifth brats of 1 and 2"},smithgw_asbru:{frequencies:[261.6255653006,275.52281548997,293.66476791741,313.00128725319,329.62755691287,351.33206601369,367.77883484915,391.99543598175,415.30469757995,440,468.97204376297,490.92584627687,523.2511306012],description:"Modified bifrost (2003)"},smithgw_bifrost:{frequencies:[261.6255653006,275.07759559501,292.50627485027,311.03921839762,327.03195662575,349.91912034749,366.77012764335,391.22147055517,413.66634097248,437.39889945791,466.55882736321,489.02683710225,523.2511306012],description:"Six meantone fifths, four pure, two of sqrt(2048/2025 sqrt(5))"},smithgw_cauldron:{frequencies:[261.6255653006,275.03056468741,291.83931845209,312.58541512404,325.54230007562,350.31873582686,364.83969341757,390.77519652096,414.65779561271,435.90375768372,469.07960710644,486.243977751,523.2511306012],description:"Circulating temperament with two pure 9/7 thirds"},smithgw_ck:{frequencies:[195.99771799087,198.06437430898,200.15282320192,202.2632921446,203.72940721765,205.87758869102,208.04842120778,210.24214482145,211.76609376362,213.99901760782,216.25548480725,218.5357448459,220.11981156469,222.44081817627,224.78629944762,227.15651084977,228.80306427848,231.21563094,233.65363506284,235.34728316698,237.82885399313,240.33658984216,242.87076938222,244.63122826831,247.21069030843,249.81735238129,252.45149840587,254.28140507407,256.96262135434,259.67210915034,262.4101678886,264.31225911206,267.09924514556,269.91561641866,272.7616843206,274.73881033537,277.63573538138,280.56320805899,282.59688215652,285.57666497222,288.58786914203,291.63082264784,293.74472081062,296.84205135845,299.9720393359,303.13503255793,305.33231946532,308.55183127196,311.80529233825,315.09305703284,317.37702217863,320.72353853051,324.10533989702,327.52280172307,329.89686439088,333.37539375097,336.89059979959,339.33256534187,342.91058750208,346.52633537645,350.18021075922,352.71850659998,356.43767199462,360.19605541958,363.99406623991,366.6324923874,370.49837299068,374.40501441099,378.35285076765,381.09535716275,385.11373623244,389.17448849491,391.99543598174],description:"Catakleismic temperament, g=316.745, 11-limit"},smithgw_decab:{frequencies:[261.6255653006,274.70684356563,293.02063313667,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,439.53094970501,488.36772189445,523.2511306012],description:"(10/9) <==> (16/15) transform of decaa"},smithgw_decac:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,348.83408706747,373.75080757229,392.4383479509,418.60090448096,448.50096908674,498.33441009638,523.2511306012],description:"inversion of decaa"},smithgw_decad:{frequencies:[261.6255653006,280.31310567921,311.45900631024,327.03195662575,348.83408706747,373.75080757229,392.4383479509,436.04260883433,467.18850946536,498.33441009638,523.2511306012],description:"inversion of decab"},smithgw_diff13:{frequencies:[261.6255653006,274.70684356563,280.31310567921,299.00064605783,313.95067836072,320.35783506196,336.37572681506,406.97310157871,427.32175665765,436.04260883433,457.84473927605,488.36772189445,498.33441009638,523.2511306012],description:"mod 13 perfect difference set, 7-limit"},smithgw_dwarf6_7:{frequencies:[261.6255653006,299.00064605783,327.03195662575,373.75080757229,392.4383479509,448.50096908674,523.2511306012],description:"Dwarf(<6 10 14 17|)"},smithgw_exotic1:{frequencies:[261.6255653006,274.95996987324,293.39100498914,313.05750197389,327.96500300935,349.94905375768,367.78508905896,392.4383479509,411.12588832951,438.68435539504,468.09011223803,491.94750426812,523.2511306012],description:"Exotic temperament featuring four pure 14/11 thirds and two pure fifths"},smithgw_glumma:{frequencies:[261.6255653006,269.10058145205,299.00064605783,313.95067836072,327.03195662575,358.80077526939,373.75080757229,392.4383479509,436.04260883433,448.50096908674,457.84473927605,512.57253609913,523.2511306012],description:"Gene Smith's Glumma scale, 7-limit, 2002"},smithgw_gm:{frequencies:[261.6255653006,264.89588486686,269.80136421624,274.70684356563,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,373.75080757229,380.54627680087,387.59343007496,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,498.33441009638,507.3950357345,516.79124009995,523.2511306012],description:'Gene Ward Smith "Genesis Minus" periodicity block'},smithgw_graileq:{frequencies:[261.6255653006,274.83794140225,293.02845982215,312.42294214419,328.20064112269,350.39711148969,365.67350481015,391.53226450123,414.40482204179,438.61355268439,469.63029662389,490.10494633744,523.2511306012],description:"56% RMS grail + 44% JI grail"},smithgw_grailrms:{frequencies:[261.6255653006,274.64037495938,293.11160698959,312.82513967025,328.38692028068,350.6222941497,365.93760986436,391.94882001935,414.52240989365,438.39608269016,469.55771333591,490.068176414,523.2511306012],description:"RMS optimized Holy Grail"},smithgw_hahn12:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Hahn-reduced 12 note scale, Fokker block 225/224, 126/125, 64/63"},smithgw_hahn15:{frequencies:[261.6255653006,279.06726965397,290.69507255622,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,373.75080757229,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Hahn-reduced 15 note scale"},smithgw_hahn16:{frequencies:[261.6255653006,280.31310567921,294.32876096318,299.00064605783,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,392.4383479509,408.78994578219,418.60090448096,436.04260883433,457.84473927605,488.36772189445,490.54793493862,523.2511306012],description:"Hahn-reduced 16 note scale"},smithgw_hahn19:{frequencies:[261.6255653006,274.70684356563,280.31310567921,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Hahn-reduced 19 note scale"},smithgw_hahn22:{frequencies:[261.6255653006,272.52663052146,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"Hahn-reduced 22 note scale"},smithgw_indianred:{frequencies:[261.6255653006,275.93321340298,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,331.11985608357,348.83408706747,353.19451315581,367.91095120397,372.08969287196,392.4383479509,413.43299207996,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,496.11959049595,523.2511306012],description:"32805/32768 Hahn-reduced"},smithgw_klv:{frequencies:[261.6255653006,271.78681896552,282.34272472006,293.30861211826,314.10491445143,326.30440921209,338.97771913949,352.14324873572,377.11107157735,391.75765725694,406.97310157871,422.77949745352,452.75560414132,470.34014155688,488.60764618722,523.2511306012],description:"Variant of kleismic with 9/7 thirds, g=316.492"},smithgw_meandin:{frequencies:[261.6255653006,280.31310567921,299.00064605783,313.95067836072,336.37572681506,348.83408706747,373.75080757229,392.4383479509,418.60090448096,448.50096908674,470.92601754108,504.56359022259,523.2511306012],description:"Gene Smith, inverted detempered 7-limit meantone"},smithgw_meanred:{frequencies:[261.6255653006,281.29980781121,291.99281841585,313.95067836072,325.57848126297,350.39138209902,363.36884069528,390.69417751556,420.46965851882,436.04260883433,468.83301301868,486.65469735975,523.2511306012],description:"171-et Hahn reduced rational Meantone[12]"},smithgw_meantune:{frequencies:[261.6255653006,273.55401844854,279.77233440758,292.56174910339,312.85829351777,327.16018629281,334.59705725462,349.85254391288,365.77071543428,374.29488261541,391.03456781852,418.40555295943,437.51985793188,468.14464283802,489.08159472971,500.47948461038,523.2511306012],description:"Meantune scale/temperament, Gene Ward Smith, 2003"},smithgw_mir22:{frequencies:[261.6255653006,267.57160087561,274.70684356563,280.31310567921,285.40970760065,299.00064605783,305.22982618403,319.76457981184,327.03195662575,343.38355445704,348.83408706747,366.27579142084,373.75080757229,392.4383479509,398.6675280771,418.60090448096,428.11456140098,448.50096908674,457.84473927605,479.64686971777,490.54793493862,512.78610798918,523.2511306012],description:"11-limit Miracle[22]"},smithgw_mmt:{frequencies:[261.6255653006,273.37431312998,292.50627485027,307.38829724655,327.03195662575,349.91912034749,365.63284274659,391.22147055517,411.12588832951,437.39890198442,459.65271605653,489.02683710225,523.2511306012],description:"Modified meantone with 5/4, 14/11 and 44/35 major thirds, TL 17-03-2003"},smithgw_modmos12a:{frequencies:[261.6255653006,265.27772209197,292.31087910123,304.72408298441,326.59518553839,340.46429857933,364.90060015836,391.09077971329,407.69874723177,425.01198472693,455.51656649021,488.21056770985,523.2511306012],description:"A 12-note modmos in 50-et meantone"},smithgw_octoid:{frequencies:[261.6255653006,272.34559486824,274.88944875317,277.45706359738,280.04865972334,282.66446436432,285.30470202322,296.99497716113,299.76906949343,302.56907333554,305.39522895084,308.24778413898,311.12698372208,323.87531915696,326.90048829645,329.95391413777,333.03585868997,336.14659218049,339.28638158975,353.18853996009,356.48751029933,359.81729479041,363.17817915623,366.5704580819,369.99442271164,385.15483391523,388.75238658,392.38354231563,396.04861270515,399.74791910495,403.48177901006,420.01432465796,423.93748365756,427.89728706578,431.89407466632,435.9281969008,440,458.02886886968,462.30710409523,466.62530033172,470.98382811593,475.38306960714,479.82340237272,499.48402328631,504.14947188193,508.85849826899,513.6115065207,518.40891338474,523.2511306012],description:"Octoid temperament, g=16.096, oct=1/8, 11-limit"},smithgw_orw18r:{frequencies:[261.6255653006,269.10058145205,280.31310567921,286.15296204753,299.00064605783,305.22982618403,327.03195662575,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,418.60090448096,448.50096908674,457.84473927605,474.80195184183,490.54793493862,523.2511306012],description:'Rational version of two cycles of 9-tone "Orwell"'},smithgw_pel1:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,327.03195662575,348.83408706747,363.36884069528,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"125/108, 135/128 periodicity block no. 1"},smithgw_pel2:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,490.54793493862,523.2511306012],description:"125/108, 135/128 periodicity block no. 2"},smithgw_pel3:{frequencies:[261.6255653006,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"125/108, 135/128 periodicity block no. 3"},smithgw_pk:{frequencies:[261.6255653006,271.01659746112,280.74472171431,290.822034715,313.8821415949,325.1489200649,336.82012073975,348.91025643633,376.57634157395,390.09352641046,404.09590743895,418.60090448096,451.79296003201,468.01003810189,484.80922990434,523.2511306012],description:"Parakleismic temperament, g=315.263, 5-limit"},smithgw_pris:{frequencies:[261.6255653006,279.06726965397,293.02063313667,305.22982618403,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,488.36772189445,523.2511306012],description:"optimized (15/14)^3 (16/15)^4 (21/20)^3 (25/24)^2 scale"},smithgw_prisa:{frequencies:[261.6255653006,274.70684356563,293.02063313667,313.95067836072,327.03195662575,343.38355445704,366.27579142084,392.4383479509,418.60090448096,439.53094970501,457.84473927605,488.36772189445,523.2511306012],description:"optimized (15/14)^3 (16/15)^4 (21/20)^3 (25/24)^2 scale"},smithgw_pum13marv:{frequencies:[261.6255653006,293.67396865289,305.56991629828,343.00138030143,326.66798000724,366.68389807519,349.22276077151,392.00157668785,407.88051296056,457.84473927605,436.04260883433,489.45661357347,549.41368713126,523.2511306012],description:"pum13 marvel tempered and in epimorphic order"},smithgw_qm3a:{frequencies:[261.6255653006,279.86396690685,305.19382000629,326.46944327063,349.22823143301,366.44956000397,391.99543598175,419.32216217931,457.27406033445,489.15147723638,523.2511306012],description:"Qm(3) 10-note quasi-miracle scale, mode A, 72-tET, TL 04-01-2002"},smithgw_qm3b:{frequencies:[261.6255653006,279.86396690685,299.37379946195,326.46944327063,349.22823143301,373.57357677338,391.99543598175,419.32216217931,448.5538823653,489.15147723638,523.2511306012],description:"Qm(3) 10-note quasi-miracle scale, mode B"},smithgw_ragasyn1:{frequencies:[261.6255653006,269.16210421872,290.69507255622,313.95067836072,322.99452506247,348.83408706747,363.36884069528,392.4383479509,403.74315632809,436.04260883433,470.92601754108,484.4917875937,523.2511306012],description:"Ragasyn 6561/6250 81/80 scale"},smithgw_rainbow:{frequencies:[261.6255653006,273.37431312998,292.50627485027,310.51268695591,327.03195662575,349.91912034749,365.63284274659,391.22147055517,412.03444522126,437.39889945791,468.01003810189,489.02683710225,523.2511306012],description:"Circulating 1/4-comma meantone, Gene Ward SMith"},smithgw_ratwell:{frequencies:[261.6255653006,275.62199471997,293.02063313667,310.07474405997,326.72451751701,348.83408706747,367.49599295996,392.4383479509,413.43299207996,437.57747881743,465.11211608996,489.99465727995,523.2511306012],description:"7-limit rational well-temperament"},smithgw_ratwolf:{frequencies:[261.6255653006,272.55669785235,292.25605339318,313.37920299881,326.47268679644,350.06888377949,364.69531895389,391.05410158062,407.39296674476,436.83777202739,468.410735204,487.98168129749,523.2511306012],description:"Eleven fifths of (418/5)^(1/11) and one 20/13 wolf, G.W. Smith 2003"},smithgw_rectoo:{frequencies:[261.6255653006,290.69507255622,299.00064605783,313.95067836072,327.03195662575,348.83408706747,392.4383479509,408.78994578219,418.60090448096,436.04260883433,457.84473927605,470.92601754108,523.2511306012],description:"Hahn-reduced circle of fifths via <12 19 27 34| kernel"},smithgw_sc19:{frequencies:[261.6255653006,269.16210421872,282.55561052465,290.69507255622,302.80736724606,313.95067836072,327.03195662575,339.06673262958,348.83408706747,363.36884069528,376.74081403286,392.4383479509,403.74315632809,418.60090448096,436.04260883433,452.08897683944,470.92601754108,484.4917875937,508.60009894437,523.2511306012],description:"Fokker block from commas <81/80, 78732/78125>, Gene Ward Smith 2002"},smithgw_sch13:{frequencies:[261.6255653006,269.71217215021,278.04872701265,282.14859498561,290.86954990528,295.15846273282,304.2815407612,313.68660297237,318.31195648825,328.15068782436,332.98931632582,343.28171142549,353.89223299652,359.11042631209,370.21019888355,375.66900084958,387.28058594818,392.99109319609,405.13808832031,417.66053353744,423.81899742763,436.9188548657,443.36128543927,457.06517711961,471.19264083172,478.14044600934,492.91932687455,500.18749236202,515.64783010531,523.2511306012],description:"13-limit schismic temperament, g=704.3917, TL 31-10-2002"},smithgw_sch13a:{frequencies:[261.6255653006,266.49502311502,271.45511438723,280.18048669638,285.39529457963,294.56874561631,300.051354061,305.6360048159,315.46005229837,321.33149462105,331.66004360268,337.8330052901,344.12086009392,355.18192699392,361.79268541866,373.4217751344,380.37201938485,392.59830625439,399.90547017058,407.34863733398,420.4420328577,428.26743302475,442.03321824291,450.26048038501,458.64087358289,473.38295124548,482.19370453904,497.69284002863,506.95605959354,523.2511306012],description:"13-limit schismic temperament, g=702.660507, TL 31-10-2002"},smithgw_scj22a:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,301.39265122629,313.95067836072,327.03195662575,334.88072358477,348.83408706747,361.67118147155,363.36884069528,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,454.2110508691,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"225/224 ^ 15625/15552 = [6,5,22,37,-18,-6] catakleismic"},smithgw_scj22b:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,334.88072358477,348.83408706747,353.19451315581,372.08969287196,387.59343007496,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"5120/5103 ^ 225/224 = [1,-8,-14,-10,25,-15] schismic candidate"},smithgw_scj22c:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,357.20610515709,367.91095120397,383.2405741708,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"225/224 ^ 65625/65536 = [7,-3,827,7,-21] orwell candidate"},smithgw_secab:{frequencies:[261.6255653006,274.07613169002,291.39807132323,313.10572011471,348.73657263424,365.33268718488,392.54808236386,417.35759110361,437.21932894603,486.97408086388,523.2511306012],description:"{126/125, 176/175} tempering of decab, 328-et version"},smithgw_secac:{frequencies:[261.6255653006,281.11531641881,298.8821409504,313.10572011471,348.73657263424,374.71564313773,392.54808236386,417.35759110361,448.44857247831,499.48119153644,523.2511306012],description:"{126/125, 176/175} tempering of decac, 328-et version"},smithgw_secad:{frequencies:[261.6255653006,281.11531641881,313.10572011471,328.00618883132,348.73657263424,374.71564313773,392.54808236386,437.21932894603,469.78990700991,499.48119153644,523.2511306012],description:"{126/125, 176/175} tempering of decad, 328-et version"},smithgw_smalldi11:{frequencies:[261.6255653006,269.10058145205,305.22982618403,313.95067836072,322.92069774245,366.27579142084,373.75080757229,423.93031414449,436.04260883433,448.50096908674,508.71637697339,523.2511306012],description:"Small diesic 11-note block, <10/9, 126/125, 1728/1715> commas"},smithgw_smalldi19a:{frequencies:[261.6255653006,269.10058145205,272.52663052146,299.00064605783,305.22982618403,313.95067836072,317.94773560837,327.03195662575,358.80077526939,366.27579142084,373.75080757229,381.53728273004,418.60090448096,430.56093032327,436.04260883433,448.50096908674,457.84473927605,502.32108537715,508.71637697339,523.2511306012],description:"Small diesic 19-note block, <16/15, 126/125, 1728/1715> commas"},smithgw_smalldi19b:{frequencies:[261.6255653006,266.96486255163,274.70684356563,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,358.80077526939,366.27579142084,373.75080757229,381.53728273004,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,498.33441009638,512.78610798918,523.2511306012],description:"Small diesic 19-note block, <16/15, 126/125, 2401/2400> commas"},smithgw_smalldi19c:{frequencies:[261.6255653006,267.07609791103,274.70684356563,280.31310567921,286.15296204753,313.95067836072,320.49131749323,327.03195662575,336.37572681506,343.38355445704,373.75080757229,381.53728273004,392.4383479509,400.61414686654,436.04260883433,448.50096908674,457.84473927605,470.92601754108,508.71637697339,523.2511306012],description:"Small diesic 19-note scale containing glumma"},smithgw_smalldiglum19:{frequencies:[261.6255653006,267.74077300753,273.99891691894,280.40333801024,286.95745534843,312.9293240034,320.24370022528,327.729041887,335.38934511627,343.22869944589,374.29355081838,383.0422478503,391.99543598175,401.15789496562,437.46578647972,447.69106452518,458.15534711532,468.86422071654,511.30005826145,523.2511306012],description:'Small diesic "glumma" variant of 19-note MOS, 31/120 version'},smithgw_smalldimos11:{frequencies:[261.6255653006,267.74077300753,305.78200836532,312.9293240034,320.24370022528,365.74467430283,374.29355081838,427.47405410759,437.46578647972,447.69106452518,511.30005826145,523.2511306012],description:"Small diesic 11-note MOS, 31/120 version"},smithgw_smalldimos19:{frequencies:[261.6255653006,267.74077300753,273.99891691894,298.79793764201,305.78200836532,312.9293240034,320.24370022528,327.729041887,357.39105439675,365.74467430283,374.29355081838,383.0422478503,417.71053321823,427.47405410759,437.46578647972,447.69106452518,458.15534711532,499.62194879119,511.30005826145,523.2511306012],description:"Small diesic 19-note MOS, 31/120 version"},smithgw_star:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,376.74081403286,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:'Gene Ward Smith "Star" scale, untempered version'},smithgw_star2:{frequencies:[261.6255653006,282.55561052465,313.95067836072,327.03195662575,376.74081403286,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:'Gene Ward Smith "Star" scale, alternative untempered version'},starra:{frequencies:[261.6255653006,274.07613169002,294.49338559574,313.10572011471,328.00618883132,343.61575980934,374.71564313773,392.54808236386,411.22915413197,437.21932894603,458.02627217006,492.14685988839,523.2511306012],description:"12 note {126/125, 176/175} scale, 328-et version"},smithgw_starrb:{frequencies:[261.6255653006,274.07613169002,287.1192112957,305.26548915336,328.00618883132,343.61575980934,365.33268718488,392.54808236386,411.22915413197,437.21932894603,458.02627217006,479.82340237272,523.2511306012],description:"12 note {126/125, 176/175} scale, 328-et version"},smithgw_starrc:{frequencies:[261.6255653006,274.07613169002,287.1192112957,313.10572011471,328.00618883132,343.61575980934,365.33268718488,392.54808236386,411.22915413197,437.21932894603,458.02627217006,492.14685988839,523.2511306012],description:"12 note {126/125, 176/175} scale, 328-et version"},smithgw_tetra:{frequencies:[261.6255653006,274.84135386022,293.90210492181,314.2847539672,326.44746606412,342.93767672779,366.7210324511,392.15380743582,419.35039192746,435.57910814854,457.58200907672,489.31615916483,523.2511306012],description:"{225/224, 385/384} tempering of two-tetrachord 12-note scale"},smithgw_tr31:{frequencies:[261.6255653006,267.54129532085,292.57243455474,299.18791603519,305.95298478736,334.57791819083,342.14320575162,349.87955533643,391.26571058456,400.11279059885,409.15991580663,447.44088028055,457.55816161244,467.90420651233,511.68128147674,523.2511306012],description:"6/31 generator supermajor seconds tripentatonic scale"},smithgw_tr7_13:{frequencies:[261.6255653006,183.87449048025,346.05860897284,243.21533855007,457.74028507734,321.70694650116,605.46440189891,425.52973856044,299.06887661109,562.85871464284,395.58580335293,744.50714985079,523.2511306012],description:"81/80 ==> 28561/28672"},smithgw_tr7_13b:{frequencies:[261.6255653006,372.25357492539,395.58580335293,281.42935732142,299.06887661109,425.52973856044,302.73220094945,321.70694650116,457.74028507734,486.43067710015,346.05860897284,367.7489809605,523.2511306012],description:"reverse reduced 81/80 ==> 28561/28672"},smithgw_tr7_13r:{frequencies:[261.6255653006,367.7489809605,346.05860897284,486.43067710015,457.74028507734,321.70694650116,302.73220094945,425.52973856044,299.06887661109,281.42935732142,395.58580335293,372.25357492539,523.2511306012],description:"reduced 81/80 ==> 28561/28672"},smithgw_tra:{frequencies:[261.6255653006,128.35937755236,399.56478905052,196.03545836752,610.23096296248,299.39301413087,931.96857771927,457.24471305759,224.33452437931,698.32199734535,342.61245382262,1066.50464849657,523.2511306012],description:"81/80 ==> 1029/512"},smithgw_tre:{frequencies:[261.6255653006,256.71872396454,399.56476227799,392.07084290614,305.11544059319,299.39293769309,465.98419519089,457.24482979639,448.66910888407,349.16106442144,342.6124767791,533.2523889322,523.2511306012],description:"81/80 ==> 1029/512 ==> reduction"},smithgw_treb:{frequencies:[261.6255653006,266.6261944661,342.6124767791,349.16106442144,448.66910888407,457.24482979639,465.98419519089,299.39293769309,305.11544059319,392.07084290614,399.56476227799,513.43744792908,523.2511306012],description:"reversed 81/80 ==> 1029/512 ==> reduction"},smithgw_trx:{frequencies:[261.6255653006,490.17835855476,354.35176059633,331.954494127,479.94227969828,449.60690021487,325.02250210538,304.47902995326,285.23403465053,412.39349145653,386.32762147798,279.2776760715,523.2511306012],description:"reduced 3/2->7/6 5/4->11/6 scale"},smithgw_trxb:{frequencies:[261.6255653006,279.2776760715,386.32762147798,412.39349145653,285.23403465053,304.47902995326,325.02250210538,449.60690021487,479.94227969828,331.954494127,354.35176059633,490.17835855476,523.2511306012],description:"reversed reduced 3/2->7/6 5/4->11/6 scale"},smithgw_wa:{frequencies:[261.6255653006,273.6474362764,299.37379946195,313.13022722746,327.51877211613,349.22823143301,374.77430422696,391.99543598175,417.97870684853,437.18511000944,469.1652354389,500.26367760099,523.2511306012],description:"Wreckmeister A temperament, TL 2-6-2002"},smithgw_wa120:{frequencies:[261.6255653006,273.99891691894,298.79793764201,312.9293240034,327.729041887,349.22823143301,374.29355081838,391.99543598175,417.71053321823,437.46578647972,468.86422071654,499.62194879119,523.2511306012],description:"120-tET version of Wreckmeister A temperament"},smithgw_wb:{frequencies:[261.6255653006,280.76349612739,291.78605424516,313.13022722746,327.51877211613,349.22823143301,365.2755039332,391.99543598175,417.97870684853,437.18511000944,469.1652354389,487.58430040208,523.2511306012],description:"Wreckmeister B temperament, TL 2-6-2002"},smithgw_well1:{frequencies:[261.6255653006,275.92984511873,292.92635710626,310.42107575858,327.5229776175,349.2237102284,367.90646015831,391.734151992,413.8947676781,437.99072463899,465.63161363786,490.54194687775,523.2511306012],description:"Well-temperament, Gene Ward Smith (2005)"},smithgw_whelp1:{frequencies:[261.6255653006,275.93321340298,292.50627485027,310.07474405997,327.03195662575,348.05120395042,368.50381975103,390.45372436301,413.66634097248,438.25895612273,464.36382062247,491.65133958137,523.2511306012],description:"well-temperament with one pure third, Gene Ward Smith, 2003"},smithgw_whelp2:{frequencies:[261.6255653006,275.85000668176,292.43269265164,309.98104674077,327.03195662575,347.97308568611,368.21146504308,391.7894791814,413.34036955908,438.14417346548,464.48314871299,489.73685071229,523.2511306012],description:"well-temperament with two pure thirds"},smithgw_whelp3:{frequencies:[261.6255653006,275.96871294479,292.50627485027,310.03485655885,327.03195662575,349.46135677641,368.11883862276,391.73393619399,413.66634097248,436.82669499534,464.84945270756,489.66742197778,523.2511306012],description:"well-temperament with three pure thirds"},smithgw_wiz28:{frequencies:[261.6255653006,269.80136421624,277.4816601673,280.31310567921,287.78812183066,297.30177875068,305.22982618403,308.34441624714,317.12189733406,327.03195662575,336.37572681506,345.34574619679,348.83408706747,359.73515228832,370.01329949656,380.54627680087,392.4383479509,396.40237166758,406.97310157871,418.60090448096,431.68218274599,436.04260883433,448.50096908674,460.46099492906,475.68284600109,490.54793493862,493.35106599542,508.71637697339,523.2511306012],description:"11-limit Wizard[28]"},smithgw_wiz34:{frequencies:[261.6255653006,269.80136421624,272.52663052146,277.4816601673,280.31310567921,287.78812183066,297.30177875068,305.22982618403,308.34441624714,313.95067836072,317.12189733406,327.03195662575,336.37572681506,345.34574619679,348.83408706747,356.76213450082,359.73515228832,370.01329949656,380.54627680087,383.71749577421,392.4383479509,396.40237166758,406.97310157871,418.60090448096,431.68218274599,436.04260883433,443.97065626768,448.50096908674,460.46099492906,475.68284600109,490.54793493862,493.35106599542,504.56359022259,508.71637697339,523.2511306012],description:"11-limit Wizard[34]"},smithgw_wiz38:{frequencies:[261.6255653006,269.80136421624,272.52663052146,277.4816601673,280.31310567921,285.40970760065,287.78812183066,297.30177875068,305.22982618403,308.34441624714,313.95067836072,317.12189733406,327.03195662575,336.37572681506,339.14425131559,345.34574619679,348.83408706747,356.76213450082,359.73515228832,370.01329949656,380.54627680087,383.71749577421,392.4383479509,396.40237166758,403.65087217807,406.97310157871,418.60090448096,431.68218274599,436.04260883433,443.97065626768,448.50096908674,460.46099492906,475.68284600109,479.64686971777,490.54793493862,493.35106599542,504.56359022259,508.71637697339,523.2511306012],description:"11-limit Wizard[38]"},smithgw_wreckpop:{frequencies:[261.6255653006,272.73569398658,292.31087910123,313.29104303136,326.59518553839,350.03605285217,364.90060015836,391.09077971329,419.16071913933,436.9606979923,455.51656649021,501.93603498211,523.2511306012],description:'"Wreckmeister" 13-limit meanpop (50-et) tempered thirds'},smithj12:{frequencies:[261.6255653006,272.52663052146,294.32876096318,306.59245933664,331.11985608357,344.91651675372,363.36884069528,392.4383479509,408.78994578219,441.49314144476,459.88868900496,496.67978412536,523.2511306012],description:"J. Smith, 5-limit JI scale, MMM 21-3-2006"},smithj17:{frequencies:[261.6255653006,272.57820116223,283.17034563789,295.02492750576,308.97787266236,319.3201344739,332.68808325276,348.42227432308,363.00854876594,377.11473546037,392.90218486657,411.48414905414,425.25755219187,443.06044202496,464.01459698705,479.54632553791,499.62194879119,523.2511306012],description:"J. Smith 17-tone well temperament, MMM 12-2006"},smithrk_19:{frequencies:[261.6255653006,274.68253637698,286.11368885031,294.3308008075,305.19387818096,313.95878694534,327.0246436172,343.34529416761,348.83287827711,366.24211271841,381.48359653409,392.43970784476,406.92376081862,418.61050714007,436.03134720211,457.79213919624,470.93981233279,488.32112480698,508.64303280756,523.2511306012],description:"19 out of 612-tET by Roger K. Smith, 1978"},smithrk_mult:{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,457.84473927605,470.92601754108,488.36772189445,508.71637697339,523.2511306012],description:'Roger K. Smith, "Multitonic" scale, just version'},solar:{frequencies:[261.6255653006,394.58976180129,774.00176545642,2207.36533954793,5481.83445910426,34573.03685904828,65024.37680021134,105705.6559450381],description:"Solar system scale: 0=Pluto, 8=Mercury. 1/1=248.54 years period"},solemn:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Solemn 6"},songlines:{frequencies:[261.6255653006,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,470.92601754108,479.64686971777,523.2511306012],description:"Songlines.DEM, Bill Thibault and Scott Gresham-Lancaster. 1992 ICMC (=rectsp6)"},sorge:{frequencies:[261.6255653006,272.52663052146,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,470.92601754108,490.54793493862,523.2511306012],description:"Sorge's Monochord (1756)"},sorge1:{frequencies:[261.6255653006,276.86979852503,293.00227310437,311.47852302926,328.88393162803,349.6228209638,369.57684148724,391.5530240856,415.30469757995,439.00737933323,466.69047534984,493.32589719545,523.2511306012],description:"Georg Andreas Sorge, 1744 (A)"},sorge2:{frequencies:[261.6255653006,276.24519242498,293.00227310437,310.77584116741,328.88393162803,348.83408706747,368.74309237173,391.5530240856,414.36778843034,438.51190905657,465.63764214343,492.21297564769,523.2511306012],description:"Georg Andreas Sorge, 1744 (B)"},sorge3:{frequencies:[261.6255653006,276.55731914056,293.00227310437,310.77584116741,328.51274831708,348.83408706747,369.15973155124,391.5530240856,414.83597850347,438.51190905657,465.63764214343,492.7691222293,523.2511306012],description:"Georg Andreas Sorge, well temperament, (1756, 1758)"},sparschuh:{frequencies:[261.6255653006,276.27659695743,293.02063313667,310.81117157711,328.60171001755,349.008504111,368.36879594324,391.3918456897,414.41489543615,439.53094970501,465.69350623507,491.85606276513,523.2511306012],description:"Andreas Sparschuh WTC temperament, 1/1=C=250, modified Collatz sequence"},sparschuh2:{frequencies:[261.6255653006,276.27659695743,293.02063313667,310.81117157711,328.60171001755,349.008504111,368.36879594324,391.3918456897,414.41489543615,438.48444744381,465.69350623507,491.85606276513,523.2511306012],description:"Modified Sparschuh temperament with A=419Hz by Tom Dent"},spec1_14:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,523.2511306012],description:"Spectrum sequence of 8/7: 1 to 27 reduced by 2/1"},spec1_17:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,490.54793493862,523.2511306012],description:"Spectrum sequence of 7/6: 1 to 27 reduced by 2/1"},spec1_25:{frequencies:[261.6255653006,277.97716313189,294.32876096318,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Spectrum sequence of 5/4: 1 to 25 reduced by 2/1"},spec1_33:{frequencies:[261.6255653006,277.97716313189,294.32876096318,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,457.84473927605,474.19633710734,490.54793493862,523.2511306012],description:"Spectrum sequence of 4/3: 1 to 29 reduced by 2/1"},spec1_4:{frequencies:[261.6255653006,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"Spectrum sequence of 7/5: 1 to 25 reduced by 2/1"},spec1_5:{frequencies:[261.6255653006,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Spectrum sequence of 1.5: 1 to 27 reduced by 2/1"},specr2:{frequencies:[261.6255653006,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,408.78994578219,425.14154361347,457.84473927605,474.19633710734,490.54793493862,523.2511306012],description:"Spectrum sequence of sqrt(2): 1 to 29 reduced by 2/1"},specr3:{frequencies:[261.6255653006,277.97716313189,310.68035879446,327.03195662575,359.73515228832,392.4383479509,408.78994578219,425.14154361347,441.49314144476,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Spectrum sequence of sqrt(3): 1 to 31 reduced by 2/1"},spon_chal1:{frequencies:[261.6255653006,280.31310567921,285.40970760065,286.15296204753,348.83408706747,392.4383479509,420.46965851882,428.11456140098,429.2294430713,523.2511306012],description:"JC Spondeion, from discussions with George Kahrimanis about tritone of spondeion"},spon_chal2:{frequencies:[261.6255653006,275.62199471997,279.06726965397,285.40970760065,348.83408706747,392.4383479509,413.43299207996,418.60090448096,428.11456140098,523.2511306012],description:"JC Spondeion II, 10 May 1997. Various tunings for the parhypatai and hence trito"},spon_mont:{frequencies:[261.6255653006,271.31540105247,348.83408706747,392.4383479509,428.11456140098,523.2511306012],description:"Montford's Spondeion, a mixed septimal and undecimal pentatonic, 1923"},spon_terp:{frequencies:[261.6255653006,285.40970760065,348.83408706747,392.4383479509,428.11456140098,523.2511306012],description:"Subharm. 6-tone series, guess at Greek poet Terpander's, 6th c. BC & Spondeion, Winnington-Ingram (1928)"},stade:{frequencies:[261.6255653006,274.22463192287,292.50627485027,309.28772967674,327.03195662575,348.83408706747,365.63284274659,391.22147055517,411.33694767869,437.39890198442,465.11211608996,489.02683710225,523.2511306012],description:"Organs in St. Cosmae, Stade; Magnuskerk, Anloo; H.K. Sluipwijk, modif. 1/4 mean"},stanhope:{frequencies:[261.6255653006,275.62199471997,293.00227310437,310.07474405997,326.6631048533,348.83408706747,367.49599295996,392.4383479509,413.43299207996,437.52264545758,465.11211608996,489.99465727995,523.2511306012],description:"Well temperament of Charles, third earl of Stanhope (1806)"},stanhope2:{frequencies:[261.6255653006,275.85537639807,293.11251278827,310.16223770573,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.66634097248,437.85193595173,465.11211608996,490.54793493862,523.2511306012],description:"Stanhope temperament (real version?) with 1/3 synt. comma temp."},stanhope_f:{frequencies:[261.6255653006,275.62199471997,292.46014274879,310.07474405997,326.6631048533,348.83408706747,367.49599295996,392.4383479509,413.43299207996,436.79202494356,465.11211608996,489.99465727995,523.2511306012],description:"Stanhope temperament, equal beating version by Farey (1807)"},stanhope_s:{frequencies:[261.6255653006,275.77758308753,293.11247215425,310.2497806633,327.03195662575,348.83408706747,367.7034443005,392.4383479509,413.66637442451,437.85181455341,465.11211608996,490.54793493862,523.2511306012],description:"Stanhope temperament, alt. version with 1/3 syntonic comma"},starling:{frequencies:[261.6255653006,278.9816419584,293.66476791741,313.14630527334,327.50195613664,349.22823143301,367.60851651046,391.99543598175,418.00016846495,437.16266336983,466.16376151809,490.69849857048,523.2511306012],description:"Starling temperament, Herman Miller (1999)"},stearns:{frequencies:[261.6255653006,299.00064605783,336.37572681506,366.27579142084,398.6675280771,448.50096908674,504.56359022259,523.2511306012],description:"Dan Stearns, guitar scale"},stearns2:{frequencies:[261.6255653006,280.31310567921,287.78812183066,299.00064605783,313.95067836072,317.68818643644,336.37572681506,340.11323489078,355.06326719367,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,429.81342870813,444.76346101102,448.50096908674,467.18850946536,470.92601754108,485.87604984397,497.08857407114,504.56359022259,523.2511306012],description:'Dan Stearns, scale for "At A Day Job" based on harmonics 10-20 and 14-28'},stearns3:{frequencies:[261.6255653006,304.11599009871,327.88291945286,364.30920726489,423.47641042702,470.52269644143,546.93995798074,607.70247408742,706.39900722312,784.8766959018],description:"Dan Stearns, trivalent version of Bohlen's Lambda scale"},stearns4:{frequencies:[261.6255653006,296.65550714972,336.37572681506,347.46339693852,393.986457405,446.73865184892,461.46412096988,523.2511306012],description:"Dan Stearns, 1/4-septimal comma temperament, tuning-math 2-12-2001"},steldek1:{frequencies:[261.6255653006,274.70684356563,275.93321340298,280.31310567921,286.15296204753,294.32876096318,305.22982618403,309.04519901133,315.35224388912,321.92208230347,327.03195662575,331.11985608357,343.38355445704,353.19451315581,367.91095120397,381.53728273004,386.30649876417,392.4383479509,400.61414686654,408.78994578219,412.06026534844,420.46965851882,429.2294430713,436.04260883433,441.49314144476,457.84473927605,490.54793493862,504.56359022259,508.71637697339,515.07533168556,523.2511306012],description:"Stellated two out of 1 3 5 7 9 dekany"},steldek1s:{frequencies:[261.6255653006,274.70684356563,275.93321340298,280.31310567921,286.15296204753,294.32876096318,305.22982618403,309.04519901133,315.35224388912,321.92208230347,327.03195662575,331.11985608357,339.14425131559,343.38355445704,353.19451315581,360.4025644447,367.91095120397,381.53728273004,386.30649876417,392.4383479509,400.61414686654,408.78994578219,412.06026534844,420.46965851882,429.2294430713,436.04260883433,441.49314144476,457.84473927605,482.88312345521,490.54793493862,494.47231841813,504.56359022259,508.71637697339,515.07533168556,523.2511306012],description:"Superstellated two out of 1 3 5 7 9 dekany"},steldek2:{frequencies:[261.6255653006,262.3068818769,269.80136421624,274.70684356563,280.31310567921,286.15296204753,294.32876096318,299.7792935736,308.34441624714,312.16686768822,314.76825825228,327.03195662575,337.2517052703,343.38355445704,356.76213450082,359.73515228832,377.72190990274,381.53728273004,385.43052030892,392.4383479509,393.46032281536,400.61414686654,408.78994578219,416.22249025095,419.69101100305,429.2294430713,431.68218274599,449.66894036041,457.84473927605,472.15238737843,490.54793493862,494.63583439645,499.46698830115,503.62921320365,513.90736041189,523.2511306012],description:"Stellated two out of 1 3 5 7 11 dekany"},steldek2s:{frequencies:[261.6255653006,262.3068818769,269.80136421624,274.70684356563,280.31310567921,286.15296204753,294.32876096318,295.09524211152,299.7792935736,302.17752792219,308.34441624714,312.16686768822,314.76825825228,327.03195662575,337.2517052703,343.38355445704,349.7425091692,356.76213450082,359.73515228832,377.72190990274,381.53728273004,385.43052030892,392.4383479509,393.46032281536,400.61414686654,408.78994578219,416.22249025095,419.69101100305,429.2294430713,431.68218274599,440.49202321019,449.66894036041,454.06089845559,457.84473927605,472.15238737843,490.54793493862,494.63583439645,499.46698830115,503.62921320365,513.90736041189,523.2511306012],description:"Superstellated two out of 1 3 5 7 11 dekany"},steleik1:{frequencies:[220,220.57291666667,224.58333333333,225,226.875,229.16666666667,232.03125,235.27777777778,238.21875,240.625,242.63020833333,243.08035714286,247.5,248.14453125,252.08333333333,252.65625,255.234375,256.66666666667,257.8125,262.5,264.6875,270.703125,272.25,275,277.29166666667,278.4375,280.72916666667,283.59375,288.75,294.09722222222,297.7734375,302.5,308.80208333333,309.375,311.953125,315,315.10416666667,317.625,320.83333333333,324.10714285714,324.84375,330,330.859375,336.11111111111,336.875,340.3125,343.75,346.5,346.61458333333,350,352.91666666667,353.57142857143,360.9375,366.66666666667,371.25,378.125,385,388.92857142857,392.12962962963,393.75,397.03125,401.04166666667,403.33333333333,412.5,415.9375,423.5,425.390625,427.77777777778,432.14285714286,433.125,440],description:"Stellated Eikosany 3 out of 1 3 5 7 9 11"},steleik1s:{frequencies:[123.47082531403,123.79236392162,125.33976847064,127.32928860509,129.9819821177,130.22313607339,131.308328874,132.59082945654,132.63467563031,133.69575303535,135.04621518722,136.42423779117,136.73429287706,138.90467847828,139.26640941182,141.47698733899,141.79852594658,143.24544968073,144.69237341488,145.8499124022,145.89814319334,147.3231438406,148.55083670594,148.82644122673,151.92699208562,154.33853164254,156.26776328807,156.6747105883,159.16161075637,160.43490364242,160.48795751267,162.05545822466,163.70908534941,165.05648522882,165.43161360434,165.73853682068,167.11969129419,168.80776898403,169.77238480679,173.63084809785,175.077771832,175.80123369908,178.26100404713,179.05681210091,180.06162024963,181.89898372156,182.31239050275,185.20623797104,185.68854588243,189.06470126211,189.41547065221,190.99393290764,192.92316455317,195.33470411009,198.06778227459,200.54362955302,202.56932278083,204.25740047067,204.63635668676,208.35701771743,208.89961411773,212.21548100849,212.69778891987,214.8681745211,216.07394429955,217.03856012232,220.07531363843,220.98471576091,222.82625505891,227.89048812843,229.19271948917,231.50779746381,233.43702910934,233.87012192772,234.4016449321,236.33087657764,238.74241613455,241.07423537553,241.15395569146,243.083187337,246.94165062806],description:"Superstellated Eikosany 3 out of 1 3 5 7 9 11"},steleik2:{frequencies:[123.47082531403,124.49974885831,126.04313417474,126.11662871362,127.68005799519,128.74405847848,129.64436657973,130.41605923794,132.04518818306,132.96858110742,133.76006075687,135.81790784543,137.94006265552,138.64744759221,140.44806379471,141.47698733899,144.0492961997,145.92006628022,146.26543921816,147.13606683255,148.16499037684,148.55083670594,151.25176100969,152.15206911093,154.33853164254,154.49287017418,155.62468607289,156.05340421634,157.14468676331,157.64578589202,158.45422581967,160.51207290824,160.9300730981,163.85607442716,164.62776708537,167.20007594608,169.77238480679,170.24007732692,171.65874463798,172.85915543964,173.88807898393,175.56007974339,176.56328019906,180.06162024963,181.09054379391,182.8317990227,183.92008354069,185.20623797104,186.74962328747,187.26408505961,190.14507098361,193.11608771773,194.02558263633,197.55332050245,198.06778227459,200.6400911353,201.66901467958,202.31209189476,203.72686176815,204.2880927923,205.78470885672,205.99049356557,208.95062745451,210.19438118936,214.01609721099,214.57343079747,216.07394429955,217.36009872991,217.87456050205,220.70410024883,224.71690207153,226.36317974239,229.30296129748,230.47887391952,234.08010632452,237.68133872951,239.0961086029,240.76810936236,243.77573203026,245.22677805425,246.94165062806],description:"Stellated Eikosany 3 out of 1 3 5 7 11 13"},steleik2s:{frequencies:[61.73541265702,61.89618196081,62.32902239411,62.70002847979,63.66464430255,64.65940436978,64.99099105886,65.83502990378,66.22690508177,66.31733781516,67.05419712422,67.52310759362,68.40003106886,68.56192463352,68.97003132776,69.45233923915,69.63320470592,70.8992629733,71.32128239576,72.34618670745,72.41853289415,72.94907159667,73.15003322642,73.66157192031,73.89646213689,74.27541835298,75.24003417574,75.43597176474,76.80753488774,77.16926582128,78.37503559973,79.58080537819,79.800036247,80.24397875634,80.46503654906,81.02772911234,81.51003702372,82.29378737972,82.71580680218,82.76403759332,84.40388449202,84.45309958502,84.8861924034,85.7024057919,86.21253915971,86.81542404893,87.05458499673,87.53888591601,87.7800398717,89.13050202357,90.52316611769,90.94949186079,92.60311898553,92.84427294122,94.05004271968,94.53235063106,94.83379307568,95.49696645383,95.7600434964,96.46158227659,96.55804385887,97.94560661931,98.52861618252,100.32004556766,100.58129568632,101.28466139042,101.88754627965,102.12870023534,103.45504699165,104.17850885872,105.33604784604,105.47988405157,106.10774050425,107.4857631082,108.03697214979,109.72504983963,111.41312752947,112.07630090762,112.86005126361,113.15395764711,114.2698743892,114.95005221294,115.75389873191,115.86965263064,116.71851455468,118.16543828883,118.23433941902,119.7000543705,120.57697784574,120.69755482359,121.54159366851,122.26505553558,123.47082531404],description:"Superstellated Eikosany 3 out of 1 3 5 7 11 13"},stelhex1:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,294.32876096318,327.03195662575,343.38355445704,381.53728273004,392.4383479509,400.61414686654,408.78994578219,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"Stellated two out of 1 3 5 7 hexany, also dekatesserany, mandala, tetradekany"},stelhex2:{frequencies:[261.6255653006,275.93321340298,294.32876096318,327.03195662575,331.11985608357,353.19451315581,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Stellated two out of 1 3 5 9 hexany"},stelhex3:{frequencies:[261.6255653006,271.31540105247,279.06726965397,281.36411960997,289.40309445597,297.67175429757,339.14425131559,348.83408706747,358.80077526939,361.75386806997,372.08969287196,385.87079260796,434.10464168396,465.11211608996,523.2511306012],description:"Stellated Tetrachordal Hexany based on Archytas's Enharmonic"},stelhex4:{frequencies:[261.6255653006,269.10058145205,276.78916949353,279.06726965397,287.04062021552,297.67175429757,336.37572681506,348.83408706747,358.80077526939,361.75386806997,372.08969287196,382.72082695402,430.56093032327,465.11211608996,523.2511306012],description:"Stellated Tetrachordal Hexany based on the 1/1 35/36 16/15 4/3 tetrachord"},stelhex5:{frequencies:[261.6255653006,294.32876096318,305.22982618403,331.11985608357,343.38355445704,386.30649876417,392.4383479509,400.61414686654,441.49314144476,457.84473927605,504.56359022259,515.07533168556,523.2511306012],description:"Stellated two out of 1 3 7 9 hexany, stellation is degenerate"},stelhex6:{frequencies:[261.6255653006,269.80136421624,294.32876096318,299.7792935736,327.03195662575,337.2517052703,356.76213450082,359.73515228832,392.4383479509,408.78994578219,431.68218274599,449.66894036041,490.54793493862,494.63583439645,523.2511306012],description:"Stellated two out of 1 3 5 11 hexany, from The Giving, by Stephen J. Taylor"},stelpd1:{frequencies:[207.65234878997,208.19311011494,212.37172035338,214.14148468966,218.03496622947,219.00833661442,222.07265078927,222.48465941783,222.99030637105,224.84855892414,227.11975648903,229.43730502463,233.60889238872,237.93498298851,240.90917027586,242.2610735883,244.73312535961,245.28933700815,247.76700707894,249.83173213793,250.29524184505,254.84606442405,255.50972605016,256.96978162759,259.56543598746,262.81000393731,267.67685586207,272.54370778684,275.32476602956,277.59081348659,280.33067086646,281.06069865517,283.1622938045,285.52197958621,292.0111154859,297.32040849473,299.79807856552,302.82634198537,305.91640669951,306.61167126019,311.47852318496,312.28966517242,317.24664398468,317.96765908464,318.55758053007,321.21222703448,324.45679498433,327.0524493442,330.35600943859,333.10897618391,333.72698912674,340.67963473354,342.62637550345,346.08724798328,350.41333858307,356.90247448276,363.39161038245,367.09968803941,371.65051061841,374.7475982069,380.69597278161,385.45467244138,389.34815398119,392.59272193104,396.42721132631,399.73077142069,400.47238695209,401.51528379311,403.7684559805,407.88854226601,408.81556168025,415.30469757994],description:"Stellated two out of 1 3 5 7 9 11 pentadekany"},stelpd1s:{frequencies:[21.82676446456,21.88360499702,22.15715005948,22.2309638065,22.3228272933,22.50885085408,22.68892166091,22.91810268779,23.02041564622,23.14959867453,23.15196087848,23.34251199682,23.38581906917,23.43896865797,23.624449876,23.63429339678,23.87302363311,24.11662591508,24.35217522905,24.55511002263,24.61905562165,25.00983428231,25.20991295657,25.32245721084,25.46455854199,25.72440097609,25.78286552376,25.93612444091,26.04329850885,26.26032599642,26.30904645282,26.78739275196,26.85715158725,27.01062102489,27.2834555807,27.56185818867,27.62449877546,27.69643757435,28.01101439619,28.1360635676,28.29395393554,28.36115207614,28.41087110056,28.58266775121,28.64762835974,28.9399510981,29.17813999603,29.29871082246,29.46613202716,29.54286674598,29.7637697244,30.01180113877,30.06748166036,30.69388752829,30.99367756425,31.12334932909,31.25195821062,31.51239119571,31.65307151355,31.83069817748,32.15550122011,32.2285819047,32.41274522987,32.74014669684,32.82540749553,33.0742298264,33.34644570974,33.42223308636,33.48424093995,33.76327628112,34.09304532068,34.10431947588,34.37715403168,34.58149925455,34.7243980118,35.01376799523,35.07872860376,35.45144009517,35.80953544967,36.01416136652,36.17493887262,36.37794077427,36.74914425156,36.83266503394,36.92858343247,37.50234985274,37.51475142346,37.81486943485,37.88116146742,38.19683781298,38.26770393137,38.58660146413,38.90418666137,39.06494776328,39.39048899464,40.01573485169,40.28572738088,40.51593153734,40.92518337105,41.25258483802,41.26622656581,41.342787283,41.66927761416,42.01652159428,42.09447432451,42.2040953514,42.44093090331,42.61630665085,42.87400162681,42.9714425396,43.65352892912],description:"Superstellated two out of 1 3 5 7 9 11 pentadekany"},stelpent1:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,290.69507255622,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,343.38355445704,348.83408706747,353.19451315581,366.27579142084,367.91095120397,373.75080757229,381.53728273004,392.4383479509,406.97310157871,412.06026534844,420.46965851882,436.04260883433,441.49314144476,448.50096908674,457.84473927605,470.92601754108,490.54793493862,504.56359022259,508.71637697339,515.07533168556,523.2511306012],description:"Stellated one out of 1 3 5 7 9 pentany"},stelpent1s:{frequencies:[261.6255653006,271.31540105247,274.70684356563,275.93321340298,280.31310567921,282.55561052465,286.15296204753,288.32205155576,290.69507255622,294.32876096318,301.46155672497,305.22982618403,309.04519901133,313.95067836072,315.35224388912,320.35783506196,321.92208230347,327.03195662575,329.64821227876,336.37572681506,339.14425131559,343.38355445704,348.83408706747,353.19451315581,360.4025644447,366.27579142084,367.91095120397,373.75080757229,381.53728273004,386.30649876417,387.59343007496,392.4383479509,395.57785473451,403.65087217807,406.97310157871,411.88864507966,412.06026534844,420.46965851882,429.2294430713,436.04260883433,439.53094970501,441.49314144476,448.50096908674,452.19233508746,457.84473927605,470.92601754108,480.53675259294,482.88312345521,488.36772189445,490.54793493862,494.47231841813,498.33441009638,504.56359022259,508.71637697339,515.07533168556,523.2511306012],description:"Superstellated one out of 1 3 5 7 9 pentany"},steltet1:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,305.22982618403,313.95067836072,327.03195662575,343.38355445704,366.27579142084,373.75080757229,381.53728273004,392.4383479509,436.04260883433,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"Stellated one out of 1 3 5 7 tetrany"},steltet1s:{frequencies:[261.6255653006,274.70684356563,280.31310567921,286.15296204753,305.22982618403,313.95067836072,320.35783506196,327.03195662575,343.38355445704,366.27579142084,373.75080757229,381.53728273004,392.4383479509,429.2294430713,436.04260883433,439.53094970501,448.50096908674,457.84473927605,490.54793493862,508.71637697339,523.2511306012],description:"Superstellated one out of 1 3 5 7 tetrany"},steltet2:{frequencies:[261.6255653006,267.07609791103,272.52663052146,286.15296204753,305.22982618403,327.03195662575,333.84512238879,343.38355445704,381.53728273004,392.4383479509,400.61414686654,408.78994578219,436.04260883433,457.84473927605,476.92160341255,490.54793493862,523.2511306012],description:"Stellated three out of 1 3 5 7 tetrany"},steltet2s:{frequencies:[261.6255653006,286.15296204753,294.32876096318,300.46061014991,306.59245933664,327.03195662575,343.38355445704,350.53737850823,357.69120255941,367.91095120397,392.4383479509,400.61414686654,408.78994578219,429.2294430713,441.49314144476,457.84473927605,490.54793493862,500.76768358318,510.98743222773,515.07533168556,523.2511306012],description:"Superstellated three out of 1 3 5 7 tetrany"},steltri1:{frequencies:[261.6255653006,313.95067836072,327.03195662575,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Stellated one out of 1 3 5 triany"},steltri2:{frequencies:[261.6255653006,294.32876096318,327.03195662575,392.4383479509,408.78994578219,490.54793493862,523.2511306012],description:"Stellated two out of 1 3 5 triany"},stevin:{frequencies:[261.6255653006,277.20445571159,293.66434538175,311.1256573916,329.66931111467,349.25319089654,369.99797100919,392.00714009679,415.41055144586,440.15068186507,466.27261682516,494.00597677606,523.2511306012],description:"Simon Stevin, monochord division of 10000 parts for 12-tET (1585)"},stopper:{frequencies:[261.6255653006,277.19910487213,293.6996776193,311.18246278326,329.70593120198,349.3320268423,370.12638880276,392.15855510068,415.50221189151,440.23542223935,466.44090588941,494.20629608476,523.62445363767,554.79375523088,587.81844599272,622.80896314278,659.88233179115,699.16252826162,740.78092441407,784.8766959018],description:"Bernard Stopper, piano tuning with 19th root of 3 (1988)"},storbeck:{frequencies:[261.6255653006,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,353.19451315581,358.80077526939,381.53728273004,387.59343007496,392.4383479509,403.65087217807,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,523.2511306012],description:"Ulrich Storbeck, 2001"},strahle:{frequencies:[261.6255653006,278.94941459687,296.90543930973,315.65242990842,335.0021118691,355.12744448111,376.24442122187,398.15684412917,421.10213511252,444.85552088095,469.94877954106,496.17080790016,523.2511306012],description:"Strahle's Geometrical scale"},"sub24-12":{frequencies:[261.6255653006,273.00058987889,285.40970760065,299.00064605783,313.95067836072,330.47439827444,348.83408706747,369.35373924791,392.4383479509,418.60090448096,448.50096908674,483.00104363188,523.2511306012],description:"Subharmonics 24-12"},sub24:{frequencies:[261.6255653006,10.90106522086,11.37502457829,11.89207115003,12.45836025241,13.08127826503,13.76976659477,14.53475362781,15.38973913533,16.35159783129,17.44170435337,18.68754037861,20.12504348466,21.80213044172,23.78414230005,26.16255653006,29.06950725562,32.70319566257,37.37508075723,43.60426088343,52.32511306012,65.40639132515,87.20852176687,130.8127826503,261.6255653006],description:"Subharmonics 24-1"},sub40:{frequencies:[261.6255653006,275.39533189537,290.69507255622,307.79478270659,327.03195662575,348.83408706747,373.75080757229,402.50086969323,418.60090448096,436.04260883433,475.68284600109,498.33441009638,523.2511306012],description:"sub 40-20"},sub48:{frequencies:[261.6255653006,279.06726965397,299.00064605783,313.95067836072,330.47439827444,348.83408706747,369.35373924791,392.4383479509,418.60090448096,448.50096908674,465.11211608996,502.32108537715,523.2511306012],description:"12 of sub 48 (Leven)"},sub50:{frequencies:[261.6255653006,272.52663052146,290.69507255622,311.45900631024,327.03195662575,344.24416486921,373.75080757229,384.74347838324,408.78994578219,436.04260883433,467.18850946536,484.4917875937,523.2511306012],description:"12 of sub 50"},sub8:{frequencies:[261.6255653006,279.06726965397,299.00064605783,322.00069575458,348.83408706747,380.54627680087,418.60090448096,465.11211608996,523.2511306012],description:"Subharmonic series 1/16 - 1/8"},sumatra:{frequencies:[261.6255653006,266.79889483106,324.44528279699,356.96377863828,390.9602296356,474.47355835313,530.64156666967,639.28283484968,713.92755727656,784.8766959018],description:'"Archeological" tuning of Pasirah Rus orch. in Muaralakitan, Sumatra. 1/1=354 Hz'},super_10:{frequencies:[261.6255653006,283.42769574232,305.22982618403,327.03195662575,348.83408706747,370.63621750918,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"A superparticular 10-tone scale"},super_11:{frequencies:[261.6255653006,283.42769574232,305.22982618403,327.03195662575,348.83408706747,370.63621750918,392.4383479509,418.60090448096,444.76346101102,470.92601754108,497.08857407114,523.2511306012],description:"A superparticular 11-tone scale"},super_12:{frequencies:[261.6255653006,279.06726965397,296.50897400735,313.95067836072,331.39238271409,348.83408706747,372.08969287196,395.34529867646,418.60090448096,441.85651028546,465.11211608996,494.18162334558,523.2511306012],description:"A superparticular 12-tone scale"},super_12_1:{frequencies:[261.6255653006,280.31310567921,299.00064605783,317.68818643644,336.37572681506,355.06326719367,373.75080757229,392.4383479509,418.60090448096,444.76346101102,470.92601754108,497.08857407114,523.2511306012],description:"Another superparticular 12-tone scale"},super_12_2:{frequencies:[261.6255653006,280.31310567921,299.00064605783,317.68818643644,336.37572681506,355.06326719367,373.75080757229,392.4383479509,420.46965851882,448.50096908674,473.41768959156,498.33441009638,523.2511306012],description:"Another superparticular 12-tone scale"},super_13:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,418.60090448096,444.76346101102,470.92601754108,497.08857407114,523.2511306012],description:"A superparticular 13-tone scale"},super_14:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,414.24047839262,436.04260883433,457.84473927605,479.64686971777,501.44900015948,523.2511306012],description:"A superparticular 14-tone scale"},super_15:{frequencies:[261.6255653006,276.16031892841,290.69507255622,305.22982618403,319.76457981184,334.29933343966,348.83408706747,363.36884069528,381.53728273004,399.70572476481,417.87416679957,436.04260883433,457.84473927605,479.64686971777,501.44900015948,523.2511306012],description:"A superparticular 15-tone scale"},super_17:{frequencies:[261.6255653006,274.08392555301,286.54228580542,299.00064605783,311.45900631024,323.91736656265,336.37572681506,348.83408706747,363.36884069528,377.90359432309,392.4383479509,411.12588832951,429.81342870813,448.50096908674,467.18850946536,485.87604984397,504.56359022259,523.2511306012],description:"Superparticular 17-tone scale"},super_19:{frequencies:[261.6255653006,272.52663052146,283.42769574232,294.32876096318,305.22982618403,316.13089140489,327.03195662575,340.11323489078,353.19451315581,366.27579142084,379.35706968587,392.4383479509,408.13588186894,423.83341578697,439.53094970501,455.22848362304,470.92601754108,488.36772189445,505.80942624783,523.2511306012],description:"Superparticular 19-tone scale"},super_19_1:{frequencies:[261.6255653006,272.09058791262,282.55561052465,293.02063313667,303.4856557487,313.95067836072,325.57848126297,337.20628416522,348.83408706747,363.36884069528,377.90359432309,392.4383479509,408.13588186894,423.83341578697,439.53094970501,455.22848362304,470.92601754108,488.36772189445,505.80942624783,523.2511306012],description:"Superparticular 19-tone scale"},super_19_2:{frequencies:[261.6255653006,269.80136421624,277.97716313189,294.32876096318,302.50455987882,310.68035879446,318.85615771011,327.03195662575,343.38355445704,359.73515228832,376.08675011961,392.4383479509,408.78994578219,425.14154361347,441.49314144476,457.84473927605,474.19633710734,490.54793493862,506.89953276991,523.2511306012],description:"Superparticular 19-tone scale"},super_22:{frequencies:[261.6255653006,270.96933548991,280.31310567921,289.65687586852,299.00064605783,308.34441624714,317.68818643644,327.03195662575,337.93302184661,348.83408706747,359.73515228832,370.63621750918,381.53728273004,392.4383479509,406.45400323486,420.46965851882,434.48531380278,448.50096908674,463.45100138963,478.40103369253,493.35106599542,508.30109829831,523.2511306012],description:"Superparticular 22-tone scale"},super_22_1:{frequencies:[261.6255653006,272.09058791262,282.55561052465,293.02063313667,303.4856557487,313.95067836072,325.16320258789,336.37572681506,347.58825104223,358.80077526939,370.01329949656,381.22582372373,392.4383479509,405.51962621593,418.60090448096,431.68218274599,444.76346101102,457.84473927605,470.92601754108,484.00729580611,497.08857407114,510.16985233617,523.2511306012],description:"Superparticular 22-tone scale"},super_24:{frequencies:[261.6255653006,270.34641747729,279.06726965397,287.78812183066,296.50897400735,305.22982618403,313.95067836072,322.67153053741,331.39238271409,340.11323489078,348.83408706747,359.73515228832,370.63621750918,381.53728273004,392.4383479509,405.51962621593,418.60090448096,431.68218274599,444.76346101102,457.84473927605,470.92601754108,484.00729580611,497.08857407114,510.16985233617,523.2511306012],description:"Superparticular 24-tone scale, inverse of Mans.ur 'Awad"},super_7:{frequencies:[261.6255653006,287.78812183066,313.95067836072,353.19451315581,392.4383479509,431.68218274599,470.92601754108,523.2511306012],description:"A superparticular 7-tone scale"},super_8:{frequencies:[261.6255653006,287.78812183066,313.95067836072,340.11323489078,366.27579142084,392.4383479509,436.04260883433,479.64686971777,523.2511306012],description:"A superparticular 8 tone scale"},super_9:{frequencies:[261.6255653006,287.78812183066,313.95067836072,340.11323489078,366.27579142084,392.4383479509,425.14154361347,457.84473927605,490.54793493862,523.2511306012],description:"A superparticular 9-tone scale"},suppig:{frequencies:[261.6255653006,272.52663052146,279.06726965397,294.32876096318,306.59245933664,313.95067836072,327.03195662575,340.65828815182,348.83408706747,367.91095120397,376.74081403286,392.4383479509,408.78994578219,418.60090448096,436.04260883433,459.88868900496,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"Friedrich Suppig's 19-tone JI scale. Calculus Musicus, Berlin 1722"},sur_7:{frequencies:[261.6255653006,280.40333801024,327.729041887,351.25128999693,383.0422478503,410.5345162762,479.82340237272,523.2511306012],description:"7-tone surupan"},sur_9:{frequencies:[261.6255653006,280.40333801024,305.78200836532,327.729041887,351.25128999693,383.0422478503,410.5345162762,447.69106452518,479.82340237272,523.2511306012],description:"Theoretical nine-tone surupan gamut"},sur_ajeng:{frequencies:[261.6255653006,285.30470202322,305.78200836532,383.0422478503,417.71053321823,523.2511306012],description:"Surupan ajeng"},sur_degung:{frequencies:[261.6255653006,322.09885310804,345.21700307457,396.55020354877,488.21056770985,523.2511306012],description:"Surupan degung"},sur_madenda:{frequencies:[261.6255653006,322.09885310804,345.21700307457,425.01198472693,488.21056770985,523.2511306012],description:"Surupan madenda"},sur_melog:{frequencies:[261.6255653006,280.40333801024,305.78200836532,383.0422478503,410.5345162762,523.2511306012],description:"Surupan melog"},sur_miring:{frequencies:[261.6255653006,285.30470202322,305.78200836532,389.73770840504,417.71053321823,523.2511306012],description:"Surupan miring"},sur_x:{frequencies:[261.6255653006,280.40333801024,305.78200836532,383.0422478503,417.71053321823,523.2511306012],description:"Surupan tone-gender X (= unmodified nyorog)"},sur_y:{frequencies:[261.6255653006,280.40333801024,300.52885648597,383.0422478503,410.5345162762,523.2511306012],description:"Surupan tone-gender Y (= mode on pamiring)"},sverige:{frequencies:[261.6255653006,293.66476791741,329.62755691287,349.22823143301,391.99543598175,440,466.16376151809,493.88330125613,523.2511306012,554.36526195375,587.32953583482,622.25396744417,659.25511382574,698.45646286601,739.98884542327,783.9908719635,830.60939515989,880,932.32752303618,987.76660251225,1046.5022612024,1174.65907166964,1318.51022765149,1396.91292573202,1567.98174392701],description:"Scale on Swedish 50 crown banknote of some kind of violin."},syntonolydian:{frequencies:[261.6255653006,294.32876096318,331.11985608357,372.50983809402,392.4383479509,441.49314144476,496.67978412536,523.2511306012],description:"Greek Syntonolydian, also genus duplicatum medium, or ditonum (Al-Farabi)"},syrian:{frequencies:[261.6255653006,268.67837258085,275.62199471997,279.38237857051,286.74979536837,294.32876096318,302.10804307229,310.07474405997,314.30517589183,322.59351978942,326.6631048533,331.11985608357,339.85160932548,348.83408706747,358.05397697456,367.49599295996,372.50983809402,382.33306049116,392.4383479509,402.81072409638,413.43299207996,419.07356785577,430.12469305256,441.49314144476,453.13547910064,465.11211608996,477.40530263275,489.99465727995,496.67978412536,509.77741398822,523.2511306012],description:"After ^Sayh.'Ali ad-Darwis^ (Shaykh Darvish) from d'Erlanger vol.5, p.29"},szpak_24:{frequencies:[261.6255653006,270.98948203641,277.18263097687,287.10335517712,293.66476791741,304.17540907689,311.12698372208,322.26262012861,329.62755691287,341.42535271779,349.22823143301,361.7275606831,369.99442271164,383.23700075636,391.99543598175,406.02545869431,415.30469757995,430.16898885692,440,455.74816803176,466.16376151809,482.84836435151,493.88330125613,511.56002220218,523.2511306012],description:"Stephen Szpak's scale, TL 2-1-2004"},pagano_b:{frequencies:[261.6255653006,277.97716313189,289.55954492905,312.72430852337,333.57259575826,351.8148470888,370.63621750918,389.16802838464,416.96574469783,444.76346101102,463.29527188648,486.4600354808,523.2511306012],description:"Pat Pagano and David Beardsley, 17-limit scale, TL 27-2-2001"},palace:{frequencies:[261.6255653006,277.01530443593,294.32876096318,299.00064605783,336.37572681506,348.83408706747,373.75080757229,392.4383479509,409.50088481833,428.11456140098,448.50096908674,470.92601754108,523.2511306012],description:"Palace mode+"},palace2:{frequencies:[261.6255653006,277.01530443593,336.37572681506,348.83408706747,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Byzantine Palace mode, 17-limit"},panpipe1:{frequencies:[261.6255653006,305.78200836532,346.61566493686,386.59871897734,424.03113209229,475.68400784708,523.2511306012],description:"Palina panpipe of Solomon Islands. 1/1=f+45c. From Ocora CD Guadalcanal"},panpipe2:{frequencies:[261.6255653006,301.39807245198,340.46429857933,389.512652082,435.70052664441,481.48922855473,540.45338572244,606.98892366383,675.83458963267,749.45240308975,819.17415016614,915.78156525194,979.24522642508,1073.44040298899,1178.73719255088,1360.28482360484],description:"Lalave panpipe of Solomon Islands. 1/1=f'+47c."},panpipe3:{frequencies:[261.6255653006,302.44445076078,341.44901934006,382.59999559751,433.19107626846,482.88183400971,542.01653249392,602.10016957865,677.78929781797,755.1012944609,822.018116801,906.30932187391,994.06270356141,1067.87449159209,1155.14617783291,1300.35790771888],description:"Tenaho panpipe of Solomon Islands. 1/1=f'+67c."},parachrom:{frequencies:[261.6255653006,274.52698453615,288.06460709314,349.22823143301,391.99543598175,411.32572372413,431.60923940535,523.2511306012],description:"Parachromatic, new genus 5 + 5 + 20 parts"},parakleismic:{frequencies:[261.6255653006,269.41173453909,271.00883762044,279.07425994419,280.72864356353,282.39283618632,290.79705467987,292.52093234567,301.22657042972,303.0122754386,312.03014360907,313.87989341557,323.22118988972,325.13728335605,327.06473376202,336.79842078181,338.79499972275,348.87778808468,350.94597487438,361.39038519337,363.53274806687,374.35175001315,376.5709514911,387.77797996035,390.07677146523,392.38919046486,404.06698135965,406.46233589795,418.55895395107,421.04021853379,433.57068509561,436.14094342919,449.12081866987,451.783257426,465.22865943552,467.98658728446,470.76086444006,484.77105399159,487.64483417146,502.15750307968,505.13434926963,520.16751901001,523.2511306012],description:"Parakleismic temperament, g=315.250913, 5-limit"},parizek:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,327.03195662575,343.38355445704,359.73515228832,392.4383479509,425.14154361347,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Petr Parizek, 12-tone Linear Level tuning, 1/1=Ab"},parizek_13lqmt:{frequencies:[261.6255653006,272.70676208351,292.18581651805,313.05623198362,325.57848126297,348.83408706747,365.23227064756,391.32028997953,406.97310157871,436.04260883433,467.18850946536,486.97636086341,523.2511306012],description:"April 2003 - Petr Parizek"},parizek_17lqmt:{frequencies:[261.6255653006,272.52663052146,291.99281841585,312.60407618638,327.03195662575,350.39138209902,364.70475555078,390.75509523297,408.78994578219,436.04260883433,467.18850946536,488.44386904122,523.2511306012],description:"To tune the scale by ear, please choose the intervals in the following order:"},parizek_7lmtd1:{frequencies:[261.6255653006,280.31310567921,293.02063313667,313.95067836072,327.03195662575,350.39138209902,366.27579142084,392.4383479509,418.60090448096,437.98922762377,468.83301301868,490.54793493862,523.2511306012],description:"Use SET MIDDLE 62"},parizek_7lqmtd2:{frequencies:[261.6255653006,280.31310567921,293.02063313667,313.95067836072,327.03195662575,350.39138209902,366.27579142084,390.69417751556,418.60090448096,437.98922762377,468.83301301868,488.36772189445,523.2511306012],description:"Use SET MIDDLE 62"},parizek_cirot:{frequencies:[261.6255653006,273.76082553017,293.33333347996,307.98092841354,327.40170814054,348.04713286849,366.66693712906,392.88175996935,409.71484950008,438.01699797506,463.01593599647,491.10256480205,523.2511306012],description:"Overtempered circular tuning (1/1 is F)"},parizek_epi:{frequencies:[261.6255653006,283.42769574232,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,392.4383479509,418.60090448096,436.04260883433,457.84473927605,479.64686971777,523.2511306012],description:"In The Epimoric World"},parizek_epi2:{frequencies:[261.6255653006,283.42769574232,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,523.2511306012,523.2511306012],description:"In the Epimoric World - extended (version for two keyboards)"},parizek_epi2a:{frequencies:[261.6255653006,283.42769574232,287.78812183066,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,392.4383479509,411.12588832951,418.60090448096,425.14154361347,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,485.87604984397,523.2511306012,523.2511306012],description:"April 2003 - Petr Parizek"},parizek_ji1:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,343.38355445704,366.27579142084,392.4383479509,412.06026534844,436.04260883433,457.84473927605,490.54793493862,523.2511306012],description:"Petr Parizek, 12-tone septimal tuning, 2002."},parizek_jiweltmp:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,329.45441556372,348.83408706747,370.63621750918,392.4383479509,416.96574469783,440.63253103259,465.11211608996,494.18162334558,523.2511306012],description:"April 2003 - Petr Parizek"},jiwt2:{frequencies:[261.6255653006,277.97716313189,294.32876096318,310.68035879446,331.11985608357,348.83408706747,372.08969287196,392.4383479509,415.8649508569,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"June 2003 - Petr Parizek"},parizek_llt7:{frequencies:[261.6255653006,283.42769574232,327.03195662575,359.73515228832,392.4383479509,425.14154361347,479.64686971777,523.2511306012],description:"7-tone mode of Linear Level Tuning 2000 (= wilson_helix)"},parizek_qmeb1:{frequencies:[261.6255653006,273.53155294581,293.066620053,305.25690181412,326.9069921792,350.33366042609,366.2083106197,392.1884190578,408.50877577745,437.87542071709,457.7197748295,488.61098601707,523.2511306012],description:"Equal beating quasi-meantone tuning no. 1 - F...A# (1/1 = 261.7Hz)(3/2 5/3 5/4 7/4 7/6)"},parizek_qmeb2:{frequencies:[261.6255653006,274.12423619715,293.39509530855,306.21121252767,327.1564453797,350.32795211486,366.55713600477,391.6914154272,409.44351174042,438.20041390279,457.4712730142,489.73875803795,523.2511306012],description:"Equal beating quasi-meantone tuning no. 2 - F...A# (1/1 = 262.7Hz)"},parizek_qmeb3:{frequencies:[261.6255653006,274.23252240717,293.57983281823,306.4052273004,327.28159934073,350.29865766202,366.78755898655,391.93906252094,409.53887392713,438.37260750749,457.59509656107,490.04864950866,523.2511306012],description:"Equal beating quasi-meantone tuning no. 3 - F...A#. 1/1 = 262Hz"},parizek_qmtp12:{frequencies:[261.6255653006,273.55480692456,293.00227310437,305.44101254122,326.6631048533,350.4133380576,366.39100206434,391.84790908124,408.48291326839,437.52264545758,457.47219685667,489.2574430773,523.2511306012],description:"12-tone quasi-meantone tuning with 1/9 Pyth. comma as basic tempering unit (F...A#)"},parizek_qmtp24:{frequencies:[261.6255653006,273.14323313659,280.64720643091,285.59764149034,293.00227310437,305.44101254122,313.83229199844,326.6631048533,335.63741195089,341.5578378819,350.4133380576,365.83975262993,375.89034660662,381.37064019061,391.84790908124,407.86833637529,419.07356785577,437.52264545758,448.86620556368,457.47219685667,469.33298761093,489.2574430773,502.69865025911,510.02774559919,523.2511306012],description:"24-tone quasi-meantone tuning with 1/9 Pyth. comma as basic tempering unit (Bbb...C##)"},parizek_syndiat:{frequencies:[261.6255653006,290.69507255622,294.32876096318,327.03195662575,348.83408706747,353.19451315581,387.59343007496,392.4383479509,436.04260883433,441.49314144476,484.4917875937,490.54793493862,523.2511306012],description:"Petr Parizek, diatonic scale with syntonic alternatives"},parizek_syntonal:{frequencies:[261.6255653006,272.52663052146,290.69507255622,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,490.54793493862,523.2511306012],description:"Petr Parizek, Syntonic corrections in JI tonality, Jan. 2004"},parizek_temp19:{frequencies:[261.6255653006,276.69969455132,294.32876096318,310.68035879446,328.58088727969,349.51540364377,368.93292606842,392.4383479509,415.04954182698,438.10784970625,466.02053819169,492.87133091954,523.2511306012],description:"Petr Parizek, genus [3 3 19 19 19] well temperament"},"partch-barstow":{frequencies:[261.6255653006,279.06726965397,287.78812183066,290.69507255622,294.32876096318,299.00064605783,313.95067836072,327.03195662575,348.83408706747,359.73515228832,373.75080757229,392.4383479509,418.60090448096,436.04260883433,448.50096908674,470.92601754108,479.64686971777,490.54793493862,523.2511306012],description:"Guitar scale for Partch's Barstow (1941, 1968)"},"partch-greek":{frequencies:[261.6255653006,261.6255653006,271.31540105247,294.32876096318,279.06726965397,348.83408706747,313.95067836072,392.4383479509,392.4383479509,406.97310157871,418.60090448096,418.60090448096,523.2511306012],description:'Partch Greek scales from "Two Studies on Ancient Greek Scales" on black/white'},"partch-grm":{frequencies:[261.6255653006,271.31540105247,279.06726965397,294.32876096318,313.95067836072,348.83408706747,392.4383479509,406.97310157871,418.60090448096,523.2511306012],description:'Partch Greek scales from "Two Studies on Ancient Greek Scales" mixed'},"partch-indian":{frequencies:[261.6255653006,269.80136421624,277.97716313189,285.40970760065,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,383.71749577421,392.4383479509,406.97310157871,411.12588832951,428.11456140098,441.49314144476,457.84473927605,475.68284600109,490.54793493862,507.3950357345,523.2511306012],description:"Partch's Indian Chromatic, Exposition of Monophony, 1933."},"partch-ur":{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:"Ur-Partch curved keyboard, published in Interval"},"partch_29-av":{frequencies:[261.6255653006,269.80136421624,274.70684356563,280.31310567921,285.40970760065,290.69507255622,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,470.92601754108,479.64686971777,488.36772189445,498.33441009638,507.3950357345,523.2511306012],description:"29-tone JI scale from Partch's Adapted Viola 1928-30"},partch_29:{frequencies:[261.6255653006,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,523.2511306012],description:"Partch/Ptolemy 11-limit Diamond"},partch_37:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:'From "Exposition on Monophony" 1933, unp. see Ayers, 1/1 vol.9(2)'},partch_39:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:"Ur-Partch Keyboard 39 tones, published in Interval"},partch_41:{frequencies:[261.6255653006,281.75060878526,283.42769574232,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,322.00069575458,327.03195662575,332.97799220076,336.37572681506,340.11323489078,348.83408706747,359.73515228832,362.25078272391,366.27579142084,373.75080757229,377.90359432309,380.54627680087,392.4383479509,402.50086969323,406.97310157871,411.12588832951,418.60090448096,425.14154361347,428.11456140098,436.04260883433,442.75095666255,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,483.00104363188,485.87604984397,523.2511306012],description:"13-limit Diamond after Partch, Genesis of a Music, p 454, 2nd edition"},partch_41a:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:'From "Exposition on Monophony" 1933, unp. see Ayers, 1/1 vol. 9(2)'},partch_41comb:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.08392555301,274.70684356563,279.06726965397,280.31310567921,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,348.83408706747,359.73515228832,366.27579142084,373.75080757229,380.54627680087,392.4383479509,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,488.36772189445,490.54793493862,498.33441009638,499.46698830115,507.3950357345,512.57253609913,523.2511306012],description:"41-tone JI combination from Partch's 29-tone and 37-tone scales"},partch_43:{frequencies:[261.6255653006,264.89588486686,269.80136421624,274.70684356563,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,373.75080757229,380.54627680087,387.59343007496,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,498.33441009638,507.3950357345,516.79124009995,523.2511306012],description:"Harry Partch's 43-tone pure scale"},partch_43a:{frequencies:[261.6255653006,267.07609791103,269.80136421624,274.70684356563,279.06726965397,285.40970760065,287.78812183066,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,356.76213450082,359.73515228832,366.27579142084,373.75080757229,380.54627680087,383.71749577421,392.4383479509,398.6675280771,406.97310157871,411.12588832951,418.60090448096,428.11456140098,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,475.68284600109,479.64686971777,490.54793493862,498.33441009638,507.3950357345,512.57253609913,523.2511306012],description:'From "Exposition on Monophony" 1933, unp. see Ayers, 1/1 vol. 9(2)'},patala:{frequencies:[261.6255653006,289.6217982776,320.24370022528,355.94891173479,393.58362272115,439.74591942221,480.6555937997,537.34060327431],description:"Observed patala tuning from Burma, Helmholtz/Ellis p. 518, nr.83"},pelog1:{frequencies:[261.6255653006,285.79952600623,313.83440569119,359.87690576543,393.35634555235,426.98050185716,482.04578814299,523.2511306012],description:"Gamelan Saih pitu from Ksatria, Den Pasar (South Bali). 1/1=312.5 Hz"},pelog10:{frequencies:[261.6255653006,290.16653606067,310.14521470005,342.49164912079,385.30310526088,418.60090448096,442.38504678101,523.2511306012],description:"Balinese saih 7 scale, Krobokan. 1/1=275 Hz. McPhee, 1966"},pelog11:{frequencies:[261.6255653006,289.11520789678,327.03195662575,352.6257619269,388.64667309147,441.73012112348,478.69895237627,523.2511306012],description:"Balinese saih pitu, gamelan luang, banjar Se`se'h. 1/1=276 Hz. McPhee, 1966"},pelog11i:{frequencies:[261.6255653006,267.83009854382,287.76973397991,309.19384990071,332.21296611011,356.94582815655,383.52002471837,392.61532371972,421.84506978464,453.25093845942,486.99493426005,523.2511306012],description:"George Secor's isopelogic scale with ~537.84194 generator and just 13/11"},pelog12:{frequencies:[261.6255653006,284.41230790592,308.04300430555,358.68021049276,385.68672051706,409.31741667997,472.61392441399,523.2511306012],description:"Balinese saih pitu, gamelan Semar Pegulingan, Tampak Gangsai, 1/1=310, McPhee"},pelog13:{frequencies:[261.6255653006,289.80062617913,323.61069924911,351.78575931905,394.45085229937,454.02098012766,494.27106657141,523.2511306012],description:"Balinese saih pitu, gamelan Semar Pegulingan, Klungkung, 1/1=325. McPhee, 1966"},pelog14:{frequencies:[261.6255653006,287.66412867175,309.98289727559,347.18084494866,375.69927149802,402.97776645827,427.77639824032,523.2511306012],description:"Balinese saih pitu, suling gambuh, Tabanan, 1/1=211 Hz, McPhee, 1966"},pelog15:{frequencies:[261.6255653006,284.9387344858,307.6043148279,344.51683351465,375.60105909492,407.98046074103,427.4081017287,523.2511306012],description:"Balinese saih pitu, suling gambuh, Batuan, 1/1=202 Hz. McPhee, 1966"},pelog2:{frequencies:[261.6255653006,285.30470202322,314.92395982138,345.81573716922,388.6137256405,424.52127512829,466.97226207056,523.2511306012],description:"Bamboo gambang from Batu lulan (South Bali). 1/1=315 Hz"},pelog3:{frequencies:[261.6255653006,285.63448939555,315.83481057014,390.18821123181,421.34544350737,523.2511306012],description:"Gamelan Gong from Padangtegal, distr. Ubud (South Bali). 1/1=555 Hz"},pelog4:{frequencies:[261.6255653006,290.96323214696,317.29765457754,352.87817160549,385.03871768789,434.94616895528,470.49199937597,523.2511306012],description:"Hindu-Jav. demung, excavated in Banjarnegara. 1/1=427 Hz"},pelog5:{frequencies:[261.6255653006,284.64626913494,310.94732162256,358.21775774651,390.8649420513,427.47405410759,468.32288027948,523.2511306012],description:"Gamelan Kyahi Munggang (Paku Alaman, Jogja). 1/1=199.5 Hz"},pelog6:{frequencies:[261.6255653006,282.02769802256,315.83481057014,354.51258839996,386.37547528213,413.39000965417,523.2511306012],description:"Gamelan Semar pegulingan, Ubud (S. Bali). 1/1=263.5 Hz"},pelog7:{frequencies:[261.6255653006,281.2143451833,303.31920717687,353.89879686059,384.81637482457,412.43597848639,448.72664641273,523.2511306012],description:"Gamelan Kantjilbelik (kraton Jogja). Measured by Surjodiningrat, 1972."},pelog8:{frequencies:[261.6255653006,281.2143451833,305.0763174688,362.1707891162,386.59871897734,415.30469757995,456.83405152976,529.33101587613,573.91491069685,623.33318620372,730.64478690489,786.25839925218,840.74610520523,945.88853913022,1075.30214607265],description:"from William Malm: Music Cultures of the Pacific, the Near East and Asia."},pelog9:{frequencies:[261.6255653006,282.57123920205,305.19382000629,356.01745236555,384.52011812375,415.30469757995,448.5538823653,523.2511306012],description:"9-tET Pelog"},pelog9i:{frequencies:[261.6255653006,287.76973397991,309.19384990071,332.21296611011,356.94582815655,383.52002471837,421.84506978464,453.25093845942,486.99493426005,523.2511306012],description:"George Secor's isopelogic scale with ~537.84194 generator and just 13/11"},pelog_24:{frequencies:[261.6255653006,293.66476791741,320.24370022528,349.22823143301,391.99543598175,440,479.82340237272,523.2511306012],description:"Subset of 24-tET (Sumatra?)"},pelog_a:{frequencies:[261.6255653006,280.7274598329,305.95868600104,363.84824628932,386.82209166041,411.72190027758,452.10885997356,523.2511306012],description:"Pelog, average class A. Kunst 1949"},pelog_alv:{frequencies:[261.6255653006,299.00064605783,313.95067836072,343.38355445704,392.4383479509,418.60090448096,457.84473927605,523.2511306012],description:"Bill Alves JI Pelog, 1/1 vol. 9 no. 4, 1997. 1/1=293.33"},pelog_av:{frequencies:[261.6255653006,280.40333801024,305.78200836532,357.39105439675,385.26118901859,411.72190027758,452.89298412314,523.2511306012],description:'"Normalised Pelog", Kunst, 1949. Average of 39 Javanese gamelans'},pelog_b:{frequencies:[261.6255653006,280.07959041159,302.79405018898,354.30787302884,382.82105786018,408.64182041696,451.58686491179,523.2511306012],description:"Pelog, average class B. Kunst 1949"},pelog_c:{frequencies:[261.6255653006,279.91785681123,304.37225518229,350.84574289301,384.81637482457,410.29745071461,451.58686491179,523.2511306012],description:"Pelog, average class C. Kunst 1949"},pelog_he:{frequencies:[261.6255653006,283.17034563789,338.50336851425,364.68988616898,389.06292924114,420.13030572059,493.31307433255,523.2511306012],description:"Observed Javanese Pelog scale, Helmholtz/Ellis p. 518, nr.96"},pelog_jc:{frequencies:[261.6255653006,294.32876096318,313.95067836072,392.4383479509,418.60090448096,523.2511306012],description:"John Chalmers' Pelog, on keys C# E F# A B c#, like Olympos' Enharmonic on 4/3"},pelog_laras:{frequencies:[261.6255653006,283.42769574232,305.22982618403,370.63621750918,392.4383479509,414.24047839262,457.84473927605,523.2511306012],description:'Lou Harrison, gamelan "Si Betty"'},pelog_me1:{frequencies:[261.6255653006,281.13654920971,305.96893643544,353.85975480175,389.33427481332,412.3928606827,454.07565526112,523.2511306012],description:"Gamelan Kyahi Kanyut Mesem pelog (Mangku Nagaran). 1/1=295 Hz"},pelog_me2:{frequencies:[261.6255653006,277.86440299076,299.96729002515,349.58586605592,383.41679241104,405.97081699752,447.47001910635,523.2511306012],description:"Gamelan Kyahi Bermara (kraton Jogja). 1/1=290 Hz"},pelog_me3:{frequencies:[261.6255653006,281.75056896146,306.90688773629,358.59164065877,385.12012728597,411.64865826518,457.38747412584,523.2511306012],description:"Gamelan Kyahi Pangasih (kraton Solo). 1/1=286 Hz"},pelog_pa:{frequencies:[261.6255653006,286.29520819723,313.29104303136,342.83241505062,387.04559340587,423.54155496477,463.47885582013,523.2511306012],description:'"Blown fifth" pelog, von Hornbostel, type a.'},pelog_pa2:{frequencies:[261.6255653006,286.29520819723,313.29104303136,353.69443592699,387.04559340587,423.54155496477,463.47885582013,523.2511306012],description:"New mixed gender Pelog"},pelog_pb:{frequencies:[261.6255653006,277.98432293805,304.19649364034,353.69443592699,387.04559340587,411.24653512154,450.02449304881,523.2511306012],description:'"Primitive" Pelog, step of blown semi-fourths, von Hornbostel, type b.'},pelog_pb2:{frequencies:[261.6255653006,277.50302994288,303.66981774726,353.69443592699,387.04559340587,410.5345162762,449.24533531117,523.2511306012],description:'"Primitive" Pelog, Kunst: Music in Java, p. 28'},pelog_schmidt:{frequencies:[261.6255653006,287.78812183066,313.95067836072,366.27579142084,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Modern Pelog designed by Dan Schmidt and used by Berkeley Gamelan"},pelog_selun:{frequencies:[261.6255653006,281.10829462369,350.68958753059,378.52209447746,416.55977244877,523.2511306012,562.21664032682,701.37917506118,757.04418895493,833.11970794305,1046.5022612024,1124.43328065364],description:"Gamelan selunding from Kengetan, South Bali (Pelog), 1/1=141 Hz"},pelog_slen:{frequencies:[261.6255653006,289.4545544734,306.66641795878,334.42210013281,344.22141564971,354.30787302884,386.37547528213,397.69714089209,446.39994737251,459.48046426806,493.88330125613,523.2511306012],description:"W.P. Malm, pelog+slendro, Musical Cultures Of The Pacific, The Near East, And Asia. P: 1,3,5,6,8,10; S: 2,4,7,9"},pelog_str:{frequencies:[261.6255653006,282.73796785026,305.22982618403,329.86096249197,356.10146388137,384.83778957396,415.4517078616,448.97742116962,484.69365917187,523.80699136456],description:"JI Pelog with stretched 2/1 and extra tones between 2-3, 6-7. Wolf, XH 11, '87"},pelogic:{frequencies:[261.6255653006,268.93425429917,294.59920226397,322.71340889889,353.51061198674,363.38617257172,398.06486099125,436.0530078362,477.66644151787,523.2511306012],description:"Pelogic temperament, g=521.1, 5-limit"},pelogic2:{frequencies:[261.6255653006,252.56770712848,285.96465797334,276.06414495892,312.56802260838,301.74646235804,341.64630500046,386.82209166041,373.42974737602,422.80824892286,408.17001145418,462.1422075194,523.2511306012],description:"Pelogic temperament, g=677.0 in cycle of fifths order"},penta1:{frequencies:[261.6255653006,282.55561052465,294.32876096318,313.95067836072,331.11985608357,372.50983809402,376.74081403286,397.34382730029,423.83341578697,441.49314144476,470.92601754108,496.67978412536,523.2511306012],description:"Pentagonal scale 9/8 3/2 16/15 4/3 5/3"},penta2:{frequencies:[261.6255653006,267.07609791103,286.15296204753,305.22982618403,312.97980223949,333.84512238879,356.10146388137,363.36884069528,400.61414686654,436.04260883433,457.84473927605,476.92160341255,523.2511306012],description:"Pentagonal scale 7/4 4/3 15/8 32/21 6/5"},penta_opt:{frequencies:[261.6255653006,292.5084949701,327.03692214239,391.62201198054,436.95817401562,523.2511306012],description:"Optimally consonant major pentatonic, John deLaubenfels, 2001"},pentadekany:{frequencies:[261.6255653006,283.42769574232,299.7792935736,305.22982618403,327.03195662575,354.2846196779,359.73515228832,381.53728273004,389.71308164569,419.69101100305,425.14154361347,436.04260883433,457.84473927605,479.64686971777,495.99846754905,523.2511306012],description:"2)6 1.3.5.7.11.13 Pentadekany (1.3 tonic)"},pentadekany2:{frequencies:[261.6255653006,269.80136421624,294.32876096318,299.7792935736,305.22982618403,327.03195662575,343.38355445704,359.73515228832,381.53728273004,392.4383479509,419.69101100305,436.04260883433,457.84473927605,479.64686971777,490.54793493862,523.2511306012],description:"2)6 1.3.5.7.9.11 Pentadekany (1.3 tonic)"},pentadekany3:{frequencies:[261.6255653006,277.97716313189,278.79474302345,287.78812183066,291.4672313427,300.86940009569,305.77487944508,319.67373760167,359.73515228832,376.08675011961,405.51962621593,413.69542513157,430.86460285443,444.76346101102,506.89953276991,523.2511306012],description:"2)6 1.5.11.17.23.31 Pentadekany (1.5 tonic)"},pentatetra1:{frequencies:[261.6255653006,275.39533189537,290.69507255622,327.03195662575,348.83408706747,392.4383479509,413.09299784305,436.04260883433,490.54793493862,523.2511306012],description:"Penta-tetrachord 20/19 x 19/18 x 18/17 x 17/16 = 5/4. 5/4 x 16/15 = 4/3"},pentatetra2:{frequencies:[261.6255653006,275.39533189537,307.79478270659,327.03195662575,348.83408706747,392.4383479509,413.09299784305,461.69217405988,490.54793493862,523.2511306012],description:"Penta-tetrachord 20/19 x 19/18 x 18/17 x 17/16 = 5/4. 5/4 x 16/15 = 4/3"},pentatetra3:{frequencies:[261.6255653006,290.69507255622,307.79478270659,327.03195662575,348.83408706747,392.4383479509,436.04260883433,461.69217405988,490.54793493862,523.2511306012],description:"Penta-tetrachord 20/19 x 19/18 x 18/17 x 17/16 = 5/4. 5/4 x 16/15 = 4/3"},pentatriad:{frequencies:[261.6255653006,290.69507255622,294.32876096318,327.03195662575,348.83408706747,367.91095120397,392.4383479509,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"4:5:6 Pentatriadic scale"},pentatriad1:{frequencies:[261.6255653006,290.69507255622,294.32876096318,327.03195662575,348.83408706747,387.59343007496,392.4383479509,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:"3:5:9 Pentatriadic scale"},pepper:{frequencies:[261.6255653006,274.70684356563,290.69507255622,294.32876096318,305.22982618403,327.03195662575,343.38355445704,348.83408706747,367.91095120397,392.4383479509,406.97310157871,436.04260883433,441.49314144476,457.84473927605,465.11211608996,490.54793493862,515.07533168556,523.2511306012],description:"Keenan Pepper's 17-tone jazz tuning, TL 07-06-2000"},pepper2:{frequencies:[261.6255653006,281.81099471089,295.05751399041,308.92668738628,332.76158224462,348.40303271111,375.28368107222,392.9238840789,423.23948674937,443.13385158124,463.96335069158,499.75992392917,523.2511306012],description:`Keenan Pepper's "Noble Fifth" with chromatic/diatonic semitone = Phi (12)`},peprmint:{frequencies:[261.6255653006,270.64528749638,281.81099405977,291.52662269553,295.0575145017,305.22982618403,308.92668738628,319.57714845986,332.76158147578,344.23376699744,348.40303331485,360.41446869983,375.28368085545,388.22184514393,392.92388339801,406.47020562703,423.23948723831,437.83096109824,443.13385158124,458.41119713782,463.9633498876,479.95880678291,499.75992479518,516.98949333115,523.2511306012],description:"Peppermint 24: Wilson/Pepper apotome/limma=Phi, 2 chains spaced for pure 7:6"},"perkis-indian":{frequencies:[261.6255653006,269.10058145205,277.01530443593,285.40970760065,294.32876096318,303.82323712328,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.01393146398,369.99442271164,377.90359432309,388.70083987518,400.13321751856,412.18367363396,425.14154361347,438.99882991118,453.48431318771,469.12170329763,485.27322596079,503.87145909745,523.2511306012],description:"Indian 22 Perkis"},"perrett-tt":{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,348.83408706747,366.27579142084,381.53728273004,392.4383479509,412.06026534844,418.60090448096,436.04260883433,457.84473927605,470.92601754108,490.54793493862,515.07533168556,523.2511306012],description:"Perrett Tierce-Tone"},perrett:{frequencies:[261.6255653006,274.70684356563,279.06726965397,348.83408706747,392.4383479509,412.06026534844,418.60090448096,523.2511306012],description:"Perrett / Tartini / Pachymeres Enharmonic"},perrett_14:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,327.03195662575,343.38355445704,348.83408706747,366.27579142084,392.4383479509,412.06026534844,436.04260883433,457.84473927605,490.54793493862,515.07533168556,523.2511306012],description:"Perrett's 14-tone system (subscale of tierce-tone)"},perrett_chrom:{frequencies:[261.6255653006,274.70684356563,294.32876096318,348.83408706747,392.4383479509,412.06026534844,441.49314144476,523.2511306012],description:"Perrett's Chromatic"},perry:{frequencies:[261.6255653006,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,490.54793493862,523.2511306012],description:"Robin Perry, Tuning List 22-9-'98"},perry2:{frequencies:[261.6255653006,274.70684356563,290.69507255622,305.22982618403,327.03195662575,348.83408706747,373.75080757229,392.4383479509,415.27867508032,436.04260883433,457.84473927605,498.33441009638,523.2511306012],description:"Robin Perry, 7-limit scale, TL 22-10-2006"},perry3:{frequencies:[261.6255653006,277.97716313189,294.32876096318,307.79478270659,327.03195662575,348.83408706747,369.35373924791,370.63621750918,392.4383479509,418.60090448096,444.76346101102,465.11211608996,492.47165233054,523.2511306012],description:"Robin Perry, symmetrical 3,5,17 scale, TL 22-10-2006"},"persian-far":{frequencies:[261.6255653006,275.58617649731,282.84340331238,294.51413096332,310.22971009486,318.39923223688,331.53706992441,349.22823143301,362.58942698662,376.46181130035,391.99543598175,412.91271853531,423.78627283082,441.27260666252,464.81937009253,477.05982293263,496.7443381147,523.2511306012],description:"Hormoz Farhat, average of observed Persian tar and sehtar tunings (1966)"},"persian-vaz":{frequencies:[261.6255653006,277.18263097687,285.30470202322,293.66476791741,311.12698372208,320.24370022528,329.62755691287,349.22823143301,359.46139971304,380.8360868427,391.99543598175,415.30469757995,427.47405410759,440,466.16376151809,479.82340237272,493.88330125613,523.2511306012],description:"Vaziri's Persian tuning, using quartertones"},persian:{frequencies:[261.6255653006,275.62199471997,282.55561052465,294.32876096318,310.07474405997,317.87506184023,331.11985608357,348.83408706747,363.36884069528,376.74081403286,392.4383479509,413.43299207996,423.83341578697,441.49314144476,465.11211608996,476.81259276034,496.67978412536,523.2511306012],description:"Persian Tar Scale, from Dariush Anooshfar, Internet Tuning List 2/10/94"},persian2:{frequencies:[261.6255653006,275.62199471997,288.32205155576,294.32876096318,310.07474405997,321.08592105074,331.11985608357,348.83408706747,367.49599295996,384.42940207435,392.4383479509,413.43299207996,428.11456140098,441.49314144476,465.11211608996,489.99465727995,512.57253609913,523.2511306012],description:"Traditional Persian scale, from Mark Rankin"},phi1_13:{frequencies:[261.6255653006,272.27874348295,293.41755524936,305.36527715608,329.07281683115,342.47239171077,356.41758627629,384.088434771,399.72820043646,416.00480451705,448.3020273708,466.55651779723,502.7784067407,523.2511306012],description:"Pythagorean scale with (Phi + 1) / 2 as fifth"},phi_10:{frequencies:[261.6255653006,277.06593756944,293.41755524936,323.38703872151,342.47239171077,362.68389667063,399.72820043646,423.31898451752,448.3020273708,494.09131284284,523.2511306012],description:"Pythagorean scale with Phi as fifth"},phi_12:{frequencies:[261.6255653006,280.653851324,301.06608340242,314.41721066027,337.28508524374,352.24238645938,377.86132347501,405.34355110824,423.31898451752,454.10739278061,474.24531572837,508.73764640933,531.29821178855],description:"Non-Octave Pythagorean scale with Phi as fourth. Jacky Ligon TL 12-04-2001"},phi_13:{frequencies:[261.6255653006,277.06593756944,293.41755524936,305.36527715608,323.38703872151,342.47239171077,362.68389667063,377.45230514615,399.72820043646,423.31898451752,448.3020273708,466.55651779723,494.09131284284,523.2511306012],description:"Pythagorean scale with Phi as fifth"},phi_13a:{frequencies:[261.6255653006,280.653851324,293.09977429907,314.41721066027,328.36040925687,352.24238645938,377.86132347501,394.61802538749,423.31898451752,442.09155952525,474.24531572837,508.73764640933,531.29821178855,569.94005600595],description:"Non-Octave Pythagorean scale with Phi as fifth, Jacky Ligon TL 12-04-2001"},phi_13b:{frequencies:[261.6255653006,277.56939878091,287.90530191745,305.45065986668,316.82478268872,336.13253486432,356.61692887617,369.89633953852,392.4383479509,407.05164722964,431.8579526603,458.17598957099,475.23717379553,504.19880204444],description:"Non-Octave Pythagorean scale with 12 3/2s, Jacky Ligon, TL 12-04-2001"},phi_17:{frequencies:[261.6255653006,276.86436108535,292.99059544936,310.05629713556,328.11582814217,347.22745468775,367.4522682176,388.8548834608,411.50435256812,435.47307590797,460.83762934409,487.67984759381,516.08523529366,546.14543793146,577.9565447239,611.62018657326,647.24497389216,684.94478342154],description:"Phi + 1 equal division by 17, Brouncker (1653)"},phi_7b:{frequencies:[261.6255653006,277.06593756944,299.7954575021,323.38703872151,342.47239171077,369.42210382256,399.72820043646,423.31898451752],description:"Heinz Bohlen's Pythagorean scale with Phi as fifth (1999)"},phi_7be:{frequencies:[261.6255653006,277.18263097687,299.37379946195,323.3415889232,342.56848033562,369.99442271164,399.61607881612,423.37848741825],description:"36-tET approximation of phi_7b"},phi_8:{frequencies:[261.6255653006,280.010356995,292.01318753119,312.53354015396,325.93049860793,348.83408706747,373.34714284662,389.35091690288,416.71138708025],description:"Non-Octave Pythagorean scale with 4/3s, Jacky Ligon, TL 12-04-2001"},phi_8a:{frequencies:[261.6255653006,275.77662731691,284.90271245142,300.31281179658,310.2506767011,327.03195662575,344.72084112096,356.12824371673,375.39107678967],description:"Non-Octave Pythagorean scale with 5/4s, Jacky Ligon, TL 12-04-2001"},phillips_19:{frequencies:[261.6255653006,274.63272075836,286.12988535196,293.66476791741,305.42895910556,326.59518553839,329.62755691287,342.83241505062,349.22823143301,366.5907009274,384.81637482457,391.99543598175,407.69874723177,428.71043212875,440,457.62637091093,489.33987776603,493.88330125613,513.66823365307,523.2511306012],description:"Pauline Phillips, organ manual scale, TL 7-10-2002"},phillips_19a:{frequencies:[261.6255653006,274.58143914872,285.65749968142,293.61100773131,305.45468261618,326.62388782443,329.50688232588,342.79852229325,349.26020182051,366.55580177366,381.34192228364,391.95955371998,407.7704102616,427.96347506501,439.87918162894,457.62301915088,489.33808574423,493.65730140218,509.07699553894,523.2511306012],description:"Adaptation by Gene Ward Smith with more consonant chords, TL 25-10-2002"},phillips_22:{frequencies:[261.6255653006,275.93321340298,286.15296204753,294.32876096318,305.5744765615,306.59245933664,327.03195662575,331.11985608357,343.38355445704,349.22797321314,367.91095120397,392.4383479509,407.76797091773,408.78994578219,416.96574469783,429.2294430713,441.49314144476,457.84473927605,459.88868900496,490.54793493862,496.67978412536,515.07533168556,523.2511306012],description:"All-key 19-limit JI scale (2002), TL 21-10-2002"},phillips_ji:{frequencies:[261.6255653006,275.93321340298,286.15296204753,294.32876096318,305.5744765615,306.59245933664,327.03195662575,331.11985608357,349.22797321314,367.91095120397,386.30649876417,392.4383479509,407.76797091773,408.78994578219,429.2294430713,441.49314144476,457.84473927605,459.88868900496,490.54793493862,496.67978412536,515.07533168556,523.2511306012],description:'Pauline Phillips, JI 0 #/b "C" scale (2002), TL 8-10-2002'},phryg_chromcon2:{frequencies:[261.6255653006,283.42769574232,294.32876096318,305.22982618403,392.4383479509,414.24047839262,436.04260883433,523.2511306012],description:"Harmonic Conjunct Chromatic Phrygian"},phryg_chromconi:{frequencies:[261.6255653006,283.42769574232,348.83408706747,370.63621750918,392.4383479509,479.64686971777,501.44900015948,523.2511306012],description:"Inverted Conjunct Chromatic Phrygian"},phryg_chrominv:{frequencies:[261.6255653006,272.52663052146,283.42769574232,348.83408706747,392.4383479509,414.24047839262,436.04260883433,523.2511306012],description:"Inverted Schlesinger's Chromatic Phrygian"},phryg_chromt:{frequencies:[261.6255653006,277.01530443593,294.32876096318,313.95067836072,324.77656382143,336.37572681506,362.25078272391,392.4383479509,409.50088481833,418.60090448096,428.11456140098,470.92601754108,523.2511306012,554.03060887186,588.65752192635,627.90135672144,649.55312764287,672.75145363011,724.50156544782,784.8766959018,819.00176963666,837.20180896192,856.22912280196,941.85203508216,1046.5022612024],description:"Phrygian Chromatic Tonos"},phryg_diat:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,369.35373924791,392.4383479509,448.50096908674,483.00104363188,523.2511306012],description:"Schlesinger's Phrygian Harmonia, a subharmonic series through 13 from 24"},phryg_diatcon:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,369.35373924791,448.50096908674,483.00104363188,523.2511306012],description:"A Phrygian Diatonic with its own trite synemmenon replacing paramese"},phryg_diatinv:{frequencies:[261.6255653006,283.42769574232,305.22982618403,370.63621750918,392.4383479509,436.04260883433,479.64686971777,523.2511306012],description:"Inverted Conjunct Phrygian Harmonia with 17, the local Trite Synemmenon"},phryg_diatsinv:{frequencies:[261.6255653006,283.42769574232,305.22982618403,348.83408706747,370.63621750918,392.4383479509,436.04260883433,479.64686971777,523.2511306012],description:"Inverted Schlesinger's Phrygian Harmonia, a harmonic series from 12 from 24"},phryg_enh:{frequencies:[261.6255653006,267.19206668997,273.00058987889,348.83408706747,392.4383479509,405.0976494977,418.60090448096,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the enharmonic genus"},phryg_enhcon:{frequencies:[261.6255653006,283.42769574232,288.87822835275,294.32876096318,392.4383479509,403.33941317176,414.24047839262,523.2511306012],description:"Harmonic Conjunct Enharmonic Phrygian"},phryg_enhinv:{frequencies:[261.6255653006,327.03195662575,337.93302184661,348.83408706747,392.4383479509,501.44900015948,512.35006538034,523.2511306012],description:"Inverted Schlesinger's Enharmonic Phrygian Harmonia"},phryg_enhinv2:{frequencies:[261.6255653006,267.07609791103,272.52663052146,348.83408706747,392.4383479509,403.33941317176,414.24047839262,523.2511306012],description:"Inverted harmonic form of Schlesinger's Enharmonic Phrygian"},phryg_penta:{frequencies:[261.6255653006,270.64713651786,285.40970760065,348.83408706747,392.4383479509,413.09299784305,448.50096908674,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the pentachromatic genus"},phryg_pis:{frequencies:[261.6255653006,294.32876096318,336.37572681506,362.25078272391,392.4383479509,428.11456140098,470.92601754108,523.2511306012,554.03060887186,588.65752192635,672.75145363011,724.50156544782,784.8766959018,856.22912280196,941.85203508216,1046.5022612024],description:"The Diatonic Perfect Immutable System in the Phrygian Tonos"},phryg_tri1:{frequencies:[261.6255653006,273.00058987889,285.40970760065,348.83408706747,392.4383479509,418.60090448096,448.50096908674,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the chromatic genus"},phryg_tri1inv:{frequencies:[261.6255653006,305.22982618403,327.03195662575,348.83408706747,392.4383479509,479.64686971777,501.44900015948,523.2511306012],description:"Inverted Schlesinger's Chromatic Phrygian Harmonia"},phryg_tri2:{frequencies:[261.6255653006,269.10058145205,285.40970760065,348.83408706747,392.4383479509,409.50088481833,448.50096908674,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the second trichromatic genus"},phryg_tri3:{frequencies:[261.6255653006,269.10058145205,277.01530443593,348.83408706747,392.4383479509,409.50088481833,428.11456140098,523.2511306012],description:"Schlesinger's Phrygian Harmonia in the first trichromatic genus"},phrygian:{frequencies:[261.6255653006,290.69507255622,313.95067836072,327.03195662575,348.83408706747,353.19451315581,387.59343007496,392.4383479509,418.60090448096,436.04260883433,465.11211608996,470.92601754108,523.2511306012],description:"Old Phrygian ??"},phrygian_diat:{frequencies:[261.6255653006,277.01530443593,294.32876096318,336.37572681506,348.83408706747,362.25078272391,376.74081403286,392.4383479509,428.11456140098,448.50096908674,470.92601754108,495.71159741166,523.2511306012,554.03060887186,588.65752192635,672.75145363011,697.66817413493,724.50156544782,753.48162806573,784.8766959018,856.22912280196,897.00193817349,941.85203508216,991.42319482333,1046.5022612024],description:"Phrygian Diatonic Tonos"},phrygian_enh:{frequencies:[261.6255653006,277.01530443593,294.32876096318,303.82323712328,308.80394592858,313.95067836072,348.83408706747,392.4383479509,400.78810003496,405.0976494977,409.50088481833,459.44001711325,523.2511306012],description:"Phrygian Enharmonic Tonos"},phrygian_harm:{frequencies:[261.6255653006,273.00058987889,285.40970760065,299.00064605783,313.95067836072,330.47439827444,348.83408706747,369.35373924791,392.4383479509,418.60090448096,448.50096908674,483.00104363188,523.2511306012],description:"Phrygian Harmonia-Aliquot 24 (flute tuning)"},piano:{frequencies:[261.6255653006,275.93321340298,279.06726965397,294.32876096318,305.22982618403,313.95067836072,327.03195662575,348.83408706747,367.91095120397,372.08969287196,392.4383479509,406.97310157871,418.60090448096,436.04260883433,441.49314144476,457.84473927605,465.11211608996,490.54793493862,515.07533168556,523.2511306012],description:"Enhanced Piano Total Gamut, see 1/1 vol. 8/2 January 1994"},piano7:{frequencies:[261.6255653006,275.93321340298,294.32876096318,305.22982618403,327.03195662575,348.83408706747,367.91095120397,392.4383479509,406.97310157871,441.49314144476,457.84473927605,490.54793493862,523.2511306012],description:"Enhanced piano 7-limit"},pipedum_10:{frequencies:[261.6255653006,279.06726965397,306.59245933664,327.03195662575,348.83408706747,372.08969287196,396.89567239676,431.14564594215,459.88868900496,490.54793493862,523.2511306012],description:"2048/2025 and 34171875/33554432 are homophonic intervals"},pipedum_10a:{frequencies:[261.6255653006,279.06726965397,294.32876096318,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,465.11211608996,490.54793493862,523.2511306012],description:"2048/2025 and 25/24, Manuel Op de Coul, 2001"},pipedum_10b:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,348.83408706747,367.91095120397,392.4383479509,418.60090448096,446.50763144636,490.54793493862,523.2511306012],description:"225/224, 64/63 and 25/24 are homophonic intervals"},pipedum_10c:{frequencies:[261.6255653006,280.31310567921,305.22982618403,327.03195662575,348.83408706747,373.75080757229,392.4383479509,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"225/224, 64/63 and 49/48 are homophonic intervals"},pipedum_10d:{frequencies:[261.6255653006,279.06726965397,299.00064605783,318.93402246168,343.38355445704,372.08969287196,392.4383479509,425.24536328225,448.50096908674,488.36772189445,523.2511306012],description:"1029/1024, 2048/2025 and 64/63 are homophonic intervals"},pipedum_10e:{frequencies:[261.6255653006,286.15296204753,305.22982618403,327.03195662575,348.83408706747,367.91095120397,406.97310157871,429.2294430713,465.11211608996,490.54793493862,523.2511306012],description:"2048/2025, 64/63 and 49/48 are homophonic intervals"},pipedum_10f:{frequencies:[261.6255653006,280.31310567921,294.32876096318,327.03195662575,348.83408706747,373.75080757229,392.4383479509,420.46965851882,465.11211608996,490.54793493862,523.2511306012],description:"225/224, 64/63 and 28/27 are homophonic intervals"},pipedum_10g:{frequencies:[261.6255653006,280.31310567921,299.00064605783,325.57848126297,348.83408706747,372.08969287196,398.6675280771,425.24536328225,457.84473927605,490.54793493862,523.2511306012],description:"225/224, 1029/1024 and 2048/2025 are homophonic intervals"},pipedum_10h:{frequencies:[261.6255653006,286.15296204753,305.22982618403,327.03195662575,348.83408706747,373.75080757229,400.61414686654,429.2294430713,457.84473927605,490.54793493862,523.2511306012],description:"225/224, 1029/1024 and 64/63 are homophonic intervals"},pipedum_10i:{frequencies:[261.6255653006,279.06726965397,294.32876096318,321.92208230347,343.38355445704,367.91095120397,392.4383479509,418.60090448096,457.84473927605,488.36772189445,523.2511306012],description:"225/224, 2048/2025 and 49/48 are homophonic intervals"},pipedum_10j:{frequencies:[261.6255653006,269.10058145205,305.22982618403,313.95067836072,348.83408706747,366.27579142084,392.4383479509,418.60090448096,457.84473927605,488.36772189445,523.2511306012],description:"25/24, 28/27 and 49/48, Gene Ward Smith, 2002"},pipedum_10k:{frequencies:[261.6255653006,280.31310567921,299.00064605783,320.49131749323,343.38355445704,367.91095120397,394.1903048614,420.46965851882,455.80987376816,488.36772189445,523.2511306012],description:"2048/2025, 225/224 and 2401/2400"},pipedum_11:{frequencies:[261.6255653006,272.52663052146,282.55561052465,313.95067836072,327.03195662575,363.36884069528,376.74081403286,392.4383479509,436.04260883433,454.2110508691,470.92601754108,523.2511306012],description:"16/15 and 15625/15552 are homophonic intervals"},pipedum_11a:{frequencies:[261.6255653006,269.10058145205,305.22982618403,313.95067836072,322.92069774245,366.27579142084,376.74081403286,381.53728273004,436.04260883433,448.50096908674,508.71637697339,523.2511306012],description:"126/125, 1728/1715 and 10/9, Gene Ward Smith, 2002"},pipedum_12:{frequencies:[261.6255653006,275.93321340298,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,413.89982010446,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"81/80 and 2048/2025 are homophonic intervals"},pipedum_12a:{frequencies:[261.6255653006,279.06726965397,297.67175429757,306.59245933664,327.03195662575,348.83408706747,372.08969287196,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"81/80 and 2048/2025 are homophonic intervals"},pipedum_12b:{frequencies:[261.6255653006,274.70684356563,299.00064605783,313.95067836072,320.49131749323,348.83408706747,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,488.36772189445,523.2511306012],description:"64/63, 50/49 comma and 36/35 chroma"},pipedum_12c:{frequencies:[261.6255653006,280.31310567921,294.32876096318,315.35224388912,327.03195662575,348.83408706747,367.91095120397,392.4383479509,420.46965851882,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"225/224, 64/63 and 36/35 are homophonic intervals"},pipedum_12d:{frequencies:[261.6255653006,280.31310567921,293.02063313667,313.95067836072,327.03195662575,350.39138209902,366.27579142084,392.4383479509,418.60090448096,448.50096908674,457.84473927605,490.54793493862,523.2511306012],description:"50/49, 128/125 and 225/224 are homophonic intervals"},pipedum_12e:{frequencies:[261.6255653006,280.31310567921,293.02063313667,313.95067836072,327.03195662575,350.39138209902,373.75080757229,392.4383479509,418.60090448096,439.53094970501,467.18850946536,500.55911728431,523.2511306012],description:"50/49, 225/224 and 3136/3125 are homophonic intervals"},pipedum_12f:{frequencies:[261.6255653006,273.74326726486,293.02063313667,313.95067836072,327.03195662575,350.39138209902,366.27579142084,392.4383479509,408.78994578219,437.98922762377,468.83301301868,490.54793493862,523.2511306012],description:"128/125, 3136/3125 and 703125/702464 are homophonic intervals"},pipedum_12g:{frequencies:[261.6255653006,279.06726965397,286.15296204753,306.59245933664,327.03195662575,348.83408706747,366.27579142084,390.69417751556,408.78994578219,437.98922762377,457.84473927605,488.36772189445,523.2511306012],description:"50/49, 225/224 and 28672/28125 are homophonic intervals"},pipedum_12h:{frequencies:[261.6255653006,275.93321340298,291.02331101095,310.42486507835,330.74639366397,348.83408706747,367.91095120397,392.4383479509,413.89982010446,436.53496651643,465.11211608996,496.11959049595,523.2511306012],description:"2048/2025 and 67108864/66430125, Gene Ward Smith, 2004"},pipedum_12i:{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,336.37572681506,348.83408706747,378.42269266694,392.4383479509,406.97310157871,441.49314144476,465.11211608996,504.56359022259,523.2511306012],description:"64/63 and 6561/6272, Gene Ward Smith, 2004"},pipedum_12j:{frequencies:[261.6255653006,283.8170195002,285.83021674664,310.07474405997,336.37572681506,348.83408706747,378.42269266694,392.4383479509,413.43299207996,448.50096908674,465.11211608996,504.56359022259,523.2511306012],description:"6561/6272 and 59049/57344"},pipedum_12k:{frequencies:[261.6255653006,271.31540105247,294.32876096318,305.22982618403,336.37572681506,348.83408706747,356.10146388137,392.4383479509,406.97310157871,448.50096908674,457.84473927605,474.80195184183,523.2511306012],description:"64/63 and 729/686, Gene Ward Smith, 2004"},pipedum_12l:{frequencies:[261.6255653006,276.16031892841,294.32876096318,310.68035879446,331.39238271409,348.83408706747,368.21375857121,392.4383479509,414.24047839262,441.49314144476,465.11211608996,497.08857407114,523.2511306012],description:"81/80, 361/360 and 513/512, Gene Ward Smith"},pipedum_13:{frequencies:[261.6255653006,276.76092858245,287.78812183066,309.14739649778,327.03195662575,345.95116072807,359.73515228832,380.54627680087,408.78994578219,418.60090448096,449.66894036041,475.68284600109,494.63583439645,523.2511306012],description:"33275/32768 and 163840/161051 are homophonic intervals. Op de Coul, 2001"},pipedum_13a:{frequencies:[261.6255653006,266.96486255163,293.02063313667,299.00064605783,327.03195662575,334.88072358477,366.27579142084,373.75080757229,408.78994578219,418.60090448096,457.84473927605,467.18850946536,512.78610798918,523.2511306012],description:"15/14, 3136/3125, 2401/2400, Gene Ward Smith, 2002"},pipedum_13b:{frequencies:[261.6255653006,267.90457886781,293.02063313667,299.00064605783,327.03195662575,334.88072358477,366.27579142084,373.75080757229,408.78994578219,418.60090448096,457.84473927605,467.18850946536,510.98743222773,523.2511306012],description:"15/14, 3136/3125, 6144/6125, Gene Ward Smith, 2002"},pipedum_13bp:{frequencies:[261.6255653006,282.55561052465,305.16005936662,336.45263027341,363.36884069528,392.4383479509,436.04260883433,470.92601754108,508.60009894437,545.05326104292,605.61473449213,654.0639132515,706.38902631162,784.8766959018],description:"78732/78125 and 250/243, twelfth based, Manuel Op de Coul, 2003"},pipedum_13bp2:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,376.74081403286,392.4383479509,436.04260883433,470.92601754108,523.2511306012,565.1112210493,627.90135672144,678.13346525916,726.73768139056,784.8766959018],description:"250/243 and 648/625, twelfth based, Manuel Op de Coul, 2003"},pipedum_13c:{frequencies:[261.6255653006,267.07609791103,293.02063313667,299.00064605783,327.03195662575,334.88072358477,366.27579142084,373.75080757229,408.78994578219,418.60090448096,457.84473927605,467.18850946536,512.57253609913,523.2511306012],description:"15/14, 2401/2400, 6144/6125, Gene Ward Smith, 2002"},pipedum_13d:{frequencies:[261.6255653006,281.04308772525,287.78812183066,309.14739649778,327.03195662575,334.88072358477,359.73515228832,380.54627680087,408.78994578219,418.60090448096,449.66894036041,475.68284600109,494.63583439645,523.2511306012],description:"125/121 and 33275/32768, Joe Monzo, 2003"},pipedum_13e:{frequencies:[261.6255653006,276.76092858245,287.78812183066,304.4370214407,327.03195662575,334.88072358477,359.73515228832,380.54627680087,408.78994578219,418.60090448096,449.66894036041,475.68284600109,494.63583439645,523.2511306012],description:"33275/32768 and 163840/161051, Manuel Op de Coul, 2004"},pipedum_14:{frequencies:[261.6255653006,274.70684356563,284.76252005507,305.22982618403,320.49131749323,336.37572681506,348.83408706747,373.90653707544,392.4383479509,406.97310157871,427.14378008261,448.50096908674,480.73697623985,498.33441009638,523.2511306012],description:"81/80, 49/48 and 2401/2400, Paul Erlich, TL 17-1-2001"},pipedum_14a:{frequencies:[261.6255653006,274.70684356563,284.8811711051,305.22982618403,320.35783506196,336.37572681506,348.83408706747,366.27579142084,392.4383479509,406.97310157871,427.32175665765,448.50096908674,480.53675259294,498.33441009638,523.2511306012],description:"81/80, 50/49 and 2401/2400, Paul Erlich, 2001"},pipedum_14b:{frequencies:[261.6255653006,274.70684356563,294.32876096318,305.22982618403,313.95067836072,339.14425131559,353.19451315581,366.27579142084,392.4383479509,406.97310157871,418.60090448096,457.84473927605,470.92601754108,508.71637697339,523.2511306012],description:"245/243, 81/80 comma and 25/24 chroma"},pipedum_14c:{frequencies:[261.6255653006,280.31310567921,282.55561052465,305.22982618403,327.03195662575,336.37572681506,363.36884069528,366.27579142084,392.4383479509,403.65087217807,436.04260883433,467.18850946536,470.92601754108,508.71637697339,523.2511306012],description:"245/243, 50/49 comma and 25/24 chroma"},pipedum_15:{frequencies:[261.6255653006,272.52663052146,290.69507255622,301.39265122629,313.95067836072,327.03195662575,348.83408706747,363.36884069528,376.74081403286,392.4383479509,418.60090448096,436.04260883433,454.2110508691,470.92601754108,502.32108537715,523.2511306012],description:"126/125, 128/125 and 875/864, 5-limit, Paul Erlich, 2001"},pipedum_15a:{frequencies:[261.6255653006,274.70684356563,290.69507255622,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,381.53728273004,392.4383479509,418.60090448096,436.04260883433,457.84473927605,488.36772189445,502.32108537715,523.2511306012],description:"Septimal version of pipedum_15, Manuel Op de Coul, 2001"},pipedum_15b:{frequencies:[261.6255653006,274.70684356563,286.15296204753,299.00064605783,311.45900631024,327.03195662575,343.38355445704,357.69120255941,382.72082695402,398.6675280771,418.60090448096,439.53094970501,457.84473927605,478.40103369253,498.33441009638,523.2511306012],description:"126/125, 128/125 and 1029/1024, Paul Erlich, 2001"},pipedum_15c:{frequencies:[261.6255653006,274.70684356563,284.76252005507,299.00064605783,313.95067836072,327.03195662575,341.71502406609,358.80077526939,381.53728273004,400.61414686654,418.60090448096,436.04260883433,457.84473927605,480.73697623985,498.33441009638,523.2511306012],description:"49/48, 126/125 and 1029/1024, Paul Erlich, 2001"},pipedum_15d:{frequencies:[261.6255653006,274.70684356563,286.15296204753,299.00064605783,313.95067836072,327.03195662575,343.38355445704,360.55273217989,379.68336007343,398.6675280771,418.60090448096,436.04260883433,457.84473927605,478.40103369253,498.33441009638,523.2511306012],description:"64/63, 126/125 and 1029/1024, Paul Erlich, 2001"},pipedum_15e:{frequencies:[261.6255653006,273.37201925287,286.15296204753,299.00064605783,313.95067836072,332.22294006425,343.38355445704,358.80077526939,381.53728273004,398.6675280771,412.06026534844,436.04260883433,457.84473927605,478.40103369253,500.76768358318,523.2511306012],description:"64/63, 875/864 and 1029/1024, Paul Erlich, 2001"},pipedum_15f:{frequencies:[261.6255653006,274.70684356563,290.69507255622,305.22982618403,313.95067836072,327.03195662575,348.83408706747,366.27579142084,387.59343007496,392.4383479509,418.60090448096,436.04260883433,465.11211608996,488.36772189445,490.54793493862,523.2511306012],description:"126/125, 64/63 comma and 28/27 chroma"},pipedum_15g:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,348.83408706747,363.36884069528,376.74081403286,392.4383479509,418.60090448096,436.04260883433,465.11211608996,470.92601754108,502.32108537715,523.2511306012],description:"128/125 and 250/243"},pipedum_16:{frequencies:[261.6255653006,274.70684356563,286.15296204753,299.00064605783,313.95067836072,327.03195662575,343.38355445704,355.95315006884,373.75080757229,384.58958099188,400.61414686654,418.60090448096,439.53094970501,457.84473927605,480.73697623985,498.33441009638,523.2511306012],description:"50/49, 126/125 and 1029/1024, Paul Erlich, 2001"},pipedum_16a:{frequencies:[261.6255653006,272.52663052146,283.88190679319,301.39265122629,313.95067836072,327.03195662575,340.65828815182,354.85238349148,363.36884069528,385.78259356965,401.85686830172,418.60090448096,436.04260883433,454.2110508691,482.22824196207,502.32108537715,523.2511306012],description:"3125/3072 and 1990656/1953125, OdC 2004"},pipedum_17:{frequencies:[261.6255653006,269.10058145205,286.15296204753,294.32876096318,305.22982618403,318.93402246168,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,429.2294430713,448.50096908674,465.11211608996,478.40103369253,508.71637697339,523.2511306012],description:"245/243, 64/63 and 525/512, Paul Erlich, 2001"},pipedum_17a:{frequencies:[261.6255653006,271.31540105247,286.15296204753,296.75121990114,305.22982618403,318.93402246168,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,429.2294430713,448.50096908674,461.31528248922,478.40103369253,504.56359022259,523.2511306012],description:"245/243, 525/512 and 1728/1715, Paul Erlich, 2001"},pipedum_17b:{frequencies:[261.6255653006,264.89588486686,286.15296204753,294.32876096318,305.22982618403,327.03195662575,339.14425131559,343.38355445704,367.91095120397,381.53728273004,392.4383479509,406.97310157871,436.04260883433,441.49314144476,457.84473927605,490.54793493862,508.71637697339,523.2511306012],description:"245/243, 64/63 comma and 25/24 chroma"},pipedum_17c:{frequencies:[261.6255653006,273.6806973752,285.83021674664,299.00064605783,310.07474405997,321.55899383997,336.37572681506,348.83408706747,364.90759650026,378.42269266694,392.4383479509,413.43299207996,428.74532511996,448.50096908674,465.11211608996,486.54346200035,504.56359022259,523.2511306012],description:"1605632/1594323 and 177147/175616, Manuel Op de Coul, 2002"},pipedum_17d:{frequencies:[261.6255653006,274.08392555301,284.23518205497,299.00064605783,308.34441624714,319.76457981184,336.37572681506,348.83408706747,365.44523407068,373.05867644715,392.4383479509,411.12588832951,426.35277308246,448.50096908674,465.11211608996,479.64686971777,504.56359022259,523.2511306012],description:"243/242, 99/98 and 64/63, Manuel Op de Coul, 2002"},pipedum_17e:{frequencies:[261.6255653006,271.31540105247,286.15296204753,296.75121990114,310.07474405997,321.92208230347,336.37572681506,348.83408706747,362.16234259141,378.42269266694,395.66829320152,413.43299207996,429.2294430713,445.12682985172,465.11211608996,482.88312345521,504.56359022259,523.2511306012],description:"245/243, 1728/1715 and 32805/32768, Manuel Op de Coul, 2003"},pipedum_17f:{frequencies:[261.6255653006,269.80136421624,285.40970760065,294.32876096318,310.07474405997,319.76457981184,331.11985608357,348.83408706747,359.73515228832,380.54627680087,392.4383479509,413.43299207996,428.11456140098,441.49314144476,465.11211608996,479.64686971777,507.3950357345,523.2511306012],description:"243/242 and 8192/8019, Manuel Op de Coul"},pipedum_17g:{frequencies:[261.6255653006,274.08392555301,285.40970760065,299.00064605783,305.22982618403,319.76457981184,336.37572681506,348.83408706747,359.73515228832,380.54627680087,392.4383479509,406.97310157871,428.11456140098,448.50096908674,457.84473927605,479.64686971777,499.46698830115,523.2511306012],description:"243/242, 896/891 and 99/98, Manuel Op de Coul"},pipedum_18:{frequencies:[261.6255653006,272.52663052146,280.31310567921,296.75121990114,305.22982618403,317.94773560837,327.03195662575,340.65828815182,350.39138209902,379.84156147346,390.69417751556,406.97310157871,418.60090448096,436.04260883433,448.50096908674,474.80195184183,488.36772189445,508.71637697339,523.2511306012],description:"875/864, 686/675 and 128/125, Paul Erlich, 2001"},pipedum_18a:{frequencies:[261.6255653006,269.10058145205,280.31310567921,293.02063313667,305.22982618403,313.95067836072,327.03195662575,341.85740532612,356.10146388137,366.27579142084,384.42940207435,400.44729382745,418.60090448096,436.04260883433,448.50096908674,467.18850946536,488.36772189445,508.71637697339,523.2511306012],description:"875/864, 686/675 and 50/49, Paul Erlich, 2001"},pipedum_18b:{frequencies:[261.6255653006,272.52663052146,280.31310567921,296.75121990114,305.22982618403,317.94773560837,327.03195662575,346.20975655133,356.10146388137,373.75080757229,384.42940207435,400.44729382745,418.60090448096,436.04260883433,448.50096908674,467.18850946536,488.36772189445,508.71637697339,523.2511306012],description:"1728/1715, 875/864 and 686/675, Paul Erlich, 2001"},pipedum_19:{frequencies:[261.6255653006,272.52663052146,282.55561052465,290.69507255622,301.39265122629,313.95067836072,327.03195662575,339.06673262958,348.83408706747,363.36884069528,376.74081403286,392.4383479509,401.85686830172,418.60090448096,436.04260883433,452.08897683944,470.92601754108,484.4917875937,502.32108537715,523.2511306012],description:"81/80 and 15625/15552 are homophonic intervals, inverse of Mandelbaum"},pipedum_19a:{frequencies:[261.6255653006,271.25338610366,282.55561052465,294.32876096318,301.39265122629,313.95067836072,327.03195662575,339.06673262958,353.19451315581,361.67118147155,376.74081403286,392.4383479509,408.78994578219,416.64520105522,434.00541776586,452.08897683944,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"3125/3072 and 15625/15552 are homophonic intervals"},pipedum_19b:{frequencies:[261.6255653006,272.52663052146,282.55561052465,290.69507255622,302.80736724606,313.95067836072,327.03195662575,339.06673262958,348.83408706747,363.36884069528,376.74081403286,392.4383479509,403.74315632809,418.60090448096,436.04260883433,452.08897683944,470.92601754108,484.4917875937,502.32108537715,523.2511306012],description:"15625/15552 and 78732/78125, Paul Erlich, TL 19-2-2001"},pipedum_19c:{frequencies:[261.6255653006,269.10058145205,280.31310567921,290.69507255622,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,376.74081403286,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,470.92601754108,488.36772189445,508.71637697339,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19d:{frequencies:[261.6255653006,271.31540105247,280.31310567921,290.69507255622,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,376.74081403286,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,470.92601754108,488.36772189445,504.56359022259,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19e:{frequencies:[261.6255653006,269.10058145205,280.31310567921,287.04062021552,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,476.92160341255,488.36772189445,508.71637697339,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19f:{frequencies:[261.6255653006,269.10058145205,279.06726965397,287.04062021552,305.22982618403,315.35224388912,327.03195662575,336.37572681506,348.83408706747,358.80077526939,381.53728273004,392.4383479509,406.97310157871,418.60090448096,434.10464168396,448.50096908674,476.92160341255,490.54793493862,508.71637697339,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19g:{frequencies:[261.6255653006,269.10058145205,280.31310567921,288.32205155576,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,360.4025644447,379.84156147346,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,474.80195184183,488.36772189445,508.71637697339,523.2511306012],description:"Periodicity block by Paul Erlich, 2001"},pipedum_19h:{frequencies:[261.6255653006,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,343.38355445704,353.19451315581,366.27579142084,381.53728273004,392.4383479509,412.06026534844,415.27867508032,436.04260883433,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:"126/125, 81/80 comma and 49/48 chroma"},pipedum_19i:{frequencies:[261.6255653006,275.93321340298,286.15296204753,294.32876096318,305.22982618403,321.92208230347,327.03195662575,343.38355445704,348.83408706747,367.91095120397,381.53728273004,392.4383479509,406.97310157871,429.2294430713,436.04260883433,457.84473927605,465.11211608996,490.54793493862,515.07533168556,523.2511306012],description:"225/224, 81/80 comma and 49/48 chroma"},pipedum_19j:{frequencies:[261.6255653006,266.96486255163,286.15296204753,293.02063313667,299.00064605783,320.49131749323,327.03195662575,333.70607818954,358.95027559242,366.27579142084,373.75080757229,381.37837507376,410.22888639134,418.60090448096,427.14378008261,457.84473927605,467.18850946536,478.40103369253,512.78610798918,523.2511306012],description:"21/20, 3136/3125 and 2401/2400, Gene Ward Smith, 2002"},pipedum_19k:{frequencies:[261.6255653006,267.90457886781,286.15296204753,293.02063313667,299.00064605783,320.49131749323,327.03195662575,334.88072358477,357.69120255941,366.27579142084,373.75080757229,382.72082695402,408.78994578219,418.60090448096,427.14378008261,457.84473927605,467.18850946536,478.40103369253,510.98743222773,523.2511306012],description:"21/20, 3136/3125 and 6144/6125, Gene Ward Smith, 2002"},pipedum_19l:{frequencies:[261.6255653006,267.07609791103,286.15296204753,293.02063313667,299.00064605783,320.49131749323,327.03195662575,333.84512238879,358.80077526939,366.27579142084,373.75080757229,381.53728273004,410.05802887931,418.60090448096,427.14378008261,457.84473927605,467.18850946536,478.40103369253,512.57253609913,523.2511306012],description:"21/20, 2401/2400 and 6144/6125, Gene Ward Smith, 2002"},pipedum_19m:{frequencies:[261.6255653006,269.10058145205,293.02063313667,299.00064605783,305.22982618403,313.95067836072,317.94773560837,348.83408706747,358.80077526939,366.27579142084,373.75080757229,406.97310157871,418.60090448096,430.56093032327,436.04260883433,448.50096908674,488.36772189445,502.32108537715,508.71637697339,523.2511306012],description:"126/125, 1728/1715 and 16/15, Gene Ward Smith, 2002"},pipedum_19n:{frequencies:[261.6255653006,267.07609791103,274.70684356563,280.31310567921,305.22982618403,313.95067836072,320.49131749323,327.03195662575,333.70607818954,366.27579142084,373.75080757229,381.53728273004,392.4383479509,427.32175665765,436.04260883433,448.50096908674,457.84473927605,467.18850946536,512.78610798918,523.2511306012],description:"126/125, 2401/2400 and 16/15, Gene Ward Smith, 2002"},pipedum_19o:{frequencies:[261.6255653006,272.52663052146,280.31310567921,290.69507255622,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,363.36884069528,376.74081403286,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,470.92601754108,488.36772189445,502.32108537715,523.2511306012],description:"225/224, 3136/3125 and 4375/4374, OdC 2000"},pipedum_21:{frequencies:[261.6255653006,267.07609791103,280.31310567921,284.8811711051,299.00064605783,305.22982618403,320.35783506196,327.03195662575,341.85740532612,348.83408706747,366.27579142084,373.75080757229,392.4383479509,400.44729382745,418.60090448096,427.32175665765,448.50096908674,457.84473927605,480.53675259294,488.36772189445,512.57253609913,523.2511306012],description:"36/35, 225/224 and 2401/2400, P. Erlich, 2001. Just PB version of miracle1"},pipedum_21a:{frequencies:[261.6255653006,265.7783520514,286.15296204753,290.69507255622,299.00064605783,305.22982618403,327.03195662575,332.22294006425,343.38355445704,348.83408706747,373.75080757229,381.53728273004,392.4383479509,398.6675280771,429.2294430713,436.04260883433,448.50096908674,457.84473927605,490.54793493862,498.33441009638,515.07533168556,523.2511306012],description:"1029/1024, 81/80 comma and 25/24 chroma"},pipedum_21b:{frequencies:[261.6255653006,267.07609791103,279.06726965397,284.8811711051,299.00064605783,305.22982618403,318.93402246168,325.57848126297,343.38355445704,348.83408706747,366.27579142084,372.08969287196,392.4383479509,398.6675280771,418.60090448096,427.32175665765,448.50096908674,457.84473927605,478.40103369253,488.36772189445,496.11959049595,523.2511306012],description:"36/35, 225/224 and 1029/1024, Gene Ward Smith, 2002"},pipedum_21c:{frequencies:[261.6255653006,269.46602871384,279.06726965397,287.4304306281,297.67175429757,306.59245933664,317.51653791741,327.03195662575,344.91651675372,348.83408706747,367.91095120397,372.08969287196,392.4383479509,396.89567239676,418.60090448096,431.14564594215,446.50763144636,459.88868900496,476.27480687611,490.54793493862,508.02646066786,523.2511306012],description:"First 128/125 and ampersand comma Fokker block"},pipedum_22:{frequencies:[261.6255653006,267.90457886781,279.06726965397,285.76488412567,299.40669857094,306.59245933664,313.95067836072,327.03195662575,334.88072358477,348.83408706747,357.20610515709,365.77905168086,383.2405741708,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,457.22381460107,479.0507177135,490.54793493862,510.98743222773,523.2511306012],description:"3125/3072 and 2109375/2097152 are homophonic intervals"},pipedum_22a:{frequencies:[261.6255653006,267.90457886781,279.06726965397,287.4304306281,297.67175429757,306.59245933664,317.51653791741,327.03195662575,334.88072358477,348.83408706747,357.20610515709,372.08969287196,381.01984550089,392.4383479509,408.78994578219,418.60090448096,436.04260883433,446.50763144636,459.88868900496,476.27480687611,490.54793493862,508.02646066786,523.2511306012],description:"2048/2025 and 2109375/2097152 are homophonic intervals"},pipedum_22b:{frequencies:[261.6255653006,271.31540105247,279.06726965397,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,339.14425131559,348.83408706747,357.69120255941,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,429.2294430713,441.49314144476,457.84473927605,470.92601754108,490.54793493862,508.71637697339,523.2511306012],description:'2025/2048, 245/243 and 64/63. P. Erlich "7-limit Indian", TL 19-12-2000'},pipedum_22b2:{frequencies:[261.6255653006,271.31540105247,279.06726965397,286.15296204753,294.32876096318,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,367.91095120397,381.53728273004,392.4383479509,406.97310157871,418.60090448096,429.2294430713,448.50096908674,465.11211608996,478.40103369253,490.54793493862,504.56359022259,523.2511306012],description:"Version of pipedum_22b with other shape, Paul Erlich"},pipedum_22c:{frequencies:[261.6255653006,267.07609791103,274.70684356563,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,498.33441009638,512.57253609913,523.2511306012],description:"1728/1715, 64/63 and 50/49, Paul Erlich, 2001"},pipedum_22d:{frequencies:[261.6255653006,269.10058145205,274.70684356563,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,333.84512238879,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,410.05802887931,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,498.33441009638,508.71637697339,523.2511306012],description:"1728/1715, 875/864 and 64/63, Paul Erlich, 2001"},pipedum_22e:{frequencies:[261.6255653006,269.10058145205,274.70684356563,290.69507255622,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,356.10146388137,366.27579142084,384.42940207435,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,470.92601754108,498.33441009638,508.71637697339,523.2511306012],description:"1728/1715, 245/243 and 50/49, Paul Erlich, 2001"},pipedum_22f:{frequencies:[261.6255653006,269.10058145205,276.78916949353,290.69507255622,296.75121990114,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,461.31528248922,470.92601754108,494.58536650191,508.71637697339,523.2511306012],description:"1728/1715, 245/243 and 875/864, Paul Erlich, 2001"},pipedum_22g:{frequencies:[261.6255653006,267.07609791103,279.06726965397,286.15296204753,299.00064605783,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,457.84473927605,478.40103369253,490.54793493862,512.57253609913,523.2511306012],description:"225/224, 1728/1715 and 64/63, Paul Erlich, 2001"},pipedum_22h:{frequencies:[261.6255653006,269.10058145205,280.31310567921,287.04062021552,296.75121990114,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,461.31528248922,476.92160341255,488.36772189445,508.71637697339,523.2511306012],description:"225/224, 1728/1715 and 875/864, Paul Erlich, 2001"},pipedum_22i:{frequencies:[261.6255653006,269.10058145205,279.06726965397,288.32205155576,296.75121990114,305.22982618403,313.95067836072,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,406.97310157871,418.60090448096,436.04260883433,448.50096908674,461.31528248922,474.80195184183,490.54793493862,508.71637697339,523.2511306012],description:"1728/1715, 245/243 and 245/243, Paul Erlich, 2001"},pipedum_22j:{frequencies:[261.6255653006,271.31540105247,280.31310567921,290.69507255622,299.00064605783,305.22982618403,320.35783506196,332.22294006425,336.37572681506,348.83408706747,353.19451315581,373.75080757229,387.59343007496,392.4383479509,406.97310157871,427.14378008261,436.04260883433,448.50096908674,465.11211608996,480.53675259294,498.33441009638,504.56359022259,523.2511306012],description:"50/49, 64/63 and 245/243, Gene Ward Smith, 2002"},pipedum_22k:{frequencies:[261.6255653006,272.52663052146,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,334.88072358477,348.83408706747,359.73515228832,367.91095120397,380.54627680087,392.4383479509,408.78994578219,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,502.32108537715,523.2511306012],description:"121/120, 2048/2025 and 4125/4096, Manuel Op de Coul"},pipedum_22l:{frequencies:[261.6255653006,275.62199471997,284.23518205497,290.69507255622,303.18419419197,310.07474405997,319.76457981184,330.74639366397,341.08221846597,348.83408706747,363.82103303037,372.08969287196,387.59343007496,404.24559225596,413.43299207996,426.35277308246,440.99519155196,454.77629128796,465.11211608996,485.09471070715,496.11959049595,511.62332769895,523.2511306012],description:"121/120, 736/729, 100/99 and 2048/2025"},pipedum_23:{frequencies:[261.6255653006,271.25338610366,276.85245005354,287.04062021552,297.60371503945,302.80736724606,313.95067836072,325.50406332439,332.22294006425,344.44874425862,348.83408706747,363.36884069528,376.74081403286,384.51729174103,398.6675280771,413.33849311034,420.56578784176,436.04260883433,452.08897683944,461.42075008924,478.40103369253,496.00619173241,504.67894541011,523.2511306012],description:"6144/6125, 15625/1552 and 5103/5000, Manuel Op de Coul, 2003"},pipedum_24:{frequencies:[261.6255653006,267.57160087561,275.93321340298,285.40970760065,290.69507255622,299.7792935736,310.07474405997,319.76457981184,327.03195662575,338.26335715633,348.83408706747,356.76213450082,367.91095120397,380.54627680087,392.4383479509,401.35740131342,413.43299207996,426.35277308246,436.04260883433,449.66894036041,465.11211608996,479.64686971777,490.54793493862,507.3950357345,523.2511306012],description:"121/120, 16384/16335 and 32805/32768. Manuel Op de Coul, 2001"},pipedum_24a:{frequencies:[261.6255653006,272.52663052146,274.70684356563,286.15296204753,294.32876096318,305.22982618403,313.95067836072,321.92208230347,327.03195662575,343.38355445704,348.83408706747,366.27579142084,367.91095120397,381.53728273004,392.4383479509,412.06026534844,418.60090448096,429.2294430713,436.04260883433,457.84473927605,470.92601754108,488.36772189445,490.54793493862,515.07533168556,523.2511306012],description:"49/48, 81/80 and 128/125, Gene Ward Smith, 2002"},pipedum_24b:{frequencies:[261.6255653006,271.31540105247,275.62199471997,289.72987407313,294.32876096318,305.22982618403,310.07474405997,325.94610833227,331.11985608357,343.38355445704,348.83408706747,361.75386806997,372.50983809402,386.30649876417,392.4383479509,406.97310157871,413.43299207996,434.59481110969,441.49314144476,457.84473927605,465.11211608996,482.33849075995,496.67978412536,515.07533168556,523.2511306012],description:"49/48, 81/80 and 531441/524288"},pipedum_25:{frequencies:[261.6255653006,268.26840191956,274.70684356563,281.29980781121,291.99281841585,299.00064605783,306.17666156322,313.95067836072,327.03195662575,335.33550239945,343.38355445704,351.62475976401,364.99102301981,373.75080757229,382.72082695402,392.4383479509,408.78994578219,418.60090448096,429.2294430713,439.53094970501,447.89271634391,467.18850946536,478.40103369253,490.54793493862,502.32108537715,523.2511306012],description:"65625/65536, 1029/1024 and 3125/3072, Manuel Op de Coul, 2003"},pipedum_26:{frequencies:[261.6255653006,267.07609791103,274.70684356563,286.15296204753,292.89859205665,299.00064605783,305.22982618403,313.95067836072,327.03195662575,333.84512238879,341.71502406609,348.83408706747,358.80077526939,366.27579142084,381.53728273004,392.4383479509,400.61414686654,410.05802887931,418.60090448096,436.04260883433,448.50096908674,457.84473927605,467.3831713443,478.40103369253,498.33441009638,512.57253609913,523.2511306012],description:"1029/1024, 1728/1715 and 50/49, Paul Erlich, 2001"},pipedum_26a:{frequencies:[261.6255653006,272.52663052146,274.70684356563,286.15296204753,294.32876096318,305.22982618403,306.59245933664,321.92208230347,325.57848126297,327.03195662575,343.38355445704,348.83408706747,366.27579142084,367.91095120397,381.53728273004,392.4383479509,408.78994578219,412.06026534844,429.2294430713,436.04260883433,457.84473927605,459.88868900496,465.11211608996,488.36772189445,490.54793493862,515.07533168556,523.2511306012],description:"50/49, 81/80 and 525/512, Gene Ward Smith, 2002"},pipedum_26b:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,290.69507255622,301.39265122629,306.59245933664,313.95067836072,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,376.74081403286,392.4383479509,401.85686830172,408.78994578219,418.60090448096,436.04260883433,446.50763144636,454.2110508691,470.92601754108,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"81/80 and 78125/73728, Gene Ward Smith, 2005"},pipedum_27:{frequencies:[261.6255653006,271.20240005245,278.95104005395,284.76252005507,292.89859205665,299.00064605783,307.54352165948,316.40280006119,325.44288006294,332.22294006425,341.71502406609,351.47831046798,358.80077526939,369.05222599138,379.68336007343,390.53145607553,398.6675280771,410.05802887931,418.60090448096,430.56093032327,442.86267118965,455.62003208812,468.63774729064,478.40103369253,492.06963465517,502.32108537715,516.67311638793,523.2511306012],description:"126/125, 1728/1715 and 4000/3969 are homophonic intervals, Paul Erlich"},pipedum_27a:{frequencies:[261.6255653006,269.10058145205,274.70684356563,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,336.37572681506,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,406.97310157871,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,498.33441009638,508.71637697339,523.2511306012],description:"126/126, 1728/1715 and 64/63, Paul Erlich, 2001"},pipedum_27b:{frequencies:[261.6255653006,266.96486255163,272.52663052146,280.31310567921,293.02063313667,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,333.70607818954,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,410.22888639134,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,467.18850946536,488.36772189445,502.32108537715,512.78610798918,523.2511306012],description:"2401/2400, 126/125 and 128/125, Paul Erlich, 2001"},pipedum_27c:{frequencies:[261.6255653006,266.96486255163,274.70684356563,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.35783506196,327.03195662575,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,418.60090448096,427.32175665765,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,498.33441009638,512.78610798918,523.2511306012],description:"2401/2400, 126/125 and 686/675, Paul Erlich, 2001"},pipedum_27d:{frequencies:[261.6255653006,266.96486255163,274.70684356563,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,336.37572681506,348.83408706747,355.95315006884,366.27579142084,373.75080757229,384.58958099188,392.4383479509,406.97310157871,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,498.33441009638,512.78610798918,523.2511306012],description:"2401/2400, 126/125 and 64/63, Paul Erlich, 2001"},pipedum_27e:{frequencies:[261.6255653006,269.10058145205,274.70684356563,282.55561052465,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.35783506196,329.64821227876,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,415.27867508032,427.32175665765,436.04260883433,448.50096908674,457.84473927605,470.92601754108,484.4917875937,498.33441009638,508.71637697339,523.2511306012],description:"2401/2400, 126/125 and 245/243, Paul Erlich, 2001"},pipedum_27f:{frequencies:[261.6255653006,267.07609791103,272.52663052146,280.31310567921,293.02063313667,299.00064605783,305.22982618403,313.95067836072,320.35783506196,327.03195662575,333.84512238879,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,410.05802887931,418.60090448096,427.32175665765,436.04260883433,448.50096908674,457.84473927605,467.18850946536,488.36772189445,502.32108537715,512.57253609913,523.2511306012],description:"2401/2400, 1728/1715 and 128/125, Paul Erlich, 2001"},pipedum_27g:{frequencies:[261.6255653006,267.07609791103,274.59243005311,280.31310567921,290.81619550312,299.00064605783,305.22982618403,313.95067836072,320.35783506196,327.03195662575,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,418.60090448096,427.32175665765,436.04260883433,448.50096908674,457.84473927605,470.72988009104,488.36772189445,498.54204943392,512.57253609913,523.2511306012],description:"2401/2400, 1728/1715 and 686/675, Paul Erlich, 2001"},pipedum_27h:{frequencies:[261.6255653006,267.07609791103,274.70684356563,280.31310567921,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,418.60090448096,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,488.36772189445,498.33441009638,512.57253609913,523.2511306012],description:"2401/2400, 1728/1715 and 64/63, Paul Erlich, 2001"},pipedum_27i:{frequencies:[261.6255653006,269.10058145205,274.70684356563,282.43792805463,290.69507255622,299.00064605783,305.22982618403,313.95067836072,320.49131749323,329.51091606373,336.37572681506,348.83408706747,356.10146388137,366.27579142084,373.75080757229,384.42940207435,392.4383479509,406.97310157871,415.4517078616,427.14378008261,436.04260883433,448.50096908674,457.84473927605,470.92601754108,484.69365917187,498.33441009638,508.71637697339,523.2511306012],description:"2401/2400, 1728/1715 and 245/243, Paul Erlich, 2001"},pipedum_27j:{frequencies:[261.6255653006,269.16210421872,276.91574508099,282.55561052465,290.69507255622,299.06900468747,305.16005936662,313.95067836072,322.99452506247,329.57286411595,339.06673262958,348.83408706747,358.88280562497,366.19207123994,376.74081403286,387.59343007496,395.48743693914,406.88007915549,418.60090448096,423.83341578697,436.04260883433,448.60350703121,461.52624180165,470.92601754108,484.4917875937,498.44834114579,508.60009894437,523.2511306012],description:"78732/78125 and 390625000/387420489"},pipedum_27k:{frequencies:[261.6255653006,264.89588486686,275.62199471997,279.38237857051,290.69507255622,294.32876096318,298.00787047521,310.07474405997,313.95067836072,331.11985608357,344.52749339997,348.83408706747,353.19451315581,367.49599295996,372.50983809402,387.59343007496,392.4383479509,397.34382730029,413.43299207996,418.60090448096,441.49314144476,447.01180571282,459.36999119996,465.11211608996,470.92601754108,496.67978412536,516.79124009995,523.2511306012],description:"67108864/66430125 and 25/24"},pipedum_28:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,285.76488412567,299.40669857094,306.59245933664,313.95067836072,319.36714514233,327.03195662575,334.88072358477,340.65828815182,348.83408706747,357.20610515709,363.36884069528,383.2405741708,392.4383479509,401.85686830172,408.78994578219,418.60090448096,428.6473261885,436.04260883433,446.50763144636,457.22381460107,479.0507177135,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"393216/390625 and 16875/16384"},pipedum_29:{frequencies:[261.6255653006,266.96486255163,274.70684356563,280.31310567921,288.44218574391,294.32876096318,300.33547037059,310.07474405997,316.40280006119,325.57848126297,332.22294006425,341.85740532612,348.83408706747,355.95315006884,366.27579142084,373.75080757229,384.58958099188,392.4383479509,400.44729382745,412.06026534844,420.46965851882,434.10464168396,442.96392008567,455.80987376816,465.11211608996,474.60420009179,488.36772189445,498.33441009638,512.78610798918,523.2511306012],description:"5120/5103, 225/224 and 50421/50000, Manuel Op de Coul, 2003"},pipedum_29a:{frequencies:[261.6255653006,272.52663052146,274.70684356563,286.15296204753,290.69507255622,294.32876096318,305.22982618403,313.95067836072,317.94773560837,327.03195662575,339.14425131559,343.38355445704,348.83408706747,363.36884069528,366.27579142084,372.60080508745,381.53728273004,392.4383479509,408.78994578219,412.06026534844,429.2294430713,436.04260883433,441.49314144476,457.84473927605,470.92601754108,476.92160341255,490.54793493862,508.71637697339,515.07533168556,523.2511306012],description:"49/48, 55/54, 65/64, 91/90 and 100/99"},pipedum_31:{frequencies:[261.6255653006,271.62175694356,275.93321340298,281.68182201554,289.72987407313,294.32876096318,300.46061014991,310.42486507835,316.89204976748,321.92208230347,331.11985608357,338.01818641865,343.38355445704,356.50355598842,362.16234259141,367.91095120397,380.27045972098,386.30649876417,392.4383479509,407.43263541533,413.89982010446,422.52273302331,434.59481110969,441.49314144476,450.69091522486,465.63729761752,475.33807465122,482.88312345521,496.67978412536,507.02727962797,515.07533168556,523.2511306012],description:"81/80, 225/224 and 1029/1024 are homophonic intervals"},pipedum_31a:{frequencies:[261.6255653006,269.46602871384,275.93321340298,282.55561052465,287.4304306281,294.32876096318,301.39265122629,306.59245933664,313.95067836072,321.48549464138,329.20114651277,336.83253589231,344.91651675372,353.19451315581,359.28803828513,367.91095120397,376.74081403286,385.78259356965,392.4383479509,401.85686830172,411.50143314096,421.04066986538,431.14564594215,441.49314144476,452.08897683944,459.88868900496,470.92601754108,482.22824196207,490.54793493862,502.32108537715,514.3767914262,523.2511306012],description:"393216/390625 and 2109375/2097152 are homophonic intervals"},pipedum_31b:{frequencies:[261.6255653006,267.07609791103,280.31310567921,286.15296204753,290.69507255622,294.32876096318,299.00064605783,305.22982618403,307.54352165948,327.03195662575,333.84512238879,339.14425131559,343.38355445704,348.83408706747,356.10146388137,373.75080757229,381.53728273004,387.59343007496,392.4383479509,400.61414686654,406.97310157871,429.2294430713,436.04260883433,445.12682985172,448.50096908674,457.84473927605,465.11211608996,490.54793493862,498.33441009638,508.71637697339,515.07533168556,523.2511306012],description:"245/243, 1029/1024 comma and 25/24 chroma"},pipedum_31c:{frequencies:[261.6255653006,265.7783520514,274.70684356563,279.06726965397,286.15296204753,293.02063313667,299.00064605783,305.22982618403,313.95067836072,320.49131749323,327.03195662575,334.88072358477,343.38355445704,348.83408706747,360.55273217989,366.27579142084,373.75080757229,384.58958099188,392.4383479509,398.6675280771,412.06026534844,418.60090448096,429.2294430713,439.53094970501,448.50096908674,457.84473927605,470.92601754108,480.73697623985,490.54793493862,502.32108537715,515.07533168556,523.2511306012],description:"126/125, 225/224 and 1029/1024, Op de Coul"},pipedum_31d:{frequencies:[261.6255653006,269.10058145205,274.70684356563,280.31310567921,286.15296204753,294.32876096318,299.00064605783,305.22982618403,313.95067836072,316.53463456122,327.03195662575,336.37572681506,343.38355445704,348.83408706747,358.80077526939,366.27579142084,373.75080757229,381.53728273004,392.4383479509,403.65087217807,406.97310157871,418.60090448096,429.2294430713,436.04260883433,448.50096908674,457.84473927605,470.92601754108,478.40103369253,490.54793493862,504.56359022259,508.71637697339,523.2511306012],description:"1728/1715, 225/224 and 81/80"},pipedum_31e:{frequencies:[261.6255653006,267.07609791103,272.52663052146,276.85245005354,286.15296204753,290.69507255622,299.00064605783,305.22982618403,311.45900631024,317.94773560837,327.03195662575,332.22294006425,343.38355445704,348.83408706747,357.69120255941,363.36884069528,373.75080757229,381.53728273004,392.4383479509,398.6675280771,408.78994578219,415.27867508032,429.2294430713,436.04260883433,448.50096908674,457.84473927605,467.18850946536,476.92160341255,490.54793493862,498.33441009638,508.71637697339,523.2511306012],description:'81/80, 126/125 and 1029/1024, Gene Smith (2005) "Synstargam"'},pipedum_32:{frequencies:[261.6255653006,267.07609791103,270.30192333353,280.31310567921,286.15296204753,292.11448209019,299.00064605783,305.22982618403,311.5887808962,315.35224388912,325.57848126297,333.84512238879,337.87740416691,348.83408706747,356.10146388137,360.4025644447,367.91095120397,379.84156147346,384.42940207435,394.1903048614,406.97310157871,415.4517078616,420.46965851882,429.2294430713,443.14848838571,448.50096908674,457.84473927605,474.80195184183,480.53675259294,490.54793493862,500.76768358318,512.57253609913,523.2511306012],description:"225/224, 2048/2025 and 117649/116640"},pipedum_32a:{frequencies:[261.6255653006,268.26840191956,274.59243005311,280.31310567921,286.15296204753,292.89859205665,299.00064605783,305.22982618403,311.5887808962,320.35783506196,327.03195662575,333.84512238879,341.71502406609,348.83408706747,356.10146388137,364.4960256705,372.08969287196,381.53728273004,390.53145607553,398.6675280771,406.97310157871,416.56688648057,425.24536328225,434.10464168396,438.17172313528,450.50320555588,459.88868900496,469.46970335923,480.53675259294,490.54793493862,500.76768358318,512.57253609913,523.2511306012],description:"589824/588245, 225/224 and 2048/2025"},pipedum_34:{frequencies:[261.6255653006,267.90457886781,272.52663052146,279.06726965397,283.88190679319,290.69507255622,294.32876096318,301.39265122629,306.59245933664,313.95067836072,321.48549464138,327.03195662575,334.88072358477,340.65828815182,348.83408706747,354.85238349148,363.36884069528,367.91095120397,376.74081403286,385.78259356965,392.4383479509,401.85686830172,408.78994578219,418.60090448096,425.82286018978,436.04260883433,446.50763144636,454.2110508691,465.11211608996,470.92601754108,482.22824196207,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"15625/15552 and 393216/390625 are homophonic intervals"},pipedum_34a:{frequencies:[261.6255653006,264.89588486686,272.52663052146,279.06726965397,282.55561052465,290.69507255622,294.32876096318,301.39265122629,306.59245933664,313.95067836072,317.87506184023,327.03195662575,334.88072358477,340.65828815182,348.83408706747,353.19451315581,363.36884069528,367.91095120397,376.74081403286,387.59343007496,392.4383479509,401.85686830172,408.78994578219,418.60090448096,423.83341578697,436.04260883433,441.49314144476,452.08897683944,465.11211608996,470.92601754108,484.4917875937,490.54793493862,502.32108537715,510.98743222773,523.2511306012],description:"15625/15552 and 2048/2025, Manuel Op de Coul, 2001"},pipedum_34b:{frequencies:[261.6255653006,267.57160087561,272.52663052146,279.06726965397,285.40970760065,290.69507255622,294.32876096318,299.7792935736,310.07474405997,313.95067836072,319.76457981184,327.03195662575,334.88072358477,342.49164912079,348.83408706747,356.76213450082,359.73515228832,367.91095120397,380.54627680087,383.71749577421,392.4383479509,399.70572476481,408.78994578219,418.60090448096,428.11456140098,436.04260883433,441.49314144476,449.66894036041,465.11211608996,470.92601754108,479.64686971777,490.54793493862,502.32108537715,511.62332769895,523.2511306012],description:"100/99, 243/242 and 5632/5625, Manuel Op de Coul"},pipedum_36:{frequencies:[261.6255653006,267.07609791103,269.10058145205,280.31310567921,286.15296204753,290.69507255622,294.32876096318,300.46061014991,305.22982618403,311.5887808962,320.35783506196,327.03195662575,333.84512238879,336.37572681506,343.38355445704,348.83408706747,356.10146388137,367.91095120397,373.75080757229,381.53728273004,384.42940207435,392.4383479509,400.61414686654,406.97310157871,420.46965851882,429.2294430713,436.04260883433,445.12682985172,448.50096908674,457.84473927605,467.3831713443,480.53675259294,490.54793493862,498.33441009638,508.71637697339,515.07533168556,523.2511306012],description:"1029/1024, 245/243 comma and 50/49 chroma, Gene Ward Smith, 2001"},pipedum_36a:{frequencies:[261.6255653006,264.89588486686,275.62199471997,275.93321340298,279.06726965397,290.69507255622,293.99679436797,294.32876096318,310.07474405997,310.42486507835,313.95067836072,327.03195662575,330.74639366397,331.11985608357,348.83408706747,349.22797321314,353.19451315581,367.91095120397,372.08969287196,372.50983809402,387.59343007496,392.4383479509,397.34382730029,413.43299207996,413.89982010446,418.60090448096,436.04260883433,440.99519155196,441.49314144476,465.11211608996,465.63729761752,470.92601754108,490.54793493862,496.11959049595,496.67978412536,516.79124009995,523.2511306012],description:"1125/1024 and 531441/524288, Op de Coul"},pipedum_37:{frequencies:[261.6255653006,263.718569823,276.85245005354,279.06726965397,280.31310567921,290.69507255622,293.02063313667,299.00064605783,308.98710943476,311.45900631024,313.95067836072,325.57848126297,332.22294006425,333.70607818954,346.06556256693,348.83408706747,351.62475976401,353.19451315581,370.78453132171,373.75080757229,376.74081403286,390.69417751556,392.4383479509,400.44729382745,415.27867508032,418.60090448096,421.94971171681,436.04260883433,444.94143758605,448.50096908674,465.11211608996,467.18850946536,470.92601754108,494.37937509562,498.33441009638,502.32108537715,519.0983438504,523.2511306012],description:"250/243, 3136/3125 and 3125/3087, Gene Ward Smith, 2002"},pipedum_38:{frequencies:[261.6255653006,271.25338610366,272.52663052146,280.3771918945,282.55561052465,290.69507255622,292.95365699196,301.39265122629,302.80736724606,313.95067836072,315.42434088132,325.50406332439,327.03195662575,336.45263027341,339.06673262958,348.83408706747,350.47148986813,361.67118147155,363.36884069528,376.74081403286,378.50920905758,390.60487598927,392.4383479509,403.74315632809,406.88007915549,418.60090448096,420.56578784176,434.00541776586,436.04260883433,452.08897683944,454.2110508691,467.29531982417,470.92601754108,484.4917875937,488.25609498659,502.32108537715,504.67894541011,519.21702202686,523.2511306012],description:"81/80 and 1224440064/1220703125, Manuel Op de Coul, 2001"},pipedum_38a:{frequencies:[261.6255653006,268.26840191956,272.52663052146,274.70684356563,279.06726965397,286.15296204753,293.02063313667,294.32876096318,305.22982618403,306.59245933664,313.95067836072,321.92208230347,327.03195662575,329.64821227876,340.65828815182,343.38355445704,348.83408706747,357.69120255941,366.27579142084,367.91095120397,381.53728273004,383.2405741708,390.69417751556,392.4383479509,408.78994578219,412.06026534844,418.60090448096,429.2294430713,436.04260883433,439.53094970501,457.84473927605,459.88868900496,470.92601754108,476.92160341255,488.36772189445,490.54793493862,510.98743222773,515.07533168556,523.2511306012],description:"50/49, 81/80 and 3125/3072, Gene Ward Smith, 2002"},pipedum_41:{frequencies:[261.6255653006,265.71346475842,269.80136421624,274.70684356563,280.31310567921,286.15296204753,290.69507255622,294.32876096318,299.00064605783,303.67253115248,308.34441624714,313.95067836072,320.49131749323,327.03195662575,331.11985608357,336.37572681506,343.38355445704,348.83408706747,354.2846196779,359.73515228832,366.27579142084,373.75080757229,381.53728273004,387.40708707973,392.4383479509,400.61414686654,406.97310157871,412.06026534844,418.60090448096,425.14154361347,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,495.99846754905,503.62921320365,513.90736041189,523.2511306012],description:"100/99 105/104 196/195 275/273 385/384, Paul Erlich, TL 3-11-2000"},pipedum_41a:{frequencies:[261.6255653006,265.71346475842,269.80136421624,274.70684356563,280.31310567921,285.40970760065,290.69507255622,294.32876096318,299.00064605783,305.22982618403,309.19384990071,313.95067836072,319.76457981184,327.03195662575,332.97799220076,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,373.75080757229,380.54627680087,387.59343007496,392.4383479509,400.61414686654,406.97310157871,411.12588832951,418.60090448096,425.14154361347,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,485.87604984397,495.99846754905,503.62921320365,513.90736041189,523.2511306012],description:"pipedum_41 improved shape by Manuel Op de Coul, all intervals superparticular"},pipedum_41b:{frequencies:[261.6255653006,265.7783520514,271.31540105247,274.70684356563,279.06726965397,284.8811711051,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,313.95067836072,319.76457981184,327.03195662575,331.11985608357,336.37572681506,343.38355445704,348.83408706747,353.19451315581,359.73515228832,366.27579142084,373.75080757229,381.53728273004,387.59343007496,392.4383479509,398.6675280771,406.97310157871,412.06026534844,418.60090448096,425.14154361347,436.04260883433,441.49314144476,448.50096908674,457.84473927605,465.11211608996,470.92601754108,479.64686971777,490.54793493862,498.33441009638,504.56359022259,515.07533168556,523.2511306012],description:"pipedum_41 more improved shape by M. OdC, all intervals superparticular"},pipedum_41c:{frequencies:[261.6255653006,267.07609791103,271.31540105247,275.93321340298,280.31310567921,286.15296204753,290.69507255622,294.32876096318,299.00064605783,305.22982618403,310.07474405997,315.35224388912,320.35783506196,327.03195662575,333.84512238879,336.37572681506,343.38355445704,348.83408706747,356.10146388137,360.4025644447,367.91095120397,373.75080757229,381.53728273004,384.42940207435,392.4383479509,398.6675280771,406.97310157871,410.05802887931,420.46965851882,429.2294430713,436.04260883433,445.12682985172,448.50096908674,457.84473927605,465.11211608996,474.80195184183,480.53675259294,490.54793493862,498.33441009638,508.71637697339,512.57253609913,523.2511306012],description:"225/224, 245/243 and 1029/1024, Gene Ward Smith, 2002"},pipedum_41d:{frequencies:[261.6255653006,264.89588486686,272.52663052146,275.93321340298,279.06726965397,282.55561052465,290.69507255622,294.32876096318,297.67175429757,306.59245933664,310.07474405997,313.95067836072,317.51653791741,327.03195662575,331.11985608357,334.88072358477,344.91651675372,348.83408706747,353.19451315581,363.36884069528,367.91095120397,372.08969287196,376.74081403286,387.59343007496,392.4383479509,396.89567239676,408.78994578219,413.89982010446,418.60090448096,423.83341578697,436.04260883433,441.49314144476,446.50763144636,459.88868900496,465.11211608996,470.92601754108,484.4917875937,490.54793493862,496.11959049595,502.32108537715,517.37477513058,523.2511306012],description:"3125/3072 and 32805/32768"},pipedum_43:{frequencies:[261.6255653006,269.10058145205,273.37201925287,274.70684356563,282.55561052465,286.15296204753,287.04062021552,290.69507255622,299.00064605783,305.22982618403,307.54352165948,313.95067836072,322.92069774245,327.03195662575,328.04642310345,332.22294006425,341.71502406609,343.38355445704,348.83408706747,358.80077526939,366.27579142084,369.05222599138,376.74081403286,379.68336007343,381.53728273004,392.4383479509,398.6675280771,410.05802887931,412.06026534844,418.60090448096,423.93031414449,430.56093032327,436.04260883433,448.50096908674,455.62003208812,457.84473927605,470.92601754108,478.40103369253,492.06963465517,494.47231841813,498.33441009638,508.71637697339,512.57253609913,523.2511306012],description:"81/80, 126/125 and 12288/12005, Gene Ward Smith, 2002"},pipedum_45:{frequencies:[261.6255653006,265.7783520514,267.07609791103,274.70684356563,279.06726965397,280.31310567921,284.8811711051,293.02063313667,294.32876096318,299.00064605783,303.74668805875,305.22982618403,313.95067836072,320.49131749323,325.57848126297,327.03195662575,336.37572681506,341.85740532612,343.38355445704,348.83408706747,356.10146388137,358.80077526939,366.27579142084,372.08969287196,373.75080757229,384.58958099188,392.4383479509,398.6675280771,400.61414686654,406.97310157871,418.60090448096,420.46965851882,427.32175665765,436.04260883433,439.53094970501,448.50096908674,455.80987376816,457.84473927605,465.11211608996,478.40103369253,480.73697623985,488.36772189445,498.33441009638,512.78610798918,515.07533168556,523.2511306012],description:"81/80, 525/512 and 2401/2400, Gene Ward Smith, 2002"},scala205pipedum_45a:{frequencies:[261.6255653006,267.07609791103,269.10058145205,274.70684356563,276.85245005354,282.55561052465,288.32205155576,290.69507255622,296.75121990114,299.00064605783,305.22982618403,311.45900631024,313.95067836072,320.49131749323,322.99452506247,329.64821227876,336.37572681506,339.14425131559,345.98646186692,348.83408706747,356.10146388137,363.28578496026,366.27579142084,373.75080757229,376.82694590621,384.42940207435,392.4383479509,395.66829320152,403.65087217807,406.97310157871,415.27867508032,423.83341578697,427.14378008261,436.04260883433,439.53094970501,448.50096908674,457.84473927605,461.31528248922,470.92601754108,474.80195184183,484.4917875937,494.47231841813,498.33441009638,508.71637697339,512.57253609913,523.2511306012],description:"81/80, 2401/2400 and 4375/4374, Gene Ward Smith"},pipedum_46:{frequencies:[261.6255653006,265.7783520514,270.41454913492,274.70684356563,279.06726965397,280.31310567921,286.15296204753,290.69507255622,295.30928005711,300.46061014991,305.22982618403,310.07474405997,313.95067836072,320.49131749323,325.57848126297,327.03195662575,332.22294006425,339.14425131559,343.38355445704,348.83408706747,354.37113606854,360.55273217989,366.27579142084,372.08969287196,373.75080757229,381.53728273004,387.59343007496,392.4383479509,398.6675280771,406.97310157871,412.06026534844,418.60090448096,427.32175665765,429.2294430713,436.04260883433,442.96392008567,450.69091522486,457.84473927605,465.11211608996,470.92601754108,480.73697623985,488.36772189445,490.54793493862,498.33441009638,508.71637697339,515.07533168556,523.2511306012],description:"126/125, 1029/1024 and 5120/5103. Manuel Op de Coul, 2001"},pipedum_46a:{frequencies:[261.6255653006,267.07609791103,269.10058145205,274.70684356563,279.06726965397,280.31310567921,286.15296204753,290.69507255622,294.32876096318,299.00064605783,305.22982618403,307.54352165948,313.95067836072,320.35783506196,320.49131749323,327.03195662575,332.22294006425,336.37572681506,343.38355445704,348.83408706747,353.19451315581,358.80077526939,366.12324007081,366.27579142084,373.75080757229,381.53728273004,387.59343007496,392.4383479509,398.6675280771,406.97310157871,412.06026534844,418.60090448096,427.14378008261,427.32175665765,436.04260883433,445.12682985172,448.50096908674,457.84473927605,465.11211608996,470.92601754108,478.40103369253,488.36772189445,490.54793493862,498.33441009638,508.71637697339,512.57253609913,523.2511306012],description:"126/125, 1029/1024 and 245/243, Gene Ward Smith, 2002"},pipedum_46b:{frequencies:[261.6255653006,264.89588486686,271.25338610366,272.52663052146,279.06726965397,282.55561052465,283.88190679319,290.69507255622,294.32876096318,301.39265122629,302.80736724606,310.07474405997,313.95067836072,317.87506184023,322.99452506247,327.03195662575,334.88072358477,339.06673262958,340.65828815182,348.83408706747,353.19451315581,361.67118147155,363.36884069528,372.08969287196,376.74081403286,381.45007420827,387.59343007496,392.4383479509,401.85686830172,403.74315632809,408.78994578219,418.60090448096,423.83341578697,430.65936674996,436.04260883433,441.49314144476,452.08897683944,454.2110508691,465.11211608996,470.92601754108,482.22824196207,484.4917875937,490.54793493862,502.32108537715,508.60009894437,516.79124009995,523.2511306012],description:"2048/2025 and 78732/78125"},pipedum_46c:{frequencies:[261.6255653006,266.47048317654,271.31540105247,274.08392555301,279.06726965397,282.62020942966,287.78812183066,290.69507255622,297.67175429757,299.7792935736,306.97399661937,310.07474405997,313.95067836072,319.76457981184,325.57848126297,328.90071066361,332.22294006425,339.14425131559,342.60490694126,348.83408706747,355.29397756872,359.73515228832,363.36884069528,372.08969287196,374.72411696701,383.71749577421,387.59343007496,394.68085279633,399.70572476481,406.97310157871,411.12588832951,418.60090448096,426.35277308246,431.68218274599,436.04260883433,446.50763144636,449.66894036041,460.46099492906,465.11211608996,467.18850946536,479.64686971777,484.4917875937,496.11959049595,499.63215595601,511.62332769895,516.79124009995,523.2511306012],description:"126/125, 176/175, 385/384 and 896/891, Paul Erlich"},pipedum_46d:{frequencies:[261.6255653006,267.23182741418,272.79915715198,274.70684356563,278.36648688978,283.42769574232,287.78812183066,291.52562990638,297.59908052943,299.7792935736,303.67253115248,311.77046531655,313.95067836072,320.67819289702,324.7609013714,327.03195662575,334.03978426773,340.11323489078,343.04051394309,345.34574619679,354.2846196779,359.73515228832,366.27579142084,374.12455837986,376.74081403286,381.53728273004,389.71308164569,392.4383479509,402.90337056292,408.13588186894,411.12588832951,419.69101100305,425.14154361347,431.68218274599,439.53094970501,445.38637902364,448.50096908674,457.84473927605,467.65569797482,470.92601754108,479.64686971777,485.87604984397,490.54793493862,503.62921320365,510.16985233617,519.61744219425,523.2511306012],description:"91/90, 121/120, 126/125, 169/168 and 176/175"},pipedum_5:{frequencies:[261.6255653006,313.95067836072,348.83408706747,392.4383479509,436.04260883433,523.2511306012],description:"16/15 and 27/25"},pipedum_50:{frequencies:[261.6255653006,267.07609791103,269.10058145205,273.37201925287,274.70684356563,276.85245005354,284.76252005507,286.15296204753,290.69507255622,299.00064605783,300.46061014991,305.22982618403,307.54352165948,313.95067836072,316.40280006119,320.49131749323,327.03195662575,332.22294006425,333.84512238879,341.71502406609,343.38355445704,348.83408706747,358.80077526939,360.55273217989,361.60320006994,366.27579142084,373.75080757229,379.68336007343,381.53728273004,392.4383479509,398.6675280771,400.61414686654,410.05802887931,412.06026534844,418.60090448096,423.93031414449,427.14378008261,436.04260883433,445.12682985172,448.50096908674,455.62003208812,457.84473927605,470.92601754108,478.40103369253,480.73697623985,484.4917875937,498.33441009638,500.76768358318,508.71637697339,512.57253609913,523.2511306012],description:"81/80, 126/125 and 16807/16384, Gene Ward Smith, 2002"},pipedum_53:{frequencies:[261.6255653006,264.89588486686,269.16210421872,272.52663052146,275.93321340298,279.06726965397,282.55561052465,287.4304306281,290.69507255622,294.32876096318,298.00787047521,302.80736724606,306.59245933664,310.07474405997,313.95067836072,317.87506184023,322.99452506247,327.03195662575,331.11985608357,334.88072358477,340.65828815182,344.91651675372,348.83408706747,353.19451315581,357.20610515709,363.36884069528,367.91095120397,372.08969287196,376.74081403286,383.2405741708,387.59343007496,392.4383479509,397.34382730029,403.74315632809,408.78994578219,413.89982010446,418.60090448096,423.83341578697,430.65936674996,436.04260883433,441.49314144476,446.50763144636,454.2110508691,459.88868900496,465.11211608996,470.92601754108,476.81259276034,484.4917875937,490.54793493862,496.67978412536,502.32108537715,510.98743222773,516.79124009995,523.2511306012],description:"15625/15552 and 32805/32768, Manuel Op de Coul, 2001"},pipedum_53a:{frequencies:[261.6255653006,266.96486255163,269.10058145205,272.52663052146,276.85245005354,280.31310567921,282.55561052465,288.32205155576,290.69507255622,294.32876096318,299.00064605783,302.80736724606,305.22982618403,311.45900631024,313.95067836072,320.35783506196,322.99452506247,327.03195662575,332.22294006425,336.37572681506,339.14425131559,346.06556256693,348.83408706747,353.19451315581,358.80077526939,363.36884069528,366.27579142084,373.75080757229,376.74081403286,384.42940207435,387.59343007496,392.4383479509,398.6675280771,403.65087217807,406.97310157871,415.27867508032,418.60090448096,423.83341578697,430.56093032327,436.04260883433,441.49314144476,448.50096908674,454.2110508691,457.84473927605,467.18850946536,470.92601754108,480.53675259294,484.4917875937,490.54793493862,498.33441009638,504.56359022259,508.71637697339,519.0983438504,523.2511306012],description:"225/224, 1728/1715 and 4375/4374, Manuel Op de Coul, 2001"},pipedum_53b:{frequencies:[261.6255653006,266.96486255163,269.10058145205,272.52663052146,274.70684356563,280.31310567921,286.03378130532,288.32205155576,290.69507255622,293.02063313667,299.00064605783,301.39265122629,305.22982618403,311.45900631024,313.95067836072,320.35783506196,322.92069774245,327.03195662575,333.70607818954,336.37572681506,341.85740532612,343.24053756638,348.83408706747,351.62475976401,358.80077526939,363.36884069528,366.27579142084,373.75080757229,376.74081403286,384.42940207435,389.3237578878,392.4383479509,400.44729382745,403.65087217807,406.97310157871,410.22888639134,418.60090448096,427.14378008261,430.56093032327,436.04260883433,439.53094970501,448.50096908674,457.65405008851,457.84473927605,467.18850946536,470.92601754108,478.60036745656,480.53675259294,488.36772189445,498.33441009638,502.32108537715,512.57253609913,512.78610798918,523.2511306012],description:"225/224, 1728/1715 and 3125/3087, Gene Ward Smith, 2002"},pipedum_55:{frequencies:[261.6255653006,267.07609791103,269.10058145205,272.52663052146,274.70684356563,279.06726965397,280.31310567921,286.15296204753,293.02063313667,294.32876096318,296.75121990114,299.00064605783,305.22982618403,306.59245933664,313.95067836072,317.94773560837,320.49131749323,325.57848126297,327.03195662575,333.84512238879,336.37572681506,340.65828815182,343.38355445704,348.83408706747,356.10146388137,358.80077526939,366.27579142084,367.91095120397,373.75080757229,376.74081403286,381.53728273004,390.69417751556,392.4383479509,400.61414686654,403.65087217807,406.97310157871,408.78994578219,418.60090448096,427.32175665765,429.2294430713,436.04260883433,439.53094970501,445.12682985172,448.50096908674,457.84473927605,459.88868900496,470.92601754108,474.80195184183,476.92160341255,488.36772189445,490.54793493862,502.32108537715,504.56359022259,508.71637697339,520.92557002075,523.2511306012],description:"81/80, 686/675 and 6144/6125, Gene Ward Smith, 2002"},pipedum_58:{frequencies:[261.6255653006,264.29521392612,268.60224704195,271.31540105247,275.62199471997,277.50997462242,280.31310567921,284.8811711051,287.78812183066,292.35618725654,295.30928005711,297.33211566688,302.17752792219,305.22982618403,310.07474405997,313.23877206058,315.35224388912,320.49131749323,323.76163705949,328.90071066361,332.22294006425,337.63694353197,339.94971891247,343.38355445704,348.83408706747,352.39361856816,358.13632938927,361.75386806997,364.23184169193,370.01329949656,373.75080757229,379.84156147346,383.71749577421,389.80824967539,392.4383479509,396.44282088917,402.90337056292,406.97310157871,413.43299207996,417.65169608078,420.46965851882,427.32175665765,431.68218274599,438.53428088482,442.96392008567,445.99817350032,453.26629188329,457.84473927605,465.11211608996,469.85815809087,477.51510585235,480.73697623985,485.64245558924,493.35106599542,498.33441009638,506.45541529795,511.62332769895,515.07533168556,523.2511306012],description:"9801/9800, 2401/2400, 5120/5103 and 896/891"},pipedum_58a:{frequencies:[261.6255653006,265.65057399753,267.66008354786,270.48058443385,272.52663052146,277.4816601673,281.75060878526,285.40970760065,287.78812183066,293.02063313667,295.1673044417,297.30177875068,301.87565226992,305.22982618403,309.92566966379,313.95067836072,316.2506833304,322.00069575458,323.72860352852,327.03195662575,332.97799220076,338.10073054231,342.60490694126,344.24801655217,348.83408706747,352.18826098158,358.59168390851,362.25078272391,366.27579142084,368.95913055213,375.66747838035,379.50081999647,381.53728273004,388.47432423422,392.4383479509,399.57359064092,402.50086969323,406.97310157871,411.12588832951,418.60090448096,422.62591317789,428.25613367658,430.31002069022,436.04260883433,442.75095666255,450.80097405642,455.40098399577,457.84473927605,466.16918908107,469.58434797544,475.68284600109,483.00104363188,488.36772189445,495.88107146206,499.46698830115,503.12608711654,512.27383415502,516.54278277298,523.2511306012],description:"126/125, 144/143, 176/175, 196/195 and 364/363"},pipedum_5a:{frequencies:[261.6255653006,290.69507255622,348.83408706747,392.4383479509,470.92601754108,523.2511306012],description:"27/25 and 81/80"},pipedum_64:{frequencies:[261.6255653006,267.90457886781,266.96486255163,273.37201925287,274.70684356563,273.74326726486,280.31310567921,280.42990280658,284.76252005507,286.15296204753,294.32876096318,300.05312833195,299.00064605783,300.46061014991,307.67166479351,306.59245933664,313.95067836072,312.84944830269,320.35783506196,320.49131749323,328.18310911307,327.03195662575,336.37572681506,336.5158833679,341.71502406609,343.38355445704,351.62475976401,348.83408706747,358.80077526939,358.95027559242,366.12324007081,366.27579142084,375.06641041494,373.75080757229,382.72082695402,384.58958099188,383.2405741708,392.4383479509,392.60186392921,398.6675280771,400.61414686654,412.06026534844,408.78994578219,418.60090448096,428.6473261885,427.14378008261,429.2294430713,439.53094970501,437.98922762377,448.50096908674,448.68784449053,455.62003208812,457.84473927605,468.83301301868,467.18850946536,478.40103369253,480.73697623985,488.16432009441,490.54793493862,502.32108537715,500.55911728431,512.57253609913,512.78610798918,520.70860810071,523.2511306012],description:"225/224 235298/234375 and 67108864/66706983"},pipedum_65:{frequencies:[261.6255653006,264.59711493117,267.38234771992,270.72462706642,273.0589090967,275.93321340298,279.06726965397,282.00481986086,285.20783756792,287.99181818792,291.26283636981,294.32876096318,297.67175429757,300.80514118491,303.39878788522,306.84479880935,310.42486507835,313.95067836072,317.25542234346,320.85881726391,323.62537374423,327.30111872997,331.11985608357,334.60532825287,338.40578383303,341.32363637087,345.20039866051,348.83408706747,352.79615324157,356.9123501364,360.9661694219,364.07854546226,367.91095120397,372.08969287196,376.00642648114,380.70650681216,383.98909091723,388.35044849308,392.4383479509,396.89567239676,401.07352157989,404.53171718029,409.58836364504,413.89982010446,418.60090448096,423.00722979129,427.81175635188,431.50049832564,436.89425455471,441.49314144476,446.50763144636,451.20771177737,455.09818182783,460.26719821402,465.11211608996,470.92601754108,475.8831335152,481.28822589586,485.43806061635,490.95167809495,496.11959049595,501.90799237931,507.60867574954,511.9854545563,517.80059799077,523.2511306012],description:"1216/1215, 32805/32768 and 39858075/39845888. Manuel Op de Coul, 2001"},pipedum_65a:{frequencies:[261.6255653006,264.89588486686,267.90457886781,269.16210421872,272.52663052146,275.93321340298,279.06726965397,282.55561052465,286.08755565621,287.10624449997,290.69507255622,294.32876096318,298.00787047521,301.39265122629,302.80736724606,306.59245933664,310.07474405997,313.95067836072,317.87506184023,319.0069383333,322.99452506247,327.03195662575,331.11985608357,334.88072358477,339.06673262958,340.65828815182,344.52749339997,348.83408706747,353.19451315581,357.60944457026,358.88280562497,363.36884069528,367.91095120397,372.08969287196,376.74081403286,381.45007420827,383.2405741708,387.59343007496,392.4383479509,397.34382730029,401.85686830172,403.74315632809,408.78994578219,413.43299207996,418.60090448096,423.83341578697,429.13133348431,430.65936674996,436.04260883433,441.49314144476,446.50763144636,452.08897683944,454.2110508691,459.88868900496,465.11211608996,470.92601754108,476.81259276034,478.51040749995,484.4917875937,490.54793493862,496.67978412536,502.32108537715,508.60009894437,510.98743222773,516.79124009995,523.2511306012],description:"78732/78125 and 32805/32768"},pipedum_67:{frequencies:[261.6255653006,262.79353657426,266.96486255163,267.07609791103,272.52663052146,274.70684356563,279.06726965397,280.31310567921,284.8811711051,286.15296204753,293.02063313667,294.32876096318,299.00064605783,299.12522966035,300.33547037059,305.22982618403,306.59245933664,311.45900631024,313.95067836072,320.35783506196,320.49131749323,325.57848126297,327.03195662575,332.22294006425,336.5158833679,339.00300006557,341.85740532612,343.38355445704,348.83408706747,350.39138209902,355.95315006884,360.55273217989,366.27579142084,367.91095120397,373.75080757229,373.90653707544,381.53728273004,384.58958099188,390.69417751556,392.4383479509,398.83363954714,400.44729382745,400.61414686654,406.97310157871,408.78994578219,418.60090448096,420.46965851882,427.32175665765,429.2294430713,436.04260883433,439.53094970501,448.50096908674,448.68784449053,455.80987376816,457.84473927605,459.88868900496,465.11211608996,467.18850946536,474.60420009179,480.73697623985,488.36772189445,490.54793493862,498.33441009638,504.77382505185,512.78610798918,515.07533168556,520.92557002075,523.2511306012],description:"81/80, 1029/1024 and 9604/9375, Gene Ward Smith, 2002"},pipedum_68:{frequencies:[246.94165062806,250.86135936819,252.08626834948,253.99712636029,258.02882677871,259.28873315946,263.4044273366,264.58033995864,268.89201957278,272.13977824317,273.16014686758,276.57464870343,277.80935695657,282.21902928921,286.81815421096,288.0985923994,291.6998248044,292.67158592955,296.32998075367,301.03363124183,302.50352201937,307.30516522603,308.67706328508,311.01688942076,316.08531280392,317.49640795036,322.53603347338,324.11091644933,329.25553417075,333.37122834788,334.48181249092,338.66283514705,340.17472280396,345.71831087928,351.20590311546,352.77378661151,357.18345894416,358.5226927637,362.85303765756,368.76619827124,370.41247594209,376.29203905228,378.12940252422,384.13145653254,387.04324016806,388.93309973919,395.1066410049,396.87050993795,403.33802935916,409.74022030137,411.56941771343,414.86197305514,416.71403543485,423.32854393382,430.22723131644,432.1478885991,439.00737889433,441.15096961159,444.49497113051,451.55044686274,453.56629707195,460.95774783905,468.27453748728,470.36504881535,474.12796920588,476.24461192554,483.80405021008,491.68826436165,493.88330125612],description:"245/243, 2048/2025 and 2401/2400, Gene Ward Smith, 2002"},pipedum_7:{frequencies:[261.6255653006,290.69507255622,317.94773560837,347.75533582165,392.4383479509,429.2294430713,476.92160341255,523.2511306012],description:"81/80, 64/63 and 6144/6125, Manuel Op de Coul"},pipedum_72:{frequencies:[195.99771799087,198.44768946576,200.08100378235,201.59765279061,204.16428957382,205.79760389041,208.41771227328,209.06423252359,211.67753543014,214.37250405251,216.08748408493,217.77524221208,220.49743273973,222.31222642483,223.99739198957,226.79735938944,228.66400432268,231.52230437672,232.29359169288,235.19726158904,238.19167116946,240.09720453882,241.91718334873,244.99714748859,246.9571246685,250.10125472793,251.99706598826,254.07111591409,257.24700486302,258.04499557198,261.33029065449,264.59691928767,266.7746717098,268.79687038748,272.2190527651,274.39680518722,277.89028303104,279.99673998696,282.23671390685,285.83000540335,289.40288047089,290.3669896161,293.99657698631,296.41630189977,300.12150567352,302.39647918591,304.88533909691,308.69640583562,311.1074888744,313.59634878539,317.58889489261,321.55875607877,322.55624446497,326.66286331812,329.27616622466,333.46833963724,335.99608798435,338.76148788545,342.99600648402,347.28345656507,348.44038753932,352.79589238357,357.28750675419,360.14580680822,362.95873702013,365.86240691629,370.43568700274,373.32898664928,376.31561854247,381.10667387114,385.87050729453,387.1559861548,391.99543598174],description:"225/224, 1029/1024 and 4375/4374, Gene Ward Smith, 2002"},pipedum_72a:{frequencies:[195.99771799087,197.5656997348,200.08100378235,201.59765279061,203.21043401293,205.79760389041,207.44398472154,209.99755499022,211.67753543014,213.41973736784,216.04686727389,217.77524221208,219.51744414977,222.31222642483,223.99739198957,226.84921063758,228.66400432268,230.49331635726,233.3306166558,235.19726158904,237.07883968176,240.09720453882,241.91718334873,244.99714748859,246.9571246685,248.93278166584,251.99706598826,254.07111591409,256.1036848414,259.25624072866,261.33029065449,264.65741241051,266.7746717098,268.79687038748,272.2190527651,274.39680518722,276.59197962872,279.99673998696,282.23671390685,285.83000540335,288.11664544658,290.30062001848,293.99657698631,296.3485496022,298.59492344758,302.46561418344,304.88533909691,308.7669811456,311.1074888744,313.59634878539,317.58889489261,320.12960605175,322.55624446497,326.66286331812,329.27616622466,333.46833963724,335.99608798435,338.68405668822,342.99600648402,345.73997453589,348.36074402217,352.79589238357,355.69956227973,360.07811212314,362.95873702013,365.86240691629,370.52037737472,373.32898664928,376.31561854247,381.10667387114,384.15552726211,388.884361093,391.99543598174],description:"4375/4374, 2401/2400 and 15625/15552, Manuel Op de Coul, 2002"},pipedum_72b:{frequencies:[195.99771799087,197.5656997348,200.51849868858,202.12264667808,204.16428957382,205.79760389041,207.94510975112,209.60867062912,211.67753543014,213.41973736784,215.59748978996,218.74745311481,220.49743273973,222.7983318762,224.58071853121,226.79735938944,228.66400432268,230.99731048924,232.89852292125,235.19726158904,238.19167116946,240.62219842629,242.5471760137,244.99714748859,246.9571246685,249.53413170134,251.53040475495,254.07111591409,256.1036848414,259.87197430039,262.49694373777,264.59691928767,267.35799825143,269.49686223745,272.2190527651,274.39680518722,277.19677258709,279.4782275055,283.49669923679,285.83000540335,288.74663811155,291.12315365156,293.99657698631,296.3485496022,299.44095804161,301.83648570594,304.88533909691,309.37139797666,311.91766462667,314.99633248533,317.51630314521,320.82959790172,323.39623468494,326.66286331812,329.27616622466,332.71217560179,336.87107779681,340.19603908415,342.99600648402,346.49596573386,349.34778438187,352.79589238357,355.69956227973,359.32914964993,362.08404605941,367.49572123288,371.24567757199,374.30119755201,377.99559898239,381.10667387114,384.99551748207,388.16420486875,391.99543598174],description:"225/224, 3025/3024, 1375/1372 and 4375/4374"},pipedum_72b2:{frequencies:[195.99771799087,198.44768946576,200.45221158157,202.12264667808,204.16428957382,205.79760389041,207.87636756607,209.06423252359,211.67753543014,213.81569235368,215.59748978996,217.77524221208,220.49743273973,222.72467953508,223.99739198957,226.79735938944,228.66400432268,230.99731048924,233.3306166558,235.19726158904,237.57299150408,239.55276643329,241.97249134675,244.99714748859,246.39713118852,249.45164107929,251.99706598826,254.07111591409,257.24700486302,258.71698774795,261.33029065449,264.59691928767,267.2696154421,269.49686223745,272.2190527651,274.39680518722,277.19677258709,279.99673998696,282.23671390685,285.0875898049,287.46331971994,290.3669896161,293.99657698631,296.96623938011,298.66318931942,302.39647918591,304.88533909691,307.99641398565,311.81455134911,313.59634878539,317.51630314521,320.72353853051,323.39623468494,326.66286331812,329.27616622466,332.60218810572,335.99608798435,338.76148788545,342.99600648402,344.95598366393,348.44038753932,352.79589238357,356.35948725613,359.32914964993,362.95873702013,367.49572123288,369.59569678278,374.17746161893,376.31561854247,380.11678640654,383.28442629326,387.1559861548,391.99543598174],description:"Optimised version of pipedum_72b, Manuel Op de Coul"},pipedum_72c:{frequencies:[195.99771799087,197.5656997348,199.99767141926,201.59765279061,203.25689273127,205.79760389041,207.40499258293,209.99755499022,211.67753543014,213.41973736784,215.9974851328,217.77524221208,219.51744414977,222.31222642483,223.99739198957,226.79735938944,228.66400432268,230.49331635726,233.3306166558,235.19726158904,237.13304151982,239.99720570311,241.91718334873,244.99714748859,246.9571246685,248.88599109952,251.99706598826,254.07111591409,256.1036848414,259.19698215935,261.33029065449,264.59691928767,266.7746717098,268.79687038748,272.2190527651,274.39680518722,276.47678096998,279.99673998696,282.23671390685,285.83000540335,287.99664684373,290.3669896161,293.99657698631,296.41630189977,298.66318931942,302.39647918591,304.88533909691,308.69640583562,311.1074888744,313.59634878539,317.58889489261,320.12960605175,322.55624446497,326.66286331812,329.27616622466,333.32945236543,335.99608798435,338.76148788545,342.99600648402,345.59597621247,348.44038753932,352.79589238357,355.69956227973,359.99580855466,362.95873702013,365.86240691629,370.43568700274,373.32898664928,376.31561854247,381.10667387114,384.15552726211,388.884361093,391.99543598174],description:"441/440, 2401/2400, 4375/4374 and 1375/1372"},pipedum_74:{frequencies:[174.6141157165,175.4667237034,177.38576834692,178.25190979393,182.45393315683,183.34482150233,186.25505676427,187.16450528362,187.6669026756,191.57662981467,192.51206257744,194.01568412944,194.96302633711,195.48635695375,199.55898939029,200.53339851817,202.72659239648,203.71646833592,208.51878075067,209.5369388598,210.56006844408,212.8629220163,213.90229175271,216.62558481901,218.9447197882,220.01378580279,221.73221043365,222.81488724241,228.06741644604,229.18102687791,231.68753416741,232.81882095533,233.95563160453,239.47078726834,240.6400782218,243.27191087578,244.4597620031,249.5526737115,250.2225369008,251.44432663176,253.4082404956,254.6455854199,259.95070178281,260.64847593833,261.92117357475,266.07865252038,267.37786469089,273.68089973525,275.01723225349,278.02504100089,279.3825851464,280.74675792544,285.20305567028,287.36494472201,291.02352619417,291.92629305093,292.44453950566,297.08651632321,299.33848408543,304.08988859472,305.57470250388,310.42509460711,311.94084213937,312.778171126,319.29438302446,320.85343762907,325.94634933747,328.4170796823,333.63004920107,334.22233086361,335.25910217568,339.52744722653,342.10112466906,347.53130125111,349.228231433],description:"81/80, 126/125 and 4194304/4117715, Gene Ward Smith, 2002"},pipedum_81:{frequencies:[116.54094037952,117.10998793997,118.96887663743,119.87068153322,121.77339076391,122.3679873985,122.96548733697,124.86529326377,124.9173204693,126.84728204574,127.4666535401,128.08904930934,130.12220882219,130.47149010419,131.10855792696,133.18964614802,133.83998621711,135.96443044277,136.62831926329,136.99506460939,139.16958944446,139.84912845542,140.53198552796,142.70319230145,142.76265196491,144.96832233798,145.6761754744,146.38748492496,148.71109579678,149.83835191653,152.21673845488,152.95998424812,153.70685917121,155.38792050603,156.14665058662,156.56578812502,159.82757537763,160.60798346053,163.08936263023,163.15731653133,163.95398311595,166.48705768503,167.29998277138,169.12970939431,169.95553805347,170.78539907912,173.96198680558,174.81141056928,175.66498190995,177.58619486403,178.45331495614,182.66008614586,183.55198109774,184.08675852442,184.44823100545,186.46550460723,187.37598070395,190.2709230686,191.19998031015,193.29109645065,194.23490063253,195.18331323328,199.78446922203,200.75997932566,202.95565127318,203.94664566416,204.94247889494,208.7543841667,209.77369268314,210.79797829194,213.10343383684,214.14397794737,217.45248350698,218.5142632116,218.60531082127,221.98274358004,223.06664369518,227.71386543882,228.32510768232,229.43997637218,231.94931574077,233.08188075904],description:"81/80, 126/125 and 17294403/16777216, Gene Ward Smith, 2002"},pipedum_87:{frequencies:[82.40688922822,83.34286871081,83.43697534357,84.3846545697,84.87648045204,85.84050961273,86.81548824043,86.91351598289,87.90068184343,87.99993493267,88.99944036648,90.43280025045,90.53491248218,91.56321025358,92.60318745646,92.70775038175,93.76072729966,93.86659726152,95.37834401414,96.46165360048,96.57057331432,97.66742427048,97.77770548075,98.88826707386,100.01144245297,100.59434720242,101.73690028175,101.85177654245,103.00861153527,104.17858588852,104.29621917947,105.48081821212,105.59992191921,107.30063701591,108.51936030054,108.64189497861,109.87585230429,111.12382494775,111.2493004581,112.5128727596,113.16864060272,114.45401281697,115.75398432057,115.88468797718,117.20090912458,117.3332465769,118.66592048864,120.5770670006,120.7132166429,122.0842803381,122.22213185094,123.61033384233,125.01430306622,125.15546301536,127.17112535219,128.61553813397,128.76076441909,130.22323236064,130.37027397433,131.85102276515,133.3485899373,133.49916054972,135.64920037567,135.80236872326,137.34481538037,138.90478118469,139.06162557262,140.6410909495,140.79989589228,143.06751602122,144.69248040072,144.85585997148,146.50113640572,146.66655822112,148.3324006108,150.01716367946,150.89152080363,152.60535042263,154.33864576076,154.51291730291,156.26787883277,156.4443287692,158.22122731818,160.76942266746,160.95095552387,162.7790404508,162.96284246792,164.81377845644],description:"67108864/66430125 and 15625/15552, Op de Coul"},pipedum_9:{frequencies:[261.6255653006,280.31310567921,305.22982618403,327.03195662575,348.83408706747,392.4383479509,420.46965851882,448.50096908674,490.54793493862,523.2511306012],description:"225/224, 49/48 and 36/35 are homophonic intervals"},pipedum_99:{frequencies:[41.20344461411,41.53307217102,41.72802550619,42.06184971024,42.3806858888,42.72949811834,42.92025480636,43.26361684482,43.60972577957,43.95034092172,44.14654780083,44.49972018324,44.86597302425,45.06626754668,45.407877738,45.78160512679,46.1478579678,46.35387519087,46.73538856693,47.08965098755,47.46636819545,47.68917200707,48.07068538313,48.45525086619,48.65129757643,49.0517197787,49.44413353693,49.83968660523,50.07363060743,50.47421965228,50.85682306656,51.275397742,51.50430576764,51.91634021378,52.34363519496,52.55541404861,52.975857361,53.41187264792,53.8391676291,54.07952105602,54.50191086522,54.93792615215,55.37742956136,55.62465022905,56.08246628032,56.50758118507,56.7598471725,57.22700640849,57.68482245975,58.14630103943,58.41923570866,58.86206373444,59.33296024432,59.82129736567,60.08835672891,60.56906358274,61.04214016905,61.31464972338,61.80516692116,62.29960825653,62.81236223395,63.06649685833,63.5710288332,64.0942471775,64.60700115492,64.89542526722,65.40229303827,65.92551138258,66.21982170125,66.7648408099,67.29895953638,67.80909742208,68.12738858153,68.67240769018,69.2217869517,69.77556124732,70.1030828504,70.63447648133,71.19955229318,71.53375801061,72.10602807469,72.68287629929,73.25056820286,73.57757966805,74.1662003054,74.77662170709,75.37483468075,75.67979623,76.30267521131,76.91309661301,77.25645865146,77.87451032067,78.48275164592,79.11061365909,79.4637860415,80.11780897188,80.75875144366,81.37091690649,81.75286629784,82.40688922822],description:"2401/2400, 3136/3125 and 4375/4374, Gene Ward Smith, 2002"},pipedum_9a:{frequencies:[261.6255653006,282.62020942966,305.22982618403,329.72357766794,356.10146388137,384.67750727926,415.4517078616,448.79042515914,484.69365917187,523.2511306012],description:"4375/4374, 2401/2400 and 21/20 are homophonic intervals"},pipedum_9b:{frequencies:[261.6255653006,279.06726965397,306.59245933664,327.03195662575,357.20610515709,383.2405741708,418.60090448096,446.50763144636,490.54793493862,523.2511306012],description:"128/125 and 2109375/2097152 are homophonic intervals"},pipedum_9c:{frequencies:[261.6255653006,285.40970760065,305.22982618403,332.97799220076,348.83408706747,392.4383479509,411.12588832951,448.50096908674,479.64686971777,523.2511306012],description:"49/48, 21/20, 99/98 and 121/120, Gene Ward Smith, 2002"},pipedum_9d:{frequencies:[261.6255653006,277.4816601673,308.34441624714,327.03195662575,346.85207520913,394.68085279633,418.60090448096,443.97065626768,493.35106599542,523.2511306012],description:"128/125, 36/35, 99/98 and 121/120, Gene Ward Smith, 2002"},pipedum_9e:{frequencies:[261.6255653006,272.52663052146,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,502.32108537715,523.2511306012],description:"21/20, 27/25 and 128/125"},polansky_ps:{frequencies:[261.6255653006,523.2511306012,784.8766959018,1046.5022612024,1308.127826503,1569.7533918036,1831.3789571042,2093.0045224048,2354.6300877054,2616.255653006,2877.8812183066,3139.5067836072,3401.1323489078,3662.7579142084,3924.383479509,4186.0090448096,4447.6346101102,327.03195662575,654.0639132515,981.09586987725,1308.127826503,1635.15978312875,1962.1917397545,2289.22369638025,2616.255653006,2943.28760963175,3270.3195662575,3597.35152288325,3924.383479509,4251.41543613475,4578.4473927605,4905.47934938625,5232.511306012,5559.54326263775,392.4383479509,784.8766959018,1177.3150438527,1569.7533918036,1962.1917397545,2354.6300877054,2747.0684356563,3139.5067836072,3531.9451315581,3924.383479509,4316.8218274599,4709.2601754108,5101.6985233617,5494.1368713126,5886.5752192635,6279.0135672144,6671.4519151653],description:"Three interlocking harmonic series on 1:5:3 by Larry Polansky in Psaltery"},poole:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"Poole's double diatonic or dichordal scale"},porcupine:{frequencies:[261.6255653006,268.5059110196,275.56719913678,277.81869773502,285.12489766782,287.45448663717,295.01409284105,302.77250493809,305.24628043356,313.27378316024,315.83336022842,324.13928669805,332.66364612382,335.38164643474,344.20166244741,347.01393314922,356.13986022226,365.50578499276,368.49211923405,378.18288921726,381.27279846892,391.29968045081,401.5902538439,404.87141319969,415.51890206933,418.91386427268,429.93064777916,441.23715556831,444.84224659643,456.54090625717,460.27103529174,472.37544811397,484.79818817936,488.75918813348,501.6127950959,505.71118020326,519.01059820838,523.2511306012],description:"porcupine temperament, g=162.996, 5-limit"},portbag1:{frequencies:[261.6255653006,281.75060878526,311.64221749042,334.88072358477,376.74081403286,413.43299207996,457.84473927605,523.2511306012],description:"Portugese bagpipe tuning"},portbag2:{frequencies:[261.6255653006,274.70684356563,281.75060878526,310.07474405997,317.68818643644,343.38355445704,372.08969287196,392.4383479509,408.78994578219,482.37213602298,523.2511306012],description:"Portugese bagpipe tuning 2"},prelleur:{frequencies:[261.6255653006,276.42153822591,293.20376052703,310.91918875105,328.72923110101,349.43408698743,368.89538496172,391.53834819612,414.55891854195,438.90564190541,466.17878415199,492.19384741628,523.2511306012],description:"Peter Prelleur's well temperament (1731)"},preston:{frequencies:[261.6255653006,276.24946721727,293.45376109391,311.26733605541,328.91048112005,349.30075403587,368.79929095641,391.73834630677,413.67420227347,439.48064068428,466.20100528964,492.6657196346,523.2511306012],description:"Preston's equal beating temperament (1785)"},preston2:{frequencies:[261.6255653006,276.2302000593,293.37610901672,311.58628319174,328.97985807656,349.39999567988,368.9044325484,391.80273191286,413.67420227347,439.35140993827,466.62242981045,492.67053466508,523.2511306012],description:"Preston's theoretically correct well temperament"},prime_10:{frequencies:[261.6255653006,277.97716313189,310.68035879446,327.03195662575,359.73515228832,376.08675011961,392.4383479509,425.14154361347,457.84473927605,474.19633710734,523.2511306012],description:"First 10 prime numbers reduced by 2/1"},prime_5:{frequencies:[261.6255653006,294.32876096318,327.03195662575,392.4383479509,436.04260883433,523.2511306012],description:'What Lou Harrison calls "the Prime Pentatonic", a widely used scale'},primes6:{frequencies:[261.6255653006,523.2511306012,784.8766959018,1308.127826503,1831.3789571042,2877.8812183066,3401.1323489078],description:"First 6 primes"},prinz:{frequencies:[261.6255653006,275.62199471997,292.50627485027,310.07474405997,327.03195662575,348.83408706747,367.49599295996,391.22147055517,413.43299207996,437.39890198442,465.11211608996,490.54793493862,523.2511306012],description:"Prinz well-tempermament (1808)"},prinz2:{frequencies:[261.6255653006,275.62199471997,291.81313052759,310.07474405997,327.03195662575,348.83408706747,367.49599295996,390.42584360243,413.43299207996,436.71344361716,465.11211608996,490.54793493862,523.2511306012],description:"Prinz equal beating temperament (1808)"},"prod13-2":{frequencies:[261.6255653006,265.71346475842,269.80136421624,286.15296204753,292.28481123426,294.32876096318,314.76825825228,318.85615771011,327.03195662575,343.38355445704,345.42750418595,359.73515228832,371.99885066179,392.4383479509,400.61414686654,408.78994578219,425.14154361347,449.66894036041,457.84473927605,490.54793493862,494.63583439645,523.2511306012],description:"13-limit binary products [1 3 5 7 11 13]"},prod13:{frequencies:[261.6255653006,265.71346475842,269.80136421624,286.15296204753,292.28481123426,294.32876096318,314.76825825228,318.85615771011,327.03195662575,331.11985608357,343.38355445704,345.42750418595,359.73515228832,367.91095120397,371.99885066179,392.4383479509,400.61414686654,404.70204632437,408.78994578219,425.14154361347,441.49314144476,449.66894036041,457.84473927605,478.28423656516,490.54793493862,494.63583439645,515.07533168556,523.2511306012],description:"13-limit binary products [1 3 5 7 9 11 13]"},prod7d:{frequencies:[261.6255653006,265.7783520514,267.90457886781,273.37201925287,279.06726965397,286.15296204753,294.32876096318,299.00064605783,300.46061014991,306.59245933664,310.07474405997,318.93402246168,327.03195662575,334.88072358477,341.71502406609,343.38355445704,348.83408706747,350.53737850823,357.69120255941,367.91095120397,372.08969287196,382.72082695402,390.53145607553,392.4383479509,398.6675280771,400.61414686654,408.78994578219,418.60090448096,429.2294430713,441.49314144476,446.50763144636,455.62003208812,457.84473927605,465.11211608996,478.40103369253,490.54793493862,500.76768358318,510.98743222773,515.07533168556,523.2511306012],description:"Double Cubic Corner 7-limit. Chalmers '96"},prod7s:{frequencies:[261.6255653006,286.15296204753,294.32876096318,300.46061014991,306.59245933664,327.03195662575,343.38355445704,350.53737850823,357.69120255941,367.91095120397,392.4383479509,400.61414686654,408.78994578219,429.2294430713,441.49314144476,457.84473927605,490.54793493862,500.76768358318,510.98743222773,515.07533168556,523.2511306012],description:"Single Cubic Corner 7-limit"},prodq13:{frequencies:[261.6255653006,265.71346475842,269.80136421624,276.76092858245,279.06726965397,286.15296204753,292.28481123426,294.32876096318,299.00064605783,304.4370214407,314.76825825228,318.85615771011,322.00069575458,327.03195662575,334.88072358477,341.71502406609,343.38355445704,345.42750418595,348.83408706747,359.73515228832,368.0007951481,371.99885066179,380.54627680087,392.4383479509,396.30854862103,400.61414686654,408.78994578219,418.60090448096,425.14154361347,429.33426100611,434.91003062957,449.66894036041,457.84473927605,465.11211608996,468.3646483703,478.40103369253,490.54793493862,494.63583439645,507.3950357345,515.20111320734,523.2511306012],description:"13-limit Binary products and quotients. Chalmers '96"},prog_ennea:{frequencies:[261.6255653006,269.29177952703,285.30470202322,311.12698372208,349.22823143301,391.99543598175,403.48177901006,427.47405410759,466.16376151809,523.2511306012],description:"Progressive Enneatonic, 50+100+150+200 cents in each half (500 cents)"},prog_ennea1:{frequencies:[261.6255653006,269.10058145205,285.40970760065,310.68035879446,348.83408706747,392.4383479509,404.33041910093,428.11456140098,465.11211608996,523.2511306012],description:"Progressive Enneatonic, appr. 50+100+150+200 cents in each half (500 cents)"},prog_ennea2:{frequencies:[261.6255653006,269.55361273395,285.40970760065,321.08592105074,348.83408706747,392.4383479509,404.33041910093,428.11456140098,481.6288815761,523.2511306012],description:"Progressive Enneatonic, appr. 50+100+200+150 cents in each half (500 cents)"},prog_ennea3:{frequencies:[261.6255653006,269.55361273395,285.40970760065,310.07474405997,348.83408706747,392.4383479509,404.33041910093,428.11456140098,465.11211608996,523.2511306012],description:"Progressive Enneatonic, appr. 50+100+150+200 cents in each half (500 cents)"},prooijen1:{frequencies:[261.6255653006,339.14425131559,366.27579142084,436.04260883433,470.92601754108,610.45965236807,726.73768139056,784.8766959018],description:"Kees van Prooijen, major mode of Bohlen-Pierce"},prooijen2:{frequencies:[261.6255653006,311.45900631024,336.37572681506,436.04260883433,470.92601754108,560.62621135843,726.73768139056,784.8766959018],description:"Kees van Prooijen, minor mode of Bohlen-Pierce"},"ps-dorian":{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,392.4383479509,490.54793493862,504.56359022259,523.2511306012],description:"Complex 4 of p. 115 based on Archytas's Enharmonic"},"ps-enh":{frequencies:[261.6255653006,266.38239376061,279.06726965397,348.83408706747,392.4383479509,399.57359064092,418.60090448096,523.2511306012],description:"Dorian mode of an Enharmonic genus found in Ptolemy's Harmonics"},"ps-hypod":{frequencies:[261.6255653006,294.32876096318,367.91095120397,378.42269266694,392.4383479509,406.97310157871,418.60090448096,523.2511306012],description:"Complex 7 of p. 115 based on Archytas's Enharmonic"},"ps-hypod2":{frequencies:[261.6255653006,294.32876096318,305.22982618403,313.95067836072,392.4383479509,490.54793493862,504.56359022259,523.2511306012],description:"Complex 8 of p. 115 based on Archytas's Enharmonic"},"ps-mixol":{frequencies:[261.6255653006,271.31540105247,279.06726965397,348.83408706747,436.04260883433,448.50096908674,465.11211608996,523.2511306012],description:"Complex 3 of p. 115 based on Archytas's Enharmonic"},ptolemy:{frequencies:[261.6255653006,294.32876096318,327.03195662575,348.83408706747,392.4383479509,436.04260883433,490.54793493862,523.2511306012],description:"Intense Diatonic Syntonon, also Zarlino's scale"},ptolemy_chrom:{frequencies:[261.6255653006,271.31540105247,290.69507255622,348.83408706747,392.4383479509,406.97310157871,436.04260883433,523.2511306012],description:"Ptolemy Soft Chromatic"},ptolemy_ddiat:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,392.4383479509,413.43299207996,465.11211608996,523.2511306012],description:"Lyra tuning, Dorian mode, comb. of diatonon toniaion & diatonon ditoniaion"},ptolemy_diat:{frequencies:[261.6255653006,290.69507255622,313.95067836072,348.83408706747,392.4383479509,436.04260883433,470.92601754108,523.2511306012],description:"Ptolemy's Diatonon Ditoniaion & Archytas' Diatonic, also Lyra tuning"},ptolemy_diat2:{frequencies:[261.6255653006,271.31540105247,305.22982618403,348.83408706747,392.4383479509,406.97310157871,457.84473927605,523.2511306012],description:"Dorian mode of a permutation of Ptolemy's Tonic Diatonic"},ptolemy_diat3:{frequencies:[261.6255653006,294.32876096318,313.95067836072,348.83408706747,392.4383479509,441.49314144476,470.92601754108,523.2511306012],description:"Dorian mode of the remaining permutation of Ptolemy's Intense Diatonic"},ptolemy_diat4:{frequencies:[261.6255653006,299.00064605783,310.07474405997,348.83408706747,392.4383479509,448.50096908674,465.11211608996,523.2511306012],description:"permuted Ptolemy's diatonic"},ptolemy_diat5:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Sterea lyra, Dorian, comb. of 2 Tonic Diatonic 4chords, also Archytas' diatonic"},ptolemy_diff:{frequencies:[261.6255653006,294.32876096318,327.03195662575,343.38355445704,392.4383479509,425.14154361347,490.54793493862,523.2511306012],description:"Difference tones of Intense Diatonic reduced by 2/1"},ptolemy_enh:{frequencies:[261.6255653006,267.43946675172,279.06726965397,348.83408706747,392.4383479509,401.15920012759,418.60090448096,523.2511306012],description:"Dorian mode of Ptolemy's Enharmonic"},ptolemy_exp:{frequencies:[261.6255653006,272.52663052146,275.93321340298,287.4304306281,290.69507255622,294.32876096318,306.59245933664,327.03195662575,340.65828815182,344.91651675372,348.83408706747,363.36884069528,367.91095120397,383.2405741708,392.4383479509,408.78994578219,413.89982010446,431.14564594215,436.04260883433,441.49314144476,459.88868900496,490.54793493862,510.98743222773,517.37477513058,523.2511306012],description:"Intense Diatonic expanded: all interval combinations"},ptolemy_hom:{frequencies:[261.6255653006,285.40970760065,313.95067836072,348.83408706747,392.4383479509,428.11456140098,470.92601754108,523.2511306012],description:"Dorian mode of Ptolemy's Equable Diatonic or Diatonon Homalon"},ptolemy_iast:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Ptolemy's Iastia or Lydia tuning, mixture of Tonic Diatonic & Intense Diatonic"},ptolemy_iastaiol:{frequencies:[261.6255653006,271.31540105247,310.07474405997,348.83408706747,392.4383479509,441.49314144476,465.11211608996,523.2511306012],description:"Ptolemy's kithara tuning, mixture of Tonic Diatonic and Ditone Diatonic"},ptolemy_ichrom:{frequencies:[261.6255653006,274.08392555301,299.00064605783,348.83408706747,392.4383479509,411.12588832951,448.50096908674,523.2511306012],description:"Dorian mode of Ptolemy's Intense Chromatic"},ptolemy_idiat:{frequencies:[261.6255653006,279.06726965397,313.95067836072,348.83408706747,392.4383479509,418.60090448096,470.92601754108,523.2511306012],description:"Dorian mode of Ptolemy's Intense Diatonic (Diatonon Syntonon)"},ptolemy_imix:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,327.03195662575,348.83408706747,392.4383479509,418.60090448096,436.04260883433,465.11211608996,490.54793493862,523.2511306012],description:"Ptolemy Intense Diatonic mixed with its inverse"},ptolemy_malak:{frequencies:[261.6255653006,274.08392555301,299.00064605783,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Ptolemy's Malaka lyra tuning, a mixture of Intense Chrom. & Tonic Diatonic"},ptolemy_malak2:{frequencies:[261.6255653006,271.31540105247,290.69507255622,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Malaka lyra, mixture of his Soft Chromatic and Tonic Diatonic."},ptolemy_mdiat:{frequencies:[261.6255653006,274.70684356563,305.22982618403,348.83408706747,392.4383479509,412.06026534844,457.84473927605,523.2511306012],description:"Ptolemy soft diatonic"},ptolemy_mdiat2:{frequencies:[261.6255653006,290.69507255622,305.22982618403,348.83408706747,392.4383479509,436.04260883433,457.84473927605,523.2511306012],description:"permuted Ptolemy soft diatonic"},ptolemy_mdiat3:{frequencies:[261.6255653006,299.00064605783,313.95067836072,348.83408706747,392.4383479509,448.50096908674,470.92601754108,523.2511306012],description:"permuted Ptolemy soft diatonic"},ptolemy_meta:{frequencies:[261.6255653006,274.70684356563,305.22982618403,348.83408706747,392.4383479509,406.97310157871,465.11211608996,523.2511306012],description:"Metabolika lyra tuning, mixture of Soft Diatonic & Tonic Diatonic"},ptolemy_mix:{frequencies:[261.6255653006,279.06726965397,290.69507255622,294.32876096318,310.07474405997,313.95067836072,327.03195662575,348.83408706747,353.19451315581,367.91095120397,372.08969287196,387.59343007496,392.4383479509,418.60090448096,436.04260883433,441.49314144476,465.11211608996,470.92601754108,490.54793493862,523.2511306012],description:"All modes of Ptolemy Intense Diatonic mixed"},ptolemy_prod:{frequencies:[261.6255653006,272.52663052146,275.93321340298,279.06726965397,290.69507255622,294.32876096318,313.95067836072,327.03195662575,331.11985608357,348.83408706747,363.36884069528,367.91095120397,372.08969287196,387.59343007496,392.4383479509,418.60090448096,436.04260883433,441.49314144476,465.11211608996,484.4917875937,490.54793493862,523.2511306012],description:"Product of Intense Diatonic with its intervals"},ptolemy_tree:{frequencies:[261.6255653006,294.32876096318,299.00064605783,305.22982618403,313.95067836072,327.03195662575,348.83408706747,392.4383479509,436.04260883433,457.84473927605,470.92601754108,479.64686971777,485.87604984397,490.54793493862,523.2511306012],description:"Intense Diatonic with all their Farey parent fractions"},pygmie:{frequencies:[261.6255653006,299.00064605783,343.38355445704,392.4383479509,457.84473927605,523.2511306012],description:"Pygmie scale"},pyle:{frequencies:[261.6255653006,277.19063644077,293.6461094938,311.15753660095,329.66944764997,349.23831768549,369.99228554622,391.93430587921,415.28070933274,439.96441988338,466.23108306565,493.99742571239,523.2511306012],description:"Howard Willet Pyle quasi equal temperament"},pyramid:{frequencies:[261.6255653006,294.32876096318,306.59245933664,327.03195662575,348.83408706747,367.91095120397,392.4383479509,408.78994578219,436.04260883433,441.49314144476,465.11211608996,490.54793493862,523.2511306012],description:'This scale may also be called the "Wedding Cake"'},pyramid_down:{frequencies:[261.6255653006,279.06726965397,294.32876096318,313.95067836072,334.88072358477,348.83408706747,392.4383479509,418.60090448096,441.49314144476,465.11211608996,470.92601754108,502.32108537715,523.2511306012],description:"Upside-Down Wedding Cake (divorce cake)"},pyth_12:{frequencies:[261.6255653006,279.38237857051,294.32876096318,310.07474405997,331.11985608357,348.83408706747,372.50983809402,392.4383479509,419.07356785577,441.49314144476,465.11211608996,496.67978412536,523.2511306012],description:"12-tone Pythagorean scale"},pyth_12s:{frequencies:[261.6255653006,279.38237857051,294.32876096318,314.30517589183,326.6631048533,348.83408706747,367.49599295996,392.4383479509,419.07356785577,435.55080647107,471.45776383774,489.99465727995,523.2511306012],description:"Scale with major thirds flat by a schisma"},pyth_17:{frequencies:[261.6255653006,275.62199471997,279.38237857051,294.32876096318,310.07474405997,314.30517589183,331.11985608357,348.83408706747,367.49599295996,372.50983809402,392.4383479509,413.43299207996,419.07356785577,441.49314144476,465.11211608996,471.45776383774,496.67978412536,523.2511306012],description:"17-tone Pythagorean scale"},pyth_17s:{frequencies:[261.6255653006,275.62199471997,279.06726965397,294.32876096318,310.07474405997,313.95067836072,331.11985608357,348.83408706747,367.49599295996,372.08969287196,392.4383479509,413.43299207996,418.60090448096,441.49314144476,465.11211608996,470.92601754108,496.67978412536,523.2511306012],description:"Schismatically altered 17-tone Pythagorean scale"},pyth_22:{frequencies:[261.6255653006,275.62199471997,279.38237857051,290.36720431405,294.32876096318,310.07474405997,314.30517589183,326.6631048533,331.11985608357,348.83408706747,353.59332287831,367.49599295996,372.50983809402,392.4383479509,413.43299207996,419.07356785577,435.55080647107,441.49314144476,465.11211608996,471.45776383774,489.99465727995,496.67978412536,523.2511306012],description:"Pythagorean shrutis"},pyth_27:{frequencies:[261.6255653006,265.19499215873,275.62199471997,279.38237857051,290.36720431405,294.32876096318,298.34436617857,310.07474405997,314.30517589183,326.6631048533,331.11985608357,348.83408706747,353.59332287831,367.49599295996,372.50983809402,387.15627241873,392.4383479509,397.79248823809,413.43299207996,419.07356785577,435.55080647107,441.49314144476,447.51654926786,465.11211608996,471.45776383774,489.99465727995,496.67978412536,523.2511306012],description:"27-tone Pythagorean scale"},pyth_31:{frequencies:[261.6255653006,265.19499215873,275.62199471997,279.38237857051,283.19406633357,294.32876096318,298.34436617857,310.07474405997,314.30517589183,318.59332496145,326.6631048533,331.11985608357,335.63741195089,348.83408706747,353.59332287831,367.49599295996,372.50983809402,377.59208844475,392.4383479509,397.79248823809,413.43299207996,419.07356785577,424.79110016094,441.49314144476,447.51654926786,465.11211608996,471.45776383774,477.8899872033,489.99465727995,496.67978412536,503.45611792634,523.2511306012],description:"31-tone Pythagorean scale"},pyth_7a:{frequencies:[261.6255653006,277.97716313189,294.32876096318,312.72430852337,331.11985608357,348.83408706747,370.63621750918,392.4383479509,416.96574469783,441.49314144476,469.08646278506,496.67978412536,523.2511306012],description:"Pythagorean 7-tone with whole tones divided arithmetically"},pyth_7h:{frequencies:[261.6255653006,277.01530443593,294.32876096318,311.64221749042,331.11985608357,348.83408706747,369.35373924791,392.4383479509,415.52295665389,441.49314144476,467.46332623563,496.67978412536,523.2511306012],description:"Pythagorean 7-tone with whole tones divided harmonically"},pyth_chrom:{frequencies:[261.6255653006,275.62199471997,294.32876096318,348.83408706747,392.4383479509,413.43299207996,441.49314144476,465.11211608996,523.2511306012],description:"Dorian mode of the so-called Pythagorean chromatic, recorded by Gaudentius"},pyth_sev:{frequencies:[261.6255653006,268.38018042036,275.30918532257,282.41708286353,291.47537246454,299.00064605783,306.7202061947,314.63906894008,322.76237975718,333.11471138804,341.71502406609,350.53737850823,359.58750736009,368.87129039875,380.70252730062,390.53145607553,400.61414686654,410.95715126868,421.56719060242,435.08860262928,446.32166408632,457.84473927605,469.66531573563,481.7910743145,497.2441172906,510.08190181294,523.2511306012],description:"26-tone Pythagorean scale based on 7/4"},pyth_sev_16:{frequencies:[261.6255653006,268.38018042036,275.30918532257,282.41708286353,306.7202061947,314.63906894008,322.76237975718,350.53737850823,359.58750736009,368.87129039875,400.61414686654,410.95715126868,421.56719060242,457.84473927605,469.66531573563,481.7910743145,523.2511306012],description:'16-tone Pythagorean scale based on 7/4, "Armodue"'},pyth_third:{frequencies:[261.6255653006,267.90457886781,274.33428876064,280.9183116909,287.66035117148,290.46272611903,297.43383186155,304.57224382623,311.88197767806,319.36714514233,327.03195662575,334.88072358477,342.9178609508,351.14788961362,359.57543896435,363.07840893547,371.79228894479,380.71530478279,389.85247209758,399.20893142792,408.78994578219,418.60090448096,428.6473261885,438.93486201703,449.46929870544,453.84801015616,464.74036282794,475.89413097849,487.31559012197,499.0111642849,510.98743222773,523.2511306012],description:"Cycle of 5/4 thirds"}};o.prototype._tune=function(i,n=220){const e=new t;if(!e.isValidScale(i))throw new Error('not a valid tune.js scale name: "'+i+'". See http://abbernie.github.io/tune/scales.html');return e.loadScale(i),e.tonicize(n),this._asNumber()._withHap(r=>r.withValue(()=>e.note(r.value)).setContext(a(c({},r.context),{type:"frequency"})))};o.prototype.define("tune",(i,n)=>n.tune(i),{composable:!0,patternified:!0}); diff --git a/tutorial/assets/index.a539b758.js b/tutorial/assets/index.a539b758.js new file mode 100644 index 000000000..b4aed7c6a --- /dev/null +++ b/tutorial/assets/index.a539b758.js @@ -0,0 +1 @@ +import{W as a,D as b}from"./index.268aabb2.js";export{a as WebMidi,b as enableWebMidi}; diff --git a/tutorial/assets/index.8169e477.js b/tutorial/assets/index.a8f1442d.js similarity index 99% rename from tutorial/assets/index.8169e477.js rename to tutorial/assets/index.a8f1442d.js index 2ccdc6995..1712945e1 100644 --- a/tutorial/assets/index.8169e477.js +++ b/tutorial/assets/index.a8f1442d.js @@ -1 +1 @@ -var Bn=Object.defineProperty,Hn=Object.defineProperties;var Ln=Object.getOwnPropertyDescriptors;var kt=Object.getOwnPropertySymbols;var Un=Object.prototype.hasOwnProperty,Xn=Object.prototype.propertyIsEnumerable;var Rt=(t,n,e)=>n in t?Bn(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,y=(t,n)=>{for(var e in n||(n={}))Un.call(n,e)&&Rt(t,e,n[e]);if(kt)for(var e of kt(n))Xn.call(n,e)&&Rt(t,e,n[e]);return t},g=(t,n)=>Hn(t,Ln(n));import{P as w,w as Kn,x as Qn,y as Y,z as Yn,A as Zn,H as Jn,B as Wn}from"./index.171fdc07.js";const x=(t,n)=>Array(Math.abs(n)+1).join(t);function v(t,n,e){return function(...o){return console.warn(`${t} is deprecated. Use ${n}.`),e.apply(this,o)}}function q(t){return t!==null&&typeof t=="object"&&typeof t.name=="string"}function G(t){return t!==null&&typeof t=="object"&&typeof t.step=="number"&&typeof t.alt=="number"}const Yt=[0,2,4,-1,1,3,5],Zt=Yt.map(t=>Math.floor(t*7/12));function et(t){const{step:n,alt:e,oct:o,dir:r=1}=t,i=Yt[n]+7*e;if(o===void 0)return[r*i];const a=o-Zt[n]-4*e;return[r*i,r*a]}const te=[3,0,4,1,5,2,6];function ot(t){const[n,e,o]=t,r=te[ne(n)],i=Math.floor((n+1)/7);if(e===void 0)return{step:r,alt:i,dir:o};const a=e+4*i+Zt[r];return{step:r,alt:i,oct:a,dir:o}}function ne(t){const n=(t+1)%7;return n<0?7+n:n}const Jt={empty:!0,name:"",pc:"",acc:""},Ot=new Map,vt=t=>"CDEFGAB".charAt(t),k=t=>t<0?x("b",-t):x("#",t),B=t=>t[0]==="b"?-t.length:t.length;function u(t){const n=Ot.get(t);if(n)return n;const e=typeof t=="string"?re(t):G(t)?u(ie(t)):q(t)?u(t.name):Jt;return Ot.set(t,e),e}const ee=/^([a-gA-G]?)(#{1,}|b{1,}|x{1,}|)(-?\d*)\s*(.*)$/;function rt(t){const n=ee.exec(t);return[n[1].toUpperCase(),n[2].replace(/x/g,"##"),n[3],n[4]]}function z(t){return u(ot(t))}const oe=(t,n)=>(t%n+n)%n,ht=[0,2,4,5,7,9,11];function re(t){const n=rt(t);if(n[0]===""||n[3]!=="")return Jt;const e=n[0],o=n[1],r=n[2],i=(e.charCodeAt(0)+3)%7,a=B(o),s=r.length?+r:void 0,c=et({step:i,alt:a,oct:s}),l=e+o+r,m=e+o,d=(ht[i]+a+120)%12,M=s===void 0?oe(ht[i]+a,12)-12*99:ht[i]+a+12*(s+1),b=M>=0&&M<=127?M:null,p=s===void 0?null:Math.pow(2,(M-69)/12)*440;return{empty:!1,acc:o,alt:a,chroma:d,coord:c,freq:p,height:M,letter:e,midi:b,name:l,oct:s,pc:m,step:i}}function ie(t){const{step:n,alt:e,oct:o}=t,r=vt(n);if(!r)return"";const i=r+k(e);return o||o===0?i+o:i}const yt={empty:!0,name:"",acc:""},ae="([-+]?\\d+)(d{1,4}|m|M|P|A{1,4})",se="(AA|A|P|M|m|d|dd)([-+]?\\d+)",ce=new RegExp("^"+ae+"|"+se+"$");function Nt(t){const n=ce.exec(`${t}`);return n===null?["",""]:n[1]?[n[1],n[2]]:[n[4],n[3]]}const Ft={};function f(t){return typeof t=="string"?Ft[t]||(Ft[t]=me(t)):G(t)?f(le(t)):q(t)?f(t.name):yt}const zt=[0,2,4,5,7,9,11],Wt="PMMPPMM";function me(t){const n=Nt(t);if(n[0]==="")return yt;const e=+n[0],o=n[1],r=(Math.abs(e)-1)%7,i=Wt[r];if(i==="M"&&o==="P")return yt;const a=i==="M"?"majorable":"perfectable",s=""+e+o,c=e<0?-1:1,l=e===8||e===-8?e:c*(r+1),m=ue(a,o),d=Math.floor((Math.abs(e)-1)/7),M=c*(zt[r]+m+12*d),b=(c*(zt[r]+m)%12+12)%12,p=et({step:r,alt:m,oct:d,dir:c});return{empty:!1,name:s,num:e,q:o,step:r,alt:m,dir:c,type:a,simple:l,semitones:M,chroma:b,coord:p,oct:d}}function H(t,n){const[e,o=0]=t,r=e*7+o*12<0,i=n||r?[-e,-o,-1]:[e,o,1];return f(ot(i))}function ue(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 le(t){const{step:n,alt:e,oct:o=0,dir:r}=t;if(!r)return"";const i=n+1+7*o,a=i===0?n+1:i,s=r<0?"-":"",c=Wt[n]==="M"?"majorable":"perfectable";return s+a+de(c,e)}function de(t,n){return n===0?t==="majorable"?"M":"P":n===-1&&t==="majorable"?"m":n>0?x("A",n):x("d",t==="perfectable"?n:n+1)}function P(t,n){const e=u(t),o=f(n);if(e.empty||o.empty)return"";const r=e.coord,i=o.coord,a=r.length===1?[r[0]+i[0]]:[r[0]+i[0],r[1]+i[1]];return z(a).name}function R(t,n){const e=u(t),o=u(n);if(e.empty||o.empty)return"";const r=e.coord,i=o.coord,a=i[0]-r[0],s=r.length===2&&i.length===2?i[1]-r[1]:-Math.floor(a*7/12),c=o.height===e.height&&o.midi!==null&&e.midi!==null&&e.step>o.step;return H([a,s],c).name}var tn=Object.freeze(Object.defineProperty({__proto__:null,accToAlt:B,altToAcc:k,coordToInterval:H,coordToNote:z,decode:ot,deprecate:v,distance:R,encode:et,fillStr:x,interval:f,isNamed:q,isPitch:G,note:u,stepToLetter:vt,tokenizeInterval:Nt,tokenizeNote:rt,transpose:P},Symbol.toStringTag,{value:"Module"}));const qt=(t,n)=>Array(n+1).join(t),Me=/^(_{1,}|=|\^{1,}|)([abcdefgABCDEFG])([,']*)$/;function nn(t){const n=Me.exec(t);return n?[n[1],n[2],n[3]]:["","",""]}function W(t){const[n,e,o]=nn(t);if(e==="")return"";let r=4;for(let a=0;a96?e.toUpperCase()+i+(r+1):e+i+r}function en(t){const n=u(t);if(n.empty||!n.oct&&n.oct!==0)return"";const{letter:e,acc:o,oct:r}=n,i=o[0]==="b"?o.replace(/b/g,"_"):o.replace(/#/g,"^"),a=r>4?e.toLowerCase():e,s=r===5?"":r>4?qt("'",r-5):qt(",",4-r);return i+a+s}function fe(t,n){return en(P(W(t),n))}function Pe(t,n){return R(W(t),W(n))}var pe={abcToScientificNotation:W,scientificToAbcNotation:en,tokenize:nn,transpose:fe,distance:Pe};function he(t,n){const e=[];for(;n--;e[n]=n+t);return e}function ye(t,n){const e=[];for(;n--;e[n]=t-n);return e}function ge(t,n){return tn===0||n)}function on(t){return t.map(e=>u(e)).filter(e=>!e.empty).sort((e,o)=>e.height-o.height).map(e=>e.name)}function ve(t){return on(t).filter((n,e,o)=>e===0||n!==o[e-1])}function Ne(t,n=Math.random){let e,o,r=t.length;for(;r;)e=Math.floor(n()*r--),o=t[r],t[r]=t[e],t[e]=o;return t}function rn(t){return t.length===0?[[]]:rn(t.slice(1)).reduce((n,e)=>n.concat(t.map((o,r)=>{const i=e.slice();return i.splice(r,0,t[0]),i})),[])}var $e=Object.freeze(Object.defineProperty({__proto__:null,compact:Ae,permutations:rn,range:ge,rotate:be,shuffle:Ne,sortedNoteNames:on,sortedUniqNoteNames:ve},Symbol.toStringTag,{value:"Module"}));function Ie(t,n){const e=[];for(;n--;e[n]=n+t);return e}function je(t,n){const e=[];for(;n--;e[n]=t-n);return e}function it(t,n){return tn===0||n)}function Te(t,n=Math.random){let e,o,r=t.length;for(;r;)e=Math.floor(n()*r--),o=t[r],t[r]=t[e],t[e]=o;return t}function an(t){return t.length===0?[[]]:an(t.slice(1)).reduce((n,e)=>n.concat(t.map((o,r)=>{const i=e.slice();return i.splice(r,0,t[0]),i})),[])}var Se={compact:$t,permutations:an,range:it,rotate:L,shuffle:Te};const V={empty:!0,name:"",setNum:0,chroma:"000000000000",normalized:"000000000000",intervals:[]},It=t=>Number(t).toString(2),Gt=t=>parseInt(t,2),_e=/^[01]{12}$/;function sn(t){return _e.test(t)}const Ve=t=>typeof t=="number"&&t>=0&&t<=4095,Ce=t=>t&&sn(t.chroma),Bt={[V.chroma]:V};function h(t){const n=sn(t)?t:Ve(t)?It(t):Array.isArray(t)?Be(t):Ce(t)?t.chroma:V.chroma;return Bt[n]=Bt[n]||Ge(n)}const we=v("Pcset.pcset","Pcset.get",h),xe=t=>h(t).chroma,Ee=t=>h(t).intervals,De=t=>h(t).setNum,ke=["1P","2m","2M","3m","3M","4P","5d","5P","6m","6M","7m","7M"];function Re(t){const n=[];for(let e=0;e<12;e++)t.charAt(e)==="1"&&n.push(ke[e]);return n}function Oe(){return it(2048,4095).map(It)}function jt(t,n=!0){const o=h(t).chroma.split("");return $t(o.map((r,i)=>{const a=L(i,o);return n&&a[0]==="0"?null:a.join("")}))}function Fe(t,n){return h(t).setNum===h(n).setNum}function at(t){const n=h(t).setNum;return e=>{const o=h(e).setNum;return n&&n!==o&&(o&n)===o}}function st(t){const n=h(t).setNum;return e=>{const o=h(e).setNum;return n&&n!==o&&(o|n)===o}}function cn(t){const n=h(t);return e=>{const o=u(e);return n&&!o.empty&&n.chroma.charAt(o.chroma)==="1"}}function ze(t){const n=cn(t);return e=>e.filter(n)}var mn={get:h,chroma:xe,num:De,intervals:Ee,chromas:Oe,isSupersetOf:st,isSubsetOf:at,isNoteIncludedIn:cn,isEqual:Fe,filter:ze,modes:jt,pcset:we};function qe(t){const n=t.split("");return n.map((e,o)=>L(o,n).join(""))}function Ge(t){const n=Gt(t),e=qe(t).map(Gt).filter(i=>i>=2048).sort()[0],o=It(e),r=Re(t);return{empty:!1,name:"",setNum:n,chroma:t,normalized:o,intervals:r}}function Be(t){if(t.length===0)return V.chroma;let n;const e=[0,0,0,0,0,0,0,0,0,0,0,0];for(let o=0;ot.name).filter(t=>t)}function Ke(){return O.map(t=>t.aliases[0]).filter(t=>t)}function Qe(){return Object.keys(S)}function F(){return O.slice()}const Ye=v("ChordType.entries","ChordType.all",F);function Ze(){O=[],S={}}function un(t,n,e){const o=We(t),r=g(y({},h(t)),{name:e||"",quality:o,intervals:t,aliases:n});O.push(r),r.name&&(S[r.name]=r),S[r.setNum]=r,S[r.chroma]=r,r.aliases.forEach(i=>Je(r,i))}function Je(t,n){S[n]=t}function We(t){const n=e=>t.indexOf(e)!==-1;return n("5A")?"Augmented":n("3M")?"Major":n("5d")?"Diminished":n("3m")?"Minor":"Unknown"}He.forEach(([t,n,e])=>un(t.split(" "),e.split(" "),n));O.sort((t,n)=>t.setNum-n.setNum);var ln={names:Xe,symbols:Ke,get:Tt,all:F,add:un,removeAll:Ze,keys:Qe,entries:Ye,chordType:Ue};const to=t=>{const n=t.reduce((e,o)=>{const r=u(o).chroma;return r!==void 0&&(e[r]=e[r]||u(o).name),e},{});return e=>n[e]};function no(t){const n=t.map(o=>u(o).pc).filter(o=>o);return u.length===0?[]:eo(n,1).filter(o=>o.weight).sort((o,r)=>r.weight-o.weight).map(o=>o.name)}function eo(t,n){const e=t[0],o=u(e).chroma,r=to(t),i=jt(t,!1),a=[];return i.forEach((s,c)=>{F().filter(m=>m.chroma===s).forEach(m=>{const d=m.aliases[0],M=r(c);c!==o?a.push({weight:.5*n,name:`${M}${d}/${e}`}):a.push({weight:1*n,name:`${M}${d}`})})}),a}const oo=[["1P 2M 3M 5P 6M","major pentatonic","pentatonic"],["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 3m 3M 5P 6M","major blues"],["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 7m","whole tone","messiaen's mode #1"],["1P 2m 4P 4A 5P 7M","messiaen's mode #5"],["1P 3m 4P 5d 5P 7m","minor blues","blues"],["1P 2M 3M 4P 5d 6m 7m","locrian major","arabian"],["1P 2m 3M 4A 5P 6m 7M","double harmonic lydian"],["1P 2M 3m 4P 5P 6m 7M","harmonic minor"],["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 5P 6M 7M","lydian"],["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 4P 5P 6M 7M","melodic minor"],["1P 2m 3m 4P 5d 6m 7m","locrian"],["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 4P 5P 6m 7m","phrygian"],["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","aeolian","minor"],["1P 2M 3M 4P 5P 6m 7M","harmonic major"],["1P 2m 3M 4P 5P 6m 7M","double harmonic major","gypsy"],["1P 2M 3m 4P 5P 6M 7m","dorian"],["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 5P 6M 7m","mixolydian","dominant"],["1P 2m 3M 4P 5d 6m 7M","persian"],["1P 2M 3M 4P 5P 6M 7M","major","ionian"],["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 4P 5P 6M 7m 7M","bebop"],["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 6m 6M 7M","diminished","whole-half diminished"],["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"]],ro=g(y({},V),{intervals:[],aliases:[]});let ct=[],_={};function dn(){return ct.map(t=>t.name)}function mt(t){return _[t]||ro}const io=v("ScaleDictionary.scaleType","ScaleType.get",mt);function U(){return ct.slice()}const ao=v("ScaleDictionary.entries","ScaleType.all",U);function so(){return Object.keys(_)}function co(){ct=[],_={}}function Mn(t,n,e=[]){const o=g(y({},h(t)),{name:n,intervals:t,aliases:e});return ct.push(o),_[o.name]=o,_[o.setNum]=o,_[o.chroma]=o,o.aliases.forEach(r=>mo(o,r)),o}function mo(t,n){_[n]=t}oo.forEach(([t,n,...e])=>Mn(t.split(" "),n,e));var fn={names:dn,get:mt,all:U,add:Mn,removeAll:co,keys:so,entries:ao,scaleType:io};const gt={empty:!0,name:"",symbol:"",root:"",rootDegree:0,type:"",tonic:null,setNum:NaN,quality:"Unknown",chroma:"",normalized:"",aliases:[],notes:[],intervals:[]},uo=/^(6|64|7|9|11|13)$/;function ut(t){const[n,e,o,r]=rt(t);return n===""?["",t]:n==="A"&&r==="ug"?["","aug"]:!r&&(o==="4"||o==="5")?[n+e,o]:uo.test(o)?[n+e,o+r]:[n+e+o,r]}function X(t){if(t==="")return gt;if(Array.isArray(t)&&t.length===2)return Z(t[1],t[0]);{const[n,e]=ut(t),o=Z(e,n);return o.empty?Z(t):o}}function Z(t,n,e){const o=Tt(t),r=u(n||""),i=u(e||"");if(o.empty||n&&r.empty||e&&i.empty)return gt;const a=R(r.pc,i.pc),s=o.intervals.indexOf(a)+1;if(!i.empty&&!s)return gt;const c=Array.from(o.intervals);for(let M=1;MP(r,M));t=o.aliases.indexOf(t)!==-1?t:o.aliases[0];const m=`${r.empty?"":r.pc}${t}${i.empty||s<=1?"":"/"+i.pc}`,d=`${n?r.pc+" ":""}${o.name}${s>1&&e?" over "+i.pc:""}`;return g(y({},o),{name:d,symbol:m,type:o.name,root:i.name,intervals:c,rootDegree:s,tonic:r.name,notes:l})}const lo=v("Chord.chord","Chord.get",X);function Mo(t,n){const[e,o]=ut(t);return e?P(e,n)+o:t}function fo(t){const n=X(t),e=st(n.chroma);return U().filter(o=>e(o.chroma)).map(o=>o.name)}function Po(t){const n=X(t),e=st(n.chroma);return F().filter(o=>e(o.chroma)).map(o=>n.tonic+o.aliases[0])}function po(t){const n=X(t),e=at(n.chroma);return F().filter(o=>e(o.chroma)).map(o=>n.tonic+o.aliases[0])}var ho={getChord:Z,get:X,detect:no,chordScales:fo,extended:Po,reduced:po,tokenize:ut,transpose:Mo,chord:lo};const yo=[[.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"]]],lt=[];yo.forEach(([t,n,e])=>jo(t,n,e));const go={empty:!0,name:"",value:0,fraction:[0,0],shorthand:"",dots:"",names:[]};function bo(){return lt.reduce((t,n)=>(n.names.forEach(e=>t.push(e)),t),[])}function Ao(){return lt.map(t=>t.shorthand)}const vo=/^([^.]+)(\.*)$/;function St(t){const[n,e,o]=vo.exec(t)||[],r=lt.find(s=>s.shorthand===e||s.names.includes(e));if(!r)return go;const i=To(r.fraction,o.length),a=i[0]/i[1];return g(y({},r),{name:t,dots:o,value:a,fraction:i})}const No=t=>St(t).value,$o=t=>St(t).fraction;var Io={names:bo,shorthands:Ao,get:St,value:No,fraction:$o};function jo(t,n,e){lt.push({empty:!1,dots:"",name:"",value:1/t,fraction:t<1?[1/t,1]:[1,t],shorthand:n,names:e})}function To(t,n){const e=Math.pow(2,n);let o=t[0]*e,r=t[1]*e;const i=o;for(let a=0;af(t).name,Vo=t=>f(t).semitones,Co=t=>f(t).q,wo=t=>f(t).num;function pn(t){const n=f(t);return n.empty?"":n.simple+n.q}function xo(t){const n=f(t);if(n.empty)return"";const e=(7-n.step)%7,o=n.type==="perfectable"?-n.alt:-(n.alt+1);return f({step:e,alt:o,oct:n.oct,dir:n.dir}).name}const Eo=[1,2,2,3,3,4,5,5,6,6,7,7],Do="P m M m M P d P m M m M".split(" ");function ko(t){const n=t<0?-1:1,e=Math.abs(t),o=e%12,r=Math.floor(e/12);return n*(Eo[o]+7*r)+Do[o]}const Ro=R,hn=gn((t,n)=>[t[0]+n[0],t[1]+n[1]]),Oo=t=>n=>hn(t,n),Fo=gn((t,n)=>[t[0]-n[0],t[1]-n[1]]);function yn(t,n){const e=Pn(t);if(e.empty)return"";const[o,r,i]=e.coord;return H([o+n,r,i]).name}var bt={names:So,get:Pn,name:_o,num:wo,semitones:Vo,quality:Co,fromSemitones:ko,distance:Ro,invert:xo,simplify:pn,add:hn,addTo:Oo,substract:Fo,transposeFifths:yn};function gn(t){return(n,e)=>{const o=f(n).coord,r=f(e).coord;if(o&&r){const i=t(o,r);return H(i).name}}}function bn(t){return+t>=0&&+t<=127}function An(t){if(bn(t))return+t;const n=u(t);return n.empty?null:n.midi}function zo(t,n=440){return Math.pow(2,(t-69)/12)*n}const qo=Math.log(2),Go=Math.log(440);function _t(t){const n=12*(Math.log(t)-Go)/qo+69;return Math.round(n*100)/100}const Bo="C C# D D# E F F# G G# A A# B".split(" "),Ho="C Db D Eb E F Gb G Ab A Bb B".split(" ");function T(t,n={}){if(isNaN(t)||t===-1/0||t===1/0)return"";t=Math.round(t);const o=(n.sharps===!0?Bo:Ho)[t%12];if(n.pitchClass)return o;const r=Math.floor(t/12)-1;return o+r}var Lo={isMidi:bn,toMidi:An,midiToFreq:zo,midiToNoteName:T,freqToMidi:_t};const Uo=["C","D","E","F","G","A","B"],vn=t=>t.name,Nn=t=>t.map(u).filter(n=>!n.empty);function Xo(t){return t===void 0?Uo.slice():Array.isArray(t)?Nn(t).map(vn):[]}const A=u,Ko=t=>A(t).name,Qo=t=>A(t).pc,Yo=t=>A(t).acc,Zo=t=>A(t).oct,Jo=t=>A(t).midi,Wo=t=>A(t).freq,tr=t=>A(t).chroma;function $n(t){return T(t)}function nr(t){return T(_t(t))}function er(t){return T(_t(t),{sharps:!0})}function or(t){return T(t,{sharps:!0})}const Vt=P,rr=P,In=t=>n=>Vt(n,t),ir=In,jn=t=>n=>Vt(t,n),ar=jn;function tt(t,n){const e=A(t);if(e.empty)return"";const[o,r]=e.coord;return z(r===void 0?[o+n]:[o+n,r]).name}const sr=tt,Ct=(t,n)=>t.height-n.height,cr=(t,n)=>n.height-t.height;function Tn(t,n){return n=n||Ct,Nn(t).sort(n).map(vn)}function Sn(t){return Tn(t,Ct).filter((n,e,o)=>e===0||n!==o[e-1])}const mr=t=>{const n=A(t);return n.empty?"":T(n.midi||n.chroma,{sharps:n.alt>0,pitchClass:n.midi===null})};function _n(t,n){const e=A(t);if(e.empty)return"";const o=A(n||T(e.midi||e.chroma,{sharps:e.alt<0,pitchClass:!0}));if(o.empty||o.chroma!==e.chroma)return"";if(e.oct===void 0)return o.pc;const r=e.chroma-e.alt,i=o.chroma-o.alt,a=r>11||i<0?-1:r<0||i>11?1:0,s=e.oct+a;return o.pc+s}var E={names:Xo,get:A,name:Ko,pitchClass:Qo,accidentals:Yo,octave:Zo,midi:Jo,ascending:Ct,descending:cr,sortedNames:Tn,sortedUniqNames:Sn,fromMidi:$n,fromMidiSharps:or,freq:Wo,fromFreq:nr,fromFreqSharps:er,chroma:tr,transpose:Vt,tr:rr,transposeBy:In,trBy:ir,transposeFrom:jn,trFrom:ar,transposeFifths:tt,trFifths:sr,simplify:mr,enharmonic:_n};const Vn={empty:!0,name:"",chordType:""},Ht={};function I(t){return typeof t=="string"?Ht[t]||(Ht[t]=pr(t)):typeof t=="number"?I(dt[t]||""):G(t)?dr(t):q(t)?I(t.name):Vn}const ur=v("RomanNumeral.romanNumeral","RomanNumeral.get",I);function lr(t=!0){return(t?dt:Pr).slice()}function dr(t){return I(k(t.alt)+dt[t.step])}const Mr=/^(#{1,}|b{1,}|x{1,}|)(IV|I{1,3}|VI{0,2}|iv|i{1,3}|vi{0,2})([^IViv]*)$/;function fr(t){return Mr.exec(t)||["","","",""]}const Cn="I II III IV V VI VII",dt=Cn.split(" "),Pr=Cn.toLowerCase().split(" ");function pr(t){const[n,e,o,r]=fr(t);if(!o)return Vn;const i=o.toUpperCase(),a=dt.indexOf(i),s=B(e),c=1;return{empty:!1,name:n,roman:o,interval:f({step:a,alt:s,dir:c}).name,acc:e,chordType:r,alt:s,step:a,major:o===i,oct:0,dir:c}}var hr={names:lr,get:I,romanNumeral:ur};const N=Object.freeze([]),wn={type:"major",tonic:"",alteration:0,keySignature:""},J={tonic:"",grades:N,intervals:N,scale:N,chords:N,chordsHarmonicFunction:N,chordScales:N},yr=g(y(y({},wn),J),{type:"major",minorRelative:"",scale:N,secondaryDominants:N,secondaryDominantsMinorRelative:N,substituteDominants:N,substituteDominantsMinorRelative:N}),gr=g(y({},wn),{type:"minor",relativeMajor:"",natural:J,harmonic:J,melodic:J}),Lt=(t,n,e="")=>n.map((o,r)=>`${t[r]}${e}${o}`);function Mt(t,n,e,o){return r=>{const i=t.map(s=>I(s).interval||""),a=i.map(s=>P(r,s));return{tonic:r,grades:t,intervals:i,scale:a,chords:Lt(a,n),chordsHarmonicFunction:e.slice(),chordScales:Lt(a,o," ")}}}const xn=(t,n)=>{const e=u(t),o=u(n);return e.empty||o.empty?0:o.coord[0]-e.coord[0]},br=Mt("I II III IV V VI VII".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(",")),Ar=Mt("I II bIII IV V bVI bVII".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(",")),vr=Mt("I II bIII IV V bVI VII".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(",")),Nr=Mt("I II bIII IV V VI VII".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 $r(t){const n=u(t).pc;if(!n)return yr;const e=br(n),o=xn("C",n),r=i=>{const a=I(i);return a.empty?"":P(t,a.interval)+a.chordType};return g(y({},e),{type:"major",minorRelative:P(n,"-3m"),alteration:o,keySignature:k(o),secondaryDominants:"- VI7 VII7 I7 II7 III7 -".split(" ").map(r),secondaryDominantsMinorRelative:"- IIIm7b5 IV#m7 Vm7 VIm7 VIIm7b5 -".split(" ").map(r),substituteDominants:"- bIII7 IV7 bV7 bVI7 bVII7 -".split(" ").map(r),substituteDominantsMinorRelative:"- IIIm7 Im7 IIbm7 VIm7 IVm7 -".split(" ").map(r)})}function Ir(t){const n=u(t).pc;if(!n)return gr;const e=xn("C",n)-3;return{type:"minor",tonic:n,relativeMajor:P(n,"3m"),alteration:e,keySignature:k(e),natural:Ar(n),harmonic:vr(n),melodic:Nr(n)}}function jr(t){return typeof t=="number"?tt("C",t):typeof t=="string"&&/^b+|#+$/.test(t)?tt("C",B(t)):null}var Tr={majorKey:$r,majorTonicFromKeySignature:jr,minorKey:Ir};const wt=[[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"]],Ut=g(y({},V),{name:"",alt:0,modeNum:NaN,triad:"",seventh:"",aliases:[]}),xt=wt.map(Cr),At={};xt.forEach(t=>{At[t.name]=t,t.aliases.forEach(n=>{At[n]=t})});function C(t){return typeof t=="string"?At[t.toLowerCase()]||Ut:t&&t.name?C(t.name):Ut}const Sr=v("Mode.mode","Mode.get",C);function En(){return xt.slice()}const _r=v("Mode.mode","Mode.all",En);function Vr(){return xt.map(t=>t.name)}function Cr(t){const[n,e,o,r,i,a,s]=t,c=s?[s]:[],l=Number(e).toString(2),m=mt(r).intervals;return{empty:!1,intervals:m,modeNum:n,chroma:l,normalized:l,name:r,setNum:e,alt:o,triad:i,seventh:a,aliases:c}}function wr(t,n){return C(t).intervals.map(e=>P(n,e))}function Dn(t){return(n,e)=>{const o=C(n);if(o.empty)return[];const r=L(o.modeNum,t),i=o.intervals.map(a=>P(e,a));return r.map((a,s)=>i[s]+a)}}const xr=Dn(wt.map(t=>t[4])),Er=Dn(wt.map(t=>t[5]));function kn(t,n){const e=C(n),o=C(t);return e.empty||o.empty?"":pn(yn("1P",o.alt-e.alt))}function Dr(t,n,e){return P(e,kn(t,n))}var kr={get:C,names:Vr,all:En,distance:kn,relativeTonic:Dr,notes:wr,triads:xr,seventhChords:Er,entries:_r,mode:Sr};function Rr(t,n){return n.map(I).map(o=>P(t,f(o))+o.chordType)}function Or(t,n){return n.map(e=>{const[o,r]=ut(e),i=R(t,o);return I(f(i)).name+r})}var Fr={fromRomanNumerals:Rr,toRomanNumerals:Or};function Rn(t){const n=$t(t.map(An));return!t.length||n.length!==t.length?[]:n.reduce((e,o)=>{const r=e[e.length-1];return e.concat(it(r,o).slice(1))},[n[0]])}function zr(t,n){return Rn(t).map(e=>T(e,n))}var qr={numeric:Rn,chromatic:zr};const Gr={empty:!0,name:"",type:"",tonic:null,setNum:NaN,chroma:"",normalized:"",aliases:[],notes:[],intervals:[]};function On(t){if(typeof t!="string")return["",""];const n=t.indexOf(" "),e=u(t.substring(0,n));if(e.empty){const r=u(t);return r.empty?["",t]:[r.name,""]}const o=t.substring(e.name.length+1);return[e.name,o.length?o:""]}const Br=dn;function j(t){const n=Array.isArray(t)?t:On(t),e=u(n[0]).name,o=mt(n[1]);if(o.empty)return Gr;const r=o.name,i=e?o.intervals.map(s=>P(e,s)):[],a=e?e+" "+r:r;return g(y({},o),{name:a,type:r,tonic:e,notes:i})}const Hr=v("Scale.scale","Scale.get",j);function Lr(t){const n=j(t),e=at(n.chroma);return F().filter(o=>e(o.chroma)).map(o=>o.aliases[0])}function Ur(t){const n=j(t),e=st(n.chroma);return U().filter(o=>e(o.chroma)).map(o=>o.name)}function Xr(t){const n=at(j(t).chroma);return U().filter(e=>n(e.chroma)).map(e=>e.name)}function Fn(t){const n=t.map(r=>u(r).pc).filter(r=>r),e=n[0],o=Sn(n);return L(o.indexOf(e),o)}function Kr(t){const n=j(t);if(n.empty)return[];const e=n.tonic?n.notes:n.intervals;return jt(n.chroma).map((o,r)=>{const i=j(o).name;return i?[e[r],i]:["",""]}).filter(o=>o[0])}function Qr(t){const n=Array.isArray(t)?Fn(t):j(t).notes,e=n.map(o=>u(o).chroma);return o=>{const r=u(typeof o=="number"?$n(o):o),i=r.height;if(i===void 0)return;const a=i%12,s=e.indexOf(a);if(s!==-1)return _n(r.name,n[s])}}function Yr(t){const n=Qr(t);return(e,o)=>{const r=u(e).height,i=u(o).height;return r===void 0||i===void 0?[]:it(r,i).map(n).filter(a=>a)}}var nt={get:j,names:Br,extended:Ur,modeNames:Kr,reduced:Xr,scaleChords:Lr,scaleNotes:Fn,tokenize:On,rangeOf:Yr,scale:Hr};const Zr={empty:!0,name:"",upper:void 0,lower:void 0,type:void 0,additive:[]},Jr=["4/4","3/4","2/4","2/2","12/8","9/8","6/8","3/8"];function Wr(){return Jr.slice()}const ti=/^(\d?\d(?:\+\d)*)\/(\d)$/,Xt=new Map;function ni(t){const n=Xt.get(t);if(n)return n;const e=oi(Et(t));return Xt.set(t,e),e}function Et(t){if(typeof t=="string"){const[i,a,s]=ti.exec(t)||[];return Et([a,s])}const[n,e]=t,o=+e;if(typeof n=="number")return[n,o];const r=n.split("+").map(i=>+i);return r.length===1?[r[0],o]:[r,o]}var ei={names:Wr,parse:Et,get:ni};function oi([t,n]){const e=Array.isArray(t)?t.reduce((s,c)=>s+c,0):t,o=n;if(e===0||o===0)return Zr;const r=Array.isArray(t)?`${t.join("+")}/${n}`:`${t}/${n}`,i=Array.isArray(t)?t:[],a=o===4||o===2?"simple":o===8&&e%3===0?"compound":"irregular";return{empty:!1,name:r,type:a,upper:e,lower:o,additive:i}}const ri=tn,ii=mn,ai=ln,si=fn;var ci=Object.freeze(Object.defineProperty({__proto__:null,Array:$e,Core:tn,ChordDictionary:ai,PcSet:ii,ScaleDictionary:si,Tonal:ri,AbcNotation:pe,Chord:ho,ChordType:ln,Collection:Se,DurationValue:Io,Interval:bt,Key:Tr,Midi:Lo,Mode:kr,Note:E,Pcset:mn,Progression:Fr,Range:qr,RomanNumeral:hr,Scale:nt,ScaleType:fn,TimeSignature:ei,accToAlt:B,altToAcc:k,coordToInterval:H,coordToNote:z,decode:ot,deprecate:v,distance:R,encode:et,fillStr:x,interval:f,isNamed:q,isPitch:G,note:u,stepToLetter:vt,tokenizeInterval:Nt,tokenizeNote:rt,transpose:P},Symbol.toStringTag,{value:"Module"}));function zn(t,n,e){let[o,r]=nt.tokenize(t),{notes:i}=nt.get(`${o} ${r}`);if(i=i.map(b=>E.get(b).pc),n=Number(n),isNaN(n))throw new Error(`scale offset "${n}" not a number`);const{pc:a,oct:s=3}=E.get(e),c=i.indexOf(a);if(c===-1)throw new Error(`note "${e}" is not in scale "${t}"`);let l=c,m=s,d=a;const M=Math.sign(n);for(;Math.abs(l-c)0&&d[0]==="C"&&(m+=M)}return d+m}w.prototype._transpose=function(t){return this._withHap(n=>{const e=isNaN(Number(t))?String(t):bt.fromSemitones(t);if(typeof n.value=="number"){const o=typeof e=="string"?bt.semitones(e)||0:e;return n.withValue(()=>n.value+o)}return n.withValue(()=>E.simplify(E.transpose(n.value,e)))})};w.prototype._scaleTranspose=function(t){return this._withHap(n=>{if(!n.context.scale)throw new Error("can only use scaleTranspose after .scale");if(typeof n.value!="string")throw new Error("can only use scaleTranspose with notes");return n.withValue(()=>zn(n.context.scale,Number(t),n.value))})};w.prototype._scale=function(t){return this._withHap(n=>{let e=n.value;const o=Number(e);if(!isNaN(o)){let[r,i]=nt.tokenize(t);const{pc:a,oct:s=3}=E.get(r);e=zn(a+" "+i,o,a+s)}return n.withValue(()=>e).setContext(g(y({},n.context),{scale:t}))})};w.prototype.define("transpose",(t,n)=>n.transpose(t),{composable:!0,patternified:!0});w.prototype.define("scale",(t,n)=>n.scale(t),{composable:!0,patternified:!0});w.prototype.define("scaleTranspose",(t,n)=>n.scaleTranspose(t),{composable:!0,patternified:!0});var qn={},Dt={},K={};K.__esModule=!0;K.getBestVoicing=void 0;function mi(t){var n=t.chord,e=t.range,o=t.finder,r=t.picker,i=t.lastVoicing,a=o(n,e);return a.length?r(a,i):[]}K.getBestVoicing=mi;var ft={},Gn=Qn(ci),Q={};Q.__esModule=!0;Q.tokenizeChord=void 0;function ui(t){var n=(t||"").match(/^([A-G][b#]*)([^\/]*)[\/]?([A-G][b#]*)?$/);return n?n.slice(1):[]}Q.tokenizeChord=ui;ft.__esModule=!0;ft.voicingsInRange=void 0;var $=Gn,li=Dt,di=Q;function Mi(t,n,e){n===void 0&&(n=li.lefthand),e===void 0&&(e=["D3","A4"]);var o=(0,di.tokenizeChord)(t),r=o[0],i=o[1];if(!n[i])return[];var a=n[i].map(function(c){return c.split(" ")}),s=$.Range.chromatic(e);return a.reduce(function(c,l){var m=l.map(function(p){return $.Interval.substract(p,l[0])}),d=$.Note.transpose(r,l[0]),M=s.filter(function(p){return $.Note.chroma(p)===$.Note.chroma(d)}).filter(function(p){return $.Note.midi($.Note.transpose(p,m[m.length-1]))<=$.Note.midi(e[1])}).map(function(p){return $.Note.enharmonic(p,d)}),b=M.map(function(p){return m.map(function(pt){return $.Note.transpose(p,pt)})});return c.concat(b)},[])}ft.voicingsInRange=Mi;(function(t){var n=Y&&Y.__assign||function(){return n=Object.assign||function(s){for(var c,l=1,m=arguments.length;lPi({chord:t,dictionary:hi,range:e,picker:pi,lastVoicing:n}),D=w;D.prototype.fmapNested=function(t){return new D(n=>this.query(n).map(e=>Zn(t(e)).query(n).map(o=>new Jn(e.whole,e.part,o.value,o.context))).flat())};D.prototype.voicings=function(t){let n;return t!=null&&t.length||(t=["F3","A4"]),this.fmapNested(e=>(n=yi(e.value,n,t),Wn(...n)._withContext(()=>({locations:e.context.locations||[]}))))};D.prototype._rootNotes=function(t=2){return this.fmap(n=>{const[e,o]=n.match(/^([a-gA-G][b#]?).*$/);return o+t})};D.prototype.define("voicings",(t,n)=>n.voicings(t),{composable:!0});D.prototype.define("rootNotes",(t,n)=>n.rootNotes(t),{composable:!0,patternified:!0}); +var Bn=Object.defineProperty,Hn=Object.defineProperties;var Ln=Object.getOwnPropertyDescriptors;var kt=Object.getOwnPropertySymbols;var Un=Object.prototype.hasOwnProperty,Xn=Object.prototype.propertyIsEnumerable;var Rt=(t,n,e)=>n in t?Bn(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,y=(t,n)=>{for(var e in n||(n={}))Un.call(n,e)&&Rt(t,e,n[e]);if(kt)for(var e of kt(n))Xn.call(n,e)&&Rt(t,e,n[e]);return t},g=(t,n)=>Hn(t,Ln(n));import{P as w,w as Kn,x as Qn,y as Y,z as Yn,A as Zn,H as Jn,B as Wn}from"./index.268aabb2.js";const x=(t,n)=>Array(Math.abs(n)+1).join(t);function v(t,n,e){return function(...o){return console.warn(`${t} is deprecated. Use ${n}.`),e.apply(this,o)}}function q(t){return t!==null&&typeof t=="object"&&typeof t.name=="string"}function G(t){return t!==null&&typeof t=="object"&&typeof t.step=="number"&&typeof t.alt=="number"}const Yt=[0,2,4,-1,1,3,5],Zt=Yt.map(t=>Math.floor(t*7/12));function et(t){const{step:n,alt:e,oct:o,dir:r=1}=t,i=Yt[n]+7*e;if(o===void 0)return[r*i];const a=o-Zt[n]-4*e;return[r*i,r*a]}const te=[3,0,4,1,5,2,6];function ot(t){const[n,e,o]=t,r=te[ne(n)],i=Math.floor((n+1)/7);if(e===void 0)return{step:r,alt:i,dir:o};const a=e+4*i+Zt[r];return{step:r,alt:i,oct:a,dir:o}}function ne(t){const n=(t+1)%7;return n<0?7+n:n}const Jt={empty:!0,name:"",pc:"",acc:""},Ot=new Map,vt=t=>"CDEFGAB".charAt(t),k=t=>t<0?x("b",-t):x("#",t),B=t=>t[0]==="b"?-t.length:t.length;function u(t){const n=Ot.get(t);if(n)return n;const e=typeof t=="string"?re(t):G(t)?u(ie(t)):q(t)?u(t.name):Jt;return Ot.set(t,e),e}const ee=/^([a-gA-G]?)(#{1,}|b{1,}|x{1,}|)(-?\d*)\s*(.*)$/;function rt(t){const n=ee.exec(t);return[n[1].toUpperCase(),n[2].replace(/x/g,"##"),n[3],n[4]]}function z(t){return u(ot(t))}const oe=(t,n)=>(t%n+n)%n,ht=[0,2,4,5,7,9,11];function re(t){const n=rt(t);if(n[0]===""||n[3]!=="")return Jt;const e=n[0],o=n[1],r=n[2],i=(e.charCodeAt(0)+3)%7,a=B(o),s=r.length?+r:void 0,c=et({step:i,alt:a,oct:s}),l=e+o+r,m=e+o,d=(ht[i]+a+120)%12,M=s===void 0?oe(ht[i]+a,12)-12*99:ht[i]+a+12*(s+1),b=M>=0&&M<=127?M:null,p=s===void 0?null:Math.pow(2,(M-69)/12)*440;return{empty:!1,acc:o,alt:a,chroma:d,coord:c,freq:p,height:M,letter:e,midi:b,name:l,oct:s,pc:m,step:i}}function ie(t){const{step:n,alt:e,oct:o}=t,r=vt(n);if(!r)return"";const i=r+k(e);return o||o===0?i+o:i}const yt={empty:!0,name:"",acc:""},ae="([-+]?\\d+)(d{1,4}|m|M|P|A{1,4})",se="(AA|A|P|M|m|d|dd)([-+]?\\d+)",ce=new RegExp("^"+ae+"|"+se+"$");function Nt(t){const n=ce.exec(`${t}`);return n===null?["",""]:n[1]?[n[1],n[2]]:[n[4],n[3]]}const Ft={};function f(t){return typeof t=="string"?Ft[t]||(Ft[t]=me(t)):G(t)?f(le(t)):q(t)?f(t.name):yt}const zt=[0,2,4,5,7,9,11],Wt="PMMPPMM";function me(t){const n=Nt(t);if(n[0]==="")return yt;const e=+n[0],o=n[1],r=(Math.abs(e)-1)%7,i=Wt[r];if(i==="M"&&o==="P")return yt;const a=i==="M"?"majorable":"perfectable",s=""+e+o,c=e<0?-1:1,l=e===8||e===-8?e:c*(r+1),m=ue(a,o),d=Math.floor((Math.abs(e)-1)/7),M=c*(zt[r]+m+12*d),b=(c*(zt[r]+m)%12+12)%12,p=et({step:r,alt:m,oct:d,dir:c});return{empty:!1,name:s,num:e,q:o,step:r,alt:m,dir:c,type:a,simple:l,semitones:M,chroma:b,coord:p,oct:d}}function H(t,n){const[e,o=0]=t,r=e*7+o*12<0,i=n||r?[-e,-o,-1]:[e,o,1];return f(ot(i))}function ue(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 le(t){const{step:n,alt:e,oct:o=0,dir:r}=t;if(!r)return"";const i=n+1+7*o,a=i===0?n+1:i,s=r<0?"-":"",c=Wt[n]==="M"?"majorable":"perfectable";return s+a+de(c,e)}function de(t,n){return n===0?t==="majorable"?"M":"P":n===-1&&t==="majorable"?"m":n>0?x("A",n):x("d",t==="perfectable"?n:n+1)}function P(t,n){const e=u(t),o=f(n);if(e.empty||o.empty)return"";const r=e.coord,i=o.coord,a=r.length===1?[r[0]+i[0]]:[r[0]+i[0],r[1]+i[1]];return z(a).name}function R(t,n){const e=u(t),o=u(n);if(e.empty||o.empty)return"";const r=e.coord,i=o.coord,a=i[0]-r[0],s=r.length===2&&i.length===2?i[1]-r[1]:-Math.floor(a*7/12),c=o.height===e.height&&o.midi!==null&&e.midi!==null&&e.step>o.step;return H([a,s],c).name}var tn=Object.freeze(Object.defineProperty({__proto__:null,accToAlt:B,altToAcc:k,coordToInterval:H,coordToNote:z,decode:ot,deprecate:v,distance:R,encode:et,fillStr:x,interval:f,isNamed:q,isPitch:G,note:u,stepToLetter:vt,tokenizeInterval:Nt,tokenizeNote:rt,transpose:P},Symbol.toStringTag,{value:"Module"}));const qt=(t,n)=>Array(n+1).join(t),Me=/^(_{1,}|=|\^{1,}|)([abcdefgABCDEFG])([,']*)$/;function nn(t){const n=Me.exec(t);return n?[n[1],n[2],n[3]]:["","",""]}function W(t){const[n,e,o]=nn(t);if(e==="")return"";let r=4;for(let a=0;a96?e.toUpperCase()+i+(r+1):e+i+r}function en(t){const n=u(t);if(n.empty||!n.oct&&n.oct!==0)return"";const{letter:e,acc:o,oct:r}=n,i=o[0]==="b"?o.replace(/b/g,"_"):o.replace(/#/g,"^"),a=r>4?e.toLowerCase():e,s=r===5?"":r>4?qt("'",r-5):qt(",",4-r);return i+a+s}function fe(t,n){return en(P(W(t),n))}function Pe(t,n){return R(W(t),W(n))}var pe={abcToScientificNotation:W,scientificToAbcNotation:en,tokenize:nn,transpose:fe,distance:Pe};function he(t,n){const e=[];for(;n--;e[n]=n+t);return e}function ye(t,n){const e=[];for(;n--;e[n]=t-n);return e}function ge(t,n){return tn===0||n)}function on(t){return t.map(e=>u(e)).filter(e=>!e.empty).sort((e,o)=>e.height-o.height).map(e=>e.name)}function ve(t){return on(t).filter((n,e,o)=>e===0||n!==o[e-1])}function Ne(t,n=Math.random){let e,o,r=t.length;for(;r;)e=Math.floor(n()*r--),o=t[r],t[r]=t[e],t[e]=o;return t}function rn(t){return t.length===0?[[]]:rn(t.slice(1)).reduce((n,e)=>n.concat(t.map((o,r)=>{const i=e.slice();return i.splice(r,0,t[0]),i})),[])}var $e=Object.freeze(Object.defineProperty({__proto__:null,compact:Ae,permutations:rn,range:ge,rotate:be,shuffle:Ne,sortedNoteNames:on,sortedUniqNoteNames:ve},Symbol.toStringTag,{value:"Module"}));function Ie(t,n){const e=[];for(;n--;e[n]=n+t);return e}function je(t,n){const e=[];for(;n--;e[n]=t-n);return e}function it(t,n){return tn===0||n)}function Te(t,n=Math.random){let e,o,r=t.length;for(;r;)e=Math.floor(n()*r--),o=t[r],t[r]=t[e],t[e]=o;return t}function an(t){return t.length===0?[[]]:an(t.slice(1)).reduce((n,e)=>n.concat(t.map((o,r)=>{const i=e.slice();return i.splice(r,0,t[0]),i})),[])}var Se={compact:$t,permutations:an,range:it,rotate:L,shuffle:Te};const V={empty:!0,name:"",setNum:0,chroma:"000000000000",normalized:"000000000000",intervals:[]},It=t=>Number(t).toString(2),Gt=t=>parseInt(t,2),_e=/^[01]{12}$/;function sn(t){return _e.test(t)}const Ve=t=>typeof t=="number"&&t>=0&&t<=4095,Ce=t=>t&&sn(t.chroma),Bt={[V.chroma]:V};function h(t){const n=sn(t)?t:Ve(t)?It(t):Array.isArray(t)?Be(t):Ce(t)?t.chroma:V.chroma;return Bt[n]=Bt[n]||Ge(n)}const we=v("Pcset.pcset","Pcset.get",h),xe=t=>h(t).chroma,Ee=t=>h(t).intervals,De=t=>h(t).setNum,ke=["1P","2m","2M","3m","3M","4P","5d","5P","6m","6M","7m","7M"];function Re(t){const n=[];for(let e=0;e<12;e++)t.charAt(e)==="1"&&n.push(ke[e]);return n}function Oe(){return it(2048,4095).map(It)}function jt(t,n=!0){const o=h(t).chroma.split("");return $t(o.map((r,i)=>{const a=L(i,o);return n&&a[0]==="0"?null:a.join("")}))}function Fe(t,n){return h(t).setNum===h(n).setNum}function at(t){const n=h(t).setNum;return e=>{const o=h(e).setNum;return n&&n!==o&&(o&n)===o}}function st(t){const n=h(t).setNum;return e=>{const o=h(e).setNum;return n&&n!==o&&(o|n)===o}}function cn(t){const n=h(t);return e=>{const o=u(e);return n&&!o.empty&&n.chroma.charAt(o.chroma)==="1"}}function ze(t){const n=cn(t);return e=>e.filter(n)}var mn={get:h,chroma:xe,num:De,intervals:Ee,chromas:Oe,isSupersetOf:st,isSubsetOf:at,isNoteIncludedIn:cn,isEqual:Fe,filter:ze,modes:jt,pcset:we};function qe(t){const n=t.split("");return n.map((e,o)=>L(o,n).join(""))}function Ge(t){const n=Gt(t),e=qe(t).map(Gt).filter(i=>i>=2048).sort()[0],o=It(e),r=Re(t);return{empty:!1,name:"",setNum:n,chroma:t,normalized:o,intervals:r}}function Be(t){if(t.length===0)return V.chroma;let n;const e=[0,0,0,0,0,0,0,0,0,0,0,0];for(let o=0;ot.name).filter(t=>t)}function Ke(){return O.map(t=>t.aliases[0]).filter(t=>t)}function Qe(){return Object.keys(S)}function F(){return O.slice()}const Ye=v("ChordType.entries","ChordType.all",F);function Ze(){O=[],S={}}function un(t,n,e){const o=We(t),r=g(y({},h(t)),{name:e||"",quality:o,intervals:t,aliases:n});O.push(r),r.name&&(S[r.name]=r),S[r.setNum]=r,S[r.chroma]=r,r.aliases.forEach(i=>Je(r,i))}function Je(t,n){S[n]=t}function We(t){const n=e=>t.indexOf(e)!==-1;return n("5A")?"Augmented":n("3M")?"Major":n("5d")?"Diminished":n("3m")?"Minor":"Unknown"}He.forEach(([t,n,e])=>un(t.split(" "),e.split(" "),n));O.sort((t,n)=>t.setNum-n.setNum);var ln={names:Xe,symbols:Ke,get:Tt,all:F,add:un,removeAll:Ze,keys:Qe,entries:Ye,chordType:Ue};const to=t=>{const n=t.reduce((e,o)=>{const r=u(o).chroma;return r!==void 0&&(e[r]=e[r]||u(o).name),e},{});return e=>n[e]};function no(t){const n=t.map(o=>u(o).pc).filter(o=>o);return u.length===0?[]:eo(n,1).filter(o=>o.weight).sort((o,r)=>r.weight-o.weight).map(o=>o.name)}function eo(t,n){const e=t[0],o=u(e).chroma,r=to(t),i=jt(t,!1),a=[];return i.forEach((s,c)=>{F().filter(m=>m.chroma===s).forEach(m=>{const d=m.aliases[0],M=r(c);c!==o?a.push({weight:.5*n,name:`${M}${d}/${e}`}):a.push({weight:1*n,name:`${M}${d}`})})}),a}const oo=[["1P 2M 3M 5P 6M","major pentatonic","pentatonic"],["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 3m 3M 5P 6M","major blues"],["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 7m","whole tone","messiaen's mode #1"],["1P 2m 4P 4A 5P 7M","messiaen's mode #5"],["1P 3m 4P 5d 5P 7m","minor blues","blues"],["1P 2M 3M 4P 5d 6m 7m","locrian major","arabian"],["1P 2m 3M 4A 5P 6m 7M","double harmonic lydian"],["1P 2M 3m 4P 5P 6m 7M","harmonic minor"],["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 5P 6M 7M","lydian"],["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 4P 5P 6M 7M","melodic minor"],["1P 2m 3m 4P 5d 6m 7m","locrian"],["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 4P 5P 6m 7m","phrygian"],["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","aeolian","minor"],["1P 2M 3M 4P 5P 6m 7M","harmonic major"],["1P 2m 3M 4P 5P 6m 7M","double harmonic major","gypsy"],["1P 2M 3m 4P 5P 6M 7m","dorian"],["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 5P 6M 7m","mixolydian","dominant"],["1P 2m 3M 4P 5d 6m 7M","persian"],["1P 2M 3M 4P 5P 6M 7M","major","ionian"],["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 4P 5P 6M 7m 7M","bebop"],["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 6m 6M 7M","diminished","whole-half diminished"],["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"]],ro=g(y({},V),{intervals:[],aliases:[]});let ct=[],_={};function dn(){return ct.map(t=>t.name)}function mt(t){return _[t]||ro}const io=v("ScaleDictionary.scaleType","ScaleType.get",mt);function U(){return ct.slice()}const ao=v("ScaleDictionary.entries","ScaleType.all",U);function so(){return Object.keys(_)}function co(){ct=[],_={}}function Mn(t,n,e=[]){const o=g(y({},h(t)),{name:n,intervals:t,aliases:e});return ct.push(o),_[o.name]=o,_[o.setNum]=o,_[o.chroma]=o,o.aliases.forEach(r=>mo(o,r)),o}function mo(t,n){_[n]=t}oo.forEach(([t,n,...e])=>Mn(t.split(" "),n,e));var fn={names:dn,get:mt,all:U,add:Mn,removeAll:co,keys:so,entries:ao,scaleType:io};const gt={empty:!0,name:"",symbol:"",root:"",rootDegree:0,type:"",tonic:null,setNum:NaN,quality:"Unknown",chroma:"",normalized:"",aliases:[],notes:[],intervals:[]},uo=/^(6|64|7|9|11|13)$/;function ut(t){const[n,e,o,r]=rt(t);return n===""?["",t]:n==="A"&&r==="ug"?["","aug"]:!r&&(o==="4"||o==="5")?[n+e,o]:uo.test(o)?[n+e,o+r]:[n+e+o,r]}function X(t){if(t==="")return gt;if(Array.isArray(t)&&t.length===2)return Z(t[1],t[0]);{const[n,e]=ut(t),o=Z(e,n);return o.empty?Z(t):o}}function Z(t,n,e){const o=Tt(t),r=u(n||""),i=u(e||"");if(o.empty||n&&r.empty||e&&i.empty)return gt;const a=R(r.pc,i.pc),s=o.intervals.indexOf(a)+1;if(!i.empty&&!s)return gt;const c=Array.from(o.intervals);for(let M=1;MP(r,M));t=o.aliases.indexOf(t)!==-1?t:o.aliases[0];const m=`${r.empty?"":r.pc}${t}${i.empty||s<=1?"":"/"+i.pc}`,d=`${n?r.pc+" ":""}${o.name}${s>1&&e?" over "+i.pc:""}`;return g(y({},o),{name:d,symbol:m,type:o.name,root:i.name,intervals:c,rootDegree:s,tonic:r.name,notes:l})}const lo=v("Chord.chord","Chord.get",X);function Mo(t,n){const[e,o]=ut(t);return e?P(e,n)+o:t}function fo(t){const n=X(t),e=st(n.chroma);return U().filter(o=>e(o.chroma)).map(o=>o.name)}function Po(t){const n=X(t),e=st(n.chroma);return F().filter(o=>e(o.chroma)).map(o=>n.tonic+o.aliases[0])}function po(t){const n=X(t),e=at(n.chroma);return F().filter(o=>e(o.chroma)).map(o=>n.tonic+o.aliases[0])}var ho={getChord:Z,get:X,detect:no,chordScales:fo,extended:Po,reduced:po,tokenize:ut,transpose:Mo,chord:lo};const yo=[[.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"]]],lt=[];yo.forEach(([t,n,e])=>jo(t,n,e));const go={empty:!0,name:"",value:0,fraction:[0,0],shorthand:"",dots:"",names:[]};function bo(){return lt.reduce((t,n)=>(n.names.forEach(e=>t.push(e)),t),[])}function Ao(){return lt.map(t=>t.shorthand)}const vo=/^([^.]+)(\.*)$/;function St(t){const[n,e,o]=vo.exec(t)||[],r=lt.find(s=>s.shorthand===e||s.names.includes(e));if(!r)return go;const i=To(r.fraction,o.length),a=i[0]/i[1];return g(y({},r),{name:t,dots:o,value:a,fraction:i})}const No=t=>St(t).value,$o=t=>St(t).fraction;var Io={names:bo,shorthands:Ao,get:St,value:No,fraction:$o};function jo(t,n,e){lt.push({empty:!1,dots:"",name:"",value:1/t,fraction:t<1?[1/t,1]:[1,t],shorthand:n,names:e})}function To(t,n){const e=Math.pow(2,n);let o=t[0]*e,r=t[1]*e;const i=o;for(let a=0;af(t).name,Vo=t=>f(t).semitones,Co=t=>f(t).q,wo=t=>f(t).num;function pn(t){const n=f(t);return n.empty?"":n.simple+n.q}function xo(t){const n=f(t);if(n.empty)return"";const e=(7-n.step)%7,o=n.type==="perfectable"?-n.alt:-(n.alt+1);return f({step:e,alt:o,oct:n.oct,dir:n.dir}).name}const Eo=[1,2,2,3,3,4,5,5,6,6,7,7],Do="P m M m M P d P m M m M".split(" ");function ko(t){const n=t<0?-1:1,e=Math.abs(t),o=e%12,r=Math.floor(e/12);return n*(Eo[o]+7*r)+Do[o]}const Ro=R,hn=gn((t,n)=>[t[0]+n[0],t[1]+n[1]]),Oo=t=>n=>hn(t,n),Fo=gn((t,n)=>[t[0]-n[0],t[1]-n[1]]);function yn(t,n){const e=Pn(t);if(e.empty)return"";const[o,r,i]=e.coord;return H([o+n,r,i]).name}var bt={names:So,get:Pn,name:_o,num:wo,semitones:Vo,quality:Co,fromSemitones:ko,distance:Ro,invert:xo,simplify:pn,add:hn,addTo:Oo,substract:Fo,transposeFifths:yn};function gn(t){return(n,e)=>{const o=f(n).coord,r=f(e).coord;if(o&&r){const i=t(o,r);return H(i).name}}}function bn(t){return+t>=0&&+t<=127}function An(t){if(bn(t))return+t;const n=u(t);return n.empty?null:n.midi}function zo(t,n=440){return Math.pow(2,(t-69)/12)*n}const qo=Math.log(2),Go=Math.log(440);function _t(t){const n=12*(Math.log(t)-Go)/qo+69;return Math.round(n*100)/100}const Bo="C C# D D# E F F# G G# A A# B".split(" "),Ho="C Db D Eb E F Gb G Ab A Bb B".split(" ");function T(t,n={}){if(isNaN(t)||t===-1/0||t===1/0)return"";t=Math.round(t);const o=(n.sharps===!0?Bo:Ho)[t%12];if(n.pitchClass)return o;const r=Math.floor(t/12)-1;return o+r}var Lo={isMidi:bn,toMidi:An,midiToFreq:zo,midiToNoteName:T,freqToMidi:_t};const Uo=["C","D","E","F","G","A","B"],vn=t=>t.name,Nn=t=>t.map(u).filter(n=>!n.empty);function Xo(t){return t===void 0?Uo.slice():Array.isArray(t)?Nn(t).map(vn):[]}const A=u,Ko=t=>A(t).name,Qo=t=>A(t).pc,Yo=t=>A(t).acc,Zo=t=>A(t).oct,Jo=t=>A(t).midi,Wo=t=>A(t).freq,tr=t=>A(t).chroma;function $n(t){return T(t)}function nr(t){return T(_t(t))}function er(t){return T(_t(t),{sharps:!0})}function or(t){return T(t,{sharps:!0})}const Vt=P,rr=P,In=t=>n=>Vt(n,t),ir=In,jn=t=>n=>Vt(t,n),ar=jn;function tt(t,n){const e=A(t);if(e.empty)return"";const[o,r]=e.coord;return z(r===void 0?[o+n]:[o+n,r]).name}const sr=tt,Ct=(t,n)=>t.height-n.height,cr=(t,n)=>n.height-t.height;function Tn(t,n){return n=n||Ct,Nn(t).sort(n).map(vn)}function Sn(t){return Tn(t,Ct).filter((n,e,o)=>e===0||n!==o[e-1])}const mr=t=>{const n=A(t);return n.empty?"":T(n.midi||n.chroma,{sharps:n.alt>0,pitchClass:n.midi===null})};function _n(t,n){const e=A(t);if(e.empty)return"";const o=A(n||T(e.midi||e.chroma,{sharps:e.alt<0,pitchClass:!0}));if(o.empty||o.chroma!==e.chroma)return"";if(e.oct===void 0)return o.pc;const r=e.chroma-e.alt,i=o.chroma-o.alt,a=r>11||i<0?-1:r<0||i>11?1:0,s=e.oct+a;return o.pc+s}var E={names:Xo,get:A,name:Ko,pitchClass:Qo,accidentals:Yo,octave:Zo,midi:Jo,ascending:Ct,descending:cr,sortedNames:Tn,sortedUniqNames:Sn,fromMidi:$n,fromMidiSharps:or,freq:Wo,fromFreq:nr,fromFreqSharps:er,chroma:tr,transpose:Vt,tr:rr,transposeBy:In,trBy:ir,transposeFrom:jn,trFrom:ar,transposeFifths:tt,trFifths:sr,simplify:mr,enharmonic:_n};const Vn={empty:!0,name:"",chordType:""},Ht={};function I(t){return typeof t=="string"?Ht[t]||(Ht[t]=pr(t)):typeof t=="number"?I(dt[t]||""):G(t)?dr(t):q(t)?I(t.name):Vn}const ur=v("RomanNumeral.romanNumeral","RomanNumeral.get",I);function lr(t=!0){return(t?dt:Pr).slice()}function dr(t){return I(k(t.alt)+dt[t.step])}const Mr=/^(#{1,}|b{1,}|x{1,}|)(IV|I{1,3}|VI{0,2}|iv|i{1,3}|vi{0,2})([^IViv]*)$/;function fr(t){return Mr.exec(t)||["","","",""]}const Cn="I II III IV V VI VII",dt=Cn.split(" "),Pr=Cn.toLowerCase().split(" ");function pr(t){const[n,e,o,r]=fr(t);if(!o)return Vn;const i=o.toUpperCase(),a=dt.indexOf(i),s=B(e),c=1;return{empty:!1,name:n,roman:o,interval:f({step:a,alt:s,dir:c}).name,acc:e,chordType:r,alt:s,step:a,major:o===i,oct:0,dir:c}}var hr={names:lr,get:I,romanNumeral:ur};const N=Object.freeze([]),wn={type:"major",tonic:"",alteration:0,keySignature:""},J={tonic:"",grades:N,intervals:N,scale:N,chords:N,chordsHarmonicFunction:N,chordScales:N},yr=g(y(y({},wn),J),{type:"major",minorRelative:"",scale:N,secondaryDominants:N,secondaryDominantsMinorRelative:N,substituteDominants:N,substituteDominantsMinorRelative:N}),gr=g(y({},wn),{type:"minor",relativeMajor:"",natural:J,harmonic:J,melodic:J}),Lt=(t,n,e="")=>n.map((o,r)=>`${t[r]}${e}${o}`);function Mt(t,n,e,o){return r=>{const i=t.map(s=>I(s).interval||""),a=i.map(s=>P(r,s));return{tonic:r,grades:t,intervals:i,scale:a,chords:Lt(a,n),chordsHarmonicFunction:e.slice(),chordScales:Lt(a,o," ")}}}const xn=(t,n)=>{const e=u(t),o=u(n);return e.empty||o.empty?0:o.coord[0]-e.coord[0]},br=Mt("I II III IV V VI VII".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(",")),Ar=Mt("I II bIII IV V bVI bVII".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(",")),vr=Mt("I II bIII IV V bVI VII".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(",")),Nr=Mt("I II bIII IV V VI VII".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 $r(t){const n=u(t).pc;if(!n)return yr;const e=br(n),o=xn("C",n),r=i=>{const a=I(i);return a.empty?"":P(t,a.interval)+a.chordType};return g(y({},e),{type:"major",minorRelative:P(n,"-3m"),alteration:o,keySignature:k(o),secondaryDominants:"- VI7 VII7 I7 II7 III7 -".split(" ").map(r),secondaryDominantsMinorRelative:"- IIIm7b5 IV#m7 Vm7 VIm7 VIIm7b5 -".split(" ").map(r),substituteDominants:"- bIII7 IV7 bV7 bVI7 bVII7 -".split(" ").map(r),substituteDominantsMinorRelative:"- IIIm7 Im7 IIbm7 VIm7 IVm7 -".split(" ").map(r)})}function Ir(t){const n=u(t).pc;if(!n)return gr;const e=xn("C",n)-3;return{type:"minor",tonic:n,relativeMajor:P(n,"3m"),alteration:e,keySignature:k(e),natural:Ar(n),harmonic:vr(n),melodic:Nr(n)}}function jr(t){return typeof t=="number"?tt("C",t):typeof t=="string"&&/^b+|#+$/.test(t)?tt("C",B(t)):null}var Tr={majorKey:$r,majorTonicFromKeySignature:jr,minorKey:Ir};const wt=[[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"]],Ut=g(y({},V),{name:"",alt:0,modeNum:NaN,triad:"",seventh:"",aliases:[]}),xt=wt.map(Cr),At={};xt.forEach(t=>{At[t.name]=t,t.aliases.forEach(n=>{At[n]=t})});function C(t){return typeof t=="string"?At[t.toLowerCase()]||Ut:t&&t.name?C(t.name):Ut}const Sr=v("Mode.mode","Mode.get",C);function En(){return xt.slice()}const _r=v("Mode.mode","Mode.all",En);function Vr(){return xt.map(t=>t.name)}function Cr(t){const[n,e,o,r,i,a,s]=t,c=s?[s]:[],l=Number(e).toString(2),m=mt(r).intervals;return{empty:!1,intervals:m,modeNum:n,chroma:l,normalized:l,name:r,setNum:e,alt:o,triad:i,seventh:a,aliases:c}}function wr(t,n){return C(t).intervals.map(e=>P(n,e))}function Dn(t){return(n,e)=>{const o=C(n);if(o.empty)return[];const r=L(o.modeNum,t),i=o.intervals.map(a=>P(e,a));return r.map((a,s)=>i[s]+a)}}const xr=Dn(wt.map(t=>t[4])),Er=Dn(wt.map(t=>t[5]));function kn(t,n){const e=C(n),o=C(t);return e.empty||o.empty?"":pn(yn("1P",o.alt-e.alt))}function Dr(t,n,e){return P(e,kn(t,n))}var kr={get:C,names:Vr,all:En,distance:kn,relativeTonic:Dr,notes:wr,triads:xr,seventhChords:Er,entries:_r,mode:Sr};function Rr(t,n){return n.map(I).map(o=>P(t,f(o))+o.chordType)}function Or(t,n){return n.map(e=>{const[o,r]=ut(e),i=R(t,o);return I(f(i)).name+r})}var Fr={fromRomanNumerals:Rr,toRomanNumerals:Or};function Rn(t){const n=$t(t.map(An));return!t.length||n.length!==t.length?[]:n.reduce((e,o)=>{const r=e[e.length-1];return e.concat(it(r,o).slice(1))},[n[0]])}function zr(t,n){return Rn(t).map(e=>T(e,n))}var qr={numeric:Rn,chromatic:zr};const Gr={empty:!0,name:"",type:"",tonic:null,setNum:NaN,chroma:"",normalized:"",aliases:[],notes:[],intervals:[]};function On(t){if(typeof t!="string")return["",""];const n=t.indexOf(" "),e=u(t.substring(0,n));if(e.empty){const r=u(t);return r.empty?["",t]:[r.name,""]}const o=t.substring(e.name.length+1);return[e.name,o.length?o:""]}const Br=dn;function j(t){const n=Array.isArray(t)?t:On(t),e=u(n[0]).name,o=mt(n[1]);if(o.empty)return Gr;const r=o.name,i=e?o.intervals.map(s=>P(e,s)):[],a=e?e+" "+r:r;return g(y({},o),{name:a,type:r,tonic:e,notes:i})}const Hr=v("Scale.scale","Scale.get",j);function Lr(t){const n=j(t),e=at(n.chroma);return F().filter(o=>e(o.chroma)).map(o=>o.aliases[0])}function Ur(t){const n=j(t),e=st(n.chroma);return U().filter(o=>e(o.chroma)).map(o=>o.name)}function Xr(t){const n=at(j(t).chroma);return U().filter(e=>n(e.chroma)).map(e=>e.name)}function Fn(t){const n=t.map(r=>u(r).pc).filter(r=>r),e=n[0],o=Sn(n);return L(o.indexOf(e),o)}function Kr(t){const n=j(t);if(n.empty)return[];const e=n.tonic?n.notes:n.intervals;return jt(n.chroma).map((o,r)=>{const i=j(o).name;return i?[e[r],i]:["",""]}).filter(o=>o[0])}function Qr(t){const n=Array.isArray(t)?Fn(t):j(t).notes,e=n.map(o=>u(o).chroma);return o=>{const r=u(typeof o=="number"?$n(o):o),i=r.height;if(i===void 0)return;const a=i%12,s=e.indexOf(a);if(s!==-1)return _n(r.name,n[s])}}function Yr(t){const n=Qr(t);return(e,o)=>{const r=u(e).height,i=u(o).height;return r===void 0||i===void 0?[]:it(r,i).map(n).filter(a=>a)}}var nt={get:j,names:Br,extended:Ur,modeNames:Kr,reduced:Xr,scaleChords:Lr,scaleNotes:Fn,tokenize:On,rangeOf:Yr,scale:Hr};const Zr={empty:!0,name:"",upper:void 0,lower:void 0,type:void 0,additive:[]},Jr=["4/4","3/4","2/4","2/2","12/8","9/8","6/8","3/8"];function Wr(){return Jr.slice()}const ti=/^(\d?\d(?:\+\d)*)\/(\d)$/,Xt=new Map;function ni(t){const n=Xt.get(t);if(n)return n;const e=oi(Et(t));return Xt.set(t,e),e}function Et(t){if(typeof t=="string"){const[i,a,s]=ti.exec(t)||[];return Et([a,s])}const[n,e]=t,o=+e;if(typeof n=="number")return[n,o];const r=n.split("+").map(i=>+i);return r.length===1?[r[0],o]:[r,o]}var ei={names:Wr,parse:Et,get:ni};function oi([t,n]){const e=Array.isArray(t)?t.reduce((s,c)=>s+c,0):t,o=n;if(e===0||o===0)return Zr;const r=Array.isArray(t)?`${t.join("+")}/${n}`:`${t}/${n}`,i=Array.isArray(t)?t:[],a=o===4||o===2?"simple":o===8&&e%3===0?"compound":"irregular";return{empty:!1,name:r,type:a,upper:e,lower:o,additive:i}}const ri=tn,ii=mn,ai=ln,si=fn;var ci=Object.freeze(Object.defineProperty({__proto__:null,Array:$e,Core:tn,ChordDictionary:ai,PcSet:ii,ScaleDictionary:si,Tonal:ri,AbcNotation:pe,Chord:ho,ChordType:ln,Collection:Se,DurationValue:Io,Interval:bt,Key:Tr,Midi:Lo,Mode:kr,Note:E,Pcset:mn,Progression:Fr,Range:qr,RomanNumeral:hr,Scale:nt,ScaleType:fn,TimeSignature:ei,accToAlt:B,altToAcc:k,coordToInterval:H,coordToNote:z,decode:ot,deprecate:v,distance:R,encode:et,fillStr:x,interval:f,isNamed:q,isPitch:G,note:u,stepToLetter:vt,tokenizeInterval:Nt,tokenizeNote:rt,transpose:P},Symbol.toStringTag,{value:"Module"}));function zn(t,n,e){let[o,r]=nt.tokenize(t),{notes:i}=nt.get(`${o} ${r}`);if(i=i.map(b=>E.get(b).pc),n=Number(n),isNaN(n))throw new Error(`scale offset "${n}" not a number`);const{pc:a,oct:s=3}=E.get(e),c=i.indexOf(a);if(c===-1)throw new Error(`note "${e}" is not in scale "${t}"`);let l=c,m=s,d=a;const M=Math.sign(n);for(;Math.abs(l-c)0&&d[0]==="C"&&(m+=M)}return d+m}w.prototype._transpose=function(t){return this._withHap(n=>{const e=isNaN(Number(t))?String(t):bt.fromSemitones(t);if(typeof n.value=="number"){const o=typeof e=="string"?bt.semitones(e)||0:e;return n.withValue(()=>n.value+o)}return n.withValue(()=>E.simplify(E.transpose(n.value,e)))})};w.prototype._scaleTranspose=function(t){return this._withHap(n=>{if(!n.context.scale)throw new Error("can only use scaleTranspose after .scale");if(typeof n.value!="string")throw new Error("can only use scaleTranspose with notes");return n.withValue(()=>zn(n.context.scale,Number(t),n.value))})};w.prototype._scale=function(t){return this._withHap(n=>{let e=n.value;const o=Number(e);if(!isNaN(o)){let[r,i]=nt.tokenize(t);const{pc:a,oct:s=3}=E.get(r);e=zn(a+" "+i,o,a+s)}return n.withValue(()=>e).setContext(g(y({},n.context),{scale:t}))})};w.prototype.define("transpose",(t,n)=>n.transpose(t),{composable:!0,patternified:!0});w.prototype.define("scale",(t,n)=>n.scale(t),{composable:!0,patternified:!0});w.prototype.define("scaleTranspose",(t,n)=>n.scaleTranspose(t),{composable:!0,patternified:!0});var qn={},Dt={},K={};K.__esModule=!0;K.getBestVoicing=void 0;function mi(t){var n=t.chord,e=t.range,o=t.finder,r=t.picker,i=t.lastVoicing,a=o(n,e);return a.length?r(a,i):[]}K.getBestVoicing=mi;var ft={},Gn=Qn(ci),Q={};Q.__esModule=!0;Q.tokenizeChord=void 0;function ui(t){var n=(t||"").match(/^([A-G][b#]*)([^\/]*)[\/]?([A-G][b#]*)?$/);return n?n.slice(1):[]}Q.tokenizeChord=ui;ft.__esModule=!0;ft.voicingsInRange=void 0;var $=Gn,li=Dt,di=Q;function Mi(t,n,e){n===void 0&&(n=li.lefthand),e===void 0&&(e=["D3","A4"]);var o=(0,di.tokenizeChord)(t),r=o[0],i=o[1];if(!n[i])return[];var a=n[i].map(function(c){return c.split(" ")}),s=$.Range.chromatic(e);return a.reduce(function(c,l){var m=l.map(function(p){return $.Interval.substract(p,l[0])}),d=$.Note.transpose(r,l[0]),M=s.filter(function(p){return $.Note.chroma(p)===$.Note.chroma(d)}).filter(function(p){return $.Note.midi($.Note.transpose(p,m[m.length-1]))<=$.Note.midi(e[1])}).map(function(p){return $.Note.enharmonic(p,d)}),b=M.map(function(p){return m.map(function(pt){return $.Note.transpose(p,pt)})});return c.concat(b)},[])}ft.voicingsInRange=Mi;(function(t){var n=Y&&Y.__assign||function(){return n=Object.assign||function(s){for(var c,l=1,m=arguments.length;lPi({chord:t,dictionary:hi,range:e,picker:pi,lastVoicing:n}),D=w;D.prototype.fmapNested=function(t){return new D(n=>this.query(n).map(e=>Zn(t(e)).query(n).map(o=>new Jn(e.whole,e.part,o.value,o.context))).flat())};D.prototype.voicings=function(t){let n;return t!=null&&t.length||(t=["F3","A4"]),this.fmapNested(e=>(n=yi(e.value,n,t),Wn(...n)._withContext(()=>({locations:e.context.locations||[]}))))};D.prototype._rootNotes=function(t=2){return this.fmap(n=>{const[e,o]=n.match(/^([a-gA-G][b#]?).*$/);return o+t})};D.prototype.define("voicings",(t,n)=>n.voicings(t),{composable:!0});D.prototype.define("rootNotes",(t,n)=>n.rootNotes(t),{composable:!0,patternified:!0}); diff --git a/assets/index.64ac172e.js b/tutorial/assets/index.ab40fa35.js similarity index 99% rename from assets/index.64ac172e.js rename to tutorial/assets/index.ab40fa35.js index 8123db5d8..9940d6dac 100644 --- a/assets/index.64ac172e.js +++ b/tutorial/assets/index.ab40fa35.js @@ -1,4 +1,4 @@ -var tt=Object.defineProperty,nt=Object.defineProperties;var at=Object.getOwnPropertyDescriptors;var M=Object.getOwnPropertySymbols;var Pe=Object.prototype.hasOwnProperty,Oe=Object.prototype.propertyIsEnumerable;var Re=(a,f,r)=>f in a?tt(a,f,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[f]=r,H=(a,f)=>{for(var r in f||(f={}))Pe.call(f,r)&&Re(a,r,f[r]);if(M)for(var r of M(f))Oe.call(f,r)&&Re(a,r,f[r]);return a},J=(a,f)=>nt(a,at(f));var qe=(a,f)=>{var r={};for(var $ in a)Pe.call(a,$)&&f.indexOf($)<0&&(r[$]=a[$]);if(a!=null&&M)for(var $ of M(a))f.indexOf($)<0&&Oe.call(a,$)&&(r[$]=a[$]);return r};import{F as it}from"./index.da4a4bfc.js";function ft(a,f){function r(){this.constructor=a}r.prototype=f.prototype,a.prototype=new r}function D(a,f,r,$){var l=Error.call(this,a);return Object.setPrototypeOf&&Object.setPrototypeOf(l,D.prototype),l.expected=f,l.found=r,l.location=$,l.name="SyntaxError",l}ft(D,Error);function K(a,f,r){return r=r||" ",a.length>f?a:(f-=a.length,r+=r.repeat(f),a+r.slice(0,f))}D.prototype.format=function(a){var f="Error: "+this.message;if(this.location){var r=null,$;for($=0;$f in a?tt(a,f,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[f]=r,H=(a,f)=>{for(var r in f||(f={}))Pe.call(f,r)&&Re(a,r,f[r]);if(M)for(var r of M(f))Oe.call(f,r)&&Re(a,r,f[r]);return a},J=(a,f)=>nt(a,at(f));var qe=(a,f)=>{var r={};for(var $ in a)Pe.call(a,$)&&f.indexOf($)<0&&(r[$]=a[$]);if(a!=null&&M)for(var $ of M(a))f.indexOf($)<0&&Oe.call(a,$)&&(r[$]=a[$]);return r};import{C as it}from"./index.268aabb2.js";function ft(a,f){function r(){this.constructor=a}r.prototype=f.prototype,a.prototype=new r}function D(a,f,r,$){var l=Error.call(this,a);return Object.setPrototypeOf&&Object.setPrototypeOf(l,D.prototype),l.expected=f,l.found=r,l.location=$,l.name="SyntaxError",l}ft(D,Error);function K(a,f,r){return r=r||" ",a.length>f?a:(f-=a.length,r+=r.repeat(f),a+r.slice(0,f))}D.prototype.format=function(a){var f="Error: "+this.message;if(this.location){var r=null,$;for($=0;$ `+m+` `+w+` | `+l.line+" | "+E+` diff --git a/tutorial/assets/index.984b93b0.js b/tutorial/assets/index.ce8cf8c8.js similarity index 93% rename from tutorial/assets/index.984b93b0.js rename to tutorial/assets/index.ce8cf8c8.js index 31a64975c..9d0ec6823 100644 --- a/tutorial/assets/index.984b93b0.js +++ b/tutorial/assets/index.ce8cf8c8.js @@ -1 +1 @@ -var h=Object.defineProperty;var p=(e,t,s)=>t in e?h(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var l=(e,t,s)=>(p(e,typeof t!="symbol"?t+"":t,s),s);import{S as f,E as u}from"./index.171fdc07.js";import{F as v,G as L,J as M,N as T,I as B,K as I,M as y,L as F}from"./index.171fdc07.js";const d=e=>"("+e+")();",g=e=>URL.createObjectURL(new Blob([d(e)],{type:"text/javascript"})),w=e=>new Worker(g(e));class k{constructor(t,s,i=this.interval){l(this,"worker");l(this,"audioContext");l(this,"interval",.2);l(this,"lastEnd",0);this.audioContext=t,this.interval=i,this.worker=w(()=>{let o,a=null;const n=()=>{a&&(clearInterval(a),a=null)},r=()=>{if(n(),!o)throw new Error("no interval set! call worker.postMessage({interval}) before starting.");a=setInterval(()=>postMessage("tick"),o*1e3)};self.onmessage=function(c){c.data=="start"?r():c.data.interval?(o=c.data.interval,a&&r()):c.data=="stop"&&n()}}),this.worker.postMessage({interval:i}),this.worker.onmessage=o=>{if(o.data==="tick"){const a=this.lastEnd||this.audioContext.currentTime,n=this.audioContext.currentTime+this.interval;this.lastEnd=n,s(a,n)}}}start(){console.log("start..."),this.audioContext.resume(),this.worker.postMessage("start")}stop(){console.log("stop..."),this.worker.postMessage("stop")}}class b{constructor({audioContext:t,interval:s=.2,onEvent:i,latency:o=.2}){l(this,"worker");l(this,"pattern");this.worker=new k(t,(a,n)=>{this.pattern.query(new f(new u(a+o,n+o))).forEach(r=>{!r.part.begin.equals(r.whole.begin)||(r.context.onTrigger&&r.context.onTrigger(r.whole.begin,r,t.currentTime,1),i&&(i==null||i(r)))})},s)}start(){if(!this.pattern)throw new Error("Scheduler: no pattern set! call .setPattern first.");this.worker.start()}stop(){this.worker.stop()}setPattern(t){this.pattern=t}}export{k as ClockWorker,b as Scheduler,v as getAudioContext,L as getCachedBuffer,M as getLoadedBuffer,T as getLoadedSamples,B as loadBuffer,I as loadGithubSamples,y as resetLoadedSamples,F as samples}; +var h=Object.defineProperty;var p=(e,t,s)=>t in e?h(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var l=(e,t,s)=>(p(e,typeof t!="symbol"?t+"":t,s),s);import{S as f,E as u}from"./index.268aabb2.js";import{F as v,G as L,J as M,N as T,I as B,K as I,M as y,L as F}from"./index.268aabb2.js";const d=e=>"("+e+")();",g=e=>URL.createObjectURL(new Blob([d(e)],{type:"text/javascript"})),w=e=>new Worker(g(e));class k{constructor(t,s,i=this.interval){l(this,"worker");l(this,"audioContext");l(this,"interval",.2);l(this,"lastEnd",0);this.audioContext=t,this.interval=i,this.worker=w(()=>{let o,a=null;const n=()=>{a&&(clearInterval(a),a=null)},r=()=>{if(n(),!o)throw new Error("no interval set! call worker.postMessage({interval}) before starting.");a=setInterval(()=>postMessage("tick"),o*1e3)};self.onmessage=function(c){c.data=="start"?r():c.data.interval?(o=c.data.interval,a&&r()):c.data=="stop"&&n()}}),this.worker.postMessage({interval:i}),this.worker.onmessage=o=>{if(o.data==="tick"){const a=this.lastEnd||this.audioContext.currentTime,n=this.audioContext.currentTime+this.interval;this.lastEnd=n,s(a,n)}}}start(){console.log("start..."),this.audioContext.resume(),this.worker.postMessage("start")}stop(){console.log("stop..."),this.worker.postMessage("stop")}}class b{constructor({audioContext:t,interval:s=.2,onEvent:i,latency:o=.2}){l(this,"worker");l(this,"pattern");this.worker=new k(t,(a,n)=>{this.pattern.query(new f(new u(a+o,n+o))).forEach(r=>{!r.part.begin.equals(r.whole.begin)||(r.context.onTrigger&&r.context.onTrigger(r.whole.begin,r,t.currentTime,1),i&&(i==null||i(r)))})},s)}start(){if(!this.pattern)throw new Error("Scheduler: no pattern set! call .setPattern first.");this.worker.start()}stop(){this.worker.stop()}setPattern(t){this.pattern=t}}export{k as ClockWorker,b as Scheduler,v as getAudioContext,L as getCachedBuffer,M as getLoadedBuffer,T as getLoadedSamples,B as loadBuffer,I as loadGithubSamples,y as resetLoadedSamples,F as samples}; diff --git a/assets/osc.bfde1185.js b/tutorial/assets/osc.cc98db01.js similarity index 99% rename from assets/osc.bfde1185.js rename to tutorial/assets/osc.cc98db01.js index 8ceb8a58b..1e8d38d38 100644 --- a/assets/osc.bfde1185.js +++ b/tutorial/assets/osc.cc98db01.js @@ -1 +1 @@ -var ot=Object.defineProperty,st=Object.defineProperties;var it=Object.getOwnPropertyDescriptors;var ke=Object.getOwnPropertySymbols;var at=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable;var be=(g,d,p)=>d in g?ot(g,d,{enumerable:!0,configurable:!0,writable:!0,value:p}):g[d]=p,Se=(g,d)=>{for(var p in d||(d={}))at.call(d,p)&&be(g,p,d[p]);if(ke)for(var p of ke(d))ut.call(d,p)&&be(g,p,d[p]);return g},Oe=(g,d)=>st(g,it(d));import{B as H,P as ct}from"./index.da4a4bfc.js";var Ee={exports:{}};(function(g,d){(function(p,u){g.exports=u()})(H,function(){function p(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e&&(t=t.filter(function(o){return Object.getOwnPropertyDescriptor(r,o).enumerable})),n.push.apply(n,t)}return n}function u(r){for(var e=1;e1&&e[e.length-1]==="/"&&(e=e.slice(0,e.length-1)),e.length>1&&e[0]!=="/"&&(e="/".concat(e)),e;throw new Error("OSC prepareAddress() needs addresses of type array or string")}function ae(r){if(!v(r))throw new Error("OSC prepareRegExPattern() needs strings");return r.replace(/\./g,"\\.").replace(/\(/g,"\\(").replace(/\)/g,"\\)").replace(/\{/g,"(").replace(/\}/g,")").replace(/,/g,"|").replace(/\[!/g,"[^").replace(/\?/g,".").replace(/\*/g,".*")}var ue=function(){function r(){f(this,r),this.data=[],this.byteLength=0}return l(r,[{key:"add",value:function(e){if(te(e)||ne(e)||oe(e))return this;var n=e.pack();return this.byteLength+=n.byteLength,this.data.push(n),this}},{key:"merge",value:function(){var e=new Uint8Array(this.byteLength),n=0;return this.data.forEach(function(t){e.set(t,n),n+=t.byteLength}),e}}]),r}(),C=function(){function r(e){f(this,r),this.value=e,this.offset=0}return l(r,[{key:"pack",value:function(e,n){if(!e||!n)throw new Error("OSC Atomic cant't be packed without given method or byteLength");var t=new Uint8Array(n),o=new DataView(t.buffer);if(A(this.value))throw new Error("OSC Atomic cant't be encoded with empty value");return o[e](this.offset,this.value,!1),t}},{key:"unpack",value:function(e,n,t){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(!(e&&n&&t))throw new Error("OSC Atomic cant't be unpacked without given dataView, method or byteLength");if(!(e instanceof DataView))throw new Error("OSC Atomic expects an instance of type DataView");return this.value=e[n](o,!1),this.offset=o+t,this.offset}}]),r}(),U=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&!b(t))throw new Error("OSC AtomicInt32 constructor expects value of type number");return e.call(this,t)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setInt32",4)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getInt32",4,o)}}]),n}(C),ce="utf-8";function De(r){if(se("Buffer"))return Buffer.from(r).toString(ce);if(se("TextDecoder"))return new TextDecoder(ce).decode(new Int8Array(r));for(var e="",n=0;n1&&arguments[1]!==void 0?arguments[1]:0;if(!(t instanceof DataView))throw new Error("OSC AtomicString expects an instance of type DataView");for(var i,s=o,a=[];s0&&arguments[0]!==void 0?arguments[0]:0,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(f(this,r),!b(e)||!b(n))throw new Error("OSC Timetag constructor expects values of type integer number");this.seconds=e,this.fractions=n}return l(r,[{key:"timestamp",value:function(e){var n;if(typeof e=="number"){n=e/1e3;var t=Math.floor(n);return this.seconds=t+fe,this.fractions=Math.round(le*(n-t)),e}return 1e3*((n=this.seconds-fe)+Math.round(this.fractions/le))}}]),r}(),B=function(r){k(n,r);var e=y(n);function n(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Date.now();f(this,n);var o=new G;return t instanceof G?o=t:b(t)?o.timestamp(t):Ae(t)&&o.timestamp(t.getTime()),e.call(this,o)}return l(n,[{key:"pack",value:function(){if(A(this.value))throw new Error("OSC AtomicTimetag can not be encoded with empty value");var t=this.value,o=t.seconds,i=t.fractions,s=new Uint8Array(8),a=new DataView(s.buffer);return a.setInt32(0,o,!1),a.setInt32(4,i,!1),s}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(t instanceof DataView))throw new Error("OSC AtomicTimetag expects an instance of type DataView");var i=t.getUint32(o,!1),s=t.getUint32(o+4,!1);return this.value=new G(i,s),this.offset=o+8,this.offset}}]),n}(C),he=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&!re(t))throw new Error("OSC AtomicBlob constructor expects value of type Uint8Array");return e.call(this,t)}return l(n,[{key:"pack",value:function(){if(A(this.value))throw new Error("OSC AtomicBlob can not be encoded with empty value");var t=V(this.value.byteLength),o=new Uint8Array(t+4);return new DataView(o.buffer).setInt32(0,this.value.byteLength,!1),o.set(this.value,4),o}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(t instanceof DataView))throw new Error("OSC AtomicBlob expects an instance of type DataView");var i=t.getInt32(o,!1);return this.value=new Uint8Array(t.buffer,o+4,i),this.offset=V(o+4+i),this.offset}}]),n}(C),pe=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&!ee(t))throw new Error("OSC AtomicFloat32 constructor expects value of type float");return e.call(this,t)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setFloat32",4)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getFloat32",4,o)}}]),n}(C),de=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&!ee(t))throw new Error("OSC AtomicFloat64 constructor expects value of type float");return e.call(this,t)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setFloat64",8)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getFloat64",8,o)}}]),n}(C),je=BigInt("9223372036854775807"),xe=BigInt("-9223372036854775808"),ge=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&typeof t!="bigint")throw new Error("OSC AtomicInt64 constructor expects value of type BigInt");if(t&&(tje))throw new Error("OSC AtomicInt64 value is out of bounds");var o;return t&&(o=BigInt.asIntN(64,t)),e.call(this,o)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setBigInt64",8)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getBigInt64",8,o)}}]),n}(C),Be=BigInt("18446744073709551615"),ve=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&typeof t!="bigint")throw new Error("OSC AtomicUInt64 constructor expects value of type BigInt");if(t&&(t<0||t>Be))throw new Error("OSC AtomicUInt64 value is out of bounds");var o;return t&&(o=BigInt.asUintN(64,t)),e.call(this,o)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setBigUint64",8)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getBigUint64",8,o)}}]),n}(C),Z=!0,q=!1,J=null,K=1/0,Q=function(){function r(e,n){var t=this;if(f(this,r),this.offset=0,this.address="",this.types="",this.args=[],!A(e)){if(!v(e)&&!D(e))throw new Error("OSC Message constructor first argument (address) must be a string or array");this.address=L(e)}if(!A(n)){if(!D(n))throw new Error("OSC Message constructor second argument (args) must be an array");n.forEach(function(o){return t.add(o.type,o.value)})}}return l(r,[{key:"add",value:function(e,n){if(A(e))throw new Error("OSC Message needs a valid OSC Atomic Data Type");e==="N"?this.args.push(J):e==="T"?this.args.push(Z):e==="F"?this.args.push(q):e==="I"?this.args.push(K):this.args.push(n),this.types+=e}},{key:"pack",value:function(){var e=this;if(this.address.length===0||this.address[0]!=="/")throw new Error("OSC Message has an invalid address");var n=new ue;if(n.add(new S(this.address)),n.add(new S(",".concat(this.types))),this.args.length>0){var t;if(this.args.length>this.types.length)throw new Error("OSC Message argument and type tag mismatch");this.args.forEach(function(o,i){var s=e.types[i];if(s==="i")t=new U(o);else if(s==="h")t=new ge(o);else if(s==="t")t=new ve(o);else if(s==="f")t=new pe(o);else if(s==="d")t=new de(o);else if(s==="s")t=new S(o);else if(s==="b")t=new he(o);else if(s==="T")t=Z;else if(s==="F")t=q;else if(s==="N")t=J;else{if(s!=="I")throw new Error("OSC Message found unknown argument type");t=K}n.add(t)})}return n.merge()}},{key:"unpack",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(e instanceof DataView))throw new Error("OSC Message expects an instance of type DataView.");var t=new S;t.unpack(e,n);var o=new S;if(o.unpack(e,t.offset),t.value.length===0||t.value[0]!=="/")throw new Error("OSC Message found malformed or missing address string");if(o.value.length===0&&o.value[0]!==",")throw new Error("OSC Message found malformed or missing type string");for(var i,s,a=o.offset,c=[],w=1;w0&&(o=a.shift()),a.length>0&&a[0]instanceof Array&&(i=a.shift()),t=e.call(this,o,i),a.length>0&&(t.types=a.map(function(w){return ie(w)}).join(""),t.args=a),t}return l(n,[{key:"add",value:function(t){m(h(n.prototype),"add",this).call(this,ie(t),t)}}]),n}(Q),_="#bundle",I=function(){function r(){var e=this;f(this,r),this.offset=0,this.timetag=new B,this.bundleElements=[];for(var n=arguments.length,t=new Array(n),o=0;o0&&(t[0]instanceof Date||b(t[0])?this.timetag=new B(t[0]):D(t[0])?(t[0].forEach(function(i){e.add(i)}),t.length>1&&(t[1]instanceof Date||b(t[1]))&&(this.timetag=new B(t[1]))):t.forEach(function(i){e.add(i)}))}return l(r,[{key:"timestamp",value:function(e){if(!b(e))throw new Error("OSC Bundle needs an integer for setting the timestamp");this.timetag=new B(e)}},{key:"add",value:function(e){if(!(e instanceof E||e instanceof r))throw new Error("OSC Bundle contains only Messages and Bundles");this.bundleElements.push(e)}},{key:"pack",value:function(){var e=new ue;return e.add(new S(_)),this.timetag||(this.timetag=new B),e.add(this.timetag),this.bundleElements.forEach(function(n){e.add(new U(n.pack().byteLength)),e.add(n)}),e.merge()}},{key:"unpack",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(e instanceof DataView))throw new Error("OSC Bundle expects an instance of type DataView");var t=new S;if(t.unpack(e,n),t.value!==_)throw new Error("OSC Bundle does not contain a valid #bundle head");var o=new B,i=o.unpack(e,t.offset);for(this.bundleElements=[];i1&&arguments[1]!==void 0?arguments[1]:0;if(!(e instanceof DataView))throw new Error("OSC Packet expects an instance of type DataView");if(e.byteLength%4!=0)throw new Error("OSC Packet byteLength has to be a multiple of four");var t,o=new S;return o.unpack(e,n),(t=o.value===_?new I:new E).unpack(e,n),this.offset=t.offset,this.value=t,this.offset}}]),r}(),Me={discardLateMessages:!1},He=function(){function r(e){f(this,r),this.options=u(u({},Me),e),this.addressHandlers=[],this.eventHandlers={open:[],error:[],close:[]},this.uuid=0}return l(r,[{key:"dispatch",value:function(e,n){var t=this;if(!(e instanceof M))throw new Error("OSC EventHander dispatch() accepts only arguments of type Packet");if(!e.value)throw new Error("OSC EventHander dispatch() can't read empty Packets");if(e.value instanceof I){var o=e.value;return o.bundleElements.forEach(function(s){if(s instanceof I){if(o.timetag.value.timestamp()1&&(s=n[1]);var a=null;if(n.length>2)if(b(n[2]))a=n[2];else{if(!(n[2]instanceof Date))throw new Error("OSC EventHandler timestamp has to be a number or Date");a=n[2].getTime()}var c=null;if(n.length>=3&&(c=n[3]),a){var w=Date.now();if(w>a&&!this.options.discardLateMessages)return this.call(i,s,c);var P=this;return setTimeout(function(){P.call(i,s,c)},a-w),!0}return this.call(i,s,c)}},{key:"on",value:function(e,n){if(!v(e)&&!D(e))throw new Error("OSC EventHandler accepts only strings or arrays for address patterns");if(!j(n))throw new Error("OSC EventHandler callback has to be a function");this.uuid+=1;var t={id:this.uuid,callback:n};if(v(e)&&e in this.eventHandlers)return this.eventHandlers[e].push(t),this.uuid;var o=L(e);return o in this.addressHandlers||(this.addressHandlers[o]=[]),this.addressHandlers[o].push(t),this.uuid}},{key:"off",value:function(e,n){if(!v(e)&&!D(e))throw new Error("OSC EventHandler accepts only strings or arrays for address patterns");if(!b(n))throw new Error("OSC EventHandler subscription id has to be a number");var t,o;return v(e)&&e in this.eventHandlers?(t=e,o=this.eventHandlers):(t=L(e),o=this.addressHandlers),t in o&&o[t].some(function(i,s){return i.id===n&&(o[t].splice(s,1),!0)})}}]),r}(),Te=0,Le=1,Ne=2,Ve=3,Ue=function(){function r(){throw f(this,r),new Error("DatagramPlugin can not be used in browser context")}return l(r,[{key:"registerNotify",value:function(e){this.notify=e}},{key:"status",value:function(){return this.socketStatus}},{key:"open",value:function(){var e=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=u(u({},this.options.open),n),o=t.port,i=t.exclusive;this.socketStatus=Te,this.socket.bind({address:t.host,port:o,exclusive:i},function(){e.socketStatus=Le,e.notify("open")})}},{key:"close",value:function(){var e=this;this.socketStatus=Ne,this.socket.close(function(){e.socketStatus=Ve,e.notify("close")})}},{key:"send",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=u(u({},this.options.send),n),o=t.port,i=t.host;this.socket.send(Buffer.from(e),0,e.byteLength,o,i)}}]),r}();typeof WebSocket!="undefined"?x=WebSocket:typeof MozWebSocket!="undefined"?x=MozWebSocket:typeof H!="undefined"?x=H.WebSocket||H.MozWebSocket:typeof window!="undefined"?x=window.WebSocket||window.MozWebSocket:typeof self!="undefined"&&(x=self.WebSocket||self.MozWebSocket);var X=void 0,we=x,_e=0,We=1,Re=2,Fe=3,W={udpServer:{host:"localhost",port:41234,exclusive:!1},udpClient:{host:"localhost",port:41235},wsServer:{host:"localhost",port:8080},receiver:"ws"};function ye(r,e){return u(u(u(u({},W),r),e),{},{udpServer:u(u(u({},W.udpServer),r.udpServer),e.udpServer),udpClient:u(u(u({},W.udpClient),r.udpClient),e.udpClient),wsServer:u(u(u({},W.wsServer),r.wsServer),e.wsServer)})}var ze=function(){function r(){throw f(this,r),new Error("BridgePlugin can not be used in browser context")}return l(r,[{key:"registerNotify",value:function(e){this.notify=e}},{key:"status",value:function(){return this.socketStatus}},{key:"open",value:function(){var e=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=ye(this.options,n);this.socketStatus=_e,this.socket.bind({address:t.udpServer.host,port:t.udpServer.port,exclusive:t.udpServer.exclusive},function(){var o={};t.wsServer.server?o.server=t.wsServer.server:o=t.wsServer,e.websocket=new X(o),e.websocket.binaryType="arraybuffer",e.websocket.on("listening",function(){e.socketStatus=We,e.notify("open")}),e.websocket.on("error",function(i){e.notify("error",i)}),e.websocket.on("connection",function(i){i.on("message",function(s,a){e.send(s,{receiver:"udp"}),e.notify(new Uint8Array(s),a)})})})}},{key:"close",value:function(){var e=this;this.socketStatus=Re,this.socket.close(function(){e.websocket.close(function(){e.socketStatus=Fe,e.notify("close")})})}},{key:"send",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=ye(this.options,n),o=t.receiver;if(o==="udp"){var i=e instanceof Buffer?e:Buffer.from(e);this.socket.send(i,0,i.byteLength,t.udpClient.port,t.udpClient.host)}else{if(o!=="ws")throw new Error("BridgePlugin can not send message to unknown receiver");this.websocket.clients.forEach(function(s){s.send(e,{binary:!0})})}}}]),r}(),Ge=-1,Ze=0,qe=1,Je=2,Ke=3,Qe={host:"localhost",port:8080,secure:!1,protocol:[]},me=function(){function r(e){if(f(this,r),!we)throw new Error("WebsocketClientPlugin can't find a WebSocket class");this.options=u(u({},Qe),e),this.socket=null,this.socketStatus=Ge,this.notify=function(){}}return l(r,[{key:"registerNotify",value:function(e){this.notify=e}},{key:"status",value:function(){return this.socketStatus}},{key:"open",value:function(){var e=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=u(u({},this.options),n),o=t.port,i=t.host,s=t.secure,a=t.protocol;this.socket&&this.close();var c=s?"wss":"ws",w={address:i,family:c,port:o,size:0};this.socket=new we("".concat(c,"://").concat(i,":").concat(o),a),this.socket.binaryType="arraybuffer",this.socketStatus=Ze,this.socket.onopen=function(){e.socketStatus=qe,e.notify("open")},this.socket.onclose=function(){e.socketStatus=Ke,e.notify("close")},this.socket.onerror=function(P){e.notify("error",P)},this.socket.onmessage=function(P){e.notify(P.data,w)}}},{key:"close",value:function(){this.socketStatus=Je,this.socket.close()}},{key:"send",value:function(e){this.socket.send(e)}}]),r}(),Xe=0,Ye=1,$e=2,et=3,tt=function(){function r(e){throw f(this,r),new Error("WebsocketServerPlugin can not be used in browser context")}return l(r,[{key:"registerNotify",value:function(e){this.notify=e}},{key:"status",value:function(){return this.socketStatus}},{key:"open",value:function(){var e=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=u(u({},this.options),n),o=t.port,i=t.host,s={address:i,family:"wsserver",port:o,size:0};this.socket&&this.close(),t.server?this.socket=new X({server:t.server}):this.socket=new X({host:i,port:o}),this.socket.binaryType="arraybuffer",this.socketStatus=Xe,this.socket.on("listening",function(){e.socketStatus=Ye,e.notify("open")}),this.socket.on("error",function(a){e.notify("error",a)}),this.socket.on("connection",function(a){a.on("message",function(c){e.notify(new Uint8Array(c),s)})})}},{key:"close",value:function(){var e=this;this.socketStatus=$e,this.socket.close(function(){e.socketStatus=et,e.notify("close")})}},{key:"send",value:function(e){this.socket.clients.forEach(function(n){n.send(e,{binary:!0})})}}]),r}(),nt={discardLateMessages:!1,plugin:new me},O=function(){function r(e){if(f(this,r),e&&!z(e))throw new Error("OSC options argument has to be an object.");this.options=u(u({},nt),e),this.eventHandler=new He({discardLateMessages:this.options.discardLateMessages});var n=this.eventHandler;this.options.plugin&&this.options.plugin.registerNotify&&this.options.plugin.registerNotify(function(){return n.notify.apply(n,arguments)})}return l(r,[{key:"on",value:function(e,n){if(!v(e)||!j(n))throw new Error("OSC on() needs event- or address string and callback function");return this.eventHandler.on(e,n)}},{key:"off",value:function(e,n){if(!v(e)||!b(n))throw new Error("OSC off() needs string and number (subscriptionId) to unsubscribe");return this.eventHandler.off(e,n)}},{key:"open",value:function(e){if(e&&!z(e))throw new Error("OSC open() options argument needs to be an object");if(!this.options.plugin||!j(this.options.plugin.open))throw new Error("OSC Plugin API #open is not implemented!");return this.options.plugin.open(e)}},{key:"status",value:function(){if(!this.options.plugin||!j(this.options.plugin.status))throw new Error("OSC Plugin API #status is not implemented!");return this.options.plugin.status()}},{key:"close",value:function(){if(!this.options.plugin||!j(this.options.plugin.close))throw new Error("OSC Plugin API #close is not implemented!");return this.options.plugin.close()}},{key:"send",value:function(e,n){if(!this.options.plugin||!j(this.options.plugin.send))throw new Error("OSC Plugin API #send is not implemented!");if(!(e instanceof Q||e instanceof E||e instanceof I||e instanceof M))throw new Error("OSC send() needs Messages, Bundles or Packets");if(n&&!z(n))throw new Error("OSC send() options argument has to be an object");return this.options.plugin.send(e.pack(),n)}}]),r}();return O.STATUS={IS_NOT_INITIALIZED:-1,IS_CONNECTING:0,IS_OPEN:1,IS_CLOSING:2,IS_CLOSED:3},O.Packet=M,O.Bundle=I,O.Message=E,O.TypedMessage=Q,O.DatagramPlugin=Ue,O.WebsocketClientPlugin=me,O.WebsocketServerPlugin=tt,O.BridgePlugin=ze,O})})(Ee);var $=Ee.exports;const Ce=new $;Ce.open();const ft=.1;let Y=-1;ct.prototype.osc=function(){return this._withHap(g=>{const d=(p,u,f,N)=>{const l=u.wholeOrPart().begin.valueOf(),R=u.duration.valueOf();Y<0&&(Y=Date.now()-f*1e3);const k=Object.assign({},{cps:N,cycle:l,delta:R},u.value),h=Object.entries(k).flat(),T=Math.floor(Y+(p+ft)*1e3),F=new $.Message("/dirt/play",...h),y=new $.Bundle([F],T);y.timestamp(T),Ce.send(y)};return g.setContext(Oe(Se({},g.context),{onTrigger:d}))})}; +var ot=Object.defineProperty,st=Object.defineProperties;var it=Object.getOwnPropertyDescriptors;var ke=Object.getOwnPropertySymbols;var at=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable;var be=(g,d,p)=>d in g?ot(g,d,{enumerable:!0,configurable:!0,writable:!0,value:p}):g[d]=p,Se=(g,d)=>{for(var p in d||(d={}))at.call(d,p)&&be(g,p,d[p]);if(ke)for(var p of ke(d))ut.call(d,p)&&be(g,p,d[p]);return g},Oe=(g,d)=>st(g,it(d));import{y as H,P as ct}from"./index.268aabb2.js";var Ee={exports:{}};(function(g,d){(function(p,u){g.exports=u()})(H,function(){function p(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e&&(t=t.filter(function(o){return Object.getOwnPropertyDescriptor(r,o).enumerable})),n.push.apply(n,t)}return n}function u(r){for(var e=1;e1&&e[e.length-1]==="/"&&(e=e.slice(0,e.length-1)),e.length>1&&e[0]!=="/"&&(e="/".concat(e)),e;throw new Error("OSC prepareAddress() needs addresses of type array or string")}function ae(r){if(!v(r))throw new Error("OSC prepareRegExPattern() needs strings");return r.replace(/\./g,"\\.").replace(/\(/g,"\\(").replace(/\)/g,"\\)").replace(/\{/g,"(").replace(/\}/g,")").replace(/,/g,"|").replace(/\[!/g,"[^").replace(/\?/g,".").replace(/\*/g,".*")}var ue=function(){function r(){f(this,r),this.data=[],this.byteLength=0}return l(r,[{key:"add",value:function(e){if(te(e)||ne(e)||oe(e))return this;var n=e.pack();return this.byteLength+=n.byteLength,this.data.push(n),this}},{key:"merge",value:function(){var e=new Uint8Array(this.byteLength),n=0;return this.data.forEach(function(t){e.set(t,n),n+=t.byteLength}),e}}]),r}(),C=function(){function r(e){f(this,r),this.value=e,this.offset=0}return l(r,[{key:"pack",value:function(e,n){if(!e||!n)throw new Error("OSC Atomic cant't be packed without given method or byteLength");var t=new Uint8Array(n),o=new DataView(t.buffer);if(A(this.value))throw new Error("OSC Atomic cant't be encoded with empty value");return o[e](this.offset,this.value,!1),t}},{key:"unpack",value:function(e,n,t){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(!(e&&n&&t))throw new Error("OSC Atomic cant't be unpacked without given dataView, method or byteLength");if(!(e instanceof DataView))throw new Error("OSC Atomic expects an instance of type DataView");return this.value=e[n](o,!1),this.offset=o+t,this.offset}}]),r}(),U=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&!b(t))throw new Error("OSC AtomicInt32 constructor expects value of type number");return e.call(this,t)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setInt32",4)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getInt32",4,o)}}]),n}(C),ce="utf-8";function De(r){if(se("Buffer"))return Buffer.from(r).toString(ce);if(se("TextDecoder"))return new TextDecoder(ce).decode(new Int8Array(r));for(var e="",n=0;n1&&arguments[1]!==void 0?arguments[1]:0;if(!(t instanceof DataView))throw new Error("OSC AtomicString expects an instance of type DataView");for(var i,s=o,a=[];s0&&arguments[0]!==void 0?arguments[0]:0,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(f(this,r),!b(e)||!b(n))throw new Error("OSC Timetag constructor expects values of type integer number");this.seconds=e,this.fractions=n}return l(r,[{key:"timestamp",value:function(e){var n;if(typeof e=="number"){n=e/1e3;var t=Math.floor(n);return this.seconds=t+fe,this.fractions=Math.round(le*(n-t)),e}return 1e3*((n=this.seconds-fe)+Math.round(this.fractions/le))}}]),r}(),B=function(r){k(n,r);var e=y(n);function n(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Date.now();f(this,n);var o=new G;return t instanceof G?o=t:b(t)?o.timestamp(t):Ae(t)&&o.timestamp(t.getTime()),e.call(this,o)}return l(n,[{key:"pack",value:function(){if(A(this.value))throw new Error("OSC AtomicTimetag can not be encoded with empty value");var t=this.value,o=t.seconds,i=t.fractions,s=new Uint8Array(8),a=new DataView(s.buffer);return a.setInt32(0,o,!1),a.setInt32(4,i,!1),s}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(t instanceof DataView))throw new Error("OSC AtomicTimetag expects an instance of type DataView");var i=t.getUint32(o,!1),s=t.getUint32(o+4,!1);return this.value=new G(i,s),this.offset=o+8,this.offset}}]),n}(C),he=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&!re(t))throw new Error("OSC AtomicBlob constructor expects value of type Uint8Array");return e.call(this,t)}return l(n,[{key:"pack",value:function(){if(A(this.value))throw new Error("OSC AtomicBlob can not be encoded with empty value");var t=V(this.value.byteLength),o=new Uint8Array(t+4);return new DataView(o.buffer).setInt32(0,this.value.byteLength,!1),o.set(this.value,4),o}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(t instanceof DataView))throw new Error("OSC AtomicBlob expects an instance of type DataView");var i=t.getInt32(o,!1);return this.value=new Uint8Array(t.buffer,o+4,i),this.offset=V(o+4+i),this.offset}}]),n}(C),pe=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&!ee(t))throw new Error("OSC AtomicFloat32 constructor expects value of type float");return e.call(this,t)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setFloat32",4)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getFloat32",4,o)}}]),n}(C),de=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&!ee(t))throw new Error("OSC AtomicFloat64 constructor expects value of type float");return e.call(this,t)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setFloat64",8)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getFloat64",8,o)}}]),n}(C),je=BigInt("9223372036854775807"),xe=BigInt("-9223372036854775808"),ge=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&typeof t!="bigint")throw new Error("OSC AtomicInt64 constructor expects value of type BigInt");if(t&&(tje))throw new Error("OSC AtomicInt64 value is out of bounds");var o;return t&&(o=BigInt.asIntN(64,t)),e.call(this,o)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setBigInt64",8)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getBigInt64",8,o)}}]),n}(C),Be=BigInt("18446744073709551615"),ve=function(r){k(n,r);var e=y(n);function n(t){if(f(this,n),t&&typeof t!="bigint")throw new Error("OSC AtomicUInt64 constructor expects value of type BigInt");if(t&&(t<0||t>Be))throw new Error("OSC AtomicUInt64 value is out of bounds");var o;return t&&(o=BigInt.asUintN(64,t)),e.call(this,o)}return l(n,[{key:"pack",value:function(){return m(h(n.prototype),"pack",this).call(this,"setBigUint64",8)}},{key:"unpack",value:function(t){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m(h(n.prototype),"unpack",this).call(this,t,"getBigUint64",8,o)}}]),n}(C),Z=!0,q=!1,J=null,K=1/0,Q=function(){function r(e,n){var t=this;if(f(this,r),this.offset=0,this.address="",this.types="",this.args=[],!A(e)){if(!v(e)&&!D(e))throw new Error("OSC Message constructor first argument (address) must be a string or array");this.address=L(e)}if(!A(n)){if(!D(n))throw new Error("OSC Message constructor second argument (args) must be an array");n.forEach(function(o){return t.add(o.type,o.value)})}}return l(r,[{key:"add",value:function(e,n){if(A(e))throw new Error("OSC Message needs a valid OSC Atomic Data Type");e==="N"?this.args.push(J):e==="T"?this.args.push(Z):e==="F"?this.args.push(q):e==="I"?this.args.push(K):this.args.push(n),this.types+=e}},{key:"pack",value:function(){var e=this;if(this.address.length===0||this.address[0]!=="/")throw new Error("OSC Message has an invalid address");var n=new ue;if(n.add(new S(this.address)),n.add(new S(",".concat(this.types))),this.args.length>0){var t;if(this.args.length>this.types.length)throw new Error("OSC Message argument and type tag mismatch");this.args.forEach(function(o,i){var s=e.types[i];if(s==="i")t=new U(o);else if(s==="h")t=new ge(o);else if(s==="t")t=new ve(o);else if(s==="f")t=new pe(o);else if(s==="d")t=new de(o);else if(s==="s")t=new S(o);else if(s==="b")t=new he(o);else if(s==="T")t=Z;else if(s==="F")t=q;else if(s==="N")t=J;else{if(s!=="I")throw new Error("OSC Message found unknown argument type");t=K}n.add(t)})}return n.merge()}},{key:"unpack",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(e instanceof DataView))throw new Error("OSC Message expects an instance of type DataView.");var t=new S;t.unpack(e,n);var o=new S;if(o.unpack(e,t.offset),t.value.length===0||t.value[0]!=="/")throw new Error("OSC Message found malformed or missing address string");if(o.value.length===0&&o.value[0]!==",")throw new Error("OSC Message found malformed or missing type string");for(var i,s,a=o.offset,c=[],w=1;w0&&(o=a.shift()),a.length>0&&a[0]instanceof Array&&(i=a.shift()),t=e.call(this,o,i),a.length>0&&(t.types=a.map(function(w){return ie(w)}).join(""),t.args=a),t}return l(n,[{key:"add",value:function(t){m(h(n.prototype),"add",this).call(this,ie(t),t)}}]),n}(Q),_="#bundle",I=function(){function r(){var e=this;f(this,r),this.offset=0,this.timetag=new B,this.bundleElements=[];for(var n=arguments.length,t=new Array(n),o=0;o0&&(t[0]instanceof Date||b(t[0])?this.timetag=new B(t[0]):D(t[0])?(t[0].forEach(function(i){e.add(i)}),t.length>1&&(t[1]instanceof Date||b(t[1]))&&(this.timetag=new B(t[1]))):t.forEach(function(i){e.add(i)}))}return l(r,[{key:"timestamp",value:function(e){if(!b(e))throw new Error("OSC Bundle needs an integer for setting the timestamp");this.timetag=new B(e)}},{key:"add",value:function(e){if(!(e instanceof E||e instanceof r))throw new Error("OSC Bundle contains only Messages and Bundles");this.bundleElements.push(e)}},{key:"pack",value:function(){var e=new ue;return e.add(new S(_)),this.timetag||(this.timetag=new B),e.add(this.timetag),this.bundleElements.forEach(function(n){e.add(new U(n.pack().byteLength)),e.add(n)}),e.merge()}},{key:"unpack",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(e instanceof DataView))throw new Error("OSC Bundle expects an instance of type DataView");var t=new S;if(t.unpack(e,n),t.value!==_)throw new Error("OSC Bundle does not contain a valid #bundle head");var o=new B,i=o.unpack(e,t.offset);for(this.bundleElements=[];i1&&arguments[1]!==void 0?arguments[1]:0;if(!(e instanceof DataView))throw new Error("OSC Packet expects an instance of type DataView");if(e.byteLength%4!=0)throw new Error("OSC Packet byteLength has to be a multiple of four");var t,o=new S;return o.unpack(e,n),(t=o.value===_?new I:new E).unpack(e,n),this.offset=t.offset,this.value=t,this.offset}}]),r}(),Me={discardLateMessages:!1},He=function(){function r(e){f(this,r),this.options=u(u({},Me),e),this.addressHandlers=[],this.eventHandlers={open:[],error:[],close:[]},this.uuid=0}return l(r,[{key:"dispatch",value:function(e,n){var t=this;if(!(e instanceof M))throw new Error("OSC EventHander dispatch() accepts only arguments of type Packet");if(!e.value)throw new Error("OSC EventHander dispatch() can't read empty Packets");if(e.value instanceof I){var o=e.value;return o.bundleElements.forEach(function(s){if(s instanceof I){if(o.timetag.value.timestamp()1&&(s=n[1]);var a=null;if(n.length>2)if(b(n[2]))a=n[2];else{if(!(n[2]instanceof Date))throw new Error("OSC EventHandler timestamp has to be a number or Date");a=n[2].getTime()}var c=null;if(n.length>=3&&(c=n[3]),a){var w=Date.now();if(w>a&&!this.options.discardLateMessages)return this.call(i,s,c);var P=this;return setTimeout(function(){P.call(i,s,c)},a-w),!0}return this.call(i,s,c)}},{key:"on",value:function(e,n){if(!v(e)&&!D(e))throw new Error("OSC EventHandler accepts only strings or arrays for address patterns");if(!j(n))throw new Error("OSC EventHandler callback has to be a function");this.uuid+=1;var t={id:this.uuid,callback:n};if(v(e)&&e in this.eventHandlers)return this.eventHandlers[e].push(t),this.uuid;var o=L(e);return o in this.addressHandlers||(this.addressHandlers[o]=[]),this.addressHandlers[o].push(t),this.uuid}},{key:"off",value:function(e,n){if(!v(e)&&!D(e))throw new Error("OSC EventHandler accepts only strings or arrays for address patterns");if(!b(n))throw new Error("OSC EventHandler subscription id has to be a number");var t,o;return v(e)&&e in this.eventHandlers?(t=e,o=this.eventHandlers):(t=L(e),o=this.addressHandlers),t in o&&o[t].some(function(i,s){return i.id===n&&(o[t].splice(s,1),!0)})}}]),r}(),Te=0,Le=1,Ne=2,Ve=3,Ue=function(){function r(){throw f(this,r),new Error("DatagramPlugin can not be used in browser context")}return l(r,[{key:"registerNotify",value:function(e){this.notify=e}},{key:"status",value:function(){return this.socketStatus}},{key:"open",value:function(){var e=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=u(u({},this.options.open),n),o=t.port,i=t.exclusive;this.socketStatus=Te,this.socket.bind({address:t.host,port:o,exclusive:i},function(){e.socketStatus=Le,e.notify("open")})}},{key:"close",value:function(){var e=this;this.socketStatus=Ne,this.socket.close(function(){e.socketStatus=Ve,e.notify("close")})}},{key:"send",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=u(u({},this.options.send),n),o=t.port,i=t.host;this.socket.send(Buffer.from(e),0,e.byteLength,o,i)}}]),r}();typeof WebSocket!="undefined"?x=WebSocket:typeof MozWebSocket!="undefined"?x=MozWebSocket:typeof H!="undefined"?x=H.WebSocket||H.MozWebSocket:typeof window!="undefined"?x=window.WebSocket||window.MozWebSocket:typeof self!="undefined"&&(x=self.WebSocket||self.MozWebSocket);var X=void 0,we=x,_e=0,We=1,Re=2,Fe=3,W={udpServer:{host:"localhost",port:41234,exclusive:!1},udpClient:{host:"localhost",port:41235},wsServer:{host:"localhost",port:8080},receiver:"ws"};function ye(r,e){return u(u(u(u({},W),r),e),{},{udpServer:u(u(u({},W.udpServer),r.udpServer),e.udpServer),udpClient:u(u(u({},W.udpClient),r.udpClient),e.udpClient),wsServer:u(u(u({},W.wsServer),r.wsServer),e.wsServer)})}var ze=function(){function r(){throw f(this,r),new Error("BridgePlugin can not be used in browser context")}return l(r,[{key:"registerNotify",value:function(e){this.notify=e}},{key:"status",value:function(){return this.socketStatus}},{key:"open",value:function(){var e=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=ye(this.options,n);this.socketStatus=_e,this.socket.bind({address:t.udpServer.host,port:t.udpServer.port,exclusive:t.udpServer.exclusive},function(){var o={};t.wsServer.server?o.server=t.wsServer.server:o=t.wsServer,e.websocket=new X(o),e.websocket.binaryType="arraybuffer",e.websocket.on("listening",function(){e.socketStatus=We,e.notify("open")}),e.websocket.on("error",function(i){e.notify("error",i)}),e.websocket.on("connection",function(i){i.on("message",function(s,a){e.send(s,{receiver:"udp"}),e.notify(new Uint8Array(s),a)})})})}},{key:"close",value:function(){var e=this;this.socketStatus=Re,this.socket.close(function(){e.websocket.close(function(){e.socketStatus=Fe,e.notify("close")})})}},{key:"send",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=ye(this.options,n),o=t.receiver;if(o==="udp"){var i=e instanceof Buffer?e:Buffer.from(e);this.socket.send(i,0,i.byteLength,t.udpClient.port,t.udpClient.host)}else{if(o!=="ws")throw new Error("BridgePlugin can not send message to unknown receiver");this.websocket.clients.forEach(function(s){s.send(e,{binary:!0})})}}}]),r}(),Ge=-1,Ze=0,qe=1,Je=2,Ke=3,Qe={host:"localhost",port:8080,secure:!1,protocol:[]},me=function(){function r(e){if(f(this,r),!we)throw new Error("WebsocketClientPlugin can't find a WebSocket class");this.options=u(u({},Qe),e),this.socket=null,this.socketStatus=Ge,this.notify=function(){}}return l(r,[{key:"registerNotify",value:function(e){this.notify=e}},{key:"status",value:function(){return this.socketStatus}},{key:"open",value:function(){var e=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=u(u({},this.options),n),o=t.port,i=t.host,s=t.secure,a=t.protocol;this.socket&&this.close();var c=s?"wss":"ws",w={address:i,family:c,port:o,size:0};this.socket=new we("".concat(c,"://").concat(i,":").concat(o),a),this.socket.binaryType="arraybuffer",this.socketStatus=Ze,this.socket.onopen=function(){e.socketStatus=qe,e.notify("open")},this.socket.onclose=function(){e.socketStatus=Ke,e.notify("close")},this.socket.onerror=function(P){e.notify("error",P)},this.socket.onmessage=function(P){e.notify(P.data,w)}}},{key:"close",value:function(){this.socketStatus=Je,this.socket.close()}},{key:"send",value:function(e){this.socket.send(e)}}]),r}(),Xe=0,Ye=1,$e=2,et=3,tt=function(){function r(e){throw f(this,r),new Error("WebsocketServerPlugin can not be used in browser context")}return l(r,[{key:"registerNotify",value:function(e){this.notify=e}},{key:"status",value:function(){return this.socketStatus}},{key:"open",value:function(){var e=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=u(u({},this.options),n),o=t.port,i=t.host,s={address:i,family:"wsserver",port:o,size:0};this.socket&&this.close(),t.server?this.socket=new X({server:t.server}):this.socket=new X({host:i,port:o}),this.socket.binaryType="arraybuffer",this.socketStatus=Xe,this.socket.on("listening",function(){e.socketStatus=Ye,e.notify("open")}),this.socket.on("error",function(a){e.notify("error",a)}),this.socket.on("connection",function(a){a.on("message",function(c){e.notify(new Uint8Array(c),s)})})}},{key:"close",value:function(){var e=this;this.socketStatus=$e,this.socket.close(function(){e.socketStatus=et,e.notify("close")})}},{key:"send",value:function(e){this.socket.clients.forEach(function(n){n.send(e,{binary:!0})})}}]),r}(),nt={discardLateMessages:!1,plugin:new me},O=function(){function r(e){if(f(this,r),e&&!z(e))throw new Error("OSC options argument has to be an object.");this.options=u(u({},nt),e),this.eventHandler=new He({discardLateMessages:this.options.discardLateMessages});var n=this.eventHandler;this.options.plugin&&this.options.plugin.registerNotify&&this.options.plugin.registerNotify(function(){return n.notify.apply(n,arguments)})}return l(r,[{key:"on",value:function(e,n){if(!v(e)||!j(n))throw new Error("OSC on() needs event- or address string and callback function");return this.eventHandler.on(e,n)}},{key:"off",value:function(e,n){if(!v(e)||!b(n))throw new Error("OSC off() needs string and number (subscriptionId) to unsubscribe");return this.eventHandler.off(e,n)}},{key:"open",value:function(e){if(e&&!z(e))throw new Error("OSC open() options argument needs to be an object");if(!this.options.plugin||!j(this.options.plugin.open))throw new Error("OSC Plugin API #open is not implemented!");return this.options.plugin.open(e)}},{key:"status",value:function(){if(!this.options.plugin||!j(this.options.plugin.status))throw new Error("OSC Plugin API #status is not implemented!");return this.options.plugin.status()}},{key:"close",value:function(){if(!this.options.plugin||!j(this.options.plugin.close))throw new Error("OSC Plugin API #close is not implemented!");return this.options.plugin.close()}},{key:"send",value:function(e,n){if(!this.options.plugin||!j(this.options.plugin.send))throw new Error("OSC Plugin API #send is not implemented!");if(!(e instanceof Q||e instanceof E||e instanceof I||e instanceof M))throw new Error("OSC send() needs Messages, Bundles or Packets");if(n&&!z(n))throw new Error("OSC send() options argument has to be an object");return this.options.plugin.send(e.pack(),n)}}]),r}();return O.STATUS={IS_NOT_INITIALIZED:-1,IS_CONNECTING:0,IS_OPEN:1,IS_CLOSING:2,IS_CLOSED:3},O.Packet=M,O.Bundle=I,O.Message=E,O.TypedMessage=Q,O.DatagramPlugin=Ue,O.WebsocketClientPlugin=me,O.WebsocketServerPlugin=tt,O.BridgePlugin=ze,O})})(Ee);var $=Ee.exports;const Ce=new $;Ce.open();const ft=.1;let Y=-1;ct.prototype.osc=function(){return this._withHap(g=>{const d=(p,u,f,N)=>{const l=u.wholeOrPart().begin.valueOf(),R=u.duration.valueOf();Y<0&&(Y=Date.now()-f*1e3);const k=Object.assign({},{cps:N,cycle:l,delta:R},u.value),h=Object.entries(k).flat(),T=Math.floor(Y+(p+ft)*1e3),F=new $.Message("/dirt/play",...h),y=new $.Bundle([F],T);y.timestamp(T),Ce.send(y)};return g.setContext(Oe(Se({},g.context),{onTrigger:d}))})}; diff --git a/tutorial/index.html b/tutorial/index.html index 1e6e1a2cd..713d56d10 100644 --- a/tutorial/index.html +++ b/tutorial/index.html @@ -9,8 +9,8 @@ Strudel Tutorial - - + +