mirror of
https://codeberg.org/uzu/strudel
synced 2026-10-12 02:59:37 -04:00
format, snapshot
This commit is contained in:
+25
-73
@@ -67,6 +67,16 @@ const trimFreq = (freq) => parseFloat(freq.toPrecision(10));
|
||||
// values mapped to the frequencies associated with the given edosteps
|
||||
// scaleNameOrRatios: string || number[], steps?: number
|
||||
|
||||
// old, currently unsupported
|
||||
// * @example
|
||||
// * // You can also use xen with frequency ratios.
|
||||
// * // This is equivalent to the above:
|
||||
// * i("0 1 2").xen([
|
||||
// * Math.pow(2, 0/31),
|
||||
// * Math.pow(2, 8/31),
|
||||
// * Math.pow(2, 18/31),
|
||||
// * ]).piano()
|
||||
|
||||
/**
|
||||
* Assumes a numerical pattern of scale steps, and a scale. Scales accepted are all preset scale names of `tune`, arbitrary edos such as 31edo, or an array of frequency ratios. Assumes scales repeat at octave (2/1). Returns a new pattern with all values mapped to their associated frequency, assuming a base frequency of 220hz.
|
||||
*
|
||||
@@ -79,14 +89,6 @@ const trimFreq = (freq) => parseFloat(freq.toPrecision(10));
|
||||
* // A minor triad in 31edo:
|
||||
* i("0 8 18").xen("31edo").piano()
|
||||
* @example
|
||||
* // You can also use xen with frequency ratios.
|
||||
* // This is equivalent to the above:
|
||||
* i("0 1 2").xen([
|
||||
* Math.pow(2, 0/31),
|
||||
* Math.pow(2, 8/31),
|
||||
* Math.pow(2, 18/31),
|
||||
* ]).piano()
|
||||
* @example
|
||||
* // xen also supports all scale names that
|
||||
* // tune does:
|
||||
* i("0 1 2 3 4 5").xen("hexany15")
|
||||
@@ -116,76 +118,26 @@ export const xen = register(
|
||||
});
|
||||
};
|
||||
|
||||
// How do we use curry to solve the stack problem
|
||||
/*
|
||||
Register does this by effectively saying
|
||||
are there multiple args?
|
||||
If so, split them into two arrays
|
||||
left has 1, right has rest
|
||||
join left and right:
|
||||
|
||||
result = join(right.reduce((acc, p) => acc.appLeft(p), left.fmap(mapFn)));
|
||||
|
||||
where mapFn applies the registered function 'func'.
|
||||
----
|
||||
When we're in xen but not in query, then we already have access to `scaleNameOrRatios`
|
||||
Could we run query for each? (could that be 'func' in this case?)
|
||||
----
|
||||
I don't think so, I think it makes more sense to do it within the query, but call an innerfunc on each arg
|
||||
----
|
||||
Okay, working for strings.
|
||||
|
||||
How do you tell the different between these two inputs?
|
||||
|
||||
i("0 1").xen(`
|
||||
1:1,
|
||||
[13:12, 5:4],
|
||||
2:1
|
||||
`).piano().log()
|
||||
|
||||
i("0 1").xen(`
|
||||
1:1,
|
||||
13:12,
|
||||
5:4,
|
||||
2:1
|
||||
`).piano().log()
|
||||
|
||||
|
||||
If it's not, we can just do:
|
||||
xen([
|
||||
"1:1",
|
||||
"[13:12, 5:4]",
|
||||
...
|
||||
])
|
||||
|
||||
----
|
||||
|
||||
okay I got the above working and now I need to rejigger this one to work with the other stuff
|
||||
|
||||
i("0 1 2 3").xen("hexany15, [sev-elev hexany23]").s("sin")
|
||||
|
||||
*/
|
||||
|
||||
const JIsc2 = (input) => {
|
||||
let k = parray(input)
|
||||
let k = parray(input);
|
||||
|
||||
return new Pattern((state) => {
|
||||
let res = k.withValue(x => x.map(y => eval(y.join('/')))).query(state)
|
||||
return res
|
||||
})
|
||||
}
|
||||
let res = k.withValue((x) => x.map((y) => eval(y.join('/')))).query(state);
|
||||
return res;
|
||||
});
|
||||
};
|
||||
|
||||
const query = (state) => {
|
||||
let input = scaleNameOrRatios.query(state);
|
||||
|
||||
if (input.length == 0) return []
|
||||
|
||||
let scPat = input[0].value
|
||||
let scs
|
||||
if (input.length == 0) return [];
|
||||
|
||||
let scPat = input[0].value;
|
||||
let scs;
|
||||
if (typeof scPat == 'string') {
|
||||
scs = input.map(x=>x.value)
|
||||
scs = input.map((x) => x.value);
|
||||
} else {
|
||||
scs = JIsc2(scPat).query(state)
|
||||
scs = JIsc2(scPat).query(state);
|
||||
}
|
||||
|
||||
let k = scs.map((sc, ith) => {
|
||||
@@ -223,8 +175,8 @@ export const xen = register(
|
||||
.query(state);
|
||||
return removeUndefineds(haps);
|
||||
// return haps
|
||||
})
|
||||
return flatten(k)
|
||||
});
|
||||
return flatten(k);
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -232,8 +184,8 @@ export const xen = register(
|
||||
return new Pattern(query)
|
||||
we could do a join on scaleNameOrRatios which creates multiple patterns and then joins them
|
||||
*/
|
||||
let res = new Pattern(query)
|
||||
|
||||
let res = new Pattern(query);
|
||||
|
||||
return res;
|
||||
},
|
||||
false,
|
||||
|
||||
@@ -5832,37 +5832,133 @@ exports[`runs examples > example "hush" example index 0 1`] = `
|
||||
|
||||
exports[`runs examples > example "i" example index 0 1`] = `
|
||||
[
|
||||
"[ 0/1 → 1/8 | freq:220 ]",
|
||||
"[ 0/1 → 1/8 | freq:220 ]",
|
||||
"[ 0/1 → 1/8 | freq:220 ]",
|
||||
"[ 0/1 → 1/8 | freq:220 ]",
|
||||
"[ 1/8 → 1/4 | freq:252.7136381 ]",
|
||||
"[ 1/8 → 1/4 | freq:235.7901618 ]",
|
||||
"[ 1/8 → 1/4 | freq:230.404707 ]",
|
||||
"[ 1/8 → 1/4 | freq:275 ]",
|
||||
"[ 1/4 → 3/8 | freq:290.2917404 ]",
|
||||
"[ 1/4 → 3/8 | freq:252.7136381 ]",
|
||||
"[ 1/4 → 3/8 | freq:241.3014955 ]",
|
||||
"[ 1/4 → 3/8 | freq:293.3333333 ]",
|
||||
"[ 3/8 → 1/2 | freq:333.4576446 ]",
|
||||
"[ 3/8 → 1/2 | freq:270.8517709 ]",
|
||||
"[ 3/8 → 1/2 | freq:252.7136381 ]",
|
||||
"[ 3/8 → 1/2 | freq:330 ]",
|
||||
"[ 1/2 → 5/8 | freq:383.0422479 ]",
|
||||
"[ 1/2 → 5/8 | freq:290.2917404 ]",
|
||||
"[ 1/2 → 5/8 | freq:264.6655079 ]",
|
||||
"[ 1/2 → 5/8 | freq:352 ]",
|
||||
"[ 5/8 → 3/4 | freq:440 ]",
|
||||
"[ 5/8 → 3/4 | freq:311.1269837 ]",
|
||||
"[ 5/8 → 3/4 | freq:277.182631 ]",
|
||||
"[ 5/8 → 3/4 | freq:440 ]",
|
||||
"[ 3/4 → 7/8 | freq:505.4272762 ]",
|
||||
"[ 3/4 → 7/8 | freq:333.4576446 ]",
|
||||
"[ 3/4 → 7/8 | freq:290.2917404 ]",
|
||||
"[ 3/4 → 7/8 | freq:550 ]",
|
||||
"[ 7/8 → 1/1 | freq:580.5834807 ]",
|
||||
"[ 7/8 → 1/1 | freq:357.3910544 ]",
|
||||
"[ 7/8 → 1/1 | freq:304.0208336 ]",
|
||||
"[ 7/8 → 1/1 | freq:586.6666667 ]",
|
||||
"[ 1/1 → 9/8 | freq:220 ]",
|
||||
"[ 1/1 → 9/8 | freq:220 ]",
|
||||
"[ 1/1 → 9/8 | freq:220 ]",
|
||||
"[ 1/1 → 9/8 | freq:220 ]",
|
||||
"[ 9/8 → 5/4 | freq:252.7136381 ]",
|
||||
"[ 9/8 → 5/4 | freq:235.7901618 ]",
|
||||
"[ 9/8 → 5/4 | freq:230.404707 ]",
|
||||
"[ 9/8 → 5/4 | freq:275 ]",
|
||||
"[ 5/4 → 11/8 | freq:290.2917404 ]",
|
||||
"[ 5/4 → 11/8 | freq:252.7136381 ]",
|
||||
"[ 5/4 → 11/8 | freq:241.3014955 ]",
|
||||
"[ 5/4 → 11/8 | freq:293.3333333 ]",
|
||||
"[ 11/8 → 3/2 | freq:333.4576446 ]",
|
||||
"[ 11/8 → 3/2 | freq:270.8517709 ]",
|
||||
"[ 11/8 → 3/2 | freq:252.7136381 ]",
|
||||
"[ 11/8 → 3/2 | freq:330 ]",
|
||||
"[ 3/2 → 13/8 | freq:383.0422479 ]",
|
||||
"[ 3/2 → 13/8 | freq:290.2917404 ]",
|
||||
"[ 3/2 → 13/8 | freq:264.6655079 ]",
|
||||
"[ 3/2 → 13/8 | freq:352 ]",
|
||||
"[ 13/8 → 7/4 | freq:440 ]",
|
||||
"[ 13/8 → 7/4 | freq:311.1269837 ]",
|
||||
"[ 13/8 → 7/4 | freq:277.182631 ]",
|
||||
"[ 13/8 → 7/4 | freq:440 ]",
|
||||
"[ 7/4 → 15/8 | freq:505.4272762 ]",
|
||||
"[ 7/4 → 15/8 | freq:333.4576446 ]",
|
||||
"[ 7/4 → 15/8 | freq:290.2917404 ]",
|
||||
"[ 7/4 → 15/8 | freq:550 ]",
|
||||
"[ 15/8 → 2/1 | freq:580.5834807 ]",
|
||||
"[ 15/8 → 2/1 | freq:357.3910544 ]",
|
||||
"[ 15/8 → 2/1 | freq:304.0208336 ]",
|
||||
"[ 15/8 → 2/1 | freq:586.6666667 ]",
|
||||
"[ 2/1 → 17/8 | freq:220 ]",
|
||||
"[ 2/1 → 17/8 | freq:220 ]",
|
||||
"[ 2/1 → 17/8 | freq:220 ]",
|
||||
"[ 2/1 → 17/8 | freq:220 ]",
|
||||
"[ 17/8 → 9/4 | freq:252.7136381 ]",
|
||||
"[ 17/8 → 9/4 | freq:235.7901618 ]",
|
||||
"[ 17/8 → 9/4 | freq:230.404707 ]",
|
||||
"[ 17/8 → 9/4 | freq:275 ]",
|
||||
"[ 9/4 → 19/8 | freq:290.2917404 ]",
|
||||
"[ 9/4 → 19/8 | freq:252.7136381 ]",
|
||||
"[ 9/4 → 19/8 | freq:241.3014955 ]",
|
||||
"[ 9/4 → 19/8 | freq:293.3333333 ]",
|
||||
"[ 19/8 → 5/2 | freq:333.4576446 ]",
|
||||
"[ 19/8 → 5/2 | freq:270.8517709 ]",
|
||||
"[ 19/8 → 5/2 | freq:252.7136381 ]",
|
||||
"[ 19/8 → 5/2 | freq:330 ]",
|
||||
"[ 5/2 → 21/8 | freq:383.0422479 ]",
|
||||
"[ 5/2 → 21/8 | freq:290.2917404 ]",
|
||||
"[ 5/2 → 21/8 | freq:264.6655079 ]",
|
||||
"[ 5/2 → 21/8 | freq:352 ]",
|
||||
"[ 21/8 → 11/4 | freq:440 ]",
|
||||
"[ 21/8 → 11/4 | freq:311.1269837 ]",
|
||||
"[ 21/8 → 11/4 | freq:277.182631 ]",
|
||||
"[ 21/8 → 11/4 | freq:440 ]",
|
||||
"[ 11/4 → 23/8 | freq:505.4272762 ]",
|
||||
"[ 11/4 → 23/8 | freq:333.4576446 ]",
|
||||
"[ 11/4 → 23/8 | freq:290.2917404 ]",
|
||||
"[ 11/4 → 23/8 | freq:550 ]",
|
||||
"[ 23/8 → 3/1 | freq:580.5834807 ]",
|
||||
"[ 23/8 → 3/1 | freq:357.3910544 ]",
|
||||
"[ 23/8 → 3/1 | freq:304.0208336 ]",
|
||||
"[ 23/8 → 3/1 | freq:586.6666667 ]",
|
||||
"[ 3/1 → 25/8 | freq:220 ]",
|
||||
"[ 3/1 → 25/8 | freq:220 ]",
|
||||
"[ 3/1 → 25/8 | freq:220 ]",
|
||||
"[ 3/1 → 25/8 | freq:220 ]",
|
||||
"[ 25/8 → 13/4 | freq:252.7136381 ]",
|
||||
"[ 25/8 → 13/4 | freq:235.7901618 ]",
|
||||
"[ 25/8 → 13/4 | freq:230.404707 ]",
|
||||
"[ 25/8 → 13/4 | freq:275 ]",
|
||||
"[ 13/4 → 27/8 | freq:290.2917404 ]",
|
||||
"[ 13/4 → 27/8 | freq:252.7136381 ]",
|
||||
"[ 13/4 → 27/8 | freq:241.3014955 ]",
|
||||
"[ 13/4 → 27/8 | freq:293.3333333 ]",
|
||||
"[ 27/8 → 7/2 | freq:333.4576446 ]",
|
||||
"[ 27/8 → 7/2 | freq:270.8517709 ]",
|
||||
"[ 27/8 → 7/2 | freq:252.7136381 ]",
|
||||
"[ 27/8 → 7/2 | freq:330 ]",
|
||||
"[ 7/2 → 29/8 | freq:383.0422479 ]",
|
||||
"[ 7/2 → 29/8 | freq:290.2917404 ]",
|
||||
"[ 7/2 → 29/8 | freq:264.6655079 ]",
|
||||
"[ 7/2 → 29/8 | freq:352 ]",
|
||||
"[ 29/8 → 15/4 | freq:440 ]",
|
||||
"[ 29/8 → 15/4 | freq:311.1269837 ]",
|
||||
"[ 29/8 → 15/4 | freq:277.182631 ]",
|
||||
"[ 29/8 → 15/4 | freq:440 ]",
|
||||
"[ 15/4 → 31/8 | freq:505.4272762 ]",
|
||||
"[ 15/4 → 31/8 | freq:333.4576446 ]",
|
||||
"[ 15/4 → 31/8 | freq:290.2917404 ]",
|
||||
"[ 15/4 → 31/8 | freq:550 ]",
|
||||
"[ 31/8 → 4/1 | freq:580.5834807 ]",
|
||||
"[ 31/8 → 4/1 | freq:357.3910544 ]",
|
||||
"[ 31/8 → 4/1 | freq:304.0208336 ]",
|
||||
"[ 31/8 → 4/1 | freq:586.6666667 ]",
|
||||
]
|
||||
`;
|
||||
@@ -14566,99 +14662,286 @@ exports[`runs examples > example "wtphaserand" example index 0 1`] = `
|
||||
exports[`runs examples > example "xen" example index 0 1`] = `
|
||||
[
|
||||
"[ 0/1 → 1/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 0/1 → 1/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 0/1 → 1/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 0/1 → 1/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 1/3 → 2/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 1/3 → 2/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 1/3 → 2/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 1/3 → 2/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 2/3 → 1/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 2/3 → 1/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 2/3 → 1/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 2/3 → 1/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 1/1 → 4/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 1/1 → 4/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 1/1 → 4/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 1/1 → 4/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 4/3 → 5/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 4/3 → 5/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 4/3 → 5/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 4/3 → 5/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 5/3 → 2/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 5/3 → 2/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 5/3 → 2/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 5/3 → 2/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 2/1 → 7/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 2/1 → 7/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 2/1 → 7/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 2/1 → 7/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 7/3 → 8/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 7/3 → 8/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 7/3 → 8/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 7/3 → 8/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 8/3 → 3/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 8/3 → 3/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 8/3 → 3/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 8/3 → 3/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 3/1 → 10/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 3/1 → 10/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 3/1 → 10/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 3/1 → 10/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 10/3 → 11/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 10/3 → 11/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 10/3 → 11/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 10/3 → 11/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 11/3 → 4/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 11/3 → 4/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 11/3 → 4/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 11/3 → 4/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
]
|
||||
`;
|
||||
|
||||
exports[`runs examples > example "xen" example index 1 1`] = `
|
||||
[
|
||||
"[ 0/1 → 1/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 1/3 → 2/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 2/3 → 1/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 1/1 → 4/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 4/3 → 5/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 5/3 → 2/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 2/1 → 7/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 7/3 → 8/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 8/3 → 3/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 3/1 → 10/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]",
|
||||
"[ 10/3 → 11/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]",
|
||||
"[ 11/3 → 4/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]",
|
||||
"[ 0/1 → 1/6 | freq:220 ]",
|
||||
"[ 0/1 → 1/6 | freq:220 ]",
|
||||
"[ 0/1 → 1/6 | freq:220 ]",
|
||||
"[ 0/1 → 1/6 | freq:220 ]",
|
||||
"[ 1/6 → 1/3 | freq:275 ]",
|
||||
"[ 1/6 → 1/3 | freq:275 ]",
|
||||
"[ 1/6 → 1/3 | freq:275 ]",
|
||||
"[ 1/6 → 1/3 | freq:275 ]",
|
||||
"[ 1/3 → 1/2 | freq:293.3333333 ]",
|
||||
"[ 1/3 → 1/2 | freq:293.3333333 ]",
|
||||
"[ 1/3 → 1/2 | freq:293.3333333 ]",
|
||||
"[ 1/3 → 1/2 | freq:293.3333333 ]",
|
||||
"[ 1/2 → 2/3 | freq:330 ]",
|
||||
"[ 1/2 → 2/3 | freq:330 ]",
|
||||
"[ 1/2 → 2/3 | freq:330 ]",
|
||||
"[ 1/2 → 2/3 | freq:330 ]",
|
||||
"[ 2/3 → 5/6 | freq:352 ]",
|
||||
"[ 2/3 → 5/6 | freq:352 ]",
|
||||
"[ 2/3 → 5/6 | freq:352 ]",
|
||||
"[ 2/3 → 5/6 | freq:352 ]",
|
||||
"[ 5/6 → 1/1 | freq:440 ]",
|
||||
"[ 5/6 → 1/1 | freq:440 ]",
|
||||
"[ 5/6 → 1/1 | freq:440 ]",
|
||||
"[ 5/6 → 1/1 | freq:440 ]",
|
||||
"[ 1/1 → 7/6 | freq:220 ]",
|
||||
"[ 1/1 → 7/6 | freq:220 ]",
|
||||
"[ 1/1 → 7/6 | freq:220 ]",
|
||||
"[ 1/1 → 7/6 | freq:220 ]",
|
||||
"[ 7/6 → 4/3 | freq:275 ]",
|
||||
"[ 7/6 → 4/3 | freq:275 ]",
|
||||
"[ 7/6 → 4/3 | freq:275 ]",
|
||||
"[ 7/6 → 4/3 | freq:275 ]",
|
||||
"[ 4/3 → 3/2 | freq:293.3333333 ]",
|
||||
"[ 4/3 → 3/2 | freq:293.3333333 ]",
|
||||
"[ 4/3 → 3/2 | freq:293.3333333 ]",
|
||||
"[ 4/3 → 3/2 | freq:293.3333333 ]",
|
||||
"[ 3/2 → 5/3 | freq:330 ]",
|
||||
"[ 3/2 → 5/3 | freq:330 ]",
|
||||
"[ 3/2 → 5/3 | freq:330 ]",
|
||||
"[ 3/2 → 5/3 | freq:330 ]",
|
||||
"[ 5/3 → 11/6 | freq:352 ]",
|
||||
"[ 5/3 → 11/6 | freq:352 ]",
|
||||
"[ 5/3 → 11/6 | freq:352 ]",
|
||||
"[ 5/3 → 11/6 | freq:352 ]",
|
||||
"[ 11/6 → 2/1 | freq:440 ]",
|
||||
"[ 11/6 → 2/1 | freq:440 ]",
|
||||
"[ 11/6 → 2/1 | freq:440 ]",
|
||||
"[ 11/6 → 2/1 | freq:440 ]",
|
||||
"[ 2/1 → 13/6 | freq:220 ]",
|
||||
"[ 2/1 → 13/6 | freq:220 ]",
|
||||
"[ 2/1 → 13/6 | freq:220 ]",
|
||||
"[ 2/1 → 13/6 | freq:220 ]",
|
||||
"[ 13/6 → 7/3 | freq:275 ]",
|
||||
"[ 13/6 → 7/3 | freq:275 ]",
|
||||
"[ 13/6 → 7/3 | freq:275 ]",
|
||||
"[ 13/6 → 7/3 | freq:275 ]",
|
||||
"[ 7/3 → 5/2 | freq:293.3333333 ]",
|
||||
"[ 7/3 → 5/2 | freq:293.3333333 ]",
|
||||
"[ 7/3 → 5/2 | freq:293.3333333 ]",
|
||||
"[ 7/3 → 5/2 | freq:293.3333333 ]",
|
||||
"[ 5/2 → 8/3 | freq:330 ]",
|
||||
"[ 5/2 → 8/3 | freq:330 ]",
|
||||
"[ 5/2 → 8/3 | freq:330 ]",
|
||||
"[ 5/2 → 8/3 | freq:330 ]",
|
||||
"[ 8/3 → 17/6 | freq:352 ]",
|
||||
"[ 8/3 → 17/6 | freq:352 ]",
|
||||
"[ 8/3 → 17/6 | freq:352 ]",
|
||||
"[ 8/3 → 17/6 | freq:352 ]",
|
||||
"[ 17/6 → 3/1 | freq:440 ]",
|
||||
"[ 17/6 → 3/1 | freq:440 ]",
|
||||
"[ 17/6 → 3/1 | freq:440 ]",
|
||||
"[ 17/6 → 3/1 | freq:440 ]",
|
||||
"[ 3/1 → 19/6 | freq:220 ]",
|
||||
"[ 3/1 → 19/6 | freq:220 ]",
|
||||
"[ 3/1 → 19/6 | freq:220 ]",
|
||||
"[ 3/1 → 19/6 | freq:220 ]",
|
||||
"[ 19/6 → 10/3 | freq:275 ]",
|
||||
"[ 19/6 → 10/3 | freq:275 ]",
|
||||
"[ 19/6 → 10/3 | freq:275 ]",
|
||||
"[ 19/6 → 10/3 | freq:275 ]",
|
||||
"[ 10/3 → 7/2 | freq:293.3333333 ]",
|
||||
"[ 10/3 → 7/2 | freq:293.3333333 ]",
|
||||
"[ 10/3 → 7/2 | freq:293.3333333 ]",
|
||||
"[ 10/3 → 7/2 | freq:293.3333333 ]",
|
||||
"[ 7/2 → 11/3 | freq:330 ]",
|
||||
"[ 7/2 → 11/3 | freq:330 ]",
|
||||
"[ 7/2 → 11/3 | freq:330 ]",
|
||||
"[ 7/2 → 11/3 | freq:330 ]",
|
||||
"[ 11/3 → 23/6 | freq:352 ]",
|
||||
"[ 11/3 → 23/6 | freq:352 ]",
|
||||
"[ 11/3 → 23/6 | freq:352 ]",
|
||||
"[ 11/3 → 23/6 | freq:352 ]",
|
||||
"[ 23/6 → 4/1 | freq:440 ]",
|
||||
"[ 23/6 → 4/1 | freq:440 ]",
|
||||
"[ 23/6 → 4/1 | freq:440 ]",
|
||||
"[ 23/6 → 4/1 | freq:440 ]",
|
||||
]
|
||||
`;
|
||||
|
||||
exports[`runs examples > example "xen" example index 2 1`] = `
|
||||
[
|
||||
"[ 0/1 → 1/6 | freq:220 ]",
|
||||
"[ 1/6 → 1/3 | freq:275 ]",
|
||||
"[ 1/3 → 1/2 | freq:293.3333333 ]",
|
||||
"[ 1/2 → 2/3 | freq:330 ]",
|
||||
"[ 2/3 → 5/6 | freq:352 ]",
|
||||
"[ 5/6 → 1/1 | freq:440 ]",
|
||||
"[ 1/1 → 7/6 | freq:220 ]",
|
||||
"[ 7/6 → 4/3 | freq:275 ]",
|
||||
"[ 4/3 → 3/2 | freq:293.3333333 ]",
|
||||
"[ 3/2 → 5/3 | freq:330 ]",
|
||||
"[ 5/3 → 11/6 | freq:352 ]",
|
||||
"[ 11/6 → 2/1 | freq:440 ]",
|
||||
"[ 2/1 → 13/6 | freq:220 ]",
|
||||
"[ 13/6 → 7/3 | freq:275 ]",
|
||||
"[ 7/3 → 5/2 | freq:293.3333333 ]",
|
||||
"[ 5/2 → 8/3 | freq:330 ]",
|
||||
"[ 8/3 → 17/6 | freq:352 ]",
|
||||
"[ 17/6 → 3/1 | freq:440 ]",
|
||||
"[ 3/1 → 19/6 | freq:220 ]",
|
||||
"[ 19/6 → 10/3 | freq:275 ]",
|
||||
"[ 10/3 → 7/2 | freq:293.3333333 ]",
|
||||
"[ 7/2 → 11/3 | freq:330 ]",
|
||||
"[ 11/3 → 23/6 | freq:352 ]",
|
||||
"[ 23/6 → 4/1 | freq:440 ]",
|
||||
]
|
||||
`;
|
||||
|
||||
exports[`runs examples > example "xen" example index 3 1`] = `
|
||||
[
|
||||
"[ 0/1 → 1/8 | freq:220 ]",
|
||||
"[ 0/1 → 1/8 | freq:220 ]",
|
||||
"[ 0/1 → 1/8 | freq:220 ]",
|
||||
"[ 0/1 → 1/8 | freq:220 ]",
|
||||
"[ 1/8 → 1/4 | freq:252.7136381 ]",
|
||||
"[ 1/8 → 1/4 | freq:235.7901618 ]",
|
||||
"[ 1/8 → 1/4 | freq:230.404707 ]",
|
||||
"[ 1/8 → 1/4 | freq:275 ]",
|
||||
"[ 1/4 → 3/8 | freq:290.2917404 ]",
|
||||
"[ 1/4 → 3/8 | freq:252.7136381 ]",
|
||||
"[ 1/4 → 3/8 | freq:241.3014955 ]",
|
||||
"[ 1/4 → 3/8 | freq:293.3333333 ]",
|
||||
"[ 3/8 → 1/2 | freq:333.4576446 ]",
|
||||
"[ 3/8 → 1/2 | freq:270.8517709 ]",
|
||||
"[ 3/8 → 1/2 | freq:252.7136381 ]",
|
||||
"[ 3/8 → 1/2 | freq:330 ]",
|
||||
"[ 1/2 → 5/8 | freq:383.0422479 ]",
|
||||
"[ 1/2 → 5/8 | freq:290.2917404 ]",
|
||||
"[ 1/2 → 5/8 | freq:264.6655079 ]",
|
||||
"[ 1/2 → 5/8 | freq:352 ]",
|
||||
"[ 5/8 → 3/4 | freq:440 ]",
|
||||
"[ 5/8 → 3/4 | freq:311.1269837 ]",
|
||||
"[ 5/8 → 3/4 | freq:277.182631 ]",
|
||||
"[ 5/8 → 3/4 | freq:440 ]",
|
||||
"[ 3/4 → 7/8 | freq:505.4272762 ]",
|
||||
"[ 3/4 → 7/8 | freq:333.4576446 ]",
|
||||
"[ 3/4 → 7/8 | freq:290.2917404 ]",
|
||||
"[ 3/4 → 7/8 | freq:550 ]",
|
||||
"[ 7/8 → 1/1 | freq:580.5834807 ]",
|
||||
"[ 7/8 → 1/1 | freq:357.3910544 ]",
|
||||
"[ 7/8 → 1/1 | freq:304.0208336 ]",
|
||||
"[ 7/8 → 1/1 | freq:586.6666667 ]",
|
||||
"[ 1/1 → 9/8 | freq:220 ]",
|
||||
"[ 1/1 → 9/8 | freq:220 ]",
|
||||
"[ 1/1 → 9/8 | freq:220 ]",
|
||||
"[ 1/1 → 9/8 | freq:220 ]",
|
||||
"[ 9/8 → 5/4 | freq:252.7136381 ]",
|
||||
"[ 9/8 → 5/4 | freq:235.7901618 ]",
|
||||
"[ 9/8 → 5/4 | freq:230.404707 ]",
|
||||
"[ 9/8 → 5/4 | freq:275 ]",
|
||||
"[ 5/4 → 11/8 | freq:290.2917404 ]",
|
||||
"[ 5/4 → 11/8 | freq:252.7136381 ]",
|
||||
"[ 5/4 → 11/8 | freq:241.3014955 ]",
|
||||
"[ 5/4 → 11/8 | freq:293.3333333 ]",
|
||||
"[ 11/8 → 3/2 | freq:333.4576446 ]",
|
||||
"[ 11/8 → 3/2 | freq:270.8517709 ]",
|
||||
"[ 11/8 → 3/2 | freq:252.7136381 ]",
|
||||
"[ 11/8 → 3/2 | freq:330 ]",
|
||||
"[ 3/2 → 13/8 | freq:383.0422479 ]",
|
||||
"[ 3/2 → 13/8 | freq:290.2917404 ]",
|
||||
"[ 3/2 → 13/8 | freq:264.6655079 ]",
|
||||
"[ 3/2 → 13/8 | freq:352 ]",
|
||||
"[ 13/8 → 7/4 | freq:440 ]",
|
||||
"[ 13/8 → 7/4 | freq:311.1269837 ]",
|
||||
"[ 13/8 → 7/4 | freq:277.182631 ]",
|
||||
"[ 13/8 → 7/4 | freq:440 ]",
|
||||
"[ 7/4 → 15/8 | freq:505.4272762 ]",
|
||||
"[ 7/4 → 15/8 | freq:333.4576446 ]",
|
||||
"[ 7/4 → 15/8 | freq:290.2917404 ]",
|
||||
"[ 7/4 → 15/8 | freq:550 ]",
|
||||
"[ 15/8 → 2/1 | freq:580.5834807 ]",
|
||||
"[ 15/8 → 2/1 | freq:357.3910544 ]",
|
||||
"[ 15/8 → 2/1 | freq:304.0208336 ]",
|
||||
"[ 15/8 → 2/1 | freq:586.6666667 ]",
|
||||
"[ 2/1 → 17/8 | freq:220 ]",
|
||||
"[ 2/1 → 17/8 | freq:220 ]",
|
||||
"[ 2/1 → 17/8 | freq:220 ]",
|
||||
"[ 2/1 → 17/8 | freq:220 ]",
|
||||
"[ 17/8 → 9/4 | freq:252.7136381 ]",
|
||||
"[ 17/8 → 9/4 | freq:235.7901618 ]",
|
||||
"[ 17/8 → 9/4 | freq:230.404707 ]",
|
||||
"[ 17/8 → 9/4 | freq:275 ]",
|
||||
"[ 9/4 → 19/8 | freq:290.2917404 ]",
|
||||
"[ 9/4 → 19/8 | freq:252.7136381 ]",
|
||||
"[ 9/4 → 19/8 | freq:241.3014955 ]",
|
||||
"[ 9/4 → 19/8 | freq:293.3333333 ]",
|
||||
"[ 19/8 → 5/2 | freq:333.4576446 ]",
|
||||
"[ 19/8 → 5/2 | freq:270.8517709 ]",
|
||||
"[ 19/8 → 5/2 | freq:252.7136381 ]",
|
||||
"[ 19/8 → 5/2 | freq:330 ]",
|
||||
"[ 5/2 → 21/8 | freq:383.0422479 ]",
|
||||
"[ 5/2 → 21/8 | freq:290.2917404 ]",
|
||||
"[ 5/2 → 21/8 | freq:264.6655079 ]",
|
||||
"[ 5/2 → 21/8 | freq:352 ]",
|
||||
"[ 21/8 → 11/4 | freq:440 ]",
|
||||
"[ 21/8 → 11/4 | freq:311.1269837 ]",
|
||||
"[ 21/8 → 11/4 | freq:277.182631 ]",
|
||||
"[ 21/8 → 11/4 | freq:440 ]",
|
||||
"[ 11/4 → 23/8 | freq:505.4272762 ]",
|
||||
"[ 11/4 → 23/8 | freq:333.4576446 ]",
|
||||
"[ 11/4 → 23/8 | freq:290.2917404 ]",
|
||||
"[ 11/4 → 23/8 | freq:550 ]",
|
||||
"[ 23/8 → 3/1 | freq:580.5834807 ]",
|
||||
"[ 23/8 → 3/1 | freq:357.3910544 ]",
|
||||
"[ 23/8 → 3/1 | freq:304.0208336 ]",
|
||||
"[ 23/8 → 3/1 | freq:586.6666667 ]",
|
||||
"[ 3/1 → 25/8 | freq:220 ]",
|
||||
"[ 3/1 → 25/8 | freq:220 ]",
|
||||
"[ 3/1 → 25/8 | freq:220 ]",
|
||||
"[ 3/1 → 25/8 | freq:220 ]",
|
||||
"[ 25/8 → 13/4 | freq:252.7136381 ]",
|
||||
"[ 25/8 → 13/4 | freq:235.7901618 ]",
|
||||
"[ 25/8 → 13/4 | freq:230.404707 ]",
|
||||
"[ 25/8 → 13/4 | freq:275 ]",
|
||||
"[ 13/4 → 27/8 | freq:290.2917404 ]",
|
||||
"[ 13/4 → 27/8 | freq:252.7136381 ]",
|
||||
"[ 13/4 → 27/8 | freq:241.3014955 ]",
|
||||
"[ 13/4 → 27/8 | freq:293.3333333 ]",
|
||||
"[ 27/8 → 7/2 | freq:333.4576446 ]",
|
||||
"[ 27/8 → 7/2 | freq:270.8517709 ]",
|
||||
"[ 27/8 → 7/2 | freq:252.7136381 ]",
|
||||
"[ 27/8 → 7/2 | freq:330 ]",
|
||||
"[ 7/2 → 29/8 | freq:383.0422479 ]",
|
||||
"[ 7/2 → 29/8 | freq:290.2917404 ]",
|
||||
"[ 7/2 → 29/8 | freq:264.6655079 ]",
|
||||
"[ 7/2 → 29/8 | freq:352 ]",
|
||||
"[ 29/8 → 15/4 | freq:440 ]",
|
||||
"[ 29/8 → 15/4 | freq:311.1269837 ]",
|
||||
"[ 29/8 → 15/4 | freq:277.182631 ]",
|
||||
"[ 29/8 → 15/4 | freq:440 ]",
|
||||
"[ 15/4 → 31/8 | freq:505.4272762 ]",
|
||||
"[ 15/4 → 31/8 | freq:333.4576446 ]",
|
||||
"[ 15/4 → 31/8 | freq:290.2917404 ]",
|
||||
"[ 15/4 → 31/8 | freq:550 ]",
|
||||
"[ 31/8 → 4/1 | freq:580.5834807 ]",
|
||||
"[ 31/8 → 4/1 | freq:357.3910544 ]",
|
||||
"[ 31/8 → 4/1 | freq:304.0208336 ]",
|
||||
"[ 31/8 → 4/1 | freq:586.6666667 ]",
|
||||
]
|
||||
`;
|
||||
|
||||
Reference in New Issue
Block a user