Hongrun’s Status Report on 5/1/21

This week I got a lot done and am wrapping up my personal tasks for this project in general. I did the following:

  1. Finish ADSR implementation and successfully synthesized it.
  2. After Michelle did frequency testing and found out that our system has very severe pitch deviation, I changed two things to improve the problem to a degree that is acceptable: a). increasing audio frequency rate (50kHz -> 400kHz) before downgrading to the industry standard of 44.1kHz, b). increasing sample width from 16 to 19. Since our code has very good use of macro-parameters thanks to Jolin’s integration efforts, these steps were done without too much difficulty. Right now, we are meeting our frequency requirements for all the notes below C6. This is not ideal, but within expectation, because the nature of using a division lookup table suffers the loss of accuracy in higher octaves.
  3. I went to the capstone lab to gather testing metrics on latency and frequency distortion using the oscilloscope and organized them into data that we will present in the final presentation. I also took lots of screenshots and some videos on some of our features, e.g. ADSR, PWM, and polyphony. These can be used in our final videos.

I am currently on track and looking to finish my work on time.

Before the final presentation, I need to:

  1. Write a Python script to compare the shape of our three fundamental waveforms with the ideal shape in order to evaluate our waveform generation approach using a period table and a division table
  2. Help make the testing and verification part of the final presentation slides and do a mock session to help Jolin prepare for the real presentation

Lastly, after the final presentation but before the demo, I am planning to do one last adjustment to my part of the project by tweaking the ADSR module to prolong the maximum duration of each stage. I planned the stages to be 1 second, but with the unforeseen upgrade of frequency rate, this number dropped down to 1/8th of a second… I need to increase the bandwidth of my envelopes to counteract this side-effect.

Leave a Reply

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