IP Library Granted Patent US 10,861,429
Granted Patent B2
US 10,861,429 · App. 16/457,361 · Granted Dec 8, 2020

Music composition aid

Inventor: Vladimir Godunov (Laurel, MD)
Assignee: Limitless Music, LLC
G10H1/0066G06F16/683G06F16/686G10H1/40G10H2220/116
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 10,861,429
App. No.
16/457,361
Granted
Dec 8, 2020
Kind
B2
Abstract

Disclosed herein are computer-implemented method, computer-readable storage medium, and DAW embodiments for implementing a music composition aid. An embodiment includes retrieving a first constraint value, receiving a selection of a set of musical elements, and accepting a second constraint value corresponding to the set of musical elements. Some embodiments further include invoking an iterator function, using at least the second constraint value as an argument, and generating an output of the iterator function, limiting a size of the output of the iterator function, according to the lesser of the first constraint value or a transform of the second constraint value. Output of the iterator function may include, of the set of musical elements, a subset determined by the second constraint value. The size of the output may be no more than the first constraint value. Further embodiments may render the output of the iterator function visually and/or audibly, for example.

Claims (70)

1. A computer-implemented method, comprising:

retrieving, by at least one computer processor, via a memory, a first constraint value;

receiving, by the at least one computer processor, via a first module of a user interface, a selection of a set of musical elements;

accepting, by the at least one computer processor, via a second module of the user interface, a second constraint value corresponding to the set of musical elements;

storing, by the at least one computer processor, the second constraint value in the memory;

invoking, by the at least one computer processor, an iterator function, using at least the second constraint value as an argument;

generating, by the at least one computer processor, an output of the iterator function, wherein the output of the iterator function comprises at least part of a subset of the set of musical elements, wherein the subset is determined by the second constraint value;

limiting, by the at least one computer processor, a size of the output of the iterator function, according to a lesser of the first constraint value or a transform of the second constraint value, wherein the size of the output of the iterator function is less than or equal to the first constraint value;

storing, by the at least one computer processor, the output of the iterator function in the memory; and

rendering, by the at least one computer processor, the output of the iterator function via a third module of the user interface.

2. The computer-implemented method of claim 1 , the rendering further comprising:

emitting, by the at least one computer processor, via an audio adapter, a sequence of one or more sound signals based at least in part on the output of the iterator function.

3. The computer-implemented method of claim 1 , the rendering further comprising:

displaying, by the at least one computer processor, via a video adapter, a graphical representation of at least part of the output of the iterator function, a textual representation of at least part of the output of the iterator function, or a combination thereof.

4. The computer-implemented method of claim 1 , wherein the iterator function is invoked in response to an input via the user interface, and wherein the output of the iterator function is not already stored in the memory.

5. The computer-implemented method of claim 1 , wherein the musical elements comprise a melody sequence, a chord, a chord note, a chord sequence, a rhythm sequence, a syllable, or a combination thereof.

6. The computer-implemented method of claim 1 , further comprising:

generating, by the at least one computer processor, metadata associated with at least one musical element of the output of the iterator function;

recording, by the at least one computer processor, in the memory, the metadata associated with the at least one musical element of the output of the iterator function.

7. The computer-implemented method of claim 6 , wherein the metadata comprises an indication of whether a given musical element of the output of the iterator function has been rendered, a rating, an element descriptor, a component descriptor, or a mood descriptor.

8. The computer-implemented method of claim 1 , wherein the iterator function comprises a coroutine, a generator, or a combination thereof.

9. The computer-implemented method of claim 1 , wherein the transform comprises an enumerative combinatorial function.

10. The computer-implemented method of claim 1 , wherein the at least one computer processor is integrated in a digital audio workstation (DAW) apparatus.

11. A non-transitory computer-readable storage medium comprising instructions stored thereon that, when executed by at least one computer processor, cause the at least one computer processor to perform operations comprising:

retrieving, via a memory, a first constraint value;

receiving, via a first module of a user interface, a selection of a set of musical elements;

accepting, via a second module of the user interface, a second constraint value corresponding to the set of musical elements;

storing the second constraint value in the memory;

invoking an iterator function, using at least the second constraint value as an argument;

generating an output of the iterator function, wherein the output of the iterator function comprises at least part of a subset of the set of musical elements, wherein the subset is determined by the second constraint value;

limiting a size of the output of the iterator function, according to a lesser of the first constraint value or a transform of the second constraint value, wherein the size of the output of the iterator function is less than or equal to the first constraint value;

storing the output of the iterator function in the memory; and

rendering the output of the iterator function via a third module of the user interface.

12. The non-transitory computer-readable storage medium of claim 11 , the rendering further comprising:

emitting, via an audio adapter, a sequence of one or more sound signals based at least in part on the output of the iterator function.

13. The non-transitory computer-readable storage medium of claim 11 , the rendering further comprising:

displaying, via a video adapter, a graphical representation of at least part of the output of the iterator function, a textual representation of at least part of the output of the iterator function, or a combination thereof.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the iterator function is invoked in response to an input via the user interface, and wherein the output of the iterator function is not already stored in the memory.

15. The non-transitory computer-readable storage medium of claim 11 , wherein the musical elements comprise a melody sequence, a chord, a chord note, a chord sequence, a rhythm sequence, a syllable, or a combination thereof.

16. The non-transitory computer-readable storage medium of claim 11 , the operations further comprising:

generating metadata associated with at least one musical element of the output of the iterator function;

recording, in the memory, the metadata associated with the at least one musical element of the output of the iterator function.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the metadata comprises an indication of whether a given musical element of the output of the iterator function has been rendered, a rating, an element descriptor, a component descriptor, or a mood descriptor.

18. The non-transitory computer-readable storage medium of claim 11 , wherein the iterator function comprises a coroutine, a generator, or a combination thereof.

19. The non-transitory computer-readable storage medium of claim 11 , wherein the transform comprises an enumerative combinatorial function.

20. The non-transitory computer-readable storage medium of claim 11 , wherein the user interface is integrated in a digital audio workstation (DAW).

21. A digital audio workstation (DAW), comprising:

a memory; and

at least one computer processor configured to perform operations comprising:

retrieving, via the memory, a first constraint value;

receiving, via a first module of a user interface, a selection of a set of musical elements;

accepting, via a second module of the user interface, a second constraint value corresponding to the set of musical elements;

storing the second constraint value in the memory;

invoking an iterator function, using at least the second constraint value as an argument;

generating an output of the iterator function, wherein the output of the iterator function comprises at least part of a subset of the set of musical elements, wherein the subset is determined by the second constraint value;

limiting a size of the output of the iterator function, according to [[the] ] a lesser of the first constraint value or a transform of the second constraint value, wherein the size of the output of the iterator function is less than or equal to the first constraint value;

storing the output of the iterator function in the memory; and

rendering the output of the iterator function via a third module of the user interface.

22. The DAW of claim 21 , the rendering further comprising:

emitting, via an audio adapter, a sequence of one or more sound signals based at least in part on the output of the iterator function.

23. The DAW of claim 21 , the rendering further comprising:

displaying, via a video adapter, a graphical representation of at least part of the output of the iterator function, a textual representation of at least part of the output of the iterator function, or a combination thereof.

24. The DAW of claim 21 , wherein the iterator function is invoked in response to an input via the user interface, and wherein the output of the iterator function is not already stored in the memory.

25. The DAW of claim 21 , wherein the musical elements comprise a melody sequence, a chord, a chord note, a chord sequence, a rhythm sequence, a syllable, or a combination thereof.

26. The DAW of claim 21 , the operations further comprising:

generating metadata associated with at least one musical element of the output of the iterator function;

recording, in the memory, the metadata associated with the at least one musical element of the output of the iterator function.

27. The DAW of claim 26 , wherein the metadata comprises an indication of whether a given musical element of the output of the iterator function has been rendered, a rating, an element descriptor, a component descriptor, or a mood descriptor.

28. The DAW of claim 21 , wherein the iterator function comprises a coroutine, a generator, or a combination thereof.

29. The DAW of claim 21 , wherein the transform comprises an enumerative combinatorial function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2020
From: GODUNOV, VLADIMIR
To: LIMITLESS MUSIC, LLC
Reel/Frame 054315/0215 →
Continuity (2)
Provisional Application 62692402 · Jun 29, 2018
Related Publication 20200005744A1 · Jan 2, 2020