# US 2021/0241733 A1 · Systems, devices, and methods for decoupling note variation and harmonization in computer-generated variations of music data objects

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0241733 A1
- Document ID: US20210241733A1
- Status: Published application
- Kind: A1
- Application number: 17/162,659
- Filed: 2021-01-29
- Published: 2021-08-05
- Earliest claimed: 2020-01-31
- Assignees: Obeebo Labs Ltd.
- Applicants: Obeebo Labs Ltd.
- Inventors: Colin P. Williams
- Web page: https://patentgrep.com/patent/US20210241733A1

## CPC

- G10H 1/0025: {Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece (automatically producing a series of tones G10H1/26)}
- G06F 16/65: Clustering; Classification
- G06Q 40/12: Accounting
- G06Q 50/184: {Intellectual property management}
- G10H 1/0008: {Associated control or indicating means}
- G10H 1/0041: {in coded form}
- G10H 7/08: by calculating functions or polynomial approximations to evaluate amplitudes at successive sample points of a tone waveform
- G10H 2210/031: Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
- G10H 2210/056: for extraction or identification of individual instrumental parts, e.g. melody, chords, bass; Identification or separation of instrumental parts by their characteristic voices or timbres
- G10H 2210/061: for extraction of musical phrases, isolation of musically relevant segments, e.g. musical thumbnail generation, or for temporal structure analysis of a musical piece, e.g. determination of the movement sequence of a musical work
- G10H 2210/071: for rhythm pattern analysis or rhythm style recognition
- G10H 2210/076: for extraction of timing, tempo; Beat detection
- G10H 2210/111: Automatic composing, i.e. using predefined musical rules
- G10H 2210/131: Morphing, i.e. transformation of a musical piece into a new different one, e.g. remix
- G10H 2210/145: Composing rules, e.g. harmonic or musical rules, for use in automatic composition; Rule generation algorithms therefor
- G10H 2240/085: Mood, i.e. generation, detection or selection of a particular emotional content or atmosphere in a musical piece
- G10H 2250/005: Algorithms for electrophonic musical instruments or musical processing, e.g. for automatic composition or resource allocation
- G10H 2250/215: Transforms, i.e. mathematical transforms into domains appropriate for musical signal processing, coding or compression
- G10H 2250/311: Neural networks for electrophonic musical instruments or musical processing, e.g. for musical recognition or control, automatic composition or improvisation
- G10H: ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Computer-based systems, devices, and methods for generating variations of musical compositions are described. Musical compositions stored in digital media include one or more music data object(s) that encode notes. A first set of notes is characterized and a transformation is applied to replace at least one note in the first set of notes with at least one note in a second set of notes. The transformation may explore or call upon the full range of musical notes available without being constrained by conventions of musicality and harmony. For each particular note in the second set of notes that replaces a note in the first set of notes, whether the particular note is in musical harmony with other notes in the music data object is separately assessed and, if not, the particular note is adjusted to bring it into musical harmony with other notes in the music data object.

## Claims

### Claim 1

A computer-implemented method of generating a variation of a music data object, the method comprising:
characterizing a first set of notes in the music data object; and
applying a transformation to the first set of notes in the music data object, wherein the transformation maps at least one note in the first set of notes to at least one note in a second set of notes, and wherein applying the transformation to the first set of notes in the music data object includes replacing, in the music data object, at least one note in the first set of notes with at least one note in the second set of notes in accordance with the transformation that maps at least one note in the first set of notes to at least one note in a second set of notes.

### Claim 2 (depends on 1)

The method of claim 1 wherein applying a transformation to the first set of notes in the music data object includes applying, to the first set of notes in the music data object, a transformation that treats respective notes in the first set of notes independently of one another and, for each mapping of a particular note in the first set of notes, does not take into account any other note that neighbors the particular note in the music data object.

### Claim 3 (depends on 1)

The method of claim 1 wherein applying a transformation to the first set of notes in the music data object includes applying, to the first set of notes in the music data object, a transformation that ignores conventions of musicality and harmony.

### Claim 4 (depends on 1)

The method of claim 1 wherein characterizing a first set of notes in the music data object includes characterizing a first set of unique notes in the music data object.

### Claim 5 (depends on 1)

The method of claim 1 wherein applying a transformation to the first set of notes in the music data object includes applying, to the first set of notes in the music data object, a transformation that maps each respective unique note in the first set of notes to a respective unique note in the second set of notes.

### Claim 6 (depends on 1)

The method of claim 1 wherein applying a transformation to the first set of notes in the music data object includes applying, to the first set of notes in the music data object, a transformation that maps at least two respective unique notes in the first set of notes to a same note in the second set of notes.

### Claim 7 (depends on 1)

The method of claim 1 wherein applying a transformation to the first set of notes in the music data object includes applying, to the first set of notes in the music data object, a transformation that maps each of at least two respective instances of a same note in the first set of notes to a respective unique note in the second set of notes.

### Claim 8 (depends on 1)

The method of claim 1 wherein applying a transformation to the first set of notes in the music data object includes applying, to the first set of notes in the music data object, a transformation that maps at least one note in the first set of notes to at least two respective unique notes in the second set of notes.

### Claim 9 (depends on 1)

The method of claim 1 wherein each respective note in the second set of notes is included in the first set of notes.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
harmonizing the at least one note in the second set of notes that replaces, in the music data object, at least one note in the first set of notes.

### Claim 11 (depends on 10)

The method of claim 10 wherein harmonizing the at least one note in the second set of notes that replaces, in the music data object, at least one note in the first set of notes includes, for each particular note in the second set of notes that replaces, in the music data object, at least one note in the first set of notes, assessing whether the particular note is in musical harmony with other notes that temporally coincide with the particular note in the music data object and, if the particular note is not in musical harmony with other notes that temporally coincide with the particular note in the music data object, adjusting the particular note to a nearest note that is in musical harmony with other notes that temporally coincide with the particular note in the music data object.

### Claim 12 (depends on 10)

The method of claim 10 wherein harmonizing the at least one note in the second set of notes that replaces, in the music data object, at least one note in the first set of notes includes, for each particular note in the second set of notes that replaces, in the music data object, at least one note in the first set of notes, assessing whether the particular note is in musical harmony with other notes that neighbor the particular note in the music data object and, if the particular note is not in musical harmony with other notes that neighbor the particular note in the music data object, adjusting the particular note to a nearest note that is in musical harmony with other notes that neighbor the particular note in the music data object.

### Claim 13 (depends on 10)

The method of claim 10 wherein harmonizing the at least one note in the second set of notes that replaces, in the music data object, at least one note in the first set of notes includes applying conventions of musicality and harmony to the at least one note in the second set of notes that replaces, in the music data object, at least one note in the first set of notes, based at least in part on a placement, in relation to other notes in the music data object, of the at least one note in the second set of notes that replaces, in the music data object, at least one note in the first set of notes.

### Claim 14 (depends on 1)

The method of claim 1, further comprising:
encoding the variation of the music data object with at least one note in the second set of notes in place of at least one note in the first set of notes in accordance with the transformation that maps at least one note in the first set of notes to at least one note in a second set of notes.

### Claim 15 (depends on 1)

The method of claim 1 wherein the music data object is selected from a group consisting of: a bar data object, a track data object, a segment data object, and a Music[Segments{ }, barsPerSegment{ }] data object.

### Claim 16

A system for generating a variation of a music data object, 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 the music data object and processor-executable instructions and/or data that, when executed by the at least one processor, cause the at least one processor to:
characterize a first set of notes in the music data object; and
apply a transformation to the first set of notes in the music data object, wherein the transformation maps at least one note in the first set of notes to at least one note in a second set of notes, and wherein the processor-executable instructions and/or data that, when executed by the at least one processor, cause the at least one processor to apply a transformation to the first set of notes in the music data object, cause the at least one processor to replace, in the music data object, at least one note in the first set of notes with at least one note in the second set of notes in accordance with the transformation that maps at least one note in the first set of notes to at least one note in a second set of notes.

### Claim 17 (depends on 16)

The system of claim 16 wherein the processor-executable instructions and/or data, when executed by the at least one processor, further cause the at least one processor to harmonize the at least one note in the second set of notes that replaces, in the music data object, at least one note in the first set of notes.

### Claim 18 (depends on 17)

The system of claim 17 wherein:
the processor-executable instructions and/or data that, when executed by the at least one processor, cause the at least one processor to apply a transformation to the first set of notes in the music data object, cause the at least one processor to apply, to the first set of notes in the music data object, a transformation that treats respective notes in the first set of notes independently of one another and, for each mapping of a particular note in the first set of notes, does not take into account any other note that neighbors the particular note in the music data object; and
the processor-executable instructions and/or data that, when executed by the at least one processor, cause the at least one processor to harmonize the at least one note in the second set of notes that replaces, in the music data object, at least one note in the first set of notes, cause the at least one processor to, for each particular note in the second set of notes that replaces, in the music data object, at least one note in the first set of notes, assess whether the particular note is in musical harmony with all other notes that neighbor the particular note in the music data object and, if the particular note is not in musical harmony with all other notes that neighbor the particular note in the music data object, adjust the particular note to a nearest note that is in musical harmony with all other notes that neighbor the particular note in the music data object.

### Claim 19

A computer program product for generating a variation of a music data object, the computer program product comprising:
processor-executable instructions and/or data that, when the computer program product is stored in a non-transitory processor-readable storage medium and executed by at least one processor communicatively coupled to the non-transitory processor-readable storage medium, cause the at least one processor to:
characterize a first set of notes in the music data object; and
apply a transformation to the first set of notes in the music data object, wherein the transformation maps at least one note in the first set of notes to at least one note in a second set of notes, and wherein the processor-executable instructions and/or data that, when executed by the at least one processor, cause the at least one processor to apply a transformation to the first set of notes in the music data object, cause the at least one processor to replace, in the music data object, at least one note in the first set of notes with at least one note in the second set of notes in accordance with the transformation that maps at least one note in the first set of notes to at least one note in a second set of notes.

### Claim 20 (depends on 19)

The computer program product of claim 19, further comprising:
processor-executable instructions and/or data that, when executed by the at least one processor, cause the at least one processor to harmonize the at least one note in the second set of notes that replaces, in the music data object, at least one note in the first set of notes.
