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.
@@ -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;
@@ -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.SCALE_DEGREE_ERROR = exports.SELF_SIMILARITY_REQUIRES_COPRIMES = exports.NON_INTEGER_INPUTS = exports.INCOMPATIBLE_SEQ_MSG = void 0;
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
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/helpers.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAGlC,QAAA,oBAAoB,GAC7B,6DAA6D;IAC7D,kDAAkD,CAAC;AAE1C,QAAA,kBAAkB,GAAG,0BAA0B,CAAC;AAEhD,QAAA,iCAAiC,GAC1C,0EAA0E;IAC1E,iDAAiD,CAAC;AAEzC,QAAA,kBAAkB,GAC3B,uDAAuD,CAAC;AAGrD,MAAM,MAAM,GAAG,CAAC,KAAU,EAAE,KAAa,EAAE,IAAS,EAAE,EAAE;IAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;AACzC,CAAC,CAAA;AAFY,QAAA,MAAM,UAElB;AAGM,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE;IACrD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;QAClD,MAAM,IAAI,4BAAY,CAAC,0BAAkB,CAAC,CAAC;IAE/C,MAAM,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE;QAC7B,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC;IAErB,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAVW,QAAA,UAAU,cAUrB;AAGK,MAAM,MAAM,GAAG,CAAC,GAAU,EAAE,MAAc,EAAS,EAAE;IACxD,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;IACvB,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE;QACtB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KACzC;SAAM;QACH,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,MAAM,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC,EAAE,CAAC;SACP;KACJ;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA;AAZY,QAAA,MAAM,UAYlB;AAGM,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAuB,EAAE;IAC1E,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IAEpB,MAAM,SAAS,GAAa,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5C,KAAK,CAAC,MAAM,CAAC,cAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;QACrC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE/D,OAAO,GAAG,CAAC;AACf,CAAC,CAAA;AAXY,QAAA,YAAY,gBAWxB"}
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: Melody;
2
+ input: any[];
4
3
  stateTransitionMatrix: Map<(string), (string | number)[]>;
5
- constructor(input: Melody);
4
+ constructor(input: any[]);
6
5
  get(previous: number, current: number): (string | number);
7
6
  private generateStm;
8
7
  }
@@ -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.steps.reduce((stm, step, i, arr) => {
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":";;;AAGA,MAAa,WAAW;IAKpB,YAAY,KAAa;QACrB,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,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;YACjD,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
+ {"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 Sequence, Transformation {
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 melody_1 = require("./melody");
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
- // First generate an array of steps that will match the melody's length.
32
- const size = Math.ceil((melody.steps.length / this.steps.length));
33
- const expandedSteps = new Array(size).fill(this.steps).flat().slice(0, melody.steps.length);
34
- // Create a copy of the melody so that the rest symbol and mode are carried forward.
35
- // Then apply the vector addition.
36
- const transformedMelody = melody.clone();
37
- transformedMelody.steps = expandedSteps.map((step, i) => {
38
- if (melody.melodicMode == melody_1.MelodyType.Degrees && melody.steps[i] == 0)
39
- return 0;
40
- else if (melody.steps[i] == melody.restSymbol)
41
- return melody.steps[i];
42
- else
43
- return step + melody.steps[i];
44
- });
45
- return transformedMelody;
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":";;;AACA,qCAA8C;AAI9C;;;;;;;;GAQG;AACH,MAAa,aAAa;IAItB;;;;OAIG;IACH,YAAY,KAAe;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAGD;;;;;;OAMG;IACH,OAAO,CAAC,MAAc;QAClB,wEAAwE;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,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;QAE5F,oFAAoF;QACpF,kCAAkC;QAClC,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QACzC,iBAAiB,CAAC,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACpD,IAAI,MAAM,CAAC,WAAW,IAAI,mBAAU,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChE,OAAO,CAAC,CAAC;iBACR,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,UAAU;gBACzC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;gBAEvB,OAAO,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,iBAAiB,CAAC;IAC7B,CAAC;CACJ;AAxCD,sCAwCC"}
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"}
@@ -1,28 +1,14 @@
1
- import { Sequence } from "./sequence";
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 implements Sequence {
22
- steps: (string | number)[];
23
- restSymbol: string | number;
24
- melodicMode: MelodyType;
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): Melody;
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 = exports.MelodyType = void 0;
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(steps, restSymbol, mode) {
29
- this.steps = steps === undefined ? new Array() : steps;
30
- this.restSymbol = restSymbol === undefined ? 0 : restSymbol;
31
- this.melodicMode = mode == undefined ? MelodyType.Degrees : mode;
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.steps, this.restSymbol, this.melodicMode);
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 restSymbols = sequences.map(s => s.restSymbol).filter(helpers.unique);
52
- const modes = sequences.map(s => s.melodicMode).filter(helpers.unique);
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.steps[0];
71
- sequence[1] = this.steps[1];
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.steps[count % this.steps.length];
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.steps = sequence;
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.steps.length; i++) {
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.steps.length * (i + 1);
107
+ let length = this.notes.length * (i + 1);
119
108
  let rhythm = new rhythm_1.Rhythm(rhythmSteps, "wrap", length);
120
- rhythm.applyTo(this).steps.forEach(step => sequence.push(step));
109
+ rhythm.applyTo(this).notes.forEach(step => sequence.push(step));
121
110
  }
122
111
  let countedMelody = this.clone();
123
- countedMelody.steps = sequence;
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.steps.length % 2 == 0 ? this.steps.length / 2 + 1 : Math.ceil(this.steps.length / 2);
144
- let steps = this.steps.reduce((previous, current, i) => {
145
- let segment = new Array(turnAroundStep).fill(-1).map((_, j) => this.steps[(j + i) % this.steps.length]);
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 melody = new Melody(seed, -1, MelodyType.MIDI);
150
+ let steps = new Array();
162
151
  const root = seed[0];
163
152
  const step1 = seed[1];
164
153
  const seedInterval = step1 - root;
165
- melody.steps = Array.from(new Array(size), (n, i) => i + offset).map(step => {
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
@@ -1 +1 @@
1
- {"version":3,"file":"melody.js","sourceRoot":"","sources":["../../../src/melody.ts"],"names":[],"mappings":"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"}
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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"}
@@ -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;
@@ -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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"}
@@ -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 Sequence, Transformation {
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.steps.length / rhythmHits);
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.steps[processedStepIndex % melody.steps.length];
57
+ transformedSequence[i] = melody.notes[processedStepIndex % melody.notes.length];
58
58
  processedStepIndex++;
59
59
  }
60
60
  else {
61
- transformedSequence[i] = melody.restSymbol;
61
+ transformedSequence[i] = { note: "rest", midi: -1, octave: -3 };
62
62
  }
63
63
  });
64
- return new melody_1.Melody(transformedSequence, melody.restSymbol, melody.melodicMode);
64
+ return new melody_1.Melody(transformedSequence, melody.key);
65
65
  }
66
66
  }
67
67
  exports.Rhythm = Rhythm;
@@ -1 +1 @@
1
- {"version":3,"file":"rhythm.js","sourceRoot":"","sources":["../../../src/rhythm.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;AAKlC;;;;;;;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,MAAM,CAAC,UAAU,CAAC;aAC9C;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,eAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAClF,CAAC;CACJ;AA7DD,wBA6DC"}
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"}
@@ -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
@@ -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,oBAAoB,GAC7B,6DAA6D;IAC7D,kDAAkD,CAAC;AAEvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;AAE7D,MAAM,CAAC,MAAM,iCAAiC,GAC1C,0EAA0E;IAC1E,iDAAiD,CAAC;AAEtD,MAAM,CAAC,MAAM,kBAAkB,GAC3B,uDAAuD,CAAC;AAG5D,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAU,EAAE,KAAa,EAAE,IAAS,EAAE,EAAE;IAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;AACzC,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE;IACrD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;QAClD,MAAM,IAAI,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAE/C,MAAM,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE;QAC7B,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC;IAErB,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAU,EAAE,MAAc,EAAS,EAAE;IACxD,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;IACvB,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE;QACtB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KACzC;SAAM;QACH,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,MAAM,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC,EAAE,CAAC;SACP;KACJ;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAuB,EAAE;IAC1E,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IAEpB,MAAM,SAAS,GAAa,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5C,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;QACrC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE/D,OAAO,GAAG,CAAC;AACf,CAAC,CAAA"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -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.steps.reduce((stm, step, i, arr) => {
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":"AAGA,MAAM,OAAO,WAAW;IAKpB,YAAY,KAAa;QACrB,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,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;YACjD,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
+ {"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 { MelodyType } from "./melody";
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
- // First generate an array of steps that will match the melody's length.
29
- const size = Math.ceil((melody.steps.length / this.steps.length));
30
- const expandedSteps = new Array(size).fill(this.steps).flat().slice(0, melody.steps.length);
31
- // Create a copy of the melody so that the rest symbol and mode are carried forward.
32
- // Then apply the vector addition.
33
- const transformedMelody = melody.clone();
34
- transformedMelody.steps = expandedSteps.map((step, i) => {
35
- if (melody.melodicMode == MelodyType.Degrees && melody.steps[i] == 0)
36
- return 0;
37
- else if (melody.steps[i] == melody.restSymbol)
38
- return melody.steps[i];
39
- else
40
- return step + melody.steps[i];
41
- });
42
- return transformedMelody;
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":"AACA,OAAO,EAAU,UAAU,EAAE,MAAM,UAAU,CAAC;AAI9C;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAa;IAItB;;;;OAIG;IACH,YAAY,KAAe;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAGD;;;;;;OAMG;IACH,OAAO,CAAC,MAAc;QAClB,wEAAwE;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,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;QAE5F,oFAAoF;QACpF,kCAAkC;QAClC,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QACzC,iBAAiB,CAAC,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACpD,IAAI,MAAM,CAAC,WAAW,IAAI,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChE,OAAO,CAAC,CAAC;iBACR,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,UAAU;gBACzC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;gBAEvB,OAAO,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,iBAAiB,CAAC;IAC7B,CAAC;CACJ"}
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(steps, restSymbol, mode) {
26
- this.steps = steps === undefined ? new Array() : steps;
27
- this.restSymbol = restSymbol === undefined ? 0 : restSymbol;
28
- this.melodicMode = mode == undefined ? MelodyType.Degrees : mode;
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.steps, this.restSymbol, this.melodicMode);
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 restSymbols = sequences.map(s => s.restSymbol).filter(helpers.unique);
49
- const modes = sequences.map(s => s.melodicMode).filter(helpers.unique);
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.steps[0];
68
- sequence[1] = this.steps[1];
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.steps[count % this.steps.length];
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.steps = sequence;
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.steps.length; i++) {
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.steps.length * (i + 1);
104
+ let length = this.notes.length * (i + 1);
116
105
  let rhythm = new Rhythm(rhythmSteps, "wrap", length);
117
- rhythm.applyTo(this).steps.forEach(step => sequence.push(step));
106
+ rhythm.applyTo(this).notes.forEach(step => sequence.push(step));
118
107
  }
119
108
  let countedMelody = this.clone();
120
- countedMelody.steps = sequence;
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.steps.length % 2 == 0 ? this.steps.length / 2 + 1 : Math.ceil(this.steps.length / 2);
141
- let steps = this.steps.reduce((previous, current, i) => {
142
- let segment = new Array(turnAroundStep).fill(-1).map((_, j) => this.steps[(j + i) % this.steps.length]);
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 melody = new Melody(seed, -1, MelodyType.MIDI);
147
+ let steps = new Array();
159
148
  const root = seed[0];
160
149
  const step1 = seed[1];
161
150
  const seedInterval = step1 - root;
162
- melody.steps = Array.from(new Array(size), (n, i) => i + offset).map(step => {
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
@@ -1 +1 @@
1
- {"version":3,"file":"melody.js","sourceRoot":"","sources":["../../../src/melody.ts"],"names":[],"mappings":"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"}
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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"}
@@ -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":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC3C,CAAC,IAAI,EAAE,GAAG,CAAC;IACX,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,GAAG,CAAC;IACX,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC;IAClB,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,GAAG,CAAC;IACX,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC;IAClB,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,GAAG,EAAE,IAAI,CAAC;CACd,CAAC;AAGF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAGrE,MAAM,CAAC,MAAM,cAAc,GAAa,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AAG1G,MAAM,CAAC,MAAM,gBAAgB,GAA2B;IACtD,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,KAAK;CACV,CAAA;AA6BD,MAAM,CAAC,MAAM,UAAU,GAA8B;IACnD,KAAK,EAAK,EAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAC;IAC9B,KAAK,EAAK,EAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC;IAC7B,GAAG,EAAO,EAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC;IAChC,GAAG,EAAO,EAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC;IAChC,KAAK,EAAK,EAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC;IAChC,KAAK,EAAK,EAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC;IAChC,MAAM,EAAI,EAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC;IAChC,MAAM,EAAI,EAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC;IAChC,KAAK,EAAK,EAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC;IAChC,QAAQ,EAAE,EAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC;IAChC,QAAQ,EAAE,EAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAC;IACjC,KAAK,EAAK,EAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC;IAChC,IAAI,EAAM,EAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC;IAChC,MAAM,EAAI,EAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC;CACjC,CAAA;AAGD,uDAAuD;AACvD,MAAM,CAAC,MAAM,QAAQ,GAAW;IAC5B;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,CAAC;KACR;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,CAAC;KACR;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,CAAC;KACR;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,CAAC;KACR;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,CAAC;KACR;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,CAAC;KACR;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,CAAC;KACR;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,CAAC;KACR;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,CAAC;KACR;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,CAAC;KACR;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,EAAE;KACT;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,GAAG;KACV;IACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;KACV;CACJ,CAAA"}
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.steps.length / rhythmHits);
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.steps[processedStepIndex % melody.steps.length];
54
+ transformedSequence[i] = melody.notes[processedStepIndex % melody.notes.length];
55
55
  processedStepIndex++;
56
56
  }
57
57
  else {
58
- transformedSequence[i] = melody.restSymbol;
58
+ transformedSequence[i] = { note: "rest", midi: -1, octave: -3 };
59
59
  }
60
60
  });
61
- return new Melody(transformedSequence, melody.restSymbol, melody.melodicMode);
61
+ return new Melody(transformedSequence, melody.key);
62
62
  }
63
63
  }
64
64
  //# sourceMappingURL=rhythm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rhythm.js","sourceRoot":"","sources":["../../../src/rhythm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKlC;;;;;;;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,MAAM,CAAC,UAAU,CAAC;aAC9C;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAClF,CAAC;CACJ"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tblswvs",
3
- "version": "0.17.0",
3
+ "version": "0.18.0-beta",
4
4
  "description": "Utility for opinionated processing of musical data",
5
5
  "main": "lib/es5/index.js",
6
6
  "module": "lib/es6/index.js",
@@ -1,3 +0,0 @@
1
- export interface Sequence {
2
- steps: (string | number)[];
3
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=sequence.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sequence.js","sourceRoot":"","sources":["../../../src/sequence.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sequence.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sequence.js","sourceRoot":"","sources":["../../../src/sequence.ts"],"names":[],"mappings":""}