current version: 0.2.0


Taking a 12-tone row generated from user input Webern will create the full matrix based upon this row, and then output all 48 possible rows created by that matrix to a .pdf file using the LilyPond notational language.


Install the gemcutter gem

~$ gem install gemcutter

Add to your gem remote sources

~$ gem tumble

Download and install this gem

~$ gem install crayon


No other gems are required, but you do need LilyPond to generate the .pdf file.


Webern can accept a full 12-tone row, a partial 12-tone row, or a list of strings which will be parsed into a numeric row:

~$ webern 9 1 4 7 8 2 0 10 5 6 11 3
~$ webern 0 6 10 9 4 7
~$ webern michael berkowitz

In the instance where a partial row is given, or the strings given do not provide 12 distinct letters, Webern will complete the row with the missing numbers in ascending order. In the example above, Webern would complete the row like this:

[0 6 10 9 4 7] #=> [0 6 10 9 4 7 1 2 3 5 8 11]

Webern will take the completed row and create the full 12-tone matrix, then generate a LilyPond file containing all 48 possible rows contained in the matrix, and output them to a .pdf file.


Copyright (c) 2010 Michael Berkowitz. See LICENSE for details.