Willow
Abstract
Willow is a system for algorithmic composition, written in an attempt to describe some of the basic aspects of musical composition by means of grammars and automata (i.e. top-down tree transducers). It consists of a regular tree grammar, a sequence of top-down tree transducers, and a display, all loaded into the Treebag environment. The regular tree grammar generates a rhythmic skeleton, as a tree, to which the tree transducers add an attribute each, e.g. meter, melodic arc, chord progression, etc. The augmented tree is then written, in a deterministic manner, by the display (an algebra of sorts) to a file in mup-format. Output to postscript and midi is done by open source software Mup.
[Technical report]
Software
Treebag is a system that allows to generate, transform, and display
objects of various types, where generation and transformation is
done using tree grammars and tree transducers. The basic principle
is that tree grammars produce terms over symbols that are
interpreted by appropriate algebras as operations on some domain.
Thus, every term is viewed as an expression that denotes one of the
objects of interest. These objects can be visualised using
appropriate displays.
[The Treebag Homepage]
Mup is a shareware program for printing music. It takes an input
file containing ordinary (ASCII) text describing music, and
produces PostScript output for printing the musical score described
by the input.
[Arkkra Enterprises]
Usage
If you are only interested in trying out the system, the easiest way to get it running is to download the jar-file together with the worksheet. Type
java -jar treebag-willow.jar
and then select willow/worksheet in Treebag's worksheet menu. If, upon loading the worksheet, Treebag throws a java.lang.StackOverflow exception, then this is because there is not enough space on the stack. To overcome this problem, tell java that you need a bigger stack than usual, e.g. type
java -Xss1000000 -jar treebag-willow.jar
where the Xss switch sets the stack size. Thanks caze, for the bug, but also for the fly swatter.
Changelog
[June 21th 2005] Superflous flat/sharp-signs are no longer written out explicitly in the generated scores. |
Download
Paper
Technical report |
[ps] |
[pdf] |
System
Treebag w. IgnorantTransducer + ScoreDisplay |
[jar] |
|
Willow worksheet |
[tar.gz] |
[zip] |
Ignorant td transducer |
[java] |
|
Score display |
[java] |
|
Screenshot |
[ps] |
[gif] |
Demos
2005-04-25:1 |
[ps] |
[pdf] |
[mid] |
2004-12-20:1 |
[ps] |
[pdf] |
[mid] |
2004-12-21:1 |
[ps] |
[pdf] |
[mid] |
2004-12-21:2 |
[ps] |
[pdf] |
[mid] |
2004-12-21:3 |
[ps] |
[pdf] |
[mid] |
2004-12-21:4 |
[ps] |
[pdf] |
[mid] |
2004-12-21:5 |
[ps] |
[pdf] |
[mid] |
2004-12-21:6 |
[ps] |
[pdf] |
[mid] |
Last updated June 21 2005 by Johanna Högberg.
|