MIDI Note Event Adjustment via MB3 Data and Matrix Editor

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

MIDI data lacks the ability to carry detailed playing characteristics of musical instruments, limiting the realism and nuance of musical performances, and existing extensions face compatibility issues with standard MIDI systems.

Innovation Solution

The introduction of an additional byte (MB3 data) to standard MIDI events, allowing association of note events with instrument types and articulations, and using a matrix editor to display and manipulate note events on a grid without quantization, enabling more detailed performance characteristics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If standard MIDI data structure is used, then compatibility with existing MIDI systems is maintained, but the ability to carry detailed playing characteristics is limited

Engineering Contradiction:
Improveplaying characteristics informationVSAvoidcompatibility with standard MIDI systems
Core Design Contradiction:
Loss of informationVSAdaptability or versatility

Solution Approach 1:

The patent embeds additional performance data (MB3 byte) within the existing MIDI event structure. Each MIDI event, which originally contains status byte, note number, and velocity, is extended by nesting an additional MB3 byte that carries articulation and instrument information without disrupting the outer MIDI data structure.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent introduces an intermediary mapping system that translates the extended MIDI events with MB3 data into standard MIDI events for playback. The music editing application acts as a mediator that adds MB3 data during editing but strips it before outputting to standard MIDI devices, ensuring compatibility while preserving detailed information.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If additional performance data is added to MIDI events, then detailed playing characteristics can be stored, but the data structure becomes more complex

Engineering Contradiction:
Improvearticulation and instrument informationVSAvoidMIDI data structure
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent changes the parameter structure of MIDI events by adding a new MB3 byte parameter. This single-byte parameter encodes multiple pieces of information (articulation type and instrument category) using bit fields, thereby increasing information capacity while minimizing structural complexity increase.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies different levels of detail to different aspects of note events. The MB3 byte provides detailed articulation and instrument information where needed, while standard MIDI parameters (note number, velocity) maintain their original simplicity. This localized enhancement adds detail only where required without unnecessarily complicating the entire data structure.

Inventive Principle:
Principle #3Local quality

3Manufacturing precision

If quantization is applied to note events on a grid, then alignment is improved, but the ability to maintain precise spatial relationships is reduced

Engineering Contradiction:
Improvenote event alignmentVSAvoidspatial relationship information
Core Design Contradiction:
Manufacturing precisionVSLoss of information

Solution Approach 1:

The patent implements a dynamic grid system where the note events grid can be moved freely relative to the matrix grid without fixed snapping. This allows the grid to adapt to the user's needs, maintaining precise spatial relationships between notes while still providing alignment guidance when required, rather than enforcing rigid quantization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent separates the grid system into two independent layers: the matrix grid for overall structure and the note events grid for detailed note placement. This segmentation allows each grid to function independently, with the note events grid maintaining precise spatial relationships while the matrix grid provides alignment reference, resolving the conflict between alignment and precision.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP2786370B1Systems and methods of note event adjustment
Publication Date: 2017.04.19 APPLE INC
  • EP2786370B1 patent drawingFigure 1
  • EP2786370B1 patent drawingFigure 2
  • EP2786370B1 patent drawingFigure 3A

AI summary

Some embodiments provide a music editing application that enables a user to compose and edit note characteristics, e.g., via a touch-sensitive display. The graphical user interface (GUI) can display a portion of a music track including note events. In response to receiving a user selection of a note event and a user indication for editing a note event, the GUI can display a menu providing a list of characteristics. The characteristics can include an option for associating at least one of several virtual instruments or one of several articulations with the note event. Upon receiving a user input indicating a characteristic, the matrix editor can associate the note event with the characteristic based on the user input. The music editing application can allow the user to edit additional note characteristics (e.g., an instrument, an articulation) because of the extended capacity for data associated with each note event. A. GUI for an audio editing application enables a user to easily and conveniently shift a temporal and/or pitch of a sequence of note events within a musical piece, e.g., via a touch-sensitive display. The GUI displays a set of note events on a matrix grid and a subset of the note events (e.g., selected by the user) on a note events grid that overlaps the matrix grid. The note events grid is moveable with respect to the matrix grid such that the subset of note events is shifted against the remaining note events while the note events within the subset maintain a spatial relationship with respect to each other. Further, the user can shift the note events grid (and the note events therein) to any location within the matrix grid, without unintentionally snapping the note events to a nearest grid location on the matrix grid.