tblswvs 0.18.0-beta.2 → 0.18.1

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,7 +1,7 @@
1
1
  export declare const NON_INTEGER_INPUTS = "Numbers must be integers";
2
2
  export declare const SELF_SIMILARITY_REQUIRES_COPRIMES: string;
3
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";
4
+ export declare const SCALE_DEGREE_SHIFTS_REQUIRE_KEY = "Melodic vectors with shift mode 'scale' can only operate on a Melody with a Key";
5
5
  export declare const KEY_REQUIRED_FOR_MUTATION = "Mutations require a Melody object with a key";
6
6
  export declare const unique: (value: any, index: number, self: any) => boolean;
7
7
  export declare const areCoprime: (num1: number, num2: number) => boolean;
@@ -6,7 +6,7 @@ exports.NON_INTEGER_INPUTS = "Numbers must be integers";
6
6
  exports.SELF_SIMILARITY_REQUIRES_COPRIMES = "A self-similar melody can only be produced for an input sequence length " +
7
7
  "that is coprime with the output sequence length";
8
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";
9
+ exports.SCALE_DEGREE_SHIFTS_REQUIRE_KEY = "Melodic vectors with shift mode 'scale' can only operate on a Melody with a Key";
10
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;
@@ -5,5 +5,6 @@ export * from "./melodic_vector";
5
5
  export * from "./rhythm";
6
6
  export * from "./lindenmayer_system";
7
7
  export * from "./markov_chain";
8
+ export * from "./mutation";
8
9
  export * from "./helpers";
9
10
  export * from "./note_data";
package/lib/es5/index.js CHANGED
@@ -21,6 +21,7 @@ __exportStar(require("./melodic_vector"), exports);
21
21
  __exportStar(require("./rhythm"), exports);
22
22
  __exportStar(require("./lindenmayer_system"), exports);
23
23
  __exportStar(require("./markov_chain"), exports);
24
+ __exportStar(require("./mutation"), exports);
24
25
  __exportStar(require("./helpers"), exports);
25
26
  __exportStar(require("./note_data"), exports);
26
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,yCAAuB;AACvB,wCAAsB;AACtB,mDAAiC;AACjC,2CAAyB;AACzB,uDAAqC;AACrC,iDAA+B;AAC/B,4CAA0B;AAC1B,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,yCAAuB;AACvB,wCAAsB;AACtB,mDAAiC;AACjC,2CAAyB;AACzB,uDAAqC;AACrC,iDAA+B;AAC/B,6CAA2B;AAC3B,4CAA0B;AAC1B,8CAA4B"}
@@ -39,7 +39,7 @@ class MelodicVector {
39
39
  // First generate an array of steps that will match the melody's length.
40
40
  const size = Math.ceil((melody.notes.length / this.steps.length));
41
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.
42
+ // Create a copy of the melody so that the rest symbol is carried forward.
43
43
  // Then apply the vector addition.
44
44
  const transformedMelody = melody.clone();
45
45
  expandedSteps.forEach((step, i) => {
@@ -1 +1 @@
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
+ {"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,0EAA0E;YAC1E,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"}
@@ -2,8 +2,7 @@ import { note } from "./note_data";
2
2
  import { Key } from "./key";
3
3
  /**
4
4
  * The Melody class represents the primary melodic object. A melody has steps that are intended to represet
5
- * a sequence of notes and rests. It stores its rest symbol and its melodic mode, which should come from the
6
- * MelodyType enum.
5
+ * a sequence of notes and rests.
7
6
  */
8
7
  export declare class Melody {
9
8
  notes: note[];
package/lib/es5/melody.js CHANGED
@@ -6,8 +6,7 @@ const helpers = require("./helpers");
6
6
  const rhythm_1 = require("./rhythm");
7
7
  /**
8
8
  * The Melody class represents the primary melodic object. A melody has steps that are intended to represet
9
- * a sequence of notes and rests. It stores its rest symbol and its melodic mode, which should come from the
10
- * MelodyType enum.
9
+ * a sequence of notes and rests.
11
10
  */
12
11
  class Melody {
13
12
  constructor(notes, key) {
@@ -57,7 +56,7 @@ class Melody {
57
56
  throw new tblswvs_error_1.TblswvsError(helpers.SELF_SIMILARITY_REQUIRES_COPRIMES);
58
57
  let sequence = new Array(length).fill(-1);
59
58
  sequence[0] = this.notes[0];
60
- sequence[1] = this.notes[1];
59
+ sequence[1] = this.notes[1 % this.notes.length];
61
60
  let contiguousSequence, currentNote, stepAmount, nextNote;
62
61
  let nextEmpty = sequence.findIndex(note => note == -1), count = 2;
63
62
  // Build a self replicating melody by powers of 2 until all notes are filled.
@@ -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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"}
@@ -1,5 +1,7 @@
1
1
  import { Melody } from "./melody";
2
2
  export declare class Mutation {
3
+ static functionMap: Map<string, Function>;
4
+ static random(inputMelody: Melody, algorithms?: string[]): Melody;
3
5
  static transposeDown2(inputMelody: Melody): Melody;
4
6
  static reverse(inputMelody: Melody): Melody;
5
7
  static rotateLeftThree(inputMelody: Melody): Melody;
@@ -6,6 +6,15 @@ const tblswvs_error_1 = require("./tblswvs_error");
6
6
  const melodic_vector_1 = require("./melodic_vector");
7
7
  const melody_1 = require("./melody");
8
8
  class Mutation {
9
+ static random(inputMelody, algorithms) {
10
+ if (algorithms == undefined)
11
+ algorithms = Object.getOwnPropertyNames(Mutation).filter(func => !["length", "name", "prototype"].includes(func));
12
+ const algorithm = this.functionMap.get(algorithms[Math.floor(Math.random() * algorithms.length)]);
13
+ if (algorithm != undefined)
14
+ return algorithm(inputMelody);
15
+ else
16
+ return inputMelody;
17
+ }
9
18
  static transposeDown2(inputMelody) {
10
19
  return new melodic_vector_1.MelodicVector([-2], "scale").applyTo(inputMelody);
11
20
  }
@@ -73,4 +82,14 @@ class Mutation {
73
82
  }
74
83
  }
75
84
  exports.Mutation = Mutation;
85
+ Mutation.functionMap = new Map([
86
+ ["transposeDown2", Mutation.transposeDown2],
87
+ ["reverse", Mutation.reverse],
88
+ ["rotateLeftThree", Mutation.rotateLeftThree],
89
+ ["sort", Mutation.sort],
90
+ ["reverseSort", Mutation.reverseSort],
91
+ ["invert", Mutation.invert],
92
+ ["invertReverse", Mutation.invertReverse],
93
+ ["bitFlip", Mutation.bitFlip]
94
+ ]);
76
95
  //# sourceMappingURL=mutation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../../src/mutation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../../src/mutation.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export const NON_INTEGER_INPUTS = "Numbers must be integers";
3
3
  export const SELF_SIMILARITY_REQUIRES_COPRIMES = "A self-similar melody can only be produced for an input sequence length " +
4
4
  "that is coprime with the output sequence length";
5
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";
6
+ export const SCALE_DEGREE_SHIFTS_REQUIRE_KEY = "Melodic vectors with shift mode 'scale' can only operate on a Melody with a Key";
7
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;
package/lib/es6/index.js CHANGED
@@ -5,6 +5,7 @@ export * from "./melodic_vector";
5
5
  export * from "./rhythm";
6
6
  export * from "./lindenmayer_system";
7
7
  export * from "./markov_chain";
8
+ export * from "./mutation";
8
9
  export * from "./helpers";
9
10
  export * from "./note_data";
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
@@ -36,7 +36,7 @@ export class MelodicVector {
36
36
  // First generate an array of steps that will match the melody's length.
37
37
  const size = Math.ceil((melody.notes.length / this.steps.length));
38
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.
39
+ // Create a copy of the melody so that the rest symbol is carried forward.
40
40
  // Then apply the vector addition.
41
41
  const transformedMelody = melody.clone();
42
42
  expandedSteps.forEach((step, i) => {
@@ -1 +1 @@
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"}
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,0EAA0E;YAC1E,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
@@ -3,8 +3,7 @@ import * as helpers from "./helpers";
3
3
  import { Rhythm } from "./rhythm";
4
4
  /**
5
5
  * The Melody class represents the primary melodic object. A melody has steps that are intended to represet
6
- * a sequence of notes and rests. It stores its rest symbol and its melodic mode, which should come from the
7
- * MelodyType enum.
6
+ * a sequence of notes and rests.
8
7
  */
9
8
  export class Melody {
10
9
  constructor(notes, key) {
@@ -54,7 +53,7 @@ export class Melody {
54
53
  throw new TblswvsError(helpers.SELF_SIMILARITY_REQUIRES_COPRIMES);
55
54
  let sequence = new Array(length).fill(-1);
56
55
  sequence[0] = this.notes[0];
57
- sequence[1] = this.notes[1];
56
+ sequence[1] = this.notes[1 % this.notes.length];
58
57
  let contiguousSequence, currentNote, stepAmount, nextNote;
59
58
  let nextEmpty = sequence.findIndex(note => note == -1), count = 2;
60
59
  // Build a self replicating melody by powers of 2 until all notes are filled.
@@ -1 +1 @@
1
- {"version":3,"file":"melody.js","sourceRoot":"","sources":["../../../src/melody.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC;;;;GAIG;AACH,MAAM,OAAO,MAAM;IAKf,YAAY,KAAa,EAAE,GAAS;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,GAAG,IAAI,SAAS,EAAE;YAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACf,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACjB,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,EAAE;oBACtD,MAAM,cAAc,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC3F,IAAI,cAAc,IAAI,CAAC,CAAC;wBAAE,IAAI,CAAC,WAAW,GAAG,cAAc,GAAG,CAAC,CAAC;iBACnE;YACL,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAGD;;;;OAIG;IACH,KAAK;QACD,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAGD;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CAAC,SAAmB;QAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;IAGD;;;;;;OAMG;IACH,aAAa,CAAC,MAAc,EAAE,KAAc;QACxC,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAExC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC;YAClC,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;QAEtE,IAAI,QAAQ,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC;QAC1D,IAAI,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAClD,KAAK,GAAG,CAAC,CAAC;QAEd,6EAA6E;QAC7E,GAAG;YACC,kBAAkB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAElD,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;gBACxE,8CAA8C;gBAC9C,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAE5C,+EAA+E;gBAC/E,wDAAwD;gBACxD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE;oBACrD,UAAU,GAAG,SAAA,KAAK,EAAI,KAAK,CAAA,CAAC;oBAE5B,8EAA8E;oBAC9E,QAAQ,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,MAAM,CAAC,GAAG,WAAW,CAAC;iBAC7D;aACJ;YAED,sFAAsF;YACtF,+BAA+B;YAC/B,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjD,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,SAAS,IAAI,CAAC,CAAC;gBAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;YACpD,KAAK,EAAE,CAAC;SACX,QAAQ,SAAS,IAAI,CAAC,CAAC,EAAE;QAE1B,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;QACxB,OAAO,MAAM,CAAC;IAClB,CAAC;IAGD;;;;;;;;;;;;OAYG;IACH,OAAO;QACH,IAAI,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,WAAW,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,IAAI,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAErD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACnE;QACD,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,aAAa,CAAC,KAAK,GAAG,QAAQ,CAAC;QAE/B,OAAO,aAAa,CAAC;IACzB,CAAC;IAGD;;;;;;;;;;;;;;;OAeG;IACH,MAAM;QACF,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/G,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;YACnD,IAAI,OAAO,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACxG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1D,OAAO,QAAQ,CAAC;QACpB,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEvB,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAGD;;;;;;;OAOG;IACH,MAAM,CAAC,cAAc,CAAC,OAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAe,EAAE,EAAE,SAAiB,CAAC;QAChF,IAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAK,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,KAAK,GAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;QAElC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAChE,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACP,CAAC;IAGD;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,cAAc,CAAC,KAAa;QAC/B,IAAI,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC1C,IAAI,KAAK,IAAI,CAAC,EAAE;gBACZ,OAAO,IAAI,CAAC,CAAC;aAChB;iBAAM;gBACH,OAAO,IAAI,CAAC,CAAC,CAAC;aACjB;YACD,OAAO,OAAO,CAAC;QACnB,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;CACJ"}
1
+ {"version":3,"file":"melody.js","sourceRoot":"","sources":["../../../src/melody.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,15 @@ import { TblswvsError } from "./tblswvs_error";
3
3
  import { MelodicVector } from "./melodic_vector";
4
4
  import { Melody } from "./melody";
5
5
  export class Mutation {
6
+ static random(inputMelody, algorithms) {
7
+ if (algorithms == undefined)
8
+ algorithms = Object.getOwnPropertyNames(Mutation).filter(func => !["length", "name", "prototype"].includes(func));
9
+ const algorithm = this.functionMap.get(algorithms[Math.floor(Math.random() * algorithms.length)]);
10
+ if (algorithm != undefined)
11
+ return algorithm(inputMelody);
12
+ else
13
+ return inputMelody;
14
+ }
6
15
  static transposeDown2(inputMelody) {
7
16
  return new MelodicVector([-2], "scale").applyTo(inputMelody);
8
17
  }
@@ -69,4 +78,14 @@ export class Mutation {
69
78
  }
70
79
  }
71
80
  }
81
+ Mutation.functionMap = new Map([
82
+ ["transposeDown2", Mutation.transposeDown2],
83
+ ["reverse", Mutation.reverse],
84
+ ["rotateLeftThree", Mutation.rotateLeftThree],
85
+ ["sort", Mutation.sort],
86
+ ["reverseSort", Mutation.reverseSort],
87
+ ["invert", Mutation.invert],
88
+ ["invertReverse", Mutation.invertReverse],
89
+ ["bitFlip", Mutation.bitFlip]
90
+ ]);
72
91
  //# sourceMappingURL=mutation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../../src/mutation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../../src/mutation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tblswvs",
3
- "version": "0.18.0-beta.2",
3
+ "version": "0.18.1",
4
4
  "description": "Utility for opinionated processing of musical data",
5
5
  "main": "lib/es5/index.js",
6
6
  "module": "lib/es6/index.js",