During the week of Thanksgiving break, our team focused on preparing for the final presentation. This included creating the slides, recording a full end-to-end demo video of the system, and completing all of the verification and validation tests. These tests took the most time and involved measuring total system latency, checking strum accuracy at different BPM levels, confirming chord selection accuracy, testing Bluetooth timing, determining the FSR activation force, and evaluating performance at different distances. Finishing these experiments helped us understand which requirements we met and what still needed improvement.
For this current week, we focused on finalizing and refining the project for the final demo. Our main technical goal was to reduce the overall latency to below 100 ms. Right now the system is about 8 ms above that target, and the main bottleneck is the Python audio rendering code. We continued running latency tests and working on code adjustments to bring this number down.
We also worked on reducing the effect of IMU drift on velocity calculations so that strum speeds would be more consistent. In addition to the technical updates, we spent time improving the glove hardware and user interface. For the UI, we repositioned buttons and simplified the layout so users can understand it more easily. For the glove, we covered exposed wiring to prevent users from touching or pulling on the components. We also replaced the larger breadboard with a smaller 13 g version so the total device weight stays under the 70 g limit.
Overall, the system is now well tested, refined, and prepared. We will be ready for the final demo on Monday.
Testing Summary, Findings, and Design Changes:
Unit Tests Performed
- IMU Strum Detection Tests:
Tested angular velocity thresholds (>1.2 rad/s trigger, <0.8 rad/s reset) and acceleration spikes (~5 m/s² above baseline) for strum initiation. - FSR Activation Force Tests:
Calibrated analog threshold of 400/1023 by placing known masses on the FSR; determined this corresponded to ~0.47 N of force. - Bluetooth Latency Tests:
Measured average pairing time (~7.8 s) and strum-to-message transmission time (~25 ms). - Computer Vision Finger Detection Tests:
Verified consistent landmark tracking and gesture-switch latency (~11.9 ms). - Component Weight Tests:
Weighed all hardware components; total remained under 70 g.
System Tests Performed
- End-to-end Latency Test:
Summed CV, Bluetooth, and audio components resulting in ~108 ms total latency. - Strum Accuracy vs BPM:
Ran 100 iterations per BPM level. Accuracy was extremely high for 1–3 strums/sec (60–180 bpm) but dropped significantly at 4–5 strums/sec (220–300 bpm). - Distance & Robustness Tests:
Verified chord selection accuracy up to 2 meters. - User Studies:
Collected feedback from School of Music students on chord selection reliability and overall feel.
Key Findings
- High BPM Inaccuracy:
Accuracy remained near-perfect for 1–3 strums/sec but dropped noticeably at 4–5 strums/sec due to latency buildup and strum-signal congestion. - Latency Exceeded Target:
Total input-to-sound latency was 108 ms, slightly above our 100 ms design requirement. - Main Latency Bottleneck:
The largest delay occurs after receiving a strum signal and before generating a sound. Audio rendering contributes the majority of total latency.
Design Changes Based on Findings
- Improved Velocity + Refractory Logic:
Added stricter thresholds and a refined refractory window to prevent false positives at high strumming speeds. - Optimized Audio Pipeline:
Reduced buffering and streamlined the Python sound-generation path to address the main latency bottleneck. - FSR Calibration Update:
Set activation threshold to 400 analog units based on measured 0.47 N activation force. - Hardware Safety Fix:
Corrected reversed battery wiring to prevent overheating and ensure stable operation. Found then when connecting everything for total weight calculation.
