@magenta/music
Advanced tools
Comparing version 1.1.9 to 1.1.10
@@ -7,3 +7,3 @@ import * as tf from '@tensorflow/tfjs-core'; | ||
Diminished = 3, | ||
Other = 4, | ||
Other = 4 | ||
} | ||
@@ -30,3 +30,3 @@ export declare class ChordSymbolException extends Error { | ||
depth: number; | ||
private index(chord); | ||
private index; | ||
encode(chord: string): tf.Tensor<tf.Rank.R1>; | ||
@@ -36,3 +36,3 @@ } | ||
depth: number; | ||
private index(chord); | ||
private index; | ||
encode(chord: string): tf.Tensor<tf.Rank.R1>; | ||
@@ -39,0 +39,0 @@ } |
@@ -17,2 +17,3 @@ export declare const DEFAULT_QUARTERS_PER_MINUTE = 120; | ||
export declare const MAX_MIDI_PITCH = 127; | ||
export declare const MIDI_PITCHES: number; | ||
export declare const MIN_MIDI_PROGRAM = 0; | ||
@@ -19,0 +20,0 @@ export declare const MAX_MIDI_PROGRAM = 127; |
@@ -20,2 +20,3 @@ "use strict"; | ||
exports.MAX_MIDI_PITCH = 127; | ||
exports.MIDI_PITCHES = exports.MAX_MIDI_PITCH - exports.MIN_MIDI_PITCH + 1; | ||
exports.MIN_MIDI_PROGRAM = 0; | ||
@@ -22,0 +23,0 @@ exports.MAX_MIDI_PROGRAM = 127; |
@@ -20,3 +20,4 @@ "use strict"; | ||
], | ||
quantizationInfo: { stepsPerQuarter: 2 } | ||
quantizationInfo: { stepsPerQuarter: 2 }, | ||
totalQuantizedSteps: 32, | ||
}); | ||
@@ -38,2 +39,3 @@ var DRUM_NS = index_1.NoteSequence.create({ | ||
}); | ||
DRUM_NS.totalQuantizedSteps = 32; | ||
var TRIO_NS = index_1.NoteSequence.create(); | ||
@@ -57,2 +59,3 @@ TRIO_NS.quantizationInfo = | ||
}); | ||
TRIO_NS.totalQuantizedSteps = 32; | ||
var MULTITRACK_NS = index_1.NoteSequence.create({ | ||
@@ -145,3 +148,5 @@ notes: [ | ||
t.deepEqual(drumOneHotTensor.shape, [32, 512]); | ||
t.equal(tf.tidy(function () { return drumOneHotTensor.sum(1).equal(tf.scalar(1, 'int32')).sum().get(); }), 32); | ||
t.equal(tf.tidy(function () { | ||
return drumOneHotTensor.sum(1).equal(tf.scalar(1, 'int32')).sum().get(); | ||
}), 32); | ||
var drumRollTensorOutput = drumRollTensor.slice([0, 0], [32, 9]); | ||
@@ -148,0 +153,0 @@ drumRollConverter.toNoteSequence(drumRollTensorOutput, 2) |
@@ -37,6 +37,6 @@ import * as tf from '@tensorflow/tfjs-core'; | ||
readonly numSegments: number; | ||
readonly abstract depth: number; | ||
readonly abstract endTensor: tf.Tensor1D; | ||
readonly abstract NUM_SPLITS: number; | ||
readonly abstract SEGMENTED_BY_TRACK: boolean; | ||
abstract readonly depth: number; | ||
abstract readonly endTensor: tf.Tensor1D; | ||
abstract readonly NUM_SPLITS: number; | ||
abstract readonly SEGMENTED_BY_TRACK: boolean; | ||
abstract toTensor(noteSequence: INoteSequence): tf.Tensor2D; | ||
@@ -127,6 +127,6 @@ abstract toNoteSequence(tensor: tf.Tensor2D, stepsPerQuarter: number): Promise<INoteSequence>; | ||
constructor(args: MultitrackConverterArgs); | ||
private trackToTensor(track?); | ||
private trackToTensor; | ||
toTensor(noteSequence: INoteSequence): tf.Tensor<tf.Rank.R2>; | ||
private tokensToTrack(tokens); | ||
private tokensToTrack; | ||
toNoteSequence(oh: tf.Tensor2D, stepsPerQuarter?: number): Promise<NoteSequence>; | ||
} |
@@ -27,4 +27,4 @@ "use strict"; | ||
while (_) try { | ||
if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [0, t.value]; | ||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [op[0] & 2, t.value]; | ||
switch (op[0]) { | ||
@@ -50,3 +50,2 @@ case 0: case 1: t = op; break; | ||
var tf = require("@tensorflow/tfjs-core"); | ||
var util_1 = require("util"); | ||
var index_1 = require("../protobuf/index"); | ||
@@ -103,5 +102,3 @@ var constants = require("./constants"); | ||
_this.SEGMENTED_BY_TRACK = false; | ||
_this.pitchClasses = util_1.isNullOrUndefined(args.pitchClasses) ? | ||
exports.DEFAULT_DRUM_PITCH_CLASSES : | ||
args.pitchClasses; | ||
_this.pitchClasses = args.pitchClasses || exports.DEFAULT_DRUM_PITCH_CLASSES; | ||
_this.pitchToClass = new Map(); | ||
@@ -161,2 +158,3 @@ var _loop_1 = function (c) { | ||
} | ||
noteSequence.totalQuantizedSteps = labels.length; | ||
return [2, noteSequence]; | ||
@@ -208,3 +206,5 @@ } | ||
return [3, 1]; | ||
case 4: return [2, noteSequence]; | ||
case 4: | ||
noteSequence.totalQuantizedSteps = roll.shape[0]; | ||
return [2, noteSequence]; | ||
} | ||
@@ -315,2 +315,3 @@ }); | ||
} | ||
noteSequence.totalQuantizedSteps = labels.length; | ||
return [2, noteSequence]; | ||
@@ -367,4 +368,4 @@ } | ||
return __awaiter(this, void 0, void 0, function () { | ||
var _a, _b, ohs, ns, bassNs, drumsNs; | ||
var _this = this; | ||
var ohs, ns, bassNs, drumsNs, _a, _b; | ||
return __generator(this, function (_c) { | ||
@@ -535,4 +536,4 @@ switch (_c.label) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var noteSequence, tensors, tracks; | ||
var _this = this; | ||
var noteSequence, tensors, tracks; | ||
return __generator(this, function (_a) { | ||
@@ -562,5 +563,5 @@ switch (_a.label) { | ||
tracks.forEach(function (track, instrument) { | ||
var _a; | ||
track.setNumSteps(_this.totalSteps); | ||
(_a = noteSequence.notes).push.apply(_a, track.toNoteSequence(instrument).notes); | ||
var _a; | ||
}); | ||
@@ -567,0 +568,0 @@ return [2, noteSequence]; |
@@ -9,1 +9,3 @@ import * as aux_inputs from './aux_inputs'; | ||
export * from './player'; | ||
export * from './recorder'; | ||
export * from './visualizer'; |
@@ -18,2 +18,4 @@ "use strict"; | ||
__export(require("./player")); | ||
__export(require("./recorder")); | ||
__export(require("./visualizer")); | ||
//# sourceMappingURL=index.js.map |
@@ -1,2 +0,2 @@ | ||
import { INoteSequence, NoteSequence } from '../protobuf/index'; | ||
import { INoteSequence, NoteSequence } from '../protobuf'; | ||
export declare class MidiConversionError extends Error { | ||
@@ -3,0 +3,0 @@ constructor(message?: string); |
@@ -14,4 +14,3 @@ "use strict"; | ||
var midiconvert = require("midiconvert"); | ||
var util_1 = require("util"); | ||
var index_1 = require("../protobuf/index"); | ||
var protobuf_1 = require("../protobuf"); | ||
var constants = require("./constants"); | ||
@@ -32,10 +31,10 @@ var sequences = require("./sequences"); | ||
var parsedMidi = midiconvert.parse(midi); | ||
var ns = index_1.NoteSequence.create(); | ||
var ns = protobuf_1.NoteSequence.create(); | ||
ns.ticksPerQuarter = parsedMidi.header.PPQ; | ||
ns.sourceInfo = index_1.NoteSequence.SourceInfo.create({ | ||
parser: index_1.NoteSequence.SourceInfo.Parser.TONEJS_MIDI_CONVERT, | ||
encodingType: index_1.NoteSequence.SourceInfo.EncodingType.MIDI | ||
ns.sourceInfo = protobuf_1.NoteSequence.SourceInfo.create({ | ||
parser: protobuf_1.NoteSequence.SourceInfo.Parser.TONEJS_MIDI_CONVERT, | ||
encodingType: protobuf_1.NoteSequence.SourceInfo.EncodingType.MIDI | ||
}); | ||
if (parsedMidi.header.timeSignature) { | ||
ns.timeSignatures.push(index_1.NoteSequence.TimeSignature.create({ | ||
ns.timeSignatures.push(protobuf_1.NoteSequence.TimeSignature.create({ | ||
time: 0, | ||
@@ -47,3 +46,3 @@ numerator: parsedMidi.header.timeSignature[0], | ||
else { | ||
ns.timeSignatures.push(index_1.NoteSequence.TimeSignature.create({ | ||
ns.timeSignatures.push(protobuf_1.NoteSequence.TimeSignature.create({ | ||
time: 0, | ||
@@ -54,3 +53,3 @@ numerator: 4, | ||
} | ||
ns.tempos.push(index_1.NoteSequence.Tempo.create({ time: 0, qpm: parsedMidi.header.bpm })); | ||
ns.tempos.push(protobuf_1.NoteSequence.Tempo.create({ time: 0, qpm: parsedMidi.header.bpm })); | ||
var instrumentNumber = -1; | ||
@@ -67,3 +66,3 @@ for (var _i = 0, _a = parsedMidi.tracks; _i < _a.length; _i++) { | ||
var endTime = startTime + duration; | ||
ns.notes.push(index_1.NoteSequence.Note.create({ | ||
ns.notes.push(protobuf_1.NoteSequence.Note.create({ | ||
instrument: instrumentNumber, | ||
@@ -128,7 +127,6 @@ program: track.instrumentNumber, | ||
notes: [], | ||
isPercussion: util_1.isNullOrUndefined(notes[0].isDrum) ? false : | ||
notes[0].isDrum, | ||
isPercussion: (notes[0].isDrum === undefined) ? false : notes[0].isDrum, | ||
channelNumber: notes[0].isDrum ? constants.DRUM_CHANNEL : | ||
constants.DEFAULT_CHANNEL, | ||
instrumentNumber: util_1.isNullOrUndefined(notes[0].program) ? | ||
instrumentNumber: (notes[0].program === undefined) ? | ||
constants.DEFAULT_PROGRAM : | ||
@@ -138,3 +136,3 @@ notes[0].program | ||
track.notes = notes.map(function (note) { | ||
var velocity = util_1.isNullOrUndefined(note.velocity) ? | ||
var velocity = (note.velocity === undefined) ? | ||
constants.DEFAULT_VELOCITY : | ||
@@ -141,0 +139,0 @@ note.velocity; |
@@ -1,2 +0,2 @@ | ||
import { INoteSequence, NoteSequence } from '../protobuf/index'; | ||
import { INoteSequence, NoteSequence } from '../protobuf'; | ||
export declare abstract class BasePlayerCallback { | ||
@@ -15,3 +15,3 @@ abstract run(n: NoteSequence.INote, t?: number): void; | ||
setTempo(qpm: number): void; | ||
private makeClickSequence(seq); | ||
private makeClickSequence; | ||
start(seq: INoteSequence, qpm?: number): Promise<void>; | ||
@@ -26,3 +26,3 @@ stop(): void; | ||
protected playNote(time: number, note: NoteSequence.INote): void; | ||
private getSynth(instrument, program?); | ||
private getSynth; | ||
} | ||
@@ -29,0 +29,0 @@ export declare class SoundFontPlayer extends BasePlayer { |
@@ -27,4 +27,4 @@ "use strict"; | ||
while (_) try { | ||
if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [0, t.value]; | ||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [op[0] & 2, t.value]; | ||
switch (op[0]) { | ||
@@ -304,3 +304,3 @@ case 0: case 1: t = op; break; | ||
else { | ||
this.synths.set(instrument, new Tone.Synth().toMaster()); | ||
this.synths.set(instrument, new Tone.PolySynth(10).toMaster()); | ||
} | ||
@@ -307,0 +307,0 @@ return this.synths.get(instrument); |
@@ -28,5 +28,5 @@ export interface SampleInfo { | ||
initialize(): Promise<void>; | ||
private sampleInfoToName(sampleInfo); | ||
private sampleNameToURL(name); | ||
private nearestVelocity(velocity); | ||
private sampleInfoToName; | ||
private sampleNameToURL; | ||
private nearestVelocity; | ||
loadSamples(samples: SampleInfo[]): Promise<void>; | ||
@@ -33,0 +33,0 @@ playNote(pitch: number, velocity: number, startTime: number, duration: number, output: any): void; |
@@ -17,4 +17,4 @@ "use strict"; | ||
while (_) try { | ||
if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [0, t.value]; | ||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [op[0] & 2, t.value]; | ||
switch (op[0]) { | ||
@@ -103,4 +103,4 @@ case 0: case 1: t = op; break; | ||
return __awaiter(this, void 0, void 0, function () { | ||
var nearestSampleNames, uniqueSampleNames, sampleNamesAndURLs; | ||
var _this = this; | ||
var nearestSampleNames, uniqueSampleNames, sampleNamesAndURLs; | ||
return __generator(this, function (_a) { | ||
@@ -204,4 +204,4 @@ switch (_a.label) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var instrumentSamples; | ||
var _this = this; | ||
var instrumentSamples; | ||
return __generator(this, function (_a) { | ||
@@ -208,0 +208,0 @@ switch (_a.label) { |
import * as tf from '@tensorflow/tfjs'; | ||
export { tf }; | ||
export * from './core/index'; | ||
export * from './music_rnn/index'; | ||
export * from './music_vae/index'; | ||
export * from './protobuf/index'; | ||
export * from './core'; | ||
export * from './music_rnn'; | ||
export * from './music_vae'; | ||
export * from './protobuf'; | ||
export * from './transcription'; |
@@ -8,6 +8,7 @@ "use strict"; | ||
exports.tf = tf; | ||
__export(require("./core/index")); | ||
__export(require("./music_rnn/index")); | ||
__export(require("./music_vae/index")); | ||
__export(require("./protobuf/index")); | ||
__export(require("./core")); | ||
__export(require("./music_rnn")); | ||
__export(require("./music_vae")); | ||
__export(require("./protobuf")); | ||
__export(require("./transcription")); | ||
//# sourceMappingURL=index.js.map |
@@ -33,2 +33,3 @@ "use strict"; | ||
AttentionWrapper.prototype.call = function (input, c, h, state) { | ||
var _a; | ||
var nextAttnInput = tf.concat([input, state.attention.as2D(1, -1)], 1); | ||
@@ -59,3 +60,2 @@ var nextRnnInput = tf.add(tf.matMul(nextAttnInput, this.attnInputMatrix), this.attnInputBias.as2D(1, -1)); | ||
return { output: output, c: c, h: h, attentionState: { attention: attention, attentionState: attentionState } }; | ||
var _a; | ||
}; | ||
@@ -62,0 +62,0 @@ return AttentionWrapper; |
@@ -29,3 +29,3 @@ import * as aux_inputs from '../core/aux_inputs'; | ||
isInitialized(): boolean; | ||
private instantiateFromSpec(); | ||
private instantiateFromSpec; | ||
initialize(): Promise<void>; | ||
@@ -38,4 +38,4 @@ dispose(): void; | ||
}>; | ||
private continueSequenceImpl(sequence, steps, temperature?, chordProgression?, returnProbs?); | ||
private sampleRnn(inputs, steps, temperature, controls?, auxInputs?, returnProbs?); | ||
private continueSequenceImpl; | ||
private sampleRnn; | ||
} |
@@ -17,4 +17,4 @@ "use strict"; | ||
while (_) try { | ||
if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [0, t.value]; | ||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [op[0] & 2, t.value]; | ||
switch (op[0]) { | ||
@@ -70,4 +70,4 @@ case 0: case 1: t = op; break; | ||
return __awaiter(this, void 0, void 0, function () { | ||
var vars, hasAttention, rnnPrefix, l, _loop_1, this_1, state_1; | ||
var _this = this; | ||
var vars, hasAttention, rnnPrefix, l, _loop_1, this_1, state_1; | ||
return __generator(this, function (_a) { | ||
@@ -167,4 +167,4 @@ switch (_a.label) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var oh, samplesAndProbs, result, probs, i, _a, _b; | ||
var _this = this; | ||
var oh, samplesAndProbs, result, probs, i, _a, _b; | ||
return __generator(this, function (_c) { | ||
@@ -230,2 +230,3 @@ switch (_c.label) { | ||
MusicRNN.prototype.sampleRnn = function (inputs, steps, temperature, controls, auxInputs, returnProbs) { | ||
var _a; | ||
var length = inputs.shape[0]; | ||
@@ -253,16 +254,14 @@ var outputSize = inputs.shape[1]; | ||
else { | ||
var logits = lastOutput.matMul(this.lstmFcW).add(this.lstmFcB); | ||
var logits = lastOutput.matMul(this.lstmFcW).add(this.lstmFcB).as1D(); | ||
var sampledOutput = void 0; | ||
if (returnProbs || temperature) { | ||
var theseProbs = temperature ? | ||
tf.softmax(logits.div(tf.scalar(temperature))) : | ||
tf.softmax(logits); | ||
probs.push(theseProbs); | ||
sampledOutput = | ||
tf.multinomial(theseProbs, 1, undefined, true) | ||
.as1D(); | ||
if (temperature) { | ||
logits = logits.div(tf.scalar(temperature)); | ||
sampledOutput = tf.multinomial(logits, 1).as1D(); | ||
} | ||
else { | ||
sampledOutput = logits.argMax(1).as1D(); | ||
sampledOutput = logits.argMax().as1D(); | ||
} | ||
if (returnProbs) { | ||
probs.push(tf.softmax(logits)); | ||
} | ||
nextInput = tf.oneHot(sampledOutput, outputSize).toFloat(); | ||
@@ -296,3 +295,2 @@ samples.push(nextInput.as1D().toBool()); | ||
return { samples: samples, probs: probs }; | ||
var _a; | ||
}; | ||
@@ -299,0 +297,0 @@ return MusicRNN; |
@@ -42,15 +42,15 @@ import * as tf from '@tensorflow/tfjs-core'; | ||
constructor(checkpointURL: string, spec?: MusicVAESpec); | ||
private instantiateFromSpec(); | ||
private instantiateFromSpec; | ||
dispose(): void; | ||
private getLstmLayers(cellFormat, vars); | ||
private getLstmLayers; | ||
initialize(): Promise<void>; | ||
isInitialized(): boolean; | ||
interpolate(inputSequences: INoteSequence[], numInterps: number | number[], temperature?: number, chordProgression?: string[]): Promise<INoteSequence[]>; | ||
private getSegmentLengths(inputTensors); | ||
private encodeChordProgression(chordProgression); | ||
private getSegmentLengths; | ||
private encodeChordProgression; | ||
encode(inputSequences: INoteSequence[], chordProgression?: string[]): Promise<tf.Tensor<tf.Rank.R2>>; | ||
decode(z: tf.Tensor2D, temperature?: number, chordProgression?: string[], stepsPerQuarter?: number): Promise<INoteSequence[]>; | ||
private getInterpolatedZs(z, numInterps); | ||
private getInterpolatedZs; | ||
sample(numSamples: number, temperature?: number, chordProgression?: string[], stepsPerQuarter?: number): Promise<INoteSequence[]>; | ||
} | ||
export { LayerVars, Encoder, Decoder, Nade, MusicVAE }; | ||
export { LayerVars, Encoder, Decoder, Nade, MusicVAE, }; |
@@ -27,4 +27,4 @@ "use strict"; | ||
while (_) try { | ||
if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [0, t.value]; | ||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [op[0] & 2, t.value]; | ||
switch (op[0]) { | ||
@@ -204,2 +204,3 @@ case 0: case 1: t = op; break; | ||
return tf.tidy(function () { | ||
var _a; | ||
var lstmCell = initLstmCells(z, _this.lstmCellVars, _this.zToInitStateVars); | ||
@@ -235,3 +236,2 @@ var samples = []; | ||
return tf.stack(samples, 1); | ||
var _a; | ||
}); | ||
@@ -258,2 +258,3 @@ }; | ||
return tf.tidy(function () { | ||
var _a; | ||
var lstmCell = initLstmCells(z, _this.lstmCellVars, _this.zToInitStateVars); | ||
@@ -276,3 +277,2 @@ var samples = []; | ||
return tf.concat(samples, 1); | ||
var _a; | ||
}); | ||
@@ -350,4 +350,4 @@ }; | ||
return __awaiter(this, void 0, void 0, function () { | ||
var LSTM_CELL_FORMAT, MUTLI_LSTM_CELL_FORMAT, CONDUCTOR_PREFIX, BIDI_LSTM_CELL, ENCODER_FORMAT, HIER_ENCODER_FORMAT, vars, encMu, fwLayers_1, bwLayers_1, baseEncoders, fwLayers, bwLayers, decVarPrefix, decVarPrefixes, i, baseDecoders, condLstmLayers, condZtoInitState; | ||
var _this = this; | ||
var LSTM_CELL_FORMAT, MUTLI_LSTM_CELL_FORMAT, CONDUCTOR_PREFIX, BIDI_LSTM_CELL, ENCODER_FORMAT, HIER_ENCODER_FORMAT, vars, encMu, fwLayers_1, bwLayers_1, baseEncoders, fwLayers, bwLayers, decVarPrefix, decVarPrefixes, i, baseDecoders, condLstmLayers, condZtoInitState; | ||
return __generator(this, function (_a) { | ||
@@ -451,4 +451,4 @@ switch (_a.label) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var inputZs, interpZs, outputSequenes; | ||
var _this = this; | ||
var inputZs, interpZs, outputSequenes; | ||
return __generator(this, function (_a) { | ||
@@ -482,4 +482,4 @@ switch (_a.label) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var numSteps, numSegments, isEndTensor, isEndArray, maxSegmentLength, segmentLengths, offset, fromIndex; | ||
var _this = this; | ||
var numSteps, numSegments, isEndTensor, isEndArray, maxSegmentLength, segmentLengths, offset, fromIndex; | ||
return __generator(this, function (_a) { | ||
@@ -533,4 +533,4 @@ switch (_a.label) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var inputTensors, segmentLengths, _a, newInputTensors, z; | ||
var _this = this; | ||
var inputTensors, segmentLengths, _a, newInputTensors, z; | ||
return __generator(this, function (_b) { | ||
@@ -585,4 +585,4 @@ switch (_b.label) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var numSteps, ohSeqs, outputSequences, _i, ohSeqs_1, oh, _a, _b; | ||
var _this = this; | ||
var numSteps, ohSeqs, outputSequences, _i, ohSeqs_1, oh, _a, _b; | ||
return __generator(this, function (_c) { | ||
@@ -678,4 +678,4 @@ switch (_c.label) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var randZs, outputSequenes; | ||
var _this = this; | ||
var randZs, outputSequenes; | ||
return __generator(this, function (_a) { | ||
@@ -682,0 +682,0 @@ switch (_a.label) { |
{ | ||
"name": "@magenta/music", | ||
"version": "1.1.9", | ||
"version": "1.1.10", | ||
"description": "Make music in the browser with machine learning.", | ||
@@ -10,15 +10,18 @@ "main": "es5/index.js", | ||
"dependencies": { | ||
"@tensorflow/tfjs": "^0.12.4", | ||
"@tensorflow/tfjs": "^0.12.5", | ||
"midiconvert": "^0.4.7", | ||
"protobufjs": "^6.8.6", | ||
"tonal": "^1.1.3", | ||
"tone": "^0.12.80", | ||
"util": "^0.10.3" | ||
"tone": "^0.12.80" | ||
}, | ||
"devDependencies": { | ||
"@types/clone": "^0.1.30", | ||
"@types/file-saver": "^1.3.0", | ||
"@types/tape": "^4.2.32", | ||
"@types/webmidi": "^2.0.2", | ||
"browserify": "^14.4.0", | ||
"clang-format": "^1.2.3", | ||
"clone": "^1.0.4", | ||
"file-saver": "^1.3.8", | ||
"file-saver-typescript": "^1.0.1", | ||
"fs": "^0.0.1-security", | ||
@@ -43,3 +46,3 @@ "http-server": "^0.11.1", | ||
"proto": "pbjs --force-number -t static-module -w commonjs -o src/protobuf/proto.js ../../protobuf/music.proto && pbts -o src/protobuf/proto.d.ts src/protobuf/proto.js", | ||
"doc": "typedoc --sourcefile-url-prefix 'https://github.com/tensorflow/magenta-js/tree/master/music/src/' --out ../docs/music src --mode modules --excludePrivate --exclude '**/*+(index|test).ts' --excludeExternals" | ||
"doc": "sh generate-docs.sh" | ||
}, | ||
@@ -46,0 +49,0 @@ "author": "Magenta", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Native code
Supply chain riskContains native code (e.g., compiled binaries or shared libraries). Including native code can obscure malicious behavior.
Found 2 instances in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
3947816
5
93
18
87949
9
- Removedutil@^0.10.3
- Removedinherits@2.0.3(transitive)
- Removedutil@0.10.4(transitive)
Updated@tensorflow/tfjs@^0.12.5