Music Box - Mitchel

A project log for GamerGorl

A MicroPython gaming system featuring a Wemos D1 mini, OLED display, joystick, buttons, fancy LEDs and a buzzer.

Brian WagnerBrian Wagner 05/15/2019 at 12:120 Comments

Project Description 

For my portion of the GamerGorl, I wanted to create a music box. I loved the idea of having tons of songs I like on one device, while also having a sense of control over how the song sounds. If I wanted the song in a different key, I could simply change the frequency of the notes being played to match the key I wanted to play in. If I wanted the song to be an octave lower, which I actually had to do with the Shire theme, I could shift the frequency an octave lower.

Probably my favorite aspect of the project was the variety of the types of songs I could program into the GamerGorl. I had a classic 8-bit video game theme with the Mario theme, I was able to tackle 60s pop music with God Only Knows by the Beach Boys, I put a film score in my music box with the Shire theme from Lord of the Rings, and I included a 90s rock classic with Wonderwall by Oasis.

Method - describe your experience writing your part of the project.  What were the easy parts and what did you have trouble with.

Despite having played piano for about 10 years, I have never been particularly good at reading sheet music. This project has forced me to sit down and read and understand sheet music faster and easier than I ever have. There was originally a program that Mr. Wagner had shown me where it automatically transcribed the sheet music of a piece into frequencies and rhythm. Unfortunately, the rhythm and frequencies were off sometimes, and it ended up being easier to simply transcribe the music myself.

On the programming side of things, I don’t think I was as comfortable with python as I would have liked to be when we started this project. However, with the help of Mr. Wagner and simply working through everything, I was able to get a better grasp on the language. This was especially helpful toward the end of the project when I began to encounter a lot of errors, and I was better equipped to find them out and fix them.

Future improvements - What would you make better.  What do you want to change?

The first and most obvious answer is add more songs. There are plenty of songs that I would have loved to add to my music box, but through time constraints or a lack of good sheet music to transcribe, I was only able to add the four songs. Once enough songs were added, I would love to add more menus to the program. One menu could be different genres that you could choose from, or maybe if enough songs were added from specific artists I could add an artists menu. The other improvement I would want to make given more time is have each note flash a corresponding LED.

 Pics or it didn’t happen - Paste at least 3 screenshots or photos here.