Weekly Status Reports

Kelly’s Status Report for 4/8

Kelly’s Status Report for 4/8

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 (12+ hours).  As reiterated in Anna’s report, we have 

Anita’s Status Report for 04/08

Anita’s Status Report for 04/08

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 (12+ hours).  This week was the interim demo. It 

Anita’s Status Report for 04/01

Anita’s Status Report for 04/01

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 (12+ hours). 

So I started off the week integrating the PDA with the feedback generation mechanism. I assumed the format in which the input from the PDA would be fed into my feedback generation mechanism– a singular note. However, you know what they say about assuming… 

I assumed wrong. Instead of a single note, I would be obtaining a list of values representing frequencies both the user and the song. So, I had to backtrack, and started ideating how I can deal with a list of inputs instead of a singular frequency. But this backtracking was a sign to me to clarify the input output connections with my teammates. I reconvened with my teammates, who were doing the much more laborious task of connecting the front and back end. Kelly and Anna were running into some bugs with headers and the wav files sent over the network. I didn’t completely understand the problem because I am not too familiar with front end systems and thus am not working closely in this progress. 

We had some discussions on the module connections– while our design report laid this info out, this level of detail was not covered because we didn’t know about these issues that we would run into. For example, how are we going to sync the backend and frontend together to know where to index into our list of expected note values? We ideated and drew up the hypothetical flow diagram of information. 

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule? 

I am currently blocked– I will have to wait for my teammates to link the front and back end together for me to make substantial progress in linking the PDA and feedback system together. We are slowly getting more behind, but if we grind next week I think we can make it back on track. I will get frequent updates from my teammates so I can start as soon as I get a concrete answer on the type of input that I will be given. 

What deliverables do you hope to complete in the next week? 

I am to finish the interface in the next week.

Anna’s Status Report for 04/01

Anna’s Status Report for 04/01

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 (12+ hours).   This week, I continued working on the 

Team Status Report for 04/1

Team Status Report for 04/1

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 as of right now is linking the backend PDA with the front end web application. This 

Kelly’s Status Report for 4/1

Kelly’s Status Report for 4/1

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 (12+ hours). 

This week, I took a deep dive into integrating pitch detection with our web app and also figuring out what signal processing needs to be done. 

First and foremost, I got the pitch detection algorithm to work alongside our website! Our website is now able to display a pitch in Hz while the user is singing.

The problem with the RIFF header was resolved by passing in the following to a new wav file: number of channels, frame rate, sample width, and frames that had been written by the Media Recorder API. 

After this was successful, I started to look into doing some preprocessing on the audio and what exactly we want to filter. For now, we get the last valid pitch (i.e not 0 Hz and less than 1000 Hz) and pass that pitch to the web interface.

One pitfall I did not expect was that I had been recording in GarageBand using their input monitoring and so by extension all signals were preprocessed. However, after removing the input monitoring and testing the same recorded audio on our website in real time vs on our pitch tracking algorithm after the fact, I came to the realization that we will also need a low pass filter to block pitches < 100 Hz.

As integration took most of my time this week, testing has been limited to singing into our interface, changing notes, and seeing if the pitch on screen changes depending on if I go higher or lower. Additionally, there was a small error that would cause aubio to crash that was removed. 

 

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule? 

According to the Gantt chart, I’m integrating pitch detection to the website. Therefore, I’m right on schedule.

 

What deliverables do you hope to complete in the next week? 

Next week I hope to have more robust tests on the pitch tracker for the website and a plan to deal with how much preprocessing needs to be done on our input signal.

Anita’s Status Report for 3/25

Anita’s Status Report for 3/25

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 (12+ hours).  This week was admittedly a bit of 

Team Status Report for 03/25

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 

Anna’s Status Report for 03/25

Anna’s Status Report for 03/25

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 (12+ hours).  

This week, for capstone, we spent part of our class time doing the ethics discussion. During the discussion, a few things had been noted by other teams that we hadn’t considered. Namely, a group pointed out that different accents or dialects may affect the pitch of singing. While we had thought about accommodating people with different vocal ranges by using relative pitch, we had not considered it. I am unsure if fully researching this and figuring out a solution is in scope of our project, but it is certainly something we should keep in mind during design.

Next, the web application is now templated for the integration of the pitch detection algorithm. Once the recording begins, sound information is collected every 100ms and calls the ondataavailable method. In this method, both a full version of the recording, and a 10 byte slice of the end of the recording is sent, via POST request, to the Django backend. There is a point in the backend that was set up for Kelly to perform pitch detection. Both audio files had been extracted from the POST request. After this, a json file is sent back to the page JavaScript via Xttp object. After adding in pitch detection, this json will contain the pitch. This value gets updated on the screen.

Additionally, I implemented the updating of the graph to display notes and lyrics. They update via chunk and correspond to the time in an audio file. Each chunk contains pitch data over some period of time, as well as corresponding lyrics.

The chart being used is an stepped line graph made with graph.is. I turned off interactivity and grid features to make it more visually appealing. The values being iterated at the moment are dummy values, but it is a demonstration of how we want the final version to look. We might want to add vertical and horizontal axis labels, as well as a second dataset displaying the user’s performance. This second dataset can be added once the pitch detection is integrated.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?  

I am on schedule. There are insertion points for integration of the pitch detection, as well as basic implementations of all features, which will have to be adjusted as we keep working through combining both aspects of the project.

What deliverables do you hope to complete in the next week?

Next week, I am hoping to have some pitch detection in the web application. At this point, I’d like to combine the graph and recorder, which will also allow us to add the user pitch graphics as well. At that point, the next step will be to create datasets like the dummy one being used now for all chosen songs.

Kelly’s Status Report for 3/25

Kelly’s Status Report for 3/25

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 (12+ hours).  This week, I ramped up to the