Ethnomusicologists face a dilemma: either shoehorn African music into European notation, or create custom DSLs that can only be understood by a select band of European ethnomusicologists. Computational musicologists can solve this problem, because we have principled ways of modelling specific idioms in terms of general computation. What’s more, our models can be executed to generate actual music.
Simha Arom is a French-Israeli ethnomusicologist. In the book from which the title of this demonstration is borrowed, he describes the principles underlying the musical system of traditional central African polyphony and polyrhythm. Arom invented ingenious recording techniques for deconstructing and systematising musical cultures that had no previous tradition of musical theory. He tested his models by using them to recreate music and inviting central African musicians to critique the results.
This demonstration will take examples of Central African musical compositions notated in Arom’s African Polyphony and Polyrhythm and render them in Lisp, specifically the Leipzig composition library for Clojure. I will show that the programmatic approach is able to clearly articulate musical structure that Arom’s notational scheme leaves implicit (or delegates to the accompanying text to describe). I will of course also play the examples for the audience, because as Arom quotes Lévi-Strauss, “The proof of the analysis is in the synthesis.”