Expresso, a strong and small editor for expression in music
Nowadays, the process of music editing still uses the digital equivalent of the old tape-splicing techniques. There is quite a gap between the level at which musicians and the recording team communicate and the kind of operations that are supported by modern digital audio equipment. In particularly, operations involving the musical structure and expression are not supported. However, given richer and more structured (knowledge) representations of music than the ones in use today (i.e., audio signals and MIDI), musical performance expression can be brought under the control of the recording team. This is the key idea of the Expresso system: to facilitate editing operations that are meaningful at a musical level, with perceptually sound results. It is based on a calculus of expression that was designed to formally describe how different types of expression (onset timing, offset timing, dynamics, asynchrony) are linked to different types of musical structure (phrase, metrical, chord, voice, and surface structure), and how they can be manipulated while maintaining consistency.

Expresso is an explorative tool that can manipulate types of expression linked to types of musical structure. The Expresso system is a combination of a calculus for expression and a graphical user interface (that will not be described). It could well function as a prototype for a next generation of music software/sequencers that can deal with the subtleties of expression in music performance (see Honing, 1992 and Common Lisp microworld code).

A fragment of a performance by Philip Mead of "Cordes Vides" from György Ligeti's 1985 Etudes for piano. It was recorded on a Yamaha Midi-grand piano at City University, London in 1990, and played-back on a synthesiser (Kurzweil) with a piano-like sound.

The performance transformed using Expresso by exaggerating expressive dynamics at the beat level (expressive dynamics are here defined as an averaging type of expression: taking the mean dynamics of every beat -two notes in parallel- and scaling their contrast with respect to this norm).

The performance transformed by exaggerating the asynchrony for all beats.

The performance transformed by exaggerating the tempo for all bars, without changing articulation.

The performance transformed by exaggerating the tempo for all bars, while keeping articulation consistent.

The performance transformed by exaggerating the tempo in right hand phrases, keeping articulation consistent.

The performance transformed by exaggerating all expressive timing (tempo) that can be assigned to the phrasing in the right hand voice, while keeping the articulation consistant.

See full Common Lisp microworld