# US 9,040,799 B2 · Techniques for analyzing parameters of a musical performance

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

- Number: US 9,040,799 B2
- Document ID: US9040799B2
- Status: Granted
- Kind: B2
- Application number: 14/287,615
- Filed: 2014-05-27
- Published: 2015-01-01
- Granted: 2015-05-26
- Earliest claimed: 2013-05-28
- Assignees: Aalto-Korkeakoulusaatio
- Applicants: Aalto-korkeakoulusäätiö
- Inventors: Henri Penttinen; Ole Kirkeby
- Web page: https://patentgrep.com/patent/US9040799B2

## CPC

- G10H 1/00: Details of electrophonic musical instruments
- G10H 1/40: Rhythm
- G10H 7/002: {using a common processing for different operations or calculations, and a set of microinstructions, e.g. programs, to control the sequence thereof}
- G10H 2210/091: for performance evaluation, i.e. judging, grading or scoring the musical qualities or faithfulness of a performance, e.g. with respect to pitch, tempo or other timings of a reference performance
- G10H 2240/325: Synchronizing two or more audio tracks or files according to musical features or musical timings
- 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

## Abstract

Techniques for analyzing a musical performance of a sequence of events. The events have parameters, such as timing, pitch and dynamics. A processor inputs (1-2) the performance; accesses (1-4) a standard performance of the musical piece; identifies (1-6) and compares (1-8) mutually corresponding events and determines (1-10) one of a set of classes: correct”, “low” or “high”. A current marker is displayed on an area of a display. The marker's position depends on the classification and the position of the previous marker, whereby trends and changes in performance accuracy are easily detected during performance.

## Claims

### Claim 1

A method comprising:
analyzing a performance of a musical piece wherein the musical piece comprises a sequence of musical events, wherein at least some of the musical events have a plurality of parameters, wherein the parameters are selected from a group which comprises timing, pitch and dynamics;
wherein said analyzing comprises execution of following acts on a data processing system:
inputting the performance of the musical piece;
accessing a standard performance of the musical piece;
identifying a plurality of mutually corresponding events in the musical performance and in the standard performance, wherein the events have one or more parameters;
for each identified event:
comparing one or more parameters of the musical performance with corresponding parameters of the standard performance;
for each of the one or more compared parameters, determining one of a set of classes and, wherein the set of classes comprises:
a “correct” class for parameters within a given tolerance margin of the corresponding parameter of the standard performance;
a “low” class for parameters below the corresponding parameter of the standard performance; and
a “high” class for parameters above the corresponding parameter of the standard performance;
for each of the one or more compared parameters, displaying a current marker on an area of a display, wherein the area is defined by a corner for each of the classes;
determining a position for the current marker as a step from the position of a previous marker, or from a start position if no previous marker exists, wherein the direction of the step indicates the determined class and wherein the length of the step is based on at least the distance from the previous marker to the corner for the determined class; and
using a set of one or more visual attributes that distinguish the currently displayed marker from a background and/or the previous marker, if any, in the determined position.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the performance of the musical piece is a live performance and the analyzing comprises real-time execution of the acts according to claim 1.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the set of classes also comprises a “missed” class for events that were omitted or events in which the parameter of the musical performance deviates from the corresponding parameter of the standard performance by more than a predetermined threshold.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the parameters comprise timing, pitch and level.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the length of the step is also based on a match between the compared parameter and the determined class.

### Claim 6 (depends on 1)

The method according to claim 1, wherein the length of the step is increased for events in which the determined class changes from “low” to “high” or vice versa.

### Claim 7

A data processing system comprising:
a memory system for storing program code instructions and data;
a processing system including at least one processing unit, wherein the processing system executes at least a portion of the program code instructions and processes the data;
an interface for receiving data representative of a performance of a musical piece, which comprises a sequence of musical events, wherein at least some of the musical events have a plurality of parameters, wherein the parameters are selected from a group which comprises timing, pitch and dynamics;
wherein the memory system stores program code instructions that, when executed by the processing system, instruct the processing system to perform the following acts:
inputting the performance of the musical piece;
accessing a standard performance of the musical piece;
identifying a plurality of mutually corresponding events in the musical performance and in the standard performance, wherein the events have one or more parameters;
for each identified event:
comparing one or more parameters of the musical performance with corresponding parameters of the standard performance;
for each of the one or more compared parameters, determining one of a set of classes and, wherein the set of classes comprises:
a “correct” class for parameters within a given tolerance margin of the corresponding parameter of the standard performance;
a “low” class for parameters below the corresponding parameter of the standard performance; and
a “high” class for parameters above the corresponding parameter of the standard performance;
for each of the one or more compared parameters, displaying a current marker on an area of a display, wherein the area is defined by a corner for each of the classes;
determining a position for the current marker as a step from the position of a previous marker, or from a start position if no previous marker exists, wherein the direction of the step indicates the determined class and wherein the length of the step is based on at least the distance from the previous marker to the corner for the determined class; and
using a set of one or more visual attributes that distinguish the currently displayed marker from a background and/or the previous marker, if any, in the determined position.

### Claim 8 (depends on 1)

A data processing system comprising:
a memory system for storing program code instructions and data;
a processing system including at least one processing unit, wherein the processing system executes at least a portion of the program code instructions and processes the data;
an interface for receiving data representative of a performance of a musical piece, which comprises a sequence of musical events, wherein at least some of the musical events have a plurality of parameters, wherein the parameters are selected from a group which comprises timing, pitch and dynamics,
wherein the performance of the musical piece is a live performance and the analyzing comprises real-time execution of the acts according to claim 1.

### Claim 9 (depends on 7)

The data processing system according to claim 7, wherein the set of classes also comprises a “missed” class for events that were omitted or events in which the parameter of the musical performance deviates from the corresponding parameter of the standard performance by more than a predetermined threshold.

### Claim 10 (depends on 7)

The data processing system according to claim 7, wherein the parameters comprise timing, pitch and level.

### Claim 11 (depends on 7)

The data processing system according to claim 7, wherein the length of the step is also based on a match between the compared parameter and the determined class.

### Claim 12 (depends on 7)

The data processing system according to claim 7, wherein the length of the step is increased for events in which the determined class changes from “low” to “high” or vice versa.

### Claim 13

A tangible data processing carrier comprising:
program code instructions executable on a data processing system, which comprises:
a memory system for storing program code instructions and data;
a processing system including at least one processing unit, wherein the processing system executes at least a portion of the program code instructions and processes the data;
an interface for receiving data representative of a performance of a musical piece, which comprises a sequence of musical events, wherein at least some of the musical events have a plurality of parameters, wherein the parameters are selected from a group which comprises timing, pitch and dynamics;
wherein the program code instructions, when executed by the processing system, instruct the processing system to perform the following acts:
inputting the performance of the musical piece;
accessing a standard performance of the musical piece;
identifying a plurality of mutually corresponding events in the musical performance and in the standard performance, wherein the events have one or more parameters;
for each identified event:
comparing one or more parameters of the musical performance with corresponding parameters of the standard performance;
for each of the one or more compared parameters, determining one of a set of classes and, wherein the set of classes comprises:
a “correct” class for parameters within a given tolerance margin of the corresponding parameter of the standard performance;
a “low” class for parameters below the corresponding parameter of the standard performance; and
a “high” class for parameters above the corresponding parameter of the standard performance;
for each of the one or more compared parameters, displaying a current marker on an area of a display, wherein the area is defined by a corner for each of the classes;
determining a position for the current marker as a step from the position of a previous marker, or from a start position if no previous marker exists, wherein the direction of the step indicates the determined class and wherein the length of the step is based on at least the distance from the previous marker to the corner for the determined class; and
using a set of one or more visual attributes that distinguish the currently displayed marker from a background and/or the previous marker, if any, in the determined position.
