Systems and methods of procedural media generation
AssigneeCoordN8 Inc.
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;
- generating 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 sum of the activation number of all 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 computer implemented method of generating a musical variation, the method comprising:
- receiving as input a musical pattern defining an 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 the musical pattern to identify rhythmic building blocks which coincide with the musical pattern;
- generating an activations vector for the 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 correspond to attacks in the input attack vector;
- generating a rhythmic potentials vector for the musical pattern based on the activations vector, the rhythmic potentials vector comprising a likelihood of an attack at each time point in the musical pattern, wherein the likelihood of the attack at each time point is a function of a sum of the activation number of all rhythmic building blocks which contain that time point;
- generating a rhythm variation based on the rhythmic potentials vector, by utilizing at least one threshold value to control which values of the rhythmic potentials vector are interpreted as attacks and which values of the rhythmic potentials vector are interpreted as non-attacks;
- generating a musical variation by assigning a musical quantity selected from the group consisting of pitch, instrument mapping, voice mapping, and effect parameter to each attack in the rhythm variation;
- and
- outputting the musical variation to an output device.
A data processing system for generating a musical variation, 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 including 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 correspond to attacks in the respective input attack vector;
- 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 sum of the activation number of all rhythmic building blocks which contain that time point;
- assign a weight to each musical pattern;
- generate a rhythm variation based on a weighted combination of the rhythmic potentials vectors, wherein a contribution of each respective rhythmic potentials vector to the weighted combination is determined using the weight of each corresponding musical pattern;
- generate a musical variation by assigning a musical quantity to each attack in the rhythm variation;
- and
- output the musical variation to an output device.
Dependencies are inferred from the claim text.