Music has played such a vital role in the past and even in today's culture. Some may want to contribute to the musical society we currently possess, yet many do not have the access to such instruments, sheet music, tutorial books, etc. even though their musical talent is there. On the other hand, some people may want to play an instrument and would have to buy equipment, booklets, etc. to help learn and develop the skills for the instrument. However, let's say that the said person does not desire to play the instrument any longer. He/she would have to go through the hassle of returning the items that he/she bought or sell them. Instead of this tedious work, our group decided to make a virtual instrument that can play music using a specific instrument. It works with all ages and can essentially be a "demo" instrument or a real instrument that is playable.

What it does

You can choose between a variety of instruments including piano and trumpet for a much lower cost than the average instrument. The player can learn the keys, while playing their desired genre of music to a specific song. It uses a Leap Motion to detect your hands and teach you accordingly to the song. The way we teach our students is to give them a Guitar-Hero based game to make the game less "dry" and engaging.

How we built it

We first had used pygame to get the overall design and layout of the game. Then we went ahead and did the technical facets and implemented Leap Motion to sense our hand gestures. Then python would process this and see if the user did perform correctly or incorrectly.

Challenges we ran into

Challenges we encountered was somehow associating our code with Leap Motion. We thought Leap Motion was compatible with Python 3, when it was not. We then had to uninstall python 3 and install python 2. We also had a problem with the graphics. We originally going to complete this code using HTML and Javascript, yet there were a lot of technical issues and difficulties that made it inconvenient.

Accomplishments that we're proud of

Firstly, we were proud of making Leap Motion finally show up on the screen with our hand gestures. Furthermore, we were also proud of implementing simple, yet critical graphics for the user's benefit. We could not have done that with Javascript and HTML, but we had definitely succeeded with Pygame, as it was easy to implement different, unique features with the language.

What we learned

We learned all of the different syntax complications associated with Javascript and HTML. We also learned a valuable lesson that if one method does not show desirable results, then try another method. Additionally, we had learned that graphics are one of the most crucial facets of a program and that they also may be one of the more difficult facets to code as well.

What's next for Celebeaty

Next time, we will add an option exclusively for the blind, where they can benefit by playing keys also. We will also add a freestyle mode next time, which we could not have done this competition, because of time constraint purposes.

Share this project: