Yuqi’s status report for March 25

Yuqi’s status report for 3/25

  • What did you personally accomplish this week on the project? Give files or
    photos that demonstrate your progress.

This week I continued working on the code of the radio transmitter. I write the codes following the instruction.  The code was complied successfully.

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

I am  behind schedule because the parts arrived late. (for about 2-3 weeks.) I will spend more time to catch up with the schedule.

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

Next week, I will upload the codes to the radio transmitter. If the radio transmitter is good, I will make the circuit of our gloves.

Karen’s Status Report for March 25

  • What did you personally accomplish this week on the project? Give files or
    photos that demonstrate your progress.

This week I worked mostly on a creating the hand tracking module using python, some external libraries and the existing tracking models. So far I am not really sure how good the gesture recognition portion works because I only worked on the tracking part that tells where the hand is and which area is belongs on the screen (which note it is assigned to).

  • 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 so far still slightly behind because I only got 1/2 of the modules created and working, I still need to do more work tomorrow.

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

Next week I will be working with Oscar in integrating the software components of the system. Mainly we will try to combine the sound production with the gesture input to get the sound controlled by detection.

Team Status Report for Mar 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?

The most significant risk right now is the integration for the interim demo. Since the basic functionalities of the synthesizer and the tracking program have been implemented, we will start early and integrate these two parts next week. However, if there are some issues with python libraries, we will work to support either Windows or macOS first and make both compatible after the interim demo.

  • Were any changes made to the existing design of the system? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?

There were no changes to the existing design of the system.

  • Provide an updated schedule if changes have occurred.

So far there is no change to our current schedule. However, depending on the integration task next week, our schedule might get changed.

  • Component you got working.

The gyroscope chip can now control the synthesizer’s volume as well as bend its pitch. Here’s a demo video.

Oscar’s Status Report for Mar 25

  • What did you personally accomplish this week on the project? Give files or
    photos that demonstrate your progress.

This week I added the pitch bend function to my synthesizer. Now, the roll angle of the gyroscope chip can bend the pitch up or down by 2 semitones. Here’s a demo video. I spent quite some time lowering the latency of serial communication. I have to design a data packet to send volume (pitch angle) and pitch bend (roll angle) information in one go. Otherwise, the overhead of calling serial write and serial read two times will create pauses between writes to the audio buffer and shatter the audio production.

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

I am on schedule. However,  the integration task next week will be more challenging.

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

Next week, I will be working with Karen to integrate all the software components together as we prepare for the interim demo. If we have some extra time, I will research ways to create oscillators based on audio samples of real instruments instead of mathematical functions.

Karen’s Status Report for March 18

  • What did you personally accomplish this week on the project? Give files or
    photos that demonstrate your progress.

This week I am mainly focusing on understanding the recognition models and setting up the system on my computer. I already have the yoha demo set up on my computer, and working on how to integrate this to what is already existing.

  • 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 still a little behind process because of the ethics assignment and some technical difficulty that came out of nowhere ;-; So far I decide to switch to a different device to hopefully avoid the issue.

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

Next week I hope to try to get a gesture recognition model binded with the ui and starting to get hand tracking synced with the synthesizer.

Team Status Report for Mar 18

  • 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 right now is the integration process, and the most important link is the radio transmission between gloves and the receiving module. If we met problem with the radio transmission, we will go to search for online tutorial and follow the instruction to solve the problem. We might also ask our TA for help. We don’t think we have any backup plan if it doesn’t work. As a contingency plan, we will have to resort to a wired connection to send angle information from the gloves to the receiving module.

  • Were any changes made to the existing design of the system? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?

There are no design changes to the system. 

  • Provide an updated schedule if changes have occurred.

So far there is no major update on our current schedule. Although our DigiKey order hasn’t arrived yet, the major components have arrived (radio and gyroscope IC). Hence, our design process is still on schedule.

  • Component you got working.

You can now control the the volume of the synthesizer with the pitch angle of the gyroscope chip. Here is a demo video.

Oscar’s Status Report for Mar 18

  • What did you personally accomplish this week on the project? Give files or
    photos that demonstrate your progress.

This week I integrated the gyroscope chip into my synthesizer. Specifically, now the volume is now controlled by the pitch angle of the gyroscope chip instead of the vertical position of the cursor. I spent quite some time researching the Arduino library for the gyro IC. I have tried AdaFruit_MPU6050 and MPU6050_light, but these do not have the required angular accuracy. In the end, I used Tiny_MPU6050, which contains a calibration function that makes the angle readings much more reliable. After that, I integrated the readings from Arduino into my synthesizer using the serial python library, normalized it, and used it as my volume parameter. Here is a demo video.

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

I am on schedule. However, because of the ethics discussion next week, I might spend some extra hours in the lab next weekend.

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

After mapping the pitch angle to the volume, I will mainly focus on implementing real time frequency bend next week and controlling it with the roll angle of the gyroscope IC.

Yuqi’s Status Report for Mar 11th

1, What did you personally accomplish this week on the project?

I wrote the wearable-circuit part of the design report.

While waiting for my orders, I go online and learn the Arduino codes for the radio transmitter. I read the data sheet and the tutorials:

Tutorial 1 

Tutorial 2

2,  Is your progress on schedule or behind? If you are behind,whatactions will be taken to catch up to the project schedule? What deliverables do you hope to complete in the next week?

It is behind of schedule. The parts that I ordered on DigiKey before Spring break haven’t arrived. I planned to work on those things during the break.

The radio transmitter and gyroscope have just arrived (from Amazon). Next week I will learn to use the items. I will spend extra time if the DigiKey Order arrives this week.

Team Status Report for Mar 11

  • 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 right now is the process of incorporating the pre-trained models into our system. Although we have accounted for the possibility that these models don’t fit our requirements and came up with backup models, it is still possible that the integration method that we planned might not work as intended. This brings up another potential issue: the future integration process. Since all of our team members worked on the project during spring break separately, there is not as much communication as if we were to sit inside the classroom. This could potentially cause the integration process to be more complicated than expected. Currently, we are planning to meet more often in our development process in order to better understand each other’s work, and more research is being done at the moment to reduce the confusion in this process.

  • Were any changes made to the existing design of the system? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?

There are no design changes to the system yet. We did change a metric, the weight of the system is now 4.8 lbs instead of 6 because this number is more reasonable and should better fit user requirements.

  • Provide an updated schedule if changes have occurred.

So far there is no major update on our current schedule, several tasks are slightly extended due to spring break, but will not impact the timeline of future items.

  • Component you got working.

The gesture-command UI now works with some dummy gestures, it allows matching and save + load the data when python is launched. The synthesizer also supports gliding between notes and customized timbre (demo video).

  • Addressing faculty feedback on design presentation

Most of the questions are addressed in the design report, and the rest will be addressed below.

“Use of glove and what it will control and how? How does the battery on one hand connect to the other?”

Each glove mounts an individual circuit that contains 2 LiPO batteries, an Arduino Nano, a radio transmitter, and a gyroscope chip. Since each glove is individually powered, there is no physical connection between them. The left hand’s pitch angle will be mapped to volume in the synthesizer, where the right hand’s roll angle will be mapped to pitch bend.

“Why no Windows?”

After changing some python libraries, our software now runs both on Windows and macOS.

“Details about the synthesizer”

Below is a more detailed diagram of the synthesizer.

  1. The frequency f is based on the note selected by the user’s hand position on screen and the amount of pitch bend.
  2. Oscillate the waveform given by the oscillator at the frequency f.
  3. Samples the oscillating waveform into buffer and multiply it with the volume parameter determined by user’s left hand.
  4. Write the buffer to audio stream.

Oscar’s Status Report Mar 11

  • What did you personally accomplish this week on the project? Give files or
    photos that demonstrate your progress.

This week I added a gliding mechanism to fix the audio snap problem. Now, when the user switches to a new frequency, the synthesizer will play a sequence of in-between frequencies instead of jumping directly to the target frequency. I also rewrote the oscillator class to support customized timbre. I can now customize the sound by changing the mathematical expression of the oscillator’s waveform. In this demo video, the first oscillator uses a sine wave with glide duration = 0.05s. The second also uses a sine wave with glide duration = 0.1s. The third one’s waveform looks like the picture below and has a glide duration = 0.15s.

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

I am on schedule. However, I do foresee a heavier workload next week as I will be adding hardware (Arduino + gyroscope chip) to software (my synthesizer).

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

Since our gyroscope chip has arrived, I will be testing its functionality next week. If there is no problem with the chip, I will incorporate its outputs to my synthesizer. I hope that I can use its tilt angle to control the volume of my synthesizer by the end of next week.