Inspiration
We wanted to make a program that would harmonize with user-generated input.
What it does
If you hum, sing, or whistle a few notes of a song into your computer, the Harmonizer will record your audio and create an accompanying harmony file. It will then combine the two files and save it to your computer for you to enjoy!
How I built it
We used python's built-in wave library to access the computer's microphone, and PyAudio to detect pitch. We created a basic harmony algorithm that returns a generated sine wave tone to accompany the user's inputted note. Each "translated" note was appended to a new sound file, and that sound file was played over the original file.
Challenges I ran into
We don't know anything about music theory. Also, making the notes flow together without sounding like screaming bagpipes is something that we haven't perfected yet.
Accomplishments that I'm proud of
It kind of works? If you enjoy the sound of screaming bagpipes.
What I learned
Music theory is hard, and generating tones mathematically is even harder.
What's next for Harmonizer
No more bagpipe sounds.
Log in or sign up for Devpost to join the conversation.