From 2016–2018, the Center for Digital Humanities sponsored the bitKlavier Project, led by Professor Dan Trueman of the Music Department. The bitKlavier is a digital musical instrument which uses a variety of software tools which respond to how the player plays. This means that every time the bitKlavier is played, the sound is different, depending on the timing and energy of the player and the tools used.
Dan Trueman and others on the bitKlavier team have continued to work on the project, and have recently updated the bitKlavier. Professor Trueman answered some questions about the history of the bitKlavier project and its newest updates.
Can you introduce the project?
bitKlavier is a keyboard-centered digital instrument that I have been developing, in collaboration with a number of other programmers, for the last decade. Conceptually it is inspired by John Cage’s prepared piano, where the piano goes through a “preparation” phase, resulting in some of the keys sounding different than they normally do.
Can you explain what you mean by a “prepared piano”?
In Cage’s case, the preparations are physical (objects stuck between the strings of the piano), and transform the sound of individual keys from a piano into percussion-like sounds; with bitklavier, however, the preparations are algorithms stuck between the virtual “strings” of the digital piano, and the transformations are more abstract (more on that in a moment). So, there are two key features that are common between bitKlavier and the prepared piano: a (sometimes lengthy) preparation phase, where the instrument is configured to behave in idiosyncratic, composition-specific ways, and a consistency of physical interface: the piano keyboard remains the same for both, and pianists can leverage their hard-earned technique when they play the instrument, even if the sonic result is different than usual.
One of the key attractions of both instruments is the sense of play that they induce; playing the keyboard is full of surprises, and yet it is consistent, never random, so it is possible to explore various ideas and interactions in systematic ways.
How do the algorithms for bitKlavier work?
The preparation algorithms are generally very simple, but can result in complex and musically interesting behaviors quite quickly. One of the first preparations was a kind of resettable metronome. Normally metronomes don’t listen to us at all, and we just have to follow them; with the so-called Synchronic preparation, metronomes are initiated by playing the keyboard, and they can be reset, and their tempi changed, by playing them in particular ways. Another preparation is modeled after an old tape delay system, where analog tape was used to automatically play back what the player played a short time later; the Nostalgic preparation does something similar, though it plays it backwards, as though we are literally moving back in time. These can all be configured in specific and detailed ways, and part of the composition process is constructing exactly how the instrument is “prepared."
What led you to the bitKlavier project?
bitKlavier emerged, and continues to emerge, from my practice as a composer. In this paper, I describe its origins in a piece for So Percussion, where the original algorithms were developed, and before it became a keyboard-centric project. Later it became keyboard-centric simply because I have MIDI keyboards in my studio and they were the most convenient tool available for exploring the algorithms, but over time the keyboard and software became completely intertwined and are now inseparable.
But the project, especially when I first started work on it with the CDH, also became more of a research, tool-building endeavor to explore a number of specific ideas around time and tuning in music, and more broadly the Musician-Machine relationship. It continues to amaze me how interesting a range of simple questions are, like: what are the differences between the way musicians and machines articulate time?; what happens when the piano becomes dynamic, its behavior changing in real-time under the hands of the performer?; what kind of tuning systems can emerge when we are no longer bound to a physical instrument with static strings?; how can physical, acoustic features of the conventional piano be generalized in the digital domain to reveal aspects of the conventional piano that we hadn’t noticed before, and that can be fruitful for further creative exploration?; and so on…
Do you have any specific examples of how some of these questions have been answered by bitKlavier?
For instance, with bitKlavier we developed a new approach to tuning that had previously been purely theoretical. The history of tuning with keyboard instruments is fraught, largely due to the fact that as soon as you play more than two notes together, some of the pairs of notes might not be as “in tune” as they should be—it is a kind of three-body problem that is hard to solve! So the history of tuning is characterized by a multitude of choices and compromises. Indeed, Bach’s famous “well tempered clavier” is specifically a demonstration that they keyboard could be tuned in such a way (“well tempered” from the title) where all twelve keys could be usable, something that had previously been difficult to imagine (some keys, like, say, F# major, would have too many “sour” notes to be tolerable, so it was avoided). But it is still static, the strings never changing their tuning. With “spring tuning” in bitKlavier, the “strings” retune on the fly, responding to what the player plays, to optimize the tuning as best as possible, sometimes with delightful and unexpected results. So, in this way bitKlavier is really a tool for exploring some new and old questions in musical instrument design.
What are the newest features of version 3.0?
bitKlavier 3.0 brings two major additions: a new preparation type—Resonance—that models the sympathetic resonance in the piano, and a new sample library—the bitKlavier Grand—made with one of our beautiful new Steinway 9' grands on campus.
One under-appreciated aspect of the conventional piano is the fact that when you play any particular note, all of the other notes that are currently sounding will respond to that new note; when you press a key on the piano, you release the damper that keeps it from vibrating, so it is free to vibrate in response to the hammer that strikes it, but it will also vibrate in response to any other sound in the room (you can try this by holding down the sustain pedal on a piano and singing loudly into it!), including other notes that are played. This “sympathetic resonance” is subtle but an important and beautiful part of the sound of an acoustic piano; most digital pianos don’t have it at all, which is, I believe, one of the reasons they tend to sound more sterile than acoustic instruments.
I watched the two videos about Resonance and bitKlavier you sent [available below, featuring Jeffrey Gordon ’22]. I was interested in how sympathetic resonance in bitKlavier sounded similar to an actual piano, but also how the resonance feature allowed for more experimentation than an actual piano provides. At the same time, it was interesting for me to hear the student presenter say that the point of the sympathetic resonance was NOT to create the “most realistic-sounding digital piano.” If that is the case, what are the driving purposes for the resonance features on bitKlavier?
Right, we DO want to be able to make it sound realistic, but that’s not the primary motivation. Rather, we want to generalize on the conventional acoustic phenomenon so that we can go beyond the “realistic” behaviors. With sympathetic resonance in the piano, the resonance is caused by overlap in the overtones of the various strings, so the overtone series (all the frequencies that constitute a particular “sound”, which are multiples of a fundamental frequency that the string vibrates at) is a key structure. What if we want our resonance to be driven by some other structure, like, say, the spectral structure of a bell or gong, or a non-harmonic instrument like, say, the Indonesian gendér, or a kind of “undertone” structure instead of overtones? With the bitKlavier Resonance preparation we can create whatever kind of “overtone” structure we want and explore what kinds of sympathetic resonances arise. It’s so much fun! And compositionally generative. But, we can also set it so it reproduces, quite well I might add, the conventional sympathetic resonance in an acoustic piano. There are some commercial applications out there that do this conventional sympathetic resonance well, but bitKlavier’s contribution is its flexibility and conceptually experimental design.
Can you explain more about the bitKlavier Grand Library which was produced last fall?
Most sample libraries (a sample library is a collection of thousands of short recordings of the individual notes on an instrument, played at varying loudnesses) are commercial and encrypted, and bitKlavier can’t work with them because we need to get at the samples themselves. We’ve used a few free libraries over the years, but I wanted to make a comprehensive, open source, and freely available library for use with bitKlavier, but also for anyone else also wanting a good piano sample library. It’s a LOT of work, and we had a great team working on it: Matt Wang (recent graduate who worked with us after graduation for a couple years), Andrés Villalta (our recording engineer), and undergraduates Katie Chou, Jeff Gordon, and Christien Ayers, all contributed to the project.
I’m delighted with how the sample library turned out; it’s beautiful, and also offers multiple perspectives on the piano, some from within the piano, others from various angles and distances, and each of these perspectives has its own characteristics and potential uses.