For the first assignment I have created a synth in Max that has two parameters controlled by two potentiometers connected to an Arduino. The synth patch takes the MIDI input from a USB keyboard and converts it to a frequency, which then creates the note you hear. The two potentiometers control the harmonicity; Which is the ratio of harmony to noise; and duration of the note. The synth has an editable envelope, and the user can draw in the carrier frequency and amplitude using the graphs. Finally, the synth also has a small reverb unit which adds noise and reverb when connected to the main patch.
For the second task I have created a random noise generating instrument, that is controlled by two potentiometers and a light-dependent resistor. I found the code online on a webpage that had been dead for a long time, but using the wayback machine I managed to find an archive of the webpage and extracted the code from it. The code was from an older version of Arduino, so I had to edit it and re-code certain parts in order for it to run properly. The code is complex and came with no other instructions on how to build it, so this assignment required a lot of trial and error, but I eventually got it working.
For the third and final task I have created a MIDI arpeggiator using a tutorial online. The project has four potentiometers, two light-dependent resistors and 7 buttons which control a variety of functions in the project. I have used the arpeggiator to control synths in Logic and Max, as well as using it with a real hardware synth. This required the most troubleshooting as the MIDI wouldn’t work to begin with and then my USB to MIDI cable didn’t work either. However, after some extensive troubleshooting I managed to get it working perfectly. I also had to rewrite some code for the potentiometers to work in the correct order in my breadboard. The original code had LED functionality but I removed this because they didn’t have any real use in the patch, so I deemed it unnecessary.