From 018d1ccd3112b9040d0efd9c2c06a2e110e9c31f Mon Sep 17 00:00:00 2001 From: Alex McLean Date: Sun, 2 Feb 2025 23:55:36 +0000 Subject: [PATCH] Stepwise documentation tweaks, with mridangam samples (#1275) * add mridangam sample bank * stepwise documentation tweaks --- packages/core/pattern.mjs | 65 +- packages/repl/prebake.mjs | 1 + test/__snapshots__/examples.test.mjs.snap | 797 +++++++++++++--------- website/public/mridangam.json | 160 +++++ website/src/pages/learn/stepwise.mdx | 2 - website/src/repl/prebake.mjs | 1 + 6 files changed, 695 insertions(+), 331 deletions(-) create mode 100644 website/public/mridangam.json diff --git a/packages/core/pattern.mjs b/packages/core/pattern.mjs index 7bb6a0c7..6bfe39ce 100644 --- a/packages/core/pattern.mjs +++ b/packages/core/pattern.mjs @@ -2822,17 +2822,13 @@ export const take = stepRegister('take', function (i, pat) { * A positive number will drop steps from the start of a pattern, and a negative number from the end. * @return {Pattern} * @example - * "bd cp ht mt".drop("1").sound() - * // The same as "cp ht mt".sound() + * "tha dhi thom nam".drop("1").sound().bank("mridangam") * @example - * "bd cp ht mt".drop("-1").sound() - * // The same as "bd cp ht".sound() + * "tha dhi thom nam".drop("-1").sound().bank("mridangam") * @example - * "bd cp ht mt".drop("1 2 3").sound() - * // The same as "cp ht mt ht mt mt".sound() + * "tha dhi thom nam".drop("0 1 2 3").sound().bank("mridangam") * @example - * "bd cp ht mt".drop("-1 -2 -3").sound() - * // The same as "bd cp ht bd cp bd".sound() + * "tha dhi thom nam".drop("0 -1 -2 -3").sound().bank("mridangam") */ export const drop = stepRegister('drop', function (i, pat) { if (!pat.hasSteps) { @@ -2846,14 +2842,40 @@ export const drop = stepRegister('drop', function (i, pat) { return pat.take(Fraction(0).sub(pat._steps.sub(i))); }); +/** + * *Experimental* + * + * `repeat` is similar to `fast` in that it 'speeds up' the pattern, but it also increases the step count + * accordingly. So `stepcat("a b".repeat(2), "c d")` would be the same as `"a b a b c d"`, whereas + * `stepcat("a b".fast(2), "c d")` would be the same as `"[a b] [a b] c d"`. + * @example + * stepcat( + * sound("bd bd - cp").repeat(2), + * sound("bd - sd -") + * ).pace(8) + */ export const repeat = stepRegister('repeat', function (factor, pat) { return pat.fast(factor).expand(factor); }); +/** + * *Experimental* + * + * Expands the step size of the pattern by the given factor. + * @example + * sound("tha dhi thom nam").bank("mridangam").expand("3 2 1 1 2 3").pace(8) + */ export const expand = stepRegister('expand', function (factor, pat) { return pat.withSteps((t) => t.mul(Fraction(factor))); }); +/** + * *Experimental* + * + * Contracts the step size of the pattern by the given factor. See also `expand`. + * @example + * sound("tha dhi thom nam").bank("mridangam").contract("3 2 1 1 2 3").pace(8) + */ export const contract = stepRegister('contract', function (factor, pat) { return pat.withSteps((t) => t.div(Fraction(factor))); }); @@ -2907,13 +2929,17 @@ export const shrinklist = (amount, pat) => pat.shrinklist(amount); * A positive number will progressively drop steps from the start of a pattern, and a negative number from the end. * @return {Pattern} * @example - * "bd cp ht mt".shrink("1").sound() - * // The same as "bd cp ht mt".drop("0 1 2 3").sound() + * "tha dhi thom nam".shrink("1").sound() + * .bank("mridangam") * @example - * "bd cp ht mt".shrink("-1").sound() - * // The same as "bd cp ht mt".drop("0 -1 -2 -3").sound() + * "tha dhi thom nam".shrink("-1").sound() + * .bank("mridangam") * @example - * "bd cp ht mt".grow("1 -1").sound() + * "tha dhi thom nam".shrink("1 -1").sound().bank("mridangam").pace(4) + * @example + * note("0 1 2 3 4 5 6 7".scale("C:ritusen")).sound("folkharp") + .shrink("1 -1").pace(8) + */ export const shrink = register( @@ -2942,11 +2968,16 @@ export const shrink = register( * A positive number will progressively grow steps from the start of a pattern, and a negative number from the end. * @return {Pattern} * @example - * "bd cp ht mt".grow("1").sound() - * // The same as "bd cp ht mt".take("1 2 3 4") + * "tha dhi thom nam".grow("1").sound() + * .bank("mridangam") * @example - * "bd cp ht mt".grow("-1").sound() - * // The same as "bd cp ht mt".take("-1 -2 -3 -4") + * "tha dhi thom nam".grow("-1").sound() + * .bank("mridangam") + * @example + * "tha dhi thom nam".grow("1 -1").sound().bank("mridangam").pace(4) + * @example + * note("0 1 2 3 4 5 6 7".scale("C:ritusen")).sound("folkharp") + .grow("1 -1").pace(8) */ export const grow = register( diff --git a/packages/repl/prebake.mjs b/packages/repl/prebake.mjs index 9642cdd6..dd0023fb 100644 --- a/packages/repl/prebake.mjs +++ b/packages/repl/prebake.mjs @@ -38,6 +38,7 @@ export async function prebake() { samples(`${ds}/Dirt-Samples.json`), samples(`${ds}/EmuSP12.json`), samples(`${ds}/vcsl.json`), + samples(`${ds}/mridangam.json`), ]); aliasBank(`${ts}/tidal-drum-machines-alias.json`); diff --git a/test/__snapshots__/examples.test.mjs.snap b/test/__snapshots__/examples.test.mjs.snap index 3cd86382..3678968b 100644 --- a/test/__snapshots__/examples.test.mjs.snap +++ b/test/__snapshots__/examples.test.mjs.snap @@ -1881,6 +1881,66 @@ exports[`runs examples > example "compressor" example index 0 1`] = ` ] `; +exports[`runs examples > example "contract" example index 0 1`] = ` +[ + "[ 0/1 → 1/24 | s:tha bank:mridangam ]", + "[ 1/24 → 1/12 | s:dhi bank:mridangam ]", + "[ 1/12 → 1/8 | s:thom bank:mridangam ]", + "[ 1/8 → 1/6 | s:nam bank:mridangam ]", + "[ 1/6 → 11/48 | s:tha bank:mridangam ]", + "[ 11/48 → 7/24 | s:dhi bank:mridangam ]", + "[ 7/24 → 17/48 | s:thom bank:mridangam ]", + "[ 17/48 → 5/12 | s:nam bank:mridangam ]", + "[ 5/12 → 13/24 | s:tha bank:mridangam ]", + "[ 13/24 → 2/3 | s:dhi bank:mridangam ]", + "[ 2/3 → 19/24 | s:thom bank:mridangam ]", + "[ 19/24 → 11/12 | s:nam bank:mridangam ]", + "[ 11/12 → 25/24 | s:tha bank:mridangam ]", + "[ 25/24 → 7/6 | s:dhi bank:mridangam ]", + "[ 7/6 → 31/24 | s:thom bank:mridangam ]", + "[ 31/24 → 17/12 | s:nam bank:mridangam ]", + "[ 17/12 → 71/48 | s:tha bank:mridangam ]", + "[ 71/48 → 37/24 | s:dhi bank:mridangam ]", + "[ 37/24 → 77/48 | s:thom bank:mridangam ]", + "[ 77/48 → 5/3 | s:nam bank:mridangam ]", + "[ 5/3 → 41/24 | s:tha bank:mridangam ]", + "[ 41/24 → 7/4 | s:dhi bank:mridangam ]", + "[ 7/4 → 43/24 | s:thom bank:mridangam ]", + "[ 43/24 → 11/6 | s:nam bank:mridangam ]", + "[ 11/6 → 15/8 | s:tha bank:mridangam ]", + "[ 15/8 → 23/12 | s:dhi bank:mridangam ]", + "[ 23/12 → 47/24 | s:thom bank:mridangam ]", + "[ 47/24 → 2/1 | s:nam bank:mridangam ]", + "[ 2/1 → 33/16 | s:tha bank:mridangam ]", + "[ 33/16 → 17/8 | s:dhi bank:mridangam ]", + "[ 17/8 → 35/16 | s:thom bank:mridangam ]", + "[ 35/16 → 9/4 | s:nam bank:mridangam ]", + "[ 9/4 → 19/8 | s:tha bank:mridangam ]", + "[ 19/8 → 5/2 | s:dhi bank:mridangam ]", + "[ 5/2 → 21/8 | s:thom bank:mridangam ]", + "[ 21/8 → 11/4 | s:nam bank:mridangam ]", + "[ 11/4 → 23/8 | s:tha bank:mridangam ]", + "[ 23/8 → 3/1 | s:dhi bank:mridangam ]", + "[ 3/1 → 25/8 | s:thom bank:mridangam ]", + "[ 25/8 → 13/4 | s:nam bank:mridangam ]", + "[ 13/4 → 53/16 | s:tha bank:mridangam ]", + "[ 53/16 → 27/8 | s:dhi bank:mridangam ]", + "[ 27/8 → 55/16 | s:thom bank:mridangam ]", + "[ 55/16 → 7/2 | s:nam bank:mridangam ]", + "[ 7/2 → 85/24 | s:tha bank:mridangam ]", + "[ 85/24 → 43/12 | s:dhi bank:mridangam ]", + "[ 43/12 → 29/8 | s:thom bank:mridangam ]", + "[ 29/8 → 11/3 | s:nam bank:mridangam ]", + "[ 11/3 → 89/24 | s:tha bank:mridangam ]", + "[ 89/24 → 15/4 | s:dhi bank:mridangam ]", + "[ 15/4 → 91/24 | s:thom bank:mridangam ]", + "[ 91/24 → 23/6 | s:nam bank:mridangam ]", + "[ 23/6 → 187/48 | s:tha bank:mridangam ]", + "[ 187/48 → 95/24 | s:dhi bank:mridangam ]", + "[ (95/24 → 4/1) ⇝ 193/48 | s:thom bank:mridangam ]", +] +`; + exports[`runs examples > example "cosine" example index 0 1`] = ` [ "[ 0/1 → 1/16 | note:Eb4 ]", @@ -2523,93 +2583,125 @@ exports[`runs examples > example "drive" example index 0 1`] = ` exports[`runs examples > example "drop" example index 0 1`] = ` [ - "[ 0/1 → 1/3 | s:cp ]", - "[ 1/3 → 2/3 | s:ht ]", - "[ 2/3 → 1/1 | s:mt ]", - "[ 1/1 → 4/3 | s:cp ]", - "[ 4/3 → 5/3 | s:ht ]", - "[ 5/3 → 2/1 | s:mt ]", - "[ 2/1 → 7/3 | s:cp ]", - "[ 7/3 → 8/3 | s:ht ]", - "[ 8/3 → 3/1 | s:mt ]", - "[ 3/1 → 10/3 | s:cp ]", - "[ 10/3 → 11/3 | s:ht ]", - "[ 11/3 → 4/1 | s:mt ]", + "[ 0/1 → 1/3 | s:dhi bank:mridangam ]", + "[ 1/3 → 2/3 | s:thom bank:mridangam ]", + "[ 2/3 → 1/1 | s:nam bank:mridangam ]", + "[ 1/1 → 4/3 | s:dhi bank:mridangam ]", + "[ 4/3 → 5/3 | s:thom bank:mridangam ]", + "[ 5/3 → 2/1 | s:nam bank:mridangam ]", + "[ 2/1 → 7/3 | s:dhi bank:mridangam ]", + "[ 7/3 → 8/3 | s:thom bank:mridangam ]", + "[ 8/3 → 3/1 | s:nam bank:mridangam ]", + "[ 3/1 → 10/3 | s:dhi bank:mridangam ]", + "[ 10/3 → 11/3 | s:thom bank:mridangam ]", + "[ 11/3 → 4/1 | s:nam bank:mridangam ]", ] `; exports[`runs examples > example "drop" example index 1 1`] = ` [ - "[ 0/1 → 1/3 | s:bd ]", - "[ 1/3 → 2/3 | s:cp ]", - "[ 2/3 → 1/1 | s:ht ]", - "[ 1/1 → 4/3 | s:bd ]", - "[ 4/3 → 5/3 | s:cp ]", - "[ 5/3 → 2/1 | s:ht ]", - "[ 2/1 → 7/3 | s:bd ]", - "[ 7/3 → 8/3 | s:cp ]", - "[ 8/3 → 3/1 | s:ht ]", - "[ 3/1 → 10/3 | s:bd ]", - "[ 10/3 → 11/3 | s:cp ]", - "[ 11/3 → 4/1 | s:ht ]", + "[ 0/1 → 1/3 | s:tha bank:mridangam ]", + "[ 1/3 → 2/3 | s:dhi bank:mridangam ]", + "[ 2/3 → 1/1 | s:thom bank:mridangam ]", + "[ 1/1 → 4/3 | s:tha bank:mridangam ]", + "[ 4/3 → 5/3 | s:dhi bank:mridangam ]", + "[ 5/3 → 2/1 | s:thom bank:mridangam ]", + "[ 2/1 → 7/3 | s:tha bank:mridangam ]", + "[ 7/3 → 8/3 | s:dhi bank:mridangam ]", + "[ 8/3 → 3/1 | s:thom bank:mridangam ]", + "[ 3/1 → 10/3 | s:tha bank:mridangam ]", + "[ 10/3 → 11/3 | s:dhi bank:mridangam ]", + "[ 11/3 → 4/1 | s:thom bank:mridangam ]", ] `; exports[`runs examples > example "drop" example index 2 1`] = ` [ - "[ 0/1 → 1/6 | s:cp ]", - "[ 1/6 → 1/3 | s:ht ]", - "[ 1/3 → 1/2 | s:mt ]", - "[ 1/2 → 2/3 | s:ht ]", - "[ 2/3 → 5/6 | s:mt ]", - "[ 5/6 → 1/1 | s:mt ]", - "[ 1/1 → 7/6 | s:cp ]", - "[ 7/6 → 4/3 | s:ht ]", - "[ 4/3 → 3/2 | s:mt ]", - "[ 3/2 → 5/3 | s:ht ]", - "[ 5/3 → 11/6 | s:mt ]", - "[ 11/6 → 2/1 | s:mt ]", - "[ 2/1 → 13/6 | s:cp ]", - "[ 13/6 → 7/3 | s:ht ]", - "[ 7/3 → 5/2 | s:mt ]", - "[ 5/2 → 8/3 | s:ht ]", - "[ 8/3 → 17/6 | s:mt ]", - "[ 17/6 → 3/1 | s:mt ]", - "[ 3/1 → 19/6 | s:cp ]", - "[ 19/6 → 10/3 | s:ht ]", - "[ 10/3 → 7/2 | s:mt ]", - "[ 7/2 → 11/3 | s:ht ]", - "[ 11/3 → 23/6 | s:mt ]", - "[ 23/6 → 4/1 | s:mt ]", + "[ 0/1 → 1/10 | s:tha bank:mridangam ]", + "[ 1/10 → 1/5 | s:dhi bank:mridangam ]", + "[ 1/5 → 3/10 | s:thom bank:mridangam ]", + "[ 3/10 → 2/5 | s:nam bank:mridangam ]", + "[ 2/5 → 1/2 | s:dhi bank:mridangam ]", + "[ 1/2 → 3/5 | s:thom bank:mridangam ]", + "[ 3/5 → 7/10 | s:nam bank:mridangam ]", + "[ 7/10 → 4/5 | s:thom bank:mridangam ]", + "[ 4/5 → 9/10 | s:nam bank:mridangam ]", + "[ 9/10 → 1/1 | s:nam bank:mridangam ]", + "[ 1/1 → 11/10 | s:tha bank:mridangam ]", + "[ 11/10 → 6/5 | s:dhi bank:mridangam ]", + "[ 6/5 → 13/10 | s:thom bank:mridangam ]", + "[ 13/10 → 7/5 | s:nam bank:mridangam ]", + "[ 7/5 → 3/2 | s:dhi bank:mridangam ]", + "[ 3/2 → 8/5 | s:thom bank:mridangam ]", + "[ 8/5 → 17/10 | s:nam bank:mridangam ]", + "[ 17/10 → 9/5 | s:thom bank:mridangam ]", + "[ 9/5 → 19/10 | s:nam bank:mridangam ]", + "[ 19/10 → 2/1 | s:nam bank:mridangam ]", + "[ 2/1 → 21/10 | s:tha bank:mridangam ]", + "[ 21/10 → 11/5 | s:dhi bank:mridangam ]", + "[ 11/5 → 23/10 | s:thom bank:mridangam ]", + "[ 23/10 → 12/5 | s:nam bank:mridangam ]", + "[ 12/5 → 5/2 | s:dhi bank:mridangam ]", + "[ 5/2 → 13/5 | s:thom bank:mridangam ]", + "[ 13/5 → 27/10 | s:nam bank:mridangam ]", + "[ 27/10 → 14/5 | s:thom bank:mridangam ]", + "[ 14/5 → 29/10 | s:nam bank:mridangam ]", + "[ 29/10 → 3/1 | s:nam bank:mridangam ]", + "[ 3/1 → 31/10 | s:tha bank:mridangam ]", + "[ 31/10 → 16/5 | s:dhi bank:mridangam ]", + "[ 16/5 → 33/10 | s:thom bank:mridangam ]", + "[ 33/10 → 17/5 | s:nam bank:mridangam ]", + "[ 17/5 → 7/2 | s:dhi bank:mridangam ]", + "[ 7/2 → 18/5 | s:thom bank:mridangam ]", + "[ 18/5 → 37/10 | s:nam bank:mridangam ]", + "[ 37/10 → 19/5 | s:thom bank:mridangam ]", + "[ 19/5 → 39/10 | s:nam bank:mridangam ]", + "[ 39/10 → 4/1 | s:nam bank:mridangam ]", ] `; exports[`runs examples > example "drop" example index 3 1`] = ` [ - "[ 0/1 → 1/6 | s:bd ]", - "[ 1/6 → 1/3 | s:cp ]", - "[ 1/3 → 1/2 | s:ht ]", - "[ 1/2 → 2/3 | s:bd ]", - "[ 2/3 → 5/6 | s:cp ]", - "[ 5/6 → 1/1 | s:bd ]", - "[ 1/1 → 7/6 | s:bd ]", - "[ 7/6 → 4/3 | s:cp ]", - "[ 4/3 → 3/2 | s:ht ]", - "[ 3/2 → 5/3 | s:bd ]", - "[ 5/3 → 11/6 | s:cp ]", - "[ 11/6 → 2/1 | s:bd ]", - "[ 2/1 → 13/6 | s:bd ]", - "[ 13/6 → 7/3 | s:cp ]", - "[ 7/3 → 5/2 | s:ht ]", - "[ 5/2 → 8/3 | s:bd ]", - "[ 8/3 → 17/6 | s:cp ]", - "[ 17/6 → 3/1 | s:bd ]", - "[ 3/1 → 19/6 | s:bd ]", - "[ 19/6 → 10/3 | s:cp ]", - "[ 10/3 → 7/2 | s:ht ]", - "[ 7/2 → 11/3 | s:bd ]", - "[ 11/3 → 23/6 | s:cp ]", - "[ 23/6 → 4/1 | s:bd ]", + "[ 0/1 → 1/10 | s:tha bank:mridangam ]", + "[ 1/10 → 1/5 | s:dhi bank:mridangam ]", + "[ 1/5 → 3/10 | s:thom bank:mridangam ]", + "[ 3/10 → 2/5 | s:nam bank:mridangam ]", + "[ 2/5 → 1/2 | s:tha bank:mridangam ]", + "[ 1/2 → 3/5 | s:dhi bank:mridangam ]", + "[ 3/5 → 7/10 | s:thom bank:mridangam ]", + "[ 7/10 → 4/5 | s:tha bank:mridangam ]", + "[ 4/5 → 9/10 | s:dhi bank:mridangam ]", + "[ 9/10 → 1/1 | s:tha bank:mridangam ]", + "[ 1/1 → 11/10 | s:tha bank:mridangam ]", + "[ 11/10 → 6/5 | s:dhi bank:mridangam ]", + "[ 6/5 → 13/10 | s:thom bank:mridangam ]", + "[ 13/10 → 7/5 | s:nam bank:mridangam ]", + "[ 7/5 → 3/2 | s:tha bank:mridangam ]", + "[ 3/2 → 8/5 | s:dhi bank:mridangam ]", + "[ 8/5 → 17/10 | s:thom bank:mridangam ]", + "[ 17/10 → 9/5 | s:tha bank:mridangam ]", + "[ 9/5 → 19/10 | s:dhi bank:mridangam ]", + "[ 19/10 → 2/1 | s:tha bank:mridangam ]", + "[ 2/1 → 21/10 | s:tha bank:mridangam ]", + "[ 21/10 → 11/5 | s:dhi bank:mridangam ]", + "[ 11/5 → 23/10 | s:thom bank:mridangam ]", + "[ 23/10 → 12/5 | s:nam bank:mridangam ]", + "[ 12/5 → 5/2 | s:tha bank:mridangam ]", + "[ 5/2 → 13/5 | s:dhi bank:mridangam ]", + "[ 13/5 → 27/10 | s:thom bank:mridangam ]", + "[ 27/10 → 14/5 | s:tha bank:mridangam ]", + "[ 14/5 → 29/10 | s:dhi bank:mridangam ]", + "[ 29/10 → 3/1 | s:tha bank:mridangam ]", + "[ 3/1 → 31/10 | s:tha bank:mridangam ]", + "[ 31/10 → 16/5 | s:dhi bank:mridangam ]", + "[ 16/5 → 33/10 | s:thom bank:mridangam ]", + "[ 33/10 → 17/5 | s:nam bank:mridangam ]", + "[ 17/5 → 7/2 | s:tha bank:mridangam ]", + "[ 7/2 → 18/5 | s:dhi bank:mridangam ]", + "[ 18/5 → 37/10 | s:thom bank:mridangam ]", + "[ 37/10 → 19/5 | s:tha bank:mridangam ]", + "[ 19/5 → 39/10 | s:dhi bank:mridangam ]", + "[ 39/10 → 4/1 | s:tha bank:mridangam ]", ] `; @@ -2909,6 +3001,29 @@ exports[`runs examples > example "every" example index 0 1`] = ` ] `; +exports[`runs examples > example "expand" example index 0 1`] = ` +[ + "[ 0/1 → 3/8 | s:tha bank:mridangam ]", + "[ 3/8 → 3/4 | s:dhi bank:mridangam ]", + "[ 3/4 → 9/8 | s:thom bank:mridangam ]", + "[ 9/8 → 3/2 | s:nam bank:mridangam ]", + "[ 3/2 → 7/4 | s:tha bank:mridangam ]", + "[ 7/4 → 2/1 | s:dhi bank:mridangam ]", + "[ 2/1 → 9/4 | s:thom bank:mridangam ]", + "[ 9/4 → 5/2 | s:nam bank:mridangam ]", + "[ 5/2 → 21/8 | s:tha bank:mridangam ]", + "[ 21/8 → 11/4 | s:dhi bank:mridangam ]", + "[ 11/4 → 23/8 | s:thom bank:mridangam ]", + "[ 23/8 → 3/1 | s:nam bank:mridangam ]", + "[ 3/1 → 25/8 | s:tha bank:mridangam ]", + "[ 25/8 → 13/4 | s:dhi bank:mridangam ]", + "[ 13/4 → 27/8 | s:thom bank:mridangam ]", + "[ 27/8 → 7/2 | s:nam bank:mridangam ]", + "[ 7/2 → 15/4 | s:tha bank:mridangam ]", + "[ 15/4 → 4/1 | s:dhi bank:mridangam ]", +] +`; + exports[`runs examples > example "fanchor" example index 0 1`] = ` [ "[ 0/1 → 1/8 | note:f s:sawtooth cutoff:1000 lpenv:8 fanchor:0 ]", @@ -3536,91 +3651,149 @@ exports[`runs examples > example "gap" example index 0 1`] = `[]`; exports[`runs examples > example "grow" example index 0 1`] = ` [ - "[ 0/1 → 1/10 | s:bd ]", - "[ 1/10 → 1/5 | s:bd ]", - "[ 1/5 → 3/10 | s:cp ]", - "[ 3/10 → 2/5 | s:bd ]", - "[ 2/5 → 1/2 | s:cp ]", - "[ 1/2 → 3/5 | s:ht ]", - "[ 3/5 → 7/10 | s:bd ]", - "[ 7/10 → 4/5 | s:cp ]", - "[ 4/5 → 9/10 | s:ht ]", - "[ 9/10 → 1/1 | s:mt ]", - "[ 1/1 → 11/10 | s:bd ]", - "[ 11/10 → 6/5 | s:bd ]", - "[ 6/5 → 13/10 | s:cp ]", - "[ 13/10 → 7/5 | s:bd ]", - "[ 7/5 → 3/2 | s:cp ]", - "[ 3/2 → 8/5 | s:ht ]", - "[ 8/5 → 17/10 | s:bd ]", - "[ 17/10 → 9/5 | s:cp ]", - "[ 9/5 → 19/10 | s:ht ]", - "[ 19/10 → 2/1 | s:mt ]", - "[ 2/1 → 21/10 | s:bd ]", - "[ 21/10 → 11/5 | s:bd ]", - "[ 11/5 → 23/10 | s:cp ]", - "[ 23/10 → 12/5 | s:bd ]", - "[ 12/5 → 5/2 | s:cp ]", - "[ 5/2 → 13/5 | s:ht ]", - "[ 13/5 → 27/10 | s:bd ]", - "[ 27/10 → 14/5 | s:cp ]", - "[ 14/5 → 29/10 | s:ht ]", - "[ 29/10 → 3/1 | s:mt ]", - "[ 3/1 → 31/10 | s:bd ]", - "[ 31/10 → 16/5 | s:bd ]", - "[ 16/5 → 33/10 | s:cp ]", - "[ 33/10 → 17/5 | s:bd ]", - "[ 17/5 → 7/2 | s:cp ]", - "[ 7/2 → 18/5 | s:ht ]", - "[ 18/5 → 37/10 | s:bd ]", - "[ 37/10 → 19/5 | s:cp ]", - "[ 19/5 → 39/10 | s:ht ]", - "[ 39/10 → 4/1 | s:mt ]", + "[ 0/1 → 1/10 | s:tha bank:mridangam ]", + "[ 1/10 → 1/5 | s:tha bank:mridangam ]", + "[ 1/5 → 3/10 | s:dhi bank:mridangam ]", + "[ 3/10 → 2/5 | s:tha bank:mridangam ]", + "[ 2/5 → 1/2 | s:dhi bank:mridangam ]", + "[ 1/2 → 3/5 | s:thom bank:mridangam ]", + "[ 3/5 → 7/10 | s:tha bank:mridangam ]", + "[ 7/10 → 4/5 | s:dhi bank:mridangam ]", + "[ 4/5 → 9/10 | s:thom bank:mridangam ]", + "[ 9/10 → 1/1 | s:nam bank:mridangam ]", + "[ 1/1 → 11/10 | s:tha bank:mridangam ]", + "[ 11/10 → 6/5 | s:tha bank:mridangam ]", + "[ 6/5 → 13/10 | s:dhi bank:mridangam ]", + "[ 13/10 → 7/5 | s:tha bank:mridangam ]", + "[ 7/5 → 3/2 | s:dhi bank:mridangam ]", + "[ 3/2 → 8/5 | s:thom bank:mridangam ]", + "[ 8/5 → 17/10 | s:tha bank:mridangam ]", + "[ 17/10 → 9/5 | s:dhi bank:mridangam ]", + "[ 9/5 → 19/10 | s:thom bank:mridangam ]", + "[ 19/10 → 2/1 | s:nam bank:mridangam ]", + "[ 2/1 → 21/10 | s:tha bank:mridangam ]", + "[ 21/10 → 11/5 | s:tha bank:mridangam ]", + "[ 11/5 → 23/10 | s:dhi bank:mridangam ]", + "[ 23/10 → 12/5 | s:tha bank:mridangam ]", + "[ 12/5 → 5/2 | s:dhi bank:mridangam ]", + "[ 5/2 → 13/5 | s:thom bank:mridangam ]", + "[ 13/5 → 27/10 | s:tha bank:mridangam ]", + "[ 27/10 → 14/5 | s:dhi bank:mridangam ]", + "[ 14/5 → 29/10 | s:thom bank:mridangam ]", + "[ 29/10 → 3/1 | s:nam bank:mridangam ]", + "[ 3/1 → 31/10 | s:tha bank:mridangam ]", + "[ 31/10 → 16/5 | s:tha bank:mridangam ]", + "[ 16/5 → 33/10 | s:dhi bank:mridangam ]", + "[ 33/10 → 17/5 | s:tha bank:mridangam ]", + "[ 17/5 → 7/2 | s:dhi bank:mridangam ]", + "[ 7/2 → 18/5 | s:thom bank:mridangam ]", + "[ 18/5 → 37/10 | s:tha bank:mridangam ]", + "[ 37/10 → 19/5 | s:dhi bank:mridangam ]", + "[ 19/5 → 39/10 | s:thom bank:mridangam ]", + "[ 39/10 → 4/1 | s:nam bank:mridangam ]", ] `; exports[`runs examples > example "grow" example index 1 1`] = ` [ - "[ 0/1 → 1/10 | s:mt ]", - "[ 1/10 → 1/5 | s:ht ]", - "[ 1/5 → 3/10 | s:mt ]", - "[ 3/10 → 2/5 | s:cp ]", - "[ 2/5 → 1/2 | s:ht ]", - "[ 1/2 → 3/5 | s:mt ]", - "[ 3/5 → 7/10 | s:bd ]", - "[ 7/10 → 4/5 | s:cp ]", - "[ 4/5 → 9/10 | s:ht ]", - "[ 9/10 → 1/1 | s:mt ]", - "[ 1/1 → 11/10 | s:mt ]", - "[ 11/10 → 6/5 | s:ht ]", - "[ 6/5 → 13/10 | s:mt ]", - "[ 13/10 → 7/5 | s:cp ]", - "[ 7/5 → 3/2 | s:ht ]", - "[ 3/2 → 8/5 | s:mt ]", - "[ 8/5 → 17/10 | s:bd ]", - "[ 17/10 → 9/5 | s:cp ]", - "[ 9/5 → 19/10 | s:ht ]", - "[ 19/10 → 2/1 | s:mt ]", - "[ 2/1 → 21/10 | s:mt ]", - "[ 21/10 → 11/5 | s:ht ]", - "[ 11/5 → 23/10 | s:mt ]", - "[ 23/10 → 12/5 | s:cp ]", - "[ 12/5 → 5/2 | s:ht ]", - "[ 5/2 → 13/5 | s:mt ]", - "[ 13/5 → 27/10 | s:bd ]", - "[ 27/10 → 14/5 | s:cp ]", - "[ 14/5 → 29/10 | s:ht ]", - "[ 29/10 → 3/1 | s:mt ]", - "[ 3/1 → 31/10 | s:mt ]", - "[ 31/10 → 16/5 | s:ht ]", - "[ 16/5 → 33/10 | s:mt ]", - "[ 33/10 → 17/5 | s:cp ]", - "[ 17/5 → 7/2 | s:ht ]", - "[ 7/2 → 18/5 | s:mt ]", - "[ 18/5 → 37/10 | s:bd ]", - "[ 37/10 → 19/5 | s:cp ]", - "[ 19/5 → 39/10 | s:ht ]", - "[ 39/10 → 4/1 | s:mt ]", + "[ 0/1 → 1/10 | s:nam bank:mridangam ]", + "[ 1/10 → 1/5 | s:thom bank:mridangam ]", + "[ 1/5 → 3/10 | s:nam bank:mridangam ]", + "[ 3/10 → 2/5 | s:dhi bank:mridangam ]", + "[ 2/5 → 1/2 | s:thom bank:mridangam ]", + "[ 1/2 → 3/5 | s:nam bank:mridangam ]", + "[ 3/5 → 7/10 | s:tha bank:mridangam ]", + "[ 7/10 → 4/5 | s:dhi bank:mridangam ]", + "[ 4/5 → 9/10 | s:thom bank:mridangam ]", + "[ 9/10 → 1/1 | s:nam bank:mridangam ]", + "[ 1/1 → 11/10 | s:nam bank:mridangam ]", + "[ 11/10 → 6/5 | s:thom bank:mridangam ]", + "[ 6/5 → 13/10 | s:nam bank:mridangam ]", + "[ 13/10 → 7/5 | s:dhi bank:mridangam ]", + "[ 7/5 → 3/2 | s:thom bank:mridangam ]", + "[ 3/2 → 8/5 | s:nam bank:mridangam ]", + "[ 8/5 → 17/10 | s:tha bank:mridangam ]", + "[ 17/10 → 9/5 | s:dhi bank:mridangam ]", + "[ 9/5 → 19/10 | s:thom bank:mridangam ]", + "[ 19/10 → 2/1 | s:nam bank:mridangam ]", + "[ 2/1 → 21/10 | s:nam bank:mridangam ]", + "[ 21/10 → 11/5 | s:thom bank:mridangam ]", + "[ 11/5 → 23/10 | s:nam bank:mridangam ]", + "[ 23/10 → 12/5 | s:dhi bank:mridangam ]", + "[ 12/5 → 5/2 | s:thom bank:mridangam ]", + "[ 5/2 → 13/5 | s:nam bank:mridangam ]", + "[ 13/5 → 27/10 | s:tha bank:mridangam ]", + "[ 27/10 → 14/5 | s:dhi bank:mridangam ]", + "[ 14/5 → 29/10 | s:thom bank:mridangam ]", + "[ 29/10 → 3/1 | s:nam bank:mridangam ]", + "[ 3/1 → 31/10 | s:nam bank:mridangam ]", + "[ 31/10 → 16/5 | s:thom bank:mridangam ]", + "[ 16/5 → 33/10 | s:nam bank:mridangam ]", + "[ 33/10 → 17/5 | s:dhi bank:mridangam ]", + "[ 17/5 → 7/2 | s:thom bank:mridangam ]", + "[ 7/2 → 18/5 | s:nam bank:mridangam ]", + "[ 18/5 → 37/10 | s:tha bank:mridangam ]", + "[ 37/10 → 19/5 | s:dhi bank:mridangam ]", + "[ 19/5 → 39/10 | s:thom bank:mridangam ]", + "[ 39/10 → 4/1 | s:nam bank:mridangam ]", +] +`; + +exports[`runs examples > example "grow" example index 2 1`] = ` +[ + "[ 0/1 → 1/4 | s:tha bank:mridangam ]", + "[ 1/4 → 1/2 | s:tha bank:mridangam ]", + "[ 1/2 → 3/4 | s:dhi bank:mridangam ]", + "[ 3/4 → 1/1 | s:tha bank:mridangam ]", + "[ 1/1 → 5/4 | s:dhi bank:mridangam ]", + "[ 5/4 → 3/2 | s:thom bank:mridangam ]", + "[ 3/2 → 7/4 | s:tha bank:mridangam ]", + "[ 7/4 → 2/1 | s:dhi bank:mridangam ]", + "[ 2/1 → 9/4 | s:thom bank:mridangam ]", + "[ 9/4 → 5/2 | s:nam bank:mridangam ]", + "[ 5/2 → 11/4 | s:nam bank:mridangam ]", + "[ 11/4 → 3/1 | s:thom bank:mridangam ]", + "[ 3/1 → 13/4 | s:nam bank:mridangam ]", + "[ 13/4 → 7/2 | s:dhi bank:mridangam ]", + "[ 7/2 → 15/4 | s:thom bank:mridangam ]", + "[ 15/4 → 4/1 | s:nam bank:mridangam ]", +] +`; + +exports[`runs examples > example "grow" example index 3 1`] = ` +[ + "[ 0/1 → 1/8 | note:C3 s:folkharp ]", + "[ 1/8 → 1/4 | note:C3 s:folkharp ]", + "[ 1/4 → 3/8 | note:D3 s:folkharp ]", + "[ 3/8 → 1/2 | note:C3 s:folkharp ]", + "[ 1/2 → 5/8 | note:D3 s:folkharp ]", + "[ 5/8 → 3/4 | note:F3 s:folkharp ]", + "[ 3/4 → 7/8 | note:C3 s:folkharp ]", + "[ 7/8 → 1/1 | note:D3 s:folkharp ]", + "[ 1/1 → 9/8 | note:F3 s:folkharp ]", + "[ 9/8 → 5/4 | note:G3 s:folkharp ]", + "[ 5/4 → 11/8 | note:C3 s:folkharp ]", + "[ 11/8 → 3/2 | note:D3 s:folkharp ]", + "[ 3/2 → 13/8 | note:F3 s:folkharp ]", + "[ 13/8 → 7/4 | note:G3 s:folkharp ]", + "[ 7/4 → 15/8 | note:A3 s:folkharp ]", + "[ 15/8 → 2/1 | note:C3 s:folkharp ]", + "[ 2/1 → 17/8 | note:D3 s:folkharp ]", + "[ 17/8 → 9/4 | note:F3 s:folkharp ]", + "[ 9/4 → 19/8 | note:G3 s:folkharp ]", + "[ 19/8 → 5/2 | note:A3 s:folkharp ]", + "[ 5/2 → 21/8 | note:C4 s:folkharp ]", + "[ 21/8 → 11/4 | note:C3 s:folkharp ]", + "[ 11/4 → 23/8 | note:D3 s:folkharp ]", + "[ 23/8 → 3/1 | note:F3 s:folkharp ]", + "[ 3/1 → 25/8 | note:G3 s:folkharp ]", + "[ 25/8 → 13/4 | note:A3 s:folkharp ]", + "[ 13/4 → 27/8 | note:C4 s:folkharp ]", + "[ 27/8 → 7/2 | note:D4 s:folkharp ]", + "[ 7/2 → 29/8 | note:C3 s:folkharp ]", + "[ 29/8 → 15/4 | note:D3 s:folkharp ]", + "[ 15/4 → 31/8 | note:F3 s:folkharp ]", + "[ 31/8 → 4/1 | note:G3 s:folkharp ]", ] `; @@ -6322,6 +6495,33 @@ exports[`runs examples > example "release" example index 0 1`] = ` ] `; +exports[`runs examples > example "repeat" example index 0 1`] = ` +[ + "[ 0/1 → 1/8 | s:bd ]", + "[ 1/8 → 1/4 | s:bd ]", + "[ 3/8 → 1/2 | s:cp ]", + "[ 1/2 → 5/8 | s:bd ]", + "[ 5/8 → 3/4 | s:bd ]", + "[ 7/8 → 1/1 | s:cp ]", + "[ 1/1 → 9/8 | s:bd ]", + "[ 5/4 → 11/8 | s:sd ]", + "[ 3/2 → 13/8 | s:bd ]", + "[ 13/8 → 7/4 | s:bd ]", + "[ 15/8 → 2/1 | s:cp ]", + "[ 2/1 → 17/8 | s:bd ]", + "[ 17/8 → 9/4 | s:bd ]", + "[ 19/8 → 5/2 | s:cp ]", + "[ 5/2 → 21/8 | s:bd ]", + "[ 11/4 → 23/8 | s:sd ]", + "[ 3/1 → 25/8 | s:bd ]", + "[ 25/8 → 13/4 | s:bd ]", + "[ 27/8 → 7/2 | s:cp ]", + "[ 7/2 → 29/8 | s:bd ]", + "[ 29/8 → 15/4 | s:bd ]", + "[ 31/8 → 4/1 | s:cp ]", +] +`; + exports[`runs examples > example "repeatCycles" example index 0 1`] = ` [ "[ 0/1 → 1/4 | note:42 s:gm_acoustic_guitar_nylon ]", @@ -7380,176 +7580,149 @@ exports[`runs examples > example "shape" example index 0 1`] = ` exports[`runs examples > example "shrink" example index 0 1`] = ` [ - "[ 0/1 → 1/10 | s:bd ]", - "[ 1/10 → 1/5 | s:cp ]", - "[ 1/5 → 3/10 | s:ht ]", - "[ 3/10 → 2/5 | s:mt ]", - "[ 2/5 → 1/2 | s:cp ]", - "[ 1/2 → 3/5 | s:ht ]", - "[ 3/5 → 7/10 | s:mt ]", - "[ 7/10 → 4/5 | s:ht ]", - "[ 4/5 → 9/10 | s:mt ]", - "[ 9/10 → 1/1 | s:mt ]", - "[ 1/1 → 11/10 | s:bd ]", - "[ 11/10 → 6/5 | s:cp ]", - "[ 6/5 → 13/10 | s:ht ]", - "[ 13/10 → 7/5 | s:mt ]", - "[ 7/5 → 3/2 | s:cp ]", - "[ 3/2 → 8/5 | s:ht ]", - "[ 8/5 → 17/10 | s:mt ]", - "[ 17/10 → 9/5 | s:ht ]", - "[ 9/5 → 19/10 | s:mt ]", - "[ 19/10 → 2/1 | s:mt ]", - "[ 2/1 → 21/10 | s:bd ]", - "[ 21/10 → 11/5 | s:cp ]", - "[ 11/5 → 23/10 | s:ht ]", - "[ 23/10 → 12/5 | s:mt ]", - "[ 12/5 → 5/2 | s:cp ]", - "[ 5/2 → 13/5 | s:ht ]", - "[ 13/5 → 27/10 | s:mt ]", - "[ 27/10 → 14/5 | s:ht ]", - "[ 14/5 → 29/10 | s:mt ]", - "[ 29/10 → 3/1 | s:mt ]", - "[ 3/1 → 31/10 | s:bd ]", - "[ 31/10 → 16/5 | s:cp ]", - "[ 16/5 → 33/10 | s:ht ]", - "[ 33/10 → 17/5 | s:mt ]", - "[ 17/5 → 7/2 | s:cp ]", - "[ 7/2 → 18/5 | s:ht ]", - "[ 18/5 → 37/10 | s:mt ]", - "[ 37/10 → 19/5 | s:ht ]", - "[ 19/5 → 39/10 | s:mt ]", - "[ 39/10 → 4/1 | s:mt ]", + "[ 0/1 → 1/10 | s:tha bank:mridangam ]", + "[ 1/10 → 1/5 | s:dhi bank:mridangam ]", + "[ 1/5 → 3/10 | s:thom bank:mridangam ]", + "[ 3/10 → 2/5 | s:nam bank:mridangam ]", + "[ 2/5 → 1/2 | s:dhi bank:mridangam ]", + "[ 1/2 → 3/5 | s:thom bank:mridangam ]", + "[ 3/5 → 7/10 | s:nam bank:mridangam ]", + "[ 7/10 → 4/5 | s:thom bank:mridangam ]", + "[ 4/5 → 9/10 | s:nam bank:mridangam ]", + "[ 9/10 → 1/1 | s:nam bank:mridangam ]", + "[ 1/1 → 11/10 | s:tha bank:mridangam ]", + "[ 11/10 → 6/5 | s:dhi bank:mridangam ]", + "[ 6/5 → 13/10 | s:thom bank:mridangam ]", + "[ 13/10 → 7/5 | s:nam bank:mridangam ]", + "[ 7/5 → 3/2 | s:dhi bank:mridangam ]", + "[ 3/2 → 8/5 | s:thom bank:mridangam ]", + "[ 8/5 → 17/10 | s:nam bank:mridangam ]", + "[ 17/10 → 9/5 | s:thom bank:mridangam ]", + "[ 9/5 → 19/10 | s:nam bank:mridangam ]", + "[ 19/10 → 2/1 | s:nam bank:mridangam ]", + "[ 2/1 → 21/10 | s:tha bank:mridangam ]", + "[ 21/10 → 11/5 | s:dhi bank:mridangam ]", + "[ 11/5 → 23/10 | s:thom bank:mridangam ]", + "[ 23/10 → 12/5 | s:nam bank:mridangam ]", + "[ 12/5 → 5/2 | s:dhi bank:mridangam ]", + "[ 5/2 → 13/5 | s:thom bank:mridangam ]", + "[ 13/5 → 27/10 | s:nam bank:mridangam ]", + "[ 27/10 → 14/5 | s:thom bank:mridangam ]", + "[ 14/5 → 29/10 | s:nam bank:mridangam ]", + "[ 29/10 → 3/1 | s:nam bank:mridangam ]", + "[ 3/1 → 31/10 | s:tha bank:mridangam ]", + "[ 31/10 → 16/5 | s:dhi bank:mridangam ]", + "[ 16/5 → 33/10 | s:thom bank:mridangam ]", + "[ 33/10 → 17/5 | s:nam bank:mridangam ]", + "[ 17/5 → 7/2 | s:dhi bank:mridangam ]", + "[ 7/2 → 18/5 | s:thom bank:mridangam ]", + "[ 18/5 → 37/10 | s:nam bank:mridangam ]", + "[ 37/10 → 19/5 | s:thom bank:mridangam ]", + "[ 19/5 → 39/10 | s:nam bank:mridangam ]", + "[ 39/10 → 4/1 | s:nam bank:mridangam ]", ] `; exports[`runs examples > example "shrink" example index 1 1`] = ` [ - "[ 0/1 → 1/10 | s:bd ]", - "[ 1/10 → 1/5 | s:cp ]", - "[ 1/5 → 3/10 | s:ht ]", - "[ 3/10 → 2/5 | s:mt ]", - "[ 2/5 → 1/2 | s:bd ]", - "[ 1/2 → 3/5 | s:cp ]", - "[ 3/5 → 7/10 | s:ht ]", - "[ 7/10 → 4/5 | s:bd ]", - "[ 4/5 → 9/10 | s:cp ]", - "[ 9/10 → 1/1 | s:bd ]", - "[ 1/1 → 11/10 | s:bd ]", - "[ 11/10 → 6/5 | s:cp ]", - "[ 6/5 → 13/10 | s:ht ]", - "[ 13/10 → 7/5 | s:mt ]", - "[ 7/5 → 3/2 | s:bd ]", - "[ 3/2 → 8/5 | s:cp ]", - "[ 8/5 → 17/10 | s:ht ]", - "[ 17/10 → 9/5 | s:bd ]", - "[ 9/5 → 19/10 | s:cp ]", - "[ 19/10 → 2/1 | s:bd ]", - "[ 2/1 → 21/10 | s:bd ]", - "[ 21/10 → 11/5 | s:cp ]", - "[ 11/5 → 23/10 | s:ht ]", - "[ 23/10 → 12/5 | s:mt ]", - "[ 12/5 → 5/2 | s:bd ]", - "[ 5/2 → 13/5 | s:cp ]", - "[ 13/5 → 27/10 | s:ht ]", - "[ 27/10 → 14/5 | s:bd ]", - "[ 14/5 → 29/10 | s:cp ]", - "[ 29/10 → 3/1 | s:bd ]", - "[ 3/1 → 31/10 | s:bd ]", - "[ 31/10 → 16/5 | s:cp ]", - "[ 16/5 → 33/10 | s:ht ]", - "[ 33/10 → 17/5 | s:mt ]", - "[ 17/5 → 7/2 | s:bd ]", - "[ 7/2 → 18/5 | s:cp ]", - "[ 18/5 → 37/10 | s:ht ]", - "[ 37/10 → 19/5 | s:bd ]", - "[ 19/5 → 39/10 | s:cp ]", - "[ 39/10 → 4/1 | s:bd ]", + "[ 0/1 → 1/10 | s:tha bank:mridangam ]", + "[ 1/10 → 1/5 | s:dhi bank:mridangam ]", + "[ 1/5 → 3/10 | s:thom bank:mridangam ]", + "[ 3/10 → 2/5 | s:nam bank:mridangam ]", + "[ 2/5 → 1/2 | s:tha bank:mridangam ]", + "[ 1/2 → 3/5 | s:dhi bank:mridangam ]", + "[ 3/5 → 7/10 | s:thom bank:mridangam ]", + "[ 7/10 → 4/5 | s:tha bank:mridangam ]", + "[ 4/5 → 9/10 | s:dhi bank:mridangam ]", + "[ 9/10 → 1/1 | s:tha bank:mridangam ]", + "[ 1/1 → 11/10 | s:tha bank:mridangam ]", + "[ 11/10 → 6/5 | s:dhi bank:mridangam ]", + "[ 6/5 → 13/10 | s:thom bank:mridangam ]", + "[ 13/10 → 7/5 | s:nam bank:mridangam ]", + "[ 7/5 → 3/2 | s:tha bank:mridangam ]", + "[ 3/2 → 8/5 | s:dhi bank:mridangam ]", + "[ 8/5 → 17/10 | s:thom bank:mridangam ]", + "[ 17/10 → 9/5 | s:tha bank:mridangam ]", + "[ 9/5 → 19/10 | s:dhi bank:mridangam ]", + "[ 19/10 → 2/1 | s:tha bank:mridangam ]", + "[ 2/1 → 21/10 | s:tha bank:mridangam ]", + "[ 21/10 → 11/5 | s:dhi bank:mridangam ]", + "[ 11/5 → 23/10 | s:thom bank:mridangam ]", + "[ 23/10 → 12/5 | s:nam bank:mridangam ]", + "[ 12/5 → 5/2 | s:tha bank:mridangam ]", + "[ 5/2 → 13/5 | s:dhi bank:mridangam ]", + "[ 13/5 → 27/10 | s:thom bank:mridangam ]", + "[ 27/10 → 14/5 | s:tha bank:mridangam ]", + "[ 14/5 → 29/10 | s:dhi bank:mridangam ]", + "[ 29/10 → 3/1 | s:tha bank:mridangam ]", + "[ 3/1 → 31/10 | s:tha bank:mridangam ]", + "[ 31/10 → 16/5 | s:dhi bank:mridangam ]", + "[ 16/5 → 33/10 | s:thom bank:mridangam ]", + "[ 33/10 → 17/5 | s:nam bank:mridangam ]", + "[ 17/5 → 7/2 | s:tha bank:mridangam ]", + "[ 7/2 → 18/5 | s:dhi bank:mridangam ]", + "[ 18/5 → 37/10 | s:thom bank:mridangam ]", + "[ 37/10 → 19/5 | s:tha bank:mridangam ]", + "[ 19/5 → 39/10 | s:dhi bank:mridangam ]", + "[ 39/10 → 4/1 | s:tha bank:mridangam ]", ] `; exports[`runs examples > example "shrink" example index 2 1`] = ` [ - "[ 0/1 → 1/20 | s:bd ]", - "[ 1/20 → 1/10 | s:bd ]", - "[ 1/10 → 3/20 | s:cp ]", - "[ 3/20 → 1/5 | s:bd ]", - "[ 1/5 → 1/4 | s:cp ]", - "[ 1/4 → 3/10 | s:ht ]", - "[ 3/10 → 7/20 | s:bd ]", - "[ 7/20 → 2/5 | s:cp ]", - "[ 2/5 → 9/20 | s:ht ]", - "[ 9/20 → 1/2 | s:mt ]", - "[ 1/2 → 11/20 | s:mt ]", - "[ 11/20 → 3/5 | s:ht ]", - "[ 3/5 → 13/20 | s:mt ]", - "[ 13/20 → 7/10 | s:cp ]", - "[ 7/10 → 3/4 | s:ht ]", - "[ 3/4 → 4/5 | s:mt ]", - "[ 4/5 → 17/20 | s:bd ]", - "[ 17/20 → 9/10 | s:cp ]", - "[ 9/10 → 19/20 | s:ht ]", - "[ 19/20 → 1/1 | s:mt ]", - "[ 1/1 → 21/20 | s:bd ]", - "[ 21/20 → 11/10 | s:bd ]", - "[ 11/10 → 23/20 | s:cp ]", - "[ 23/20 → 6/5 | s:bd ]", - "[ 6/5 → 5/4 | s:cp ]", - "[ 5/4 → 13/10 | s:ht ]", - "[ 13/10 → 27/20 | s:bd ]", - "[ 27/20 → 7/5 | s:cp ]", - "[ 7/5 → 29/20 | s:ht ]", - "[ 29/20 → 3/2 | s:mt ]", - "[ 3/2 → 31/20 | s:mt ]", - "[ 31/20 → 8/5 | s:ht ]", - "[ 8/5 → 33/20 | s:mt ]", - "[ 33/20 → 17/10 | s:cp ]", - "[ 17/10 → 7/4 | s:ht ]", - "[ 7/4 → 9/5 | s:mt ]", - "[ 9/5 → 37/20 | s:bd ]", - "[ 37/20 → 19/10 | s:cp ]", - "[ 19/10 → 39/20 | s:ht ]", - "[ 39/20 → 2/1 | s:mt ]", - "[ 2/1 → 41/20 | s:bd ]", - "[ 41/20 → 21/10 | s:bd ]", - "[ 21/10 → 43/20 | s:cp ]", - "[ 43/20 → 11/5 | s:bd ]", - "[ 11/5 → 9/4 | s:cp ]", - "[ 9/4 → 23/10 | s:ht ]", - "[ 23/10 → 47/20 | s:bd ]", - "[ 47/20 → 12/5 | s:cp ]", - "[ 12/5 → 49/20 | s:ht ]", - "[ 49/20 → 5/2 | s:mt ]", - "[ 5/2 → 51/20 | s:mt ]", - "[ 51/20 → 13/5 | s:ht ]", - "[ 13/5 → 53/20 | s:mt ]", - "[ 53/20 → 27/10 | s:cp ]", - "[ 27/10 → 11/4 | s:ht ]", - "[ 11/4 → 14/5 | s:mt ]", - "[ 14/5 → 57/20 | s:bd ]", - "[ 57/20 → 29/10 | s:cp ]", - "[ 29/10 → 59/20 | s:ht ]", - "[ 59/20 → 3/1 | s:mt ]", - "[ 3/1 → 61/20 | s:bd ]", - "[ 61/20 → 31/10 | s:bd ]", - "[ 31/10 → 63/20 | s:cp ]", - "[ 63/20 → 16/5 | s:bd ]", - "[ 16/5 → 13/4 | s:cp ]", - "[ 13/4 → 33/10 | s:ht ]", - "[ 33/10 → 67/20 | s:bd ]", - "[ 67/20 → 17/5 | s:cp ]", - "[ 17/5 → 69/20 | s:ht ]", - "[ 69/20 → 7/2 | s:mt ]", - "[ 7/2 → 71/20 | s:mt ]", - "[ 71/20 → 18/5 | s:ht ]", - "[ 18/5 → 73/20 | s:mt ]", - "[ 73/20 → 37/10 | s:cp ]", - "[ 37/10 → 15/4 | s:ht ]", - "[ 15/4 → 19/5 | s:mt ]", - "[ 19/5 → 77/20 | s:bd ]", - "[ 77/20 → 39/10 | s:cp ]", - "[ 39/10 → 79/20 | s:ht ]", - "[ 79/20 → 4/1 | s:mt ]", + "[ 0/1 → 1/4 | s:tha bank:mridangam ]", + "[ 1/4 → 1/2 | s:dhi bank:mridangam ]", + "[ 1/2 → 3/4 | s:thom bank:mridangam ]", + "[ 3/4 → 1/1 | s:nam bank:mridangam ]", + "[ 1/1 → 5/4 | s:dhi bank:mridangam ]", + "[ 5/4 → 3/2 | s:thom bank:mridangam ]", + "[ 3/2 → 7/4 | s:nam bank:mridangam ]", + "[ 7/4 → 2/1 | s:thom bank:mridangam ]", + "[ 2/1 → 9/4 | s:nam bank:mridangam ]", + "[ 9/4 → 5/2 | s:nam bank:mridangam ]", + "[ 5/2 → 11/4 | s:tha bank:mridangam ]", + "[ 11/4 → 3/1 | s:dhi bank:mridangam ]", + "[ 3/1 → 13/4 | s:thom bank:mridangam ]", + "[ 13/4 → 7/2 | s:nam bank:mridangam ]", + "[ 7/2 → 15/4 | s:tha bank:mridangam ]", + "[ 15/4 → 4/1 | s:dhi bank:mridangam ]", +] +`; + +exports[`runs examples > example "shrink" example index 3 1`] = ` +[ + "[ 0/1 → 1/8 | note:C3 s:folkharp ]", + "[ 1/8 → 1/4 | note:D3 s:folkharp ]", + "[ 1/4 → 3/8 | note:F3 s:folkharp ]", + "[ 3/8 → 1/2 | note:G3 s:folkharp ]", + "[ 1/2 → 5/8 | note:A3 s:folkharp ]", + "[ 5/8 → 3/4 | note:C4 s:folkharp ]", + "[ 3/4 → 7/8 | note:D4 s:folkharp ]", + "[ 7/8 → 1/1 | note:F4 s:folkharp ]", + "[ 1/1 → 9/8 | note:D3 s:folkharp ]", + "[ 9/8 → 5/4 | note:F3 s:folkharp ]", + "[ 5/4 → 11/8 | note:G3 s:folkharp ]", + "[ 11/8 → 3/2 | note:A3 s:folkharp ]", + "[ 3/2 → 13/8 | note:C4 s:folkharp ]", + "[ 13/8 → 7/4 | note:D4 s:folkharp ]", + "[ 7/4 → 15/8 | note:F4 s:folkharp ]", + "[ 15/8 → 2/1 | note:F3 s:folkharp ]", + "[ 2/1 → 17/8 | note:G3 s:folkharp ]", + "[ 17/8 → 9/4 | note:A3 s:folkharp ]", + "[ 9/4 → 19/8 | note:C4 s:folkharp ]", + "[ 19/8 → 5/2 | note:D4 s:folkharp ]", + "[ 5/2 → 21/8 | note:F4 s:folkharp ]", + "[ 21/8 → 11/4 | note:G3 s:folkharp ]", + "[ 11/4 → 23/8 | note:A3 s:folkharp ]", + "[ 23/8 → 3/1 | note:C4 s:folkharp ]", + "[ 3/1 → 25/8 | note:D4 s:folkharp ]", + "[ 25/8 → 13/4 | note:F4 s:folkharp ]", + "[ 13/4 → 27/8 | note:A3 s:folkharp ]", + "[ 27/8 → 7/2 | note:C4 s:folkharp ]", + "[ 7/2 → 29/8 | note:D4 s:folkharp ]", + "[ 29/8 → 15/4 | note:F4 s:folkharp ]", + "[ 15/4 → 31/8 | note:C4 s:folkharp ]", + "[ 31/8 → 4/1 | note:D4 s:folkharp ]", ] `; diff --git a/website/public/mridangam.json b/website/public/mridangam.json new file mode 100644 index 00000000..63e095b9 --- /dev/null +++ b/website/public/mridangam.json @@ -0,0 +1,160 @@ +{ + "_base": "https://raw.githubusercontent.com/yaxu/mrid/main/", + "mridangam_gumki": [ + "norm_sounds/gumki/gumki2-3.wav", + "norm_sounds/gumki/gumki2-7.wav", + "norm_sounds/gumki/gumki2-6.wav", + "norm_sounds/gumki/gumki2-5.wav", + "norm_sounds/gumki/gumki-4.wav", + "norm_sounds/gumki/gumki-2.wav", + "norm_sounds/gumki/gumki2-4.wav", + "norm_sounds/gumki/gumki-5.wav", + "norm_sounds/gumki/gumki2-8.wav", + "norm_sounds/gumki/gumki-6.wav", + "norm_sounds/gumki/gumki-1.wav", + "norm_sounds/gumki/gumki2-2.wav", + "norm_sounds/gumki/gumki-3.wav", + "norm_sounds/gumki/gumki2-1.wav" + ], + "mridangam_ka": [ + "norm_sounds/ka/ka2-4.wav", + "norm_sounds/ka/ka2-2.wav", + "norm_sounds/ka/ka2-1.wav", + "norm_sounds/ka/ka-2.wav", + "norm_sounds/ka/ka-5.wav", + "norm_sounds/ka/ka-7.wav", + "norm_sounds/ka/ka-6.wav", + "norm_sounds/ka/ka2-5.wav", + "norm_sounds/ka/ka-1.wav", + "norm_sounds/ka/ka-4.wav", + "norm_sounds/ka/ka2-3.wav", + "norm_sounds/ka/ka-3.wav" + ], + "mridangam_nam": [ + "norm_sounds/nam/nam2-1.wav", + "norm_sounds/nam/nam2-3.wav", + "norm_sounds/nam/nam-3.wav", + "norm_sounds/nam/nam-2.wav", + "norm_sounds/nam/nam2-5.wav", + "norm_sounds/nam/nam2-2.wav", + "norm_sounds/nam/nam2-4.wav", + "norm_sounds/nam/nam-1.wav" + ], + "mridangam_ta": [ + "norm_sounds/ta/ta-3.wav", + "norm_sounds/ta/ta2-2.wav", + "norm_sounds/ta/ta-2.wav", + "norm_sounds/ta/ta2-3.wav", + "norm_sounds/ta/ta2-6.wav", + "norm_sounds/ta/ta2-4.wav", + "norm_sounds/ta/ta2-1.wav", + "norm_sounds/ta/ta2-5.wav", + "norm_sounds/ta/ta-1.wav" + ], + "mridangam_ki": [ + "norm_sounds/ki/ki2-3.wav", + "norm_sounds/ki/ki2-1.wav", + "norm_sounds/ki/ki-2.wav", + "norm_sounds/ki/ki-1.wav", + "norm_sounds/ki/ki2-4.wav", + "norm_sounds/ki/ki2-2.wav", + "norm_sounds/ki/ki-3.wav" + ], + "mridangam_dhin": [ + "norm_sounds/dhin/dhin2-3.wav", + "norm_sounds/dhin/dhin-2.wav", + "norm_sounds/dhin/dhin2-5.wav", + "norm_sounds/dhin/dhin-3.wav", + "norm_sounds/dhin/dhin2-4.wav", + "norm_sounds/dhin/dhin2-2.wav", + "norm_sounds/dhin/dhin-1.wav", + "norm_sounds/dhin/dhin2-1.wav" + ], + "mridangam_na": [ + "norm_sounds/na/na-6.wav", + "norm_sounds/na/na2-5.wav", + "norm_sounds/na/na-3.wav", + "norm_sounds/na/na2-2.wav", + "norm_sounds/na/na-7.wav", + "norm_sounds/na/na2-1.wav", + "norm_sounds/na/na2-3.wav", + "norm_sounds/na/na-2.wav", + "norm_sounds/na/na-4.wav", + "norm_sounds/na/na-5.wav", + "norm_sounds/na/na-1.wav", + "norm_sounds/na/na2-4.wav" + ], + "mridangam_chaapu": [ + "norm_sounds/c/chaapu-3.wav", + "norm_sounds/c/chaapu2-9.wav", + "norm_sounds/c/chaapu2-4.wav", + "norm_sounds/c/chaapu2-3.wav", + "norm_sounds/c/chaapu2-6.wav", + "norm_sounds/c/chaapu-1.wav", + "norm_sounds/c/chaapu2-8.wav", + "norm_sounds/c/chaapu2-1.wav", + "norm_sounds/c/chaapu2-2.wav", + "norm_sounds/c/chaapu2-5.wav", + "norm_sounds/c/chaapu-4.wav", + "norm_sounds/c/chaapu2-7.wav", + "norm_sounds/c/chaapu-2.wav" + ], + "mridangam_dhum": [ + "norm_sounds/dhum/dhum-1.wav", + "norm_sounds/dhum/dhum2-3.wav", + "norm_sounds/dhum/dhum2-1.wav", + "norm_sounds/dhum/dhum-2.wav", + "norm_sounds/dhum/dhum2-2.wav", + "norm_sounds/dhum/dhum-3.wav", + "norm_sounds/dhum/dhum2-4.wav" + ], + "mridangam_ardha": [ + "norm_sounds/ac/ardha-chaapu2-3.wav", + "norm_sounds/ac/ardha-chaapu2-14.wav", + "norm_sounds/ac/ardha-chaapu2-2.wav", + "norm_sounds/ac/ardha-chaapu2-10.wav", + "norm_sounds/ac/ardha-chaapu-5.wav", + "norm_sounds/ac/ardha-chaapu2-6.wav", + "norm_sounds/ac/ardha-chaapu-3.wav", + "norm_sounds/ac/ardha-chaapu2-4.wav", + "norm_sounds/ac/ardha-chaapu-2.wav", + "norm_sounds/ac/ardha-chaapu2-12.wav", + "norm_sounds/ac/ardha-chaapu2-5.wav", + "norm_sounds/ac/ardha-chaapu-6.wav", + "norm_sounds/ac/ardha-chaapu2-9.wav", + "norm_sounds/ac/ardha-chaapu2-13.wav", + "norm_sounds/ac/ardha-chaapu2-1.wav", + "norm_sounds/ac/ardha-chaapu-4.wav", + "norm_sounds/ac/ardha-chaapu2-11.wav", + "norm_sounds/ac/ardha-chaapu2-7.wav", + "norm_sounds/ac/ardha-chaapu2-8.wav", + "norm_sounds/ac/ardha-chaapu-1.wav" + ], + "mridangam_thom": [ + "norm_sounds/thom/thom2-3.wav", + "norm_sounds/thom/thom-2.wav", + "norm_sounds/thom/thom-3.wav", + "norm_sounds/thom/thom-1.wav", + "norm_sounds/thom/thom2-4.wav", + "norm_sounds/thom/thom2-2.wav", + "norm_sounds/thom/thom2-1.wav" + ], + "mridangam_dhi": [ + "norm_sounds/dhi/dhi-3.wav", + "norm_sounds/dhi/dhi2-4.wav", + "norm_sounds/dhi/dhi2-1.wav", + "norm_sounds/dhi/dhi2-3.wav", + "norm_sounds/dhi/dhi-1.wav", + "norm_sounds/dhi/dhi2-2.wav", + "norm_sounds/dhi/dhi-2.wav" + ], + "mridangam_tha": [ + "norm_sounds/tha/tha2-3.wav", + "norm_sounds/tha/tha2-2.wav", + "norm_sounds/tha/tha2-4.wav", + "norm_sounds/tha/tha-1.wav", + "norm_sounds/tha/tha-3.wav", + "norm_sounds/tha/tha2-1.wav", + "norm_sounds/tha/tha-2.wav" + ] +} diff --git a/website/src/pages/learn/stepwise.mdx b/website/src/pages/learn/stepwise.mdx index f5ba5ec0..56b21161 100644 --- a/website/src/pages/learn/stepwise.mdx +++ b/website/src/pages/learn/stepwise.mdx @@ -76,8 +76,6 @@ This results in a dense pattern, because the different expanded versions are squ -## Deprecated aliases - Earlier versions of many of these functions had `s_` prefixes, and the `pace` function was previously known as `steps`. These still exist as aliases, but may have changed behaviour and will soon be removed. Please update your patterns! ## Stepwise functions diff --git a/website/src/repl/prebake.mjs b/website/src/repl/prebake.mjs index b0833bd5..8ecfef3a 100644 --- a/website/src/repl/prebake.mjs +++ b/website/src/repl/prebake.mjs @@ -29,6 +29,7 @@ export async function prebake() { tag: 'drum-machines', }), samples(`${baseNoTrailing}/EmuSP12.json`, undefined, { prebake: true, tag: 'drum-machines' }), + samples(`${baseNoTrailing}/mridangam.json`, undefined, { prebake: true, tag: 'drum-machines' }), samples( { casio: ['casio/high.wav', 'casio/low.wav', 'casio/noise.wav'],