Team Status Report for 03/25

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?

Right now, a big risk for our team is completing pitch detection integration with the web application. This element of the process is proving to be somewhat difficult.  Because information will have to be passed around, in real time, between the backend and the front end, this creates some challenges when it comes to the way the data can be transferred.

Right now, the recorded snippet is being sent from the JavaScript to the Django backend via POST request, in the form of a wav file. While trying to work with this file, we ran into issues with the RIFF header.

Generally, this portion of the project is non-negotiable. However, we may be able to pivot our strategy when it comes to exactly how this integration is done. I believe the first thing we should do is try to resolve the current issue with passing wav files via POST request. However, if that does not work out, there are a few other options. First, we could try saving files within the JavaScript, which may have different results with the header. As a last resort, we could avoid using onDataAvailable and just look at the final recording, but that would mean we cannot do real time pitch detection, which would be very undesirable.

Overall, we feel confident that we will be able to make backend frontend integration work. This may end up requiring more effort than expected, and it may require additional meetings in person throughout the week, but this is a challenge that can be managed.

We also expect that transcribing the target pitch may end up being difficult. However, with the format we have now, it should be possible, but just labor intensive.

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?  

Right now, we are following the plans we had set in the past. We are still planning to send data from MediaStream Recorder via POST request in the form of a wav file. This is proving somewhat difficult, but we plan to continue with this for now.

This is also the place to put some photos of your progress or to brag about a component you got working.

We have gotten the communication of audio recording from the JavaScript to the Django backend. We have also begun integration of pitch detection in the Django backend, although we have not completed it. Below are some snippets of code used to do this.

We have also made progress on the target pitch graphics. They update with time, and display target pitch over time, as well as lyrics. This should be integrated soon with recording, and, once pitch detection integration is complete, the  user pitch graphics will be added in as well.



Leave a Reply

Your email address will not be published. Required fields are marked *