Cognitive music engine using unsupervised learning
AssigneeInternational Business Machines Corporation
InventorsInseok Hwang, Jente B. Kuang, Janani Mukundan
Life of this patent
Estimating the term…
Abstract
A method for generating a musical composition based on user input is described. A first set of musical characteristics from a first input musical piece is received as an input vector. The first set of musical characteristics is perturbed to create a perturbed input vector as input in a first set of nodes in a first visible layer of an unsupervised neural net. The unsupervised neural net comprised of a plurality of computing layers, each computing layer composed of a respective set of nodes. The unsupervised neural net is operated to calculate an output vector from a higher level hidden layer in the unsupervised neural net. The output vector is used to create an output musical piece.
Claims20
A method for generating a musical composition, comprising:
- receiving a first set of musical characteristics from a first input musical piece as an input vector;
- perturbing the first set of musical characteristics to create a perturbed input vector as input in a first set of nodes in a first visible layer of an unsupervised neural net, the unsupervised neural net comprised of a plurality of computing layers, each computing layer composed of a respective set of nodes;
- operating the unsupervised neural net to calculate an output vector from a higher level hidden layer in the unsupervised neural net;
- and
- using the output vector to create an output musical piece, wherein the output musical piece is a different musical piece than the first input musical piece and the unsupervised neural net operates in an unsupervised manner to calculate the output vector.
An apparatus, comprising:
- a processor;
- computer memory holding computer program instructions executed by the processor for generating a musical composition, the computer program instructions comprising:
- program code operative to receive a first set of musical characteristics from a first input musical piece as an input vector;
- program code operative to perturb the first set of musical characteristics to create a perturbed input vector as input in a first set of nodes in a first visible layer of an unsupervised neural net, the unsupervised neural net comprised of a plurality of computing layers, each computing layer composed of a respective set of nodes;
- program code operative to operate the unsupervised neural net to calculate an output vector from a higher level hidden layer in the unsupervised neural net;
- and
- program code operative to use the output vector to create an output musical piece;
- wherein the output musical piece is a different musical piece than the first input musical piece and the unsupervised neural net operates in an unsupervised manner to calculate the output vector.
A computer program product in a non-transitory computer readable medium for use in a data processing system, the computer program product holding computer program instructions which, when executed by the data processing system, for generating a musical composition, the computer program instructions comprising:
- program code operative to receive a first set of musical characteristics from a first input musical piece as an input vector;
- program code operative to perturb the first set of musical characteristics to create a perturbed input vector as input in a first set of nodes in a first visible layer of an unsupervised neural net, the unsupervised neural net comprised of a plurality of computing layers, each computing layer composed of a respective set of nodes;
- program code operative to operate the unsupervised neural net to calculate an output vector from a higher level hidden layer in the unsupervised neural net;
- and
- program code operative to use the output vector to create an output musical piece;
- wherein the output musical piece is a different musical piece than the first input musical piece and the unsupervised neural net operates in an unsupervised manner to calculate the output vector.
Dependencies are inferred from the claim text.