Linked Detection and Algorithm Improvement
Our final vision for the project would be to successfully link our beat detection and melody detection modes. In it's final form, the LED strip would flash in time with the beat and change color based off of the note frequency of the melody. We do have the MATLAB code written for setting the RGB color values, however our hardware was not receiving the separate values well which is why we had to modify the output. One issue we currently face is that our beat detection is more successful with songs that have a strong bass line, whilst our melody detection needs to be a more vocal focused song. Due to the nature of these restrictions, finding a song that features both is very difficult. Thus we need to broaden our processing ability to encompass all types of songs with both detection methods in order to truly sync the two together.
Arduino Audio Processing
The largest source of frustration in our project was difficulties interfacing between MATLAB and Arduino. The processing time of sending the data from MATLAB to Arduino changed every time we ran the program, which is why we could not perfectly sync the audio to our processed signals consistently. In order to circumvent this, we would look into doing our audio processing on Arduino. We previously had not been aware that Arduino has the computing power and add ons necessary to process the signal. To implement fully in Arduino, this we would need several other physical components and hardware which is why we did not attempt this for our project. Another thing we would try to implement is interrupt timers to deal with the inconsistency in program runtime. By fixing these issues, we would be able to standardize our processing and have it run faster. As a result, we can also work towards another final goal of doing all of the processing in real time. In our ideal final product the LED strip would adapt to the music as it hears it for the first time.