A music note

Home

Amanda Crawford's Honours website Sitemap

- Introduction -

* Background *

- Methods -

- Results -
[Analysis]
[MIDI]

- Conclusions -

- Downloads -
[Documents]
[Source code]

- Logbook -

- References -
Background

This section provides information about previous research that has been conducted that relates to the work undertaken in this project.

Main melody Similarity of music Grammars and new music

Main melody extraction from MIDI files

Research in the area of main melody extraction from MIDI files was conducted by Shih et.al. [5]. They were interested in developing a dictionary-based approach for extracting repetitive patterns in music. Given a MIDI music file, they decomposed the notes extracted from the file into bars according to the time signature information obtained from the file. A bar index table was built which kept track of the bar patterns (the notes in a bar) and the frequency with which those patterns appeared in the music. The bar index table then allowed the music to be represented by a sequence of indices into the table [5].

Although Shih et.al were able to build up a bar index table, and output the bars as a series of indices into the table, the number bars in total could also be used as a representation for the length of the MIDI file in this thesis. It appears as though Shih et.al. calculated the bars by combining the notes on all channels/tracks, which can be a disadvantage if you are interested in calculating different information for each instrument.

[Back to top

Similarity of music

The similarity between two pieces of information is the degree to which they resemble each other. Various algorithms exist for calculating the similarity of text information and image information [3]. These algorithms have been widely used in information retrieval systems which match a user's query with information stored in a database. However, similarity computation algorithms for music information have not been developed as much as algorithms for text and image information [3].

Mo et.al. [3] proposed an algorithm for computing the similarity between two MIDI files based on melody. The similarity value is calculated using relative note pitches rather than actual pitches, because modified music that differs from the original piece by changes in pitch values, is generally considered to be the same as the original piece [3].

The similarity value between comparative units was calculated for all pairs of comparative units, before an overall similarity value was calculated using these results. That is, the overall similarity value is an average of all similarity values of comparison between all pairs of comparative units.

The results obtained from experiments on this algorithm suggest that this is a reasonable way to compare two MIDI files for similarity. A similarity value of "1"' is assigned if a song and modified version of the song (in which all notes have been raised or lowered by the same amount) are compared [3]. A value of "0.2"' would indicate that two songs are only partially similar; that is, they do not have many notes in common. On the other hand, two songs that share many notes in common would be expected to have a high similarity value.

However useful this information might be, it does not really give an indication as to what key the songs are in or what the tempo of the music is. With this being the focus of the music, Mo et.al's work has the potential to provide an insight as to how similar two MIDI files are. It would be useful to compare music from the same genre, as the results expected would be high similarity values for different combinations of comparisons between the music.

[Back to top]

Grammars and new music

Grammars can be used to specify a infinite formal language by finite means. A grammar
consists of a set of rules that are used to derive one string from another by substring replacement [4]. These rules are repeatedly applied to some initial string such that the result is a string from the specified language. The grammar has an alphabet that is divided into a set T of terminal symbols and a set N of non-terminal symbols [4]. Although the rules can contain terminal and non-terminal symbols, the specified language will only have strings consisting of terminal symbols.

An example of a grammar-based algorithm that has been applied to the music composition
domain is L-systems. Developed by biologist Aristid Lindenmeyer, L-systems were initially usually used to model the growth processes of plants. Lindenmeyer based his L-systems on grammars by linguist Noam Chomsky [4].

Supper [4] suggests that there are two main reasons why composers would be interested in using L-systems to compose new music. The first reason is that complex growth processes can be constructed from simple derivatives that develop an aesthetically challenging opposition. Another reason might be that L-systems give rise to "self-similar" (buzzword made popular by chaos theory [4]) compositions. The music "mutates", and gets more complex but still retains the basic structure of the music before the mutation. This cannot be achieved by usual compositional algorithms. Supper comments that using compositional rules derived from L-systems is not usually enough to generate a structurally-coherent composition.

However, this does provide a basis for the work in this thesis. Grammars are like a statement of rules, so this will help to understand how to specify which chords can be played after other chords. That is, some grammar is required to tell the program how to create a chord progression.

[Back to top]

(C) 2003. This site was created and designed by Amanda Crawford