Inspiration

We were inspired to develop this application due to some challenges in acquiring sheet music for songs we wanted to play. When searching for songs we wanted to play, most of the songs were either transcribed very poorly, or were locked behind an expensive paywall. These challenges were a major motivation for doing this project.

What it does

Our program is designed to take an auditory input and convert the result into a legible musical note from the musical alphabet. This will allow the user to be able to play whatever song they wish, simply by inputting the audio file (in the wav format) into the program and transcribe it, which the user can play on their instrument of choice.

How we built it

We utilized libraries in python such as matplotlib, Pyaudio and NumPy. We used an VSCode in order to actually code and implement our plans. We used matplotlib in order to graph the fast fourier transform, we used the PyAudio in order to analyze audio, and NumPy to utilize the data.

Challenges we ran into

We ran into many issues with the usage of the Fast Fourier Transform, which extremely limited the scope of our project, and prevented us from implementing our ideas. Fast Fourier Transform is based upon highly complex mathematics which we didn't have as much knowledge on, forcing us to spend a significant amount of time on learning how it works before implementing it.

Accomplishments that we're proud of

We are proud of being able to actually identify accurately what note was being played, and what octave it was located in. We were able to do this by implementing the Fast Fourier Transform that is used to analyze waves like audio and light waves.

What we learned

We learned about complex math concepts such as the fast Fourier transform, which is related to math topics such as trigonometry and calculus. This math is important in the world because of its close relation to signals, waves, light and physics.

What's next for The Note Guys

We will continue working on projects of a similar depth and complexity. We will do this in order to further our knowledge of both coding an non-coding topics, and also gain experience before going into a computer science/engineering field.

Built With

Share this project:

Updates