Conclusion
​
The final result of our project shows very promising results, but there are plenty more areas that can be improved upon if time willing. The neural network used for song-splitting was shown to be a reliable option for segmenting the song into different parts. The pitch detection and transcription showed themselves to be a much larger barrier than what was originally predicted when brainstorming this project. Reliable pitch detection has been a research area for over forty years, and this proved to be the most difficult part of this project. Monophony was very simple, requiring only one library and function call to be functional, but polyphony is much, much harder. Using three different solutions to this: a basic MATLAB pitch detection algorithm, a neural network, and a home-brew pitch detection algorithm, we were able to get a workable solution for each.
​
​
Next Steps
If this project were to be repeated from the start, the main changes would occur in the pitch detection algorithms. Given more time, the custom model could have been used in conjunction with the neural model in a post-processing module to achieve better results. Another change would be the search for more organized, less user-centric designed neural models. Basic-Pitch is great for the average consumer, but their report admits that there are better models used currently, just much harder to implement. Yet another addition if we had more time would be to add transcription for the drum parts since we already have the onset information.