Skip to content

MIDI++ v1.0.3.R2 TSC

Compare
Choose a tag to compare
@Zephkek Zephkek released this 17 Jan 22:36
· 51 commits to main since this release
3736c51

Release Notes: MIDI++ v1.0.3.R2

This release focuses on achieving better playback precision and performance, introducing key enhancements to MIDI++ to meet standard playback requirements.


Key Comparisons (Dependent on System Load):

Metric Expected Standard MIDI++ v1.0.3 Results Improvement
Timer Accuracy ±1 ms ±0.135 ms ~87% improvement
Timer Drift (10 sec) ±1 ms 0.529 ms ~50% reduction
Timer Jitter ≤0.5 ms 0.060 ms ~88% improvement
Latency ≤1 ms 0.001 ms ~99.9% reduction
Extended Timer Drift ±10 ms 4.58 ms ~54% reduction

Key Enhancements

  • TSC-Based High-Precision Timer:

    • Introduced an invariant Time Stamp Counter (TSC)-based timer for high precision and reliability under fluctuating system conditions.
    • Improved high-frequency callback handling with a reported error margin of 0.031%.
  • Dynamic Batching with Multithreaded Thread Pooling:

    • Enhanced playback architecture with adaptive batching, ensuring smooth handling of high-density note sequences.
    • Thread pooling ensures optimal CPU utilization, minimizing thread contention during real-time playback.
  • Performance Scaling for Complex Passages:

    • Achieves consistent playback for demanding scores with timing errors below 0.1%.

Bug Fixes

  • Fixed overshoot errors caused by system power profile changes.
  • Resolved synchronization issues during skip and rewind operations.
  • Corrected a race condition where shifted keys were erroneously treated as normal keys.