- #Virtual midi piano keyboard scratchy sound serial
- #Virtual midi piano keyboard scratchy sound software
- #Virtual midi piano keyboard scratchy sound code
It was definitely for the best that I used the Arduino rather than the Raspberry Pi because I think the Raspberry Pi would have added a complexity that wasn’t really needed for the scope of this project.
#Virtual midi piano keyboard scratchy sound serial
It was cool to experiment with the different MIDI libraries and learn more about the Serial library as well.
I learned that the Arduino is capable of doing a lot more than I originally thought! While I thought it was a very basic computer simply by the fact that it runs a continuous loop, I was surprised to see the sheer number of libraries for it. Likewise, I was able to face my discomfort with using circuits and wires and even soldering as I used the Adafruit MPR121, a new sensor, with the Arduino. However, I was still able to use a microcontroller in the Arduino and used libraries that I had not used before in order to make this project work. Unfortunately, I was unable to meet this goal because of unexpected circumstances with the Raspberry Pi and the corresponding equipment for it. Learning Goal 1: I want to challenge myself to incorporate a Raspberry Pi into my project because even though I am a computer science student, I do not feel comfortable dealing with circuits, wires, and microcontrollers/microcomputers (I avoided hardware and ECE classes). I am most proud of the fact that I was able to use my prior programming knowledge in Python to process the data from the Arduino! I found it cool that I could use the skills I learned from this class and combine it with my prior skills to create something that was even useful for my own music projects! The final computer setup with virtual MIDI port through LoopMIDI, the Python script running, and the MIDI player open. The final setup of the Arduino with the wooden board, sensors, alligator clips, and foil for touch.
#Virtual midi piano keyboard scratchy sound software
I had to use a variety of different software to get this work, including a virtual MIDI port, but it ended up connecting smoothly after trying out the different settings and figuring out what worked! I was easily able to have the computer output sound when I touched the sensors, but it needed to play through the device, where I would see the piano keys on it being pressed down as I touched it.
The last challenge that I faced was with getting the MIDI messages to go to the MIDI output device of choice. In the second video, it played through the MIDI player by means of a virtual MIDI port created using the LoopMIDI software and Hairless MIDI Serial Bridge to send the Serial data to the port, which was then set as the MIDI input for the MIDI software I used (Virtual MIDI Piano Keyboard). In the first video, I was able to get MIDI data to send from the Arduino but it wasn’t connect to the MIDI player. In the videos below, you can see how I experimented with MIDI messages apart from the touch sensors, in order to get that working first.
#Virtual midi piano keyboard scratchy sound code
I tried to do this originally all with the Arduino code but found that I needed a Python script to translate the Serial input from the Arduino into MIDI messages instead. Another challenge I faced was with getting the touch capacitive data from the Adafruit MPR121 to be translated to MIDI messages that would be read by the computer and any MIDI software or DAW. Luckily, it turned out mostly fine this time, but one of the wires that was soldered didn’t have a great connection to the Adafruit MPR121 board. I had soldered once before 7 years ago and had decided at that time that I would never do it again because it was difficult for me. This was a prototype that had problems because of the overlap of sending data through Serial multiple times.Īnother challenge I faced was with soldering, something I was relatively new to. The Adafruit MPR121 sensor with wires and metal pins soldered to it, Example code that combined the MPR121test file that check each of the 12 touch sensors on the board with a tutorial on sending MIDI messages. I lost a lot of time trying to setup the Raspberry Pi before switching to an Arduino. I found a lot of difficulty with setting up the Raspberry Pi and had to continuously get more and more equipment for it to fully work, and even then, I had to scrap the idea because it wouldn’t have worked as smoothly as an Arduino would. Some of the challenges I faced when creating this project were with executing on the initial project conception with using a Raspberry Pi. Initial Raspberry Pi testing before I switched over to the Arduino. Wooden piano board created using Inkscape and the Epilog laser. MIDI controllers are typically somewhat pricey, so I thought this would be a cool alternative. For my final project, I sought to create a Piano MIDI controller that I could potentially use with a DAW (digital audio workstation) when producing/recording music for myself in the future.