Graham’s Status Report for 4/3/22

Things went very well this week! we switched board from the PYNQ to the Ultra96. This last minute decision was admittedly a little desperate, but it has really facilitated our project progression. I tried to no avail to integrate MIDI with the Ultra96 this week. However, I am understanding more about the board UART input and should be able to finish this next week.

My todo list for the next week is to: Work through Ultra96 Vitis and Vivado basics, integrate MIDI input with the Ultra96, finish and fab the front panel, and solder many more encoders onto I2C boards.

Currently we are behind schedule, but if I can complete my list, and we can order a pcb, and get started with the oscillators. Then we should be able to finish most of sound synthesis the week after and be back on schedule.

Team Status Report for 4/2/22

Well… rest in peace to the PYNQ. We have decided to make the last (viable) minute board switch to the Ultra96. We have already made more progress on the Ultra96 than we ever did with the PYNQ which is promising. There is much more documentation on the Ultra96 than the PYNQ. This board switch will truly help us move along our project and kickstart our sluggish development phase.

There are a few risks we must handle carefully.  If our first PCB iteration does function as desired. We may not be able to print a second iteration in time and could lose our analog pathway. Our first attempt must be our absolute best. Everything else should integrate nicely.

This coming week, we will begin wave synthesis. Sam will finalize and order the PCB, Graham will integrate MIDI and finish the front panel, and Tom will work on synthesis modules on the Zynq.

Graham’s Status Report for 3/26/22

This week, I finished the Front Panel design and am in contact with Ed Wojciechowski to facilitate water jet cutting. This will be simple and cheap hopefully. I sourced the MIDI input board and ethernet coupler for our rear panel. We still need audio jacks, DCin and power switch. I think we can simply find those around. We have to figure out this AXI interface and protocols soon so we can finally communicate with the FPGA modules. We should produce the MVP in the next two weeks, including bare minimum oscillators, integrated MIDI, and a few encoders.

We are definitely behind schedule. I believe we should have had the MVP ready by now based on our gantt chart. However, in hindsight, this goal was a bit ambitious. I am confident we will be viable by next weekend! In order to achieve this I will be more realistic with our goals and put maximum effort into all the elements of the MVP in the coming week.

Team Status Report for 2/26/22

At this time, we have a clear path ahead of us for creating the PROGNOSTICATOR-6. We made changes to the original design last week, but we have not altered it again. Since simplifying our design, our greatest challenges seem to be integration and implementing some complex aspects of synthesis. The analog path may be simpler now, but as Sam discussed in the design review presentation, we still must be cautious of generating noise.

It may be risky to put too much emphasis on the user interface and aesthetics when we have many other elements of the project to consider. What use is a synthesizer that looks pretty, but does not sound good! If there is an overwhelming amount of work on the FPGA, Sam and Graham will need to spend more time on that to ensure that the essentials are completed in time.

Graham’s Status Report for 2/26/22

This week, I wrote a python keyboard program using pygame.midi.  This was easier than anticipated. However, it still exists entirely within my laptop. I attempted to add oscillators and modulators to truly make a digital synthesizer, this is a work in progress. On the ZYNQ, this program can take MIDI input from our controller along with input from encoders. From there, we may add more simple effects in software after we have worked out the complex elements of the synthesizer.

I am still slightly behind on my progress. Last week, I said I would have liked to have some software on the ZYNQ that produces a signal today. I am very confident we can achieve that this week. I am going to put in additional hours over the break to learn to work with Vivado and a Zedboard from the ECE Inventory since Tom will have the PYNQ. This week: I will work with Sam to decide a layout of encoders that makes sense for the PCB, complete the MIDI portion of the synthesizer, and continue to develop the front panel design.

Graham’s Status Report for 2/19/22

This week, I installed Vivado on my personal laptop and began familiarizing myself with our virtual PYNQ-Z2 board. I ran through some tutorials using Vivado’s behavioral simulation and this week, I would like to see it function correctly on our hardware. It will be very useful to have Vivado available during our biweekly class time!

As a team this week, we narrowed down a specific number and allocation of knobs and buttons for the front panel. There are a few things to still consider, but I went ahead and made a rudimentary CAD assembly for the front panel. This includes 25 knobs, an LED matrix, a screen, and three buttons for choosing patches. It is a rudimentary design, but the dimensions worked out well (2.5×8.5×37.5in) and there is room for adjustment. We will talk about it together this week and I will make the necessary adjustments.

Next week, I will have completed a midi interface in the ZYNQ and have it output a noise or at least the name of a note in text. I am a little behind schedule, but we all had some major design choices to agree on this week. Now that we have done that, I believe we can get really get to work.

Graham’s Status Report for 2/12/22

This week I presented a proposal for our project to the D teams in 18-500! (Team_D2_Scherlis_Zeloof_MacFarquhar_proposal) I look forward to reading the feedback. I believe that preparing for this presentation has helped me to further my understanding of the many facets of our project. I am now preparing to install vivado on my laptop so we may work on the project in the lab space. We have a previous MIDI-out keyboard that Tom has provided. I researched the encoding of MIDI data. There is a clear standard and it should not be difficult to write our own interpreter or modify another one. I will begin working on that this week and also do some CAD for the enclosure in SOLIDWORKS.

Project Summary

The PROGNOSTICATOR-6 is our vision for a 6-voiced, digital-analog hybrid synthesizer. The synthesizer will make use of digital wavetable oscillators and analog filters and amplifiers. It may feature multiple effects digitally such as chorus, pitch shifting, chords, and arpeggiators. The analog path will include tunable high and low pass filters and an amplifier, which can be modulated by digital envelopes. Notes will be provided separately with an external midi controller, and the whole PROGNOSTICATOR-6 will be built into a sturdy mechanical housing with a strong focus on user experience.