From 1eb6ff8c179ab5302cde4653640ed40ad2306c62 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sun, 18 Sep 2022 21:17:16 +0200 Subject: [PATCH 01/16] add feedback delay effect --- packages/webaudio/feedbackdelay.mjs | 28 ++++++++++++++++++++ packages/webaudio/webaudio.mjs | 40 +++++++++++++++++++---------- 2 files changed, 54 insertions(+), 14 deletions(-) create mode 100644 packages/webaudio/feedbackdelay.mjs diff --git a/packages/webaudio/feedbackdelay.mjs b/packages/webaudio/feedbackdelay.mjs new file mode 100644 index 00000000..d742d9c5 --- /dev/null +++ b/packages/webaudio/feedbackdelay.mjs @@ -0,0 +1,28 @@ +class FeedbackDelayNode extends DelayNode { + constructor(ac, wet, time, feedback) { + super(ac); + wet = Math.abs(wet); + this.delayTime.value = time; + + const feedbackGain = ac.createGain(); + feedbackGain.gain.value = Math.min(Math.abs(feedback), 0.995); + + const delayGain = ac.createGain(); + delayGain.gain.value = wet; + this.delayGain = delayGain; + + this.connect(feedbackGain); + this.connect(delayGain); + feedbackGain.connect(this); + + this.connect = (target) => delayGain.connect(target); + return this; + } + start(t) { + this.delayGain.gain.setValueAtTime(this.delayGain.gain.value, t + this.delayTime.value); + } +} + +AudioContext.prototype.createFeedbackDelay = function (wet, time, feedback) { + return new FeedbackDelayNode(this, wet, time, feedback); +}; diff --git a/packages/webaudio/webaudio.mjs b/packages/webaudio/webaudio.mjs index b1568ea7..39a3591a 100644 --- a/packages/webaudio/webaudio.mjs +++ b/packages/webaudio/webaudio.mjs @@ -7,6 +7,7 @@ This program is free software: you can redistribute it and/or modify it under th // import { Pattern, getFrequency, patternify2 } from '@strudel.cycles/core'; import * as strudel from '@strudel.cycles/core'; import { fromMidi, toMidi } from '@strudel.cycles/core'; +import './feedbackdelay.mjs'; import { loadBuffer } from './sampler.mjs'; const { Pattern } = strudel; import './vowel.mjs'; @@ -153,6 +154,12 @@ try { console.warn('could not load AudioWorklet effects coarse, crush and shape', err); } +function gainNode(value) { + const node = getAudioContext().createGain(); + node.gain.value = value; + return node; +} + Pattern.prototype.out = function () { return this.onTrigger(async (t, hap, ct, cps) => { const hapDuration = hap.duration / cps; @@ -187,6 +194,9 @@ Pattern.prototype.out = function () { begin = 0, end = 1, vowel, + delay = 0, + delayfeedback = 0, + delaytime = 0, } = hap.value; const { velocity = 1 } = hap.context; gain *= velocity; // legacy fix for velocity @@ -212,9 +222,7 @@ Pattern.prototype.out = function () { const o = getOscillator({ t, s, freq, duration: hapDuration, release }); chain.push(o); // level down oscillators as they are really loud compared to samples i've tested - const g = ac.createGain(); - g.gain.value = 0.3; - chain.push(g); + chain.push(gainNode(0.3)); // TODO: make adsr work with samples without pops // envelope const adsr = getADSR(attack, decay, sustain, release, 1, t, t + hapDuration); @@ -266,9 +274,8 @@ Pattern.prototype.out = function () { } chain.push(bufferSource); if (soundfont || clip) { - const env = ac.createGain(); const releaseLength = 0.1; - env.gain.value = 0.6; + const env = gainNode(0.6); env.gain.setValueAtTime(env.gain.value, t + duration); env.gain.linearRampToValueAtTime(0, t + duration + releaseLength); // env.gain.linearRampToValueAtTime(0, t + duration + releaseLength); @@ -278,10 +285,8 @@ Pattern.prototype.out = function () { bufferSource.stop(t + duration); } } - // master out - const master = ac.createGain(); - master.gain.value = gain; - chain.push(master); + // level down before effects + chain.push(gainNode(gain)); // filters cutoff !== undefined && chain.push(getFilter('lowpass', cutoff, resonance)); @@ -298,11 +303,18 @@ Pattern.prototype.out = function () { panner.pan.value = 2 * pan - 1; chain.push(panner); } - // master out - /* const master = ac.createGain(); - master.gain.value = 0.8 * gain; - chain.push(master); */ - chain.push(ac.destination); + + // last gain + const post = gainNode(1); + chain.push(post); + post.connect(ac.destination); + + if (delay > 0 && delaytime > 0 && delayfeedback > 0) { + const dly = ac.createFeedbackDelay(delay, delaytime, delayfeedback); + dly.start(t); + post.connect(dly); + dly.connect(ac.destination); + } // connect chain elements together chain.slice(1).reduce((last, current) => last.connect(current), chain[0]); // disconnect all nodes when source node has ended: From 3a65bc0650f84e40abb43453cee04b3e3751efd5 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sun, 18 Sep 2022 22:39:40 +0200 Subject: [PATCH 02/16] improve adsr --- packages/webaudio/webaudio.mjs | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/webaudio/webaudio.mjs b/packages/webaudio/webaudio.mjs index 39a3591a..5a4c9c2e 100644 --- a/packages/webaudio/webaudio.mjs +++ b/packages/webaudio/webaudio.mjs @@ -33,12 +33,17 @@ const getFilter = (type, frequency, Q) => { const getADSR = (attack, decay, sustain, release, velocity, begin, end) => { const gainNode = getAudioContext().createGain(); - gainNode.gain.setValueAtTime(0, begin); - gainNode.gain.linearRampToValueAtTime(velocity, begin + attack); // attack - gainNode.gain.linearRampToValueAtTime(sustain * velocity, begin + attack + decay); // sustain start - gainNode.gain.setValueAtTime(sustain * velocity, end); // sustain end - gainNode.gain.linearRampToValueAtTime(0, end + release); // release - // for some reason, using exponential ramping creates little cracklings + let t = begin; + gainNode.gain.setValueAtTime(0, t); + gainNode.gain.exponentialRampToValueAtTime(velocity, (t += attack)); + const sustainGain = Math.max(sustain * velocity, 0.001); + gainNode.gain.exponentialRampToValueAtTime(sustainGain, (t += decay)); + if (end - begin < attack + decay) { + gainNode.gain.cancelAndHoldAtTime(end); + } else { + gainNode.gain.setValueAtTime(sustainGain, end); + } + gainNode.gain.exponentialRampToValueAtTime(0.001, end + release); // release return gainNode; }; From dbb057621dcb529751cc576921bee0992f3b7c68 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sun, 18 Sep 2022 22:40:19 +0200 Subject: [PATCH 03/16] refactor caverave + throw out some tunes --- repl/src/testtunes.mjs | 164 +++++++++++++++++++++++++++++++++++++++++ repl/src/tunes.mjs | 163 ++++------------------------------------ 2 files changed, 179 insertions(+), 148 deletions(-) create mode 100644 repl/src/testtunes.mjs diff --git a/repl/src/testtunes.mjs b/repl/src/testtunes.mjs new file mode 100644 index 00000000..e62e51f2 --- /dev/null +++ b/repl/src/testtunes.mjs @@ -0,0 +1,164 @@ +export const timeCatMini = `stack( + "c3@3 [eb3, g3, [c4 d4]/2]", + "c2 g2", + "[eb4@5 [f4 eb4 d4]@3] [eb4 c4]/2".slow(8) +)`; + +export const timeCat = `stack( + timeCat([3, c3], [1, stack(eb3, g3, seq(c4, d4).slow(2))]), + seq(c2, g2), + seq( + timeCat([5, eb4], [3, seq(f4, eb4, d4)]), + seq(eb4, c4).slow(2) + ).slow(4) +)`; + +export const shapeShifted = `stack( + seq( + e5, [b4, c5], d5, [c5, b4], + a4, [a4, c5], e5, [d5, c5], + b4, [r, c5], d5, e5, + c5, a4, a4, r, + [r, d5], [r, f5], a5, [g5, f5], + e5, [r, c5], e5, [d5, c5], + b4, [b4, c5], d5, e5, + c5, a4, a4, r, + ).rev(), + seq( + e2, e3, e2, e3, e2, e3, e2, e3, + a2, a3, a2, a3, a2, a3, a2, a3, + gs2, gs3, gs2, gs3, e2, e3, e2, e3, + a2, a3, a2, a3, a2, a3, b1, c2, + d2, d3, d2, d3, d2, d3, d2, d3, + c2, c3, c2, c3, c2, c3, c2, c3, + b1, b2, b1, b2, e2, e3, e2, e3, + a1, a2, a1, a2, a1, a2, a1, a2, + ).rev() +).slow(16)`; + +/* export const tetrisWithFunctions = `stack(seq( + 'e5', seq('b4', 'c5'), 'd5', seq('c5', 'b4'), + 'a4', seq('a4', 'c5'), 'e5', seq('d5', 'c5'), + 'b4', seq(r, 'c5'), 'd5', 'e5', + 'c5', 'a4', 'a4', r, + seq(r, 'd5'), seq(r, 'f5'), 'a5', seq('g5', 'f5'), + 'e5', seq(r, 'c5'), 'e5', seq('d5', 'c5'), + 'b4', seq('b4', 'c5'), 'd5', 'e5', + 'c5', 'a4', 'a4', r), + seq( + 'e2', 'e3', 'e2', 'e3', 'e2', 'e3', 'e2', 'e3', + 'a2', 'a3', 'a2', 'a3', 'a2', 'a3', 'a2', 'a3', + 'g#2', 'g#3', 'g#2', 'g#3', 'e2', 'e3', 'e2', 'e3', + 'a2', 'a3', 'a2', 'a3', 'a2', 'a3', 'b1', 'c2', + 'd2', 'd3', 'd2', 'd3', 'd2', 'd3', 'd2', 'd3', + 'c2', 'c3', 'c2', 'c3', 'c2', 'c3', 'c2', 'c3', + 'b1', 'b2', 'b1', 'b2', 'e2', 'e3', 'e2', 'e3', + 'a1', 'a2', 'a1', 'a2', 'a1', 'a2', 'a1', 'a2', + ) +).slow(16)`; */ + +/* export const tetris = `stack( + seq( + "e5 [b4 c5] d5 [c5 b4]", + "a4 [a4 c5] e5 [d5 c5]", + "b4 [~ c5] d5 e5", + "c5 a4 a4 ~", + "[~ d5] [~ f5] a5 [g5 f5]", + "e5 [~ c5] e5 [d5 c5]", + "b4 [b4 c5] d5 e5", + "c5 a4 a4 ~" + ), + seq( + "e2 e3 e2 e3 e2 e3 e2 e3", + "a2 a3 a2 a3 a2 a3 a2 a3", + "g#2 g#3 g#2 g#3 e2 e3 e2 e3", + "a2 a3 a2 a3 a2 a3 b1 c2", + "d2 d3 d2 d3 d2 d3 d2 d3", + "c2 c3 c2 c3 c2 c3 c2 c3", + "b1 b2 b1 b2 e2 e3 e2 e3", + "a1 a2 a1 a2 a1 a2 a1 a2", + ) +).slow(16)`; + */ + +export const whirlyStrudel = `seq(e4, [b2, b3], c4) +.every(4, fast(2)) +.every(3, slow(1.5)) +.fast(cat(1.25, 1, 1.5)) +.every(2, _ => seq(e4, r, e3, d4, r))`; + +export const transposedChordsHacked = `stack( + "c2 eb2 g2", + "Cm7".voicings(['g2','c4']).slow(2) +).transpose( + "<1 2 3 2>".slow(2) +).transpose(5)`; + +export const scaleTranspose = `"f2,f3,c4,ab4" +.scale(seq('F minor', 'F harmonic minor').slow(4)) +.scaleTranspose("<0 -1 -2 -3>") +.transpose("0 1".slow(16))`; + +export const struct = `stack( + "c2 g2 a2 [e2@2 eb2] d2 a2 g2 [d2 ~ db2]", + "[C^7 A7] [Dm7 G7]".struct("[x@2 x] [~@2 x] [~ x@2]@2 [x ~@2] ~ [~@2 x@4]@2") + .voicings(['G3','A4']) +).slow(4)`; + +export const magicSofa = `stack( + " " + .every(2, fast(2)) + .voicings(), + " " +).transpose("<0 2 3 4>")`; +// below doesn't work anymore due to constructor cleanup +// ).slow(1).transpose.cat(0, 2, 3, 4)`; + +export const confusedPhone = `"[g2 ~@1.3] [c3 ~@1.3]" +.superimpose( + transpose(-12).late(0), + transpose(7).late(0.1), + transpose(10).late(0.2), + transpose(12).late(0.3), + transpose(24).late(0.4) +) +.scale(cat('C dorian', 'C mixolydian')) +.scaleTranspose("<0 1 2 1>") +.slow(2)`; + +export const technoDrums = `stack( + "c1*2".tone(new MembraneSynth().toDestination()), + "~ x".tone(new NoiseSynth().toDestination()), + "[~ c4]*2".tone(new MetalSynth().set({envelope:{decay:0.06,sustain:0}}).chain(new Gain(0.5),getDestination())) +)`; + +/* +export const caverave = `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()); +const hihat = new MetalSynth().set(adsr(0, .08, 0, .1)).chain(vol(.3).connect(delay),out()); +const bass = new Synth().set({ ...osc('sawtooth'), ...adsr(0, .1, .4) }).chain(lowpass(900), vol(.5), out()); +const keys = new PolySynth().set({ ...osc('sawtooth'), ...adsr(0, .5, .2, .7) }).chain(lowpass(1200), vol(.5), out()); + +const drums = stack( + "c1*2".tone(kick).mask("/8"), + "~ ".tone(snare).mask("/4"), + "[~ c4]*2".tone(hihat) +); + +const thru = (x) => x.transpose("<0 1>/8").transpose(-1); +const synths = stack( + "/2".scale(timeCat([3,'C minor'],[1,'C melodic minor']).slow(8)).struct("[~ x]*2") + .layer( + scaleTranspose(0).early(0), + scaleTranspose(2).early(1/8), + scaleTranspose(7).early(1/4), + scaleTranspose(8).early(3/8) + ).apply(thru).tone(keys).mask("<~ x>/16"), + "/2".struct("[x [~ x] <[~ [~ x]]!3 [x x]>@2]/2".fast(2)).apply(thru).tone(bass), + "/2".struct("~ [x@0.1 ~]".fast(2)).voicings().apply(thru).every(2, early(1/8)).tone(keys).mask("/8".early(1/4)) +) +stack( + drums.fast(2), + synths +).slow(2)`; */ diff --git a/repl/src/tunes.mjs b/repl/src/tunes.mjs index b1075af2..5d7dda2c 100644 --- a/repl/src/tunes.mjs +++ b/repl/src/tunes.mjs @@ -4,88 +4,6 @@ Copyright (C) 2022 Strudel contributors - see . */ -export const timeCatMini = `stack( - "c3@3 [eb3, g3, [c4 d4]/2]", - "c2 g2", - "[eb4@5 [f4 eb4 d4]@3] [eb4 c4]/2".slow(8) -)`; - -export const timeCat = `stack( - timeCat([3, c3], [1, stack(eb3, g3, seq(c4, d4).slow(2))]), - seq(c2, g2), - seq( - timeCat([5, eb4], [3, seq(f4, eb4, d4)]), - seq(eb4, c4).slow(2) - ).slow(4) -)`; - -export const shapeShifted = `stack( - seq( - e5, [b4, c5], d5, [c5, b4], - a4, [a4, c5], e5, [d5, c5], - b4, [r, c5], d5, e5, - c5, a4, a4, r, - [r, d5], [r, f5], a5, [g5, f5], - e5, [r, c5], e5, [d5, c5], - b4, [b4, c5], d5, e5, - c5, a4, a4, r, - ).rev(), - seq( - e2, e3, e2, e3, e2, e3, e2, e3, - a2, a3, a2, a3, a2, a3, a2, a3, - gs2, gs3, gs2, gs3, e2, e3, e2, e3, - a2, a3, a2, a3, a2, a3, b1, c2, - d2, d3, d2, d3, d2, d3, d2, d3, - c2, c3, c2, c3, c2, c3, c2, c3, - b1, b2, b1, b2, e2, e3, e2, e3, - a1, a2, a1, a2, a1, a2, a1, a2, - ).rev() -).slow(16)`; - -/* export const tetrisWithFunctions = `stack(seq( - 'e5', seq('b4', 'c5'), 'd5', seq('c5', 'b4'), - 'a4', seq('a4', 'c5'), 'e5', seq('d5', 'c5'), - 'b4', seq(r, 'c5'), 'd5', 'e5', - 'c5', 'a4', 'a4', r, - seq(r, 'd5'), seq(r, 'f5'), 'a5', seq('g5', 'f5'), - 'e5', seq(r, 'c5'), 'e5', seq('d5', 'c5'), - 'b4', seq('b4', 'c5'), 'd5', 'e5', - 'c5', 'a4', 'a4', r), - seq( - 'e2', 'e3', 'e2', 'e3', 'e2', 'e3', 'e2', 'e3', - 'a2', 'a3', 'a2', 'a3', 'a2', 'a3', 'a2', 'a3', - 'g#2', 'g#3', 'g#2', 'g#3', 'e2', 'e3', 'e2', 'e3', - 'a2', 'a3', 'a2', 'a3', 'a2', 'a3', 'b1', 'c2', - 'd2', 'd3', 'd2', 'd3', 'd2', 'd3', 'd2', 'd3', - 'c2', 'c3', 'c2', 'c3', 'c2', 'c3', 'c2', 'c3', - 'b1', 'b2', 'b1', 'b2', 'e2', 'e3', 'e2', 'e3', - 'a1', 'a2', 'a1', 'a2', 'a1', 'a2', 'a1', 'a2', - ) -).slow(16)`; */ - -/* export const tetris = `stack( - seq( - "e5 [b4 c5] d5 [c5 b4]", - "a4 [a4 c5] e5 [d5 c5]", - "b4 [~ c5] d5 e5", - "c5 a4 a4 ~", - "[~ d5] [~ f5] a5 [g5 f5]", - "e5 [~ c5] e5 [d5 c5]", - "b4 [b4 c5] d5 e5", - "c5 a4 a4 ~" - ), - seq( - "e2 e3 e2 e3 e2 e3 e2 e3", - "a2 a3 a2 a3 a2 a3 a2 a3", - "g#2 g#3 g#2 g#3 e2 e3 e2 e3", - "a2 a3 a2 a3 a2 a3 b1 c2", - "d2 d3 d2 d3 d2 d3 d2 d3", - "c2 c3 c2 c3 c2 c3 c2 c3", - "b1 b2 b1 b2 e2 e3 e2 e3", - "a1 a2 a1 a2 a1 a2 a1 a2", - ) -).slow(16)`; - */ export const tetrisMini = `\`[[e5 [b4 c5] d5 [c5 b4]] [a4 [a4 c5] e5 [d5 c5]] [b4 [~ c5] d5 e5] @@ -104,12 +22,6 @@ export const tetrisMini = `\`[[e5 [b4 c5] d5 [c5 b4]] [[a1 a2]*4]\`.slow(16) `; -export const whirlyStrudel = `seq(e4, [b2, b3], c4) -.every(4, fast(2)) -.every(3, slow(1.5)) -.fast(cat(1.25, 1, 1.5)) -.every(2, _ => seq(e4, r, e3, d4, r))`; - export const swimming = `stack( seq( "~", @@ -222,45 +134,6 @@ export const giantStepsReggae = `stack( .struct("x ~".fast(4*8)) ).slow(25)`; -export const transposedChordsHacked = `stack( - "c2 eb2 g2", - "Cm7".voicings(['g2','c4']).slow(2) -).transpose( - "<1 2 3 2>".slow(2) -).transpose(5)`; - -export const scaleTranspose = `"f2,f3,c4,ab4" -.scale(seq('F minor', 'F harmonic minor').slow(4)) -.scaleTranspose("<0 -1 -2 -3>") -.transpose("0 1".slow(16))`; - -export const struct = `stack( - "c2 g2 a2 [e2@2 eb2] d2 a2 g2 [d2 ~ db2]", - "[C^7 A7] [Dm7 G7]".struct("[x@2 x] [~@2 x] [~ x@2]@2 [x ~@2] ~ [~@2 x@4]@2") - .voicings(['G3','A4']) -).slow(4)`; - -export const magicSofa = `stack( - " " - .every(2, fast(2)) - .voicings(), - " " -).transpose("<0 2 3 4>")`; -// below doesn't work anymore due to constructor cleanup -// ).slow(1).transpose.cat(0, 2, 3, 4)`; - -export const confusedPhone = `"[g2 ~@1.3] [c3 ~@1.3]" -.superimpose( - transpose(-12).late(0), - transpose(7).late(0.1), - transpose(10).late(0.2), - transpose(12).late(0.3), - transpose(24).late(0.4) -) -.scale(cat('C dorian', 'C mixolydian')) -.scaleTranspose("<0 1 2 1>") -.slow(2)`; - export const zeldasRescue = `stack( // melody \`[B3@2 D4] [A3@2 [G3 A3]] [B3@2 D4] [A3] @@ -284,41 +157,35 @@ export const zeldasRescue = `stack( getDestination()) )`; -export const technoDrums = `stack( - "c1*2".tone(new MembraneSynth().toDestination()), - "~ x".tone(new NoiseSynth().toDestination()), - "[~ c4]*2".tone(new MetalSynth().set({envelope:{decay:0.06,sustain:0}}).chain(new Gain(0.5),getDestination())) -)`; - -export const caverave = `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()); -const hihat = new MetalSynth().set(adsr(0, .08, 0, .1)).chain(vol(.3).connect(delay),out()); -const bass = new Synth().set({ ...osc('sawtooth'), ...adsr(0, .1, .4) }).chain(lowpass(900), vol(.5), out()); -const keys = new PolySynth().set({ ...osc('sawtooth'), ...adsr(0, .5, .2, .7) }).chain(lowpass(1200), vol(.5), out()); +export const caverave = `const keys = x => x.s('sawtooth').cutoff(1200).gain(.5).attack(0).decay(0.5).sustain(.16).release(.8); const drums = stack( - "c1*2".tone(kick).mask("/8"), - "~ ".tone(snare).mask("/4"), - "[~ c4]*2".tone(hihat) + s("bd*2").mask("/8"), + s("~ ").mask("/4"), + s("[~ hh]*2").delay(.3).delayfeedback(.5).delaytime(.125) ); const thru = (x) => x.transpose("<0 1>/8").transpose(-1); const synths = stack( - "/2".scale(timeCat([3,'C minor'],[1,'C melodic minor']).slow(8)).struct("[~ x]*2") + "/2".scale(timeCat([3,'C minor'],[1,'C melodic minor']) + .slow(8)).struct("[~ x]*2") .layer( scaleTranspose(0).early(0), scaleTranspose(2).early(1/8), scaleTranspose(7).early(1/4), scaleTranspose(8).early(3/8) - ).apply(thru).tone(keys).mask("<~ x>/16"), - "/2".struct("[x [~ x] <[~ [~ x]]!3 [x x]>@2]/2".fast(2)).apply(thru).tone(bass), - "/2".struct("~ [x@0.1 ~]".fast(2)).voicings().apply(thru).every(2, early(1/8)).tone(keys).mask("/8".early(1/4)) + ).apply(thru).note().apply(keys).mask("<~ x>/16"), + note("/2".apply(thru)) + .struct("[x [~ x] <[~ [~ x]]!3 [x x]>@2]/2".fast(2)) + .s('sawtooth').attack(0.001).decay(0.2).sustain(1).cutoff(500), + "/2".struct("~ [x@0.1 ~]".fast(2)).voicings() + .apply(thru).every(2, early(1/8)).note().apply(keys) + .mask("/8".early(1/4)) ) stack( drums.fast(2), synths -).slow(2)`; +).slow(2).out()`; export const callcenterhero = `const bpm = 90; const lead = polysynth().set({...osc('sine4'),...adsr(.004)}).chain(vol(0.15),out()) @@ -1029,4 +896,4 @@ stack( x? ~ ~ x@3 ~ x | x? ~ ~ x ~ x@3\`), roots.struct("x [~ x?0.2] x [~ x?] | x!4 | x@2 ~ ~ ~ x x x").transpose("0 7") -).slow(2).pianoroll().note().piano().out();`; \ No newline at end of file +).slow(2).pianoroll().note().piano().out();`; From d3645f6c63e1ce1ededd6ca6a911e52b3472ed64 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sun, 18 Sep 2022 22:42:30 +0200 Subject: [PATCH 04/16] fix tests --- packages/webaudio/feedbackdelay.mjs | 46 +- .../test/__snapshots__/tunes.test.mjs.snap | 2276 ++++++----------- 2 files changed, 795 insertions(+), 1527 deletions(-) diff --git a/packages/webaudio/feedbackdelay.mjs b/packages/webaudio/feedbackdelay.mjs index d742d9c5..1b9ae4e7 100644 --- a/packages/webaudio/feedbackdelay.mjs +++ b/packages/webaudio/feedbackdelay.mjs @@ -1,28 +1,30 @@ -class FeedbackDelayNode extends DelayNode { - constructor(ac, wet, time, feedback) { - super(ac); - wet = Math.abs(wet); - this.delayTime.value = time; +if (typeof DelayNode !== 'undefined') { + class FeedbackDelayNode extends DelayNode { + constructor(ac, wet, time, feedback) { + super(ac); + wet = Math.abs(wet); + this.delayTime.value = time; - const feedbackGain = ac.createGain(); - feedbackGain.gain.value = Math.min(Math.abs(feedback), 0.995); + const feedbackGain = ac.createGain(); + feedbackGain.gain.value = Math.min(Math.abs(feedback), 0.995); - const delayGain = ac.createGain(); - delayGain.gain.value = wet; - this.delayGain = delayGain; + const delayGain = ac.createGain(); + delayGain.gain.value = wet; + this.delayGain = delayGain; - this.connect(feedbackGain); - this.connect(delayGain); - feedbackGain.connect(this); + this.connect(feedbackGain); + this.connect(delayGain); + feedbackGain.connect(this); - this.connect = (target) => delayGain.connect(target); - return this; - } - start(t) { - this.delayGain.gain.setValueAtTime(this.delayGain.gain.value, t + this.delayTime.value); + this.connect = (target) => delayGain.connect(target); + return this; + } + start(t) { + this.delayGain.gain.setValueAtTime(this.delayGain.gain.value, t + this.delayTime.value); + } } + + AudioContext.prototype.createFeedbackDelay = function (wet, time, feedback) { + return new FeedbackDelayNode(this, wet, time, feedback); + }; } - -AudioContext.prototype.createFeedbackDelay = function (wet, time, feedback) { - return new FeedbackDelayNode(this, wet, time, feedback); -}; diff --git a/repl/src/test/__snapshots__/tunes.test.mjs.snap b/repl/src/test/__snapshots__/tunes.test.mjs.snap index 47a2b223..b32e8928 100644 --- a/repl/src/test/__snapshots__/tunes.test.mjs.snap +++ b/repl/src/test/__snapshots__/tunes.test.mjs.snap @@ -969,846 +969,777 @@ exports[`renders tunes > tune: callcenterhero 1`] = ` exports[`renders tunes > tune: caverave 1`] = ` [ - "0/1 -> 1/2: c1", - "1/2 -> 1/1: c1", - "1/2 -> 1/1: x", - "1/4 -> 1/2: c4", - "3/4 -> 1/1: c4", - "0/1 -> 1/2: B1", - "3/4 -> 1/1: B1", - "1/4 -> 13/44: A3", - "1/4 -> 13/44: C#4", - "1/4 -> 13/44: D4", - "1/4 -> 13/44: F#4", - "1/1 -> 3/2: c1", - "3/2 -> 2/1: c1", - "3/2 -> 2/1: x", - "5/4 -> 3/2: c4", - "7/4 -> 2/1: c4", - "7/4 -> 2/1: B1", - "5/4 -> 57/44: A3", - "5/4 -> 57/44: C#4", - "5/4 -> 57/44: D4", - "5/4 -> 57/44: F#4", - "2/1 -> 5/2: c1", - "5/2 -> 3/1: c1", - "5/2 -> 3/1: x", - "9/4 -> 5/2: c4", - "11/4 -> 3/1: c4", - "2/1 -> 5/2: B1", - "11/4 -> 3/1: B1", - "5/2 -> 28/11: A3", - "5/2 -> 28/11: C#4", - "5/2 -> 28/11: D4", - "5/2 -> 28/11: F#4", - "3/1 -> 7/2: c1", - "7/2 -> 4/1: c1", - "7/2 -> 4/1: x", - "13/4 -> 7/2: c4", - "15/4 -> 4/1: c4", - "15/4 -> 4/1: B1", - "7/2 -> 39/11: A3", - "7/2 -> 39/11: C#4", - "7/2 -> 39/11: D4", - "7/2 -> 39/11: F#4", - "4/1 -> 9/2: c1", - "9/2 -> 5/1: c1", - "9/2 -> 5/1: x", - "17/4 -> 9/2: c4", - "19/4 -> 5/1: c4", - "4/1 -> 9/2: A1", - "19/4 -> 5/1: A1", - "17/4 -> 189/44: G3", - "17/4 -> 189/44: B3", - "17/4 -> 189/44: C#4", - "17/4 -> 189/44: F#4", - "5/1 -> 11/2: c1", - "11/2 -> 6/1: c1", - "11/2 -> 6/1: x", - "21/4 -> 11/2: c4", - "23/4 -> 6/1: c4", - "23/4 -> 6/1: A1", - "21/4 -> 233/44: G3", - "21/4 -> 233/44: B3", - "21/4 -> 233/44: C#4", - "21/4 -> 233/44: F#4", - "6/1 -> 13/2: c1", - "13/2 -> 7/1: c1", - "13/2 -> 7/1: x", - "25/4 -> 13/2: c4", - "27/4 -> 7/1: c4", - "6/1 -> 13/2: A1", - "27/4 -> 7/1: A1", - "13/2 -> 72/11: G3", - "13/2 -> 72/11: B3", - "13/2 -> 72/11: C#4", - "13/2 -> 72/11: F#4", - "7/1 -> 15/2: c1", - "15/2 -> 8/1: c1", - "15/2 -> 63/8: x", - "63/8 -> 8/1: x", - "29/4 -> 15/2: c4", - "31/4 -> 8/1: c4", - "7/1 -> 15/2: A1", - "15/2 -> 8/1: A1", - "15/2 -> 83/11: G3", - "15/2 -> 83/11: B3", - "15/2 -> 83/11: C#4", - "15/2 -> 83/11: F#4", - "8/1 -> 17/2: c1", - "17/2 -> 9/1: c1", - "17/2 -> 9/1: x", - "33/4 -> 17/2: c4", - "35/4 -> 9/1: c4", - "8/1 -> 17/2: G1", - "35/4 -> 9/1: G1", - "33/4 -> 365/44: G3", - "33/4 -> 365/44: B3", - "33/4 -> 365/44: D4", - "33/4 -> 365/44: F#4", - "9/1 -> 19/2: c1", - "19/2 -> 10/1: c1", - "19/2 -> 10/1: x", - "37/4 -> 19/2: c4", - "39/4 -> 10/1: c4", - "39/4 -> 10/1: G1", - "37/4 -> 409/44: G3", - "37/4 -> 409/44: B3", - "37/4 -> 409/44: D4", - "37/4 -> 409/44: F#4", - "10/1 -> 21/2: c1", - "21/2 -> 11/1: c1", - "21/2 -> 11/1: x", - "41/4 -> 21/2: c4", - "43/4 -> 11/1: c4", - "10/1 -> 21/2: G1", - "43/4 -> 11/1: G1", - "21/2 -> 116/11: G3", - "21/2 -> 116/11: B3", - "21/2 -> 116/11: D4", - "21/2 -> 116/11: F#4", - "11/1 -> 23/2: c1", - "23/2 -> 12/1: c1", - "23/2 -> 12/1: x", - "45/4 -> 23/2: c4", - "47/4 -> 12/1: c4", - "47/4 -> 12/1: G1", - "23/2 -> 127/11: G3", - "23/2 -> 127/11: B3", - "23/2 -> 127/11: D4", - "23/2 -> 127/11: F#4", - "12/1 -> 25/2: c1", - "25/2 -> 13/1: c1", - "25/2 -> 13/1: x", - "49/4 -> 25/2: c4", - "51/4 -> 13/1: c4", - "12/1 -> 25/2: F#1", - "51/4 -> 13/1: F#1", - "49/4 -> 541/44: A#3", - "49/4 -> 541/44: D4", - "49/4 -> 541/44: E4", - "49/4 -> 541/44: G4", - "13/1 -> 27/2: c1", - "27/2 -> 14/1: c1", - "27/2 -> 14/1: x", - "53/4 -> 27/2: c4", - "55/4 -> 14/1: c4", - "55/4 -> 14/1: F#1", - "53/4 -> 585/44: A#3", - "53/4 -> 585/44: D4", - "53/4 -> 585/44: E4", - "53/4 -> 585/44: G4", - "14/1 -> 29/2: c1", - "29/2 -> 15/1: c1", - "29/2 -> 15/1: x", - "57/4 -> 29/2: c4", - "59/4 -> 15/1: c4", - "14/1 -> 29/2: F#2", - "59/4 -> 15/1: F#2", - "29/2 -> 160/11: A#3", - "29/2 -> 160/11: D4", - "29/2 -> 160/11: E4", - "29/2 -> 160/11: G4", - "15/1 -> 31/2: c1", - "31/2 -> 16/1: c1", - "31/2 -> 127/8: x", - "127/8 -> 16/1: x", - "61/4 -> 31/2: c4", - "63/4 -> 16/1: c4", - "15/1 -> 31/2: F#1", - "31/2 -> 16/1: F#1", - "31/2 -> 171/11: A#3", - "31/2 -> 171/11: D4", - "31/2 -> 171/11: E4", - "31/2 -> 171/11: G4", - "16/1 -> 33/2: c1", - "33/2 -> 17/1: c1", - "33/2 -> 17/1: x", - "65/4 -> 33/2: c4", - "67/4 -> 17/1: c4", - "16/1 -> 33/2: C2", - "67/4 -> 17/1: C2", - "65/4 -> 717/44: A#3", - "65/4 -> 717/44: D4", - "65/4 -> 717/44: D#4", - "65/4 -> 717/44: G4", - "17/1 -> 35/2: c1", - "35/2 -> 18/1: c1", - "35/2 -> 18/1: x", - "69/4 -> 35/2: c4", - "71/4 -> 18/1: c4", - "71/4 -> 18/1: C2", - "69/4 -> 761/44: A#3", - "69/4 -> 761/44: D4", - "69/4 -> 761/44: D#4", - "69/4 -> 761/44: G4", - "18/1 -> 37/2: c1", - "37/2 -> 19/1: c1", - "37/2 -> 19/1: x", - "73/4 -> 37/2: c4", - "75/4 -> 19/1: c4", - "18/1 -> 37/2: C2", - "75/4 -> 19/1: C2", - "37/2 -> 204/11: A#3", - "37/2 -> 204/11: D4", - "37/2 -> 204/11: D#4", - "37/2 -> 204/11: G4", - "19/1 -> 39/2: c1", - "39/2 -> 20/1: c1", - "39/2 -> 20/1: x", - "77/4 -> 39/2: c4", - "79/4 -> 20/1: c4", - "79/4 -> 20/1: C2", - "39/2 -> 215/11: A#3", - "39/2 -> 215/11: D4", - "39/2 -> 215/11: D#4", - "39/2 -> 215/11: G4", - "20/1 -> 41/2: c1", - "41/2 -> 21/1: c1", - "41/2 -> 21/1: x", - "81/4 -> 41/2: c4", - "83/4 -> 21/1: c4", - "20/1 -> 41/2: A#1", - "83/4 -> 21/1: A#1", - "81/4 -> 893/44: G#3", - "81/4 -> 893/44: C4", - "81/4 -> 893/44: D4", - "81/4 -> 893/44: G4", - "21/1 -> 43/2: c1", - "43/2 -> 22/1: c1", - "43/2 -> 22/1: x", - "85/4 -> 43/2: c4", - "87/4 -> 22/1: c4", - "87/4 -> 22/1: A#1", - "85/4 -> 937/44: G#3", - "85/4 -> 937/44: C4", - "85/4 -> 937/44: D4", - "85/4 -> 937/44: G4", - "22/1 -> 45/2: c1", - "45/2 -> 23/1: c1", - "45/2 -> 23/1: x", - "89/4 -> 45/2: c4", - "91/4 -> 23/1: c4", - "22/1 -> 45/2: A#1", - "91/4 -> 23/1: A#1", - "45/2 -> 248/11: G#3", - "45/2 -> 248/11: C4", - "45/2 -> 248/11: D4", - "45/2 -> 248/11: G4", - "23/1 -> 47/2: c1", - "47/2 -> 24/1: c1", - "47/2 -> 191/8: x", - "191/8 -> 24/1: x", - "93/4 -> 47/2: c4", - "95/4 -> 24/1: c4", - "23/1 -> 47/2: A#1", - "47/2 -> 24/1: A#1", - "47/2 -> 259/11: G#3", - "47/2 -> 259/11: C4", - "47/2 -> 259/11: D4", - "47/2 -> 259/11: G4", - "24/1 -> 49/2: c1", - "49/2 -> 25/1: c1", - "49/2 -> 25/1: x", - "97/4 -> 49/2: c4", - "99/4 -> 25/1: c4", - "24/1 -> 49/2: G#1", - "99/4 -> 25/1: G#1", - "97/4 -> 1069/44: G#3", - "97/4 -> 1069/44: C4", - "97/4 -> 1069/44: D#4", - "97/4 -> 1069/44: G4", - "25/1 -> 51/2: c1", - "51/2 -> 26/1: c1", - "51/2 -> 26/1: x", - "101/4 -> 51/2: c4", - "103/4 -> 26/1: c4", - "103/4 -> 26/1: G#1", - "101/4 -> 1113/44: G#3", - "101/4 -> 1113/44: C4", - "101/4 -> 1113/44: D#4", - "101/4 -> 1113/44: G4", - "26/1 -> 53/2: c1", - "53/2 -> 27/1: c1", - "53/2 -> 27/1: x", - "105/4 -> 53/2: c4", - "107/4 -> 27/1: c4", - "26/1 -> 53/2: G#1", - "107/4 -> 27/1: G#1", - "53/2 -> 292/11: G#3", - "53/2 -> 292/11: C4", - "53/2 -> 292/11: D#4", - "53/2 -> 292/11: G4", - "27/1 -> 55/2: c1", - "55/2 -> 28/1: c1", - "55/2 -> 28/1: x", - "109/4 -> 55/2: c4", - "111/4 -> 28/1: c4", - "111/4 -> 28/1: G#1", - "55/2 -> 303/11: G#3", - "55/2 -> 303/11: C4", - "55/2 -> 303/11: D#4", - "55/2 -> 303/11: G4", - "28/1 -> 57/2: c1", - "57/2 -> 29/1: c1", - "113/4 -> 57/2: c4", - "115/4 -> 29/1: c4", - "28/1 -> 57/2: G1", - "115/4 -> 29/1: G1", - "113/4 -> 1245/44: B3", - "113/4 -> 1245/44: D#4", - "113/4 -> 1245/44: F4", - "113/4 -> 1245/44: G#4", - "29/1 -> 59/2: c1", - "59/2 -> 30/1: c1", - "117/4 -> 59/2: c4", - "119/4 -> 30/1: c4", - "119/4 -> 30/1: G1", - "117/4 -> 1289/44: B3", - "117/4 -> 1289/44: D#4", - "117/4 -> 1289/44: F4", - "117/4 -> 1289/44: G#4", - "30/1 -> 61/2: c1", - "61/2 -> 31/1: c1", - "121/4 -> 61/2: c4", - "123/4 -> 31/1: c4", - "30/1 -> 61/2: G2", - "123/4 -> 31/1: G2", - "61/2 -> 336/11: B3", - "61/2 -> 336/11: D#4", - "61/2 -> 336/11: F4", - "61/2 -> 336/11: G#4", - "31/1 -> 63/2: c1", - "63/2 -> 32/1: c1", - "125/4 -> 63/2: c4", - "127/4 -> 32/1: c4", - "31/1 -> 63/2: G1", - "63/2 -> 32/1: G1", - "63/2 -> 347/11: B3", - "63/2 -> 347/11: D#4", - "63/2 -> 347/11: F4", - "63/2 -> 347/11: G#4", - "32/1 -> 65/2: c1", - "65/2 -> 33/1: c1", - "65/2 -> 33/1: x", - "129/4 -> 65/2: c4", - "131/4 -> 33/1: c4", - "65/2 -> 33/1: D4", - "129/4 -> 131/4: F#4", - "32/1 -> 65/2: D5", - "127/4 -> 129/4: E5", - "131/4 -> 133/4: E5", - "32/1 -> 65/2: B1", - "131/4 -> 33/1: B1", - "129/4 -> 1421/44: A3", - "129/4 -> 1421/44: C#4", - "129/4 -> 1421/44: D4", - "129/4 -> 1421/44: F#4", - "33/1 -> 67/2: c1", - "67/2 -> 34/1: c1", - "67/2 -> 34/1: x", - "133/4 -> 67/2: c4", - "135/4 -> 34/1: c4", - "67/2 -> 34/1: D4", - "133/4 -> 135/4: F#4", - "33/1 -> 67/2: D5", - "131/4 -> 133/4: E5", - "135/4 -> 137/4: E5", - "135/4 -> 34/1: B1", - "133/4 -> 1465/44: A3", - "133/4 -> 1465/44: C#4", - "133/4 -> 1465/44: D4", - "133/4 -> 1465/44: F#4", - "34/1 -> 69/2: c1", - "69/2 -> 35/1: c1", - "69/2 -> 35/1: x", - "137/4 -> 69/2: c4", - "139/4 -> 35/1: c4", - "69/2 -> 35/1: D4", - "137/4 -> 139/4: F#4", - "34/1 -> 69/2: D5", - "135/4 -> 137/4: E5", - "139/4 -> 141/4: E5", - "34/1 -> 69/2: B1", - "139/4 -> 35/1: B1", - "69/2 -> 380/11: A3", - "69/2 -> 380/11: C#4", - "69/2 -> 380/11: D4", - "69/2 -> 380/11: F#4", - "35/1 -> 71/2: c1", - "71/2 -> 36/1: c1", - "71/2 -> 36/1: x", - "141/4 -> 71/2: c4", - "143/4 -> 36/1: c4", - "71/2 -> 36/1: D4", - "141/4 -> 143/4: F#4", - "35/1 -> 71/2: D5", - "139/4 -> 141/4: E5", - "143/4 -> 145/4: D5", - "143/4 -> 36/1: B1", - "71/2 -> 391/11: A3", - "71/2 -> 391/11: C#4", - "71/2 -> 391/11: D4", - "71/2 -> 391/11: F#4", - "36/1 -> 73/2: c1", - "73/2 -> 37/1: c1", - "73/2 -> 37/1: x", - "145/4 -> 73/2: c4", - "147/4 -> 37/1: c4", - "73/2 -> 37/1: C#4", - "145/4 -> 147/4: E4", - "36/1 -> 73/2: C#5", - "143/4 -> 145/4: D5", - "147/4 -> 149/4: D5", - "36/1 -> 73/2: A1", - "147/4 -> 37/1: A1", - "145/4 -> 1597/44: G3", - "145/4 -> 1597/44: B3", - "145/4 -> 1597/44: C#4", - "145/4 -> 1597/44: F#4", - "37/1 -> 75/2: c1", - "75/2 -> 38/1: c1", - "75/2 -> 38/1: x", - "149/4 -> 75/2: c4", - "151/4 -> 38/1: c4", - "75/2 -> 38/1: C#4", - "149/4 -> 151/4: E4", - "37/1 -> 75/2: C#5", - "147/4 -> 149/4: D5", - "151/4 -> 153/4: D5", - "151/4 -> 38/1: A1", - "149/4 -> 1641/44: G3", - "149/4 -> 1641/44: B3", - "149/4 -> 1641/44: C#4", - "149/4 -> 1641/44: F#4", - "38/1 -> 77/2: c1", - "77/2 -> 39/1: c1", - "77/2 -> 39/1: x", - "153/4 -> 77/2: c4", - "155/4 -> 39/1: c4", - "77/2 -> 39/1: C#4", - "153/4 -> 155/4: E4", - "38/1 -> 77/2: C#5", - "151/4 -> 153/4: D5", - "155/4 -> 157/4: D5", - "38/1 -> 77/2: A1", - "155/4 -> 39/1: A1", - "77/2 -> 424/11: G3", - "77/2 -> 424/11: B3", - "77/2 -> 424/11: C#4", - "77/2 -> 424/11: F#4", - "39/1 -> 79/2: c1", - "79/2 -> 40/1: c1", - "79/2 -> 319/8: x", - "319/8 -> 40/1: x", - "157/4 -> 79/2: c4", - "159/4 -> 40/1: c4", - "79/2 -> 40/1: C#4", - "157/4 -> 159/4: E4", - "39/1 -> 79/2: C#5", - "155/4 -> 157/4: D5", - "159/4 -> 161/4: C#5", - "39/1 -> 79/2: A1", - "79/2 -> 40/1: A1", - "79/2 -> 435/11: G3", - "79/2 -> 435/11: B3", - "79/2 -> 435/11: C#4", - "79/2 -> 435/11: F#4", - "40/1 -> 81/2: c1", - "81/2 -> 41/1: c1", - "81/2 -> 41/1: x", - "161/4 -> 81/2: c4", - "163/4 -> 41/1: c4", - "81/2 -> 41/1: B3", - "161/4 -> 163/4: D4", - "40/1 -> 81/2: B4", - "159/4 -> 161/4: C#5", - "163/4 -> 165/4: C#5", - "40/1 -> 81/2: G1", - "163/4 -> 41/1: G1", - "161/4 -> 1773/44: G3", - "161/4 -> 1773/44: B3", - "161/4 -> 1773/44: D4", - "161/4 -> 1773/44: F#4", - "41/1 -> 83/2: c1", - "83/2 -> 42/1: c1", - "83/2 -> 42/1: x", - "165/4 -> 83/2: c4", - "167/4 -> 42/1: c4", - "83/2 -> 42/1: B3", - "165/4 -> 167/4: D4", - "41/1 -> 83/2: B4", - "163/4 -> 165/4: C#5", - "167/4 -> 169/4: C#5", - "167/4 -> 42/1: G1", - "165/4 -> 1817/44: G3", - "165/4 -> 1817/44: B3", - "165/4 -> 1817/44: D4", - "165/4 -> 1817/44: F#4", - "42/1 -> 85/2: c1", - "85/2 -> 43/1: c1", - "85/2 -> 43/1: x", - "169/4 -> 85/2: c4", - "171/4 -> 43/1: c4", - "85/2 -> 43/1: B3", - "169/4 -> 171/4: D4", - "42/1 -> 85/2: B4", - "167/4 -> 169/4: C#5", - "171/4 -> 173/4: C#5", - "42/1 -> 85/2: G1", - "171/4 -> 43/1: G1", - "85/2 -> 468/11: G3", - "85/2 -> 468/11: B3", - "85/2 -> 468/11: D4", - "85/2 -> 468/11: F#4", - "43/1 -> 87/2: c1", - "87/2 -> 44/1: c1", - "87/2 -> 44/1: x", - "173/4 -> 87/2: c4", - "175/4 -> 44/1: c4", - "87/2 -> 44/1: B3", - "173/4 -> 175/4: D4", - "43/1 -> 87/2: B4", - "171/4 -> 173/4: C#5", - "175/4 -> 177/4: B4", - "175/4 -> 44/1: G1", - "87/2 -> 479/11: G3", - "87/2 -> 479/11: B3", - "87/2 -> 479/11: D4", - "87/2 -> 479/11: F#4", - "44/1 -> 89/2: c1", - "89/2 -> 45/1: c1", - "89/2 -> 45/1: x", - "177/4 -> 89/2: c4", - "179/4 -> 45/1: c4", - "89/2 -> 45/1: A#3", - "177/4 -> 179/4: C#4", - "44/1 -> 89/2: A#4", - "175/4 -> 177/4: B4", - "179/4 -> 181/4: B4", - "44/1 -> 89/2: F#1", - "179/4 -> 45/1: F#1", - "177/4 -> 1949/44: A#3", - "177/4 -> 1949/44: D4", - "177/4 -> 1949/44: E4", - "177/4 -> 1949/44: G4", - "45/1 -> 91/2: c1", - "91/2 -> 46/1: c1", - "91/2 -> 46/1: x", - "181/4 -> 91/2: c4", - "183/4 -> 46/1: c4", - "91/2 -> 46/1: A#3", - "181/4 -> 183/4: C#4", - "45/1 -> 91/2: A#4", - "179/4 -> 181/4: B4", - "183/4 -> 185/4: B4", - "183/4 -> 46/1: F#1", - "181/4 -> 1993/44: A#3", - "181/4 -> 1993/44: D4", - "181/4 -> 1993/44: E4", - "181/4 -> 1993/44: G4", - "46/1 -> 93/2: c1", - "93/2 -> 47/1: c1", - "93/2 -> 47/1: x", - "185/4 -> 93/2: c4", - "187/4 -> 47/1: c4", - "93/2 -> 47/1: A#3", - "185/4 -> 187/4: C#4", - "46/1 -> 93/2: A#4", - "183/4 -> 185/4: B4", - "187/4 -> 189/4: B4", - "46/1 -> 93/2: F#2", - "187/4 -> 47/1: F#2", - "93/2 -> 512/11: A#3", - "93/2 -> 512/11: D4", - "93/2 -> 512/11: E4", - "93/2 -> 512/11: G4", - "47/1 -> 95/2: c1", - "95/2 -> 48/1: c1", - "95/2 -> 383/8: x", - "383/8 -> 48/1: x", - "189/4 -> 95/2: c4", - "191/4 -> 48/1: c4", - "95/2 -> 48/1: A#3", - "189/4 -> 191/4: C#4", - "47/1 -> 95/2: A#4", - "187/4 -> 189/4: B4", - "191/4 -> 193/4: E5", - "47/1 -> 95/2: F#1", - "95/2 -> 48/1: F#1", - "95/2 -> 523/11: A#3", - "95/2 -> 523/11: D4", - "95/2 -> 523/11: E4", - "95/2 -> 523/11: G4", - "48/1 -> 97/2: c1", - "97/2 -> 49/1: c1", - "97/2 -> 49/1: x", - "193/4 -> 97/2: c4", - "195/4 -> 49/1: c4", - "97/2 -> 49/1: D#4", - "193/4 -> 195/4: G4", - "48/1 -> 97/2: D#5", - "191/4 -> 193/4: F5", - "195/4 -> 197/4: F5", - "48/1 -> 97/2: C2", - "195/4 -> 49/1: C2", - "193/4 -> 2125/44: A#3", - "193/4 -> 2125/44: D4", - "193/4 -> 2125/44: D#4", - "193/4 -> 2125/44: G4", - "49/1 -> 99/2: c1", - "99/2 -> 50/1: c1", - "99/2 -> 50/1: x", - "197/4 -> 99/2: c4", - "199/4 -> 50/1: c4", - "99/2 -> 50/1: D#4", - "197/4 -> 199/4: G4", - "49/1 -> 99/2: D#5", - "195/4 -> 197/4: F5", - "199/4 -> 201/4: F5", - "199/4 -> 50/1: C2", - "197/4 -> 2169/44: A#3", - "197/4 -> 2169/44: D4", - "197/4 -> 2169/44: D#4", - "197/4 -> 2169/44: G4", - "50/1 -> 101/2: c1", - "101/2 -> 51/1: c1", - "101/2 -> 51/1: x", - "201/4 -> 101/2: c4", - "203/4 -> 51/1: c4", - "101/2 -> 51/1: D#4", - "201/4 -> 203/4: G4", - "50/1 -> 101/2: D#5", - "199/4 -> 201/4: F5", - "203/4 -> 205/4: F5", - "50/1 -> 101/2: C2", - "203/4 -> 51/1: C2", - "101/2 -> 556/11: A#3", - "101/2 -> 556/11: D4", - "101/2 -> 556/11: D#4", - "101/2 -> 556/11: G4", - "51/1 -> 103/2: c1", - "103/2 -> 52/1: c1", - "103/2 -> 52/1: x", - "205/4 -> 103/2: c4", - "207/4 -> 52/1: c4", - "103/2 -> 52/1: D#4", - "205/4 -> 207/4: G4", - "51/1 -> 103/2: D#5", - "203/4 -> 205/4: F5", - "207/4 -> 209/4: D#5", - "207/4 -> 52/1: C2", - "103/2 -> 567/11: A#3", - "103/2 -> 567/11: D4", - "103/2 -> 567/11: D#4", - "103/2 -> 567/11: G4", - "52/1 -> 105/2: c1", - "105/2 -> 53/1: c1", - "105/2 -> 53/1: x", - "209/4 -> 105/2: c4", - "211/4 -> 53/1: c4", - "105/2 -> 53/1: D4", - "209/4 -> 211/4: F4", - "52/1 -> 105/2: D5", - "207/4 -> 209/4: D#5", - "211/4 -> 213/4: D#5", - "52/1 -> 105/2: A#1", - "211/4 -> 53/1: A#1", - "209/4 -> 2301/44: G#3", - "209/4 -> 2301/44: C4", - "209/4 -> 2301/44: D4", - "209/4 -> 2301/44: G4", - "53/1 -> 107/2: c1", - "107/2 -> 54/1: c1", - "107/2 -> 54/1: x", - "213/4 -> 107/2: c4", - "215/4 -> 54/1: c4", - "107/2 -> 54/1: D4", - "213/4 -> 215/4: F4", - "53/1 -> 107/2: D5", - "211/4 -> 213/4: D#5", - "215/4 -> 217/4: D#5", - "215/4 -> 54/1: A#1", - "213/4 -> 2345/44: G#3", - "213/4 -> 2345/44: C4", - "213/4 -> 2345/44: D4", - "213/4 -> 2345/44: G4", - "54/1 -> 109/2: c1", - "109/2 -> 55/1: c1", - "109/2 -> 55/1: x", - "217/4 -> 109/2: c4", - "219/4 -> 55/1: c4", - "109/2 -> 55/1: D4", - "217/4 -> 219/4: F4", - "54/1 -> 109/2: D5", - "215/4 -> 217/4: D#5", - "219/4 -> 221/4: D#5", - "54/1 -> 109/2: A#1", - "219/4 -> 55/1: A#1", - "109/2 -> 600/11: G#3", - "109/2 -> 600/11: C4", - "109/2 -> 600/11: D4", - "109/2 -> 600/11: G4", - "55/1 -> 111/2: c1", - "111/2 -> 56/1: c1", - "111/2 -> 447/8: x", - "447/8 -> 56/1: x", - "221/4 -> 111/2: c4", - "223/4 -> 56/1: c4", - "111/2 -> 56/1: D4", - "221/4 -> 223/4: F4", - "55/1 -> 111/2: D5", - "219/4 -> 221/4: D#5", - "223/4 -> 225/4: D5", - "55/1 -> 111/2: A#1", - "111/2 -> 56/1: A#1", - "111/2 -> 611/11: G#3", - "111/2 -> 611/11: C4", - "111/2 -> 611/11: D4", - "111/2 -> 611/11: G4", - "113/2 -> 57/1: x", - "225/4 -> 113/2: c4", - "227/4 -> 57/1: c4", - "113/2 -> 57/1: C4", - "225/4 -> 227/4: D#4", - "56/1 -> 113/2: C5", - "223/4 -> 225/4: D5", - "227/4 -> 229/4: D5", - "56/1 -> 113/2: G#1", - "227/4 -> 57/1: G#1", - "225/4 -> 2477/44: G#3", - "225/4 -> 2477/44: C4", - "225/4 -> 2477/44: D#4", - "225/4 -> 2477/44: G4", - "115/2 -> 58/1: x", - "229/4 -> 115/2: c4", - "231/4 -> 58/1: c4", - "115/2 -> 58/1: C4", - "229/4 -> 231/4: D#4", - "57/1 -> 115/2: C5", - "227/4 -> 229/4: D5", - "231/4 -> 233/4: D5", - "231/4 -> 58/1: G#1", - "229/4 -> 2521/44: G#3", - "229/4 -> 2521/44: C4", - "229/4 -> 2521/44: D#4", - "229/4 -> 2521/44: G4", - "117/2 -> 59/1: x", - "233/4 -> 117/2: c4", - "235/4 -> 59/1: c4", - "117/2 -> 59/1: C4", - "233/4 -> 235/4: D#4", - "58/1 -> 117/2: C5", - "231/4 -> 233/4: D5", - "235/4 -> 237/4: D5", - "58/1 -> 117/2: G#1", - "235/4 -> 59/1: G#1", - "117/2 -> 644/11: G#3", - "117/2 -> 644/11: C4", - "117/2 -> 644/11: D#4", - "117/2 -> 644/11: G4", - "119/2 -> 60/1: x", - "237/4 -> 119/2: c4", - "239/4 -> 60/1: c4", - "119/2 -> 60/1: C4", - "237/4 -> 239/4: D#4", - "59/1 -> 119/2: C5", - "235/4 -> 237/4: D5", - "239/4 -> 241/4: C5", - "239/4 -> 60/1: G#1", - "119/2 -> 655/11: G#3", - "119/2 -> 655/11: C4", - "119/2 -> 655/11: D#4", - "119/2 -> 655/11: G4", -] -`; - -exports[`renders tunes > tune: confusedPhone 1`] = ` -[ - "0/1 -> 10/23: G2", - "0/1 -> 10/23: G1", - "1/5 -> 73/115: D3", - "2/5 -> 96/115: F3", - "-2/5 -> 4/115: C4", - "3/5 -> 119/115: G3", - "-1/5 -> 27/115: C5", - "4/5 -> 142/115: G4", - "1/1 -> 33/23: C3", - "1/1 -> 33/23: C2", - "6/5 -> 188/115: G3", - "7/5 -> 211/115: Bb3", - "3/5 -> 119/115: G3", - "8/5 -> 234/115: C4", - "4/5 -> 142/115: G4", - "9/5 -> 257/115: C5", - "2/1 -> 56/23: A2", - "2/1 -> 56/23: A1", - "11/5 -> 303/115: E3", - "12/5 -> 326/115: G3", - "8/5 -> 234/115: D4", - "13/5 -> 349/115: A3", - "9/5 -> 257/115: D5", - "14/5 -> 372/115: A4", - "3/1 -> 79/23: D3", - "3/1 -> 79/23: D2", - "16/5 -> 418/115: A3", - "17/5 -> 441/115: C4", - "13/5 -> 349/115: A3", - "18/5 -> 464/115: D4", - "14/5 -> 372/115: A4", - "19/5 -> 487/115: D5", - "4/1 -> 102/23: Bb2", - "4/1 -> 102/23: Bb1", - "21/5 -> 533/115: F3", - "22/5 -> 556/115: A3", - "18/5 -> 464/115: Eb4", - "23/5 -> 579/115: Bb3", - "19/5 -> 487/115: Eb5", - "24/5 -> 602/115: Bb4", - "5/1 -> 125/23: Eb3", - "5/1 -> 125/23: Eb2", - "26/5 -> 648/115: Bb3", - "27/5 -> 671/115: D4", - "23/5 -> 579/115: Bb3", - "28/5 -> 694/115: Eb4", - "24/5 -> 602/115: Bb4", - "29/5 -> 717/115: Eb5", - "6/1 -> 148/23: A2", - "6/1 -> 148/23: A1", - "31/5 -> 763/115: E3", - "32/5 -> 786/115: G3", - "28/5 -> 694/115: D4", - "33/5 -> 809/115: A3", - "29/5 -> 717/115: D5", - "34/5 -> 832/115: A4", - "7/1 -> 171/23: D3", - "7/1 -> 171/23: D2", - "36/5 -> 878/115: A3", - "37/5 -> 901/115: C4", - "33/5 -> 809/115: A3", - "38/5 -> 924/115: D4", - "34/5 -> 832/115: A4", - "39/5 -> 947/115: D5", + "0/1 -> 1/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "1/2 -> 1/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "1/2 -> 1/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "1/4 -> 1/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "3/4 -> 1/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "0/1 -> 1/2: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "3/4 -> 1/1: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "1/4 -> 13/44: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "1/4 -> 13/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "1/4 -> 13/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "1/4 -> 13/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "1/1 -> 3/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "3/2 -> 2/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "3/2 -> 2/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "5/4 -> 3/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "7/4 -> 2/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "7/4 -> 2/1: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "5/4 -> 57/44: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "5/4 -> 57/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "5/4 -> 57/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "5/4 -> 57/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "2/1 -> 5/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "5/2 -> 3/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "5/2 -> 3/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "9/4 -> 5/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "11/4 -> 3/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "2/1 -> 5/2: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "11/4 -> 3/1: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "5/2 -> 28/11: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "5/2 -> 28/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "5/2 -> 28/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "5/2 -> 28/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "3/1 -> 7/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "7/2 -> 4/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "7/2 -> 4/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "13/4 -> 7/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "15/4 -> 4/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "15/4 -> 4/1: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "7/2 -> 39/11: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "7/2 -> 39/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "7/2 -> 39/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "7/2 -> 39/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "4/1 -> 9/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "9/2 -> 5/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "9/2 -> 5/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "17/4 -> 9/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "19/4 -> 5/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "4/1 -> 9/2: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "19/4 -> 5/1: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "17/4 -> 189/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "17/4 -> 189/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "17/4 -> 189/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "17/4 -> 189/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "5/1 -> 11/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "11/2 -> 6/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "11/2 -> 6/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "21/4 -> 11/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "23/4 -> 6/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "23/4 -> 6/1: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "21/4 -> 233/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "21/4 -> 233/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "21/4 -> 233/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "21/4 -> 233/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "6/1 -> 13/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "13/2 -> 7/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "13/2 -> 7/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "25/4 -> 13/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "27/4 -> 7/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "6/1 -> 13/2: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "27/4 -> 7/1: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "13/2 -> 72/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "13/2 -> 72/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "13/2 -> 72/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "13/2 -> 72/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "7/1 -> 15/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "15/2 -> 8/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "15/2 -> 63/8: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "63/8 -> 8/1: {\\"s\\":\\"x\\",\\"value\\":\\"x\\"}", + "29/4 -> 15/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "31/4 -> 8/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "7/1 -> 15/2: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "15/2 -> 8/1: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "15/2 -> 83/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "15/2 -> 83/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "15/2 -> 83/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "15/2 -> 83/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "8/1 -> 17/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "17/2 -> 9/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "17/2 -> 9/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "33/4 -> 17/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "35/4 -> 9/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "8/1 -> 17/2: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "35/4 -> 9/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "33/4 -> 365/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "33/4 -> 365/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "33/4 -> 365/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "33/4 -> 365/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "9/1 -> 19/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "19/2 -> 10/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "19/2 -> 10/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "37/4 -> 19/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "39/4 -> 10/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "39/4 -> 10/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "37/4 -> 409/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "37/4 -> 409/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "37/4 -> 409/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "37/4 -> 409/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "10/1 -> 21/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "21/2 -> 11/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "21/2 -> 11/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "41/4 -> 21/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "43/4 -> 11/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "10/1 -> 21/2: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "43/4 -> 11/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "21/2 -> 116/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "21/2 -> 116/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "21/2 -> 116/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "21/2 -> 116/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "11/1 -> 23/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "23/2 -> 12/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "23/2 -> 12/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "45/4 -> 23/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "47/4 -> 12/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "47/4 -> 12/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "23/2 -> 127/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "23/2 -> 127/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "23/2 -> 127/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "23/2 -> 127/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "12/1 -> 25/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "25/2 -> 13/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "25/2 -> 13/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "49/4 -> 25/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "51/4 -> 13/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "12/1 -> 25/2: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "51/4 -> 13/1: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "49/4 -> 541/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "49/4 -> 541/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "49/4 -> 541/44: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "49/4 -> 541/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "13/1 -> 27/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "27/2 -> 14/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "27/2 -> 14/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "53/4 -> 27/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "55/4 -> 14/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "55/4 -> 14/1: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "53/4 -> 585/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "53/4 -> 585/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "53/4 -> 585/44: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "53/4 -> 585/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "14/1 -> 29/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "29/2 -> 15/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "29/2 -> 15/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "57/4 -> 29/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "59/4 -> 15/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "14/1 -> 29/2: {\\"note\\":\\"F#2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "59/4 -> 15/1: {\\"note\\":\\"F#2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "29/2 -> 160/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "29/2 -> 160/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "29/2 -> 160/11: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "29/2 -> 160/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "15/1 -> 31/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "31/2 -> 16/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "31/2 -> 127/8: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "127/8 -> 16/1: {\\"s\\":\\"x\\",\\"value\\":\\"x\\"}", + "61/4 -> 31/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "63/4 -> 16/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "15/1 -> 31/2: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "31/2 -> 16/1: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "31/2 -> 171/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "31/2 -> 171/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "31/2 -> 171/11: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "31/2 -> 171/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "16/1 -> 33/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "33/2 -> 17/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "33/2 -> 17/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "65/4 -> 33/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "67/4 -> 17/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "16/1 -> 33/2: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "67/4 -> 17/1: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "65/4 -> 717/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "65/4 -> 717/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "65/4 -> 717/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "65/4 -> 717/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "17/1 -> 35/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "35/2 -> 18/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "35/2 -> 18/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "69/4 -> 35/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "71/4 -> 18/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "71/4 -> 18/1: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "69/4 -> 761/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "69/4 -> 761/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "69/4 -> 761/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "69/4 -> 761/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "18/1 -> 37/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "37/2 -> 19/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "37/2 -> 19/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "73/4 -> 37/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "75/4 -> 19/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "18/1 -> 37/2: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "75/4 -> 19/1: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "37/2 -> 204/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "37/2 -> 204/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "37/2 -> 204/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "37/2 -> 204/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "19/1 -> 39/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "39/2 -> 20/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "39/2 -> 20/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "77/4 -> 39/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "79/4 -> 20/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "79/4 -> 20/1: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "39/2 -> 215/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "39/2 -> 215/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "39/2 -> 215/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "39/2 -> 215/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "20/1 -> 41/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "41/2 -> 21/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "41/2 -> 21/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "81/4 -> 41/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "83/4 -> 21/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "20/1 -> 41/2: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "83/4 -> 21/1: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "81/4 -> 893/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "81/4 -> 893/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "81/4 -> 893/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "81/4 -> 893/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "21/1 -> 43/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "43/2 -> 22/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "43/2 -> 22/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "85/4 -> 43/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "87/4 -> 22/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "87/4 -> 22/1: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "85/4 -> 937/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "85/4 -> 937/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "85/4 -> 937/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "85/4 -> 937/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "22/1 -> 45/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "45/2 -> 23/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "45/2 -> 23/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "89/4 -> 45/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "91/4 -> 23/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "22/1 -> 45/2: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "91/4 -> 23/1: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "45/2 -> 248/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "45/2 -> 248/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "45/2 -> 248/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "45/2 -> 248/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "23/1 -> 47/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "47/2 -> 24/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "47/2 -> 191/8: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "191/8 -> 24/1: {\\"s\\":\\"x\\",\\"value\\":\\"x\\"}", + "93/4 -> 47/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "95/4 -> 24/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "23/1 -> 47/2: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "47/2 -> 24/1: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "47/2 -> 259/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "47/2 -> 259/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "47/2 -> 259/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "47/2 -> 259/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "24/1 -> 49/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "49/2 -> 25/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "49/2 -> 25/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "97/4 -> 49/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "99/4 -> 25/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "24/1 -> 49/2: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "99/4 -> 25/1: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "97/4 -> 1069/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "97/4 -> 1069/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "97/4 -> 1069/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "97/4 -> 1069/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "25/1 -> 51/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "51/2 -> 26/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "51/2 -> 26/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "101/4 -> 51/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "103/4 -> 26/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "103/4 -> 26/1: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "101/4 -> 1113/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "101/4 -> 1113/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "101/4 -> 1113/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "101/4 -> 1113/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "26/1 -> 53/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "53/2 -> 27/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "53/2 -> 27/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "105/4 -> 53/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "107/4 -> 27/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "26/1 -> 53/2: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "107/4 -> 27/1: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "53/2 -> 292/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "53/2 -> 292/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "53/2 -> 292/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "53/2 -> 292/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "27/1 -> 55/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "55/2 -> 28/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "55/2 -> 28/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "109/4 -> 55/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "111/4 -> 28/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "111/4 -> 28/1: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "55/2 -> 303/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "55/2 -> 303/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "55/2 -> 303/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "55/2 -> 303/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "28/1 -> 57/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "57/2 -> 29/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "113/4 -> 57/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "115/4 -> 29/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "28/1 -> 57/2: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "115/4 -> 29/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "113/4 -> 1245/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "113/4 -> 1245/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "113/4 -> 1245/44: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "113/4 -> 1245/44: {\\"note\\":\\"G#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "29/1 -> 59/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "59/2 -> 30/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "117/4 -> 59/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "119/4 -> 30/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "119/4 -> 30/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "117/4 -> 1289/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "117/4 -> 1289/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "117/4 -> 1289/44: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "117/4 -> 1289/44: {\\"note\\":\\"G#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "30/1 -> 61/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "61/2 -> 31/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "121/4 -> 61/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "123/4 -> 31/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "30/1 -> 61/2: {\\"note\\":\\"G2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "123/4 -> 31/1: {\\"note\\":\\"G2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "61/2 -> 336/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "61/2 -> 336/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "61/2 -> 336/11: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "61/2 -> 336/11: {\\"note\\":\\"G#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "31/1 -> 63/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "63/2 -> 32/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "125/4 -> 63/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "127/4 -> 32/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "31/1 -> 63/2: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "63/2 -> 32/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "63/2 -> 347/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "63/2 -> 347/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "63/2 -> 347/11: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "63/2 -> 347/11: {\\"note\\":\\"G#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "32/1 -> 65/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "65/2 -> 33/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "65/2 -> 33/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "129/4 -> 65/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "131/4 -> 33/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "65/2 -> 33/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "129/4 -> 131/4: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "32/1 -> 65/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "127/4 -> 129/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "131/4 -> 133/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "32/1 -> 65/2: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "131/4 -> 33/1: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "129/4 -> 1421/44: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "129/4 -> 1421/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "129/4 -> 1421/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "129/4 -> 1421/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "33/1 -> 67/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "67/2 -> 34/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "67/2 -> 34/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "133/4 -> 67/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "135/4 -> 34/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "67/2 -> 34/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "133/4 -> 135/4: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "33/1 -> 67/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "131/4 -> 133/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "135/4 -> 137/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "135/4 -> 34/1: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "133/4 -> 1465/44: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "133/4 -> 1465/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "133/4 -> 1465/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "133/4 -> 1465/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "34/1 -> 69/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "69/2 -> 35/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "69/2 -> 35/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "137/4 -> 69/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "139/4 -> 35/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "69/2 -> 35/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "137/4 -> 139/4: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "34/1 -> 69/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "135/4 -> 137/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "139/4 -> 141/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "34/1 -> 69/2: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "139/4 -> 35/1: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "69/2 -> 380/11: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "69/2 -> 380/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "69/2 -> 380/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "69/2 -> 380/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "35/1 -> 71/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "71/2 -> 36/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "71/2 -> 36/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "141/4 -> 71/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "143/4 -> 36/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "71/2 -> 36/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "141/4 -> 143/4: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "35/1 -> 71/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "139/4 -> 141/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "143/4 -> 145/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "143/4 -> 36/1: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "71/2 -> 391/11: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "71/2 -> 391/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "71/2 -> 391/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "71/2 -> 391/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "36/1 -> 73/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "73/2 -> 37/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "73/2 -> 37/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "145/4 -> 73/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "147/4 -> 37/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "73/2 -> 37/1: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "145/4 -> 147/4: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "36/1 -> 73/2: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "143/4 -> 145/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "147/4 -> 149/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "36/1 -> 73/2: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "147/4 -> 37/1: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "145/4 -> 1597/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "145/4 -> 1597/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "145/4 -> 1597/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "145/4 -> 1597/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "37/1 -> 75/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "75/2 -> 38/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "75/2 -> 38/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "149/4 -> 75/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "151/4 -> 38/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "75/2 -> 38/1: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "149/4 -> 151/4: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "37/1 -> 75/2: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "147/4 -> 149/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "151/4 -> 153/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "151/4 -> 38/1: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "149/4 -> 1641/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "149/4 -> 1641/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "149/4 -> 1641/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "149/4 -> 1641/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "38/1 -> 77/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "77/2 -> 39/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "77/2 -> 39/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "153/4 -> 77/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "155/4 -> 39/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "77/2 -> 39/1: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "153/4 -> 155/4: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "38/1 -> 77/2: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "151/4 -> 153/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "155/4 -> 157/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "38/1 -> 77/2: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "155/4 -> 39/1: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "77/2 -> 424/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "77/2 -> 424/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "77/2 -> 424/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "77/2 -> 424/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "39/1 -> 79/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "79/2 -> 40/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "79/2 -> 319/8: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "319/8 -> 40/1: {\\"s\\":\\"x\\",\\"value\\":\\"x\\"}", + "157/4 -> 79/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "159/4 -> 40/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "79/2 -> 40/1: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "157/4 -> 159/4: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "39/1 -> 79/2: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "155/4 -> 157/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "159/4 -> 161/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "39/1 -> 79/2: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "79/2 -> 40/1: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "79/2 -> 435/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "79/2 -> 435/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "79/2 -> 435/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "79/2 -> 435/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "40/1 -> 81/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "81/2 -> 41/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "81/2 -> 41/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "161/4 -> 81/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "163/4 -> 41/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "81/2 -> 41/1: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "161/4 -> 163/4: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "40/1 -> 81/2: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "159/4 -> 161/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "163/4 -> 165/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "40/1 -> 81/2: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "163/4 -> 41/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "161/4 -> 1773/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "161/4 -> 1773/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "161/4 -> 1773/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "161/4 -> 1773/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "41/1 -> 83/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "83/2 -> 42/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "83/2 -> 42/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "165/4 -> 83/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "167/4 -> 42/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "83/2 -> 42/1: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "165/4 -> 167/4: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "41/1 -> 83/2: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "163/4 -> 165/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "167/4 -> 169/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "167/4 -> 42/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "165/4 -> 1817/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "165/4 -> 1817/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "165/4 -> 1817/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "165/4 -> 1817/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "42/1 -> 85/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "85/2 -> 43/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "85/2 -> 43/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "169/4 -> 85/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "171/4 -> 43/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "85/2 -> 43/1: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "169/4 -> 171/4: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "42/1 -> 85/2: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "167/4 -> 169/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "171/4 -> 173/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "42/1 -> 85/2: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "171/4 -> 43/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "85/2 -> 468/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "85/2 -> 468/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "85/2 -> 468/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "85/2 -> 468/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "43/1 -> 87/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "87/2 -> 44/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "87/2 -> 44/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "173/4 -> 87/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "175/4 -> 44/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "87/2 -> 44/1: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "173/4 -> 175/4: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "43/1 -> 87/2: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "171/4 -> 173/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "175/4 -> 177/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "175/4 -> 44/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "87/2 -> 479/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "87/2 -> 479/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "87/2 -> 479/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "87/2 -> 479/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "44/1 -> 89/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "89/2 -> 45/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "89/2 -> 45/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "177/4 -> 89/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "179/4 -> 45/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "89/2 -> 45/1: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "177/4 -> 179/4: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "44/1 -> 89/2: {\\"note\\":\\"A#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "175/4 -> 177/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "179/4 -> 181/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "44/1 -> 89/2: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "179/4 -> 45/1: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "177/4 -> 1949/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "177/4 -> 1949/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "177/4 -> 1949/44: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "177/4 -> 1949/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "45/1 -> 91/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "91/2 -> 46/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "91/2 -> 46/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "181/4 -> 91/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "183/4 -> 46/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "91/2 -> 46/1: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "181/4 -> 183/4: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "45/1 -> 91/2: {\\"note\\":\\"A#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "179/4 -> 181/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "183/4 -> 185/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "183/4 -> 46/1: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "181/4 -> 1993/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "181/4 -> 1993/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "181/4 -> 1993/44: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "181/4 -> 1993/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "46/1 -> 93/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "93/2 -> 47/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "93/2 -> 47/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "185/4 -> 93/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "187/4 -> 47/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "93/2 -> 47/1: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "185/4 -> 187/4: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "46/1 -> 93/2: {\\"note\\":\\"A#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "183/4 -> 185/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "187/4 -> 189/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "46/1 -> 93/2: {\\"note\\":\\"F#2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "187/4 -> 47/1: {\\"note\\":\\"F#2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "93/2 -> 512/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "93/2 -> 512/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "93/2 -> 512/11: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "93/2 -> 512/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "47/1 -> 95/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "95/2 -> 48/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "95/2 -> 383/8: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "383/8 -> 48/1: {\\"s\\":\\"x\\",\\"value\\":\\"x\\"}", + "189/4 -> 95/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "191/4 -> 48/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "95/2 -> 48/1: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "189/4 -> 191/4: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "47/1 -> 95/2: {\\"note\\":\\"A#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "187/4 -> 189/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "191/4 -> 193/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "47/1 -> 95/2: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "95/2 -> 48/1: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "95/2 -> 523/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "95/2 -> 523/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "95/2 -> 523/11: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "95/2 -> 523/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "48/1 -> 97/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "97/2 -> 49/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "97/2 -> 49/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "193/4 -> 97/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "195/4 -> 49/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "97/2 -> 49/1: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "193/4 -> 195/4: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "48/1 -> 97/2: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "191/4 -> 193/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "195/4 -> 197/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "48/1 -> 97/2: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "195/4 -> 49/1: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "193/4 -> 2125/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "193/4 -> 2125/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "193/4 -> 2125/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "193/4 -> 2125/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "49/1 -> 99/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "99/2 -> 50/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "99/2 -> 50/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "197/4 -> 99/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "199/4 -> 50/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "99/2 -> 50/1: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "197/4 -> 199/4: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "49/1 -> 99/2: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "195/4 -> 197/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "199/4 -> 201/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "199/4 -> 50/1: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "197/4 -> 2169/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "197/4 -> 2169/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "197/4 -> 2169/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "197/4 -> 2169/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "50/1 -> 101/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "101/2 -> 51/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "101/2 -> 51/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "201/4 -> 101/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "203/4 -> 51/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "101/2 -> 51/1: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "201/4 -> 203/4: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "50/1 -> 101/2: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "199/4 -> 201/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "203/4 -> 205/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "50/1 -> 101/2: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "203/4 -> 51/1: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "101/2 -> 556/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "101/2 -> 556/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "101/2 -> 556/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "101/2 -> 556/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "51/1 -> 103/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "103/2 -> 52/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "103/2 -> 52/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "205/4 -> 103/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "207/4 -> 52/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "103/2 -> 52/1: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "205/4 -> 207/4: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "51/1 -> 103/2: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "203/4 -> 205/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "207/4 -> 209/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "207/4 -> 52/1: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "103/2 -> 567/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "103/2 -> 567/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "103/2 -> 567/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "103/2 -> 567/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "52/1 -> 105/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "105/2 -> 53/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "105/2 -> 53/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "209/4 -> 105/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "211/4 -> 53/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "105/2 -> 53/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "209/4 -> 211/4: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "52/1 -> 105/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "207/4 -> 209/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "211/4 -> 213/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "52/1 -> 105/2: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "211/4 -> 53/1: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "209/4 -> 2301/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "209/4 -> 2301/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "209/4 -> 2301/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "209/4 -> 2301/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "53/1 -> 107/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "107/2 -> 54/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "107/2 -> 54/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "213/4 -> 107/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "215/4 -> 54/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "107/2 -> 54/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "213/4 -> 215/4: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "53/1 -> 107/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "211/4 -> 213/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "215/4 -> 217/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "215/4 -> 54/1: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "213/4 -> 2345/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "213/4 -> 2345/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "213/4 -> 2345/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "213/4 -> 2345/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "54/1 -> 109/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "109/2 -> 55/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "109/2 -> 55/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "217/4 -> 109/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "219/4 -> 55/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "109/2 -> 55/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "217/4 -> 219/4: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "54/1 -> 109/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "215/4 -> 217/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "219/4 -> 221/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "54/1 -> 109/2: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "219/4 -> 55/1: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "109/2 -> 600/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "109/2 -> 600/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "109/2 -> 600/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "109/2 -> 600/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "55/1 -> 111/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "111/2 -> 56/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "111/2 -> 447/8: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "447/8 -> 56/1: {\\"s\\":\\"x\\",\\"value\\":\\"x\\"}", + "221/4 -> 111/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "223/4 -> 56/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "111/2 -> 56/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "221/4 -> 223/4: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "55/1 -> 111/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "219/4 -> 221/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "223/4 -> 225/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "55/1 -> 111/2: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "111/2 -> 56/1: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "111/2 -> 611/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "111/2 -> 611/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "111/2 -> 611/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "111/2 -> 611/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "113/2 -> 57/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "225/4 -> 113/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "227/4 -> 57/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "113/2 -> 57/1: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "225/4 -> 227/4: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "56/1 -> 113/2: {\\"note\\":\\"C5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "223/4 -> 225/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "227/4 -> 229/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "56/1 -> 113/2: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "227/4 -> 57/1: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "225/4 -> 2477/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "225/4 -> 2477/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "225/4 -> 2477/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "225/4 -> 2477/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "115/2 -> 58/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "229/4 -> 115/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "231/4 -> 58/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "115/2 -> 58/1: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "229/4 -> 231/4: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "57/1 -> 115/2: {\\"note\\":\\"C5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "227/4 -> 229/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "231/4 -> 233/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "231/4 -> 58/1: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "229/4 -> 2521/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "229/4 -> 2521/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "229/4 -> 2521/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "229/4 -> 2521/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "117/2 -> 59/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "233/4 -> 117/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "235/4 -> 59/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "117/2 -> 59/1: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "233/4 -> 235/4: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "58/1 -> 117/2: {\\"note\\":\\"C5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "231/4 -> 233/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "235/4 -> 237/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "58/1 -> 117/2: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "235/4 -> 59/1: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "117/2 -> 644/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "117/2 -> 644/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "117/2 -> 644/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "117/2 -> 644/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "119/2 -> 60/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "237/4 -> 119/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "239/4 -> 60/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", + "119/2 -> 60/1: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "237/4 -> 239/4: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "59/1 -> 119/2: {\\"note\\":\\"C5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "235/4 -> 237/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "239/4 -> 241/4: {\\"note\\":\\"C5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "239/4 -> 60/1: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "119/2 -> 655/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "119/2 -> 655/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "119/2 -> 655/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "119/2 -> 655/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", ] `; @@ -13392,103 +13323,6 @@ exports[`renders tunes > tune: jemblung 1`] = ` ] `; -exports[`renders tunes > tune: magicSofa 1`] = ` -[ - "0/1 -> 1/4: B3", - "0/1 -> 1/4: D4", - "0/1 -> 1/4: E4", - "0/1 -> 1/4: G4", - "1/4 -> 1/2: C4", - "1/4 -> 1/2: E4", - "1/4 -> 1/2: F4", - "1/4 -> 1/2: A4", - "1/2 -> 3/4: A3", - "1/2 -> 3/4: C4", - "1/2 -> 3/4: E4", - "1/2 -> 3/4: G4", - "3/4 -> 1/1: B3", - "3/4 -> 1/1: E4", - "3/4 -> 1/1: F4", - "3/4 -> 1/1: A4", - "0/1 -> 1/2: C2", - "1/2 -> 1/1: D2", - "1/1 -> 3/2: B3", - "1/1 -> 3/2: D4", - "1/1 -> 3/2: F#4", - "1/1 -> 3/2: A4", - "3/2 -> 2/1: C#4", - "3/2 -> 2/1: F#4", - "3/2 -> 2/1: G4", - "3/2 -> 2/1: B4", - "1/1 -> 3/2: G2", - "3/2 -> 2/1: A2", - "2/1 -> 9/4: C4", - "2/1 -> 9/4: Eb4", - "2/1 -> 9/4: G4", - "2/1 -> 9/4: Bb4", - "9/4 -> 5/2: Eb4", - "9/4 -> 5/2: G4", - "9/4 -> 5/2: Ab4", - "9/4 -> 5/2: C5", - "11/4 -> 3/1: D4", - "11/4 -> 3/1: G4", - "11/4 -> 3/1: Ab4", - "11/4 -> 3/1: C5", - "2/1 -> 5/2: Bb2", - "5/2 -> 3/1: C3", - "3/1 -> 7/2: D#4", - "3/1 -> 7/2: F#4", - "3/1 -> 7/2: G#4", - "3/1 -> 7/2: B4", - "3/1 -> 7/2: E2", - "7/2 -> 4/1: G#2", - "17/4 -> 9/2: C4", - "17/4 -> 9/2: E4", - "17/4 -> 9/2: F4", - "17/4 -> 9/2: A4", - "9/2 -> 19/4: B3", - "9/2 -> 19/4: D4", - "9/2 -> 19/4: E4", - "9/2 -> 19/4: G4", - "19/4 -> 5/1: B3", - "19/4 -> 5/1: E4", - "19/4 -> 5/1: F4", - "19/4 -> 5/1: A4", - "4/1 -> 9/2: F2", - "9/2 -> 5/1: D2", - "11/2 -> 6/1: C#4", - "11/2 -> 6/1: F#4", - "11/2 -> 6/1: G4", - "11/2 -> 6/1: B4", - "5/1 -> 11/2: A2", - "11/2 -> 6/1: A2", - "6/1 -> 25/4: D4", - "6/1 -> 25/4: F4", - "6/1 -> 25/4: G4", - "6/1 -> 25/4: Bb4", - "25/4 -> 13/2: Eb4", - "25/4 -> 13/2: G4", - "25/4 -> 13/2: Ab4", - "25/4 -> 13/2: C5", - "13/2 -> 27/4: C4", - "13/2 -> 27/4: Eb4", - "13/2 -> 27/4: G4", - "13/2 -> 27/4: Bb4", - "27/4 -> 7/1: D4", - "27/4 -> 7/1: G4", - "27/4 -> 7/1: Ab4", - "27/4 -> 7/1: C5", - "6/1 -> 13/2: Eb2", - "13/2 -> 7/1: C3", - "7/1 -> 15/2: C#4", - "7/1 -> 15/2: E4", - "7/1 -> 15/2: G#4", - "7/1 -> 15/2: B4", - "7/1 -> 15/2: A2", - "15/2 -> 8/1: G#2", -] -`; - exports[`renders tunes > tune: meltingsubmarine 1`] = ` [ "0/1 -> 3/2: {\\"s\\":\\"bd\\",\\"speed\\":0.7519542165100574}", @@ -14237,181 +14071,6 @@ exports[`renders tunes > tune: sampleDrums 1`] = ` ] `; -exports[`renders tunes > tune: scaleTranspose 1`] = ` -[ - "0/1 -> 1/1: F2", - "0/1 -> 1/1: F3", - "0/1 -> 1/1: C4", - "0/1 -> 1/1: Ab4", - "1/1 -> 2/1: Eb2", - "1/1 -> 2/1: Eb3", - "1/1 -> 2/1: Bb3", - "1/1 -> 2/1: G4", - "2/1 -> 3/1: Db2", - "2/1 -> 3/1: Db3", - "2/1 -> 3/1: Ab3", - "2/1 -> 3/1: F4", - "3/1 -> 4/1: C2", - "3/1 -> 4/1: C3", - "3/1 -> 4/1: G3", - "3/1 -> 4/1: E4", - "4/1 -> 5/1: F2", - "4/1 -> 5/1: F3", - "4/1 -> 5/1: C4", - "4/1 -> 5/1: Ab4", - "5/1 -> 6/1: Eb2", - "5/1 -> 6/1: Eb3", - "5/1 -> 6/1: Bb3", - "5/1 -> 6/1: G4", - "6/1 -> 7/1: Db2", - "6/1 -> 7/1: Db3", - "6/1 -> 7/1: Ab3", - "6/1 -> 7/1: F4", - "7/1 -> 8/1: C2", - "7/1 -> 8/1: C3", - "7/1 -> 8/1: G3", - "7/1 -> 8/1: E4", - "8/1 -> 9/1: Gb2", - "8/1 -> 9/1: Gb3", - "8/1 -> 9/1: Db4", - "8/1 -> 9/1: A4", - "9/1 -> 10/1: E2", - "9/1 -> 10/1: E3", - "9/1 -> 10/1: B3", - "9/1 -> 10/1: Ab4", - "10/1 -> 11/1: D2", - "10/1 -> 11/1: D3", - "10/1 -> 11/1: A3", - "10/1 -> 11/1: Gb4", - "11/1 -> 12/1: Db2", - "11/1 -> 12/1: Db3", - "11/1 -> 12/1: Ab3", - "11/1 -> 12/1: F4", - "12/1 -> 13/1: Gb2", - "12/1 -> 13/1: Gb3", - "12/1 -> 13/1: Db4", - "12/1 -> 13/1: A4", - "13/1 -> 14/1: E2", - "13/1 -> 14/1: E3", - "13/1 -> 14/1: B3", - "13/1 -> 14/1: Ab4", - "14/1 -> 15/1: D2", - "14/1 -> 15/1: D3", - "14/1 -> 15/1: A3", - "14/1 -> 15/1: Gb4", - "15/1 -> 16/1: Db2", - "15/1 -> 16/1: Db3", - "15/1 -> 16/1: Ab3", - "15/1 -> 16/1: F4", -] -`; - -exports[`renders tunes > tune: shapeShifted 1`] = ` -[ - "1/2 -> 1/1: a4", - "3/4 -> 1/1: a1", - "1/2 -> 3/4: a2", - "1/4 -> 1/2: a1", - "0/1 -> 1/4: a2", - "3/2 -> 2/1: c5", - "1/1 -> 3/2: a4", - "7/4 -> 2/1: a1", - "3/2 -> 7/4: a2", - "5/4 -> 3/2: a1", - "1/1 -> 5/4: a2", - "5/2 -> 3/1: d5", - "2/1 -> 5/2: e5", - "11/4 -> 3/1: e2", - "5/2 -> 11/4: e3", - "9/4 -> 5/2: e2", - "2/1 -> 9/4: e3", - "7/2 -> 4/1: b4", - "13/4 -> 7/2: b4", - "3/1 -> 13/4: c5", - "15/4 -> 4/1: b1", - "7/2 -> 15/4: b2", - "13/4 -> 7/2: b1", - "3/1 -> 13/4: b2", - "9/2 -> 5/1: e5", - "17/4 -> 9/2: d5", - "4/1 -> 17/4: c5", - "19/4 -> 5/1: c2", - "9/2 -> 19/4: c3", - "17/4 -> 9/2: c2", - "4/1 -> 17/4: c3", - "11/2 -> 6/1: e5", - "5/1 -> 21/4: c5", - "23/4 -> 6/1: c2", - "11/2 -> 23/4: c3", - "21/4 -> 11/2: c2", - "5/1 -> 21/4: c3", - "13/2 -> 7/1: a5", - "25/4 -> 13/2: g5", - "6/1 -> 25/4: f5", - "27/4 -> 7/1: d2", - "13/2 -> 27/4: d3", - "25/4 -> 13/2: d2", - "6/1 -> 25/4: d3", - "15/2 -> 31/4: d5", - "7/1 -> 29/4: f5", - "31/4 -> 8/1: d2", - "15/2 -> 31/4: d3", - "29/4 -> 15/2: d2", - "7/1 -> 29/4: d3", - "17/2 -> 9/1: a4", - "35/4 -> 9/1: a2", - "17/2 -> 35/4: a3", - "33/4 -> 17/2: b1", - "8/1 -> 33/4: c2", - "19/2 -> 10/1: c5", - "9/1 -> 19/2: a4", - "39/4 -> 10/1: a2", - "19/2 -> 39/4: a3", - "37/4 -> 19/2: a2", - "9/1 -> 37/4: a3", - "21/2 -> 11/1: d5", - "10/1 -> 21/2: e5", - "43/4 -> 11/1: e2", - "21/2 -> 43/4: e3", - "41/4 -> 21/2: e2", - "10/1 -> 41/4: e3", - "23/2 -> 12/1: b4", - "11/1 -> 45/4: c5", - "47/4 -> 12/1: g#2", - "23/2 -> 47/4: g#3", - "45/4 -> 23/2: g#2", - "11/1 -> 45/4: g#3", - "25/2 -> 13/1: e5", - "49/4 -> 25/2: d5", - "12/1 -> 49/4: c5", - "51/4 -> 13/1: a2", - "25/2 -> 51/4: a3", - "49/4 -> 25/2: a2", - "12/1 -> 49/4: a3", - "27/2 -> 14/1: a4", - "53/4 -> 27/2: a4", - "13/1 -> 53/4: c5", - "55/4 -> 14/1: a2", - "27/2 -> 55/4: a3", - "53/4 -> 27/2: a2", - "13/1 -> 53/4: a3", - "29/2 -> 15/1: d5", - "57/4 -> 29/2: c5", - "14/1 -> 57/4: b4", - "59/4 -> 15/1: e2", - "29/2 -> 59/4: e3", - "57/4 -> 29/2: e2", - "14/1 -> 57/4: e3", - "31/2 -> 16/1: e5", - "61/4 -> 31/2: b4", - "15/1 -> 61/4: c5", - "63/4 -> 16/1: e2", - "31/2 -> 63/4: e3", - "61/4 -> 31/2: e2", - "15/1 -> 61/4: e3", -] -`; - exports[`renders tunes > tune: sml1 1`] = ` [ "0/1 -> 19/80: e5", @@ -16273,45 +15932,6 @@ exports[`renders tunes > tune: speakerman 1`] = ` ] `; -exports[`renders tunes > tune: struct 1`] = ` -[ - "0/1 -> 1/2: c2", - "1/2 -> 1/1: g2", - "0/1 -> 1/3: B3", - "0/1 -> 1/3: D4", - "0/1 -> 1/3: E4", - "0/1 -> 1/3: G4", - "1/3 -> 1/2: B3", - "1/3 -> 1/2: D4", - "1/3 -> 1/2: E4", - "1/3 -> 1/2: G4", - "5/6 -> 1/1: B3", - "5/6 -> 1/1: D4", - "5/6 -> 1/1: E4", - "5/6 -> 1/1: G4", - "1/1 -> 3/2: a2", - "3/2 -> 11/6: e2", - "11/6 -> 2/1: eb2", - "4/3 -> 2/1: G3", - "4/3 -> 2/1: B3", - "4/3 -> 2/1: C#4", - "4/3 -> 2/1: F#4", - "2/1 -> 5/2: d2", - "5/2 -> 3/1: a2", - "2/1 -> 13/6: C4", - "2/1 -> 13/6: E4", - "2/1 -> 13/6: F4", - "2/1 -> 13/6: A4", - "3/1 -> 7/2: g2", - "7/2 -> 11/3: d2", - "23/6 -> 4/1: db2", - "10/3 -> 4/1: B3", - "10/3 -> 4/1: E4", - "10/3 -> 4/1: F4", - "10/3 -> 4/1: A4", -] -`; - exports[`renders tunes > tune: swimming 1`] = ` [ "0/1 -> 3/4: F4", @@ -16973,31 +16593,6 @@ exports[`renders tunes > tune: synthDrums 1`] = ` ] `; -exports[`renders tunes > tune: technoDrums 1`] = ` -[ - "0/1 -> 1/2: c1", - "1/2 -> 1/1: c1", - "1/1 -> 3/2: c1", - "3/2 -> 2/1: c1", - "2/1 -> 5/2: c1", - "5/2 -> 3/1: c1", - "3/1 -> 7/2: c1", - "7/2 -> 4/1: c1", - "1/2 -> 1/1: x", - "3/2 -> 2/1: x", - "5/2 -> 3/1: x", - "7/2 -> 4/1: x", - "1/4 -> 1/2: c4", - "3/4 -> 1/1: c4", - "5/4 -> 3/2: c4", - "7/4 -> 2/1: c4", - "9/4 -> 5/2: c4", - "11/4 -> 3/1: c4", - "13/4 -> 7/2: c4", - "15/4 -> 4/1: c4", -] -`; - exports[`renders tunes > tune: tetrisMini 1`] = ` [ "0/1 -> 1/2: e5", @@ -17104,255 +16699,6 @@ exports[`renders tunes > tune: tetrisMini 1`] = ` ] `; -exports[`renders tunes > tune: timeCat 1`] = ` -[ - "0/1 -> 3/4: c3", - "1/1 -> 7/4: c3", - "2/1 -> 11/4: c3", - "3/1 -> 15/4: c3", - "4/1 -> 19/4: c3", - "5/1 -> 23/4: c3", - "6/1 -> 27/4: c3", - "7/1 -> 31/4: c3", - "3/4 -> 1/1: eb3", - "3/4 -> 1/1: g3", - "3/4 -> 1/1: c4", - "7/4 -> 2/1: eb3", - "7/4 -> 2/1: g3", - "7/4 -> 2/1: d4", - "11/4 -> 3/1: eb3", - "11/4 -> 3/1: g3", - "11/4 -> 3/1: c4", - "15/4 -> 4/1: eb3", - "15/4 -> 4/1: g3", - "15/4 -> 4/1: d4", - "19/4 -> 5/1: eb3", - "19/4 -> 5/1: g3", - "19/4 -> 5/1: c4", - "23/4 -> 6/1: eb3", - "23/4 -> 6/1: g3", - "23/4 -> 6/1: d4", - "27/4 -> 7/1: eb3", - "27/4 -> 7/1: g3", - "27/4 -> 7/1: c4", - "31/4 -> 8/1: eb3", - "31/4 -> 8/1: g3", - "31/4 -> 8/1: d4", - "0/1 -> 1/2: c2", - "1/2 -> 1/1: g2", - "1/1 -> 3/2: c2", - "3/2 -> 2/1: g2", - "2/1 -> 5/2: c2", - "5/2 -> 3/1: g2", - "3/1 -> 7/2: c2", - "7/2 -> 4/1: g2", - "4/1 -> 9/2: c2", - "9/2 -> 5/1: g2", - "5/1 -> 11/2: c2", - "11/2 -> 6/1: g2", - "6/1 -> 13/2: c2", - "13/2 -> 7/1: g2", - "7/1 -> 15/2: c2", - "15/2 -> 8/1: g2", - "0/1 -> 5/4: eb4", - "0/1 -> 5/4: eb4", - "5/4 -> 3/2: f4", - "3/2 -> 7/4: eb4", - "7/4 -> 2/1: d4", - "2/1 -> 4/1: eb4", - "2/1 -> 4/1: eb4", - "4/1 -> 21/4: eb4", - "4/1 -> 21/4: eb4", - "21/4 -> 11/2: f4", - "11/2 -> 23/4: eb4", - "23/4 -> 6/1: d4", - "6/1 -> 8/1: c4", - "6/1 -> 8/1: c4", -] -`; - -exports[`renders tunes > tune: timeCatMini 1`] = ` -[ - "0/1 -> 3/4: c3", - "3/4 -> 1/1: eb3", - "3/4 -> 1/1: g3", - "3/4 -> 1/1: c4", - "1/1 -> 7/4: c3", - "7/4 -> 2/1: eb3", - "7/4 -> 2/1: g3", - "7/4 -> 2/1: d4", - "2/1 -> 11/4: c3", - "11/4 -> 3/1: eb3", - "11/4 -> 3/1: g3", - "11/4 -> 3/1: c4", - "3/1 -> 15/4: c3", - "15/4 -> 4/1: eb3", - "15/4 -> 4/1: g3", - "15/4 -> 4/1: d4", - "4/1 -> 19/4: c3", - "19/4 -> 5/1: eb3", - "19/4 -> 5/1: g3", - "19/4 -> 5/1: c4", - "5/1 -> 23/4: c3", - "23/4 -> 6/1: eb3", - "23/4 -> 6/1: g3", - "23/4 -> 6/1: d4", - "6/1 -> 27/4: c3", - "27/4 -> 7/1: eb3", - "27/4 -> 7/1: g3", - "27/4 -> 7/1: c4", - "7/1 -> 31/4: c3", - "31/4 -> 8/1: eb3", - "31/4 -> 8/1: g3", - "31/4 -> 8/1: d4", - "8/1 -> 35/4: c3", - "35/4 -> 9/1: eb3", - "35/4 -> 9/1: g3", - "35/4 -> 9/1: c4", - "9/1 -> 39/4: c3", - "39/4 -> 10/1: eb3", - "39/4 -> 10/1: g3", - "39/4 -> 10/1: d4", - "10/1 -> 43/4: c3", - "43/4 -> 11/1: eb3", - "43/4 -> 11/1: g3", - "43/4 -> 11/1: c4", - "11/1 -> 47/4: c3", - "47/4 -> 12/1: eb3", - "47/4 -> 12/1: g3", - "47/4 -> 12/1: d4", - "12/1 -> 51/4: c3", - "51/4 -> 13/1: eb3", - "51/4 -> 13/1: g3", - "51/4 -> 13/1: c4", - "13/1 -> 55/4: c3", - "55/4 -> 14/1: eb3", - "55/4 -> 14/1: g3", - "55/4 -> 14/1: d4", - "14/1 -> 59/4: c3", - "59/4 -> 15/1: eb3", - "59/4 -> 15/1: g3", - "59/4 -> 15/1: c4", - "15/1 -> 63/4: c3", - "63/4 -> 16/1: eb3", - "63/4 -> 16/1: g3", - "63/4 -> 16/1: d4", - "0/1 -> 1/2: c2", - "1/2 -> 1/1: g2", - "1/1 -> 3/2: c2", - "3/2 -> 2/1: g2", - "2/1 -> 5/2: c2", - "5/2 -> 3/1: g2", - "3/1 -> 7/2: c2", - "7/2 -> 4/1: g2", - "4/1 -> 9/2: c2", - "9/2 -> 5/1: g2", - "5/1 -> 11/2: c2", - "11/2 -> 6/1: g2", - "6/1 -> 13/2: c2", - "13/2 -> 7/1: g2", - "7/1 -> 15/2: c2", - "15/2 -> 8/1: g2", - "8/1 -> 17/2: c2", - "17/2 -> 9/1: g2", - "9/1 -> 19/2: c2", - "19/2 -> 10/1: g2", - "10/1 -> 21/2: c2", - "21/2 -> 11/1: g2", - "11/1 -> 23/2: c2", - "23/2 -> 12/1: g2", - "12/1 -> 25/2: c2", - "25/2 -> 13/1: g2", - "13/1 -> 27/2: c2", - "27/2 -> 14/1: g2", - "14/1 -> 29/2: c2", - "29/2 -> 15/1: g2", - "15/1 -> 31/2: c2", - "31/2 -> 16/1: g2", - "0/1 -> 5/2: eb4", - "0/1 -> 5/2: eb4", - "0/1 -> 5/2: eb4", - "5/2 -> 3/1: f4", - "3/1 -> 7/2: eb4", - "7/2 -> 4/1: d4", - "4/1 -> 8/1: eb4", - "4/1 -> 8/1: eb4", - "4/1 -> 8/1: eb4", - "4/1 -> 8/1: eb4", - "8/1 -> 21/2: eb4", - "8/1 -> 21/2: eb4", - "8/1 -> 21/2: eb4", - "21/2 -> 11/1: f4", - "11/1 -> 23/2: eb4", - "23/2 -> 12/1: d4", - "12/1 -> 16/1: c4", - "12/1 -> 16/1: c4", - "12/1 -> 16/1: c4", - "12/1 -> 16/1: c4", -] -`; - -exports[`renders tunes > tune: transposedChordsHacked 1`] = ` -[ - "0/1 -> 1/3: Gb2", - "1/3 -> 2/3: A2", - "2/3 -> 1/1: Db3", - "0/1 -> 2/1: E3", - "0/1 -> 2/1: Ab3", - "0/1 -> 2/1: A3", - "0/1 -> 2/1: Db4", - "1/1 -> 4/3: Gb2", - "4/3 -> 5/3: A2", - "5/3 -> 2/1: Db3", - "0/1 -> 2/1: E3", - "0/1 -> 2/1: Ab3", - "0/1 -> 2/1: A3", - "0/1 -> 2/1: Db4", - "2/1 -> 7/3: G2", - "7/3 -> 8/3: Bb2", - "8/3 -> 3/1: D3", - "2/1 -> 4/1: F3", - "2/1 -> 4/1: A3", - "2/1 -> 4/1: Bb3", - "2/1 -> 4/1: D4", - "3/1 -> 10/3: G2", - "10/3 -> 11/3: Bb2", - "11/3 -> 4/1: D3", - "2/1 -> 4/1: F3", - "2/1 -> 4/1: A3", - "2/1 -> 4/1: Bb3", - "2/1 -> 4/1: D4", - "4/1 -> 13/3: Ab2", - "13/3 -> 14/3: B2", - "14/3 -> 5/1: Eb3", - "4/1 -> 6/1: Gb3", - "4/1 -> 6/1: Bb3", - "4/1 -> 6/1: B3", - "4/1 -> 6/1: Eb4", - "5/1 -> 16/3: Ab2", - "16/3 -> 17/3: B2", - "17/3 -> 6/1: Eb3", - "4/1 -> 6/1: Gb3", - "4/1 -> 6/1: Bb3", - "4/1 -> 6/1: B3", - "4/1 -> 6/1: Eb4", - "6/1 -> 19/3: G2", - "19/3 -> 20/3: Bb2", - "20/3 -> 7/1: D3", - "6/1 -> 8/1: F3", - "6/1 -> 8/1: A3", - "6/1 -> 8/1: Bb3", - "6/1 -> 8/1: D4", - "7/1 -> 22/3: G2", - "22/3 -> 23/3: Bb2", - "23/3 -> 8/1: D3", - "6/1 -> 8/1: F3", - "6/1 -> 8/1: A3", - "6/1 -> 8/1: Bb3", - "6/1 -> 8/1: D4", -] -`; - exports[`renders tunes > tune: undergroundPlumber 1`] = ` [ "0/1 -> 3/16: {\\"s\\":\\"bd\\",\\"gain\\":0.7}", @@ -18982,86 +18328,6 @@ exports[`renders tunes > tune: wavyKalimba 1`] = ` ] `; -exports[`renders tunes > tune: whirlyStrudel 1`] = ` -[ - "0/1 -> 1/5: e4", - "2/5 -> 3/5: e3", - "3/5 -> 4/5: d4", - "1/1 -> 4/3: e4", - "4/3 -> 3/2: b2", - "3/2 -> 5/3: b3", - "5/3 -> 2/1: c4", - "2/1 -> 11/5: e4", - "12/5 -> 13/5: e3", - "13/5 -> 14/5: d4", - "3/1 -> 16/5: b3", - "16/5 -> 10/3: e4", - "10/3 -> 17/5: b2", - "17/5 -> 52/15: b3", - "52/15 -> 18/5: c4", - "18/5 -> 56/15: e4", - "56/15 -> 19/5: b2", - "19/5 -> 58/15: b3", - "58/15 -> 4/1: c4", - "4/1 -> 21/5: e4", - "22/5 -> 23/5: e3", - "23/5 -> 24/5: d4", - "5/1 -> 46/9: b3", - "46/9 -> 16/3: c4", - "16/3 -> 49/9: e4", - "49/9 -> 11/2: b2", - "11/2 -> 50/9: b3", - "50/9 -> 17/3: c4", - "17/3 -> 52/9: e4", - "52/9 -> 35/6: b2", - "35/6 -> 53/9: b3", - "53/9 -> 6/1: c4", - "6/1 -> 31/5: e4", - "32/5 -> 33/5: e3", - "33/5 -> 34/5: d4", - "7/1 -> 22/3: e4", - "22/3 -> 15/2: b2", - "15/2 -> 23/3: b3", - "23/3 -> 8/1: c4", - "8/1 -> 41/5: e4", - "42/5 -> 43/5: e3", - "43/5 -> 44/5: d4", - "44/5 -> 136/15: e4", - "136/15 -> 46/5: b2", - "46/5 -> 28/3: b3", - "28/3 -> 48/5: c4", - "48/5 -> 49/5: e4", - "49/5 -> 99/10: b2", - "99/10 -> 10/1: b3", - "10/1 -> 51/5: e4", - "52/5 -> 53/5: e3", - "53/5 -> 54/5: d4", - "11/1 -> 100/9: e4", - "100/9 -> 67/6: b2", - "67/6 -> 101/9: b3", - "101/9 -> 34/3: c4", - "34/3 -> 104/9: e4", - "104/9 -> 35/3: b2", - "35/3 -> 106/9: b3", - "106/9 -> 12/1: c4", - "12/1 -> 61/5: e4", - "62/5 -> 63/5: e3", - "63/5 -> 64/5: d4", - "13/1 -> 40/3: e4", - "40/3 -> 27/2: b2", - "27/2 -> 41/3: b3", - "41/3 -> 14/1: c4", - "14/1 -> 71/5: e4", - "72/5 -> 73/5: e3", - "73/5 -> 74/5: d4", - "15/1 -> 76/5: e4", - "76/5 -> 232/15: e4", - "232/15 -> 78/5: b2", - "78/5 -> 236/15: b3", - "236/15 -> 16/1: c4", -] -`; - exports[`renders tunes > tune: xylophoneCalling 1`] = ` [ "0/1 -> 1/2: Bb2", From 8977c5cef403996f77631960eee828b6f3199873 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sun, 18 Sep 2022 22:55:33 +0200 Subject: [PATCH 05/16] revert exponential adsr --- packages/webaudio/webaudio.mjs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/webaudio/webaudio.mjs b/packages/webaudio/webaudio.mjs index 5a4c9c2e..0b2c9536 100644 --- a/packages/webaudio/webaudio.mjs +++ b/packages/webaudio/webaudio.mjs @@ -33,7 +33,13 @@ const getFilter = (type, frequency, Q) => { const getADSR = (attack, decay, sustain, release, velocity, begin, end) => { const gainNode = getAudioContext().createGain(); - let t = begin; + gainNode.gain.setValueAtTime(0, begin); + gainNode.gain.linearRampToValueAtTime(velocity, begin + attack); // attack + gainNode.gain.linearRampToValueAtTime(sustain * velocity, begin + attack + decay); // sustain start + gainNode.gain.setValueAtTime(sustain * velocity, end); // sustain end + gainNode.gain.linearRampToValueAtTime(0, end + release); // release + // for some reason, using exponential ramping creates little cracklings + /* let t = begin; gainNode.gain.setValueAtTime(0, t); gainNode.gain.exponentialRampToValueAtTime(velocity, (t += attack)); const sustainGain = Math.max(sustain * velocity, 0.001); @@ -43,7 +49,7 @@ const getADSR = (attack, decay, sustain, release, velocity, begin, end) => { } else { gainNode.gain.setValueAtTime(sustainGain, end); } - gainNode.gain.exponentialRampToValueAtTime(0.001, end + release); // release + gainNode.gain.exponentialRampToValueAtTime(0.001, end + release); // release */ return gainNode; }; From d092068bd27ce6db093ac004900c3dec240d2689 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Thu, 22 Sep 2022 20:24:59 +0200 Subject: [PATCH 06/16] migrate to encapsulated out --- packages/webaudio/webaudio.mjs | 369 ++++++++++++++++++--------------- 1 file changed, 197 insertions(+), 172 deletions(-) diff --git a/packages/webaudio/webaudio.mjs b/packages/webaudio/webaudio.mjs index fec84186..fb9a57eb 100644 --- a/packages/webaudio/webaudio.mjs +++ b/packages/webaudio/webaudio.mjs @@ -23,6 +23,21 @@ export const getAudioContext = () => { return audioContext; }; +let destination; +export const getDestination = () => { + const ctx = getAudioContext(); + if (!destination) { + destination = ctx.createGain(); + destination.connect(ctx.destination); + } + return destination; +}; + +export const panic = () => { + getDestination().gain.linearRampToValueAtTime(0, getAudioContext().currentTime + 0.01); + destination = null; +}; + const getFilter = (type, frequency, Q) => { const filter = getAudioContext().createBiquadFilter(); filter.type = type; @@ -99,7 +114,7 @@ const getSampleBufferSource = async (s, n, note) => { } const bank = samples?.[s]; if (!bank) { - throw new Error('sample not found:', s, 'try one of ' + Object.keys(samples)); + throw new Error(`sample not found: "${s}", try one of ${Object.keys(samples).join(', ')}`); } if (typeof bank !== 'object') { throw new Error('wrong format for sample bank:', s); @@ -172,176 +187,186 @@ function gainNode(value) { } const cutGroups = []; -Pattern.prototype.out = function () { - return this.onTrigger(async (t, hap, ct, cps) => { - const hapDuration = hap.duration / cps; - try { - const ac = getAudioContext(); - // calculate correct time (tone.js workaround) - t = ac.currentTime + t - ct; - // destructure value - let { - freq, - s, - sf, - clip = 0, // if 1, samples will be cut off when the hap ends - n = 0, - note, - gain = 1, - cutoff, - resonance = 1, - hcutoff, - hresonance = 1, - bandf, - bandq = 1, - coarse, - crush, - shape, - pan, - attack = 0.001, - decay = 0.001, - sustain = 1, - release = 0.001, - speed = 1, // sample playback speed - begin = 0, - end = 1, - vowel, - delay = 0, - delayfeedback = 0, - delaytime = 0, - unit, - nudge = 0, // TODO: is this in seconds? - cut, - loop, - } = hap.value; - const { velocity = 1 } = hap.context; - gain *= velocity; // legacy fix for velocity - // the chain will hold all audio nodes that connect to each other - const chain = []; - if (typeof s === 'string') { - [s, n] = splitSN(s, n); - } - if (typeof note === 'string') { - [note, n] = splitSN(note, n); - } - if (!s || ['sine', 'square', 'triangle', 'sawtooth'].includes(s)) { - // with synths, n and note are the same thing - n = note || n || 36; - if (typeof n === 'string') { - n = toMidi(n); // e.g. c3 => 48 - } - // get frequency - if (!freq && typeof n === 'number') { - freq = fromMidi(n); // + 48); - } - // make oscillator - const o = getOscillator({ t, s, freq, duration: hapDuration, release }); - chain.push(o); - // level down oscillators as they are really loud compared to samples i've tested - chain.push(gainNode(0.3)); - // TODO: make adsr work with samples without pops - // envelope - const adsr = getADSR(attack, decay, sustain, release, 1, t, t + hapDuration); - chain.push(adsr); - } else { - // load sample - if (speed === 0) { - // no playback - return; - } - if (!s) { - console.warn('no sample specified'); - return; - } - const soundfont = getSoundfontKey(s); - let bufferSource; - - try { - if (soundfont) { - // is soundfont - bufferSource = await globalThis.getFontBufferSource(soundfont, note || n, ac); - } else { - // is sample from loaded samples(..) - bufferSource = await getSampleBufferSource(s, n, note); - } - } catch (err) { - console.warn(err); - return; - } - // asny stuff above took too long? - if (ac.currentTime > t) { - console.warn('sample still loading:', s, n); - return; - } - if (!bufferSource) { - console.warn('no buffer source'); - return; - } - bufferSource.playbackRate.value = Math.abs(speed) * bufferSource.playbackRate.value; - if (unit === 'c') { - // are there other units? - bufferSource.playbackRate.value = bufferSource.playbackRate.value * bufferSource.buffer.duration; - } - let duration = soundfont || clip ? hapDuration : bufferSource.buffer.duration / bufferSource.playbackRate.value; - // "The computation of the offset into the sound is performed using the sound buffer's natural sample rate, - // rather than the current playback rate, so even if the sound is playing at twice its normal speed, - // the midway point through a 10-second audio buffer is still 5." - const offset = begin * duration * bufferSource.playbackRate.value; - duration = (end - begin) * duration; - if (loop) { - bufferSource.loop = true; - bufferSource.loopStart = offset; - bufferSource.loopEnd = offset + duration; - duration = loop * duration; - } - t += nudge; - - bufferSource.start(t, offset); - if (cut !== undefined) { - cutGroups[cut]?.stop(t); // fade out? - cutGroups[cut] = bufferSource; - } - chain.push(bufferSource); - bufferSource.stop(t + duration + release); - const adsr = getADSR(attack, decay, sustain, release, 1, t, t + duration); - chain.push(adsr); - } - // level down before effects - chain.push(gainNode(gain)); - - // filters - cutoff !== undefined && chain.push(getFilter('lowpass', cutoff, resonance)); - hcutoff !== undefined && chain.push(getFilter('highpass', hcutoff, hresonance)); - bandf !== undefined && chain.push(getFilter('bandpass', bandf, bandq)); - vowel !== undefined && chain.push(ac.createVowelFilter(vowel)); - coarse !== undefined && chain.push(getWorklet(ac, 'coarse-processor', { coarse })); - crush !== undefined && chain.push(getWorklet(ac, 'crush-processor', { crush })); - shape !== undefined && chain.push(getWorklet(ac, 'shape-processor', { shape })); - // TODO delay / delaytime / delayfeedback - // panning - if (pan !== undefined) { - const panner = ac.createStereoPanner(); - panner.pan.value = 2 * pan - 1; - chain.push(panner); - } - - // last gain - const post = gainNode(1); - chain.push(post); - post.connect(ac.destination); - - if (delay > 0 && delaytime > 0 && delayfeedback > 0) { - const dly = ac.createFeedbackDelay(delay, delaytime, delayfeedback); - dly.start(t); - post.connect(dly); - dly.connect(ac.destination); - } - // connect chain elements together - chain.slice(1).reduce((last, current) => last.connect(current), chain[0]); - // disconnect all nodes when source node has ended: - chain[0].onended = () => chain.forEach((n) => n.disconnect()); - } catch (e) { - console.warn('.out error:', e); +// export const webaudioOutput = async (t, hap, ct, cps) => { +export const webaudioOutput = async (hap, deadline, hapDuration) => { + try { + const ac = getAudioContext(); + if (typeof hap.value !== 'object') { + throw new Error( + `hap.value ${hap.value} is not supported by webaudio output. Hint: append .note() or .s() to the end`, + ); } - }); + // calculate correct time (tone.js workaround) + let t = ac.currentTime + deadline; + // destructure value + let { + freq, + s, + sf, + clip = 0, // if 1, samples will be cut off when the hap ends + n = 0, + note, + gain = 1, + cutoff, + resonance = 1, + hcutoff, + hresonance = 1, + bandf, + bandq = 1, + coarse, + crush, + shape, + pan, + attack = 0.001, + decay = 0.001, + sustain = 1, + release = 0.001, + speed = 1, // sample playback speed + begin = 0, + end = 1, + vowel, + delay = 0, + delayfeedback = 0, + delaytime = 0, + unit, + nudge = 0, // TODO: is this in seconds? + cut, + loop, + } = hap.value; + const { velocity = 1 } = hap.context; + gain *= velocity; // legacy fix for velocity + // the chain will hold all audio nodes that connect to each other + const chain = []; + if (typeof s === 'string') { + [s, n] = splitSN(s, n); + } + if (typeof note === 'string') { + [note, n] = splitSN(note, n); + } + if (!s || ['sine', 'square', 'triangle', 'sawtooth'].includes(s)) { + // with synths, n and note are the same thing + n = note || n || 36; + if (typeof n === 'string') { + n = toMidi(n); // e.g. c3 => 48 + } + // get frequency + if (!freq && typeof n === 'number') { + freq = fromMidi(n); // + 48); + } + // make oscillator + const o = getOscillator({ t, s, freq, duration: hapDuration, release }); + chain.push(o); + // level down oscillators as they are really loud compared to samples i've tested + chain.push(gainNode(0.3)); + // TODO: make adsr work with samples without pops + // envelope + const adsr = getADSR(attack, decay, sustain, release, 1, t, t + hapDuration); + chain.push(adsr); + } else { + // load sample + if (speed === 0) { + // no playback + return; + } + if (!s) { + console.warn('no sample specified'); + return; + } + const soundfont = getSoundfontKey(s); + let bufferSource; + + try { + if (soundfont) { + // is soundfont + bufferSource = await globalThis.getFontBufferSource(soundfont, note || n, ac); + } else { + // is sample from loaded samples(..) + bufferSource = await getSampleBufferSource(s, n, note); + } + } catch (err) { + console.warn(err); + return; + } + // asny stuff above took too long? + if (ac.currentTime > t) { + console.warn('sample still loading:', s, n); + return; + } + if (!bufferSource) { + console.warn('no buffer source'); + return; + } + bufferSource.playbackRate.value = Math.abs(speed) * bufferSource.playbackRate.value; + if (unit === 'c') { + // are there other units? + bufferSource.playbackRate.value = bufferSource.playbackRate.value * bufferSource.buffer.duration; + } + let duration = soundfont || clip ? hapDuration : bufferSource.buffer.duration / bufferSource.playbackRate.value; + // "The computation of the offset into the sound is performed using the sound buffer's natural sample rate, + // rather than the current playback rate, so even if the sound is playing at twice its normal speed, + // the midway point through a 10-second audio buffer is still 5." + const offset = begin * duration * bufferSource.playbackRate.value; + duration = (end - begin) * duration; + if (loop) { + bufferSource.loop = true; + bufferSource.loopStart = offset; + bufferSource.loopEnd = offset + duration; + duration = loop * duration; + } + t += nudge; + + bufferSource.start(t, offset); + if (cut !== undefined) { + cutGroups[cut]?.stop(t); // fade out? + cutGroups[cut] = bufferSource; + } + chain.push(bufferSource); + bufferSource.stop(t + duration + release); + const adsr = getADSR(attack, decay, sustain, release, 1, t, t + duration); + chain.push(adsr); + } + // master out + const master = ac.createGain(); + master.gain.value = gain; + chain.push(master); + + // filters + cutoff !== undefined && chain.push(getFilter('lowpass', cutoff, resonance)); + hcutoff !== undefined && chain.push(getFilter('highpass', hcutoff, hresonance)); + bandf !== undefined && chain.push(getFilter('bandpass', bandf, bandq)); + vowel !== undefined && chain.push(ac.createVowelFilter(vowel)); + coarse !== undefined && chain.push(getWorklet(ac, 'coarse-processor', { coarse })); + crush !== undefined && chain.push(getWorklet(ac, 'crush-processor', { crush })); + shape !== undefined && chain.push(getWorklet(ac, 'shape-processor', { shape })); + // TODO delay / delaytime / delayfeedback + // panning + if (pan !== undefined) { + const panner = ac.createStereoPanner(); + panner.pan.value = 2 * pan - 1; + chain.push(panner); + } + // last gain + const post = gainNode(1); + chain.push(post); + + post.connect(getDestination()); + if (delay > 0 && delaytime > 0 && delayfeedback > 0) { + const dly = ac.createFeedbackDelay(delay, delaytime, delayfeedback); + dly.start(t); + post.connect(dly); + dly.connect(getDestination()); + } + + // connect chain elements together + chain.slice(1).reduce((last, current) => last.connect(current), chain[0]); + // disconnect all nodes when source node has ended: + chain[0].onended = () => chain.forEach((n) => n.disconnect()); + } catch (e) { + console.warn('.out error:', e); + } +}; + +Pattern.prototype.out = function () { + // TODO: refactor (t, hap, ct, cps) to (hap, deadline, duration) ? + return this.onTrigger((t, hap, ct, cps) => webaudioOutput(hap, t - ct, hap.duration / cps)); }; From dfdd918ea04d4ca8c9e03c5fbe070bfd177095aa Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 22 Sep 2022 22:52:02 +0100 Subject: [PATCH 07/16] attempt at fixing #216 --- packages/core/pattern.mjs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/core/pattern.mjs b/packages/core/pattern.mjs index 2950d015..932e9ca4 100644 --- a/packages/core/pattern.mjs +++ b/packages/core/pattern.mjs @@ -645,12 +645,15 @@ export class Pattern { return this._trigJoin(true); } + // Like the other joins above, joins a pattern of patterns of values, into a flatter + // pattern of values. In this case it takes whole cycles of the inner pattern to fit each event + // in the outer pattern. _squeezeJoin() { const pat_of_pats = this; function query(state) { const haps = pat_of_pats.discreteOnly().query(state); function flatHap(outerHap) { - const pat = outerHap.value._compressSpan(outerHap.wholeOrPart().cycleArc()); + const pat = outerHap.value._focusSpan(outerHap.wholeOrPart().cycleArc()); const innerHaps = pat.query(state.setSpan(outerHap.part)); function munge(outer, inner) { let whole = undefined; @@ -735,6 +738,7 @@ export class Pattern { return this.withQuerySpan(qf).withHapSpan(ef)._splitQueries(); } + // Compress each cycle into the given timespan, leaving a gap _compress(b, e) { if (b.gt(e) || b.gt(1) || e.gt(1) || b.lt(0) || e.lt(0)) { return silence; @@ -746,6 +750,17 @@ export class Pattern { return this._compress(span.begin, span.end); } + // Similar to compress, but doesn't leave gaps, and the 'focus' can be + // bigger than a cycle + _focus(b, e) { + const factor = Fraction(1).div(e.sub(b)); + return this._fast(factor).late(b) + } + + _focusSpan(span) { + return this._focus(span.begin, span.end); + } + /** * Speed up a pattern by the given factor. Used by "*" in mini notation. * From 5b56fbed97aada1d8306e3e099331bc7f2f2d489 Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 23 Sep 2022 08:00:53 +0100 Subject: [PATCH 08/16] adjust use of focus in squeezeJoin - fixes #216 --- packages/core/pattern.mjs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/core/pattern.mjs b/packages/core/pattern.mjs index 932e9ca4..30577e97 100644 --- a/packages/core/pattern.mjs +++ b/packages/core/pattern.mjs @@ -653,7 +653,7 @@ export class Pattern { function query(state) { const haps = pat_of_pats.discreteOnly().query(state); function flatHap(outerHap) { - const pat = outerHap.value._focusSpan(outerHap.wholeOrPart().cycleArc()); + const pat = outerHap.value._focusSpan(outerHap.wholeOrPart()); const innerHaps = pat.query(state.setSpan(outerHap.part)); function munge(outer, inner) { let whole = undefined; @@ -753,8 +753,7 @@ export class Pattern { // Similar to compress, but doesn't leave gaps, and the 'focus' can be // bigger than a cycle _focus(b, e) { - const factor = Fraction(1).div(e.sub(b)); - return this._fast(factor).late(b) + return this._fast(Fraction(1).div(e.sub(b))).late(b); } _focusSpan(span) { From f76d03a0dc778a7938b45f2d4ea12bbf51a9338a Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sat, 24 Sep 2022 21:45:23 +0200 Subject: [PATCH 09/16] delay as global send via orbit --- packages/webaudio/feedbackdelay.mjs | 1 + packages/webaudio/webaudio.mjs | 51 +++++++++++++++++++++-------- 2 files changed, 39 insertions(+), 13 deletions(-) diff --git a/packages/webaudio/feedbackdelay.mjs b/packages/webaudio/feedbackdelay.mjs index 1b9ae4e7..c182d655 100644 --- a/packages/webaudio/feedbackdelay.mjs +++ b/packages/webaudio/feedbackdelay.mjs @@ -7,6 +7,7 @@ if (typeof DelayNode !== 'undefined') { const feedbackGain = ac.createGain(); feedbackGain.gain.value = Math.min(Math.abs(feedback), 0.995); + this.feedback = feedbackGain.gain; const delayGain = ac.createGain(); delayGain.gain.value = wet; diff --git a/packages/webaudio/webaudio.mjs b/packages/webaudio/webaudio.mjs index fb863433..89b3233e 100644 --- a/packages/webaudio/webaudio.mjs +++ b/packages/webaudio/webaudio.mjs @@ -189,6 +189,27 @@ function gainNode(value) { } const cutGroups = []; +let delays = {}; +function getDelay(orbit, delay, delaytime, delayfeedback, t) { + if (!delays[orbit]) { + const ac = getAudioContext(); + const dly = ac.createFeedbackDelay(delay, delaytime, delayfeedback); + dly.start(t); + dly.connect(getDestination()); + delays[orbit] = dly; + } + delays[orbit].delayTime.value !== delaytime && delays[orbit].delayTime.setValueAtTime(delaytime, t); + delays[orbit].feedback.value !== delayfeedback && delays[orbit].feedback.setValueAtTime(delayfeedback, t); + return delays[orbit]; +} + +function effectSend(input, effect, wet) { + const send = gainNode(wet); + input.connect(send); + send.connect(effect); + return send; +} + // export const webaudioOutput = async (t, hap, ct, cps) => { export const webaudioOutput = async (hap, deadline, hapDuration) => { try { @@ -228,12 +249,13 @@ export const webaudioOutput = async (hap, deadline, hapDuration) => { end = 1, vowel, delay = 0, - delayfeedback = 0, - delaytime = 0, + delayfeedback = 0.5, + delaytime = 0.25, unit, nudge = 0, // TODO: is this in seconds? cut, loop, + orbit = 1, } = hap.value; const { velocity = 1 } = hap.context; gain *= velocity; // legacy fix for velocity @@ -327,42 +349,45 @@ export const webaudioOutput = async (hap, deadline, hapDuration) => { const adsr = getADSR(attack, decay, sustain, release, 1, t, t + duration); chain.push(adsr); } - // master out - const master = ac.createGain(); - master.gain.value = gain; - chain.push(master); + + // gain stage + chain.push(gainNode(gain)); // filters cutoff !== undefined && chain.push(getFilter('lowpass', cutoff, resonance)); hcutoff !== undefined && chain.push(getFilter('highpass', hcutoff, hresonance)); bandf !== undefined && chain.push(getFilter('bandpass', bandf, bandq)); vowel !== undefined && chain.push(ac.createVowelFilter(vowel)); + + // effects coarse !== undefined && chain.push(getWorklet(ac, 'coarse-processor', { coarse })); crush !== undefined && chain.push(getWorklet(ac, 'crush-processor', { crush })); shape !== undefined && chain.push(getWorklet(ac, 'shape-processor', { shape })); - // TODO delay / delaytime / delayfeedback + // panning if (pan !== undefined) { const panner = ac.createStereoPanner(); panner.pan.value = 2 * pan - 1; chain.push(panner); } + // last gain const post = gainNode(1); chain.push(post); - post.connect(getDestination()); + + // delay + let delaySend; if (delay > 0 && delaytime > 0 && delayfeedback > 0) { - const dly = ac.createFeedbackDelay(delay, delaytime, delayfeedback); - dly.start(t); - post.connect(dly); - dly.connect(getDestination()); + const delyNode = getDelay(orbit, 1, delaytime, delayfeedback, t); + delaySend = effectSend(post, delyNode, delay); } // connect chain elements together chain.slice(1).reduce((last, current) => last.connect(current), chain[0]); + // disconnect all nodes when source node has ended: - chain[0].onended = () => chain.forEach((n) => n.disconnect()); + chain[0].onended = () => chain.concat([delaySend]).forEach((n) => n?.disconnect()); } catch (e) { console.warn('.out error:', e); } From 18bd10dfed475b4e9bcecc083f40bccfa8760ff1 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sat, 24 Sep 2022 21:51:55 +0200 Subject: [PATCH 10/16] clean up getDelay args --- packages/webaudio/webaudio.mjs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/webaudio/webaudio.mjs b/packages/webaudio/webaudio.mjs index 89b3233e..b4a42e53 100644 --- a/packages/webaudio/webaudio.mjs +++ b/packages/webaudio/webaudio.mjs @@ -190,10 +190,10 @@ function gainNode(value) { const cutGroups = []; let delays = {}; -function getDelay(orbit, delay, delaytime, delayfeedback, t) { +function getDelay(orbit, delaytime, delayfeedback, t) { if (!delays[orbit]) { const ac = getAudioContext(); - const dly = ac.createFeedbackDelay(delay, delaytime, delayfeedback); + const dly = ac.createFeedbackDelay(1, delaytime, delayfeedback); dly.start(t); dly.connect(getDestination()); delays[orbit] = dly; @@ -379,7 +379,7 @@ export const webaudioOutput = async (hap, deadline, hapDuration) => { // delay let delaySend; if (delay > 0 && delaytime > 0 && delayfeedback > 0) { - const delyNode = getDelay(orbit, 1, delaytime, delayfeedback, t); + const delyNode = getDelay(orbit, delaytime, delayfeedback, t); delaySend = effectSend(post, delyNode, delay); } From 9ebada63e903a2aaf4fc1f2b47a2f24cc3091db8 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sat, 24 Sep 2022 23:14:43 +0200 Subject: [PATCH 11/16] support negative speeds --- packages/webaudio/sampler.mjs | 9 +++++++++ packages/webaudio/webaudio.mjs | 12 ++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/packages/webaudio/sampler.mjs b/packages/webaudio/sampler.mjs index a86d26ce..23b37b25 100644 --- a/packages/webaudio/sampler.mjs +++ b/packages/webaudio/sampler.mjs @@ -16,6 +16,15 @@ export const loadBuffer = (url, ac) => { return loadCache[url]; }; +export function reverseBuffer(buffer) { + const ac = getAudioContext(); + const reversed = ac.createBuffer(buffer.numberOfChannels, buffer.length, ac.sampleRate); + for (let channel = 0; channel < buffer.numberOfChannels; channel++) { + reversed.copyToChannel(buffer.getChannelData(channel).slice().reverse(), channel, channel); + } + return reversed; +} + export const getLoadedBuffer = (url) => { return bufferCache[url]; }; diff --git a/packages/webaudio/webaudio.mjs b/packages/webaudio/webaudio.mjs index b4a42e53..1412f613 100644 --- a/packages/webaudio/webaudio.mjs +++ b/packages/webaudio/webaudio.mjs @@ -8,7 +8,7 @@ This program is free software: you can redistribute it and/or modify it under th import * as strudel from '@strudel.cycles/core'; import { fromMidi, toMidi } from '@strudel.cycles/core'; import './feedbackdelay.mjs'; -import { loadBuffer } from './sampler.mjs'; +import { loadBuffer, reverseBuffer } from './sampler.mjs'; const { Pattern } = strudel; import './vowel.mjs'; import workletsUrl from './worklets.mjs?url'; @@ -97,7 +97,7 @@ const getSoundfontKey = (s) => { return; }; -const getSampleBufferSource = async (s, n, note) => { +const getSampleBufferSource = async (s, n, note, speed) => { let transpose = 0; let midi; @@ -137,7 +137,11 @@ const getSampleBufferSource = async (s, n, note) => { transpose = -midiDiff(closest); // semitones to repitch sampleUrl = bank[closest][n % bank[closest].length]; } - const buffer = await loadBuffer(sampleUrl, ac); + let buffer = await loadBuffer(sampleUrl, ac); + if (speed < 0) { + // should this be cached? + buffer = reverseBuffer(buffer); + } const bufferSource = ac.createBufferSource(); bufferSource.buffer = buffer; const playbackRate = 1.0 * Math.pow(2, transpose / 12); @@ -305,7 +309,7 @@ export const webaudioOutput = async (hap, deadline, hapDuration) => { bufferSource = await globalThis.getFontBufferSource(soundfont, note || n, ac); } else { // is sample from loaded samples(..) - bufferSource = await getSampleBufferSource(s, n, note); + bufferSource = await getSampleBufferSource(s, n, note, speed); } } catch (err) { console.warn(err); From 513e0d748d083b8de4ee40e24ca1cbcb443c7cb3 Mon Sep 17 00:00:00 2001 From: Alex McLean Date: Sat, 24 Sep 2022 23:27:25 +0100 Subject: [PATCH 12/16] focus tweak for squeezeJoin - another go at fixing #216 (#221) Fixes squeezeJoin, and in the process struct/keepif. fixes #216 Co-authored-by: Felix Roos --- packages/core/pattern.mjs | 23 +- packages/core/test/pattern.test.mjs | 8 + .../test/__snapshots__/tunes.test.mjs.snap | 1302 ++++++++--------- 3 files changed, 678 insertions(+), 655 deletions(-) diff --git a/packages/core/pattern.mjs b/packages/core/pattern.mjs index 30577e97..60c10c2e 100644 --- a/packages/core/pattern.mjs +++ b/packages/core/pattern.mjs @@ -649,12 +649,22 @@ export class Pattern { // pattern of values. In this case it takes whole cycles of the inner pattern to fit each event // in the outer pattern. _squeezeJoin() { + // A pattern of patterns, which we call the 'outer' pattern, with patterns + // as values which we call the 'inner' patterns. const pat_of_pats = this; function query(state) { + // Get the events with the inner patterns. Ignore continuous events (without 'wholes') const haps = pat_of_pats.discreteOnly().query(state); + // A function to map over the events from the outer pattern. function flatHap(outerHap) { - const pat = outerHap.value._focusSpan(outerHap.wholeOrPart()); - const innerHaps = pat.query(state.setSpan(outerHap.part)); + // Get the inner pattern, slowed and shifted so that the 'whole' + // timespan of the outer event corresponds to the first cycle of the + // inner event + const inner_pat = outerHap.value._focusSpan(outerHap.wholeOrPart()); + // Get the inner events, from the timespan of the outer event's part + const innerHaps = inner_pat.query(state.setSpan(outerHap.part)); + // A function to map over the inner events, to combine them with the + // outer event function munge(outer, inner) { let whole = undefined; if (inner.whole && outer.whole) { @@ -753,7 +763,7 @@ export class Pattern { // Similar to compress, but doesn't leave gaps, and the 'focus' can be // bigger than a cycle _focus(b, e) { - return this._fast(Fraction(1).div(e.sub(b))).late(b); + return this._fast(Fraction(1).div(e.sub(b))).late(b.cyclePos()); } _focusSpan(span) { @@ -1347,11 +1357,16 @@ function _composeOp(a, b, func) { pat = preprocess(pat); other = preprocess(other); } - var result = pat['_op' + how](other, (a) => (b) => _composeOp(a, b, op)); + var result; // hack to remove undefs when doing 'keepif' if (what === 'keepif') { + // avoid union, as we want to throw away the value of 'b' completely + result = pat['_op' + how](other, (a) => (b) => op(a, b)); result = result._removeUndefineds(); } + else { + result = pat['_op' + how](other, (a) => (b) => _composeOp(a, b, op)); + } return result; }; if (how === 'Squeeze') { diff --git a/packages/core/test/pattern.test.mjs b/packages/core/test/pattern.test.mjs index 99ce8f87..850538e3 100644 --- a/packages/core/test/pattern.test.mjs +++ b/packages/core/test/pattern.test.mjs @@ -42,6 +42,7 @@ import { id, ply, rev, + time, } from '../index.mjs'; import { steady } from '../signal.mjs'; @@ -791,6 +792,13 @@ describe('Pattern', () => { ).firstCycle(), ); }); + it('Squeezes to the correct cycle', () => { + expect( + pure(time.struct(true))._squeezeJoin().queryArc(3,4).map(x => x.value) + ).toStrictEqual( + [Fraction(3.5)] + ) + }); }); describe('ply', () => { it('Can ply(3)', () => { diff --git a/repl/src/test/__snapshots__/tunes.test.mjs.snap b/repl/src/test/__snapshots__/tunes.test.mjs.snap index ceaf7e98..dba92c73 100644 --- a/repl/src/test/__snapshots__/tunes.test.mjs.snap +++ b/repl/src/test/__snapshots__/tunes.test.mjs.snap @@ -969,777 +969,777 @@ exports[`renders tunes > tune: callcenterhero 1`] = ` exports[`renders tunes > tune: caverave 1`] = ` [ - "0/1 -> 1/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "1/2 -> 1/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "1/2 -> 1/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "0/1 -> 1/2: {\\"s\\":\\"bd\\"}", + "1/2 -> 1/1: {\\"s\\":\\"bd\\"}", + "1/2 -> 1/1: {\\"s\\":\\"sd\\"}", "1/4 -> 1/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "3/4 -> 1/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "0/1 -> 1/2: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "3/4 -> 1/1: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "1/4 -> 13/44: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "1/4 -> 13/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "1/4 -> 13/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "1/4 -> 13/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "1/1 -> 3/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "3/2 -> 2/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "3/2 -> 2/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "0/1 -> 1/2: {\\"note\\":\\"B1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "3/4 -> 1/1: {\\"note\\":\\"B1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "1/4 -> 13/44: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "1/4 -> 13/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "1/4 -> 13/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "1/4 -> 13/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "1/1 -> 3/2: {\\"s\\":\\"bd\\"}", + "3/2 -> 2/1: {\\"s\\":\\"bd\\"}", + "3/2 -> 2/1: {\\"s\\":\\"sd\\"}", "5/4 -> 3/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "7/4 -> 2/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "7/4 -> 2/1: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "5/4 -> 57/44: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "5/4 -> 57/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "5/4 -> 57/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "5/4 -> 57/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "2/1 -> 5/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "5/2 -> 3/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "5/2 -> 3/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "7/4 -> 2/1: {\\"note\\":\\"B1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "5/4 -> 57/44: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "5/4 -> 57/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "5/4 -> 57/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "5/4 -> 57/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "2/1 -> 5/2: {\\"s\\":\\"bd\\"}", + "5/2 -> 3/1: {\\"s\\":\\"bd\\"}", + "5/2 -> 3/1: {\\"s\\":\\"sd\\"}", "9/4 -> 5/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "11/4 -> 3/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "2/1 -> 5/2: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "11/4 -> 3/1: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "5/2 -> 28/11: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "5/2 -> 28/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "5/2 -> 28/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "5/2 -> 28/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "3/1 -> 7/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "7/2 -> 4/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "7/2 -> 4/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "2/1 -> 5/2: {\\"note\\":\\"B1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "11/4 -> 3/1: {\\"note\\":\\"B1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "5/2 -> 28/11: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "5/2 -> 28/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "5/2 -> 28/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "5/2 -> 28/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "3/1 -> 7/2: {\\"s\\":\\"bd\\"}", + "7/2 -> 4/1: {\\"s\\":\\"bd\\"}", + "7/2 -> 4/1: {\\"s\\":\\"sd\\"}", "13/4 -> 7/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "15/4 -> 4/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "15/4 -> 4/1: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "7/2 -> 39/11: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "7/2 -> 39/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "7/2 -> 39/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "7/2 -> 39/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "4/1 -> 9/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "9/2 -> 5/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "9/2 -> 5/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "15/4 -> 4/1: {\\"note\\":\\"B1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "7/2 -> 39/11: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "7/2 -> 39/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "7/2 -> 39/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "7/2 -> 39/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "4/1 -> 9/2: {\\"s\\":\\"bd\\"}", + "9/2 -> 5/1: {\\"s\\":\\"bd\\"}", + "9/2 -> 5/1: {\\"s\\":\\"sd\\"}", "17/4 -> 9/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "19/4 -> 5/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "4/1 -> 9/2: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "19/4 -> 5/1: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "17/4 -> 189/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "17/4 -> 189/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "17/4 -> 189/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "17/4 -> 189/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "5/1 -> 11/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "11/2 -> 6/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "11/2 -> 6/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "4/1 -> 9/2: {\\"note\\":\\"A1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "19/4 -> 5/1: {\\"note\\":\\"A1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "17/4 -> 189/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "17/4 -> 189/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "17/4 -> 189/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "17/4 -> 189/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "5/1 -> 11/2: {\\"s\\":\\"bd\\"}", + "11/2 -> 6/1: {\\"s\\":\\"bd\\"}", + "11/2 -> 6/1: {\\"s\\":\\"sd\\"}", "21/4 -> 11/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "23/4 -> 6/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "23/4 -> 6/1: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "21/4 -> 233/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "21/4 -> 233/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "21/4 -> 233/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "21/4 -> 233/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "6/1 -> 13/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "13/2 -> 7/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "13/2 -> 7/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "23/4 -> 6/1: {\\"note\\":\\"A1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "21/4 -> 233/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "21/4 -> 233/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "21/4 -> 233/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "21/4 -> 233/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "6/1 -> 13/2: {\\"s\\":\\"bd\\"}", + "13/2 -> 7/1: {\\"s\\":\\"bd\\"}", + "13/2 -> 7/1: {\\"s\\":\\"sd\\"}", "25/4 -> 13/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "27/4 -> 7/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "6/1 -> 13/2: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "27/4 -> 7/1: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "13/2 -> 72/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "13/2 -> 72/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "13/2 -> 72/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "13/2 -> 72/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "7/1 -> 15/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "15/2 -> 8/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "15/2 -> 63/8: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", - "63/8 -> 8/1: {\\"s\\":\\"x\\",\\"value\\":\\"x\\"}", + "6/1 -> 13/2: {\\"note\\":\\"A1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "27/4 -> 7/1: {\\"note\\":\\"A1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "13/2 -> 72/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "13/2 -> 72/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "13/2 -> 72/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "13/2 -> 72/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "7/1 -> 15/2: {\\"s\\":\\"bd\\"}", + "15/2 -> 8/1: {\\"s\\":\\"bd\\"}", + "15/2 -> 63/8: {\\"s\\":\\"sd\\"}", + "63/8 -> 8/1: {\\"s\\":\\"x\\"}", "29/4 -> 15/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "31/4 -> 8/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "7/1 -> 15/2: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "15/2 -> 8/1: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "15/2 -> 83/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "15/2 -> 83/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "15/2 -> 83/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "15/2 -> 83/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "8/1 -> 17/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "17/2 -> 9/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "17/2 -> 9/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "7/1 -> 15/2: {\\"note\\":\\"A1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "15/2 -> 8/1: {\\"note\\":\\"A1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "15/2 -> 83/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "15/2 -> 83/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "15/2 -> 83/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "15/2 -> 83/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "8/1 -> 17/2: {\\"s\\":\\"bd\\"}", + "17/2 -> 9/1: {\\"s\\":\\"bd\\"}", + "17/2 -> 9/1: {\\"s\\":\\"sd\\"}", "33/4 -> 17/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "35/4 -> 9/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "8/1 -> 17/2: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "35/4 -> 9/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "33/4 -> 365/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "33/4 -> 365/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "33/4 -> 365/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "33/4 -> 365/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "9/1 -> 19/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "19/2 -> 10/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "19/2 -> 10/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "8/1 -> 17/2: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "35/4 -> 9/1: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "33/4 -> 365/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "33/4 -> 365/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "33/4 -> 365/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "33/4 -> 365/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "9/1 -> 19/2: {\\"s\\":\\"bd\\"}", + "19/2 -> 10/1: {\\"s\\":\\"bd\\"}", + "19/2 -> 10/1: {\\"s\\":\\"sd\\"}", "37/4 -> 19/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "39/4 -> 10/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "39/4 -> 10/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "37/4 -> 409/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "37/4 -> 409/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "37/4 -> 409/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "37/4 -> 409/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "10/1 -> 21/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "21/2 -> 11/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "21/2 -> 11/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "39/4 -> 10/1: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "37/4 -> 409/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "37/4 -> 409/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "37/4 -> 409/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "37/4 -> 409/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "10/1 -> 21/2: {\\"s\\":\\"bd\\"}", + "21/2 -> 11/1: {\\"s\\":\\"bd\\"}", + "21/2 -> 11/1: {\\"s\\":\\"sd\\"}", "41/4 -> 21/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "43/4 -> 11/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "10/1 -> 21/2: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "43/4 -> 11/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "21/2 -> 116/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "21/2 -> 116/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "21/2 -> 116/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "21/2 -> 116/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "11/1 -> 23/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "23/2 -> 12/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "23/2 -> 12/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "10/1 -> 21/2: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "43/4 -> 11/1: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "21/2 -> 116/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "21/2 -> 116/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "21/2 -> 116/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "21/2 -> 116/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "11/1 -> 23/2: {\\"s\\":\\"bd\\"}", + "23/2 -> 12/1: {\\"s\\":\\"bd\\"}", + "23/2 -> 12/1: {\\"s\\":\\"sd\\"}", "45/4 -> 23/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "47/4 -> 12/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "47/4 -> 12/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "23/2 -> 127/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "23/2 -> 127/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "23/2 -> 127/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "23/2 -> 127/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "12/1 -> 25/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "25/2 -> 13/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "25/2 -> 13/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "47/4 -> 12/1: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "23/2 -> 127/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "23/2 -> 127/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "23/2 -> 127/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "23/2 -> 127/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "12/1 -> 25/2: {\\"s\\":\\"bd\\"}", + "25/2 -> 13/1: {\\"s\\":\\"bd\\"}", + "25/2 -> 13/1: {\\"s\\":\\"sd\\"}", "49/4 -> 25/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "51/4 -> 13/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "12/1 -> 25/2: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "51/4 -> 13/1: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "49/4 -> 541/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "49/4 -> 541/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "49/4 -> 541/44: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "49/4 -> 541/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "13/1 -> 27/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "27/2 -> 14/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "27/2 -> 14/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "12/1 -> 25/2: {\\"note\\":\\"F#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "51/4 -> 13/1: {\\"note\\":\\"F#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "49/4 -> 541/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "49/4 -> 541/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "49/4 -> 541/44: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "49/4 -> 541/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "13/1 -> 27/2: {\\"s\\":\\"bd\\"}", + "27/2 -> 14/1: {\\"s\\":\\"bd\\"}", + "27/2 -> 14/1: {\\"s\\":\\"sd\\"}", "53/4 -> 27/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "55/4 -> 14/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "55/4 -> 14/1: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "53/4 -> 585/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "53/4 -> 585/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "53/4 -> 585/44: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "53/4 -> 585/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "14/1 -> 29/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "29/2 -> 15/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "29/2 -> 15/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "55/4 -> 14/1: {\\"note\\":\\"F#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "53/4 -> 585/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "53/4 -> 585/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "53/4 -> 585/44: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "53/4 -> 585/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "14/1 -> 29/2: {\\"s\\":\\"bd\\"}", + "29/2 -> 15/1: {\\"s\\":\\"bd\\"}", + "29/2 -> 15/1: {\\"s\\":\\"sd\\"}", "57/4 -> 29/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "59/4 -> 15/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "14/1 -> 29/2: {\\"note\\":\\"F#2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "59/4 -> 15/1: {\\"note\\":\\"F#2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "29/2 -> 160/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "29/2 -> 160/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "29/2 -> 160/11: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "29/2 -> 160/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "15/1 -> 31/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "31/2 -> 16/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "31/2 -> 127/8: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", - "127/8 -> 16/1: {\\"s\\":\\"x\\",\\"value\\":\\"x\\"}", + "14/1 -> 29/2: {\\"note\\":\\"F#2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "59/4 -> 15/1: {\\"note\\":\\"F#2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "29/2 -> 160/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "29/2 -> 160/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "29/2 -> 160/11: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "29/2 -> 160/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "15/1 -> 31/2: {\\"s\\":\\"bd\\"}", + "31/2 -> 16/1: {\\"s\\":\\"bd\\"}", + "31/2 -> 127/8: {\\"s\\":\\"sd\\"}", + "127/8 -> 16/1: {\\"s\\":\\"x\\"}", "61/4 -> 31/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "63/4 -> 16/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "15/1 -> 31/2: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "31/2 -> 16/1: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "31/2 -> 171/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "31/2 -> 171/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "31/2 -> 171/11: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "31/2 -> 171/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "16/1 -> 33/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "33/2 -> 17/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "33/2 -> 17/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "15/1 -> 31/2: {\\"note\\":\\"F#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "31/2 -> 16/1: {\\"note\\":\\"F#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "31/2 -> 171/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "31/2 -> 171/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "31/2 -> 171/11: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "31/2 -> 171/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "16/1 -> 33/2: {\\"s\\":\\"bd\\"}", + "33/2 -> 17/1: {\\"s\\":\\"bd\\"}", + "33/2 -> 17/1: {\\"s\\":\\"sd\\"}", "65/4 -> 33/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "67/4 -> 17/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "16/1 -> 33/2: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "67/4 -> 17/1: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "65/4 -> 717/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "65/4 -> 717/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "65/4 -> 717/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "65/4 -> 717/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "17/1 -> 35/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "35/2 -> 18/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "35/2 -> 18/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "16/1 -> 33/2: {\\"note\\":\\"C2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "67/4 -> 17/1: {\\"note\\":\\"C2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "65/4 -> 717/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "65/4 -> 717/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "65/4 -> 717/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "65/4 -> 717/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "17/1 -> 35/2: {\\"s\\":\\"bd\\"}", + "35/2 -> 18/1: {\\"s\\":\\"bd\\"}", + "35/2 -> 18/1: {\\"s\\":\\"sd\\"}", "69/4 -> 35/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "71/4 -> 18/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "71/4 -> 18/1: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "69/4 -> 761/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "69/4 -> 761/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "69/4 -> 761/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "69/4 -> 761/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "18/1 -> 37/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "37/2 -> 19/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "37/2 -> 19/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "71/4 -> 18/1: {\\"note\\":\\"C2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "69/4 -> 761/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "69/4 -> 761/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "69/4 -> 761/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "69/4 -> 761/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "18/1 -> 37/2: {\\"s\\":\\"bd\\"}", + "37/2 -> 19/1: {\\"s\\":\\"bd\\"}", + "37/2 -> 19/1: {\\"s\\":\\"sd\\"}", "73/4 -> 37/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "75/4 -> 19/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "18/1 -> 37/2: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "75/4 -> 19/1: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "37/2 -> 204/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "37/2 -> 204/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "37/2 -> 204/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "37/2 -> 204/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "19/1 -> 39/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "39/2 -> 20/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "39/2 -> 20/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "18/1 -> 37/2: {\\"note\\":\\"C2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "75/4 -> 19/1: {\\"note\\":\\"C2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "37/2 -> 204/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "37/2 -> 204/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "37/2 -> 204/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "37/2 -> 204/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "19/1 -> 39/2: {\\"s\\":\\"bd\\"}", + "39/2 -> 20/1: {\\"s\\":\\"bd\\"}", + "39/2 -> 20/1: {\\"s\\":\\"sd\\"}", "77/4 -> 39/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "79/4 -> 20/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "79/4 -> 20/1: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "39/2 -> 215/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "39/2 -> 215/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "39/2 -> 215/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "39/2 -> 215/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "20/1 -> 41/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "41/2 -> 21/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "41/2 -> 21/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "79/4 -> 20/1: {\\"note\\":\\"C2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "39/2 -> 215/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "39/2 -> 215/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "39/2 -> 215/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "39/2 -> 215/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "20/1 -> 41/2: {\\"s\\":\\"bd\\"}", + "41/2 -> 21/1: {\\"s\\":\\"bd\\"}", + "41/2 -> 21/1: {\\"s\\":\\"sd\\"}", "81/4 -> 41/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "83/4 -> 21/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "20/1 -> 41/2: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "83/4 -> 21/1: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "81/4 -> 893/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "81/4 -> 893/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "81/4 -> 893/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "81/4 -> 893/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "21/1 -> 43/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "43/2 -> 22/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "43/2 -> 22/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "20/1 -> 41/2: {\\"note\\":\\"A#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "83/4 -> 21/1: {\\"note\\":\\"A#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "81/4 -> 893/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "81/4 -> 893/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "81/4 -> 893/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "81/4 -> 893/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "21/1 -> 43/2: {\\"s\\":\\"bd\\"}", + "43/2 -> 22/1: {\\"s\\":\\"bd\\"}", + "43/2 -> 22/1: {\\"s\\":\\"sd\\"}", "85/4 -> 43/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "87/4 -> 22/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "87/4 -> 22/1: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "85/4 -> 937/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "85/4 -> 937/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "85/4 -> 937/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "85/4 -> 937/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "22/1 -> 45/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "45/2 -> 23/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "45/2 -> 23/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "87/4 -> 22/1: {\\"note\\":\\"A#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "85/4 -> 937/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "85/4 -> 937/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "85/4 -> 937/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "85/4 -> 937/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "22/1 -> 45/2: {\\"s\\":\\"bd\\"}", + "45/2 -> 23/1: {\\"s\\":\\"bd\\"}", + "45/2 -> 23/1: {\\"s\\":\\"sd\\"}", "89/4 -> 45/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "91/4 -> 23/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "22/1 -> 45/2: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "91/4 -> 23/1: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "45/2 -> 248/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "45/2 -> 248/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "45/2 -> 248/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "45/2 -> 248/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "23/1 -> 47/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "47/2 -> 24/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "47/2 -> 191/8: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", - "191/8 -> 24/1: {\\"s\\":\\"x\\",\\"value\\":\\"x\\"}", + "22/1 -> 45/2: {\\"note\\":\\"A#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "91/4 -> 23/1: {\\"note\\":\\"A#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "45/2 -> 248/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "45/2 -> 248/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "45/2 -> 248/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "45/2 -> 248/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "23/1 -> 47/2: {\\"s\\":\\"bd\\"}", + "47/2 -> 24/1: {\\"s\\":\\"bd\\"}", + "47/2 -> 191/8: {\\"s\\":\\"sd\\"}", + "191/8 -> 24/1: {\\"s\\":\\"x\\"}", "93/4 -> 47/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "95/4 -> 24/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "23/1 -> 47/2: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "47/2 -> 24/1: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "47/2 -> 259/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "47/2 -> 259/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "47/2 -> 259/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "47/2 -> 259/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "24/1 -> 49/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "49/2 -> 25/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "49/2 -> 25/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "23/1 -> 47/2: {\\"note\\":\\"A#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "47/2 -> 24/1: {\\"note\\":\\"A#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "47/2 -> 259/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "47/2 -> 259/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "47/2 -> 259/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "47/2 -> 259/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "24/1 -> 49/2: {\\"s\\":\\"bd\\"}", + "49/2 -> 25/1: {\\"s\\":\\"bd\\"}", + "49/2 -> 25/1: {\\"s\\":\\"sd\\"}", "97/4 -> 49/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "99/4 -> 25/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "24/1 -> 49/2: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "99/4 -> 25/1: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "97/4 -> 1069/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "97/4 -> 1069/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "97/4 -> 1069/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "97/4 -> 1069/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "25/1 -> 51/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "51/2 -> 26/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "51/2 -> 26/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "24/1 -> 49/2: {\\"note\\":\\"G#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "99/4 -> 25/1: {\\"note\\":\\"G#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "97/4 -> 1069/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "97/4 -> 1069/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "97/4 -> 1069/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "97/4 -> 1069/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "25/1 -> 51/2: {\\"s\\":\\"bd\\"}", + "51/2 -> 26/1: {\\"s\\":\\"bd\\"}", + "51/2 -> 26/1: {\\"s\\":\\"sd\\"}", "101/4 -> 51/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "103/4 -> 26/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "103/4 -> 26/1: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "101/4 -> 1113/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "101/4 -> 1113/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "101/4 -> 1113/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "101/4 -> 1113/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "26/1 -> 53/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "53/2 -> 27/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "53/2 -> 27/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "103/4 -> 26/1: {\\"note\\":\\"G#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "101/4 -> 1113/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "101/4 -> 1113/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "101/4 -> 1113/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "101/4 -> 1113/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "26/1 -> 53/2: {\\"s\\":\\"bd\\"}", + "53/2 -> 27/1: {\\"s\\":\\"bd\\"}", + "53/2 -> 27/1: {\\"s\\":\\"sd\\"}", "105/4 -> 53/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "107/4 -> 27/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "26/1 -> 53/2: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "107/4 -> 27/1: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "53/2 -> 292/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "53/2 -> 292/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "53/2 -> 292/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "53/2 -> 292/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "27/1 -> 55/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "55/2 -> 28/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "55/2 -> 28/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "26/1 -> 53/2: {\\"note\\":\\"G#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "107/4 -> 27/1: {\\"note\\":\\"G#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "53/2 -> 292/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "53/2 -> 292/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "53/2 -> 292/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "53/2 -> 292/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "27/1 -> 55/2: {\\"s\\":\\"bd\\"}", + "55/2 -> 28/1: {\\"s\\":\\"bd\\"}", + "55/2 -> 28/1: {\\"s\\":\\"sd\\"}", "109/4 -> 55/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "111/4 -> 28/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "111/4 -> 28/1: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "55/2 -> 303/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "55/2 -> 303/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "55/2 -> 303/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "55/2 -> 303/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "28/1 -> 57/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "57/2 -> 29/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "111/4 -> 28/1: {\\"note\\":\\"G#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "55/2 -> 303/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "55/2 -> 303/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "55/2 -> 303/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "55/2 -> 303/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "28/1 -> 57/2: {\\"s\\":\\"bd\\"}", + "57/2 -> 29/1: {\\"s\\":\\"bd\\"}", "113/4 -> 57/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "115/4 -> 29/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "28/1 -> 57/2: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "115/4 -> 29/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "113/4 -> 1245/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "113/4 -> 1245/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "113/4 -> 1245/44: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "113/4 -> 1245/44: {\\"note\\":\\"G#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "29/1 -> 59/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "59/2 -> 30/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "28/1 -> 57/2: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "115/4 -> 29/1: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "113/4 -> 1245/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "113/4 -> 1245/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "113/4 -> 1245/44: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "113/4 -> 1245/44: {\\"note\\":\\"G#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "29/1 -> 59/2: {\\"s\\":\\"bd\\"}", + "59/2 -> 30/1: {\\"s\\":\\"bd\\"}", "117/4 -> 59/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "119/4 -> 30/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "119/4 -> 30/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "117/4 -> 1289/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "117/4 -> 1289/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "117/4 -> 1289/44: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "117/4 -> 1289/44: {\\"note\\":\\"G#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "30/1 -> 61/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "61/2 -> 31/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "119/4 -> 30/1: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "117/4 -> 1289/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "117/4 -> 1289/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "117/4 -> 1289/44: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "117/4 -> 1289/44: {\\"note\\":\\"G#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "30/1 -> 61/2: {\\"s\\":\\"bd\\"}", + "61/2 -> 31/1: {\\"s\\":\\"bd\\"}", "121/4 -> 61/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "123/4 -> 31/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "30/1 -> 61/2: {\\"note\\":\\"G2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "123/4 -> 31/1: {\\"note\\":\\"G2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "61/2 -> 336/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "61/2 -> 336/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "61/2 -> 336/11: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "61/2 -> 336/11: {\\"note\\":\\"G#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "31/1 -> 63/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "63/2 -> 32/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", + "30/1 -> 61/2: {\\"note\\":\\"G2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "123/4 -> 31/1: {\\"note\\":\\"G2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "61/2 -> 336/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "61/2 -> 336/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "61/2 -> 336/11: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "61/2 -> 336/11: {\\"note\\":\\"G#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "31/1 -> 63/2: {\\"s\\":\\"bd\\"}", + "63/2 -> 32/1: {\\"s\\":\\"bd\\"}", "125/4 -> 63/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "127/4 -> 32/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "31/1 -> 63/2: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "63/2 -> 32/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "63/2 -> 347/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "63/2 -> 347/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "63/2 -> 347/11: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "63/2 -> 347/11: {\\"note\\":\\"G#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "32/1 -> 65/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "65/2 -> 33/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "65/2 -> 33/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "31/1 -> 63/2: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "63/2 -> 32/1: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "63/2 -> 347/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "63/2 -> 347/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "63/2 -> 347/11: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "63/2 -> 347/11: {\\"note\\":\\"G#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "32/1 -> 65/2: {\\"s\\":\\"bd\\"}", + "65/2 -> 33/1: {\\"s\\":\\"bd\\"}", + "65/2 -> 33/1: {\\"s\\":\\"sd\\"}", "129/4 -> 65/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "131/4 -> 33/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "65/2 -> 33/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "129/4 -> 131/4: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "32/1 -> 65/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "127/4 -> 129/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "131/4 -> 133/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "32/1 -> 65/2: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "131/4 -> 33/1: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "129/4 -> 1421/44: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "129/4 -> 1421/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "129/4 -> 1421/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "129/4 -> 1421/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "33/1 -> 67/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "67/2 -> 34/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "67/2 -> 34/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "65/2 -> 33/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "129/4 -> 131/4: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "32/1 -> 65/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "127/4 -> 129/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "131/4 -> 133/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "32/1 -> 65/2: {\\"note\\":\\"B1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "131/4 -> 33/1: {\\"note\\":\\"B1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "129/4 -> 1421/44: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "129/4 -> 1421/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "129/4 -> 1421/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "129/4 -> 1421/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "33/1 -> 67/2: {\\"s\\":\\"bd\\"}", + "67/2 -> 34/1: {\\"s\\":\\"bd\\"}", + "67/2 -> 34/1: {\\"s\\":\\"sd\\"}", "133/4 -> 67/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "135/4 -> 34/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "67/2 -> 34/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "133/4 -> 135/4: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "33/1 -> 67/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "131/4 -> 133/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "135/4 -> 137/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "135/4 -> 34/1: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "133/4 -> 1465/44: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "133/4 -> 1465/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "133/4 -> 1465/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "133/4 -> 1465/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "34/1 -> 69/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "69/2 -> 35/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "69/2 -> 35/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "67/2 -> 34/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "133/4 -> 135/4: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "33/1 -> 67/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "131/4 -> 133/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "135/4 -> 137/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "135/4 -> 34/1: {\\"note\\":\\"B1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "133/4 -> 1465/44: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "133/4 -> 1465/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "133/4 -> 1465/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "133/4 -> 1465/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "34/1 -> 69/2: {\\"s\\":\\"bd\\"}", + "69/2 -> 35/1: {\\"s\\":\\"bd\\"}", + "69/2 -> 35/1: {\\"s\\":\\"sd\\"}", "137/4 -> 69/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "139/4 -> 35/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "69/2 -> 35/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "137/4 -> 139/4: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "34/1 -> 69/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "135/4 -> 137/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "139/4 -> 141/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "34/1 -> 69/2: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "139/4 -> 35/1: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "69/2 -> 380/11: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "69/2 -> 380/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "69/2 -> 380/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "69/2 -> 380/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "35/1 -> 71/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "71/2 -> 36/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "71/2 -> 36/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "69/2 -> 35/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "137/4 -> 139/4: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "34/1 -> 69/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "135/4 -> 137/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "139/4 -> 141/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "34/1 -> 69/2: {\\"note\\":\\"B1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "139/4 -> 35/1: {\\"note\\":\\"B1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "69/2 -> 380/11: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "69/2 -> 380/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "69/2 -> 380/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "69/2 -> 380/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "35/1 -> 71/2: {\\"s\\":\\"bd\\"}", + "71/2 -> 36/1: {\\"s\\":\\"bd\\"}", + "71/2 -> 36/1: {\\"s\\":\\"sd\\"}", "141/4 -> 71/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "143/4 -> 36/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "71/2 -> 36/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "141/4 -> 143/4: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "35/1 -> 71/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "139/4 -> 141/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "143/4 -> 145/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "143/4 -> 36/1: {\\"note\\":\\"B1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "71/2 -> 391/11: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "71/2 -> 391/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "71/2 -> 391/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "71/2 -> 391/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "36/1 -> 73/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "73/2 -> 37/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "73/2 -> 37/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "71/2 -> 36/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "141/4 -> 143/4: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "35/1 -> 71/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "139/4 -> 141/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "143/4 -> 145/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "143/4 -> 36/1: {\\"note\\":\\"B1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "71/2 -> 391/11: {\\"note\\":\\"A3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "71/2 -> 391/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "71/2 -> 391/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "71/2 -> 391/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "36/1 -> 73/2: {\\"s\\":\\"bd\\"}", + "73/2 -> 37/1: {\\"s\\":\\"bd\\"}", + "73/2 -> 37/1: {\\"s\\":\\"sd\\"}", "145/4 -> 73/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "147/4 -> 37/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "73/2 -> 37/1: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "145/4 -> 147/4: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "36/1 -> 73/2: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "143/4 -> 145/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "147/4 -> 149/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "36/1 -> 73/2: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "147/4 -> 37/1: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "145/4 -> 1597/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "145/4 -> 1597/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "145/4 -> 1597/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "145/4 -> 1597/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "37/1 -> 75/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "75/2 -> 38/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "75/2 -> 38/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "73/2 -> 37/1: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "145/4 -> 147/4: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "36/1 -> 73/2: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "143/4 -> 145/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "147/4 -> 149/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "36/1 -> 73/2: {\\"note\\":\\"A1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "147/4 -> 37/1: {\\"note\\":\\"A1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "145/4 -> 1597/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "145/4 -> 1597/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "145/4 -> 1597/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "145/4 -> 1597/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "37/1 -> 75/2: {\\"s\\":\\"bd\\"}", + "75/2 -> 38/1: {\\"s\\":\\"bd\\"}", + "75/2 -> 38/1: {\\"s\\":\\"sd\\"}", "149/4 -> 75/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "151/4 -> 38/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "75/2 -> 38/1: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "149/4 -> 151/4: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "37/1 -> 75/2: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "147/4 -> 149/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "151/4 -> 153/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "151/4 -> 38/1: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "149/4 -> 1641/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "149/4 -> 1641/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "149/4 -> 1641/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "149/4 -> 1641/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "38/1 -> 77/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "77/2 -> 39/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "77/2 -> 39/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "75/2 -> 38/1: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "149/4 -> 151/4: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "37/1 -> 75/2: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "147/4 -> 149/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "151/4 -> 153/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "151/4 -> 38/1: {\\"note\\":\\"A1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "149/4 -> 1641/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "149/4 -> 1641/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "149/4 -> 1641/44: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "149/4 -> 1641/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "38/1 -> 77/2: {\\"s\\":\\"bd\\"}", + "77/2 -> 39/1: {\\"s\\":\\"bd\\"}", + "77/2 -> 39/1: {\\"s\\":\\"sd\\"}", "153/4 -> 77/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "155/4 -> 39/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "77/2 -> 39/1: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "153/4 -> 155/4: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "38/1 -> 77/2: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "151/4 -> 153/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "155/4 -> 157/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "38/1 -> 77/2: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "155/4 -> 39/1: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "77/2 -> 424/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "77/2 -> 424/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "77/2 -> 424/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "77/2 -> 424/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "39/1 -> 79/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "79/2 -> 40/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "79/2 -> 319/8: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", - "319/8 -> 40/1: {\\"s\\":\\"x\\",\\"value\\":\\"x\\"}", + "77/2 -> 39/1: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "153/4 -> 155/4: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "38/1 -> 77/2: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "151/4 -> 153/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "155/4 -> 157/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "38/1 -> 77/2: {\\"note\\":\\"A1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "155/4 -> 39/1: {\\"note\\":\\"A1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "77/2 -> 424/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "77/2 -> 424/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "77/2 -> 424/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "77/2 -> 424/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "39/1 -> 79/2: {\\"s\\":\\"bd\\"}", + "79/2 -> 40/1: {\\"s\\":\\"bd\\"}", + "79/2 -> 319/8: {\\"s\\":\\"sd\\"}", + "319/8 -> 40/1: {\\"s\\":\\"x\\"}", "157/4 -> 79/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "159/4 -> 40/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "79/2 -> 40/1: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "157/4 -> 159/4: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "39/1 -> 79/2: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "155/4 -> 157/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "159/4 -> 161/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "39/1 -> 79/2: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "79/2 -> 40/1: {\\"note\\":\\"A1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "79/2 -> 435/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "79/2 -> 435/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "79/2 -> 435/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "79/2 -> 435/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "40/1 -> 81/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "81/2 -> 41/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "81/2 -> 41/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "79/2 -> 40/1: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "157/4 -> 159/4: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "39/1 -> 79/2: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "155/4 -> 157/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "159/4 -> 161/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "39/1 -> 79/2: {\\"note\\":\\"A1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "79/2 -> 40/1: {\\"note\\":\\"A1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "79/2 -> 435/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "79/2 -> 435/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "79/2 -> 435/11: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "79/2 -> 435/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "40/1 -> 81/2: {\\"s\\":\\"bd\\"}", + "81/2 -> 41/1: {\\"s\\":\\"bd\\"}", + "81/2 -> 41/1: {\\"s\\":\\"sd\\"}", "161/4 -> 81/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "163/4 -> 41/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "81/2 -> 41/1: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "161/4 -> 163/4: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "40/1 -> 81/2: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "159/4 -> 161/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "163/4 -> 165/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "40/1 -> 81/2: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "163/4 -> 41/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "161/4 -> 1773/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "161/4 -> 1773/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "161/4 -> 1773/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "161/4 -> 1773/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "41/1 -> 83/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "83/2 -> 42/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "83/2 -> 42/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "81/2 -> 41/1: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "161/4 -> 163/4: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "40/1 -> 81/2: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "159/4 -> 161/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "163/4 -> 165/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "40/1 -> 81/2: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "163/4 -> 41/1: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "161/4 -> 1773/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "161/4 -> 1773/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "161/4 -> 1773/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "161/4 -> 1773/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "41/1 -> 83/2: {\\"s\\":\\"bd\\"}", + "83/2 -> 42/1: {\\"s\\":\\"bd\\"}", + "83/2 -> 42/1: {\\"s\\":\\"sd\\"}", "165/4 -> 83/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "167/4 -> 42/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "83/2 -> 42/1: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "165/4 -> 167/4: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "41/1 -> 83/2: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "163/4 -> 165/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "167/4 -> 169/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "167/4 -> 42/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "165/4 -> 1817/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "165/4 -> 1817/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "165/4 -> 1817/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "165/4 -> 1817/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "42/1 -> 85/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "85/2 -> 43/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "85/2 -> 43/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "83/2 -> 42/1: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "165/4 -> 167/4: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "41/1 -> 83/2: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "163/4 -> 165/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "167/4 -> 169/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "167/4 -> 42/1: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "165/4 -> 1817/44: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "165/4 -> 1817/44: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "165/4 -> 1817/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "165/4 -> 1817/44: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "42/1 -> 85/2: {\\"s\\":\\"bd\\"}", + "85/2 -> 43/1: {\\"s\\":\\"bd\\"}", + "85/2 -> 43/1: {\\"s\\":\\"sd\\"}", "169/4 -> 85/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "171/4 -> 43/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "85/2 -> 43/1: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "169/4 -> 171/4: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "42/1 -> 85/2: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "167/4 -> 169/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "171/4 -> 173/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "42/1 -> 85/2: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "171/4 -> 43/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "85/2 -> 468/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "85/2 -> 468/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "85/2 -> 468/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "85/2 -> 468/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "43/1 -> 87/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "87/2 -> 44/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "87/2 -> 44/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "85/2 -> 43/1: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "169/4 -> 171/4: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "42/1 -> 85/2: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "167/4 -> 169/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "171/4 -> 173/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "42/1 -> 85/2: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "171/4 -> 43/1: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "85/2 -> 468/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "85/2 -> 468/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "85/2 -> 468/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "85/2 -> 468/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "43/1 -> 87/2: {\\"s\\":\\"bd\\"}", + "87/2 -> 44/1: {\\"s\\":\\"bd\\"}", + "87/2 -> 44/1: {\\"s\\":\\"sd\\"}", "173/4 -> 87/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "175/4 -> 44/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "87/2 -> 44/1: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "173/4 -> 175/4: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "43/1 -> 87/2: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "171/4 -> 173/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "175/4 -> 177/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "175/4 -> 44/1: {\\"note\\":\\"G1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "87/2 -> 479/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "87/2 -> 479/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "87/2 -> 479/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "87/2 -> 479/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "44/1 -> 89/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "89/2 -> 45/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "89/2 -> 45/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "87/2 -> 44/1: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "173/4 -> 175/4: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "43/1 -> 87/2: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "171/4 -> 173/4: {\\"note\\":\\"C#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "175/4 -> 177/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "175/4 -> 44/1: {\\"note\\":\\"G1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "87/2 -> 479/11: {\\"note\\":\\"G3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "87/2 -> 479/11: {\\"note\\":\\"B3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "87/2 -> 479/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "87/2 -> 479/11: {\\"note\\":\\"F#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "44/1 -> 89/2: {\\"s\\":\\"bd\\"}", + "89/2 -> 45/1: {\\"s\\":\\"bd\\"}", + "89/2 -> 45/1: {\\"s\\":\\"sd\\"}", "177/4 -> 89/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "179/4 -> 45/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "89/2 -> 45/1: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "177/4 -> 179/4: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "44/1 -> 89/2: {\\"note\\":\\"A#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "175/4 -> 177/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "179/4 -> 181/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "44/1 -> 89/2: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "179/4 -> 45/1: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "177/4 -> 1949/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "177/4 -> 1949/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "177/4 -> 1949/44: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "177/4 -> 1949/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "45/1 -> 91/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "91/2 -> 46/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "91/2 -> 46/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "89/2 -> 45/1: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "177/4 -> 179/4: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "44/1 -> 89/2: {\\"note\\":\\"A#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "175/4 -> 177/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "179/4 -> 181/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "44/1 -> 89/2: {\\"note\\":\\"F#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "179/4 -> 45/1: {\\"note\\":\\"F#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "177/4 -> 1949/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "177/4 -> 1949/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "177/4 -> 1949/44: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "177/4 -> 1949/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "45/1 -> 91/2: {\\"s\\":\\"bd\\"}", + "91/2 -> 46/1: {\\"s\\":\\"bd\\"}", + "91/2 -> 46/1: {\\"s\\":\\"sd\\"}", "181/4 -> 91/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "183/4 -> 46/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "91/2 -> 46/1: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "181/4 -> 183/4: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "45/1 -> 91/2: {\\"note\\":\\"A#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "179/4 -> 181/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "183/4 -> 185/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "183/4 -> 46/1: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "181/4 -> 1993/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "181/4 -> 1993/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "181/4 -> 1993/44: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "181/4 -> 1993/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "46/1 -> 93/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "93/2 -> 47/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "93/2 -> 47/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "91/2 -> 46/1: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "181/4 -> 183/4: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "45/1 -> 91/2: {\\"note\\":\\"A#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "179/4 -> 181/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "183/4 -> 185/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "183/4 -> 46/1: {\\"note\\":\\"F#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "181/4 -> 1993/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "181/4 -> 1993/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "181/4 -> 1993/44: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "181/4 -> 1993/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "46/1 -> 93/2: {\\"s\\":\\"bd\\"}", + "93/2 -> 47/1: {\\"s\\":\\"bd\\"}", + "93/2 -> 47/1: {\\"s\\":\\"sd\\"}", "185/4 -> 93/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "187/4 -> 47/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "93/2 -> 47/1: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "185/4 -> 187/4: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "46/1 -> 93/2: {\\"note\\":\\"A#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "183/4 -> 185/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "187/4 -> 189/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "46/1 -> 93/2: {\\"note\\":\\"F#2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "187/4 -> 47/1: {\\"note\\":\\"F#2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "93/2 -> 512/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "93/2 -> 512/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "93/2 -> 512/11: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "93/2 -> 512/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "47/1 -> 95/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "95/2 -> 48/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "95/2 -> 383/8: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", - "383/8 -> 48/1: {\\"s\\":\\"x\\",\\"value\\":\\"x\\"}", + "93/2 -> 47/1: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "185/4 -> 187/4: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "46/1 -> 93/2: {\\"note\\":\\"A#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "183/4 -> 185/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "187/4 -> 189/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "46/1 -> 93/2: {\\"note\\":\\"F#2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "187/4 -> 47/1: {\\"note\\":\\"F#2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "93/2 -> 512/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "93/2 -> 512/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "93/2 -> 512/11: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "93/2 -> 512/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "47/1 -> 95/2: {\\"s\\":\\"bd\\"}", + "95/2 -> 48/1: {\\"s\\":\\"bd\\"}", + "95/2 -> 383/8: {\\"s\\":\\"sd\\"}", + "383/8 -> 48/1: {\\"s\\":\\"x\\"}", "189/4 -> 95/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "191/4 -> 48/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "95/2 -> 48/1: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "189/4 -> 191/4: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "47/1 -> 95/2: {\\"note\\":\\"A#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "187/4 -> 189/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "191/4 -> 193/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "47/1 -> 95/2: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "95/2 -> 48/1: {\\"note\\":\\"F#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "95/2 -> 523/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "95/2 -> 523/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "95/2 -> 523/11: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "95/2 -> 523/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "48/1 -> 97/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "97/2 -> 49/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "97/2 -> 49/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "95/2 -> 48/1: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "189/4 -> 191/4: {\\"note\\":\\"C#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "47/1 -> 95/2: {\\"note\\":\\"A#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "187/4 -> 189/4: {\\"note\\":\\"B4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "191/4 -> 193/4: {\\"note\\":\\"E5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "47/1 -> 95/2: {\\"note\\":\\"F#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "95/2 -> 48/1: {\\"note\\":\\"F#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "95/2 -> 523/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "95/2 -> 523/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "95/2 -> 523/11: {\\"note\\":\\"E4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "95/2 -> 523/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "48/1 -> 97/2: {\\"s\\":\\"bd\\"}", + "97/2 -> 49/1: {\\"s\\":\\"bd\\"}", + "97/2 -> 49/1: {\\"s\\":\\"sd\\"}", "193/4 -> 97/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "195/4 -> 49/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "97/2 -> 49/1: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "193/4 -> 195/4: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "48/1 -> 97/2: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "191/4 -> 193/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "195/4 -> 197/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "48/1 -> 97/2: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "195/4 -> 49/1: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "193/4 -> 2125/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "193/4 -> 2125/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "193/4 -> 2125/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "193/4 -> 2125/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "49/1 -> 99/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "99/2 -> 50/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "99/2 -> 50/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "97/2 -> 49/1: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "193/4 -> 195/4: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "48/1 -> 97/2: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "191/4 -> 193/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "195/4 -> 197/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "48/1 -> 97/2: {\\"note\\":\\"C2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "195/4 -> 49/1: {\\"note\\":\\"C2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "193/4 -> 2125/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "193/4 -> 2125/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "193/4 -> 2125/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "193/4 -> 2125/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "49/1 -> 99/2: {\\"s\\":\\"bd\\"}", + "99/2 -> 50/1: {\\"s\\":\\"bd\\"}", + "99/2 -> 50/1: {\\"s\\":\\"sd\\"}", "197/4 -> 99/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "199/4 -> 50/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "99/2 -> 50/1: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "197/4 -> 199/4: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "49/1 -> 99/2: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "195/4 -> 197/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "199/4 -> 201/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "199/4 -> 50/1: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "197/4 -> 2169/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "197/4 -> 2169/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "197/4 -> 2169/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "197/4 -> 2169/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "50/1 -> 101/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "101/2 -> 51/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "101/2 -> 51/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "99/2 -> 50/1: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "197/4 -> 199/4: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "49/1 -> 99/2: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "195/4 -> 197/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "199/4 -> 201/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "199/4 -> 50/1: {\\"note\\":\\"C2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "197/4 -> 2169/44: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "197/4 -> 2169/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "197/4 -> 2169/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "197/4 -> 2169/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "50/1 -> 101/2: {\\"s\\":\\"bd\\"}", + "101/2 -> 51/1: {\\"s\\":\\"bd\\"}", + "101/2 -> 51/1: {\\"s\\":\\"sd\\"}", "201/4 -> 101/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "203/4 -> 51/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "101/2 -> 51/1: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "201/4 -> 203/4: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "50/1 -> 101/2: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "199/4 -> 201/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "203/4 -> 205/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "50/1 -> 101/2: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "203/4 -> 51/1: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "101/2 -> 556/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "101/2 -> 556/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "101/2 -> 556/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "101/2 -> 556/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "51/1 -> 103/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "103/2 -> 52/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "103/2 -> 52/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "101/2 -> 51/1: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "201/4 -> 203/4: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "50/1 -> 101/2: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "199/4 -> 201/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "203/4 -> 205/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "50/1 -> 101/2: {\\"note\\":\\"C2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "203/4 -> 51/1: {\\"note\\":\\"C2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "101/2 -> 556/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "101/2 -> 556/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "101/2 -> 556/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "101/2 -> 556/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "51/1 -> 103/2: {\\"s\\":\\"bd\\"}", + "103/2 -> 52/1: {\\"s\\":\\"bd\\"}", + "103/2 -> 52/1: {\\"s\\":\\"sd\\"}", "205/4 -> 103/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "207/4 -> 52/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "103/2 -> 52/1: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "205/4 -> 207/4: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "51/1 -> 103/2: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "203/4 -> 205/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "207/4 -> 209/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "207/4 -> 52/1: {\\"note\\":\\"C2\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "103/2 -> 567/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "103/2 -> 567/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "103/2 -> 567/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "103/2 -> 567/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "52/1 -> 105/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "105/2 -> 53/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "105/2 -> 53/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "103/2 -> 52/1: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "205/4 -> 207/4: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "51/1 -> 103/2: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "203/4 -> 205/4: {\\"note\\":\\"F5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "207/4 -> 209/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "207/4 -> 52/1: {\\"note\\":\\"C2\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "103/2 -> 567/11: {\\"note\\":\\"A#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "103/2 -> 567/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "103/2 -> 567/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "103/2 -> 567/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "52/1 -> 105/2: {\\"s\\":\\"bd\\"}", + "105/2 -> 53/1: {\\"s\\":\\"bd\\"}", + "105/2 -> 53/1: {\\"s\\":\\"sd\\"}", "209/4 -> 105/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "211/4 -> 53/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "105/2 -> 53/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "209/4 -> 211/4: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "52/1 -> 105/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "207/4 -> 209/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "211/4 -> 213/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "52/1 -> 105/2: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "211/4 -> 53/1: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "209/4 -> 2301/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "209/4 -> 2301/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "209/4 -> 2301/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "209/4 -> 2301/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "53/1 -> 107/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "107/2 -> 54/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "107/2 -> 54/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "105/2 -> 53/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "209/4 -> 211/4: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "52/1 -> 105/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "207/4 -> 209/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "211/4 -> 213/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "52/1 -> 105/2: {\\"note\\":\\"A#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "211/4 -> 53/1: {\\"note\\":\\"A#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "209/4 -> 2301/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "209/4 -> 2301/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "209/4 -> 2301/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "209/4 -> 2301/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "53/1 -> 107/2: {\\"s\\":\\"bd\\"}", + "107/2 -> 54/1: {\\"s\\":\\"bd\\"}", + "107/2 -> 54/1: {\\"s\\":\\"sd\\"}", "213/4 -> 107/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "215/4 -> 54/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "107/2 -> 54/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "213/4 -> 215/4: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "53/1 -> 107/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "211/4 -> 213/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "215/4 -> 217/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "215/4 -> 54/1: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "213/4 -> 2345/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "213/4 -> 2345/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "213/4 -> 2345/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "213/4 -> 2345/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "54/1 -> 109/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "109/2 -> 55/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "109/2 -> 55/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "107/2 -> 54/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "213/4 -> 215/4: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "53/1 -> 107/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "211/4 -> 213/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "215/4 -> 217/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "215/4 -> 54/1: {\\"note\\":\\"A#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "213/4 -> 2345/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "213/4 -> 2345/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "213/4 -> 2345/44: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "213/4 -> 2345/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "54/1 -> 109/2: {\\"s\\":\\"bd\\"}", + "109/2 -> 55/1: {\\"s\\":\\"bd\\"}", + "109/2 -> 55/1: {\\"s\\":\\"sd\\"}", "217/4 -> 109/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "219/4 -> 55/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "109/2 -> 55/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "217/4 -> 219/4: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "54/1 -> 109/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "215/4 -> 217/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "219/4 -> 221/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "54/1 -> 109/2: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "219/4 -> 55/1: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "109/2 -> 600/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "109/2 -> 600/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "109/2 -> 600/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "109/2 -> 600/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "55/1 -> 111/2: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "111/2 -> 56/1: {\\"s\\":\\"bd\\",\\"value\\":\\"x\\"}", - "111/2 -> 447/8: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", - "447/8 -> 56/1: {\\"s\\":\\"x\\",\\"value\\":\\"x\\"}", + "109/2 -> 55/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "217/4 -> 219/4: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "54/1 -> 109/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "215/4 -> 217/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "219/4 -> 221/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "54/1 -> 109/2: {\\"note\\":\\"A#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "219/4 -> 55/1: {\\"note\\":\\"A#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "109/2 -> 600/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "109/2 -> 600/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "109/2 -> 600/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "109/2 -> 600/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "55/1 -> 111/2: {\\"s\\":\\"bd\\"}", + "111/2 -> 56/1: {\\"s\\":\\"bd\\"}", + "111/2 -> 447/8: {\\"s\\":\\"sd\\"}", + "447/8 -> 56/1: {\\"s\\":\\"x\\"}", "221/4 -> 111/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "223/4 -> 56/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "111/2 -> 56/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "221/4 -> 223/4: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "55/1 -> 111/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "219/4 -> 221/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "223/4 -> 225/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "55/1 -> 111/2: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "111/2 -> 56/1: {\\"note\\":\\"A#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "111/2 -> 611/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "111/2 -> 611/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "111/2 -> 611/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "111/2 -> 611/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "113/2 -> 57/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "111/2 -> 56/1: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "221/4 -> 223/4: {\\"note\\":\\"F4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "55/1 -> 111/2: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "219/4 -> 221/4: {\\"note\\":\\"D#5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "223/4 -> 225/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "55/1 -> 111/2: {\\"note\\":\\"A#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "111/2 -> 56/1: {\\"note\\":\\"A#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "111/2 -> 611/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "111/2 -> 611/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "111/2 -> 611/11: {\\"note\\":\\"D4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "111/2 -> 611/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "113/2 -> 57/1: {\\"s\\":\\"sd\\"}", "225/4 -> 113/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "227/4 -> 57/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "113/2 -> 57/1: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "225/4 -> 227/4: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "56/1 -> 113/2: {\\"note\\":\\"C5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "223/4 -> 225/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "227/4 -> 229/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "56/1 -> 113/2: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "227/4 -> 57/1: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "225/4 -> 2477/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "225/4 -> 2477/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "225/4 -> 2477/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "225/4 -> 2477/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "115/2 -> 58/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "113/2 -> 57/1: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "225/4 -> 227/4: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "56/1 -> 113/2: {\\"note\\":\\"C5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "223/4 -> 225/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "227/4 -> 229/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "56/1 -> 113/2: {\\"note\\":\\"G#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "227/4 -> 57/1: {\\"note\\":\\"G#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "225/4 -> 2477/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "225/4 -> 2477/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "225/4 -> 2477/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "225/4 -> 2477/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "115/2 -> 58/1: {\\"s\\":\\"sd\\"}", "229/4 -> 115/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "231/4 -> 58/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "115/2 -> 58/1: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "229/4 -> 231/4: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "57/1 -> 115/2: {\\"note\\":\\"C5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "227/4 -> 229/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "231/4 -> 233/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "231/4 -> 58/1: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "229/4 -> 2521/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "229/4 -> 2521/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "229/4 -> 2521/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "229/4 -> 2521/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "117/2 -> 59/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "115/2 -> 58/1: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "229/4 -> 231/4: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "57/1 -> 115/2: {\\"note\\":\\"C5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "227/4 -> 229/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "231/4 -> 233/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "231/4 -> 58/1: {\\"note\\":\\"G#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "229/4 -> 2521/44: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "229/4 -> 2521/44: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "229/4 -> 2521/44: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "229/4 -> 2521/44: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "117/2 -> 59/1: {\\"s\\":\\"sd\\"}", "233/4 -> 117/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "235/4 -> 59/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "117/2 -> 59/1: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "233/4 -> 235/4: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "58/1 -> 117/2: {\\"note\\":\\"C5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "231/4 -> 233/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "235/4 -> 237/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "58/1 -> 117/2: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "235/4 -> 59/1: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "117/2 -> 644/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "117/2 -> 644/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "117/2 -> 644/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "117/2 -> 644/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "119/2 -> 60/1: {\\"s\\":\\"sd\\",\\"value\\":\\"x\\"}", + "117/2 -> 59/1: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "233/4 -> 235/4: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "58/1 -> 117/2: {\\"note\\":\\"C5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "231/4 -> 233/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "235/4 -> 237/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "58/1 -> 117/2: {\\"note\\":\\"G#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "235/4 -> 59/1: {\\"note\\":\\"G#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "117/2 -> 644/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "117/2 -> 644/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "117/2 -> 644/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "117/2 -> 644/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "119/2 -> 60/1: {\\"s\\":\\"sd\\"}", "237/4 -> 119/2: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", "239/4 -> 60/1: {\\"s\\":\\"hh\\",\\"delay\\":0.3,\\"delayfeedback\\":0.5,\\"delaytime\\":0.125}", - "119/2 -> 60/1: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "237/4 -> 239/4: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "59/1 -> 119/2: {\\"note\\":\\"C5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "235/4 -> 237/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "239/4 -> 241/4: {\\"note\\":\\"C5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "239/4 -> 60/1: {\\"note\\":\\"G#1\\",\\"value\\":\\"x\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", - "119/2 -> 655/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "119/2 -> 655/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "119/2 -> 655/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", - "119/2 -> 655/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8,\\"value\\":\\"x\\"}", + "119/2 -> 60/1: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "237/4 -> 239/4: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "59/1 -> 119/2: {\\"note\\":\\"C5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "235/4 -> 237/4: {\\"note\\":\\"D5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "239/4 -> 241/4: {\\"note\\":\\"C5\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "239/4 -> 60/1: {\\"note\\":\\"G#1\\",\\"s\\":\\"sawtooth\\",\\"attack\\":0.001,\\"decay\\":0.2,\\"sustain\\":1,\\"cutoff\\":500}", + "119/2 -> 655/11: {\\"note\\":\\"G#3\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "119/2 -> 655/11: {\\"note\\":\\"C4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "119/2 -> 655/11: {\\"note\\":\\"D#4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", + "119/2 -> 655/11: {\\"note\\":\\"G4\\",\\"s\\":\\"sawtooth\\",\\"cutoff\\":1200,\\"gain\\":0.5,\\"attack\\":0,\\"decay\\":0.5,\\"sustain\\":0.16,\\"release\\":0.8}", ] `; From 933ef02df06968e67ff4b415838c117816e4cac7 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sun, 25 Sep 2022 16:36:59 +0200 Subject: [PATCH 13/16] really simple reverb --- packages/webaudio/reverb.mjs | 19 +++++++++++++++++++ packages/webaudio/webaudio.mjs | 25 ++++++++++++++++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 packages/webaudio/reverb.mjs diff --git a/packages/webaudio/reverb.mjs b/packages/webaudio/reverb.mjs new file mode 100644 index 00000000..4757932d --- /dev/null +++ b/packages/webaudio/reverb.mjs @@ -0,0 +1,19 @@ +if (typeof AudioContext !== 'undefined') { + AudioContext.prototype.impulseResponse = function (duration) { + const length = this.sampleRate * duration; + const impulse = this.createBuffer(2, length, this.sampleRate); + const IR = impulse.getChannelData(0); + for (let i = 0; i < length; i++) IR[i] = (2 * Math.random() - 1) * Math.pow(1 - i / length, duration); + return impulse; + }; + + AudioContext.prototype.createReverb = function (duration) { + const convolver = this.createConvolver(); + convolver.setDuration = (d) => { + convolver.buffer = this.impulseResponse(d); + }; + this.duration = duration; + convolver.setDuration(duration); + return convolver; + }; +} diff --git a/packages/webaudio/webaudio.mjs b/packages/webaudio/webaudio.mjs index 1412f613..2e7de7be 100644 --- a/packages/webaudio/webaudio.mjs +++ b/packages/webaudio/webaudio.mjs @@ -8,6 +8,7 @@ This program is free software: you can redistribute it and/or modify it under th import * as strudel from '@strudel.cycles/core'; import { fromMidi, toMidi } from '@strudel.cycles/core'; import './feedbackdelay.mjs'; +import './reverb.mjs'; import { loadBuffer, reverseBuffer } from './sampler.mjs'; const { Pattern } = strudel; import './vowel.mjs'; @@ -207,6 +208,20 @@ function getDelay(orbit, delaytime, delayfeedback, t) { return delays[orbit]; } +let reverbs = {}; +function getReverb(orbit, duration = 2) { + if (!reverbs[orbit]) { + const ac = getAudioContext(); + const reverb = ac.createReverb(duration); + reverb.connect(getDestination()); + reverbs[orbit] = reverb; + } + if (reverbs[orbit].duration !== duration) { + reverbs[orbit].setDuration(duration); + } + return reverbs[orbit]; +} + function effectSend(input, effect, wet) { const send = gainNode(wet); input.connect(send); @@ -260,6 +275,8 @@ export const webaudioOutput = async (hap, deadline, hapDuration) => { cut, loop, orbit = 1, + room, + size = 2, } = hap.value; const { velocity = 1 } = hap.context; gain *= velocity; // legacy fix for velocity @@ -386,12 +403,18 @@ export const webaudioOutput = async (hap, deadline, hapDuration) => { const delyNode = getDelay(orbit, delaytime, delayfeedback, t); delaySend = effectSend(post, delyNode, delay); } + // reverb + let reverbSend; + if (room > 0 && size > 0) { + const reverbNode = getReverb(orbit, size); + reverbSend = effectSend(post, reverbNode, room); + } // connect chain elements together chain.slice(1).reduce((last, current) => last.connect(current), chain[0]); // disconnect all nodes when source node has ended: - chain[0].onended = () => chain.concat([delaySend]).forEach((n) => n?.disconnect()); + chain[0].onended = () => chain.concat([delaySend, reverbSend]).forEach((n) => n?.disconnect()); } catch (e) { console.warn('.out error:', e); } From 0e7a0b5754f9426ac4cff7d8704f8e882669dd06 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sun, 25 Sep 2022 16:37:10 +0200 Subject: [PATCH 14/16] more tunes --- repl/src/tunes.mjs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/repl/src/tunes.mjs b/repl/src/tunes.mjs index 5d7dda2c..639fc042 100644 --- a/repl/src/tunes.mjs +++ b/repl/src/tunes.mjs @@ -897,3 +897,33 @@ stack( x? ~ ~ x ~ x@3\`), roots.struct("x [~ x?0.2] x [~ x?] | x!4 | x@2 ~ ~ ~ x x x").transpose("0 7") ).slow(2).pianoroll().note().piano().out();`; + +export const chop = `samples({ p: 'https://cdn.freesound.org/previews/648/648433_11943129-lq.mp3' }) + +s("p") + .loopAt(32,1) + .chop(128) + .jux(rev) + .shape(.4) + .decay(.1) + .sustain(.6) + .out()`; + +export const delay = `stack( + s("bd ") + .delay("<0 .5>") + .delaytime(".16 | .33") + .delayfeedback(".6 | .8") + ).sometimes(x=>x.speed("-1")).out()`; + +export const orbit = `stack( + s("bd ") + .delay(.5) + .delaytime(.33) + .delayfeedback(.6), + s("hh*2") + .delay(.8) + .delaytime(.08) + .delayfeedback(.7) + .orbit(2) + ).sometimes(x=>x.speed("-1")).out()`; From c5342d3eb0ec203383a3c0302c019608e60ad88b Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sun, 25 Sep 2022 16:40:50 +0200 Subject: [PATCH 15/16] snaps --- .../test/__snapshots__/tunes.test.mjs.snap | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/repl/src/test/__snapshots__/tunes.test.mjs.snap b/repl/src/test/__snapshots__/tunes.test.mjs.snap index dba92c73..9092749e 100644 --- a/repl/src/test/__snapshots__/tunes.test.mjs.snap +++ b/repl/src/test/__snapshots__/tunes.test.mjs.snap @@ -1743,6 +1743,19 @@ exports[`renders tunes > tune: caverave 1`] = ` ] `; +exports[`renders tunes > tune: chop 1`] = ` +[ + "0/1 -> 1/4: {\\"s\\":\\"p\\",\\"speed\\":0.03125,\\"unit\\":\\"c\\",\\"begin\\":0,\\"end\\":0.0078125,\\"pan\\":0,\\"shape\\":0.4,\\"decay\\":0.1,\\"sustain\\":0.6}", + "1/4 -> 1/2: {\\"s\\":\\"p\\",\\"speed\\":0.03125,\\"unit\\":\\"c\\",\\"begin\\":0.0078125,\\"end\\":0.015625,\\"pan\\":0,\\"shape\\":0.4,\\"decay\\":0.1,\\"sustain\\":0.6}", + "1/2 -> 3/4: {\\"s\\":\\"p\\",\\"speed\\":0.03125,\\"unit\\":\\"c\\",\\"begin\\":0.015625,\\"end\\":0.0234375,\\"pan\\":0,\\"shape\\":0.4,\\"decay\\":0.1,\\"sustain\\":0.6}", + "3/4 -> 1/1: {\\"s\\":\\"p\\",\\"speed\\":0.03125,\\"unit\\":\\"c\\",\\"begin\\":0.0234375,\\"end\\":0.03125,\\"pan\\":0,\\"shape\\":0.4,\\"decay\\":0.1,\\"sustain\\":0.6}", + "3/4 -> 1/1: {\\"s\\":\\"p\\",\\"speed\\":0.03125,\\"unit\\":\\"c\\",\\"begin\\":0,\\"end\\":0.0078125,\\"pan\\":1,\\"shape\\":0.4,\\"decay\\":0.1,\\"sustain\\":0.6}", + "1/2 -> 3/4: {\\"s\\":\\"p\\",\\"speed\\":0.03125,\\"unit\\":\\"c\\",\\"begin\\":0.0078125,\\"end\\":0.015625,\\"pan\\":1,\\"shape\\":0.4,\\"decay\\":0.1,\\"sustain\\":0.6}", + "1/4 -> 1/2: {\\"s\\":\\"p\\",\\"speed\\":0.03125,\\"unit\\":\\"c\\",\\"begin\\":0.015625,\\"end\\":0.0234375,\\"pan\\":1,\\"shape\\":0.4,\\"decay\\":0.1,\\"sustain\\":0.6}", + "0/1 -> 1/4: {\\"s\\":\\"p\\",\\"speed\\":0.03125,\\"unit\\":\\"c\\",\\"begin\\":0.0234375,\\"end\\":0.03125,\\"pan\\":1,\\"shape\\":0.4,\\"decay\\":0.1,\\"sustain\\":0.6}", +] +`; + exports[`renders tunes > tune: customTrigger 1`] = ` [ "0/1 -> 1/8: {\\"freq\\":55.33,\\"s\\":\\"sawtooth\\"}", @@ -1771,6 +1784,13 @@ exports[`renders tunes > tune: customTrigger 1`] = ` ] `; +exports[`renders tunes > tune: delay 1`] = ` +[ + "0/1 -> 1/2: {\\"s\\":\\"bd\\",\\"delay\\":0,\\"delaytime\\":0.16,\\"delayfeedback\\":0.8,\\"speed\\":-1}", + "1/2 -> 1/1: {\\"s\\":\\"sd\\",\\"delay\\":0,\\"delaytime\\":0.16,\\"delayfeedback\\":0.8,\\"speed\\":-1}", +] +`; + exports[`renders tunes > tune: echoPiano 1`] = ` [ "0/1 -> 1/2: {\\"note\\":\\"D3\\",\\"clip\\":1,\\"s\\":\\"piano\\",\\"release\\":0.1,\\"pan\\":0.4814814814814815}", @@ -13380,6 +13400,15 @@ exports[`renders tunes > tune: meltingsubmarine 1`] = ` ] `; +exports[`renders tunes > tune: orbit 1`] = ` +[ + "0/1 -> 1/2: {\\"s\\":\\"bd\\",\\"delay\\":0.5,\\"delaytime\\":0.33,\\"delayfeedback\\":0.6,\\"speed\\":-1}", + "1/2 -> 1/1: {\\"s\\":\\"sd\\",\\"delay\\":0.5,\\"delaytime\\":0.33,\\"delayfeedback\\":0.6,\\"speed\\":-1}", + "0/1 -> 1/2: {\\"s\\":\\"hh\\",\\"delay\\":0.8,\\"delaytime\\":0.08,\\"delayfeedback\\":0.7,\\"orbit\\":2,\\"speed\\":-1}", + "1/2 -> 1/1: {\\"s\\":\\"hh\\",\\"delay\\":0.8,\\"delaytime\\":0.08,\\"delayfeedback\\":0.7,\\"orbit\\":2,\\"speed\\":-1}", +] +`; + exports[`renders tunes > tune: outroMusic 1`] = ` [ "0/1 -> 3/1: {\\"n\\":\\"B3\\",\\"s\\":\\"0040_FluidR3_GM_sf2_file\\",\\"attack\\":0.05,\\"decay\\":0.1,\\"sustain\\":0.7,\\"cutoff\\":1111.7252990603447,\\"gain\\":0.3}", From 5018669ded708387e3f4787971ee18f33b09f3e5 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sun, 25 Sep 2022 20:08:02 +0200 Subject: [PATCH 16/16] roomsize --- packages/core/controls.mjs | 5 +++++ packages/webaudio/reverb.mjs | 3 ++- packages/webaudio/webaudio.mjs | 8 +++++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/core/controls.mjs b/packages/core/controls.mjs index c5c19644..6e34c3d0 100644 --- a/packages/core/controls.mjs +++ b/packages/core/controls.mjs @@ -581,6 +581,11 @@ const generic_params = [ 'size', 'a pattern of numbers from 0 to 1. Sets the perceptual size (reverb time) of the `room` to be used in reverb.', ], + [ + 'f', + 'roomsize', + 'a pattern of numbers from 0 to 1. Sets the perceptual size (reverb time) of the `room` to be used in reverb.', + ], // ['f', 'sagogo', ''], // ['f', 'sclap', ''], // ['f', 'sclaves', ''], diff --git a/packages/webaudio/reverb.mjs b/packages/webaudio/reverb.mjs index 4757932d..10e6dcd1 100644 --- a/packages/webaudio/reverb.mjs +++ b/packages/webaudio/reverb.mjs @@ -11,8 +11,9 @@ if (typeof AudioContext !== 'undefined') { const convolver = this.createConvolver(); convolver.setDuration = (d) => { convolver.buffer = this.impulseResponse(d); + convolver.duration = duration; + return convolver; }; - this.duration = duration; convolver.setDuration(duration); return convolver; }; diff --git a/packages/webaudio/webaudio.mjs b/packages/webaudio/webaudio.mjs index 2e7de7be..41c6f748 100644 --- a/packages/webaudio/webaudio.mjs +++ b/packages/webaudio/webaudio.mjs @@ -217,7 +217,8 @@ function getReverb(orbit, duration = 2) { reverbs[orbit] = reverb; } if (reverbs[orbit].duration !== duration) { - reverbs[orbit].setDuration(duration); + reverbs[orbit] = reverbs[orbit].setDuration(duration); + reverbs[orbit].duration = duration; } return reverbs[orbit]; } @@ -277,6 +278,7 @@ export const webaudioOutput = async (hap, deadline, hapDuration) => { orbit = 1, room, size = 2, + roomsize = size, } = hap.value; const { velocity = 1 } = hap.context; gain *= velocity; // legacy fix for velocity @@ -405,8 +407,8 @@ export const webaudioOutput = async (hap, deadline, hapDuration) => { } // reverb let reverbSend; - if (room > 0 && size > 0) { - const reverbNode = getReverb(orbit, size); + if (room > 0 && roomsize > 0) { + const reverbNode = getReverb(orbit, roomsize); reverbSend = effectSend(post, reverbNode, room); }