Team Status Report

The most significant risk is the electroglottograph breaking down so that we can’t use it in our live demo, but luckily we already have plenty of recordings of us using it so our final demo will not be affected either way.

A calibration test we ran for our electroglottograph is using a larynx simulator to ensure that we could read CQ data properly so that way when we put on the electrodes we could guarantee the EGG was working properly. Since our project metrics are mostly based on feel and not quantitative metrics, we ran several surveys for different users on whether or not the EGG sensors were comfortable, whether or not our application was easy to use, whether or not our tutorial page was effective, and what parts were difficult to use.

The backend has have two main unit tests

  1. Pitch Analysis Unit Test
    • Tests the pitch detection algorithm for 8 distinct recordings of octave scales
      • Includes keys: C4 Major, G4 Major, A2 Major
    • Tests the pitch detection algorithm for 4 distinct recordings of “Happy Birthday”
      • Includes keys: B4 Major, C4 Major, C4 Major (harmony), F2 Major
  2. CQ Analysis
    1. Verify that the CQ graph output from a octave scale recording of both opera singers is reasonably within the ideal CQ range. This is largely an informal test since the intent is to check that the graph is just displayed as intended, rather than trying to verify that a CQ recording is “accurate”. We might still want to consider adding this in the final report as part of our testing section? If this is the case, maybe a “passing” test is that 50% of the measurements appear within the ideal CQ range since we expect trained opera singers to have CQs that are “near” the data for trained singers reported in David Howard’s research paper.

No changes were made to the design. No changes were made to the schedule.

Tyler’s Status Report 4/26/2025

This week I spent some time working through the tutorial pages of our program that will give the instructions to the user of how to use/setup our product as well as inform them about CQ and why it is important, as well as finishing up our project poster. I also conducted some testing/recordings and hope to get the feedback soon on whether or not the tutorial was comprehensive enough and if the CQ knowledge was informative. Overall, not a ton of work is accomplished due to other commitments but luckily they will end a few days before our final demo to give me time to debug and fine tune everything.

Progress is on pace, just need to touch up the tutorial pages and then publish it to the main program which should take less than a day, will start back up Tuesday after 1pm since that is when my last class ends besides capstone. Over the next week it is just gonna be helping Melina through the video as well as working on the final report + making sure we get all the feedback from the testing we conducted.

Tyler’s Status Report 4/19/25

This week I primarily focused on collecting and transferring all the data we collected in VoceVista into a useable excel spreadsheet for Melina and Susanna to use. Since our electroglottograph dual channel feature for the microphone and EGG signal is not working, I have to record the audio from a different computer, send it my computer, and manually align it with the EGG signal data.   On top of that, I have wrote up a tutorial for new users to follow to use our product, and am now working to implement that into our frontend. That has involved me learning a little bit of PyGUI but it has been relatively straightforward.

So far progress is on track, I want to finish up the tutorial page by this weekend and for next week be able to work through adding an overarching guide on how to read the CQ data as well as what takeaways there are from the data. So far, all we do is output the CQ data and leave the interpretation for the user, and while it is impossible to give hard truths for CQ data I want to write out a guide for general trends to see how you compare to the “industry standard” for opera singers.

Several things that I had to learn in order to complete our project is how to use VoceVista, how to use an electroglottograph, a little bit of excel spreadsheet work, and learn a few different python libraries such as pytesseract or DearPyGUI. The primary learning strategy I used for VoceVista was by using their online video tutorials to get everything initially set up and then emailing the author’s of VoceVista any miscellaneous questions I had afterwards. For the electroglottograph, I primarily relied on the manual that came with it but that led to several issues, but luckily I was able to get in contact with the manufacturers of the electroglottograph that we are using to fully utilize the electroglottograph. With the python libraries, since DearPyGUI is not well documented I primarily asked Susanna questions I had with using it since she had been using it all semester. With pytesseract I primarily looked at other coding examples similar to what I needed and followed their template of how to utilize the library.

Tyler Status Report 4/12/2025

On Monday during class I was able to get a scraper in order for us to get the EGG data output available to us, I used the pytesseract library in order to do so. Tuesday I had a meeting with the manufacturers of the EGG and was able to debug and get the EGG signal and the microphone signal to work for the EGG. However, an issue that we ran into is that the EGG LED sensor for the electrode placement is broken, meaning that we will not be able to determine if we are getting the best electrode signal from the larynx placement while calibrating to the user. Another issue is that we are unable to utilize our EGG dual channel feature, which we believe may be because we need to utilize a USB to USB-C adapter in order to plug into the EGG. It is not a priority to be fixed, what we are currently doing is just recording using the mic on one laptop and recording the EGG signal on a different laptop and then overlaying them based on the audio timestamp of where we start. We start by pressing the record button together so it won’t be the most accurate but it will be useable for the time being. Now, I am working on merging the data sheets together in a nicely formatted way as well as recording more data from our singers, we had one two hour session with a singer but we would like to get a variety of singers before our meeting on Wednesday.

As far as progress, I believe that I am basically done with my parts and now I am focusing on helping Susanna and Melina with their parts and making sure our frontend design is intact.

For verification on my work, I have been comparing the measured EGG data with the EGG data that was provided as well as research papers to ensure that our EGG data collection makes sense and doesn’t output insane closed quotients that do not make sense. With my data collection of the EGG data, I roughly know it to be accurate since I am watching the closed quotient move through VoceVista and it matches the output of the data scrapper I designed. We do not need it to be super accurate since in the future VoceVista will be able to do it automatically, but since we do not have access to that version yet I designed a crude solution to use to meet our deadlines.

Team Status Report 4/12/2025

The most significant risks for the data collection portion is the fact that we cannot get our dual channel EGG signal to work, so we need to use two separate laptops. The risk with that is we might misalign our data which will skew our data to be outputting incorrect CQ data during the singing. We are mitigating this by making sure we click at identical time stamps so that way we can easily combine the EGG signal and the audio signal with minimal offset. Worst case scenario if it is really bad we can design a clicker that will take the global time and click record at the exact same time so that we can eliminate the misalignment chance completely.

We have already been working with singers throughout the entire process, designing it based off of their needs and overlaying it in a way that they can understand the information being presented. However, we have been designing this with two singers throughout the entire process, so we will need to run through the entire project setup and usage with a new singer to see where they may need guidance and write up an extensive guide on how to use our tool or make certain parts more intuitive to use. We want to ensure that our project is simple to understand and easy to use for singers, so testing on a wide range of singers will ensure that we can hash out any potential issues the singers may have in understanding the data or collecting the data. Our main form of validation in these cases will be surveying both our new singers and our existing participants to ensure that we meet our original use case requirements.

We will compare our measured CQ data results with several different research paper ideals that we read on for differing genders and vocal ranges and see if they match the data that we got for verification that our data collection was  proper.

No changes were made to the schedule or existing design.

3/30/2025 Tyler’s Status Report

This week, I was sadly unable to get much done because of sickness, but there is a lot to update on. For our electroglottograph data exportation, we will be able to export it similarly to our pitch data since the author of Voce Vista has told us that he can easily implement it through his end. He told us we can expect it by the next update, we will confirm an exact date soon (early next week). Another update on the electroglottograph repair, I am in talks with the manufacturer and have sent them a video of the problem on Friday, they are very quick about responding so hopefully on Monday I will have either a way to fix it or send the electroglottograph to them in order for them to repair it. I was also able to get on a zoom call with Professor Brancaccio to work on the electroglottograph with me but since she has a different model it was not too useful in terms of debugging our electroglottograph.

I think right now, we are all set in terms of Voce Vista and data collection, and all we need to do is get our EGG fixing and then we are set for final presentation. Outside of the EGG, I will help Melina with working through how to detect CQ change as well as how to display it to the user.

So far, roughly on pace, illnesses have thrown me off a little bit and made it so that we as a team have to make some slight adjustments to our schedule but still on pace. As for my personal schedule adjustments, after deliberating with my team, we decided against implementing a database since all of our data will be stored in excel spreadsheets in a unique folders for each user so it will already be organized for them to utilize.

Tyler Tan Status Report 3/22/2025

This week was an emotional rollercoaster for me. Every problem that I could run into I ran into. To start off, on Wednesday when we met with the singers we could not get recordings since the EGG battery had ran out so we could only get the pitch data from my computer since the microphone adapter is also connected to the EGG. Then, on Thursday, we accidentally charged the EGG for 6 hours but it was turned on the entire time, so no charge was accomplished so we had to cancel our scheduled meeting with the singers. Then, on Friday, with a full EGG charge, I tested it out in the morning and got everything to work except the microphone, except sometime 2 hours after when we went to meet with the singers to record proper data the EGG laryngeal electrode measuring feature was unable to be used. The picture above is the front of the EGG. and in the Electrode Placement laryngeal LED it would only signal too low regardless of where we put the sensors, however the EGG Signal would have a proper display. I have emailed Professor Brancaccio, Professor Helou, and the VoceVista author Bodo Maass questions on how to address this. So far, Bodo is the only one that has responded and he said he is happy to help me troubleshoot during a VoceVista coaching session, which we will have to pay for. It might be useful to use, since I can also learn more efficient ways to transfer VoceVista data out of VoceVista into our software component as well as learn how to troubleshoot an EGG for future issues. I believe I am a little bit behind since this week I really wanted to record a lot of data with the singers to use with the EGG and microphone, and so far we only have my computer microphone data not even the Shura mic that we purchased, but it should be quick to catch back up with a short one to two hour efficient session with the singers. Outside of that, another deliverable I would like to be able to achieve is quick setups of the EGG, since right now it took me over 10 minutes to calibrate and attach everything for the EGG as well as set up Voce Vista, so a little more familiarity with everything. I would also like to start working on storing the EGG data into a more permanent and elegant solution rather than just having excel spreadsheets in a shared folder in Google Drive, and start working on a shared database to use.

Team Status for 3/22/2025

Risks

Right now the most significant risks that could jeopardize our project are the EGG being broken since right now we can get an EGG signal but we cannot measure anything with the electrode and the EGG reads 0 signal when we try to measure with the electrode sensor. To mitigate this, Tyler has emailed both Professor Helou and Professor Brancaccio to go over the EGG setup and troubleshooting methodology. If we can pinpoint the problem, it could be possible to either repair or replace the sensor. Another risk is measuring the EGG data into a nice spreadsheet since VoceVista doesn’t instantly do it, but worst case scenario we can manually fix the spreadsheets since VoceVista allows you to transcribe the EGG data into the spreadsheet for short time periods.

No changes have been made to the existing design.

Pitch Analysis

Our pitch analysis algorithm has been implemented, but modifications are expected to be made (for the sake of accuracy) once we begin formally testing next week.

Currently, the algorithm starts by importing and processing an Excel sheet exported from Voce Vista. By using the openxl library, the program to extract the times and frequencies into separate lists. These lists are then processed to extract an average frequency value across 38 cells, which translates to roughly 0.5 seconds. Next, the program makes use of an interval tree (from the intervaltree library) to map each averaged frequency to a pitch note, saved in a list of pitches.

In an attempt to account for frequency averages that misleadingly represent the transition between one note to the next note, we strategically took a second list of averaged frequencies starting from a time slightly ahead of the first frequency list, which then is used to give us a second list of pitches. We build a final list of resulting pitches by comparing each value of the first pitch list against the second pitch list. If the value at index i in the first list does not match the value at index i or i-1 in the second list, then we use the value in the second list. Otherwise, we use the value in the first list. Below we visually represent this attempt to account for averages of transitioning notes.

Finally, the program returns a list of times and pitches.

A “None” time or “Undefined” pitch just indicates the last averaged 38 cells included data from empty Excel cells. Since this represents only the last ~0.5 seconds of the audio recording, we are willing to forgo this data as indicated above.

Tyler Status Report 3/15

This week me and Melina were able to get several different recordings of the opera singers to test various features of the pitch detection. Sadly, the electroglottograph ran out of power so we were unable to get the electroglottograph running for them, but next week we plan on utilizing it with them. I had another trial run with myself using the electroglottograph as well so that the next time we have the opera singers it will run smoothly. With the material we got from the opera singer, we focused on having segmented singing so we can ensure pitch detection works properly, as well as having the singer sing smoothly so we can watch the pitch detection gradually transition as well. For next week, we plan to collect the EGG data necessary and start designing a way to get the EGG data into a spreadsheet with similar format as the pitch detection. I have emailed Bodo, the lead designer of Voce Vista who has been quite helpful but he has not responded, another option that we might consider is paying 50 dollars for an hour of his time to tutor us on Voce Vista so that we can find where the EGG data is stored.

Tyler’s Status Report 3/1/2025

Not a lot was accomplished the week before spring break, as I primarily focused my attention on working on the design report but I was able to spend a couple hours working through VoceVista. Right now I am trying to think of the best way to transfer the information we get from VoceVista into our software component. VoceVista can output the files into an excel sheet or an image and it has a lot of different capablities of different data we can output. Not only can we output all of the EGG data we can also output pitch as well as statistic results. Now, I need to decide on how to export the data with Melina and Susanna to decide what is the easiest way for them to process this data as well as decide easy ways to transfer the audio recordings from VoceVista out as well.

Progress is mostly on schedule, I feel like I could be a little bit more familiar with the VoceVista interface but I will get better as the semester goes on. Focus now will be finding ways to output the VoceVista files into useable information.