MIDI++ v1.0.3.R2 TSC
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.