a device for automatic music composition from 1650

How to compose music using the ark

  1. Kircher expects you to prepare a text in Latin or another language, with words divided into syllables, marked long or short. You can set texts in several Classical meters (like Anacreontic or Sapphic), but you can also set irregular verse and prose texts.
    • In this web app, we provide a set of pre-marked texts.
    • With the command-line version, you can create your own texts that might even have multiple sections in different styles and moods!
  2. Next, Kircher wants you to choose several aspects of the music setting you want the ark to create:
    • The style and texture of the music:
      1. you can opt for simple, note-against-note counterpoint (like a hymn),
      2. or florid, melismatic counterpoint (like a motet, anthem, or even fugue).
    • The mood or character of the text and its setting, which determines the choice of one of twelve musical tones or church keys (toni ecclesiastici). The tones are not the same as modern keys, nor do they match up exactly with the medieval modes used to classify plainchant. They seem to be a hybrid of the polyphonic tones used by keyboardists to introduce and accompany the eight traditional chant psalm tones, with the twelve-mode system introduced by the earlier theorists Glarean and Zarlino. (see Barnett 2002).

    • The musical meter (technically, mensuration) of the setting.
      1. In the simple style, you can choose
        1. duple meter (cut C),
        2. triple minor (C3, three minims/half notes per metrical unit),
        3. or triple major (cut C3, three semibreves/whole notes per metrical unit).

        Some duple-meter permutations in the ark have a minim pulse (C) and others have a semibreve pulse (cut C).

      2. In florid style, everything is in duple meter (C).
  3. If you are operating the ark by hand, you use these input parameters to select the proper tables.
    • Syntagma: There are three syntagmata or large divisions in the ark. For simple style, you select from Syntagma I; for florid, use Syntagma II.

      Kircher provides a third syntagma as well, but because it would be much more difficult if not impossible to make completely automatic, we have omitted it from this implementation. (An exercise for the reader!)

    • Pinax: Each syntagma containes a set of rods or pinakes (singular, pinax). You select the pinax based on the meter of the text.
    • Column: Each pinax contain several columns of data. The column is either a free choice, or is based on the order of lines in the poem.
    • Voice and rhythm permutations: Each column includes two parts: sets of numbers representing musical pitches (we call these voice permutations or vperms), and sets of musical notes representing rhythmic durations (rhythm permutations or rperms).
      • In syntagma I (simple counterpoint), the user is supposed to freely choose one set of vperms and one set of rperms. All the musical voices use the same rhythms.
        • In syntagma I, there are (generally) three sets of rhythm permutation, one for each type of musical meter you can use.
      • In syntagma II (florid counterpoint), there is a set of rperms that matches up with each vperm, so that there is a specified rhythm for each of the SATB voices. This makes independent contrapuntal voices possible.
  4. Writing the music down: Next you lay out what Kircher calls the palimpsest phontacticum, or what the rest of us call music paper. You draw out four staves and put an appropriate combination of clefs for the four voices. These determine the octave and range of the musical output for each voice. You also add a flat in the key signature if your tone is in cantus mollis according to the table, and add the appropriate mensuration sign.
  5. Matching pitches, rhythms, and syllables: For each phrase of text, you take the pitch numbers and look them up in the table for the given tone in order to get note names. You pair these note names with the rhythmic values, or just put rests when those are given. You write these values on the staff, making certain adjustments as needed.
  6. Kircher describes a variety of adjustments, some of which are easier to automate (that is, are more completely prescribed) than others:
    1. If the notes go out of range for that voice (too far above or below the staff), you may shift them up or down by octave as needed.
    2. The tone tables specify that you may add sharps or flats on certain notes according to musica ficta rules.
    3. You may also do more complicated things like swapping the notes for adjacent voices, which require your own judgment.

Digital Implementation

In this software we implement all those parts of the ark which are completely specified as automatic algorithms. This includes how to pull pitches and rhythms from the ark and match them with words.

Instead of the user’s choice of vperms and rperms we choose to tempt fate (from a seventeenth-century Catholic perspective and roll the dice, a literally aleatoric method, by using computer-generated pseudo-random numbers. Other elements that depend on the user’s taste and judgment, or elements under-specified by Kircher (like text underlay in the melismatic Syntagma II) we leave up to our own users’ discretion.

Kircher does not provide a complete set of instructions, though, for the essential task of fitting the notes within vocal ranges while avoiding unwieldy leaps; I have written my own algorithm (using binary decision trees and weighted badness scores) to do this.

Kircher also does not provide a full specification for applying musica ficta accidentals based on his tone tables and other rules. Human performers who know the conventions of Kircher’s day could probably adjust the music in performance, but to make the music sound good automatically, as in the MIDI renditions on this website, requires more complicated adjustments. The current implementation is incomplete and does not cover all the difficult edge cases that arise.

We encode the data of the ark itself (syntagmata, pinakes, etc.) in a set of tables in Haskell, technically nested vectors and lists. We read the input text and parameters from an XML file and parse the text into sections, sentences/stanzas, and phrases/lines. We generate a list of random numbers to use for each phrase, then we use these to select the correct vperms and rperms, and adjust these for tone and range according to the rules. We then convert our internal data types into MEI-XML output.

In the web app, we use the third-party Verovio app to render the musical data to notation and MIDI format for automatic playback.

Bibliography and related projects

Carlo Maria Chierotti’s dissertation and articles (n.d., 1992, and 1994) on the same subject provide a good overview of Kircher’s work and the structure and operation of the ark, with some detailed analysis of the types of harmonies and cadences in the voice permutations. He does not view the Arca musarithmica as a machine or consider its potential as an automatic system, emphasizing instead how much interaction is actually demanded from the user in order to produce good results.

Jim Bumgardner (2009) implemented a different music-computing device by Kircher, the Organum mathematicum. That device was much simpler musically but had the virtue of also being able to calculate the date of Easter and lots of other useful functions. That implementation in Perl allowed a user to set a very small set of short texts in simple or florid style. It could generate MIDI output, even using vocal synthesis to render the actual syllable sounds. Bumgardner highlights both Kircher’s clear intent to build an automatic, algorithmic system for composition, and the inconsistencies and underspecified elements that undermine that goal. He also recognizes Kircher’s ambivalence about the need for random choices in order to automate the system fully.

Agnes Cäcilie Bohnert’s dissertation (2010) provides a comprehensive treatment of Book VIII of the Musurgia in detail, including its mathematical and philosophical foundations. Every musical combination in the ark is examined and compared. Bohnert implemented syntagma I and II of the ark in a Java program which according to her description (Bohnert 2010, 123–126), followed quite closely the manual method described by Kircher. Users would select musarithms by hand, one at a time, adjust them, and add them to the musical composition, and then hear the result. Though I was not able to examine the program, it is not described as fully automatic, and Bohnert says it can only create very short settings of a small number of texts.


  • Barnett, Gregory. 2002. Tonal Organization in Seventeenth-Century Music Theory. In The Cambridge History of Western Music Theory, ed. Thomas Christensen (Cambridge: Cambridge University Press), 407--455.
  • Bohnert, Agnes Cäcilie. 2010. Die arca musarithmica Athanasius Kirchers. Dissertation, Technische Universität Berlin. Berlin: Mensch und Buch Verlag.
  • Bumgardner, Jim. 2009. Kircher’s Mechanical Composer: A Software Implementation. Paper presented at the Bridges Conference, Banff.
  • Chierotti, Carlo Mario. n.d. [Tesi di laurea sulla Musurgia Universalis di Athanasius Kircher]. Laureate thesis, University of Turin.
  • Chierotti, Carlo Mario. 1992. La musurgia mirifica di Athanasius Kircher: la composizione musicale alla portata di tutti nell’età barocca. Musica/realtà 13, no. 37: 107–127.
  • Chierotti, Carlo Mario. 1994. Comporre senza conoscere la musica: Athanasius Kircher e le ‘Musica mirifica’: un singolare esempio di scienza musicale nell’età barocca. Nuova rivista musicale italiana 28, no. 3: 382–410.
  • Findlen, Paula, ed. 2004. Athanasius Kircher: The Last Man Who Knew Everything. New York: Routledge.
  • Godwin, Joscelyn. 2009. Athanasius Kircher’s Theater of the World: The Life and Work of the Last Man to Search for Universal Knowledge. Rochester, VT: Inner Traditions.
  • Kircher, Athanasius. 1650. Musurgia universalis, sive Ars magna consoni et dissoni in X. libros digesta. Rome.