Junrui’s status report for 3/16

This week I was working on the other pages of our web app. Since these pages only involved some static descriptive text, the process went smoothly. I also refined a bit the practice page’s UI to make it look clearer. I was not able to start mapping the contents of the practice page with specific inputs, so my progress was still slightly behind the overall schedule, but last week’s plan was almost fulfilled. I will try to work more on this this weekend.

Next week I think I have to start the user testing and the mapping of the contents, and plan to prepare for the integration.

Team Status Report for 3/16

The biggest risk we face right now is the hardware component finishing behind. Jordan has put in more time to catch up from his sickness, and we are confident he can finish it on time in our schedule. The contingency plan is to shorten system tests, but instead focus more time on independent component tests, especially since the software component can be tested independently from hardware.

There are currently no changes to our design.

Jordan’s Status Report for 3/16

This week, I rebuilt and confirmed my proof of concept works and that the Arduino is able to detect the magnet approaching hall effect sensors. I built the system with 8 sensors, and all eight of them were able to send the signal to the Arduino, and I could see the correct output on the serial monitor. I also finished soldering the mainboard of the system.

Next week, my plan is to finish soldering the sensors, finish testing the soldering, and the installation of magnets onto the saxophone. I am currently still behind the schedule, but I have caught up compared to last week’s progress. I will put more time this week to push the construction progress as far as possible.

Lin’s Status Report for 3/16

This week I’m working on the rhythm processor. I wrote the code that detects the peak of an input audio signal in an interval of ⅛ of a beat. The program returns 1 if there is a peak detected in that interval, indicating that there is a note detected in that interval, and returns 0 if no peak is detected, indicating a rest note. I have also debugged the pitch processing by switching between different pitch detection algorithms and sliding window sizes. Now the pitch processor should be working accurately (which I will do further testing next week). 

I am on track of schedule. Next week, I’ll start to implement the integration part that integrates the pitch and rhythm, which should be a dictionary or notes array that contain both the note and its lasting time. I will also work on the pre-processing to get rid of inaccuracies in pitch detection for the first few seconds of an input audio.

Team’s Status Report for 3/9

Part A written by Lin:  Identifying that saxophonists may come from very diverse geographic locations and backgrounds, our system ensures accessibility for users worldwide. We choose to build a web app instead of a phone app so that it’s more convenient and accessible. We aim to make our web app interface intuitive and user-friendly so that people with different educational levels can all use it easily. We also want to include a learning page in our web app to help saxophone beginners worldwide learn better.

Part B written by Junrui:  This project takes into account cultural factors by emphasizing the universality of music as a learning tool. Although offered in English with a set selection of songs, our design is mindful of the diversity in musical practices and the educational needs of users from different cultural backgrounds. This project avoids cultural bias by focusing on the technical aspects of saxophone playing, which are common across cultures, thereby ensuring inclusivity.

Part C written by Jordan: This project focuses on helping beginning human players get better at saxophone. Helping human players get better at saxophone can help the environment by removing unpleasant noises from the environment, especially around aspiring saxophone players.

Our most significant risk right now is that the audio processor has some bugs that haven’t been fixed yet. If the pitch detector doesn’t perform as we expected, the inaccuracy rate of the overall system will be very high, which is not acceptable. To resolve the issue, Lin will make extra work in the following days and ask for TA and professor’s help if needed. Another risk is that the hardware construction for fingering collection is a little behind the schedule. Jordan will take his effort to catch up next week.

We have made a slight change to our design. We decided to focus on offline audio processing for now instead of real-time due to scheduling issues. If we finish the audio processor earlier than expected, we will work on converting it to real time. But if not, we will stick to offline processing. Other than that, our design stays the same as it was in the design report.

Jordan’s Status Report for 3/9

I was sick during the week of 2/26, and since most of my work at this stage involved going to the ECE labs and assembling components, I could not get meaningful progress this week. I was also away during the spring break week. Despite this, I shifted some work from later schedules, by writing up some thoughts about the feedback portion of the web app for later use. I wrote the following by playtesting the saxophone myself.

Here are the gist of the work this week:

Fingering correct, sound correct: no feedback, good job!

Fingering correct, no sound: check embouchure to make sure the wind blowing into the saxophone is consistent.

Fingering correct, sound pitch slightly higher than expected (below one note difference): loosen up the embouchure.

Fingering correct, sound pitch slightly lower than expected: tighten embouchure.

Fingering correct, sound pitch more than one note higher: likely biting, please stop biting on the mouthpiece and play looser

Group feedback after a playing session, if sound pitch consistently higher or lower than expected: higher -> pull out mouthpiece, lower -> push in mouthpiuece

My schedule is behind by about a week now due to the sickness, but I do have failsafes built into the schedule that allows me to be late for up to one week. I will try to finish the assembly of the saxophone fingering collection system in three weeks, allowing three weeks for integration.

Specifically for next week, I will put together a 8-note fingering collection system on a breadboard to ensure that the system is able to record the fingering.

Lin’s Status Report for 3/9

This week I’m mainly focusing on revising my code for the pitch processor. I tested eight different saxophone music files as inputs and the outputs are not very accurate. Sometimes the output is correct, but sometimes the output is very wrong. I believe that there’s some miscalculations in my code and I’m still revising and repairing it. I tried to modify the code to use FFT instead of STFT but it turned out to be worse, so I decided to stick to STFT. For the rhythm processor, I decided to work on an offline processor instead of real time since I did some research and found that real-time processing requires far more work. I will finish working on offline processing first and then work on real-time if I have time left. 

(For example, the output notes here is a mess)

I’m slightly behind schedule this week due to the unexpected pitch processing error. I’m working to fix the issues and I expect to fix it by Monday. After that I will keep working on the rhythm processor and test several saxophone musics played by Jordan as inputs. 

Junrui’s Status Report for 3/9

Last week, my efforts were concentrated on crafting the foundational elements of the practice page for the web app. I have processed and integrated fingering diagrams for common fingerings, enabling the display of these diagrams within the application interface. Additionally, I was able to display pre-determined, hard-coded feedback related to common fingering mistakes. This feedback, though not dynamically generated based on real-time user input, serves as an initial step towards an interactive practice page.

My progress is slightly off track, but not much, mostly because I planned to work during spring break, but several personal stuff prevented me from that. To mitigate the delay and catch up with the overall project timeline, I plan to extend the time I will work on this project in the upcoming week. This effort will mainly focus on filling in the contents in other pages and preparing for user testing. The integration of dynamic feedback mechanisms and fingering diagrams based on real-time user inputs is a complex feature, so I hope to tackle it as part of the user testing phase, which will be split into work in next week and the week after next.

Jordan’s Status Report 2/24

This week, I started testing components for the saxophone fingering collector build, as well as starting some initial assemblies. I have tested all hall effect sensors, and confirm that they all work. However, the output voltage doesn’t get detected by the ESP32 controller just yet, so I need to do further testing next week to find working conditions.

The biggest delay is the slow speed in the production of the PCBs. Due to unfamiliarity with the process, there were several delays in placing the order to the vendor, delaying the timeline by 5 days. This means that I am slipping behind schedule, and it may push the completion time of the assembly by 1-2 weeks.

Since I cannot speed up the PCB process, I will divert some of my attention to the software side of things when I am finished with the voltage issue of the hall effect sensors.

Team’s Status Report for 2/24

The most significant risk now is that all of us are slightly behind schedule, since we all have midterms coming and assignments due. To manage this risk, we will discuss, revise our plan and work together in next week’s mandatory lab to keep up with the schedule as quickly as possible.

An existing change made to our design is on the audio processing side. After the presentation on Wednesday, we received some suggestions from instructors about the rhythm processor. We initially planned to merely use a pitch detector when processing the audio, but as we should be dealing with rhythms instead of several single notes, a rhythm processor is definitely needed. So Lin is researching on the rhythm processor by researching papers and learning from previous projects now, and other teammates will also help if there are some problems implementing it.

an updated schedule is below: