TaranaLaroia / 112-Term-project

Takes in monophonic piano file and outputs sheet music for it.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

112-Term-project

THE PROJECT

What this program does is take in a monophonic piano input with notes in the range A2-G5#, and does several layers of signal processing and sound analysis to output the sheet music for the audio

When run, user is prompted to select a wav file to analyze, which the program will take time processing and eventually tkinter will draw the sheet music output

This project makes use of tkinter and numPy

Breakdown of all files:

main file is where the program is run

fourierAnalysis file contains the super math heavy algorithmically complex stuff, where all of the notes are manipulated

keys file contains two dictionaries that map frequencies to notes and notes to the staff lines they go on

drawMusic file draws sheet music

staff and note are classes that are used mostly for draw methods but some other properties too

CREDITS

This project would not have been possible without the help of

People: Tara Stentz Professor Tom Sullivan Professor Noel Walkington Professor Rick Carley Professor Ryan Riley Anne Silbaugh Vasu Agrawal

Textbooks: Signals and Systems Sixth Edition by Alan Oppenheim Fundamentals of Electrical Engineering by Giorgio Rizzoni Fundamentals of Physics Fifth Edition by David Halliday, Robert Resnick, and Jearl Walker Teach Yourself Calculus by P. Abbot

Websites: https://www.onlineconverter.com/midi-to-wav https://en.wikipedia.org/wiki/Piano_key_frequencies https://freesound.org http://www.wolframalpha.com https://audio.online-convert.com/convert-to-wav https://en.wikipedia.org/wiki/Finite_impulse_response http://www.eas.uccs.edu/~mwickert/ece2610/lecture_notes/ece2610_chap5.pdf https://en.wikipedia.org/wiki/Fast_Fourier_transform http://freewavesamples.com https://www.youtube.com/watch?v=EsJGuI7e_ZQ https://www.youtube.com/watch?v=WvWuco54FHg http://www.dspguide.com/ch12/2.htm https://en.wikipedia.org/wiki/Cooley–Tukey_FFT_algorithm https://en.wikipedia.org/wiki/Cepstrum http://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/ https://en.wikipedia.org/wiki/Discrete_Fourier_transform https://betterexplained.com/articles/an-interactive-guide-to-the-fourier-transform/ http://www.thefouriertransform.com

Special thanks to tp mentor Rishabh Chatterjee

About

Takes in monophonic piano file and outputs sheet music for it.


Languages

Language:Python 100.0%