Systems and methods of procedural media generation
OwnerJay HARDESTY, Jason WILBER +1inventors
InventorsJay HARDESTY, Jason WILBER, Dražen BOŠNJAK
Life of this patent
Estimating the term…
Abstract
Systems and methods for procedural media generation, such as generating musical variations and figures, are described. The systems and methods utilize continuous-value data representing structural parameters of rhythm and temporal dynamics to enable dynamic adjustment to musical patterns, intelligent routing, pattern morphing, and real-time feedback. Further features include context-aware effects, adaptive pattern evolution, and multimodal synchronization, thereby providing tools for music composition, performance, and audio production, among other applications.
Claims20
A computer-implemented method of generating a musical variation, the method comprising:
- receiving as input a plurality of musical patterns, each musical pattern corresponding to a respective input attack vector;
- receiving a plurality of rhythmic building blocks, each rhythmic building block comprising a respective set of time points corresponding to a stage of pattern formation in a musical meter;
- analyzing each of the musical patterns to identify rhythmic building blocks which coincide with each musical pattern by identifying one or more symmetries between portions of each respective input attack vector and the respective set of time points of each rhythmic building block;
- generating an activations vector for each musical pattern, the activations vector comprising a respective activation number for each of the plurality of rhythmic building blocks, each respective activation number representing a respective fraction of time points in each rhythmic building block which corresponds to attacks in the respective input attack vector;
- providing the activations vector as input to a machine learning model configured to generate a rhythmic potentials vector for each musical pattern based on the respective activations vector, each rhythmic potentials vector comprising a respective likelihood of an attack at each time point in the respective musical pattern, wherein the respective likelihood of the attack at each time point is a function of a learned combination of activations associated with rhythmic building blocks which contain that time point;
- assigning a respective weight to each musical pattern;
- generating a rhythm variation based on a weighted combination of the rhythmic potentials vectors, wherein a respective contribution of each rhythmic potentials vector to the weighted combination is based upon the weight assigned to the corresponding musical pattern, and wherein at least one threshold value is used to control which values of the weighted combination are interpreted as attacks in the rhythm variation and which values of the weighted combination are interpreted as non-attacks in the rhythm variation;
- generating a musical variation by assigning a musical quantity to each attack in the rhythm variation;
- and
- outputting the musical variation to an output device.
A data processing system for generating a rhythmic potentials vector, the system comprising:
- one or more processors;
- a memory;
- and
- a plurality of instructions stored in the memory and executable by the one or more processors to:
- receive as input a plurality of musical patterns, each musical pattern corresponding to a respective input attack vector;
- receive a plurality of rhythmic building blocks, each rhythmic building block comprising a respective set of time points corresponding to a stage of pattern formation in a musical meter;
- analyze each of the musical patterns to identify rhythmic building blocks which coincide with each musical pattern by identifying one or more symmetries between portions of each respective input attack vector and the respective set of time points of each rhythmic building block;
- generate an activations vector for each musical pattern, the activations vector comprising a respective activation number for each of the plurality of rhythmic building blocks, each respective activation number representing a respective fraction of time points in each rhythmic building block which corresponds to attacks in the respective input attack vector;
- and
- provide the activations vector as input to a machine learning model, the machine learning model configured to generate a rhythmic potentials vector for each musical pattern based on the respective activations vector, each rhythmic potentials vector comprising a respective likelihood of an attack at each time point in the respective musical pattern, wherein the respective likelihood of the attack at each time point is a function of a learned combination of activations associated with rhythmic building blocks which contain that time point.
A computer-implemented method of training a machine learning model for rhythmic pattern analysis and generation, the method comprising:
- receiving an input attack vector corresponding to a musical pattern,
- providing the input attack vector to a machine learning model;
- training the machine learning model to produce a set of address activations corresponding to rhythmic building blocks, wherein the address activations are configured such that an output of the machine learning model is a continuous-valued vector of rhythmic potentials, each rhythmic potential corresponding to a likelihood of an attack at a corresponding time point;
- applying a threshold to the rhythmic potentials to produce a reconstructed attack vector;
- comparing the reconstructed attack vector to the input attack vector;
- and
- adjusting one or more parameters of the machine learning model using a training method, thereby decreasing a difference between the reconstructed attack vector and the input attack vector.
Dependencies are inferred from the claim text.