Honors Thesis - Explorations in Algorithmic Computation:
Systems of Composition and Examination of Several Original Works
Jacob Peck - email
Professor Craig Graci - email
Doctor James P. Early - email

About this site:
This site serves as a record and repository of my endeavors in writing my college undergraduate honors thesis. Looking around, one will find the text of the thesis itself (upon completion), example MIDI files and textual outputs from the programs discussed in the text, as well as the source of several tools coded in attempts to gain an understanding of algorithmic composition. Any inquiries may be directed to me through my email above. I hope you find whatever you may be looking for within these pages, and if not, I hope a seed of exploration is planted in you so that you may create what you seek.

Thesis text:
Below, the thesis text is available in two formats: PDF and LaTeX source.
PDF: Thesis
LaTeX Source: Thesis

Examples discussed in the text:
Wordsongs.java.midi - MIDI | input
Twinkle.txt.midi - MIDI | input
HeyJude.txt.midi - MIDI | input
Google-Index-20100526.html.txt.midi - MIDI | input

dipper-Bm.midi - MIDI | user session
dipper-Ab.midi - MIDI | user session
dipper-D#m.midi - MIDI | user session

Markov Machine:
Mary Had a Little Lamb - original MIDI | zeroth degree MIDI | first degree MIDI
Twinkle Twinkle, Little Star - original MIDI | zeroth degree MIDI | first degree MIDI
Baa-Baa Blacksheep - original MIDI | zeroth degree MIDI | first degree MIDI

good-example-1.midi - MIDI | creation notes
pitch-class-A.midi - MIDI | creation notes
missymorbid.midi - MIDI | creation notes

ALM - Artifical Life Music:
LifeInAMajor.midi - MIDI | user session
MovementsInCWholetone.midi - MIDI | user session
BluesInE.midi - MIDI | user session

Source code:
Source (.tgz)

Source (.tgz)

Markov Machine:
Source (.tgz)

Source (.tgz)

ALM - Artificial Life Music:
Source (.tgz)

Papers and presentations generated during the course of research:
LCompose: An organic growth model of algorithmic composition - Presentation, QUEST Symposium 2011 (.pdf)
Artificial Life Music: An A-Life Approach to Generating Melodies Featuring Genetic Algorithms - Paper, 2011 (.pdf)
Links to external resources: (all links verified to be working as of 19 September 2011)
JFugue - the Java library used in creating the above examples. Required for compilation of any of the above tools.
Gervill - an open source alternative to the proprietary MIDI implementation in Oracle's Java Runtime Environment. Allows for importing different soundbanks.
Processing - a Java-derived language for visual artists. Has some very strong possibilities for algorithmic composition in the right hands.
Beanshell - a scripting engine for Java. Run scripts written in Java at runtime, allowing dynamic scripting in Java.
LaTeX - a typesetting program for "creating beautiful documents." Used as the sole method of preparing this thesis.
LilyPond - a musical typesetting program. Used to score the MIDI files in the text.
algorithmic.org - an incredible resource for the aspiring algorithmic composer.
My Scribd document collection - a collection of documents relating to algorithms and music, collected by me on Scribd.
Algorithmic Composition blog - a collection of short tutorials on algorithmic composition techniques.
LISP Workshop for Musicians - A collection of LISP resources for algorithmic composition.

All work is property of Jacob Peck 2009-2011, unless otherwise attributed.