Status Reports

Charles’ April 6 Status Report

Progress

This week, I redesigned the filters and other circuitry with the lessons we had learned from our initial demo to work better (hopefully). These parts should be ordered by Tuesday, and then it’s a matter of checking that my calculations were correct and testing to ensure that we are within the metrics that we had set out for ourselves at the beginning of the project.

Scheduling

In terms of scheduling, I’m basically on schedule. I’ve done most of the heavy lifting for design (and re-design) and just need to implement now.

Team Report Mar. 30

Progress

This week as a team we worked on integrating all of our different pieces together to make a full pipeline from the keyboard being pressed until sound is produced. We managed to make two ends work, but as of today are still working on finalizing the last pieces of combining the DAC/Analog and the MIDI/keyboard. As we work for the next day-ish before our midterm demo, we intend to complete the pipeline so that we will at least hear some type of sound at the end of the day tomorrow.

One of the big issues that we are uncertain about is that we may need a digital low pass filter before we send our signal to the DAC to remove higher frequencies from our signal that we do not want to hear. This is currently the biggest risk that we foresee in our near future.

Scheduling

We are currently effectively on schedule, since we have managed to nearly finish integration for our project and once we have a single note that can be played through the pipeline, we should be able to play any given note that we want. This removes a couple weeks at the end of our schedule for integration and gives them to us now, which is why we are effectively on schedule at this point in the semester.

Jens’ Mar. 30th Status Report

Progress

This week I worked on integrating the modules that I had designed with the rest of the system and actually putting them onto the FPGA.  Currently as it stands the components through the wave tables have been connected to the system and have been tested to work with the MIDI messages that we can now read on the FPGA.  Additionally I helped Charles a little with the other end of the circuit getting the filters constructed and tested and getting a signal to pass through the DAC and be converted to analog.  Moving forward from here we hope to have a MIDI controlled sound driven through the system in time for the midterm demo.

Scheduling

According to the new version of the schedule we are now decently back on track with the coming weeks being fine tuning of the system and addition of the new components for the final iteration

 

Hailang’s Mar. 30 Status Report

Progress

This week we worked together a lot on preparing for the midterm demo. We worked heavily on integration and testing, and have put together many of the pieces that we had together on hardware. The MIDI interface has been pieced together and completed, fully tested on the FPGA hardware itself. We have been testing by putting successive pieces of the pipeline together, and as of the time of writing this, we have tested the synthesis pipeline up to the decoder and synthesis incrementors, and are working on testing the mixer and the DAC pre-prep modules. We do not anticipate having the effects chain tested on the FPGA board itself for the midterm demo, and have been focusing on the wave blending effects in testing this week. The group as a whole has been working together, so rather than a lot of focus on each of our individual pieces, we have been debugging and testing together.

One issue that has come up this week is the possibility that we may need a digital low-pass filter on-board the FPGA before the DAC due to potential aliasing effects. We will run experiments on the DAC output this week to see if the issue necessitates it, and if it is necessary, I will begin the design of the filter.

Scheduling

The amount of progress we made this week on integration and testing means we will not have to spend as much time later, since the stages of the synthesis pipeline that we have working after this week will not need to be revisited later. My goals for next week are to begin integrating the effects modules and effects chain into the synthesized hardware pipeline. Assuming we can get the basic synthesis pipeline functional early next week, I can begin tuning the effects as well.

Charles’ Mar. 30 Status Report

Progress

This week I finished building the DAC module that sends all of the clocking and data from the FPGA to the DAC and out to audio eventually. We ran into a bit of an issue since we had wanted to work with a 50MHz clock, but the FPGA GPIOs cannot handle that clock speed, we had to lower our clock speed slightly so that the DAC could read it. I also built and tested a few of the filters that I had designed and they work with a roughly 1% error in the 3dB point, as expected.

Scheduling

I’m roughly back on track, as I’ve caught up with where I should be on the schedule. We’ve already begun our testing and integration, so we’re a little bit ahead of schedule there.

Team Mar. 23 Status Report

Progress

This week we were all individually tasked with completing the first pass of all of the sections of the pipeline that we were responsible for in preparation for the midterm demo.  This meant that Charles worked on completing the FPGA interface with the DAC and the on board connection layout for this purpose. Hailang was tasked with making sure the UART decode and the MIDI message construction, and the support circuitry for the MIDI signal was ready for the midterm demo, while continuing work on the effects chain.  Jens worked on creating a simplified version of the digital synthesis pipeline. A few key features are being added latter for the purpose of having as functional a midterm demo as possible. The goal for the midterm demo is to have a single note be able to be played through the system from keyboard press to DAC output.  This coming up week is going to be spent finalizing all of the modules for this purpose and connecting them all together for the midterm demo version of the project.

Scheduling

This is slightly behind schedule from where we would have originally liked to have been because we overestimated how much time we would have before the midterm demo for the project.  The schedule has been slightly shifted around to move some portions of the project to after the midterm demo to make sure that the parts that we are aiming to include all work as intended. Many of the features that are to be added after this first iteration of the synthesizer, such as the polyphony, are scaled up versions of the modules that will be included in the midterm demo.  As a result the modules for this pass of the synthesizer will be designed for adaptation to the final version in mind.

Hailang’s Mar. 23 Status Report

Progress

This week I worked on finishing up the first versions of effects modules. At this point, the distortion module is essentially completed, while the delay and reverb modules should be finished up this weekend. These first versions will have the necessary functionality, but are not tweaked for sounds, which is something that will be worked on in the upcoming weeks. Unfortunately, I cannot really test the effects in real life until the rest of the synthesis pipeline is in, however, I may consider using Matlab to run some simulations to fine-tune some of the effects parameters.

Realizing that the midterm demo is soon upon us, I have also spent a lot of this week revisiting the MIDI interface and decoder parts of the pipeline, since that will be critical for the midterm demo. The parts I need for the MIDI interface were obtained this week and after some simulation testing of the interface this past week, it should just be a matter of putting the pieces together.

Scheduling

While I was able to work over Spring Break, I did not end up having as much time as I anticipated, thus I am not as far as I would like to be. The goal right now is to be in a presentable state for the midterm demo, which I think will be alright, and I am potentially going to be taking over some parts of the synthesis pipeline from Jens in order to get the core of those modules absolutely nailed down. Next week, we will be spending a lot of time doing integration and integration testing, but hopefully, any issues we iron out next week will be mean that integration later will be trivial, as only the internals of the modules should change and not the interfaces between them. For the effects and such, I will begin functional testing, but tweaking and fine-tuning will likely wait until the week after.

Charles’ March 23 Status Report

Progress

This week I focused on the DAC Pre-Prep Module and fell sick for the second half of the week. I managed to write up a structure for the chipInterface on the FPGA and have it entirely functional for the ports that are needed for our design.

Scheduling

The sickness has set me a bit further behind, but as soon as I’m able to move around better without being sick.

Jens’ Mar. 23 Status Report

Progress

This week for the project I worked on getting a functioning version of the digital synthesis pipeline working.  This version of the pipeline involved a scaled back synthesis engine from the one that will be implemented for the final project.  Where the final version will support 4 note polyphony the goal for this first version is to have a single note be detected decided and the proper samples fetched and sent to the DAC.  For the most part this just simplifies the path to focus on one sample being fetched at a time instead of 4. This is then rather simple to scale back up to 4 notes once working. The one area where the scaling to multiple notes is less simple is in the logic that remembers which notes are being played at a given time and decides which note to throw away should an extra note be played.  This will be the focus of my work going forward, getting this module to function in the way that we want it to. In initial designs the difficulty was in keeping track of the priority of which note to be replaced, and specifically updating priority for the notes still being held once a note is released.

Scheduling

Moving forward with scheduling it is much more tight than I would have liked it to be.  There is still slack at the end of the semester to run into but at the moment I am behind schedule.  Once the midterm demo version of the project is complete I am going to ask the other group members if they are on track and if they can pick up some of the work on the mixer portion of the synthesis chain.  Hopefully this will help to get my allotted portion of the project back on task.

Team Mar. 9 Status Report

Changes to the Design

No significant changes are planned for the design, although we have now planned and expanded the adjustability and the functionality of the effects modules to incorporate some simple expansions we decided would add to the user experience but not increase the workload or complexity by an unreasonable amount.

Risks

Obviously, any design change comes with risks, but we are not worried, since the changes are very minor and the design of our modules allow the additions to be fairly easily integrated. Furthermore, since the additions are not essential to the functionality, they can be scrapped if it needs to be.

Schedule

We are still somewhat behind schedule since all three of us had midterms this week that consumed a lot of our time, as well as travel for spring break. However, we have all planned out work schedules and goals to hit during Spring Break, where we anticipate having plenty of time to work both independently and together if need be. We do not anticipate any necessary changes to the overall schedule.