MIDI Sequencer Architecture for Compact Music Players

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional MIDI players with a single CPU struggle to smoothly play multiple channels of MIDI data due to varying message lengths, requiring complex programs and significant memory for OS or scheduler support, making it difficult to control sequencers efficiently, especially in compact devices like mobile phones.

Innovation Solution

A music player design that includes separate function units for reading and restoring, message analyzing and processing, writing, and sequencer controlling, all controlled by a simple program without an OS or scheduler, allowing for efficient switching and operation of multiple sequencers with maintained operational states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single CPU operates several sequencers in multiple channels, then music playback in multiple channels is enabled, but the program becomes complex and requires large memory capacity for OS or scheduler

Engineering Contradiction:
Improvemulti-channel playback capabilityVSAvoidprogram complexity and memory requirement
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides the single CPU's operation into multiple independent sequencer units, each capable of autonomous operation. Each sequencer is structured as an independent module that can process MIDI messages separately, eliminating the need for complex OS-level task management while enabling multi-channel playback.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a preliminary action mechanism by pre-organizing MIDI message processing into standardized sequencer units with predetermined operation sequences. Each sequencer unit is pre-configured with its own operation queue and processing logic, allowing the CPU to switch between sequencers without requiring complex runtime scheduling decisions.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If sequencers process MIDI messages of varying lengths sequentially, then accurate message processing is achieved, but other sequencers must stop and wait, disrupting smooth playback

Engineering Contradiction:
ImproveMIDI message processing accuracyVSAvoidsequencer operation continuity
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent implements dynamic sequencer switching that adapts to the varying processing times of different MIDI messages. When one sequencer completes its message processing, the system dynamically switches to the next sequencer in the queue, ensuring continuous operation without idle waiting periods. This dynamic allocation maintains processing accuracy while maximizing productivity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent employs periodic action by organizing sequencer operations into regular cycles where each sequencer gets a turn to process its next message. The CPU periodically switches between sequencers in a predetermined sequence, ensuring that each sequencer receives regular processing opportunities while maintaining overall system continuity and smooth playback.

Inventive Principle:
Principle #19Periodic action

3Ease of operation

If an OS or scheduler is used to control sequencer switching, then sequencer control becomes easier, but large capacity memory (ROM or RAM) is required

Engineering Contradiction:
Improvesequencer control simplicityVSAvoidmemory capacity
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent extracts the scheduling functionality from the CPU core and implements it as a simple, dedicated sequencer control mechanism. Instead of relying on a full OS or complex scheduler, the system uses a streamlined control unit that manages sequencer switching through basic queue management and priority handling, significantly reducing memory requirements while maintaining ease of control.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Each sequencer unit is designed to be self-sufficient with its own operation queue and processing logic. The sequencers automatically manage their own message queues and can independently determine when they are ready to process the next message, reducing the burden on the CPU and eliminating the need for complex external scheduling while maintaining ease of operation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7285711B2Music player
Publication Date: 2007.10.23 RAKUTEN GROUP INC
  • US7285711B2 patent drawing
  • US7285711B2 patent drawing
  • US7285711B2 patent drawing

AI summary

A music player has sequencers each including a reading and restoring function unit for reading music information including header information, a delta time, and a message and restoring running status of the message; a message analyzing and processing function unit for analyzing the header information, consuming a period of time according to the delta time, and processing the message to generate sound source drive information; a writing function unit for writing the sound source drive information into an output memory; and a sequencer controlling function unit for controlling the reading and restoring function unit to read and restore the music information, controlling the message analyzing and processing function unit to analyze the header information, and controlling the message analyzing and processing function unit and the writing function unit to consume the period of time, generate the sound source drive information, and write the sound source drive information.