tblswvs 0.17.0 → 0.18.0-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/es5/helpers.d.ts +3 -1
- package/lib/es5/helpers.js +10 -3
- package/lib/es5/helpers.js.map +1 -1
- package/lib/es5/markov_chain.d.ts +2 -3
- package/lib/es5/markov_chain.js +1 -1
- package/lib/es5/markov_chain.js.map +1 -1
- package/lib/es5/melodic_vector.d.ts +3 -3
- package/lib/es5/melodic_vector.js +39 -17
- package/lib/es5/melodic_vector.js.map +1 -1
- package/lib/es5/melody.d.ts +7 -21
- package/lib/es5/melody.js +30 -42
- package/lib/es5/melody.js.map +1 -1
- package/lib/es5/mutation.d.ts +11 -0
- package/lib/es5/mutation.js +76 -0
- package/lib/es5/mutation.js.map +1 -0
- package/lib/es5/note_data.d.ts +4 -0
- package/lib/es5/note_data.js.map +1 -1
- package/lib/es5/rhythm.d.ts +1 -2
- package/lib/es5/rhythm.js +4 -4
- package/lib/es5/rhythm.js.map +1 -1
- package/lib/es6/helpers.js +8 -2
- package/lib/es6/helpers.js.map +1 -1
- package/lib/es6/markov_chain.js +1 -1
- package/lib/es6/markov_chain.js.map +1 -1
- package/lib/es6/melodic_vector.js +39 -17
- package/lib/es6/melodic_vector.js.map +1 -1
- package/lib/es6/melody.js +29 -41
- package/lib/es6/melody.js.map +1 -1
- package/lib/es6/mutation.js +72 -0
- package/lib/es6/mutation.js.map +1 -0
- package/lib/es6/note_data.js.map +1 -1
- package/lib/es6/rhythm.js +4 -4
- package/lib/es6/rhythm.js.map +1 -1
- package/package.json +1 -1
- package/lib/es5/sequence.d.ts +0 -3
- package/lib/es5/sequence.js +0 -3
- package/lib/es5/sequence.js.map +0 -1
- package/lib/es6/sequence.js +0 -2
- package/lib/es6/sequence.js.map +0 -1
package/lib/es5/helpers.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
export declare const INCOMPATIBLE_SEQ_MSG: string;
|
|
2
1
|
export declare const NON_INTEGER_INPUTS = "Numbers must be integers";
|
|
3
2
|
export declare const SELF_SIMILARITY_REQUIRES_COPRIMES: string;
|
|
4
3
|
export declare const SCALE_DEGREE_ERROR = "Scale degrees must be negative or positive, but not 0";
|
|
4
|
+
export declare const SCALE_DEGREE_SHIFTS_REQUIRE_KEY = "Melodic vectors with shift mode 'scale' can only operate on a Meloyd with a Key";
|
|
5
|
+
export declare const KEY_REQUIRED_FOR_MUTATION = "Mutations require a Melody object with a key";
|
|
5
6
|
export declare const unique: (value: any, index: number, self: any) => boolean;
|
|
6
7
|
export declare const areCoprime: (num1: number, num2: number) => boolean;
|
|
7
8
|
export declare const rotate: (arr: any[], offset: number) => any[];
|
|
8
9
|
export declare const inversionMap: (range: (number | number[])) => Map<number, number>;
|
|
10
|
+
export declare const shuffle: (arr: any[]) => void;
|
package/lib/es5/helpers.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.inversionMap = exports.rotate = exports.areCoprime = exports.unique = exports.
|
|
3
|
+
exports.shuffle = exports.inversionMap = exports.rotate = exports.areCoprime = exports.unique = exports.KEY_REQUIRED_FOR_MUTATION = exports.SCALE_DEGREE_SHIFTS_REQUIRE_KEY = exports.SCALE_DEGREE_ERROR = exports.SELF_SIMILARITY_REQUIRES_COPRIMES = exports.NON_INTEGER_INPUTS = void 0;
|
|
4
4
|
const tblswvs_error_1 = require("./tblswvs_error");
|
|
5
|
-
exports.INCOMPATIBLE_SEQ_MSG = "A Sequence can only be made new from and Array of Sequence " +
|
|
6
|
-
"objects that share the same rest symbol and mode";
|
|
7
5
|
exports.NON_INTEGER_INPUTS = "Numbers must be integers";
|
|
8
6
|
exports.SELF_SIMILARITY_REQUIRES_COPRIMES = "A self-similar melody can only be produced for an input sequence length " +
|
|
9
7
|
"that is coprime with the output sequence length";
|
|
10
8
|
exports.SCALE_DEGREE_ERROR = "Scale degrees must be negative or positive, but not 0";
|
|
9
|
+
exports.SCALE_DEGREE_SHIFTS_REQUIRE_KEY = "Melodic vectors with shift mode 'scale' can only operate on a Meloyd with a Key";
|
|
10
|
+
exports.KEY_REQUIRED_FOR_MUTATION = "Mutations require a Melody object with a key";
|
|
11
11
|
const unique = (value, index, self) => {
|
|
12
12
|
return self.indexOf(value) === index;
|
|
13
13
|
};
|
|
@@ -47,4 +47,11 @@ const inversionMap = (range) => {
|
|
|
47
47
|
return map;
|
|
48
48
|
};
|
|
49
49
|
exports.inversionMap = inversionMap;
|
|
50
|
+
const shuffle = (arr) => {
|
|
51
|
+
for (let i = arr.length - 1; i > 0; i--) {
|
|
52
|
+
const j = Math.floor(Math.random() * (i + 1));
|
|
53
|
+
[arr[i], arr[j]] = [arr[j], arr[i]];
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
exports.shuffle = shuffle;
|
|
50
57
|
//# sourceMappingURL=helpers.js.map
|
package/lib/es5/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/helpers.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAGlC,QAAA,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { Melody } from "./melody";
|
|
2
1
|
export declare class MarkovChain {
|
|
3
|
-
input:
|
|
2
|
+
input: any[];
|
|
4
3
|
stateTransitionMatrix: Map<(string), (string | number)[]>;
|
|
5
|
-
constructor(input:
|
|
4
|
+
constructor(input: any[]);
|
|
6
5
|
get(previous: number, current: number): (string | number);
|
|
7
6
|
private generateStm;
|
|
8
7
|
}
|
package/lib/es5/markov_chain.js
CHANGED
|
@@ -11,7 +11,7 @@ class MarkovChain {
|
|
|
11
11
|
return candidates[Math.floor(Math.random() * candidates.length)];
|
|
12
12
|
}
|
|
13
13
|
generateStm() {
|
|
14
|
-
return this.input.
|
|
14
|
+
return this.input.reduce((stm, step, i, arr) => {
|
|
15
15
|
if (i < arr.length - 1) {
|
|
16
16
|
const prevStep = (i == 0) ? step : arr[i - 1];
|
|
17
17
|
const nextStep = arr[i + 1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markov_chain.js","sourceRoot":"","sources":["../../../src/markov_chain.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"markov_chain.js","sourceRoot":"","sources":["../../../src/markov_chain.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IAKpB,YAAY,KAAY;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACpD,CAAC;IAGD,GAAG,CAAC,QAAgB,EAAE,OAAe;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;QAClF,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAGO,WAAW;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;YAC3C,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5B,MAAM,GAAG,GAAQ,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;aACxB;YACD,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,IAAI,GAAgC,CAAC,CAAC;IAC7C,CAAC;CACJ;AA9BD,kCA8BC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Sequence } from "./sequence";
|
|
2
1
|
import { Melody } from "./melody";
|
|
3
2
|
import { Transformation } from "./transformation";
|
|
4
3
|
/**
|
|
@@ -10,14 +9,15 @@ import { Transformation } from "./transformation";
|
|
|
10
9
|
* in the Melody that it is transforming. The MelodicVector's steps will instead be repeated until
|
|
11
10
|
* it is expanded to the size of the Melody's steps.
|
|
12
11
|
*/
|
|
13
|
-
export declare class MelodicVector implements
|
|
12
|
+
export declare class MelodicVector implements Transformation {
|
|
14
13
|
steps: number[];
|
|
14
|
+
shiftMode: ("midi" | "scale");
|
|
15
15
|
/**
|
|
16
16
|
* Create a new MelodicVector object.
|
|
17
17
|
*
|
|
18
18
|
* @param steps number[] the steps that represent the object's vector
|
|
19
19
|
*/
|
|
20
|
-
constructor(steps: number[]);
|
|
20
|
+
constructor(steps: number[], shiftMode?: ("midi" | "scale"));
|
|
21
21
|
/**
|
|
22
22
|
* Transforms a melody by vector addition. Note that the vector step length and melody step
|
|
23
23
|
* length do not need to be equal.
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MelodicVector = void 0;
|
|
4
|
-
const
|
|
4
|
+
const helpers = require("./helpers");
|
|
5
|
+
const tblswvs_error_1 = require("./tblswvs_error");
|
|
5
6
|
/**
|
|
6
7
|
* A MelodicVector is a sequence of numbers that can transform a Melody object by applying vector
|
|
7
8
|
* addition to a numerical representation of the Melody's note data.
|
|
@@ -17,8 +18,11 @@ class MelodicVector {
|
|
|
17
18
|
*
|
|
18
19
|
* @param steps number[] the steps that represent the object's vector
|
|
19
20
|
*/
|
|
20
|
-
constructor(steps) {
|
|
21
|
+
constructor(steps, shiftMode) {
|
|
22
|
+
this.shiftMode = "midi";
|
|
21
23
|
this.steps = steps;
|
|
24
|
+
if (shiftMode != undefined)
|
|
25
|
+
this.shiftMode = shiftMode;
|
|
22
26
|
}
|
|
23
27
|
/**
|
|
24
28
|
* Transforms a melody by vector addition. Note that the vector step length and melody step
|
|
@@ -28,21 +32,39 @@ class MelodicVector {
|
|
|
28
32
|
* @returns new Melody with steps based on summing the input melody steps and the vector steps
|
|
29
33
|
*/
|
|
30
34
|
applyTo(melody) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
35
|
+
if (melody.key == undefined && this.shiftMode == "scale") {
|
|
36
|
+
throw new tblswvs_error_1.TblswvsError(helpers.SCALE_DEGREE_SHIFTS_REQUIRE_KEY);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
// First generate an array of steps that will match the melody's length.
|
|
40
|
+
const size = Math.ceil((melody.notes.length / this.steps.length));
|
|
41
|
+
const expandedSteps = new Array(size).fill(this.steps).flat().slice(0, melody.notes.length);
|
|
42
|
+
// Create a copy of the melody so that the rest symbol and mode are carried forward.
|
|
43
|
+
// Then apply the vector addition.
|
|
44
|
+
const transformedMelody = melody.clone();
|
|
45
|
+
expandedSteps.forEach((step, i) => {
|
|
46
|
+
var _a, _b, _c;
|
|
47
|
+
if (melody.notes[i].note == "rest") {
|
|
48
|
+
// Do Nothing
|
|
49
|
+
}
|
|
50
|
+
else if (this.shiftMode == "midi") {
|
|
51
|
+
transformedMelody.notes[i].midi += step;
|
|
52
|
+
const scaleNoteIndex = (_a = transformedMelody.key) === null || _a === void 0 ? void 0 : _a.scaleNotes.indexOf((_b = transformedMelody.key) === null || _b === void 0 ? void 0 : _b.midi2note(transformedMelody.notes[i].midi).replace(/\d+/, ""));
|
|
53
|
+
if (scaleNoteIndex == undefined || scaleNoteIndex == -1)
|
|
54
|
+
transformedMelody.notes[i].scaleDegree = undefined;
|
|
55
|
+
else
|
|
56
|
+
transformedMelody.notes[i].scaleDegree = scaleNoteIndex + 1;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
let transposedDegree = transformedMelody.notes[i].scaleDegree + step;
|
|
60
|
+
transposedDegree = transposedDegree < 1 ? transposedDegree - 1 : transposedDegree;
|
|
61
|
+
const newNote = (_c = transformedMelody.key) === null || _c === void 0 ? void 0 : _c.degree(transposedDegree);
|
|
62
|
+
if (newNote != undefined)
|
|
63
|
+
transformedMelody.notes[i] = newNote;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
return transformedMelody;
|
|
67
|
+
}
|
|
46
68
|
}
|
|
47
69
|
}
|
|
48
70
|
exports.MelodicVector = MelodicVector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"melodic_vector.js","sourceRoot":"","sources":["../../../src/melodic_vector.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"melodic_vector.js","sourceRoot":"","sources":["../../../src/melodic_vector.ts"],"names":[],"mappings":";;;AAEA,qCAAqC;AACrC,mDAA+C;AAG/C;;;;;;;;GAQG;AACH,MAAa,aAAa;IAKtB;;;;OAIG;IACH,YAAY,KAAe,EAAE,SAA4B;QARzD,cAAS,GAAqB,MAAM,CAAC;QASjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,SAAS,IAAI,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC3D,CAAC;IAGD;;;;;;OAMG;IACH,OAAO,CAAC,MAAc;QAClB,IAAI,MAAM,CAAC,GAAG,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,EAAE;YACtD,MAAM,IAAI,4BAAY,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;SACnE;aAAM;YACH,wEAAwE;YACxE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE5F,oFAAoF;YACpF,kCAAkC;YAClC,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YACzC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;;gBAE9B,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,EAAE;oBAChC,aAAa;iBAChB;qBAAM,IAAI,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE;oBACjC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;oBAExC,MAAM,cAAc,GAAG,MAAA,iBAAiB,CAAC,GAAG,0CAAE,UAAU,CAAC,OAAO,CAAC,MAAA,iBAAiB,CAAC,GAAG,0CAAE,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;oBACvJ,IAAI,cAAc,IAAI,SAAS,IAAI,cAAc,IAAI,CAAC,CAAC;wBACnD,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,SAAS,CAAC;;wBAEnD,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,cAAc,GAAG,CAAC,CAAC;iBAEnE;qBAAM;oBACH,IAAI,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;oBACrE,gBAAgB,GAAO,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;oBACtF,MAAM,OAAO,GAAG,MAAA,iBAAiB,CAAC,GAAG,0CAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBAChE,IAAI,OAAO,IAAI,SAAS;wBAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;iBAClE;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,iBAAiB,CAAC;SAC5B;IACL,CAAC;CACJ;AA1DD,sCA0DC"}
|
package/lib/es5/melody.d.ts
CHANGED
|
@@ -1,28 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
* The primary melody types: MIDI and Scale Degrees.
|
|
4
|
-
*
|
|
5
|
-
* MIDI mode means that integers in a Melody's steps property should be interpreted as MIDI note numbers.
|
|
6
|
-
*
|
|
7
|
-
* Scale Degrees mode means that numbers in a Melody should interpreted as scale degrees where the number 1
|
|
8
|
-
* is represented as the scale's tonic. For example, with a 7 note scale like the western modal scales, 8 is
|
|
9
|
-
* then interpreted as the tonic raised by 1 octave. Scale degrees should be greater than or equal to 1 and
|
|
10
|
-
* the number 0 is interpreted as a rest.
|
|
11
|
-
*/
|
|
12
|
-
export declare enum MelodyType {
|
|
13
|
-
MIDI = "MIDI",
|
|
14
|
-
Degrees = "Scale Degrees"
|
|
15
|
-
}
|
|
1
|
+
import { note } from "./note_data";
|
|
2
|
+
import { Key } from "./key";
|
|
16
3
|
/**
|
|
17
4
|
* The Melody class represents the primary melodic object. A melody has steps that are intended to represet
|
|
18
5
|
* a sequence of notes and rests. It stores its rest symbol and its melodic mode, which should come from the
|
|
19
6
|
* MelodyType enum.
|
|
20
7
|
*/
|
|
21
|
-
export declare class Melody
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
constructor(steps?: (string | number)[], restSymbol?: number | string, mode?: MelodyType);
|
|
8
|
+
export declare class Melody {
|
|
9
|
+
notes: note[];
|
|
10
|
+
key?: Key;
|
|
11
|
+
constructor(notes: note[], key?: Key);
|
|
26
12
|
/**
|
|
27
13
|
* Clone this melody.
|
|
28
14
|
*
|
|
@@ -86,7 +72,7 @@ export declare class Melody implements Sequence {
|
|
|
86
72
|
* @param offset offset in the returned sequence from which the sequence starts
|
|
87
73
|
* @returns a Melody with the infinity series as its steps
|
|
88
74
|
*/
|
|
89
|
-
static infinitySeries(seed?: number[], size?: number, offset?: number):
|
|
75
|
+
static infinitySeries(seed?: number[], size?: number, offset?: number): number[];
|
|
90
76
|
/**
|
|
91
77
|
* Returns the value for any index of the base infinity series sequence (0, 1 seed). This function enables
|
|
92
78
|
* an efficient way to compute any arbitrary section of the infinity series without needing to compute
|
package/lib/es5/melody.js
CHANGED
|
@@ -1,34 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Melody =
|
|
3
|
+
exports.Melody = void 0;
|
|
4
4
|
const tblswvs_error_1 = require("./tblswvs_error");
|
|
5
5
|
const helpers = require("./helpers");
|
|
6
6
|
const rhythm_1 = require("./rhythm");
|
|
7
|
-
/**
|
|
8
|
-
* The primary melody types: MIDI and Scale Degrees.
|
|
9
|
-
*
|
|
10
|
-
* MIDI mode means that integers in a Melody's steps property should be interpreted as MIDI note numbers.
|
|
11
|
-
*
|
|
12
|
-
* Scale Degrees mode means that numbers in a Melody should interpreted as scale degrees where the number 1
|
|
13
|
-
* is represented as the scale's tonic. For example, with a 7 note scale like the western modal scales, 8 is
|
|
14
|
-
* then interpreted as the tonic raised by 1 octave. Scale degrees should be greater than or equal to 1 and
|
|
15
|
-
* the number 0 is interpreted as a rest.
|
|
16
|
-
*/
|
|
17
|
-
var MelodyType;
|
|
18
|
-
(function (MelodyType) {
|
|
19
|
-
MelodyType["MIDI"] = "MIDI";
|
|
20
|
-
MelodyType["Degrees"] = "Scale Degrees";
|
|
21
|
-
})(MelodyType = exports.MelodyType || (exports.MelodyType = {}));
|
|
22
7
|
/**
|
|
23
8
|
* The Melody class represents the primary melodic object. A melody has steps that are intended to represet
|
|
24
9
|
* a sequence of notes and rests. It stores its rest symbol and its melodic mode, which should come from the
|
|
25
10
|
* MelodyType enum.
|
|
26
11
|
*/
|
|
27
12
|
class Melody {
|
|
28
|
-
constructor(
|
|
29
|
-
this.
|
|
30
|
-
|
|
31
|
-
|
|
13
|
+
constructor(notes, key) {
|
|
14
|
+
this.notes = notes;
|
|
15
|
+
if (key != undefined) {
|
|
16
|
+
this.key = key;
|
|
17
|
+
notes.forEach(note => {
|
|
18
|
+
if (note.note != "rest" && note.scaleDegree == undefined) {
|
|
19
|
+
const scaleNoteIndex = key.scaleNotes.indexOf(key.midi2note(note.midi).replace(/\d+/, ""));
|
|
20
|
+
if (scaleNoteIndex != -1)
|
|
21
|
+
note.scaleDegree = scaleNoteIndex + 1;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
32
25
|
}
|
|
33
26
|
/**
|
|
34
27
|
* Clone this melody.
|
|
@@ -36,7 +29,7 @@ class Melody {
|
|
|
36
29
|
* @returns a new copy of this object.
|
|
37
30
|
*/
|
|
38
31
|
clone() {
|
|
39
|
-
return new Melody(this.
|
|
32
|
+
return new Melody(this.notes.slice(), this.key);
|
|
40
33
|
}
|
|
41
34
|
/**
|
|
42
35
|
* Create a new Melody from multiple Melody objects.
|
|
@@ -48,12 +41,8 @@ class Melody {
|
|
|
48
41
|
* @returns a new Melody that combines the sequences steps
|
|
49
42
|
*/
|
|
50
43
|
static newFrom(sequences) {
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
if (restSymbols.length > 1 || modes.length > 1)
|
|
54
|
-
throw new tblswvs_error_1.TblswvsError(helpers.INCOMPATIBLE_SEQ_MSG);
|
|
55
|
-
const steps = sequences.map(s => s.steps).flat();
|
|
56
|
-
return new Melody(steps, sequences[0].restSymbol, sequences[0].melodicMode);
|
|
44
|
+
const steps = sequences.map(s => s.notes).flat();
|
|
45
|
+
return new Melody(steps, sequences[0].key);
|
|
57
46
|
}
|
|
58
47
|
/**
|
|
59
48
|
* Generate a self-replicating melody based on this Melody's steps.
|
|
@@ -67,8 +56,8 @@ class Melody {
|
|
|
67
56
|
if (!helpers.areCoprime(length, ratio))
|
|
68
57
|
throw new tblswvs_error_1.TblswvsError(helpers.SELF_SIMILARITY_REQUIRES_COPRIMES);
|
|
69
58
|
let sequence = new Array(length).fill(-1);
|
|
70
|
-
sequence[0] = this.
|
|
71
|
-
sequence[1] = this.
|
|
59
|
+
sequence[0] = this.notes[0];
|
|
60
|
+
sequence[1] = this.notes[1];
|
|
72
61
|
let contiguousSequence, currentNote, stepAmount, nextNote;
|
|
73
62
|
let nextEmpty = sequence.findIndex(note => note == -1), count = 2;
|
|
74
63
|
// Build a self replicating melody by powers of 2 until all notes are filled.
|
|
@@ -87,14 +76,14 @@ class Melody {
|
|
|
87
76
|
}
|
|
88
77
|
// If the sequence still has empty spots, find the first one and fill it with the next
|
|
89
78
|
// note in the input note list.
|
|
90
|
-
nextNote = this.
|
|
79
|
+
nextNote = this.notes[count % this.notes.length];
|
|
91
80
|
nextEmpty = sequence.findIndex(note => note == -1);
|
|
92
81
|
if (nextEmpty != -1)
|
|
93
82
|
sequence[nextEmpty] = nextNote;
|
|
94
83
|
count++;
|
|
95
84
|
} while (nextEmpty != -1);
|
|
96
85
|
let melody = this.clone();
|
|
97
|
-
melody.
|
|
86
|
+
melody.notes = sequence;
|
|
98
87
|
return melody;
|
|
99
88
|
}
|
|
100
89
|
/**
|
|
@@ -112,15 +101,15 @@ class Melody {
|
|
|
112
101
|
*/
|
|
113
102
|
counted() {
|
|
114
103
|
let sequence = new Array();
|
|
115
|
-
for (let i = 1; i <= this.
|
|
104
|
+
for (let i = 1; i <= this.notes.length; i++) {
|
|
116
105
|
let rhythmSteps = new Array(i).fill(1);
|
|
117
106
|
rhythmSteps.push(0);
|
|
118
|
-
let length = this.
|
|
107
|
+
let length = this.notes.length * (i + 1);
|
|
119
108
|
let rhythm = new rhythm_1.Rhythm(rhythmSteps, "wrap", length);
|
|
120
|
-
rhythm.applyTo(this).
|
|
109
|
+
rhythm.applyTo(this).notes.forEach(step => sequence.push(step));
|
|
121
110
|
}
|
|
122
111
|
let countedMelody = this.clone();
|
|
123
|
-
countedMelody.
|
|
112
|
+
countedMelody.notes = sequence;
|
|
124
113
|
return countedMelody;
|
|
125
114
|
}
|
|
126
115
|
/**
|
|
@@ -140,14 +129,14 @@ class Melody {
|
|
|
140
129
|
* @returns a new Melody that conforms to the zig-zag pattern.
|
|
141
130
|
*/
|
|
142
131
|
zigZag() {
|
|
143
|
-
let turnAroundStep = this.
|
|
144
|
-
let steps = this.
|
|
145
|
-
let segment = new Array(turnAroundStep).fill(-1).map((_, j) => this.
|
|
132
|
+
let turnAroundStep = this.notes.length % 2 == 0 ? this.notes.length / 2 + 1 : Math.ceil(this.notes.length / 2);
|
|
133
|
+
let steps = this.notes.reduce((previous, current, i) => {
|
|
134
|
+
let segment = new Array(turnAroundStep).fill(-1).map((_, j) => this.notes[(j + i) % this.notes.length]);
|
|
146
135
|
previous.push(segment);
|
|
147
136
|
previous.push(segment.slice(1, turnAroundStep).reverse());
|
|
148
137
|
return previous;
|
|
149
138
|
}, new Array()).flat();
|
|
150
|
-
return new Melody(steps);
|
|
139
|
+
return new Melody(steps, this.key);
|
|
151
140
|
}
|
|
152
141
|
/**
|
|
153
142
|
* Generate the Norgard infinity series sequence.
|
|
@@ -158,14 +147,13 @@ class Melody {
|
|
|
158
147
|
* @returns a Melody with the infinity series as its steps
|
|
159
148
|
*/
|
|
160
149
|
static infinitySeries(seed = [0, 1], size = 16, offset = 0) {
|
|
161
|
-
let
|
|
150
|
+
let steps = new Array();
|
|
162
151
|
const root = seed[0];
|
|
163
152
|
const step1 = seed[1];
|
|
164
153
|
const seedInterval = step1 - root;
|
|
165
|
-
|
|
154
|
+
return Array.from(new Array(size), (n, i) => i + offset).map(step => {
|
|
166
155
|
return root + (Melody.norgardInteger(step) * seedInterval);
|
|
167
156
|
});
|
|
168
|
-
return melody;
|
|
169
157
|
}
|
|
170
158
|
/**
|
|
171
159
|
* Returns the value for any index of the base infinity series sequence (0, 1 seed). This function enables
|
package/lib/es5/melody.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"melody.js","sourceRoot":"","sources":["../../../src/melody.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"melody.js","sourceRoot":"","sources":["../../../src/melody.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Melody } from "./melody";
|
|
2
|
+
export declare class Mutation {
|
|
3
|
+
static transposeDown2(inputMelody: Melody): Melody;
|
|
4
|
+
static reverse(inputMelody: Melody): Melody;
|
|
5
|
+
static rotateLeftThree(inputMelody: Melody): Melody;
|
|
6
|
+
static sort(inputMelody: Melody): Melody;
|
|
7
|
+
static reverseSort(inputMelody: Melody): Melody;
|
|
8
|
+
static invert(inputMelody: Melody): Melody;
|
|
9
|
+
static invertReverse(inputMelody: Melody): Melody;
|
|
10
|
+
static bitFlip(inputMelody: Melody): Melody;
|
|
11
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Mutation = void 0;
|
|
4
|
+
const helpers = require("./helpers");
|
|
5
|
+
const tblswvs_error_1 = require("./tblswvs_error");
|
|
6
|
+
const melodic_vector_1 = require("./melodic_vector");
|
|
7
|
+
const melody_1 = require("./melody");
|
|
8
|
+
class Mutation {
|
|
9
|
+
static transposeDown2(inputMelody) {
|
|
10
|
+
return new melodic_vector_1.MelodicVector([-2], "scale").applyTo(inputMelody);
|
|
11
|
+
}
|
|
12
|
+
static reverse(inputMelody) {
|
|
13
|
+
return new melody_1.Melody(inputMelody.notes.slice().reverse(), inputMelody.key);
|
|
14
|
+
}
|
|
15
|
+
static rotateLeftThree(inputMelody) {
|
|
16
|
+
return new melody_1.Melody(helpers.rotate(inputMelody.notes.slice(), -3), inputMelody.key);
|
|
17
|
+
}
|
|
18
|
+
static sort(inputMelody) {
|
|
19
|
+
return new melody_1.Melody(inputMelody.notes.slice().sort((a, b) => a.midi - b.midi));
|
|
20
|
+
}
|
|
21
|
+
static reverseSort(inputMelody) {
|
|
22
|
+
return new melody_1.Melody(inputMelody.notes.slice().sort((a, b) => b.midi - a.midi));
|
|
23
|
+
}
|
|
24
|
+
static invert(inputMelody) {
|
|
25
|
+
if (inputMelody.key == undefined) {
|
|
26
|
+
throw new tblswvs_error_1.TblswvsError(helpers.KEY_REQUIRED_FOR_MUTATION);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
const key = inputMelody.key;
|
|
30
|
+
return new melody_1.Melody(inputMelody.notes.map((note) => {
|
|
31
|
+
// This should not be necessary because of the check for the input melody's key.
|
|
32
|
+
// All melodies with a key have notes with scale degrees assigned.
|
|
33
|
+
let scaleDegree = note.scaleDegree ? note.scaleDegree : 1;
|
|
34
|
+
return Object.assign({}, key.degreeInversion(scaleDegree));
|
|
35
|
+
}), key);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
static invertReverse(inputMelody) {
|
|
39
|
+
return new melody_1.Melody(Mutation.invert(inputMelody).notes.slice().reverse(), inputMelody.key);
|
|
40
|
+
}
|
|
41
|
+
static bitFlip(inputMelody) {
|
|
42
|
+
if (inputMelody.key == undefined) {
|
|
43
|
+
throw new tblswvs_error_1.TblswvsError(helpers.KEY_REQUIRED_FOR_MUTATION);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
const key = inputMelody.key;
|
|
47
|
+
const melodyAsScaleDegrees = inputMelody.notes.map(n => n.scaleDegree ? n.scaleDegree : 1);
|
|
48
|
+
let popMutations = new Array(melodyAsScaleDegrees.length).fill(0);
|
|
49
|
+
let mutations = new Array(Math.ceil(melodyAsScaleDegrees.length * 0.3)).fill(1);
|
|
50
|
+
popMutations.splice(0, mutations.length, ...mutations);
|
|
51
|
+
helpers.shuffle(popMutations);
|
|
52
|
+
const largestInterval = melodyAsScaleDegrees.map(scaleDegree => Math.abs(scaleDegree)).slice().sort().reverse()[0];
|
|
53
|
+
const binaryPadding = Number(largestInterval).toString(2).length;
|
|
54
|
+
return new melody_1.Melody(inputMelody.notes.map((note, i) => {
|
|
55
|
+
if (popMutations[i] == 1) {
|
|
56
|
+
// Convert the scale degree to binary, padding it to the number of digits that would fit the largest interval
|
|
57
|
+
let binaryDigits = Number(note.scaleDegree).toString(2).padStart(binaryPadding, "0").split("").map(s => parseInt(s));
|
|
58
|
+
// Choose a random bit and flip it (0 => 1, 1 => 0)
|
|
59
|
+
let flipBit = Math.floor(Math.random() * binaryPadding);
|
|
60
|
+
binaryDigits[flipBit] = 1 - binaryDigits[flipBit];
|
|
61
|
+
// Return the new number based on the mutated gene. Note that a tblswvs scale degree may not equal 0.
|
|
62
|
+
let newScaleDegree = parseInt(binaryDigits.join(""), 2);
|
|
63
|
+
newScaleDegree = newScaleDegree == 0 ? -1 : newScaleDegree;
|
|
64
|
+
let mutatedNoteData = Object.assign({}, key.degree(newScaleDegree));
|
|
65
|
+
mutatedNoteData.midi += ((note.octave - key.octave) * 12);
|
|
66
|
+
return mutatedNoteData;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
return note;
|
|
70
|
+
}
|
|
71
|
+
}), key);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.Mutation = Mutation;
|
|
76
|
+
//# sourceMappingURL=mutation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../../src/mutation.ts"],"names":[],"mappings":"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"}
|
package/lib/es5/note_data.d.ts
CHANGED
|
@@ -2,6 +2,10 @@ export declare const scaleNoteCandidates: string[][];
|
|
|
2
2
|
export declare const abcNotesMidiOrder: string[];
|
|
3
3
|
export declare const chromaticScale: string[];
|
|
4
4
|
export declare const chordNumeralsMap: Record<number, string>;
|
|
5
|
+
/**
|
|
6
|
+
* Either a MIDI note-like thing or a rest. A note should have a note property like "C", "C#" or "Gb".
|
|
7
|
+
* A rest should have a note property of "rest".
|
|
8
|
+
*/
|
|
5
9
|
export type note = {
|
|
6
10
|
octave: number;
|
|
7
11
|
note: string;
|
package/lib/es5/note_data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"note_data.js","sourceRoot":"","sources":["../../../src/note_data.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"note_data.js","sourceRoot":"","sources":["../../../src/note_data.ts"],"names":[],"mappings":"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"}
|
package/lib/es5/rhythm.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Melody } from "./melody";
|
|
2
|
-
import { Sequence } from "./sequence";
|
|
3
2
|
import { Transformation } from "./transformation";
|
|
4
3
|
/**
|
|
5
4
|
* A Rhythm is a sequence of 1s and 0s that can transform a Melody object by letting the Melody's notes
|
|
@@ -9,7 +8,7 @@ import { Transformation } from "./transformation";
|
|
|
9
8
|
* not need to have the same number of elements as in the Melody that it is transforming. The MelodicVector's
|
|
10
9
|
* steps will instead be repeated until it is expanded to the size of the Melody's steps.
|
|
11
10
|
*/
|
|
12
|
-
export declare class Rhythm implements
|
|
11
|
+
export declare class Rhythm implements Transformation {
|
|
13
12
|
steps: (1 | 0)[];
|
|
14
13
|
length?: number;
|
|
15
14
|
fillMode: ("wrap" | "silence");
|
package/lib/es5/rhythm.js
CHANGED
|
@@ -31,7 +31,7 @@ class Rhythm {
|
|
|
31
31
|
*/
|
|
32
32
|
applyTo(melody) {
|
|
33
33
|
const rhythmHits = this.steps.filter(step => step != 0).length;
|
|
34
|
-
const stepHits = Math.ceil(melody.
|
|
34
|
+
const stepHits = Math.ceil(melody.notes.length / rhythmHits);
|
|
35
35
|
let transformedSequence = new Array(stepHits).fill(this.steps).flat();
|
|
36
36
|
if (this.length !== undefined) {
|
|
37
37
|
if (this.length > transformedSequence.length) {
|
|
@@ -54,14 +54,14 @@ class Rhythm {
|
|
|
54
54
|
let processedStepIndex = 0;
|
|
55
55
|
transformedSequence.forEach((step, i) => {
|
|
56
56
|
if (step == 1) {
|
|
57
|
-
transformedSequence[i] = melody.
|
|
57
|
+
transformedSequence[i] = melody.notes[processedStepIndex % melody.notes.length];
|
|
58
58
|
processedStepIndex++;
|
|
59
59
|
}
|
|
60
60
|
else {
|
|
61
|
-
transformedSequence[i] =
|
|
61
|
+
transformedSequence[i] = { note: "rest", midi: -1, octave: -3 };
|
|
62
62
|
}
|
|
63
63
|
});
|
|
64
|
-
return new melody_1.Melody(transformedSequence, melody.
|
|
64
|
+
return new melody_1.Melody(transformedSequence, melody.key);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
exports.Rhythm = Rhythm;
|
package/lib/es5/rhythm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rhythm.js","sourceRoot":"","sources":["../../../src/rhythm.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;
|
|
1
|
+
{"version":3,"file":"rhythm.js","sourceRoot":"","sources":["../../../src/rhythm.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;AAIlC;;;;;;;GAOG;AACH,MAAa,MAAM;IAMf;;;;;;OAMG;IACH,YAAY,KAAc,EAAE,WAA+B,MAAM,EAAE,MAAe;QAC9E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAGD;;;;;OAKG;IACH,OAAO,CAAC,MAAc;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;QAC7D,IAAI,mBAAmB,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC3B,IAAI,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE;gBAC1C,IAAI,kBAAkB,GAAG,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC;gBAClE,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;oBAC5B,mBAAmB,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtE;qBAAM;oBACH,IAAI,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACvE,mBAAmB,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;iBAClF;aACJ;YACD;;;;cAIE;YACF,mBAAmB,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SACnE;QAED,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,IAAI,IAAI,CAAC,EAAE;gBACX,mBAAmB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChF,kBAAkB,EAAE,CAAC;aACxB;iBAAM;gBACH,mBAAmB,CAAC,CAAC,CAAC,GAAG,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAC,CAAC;aACjE;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,eAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;CACJ;AA7DD,wBA6DC"}
|
package/lib/es6/helpers.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { TblswvsError } from "./tblswvs_error";
|
|
2
|
-
export const INCOMPATIBLE_SEQ_MSG = "A Sequence can only be made new from and Array of Sequence " +
|
|
3
|
-
"objects that share the same rest symbol and mode";
|
|
4
2
|
export const NON_INTEGER_INPUTS = "Numbers must be integers";
|
|
5
3
|
export const SELF_SIMILARITY_REQUIRES_COPRIMES = "A self-similar melody can only be produced for an input sequence length " +
|
|
6
4
|
"that is coprime with the output sequence length";
|
|
7
5
|
export const SCALE_DEGREE_ERROR = "Scale degrees must be negative or positive, but not 0";
|
|
6
|
+
export const SCALE_DEGREE_SHIFTS_REQUIRE_KEY = "Melodic vectors with shift mode 'scale' can only operate on a Meloyd with a Key";
|
|
7
|
+
export const KEY_REQUIRED_FOR_MUTATION = "Mutations require a Melody object with a key";
|
|
8
8
|
export const unique = (value, index, self) => {
|
|
9
9
|
return self.indexOf(value) === index;
|
|
10
10
|
};
|
|
@@ -40,4 +40,10 @@ export const inversionMap = (range) => {
|
|
|
40
40
|
map.set(intervals[i], intervals[intervals.length - i - 1]);
|
|
41
41
|
return map;
|
|
42
42
|
};
|
|
43
|
+
export const shuffle = (arr) => {
|
|
44
|
+
for (let i = arr.length - 1; i > 0; i--) {
|
|
45
|
+
const j = Math.floor(Math.random() * (i + 1));
|
|
46
|
+
[arr[i], arr[j]] = [arr[j], arr[i]];
|
|
47
|
+
}
|
|
48
|
+
};
|
|
43
49
|
//# sourceMappingURL=helpers.js.map
|
package/lib/es6/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/helpers.ts"],"names":[],"mappings":"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"}
|
package/lib/es6/markov_chain.js
CHANGED
|
@@ -8,7 +8,7 @@ export class MarkovChain {
|
|
|
8
8
|
return candidates[Math.floor(Math.random() * candidates.length)];
|
|
9
9
|
}
|
|
10
10
|
generateStm() {
|
|
11
|
-
return this.input.
|
|
11
|
+
return this.input.reduce((stm, step, i, arr) => {
|
|
12
12
|
if (i < arr.length - 1) {
|
|
13
13
|
const prevStep = (i == 0) ? step : arr[i - 1];
|
|
14
14
|
const nextStep = arr[i + 1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markov_chain.js","sourceRoot":"","sources":["../../../src/markov_chain.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"markov_chain.js","sourceRoot":"","sources":["../../../src/markov_chain.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IAKpB,YAAY,KAAY;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACpD,CAAC;IAGD,GAAG,CAAC,QAAgB,EAAE,OAAe;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;QAClF,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAGO,WAAW;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;YAC3C,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5B,MAAM,GAAG,GAAQ,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;aACxB;YACD,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,IAAI,GAAgC,CAAC,CAAC;IAC7C,CAAC;CACJ"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as helpers from "./helpers";
|
|
2
|
+
import { TblswvsError } from "./tblswvs_error";
|
|
2
3
|
/**
|
|
3
4
|
* A MelodicVector is a sequence of numbers that can transform a Melody object by applying vector
|
|
4
5
|
* addition to a numerical representation of the Melody's note data.
|
|
@@ -14,8 +15,11 @@ export class MelodicVector {
|
|
|
14
15
|
*
|
|
15
16
|
* @param steps number[] the steps that represent the object's vector
|
|
16
17
|
*/
|
|
17
|
-
constructor(steps) {
|
|
18
|
+
constructor(steps, shiftMode) {
|
|
19
|
+
this.shiftMode = "midi";
|
|
18
20
|
this.steps = steps;
|
|
21
|
+
if (shiftMode != undefined)
|
|
22
|
+
this.shiftMode = shiftMode;
|
|
19
23
|
}
|
|
20
24
|
/**
|
|
21
25
|
* Transforms a melody by vector addition. Note that the vector step length and melody step
|
|
@@ -25,21 +29,39 @@ export class MelodicVector {
|
|
|
25
29
|
* @returns new Melody with steps based on summing the input melody steps and the vector steps
|
|
26
30
|
*/
|
|
27
31
|
applyTo(melody) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
32
|
+
if (melody.key == undefined && this.shiftMode == "scale") {
|
|
33
|
+
throw new TblswvsError(helpers.SCALE_DEGREE_SHIFTS_REQUIRE_KEY);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
// First generate an array of steps that will match the melody's length.
|
|
37
|
+
const size = Math.ceil((melody.notes.length / this.steps.length));
|
|
38
|
+
const expandedSteps = new Array(size).fill(this.steps).flat().slice(0, melody.notes.length);
|
|
39
|
+
// Create a copy of the melody so that the rest symbol and mode are carried forward.
|
|
40
|
+
// Then apply the vector addition.
|
|
41
|
+
const transformedMelody = melody.clone();
|
|
42
|
+
expandedSteps.forEach((step, i) => {
|
|
43
|
+
var _a, _b, _c;
|
|
44
|
+
if (melody.notes[i].note == "rest") {
|
|
45
|
+
// Do Nothing
|
|
46
|
+
}
|
|
47
|
+
else if (this.shiftMode == "midi") {
|
|
48
|
+
transformedMelody.notes[i].midi += step;
|
|
49
|
+
const scaleNoteIndex = (_a = transformedMelody.key) === null || _a === void 0 ? void 0 : _a.scaleNotes.indexOf((_b = transformedMelody.key) === null || _b === void 0 ? void 0 : _b.midi2note(transformedMelody.notes[i].midi).replace(/\d+/, ""));
|
|
50
|
+
if (scaleNoteIndex == undefined || scaleNoteIndex == -1)
|
|
51
|
+
transformedMelody.notes[i].scaleDegree = undefined;
|
|
52
|
+
else
|
|
53
|
+
transformedMelody.notes[i].scaleDegree = scaleNoteIndex + 1;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
let transposedDegree = transformedMelody.notes[i].scaleDegree + step;
|
|
57
|
+
transposedDegree = transposedDegree < 1 ? transposedDegree - 1 : transposedDegree;
|
|
58
|
+
const newNote = (_c = transformedMelody.key) === null || _c === void 0 ? void 0 : _c.degree(transposedDegree);
|
|
59
|
+
if (newNote != undefined)
|
|
60
|
+
transformedMelody.notes[i] = newNote;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
return transformedMelody;
|
|
64
|
+
}
|
|
43
65
|
}
|
|
44
66
|
}
|
|
45
67
|
//# sourceMappingURL=melodic_vector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"melodic_vector.js","sourceRoot":"","sources":["../../../src/melodic_vector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"melodic_vector.js","sourceRoot":"","sources":["../../../src/melodic_vector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAa;IAKtB;;;;OAIG;IACH,YAAY,KAAe,EAAE,SAA4B;QARzD,cAAS,GAAqB,MAAM,CAAC;QASjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,SAAS,IAAI,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC3D,CAAC;IAGD;;;;;;OAMG;IACH,OAAO,CAAC,MAAc;QAClB,IAAI,MAAM,CAAC,GAAG,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,EAAE;YACtD,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;SACnE;aAAM;YACH,wEAAwE;YACxE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE5F,oFAAoF;YACpF,kCAAkC;YAClC,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YACzC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;;gBAE9B,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,EAAE;oBAChC,aAAa;iBAChB;qBAAM,IAAI,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE;oBACjC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;oBAExC,MAAM,cAAc,GAAG,MAAA,iBAAiB,CAAC,GAAG,0CAAE,UAAU,CAAC,OAAO,CAAC,MAAA,iBAAiB,CAAC,GAAG,0CAAE,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;oBACvJ,IAAI,cAAc,IAAI,SAAS,IAAI,cAAc,IAAI,CAAC,CAAC;wBACnD,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,SAAS,CAAC;;wBAEnD,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,cAAc,GAAG,CAAC,CAAC;iBAEnE;qBAAM;oBACH,IAAI,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;oBACrE,gBAAgB,GAAO,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;oBACtF,MAAM,OAAO,GAAG,MAAA,iBAAiB,CAAC,GAAG,0CAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBAChE,IAAI,OAAO,IAAI,SAAS;wBAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;iBAClE;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,iBAAiB,CAAC;SAC5B;IACL,CAAC;CACJ"}
|
package/lib/es6/melody.js
CHANGED
|
@@ -1,31 +1,24 @@
|
|
|
1
1
|
import { TblswvsError } from "./tblswvs_error";
|
|
2
2
|
import * as helpers from "./helpers";
|
|
3
3
|
import { Rhythm } from "./rhythm";
|
|
4
|
-
/**
|
|
5
|
-
* The primary melody types: MIDI and Scale Degrees.
|
|
6
|
-
*
|
|
7
|
-
* MIDI mode means that integers in a Melody's steps property should be interpreted as MIDI note numbers.
|
|
8
|
-
*
|
|
9
|
-
* Scale Degrees mode means that numbers in a Melody should interpreted as scale degrees where the number 1
|
|
10
|
-
* is represented as the scale's tonic. For example, with a 7 note scale like the western modal scales, 8 is
|
|
11
|
-
* then interpreted as the tonic raised by 1 octave. Scale degrees should be greater than or equal to 1 and
|
|
12
|
-
* the number 0 is interpreted as a rest.
|
|
13
|
-
*/
|
|
14
|
-
export var MelodyType;
|
|
15
|
-
(function (MelodyType) {
|
|
16
|
-
MelodyType["MIDI"] = "MIDI";
|
|
17
|
-
MelodyType["Degrees"] = "Scale Degrees";
|
|
18
|
-
})(MelodyType || (MelodyType = {}));
|
|
19
4
|
/**
|
|
20
5
|
* The Melody class represents the primary melodic object. A melody has steps that are intended to represet
|
|
21
6
|
* a sequence of notes and rests. It stores its rest symbol and its melodic mode, which should come from the
|
|
22
7
|
* MelodyType enum.
|
|
23
8
|
*/
|
|
24
9
|
export class Melody {
|
|
25
|
-
constructor(
|
|
26
|
-
this.
|
|
27
|
-
|
|
28
|
-
|
|
10
|
+
constructor(notes, key) {
|
|
11
|
+
this.notes = notes;
|
|
12
|
+
if (key != undefined) {
|
|
13
|
+
this.key = key;
|
|
14
|
+
notes.forEach(note => {
|
|
15
|
+
if (note.note != "rest" && note.scaleDegree == undefined) {
|
|
16
|
+
const scaleNoteIndex = key.scaleNotes.indexOf(key.midi2note(note.midi).replace(/\d+/, ""));
|
|
17
|
+
if (scaleNoteIndex != -1)
|
|
18
|
+
note.scaleDegree = scaleNoteIndex + 1;
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
29
22
|
}
|
|
30
23
|
/**
|
|
31
24
|
* Clone this melody.
|
|
@@ -33,7 +26,7 @@ export class Melody {
|
|
|
33
26
|
* @returns a new copy of this object.
|
|
34
27
|
*/
|
|
35
28
|
clone() {
|
|
36
|
-
return new Melody(this.
|
|
29
|
+
return new Melody(this.notes.slice(), this.key);
|
|
37
30
|
}
|
|
38
31
|
/**
|
|
39
32
|
* Create a new Melody from multiple Melody objects.
|
|
@@ -45,12 +38,8 @@ export class Melody {
|
|
|
45
38
|
* @returns a new Melody that combines the sequences steps
|
|
46
39
|
*/
|
|
47
40
|
static newFrom(sequences) {
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
if (restSymbols.length > 1 || modes.length > 1)
|
|
51
|
-
throw new TblswvsError(helpers.INCOMPATIBLE_SEQ_MSG);
|
|
52
|
-
const steps = sequences.map(s => s.steps).flat();
|
|
53
|
-
return new Melody(steps, sequences[0].restSymbol, sequences[0].melodicMode);
|
|
41
|
+
const steps = sequences.map(s => s.notes).flat();
|
|
42
|
+
return new Melody(steps, sequences[0].key);
|
|
54
43
|
}
|
|
55
44
|
/**
|
|
56
45
|
* Generate a self-replicating melody based on this Melody's steps.
|
|
@@ -64,8 +53,8 @@ export class Melody {
|
|
|
64
53
|
if (!helpers.areCoprime(length, ratio))
|
|
65
54
|
throw new TblswvsError(helpers.SELF_SIMILARITY_REQUIRES_COPRIMES);
|
|
66
55
|
let sequence = new Array(length).fill(-1);
|
|
67
|
-
sequence[0] = this.
|
|
68
|
-
sequence[1] = this.
|
|
56
|
+
sequence[0] = this.notes[0];
|
|
57
|
+
sequence[1] = this.notes[1];
|
|
69
58
|
let contiguousSequence, currentNote, stepAmount, nextNote;
|
|
70
59
|
let nextEmpty = sequence.findIndex(note => note == -1), count = 2;
|
|
71
60
|
// Build a self replicating melody by powers of 2 until all notes are filled.
|
|
@@ -84,14 +73,14 @@ export class Melody {
|
|
|
84
73
|
}
|
|
85
74
|
// If the sequence still has empty spots, find the first one and fill it with the next
|
|
86
75
|
// note in the input note list.
|
|
87
|
-
nextNote = this.
|
|
76
|
+
nextNote = this.notes[count % this.notes.length];
|
|
88
77
|
nextEmpty = sequence.findIndex(note => note == -1);
|
|
89
78
|
if (nextEmpty != -1)
|
|
90
79
|
sequence[nextEmpty] = nextNote;
|
|
91
80
|
count++;
|
|
92
81
|
} while (nextEmpty != -1);
|
|
93
82
|
let melody = this.clone();
|
|
94
|
-
melody.
|
|
83
|
+
melody.notes = sequence;
|
|
95
84
|
return melody;
|
|
96
85
|
}
|
|
97
86
|
/**
|
|
@@ -109,15 +98,15 @@ export class Melody {
|
|
|
109
98
|
*/
|
|
110
99
|
counted() {
|
|
111
100
|
let sequence = new Array();
|
|
112
|
-
for (let i = 1; i <= this.
|
|
101
|
+
for (let i = 1; i <= this.notes.length; i++) {
|
|
113
102
|
let rhythmSteps = new Array(i).fill(1);
|
|
114
103
|
rhythmSteps.push(0);
|
|
115
|
-
let length = this.
|
|
104
|
+
let length = this.notes.length * (i + 1);
|
|
116
105
|
let rhythm = new Rhythm(rhythmSteps, "wrap", length);
|
|
117
|
-
rhythm.applyTo(this).
|
|
106
|
+
rhythm.applyTo(this).notes.forEach(step => sequence.push(step));
|
|
118
107
|
}
|
|
119
108
|
let countedMelody = this.clone();
|
|
120
|
-
countedMelody.
|
|
109
|
+
countedMelody.notes = sequence;
|
|
121
110
|
return countedMelody;
|
|
122
111
|
}
|
|
123
112
|
/**
|
|
@@ -137,14 +126,14 @@ export class Melody {
|
|
|
137
126
|
* @returns a new Melody that conforms to the zig-zag pattern.
|
|
138
127
|
*/
|
|
139
128
|
zigZag() {
|
|
140
|
-
let turnAroundStep = this.
|
|
141
|
-
let steps = this.
|
|
142
|
-
let segment = new Array(turnAroundStep).fill(-1).map((_, j) => this.
|
|
129
|
+
let turnAroundStep = this.notes.length % 2 == 0 ? this.notes.length / 2 + 1 : Math.ceil(this.notes.length / 2);
|
|
130
|
+
let steps = this.notes.reduce((previous, current, i) => {
|
|
131
|
+
let segment = new Array(turnAroundStep).fill(-1).map((_, j) => this.notes[(j + i) % this.notes.length]);
|
|
143
132
|
previous.push(segment);
|
|
144
133
|
previous.push(segment.slice(1, turnAroundStep).reverse());
|
|
145
134
|
return previous;
|
|
146
135
|
}, new Array()).flat();
|
|
147
|
-
return new Melody(steps);
|
|
136
|
+
return new Melody(steps, this.key);
|
|
148
137
|
}
|
|
149
138
|
/**
|
|
150
139
|
* Generate the Norgard infinity series sequence.
|
|
@@ -155,14 +144,13 @@ export class Melody {
|
|
|
155
144
|
* @returns a Melody with the infinity series as its steps
|
|
156
145
|
*/
|
|
157
146
|
static infinitySeries(seed = [0, 1], size = 16, offset = 0) {
|
|
158
|
-
let
|
|
147
|
+
let steps = new Array();
|
|
159
148
|
const root = seed[0];
|
|
160
149
|
const step1 = seed[1];
|
|
161
150
|
const seedInterval = step1 - root;
|
|
162
|
-
|
|
151
|
+
return Array.from(new Array(size), (n, i) => i + offset).map(step => {
|
|
163
152
|
return root + (Melody.norgardInteger(step) * seedInterval);
|
|
164
153
|
});
|
|
165
|
-
return melody;
|
|
166
154
|
}
|
|
167
155
|
/**
|
|
168
156
|
* Returns the value for any index of the base infinity series sequence (0, 1 seed). This function enables
|
package/lib/es6/melody.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"melody.js","sourceRoot":"","sources":["../../../src/melody.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"melody.js","sourceRoot":"","sources":["../../../src/melody.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import * as helpers from "./helpers";
|
|
2
|
+
import { TblswvsError } from "./tblswvs_error";
|
|
3
|
+
import { MelodicVector } from "./melodic_vector";
|
|
4
|
+
import { Melody } from "./melody";
|
|
5
|
+
export class Mutation {
|
|
6
|
+
static transposeDown2(inputMelody) {
|
|
7
|
+
return new MelodicVector([-2], "scale").applyTo(inputMelody);
|
|
8
|
+
}
|
|
9
|
+
static reverse(inputMelody) {
|
|
10
|
+
return new Melody(inputMelody.notes.slice().reverse(), inputMelody.key);
|
|
11
|
+
}
|
|
12
|
+
static rotateLeftThree(inputMelody) {
|
|
13
|
+
return new Melody(helpers.rotate(inputMelody.notes.slice(), -3), inputMelody.key);
|
|
14
|
+
}
|
|
15
|
+
static sort(inputMelody) {
|
|
16
|
+
return new Melody(inputMelody.notes.slice().sort((a, b) => a.midi - b.midi));
|
|
17
|
+
}
|
|
18
|
+
static reverseSort(inputMelody) {
|
|
19
|
+
return new Melody(inputMelody.notes.slice().sort((a, b) => b.midi - a.midi));
|
|
20
|
+
}
|
|
21
|
+
static invert(inputMelody) {
|
|
22
|
+
if (inputMelody.key == undefined) {
|
|
23
|
+
throw new TblswvsError(helpers.KEY_REQUIRED_FOR_MUTATION);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
const key = inputMelody.key;
|
|
27
|
+
return new Melody(inputMelody.notes.map((note) => {
|
|
28
|
+
// This should not be necessary because of the check for the input melody's key.
|
|
29
|
+
// All melodies with a key have notes with scale degrees assigned.
|
|
30
|
+
let scaleDegree = note.scaleDegree ? note.scaleDegree : 1;
|
|
31
|
+
return Object.assign({}, key.degreeInversion(scaleDegree));
|
|
32
|
+
}), key);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
static invertReverse(inputMelody) {
|
|
36
|
+
return new Melody(Mutation.invert(inputMelody).notes.slice().reverse(), inputMelody.key);
|
|
37
|
+
}
|
|
38
|
+
static bitFlip(inputMelody) {
|
|
39
|
+
if (inputMelody.key == undefined) {
|
|
40
|
+
throw new TblswvsError(helpers.KEY_REQUIRED_FOR_MUTATION);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
const key = inputMelody.key;
|
|
44
|
+
const melodyAsScaleDegrees = inputMelody.notes.map(n => n.scaleDegree ? n.scaleDegree : 1);
|
|
45
|
+
let popMutations = new Array(melodyAsScaleDegrees.length).fill(0);
|
|
46
|
+
let mutations = new Array(Math.ceil(melodyAsScaleDegrees.length * 0.3)).fill(1);
|
|
47
|
+
popMutations.splice(0, mutations.length, ...mutations);
|
|
48
|
+
helpers.shuffle(popMutations);
|
|
49
|
+
const largestInterval = melodyAsScaleDegrees.map(scaleDegree => Math.abs(scaleDegree)).slice().sort().reverse()[0];
|
|
50
|
+
const binaryPadding = Number(largestInterval).toString(2).length;
|
|
51
|
+
return new Melody(inputMelody.notes.map((note, i) => {
|
|
52
|
+
if (popMutations[i] == 1) {
|
|
53
|
+
// Convert the scale degree to binary, padding it to the number of digits that would fit the largest interval
|
|
54
|
+
let binaryDigits = Number(note.scaleDegree).toString(2).padStart(binaryPadding, "0").split("").map(s => parseInt(s));
|
|
55
|
+
// Choose a random bit and flip it (0 => 1, 1 => 0)
|
|
56
|
+
let flipBit = Math.floor(Math.random() * binaryPadding);
|
|
57
|
+
binaryDigits[flipBit] = 1 - binaryDigits[flipBit];
|
|
58
|
+
// Return the new number based on the mutated gene. Note that a tblswvs scale degree may not equal 0.
|
|
59
|
+
let newScaleDegree = parseInt(binaryDigits.join(""), 2);
|
|
60
|
+
newScaleDegree = newScaleDegree == 0 ? -1 : newScaleDegree;
|
|
61
|
+
let mutatedNoteData = Object.assign({}, key.degree(newScaleDegree));
|
|
62
|
+
mutatedNoteData.midi += ((note.octave - key.octave) * 12);
|
|
63
|
+
return mutatedNoteData;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
return note;
|
|
67
|
+
}
|
|
68
|
+
}), key);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=mutation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../../src/mutation.ts"],"names":[],"mappings":"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"}
|
package/lib/es6/note_data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"note_data.js","sourceRoot":"","sources":["../../../src/note_data.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"note_data.js","sourceRoot":"","sources":["../../../src/note_data.ts"],"names":[],"mappings":"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"}
|
package/lib/es6/rhythm.js
CHANGED
|
@@ -28,7 +28,7 @@ export class Rhythm {
|
|
|
28
28
|
*/
|
|
29
29
|
applyTo(melody) {
|
|
30
30
|
const rhythmHits = this.steps.filter(step => step != 0).length;
|
|
31
|
-
const stepHits = Math.ceil(melody.
|
|
31
|
+
const stepHits = Math.ceil(melody.notes.length / rhythmHits);
|
|
32
32
|
let transformedSequence = new Array(stepHits).fill(this.steps).flat();
|
|
33
33
|
if (this.length !== undefined) {
|
|
34
34
|
if (this.length > transformedSequence.length) {
|
|
@@ -51,14 +51,14 @@ export class Rhythm {
|
|
|
51
51
|
let processedStepIndex = 0;
|
|
52
52
|
transformedSequence.forEach((step, i) => {
|
|
53
53
|
if (step == 1) {
|
|
54
|
-
transformedSequence[i] = melody.
|
|
54
|
+
transformedSequence[i] = melody.notes[processedStepIndex % melody.notes.length];
|
|
55
55
|
processedStepIndex++;
|
|
56
56
|
}
|
|
57
57
|
else {
|
|
58
|
-
transformedSequence[i] =
|
|
58
|
+
transformedSequence[i] = { note: "rest", midi: -1, octave: -3 };
|
|
59
59
|
}
|
|
60
60
|
});
|
|
61
|
-
return new Melody(transformedSequence, melody.
|
|
61
|
+
return new Melody(transformedSequence, melody.key);
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
//# sourceMappingURL=rhythm.js.map
|
package/lib/es6/rhythm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rhythm.js","sourceRoot":"","sources":["../../../src/rhythm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"rhythm.js","sourceRoot":"","sources":["../../../src/rhythm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC;;;;;;;GAOG;AACH,MAAM,OAAO,MAAM;IAMf;;;;;;OAMG;IACH,YAAY,KAAc,EAAE,WAA+B,MAAM,EAAE,MAAe;QAC9E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAGD;;;;;OAKG;IACH,OAAO,CAAC,MAAc;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;QAC7D,IAAI,mBAAmB,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC3B,IAAI,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE;gBAC1C,IAAI,kBAAkB,GAAG,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC;gBAClE,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;oBAC5B,mBAAmB,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtE;qBAAM;oBACH,IAAI,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACvE,mBAAmB,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;iBAClF;aACJ;YACD;;;;cAIE;YACF,mBAAmB,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SACnE;QAED,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,IAAI,IAAI,CAAC,EAAE;gBACX,mBAAmB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChF,kBAAkB,EAAE,CAAC;aACxB;iBAAM;gBACH,mBAAmB,CAAC,CAAC,CAAC,GAAG,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAC,CAAC;aACjE;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;CACJ"}
|
package/package.json
CHANGED
package/lib/es5/sequence.d.ts
DELETED
package/lib/es5/sequence.js
DELETED
package/lib/es5/sequence.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sequence.js","sourceRoot":"","sources":["../../../src/sequence.ts"],"names":[],"mappings":""}
|
package/lib/es6/sequence.js
DELETED
package/lib/es6/sequence.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sequence.js","sourceRoot":"","sources":["../../../src/sequence.ts"],"names":[],"mappings":""}
|