You are on page 1of 21

PLEASE SCROLL DOWN FOR ARTICLE

This article was downloaded by: [Ingenta Content Distribution Psy Press Titles]
On: 5 December 2009
Access details: Access Details: [subscription number 911796916]
Publisher Routledge
Informa Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House, 37-
41 Mortimer Street, London W1T 3JH, UK
Contemporary Music Review
Publication details, including instructions for authors and subscription information:
http://www.informaworld.com/smpp/title~content=t713455393
A computational model of rubato
Neil Todd
a
a
Department of Psychology, University of Exeter, Exeter, UK
To cite this Article Todd, Neil'A computational model of rubato', Contemporary Music Review, 3: 1, 69 88
To link to this Article: DOI: 10.1080/07494468900640061
URL: http://dx.doi.org/10.1080/07494468900640061
Full terms and conditions of use: http://www.informaworld.com/terms-and-conditions-of-access.pdf
This article may be used for research, teaching and private study purposes. Any substantial or
systematic reproduction, re-distribution, re-selling, loan or sub-licensing, systematic supply or
distribution in any form to anyone is expressly forbidden.
The publisher does not give any warranty express or implied or make any representation that the contents
will be complete or accurate or up to date. The accuracy of any instructions, formulae and drug doses
should be independently verified with primary sources. The publisher shall not be liable for any loss,
actions, claims, proceedings, demand or costs or damages whatsoever or howsoever caused arising directly
or indirectly in connection with or arising out of the use of this material.
Contemporary Music Review
1989, Vol. 3 pp. 69-88
Photocopying permitted by license only
9 1989 Harwood Academic Publishers GmbH
Printed in the United Kingdom
A computational model of rubato
Nei l Todd
Department of Psychology, University of Exeter, Exeter, UK
Presented is a model of rubato, implemented in Lisp, in which expression is viewed as the
mapping of musical structure into the variables of expression. The basic idea is that the
performer uses "phrase finallengthening" as a device to reflect some internal representation
of the phrase structure. The representation is based on Lardahl and Jackendoff's time-span
reduction. The basic heuristic in the model is recursive involving look-ahead and planning
at a number of levels. The planned phrasings are superposed beat by beat and the output
from the program is a list of durations which could easily be adapted to be sent to a
synthesiser given a suitable system.
KEYWORDS computational modelling, music cognition, musical performance, rubato,
mental representation, mental process.
Introducti on
On e of t he mo s t ubi qui t ous e xpr e s s i ve devi ces i n mus i cal p e r f o r ma n c e is
r ubat o. Mos t not a bl y it is u s e d i n mus i c of t he r oma nt i c er a, but is al so
e vi de nt i n a va r i e t y of ot he r st yl es. Res ear ch on mus i c p e r f o r ma n c e
( Seas hor e, 1938; Shaf f er , 1981; Cl ar ke, 1984; Todd, 1985; Be ngt s s on &
Gabr i el s s on, 1980; Su n d b e r g & VeriUo, 1980) i nvol vi ng t he pr eci s e
me a s u r e me n t of dur a t i on ha s s h o wn t ha t t her e ar e a n u mb e r of basi c
obs e r va t i ons wh i c h can be ma d e . The fi rst is t hat ski l l ed p e r f o r me r s can
s h o w a r e ma r ka bl e de gr e e of r epr oduci bi l i t y f r o m one p e r f o r ma n c e t o t he
next ( Shaf f er , 1984; Gabr i el s s on, 1987). Thi s pr eci s i on i n t i mi ng s h o ws
t hat t he p e r f o r ma n c e mu s t i nvol ve t he us e of ge ne r a t i ve p r o c e d u r e s a n d a
pr eci s e i nt er nal r e p r e s e n t a t i o n of u n d e r l y i n g e xpr e s s i ve f or m. A s e c ond
obs e r va t i on is t he us e of s l owi ng t o ma r k a p h r a s e b o u n d a r y ( Todd, 1985),
wh i c h ha s b e e n s h o wn t o a p p l y r ecur s i vel y at a n u mb e r of l evel s ( Shaf f er
& Todd, 1987).
I n To d d (1985) a mo d e l of r uba t o wa s es t abl i s hed wh i c h g e n e r a t e d a
dur a t i on s t r uct ur e f r o m a s t r uct ur al de s c r i pt i on of a pi ece of mus i c. The
i dea of t he mo d e l wa s t hat t he p e r f o r me r us e s " p h r a s e fi nal l e ngt he ni ng"
t o si gnal a b o u n d a r y - - t he de gr e e of s l owi ng d e t e r mi n e d b y t he
69
D
o
w
n
l
o
a
d
e
d

B
y
:

[
I
n
g
e
n
t
a

C
o
n
t
e
n
t

D
i
s
t
r
i
b
u
t
i
o
n

P
s
y

P
r
e
s
s

T
i
t
l
e
s
]

A
t
:

0
8
:
0
6

5

D
e
c
e
m
b
e
r

2
0
0
9
Contemporary Music Review
1989, Vol. 3 pp. 69-88
Photocopying permitted by license only
1989 Harwood Academic Publishers GmbH
Printed in the United Kingdom
A computational model of rubato
Neil Todd
Department of Psychology, University of Exeter, Exeter, UK
Presented is a model of rubato, implemented in Lisp, in which expression is viewed as the
mapping of musical structure into the variables of expression. The basic idea is that the
performer uses "phrase final lengthening" as a device to reflect some internal representation
of the phrase structure. The representation is based on Lardahl and Jackendoff's time-span
reduction. The basic heuristic in the model is recursive involving look-ahead and planning
at a number of levels. The planned phrasings are superposed beat by beat and the output
from the program is a list of durations which could easily be adapted to be sent to a
synthesiser given a suitable system.
KEYWORDS computational modelling, music cognition, musical performance, rubato,
mental representation, mental process.
Introduction
One of the most ubiquitous expressive devices in musical performance is
rubato. Most notably it is used in music of the romantic era, but is also
evident in a variety of other styles. Research on music performance
(Seashore, 1938; Shaffer, 1981; Clarke, 1984; Todd, 1985; Bengtsson &
Gabrielsson, 1980; Sundberg & Verillo, 1980) involving the precise
measurement of duration has shown that there are a number of basic
observations which can be made. The first is that skilled performers can
show a remarkable degree of reproducibility from one performance to the
next (Shaffer, 1984; Gabrielsson, 1987). This precision in timing shows
that the performance must involve the use of generative procedures and a
precise internal representation of underlying expressive form. A second
observation is the use of slowing to mark a phrase boundary (Todd, 1985),
which has been shown to apply recursively at a number of levels (Shaffer
& Todd, 1987).
In Todd (1985) a model of rubato was established which generated a
duration structure from a structural description of a piece of music. The
idea of the model was that the performer uses "phrase final lengthening"
to signal a boundary - the degree of slowing determined by the
69
Contemporary Music Review
1989, Vol. 3 pp. 69-88
Photocopying permitted by license only
1989 Harwood Academic Publishers GmbH
Printed in the United Kingdom
A computational model of rubato
Neil Todd
Department of Psychology, University of Exeter, Exeter, UK
Presented is a model of rubato, implemented in Lisp, in which expression is viewed as the
mapping of musical structure into the variables of expression. The basic idea is that the
performer uses "phrase final lengthening" as a device to reflect some internal representation
of the phrase structure. The representation is based on Lardahl and Jackendoff's time-span
reduction. The basic heuristic in the model is recursive involving look-ahead and planning
at a number of levels. The planned phrasings are superposed beat by beat and the output
from the program is a list of durations which could easily be adapted to be sent to a
synthesiser given a suitable system.
KEYWORDS computational modelling, music cognition, musical performance, rubato,
mental representation, mental process.
Introduction
One of the most ubiquitous expressive devices in musical performance is
rubato. Most notably it is used in music of the romantic era, but is also
evident in a variety of other styles. Research on music performance
(Seashore, 1938; Shaffer, 1981; Clarke, 1984; Todd, 1985; Bengtsson &
Gabrielsson, 1980; Sundberg & Verillo, 1980) involving the precise
measurement of duration has shown that there are a number of basic
observations which can be made. The first is that skilled performers can
show a remarkable degree of reproducibility from one performance to the
next (Shaffer, 1984; Gabrielsson, 1987). This precision in timing shows
that the performance must involve the use of generative procedures and a
precise internal representation of underlying expressive form. A second
observation is the use of slowing to mark a phrase boundary (Todd, 1985),
which has been shown to apply recursively at a number of levels (Shaffer
& Todd, 1987).
In Todd (1985) a model of rubato was established which generated a
duration structure from a structural description of a piece of music. The
idea of the model was that the performer uses "phrase final lengthening"
to signal a boundary - the degree of slowing determined by the
69
70 Neil Todd
importance of the boundary. The input to the model was the time-span
reduction of Lerdahl and Jackendoff' s theory (1983). Whilst the model
gave a reasonable description of the data from actual performances of
some pieces there were, however, a number of objections to the model as
iL stood. This has led to the formulation of a new model. In this paper I will
describe the new model and the reasoning which led to its formulation.
The reduction hypothesis and knowledge representation
The first problem with the Todd (1985) model stems from the fact that it
inherits the "reduction hypot hesi s" of Lerdahl & Jackendoff' s theory.
That is, the listener, and therefore the performer, sees each event in a
single, coherent structure. This hypothesis places too high a demand on
working memory to be psychologically plausible. In terms of the model it
means that when computing a boundary strength, every event in time ~
span reduction is taken into account, irrespective of how close, or how far
apart, the events are in time. This leads to the prediction of more degrees
of boundary strength, and therefore degrees of relative slowing, than can
be discerned from the data. On the other hand, it is both psychologically
plausible and musically necessary that the performer should have some
kind of global overview of the piece as well as being able to "look ahead"
to some degree in order to plan a phrase.
A solution to this problem, which is the first premise of the updat ed
model, is to suppose that the internal represent at i on-- rather than being
a single, simply connected tree - - is composed of a set (or forest) of trees
organised on a number of hierarchic levels with each subset of trees at one
level being "bound" by a tree at a higher level. This accords with
Anderson' s ACT* theory of cognition (1983). In the theory knowledge
comes in chunks or "cognitive units" which can be such things as
propositions, spatial images or temporal relations. A cognitive unit
encodes a set of no more than about five elements. Larger structures are
created by the hierarchical embedding of cognitive units. Of particular
interest to us here are cognitive units encoding temporal information
which Anderson refers to as "temporal strings". The notion of temporal
strings accords well with the idea of musical groups.
A model of performance constructed on this basis predicts a duration
structure determined by the superposition of a number of hierarchic
timing components, from a global component, spanning the whole piece,
to a local component spanning a few beats with each component
corresponding to structural level. This overcomes the objections
discussed above because for any event at one level the number of other
events directly connected is limited. At the same time it allows for "look
ahead" and gives the performer global overview.
The process of performance
A second objection to the Todd (1985) model is that it is "off line". In other
D
o
w
n
l
o
a
d
e
d

B
y
:

[
I
n
g
e
n
t
a

C
o
n
t
e
n
t

D
i
s
t
r
i
b
u
t
i
o
n

P
s
y

P
r
e
s
s

T
i
t
l
e
s
]

A
t
:

0
8
:
0
6

5

D
e
c
e
m
b
e
r

2
0
0
9
70 Neil Todd
importance of the boundary. The fnput to the model was the time-span
reduction of Lerdahl and Jackendoff's theory (1983). Whilst the model
gave a reasonable description of the data from actual performances of
some pieces there were, however, a number of objections to the model as
it stood. This has led to the formulation of a new model. In this paper I will
describe the new model and the reasoning which led to its formulation.
The reduction hypothesis and knowledge representation
The first problem with the Todd (1985) model stems from the fact that it
inherits the "reduction hypothesis" of Lerdahl & Jackendoff's theory.
That is, the listener, and therefore the performer, sees each event in a
single, coherent structure. This hypothesis places too high a demand on
working memory to be psychologically plausible. In terms of the model it
means that when computing a boundary strength, every event in time-
span reduction is taken into account, irrespective of how close, or how far
apart, the events are in time. This leads to the prediction of more degrees
of boundary strength, and therefore degrees of relative slowing, than can
be discerned from the data. On the other hand, it is both psychologically
plausible and musically necessi'1ry that the performer should have some
kind of global overview of the piece as well as being able to "look ahead"
to some degree in order to plan a phrase.
A solution to this problem, which is the first premise of the updated
model, is to suppose that the internal representation - rather than being
a single, simply connected tree - is composed of a set (or forest) of trees
organised on a number of hierarchic levels with each subset of trees at one
level being "bound" by a tree at a higher level. This accords with
Anderson's ACT* theory of cognition (1983). In the theory knowledge
comes in chunks or "cognitive units" which can be such things as
propositions, spatial images or temporal relations. A cognitive unit
encodes a set of no more than about five elements. Larger structures are
created by the hierarchical embedding of cognitive units. Of particular
interest to us here are cognitive units encoding temporal information
which Anderson refers to as "temporal strings". The notion of temporal
strings accords well with the idea of musical groups.
A model of performance constructed on this basis predicts a duration
structure determined by the superposition of a number of hierarchic
timing components, from a global component, spanning the whole piece,
to a local component spanning a few beats with each component
corresponding to structural level. This overcomes the objections
discussed above because for any event at one level the number of other
events directly connected is limited. At the same time it allows for "look
ahead" and gives the performer global overview.
The process of performance
A second objection to the Todd (1985) model is that it is "off line". In other
70 Neil Todd
importance of the boundary. The fnput to the model was the time-span
reduction of Lerdahl and Jackendoff's theory (1983). Whilst the model
gave a reasonable description of the data from actual performances of
some pieces there were, however, a number of objections to the model as
it stood. This has led to the formulation of a new model. In this paper I will
describe the new model and the reasoning which led to its formulation.
The reduction hypothesis and knowledge representation
The first problem with the Todd (1985) model stems from the fact that it
inherits the "reduction hypothesis" of Lerdahl & Jackendoff's theory.
That is, the listener, and therefore the performer, sees each event in a
single, coherent structure. This hypothesis places too high a demand on
working memory to be psychologically plausible. In terms of the model it
means that when computing a boundary strength, every event in time-
span reduction is taken into account, irrespective of how close, or how far
apart, the events are in time. This leads to the prediction of more degrees
of boundary strength, and therefore degrees of relative slowing, than can
be discerned from the data. On the other hand, it is both psychologically
plausible and musically necessi'1ry that the performer should have some
kind of global overview of the piece as well as being able to "look ahead"
to some degree in order to plan a phrase.
A solution to this problem, which is the first premise of the updated
model, is to suppose that the internal representation - rather than being
a single, simply connected tree - is composed of a set (or forest) of trees
organised on a number of hierarchic levels with each subset of trees at one
level being "bound" by a tree at a higher level. This accords with
Anderson's ACT* theory of cognition (1983). In the theory knowledge
comes in chunks or "cognitive units" which can be such things as
propositions, spatial images or temporal relations. A cognitive unit
encodes a set of no more than about five elements. Larger structures are
created by the hierarchical embedding of cognitive units. Of particular
interest to us here are cognitive units encoding temporal information
which Anderson refers to as "temporal strings". The notion of temporal
strings accords well with the idea of musical groups.
A model of performance constructed on this basis predicts a duration
structure determined by the superposition of a number of hierarchic
timing components, from a global component, spanning the whole piece,
to a local component spanning a few beats with each component
corresponding to structural level. This overcomes the objections
discussed above because for any event at one level the number of other
events directly connected is limited. At the same time it allows for "look
ahead" and gives the performer global overview.
The process of performance
A second objection to the Todd (1985) model is that it is "off line". In other
A computational model of rubat o 71
wor ds it does not descri be t he process of performance. Whilst it is
reasonabl e to suppose t hat t he per f or mer can hol d t he whol e st ruct ure in
l ong-t erm memor y, i ndeed a musi ci ans' s ability to memori se is qui t e
remarkabl e, it seems i mpl ausi bl e t hat t he per f or mer coul d access t he
whol e st ruct ure at any one time. In t he early model t he comput at i ons
wer e done for each component and t hen added together. In an actual
performance the comput at i ons are done as each phrase is accessed in t urn
and t he component s s uper pos ed not e by note.
The obvi ous answer, and this is t he second premi se of t he new model ,
is that in order to describe the process of performance t he model needs to
be formul at ed in comput at i onal t erms and i mpl ement ed in a suitable
high-level l anguage such as Lisp. In particular, what is i mport ant here is
the idea that a process shoul d be cast in t erms of an "effective pr ocedur e"
(Longuet-Higgins, 1978, 1981; Johnson-Lai rd, 1983), t hus enabling t he
t heor y to be precise and testable.
The indeterminism of individual performances
Whilst such a t heor y does make predi ct i ons, given a certain i nput , t he
goal of t he t heor y is not t he predi ct i on of i ndi vi dual performances as
such, but t he pr i nc i pl e d e x p l a n a t i o n o f per f or mance dat a. This is so in
psychol ogy in general, and musi c psychol ogy in particular, because if t he
t heor y wer e compl et el y deterministic it woul d negat e t he creative aspect
of performance. Johnson-Lai rd (1983) has expressed this i ndet ermi ni sm
of i ndi vi dual performances in t he l anguage of comput er science:
I f h u m a n bei ngs are a t l east as compl i cat ed as T u r i n g mac hi ne s a n d t he i r
i n d i v i d u a l processes o f t h o u g h t di f f e r as a r e s u l t o f t hei r ge ne s a n d experi ence,
t h e n t he i r be hav i our i s m o s t u n l i k e l y t o become w h o l l y predi ct abl e, because
t here i s no ef f ect i ve procedure t h a t can pr e di c t t he behavi our o f a n a r b i t r a r y
T u r i n g machi ne. There is t h u s l i t t l e d a n g e r o f c r e at i ng a p s y c h o l o g y capable o f
mo d e l l i n g an i n d i v i d u a l ' s t h o u g h t s - - a n e v e n t u a l i t y l i k e l y t o d e s t r o y t he
s p o n t a n e i t y a n d s i gni f i c anc e o f life. B u t t here are no a priori reasons f o r
s u p p o s i n g t h a t i t i s i mpos s i bl e t o devel op s ci ent i f i c t heori es o f gener al
psychol ogi cal a b i l i t i e s . "
[Johnson-Laird, 1983; p. 12]
The c omput at i onal t he or y o f an e xpr e s s i on s ys t e m
These t wo i ssues di scussed above, of represent at i on and process, are
central to any i nformat i on-processi ng t ype appr oach to cogni t i on and
cognitive modelling. Our mai n task, t herefore, in t he const ruct i on of such
a model is to make explicit, in t he form of an algorithm, t he process of
performance and its i nput . However , as Davi d Marr (1982) has sai d such
a syst em can be vi ewed from t hree levels of explanation:
D
o
w
n
l
o
a
d
e
d

B
y
:

[
I
n
g
e
n
t
a

C
o
n
t
e
n
t

D
i
s
t
r
i
b
u
t
i
o
n

P
s
y

P
r
e
s
s

T
i
t
l
e
s
]

A
t
:

0
8
:
0
6

5

D
e
c
e
m
b
e
r

2
0
0
9
A computational model of rubato 71
words it does not describe the process of performance. Whilst it is
reasonable to suppose that the performer can hold the whole structure in
long-term memory, indeed a musicians's ability to memorise is quite
remarkable, it seems implausible that the performer could access the
whole structure at anyone time. In the early model the computations
were done for each component and then added together. In an actual
performance the computations are done as each phrase is accessed in turn
and the components superposed note by note.
The obvious answer, and this is the second premise of the new model,
is that in order to describe the process of performance the model needs to
be formulated in computational terms and implemented in a suitable
high-level language such as Lisp. In particular, what is important here is
the idea that a process should be cast in terms of an "effective procedure"
(Longuet-Higgins, 1978, 1981; Johnson-Laird, 1983), thus enabling the
theory to be precise and testable.
The indeterminism of individual performances
Whilst such a theory does make predictions, given a certain input, the
goal of the theory is not the prediction of individual performances as
such, but the principled explanation of performance data. This is so in
psychology in general, and music psychology in particular, because if the
theory were completely deterministic it would negate the creative aspect
of performance. Johnson-Laird (1983) has expressed this indeterminism
of individual performances in the language of computer science:
If human beings are at least as complicated as Turing machines and their
individual processes of thought differ as a result of their genes and experience,
then their behaviour is most unlikely to become wholly predictable, because
there is no effective procedure that can predict the behaviour of an arbitrary
Turing machine. There is thus little danger of creating a psychology capable of
modelling an individual's thoughts - an eventuality likely to destroy the
spontaneity and significance of life. But there are no a priori reasons for
supposing that it is impossible to develop scientific theories of general
psychological abilities."
Uohnson-Laird, 1983; p. 12]
The computational theory of an expression system
These two issues discussed above, of representation and process, are
central to any information-processing type approach to cognition and
cognitive modelling. Our main task, therefore, in the construction of such
a model is to make explicit, in the form of an algorithm, the process of
performance and its input. However, as David Marr (1982) has said such
a system can be viewed from three levels of explanation:
A computational model of rubato 71
words it does not describe the process of performance. Whilst it is
reasonable to suppose that the performer can hold the whole structure in
long-term memory, indeed a musicians's ability to memorise is quite
remarkable, it seems implausible that the performer could access the
whole structure at anyone time. In the early model the computations
were done for each component and then added together. In an actual
performance the computations are done as each phrase is accessed in turn
and the components superposed note by note.
The obvious answer, and this is the second premise of the new model,
is that in order to describe the process of performance the model needs to
be formulated in computational terms and implemented in a suitable
high-level language such as Lisp. In particular, what is important here is
the idea that a process should be cast in terms of an "effective procedure"
(Longuet-Higgins, 1978, 1981; Johnson-Laird, 1983), thus enabling the
theory to be precise and testable.
The indeterminism of individual performances
Whilst such a theory does make predictions, given a certain input, the
goal of the theory is not the prediction of individual performances as
such, but the principled explanation of performance data. This is so in
psychology in general, and music psychology in particular, because if the
theory were completely deterministic it would negate the creative aspect
of performance. Johnson-Laird (1983) has expressed this indeterminism
of individual performances in the language of computer science:
If human beings are at least as complicated as Turing machines and their
individual processes of thought differ as a result of their genes and experience,
then their behaviour is most unlikely to become wholly predictable, because
there is no effective procedure that can predict the behaviour of an arbitrary
Turing machine. There is thus little danger of creating a psychology capable of
modelling an individual's thoughts - an eventuality likely to destroy the
spontaneity and significance of life. But there are no a priori reasons for
supposing that it is impossible to develop scientific theories of general
psychological abilities."
Uohnson-Laird, 1983; p. 12]
The computational theory of an expression system
These two issues discussed above, of representation and process, are
central to any information-processing type approach to cognition and
cognitive modelling. Our main task, therefore, in the construction of such
a model is to make explicit, in the form of an algorithm, the process of
performance and its input. However, as David Marr (1982) has said such
a system can be viewed from three levels of explanation:
72 Neil Todd
A t one extreme, the top level, is the abstract comput at i onal theory of the device,
in whi ch the performance of the device is characterized as a mappi ng f r om one
ki nd of information to another . . . . I n the centre is the choice of representation
f or the i nput and out put and the al gori t hm to be used to t ransf orm one i nt o the
other. A n d at the other ext reme are the details of how the al gori t hm and the
representation are realized physically.
[Marr, 1982; p. 24]
At the level of computational theory then, is useful to express the
various processes of music performance in symbolic terms. Let N stand
for the music notation or score, P for performance, and 9 for the internal
representation. Thus we can think of the process of performance as a
mapping:
9 r: v ~ ~ p ( 1 . a )
where the mapping is carried out by a performance procedure or f unct i on ~.
In the same way the process of sight-reading can be t hought of as a double
mapping:
N---~ 9 ~ P (1.b)
Conversely, we can think of the process of perception as the mapping:
A :P--~ ~ (2.a)
where the mapping is carried out by a l i st eni ng procedure or f unct i on A.
Again in the same manner the process of notation can be t hought of as:
P---~ 9 ~ N (2.b)
So, at the algorithmic level then, our task is twofold: a) to find a suitable
representation for ~; and b) to make explicit an algorithm for performing
the mapping 9 --~ P.
Methodology
The methodology adopted in order to implement the twofold task
outlined above is threefold:
(a) analysis - - which involves finding a value for ~, either from the score
or the data;
(b) synt hesi s - - which involves taking the value for 9 and using it as an
input to a performance algorithm which generates an out put in the
form of a graph or list of numbers; and
(c) evaluation - - which involves the comparison of data with algorithm
output.
This method is, of course, similar to the analysis-by-synthesis met hod
of Sundberg and his co-workers (Fryden & Sundberg, 1984) but perhaps
more closely related to the met hod of Risset and Wessel in their work on
timbre (Risset & Wessel, 1982). The differences with the Sundberg
D
o
w
n
l
o
a
d
e
d

B
y
:

[
I
n
g
e
n
t
a

C
o
n
t
e
n
t

D
i
s
t
r
i
b
u
t
i
o
n

P
s
y

P
r
e
s
s

T
i
t
l
e
s
]

A
t
:

0
8
:
0
6

5

D
e
c
e
m
b
e
r

2
0
0
9
72 Neil Todd
At one extreme, the top level, is the abstract computational theory of the device,
in which the performance of the device is characterized as a mapping from one
kind of information to another, ... In the centre is the choice of representation
for the input and output and the algorithm to be used to transform one into the
other. And at the other extreme are the details of how the algorithm and the
representation are realized physically.
[Marr, 1982; p. 24]
At the level of computational theory then, is useful to express the
various processes of music performance in symbolic terms. Let N stand
for the music notation or score, P for performance, and 'I' for the internal
representation. Thus we can think of the process of performance as a
mapping:
(l.a)
where the mapping is carried out by a performance procedure or function 1T.
In the same way the process of sight-reading can be thought of as a double
mapping:
(l.b)
Conversely, we can think of the process of perception as the mapping:
A: ~ 'I' (2.a)
where the mapping is carried out by a listening procedure or function A.
Again in the same manner the process of notation can be thought of as:
P ~ I ~ N (2.b)
So, at the algorithmic level then, our task is twofold: a) to find a suitable
representation for '1'; and b) to make explicit an algorithm for performing
the mapping 'I' P.
Methodology
The methodology adopted in order to implement the twofold task
outlined above is threefold:
(a) analysis - which involves finding a value for '1', either from the score
or the data;
(b) synthesis - which involves taking the value for 'I' and using it as an
input to a performance algorithm which generates an output in the
form of a graph or list of numbers; and
(c) evaluation - which involves the comparison of ~ a t a with algorithm
output.
This method is, of course, similar to the analysis-by-synthesis method
of Sundberg and his co-workers (Fryden & Sundberg, 1984) but perhaps
more closely related to the method of Risset and Wessel in their work on
timbre (Risset & Wessel, 1982). The differences with the Sundberg
72 Neil Todd
At one extreme, the top level, is the abstract computational theory of the device,
in which the performance of the device is characterized as a mapping from one
kind of information to another, ... In the centre is the choice of representation
for the input and output and the algorithm to be used to transform one into the
other. And at the other extreme are the details of how the algorithm and the
representation are realized physically.
[Marr, 1982; p. 24]
At the level of computational theory then, is useful to express the
various processes of music performance in symbolic terms. Let N stand
for the music notation or score, P for performance, and 'I' for the internal
representation. Thus we can think of the process of performance as a
mapping:
(l.a)
where the mapping is carried out by a performance procedure or function 1T.
In the same way the process of sight-reading can be thought of as a double
mapping:
(l.b)
Conversely, we can think of the process of perception as the mapping:
A: ~ 'I' (2.a)
where the mapping is carried out by a listening procedure or function A.
Again in the same manner the process of notation can be thought of as:
P ~ I ~ N (2.b)
So, at the algorithmic level then, our task is twofold: a) to find a suitable
representation for '1'; and b) to make explicit an algorithm for performing
the mapping 'I' P.
Methodology
The methodology adopted in order to implement the twofold task
outlined above is threefold:
(a) analysis - which involves finding a value for '1', either from the score
or the data;
(b) synthesis - which involves taking the value for 'I' and using it as an
input to a performance algorithm which generates an output in the
form of a graph or list of numbers; and
(c) evaluation - which involves the comparison of ~ a t a with algorithm
output.
This method is, of course, similar to the analysis-by-synthesis method
of Sundberg and his co-workers (Fryden & Sundberg, 1984) but perhaps
more closely related to the method of Risset and Wessel in their work on
timbre (Risset & Wessel, 1982). The differences with the Sundberg
A computational model ofrubato 73
met hod are that the starting point here is actual performances, rather
than performer intuitions, and the evaluation process involves the direct
comparison of data and model, rather than the subjective rating of
generated output.
A n a l y s i s : s c o r e ---> r e p r e s e n t a t i o n v s . data ~ r e p r e s e n t a t i o n
We need to find a value for the internal representation ~. A distinction is
made here between three possible representations. First, the analyst' s
representation ~A, which is determined directly from the score; second, the
performer's representation ~p, which is also determined from the score but
which is unobservable; and third, the data determined representation ~m. So,
we can represent the computational theory at this stage thus:
k
~trp --~ Pp ~ at' D
N ~ (3)
~A
To find a value for ~A involves taking the score of the piece of music under
investigation and production an anlysis of the grouping or phrase
structure. At the moment t he most useful analytic met hod is that
developed by Lerdahl and Jackendoff (1983) despite its deficiencies
(Slawson & Peel, 1985; Clarke, 1986; Baker, in press). After the analysis is
complete the grouping is converted to a Lisp representation which
becomes the input to an algorithm for generating a duration structure.
(see figure 1).
( s e t q t s r '((A) (B)
( s e t q A '((a) ( a ) ) )
( s e t q B '((b) ( b ) ) )
( s e t q a '(3 1 2 i))
( s e t q b '(3 1 2 I))
( A ) ) )
Figure 1 A Lisp representation of Lerdahl and Jackendoff's bracket notation for grouping.
At the top level there are two groups A and B arranged symmetrically in the order ABA.
Group A contains the sub-group a repeated and group B contains the sub-group b repeated.
The integers represent the metrical strength of a beat.
A value for ~D determined by analysing the data from actual
performances. The basic idea is that a slowing indicates a group
boundary. This can be done systematically using an algorithm l i s t e n
which takes that data as input and returns a Lisp representation of the
grouping t s r (Todd, in press).
D
o
w
n
l
o
a
d
e
d

B
y
:

[
I
n
g
e
n
t
a

C
o
n
t
e
n
t

D
i
s
t
r
i
b
u
t
i
o
n

P
s
y

P
r
e
s
s

T
i
t
l
e
s
]

A
t
:

0
8
:
0
6

5

D
e
c
e
m
b
e
r

2
0
0
9
A computational model of rubato 73
method are that the starting point here is actual performances, rather
than performer intuitions, and the evaluation process involves the direct
comparison of data and model, rather than the subjective rating of
generated output.
Analysis: score _ representation vs. data _ representation
We need to find a value for the internal representation 'It. A distinction is
made here between three possible representations. First, the analyst's
representation qt A, which is determined directly from the score; second, the
performer's representation 'It p, which is also determined from the score but
which is unobservable; and third, the data determined representation 'ltD' So,
we can represent the computational theory at this stage thus:
(3)
To find a value for 'It A involves taking the score of the piece of music under
investigation and production an anlysis of the grouping or phrase
structure. At the moment the most useful analytic method is that
developed by Lerdahl and Jackendoff (1983) despite its deficiencies
(Slawson & Peel, 1985; Clarke, 1986; Baker, in press). After the analysis is
complete the grouping is converted to a Lisp representation which
becomes the input to an algorithm for generating a duration structure.
(see figure 1).
(setq tsr 'A) (B) (A)
(setq A 'a) (a)
(setq B 'b) (b)
(setq a '(3 1 2 1
(setq b '(3 12 1
Figure 1 A Lisp representation of Lerdahl and Jackendoff's bracket notation for grouping.
At the top level there are two groups A and B arranged symmetrically in the order ABA.
Group A contains the sub-group a repeated and group B contains the sub-group b repeated.
The integers represent the metrical strength of a beat.
A value for qt D determined by analysing the data from actual
performances. The basic idea is that a slowing indicates a group
boundary. This can be done systematically using an algorithm listen
which takes that data as input and returns a Lisp representation of the
grouping tsr (Todd, in press).
A computational model of rubato 73
method are that the starting point here is actual performances, rather
than performer intuitions, and the evaluation process involves the direct
comparison of data and model, rather than the subjective rating of
generated output.
Analysis: score _ representation vs. data _ representation
We need to find a value for the internal representation 'It. A distinction is
made here between three possible representations. First, the analyst's
representation qt A, which is determined directly from the score; second, the
performer's representation 'It p, which is also determined from the score but
which is unobservable; and third, the data determined representation 'ltD' So,
we can represent the computational theory at this stage thus:
(3)
To find a value for 'It A involves taking the score of the piece of music under
investigation and production an anlysis of the grouping or phrase
structure. At the moment the most useful analytic method is that
developed by Lerdahl and Jackendoff (1983) despite its deficiencies
(Slawson & Peel, 1985; Clarke, 1986; Baker, in press). After the analysis is
complete the grouping is converted to a Lisp representation which
becomes the input to an algorithm for generating a duration structure.
(see figure 1).
(setq tsr 'A) (B) (A)
(setq A 'a) (a)
(setq B 'b) (b)
(setq a '(3 1 2 1
(setq b '(3 12 1
Figure 1 A Lisp representation of Lerdahl and Jackendoff's bracket notation for grouping.
At the top level there are two groups A and B arranged symmetrically in the order ABA.
Group A contains the sub-group a repeated and group B contains the sub-group b repeated.
The integers represent the metrical strength of a beat.
A value for qt D determined by analysing the data from actual
performances. The basic idea is that a slowing indicates a group
boundary. This can be done systematically using an algorithm listen
which takes that data as input and returns a Lisp representation of the
grouping tsr (Todd, in press).
74 Neil Todd
S y n t h e s i s : r e p r e s e n t a t i o n ---> p e r f o r m a n c e
Having obtained t s r we need to make explicit the procedure ,rr for
mapping representation into the performance. We can represent the
computational theory at this stage thus:
~P ---> PP ~ ~ t Y D - ' - > PD
~ff A ~>P A
(4)
such that each representation ~i has its corresponding performance Pi.
The performance is modelled using an algorithm p l a y (See Appendix 1).
The basic heuristic of the algorithm is to look-ahead and plan the phrasing
of a group at a given level then move down to the next sub-group, look-
ahead and plan, and so on recursively. The planned phrasings are
superposed onto an output plan (see o u t p u t , Appendix 1) which
continuously evolves as the performance unfolds. When a surface-group
is reached the first element of the out put plan is printed and discarded,
and so on. When the surface-group is completed the program backtracks
to the next level and so on until all the surface groups are played. The
out put from the program is a list of durations, which could easily be
adapted to be sent to a synthesiser given a suitable system (see figure 2).
The precise durations within a phrase are determined by a parabolic
function PB embedded within the performance procedure. This function
has the following form:
a2 { t ( a 4 - 1 ) }2
= a6 , t =1, 2 ..... T (5)
PB (t, a i ) al J r " ( 1 " - - - - a 6 ) 2 a 3 as
where t is metrical time and a i is a vector of parameters such that:
al = tempo,
a2 = ampl i t ude,
a3 = length of phrase,
a 4 ~- boundary st rengt h,
as = upper l i mi t of boundary st rengt h,
a6 = offset of parabola mi n i mu m.
( 1 - a6) -2 is a normalisation factor such that if the boundary strength a4 =
1 and t = a3 (i.e. at the end of the phrase) then a 2 represents the true
amplitude (Todd, 1985). As for the values of the parameters, al and
a2 are input at the start of the algorithm p l a y (see functions s t a r t and
s e t _ u p _ v a t s , Appendix 1); a3 and a 4 are computed for each group as the
program runs (see functions p l a n and r u b a t o , Appendix 1); and as and a6
are set within the program with a6 = 0.52. In Todd (1985) as = 11 but in the
new model as = 3 because the number of possible boundary strengths is
reduced (see function s e t _ u p _ v a t s , Appendix 1).
D
o
w
n
l
o
a
d
e
d

B
y
:

[
I
n
g
e
n
t
a

C
o
n
t
e
n
t

D
i
s
t
r
i
b
u
t
i
o
n

P
s
y

P
r
e
s
s

T
i
t
l
e
s
]

A
t
:

0
8
:
0
6

5

D
e
c
e
m
b
e
r

2
0
0
9
74 Neil Todd
Synthesis: representation performance
Having obtained tsr we need to make explicit the procedure 1T for
mapping representation into the performance. We can represent the
computational theory at this stage thus: ..
(4)
such that each representation 'l'i has its corresponding performance Pi'
The performance is modelled using an algorithm play (See Appendix 1).
The basic heuristic of the algorithm is to look-ahead and plan the phrasing
of a group at a given level then move down to the next sub-group, look-
ahead and plan, and so on recursively. The planned phrasings are
superposed onto an output plan (see output, Appendix 1) which
continuously evolves as the performance unfolds. When a surface-group
is reached the first element of the output plan is printed and discarded,
and so on. When the surface-group is completed the program backtracks
to the next level and so on until all the surface groups are played. The
output from the program is a list of durations, which could easily be
adapted to be sent to a synthesiser given a suitable system (see figure 2).
The precise durations within a phrase are determined by a parabolic
function PB embedded within the performance procedure. This function
has the following form:
_ a2 {t (a4 - 1) } 2 _ )
PB(t,ai)-a1+ 2 -- -a6, t-1,2, ... ,T (5
(1 - a6) a3 as
where t is metrical time and ai is a vector of parameters such that:
a1 tempo,
a2 amplitude,
a3 length of phrase,
a4 boundary strength,
as upper limit of boundary strength,
a6 offset of parabola minimum.
(1 - a6)-z is a normalisation factor such that if the boundary strength a4 =
1 and t = a3 (i.e. at the end of the phrase) then a2 represents the true
amplitude (Todd, 1985). As for the values of the parameters, al and
az are input at the start of the algorithm play (see functions start and
set_up_vars, Appendix 1); a3 and a4 are computed for each group as the
program runs (see functions plan and rubato, Appendix 1); and as and a6
are set within the program with a6 = 0.52. In Todd (1985) as = 11 butin the
new model as = 3 because the number of possible boundary strengths is
reduced (see function set_up_vars, Appendix 1).
74 Neil Todd
Synthesis: representation performance
Having obtained tsr we need to make explicit the procedure 1T for
mapping representation into the performance. We can represent the
computational theory at this stage thus: ..
(4)
such that each representation 'l'i has its corresponding performance Pi'
The performance is modelled using an algorithm play (See Appendix 1).
The basic heuristic of the algorithm is to look-ahead and plan the phrasing
of a group at a given level then move down to the next sub-group, look-
ahead and plan, and so on recursively. The planned phrasings are
superposed onto an output plan (see output, Appendix 1) which
continuously evolves as the performance unfolds. When a surface-group
is reached the first element of the output plan is printed and discarded,
and so on. When the surface-group is completed the program backtracks
to the next level and so on until all the surface groups are played. The
output from the program is a list of durations, which could easily be
adapted to be sent to a synthesiser given a suitable system (see figure 2).
The precise durations within a phrase are determined by a parabolic
function PB embedded within the performance procedure. This function
has the following form:
_ a2 {t (a4 - 1) } 2 _ )
PB(t,ai)-a1+ 2 -- -a6, t-1,2, ... ,T (5
(1 - a6) a3 as
where t is metrical time and ai is a vector of parameters such that:
a1 tempo,
a2 amplitude,
a3 length of phrase,
a4 boundary strength,
as upper limit of boundary strength,
a6 offset of parabola minimum.
(1 - a6)-z is a normalisation factor such that if the boundary strength a4 =
1 and t = a3 (i.e. at the end of the phrase) then a2 represents the true
amplitude (Todd, 1985). As for the values of the parameters, al and
az are input at the start of the algorithm play (see functions start and
set_up_vars, Appendix 1); a3 and a4 are computed for each group as the
program runs (see functions plan and rubato, Appendix 1); and as and a6
are set within the program with a6 = 0.52. In Todd (1985) as = 11 butin the
new model as = 3 because the number of possible boundary strengths is
reduced (see function set_up_vars, Appendix 1).
7
5

0

0

W

X

I
J
Q
I

0

0

o

0
3

o
~

0

0

0

0

i
i

I
I

I

I

I

I

I

|

|

I

I

|

0

0

0

0

0

C
,

0
4

I

I

I

I

0

0

0

W

I
-
-

0

W

,
4

B

e
a

O

[
.
-
.

N

(
s
~
)

N
O
I
I
V
~
n
o

3
#
I
I

7
V
3
N

Downloaded By: [Ingenta Content Distribution Psy Press Titles] At: 08:06 5 December 2009
VI
E
z
0
f-
<{
a:
::>
0
U,J
:!;
f-
--'
<{
U,J
a:
3000
2000
1000
a 1
a2
1000ms
200ms
EXAMPLE OF MODEL
O ~ ________ -, ________ -. ________ -. ________ -. ________ -. ________
o 4 8 12 16 20 24
METRICAL TIME
Figure 2 The output of the algorithm play taking as an input the grouping structure as in Figure 1.
til
VI
E
z
0
f-
<{
a:
::>
0
U,J
:!;
f-
--'
<{
U,J
a:
3000
2000
1000
a 1
a2
1000ms
200ms
EXAMPLE OF MODEL
0 T - - - - - - - - - - - - - - - - - r - - - - - - - - . - - - - - - - - - . - - - - - - - ~ - - - - - - ~
o 4 8 12 16 20 24
METRICAL TIME
Figure 2 The output of the algorithm play taking as an input the grouping structure as in Figure 1.
76 Neil Todd
Evaluation: PA -~ PP -~ PD?
Havi ng gener at ed PA or PD we need to compare t hem wi t h an actual
per f or mance Pp. In Todd (1985) t he dat a and model (ie Pp and PA) wer e
compar ed visually usi ng t he criteria; a) t he position of peaks or poi nt s of
slowing; b) t he relative hei ght s of t he peaks. Whilst this met hod is useful
it is unsat i sfact ory for a number of reasons. First, t he compari son of
relative hei ght s is onl y qualitative. So, obviously a mor e systematic and
quant i t at i ve test is requi red. Hierarchical clustering (Johnson, 1967) is
such a met hod whi ch has been successfully appl i ed in anal ysi ng speech
(Grosjean and Gee, 1983) and I am current l y wor ki ng on ways of appl yi ng
this to musi c performance.
A second probl em lies in t he i ndet er mi ni sm of i ndi vi dual performances
as di scussed above. Whilst it is oft en possible to observe considerable
across-performer agr eement (Shaffer & Todd, 1987) t here are also many
differences. Also, t here is no reason why t he anal yst ' s i nt erpret at i on ~ t r a
shoul d be t he same as t he performer' s ~v since t here is no such t hi ng as a
single "correct" groupi ng. It is for t hese reasons t hat t he i nput used is t he
represent at i on deri ved from t he dat a ~D whi ch is obt ai ned via t he
al gori t hm listen. This pr ocedur e is certainly not i nt ended to give licence
to adj ust t he t heor y post hoc to fit each set of dat a - - on t he cont rary t he
same per f or mance mappi ng play is used in each case. Remember t he goal
of a t heor y of performance is t he principled expl anat i on of per f or mance
data. So, whi l st we cannot predi ct a performance wi t h any cert ai nt y what
we can say for each performance is t hat if t he following t hree assumpt i ons
pr oduce a good mat ch bet ween Pp and PD t hen t he assumpt i ons
constitute a reasonable explanation:
(a) t he per f or mer has used sl owi ng to indicate a gr oupi ng boundar y;
(b) t he performer' s gr oupi ng analysis corresponds to tsr;
(c) t he performer' s mappi ng pr ocedur e corresponds to play.
The model t hen is really an analytical t heor y of performance rat her t han a
prescriptive t heor y of performance. However , t here are no reasons, if
enought dat a is amassed, why probability wei ght i ngs coul d not be
assi gned to various performances as a funct i on of style and i nst rument .
Ex a mp l e s
Pr esent ed in Figures 3 and 4 are t wo exampl es of dat a from actual
performances compar ed against t he model . The first exampl e is t aken
from a per f or mance of t he Adagi o f r om t he Haydn Sonata in B-Flat whi ch
was also used in Todd (1985) so t hat compari son wi t h t he old model is
possible. The second exampl e is t aken from t wo per f or mances of t he
Chopi n pr el ude in F# Mi nor (Shaffer and Todd, 1987). The data wer e
obt ai ned usi ng t he met hod of Shaffer (1981).
D
o
w
n
l
o
a
d
e
d

B
y
:

[
I
n
g
e
n
t
a

C
o
n
t
e
n
t

D
i
s
t
r
i
b
u
t
i
o
n

P
s
y

P
r
e
s
s

T
i
t
l
e
s
]

A
t
:

0
8
:
0
6

5

D
e
c
e
m
b
e
r

2
0
0
9
76 Neil Todd
Evaluation: P A ::e: Pp ::e: P
D
?
Having generated P A or P
D
we need to compare them with an actual
performance Pp In Todd (1985) the data and model (ie Pp and P A) were
compared visually using the criteria; a) the position of peaks or points of
slowing; b) the relative heights of the peaks. Whilst this method is useful
it is unsatisfactory for a number of reasons. First, the comparison of
relative heights is only qualitative. So, obviously a more systematic and
quantitative test is required. Hierarchical clustering Gohnson, 1967) is
such a method which has been successfully applied in analysing speech
(Grosjean and Gee, 1983) and I am currently working on ways of applying
this to music performance.
A second problem lies in the indeterminism of individual performances
as discussed above. Whilst it is often possible to observe considerable
across-performer agreement (Shaffer & Todd, 1987) there are also many
differences. Also, there is no reason why the analyst's interpretation qr A
should be the same as the performer's qr p since there is no such thing as a
single "correct" grouping. It is for these reasons that the input used is the
representation derived from the data qr D which is obtained via the
algorithm listen. This procedure is certainly not intended to give licence
to adjust the theory post hoc to fit each set of data - on the contrary the
same performance mapping play is used in each case. Remember the goal
of a theory of performance is the principled explanation of performance
data. So, whilst we cannot predict a performance with any certainty what
we can say for each performance is that if the following three assumptions
produce a good match between Pp and P
D
then the assumptions
constitute a reasonable explanation:
(a) the performer has used slowing to indicate a grouping boundary;
(b) the performer's grouping analysis corresponds to tsr;
(c) the performer's mapping procedure corresponds to play.
The model then is really an analytical theory of performance rather than a
prescriptive theory of performance. However, there are no reasons, if
enought data is amassed, why probability weightings could not be
assigned to various performances as a function of style and instrument.
Examples
Presented in Figures 3 and 4 are two examples of data from actual
performances compared against the model. The first example is taken
from a performance of the Adagio from the Haydn Sonata in B-Flat which
was also used in Todd (1985) so that comparison with the old model is
possible. The second example is taken from two performances of the
Chopin prelude in F# Minor (Shaffer and Todd, 1987). The data were
obtained using the method of Shaffer (1981).
76 Neil Todd
Evaluation: P A ::e: Pp ::e: P
D
?
Having generated P A or P
D
we need to compare them with an actual
performance Pp In Todd (1985) the data and model (ie Pp and P A) were
compared visually using the criteria; a) the position of peaks or points of
slowing; b) the relative heights of the peaks. Whilst this method is useful
it is unsatisfactory for a number of reasons. First, the comparison of
relative heights is only qualitative. So, obviously a more systematic and
quantitative test is required. Hierarchical clustering Gohnson, 1967) is
such a method which has been successfully applied in analysing speech
(Grosjean and Gee, 1983) and I am currently working on ways of applying
this to music performance.
A second problem lies in the indeterminism of individual performances
as discussed above. Whilst it is often possible to observe considerable
across-performer agreement (Shaffer & Todd, 1987) there are also many
differences. Also, there is no reason why the analyst's interpretation qr A
should be the same as the performer's qr p since there is no such thing as a
single "correct" grouping. It is for these reasons that the input used is the
representation derived from the data qr D which is obtained via the
algorithm listen. This procedure is certainly not intended to give licence
to adjust the theory post hoc to fit each set of data - on the contrary the
same performance mapping play is used in each case. Remember the goal
of a theory of performance is the principled explanation of performance
data. So, whilst we cannot predict a performance with any certainty what
we can say for each performance is that if the following three assumptions
produce a good match between Pp and P
D
then the assumptions
constitute a reasonable explanation:
(a) the performer has used slowing to indicate a grouping boundary;
(b) the performer's grouping analysis corresponds to tsr;
(c) the performer's mapping procedure corresponds to play.
The model then is really an analytical theory of performance rather than a
prescriptive theory of performance. However, there are no reasons, if
enought data is amassed, why probability weightings could not be
assigned to various performances as a function of style and instrument.
Examples
Presented in Figures 3 and 4 are two examples of data from actual
performances compared against the model. The first example is taken
from a performance of the Adagio from the Haydn Sonata in B-Flat which
was also used in Todd (1985) so that comparison with the old model is
possible. The second example is taken from two performances of the
Chopin prelude in F# Minor (Shaffer and Todd, 1987). The data were
obtained using the method of Shaffer (1981).
7
7

~

I

I

l

l

I

I

I

I

I

I

O

0

0

0

0

0

I

0

0

0

c
0

I

I

I

(
.
0

o
~

(
o

0
'
)

c
o

0
4

0

o
d

c
O

0
0

I

o

o

o

o

(
%
1

o
;
.
=

i
l
l
:

~
I

i
l
l
)

"
0

~
r
O

~
3

~
,
.
~

(
s
~
)

N
O
I

L
V
H
A
O

H
V
H

Downloaded By: [Ingenta Content Distribution Psy Press Titles] At: 08:06 5 December 2009
-
'"
E
-
z
5000
4000
a 1
a2
3200ms
300ms
HAYDN SONATA B-FLAT MAJOR
V\ 1\ N ,: :VJ \ A!\NVi l /\ / v="Y/\ .
a: . . .' 'It
:; . ..,' .... ';' ,. " .j./ ;\! .,' ....... "
::)
0
cc 3000
<!
OJ

o 4 8 12 16 20 24 28 32 36 40 44 48 52 56
BARS
Figure 3 Comparison of model and data for Haydn Sonata. The figure shows the model (solid line) derived from the :::J
grouping analysis as in Appendix 3 compared against the data from a performance (dotted line).
'"
E
z
0
,...

a::
::)
0
a::

OJ
5000
4000

a 1
a2
3200ms
300ms
HAYDN SONATA B-FLAT MAJOR
.
\ ... "' .... ..;.

o 4 8 12 16 20 24 28 32 36 40 44 48 52 56
BARS
Figure 3 Comparison of model and data for Haydn Sonata. The figure shows the model (solid line) derived from the :::J
grouping analysis as in Appendix 3 compared against the data from a performance (dotted line).
7
8

O

Z

T
~

,
.
x

"
r

I

I
.
I
.

I
l
J

~
D

Z
)

.
.
J

I
A
I

n
r

O

-
I
-

o

!

O

O

O

E
~

0

0

I

|

(
~

I

I

I

I

I

0

0

0

I

'
"

I

I

<
t

I

I

!

0

C
)

0

I

I

I

0
~

c
~
J

(
0

-
-
0
)

F

0

~
)

~
t

0
0

C
O

e
-

F

I

0

0

0

b
O

(
s
w
)

N
O
I
I
V
H
A
O

1
V
3
B

Downloaded By: [Ingenta Content Distribution Psy Press Titles] At: 08:06 5 December 2009
til
E
z
0
I-
<
IX:
::>
a
I-
<
w
al
3000
2000
1000
al - 600ms
a2 - 150ms
CHOPIN PRELUDE F-SHARP MINOR

o 16 32 48 64 80 96 112 128
BEATS
Figure 4 Comparison of model and data for Chopin Prelude. The figure shows the model (solid line) derived from the
grouping analysis as in Appendix 4 compared against an average of data from two performances (dotted line).

3000
2000
til
E
z
0
I-
<
IX:
::>
a
I-
1000
<
W
al
o
a1 - 600ms
a2 - 150ms
16 32
CHOPIN PRELUDE F-SHARP MINOR
48 64 80
BEATS
96 112 128
Figure 4 Comparison of model and data for Chopin Prelude. The figure shows the model (solid line) derived from the
grouping analysis as in Appendix 4 compared against an average of data from two performances (dotted line).
A computational model ofrubato 79
Di s cus s i on
The paper st art ed out by raising t wo obj ect i ons to t he Todd (1985) model .
The first obj ect i on was concerned wi t h t he nat ur e of t he internal
represent at i on of gr oupi ng whi ch forms t he i nput to t he model . The
second obj ect i on was to do wi t h t he nat ure of t he pr ocedur e for mappi ng
t he internal represent at i on into durat i on. These obj ect i ons l ed to t he
formul at i on of a ne w model .
An i mport ant concl usi on to be dr awn from this is t hat any theories of
musical percept i on and cognition mus t t ake into account t he
psychol ogi cal const rai nt s of memor y. As we have seen t he unmodi f i ed
adopt i on of t he "reduct i on hypot hesi s" (Lerdahl and Jackendoff, 1983)
l eads to predi ct i ons whi ch cannot be sust ai ned.
The model , as it current l y st ands, still has many pr obl ems as far as
psychol ogi cal plausibility is concerned. Whilst an at t empt has been made
to t ake into account short and l ong-t erm memor y limitations and t he real-
time nat ure of performance, t he per f or mance pr ocedur e p l a y contains a
number of sub- pr ocedur es for whi ch it is hard to envi sage realistic
psychol ogi cal mechani sms. As a next st ep al ong t he road of psychol ogi cal
plausibility t he model shoul d be recast once mor e - - per haps in t he form
of a pr oduct i on syst em al ong t he lines of Ander son' s t heor y (1983) wi t h
its explicit memor y modelling.
A furtl~er seri ous limitation of t he model is t hat it does not at t empt to
account for not e timing. This obvi ousl y requi res an ext ensi on of t he
represent at i on and performance pr ocedur e downwar ds whi ch will also
requi re t he i nt roduct i on of ne w timing principles, such as st ress
l engt heni ng, in addi t i on to t he rubat o funct i on descri bed above.
Finally, for t he model to be t est ed compl et el y it must be i nt erfaced wi t h
a synt hesi ser. Whilst t he met hod of direct performance dat a/ model
compari son is ver y powerful , at t he end of t he day t he ul t i mat e t est of any
per f or mance t heor y must be "Well, what does it s ound like?".
Acknowledgements
Thanks to Exeter Uni versi t y Comput er Science depar t ment for t he use of
t he Pyr ami d Unix machine. Thanks also to Fran Jenkin for checki ng over
my first draft.
References
Anderson, J.R. (1983) The Architecture of Cognition. Harvard University Press
Baker, M.J. (in press) A Cognitive Model for Perception of Musical Grouping Structures.
Contemporary Music Review
Bengtsson, I. & Gabrielssion, A. (1980) Methods for Analysing Performance of Musical
Rhythm. Scandanavian Journal of Psychology, 21, 257-268
Clarke, E. (1984) Structure and Expression in the rhythm of piano performance. Ph.D. Thesis.
University of Exeter.
D
o
w
n
l
o
a
d
e
d

B
y
:

[
I
n
g
e
n
t
a

C
o
n
t
e
n
t

D
i
s
t
r
i
b
u
t
i
o
n

P
s
y

P
r
e
s
s

T
i
t
l
e
s
]

A
t
:

0
8
:
0
6

5

D
e
c
e
m
b
e
r

2
0
0
9
A computational model of rubato 79
Discussion
The paper started out by raising two objections to the Todd (1985) model.
The first objection was concerned with the nature of the internal
representation of grouping which forms the input to the model. The
second objection was to do with the nature of the procedure for mapping
the internal representation into duration. These objections led to the
formulation of a new model.
An important conclusion to be drawn from this is that any theories of
musical perception and cognition must take into account the
psychological constraints of memory. As we have seen the unmodified
adoption of the "reduction hypothesis" (Lerdahl and Jackendoff, 1983)
leads to predictions which cannot be sustained.
The model, as it currently stands, still has many problems as far as
psychological plausibility is concerned. Whilst an attempt has been made
to take into account short and long-term memory limitations and the real-
time nature of performance, the performance procedure play contains a
number of sub-procedures for which it is hard to envisage realistic
psychological mechanisms. As a next step along the road of psychological
plausibility the model should be recast once more - perhaps in the form
of a production system along the lines of Anderson's theory (1983) with
its explicit memory modelling.
A further serious limitation of the model is that it does not attempt to
account for note timing. This obviously requires an extension of the
representation and performance procedure downwards which will also
require the introduction of new timing principles, such as stress
lengthening, in addition to the rubato function described above.
Finally, for the model to be tested completely it must be interfaced with
a synthesiser. Whilst the method of direct performance data/model
comparison is very powerful, at the end of the day the ultimate test of any
performance theory must be "Well, what does it sound like?".
Acknowledgements
Thanks to Exeter University Computer Science department for the use of
the Pyramid Unix machine. Thanks also to Fran Jenkin for checking over
my first draft.
References
Anderson, J.R. (1983) The Architecture of Cognition. Harvard University Press
Baker, M.J. (in press) A Cognitive Model for Perception of Musical Grouping Structures.
Contemporary Music Review
Bengtsson, I. & Gabrielssion, A. (1980) Methods for Analysing Performance of Musical
Rhythm. Scandanavian Journal of Psychology, 21, 257-268
Clarke, E. (1984) Structure and Expression in the rhythm of piano performance. Ph.D. Thesis.
University of Exeter.
A computational model of rubato 79
Discussion
The paper started out by raising two objections to the Todd (1985) model.
The first objection was concerned with the nature of the internal
representation of grouping which forms the input to the model. The
second objection was to do with the nature of the procedure for mapping
the internal representation into duration. These objections led to the
formulation of a new model.
An important conclusion to be drawn from this is that any theories of
musical perception and cognition must take into account the
psychological constraints of memory. As we have seen the unmodified
adoption of the "reduction hypothesis" (Lerdahl and Jackendoff, 1983)
leads to predictions which cannot be sustained.
The model, as it currently stands, still has many problems as far as
psychological plausibility is concerned. Whilst an attempt has been made
to take into account short and long-term memory limitations and the real-
time nature of performance, the performance procedure play contains a
number of sub-procedures for which it is hard to envisage realistic
psychological mechanisms. As a next step along the road of psychological
plausibility the model should be recast once more - perhaps in the form
of a production system along the lines of Anderson's theory (1983) with
its explicit memory modelling.
A further serious limitation of the model is that it does not attempt to
account for note timing. This obviously requires an extension of the
representation and performance procedure downwards which will also
require the introduction of new timing principles, such as stress
lengthening, in addition to the rubato function described above.
Finally, for the model to be tested completely it must be interfaced with
a synthesiser. Whilst the method of direct performance data/model
comparison is very powerful, at the end of the day the ultimate test of any
performance theory must be "Well, what does it sound like?".
Acknowledgements
Thanks to Exeter University Computer Science department for the use of
the Pyramid Unix machine. Thanks also to Fran Jenkin for checking over
my first draft.
References
Anderson, J.R. (1983) The Architecture of Cognition. Harvard University Press
Baker, M.J. (in press) A Cognitive Model for Perception of Musical Grouping Structures.
Contemporary Music Review
Bengtsson, I. & Gabrielssion, A. (1980) Methods for Analysing Performance of Musical
Rhythm. Scandanavian Journal of Psychology, 21, 257-268
Clarke, E. (1984) Structure and Expression in the rhythm of piano performance. Ph.D. Thesis.
University of Exeter.
80 Neil Todd
Clarke, E. (1986) Theory, Analysis and the Psychology of Music: A Critical Evaluation of A
Generative Theory of Tonal Music. Psychology of Music 14, 3-16
Fryden, L. & Sundberg, J. (1984) Performance Rules for melodies: Origins, Functions,
Purposes. International Computer Music Conference Proceedings
Gabrielsson, A. (1987): Once Again: The Theme from Mozart' s Piano Sonata i n A Major
(K.331). I n A. Gabrielsson (Ed.): Action and Perception in Rhythm and Meter. Royal
Swedish Academy of Music No. 55
Grosjean, I. & Gee, J. (1983) Performance structures: A psycholinguistic and linguistic
appraisal. Cognitive Psychology 15, 411-458
Johnson, S.C. (1967) Hierarchical clustering schemes. Psychometrica 32, 241-254
Johnson-Laird, P.N. (1983) Mental Models: Towards a Cognitive Science of Language, Inference
and Consciousness. Cambridge University Press
Lerdahl, F. & Jackendoff, R. (1983) A Generative Theory of Tonal Music. Cambridge, Mass.:
MIT Press
Longuet-Higgins, H.C. (1978) The grammar of music. Interdisciplinary Science Reviews 3(2)
148-156
Longuet-Higgins, H.C. (1981) Artificial intelligence - - a new theoretical psychology?
Cognition 10, 197-200
Marr, D. (1982) Vision: A Computational Investigation into the Human Representation and
Processing of Visual Information. San Francisco: W.H. Freeman and Company
Risset, J. & Wessel, D.L. (1982) Exploration of Timbre by Analysis and Synthesis. In D.
Deutsch (Ed.), The Psychology of Music. New York: Academic Press
Seashore, C.E. (1938): Psychology of Music. New York: McGraw-Hill
Slawson, J. & Peel, W. (1984) Review of A Generative Theory of Tonal Music. Journal of Music
Theory 28,(2) 271-294
Shaffer, L.H. (1981) Performances of Chopin, Bach and Bartok: studies i n mot or
programmi ng. Cognitive Psychology 13, 326-376
Shaffer, L.H. (1984) Ti mi ng i n Solo and Duet Piano Performances. Quarterly Journal of
Experimental Psychology 36, 577-595
Shaffer, L.H., Clarke, E. & Todd, N.P. (1985)Meter and Rhyt hm i n Piano Playing. Cognition
20, 61-77
Shaffer, L.H. & Todd, N.P. (1987) The interpretive component i n musical performance. In
A. Gabrielsson (Ed.): Action and Perception in Rhythm and Meter. Royal Swedish
Academy of Music No. 55
Sundberg, J. & V e r i l l o , V . (1980) On the anat omy of t he retard: A st udy of t i mi ng i n music.
Journal of Acoustical Society of America 68, 772-779
Todd, N.P. (1985) A model of expressive t i mi ng i n tonal music. Music Perception 3, 33-58
Todd, N.P. (in press) Towards a Cognitive Theory Of Expression: The Performance and
Perception of Rubato. Contemporary Music Review
D
o
w
n
l
o
a
d
e
d

B
y
:

[
I
n
g
e
n
t
a

C
o
n
t
e
n
t

D
i
s
t
r
i
b
u
t
i
o
n

P
s
y

P
r
e
s
s

T
i
t
l
e
s
]

A
t
:

0
8
:
0
6

5

D
e
c
e
m
b
e
r

2
0
0
9
80 Neil Todd
Clarke, E. (1986) Theory, Analysis and the Psychology of Music: A Critical Evaluation of A
Generative Theory of Tonal Music. Psychology of Music 14, 3-16
Fryden, L. & Sundberg, J. (1984) Performance Rules for melodies: Origins, Functions,
Purposes. International Computer Music Conference Proceedings
Gabrielsson, A. (1987): Once Again: The Theme from Mozart's Piano Sonata in A Major
(K.331). In A. Gabrielsson (Ed.): Action and Perception in Rhythm and Meter. Royal
Swedish Academy of Music No. 55
Grosjean, I. & Gee, J. (1983) Performance structures: A psycholinguistic and linguistic
appraisal. Cognitive Psychology 15, 411-458
Johnson, S.c. (1967) Hierarchical clustering schemes. Psychometrica 32, 241-254
Johnson-Laird, P.N. (1983) Mental Models: Towards a Cognitive Science of Language, Inference
and Consciousness. Cambridge University Press
Lerdahl, F. & Jackendoff, R. (1983) A Generative Theory of Tonal Music. Cambridge, Mass.:
MIT Press
Longuet-Higgins, H.C. (1978) The grammar of music. Interdisciplinary Science Reviews 3(2)
148-156
Longuet-Higgins, H.C. (1981) Artificial intelligence - a new theoretical psychology?
Cognition 10,197-200
Marr, D. (1982) Vision: A Computational Investigation into the Human Representation and
Processing of Visual Information. San Francisco: W.H. Freeman and Company
Risset, J. & Wessel, D.L. (1982) Exploration of Timbre by Analysis and Synthesis. In D.
Deutsch (Ed.), The Psychology of Music. New York: Academic Press
Seashore, C.E. (1938): Psychology of Music. New York: McGraw-Hill
Slawson, J. & Peel, W. (1984) Review of A Generative Theory ofTonal Music. Journal of Music
Theory 28,(2) 271-294
Shaffer, L.H. (1981) Performances of Chopin, Bach and Bartok: studies in motor
programming. Cognitive Psychology 13,326-376
Shaffer, L.H. (1984) Timing in Solo and Duet Piano Performances. Quarterly Journal of
Experimental Psychology 36,577-595
Shaffer, L.H., Oarke, E. & Todd, N.P. (1985) Meter and Rhythm in Piano Playing. Cognition
20,61-77
Shaffer, L.H. & Todd, N.P. (1987) The interpretive component in musical performance. In
A. Gabrielsson (Ed.): Action and Perception in Rhythm and Meter. Royal Swedish
Academy of Music No. 55
Sundberg, J. & Verillo, V. (1980) On the anatomy of the retard: A study of timing in music.
Journal of Acoustical Society of America 68, 772-779
Todd, N.P. (1985) A model of expressive timing in tonal music. Music Perception 3, 33-58
Todd, N.P. (in press) Towards a Cognitive Theory Of Expression: The Performance and
Perception of Rubato. Contemporary Music Review
80 Neil Todd
Clarke, E. (1986) Theory, Analysis and the Psychology of Music: A Critical Evaluation of A
Generative Theory of Tonal Music. Psychology of Music 14, 3-16
Fryden, L. & Sundberg, J. (1984) Performance Rules for melodies: Origins, Functions,
Purposes. International Computer Music Conference Proceedings
Gabrielsson, A. (1987): Once Again: The Theme from Mozart's Piano Sonata in A Major
(K.331). In A. Gabrielsson (Ed.): Action and Perception in Rhythm and Meter. Royal
Swedish Academy of Music No. 55
Grosjean, I. & Gee, J. (1983) Performance structures: A psycholinguistic and linguistic
appraisal. Cognitive Psychology 15, 411-458
Johnson, S.c. (1967) Hierarchical clustering schemes. Psychometrica 32, 241-254
Johnson-Laird, P.N. (1983) Mental Models: Towards a Cognitive Science of Language, Inference
and Consciousness. Cambridge University Press
Lerdahl, F. & Jackendoff, R. (1983) A Generative Theory of Tonal Music. Cambridge, Mass.:
MIT Press
Longuet-Higgins, H.C. (1978) The grammar of music. Interdisciplinary Science Reviews 3(2)
148-156
Longuet-Higgins, H.C. (1981) Artificial intelligence - a new theoretical psychology?
Cognition 10,197-200
Marr, D. (1982) Vision: A Computational Investigation into the Human Representation and
Processing of Visual Information. San Francisco: W.H. Freeman and Company
Risset, J. & Wessel, D.L. (1982) Exploration of Timbre by Analysis and Synthesis. In D.
Deutsch (Ed.), The Psychology of Music. New York: Academic Press
Seashore, C.E. (1938): Psychology of Music. New York: McGraw-Hill
Slawson, J. & Peel, W. (1984) Review of A Generative Theory ofTonal Music. Journal of Music
Theory 28,(2) 271-294
Shaffer, L.H. (1981) Performances of Chopin, Bach and Bartok: studies in motor
programming. Cognitive Psychology 13,326-376
Shaffer, L.H. (1984) Timing in Solo and Duet Piano Performances. Quarterly Journal of
Experimental Psychology 36,577-595
Shaffer, L.H., Oarke, E. & Todd, N.P. (1985) Meter and Rhythm in Piano Playing. Cognition
20,61-77
Shaffer, L.H. & Todd, N.P. (1987) The interpretive component in musical performance. In
A. Gabrielsson (Ed.): Action and Perception in Rhythm and Meter. Royal Swedish
Academy of Music No. 55
Sundberg, J. & Verillo, V. (1980) On the anatomy of the retard: A study of timing in music.
Journal of Acoustical Society of America 68, 772-779
Todd, N.P. (1985) A model of expressive timing in tonal music. Music Perception 3, 33-58
Todd, N.P. (in press) Towards a Cognitive Theory Of Expression: The Performance and
Perception of Rubato. Contemporary Music Review
A computational model ofrubato 81
Appendi x 1: The algorithm "play".
The following al gori t hm was wri t t en in Franz Lisp Opus 38.91.
( d e f u n s t a r t ( )
( p r o g ( )
l o o p
( p a t o m " P l a y w h i c h p i e c e ? " ( s e t q p i e c e _ t o _ p l a y (read))
( p a t o m " N a m e o f d a t a f i l e ? " ( s e t q d a t a f i l e (read))
( s e t q p o r t ( f i l e o p e n d a t a f i l e ' " w " ) )
( p a t o m " W h a t t e m p o ? " ) ( s e t q t e m p o (read))
( p a t o m " W h a t a m p l i t u d e ? " ) ( s e t q a m p l i t u d e (read))
( l o a d p i e c e _ t o _ p l a y )
( s e t _ u p _ v a r s )
( p l a y ' t s r )
( c l o s e p o r t )
( p a t o m " P l a y m o r e ? " ) ( s e t q a n s w e r (read))
( c o n d ((eq a n s w e r ' n o ) ( r e t u r n ' f i n i s h e d ) ) )
( g o loop)))
( d e f u n p l a y ( G r o u p )
( c o n d
((null G r o u p ) ( ) )
((beat G r o u p ) ( p l a y _ b e a t ) )
( ( g r o u p G r o u p )
( c o n d
( ( s u r f a c e _ g r o u p G r o u p )
( p r o g ( )
( p l a n _ p h r a s e G r o u p )
( p l a y e v a l Group))))
( ( i n t e r m e d i a t e _ g r o u p G r o u p )
( p r o g ( )
( l o o k _ a h e a d G r o u p )
( p l a n _ p h r a s e G r o u p )
( p l a y (eval Group))))
( ( p i e c e G r o u p )
( p r o g ( )
( l o o k _ a h e a d G r o u p )
( p l a y (eval Group))))))
(t ( p r o g ( )
( p l a y ( c a r G r o u p ) )
( p l a y ( c d r Group))))))
D
o
w
n
l
o
a
d
e
d

B
y
:

[
I
n
g
e
n
t
a

C
o
n
t
e
n
t

D
i
s
t
r
i
b
u
t
i
o
n

P
s
y

P
r
e
s
s

T
i
t
l
e
s
]

A
t
:

0
8
:
0
6

5

D
e
c
e
m
b
e
r

2
0
0
9
A computational model of rubato 81
Appendix 1: The algorithm "play".
The following algorithm was written in Franz Lisp Opus 38.91.
(defun start ()
(prog ()
loop
(patom "Play which piece?" (setq piece_to_play (read))
(patom "Name of data file?" (setq datafile (read))
(setq port (fileopen datafile ' "w"))
(patom "What tempo?") (setq tempo (read))
(patom "What amplitude?") (setq amplitude (read))
(load piece_to_play)
(set_up_ vars)
(play'tsr)
(close port)
(patom "Play more?") (setq answer (read))
(cond eq answer 'no) (return 'finished)))
(go loop)))
(defun play(Group)
(cond
null Group) ( ))
beat Group) (play_beat))
group Group)
(cond
surface_group Group)
(prog ()
(plan_phrase Group)
(play eval Group))))
intermediate_group Group)
(prog ()
(look_ahead Group)
(plan_phrase Group)
(play (eval Group))))
piece Group)
(prog ()
(look_ahead Group)
(play (eval Group))))))
{t (prog ()
(play (car Group))
(play (cdr Group))))))
A computational model of rubato 81
Appendix 1: The algorithm "play".
The following algorithm was written in Franz Lisp Opus 38.91.
(defun start ()
(prog ()
loop
(patom "Play which piece?" (setq piece_to_play (read))
(patom "Name of data file?" (setq datafile (read))
(setq port (fileopen datafile ' "w"))
(patom "What tempo?") (setq tempo (read))
(patom "What amplitude?") (setq amplitude (read))
(load piece_to_play)
(set_up_ vars)
(play'tsr)
(close port)
(patom "Play more?") (setq answer (read))
(cond eq answer 'no) (return 'finished)))
(go loop)))
(defun play(Group)
(cond
null Group) ( ))
beat Group) (play_beat))
group Group)
(cond
surface_group Group)
(prog ()
(plan_phrase Group)
(play eval Group))))
intermediate_group Group)
(prog ()
(look_ahead Group)
(plan_phrase Group)
(play (eval Group))))
piece Group)
(prog ()
(look_ahead Group)
(play (eval Group))))))
{t (prog ()
(play (car Group))
(play (cdr Group))))))
82 Neil Todd
( d e f u n s e t _ u p _ v a r s ( )
( p r o g ( )
( s e t q a l t e m p o )
( s e t q a 2 a m p l i t u d e )
( s e t q a 3 0 )
( s e t q a 4 0 )
( s e t q a 5 3 )
( s e t q a 6 0 . 5 2 )
( s e t q o u t p u t ( ) ) ) )
( d e f u n b e a t ( G r o u p )
( c o n d
( ( n u m b e r p G r o u p ) t )
( t ( ) ) ) )
( d e f u n g r o u p ( G r o u p )
( c o n d
( ( a n d ( a t o m G r o u p )
( n o t ( n u l l ( e v a l G r o u p ) ) ) ) t )
( ( t ( ) ) ) )
( d e f u n s u r f a c e _ g r o u p ( G r o u p )
( c o n d
( b e a t ( c a r ( e v a l G r o u p ) ) ) t )
( t ( ) ) ) )
( d e f u n i n t e r m e d i a t e _ g r o u p ( G r o u p )
( c o n d
( ( a n d ( n o t ( p i e c e G r o u p ) )
( n o t ( s u r f a c e _ g r o u p G r o u p ) ) ) t )
( t ( ) ) ) )
( d e f u n p i e c e ( G r o u p )
( c o n d
( ( n u l l ( g e t G r o u p ' p h r a s e ) ) t )
( t ( ) ) ) )
D
o
w
n
l
o
a
d
e
d

B
y
:

[
I
n
g
e
n
t
a

C
o
n
t
e
n
t

D
i
s
t
r
i
b
u
t
i
o
n

P
s
y

P
r
e
s
s

T
i
t
l
e
s
]

A
t
:

0
8
:
0
6

5

D
e
c
e
m
b
e
r

2
0
0
9
82 Neil Todd
(defun seCup_vars ()
(prog ()
(setq a1 tempo)
(setq a2 amplitude)
(setq a3 0)
(setq a4 0)
(setq a5 3)
(setq a6 0.52)
(setq output ( ))))
(defun beat(Group)
(cond
((numberp Group) t)
(t ( ))))
(defun group(Group)
(cond
((and (atom Group)
(not (null (eval Group)))) t)
((t ( ))))
(defun surface_group(Group)
(cond
(beat (car (eval Group))) t)
(t ( ))))
(defun intermediate_group(Group)
(cond
((and (not (piece Group))
(not (surface_group Group))) t)
(t ( ))))
(defun piece(Group)
(cond
((null (get Group 'phrase)) t)
(t ( ))))
82 Neil Todd
(defun seCup_vars ()
(prog ()
(setq a1 tempo)
(setq a2 amplitude)
(setq a3 0)
(setq a4 0)
(setq a5 3)
(setq a6 0.52)
(setq output ( ))))
(defun beat(Group)
(cond
((numberp Group) t)
(t ( ))))
(defun group(Group)
(cond
((and (atom Group)
(not (null (eval Group)))) t)
((t ( ))))
(defun surface_group(Group)
(cond
(beat (car (eval Group))) t)
(t ( ))))
(defun intermediate_group(Group)
(cond
((and (not (piece Group))
(not (surface_group Group))) t)
(t ( ))))
(defun piece(Group)
(cond
((null (get Group 'phrase)) t)
(t ( ))))
A computational model ofrubato 83
(defun look_ahead(Group)
(look ( e v a l (Group)))
(defun look(Group)
( c o n d
((null G r o u p )
( p r o g ( )
( p u t p r o p c u r r e n t _ g r o u p
( i n c r e m e n t . d e p t h c u r r e n t _ g r o u p )
'depth)))
((atom Group)
( p r o g ( )
(setq c u r r e n t _ g r o u p Group)
(initialise_depth c u r r e n t _ g r o u p )
( p u t p r o p c u r r e n t _ g r o u p
( s e t _ u p c u r r e n t _ g r o u p )
'phrase)))
(t ( p r o g ( )
(look (car Group))
(look ( c d r Group))))))
(defun initialise d e p t h ( G r o u p )
( c o n d
((null (plist Group)) ( p u t p r o p G r o u p ' ( 0 ) ' d e p t h ) )
(t ( p u t p r o p G r o u p
( a p p e n d (get G r o u p ' d e p t h ) '(0))
'depth))))
(defun increment__depth(Group)
(reverse
( c o n s (add 1 ( c a r (reverse (get G r o u p 'depth))))
( c d r (reverse (get G r o u p 'depth))))))
D
o
w
n
l
o
a
d
e
d

B
y
:

[
I
n
g
e
n
t
a

C
o
n
t
e
n
t

D
i
s
t
r
i
b
u
t
i
o
n

P
s
y

P
r
e
s
s

T
i
t
l
e
s
]

A
t
:

0
8
:
0
6

5

D
e
c
e
m
b
e
r

2
0
0
9
(defun look_ahead(Group)
(look (eva I (Group)))
(defun look(Group)
(cond
null Group)
(prog ()
(putprop currenCgroup
(incremenCdepth currenCgroup)
'depth)))
atom Group)
(prog ()
(setq currenCgroup Group)
(initialise_depth currenCgroup)
(putprop current_group
(set_up current_group)
'phrase)))
(t (prog ()
(look (car Group))
(look (cdr Group))))))
(defun initialise_depth(Group)
(cond
A computational model of rubato 83
null (plist Group)) (putprop Group '(0) 'depth))
(t (putprop Group
(append (get Group 'depth) '(0))
'depth))))
(defun incremenCdepth(Group)
(reverse
(cons (add1 (car (reverse (get Group 'depth))))
(cdr (reverse (get Group 'depth))))))
(defun look_ahead(Group)
(look (eva I (Group)))
(defun look(Group)
(cond
null Group)
(prog ()
(putprop currenCgroup
(incremenCdepth currenCgroup)
'depth)))
atom Group)
(prog ()
(setq currenCgroup Group)
(initialise_depth currenCgroup)
(putprop current_group
(set_up current_group)
'phrase)))
(t (prog ()
(look (car Group))
(look (cdr Group))))))
(defun initialise_depth(Group)
(cond
A computational model of rubato 83
null (plist Group)) (putprop Group '(0) 'depth))
(t (putprop Group
(append (get Group 'depth) '(0))
'depth))))
(defun incremenCdepth(Group)
(reverse
(cons (add1 (car (reverse (get Group 'depth))))
(cdr (reverse (get Group 'depth))))))
84 Neil Todd
(defun plan_phrase(Group)
(prog ( )
(printc Group)
(setq out put (superpose
(plan (get Group 'phrase)
1
(length (get Group 'phrase))
(get_depth Group))
output))))
(defun get_depth(Group)
(prog(Depth)
(setq Depth (car (get Group 'depth)))
(put prop Group (cdr (get Group 'depth)) ' depth)
(return Depth)))
(defun plan(Phrase Ti me Length Depth)
(cond
((null Phrase) ())
((atom Phrase) (rubato Ti me Length Depth))
(t (cons (plan (car Phrase) Ti me Length Depth)
(plan (cdr Phrase) (add1 Time) Length Depth)))))
(defun rubato (T A3 A4)
(times (square (quotient 1.0 (difference 1.0 a6)))
(square (difference (plus (quotient (float T)
(float A3))
(quotient (sub1 (float A4))
a 5 ) )
a 6 ) ) ) )
(defun play_beat( )
(prog ( )
(setq beat out (plus a l
(times a2
(car output)))
(printc (fix beatout))
(printc (fix beatout) port)
(setq out put (cdr output))))
D
o
w
n
l
o
a
d
e
d

B
y
:

[
I
n
g
e
n
t
a

C
o
n
t
e
n
t

D
i
s
t
r
i
b
u
t
i
o
n

P
s
y

P
r
e
s
s

T
i
t
l
e
s
]

A
t
:

0
8
:
0
6

5

D
e
c
e
m
b
e
r

2
0
0
9
84 Neil Todd
(defun plan_phrase(Group)
(prog ()
(printc Group)
(setq output (superpose
(plan (get Group 'phrase)
1
(length (get Group 'phrase))
(geCdepth Group))
output))))
(defun geCdepth(Group)
(prog(Depth)
(setq Depth (car (get Group 'depth)))
(putprop Group (cdr (get Group 'depth)) 'depth)
(return Depth)))
(defun plan(Phrase Time Length Depth)
(cond
((null Phrase) ( ))
((atom Phrase) (rubato Time Length Depth))
(t (cons (plan (car Phrase) Time Length Depth)
(plan (cdr Phrase) (add1 Time) Length Depth)))))
(defun rubato (T A3 A4)
(times (square (quotient 1.0 (difference 1.0 a6)))
(square (difference (plus (quotient (float 1)
(defun play-beat( )
(prog ()
(setq beatout (plus a1
a6))))
(times a2
(float A3))
(quotient (sub1 (float A4))
a5))
(car output)))
(printc (fix beatout))
(printc (fix beatout) port)
(setq output (cdr output))))
84 Neil Todd
(defun plan_phrase(Group)
(prog ()
(printc Group)
(setq output (superpose
(plan (get Group 'phrase)
1
(length (get Group 'phrase))
(geCdepth Group))
output))))
(defun geCdepth(Group)
(prog(Depth)
(setq Depth (car (get Group 'depth)))
(putprop Group (cdr (get Group 'depth)) 'depth)
(return Depth)))
(defun plan(Phrase Time Length Depth)
(cond
((null Phrase) ( ))
((atom Phrase) (rubato Time Length Depth))
(t (cons (plan (car Phrase) Time Length Depth)
(plan (cdr Phrase) (add1 Time) Length Depth)))))
(defun rubato (T A3 A4)
(times (square (quotient 1.0 (difference 1.0 a6)))
(square (difference (plus (quotient (float 1)
(defun play-beat( )
(prog ()
(setq beatout (plus a1
a6))))
(times a2
(float A3))
(quotient (sub1 (float A4))
a5))
(car output)))
(printc (fix beatout))
(printc (fix beatout) port)
(setq output (cdr output))))
A computational model ofrubato 85
(defun set_up(Group)
( c o n d
((or (null G r o u p )
(and ( a t o m Group)
(null (eval Group)))) ( ) )
((surface_group G r o u p ) ( e v a l Group))
((atom Group) ( s e t _ u p ( e v a l Group)))
(t ( a p p e n d ( s e t u p ( c a r Group))
( s e t u p ( c d r Group))
(defun s u p e r p o s e ( P h r a s e O u t p u t )
( c o n d
((null O u t p u t ) Phrase)
((null Phrase) O u t p u t )
((atom Phrase) (plus Phrase Output))
(t ( c o n s ( s u p e r p o s e (car Phrase) ( c a r Output))
( s u p e r p o s e ( c d r Phrase) ( c d r Output))))))
(defun square(N)
( t i m e s N N))
(defun p r i n t fexpr(L)
( c o n d
((null ( c d r L)) ( p r o g ( ) (print ( e v a l (car L)))
(terpr)))
(t ( p r o g ( ) (print ( e v a l ( c a r L)) ( e v a l ( c a d r L)))
(terpr (eval ( c a d r L)))))))
Ap p e n d i x 2: Co mme n t a r y o n p r o g r a m
The execut i ve funct i on start;
a) i nput s piece_to_play, whi ch is a Lisp represent at i on of groupi ng;
b) opens port for out put to datafile;
c) calls t he funct i on set_up_vars;
d) calls the mai n funct i on play;
e) closes port.
The funct i on set_up_vars initialises
a) t he six paramet ers of t he encodi ng funct i on as in Eqn. 5;
b) t he out put pl an output whi ch is a list of durat i ons.
The mai n funct i on play recursi vel y oper at es on tsr and r et ur ns a list of
durat i ons. On each call t he funct i on will do one of four things:
a) if it is a piece, whi ch is t he t op level of t he st ruct ure, t hen t he funct i on
Iook__ahead is called; look_.ahead assi gns t he val ues depth and phrase
to a propert y-l i st for each sub- gr oup at t hat level;
D
o
w
n
l
o
a
d
e
d

B
y
:

[
I
n
g
e
n
t
a

C
o
n
t
e
n
t

D
i
s
t
r
i
b
u
t
i
o
n

P
s
y

P
r
e
s
s

T
i
t
l
e
s
]

A
t
:

0
8
:
0
6

5

D
e
c
e
m
b
e
r

2
0
0
9
(defun set_up(Group)
(cond
((or (null Group)
(and (atom Group)
(null (eval Group)))) ( ))
((surface_group Group) (eval Group
((atom Group) (seCup (eva I Group)
(t (append (seCup (car Group)
(seCup (cdr Group))
(defun superpose(Phrase Output)
(cond
((null Output) Phrase)
((null Phrase) Output)
((atom Phrase) (plus Phrase Output)
A computational model of rubato B5
(t (cons (superpose (car Phrase) (car Output
(superpose (cdr Phrase) (cdr Output)))))
(defun square(N)
(times N N))
(defun print fexpr(L)
(cond
((null (cdr L) (prog( ) (print (eval (car L)
(terpr)))
(t (prog() (print (eval (car L) (eva I (cadr L)))
(terpr (eval (cadr L))
Appendix 2: Commentary on program
The executive function start;
a) inputs piece_toJ'lay, which is a Lisp representation of grouping;
b) opens port for output to data file;
c) calls the function set_up_vars;
d) calls the main function play;
e) closes port.
The function set_up_vars initialises
a) the six parameters of the encoding function as in Eqn. 5;
b) the output plan output which is a list of durations.
The main function play recursively operates on tsr and returns a list of
durations. On each call the function will do one of four things:
a) if it is a piece, which is the top level of the structure, then the function
look_ahead is called; look_ahead assigns the values depth and phrase
to a property-list for each sub-group at that level;
(defun set_up(Group)
(cond
((or (null Group)
(and (atom Group)
(null (eval Group)))) ( ))
((surface_group Group) (eval Group
((atom Group) (seCup (eva I Group)
(t (append (seCup (car Group)
(seCup (cdr Group))
(defun superpose(Phrase Output)
(cond
((null Output) Phrase)
((null Phrase) Output)
((atom Phrase) (plus Phrase Output)
A computational model of rubato B5
(t (cons (superpose (car Phrase) (car Output
(superpose (cdr Phrase) (cdr Output)))))
(defun square(N)
(times N N))
(defun print fexpr(L)
(cond
((null (cdr L) (prog( ) (print (eval (car L)
(terpr)))
(t (prog() (print (eval (car L) (eva I (cadr L)))
(terpr (eval (cadr L))
Appendix 2: Commentary on program
The executive function start;
a) inputs piece_toJ'lay, which is a Lisp representation of grouping;
b) opens port for output to data file;
c) calls the function set_up_vars;
d) calls the main function play;
e) closes port.
The function set_up_vars initialises
a) the six parameters of the encoding function as in Eqn. 5;
b) the output plan output which is a list of durations.
The main function play recursively operates on tsr and returns a list of
durations. On each call the function will do one of four things:
a) if it is a piece, which is the top level of the structure, then the function
look_ahead is called; look_ahead assigns the values depth and phrase
to a property-list for each sub-group at that level;
86 Neil Todd
b) if it is an i nt ermedi at e-group t hen t he funct i on plan_phrase is called as
wel l as look_ahead; plan_phrase appl i es t he encodi ng funct i on
rubato to a gr oup usi ng as i nput t he propert i es assi gned at t he level
above by look_ahead; on each call of planphrase t he resul t is super-
pos ed ont o t he out put pl an output;
c) if it is a surface-group t hen t he funct i on planphrase is called;
d) if it is beat, whi ch in this i mpl ement at i on is j ust an integer, t hat t he
funct i on play_beat is called; play_beat pri nt s t he first el ement of
output to datafile and reset s output less t he first el ement .
The algorithm ends whe n all t he gr oups have been pl ayed.
Appendix 3: Grouping analysis for Haydn Sonata 59
The gr oupi ng analysis was der i ved from t he dat a of a performance of t he
Adagi o from Haydn' s Sonata 59 usi ng t he algorithm listen (rl = 1, r2 =
1.5) (see Todd, in press). In t he analysis sgn signifies nth surface-group
and ign nth i nt ermedi at e-group. This piece has t wo levels and t herefore
t wo timing component s. At t he t op level t here are t hree gr oups igl, ig2
and ig3.
( s e t q s g l ' ( 1 1 1 1 1 ) )
( s e t q s g 2 ' ( 1 1 1 ) )
( s e t q s g 3 ' ( 1 1 1 ) )
( s e t q s g 4 ' ( 1 1 1 1 1 ) )
( s e t q i g l ' ( ( s g 1 ) ( s g 2 ) ( s g 3 ) ( s g 4 ) ) )
( s e t q s g 5 ' ( 1 1 1 1 ) )
( s e t q s g 6 ' ( 1 1 1 1 1 1 ) )
( s e t q s g 7 ' ( 1 1 ) )
( s e t q s g 8 ' ( 1 1 ) )
( s e t q s g l O ' ( 1 1 1 1 ) )
( s e t q i g 2 ' ( ( s g 5 ) ( s g 6 ) ( s g 7 ) ( s g 8 ) ( s g 9 ) ( s g l 0 ) ) )
( s e t q s g 1 1 ' ( 1 1 1 1 ) )
( ~ e t q s g 1 2 ' ( 1 1 1 1 1 1 ) )
( s e t q s g 1 3 ' ( 1 1 ) )
( s e t q s g 1 4 ' ( 1 1 ) )
( s e t q s g 1 5 ' ( 1 1 ) )
( s e t q s g 1 6 ' ( 1 1 1 1 ) )
( s e t q i g 3 ' ( ( s g 1 1 ) ( s g 1 2 ) ( s g 1 3 ) ( s g 1 4 ) ( s g 1 5 ) ( s g 1 6 ) ) )
( s e t q t s r ' ( ( i g l ) ( i g 2 ) ( i g 3 ) ) )
D
o
w
n
l
o
a
d
e
d

B
y
:

[
I
n
g
e
n
t
a

C
o
n
t
e
n
t

D
i
s
t
r
i
b
u
t
i
o
n

P
s
y

P
r
e
s
s

T
i
t
l
e
s
]

A
t
:

0
8
:
0
6

5

D
e
c
e
m
b
e
r

2
0
0
9
86 Neil Todd
b) if it is an intermediate-group then the function planyhrase is called as
well as look_ahead; planyhrase applies the encoding function
rubato to a group using as input the properties assigned at the level
above by look_ahead; on each call of planyhrase the result is super-
posed onto the output plan output;
c) if it is a surface-group then the function planyhrase is called;
d) if it is beat, which in this implementation is just an integer, that the
function play_beat is called; play_beat prints the first element of
output to datafile and resets output less the first element.
The algorithm ends when all the groups have been played.
Appendix 3: Grouping analysis for Haydn Sonata 59
The grouping analysis was derived from the data of a performance of the
Adagio from Haydn's Sonata 59 using the algorithm listen (rl = 1, r2 =
1.5) (see Todd, in press). In the analysis sgn signifies nth surface-group
and ign nth intermediate-group. This piece has two levels and therefore
two timing components. At the top level there are three groups igl, ig2
and ig3.
(setq sg1 '(1 1 1 1 1))
(setq sg2 '(1 1 1))
(setq sg3 '(1 1 1))
(setq sg4 '(1 1 1 1 1))
(setq ig1 'sg1) (sg2) (sg3) (sg4)))
(setq sg5 '(1 1 1 1))
(setq sg6 '(1 1 1 1 1 1))
(setq sg7 '(1 1))
(setq sg8 '(1 1))
(setq sg1 0 '(1 1 1 1))
(setq ig2 'sg5) (sg6) (sg7) (sg8) (sg9) (sg1 0)))
(setq sg11 '(1 1 1 1))
(Getq sg12 '(1 1 1 1 1 1))
(setq sg13 '(1 1))
(setq sg14 '(1 1))
(setqsg15'(11))
(setqsg16'(1111))
(setq ig3 'sg11) (sg12) (sg13) (sg14) (sg15) (sg16)))
(setq tsr 'ig1) (ig2) (ig3)))
86 Neil Todd
b) if it is an intermediate-group then the function planyhrase is called as
well as look_ahead; planyhrase applies the encoding function
rubato to a group using as input the properties assigned at the level
above by look_ahead; on each call of planyhrase the result is super-
posed onto the output plan output;
c) if it is a surface-group then the function planyhrase is called;
d) if it is beat, which in this implementation is just an integer, that the
function play_beat is called; play_beat prints the first element of
output to datafile and resets output less the first element.
The algorithm ends when all the groups have been played.
Appendix 3: Grouping analysis for Haydn Sonata 59
The grouping analysis was derived from the data of a performance of the
Adagio from Haydn's Sonata 59 using the algorithm listen (rl = 1, r2 =
1.5) (see Todd, in press). In the analysis sgn signifies nth surface-group
and ign nth intermediate-group. This piece has two levels and therefore
two timing components. At the top level there are three groups igl, ig2
and ig3.
(setq sg1 '(1 1 1 1 1))
(setq sg2 '(1 1 1))
(setq sg3 '(1 1 1))
(setq sg4 '(1 1 1 1 1))
(setq ig1 'sg1) (sg2) (sg3) (sg4)))
(setq sg5 '(1 1 1 1))
(setq sg6 '(1 1 1 1 1 1))
(setq sg7 '(1 1))
(setq sg8 '(1 1))
(setq sg1 0 '(1 1 1 1))
(setq ig2 'sg5) (sg6) (sg7) (sg8) (sg9) (sg1 0)))
(setq sg11 '(1 1 1 1))
(Getq sg12 '(1 1 1 1 1 1))
(setq sg13 '(1 1))
(setq sg14 '(1 1))
(setqsg15'(11))
(setqsg16'(1111))
(setq ig3 'sg11) (sg12) (sg13) (sg14) (sg15) (sg16)))
(setq tsr 'ig1) (ig2) (ig3)))
A computational model ofrubato 87
Ap p e n d i x 4: Gr o u p i n g a n a l y s i s f o r Ch o p i n p r e l u d e
This gr oupi ng analysis was deri ved from an average of t wo performances
of Chopi n' s Prel ude in F# Mi nor usi ng t he al gori t hm listen (rl = 1, r2 =
1.18, r3 = 1.4) (see Todd, in press). In t he analysis tgn signifies t he nt h top-
level group. This piece has t hree structural levels and t herefore t hree
component s. At t he top level it is di vi ded into t wo sections t gl and tg2.
( s e t q s g l ' ( 1 1 1 1 ) )
( s e t q s g 2 ' ( 1 1 1 1 ) )
( s e t q s g 3 ' ( 1 1 1 1 1 ) )
( s e t q s g 4 ' ( 1 1 1 ) )
( s e t q i g l ' ( ( s g l ) ( s g 2 ) ( s g 3 ) ( s g 4 ) ) )
( s e t q s g 5 ' ( 1 1 1 1 ) )
( s e t q s g 6 ' ( 1 1 1 1 1 ) )
( s e t q s g 7 ' ( 1 1 ) )
( s e t q s g 8 ' ( 1 1 1 ) )
( s e t q s g 9 ' ( 1 1 ) )
( s e t q s g l O ' ( 1 1 1 1 ) )
( s e t q s g 1 1 ' ( 1 1 1 1 ) )
( s e t q s g 1 2 ' ( 1 1 1 1 ) )
( s e t q s g 1 3 ' ( 1 1 1 1 ) )
( s e t q s g 1 4 ' ( 1 1 1 1 1 1 1 1 ) )
( s e t q i g 2 ' ( s g 5 ) ( s g 6 ) ( s g 7 ) ( s g 8 ) ( s g g ) ( s g l O ) ( s g l 1 ) ( s g 1 2 ) ( s g 1 3 ) ( s g 1 4 ) )
( s e t q s g 1 5 ' ( 1 1 1 1 ) )
( s e t q s g 1 6 ' ( 1 1 1 1 ) )
( s e t q i g 3 ' ( ( s g l 5 ) ( s g l 6 ) ) )
( s e t q s g 1 7 ' ( 1 1 1 1 ) )
( s e t q s g 1 8 ' ( 1 1 1 1 ) )
( s e t q i g 4 ' ( ( s g l 7 ) ( s g l 8 ) ) )
( s e t q t g l ' ( ( i g l ) ( i g 2 ) ( i g 3 ) ( i g 4 ) ) )
( s e t q s g 1 9 ' ( 1 1 1 1 ) )
( s e t q s g 2 0 ' ( 1 1 1 ) )
( s e t q s g 2 1 ' ( 1 1 1 1 ) )
( s e t q s g 2 2 ' ( 1 1 1 1 1 ) )
( s e t q i g 5 ' ( ( s g l 9 ) ( s g 2 0 ) ( s g 2 1 ) ( s g 2 2 ) ) )
( s e t q s g 2 3 ' ( 1 1 1 1 ) )
( s e t q s g 2 4 ' ( 1 1 1 1 1 ) )
( s e t q s g 2 5 ' ( 1 1 1 ) )
( s e t q s g 2 6 ' ( 1 1 1 1 ) )
( s e t q i g 6 ' ( ( s g 2 3 ) ( s g 2 4 ) ( s g 2 5 ) ( s g 2 6 ) ) )
( s e t q s g 2 7 ' ( 1 1 1 1 ) )
( s e t q s g 2 8 ' ( 1 1 1 1 ) )
D
o
w
n
l
o
a
d
e
d

B
y
:

[
I
n
g
e
n
t
a

C
o
n
t
e
n
t

D
i
s
t
r
i
b
u
t
i
o
n

P
s
y

P
r
e
s
s

T
i
t
l
e
s
]

A
t
:

0
8
:
0
6

5

D
e
c
e
m
b
e
r

2
0
0
9
A computational model of rubato 87
Appendix 4: Grouping analysis for Chopin prelude
This grouping analysis was derived from an average of two performances
of Chopin's Prelude in F# Minor using the algorithm listen (r1 = 1, r2 =
1.18, r3 = 1.4)(see Todd, in press). In the analysis tgn signifies the nth top-
level group. This piece has three structural levels and therefore three
components. At the top level it is divided into two sections tgl and tg2.
(setq sg1 '(1 1 1 1))
(setq sg2 '(1 1 1 1))
(setq sg3 '(1 1 1 1 1))
(setq sg4 '(1 1 1))
(setq ig1 'sg1) (sg2) (sg3) (sg4)))
(setq sg5 '(1 1 1 1))
(setq sg6 '(1 1 1 1 1))
(setq sg7 '(1 1))
(setq sg8 '(1 1 1))
(setq sg9 '(1 1))
(setq sg1 0 '(1 1 1 1))
(setq sg11 '(1 1 1 1))
(setqsg12'(1111))
(setqsg13'(1111))
(setqsg14'(11111111))
(setq ig2 '(sg5) (sg6) (sg7) (sg8) (sg9) (sg1 0) (sg11) (sg12) (sg13) (sg14))
(setq sg15 '(1 1 1 1))
(setq sg16 '(1 1 1 1))
(setq ig3 'sg15) (sg16)))
(setqsg17'(1111))
(setqsg18'(1111))
(setq ig4 'sg17) (sg18)))
(setq tg1 'ig1) (ig2) (ig3) (ig4)))
(setq sg19 '(1 1 1 1))
(setq sg20 '(1 1 1))
(setq sg21 '(1 1 1 1))
(setq sg22 '(1 1 1 1 1))
(setq ig5 'sg19) (sg20) (sg21) (sg22)))
(setq sg23 '(1 1 1 1))
(setq sg24 '(1 1 1 1 1))
(setq sg25 '(1 1 1))
(setq sg26 '(1 1 1 1))
(setq ig6 'sg23) (sg24) (sg25) (sg26)))
(setq sg27 '(1 1 1 1))
(setq sg28 '(1 1 1 1))
A computational model of rubato 87
Appendix 4: Grouping analysis for Chopin prelude
This grouping analysis was derived from an average of two performances
of Chopin's Prelude in F# Minor using the algorithm listen (r1 = 1, r2 =
1.18, r3 = 1.4)(see Todd, in press). In the analysis tgn signifies the nth top-
level group. This piece has three structural levels and therefore three
components. At the top level it is divided into two sections tgl and tg2.
(setq sg1 '(1 1 1 1))
(setq sg2 '(1 1 1 1))
(setq sg3 '(1 1 1 1 1))
(setq sg4 '(1 1 1))
(setq ig1 'sg1) (sg2) (sg3) (sg4)))
(setq sg5 '(1 1 1 1))
(setq sg6 '(1 1 1 1 1))
(setq sg7 '(1 1))
(setq sg8 '(1 1 1))
(setq sg9 '(1 1))
(setq sg1 0 '(1 1 1 1))
(setq sg11 '(1 1 1 1))
(setqsg12'(1111))
(setqsg13'(1111))
(setqsg14'(11111111))
(setq ig2 '(sg5) (sg6) (sg7) (sg8) (sg9) (sg1 0) (sg11) (sg12) (sg13) (sg14))
(setq sg15 '(1 1 1 1))
(setq sg16 '(1 1 1 1))
(setq ig3 'sg15) (sg16)))
(setqsg17'(1111))
(setqsg18'(1111))
(setq ig4 'sg17) (sg18)))
(setq tg1 'ig1) (ig2) (ig3) (ig4)))
(setq sg19 '(1 1 1 1))
(setq sg20 '(1 1 1))
(setq sg21 '(1 1 1 1))
(setq sg22 '(1 1 1 1 1))
(setq ig5 'sg19) (sg20) (sg21) (sg22)))
(setq sg23 '(1 1 1 1))
(setq sg24 '(1 1 1 1 1))
(setq sg25 '(1 1 1))
(setq sg26 '(1 1 1 1))
(setq ig6 'sg23) (sg24) (sg25) (sg26)))
(setq sg27 '(1 1 1 1))
(setq sg28 '(1 1 1 1))
88 Neil Todd
( s e t q i g 7 ' ( ( s g 2 7 ) ( s g 2 8 ) ) )
( s e t q s g 2 9 ' ( 1 1 1 1 ) )
( s e t q i g 8 ' ( ( s g 2 9 ) ) )
( s e t q s g 3 0 ' ( 1 1 1 1 ) )
( s e t q i g 9 ' ( ( s g 3 0 ) ) )
( s e t q s g 3 1 ' ( 1 1 1 1 ) )
( s e t q i g l 0 ' ( ( s g 3 1 ) ) )
( s e t q s g 3 2 ' ( 1 1 1 1 ) )
( s e t q i g l 1 ' ( ( s g 3 2 ) ) )
( s e t q t g 2 ' ( ( i g 5 ) ( i g 6 ) ( i g 7 ) ( i g 8 ) ( i g 9 ) ( i g l O ) ( i g l 1 ) ) )
( s e t q t s r ' ( ( t g l ) ( t g 2 ) ) )
D
o
w
n
l
o
a
d
e
d

B
y
:

[
I
n
g
e
n
t
a

C
o
n
t
e
n
t

D
i
s
t
r
i
b
u
t
i
o
n

P
s
y

P
r
e
s
s

T
i
t
l
e
s
]

A
t
:

0
8
:
0
6

5

D
e
c
e
m
b
e
r

2
0
0
9
88 Neil Todd
-(setq ig7 '((sg27) (sg28)))
(setq sg29 '(1 1 1 1))
(setq ig8 '((sg29)))
(setq sg30 '(1 1 1 1))
(setq ig9 '((sg30)))
(setq sg31 '(1 1 1 1))
(setq ig1 0 '((sg31)))
(setq sg32 '(1 1 1 1))
(setq ig11 '((sg32)))
(setq tg2 '((ig5) (ig6) (ig7) (ig8) (ig9) (ig1 0) (ig11)))
(setq tsr '((tg1) (tg2)))
88 Neil Todd
-(setq ig7 '((sg27) (sg28)))
(setq sg29 '(1 1 1 1))
(setq ig8 '((sg29)))
(setq sg30 '(1 1 1 1))
(setq ig9 '((sg30)))
(setq sg31 '(1 1 1 1))
(setq ig1 0 '((sg31)))
(setq sg32 '(1 1 1 1))
(setq ig11 '((sg32)))
(setq tg2 '((ig5) (ig6) (ig7) (ig8) (ig9) (ig1 0) (ig11)))
(setq tsr '((tg1) (tg2)))

You might also like