The Hierarchical Audio Construction Kit: Composition and Design

Judith Shatin, Associate Fellow
McIntyre Department of Music, University of Virginia


Unless otherwise noted, items published by the Institute for Advanced Technology in the Humanities are copyrighted by the authors and may be shared in accordance with the Fair Use provisions of U.S. copyright law. Redistribution or republication on other terms, in any medium, requires express written consent from the author(s) and advance notification of the publisher.

Hack Development, 1995

The project for which I received support during 1994-95 was the continued development of Hack, or Hierarchical Audio Construction Kit, a computer music language developed at the Virginia Center for Computer Music by Pete Yadlowsky. Mr. Yadlowsky, technical director of the Virginia Center for Computer Music and a staff member at IATH, has worked closely with me in developing compositional and pedagogical applications. The goals of our effort were multiple and will be described in the following categories:

  1. Compostional Applications
  2. Pedagogical Usage
  3. Program Development.

Compositional Applications, 1994-95

The first composition to be developed using Hack was my 1-1/2 hour oratorio COAL, scored for chorus, Appalachian ensmeble and electronics. Based on the lore and culture of coal mining in West Virginia, COAL was commissioned by Shpherd College of West Virginia through the Lila Wallace-Readers Digest Arts program as part of a two-year retrospective of my work. For this composition, I harvested sounds in the Eagle Nest coal mine in Twilight, West Virginia. These sounds were transfered to the NeXT using an analogue/digial converter and then processed using Hack. Two examples are described here. The first, in which an explosion was created by processing the sounds of a pick-axe as well as sounds of prerecorded explosions, was created in Hack proper. The second, in which a pick-axe sound is filtered until it resmebles a banjo, was created using Lisp functions. To play the associated sound file, click on its name.

The lyrics for these soungs and a recording of them can be examined as well:

I am now at work on a new composition using Hack. Titled Elijah's Chariot, it is scored for string quartet and electronics and was commissioned by the Kronos Quartet. Additional Lisp functions have been developed for this piece. A particularly useful one is tempo.cl, used to create a tempo contour for a group of note events. Tempo.cl as well as a resultant sound file may also be examined. This functionality will become a part of a library of functions upon which users may draw.

Pedagogical Use, 1994-95

Hack was the main language taught in MUSI 540, Computer Music 2. During the fellowship period I began the process of revising and adding to the tutorials for Hack. The development of the tutorials is an ongoing process and is by no means complete. However, these models enable users to gain experience and to develop their own scripts.

In addition to teaching Hack fundamentals, I encouraged the students to generate hack scripts with functions in Common Lisp. As we continue to develop a Lisp function library and to develop pedagogical tools for teaching it, I expect students to become more involved in this aspect of compositional structure. Two students in the engineering school will be involved in Hack projects for their senior theses.

The students in MUSI 540 created final compositions using Hack. A selection of these works were programmed in a public recital at Garrett Hall. To hear examples, click on any of the following sound files:

Program Development, 1994-95

Refinements to Hack

The kernel of Hack has been rewritten for maximum efficiency during the 1994-95 year.

Another ongoing goal is to speed up the computations involved in Hack runs. ALthough we were given access to an IBM RS/600 and to the SP-2, we were faced with a major hurdle: the lack of an Objective-C compiler on IBM equipment. After a great deal of work, Pete Yadlowsky determined that by using socket programming he would be able to develop a cross-platform method of running Hack scripts. Moreover, he found a way to rewrite Hack in C++ without a massive loss of functionality. This project is underway and the expected completion date is August 1995.

Development of a Lisp front-end for Hack

We have begun the development of a library of Lisp functions that generate Hack scripts, enabling the composer to algorithmically generate groups of events with desired chracteristics rather than individually specifying each note event. This has two important results: it is much more efficient to be able to generate groups of note events; and it enables the composer to create note events that would otherwise not occur. For instance, I have created cue contours according to distribution functions that I never imagined using in my acoustic composition design.

Send a Comment


Back to IATH WWW Server
Last Modified: Friday, 29-Jul-2005 13:01:05 EDT