My project consisted of adding a full suite of music activities to GCompris. Music education, specifically for children ages 2-10, has been proven through numerous studies to improve cognition and literacy. GCompris formerly had very few music activities, and no music theory instruction. The suite of activities I developed engage children with educational musical games and activities which emphasize both the fundamentals of music and musical creation. In addition to my activities, I endeavored to maintain excellent online documentation to assist future developers who wish to use my code to develop additional music activities.
I created the following six activities:
Piano Composition Activity: An activity to teach students how the piano keyboard works, how notes are written on a musical staff. Students are presented with a keyboard and may click the keys to write notes to the staff. They can load and saver their work, or choose to load "pre-loaded" melodies from around the world. If you have a melody you'd like to contribute, please add it to the GComprisMelodies page. The activity has six different levels, each level adding new functions including treble and bass clef, four different note durations (eighth, quarter, half, whole), and sharp, flat, and natural notes.
Name that Note: An activity to teach students to recognize notes symbolically, by pitch, and by note name. Both bass clef notes and treble clef notes of the chromatic scale are tested. Students begin by learning to associate the notes with colors, and when they have mastered this the next level removes the colors. There are 20 different levels, two of which introduce the notes in the C Major scale, the rest test the child by matching note to note name.
Play Rhythms: An activity to help children develop an intuition for beat by practicing listening to and repeating rhythms. Students listen to the rhythm played, and follow along with the music displayed. The student then performs the identical rhythm by clicking the drum on the screen. Because most children have difficulty "feeling" the rhythm at first, a vertical line scrolls accross the music that helps them know when to click the drum. Also, a metronome is provided to help them. There are six levels, and each increase the difficulty of the rhythm by adding more notes or a greater variety of notes.
Play Piano: Students learn to play melodies on the piano keyboard. Notes are written to the screen and played aloud, and the student clicks the piano keyboard according to the notes they see. There are six levels, and each level introduces more notes and more variety of notes including chromatic notes. The last level removes color-coding.
Explore-Activity-Template: Originally designed for my explore world music activity, I decided to create an explore template which is a general activity which allows future developers to simply write a text file to create new activity content. The activity has two levels, the first presents a background picture, and the student clicks on certain locations to explore that topic in more detail. The student must answer a multiple choice question correctly from all locations to win the level. The second level is available to all explore activities that incorporate sound files. The sound file is played, and the student must match it to the location it comes from. I developed extensive documentation for this template online so that future developers may easily make explore activities: GCompris wiki: Adding An Explore Activity
Explore World Music: Students explore music from around the world by clicking on each location, listening to a clip of music from the location, reading a short description, and answering a question. The second level has students match music to location of origin.
Explore Farm Animals: After making the explore activity, I wanted to make another using my template so I made this explore farm animals activity, which included incorporating animal sounds!
I wanted to insure that my impact on GCompris extended beyond just the music activities I developed, especially since I expect future developers of GCompris to develop additional music activities. For my music activities, I created an extensive module, called gcomprismusic, to create and manage common music objects for my GCompris activities (such as musical staffs (bass and treble), notes (eighth, quarter, half, whole), and the piano keyboard. I hope future developers will benefit from using my module, so I endeavored to make it extremely accessible to users by creating extensive documentation online at : GCompris wiki: Using the gcomprismusic module
I sincerely wish to thank my mentor, Bruno Coudoin, for his support and guidance this summer. I also wish to extend my thanks to the GNOME community who read my blogs on Planet GNOME, sent me ideas, tested my activities, and expressed interest in my work at GUADEC. Thank you to the GNOME Outreach organizers and coordinators, who made this program possible. It was phenomenal to meet everyone at GUADEC this summer and I look forward to continuing to contribute to GNOME in the future! See you at the Boston Summit!
Original Google Summer of Code Proposal:
GSoC GNOME Blog: