Inspiration
We wanted to develop an effective virtual music education resource as there is a lack of online resources that are user-friendly and effective. It's important for beginner musicians to have accessible and multimodal ways to learn music theory concepts, and having a combination of aural and visual feedback helps users to solidify these musical connections beyond the classroom. We also created this with the hope of having it be a useful quick-reference for more experienced musicians.
What it does
Harmony Visualizer provides harmonic options for a selected note in the selected key. These options can easily be played auditorily.
How we built it
We used Bubble.io to develop our platform and acquired the sound files through Musescore.
Challenges we ran into
We struggled to implement the logic behind chordal harmonies in an algorithmic way; we came up with ideas of how to do this but were unable to smoothly implement it. Learning to use a new platform, Bubble.io, was also challenging. It took us a lot of trial and error to get over the learning curve.
Accomplishments that we're proud of
We created a 2 octaves of an functionally interactive keyboard and made the keys connect with the correct harmonies! The design and layout of our app is also something we're really happy with.
What we learned
We learned how to use Bubble! We were also able to work around issues when our original ideas didn't work.
What's next for Harmony Visualizer
We would want to apply the toggle function to all of the notes on the keyboard, since it currently only works for the C in the lower octave. We also want to include all the other keys and modes (beyond just C Major and C Minor); this would be a much simpler process if we knew how to integrate Java into Bubble.io, but without this system it took a lot of effort to reach our app's current state. Additionally, a helpful tidbit would be a possible third tier or notes to explain why some notes do not have great harmonies in certain keys; similarly, more user options related to desired chords or modalities would be useful. Lastly, learning more features of Bubble.io, such as how to incorporate external code, would be very beneficial in preventing hard-coded logic.
Built With
- bubble.io
- domain.com
- musescore





Log in or sign up for Devpost to join the conversation.