Music and technology are concepts that are part of people’s everyday life. Technology has altered the way we think, produce, work, play and interact. As a human expression, the music has also been affected, and today, electronic devices and software are being used to assist the production, editing, creation and the study of music.
On the other hand, to start learning a music instrument through a real instrument tends to be difficult, it can slows down the student’s learning and his adaptation to the instrument. Such fact, causes the students to quickly give up the study of music.
It is also common for the beginner, to have difficulty reproducing the passage of a melody on an instrument with its variations due to the relationship between the clarity of hearing and understanding the ways of playing the melody.
Currently, there are applications like Sibelius and Guitar Pro that help the writing and the edition of a music score and tablature, and it can be used to teaching music. There is also, the Rocksmith application which is a game directed to the practice of music, and some classical guitar and bass techniques. This game is a mix of teaching methods with gameplay elements that progresses according to the evolution of the player and allows each student to have their own pace of learning. However, these applications were not designed for the beginner student.
The goal of this paper is to present the development of a software, called MEx (Melody Experience), that enables the beginner student to have many ways to play a melody and helps the learning of string instruments, like bass and guitar. Moreover, considering that a musician can experience a melody played in different tones and different parts of the instrument, the MEx can also help in adapting melodies played on other instruments.
The MEx uses graph theory to map the distribution of notes in instruments of six string such as bass, classical guitar or any stringed instrument with this tuning. Through a given melody, it creates a graph that shows the possible paths of a melody and uses the algebra multi-constraint paths to analyze these combinations of paths and present the user with the "best" way to play a melody according to two pre-established metrics.
The first metric relates to the physical distance between the musical notes, considering the horizontal and vertical distance between the instrument parts where the notes are located. The second metric treats the interval concept and involves the difference of frequency from a sound to another. For these distances, are assigned a weight value. And with weighted graphs, the program finds the path with the lowest weight, giving the student the "best" sequence to play the melody.
The MEx has been developed in Java, enabling platform independence and subsequent use in mobile devices. As software development methodology the incremental methodology has been used.
Therefore, the MEx application can provide the beginner student a simple and quick way to learn a melody , minimizing difficulties of adaptation to a real instrument.