Inspiration
It is often super difficult for beginner music students to find sheet music for songs they like or hear. This project hopes to alleviate that challenge so that they can practice easily.
What it does
This tool is a CLI python project which transforms .wav and .mp3 files into an image of the correct sheet music and notes.
How we built it
This project is built entirely in Python using pygame, soundfile, numpy, and numerous signal processing techniques.
Challenges we ran into
- Pitch Detection: Requires Fourier Analysis to find the fundamental frequencies of the wave
- BPM Detection: Requires amplitude spike detection to track beat and tempo
- Sheet Music Generation: Need to count the duration of notes and display accordingly using PyGame ## Accomplishments that we're proud of
- Having a 100% accurate "Mary Had a Little Lamb" piece sheet music generation
- Detecting basic chord structures and BPMs
- Creating a custom intermediary file format to store musical data
What's next for By Ear
We plan to expand the project to detect chord progression songs, a wider range of BPMs, and different key signatures.
Log in or sign up for Devpost to join the conversation.