Design/ Testing




MCU Synthesizer

Overall we believe that our final result met very well with what we had set out to do. We were able to create a fully functional subtractive synthesizer, capable of mixing waves, modifying the sound envelope and have a few additional sound modifications. By adjusting the variables we were able to simulate a few basic instruments while leaving the user the ability to create an unlimited amount of sounds. This met most of the major design plans we had set to do for the synthesizer. If we were to attempt this project again, we would plan to add in a few additional ways of signal creation outside of simply a subtractor. We would consider trying to implement a Karplus-Strong algorithm to implement plucked string sounds as an additional feature, and also provide ways to change the ADSR in a non-linear form (i.e. exponential).

Applicable Standards

The only standard that concerned our project is the “General MIDI software standard” that is a protocol used for electronic instruments, computers, and other musical equipment in the industry so that everything can communicate with each other. We used it extensively for the hardware to software interfacing between the midi controller and the MCU. By following the MIDI protocols we were able to successfully receive the correct data from the MIDI keyboard and therefore produce the correct note.

Intellectual Property

The majority of the code was written up from scratch. However, we did use some code provided by the ECE 476 class. We used the cricket call generator code we wrote for lab 2 as a starting ground for the PWM and sound generation code. It should be noted that while the structure still remains in some aspect, almost all of the code from that lab has been commented out or replaced.

Outside of that, the only other code we borrowed was from the Fix Point Arithmetic page on the ECE 476 website. We used Prof. Land’s fast Fix point Multiplication function and the single pole IIR filter function to speed up some of our calculations.

Ethical and Legal Considerations

In the creation of this project our group met all the conditions of the IEEE Code of Ethics. We designed our project with safety considerations in mind (i.e. isolating current from people via opto- isolators) and with the intention of creating a project that is innovative while applicable to day to day life. We tried to maintain the noise level of our sound production to a minimum so that we were never a serious distraction to those around us. In addition we tried our best to aid those working around us when they faced a problem we’ve might be familiar with. Overall, our project, a music synthesizer, is fairly harmless and is not applicable to any legal or moral consideration.