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.
Kiera’s Status Report 4/12
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 writing a python script to use the motion data, sent from the Arduino via Bluetooth, to detect significant changes in motion and match the timing of the change to the beat of the song. To determine timestamps of the beat, I retrieved the BPM of the selected song from the https://getsongbpm.com/api. Once the start function is triggered, timestamps for each beat are generated at intervals based on the song’s BPM. These are compared to the timestamps sent along with our accelerometer data to determine how accurately the user is moving along to the beat.
In addition to beat tracking, I worked on capturing a signal from the microphone to the Arduino, but the mic output wasn’t strong enough for the Arduino to detect. Instead of building an amplifier for the current system, I decided to order an Arduino breakout microphone component with a built-in amplifier.
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 schedule because of the delay from ordering the new microphone component but I’ve been working on other aspects of the project to catch up to schedule.
What deliverables do you hope to complete in the next week?
By next week I hope to have a fully working microphone prototype and a microphone casing designed in SolidWorks.
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 verify the change of direction detection algorithm, I move the Arduino through a series of distinct motions and check that the detection timings align with my movements. For testing the beat tracking algorithm, I run the system twice: first moving the Arduino in time with the beat as accurately as possible, then moving it randomly. I compare the resulting scores to confirm that following the beat results in a higher score. Our use case requirements don’t prioritize scoring precision, since it is intended to be a fun feature rather than an actual metric for improvement.
Hugo Status Report 4/12
Over the last two weeks I have had a lot of good progress with regards to finalizing our hardware. After all of the parts arrived last week, I was able to build the first full prototype of the filter and had a lot of issues with it. The sound quality was very poor, with mostly crackling and static at the speaker output. I looked into what issues could cause this, and decided that the most important part to fix were the loose connections. Because I am using a breadboard for prototyping, I did not have the ideal protoboard pin connections to hook up the input jacks that I ordered, and so I had originillay just tried to essentially tie on the wires, but these connections were extremely poor and I feel that was a large reason for the struggle. However, I have now soldered on the wires and made firm connections which hopefully will create a big boost in performance.
Additionally, I realized another obvious issue was that I was building my setup with a single 9V battery with a +Vdd and ground. This is an issue because the opamps require +Vdd and -Vdd, and so obviously this was leading to cutoffs with my audio output. I am now looking into two possible solutions, either using two batteries with the intersection as ground, or creating a virtual ground and splitting the 9V. I am currently leaning towards the former and am hoping to test it out this week. Additionally, I have started building the circuitry for connecting the microphone input into the circuit. There is some worries about how well the ESP32 bluetooth part we are using will work but I have found some examples online about how to use it to build systems like bluetooth speakers and so I am feeling better about the forecast for that.
That will be the first major part of implementation for my work, as the vocal removal is already connected to our webapp.
Updated GANTT Report
Group Status Report 3/29
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 are running into integration issues while we begin working on combining the individual aspects of our project. As we should have most of our hardware components delivered by early next week, we should be past our risks with regard to shipping delays. However, it’s possible if we need to order more parts due to any unexpected issues we could run into delays. Even if so, we should be in good shape given our predicted slack time.
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 existing block diagram. We will post an updated GANTT chart of our schedule in a blog post tomorrow.
Hugo Status Report 3/29
I’ll write it up asap This week I was finishing up preparing my two main deliverables for interim demo. The first is the filtration circuit I have been spending most of my time on. Unfortunately, due to delays on parts I ordered, I am still yet to have a fully functional hardware circuit, but I have finished building it and incorporated some tweaks as advised by Professor Sullivan.
The biggest was adding in an RC high pass filter to filter out unwanted DC offset. Here is the calculation I did to get the best values:
DC Offset calculation- In order to do this, we know that DC has a frequency of 0 Hertz and the lower end of the frequency range of most music is 20 Hertz. This means that the high pass filter needs to be as low as possible (in order to prevent distortions of the music) but still clear the 0 Hertz. We know the cutoff frequency of a high pass filter is given by 1/2piRC, and I wanted it to be less than 5 Hertz. Using the standard values of resistors and capacitors that I had available, and attempting to ensure that the capacitance is as small as possible to prevent charging time from adding delays, I calculated using my largest resistor value (100KOhms) and solved C = 0.637 microfarads in order to achieve this. However, because I don’t have a 0.637 microfarad capacitor, I calculated using a 1 microfarad capacitor and found a cutoff frequency = 1.59 Hertz.
Additionally, I began working on the second deliverable, scoring using STT. At this moment, I have made it so that we have a streaming STT model that can get a transcription of the user’s audio. The transcription is aligned with timestamps for each word, or in this case lyrics, and I am comparing that with the timed lyrics gathered from lyricsify. This process is not yet finished but will be done before demo.
Next week I will primarily be focused on doing demos, but I also hope to get the last parts delivered and built into the circuit during the week, even if it is not ready for the first day of demos.
Right now, my biggest challenge will be interfacing the circuit with laptop output and ensuring that the circuit is operating as expected. Additionally, if my parts don’t arrive soon I am a little worried that it will lead to a big time crunch towards the end. However, because of this, I am focusing most of my effort into perfecting and implementing scoring.
Aleks Status Report 3/29
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 and integrating the different parts of my project together: the UI, Spotify integration, and Lyricsify lyric scraper. The work is still in process and I will post a blog post with updated materials ahead of the intermediate demo.
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 should be back on track as long as the integration is fully completed by tomorrow.
What deliverables do you hope to complete in the next week?
Next week I plan to use feedback from the intermediate demo to improve my deliverables. I will also work on integrating Kiera and Hugo’s aspects into the web application.
Hugo Status Report 3/22
ReplyForward
|