Spaces:
Sleeping
Sleeping
File size: 1,005 Bytes
d605f27 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
const PHONETS = "cdefgab";
const PHONETS_ALIAS = {
h: "b",
};
const phonetDifferToShift = differ => differ > 3 ? -1 : (differ < -3 ? 1 : 0);
const PHONET_VALUES = {
c: 0, d: 2, e: 4, f: 5, g: 7, a: 9, b: 11,
};
const SHARP_ALTERS = [
"is", "d", "s", "iss", "k", "sharp",
];
const FLAT_ALTERS = [
"es", "b", "f", "ess", "flat",
];
// in Dutch, 'as', 'es' means a flat/e flat, that's not supported here
const DOUBLE_SHARP_ALTERS = [
...SHARP_ALTERS.map(word => word + word), "x",
];
const DOUBLE_FLAT_ALTERS = [
...FLAT_ALTERS.map(word => word + word), "ses",
];
const alterTablize = (list, value) => list.reduce((table, word) => ((table[word] = value), table), {});
const ALTER_VALUES = {
...alterTablize(SHARP_ALTERS, 1),
...alterTablize(FLAT_ALTERS, -1),
...alterTablize(DOUBLE_SHARP_ALTERS, 2),
...alterTablize(DOUBLE_FLAT_ALTERS, -2),
};
const FIFTH_PHONETS = "fcgdaeb";
export {
PHONETS,
PHONETS_ALIAS,
phonetDifferToShift,
PHONET_VALUES,
ALTER_VALUES,
FIFTH_PHONETS,
};
|