For my final project, I wanted to do something that was related to sound since I have a great interest in all things music/sound-related. After much research and contemplation, I decided to recreate one of the most important tools in my line of work, a midi controller. I use my MIDI controller for all of my musical creations because it is not only convenient but works incredibly well with my DAWs (digital audio workstations). The primary instrument that I use in many of my pieces is the synthesizer. This instrument inspires so many of my songs and allows me to manipulate sound in ways I could have never imagined.
For this project, I will be taking inspiration from this tutorial ( https://www.youtube.com/watch?v=cHiTPoNCv1w ) and recreating my own controller. I hope to have quite a few buttons that will mimic a synthesizer and also add some sound effects for percussion (like a drum kit). I have yet to figure out how I want to implement p5 in all of this but I am thinking of trying to create a sound visualization in p5 that will maybe move whenever a button in Arduino is pressed.
Here is the sample code for the Arduino portion of my project.
#include <Control_Surface.h> // Include the Control Surface library // Instantiate a MIDI over USB interface. USBMIDI_Interface midi; // Instantiate a NoteButton object NoteButton button { 5, // Push button on pin 5 {MIDI_Notes::C(4), Channel_1}, // Note C4 on MIDI channel 1 }; void setup() { Control_Surface.begin(); // Initialize Control Surface } void loop() { Control_Surface.loop(); // Update the Control Surface }
These are the two sound libraries that I needed to download for this code to make a bit more sense.
https://github.com/arduino-libraries/MIDIUSB
https://tttapa.github.io/Control-Surface-doc/Doxygen/index.html