Status Reports

Jens’ May 4 Status Report


For this week I worked on helping with the final polish and integration of the system which included mostly soldering the filters onto protoboards and testing to make sure that they retained their functionality.  The hope was that this more secure system would cut down on noise we heard when wires on the breadboard were touched and wiggled around.  This will hopefully be the last step in getting the project all prepared and ready for presentation at the final demo.  Moving forward to next week there is still the final changes to the paper that need to be made for the final paper and my part is rewriting the technical details of my polyphony process as it has changed from the design review to support the ADSR feature.  Also we need to film the demo version for the video.


At this point the schedule is what it is.  Work has been done and there are a few tasks left and one day left to do them so anything not currently ready will be finished tomorrow.

Team May 4 Status Report


This week was spent on polish and fixing the persistent noise bug from previous weeks. While Charles and Jens worked on moving the analog circuit from the solderless breadboard and soldering all the components onto protoboard, Hailang worked on debugging some DAC issues that was causing missed samples. Overall, this week solved the vast majority of the noise issues in the system. What’s left is just finishing up some soldering and finishing some of the extra features. At this point, we are not looking at any significant risks except for an act of God that ruins our project.

Charles’ May 4 Status Report


This week, I fixed an issue with ADSR that allowed the volume to go too low and caused some minor issues with our sound quality. I also worked with Hailang and we together found the issue that was causing our sound to be bad, as our DAC module wasn’t playing very well with the rest of our design because we added several pipeline stages to ensure that we met timing. This caused my DAC sender to then try to send two different samples in the same window sometimes, which meant that the DAC was getting a mixed sample. We also found an issue with our wavetable where one of the values was never specified (we had 1023 instead of 1024 values). I’ve spent much fo the week slowly soldering our filter bank to nicer protoboards that will improve our overall presentation.


In terms of scheduling, we’re a bit behind with polishing taking over a lot of the time that we had wanted to spend on the paper, but we will have a lot of dedicated time for the paper once we finish polishing our demo.

Hailang’s May 4 Status Report


This week is the last week of work, and has been spent on getting things ready for the final demo.

For the actual synthesizer, I spent this week debugging several issues with the DAC module, did some last minute tuning of effects, and worked on the extra looping feature that we can hopefully have by Monday.

For the DAC, we realized that one of the big sources of noise in our system was incorrect samples coming out of the physical DAC chip, and after many hours of debugging, we realized that the timing of our DAC module on the FPGA may be violating the required setup tim internal to the DAC. Further debugging also revealed that occasionally the sample would change partway through the serial data transmission, leading to completely wrong samples being fed into the DAC. Finally, the very last bug was that we found out that the sine wavetable was missing a sample entry, leading to audible periodic noise. Now there is very little noise audible, which makes me very happy.

For the wavetables, I finished writing a Python script that would transform .wav files into MIF files of the correct format and sample rate to work with our synthesizer. For the complex waveforms, we found a very extensive database of complex wavetables online, and we chose our 4 favorite ones to use in the synthesizer.

For effects, I did some last minute tuning to a lot of the effects, tweaking parameters used in the reverb and unison, as well as adding a phase difference effect in the wavetable blending, which will hopefully improve the blending effect by adding another parameter.

I continued work on the looping module, though I am unsure whether it can be tested and ready by Monday. A lot of my time this week that I had hoped to spend on looping

Finally, I spent a lot of time this week working on the final presentation and poster.

Hopefully everything can be wrapped up in the next day, and we’ll have a good demo. All the noise is gone now, so its just polishing from here on out. I feel pretty good about where we stand now, since my biggest worry was that we couldn’t get rid of the noise and that issue is solved.

Team April 27 Status Report


This week, we finished all of our integration. Our modules have been able to communicate with each other well and we have a sound coming out of our speakers, with all the effects and wave-shapes in place. The sound is a bit noisy, and we have spent most of our past couple of days since the demo trying to fix the issue that we see.  We have solved many noise issues with a combination of a powered speaker and some filters, but some pesky noise remains. We intend to have the issue fixed ASAP, and have begun work on our presentation and poster.


In terms of scheduling, we are a little bit behind because of the bug that we found in our circuit that we have not been able to fix. We are still searching for the cause of the bug and have tried several different solutions to remedy the problem. We hope to have it fixed by tomorrow, but are unsure if we will.

Hailang’s Apr. 27 Status Report


This week was spent mostly on debugging, testing, and preparing for the final in-lab demo and presentation.

For debugging, I worked with the team on integrating all the parts into the final product. The digital side of things is essentially feature complete (with a few extra features thrown in), and work on the digital side has been focused on just small tweaks and polish. Most of the debugging that took place this week was in the analog space, where we have been running into noise issues distorting the final sound quality. Wave-shape distortion issues were fixed when we swapped out the passive speakers we were originally using with powered speakers, and a lot of the noise issue was alleviated with filters in specific points of the analog pipeline. We are currently still working on fixing a ground noise issue.

Testing was done this week of many of the metrics that we set out to meet. For example, I worked on isolating and fixing a bug in the RTL that made the notes slightly flat. Much of the testing was done on the analog attributes, such as testing the filter bands to make sure they were right and testing distortion. Unfortunately, distortion metrics are being affected by the ground noise issue currently so we are still working on fixing that.

I have also begun work on the final presentation and poster, but most of that will be occurring tomorrow.


There isn’t much else to schedule at this point. We mainly want to flesh out the last few bugs from the analog circuitry and make sure everything sounds nice for the public demo day. I might write a few extra features on the digital side in the next week as a fun add-on.

Charles’ April 27 Status Report


This week we added in the ADSR module, which worked exactly as intended, and attempted to add in all of the filtering circuitry to the rest of the analog components (MIDI reader and DAC sender). The filters all worked correctly, and were well within the 5% error margin that we had set for them. Unfortunately, for a reason that our team is still exploring, we cannot get a clean ground, which is causing problems in our output sounds. We have spent most of the week debugging this issue (among other smaller bugs) as a team.


In terms of scheduling, we just need to fix this bug, and since every individual part is tested, we simply need to run a couple of easy system tests once the bug is cleared. Additionally, we need to work on our poster and presentation tomorrow/Monday.

Hailang’s Apr. 20 Status Report


This week I primarily worked on integration of all the components and modules. I finished the effects chain and worked on dropping it into the pipeline, as well as worked on integrating other miscellaneous components, such as making sure the knob controls worked, as well as finishing the integration of the wavetable wrappers. Most of my time was spent on integration and debugging of the full end-to-end. Time was also spent debugging the implementation and integration of the ADSR and new polyphony modules.


Things are still on track for demo on Monday/Wednesday, the full end-to-end with enhanced polyphony and effects should be ready by then. Next week should be spent mostly on polish as well as presentation readiness.