This website is dedicated to the exploration of stochastic generation of music, theory of computation, theory of cognition and other related topics. To begin I will be posting some of the music I have generated using stochastic processes. First, take a look at the original score and listen to the original composition in midi format. Next, we have scores and midi files of pieces generated using first-, second-, third- and fourth-order Markov chains to analyze the original piece. These pieces have all been generated from the same source piece, the first movement of J. S. Bach's Flute Partita in A minor, BWV 1013. The transition probability matrices and the new pieces were created using Matlab. The Matlab functions were written to output a single row vector. Lilypond was used to transform the vectors into the PDF files (readable music). Musicpad was used to generate midi files. Here is the original piece in midi and score format. BWV 1013.mid BWV 1013.pdf This is a piece generated using a first-order Markov chain. Piece A First Order.mid Piece A First Order.pdf This piece was generated using a second-order Markov chain Piece B Second Order.mid Piece B Second Order.pdf This piece was generated using a third-order Markov chain Piece C Third Order.mid Piece C Third Order.pdf This piece was generated using a fourth-order Markov chain Piece D Fourth Order.mid Piece D Fourth Order.pdf The following are first- through fourth order accompaniment pieces along with the original piece First order: Accompany one.mid accompany one.pdf Second order: Accompany two.mid accompany two.pdf Third order: Accompany three.mid accompany three.pdf Fourth order: Accompany four.mid accompany four.pdf The PDFs posted below are further examples of generated music. There are three pieces of each solo type: first-order, second-order, third-order, and fourth-order Markov chain generated music. First-order 1.pdf First-order 2.pdf First-order 3.pdf Second-order 1.pdf Second-order 2.pdf Second-order 3.pdf Third-order 1.pdf Third-order 2.pdf Third-order 3.pdf Fourth-Order 1.pdf Fourth-Order 2.pdf Fourth-order 3.pdf Here is a link to a great website I used to create the midi files from text input. A small program was written to convert the row vector into a single text string. One can then choose the instrument, tempo, etc. and simply paste the string into the websites dialog box and it will generate the midi file. http://l01c.ouvaton.org/musicpad.php The program I used to create the PDF scores is called Lilypond. It is quite user-friendly and I used the same procedure I used on the midi files and converted the row vector into a slightly different text string. I also happen to support the philosophy behind the creation of Lilypond, which is to make computer produced scores look less artificial and easier to read by imitating the traditional method of score production. http://lilypond.org/web/ Matlab was used to create all the programs which analyzed the music and created new pieces. http://www.mathworks.com/ This is a copy of my proseminar paper on stochastic generation of music. Pro-seminar.docx |