IP Library › Granted Patent US 12,027,145
Granted Patent B2
US 12,027,145 · App. 17/163,303 · Granted Jul 2, 2024

Systems, devices, and methods for computer-generated musical compositions

Inventor: Colin P. Williams (Half Moon Bay, CA)
Assignee: Obeebo Labs Ltd.
G10H1/0025G06F16/65G06Q40/12G06Q50/184G10H1/0008G10H1/0041G10H7/08G10H2210/031G10H2210/056G10H2210/061G10H2210/071G10H2210/111G10H2210/131G10H2210/145G10H2250/005G10H2250/215
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,027,145
App. No.
17/163,303
Granted
Jul 2, 2024
Kind
B2
Abstract

Computer-based systems, devices, and methods for generating musical compositions are described. A population of musical compositions stored in digital media are each segmented to produce abridged samples. The samples are analyzed to identify “parent” compositions that best exhibit or evoke a particular desired quality. The parent compositions are cross-bred to generate a set of child compositions which are similarly segmented and analyzed. The child compositions that best exhibit or evoke the particular desired quality are re-cast as parent compositions from which another generation of child compositions are bred. Mutations in the form of musical variations are inserted in at least some iterations and the process is repeated until at least one child composition that satisfies some exit criterion is returned.

Claims (64)

1. A computer-implemented method of generating a musical composition, the method comprising:

assigning a respective fitness score to each musical composition in a population of musical compositions, each respective fitness score representative of a degree to which a corresponding musical composition exhibits a particular quality;

selecting, based on their respective fitness scores, at least two parent compositions from the population of musical compositions;

generating a set of child compositions based on the at least two parent compositions, wherein generating a set of child compositions based on the at least two parent compositions includes, for each child composition in the set of child compositions, crossing-over musical components between at least two parent compositions to generate the child composition;

assigning a respective fitness score to each child composition; and

returning a child composition that satisfies at least one criterion.

2. The method of claim 1 wherein if no child composition initially satisfies at least one criterion then the method further comprises:

repeating, with each successive population of musical compositions re-cast to include at least an immediately preceding set of child compositions and until a child composition that satisfies at least one criterion is returned:

selecting, based on their respective fitness scores, at least two parent compositions from the re-cast population of musical compositions;

generating a set of child compositions based on the at least two parent compositions selected from the re-cast population of musical compositions, wherein generating a set of child compositions based on the at least two parent compositions selected from the re-cast population of musical compositions includes, for each child composition in the set of child compositions based on the at least two parent compositions selected from the re-cast population of musical compositions, crossing-over musical components between at least two parent compositions selected from the re-cast population of musical compositions to generate the child composition; and

assigning a respective fitness score to each child composition in the set of child compositions generated based on the at least two parent compositions selected from the re-cast population of musical compositions.

3. The method of claim 2 wherein at least one criterion is selected from a group consisting of: exceeding a minimum fitness score threshold, realizing a maximum fitness score after a maximum number of iterations, and realizing a maximum fitness score after a maximum number of child compositions generated.

4. The method of claim 2 wherein repeating, with each successive population of musical compositions re-cast to include at least an immediately preceding set of child compositions, includes repeating, with each successive population of musical compositions re-cast to consist of only the immediately preceding set of child compositions.

5. The method of claim 1 , further comprising:

applying a variation to at least one child composition before assigning a respective fitness score to each child composition.

6. The method of claim 1 wherein the population of musical compositions includes at least one musical composition composed by at least one human artist.

7. The method of claim 1 wherein the population of musical compositions includes at least one musical composition generated by at least one computer system executing at least one algorithm for automated music composition.

8. The method of claim 1 wherein the particular quality is selected from a group consisting of: an emotion, a genre, a mood, a style, an instrument, a culture, an ethnicity, a time period, an era, and a season.

9. The method of claim 1 , further comprising:

sampling each musical composition in the population of musical compositions, wherein assigning a respective fitness score to each musical composition in a population of musical compositions includes, for each musical composition in the population of musical compositions, assigning the respective fitness score based on a corresponding sample of the musical composition.

10. The method of claim 9 wherein sampling each musical composition in the population of musical compositions includes, for each musical composition in the population of musical compositions:

segmenting the musical composition into a sequence of musical segments; and

assembling a sample comprising a subsequence of the musical segments, the subsequence comprising a respective first subset of bars from a respective beginning of each musical segment and a respective second subset of bars from a respective end of each musical segment.

11. The method of claim 1 wherein, for each child composition in the set of child compositions, crossing-over musical components between at least two parent compositions to generate the child composition includes swapping a musical component of a first parent composition with a corresponding musical component of a second parent composition, wherein the musical component is selected from a group consisting of: a bar, a track, a segment, a sequence of bars, a chord, a chord progression, and an orchestration.

12. An iterative computer-implemented method of generating a musical composition, the method comprising:

assigning a respective fitness score to each musical composition in a population of musical compositions, each respective fitness score representative of a degree to which a corresponding musical composition exhibits a particular quality;

until a child composition that satisfies at least one criterion is identified, repeating, with each successive population of musical compositions at least including an immediately preceding set of child compositions:

selecting, based on their respective fitness scores, at least two parent compositions from the population of musical compositions;

generating a set of child compositions based on the at least two parent compositions, wherein generating a set of child compositions based on the at least two parent compositions includes, for each child composition in the set of child compositions, crossing-over musical components between at least two parent compositions to generate the child composition;

assigning a respective fitness score to each child composition; and

evaluating whether each child composition satisfies at least one criterion;

and

returning the child composition that satisfies at least one criterion.

13. The method of claim 12 , further comprising, for each respective iteration:

applying a variation to at least one child composition before assigning a respective fitness score to each child composition.

14. The method of claim 12 , further comprising:

before assigning a respective fitness score to each musical composition in the population of musical compositions, sampling each musical composition in the population of musical compositions, wherein assigning a respective fitness score to each musical composition in the population of musical compositions includes, for each musical composition in the population of musical compositions, assigning the respective fitness score based on a corresponding sample of the musical composition; and

for each iteration:

before assigning a respective fitness score to each child composition, sampling each musical composition in the set of child compositions, wherein assigning a respective fitness score to each child composition includes, for each child composition, assigning the respective fitness score based on a corresponding sample of the child composition.

15. The method of claim 14 wherein:

sampling each musical composition in the population of musical compositions includes, for each musical composition in the population of musical compositions:

segmenting the musical composition into a sequence of musical segments; and

assembling a sample comprising a subsequence of the musical segments, the subsequence comprising a respective first subset of bars from a respective beginning of each musical segment and a respective second subset of bars from a respective end of each musical segment;

and

sampling each musical composition in the set of child compositions includes, for each child composition:

segmenting the child composition into a sequence of child segments; and

assembling a sample comprising a subsequence of the child segments, the subsequence comprising a respective first subset of bars from a respective beginning of each child segment and a respective second subset of bars from a respective end of each child segment.

16. A system for generating a musical composition, the system comprising:

at least one processor; and

a non-transitory processor-readable storage medium communicatively coupled to the at least one processor, the non-transitory processor-readable storage medium storing a population of musical compositions and processor-executable instructions and/or data that, when executed by the at least one processor, cause the at least one processor to:

assign a respective fitness score to each musical composition in the population of musical compositions, each respective fitness score representative of a degree to which a corresponding musical composition exhibits a particular quality;

select, based on their respective fitness scores, at least two parent compositions from the population of musical compositions;

generate a set of child compositions based on the at least two parent compositions, wherein generating a set of child compositions based on the at least two parent compositions includes, for each child composition in the set of child compositions, crossing-over musical components between at least two parent compositions to generate the child composition;

assign a respective fitness score to each child composition; and

return a child composition that satisfies at least one criterion.

17. The system of claim 16 , further comprising processor-executable instructions and/or data that, when executed by the at least one processor, cause the at least one processor to, before returning a child composition that satisfies at least one criterion:

evaluate whether at least one child composition satisfies the at least one criterion;

if no child composition satisfies the at least one criterion, iteratively, with each successive population of musical compositions re-cast to at least include an immediately preceding set of child compositions and until a child composition that satisfies the at least one criterion is identified:

select, based on their respective fitness scores, at least two parent compositions from the re-cast population of musical compositions;

generate a set of child compositions based on the at least two parent compositions, wherein generating a set of child compositions based on the at least two parent compositions includes, for each child composition in the set of child compositions, crossing-over musical components between at least two parent compositions to generate the child composition;

assign a respective fitness score to each child composition; and

evaluate whether at least one child composition satisfies the at least one criterion.

18. The system of claim 16 , further comprising processor-executable instructions and/or data that, when executed by the at least one processor, cause the at least one processor to:

apply a variation to at least one child composition before assigning a respective fitness score to each child composition.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2022
From: WILLIAMS, COLIN P
To: OBEEBO LABS LTD.
Reel/Frame 062047/0849 →
Continuity (2)
Provisional Application 62968963 · Jan 31, 2020
Related Publication 20210241735A1 · Aug 5, 2021