MIDI Controller & Spectrum Analyzer

A MIDI (Musical Instrument Digital Interface) Controller is a device that creates and sends out MIDI data to various software like a DAW (Digital Audio Workstation) to produce sounds, add effects, and alter the volume via buttons, knobs/faders, and sliders. A MIDI Controller is a significant tool in music production as many music producers use them. A Spectrum Analyzer is a device that uses lights or in this case, LEDs, to visually show audio utilizing frequency (over the x-axis of the matrix) and volume (over the y-axis of the matrix).

Engineer

Mohammed F

Area of Interest

Electrical Engineering

School

Brooklyn Technical High School

Grade

Incoming Junior

Demo Night and Reflection

Spectrum Analyzer Demo

I was able to make the LED matrix to function as Spectrum Analyzer through the use of a programming language called Processing with my Arduino. With Processing, I was able to use a FFT program, which stands for fast fourier transform, to split up audio into different frequency ranges. This information then gets sent to the Arduino, which would map those frequency ranges onto the LED matrix. With that, I have finished both of my projects, the MIDI Controller and the Spectrum Analyzer. I enjoyed Demo Night as I was able to successfully present both of my projects, the MIDI Controller and the Spectrum Analyzer. Although I came across countless bugs/errors in my projects, I persevered to fix them and that allowed me to have two functional projects that I am proud of. As this is my first hands-on experience in the engineering field, I greatly enjoyed my time with BlueStamp Engineering. I was able to enjoy what it feels like to be an engineer and understand more about the engineering process. This experience encourages me with my passion in electrical engineering as it was truly fun. My time with BlueStamp Engineering has definitely increased my interest in engineering as a field and strengthened my passion.

Fifth Milestone

My fifth milestone is getting the LED matrix to function properly. In order to make my LED matrix into a Spectrum Analyzer, I needed to understand how the LED matrix works and how I was supposed to wire it to accept inputs from the Arduino. I was able to get the LED matrix to light up and run basic example code from the Adafruit Neopixel library by wiring the DIN wire to a digital pin, the 5V wire to the 5V pin, and the GND wire to the GND pin on the Arduino. As I have the wiring of the matrix done, I will finish up my Spectrum Analyzer as I have completed the hardware aspect.

Fourth Milestone

MIDI Controller Demo

My fourth milestone is completing the actual MIDI Controller. I soldered all my components such as the buttons, faders, and sliders to my Arduino and mounted all of them to my enclosure. I had difficulty with soldering the components as there were many wires I had to solder, which was very tedious but yet achievable. Additionally, I came across some minor clearance issues concerning the mounting of the buttons. Luckily, I was able to solve these clearance issues by taking off washers for two of my buttons and utilizing hot glue to attach them to the enclosure.

Third Milestone

My third milestone is getting the DAW (Digital Audio Workstation) to accept the MIDI inputs from my prototype MIDI Controller. In order to get the MIDI Controller working, I needed it to send out MIDI signals which are used as inputs in DAWs. However, the MIDI Controller only sends serial messages via the Arduino. In order to solve this issue, I needed to utilize two pieces of software: loopMIDI and The Hairless MIDI to Serial Bridge. The loopMIDI software would create a MIDI port which would be used by The Hairless MIDI to Serial Bridge to connect the Arduino Port to the MIDI port; this would allow serial signals be converted to MIDI signals. I had problems concerning which DAW to use and which DAW would actually work. First, I attempted to use LMMS, an open-source DAW, and it wasn’t accepting the inputs from my MIDI Controller as it could not recognize it. I then attempted to use Traktor Pro 3, which was able to accept the MIDI signals.

Second Milestone

My second milestone is creating the CAD (Computer-Aided Design) file of the enclosure of my MIDI Controller. This is very crucial to the build of the MIDI Controller as well as the design of the controller. I was able to achieve this milestone through creating various parts that would be used to assemble the box. I had to create individual parts to provide room for error when the enclosure is 3-D printed/laser cut. I had come across many problems involving clearance and the stability of the enclosure. However, I was able to overcome these issues by reviewing each of my parts so they do not interfere with each other when the enclosure is assembled.

First Milestone

My first milestone is managing to make the buttons and potentiometers give out different serial outputs. The serial outputs is very crucial to the MIDI Controller as it helps differentiates the buttons and potentiometers from each other. These serial outputs would be utilized in the future to convert them into MIDI signals. I encountered a few problems when I was trying to make each button give out a different serial output but I managed to figure those problems by using different digital pins on the Arduino as well as using more pull-down resistors.

Leave a Comment

Start typing and press Enter to search

Bluestamp Engineering