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.