This week I did a whole restructuring of our codebase. Originally, we had the Bluetooth and USB scripts written in the same file. But for ease of use, I decided to refactor the code so that the pattern in many parts of the code was separated. I also spent the bulk of the week fixing our Bluetooth system. When running the bleak package, I realized that its performance was very inconsistent for my Windows laptop. Further research identified that Bleak was not fully developed for Windows. As a result, I was forced to look into other Bluetooth packages. I eventually found the simplepyble package. I was able to integrate it and test that it properly connects to our gloves and ARDUINO. However, further tests showed that it was incompatible with the pyttsx3 package. This was because the prior demands a multi-threaded setting while the latter demands a single-threaded setting. I eventually found another speech package “win32com.client” using the Dispatch object. This worked! I integrated the Bluetooth, Speaker, and ML systems and did some benchmarking for performance. Quick tests identified that the time from sign to speech for USB is around 0.6 seconds and Bluetooth is 0.82 seconds. There are some quick hyperparameter checks that we can change to improve time performance at the risk of accuracy which we will look into later. I also helped assemble the circuit for the second glove. Please look below for our public repository for the codebase or future reference: TStar111/EchoSign (github.com)
The schedule is right on schedule.
Next week, the bulk of the time will be spent on collecting data. If time permits, I will start training and benchmarking the ML model.