MIDI Output Timing Control for Jitter-Stable Tone Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing electronic musical instruments face issues with listener discomfort due to fluctuations in tone generation timing caused by jitter and latency in MIDI message communication, and excessive latency when fixed offset times are used.
Innovation Solution
An electronic apparatus and method that adjusts the scheduled output timing of MIDI messages based on received timestamps, resetting the reference timing and timestamp when delays occur, ensuring consistent time differences between tone generations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Stability of the object's composition
If a fixed offset time is used for tone generation, then tone generation timing stability is improved, but latency increases
Solution Approach 1:
The patent applies dynamics by making the reference time adjustable rather than fixed. The system dynamically selects between using a fixed reference time (when jitter is low) and adjusting the reference time based on actual reception timing (when jitter is high), allowing the tone generation timing stability to adapt to varying communication conditions while minimizing latency
Solution Approach 2:
The patent changes the parameter of reference time based on communication conditions. When jitter exceeds a threshold, the system changes the reference time from a fixed predetermined value to a value calculated from actual reception timing, thereby maintaining tone generation stability under varying conditions without incurring excessive latency
2Loss of time
If tone generation follows received MIDI messages immediately, then latency is reduced, but tone generation timing stability deteriorates due to jitter and latency
Solution Approach 1:
The patent uses feedback by monitoring the reception timing of MIDI messages and comparing it with the expected timing based on timestamps. When deviations (jitter) are detected, the system feeds back this information to adjust the reference time for tone generation, thereby maintaining timing stability while responding to actual communication conditions
Solution Approach 2:
The system dynamically adjusts the reference time based on detected jitter levels. When jitter is within acceptable ranges, the system uses fixed reference timing for stability; when jitter exceeds thresholds, it dynamically shifts the reference time to compensate, balancing both latency and timing stability
3Stability of the object's composition
If reference timing is fixed based on initial MIDI message, then tone generation timing stability is improved, but adaptability to reception timing fluctuations deteriorates
Solution Approach 1:
The patent makes the reference timing system dynamic by allowing switching between fixed reference time (for stability) and adjusted reference time based on actual reception timing (for adaptability). This dynamic adaptation enables the system to maintain timing stability under normal conditions while becoming adaptable when reception timing fluctuations occur
Solution Approach 2:
The system changes the reference time parameter based on detected jitter levels. When communication conditions change and jitter exceeds thresholds, the reference time parameter is adjusted from a fixed predetermined value to a value that accounts for actual reception timing, thereby adapting to timing fluctuations while maintaining overall stability
Data Source
AI summary
An electronic apparatus includes: a performance information reception part, receiving pieces of performance information from an external apparatus; a TS reception part, receiving, from the external apparatus, timestamps relating to respective execution timings of the pieces of performance information; a reference timing setting part, in a case where one piece of performance information is received, setting a timing based on a reception timing of the one piece of performance information as a reference timing; and a scheduled output timing setting part, setting, as a scheduled output timing being a timing of outputting another piece of performance information received, a timing calculated by adding a time difference between a timestamp received by the TS reception part that corresponds to the another piece of performance information and a timestamp received by the TS reception part that corresponds to the one piece of performance information to the reference timing set.


