This week we had a lot of progress. I worked closely with Aleks in order to fully integrate the STT scoring into our webapp. I made some minor tweaks to our scoring in order to improve Deepgram’s performance with singing. The improvement was not significant, but it did show good signs and if I have more time I will go back and make some more changes before the demo. Aleks and I worked together to decide on the UI and actual score system and came up with a mostly final version as well as finishing up the full integration. More on my own, I have made large strides on the ESP32 functionality for receiving the bluetooth signals form the arduino. At the moment, it is capable of receiving both audio and accelerometer data, but we are having issues with actually playing the audio. The general idea (hardware wise) seems to be working, but we are currently making changes to the sample rates and sending rates between the two systems as well as the delays in writing to the DAC on the ESP32 side. My current hypothesis is that the issue relates to the buffering systems we are using, as both sides have a buffer. On the Arduino side, we are stacking up a certain amount of samples on and then sending them all in one block to be buffered out by the ESP32. The ESP32 then receives and also queues into a buffer, and outputs to the DAC on a timer. This is where the issue comes into play. Either we are sending too many samples at once, or we are writing the samples to the DAC too quickly. We are continuing to troubleshoot this now but it is the final major roadblock in our project so we are almost at the end.
Kiera’s Status Report 4/26
What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week.
This week, I worked mostly on integrating the microphone with the rest of the system. I was successfully able to connect and send both the acceleration data and the microphone data over BLE to the ESP32 in the speaker system. Additionally, I soldered the microphone component, to help generate clearer audio signals, and modeled + 3D-printed a microphone casing.
Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?
My progress is on schedule to complete the project before the demo.
What deliverables do you hope to complete in the next week?
I hope to complete integration and do full testing in the next week (before the demo)
Kiera’s Status Report 4/19
What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week.
This week, I worked primarily on testing the portions of the project that I have, specifically the motion/beat tracking algorithm. One method of testing I used was moving the Arduino in a series of motions and ensuring that the change of direction was detected at the correct time. Additionally, I worked on CADing a microphone casing to be 3d-printed this week.
Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?
My progress is still behind our original schedule, however after revising our GANTT chart I have enough time designated for my remaining tasks.
What deliverables do you hope to complete in the next week?
By next week, I hope to have all portions of the project completed and ready for full integration testing.
As you’ve designed, implemented and debugged your project, what new tools or new knowledge did you find it necessary to learn to be able to accomplish these tasks? What learning strategies did you use to acquire this new knowledge?
As I’ve implemented my project, I’ve had to become more familiar with the Arduino IDE. This was intimidating at first, since I haven’t used it much in the past, but I was able to learn by watching tutorials and reading source code available online.
Final Presentation Slides
Status Report 4/19
This week, I was able to get the first functional iteration of the left-right subtraction working. After some testing, I found that it is attenuated almost as much as I had hoped originally, however, it is acceptable and overpowered by the instrumental track. This update means that now our UI is capable of playing spotify tracks throught the vocal removal system. In the coming weeks I am continuing to make tweaks in order to make the overall output volume significantly louder, as the current system does not output a strong enough signal.
The largest remaining task for me is coming from integrating the bluetooth receiver system and connecting the microphone signal to the speaker.
Team Status Report 4/19
What are the most significant risks that could jeopardize the success of the project? How are these risks being managed? What contingency plans are ready?
The most significant risk towards our success is still running into integration issues while we continue working on combining the individual aspects of our project. We should be okay on our having enough our deliveries sent. It’s also looking possible that we will have to make some edits to the lyric system for demo.
Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?
We updated a hardware component as now we are using a prebuilt microphone to capture the audio signal.
Aleks Status Report 4/19
What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week.
This week, I worked on integrating Hugo’s speech to text scoring into the web application. We ended up using threads to start an asyncio loop while updating a model object and having the front end poll a URL for json response updates to the state. I also led some design decisions wrt how the feedback bar will look. I also played around with the lyric scraping and was able to successfully pull the data from lyricsify in some cases, but I still get blocked if requests are sent too close together, which may cause an issue while demoing.
Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?
My progress is on track.
What deliverables do you hope to complete in the next week?
I need to integrate Kiera’s motion scoring into the application once it is ready, but it should be much simpler now that we’ve mapped out a working framework. I also need to deploy (probably closer to demo than this week) and hopefully add some profile features. I will continue to poke around at Lyricsify to see if there is a solution that works for demo.
Get Song BPM API Backlink
https://getsongbpm.com/
Team Status Report 4/12
What are the most significant risks that could jeopardize the success of the project? How are these risks being managed? What contingency plans are ready?
The most significant risk at this stage of our project is ensuring that we have enough time remaining for integration. To mitigate this, we’re integrating components as they’re developed, rather than waiting until all parts are complete. In addition, we’re thoroughly testing each component during development, since the time we have for final project testing may be limited. This helps us catch potential issues early and reduces the risk of running into issues during the integration phase.
Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?
No changes have been made to our block diagram in the past two weeks.
Now that you have some portions of your project built, and entering into the verification and validation phase of your project, provide a comprehensive update on what tests you have run or are planning to run. In particular, how will you analyze the anticipated measured results to verify your contribution to the project meets the engineering design requirements or the use case requirements?
To test our end-to-end integrated system, we plan on using event logs at each stage of our system to measure the latency and ensure it meets our design requirements. We plan to closely monitor the synchronization between audio and lyrics, ensuring that the delay is small enough as to not impact the user experience. In addition to system integration testing, we plan to each thoroughly test our components as described in our individual status reports.
Aleks Status Report 4/13
What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week.
This week, I worked on cleaning up some of our UI including pulling, displaying playlists, lyric display, and miscellaneous CSS. I also used some sample data to simulate output from Hugo and Kiera’s scoring algorithms to allow for
Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?
My progress is on track. However, it will be a push to integrate the components of my group members works into my application.
What deliverables do you hope to complete in the next week?
As above, I will integrate Hugo and Kiera’s components into the web application. Additionally, I will deploy the web application so it’s accessible by URL (or at least port) instead of needed to be locally deployed.