ISMIR2007 Tutorial
T4: Techniques for Implementing
the Generative Theory of Tonal Music
by Keiji Hirata, Satoshi Tojo andMasatoshi Hamanaka

Abstract
This tutorial on Techniques for Implementing GTTM will summarize the entire body ofwork related to computational approaches to the GTTM and report it in a comprehensive
way to MIR researchers and computational musicologists. If one wants to realize MIR
based on musical semantics, the techniques used for implementing GTTM can provide a
powerful tool. Furthermore, the tutorial will put a special focus on perspectives for future
deployments, and discussion will be encouraged with experts in the audience.

2007, Sept. 23㪈Contents
GTTM - an overview (Satoshi Tojo, JAIST)Grouping Analysis
Metrical Analysis
Time-span Reduction
Prolongational Reduction

Implementing GTTM (Keiji Hirata, NTT)
Ambiguities
Solutions - Mainly for Grouping Structure Analysis
Design Approach
Related Work

Automatic Time-span Tree Analyzer: ATTA
(Masatoshi Hamanaka, Univ. of Tsukuba)Grouping Structure Analyzer
Metrical Structure Analyzer
Time-span Tree Analyzer
Experimental Results

Further Information

㪉GTTM -- an overview
Satoshi Tojo
JAIST㪊

Generative Linguistic Theory

Well-formedness and Preferencerules• Noam Chomsky• To create an indefinitely large number ofsentences.
• A literal translation of some aspect of linguistic
theory into music terms, e.g., part of speech,
deep structures, transformations, or semantics,
has foundered.
• Structural Description is the desideratum.
㪋

The Four Analyses
1. Grouping Analysis
2. Metrical Analysis
3. Time-span Tree
4. Prolongational Tree㪍

• Well-formedness rules specify thepossible structural descriptions• Preference rules designate out of thepossible structural descriptions whosethat correspond to experienced
listeners’ hearings of any particularpiece.

㪌

Grouping Analysis

㪎Grouping Analysis (1)Grouping Analysis (2)Well-formedness rules• GWFR1 Any contiguous sequence of pitch-events, drum
beats, or the like can constitute a group, and only
contiguous sequences can constitute a group.
• GWFR2 A piece constitutes a group.
• GWFR3 A group may contain smaller groups.
• GWFR4 If a group G1 contains part of a group G2, it
must contain all of G2.
• GWFR5 If a group G1 contains a smaller group G2, thenG1 must be exhaustively partitioned into smaller groups.

• GPR2 (proximity) Consider a sequence offour notes. The transition of the mid two notes
may be heard as a group boundary if
a. the interval of time from the end of the 2nd note to
the beginning of the 3rd is greater than others.

b. the interval of time between the attack points ofthe 2nd and the 3rd is greater than others.
㪏㪐Grouping Analysis (3)• GPR3 (change) Consider a sequence offour notes, n2-n3 may be heard as a groupboundary, if
a. registerb. dynamics
c. articulationd. lengthchanges.
㪈㪇

W. A. Mozart: Symphony No.40 in G minor, K.550

㪈㪈Grouping Analysis (4)Grouping Analysis (5)• GPR5 (Symmetry) Prefer grouping
analyses that most closely approach theideal subdivision of groups into two partsof equal length.
• GPR6 (Parallelism) Where two or moresegments of music can be construed asparallel, they preferably form parallel partsof groups.

• GPR1 Strongly avoid groups containing a single
event.
• GPR4 Where the effects picked out by GPRs2
and 3 are relatively pronounced, a larger-levelgroup boundary may be placed.
• GPR7 Prefer a grouping structure that results inmore stable time-span and/or prolongational
reductions.
㪈㪉㪈㪊Metrical Analysis

㪈㪋Metrical Analysis (1)Well –formedness rules (Preliminary version)• MWFR1 – Every attack point must be
associated with a beat at the smallest level of
metrical structure.
• MWFR2 – Every beat at a given level mustalso be a beat at all smaller levels.
• MWFR3 – At each metrical level, strong beats
are spaced either two or three beats apart.
• MWFR4 – Each metrical level must consist ofequally spaced beats.

㪈㪌㪈㪍

Metrical Analysis (2)Metrical Analysis (3)• MPR1 – (parallelism) Where two or moregroups or parts of groups can beconstrued as parallel, they preferably
receive parallel metrical structure.
• MPR2 – (strong beat early) Weakly prefera metrical structure in which the stronger
beat in a group appears relatively early in
the group.

• MPR3 – (event) The inception of pitchevents, instead of rests or continuationsof other pitch-events, are strong beats.
• Violation of MPR3, marked by asterisks,
should be minimized.
• Syncopation, to meet the requirement of
metrical regularity.
㪈㪎㪈㪏Metrical Analysis (4)• MPR4 (stress -- accent) Prefer a metricalstructure in which stressed beats arestrong beats.

㪈㪐㪉㪇

Metrical Analysis (5)• MPR5 (Length) – Prefer a metricalstructure in which relatively strong beatsoccur at the inception of notes ofrelatively long duration. (preliminary
version)

㪉㪈

㪉㪉

㪉㪊

Metrical Analysis (6)• MPR6 (Bass) Prefer a metrically strong bass.
• MPR7 (Cadence) Strongly prefer a metricalstructure in which cadences are metricallystable; that is, strongly avoid violations oflocal preference rules within cadences.
• MPR8 (Suspension) Strongly prefer ametrical structure in which a suspension is ona stronger beat than its resolution.
• MPR9 (Time-span interaction) Prefer ametrical analysis that minimizes conflict in thetime-span reduction.
• MPR10 Prefer duple meter to triple.

㪉㪌㪉㪋Time-span Reduction

㪉㪍The Tree Notation

Reduction Hypothesis• Reduction (step-by-step simplification): The
listener attempts to organize all the pitch
events of a piece into a single coherent
structure, such that they are heard in ahierarchy of relative importance.
• Pitch events are heard in a strict hierarchy• Structurally less important events are notheard simply as insertions, but in a specified
relationship to surrounding more important
events.

㪉㪎㪉㪏What is Stability?
• Rhythmic stability (grouping + metrical)• Pitch stability

J. S. Bach: `O Haupt voll Blut
Und Wunden’ from St. Matthew
㪉㪐Passion BWV244.

Two reduction theories- time-span reduction- prolongational reduction…prolongs across group boundaries.
they may not be congruent.
㪊㪇Time-Span Reduction –preview㪊㪈Cadential Retention

Time-span Tree and Structural
Accents• [b] and [c]: like a ball thrown and caught, theoverarching elements of a phrase are its
structural beginning and its cadence.
• The [b] and [c] of a phrase must emerge as
its structurally most important events in thetime-span reduction.
• A phrase can be characterized roughly as thesmallest level of grouping in which there is a[b] and a [c].

㪊㪉

• The half cadence or the deceptive cadence
might not emerge simply on grounds of pitch
stability as structurally important at the phrase
level.
• The full cadence and the deceptive cadence
possess two members, joined together as a unit.

㪊㪊• The two-membered cadence should be counted
as one event.
Egg-like shape attaching.

㪊㪋Our hearing: halfcadence and fullcadence.

The absurd result:
I emerges
because its pitch
structure is morestable and the V in
the full cadence
disappears.
㪊㪌㪊㪍

W. A. Mozart: Piano Sonata No.11 in A major, K.331

Background Structure

Time-span• Intermediate V is not the structural
dominant. The structural dominant (themost important V in a passage) is the V at
the full cadence that resolves the passage
as a whole.

• A time-span is an interval of time
beginning at a beat of the metricalstructure and extending up to, but notincluding, another beat.
• A group is a time-span.
• If a group boundary intervenes, the beats
determine the augmented time-span.
㪊㪎㪊㪏Time-span reduction (1)• TSRWFR1 – There is a ‘head’ event.
• TSRWFR2 – The lowest tree is an event.
• TSRWFR3 – Ordinary reduction: heads
are chosen among sub-trees’ heads. Plus,fusion, transformation, and cadential
retention. (cf. next page)• TSRWFR4 – A two-element cadence: thepenult < the final.

L. van Beethoven: The fourth movement from Symphony No.9 in d minor, op125.

In measure 13, the first beat of the half-note level determines
two time-spans, marked w and x. The regular time-span is w
and the augmented one is x.
㪊㪐㪋㪇Time-span reduction (2)Time-span reduction (3)• Fusion – Arpeggiation of a chord, etc.
• Transformation – The hypothetical chord isinserted.
• Cadential retention – a sequence of
events forming a cadence to serve as thehead.

• TSRPR1 – Prefer strong metrical position for thehead.
• TSRPR2 – Prefer relatively consonant or closely
related to the local tonic for the head.
• TSRPR3 – Weakly prefer a higher melodic pitch
or a lower bass pitch.
• TSRPR4 – Parallelism• TSRPR5 – Prefer metrical stability: unstablechord in strong metrical position vs. more stablechord in weak metrical position.
㪋㪈㪋㪉Time-span reduction (4)In choosing the head of a time-span, prefera choice that results in:• TSRPR6a – more stable linear connection
with events in adjacent time-spans.
• TSRPR6b –more stable harmonicconnection with events in adjacent timespans.
More stable choice of prolongational
reduction.

Time-span reduction (5)• Cadenced group:– Structural beginning [b]– Structural ending (cadence) [c]㪋㪊

If there is G (group) larger than T (time-span),• TSRPR7 (preliminary)– Of the possible choices
for head of T, prefer an event or pair of events
that forms a cadence as [c] of G.
• TSRPR8 – Choose an event relatively close to
the beginning of T as [b] of G.
• TSRPR9 – [c] > [b].

㪋㪋Prolongational Reduction㪋㪌Prolongational reduction -- preview• Tension – right branching• Relaxation – left branching• Progression – no consonant• Weak prolongation – same root (filled-in
circle)• Strong prolongation – same bass, melody,root (open circle)㪋㪍Basic form㪋㪎

Prolongational reduction (1)• Corresponding to Schenkerian Ursatz• Antecedent – Consequent• Cadential preparation – events leading up
to the cadence – subdominant-dominanttonic.

• PRWFR1 – There is a prolongational head
• PRWFR2 – (elaboration)– Progression– Weak prolongation– Strong prolongation• PRWFR3 – Either head or elaboration• PRWFR4 – No crossing branches㪋㪏㪋㪐Prolongational reduction (2)Prolongational Reduction (3)• PRPR1 – The most important event in
the next lower level is time-span
important.

• PRPR2 – The prolongationally mostimportant event should be an elaboration
within the time-span.

㪌㪇㪌㪈Among four choices of V or I and toward right or left, Figure (a)is most stable. This may go beyond group boundary.

Prolongational Reduction (4)• PRPR3 – In choosing the mostimportant event in a region, prefer one
to form a maximally stable connection
with one of the endpoints(beginning/ending).

㪌㪉Then V in the antecedent is attached to the initial I as in
Figure (b).

㪌㪊Stability Conditions – cont’dStability Conditions

3. (Melodic condition)

1. (Branching condition)a. (Distance) Melodically more stable if the
distance is smaller.
b. (Direction) Ascending is most stable in rightbranching; descending is most stable in leftbranching.

a. Right strong prolongation > right weak prolongation >right prolongationb. Left prolongation > left weak prolongation > left
strong prolongation

4. (Harmonic condition)

2. (Pitch-collection condition)
A connection between two events is morestable if they involve or imply a common
diatonic collection.

a. (Distance) Harmonically more stable if their roots
are closer on the circle of fifths.
b. (Direction) Ascending along the circle of fifths ismost stable in right-branching; descending along
the circle (subdominant to dominant) is moststable in left-branching.

㪌㪋Prolongational reduction (5)㪌㪌Prolongational reduction (6)••• PRPR4 –The most important event is anelaboration of the prolongationally more
important of the endpoints.

PRPR5 – parallelism
PRPR6 – Normative prolongational structure
a. a prolongational beginningb. a prolongational endingc. (a right-branching prolongation as elaboration of
beginning)d. a right-branching progression as elaboration ofending.
e. a left-branching ‘subdominant` progression㪌㪍㪌㪎Implementing GTTM
Keiji HirataNTT㪌㪏Implementing Music Theory

Motivation and Benefits

Formalizing Music Analysis
Implementing Music Analyzer

Musicology

Physics, Engineering
Principle, Rule, Model

Musical concepts will be formalized:
Melody, Rhythm, Harmony…
Score, Performance, Insight…
• Describing them mathematically• Constructing a computer program

Music Theory

Abstraction

Experiments Abstraction
Mechanization

Real-world
Phenomena

Simulation

Music
Composition
Listening

Correspondence!

㪌㪐

Testable, Comparable, Refutable

Experiments
Mechanization
Simulation
3

Correspondence?

㪍㪇“Correct” music theory(GTTM, p.112)

Benefits of Implementing
Music Theory

Why GTTM?
•Rules modularly describe musical insight and concepts
Rule format easily accumulates knowledge•GTTM is well organized in defining concepts•Rule descriptions in GTTM are relatively rigid

Lerdahl and Jackendoff (1983), p. 55:
Our theory cannot provide a computable procedure fordetermining musical analyses. However, achieving
computability in any meaningful way requires a muchbetter understanding of many difficult musical andpsychological issues than exists at present.

Relatively easy to translate rule description
into computer programs•Melody, rhythm, and harmony all in a single framework•Developed based on reduction concept
Reduction relation corresponds to “is-a” relation

Temperley (2001), p. 14:
If the parameters of the rules can be specified, the outputof the rule system for a given input can be determined in
an objective way, making the theory truly testable.

㪍㪈㪍㪉

Wide applicability of theory to working systems

Ambiguities

㪍㪊Ambiguity in Music Analysis

Ambiguity in Music Understanding
Lerdahl and Jackendoff (1983), GTTM, p. 9:• Music Understanding Itself

In music, … grammaticality per se plays a far less importantrole, since almost any passage of music is potentially vastly
ambiguous—it is much easier to construe music in a
multiplicity of ways. The reason for this is that music is not tied
down to specific meanings and functions, as language is. In asense, music is pure structure, to be “played with” withincertain bounds. The interesting musical issues usually concern
what is the most coherent or “preferred” way to hear a passage.

• Rule Definitions- Concepts are just implicitly presented- Concepts needed for mechanization are notpresented (nor suggested)- Concepts are presented but incomplete㪍㪋

We assume a piece may have more than one
correct analysis result

㪍㪌Ambiguity in Rule Definitions (2/3)

Ambiguity in Rule Definitions (1/3)• Concepts/Rules needed for mechanization are notpresented (nor suggested)• Concepts/Rules are just implicitly presented

Working Algorithm for Acquiring Hierarchy:
Rule Conflict (GTTM, p. 54)
GPR1: Strongly avoid groups containing a single event

Non-Local

GPR5: Top-down building of grouping structure

GPR3a, GPR6
1 2 3 4 5 6 7 8 9 10 11 12 13 14

…
…

䌞 6䌞
3a

䌞 6䌞
3a

䌞
3a,6

㪍㪍

GPR2, GPR3: Bottom-up building of grouping structure
Local

㪍㪎

Non-local Effect inTop-down Segmentation

Ambiguity in Rule Definitions (3/3)•Concepts/Rules are presented but incomplete
Vague/obscure definition

GPR5:
Prefer grouping analyses that most closely approach the ideal
subdivision of groups into two parts of equal length

GPR4: (Intensification) When effects selected by GPR2/3 are relatively
more pronounced, a larger-level group boundary may be placed
GPR6: When two or more segments of the music can be construed asparallel, they preferably form parallel parts of groups(p.52)

Circular definition
GPR7:
Time-Span and
Prolongational Stability

Time-Span
Reduction

MPR9:Time-Span Interaction

Equivocal definition
㪍㪏Stability: Metrical stability (p. 68)
Pitch stability (p. 117)
Stable time-span reduction (GPR7)

㪍㪐
Lerdahl, F. (2001)
Tonal Pitch SpaceSolutions- Mainly for Grouping Structure Analysis

㪎㪇Resolving Rule Conflict:
In case of GPR1

Example: Resolving Rule Conflict
Weight for controlling strength of each rule

• GPR1: Strongly avoid groups containing a single event• Introducing parameters Drule(i) and Srule%

low(i)

DGPR1(i)6 SGPRjuDGPRj(i)j{2a, 2b, 3a, 3b, 3c, 3d, 6}

Degree of each rule being held at note i

Blow(i) 10

S GPR jAdjustableparameters

DGPR2a(i)DGPR2b(i)DGPR3a(i)DGPR3b(i)DGPR3c(i)DGPR3d(i)DGPR6 (i)Two patterns










Degree of segmentationi(local boundary)

i
i
i
i
i
i
i

)24C )24D

㪎㪈

Example: Working Algorithm for
Acquiring Hierarchical Grouping Structure

SGPR3a vs SGPR2b

㪎㪉Integration of Top-down and Bottom-up

Local

GPR1
GPR2: proximity
Bottom-up
GPR3: change
GPR4: intensification of GPR2/3
Non-local
GPR5: SymmetryTop-down
GPR6: Parallelism
Can be preprocessed
Circular
GPR7: Time-Span and Prolongational Stability㪎㪊Given interval [s,e] at a level
GPR 2, 3, and 6
low(i) > Tlow D
1
if
B
(i)
low
GPR1
1. D (i) =Bottom-up
0 otherwise
Local
Top-down(DGPR5(i) varies at each iteration)
Non-local 6SGPRj u DGPRj(i)j{2a, 2b, 3a, 3b,3c, 3d, 4,5,6}

2. Bhigh(i) =max(6SGPRj u DGPRj(k))
k

3. i^ = argmax Dlow(i) u Bhigh(i)i^^

4. Go to next levels [s,i] and [i,e]
s

^
i

e

Iterate until group cannot be segmented
DGPR5(i) is recalculated at each iteration(DGPR6(i) is preprocessed)

㪎㪋
s

^
i

e

Well-formedness Rule

Example: Implementing GPR6

This way of generating ahierarchical grouping structure
satisfies GWFR 1~5

GPR6:
When two or more segments of music can be construed asparallel, they preferably form parallel parts of groups…
D GPR6

DGPR6(i)i

Possibility of note i being
a boundaryi0

Also in Metrical Analysis and Time-Span Reduction, algorithms are designed 㪎㪌
so that the way they generate the resulting hierarchical structure satisfies thewell-formedness rules

Metrical Position

How to Calculate DGPR6(i) , whose value rises at the
beginning and end of parallel segments?

Parameters Required for
Calculating DGPR6(i)Calculating Degrees of Same
Rhythm and Pitch

Design Outline (How to preprocess non-local structure)

Given two fragments at positions m and n of same length r,• Develop an algorithm to calculate similarity between
two fragments at positions m and n of length r• For every two fragments of any length within a piece,
exhaustively calculate similarities㪎㪍Am,n,2: degree of same rhythmm
m+1 m+2

Metrical position

Entire piece mnnfragment

fragmentrr
similarity

Check all combinations of m, n, and r
Fortunately, GPR6 is independent of other GPRs

n+1

㪎㪎

Bm,n,2: degree of same pitchn+2

Am,n,r, Bm,n,r㪎㪏(algorithms to exchange
later for improved ones)

Giving Priority to Pitch Contour orNote Timing

Additional Predicates and Functions
for Intermediate Decisions
Functions

Given two fragments at positions m and n of same length r,head(m): returns first note i (ith note) at interval [m,m+1)
tail(m): returns last note i at interval [m,m+1)
beat(i): returns m if note i occurs in [m,m+1)

Note timing

Value Am,n,r is degree of same rhythm
Value Bm,n,r is degree of same pitch

Predicates

Pitch Contour

Total similarity between fragments [m,m+r) and [n,n+r):
G(m,n,r) ={ Am,n,r u (1 – Wm) + Bm,n,r u Wm} u rW

Introducing two adjustable parameters:lImplicit and/or
lacking㪎㪐•Wm: weighting more to pitch contour or note timing•Wl: weighting to larger fragment

We Almost Come to DGPR6(i)Note i can occur only at beginning of parallel segment:b(i) { (i=head(beat(i))  i z tail(beat(i)))
Note i can occur only at end of parallel segment:e(i) { (i z head(beat(i))  i = tail(beat(i)))
Note i can occur at either beginning or end of parallel segment:㪏㪇t(i) { (i = head(beat(i))  i = tail(beat(i)))

Final Stage of Calculating DGPR6(i)More precisely,

L=Total LengthG(beat(i),n,r) u (1-Ws)

if b(i) holds

L L/2

G(beat(i)-r,n-r,r) u Ws

if e(i) holds

n = 1r = 1

G(beat(i),n,r) u (1-Ws)+ G(beat(i)-r,n-r,r) u Ws if t(i) holds

b(i) holds
A(i) =
e(i) holds

66

0

DGPR6(i) = A(i) / max(A(k))
k

DGPR6(i)㪏㪈otherwise
Implicit and/or
lacking

Introducing one more adjustable parameter:
Ws: weighting more to either beginning or end of fragment

㪏㪉Overview: Calculation of DGPR6(i)GPR6:When two or more segments of music can be construed asparallel, they preferably form parallel parts of groups
exhaustive comparison
across entire piece

Pitch Contour andNote Timing

Similarity Algorithm
for Short Fragments

Similarity between[m,m+r) and [n,n+r)

L L/2

66

n = 1r = 1

exchangeable
Implicit and/or lacking

W m, W l

Additional
Predicates andFunctions

Ws•Wm: weighting more to pitch contour or note timing•Wl: weighting to larger fragment•Ws: weighting more to either beginning or end of fragment

㪏㪊Design Approach㪏㪋Approach to Handling Ambiguityin GTTM• Supplement as many implicit or lacking
parameters as possible
Full externalization and parameterization• Entire problem of music analysis split into
- identifying domain of all possible results- searching for the most preferred result• Focus on implementing GTTM, but without
considering the human process of perceiving andrecognizing music

Proposal of exGTTM
Ambiguity in Music Analysis
Music Understanding Itself

Rule Definitions of GTTM

GTTM Extended by
Full Externalization and Parameterization

Improving Coverage Property㪏㪌= exGTTM
exGTTM

Searching for Optimal
Parameter Value Assignments

Recall rate㪏㪍Precision rate

Manual at present(see Hamanaka et al. (2007))

exGTTM: Restrictions in
Implementing GTTM

Features of exGTTM• Introducing new parameters for– Resolving rule conflict– Supplementing implicit/lacking concepts– Developing a working algorithm• Only a monophony is handled• Harmony is not taken into account• Only ordinary heads occur in a time-span tree
• No feedback from time-span reduction to grouping
and metrical analyses• Prolongational reduction is not mechanized• Input representation is a list of notes(especially an algorithm for acquiring hierarchy)• Full Externalization and Parameterization• Restrictions in implementing GTTM
• Generating as many correct results for humans as
possible(a monophonic piano roll)㪏㪎㪏㪏(see Hamanaka et al. (2007))Generation of Correct Results
Goals•Coverage of All Human Results•Precise Controllability
Coverage Property(recall rate)
All possible time-span reductions: Correct Time-Span Reductionfor Humans: Wrong Time-Span Reduction
Generated by exGTTM
using different parameter value sets㪏㪐

Related Work㪐㪇

Temperley’s Preference Rule
Systems (PRS)

Practical Implementations• Temperley: Preference Rule Systems andMelisma (2001)• Stammem & Pennycook (1994)• Nord (1992)• Hamanaka & Hirata: Voronoi Diagram(2002)

Temperley (2001)u㪐㪈

The Melisma System of
Temperley & Sleator

Score

㪐㪉

Dynamic Programming in
Melisma’s Meter Program
Execution order: left-to-right
Weights: fixedParameters: pre-determined

Possible analyses

Available at: http://www.link.cs.cmu.edu/music-analysis/

MPR1: Event Rule
MPR2: Length Rule
MPR3: Regularity Rule
MPR4: Grouping Rule
MPR5: Duple Bias Rule

Implementation Problems in Melisma:• How the system generates and evaluates
individual possible analyses• How Melisma evaluates all possible
well-formed analyses of a piece andfinds optimal analysis

Analyzing Six Aspects:• Meter• Melodic phrase
Well-formedness Rules• Counterpoint
and• Pitch spelling
Preference Rules• Harmony• Key

Note Score= Beat location
Best-so-far analyses

Effective length

Optimalscore

Effective length

time

㪐㪊
Bn-2

Bn-1
(possible) Beat intervals

Bn
Bn-1

㪐㪋

Dynamic Programming in
Melisma’s Grouper Program

Score

PRS vs. exGTTM

Execution order: left-to-right
Weights: fixedParameters: pre-determined
Optimal score•Well-formedness Rules  Preference Rules
Constructing Hierarchical Structureso Optimization Problem
PRS (Melisma)exGTTM (ATTA)

Preference Rule Systems

GTTM
 Full Ext. & Param.
 Algorithm for Hierarchy

Left-to-right by
Dynamic Programming

Top-down & Bottom-up by
Constraint Satisfaction

Possibleibl analyses
Number of notes
Metrical position of theprevious phrase’s beginning

PSPR1: Gap RulePSPR2: Phrase Length Rule
PSPR3: Metric Parallelism Rule
Raw gap score

IOI, OOI(possible) Previous
phrase’s beginning

Best-so-far analyses

time
Bn-1

Beat list

㪐㪌

Bn

Ambiguity, Revision,
Expectation, and Style inMusical Perception h

Ambiguity and Style inMusical Perception

Numerical score of how well
the PRS applies to a piece j(Degrees Drule(i) and Weights Srule)hTemperley 2001, p. 205

jTemperley 2001, p. 293

Example: Implementation of GPR

Nord’s Implementation of GTTM

GPR2

• This Prolog implementation covers all sub-theories of GTTM
• An early forerunner for later practical implementations

GPR3

GPR5

GPR4

GPR1

Top-down generationof hierarchical structure
by mechanical splitting• Execution order is fixed• There are few parameters• Parameter values are given a priori without musicological reasons

However:• Straightforward and oversimplified interpretation of rules• Some rules not implemented
Very limited applicability

Implementation can successfully
analyze only a very few pieces

㪐㪍Nord’s Interpretations:E.g.,“prefer” into “always choose”“may be” into “should be”
㪐㪎

GPR1: Where a single-event occurs, a boundary containing “GPR5” chosen
GPR2:
Literally translated into a program
GPR3:
GPR4: “relatively more pronounced” if time interval or pitch difference islarger than a priori threshold value
GPR5: periodically held
GPR6
Not implemented
GPR7

㪐㪏

Grouping Polyphony by
Voronoi Diagram

Stammem & Pennycook’s Real-time
Segmentation

Hamanaka and Hirata (2002)

Does a group boundary
occur at the transition?

Note1

Note2

Note3

• Grouping Polyphony• Conflict between GPR2 (time interval) and GPR3a (register)in polyphony• Setting the scaling ratio of time to pitch for conflict resolution• Applying Voronoi diagram to a piano roll
• Merging adjacent cells

Note4

GPR 2 & 3
Sub-segmenters
Features:•Long note
•Stop playing•t max notes

RT

N3

N4

㪐㪐

WRT

㪈㪇㪇

Error correction

Changes in Scaling Ratio

Snapshots of Change in
Scaling Ratio

Shape of a Voronoi diagram depends on scaling
ratio of time to pitch

1 semitone=110 ticks 1 semitone=100 ticks 1 semitone=90 ticks

time

pitch
㪈㪇㪈

Weak
StrongTime Scale
Pitch Scale

StrongWeak㪈㪇㪉Merging Cells for
Hierarchical Grouping
Introduce a simple algorithm:
the smallest cell is first merged to the nearest group

merge
…

Result of our method

Correct data by an expert
㪈㪇㪊Correctness rate = approx. 70%

Automatic Time-span Tree
Analyzer: ATTA
Masatoshi Hamanaka
University of Tsukuba㪈㪇㪋Grouping Structure Analyzer

㪈㪇㪌MusicXML

Overview of䌁䌔䌔䌁Grouping Structure
Analyzer

Grouping Preference Rules:
GPR

Low-Level boundaryBi
Detection of
low-level boundary ( boundary
strength ) Applying GPR䌳 1, 2, 3, 6 [time]
Divide by top down

Detection ofhigh-level boundary

Applying GPRs 1, 2, 3, 4, 5, 6

Contains more than one boundary䌔䌨䌲䌥䌥 analyzers
 Input: score (musicXML)
 Output: groupingXML,
metricalXML, time-spanXML

No



Yes



GroupingXML
Metrical Structure
Analyzer

Calculation of lowlevel beat strength

GPR1(alternative form), GPR2 (Proximity),
GPR3(Change), GPR4(Intensification),
GPR5(Symmetry), GPR6(Parallelism)

Current
structure

Dilow-level(strength of beat) Applying MPRs 1,2,3,4,5 [time]
Choosing nextlevel structure

ˆ 1
Choice of mˆ 2next level mmˆ 3
structures mˆ 4
mˆ 5
Choosing with applying MPR10
Contains more than one beatNo

Yes

MetricalXML
TimeTime-span tree
Analyzer

Calculation ofhead strength

Applied rulesCurrent
structure

Unapplied rules
GPR7(Time-span and Prolongational Stability)

Ditime-span(strength of head)Applying TSRPRs 1,3,4,8,9
Choosing nextlevel structure

Demo

Next levelstructure
Contains more than one head
No

㪈㪇㪍

㪈㪇㪎

Yes

Time-spanXMLGrouping Structure Analyzer

Application of GPRs
Basic parameters

MusicXMLDGPR2a (i)DGPR2b(i)DGPR3a(i)DGPR3b(i)Wm, Wr, Wl DGPR3c(i)DGPR3d(i)(7)䌾(12)

Detection of
low-level boundary[boundary strength]
Dlow(i)

Low-Level boundary

ǹi
Ǳi
ǯi
Ǭi
ǩi
Ǫi

Applying GPRs 1, 2, 3, 6 [time]

Divide by top down

Detection ofhigh-level boundary
Applying GPRs 1, 2, 3, 4, 5, 6GroupingXML㪈㪇㪏(15)䌾(17)

DGPR6 (i)Pǹ(i)PǱ(i) (13) D
GPR4(i)Pǯ(i)PǬ(i) TGPR4
Pǩ(i) 㱟PǪ(i) (14) D
(i)
GPR5

SGPR RR㺃{2a,2b,3a,3b,
3c,3d, 6}
(19)

(23)

Tlow
(20)

Dlow(i)Blow(i) (18) DGPR1(i)Bhigh(i)SGPR RR 㺃{2a,2b,3a,3b,
3c,3d,4,5,6}

(22)

(21)

Dhigh(i) ^i(n) formulavariable㪈㪇㪐parameterCalculation of Basic Parameters

Calculation of Basic Parameters

Basic parameters

Basic parameters[pitch]D
GPR2a (i)DGPR2b(i)DGPR3a(i)C5D
GPR3b(i)A4Wm, Wr, WlF4DGPR3c(i)DGPR3d(i)(7)䌾(12)

ǹi
Ǳi
ǯi
Ǭi
ǩi
Ǫi

(15)䌾(17)

DGPR6 (i)

*

R F
Tlow

SGPR RR㺃{2a,2b,3a,3b,i=1 6}
3c,3d,
(19)

㱝1=0

(20)

i=2 Dlow(i)Blow(i) (18) DGPR1(i)
㱝2=2

(22)

(21)

^i

Dhigh(i)[time]

Pǹ(i)PǱ(i) (13) D(23)high(i)
GPR4(i): Offset-to-onsetBinterval(OOI)
Pǯ(i) 㱝iT
GPR4:
PǬ(i) 㱕i
SGPR R㱓:
Pǩ(i) 㱟R 㺃{2a,2b,3a,3b,i
3c,3d,4,5,6}
PǪ(i) 㱎(14)i
D : (i)(n) formula

ǹi
Ǳi
ǯi
Ǭi
ǩi
Ǫi

variable㪈㪈㪇parameter

GPR5

*

R F
Tlow

SGPR
R㺃{2a,2b,3a,3b,i=1 6}
3c,3d,(15)䌾(17)

DGPR6 (i)㱕1=2

(19)

(20)

i=2 Dlow(i)Blow(i) (18) DGPR1(i)
㱕2=3

(21)

^i

Dhigh(i)[time]

Pǹ(i)PǱ(i) (13) Dhigh(i)
GPR4(i): Offset-to-onsetBinterval(OOI)
Pǯ(i) 㱝i
T
Inter
onset
intervals
(IOI)
GPR4
:
PǬ(i) 㱕i
SGPR
㱓:
Pǩ(i) 㱟R 㺃{2a,2b,3a,3b,i
3c,3d,4,5,6}
PǪ(i) 㱎(14)i
D : (i)(n) formulavariable㪈㪈㪈parameter

GPR5

Calculation of Basic Parameters

Calculation of Basic Parameters

Basic parameters

Basic parameters[pitch]D
GPR2a (i)DGPR2b(i)DGPR3a(i)C5D
GPR3b(i)㱓2=3A4=4, W F4DGPR3c(i)Wm㱓, 1Wrl
DGPR3d(i)(7)䌾(12)

ǹi
Ǳi
ǯi
Ǭi
ǩi
Ǫi

[pitch]D
GPR2a (i)DGPR2b(i)DGPR3a(i)C5D
GPR3b(i)A4Wm, Wr, WlF4DGPR3c(i)DGPR3d(i)(7)䌾(12)(15)䌾(17)

DGPR6 (i)

*

R F
Tlow

SGPR
R㺃{2a,2b,3a,3b,i=1 6}
3c,3d,(19)(20)

i=2 Dlow(i)Blow(i) (18) DGPR1(i)Pǹ(i)PǱ(i) (13) Dhigh(i)
GPR4(i): Offset-to-onsetBinterval(OOI)
Pǯ(i) 㱝i
T
Inter
onset
intervals(IOI)
PǬ(i) 㱕i GPR4 :SGPR
difference): RegisterR(pitch
Pǩ(i) 㱓㱟
㺃{2a,2b,3a,3b,i
3c,3d,4,5,6}
PǪ(i) 㱎(14)i
D : (i)GPR5[pitch]D
GPR2a (i)DGPR2b(i)DGPR3a(i)C5D
GPR3b(i)A4Wm, Wr, WlF4DGPR3c(i)DGPR3d(i)(7)䌾(12)(21)

Dhigh(i) ^i[time](n) formulavariable㪈㪈㪉parameter

ǹi
Ǳi
ǯi
Ǭi
ǩi
Ǫi

(15)䌾(17)

DGPR6 (i)

*

R F
Tlow

SGPR
R㺃{2a,2b,3a,3b,i=1 6}
3c,3d,(19)(20)

i=2 Dlow(i)Blow(i) (18) DGPR1(i)㱎1=䅇㬍1㱎2=䅇㬍3
Pǹ(i)
(13)
PǱ(i)
DGPR4(i)high(i): Offset-to-onsetBinterval(OOI)
Pǯ(i) 㱝i
T
Inter
onset
intervals(IOI)
PǬ(i) 㱕i GPR4 :SGPR
difference): RegisterR(pitch
Pǩ(i) 㱓㱟
㺃{2a,2b,3a,3b,iDifference in3c,3d,4,5,6}
duration
PǪ(i) 㱎(14)i
D : (i)GPR5(21)Dhigh(i) ^i[time](n) formulavariable㪈㪈㪊parameter

Application of GPRs 2 and 3

Application ofIntroduce
GPR three
6 (Parallelism)
adjustable parameters

Basic parameters

DGPR2a (i)DGPR2b(i)DGPR3a(i)Tlowlarge values
Applied where
have
DGPR3bthe(i) parameters
SGPR R
Dlow(i) …
(20)
Wm, Wr, Wl DGPR3c(i) R㺃{2a,2b,3a,3b,^ (i) 㪊㪸^3c,3d, 6} 㪊㪸^ 㪉㪸D^GPR3d
^
^
㪉㪸
(22)
(21)
㪊㪸
㪊㪻
㪉㪹
㱝i (15)䌾(17) 㪊㪻㪊㪻 㪉㪹 Blow(i) (18) DGPR1(i)
high
(19)
㪊㪻
㪊㪻
D (i) ^i
DGPR6 (i)
i
Pǹ(i)
㱕i
(13)
PǱ(i)
(n) formula
DGPR4(i)(23)
high(i)B
iP㱓ǯi(i)variablePǬ(i) TGPR4
SGPR Ri
㪈㪈㪋P㱎
R 㺃{2a,2b,3a,3b,
ǩi(i) 㱟parameter
3c,3d,4,5,6}
PǪ(i) (14) D
GPR5(i)i(7)䌾(12)

ǹi
Ǳi
ǯi
Ǭi
ǩi
Ǫi

for controlling the degree of parallelism…
DGPR2a (i)(7)䌾(12)
DGPR2b(i)D DiGPR6(i)
DGPR3a(i) GPR6
Tlow
DGPR3b(i)SGPR R
Dlow(i)(20)
Wm, Wr, Wl DGPR3c(i) R㺃{2a,2b,3a,3b,
3c,3d, 6}
DGPR3d(i)
(22)
(21)
i
low(i)
DGPR1(i)0(15)䌾(17)
B
(18)
high
(19)
D (i) ^i
DGPR6 (i)Pǹ(i)PǱ(i) (13) D(n) formula(23)
high(i)
GPR4(i)BPǯ(i)variablePǬ(i) TGPR4
SGPR R㪈㪈㪌
Pǩ(i) 㱟Demo
R 㺃{2a,2b,3a,3b,
parameter
3c,3d,4,5,6}
PǪ(i) (14) D(i)

Basic parameters

ǹi
Ǳi
ǯi
Ǭi
ǩi
Ǫi

GPR5

Application of GPR 1

Grouping Structure Analyzer

Basic parameters

MusicXMLDGPR2a (i)DGPR2b(i)DGPR3a(i)DGPR3b(i)Wm, Wr, Wl DGPR3c(i)DGPR3d(i)(7)䌾(12)

Detection of
low-level boundary[boundary strength]
Dlow(i)

Low-Level boundary

ǹi
Ǳi
ǯi
Ǭi
ǩi
Ǫi

Applying GPRs 1, 2, 3, 6 [time]

Divide by top down

Detection ofhigh-level boundary
Applying GPRs 1, 2, 3, 4, 5, 6GroupingXML㪈㪈㪍(15)䌾(17)

DGPR6 (i)Pǹ(i)PǱ(i) (13) D
GPR4(i)Pǯ(i)PǬ(i) TGPR4
Pǩ(i) 㱟PǪ(i) (14) D
(i)
GPR5

SGPRR
R㺃{2a,2b,3a,3b,
3c,3d, 6}
(19)

(23)

Tlow
(20)

Dlow(i)Blow(i) (18) DGPR1(i)Bhigh(i)SGPR RR 㺃{2a,2b,3a,3b,
3c,3d,4,5,6}

(22)

(21)

Dhigh(i) ^i(n) formulavariable㪈㪈㪎parameter

Application of GPR 1

Application of GPR 1

Basic parameters

Basic parameters

DGPR2a (i)DGPR2b(i)SGPR R
DGPR3a(i)low
B (i) 1
DGPR3b(i)ǹi0
DGPR3c(i)DGPR2aW(i) m, Wr, Wl
Ǳi
DGPR3d(i)¦(7)䌾(12)ǯDiGPR2b(i) (15)䌾(17)ǬDiGPR3a(i)DGPR6 (i)ǩDiGPR3b(i)Pǹ(i)(13)ǪDiGPR3c(i)PǱ(i)DGPR4(i)DGPR3d(i)Pǯ(i)PǬ(i) TGPR4
Pǩ(i) 㱟PǪ(i) (14) D

DGPR6 (i)SGPRR

iR㺃{2a,2b,3a,3b,
3c,3d, 6}
(19)

(23)

Tlow
(20)

Dlow(i)Blow(i) (18) DGPR1(i)

(22)

(21)

^i

Dhigh(i)(n) formula

Bhigh(i)variable

SGPR R
GPR5(i)㪈㪈㪏R 㺃{2a,2b,3a,3b,
3c,3d,4,5,6}

parameter

Detection of Low-level Boundary

ǹi
Ǳi
ǯi
Ǭi
ǩi
Ǫi

(15)䌾(17)

DGPR6 (i)Pǹ(i)PǱ(i) (13) D
GPR4(i)Pǯ(i)PǬ(i) TGPR4
Pǩ(i) 㱟PǪ(i) (14) D
(i)
GPR5

R㺃{2a,2b,3a,3b,
3c,3d, 6}
(19)

(23)

Dlow(i)Blow(i) (18) DGPR1(i)Bhigh(i)SGPR RR 㺃{2a,2b,3a,3b,
3c,3d,4,5,6}

(22)

(19)

(20)

Dlow(i)Blow(i) (18) DGPR1(i)

(22)



(23)

GPR5(i)(21)^iDhigh(i)Bhigh(i)(n) formulavariable

SGPR R

Detection of
low-level boundary

Tlow
(20)

Pǯ(i)
)24C )24D
PǬ(i) TGPR4
Pǩ(i) 㱟PǪ(i) (14) DR㺃{2a,2b,3a,3b,
3c,3d, 6}㪈㪈㪐R 㺃{2a,2b,3a,3b,
3c,3d,4,5,6}

parameter

MusicXML

Demo

SGPR R

ǹiǱiǯi(15)䌾(17)Ǭi
DGPR6 (i)DGPR1(i)
P
(i)
ǩ
ǹ
i

(13) Ǫi PǱ(i)DGPR4(i)

Tlow

SGPRR

Detection of High-level Boundaries

Basic parameters

DGPR2a (i)(7)䌾(12)
DGPR2b(i)DGPR3a(i)DGPR3b(i)Wm, Wr, Wl DGPR3c(i)DGPR3d(i)DGPR2a (i)DGPR2b(i)DGPR3a(i)DGPR3b(i)Wm, Wr, Wl DGPR3c(i)DGPR3d(i)(7)䌾(12)[boundary strength]
Dlow(i)

Low-Level boundary

Applying GPRs 1, 2, 3, 6 [time](21)

Dhigh(i) ^i(n) formula

Divide by top down

Detection ofhigh-level boundary
Applying GPRs 1, 2, 3, 4, 5, 6

variable㪈㪉㪇parameter

GroupingXML㪈㪉㪈Applicationof GPRs
GPR
Applied where
2 and43 are relatively pronounced

Application of GPR 5 (Symmetry)

Basic parameters^㪊㪸(7)䌾(12)

ǹi
Ǳi
ǯi
Ǭi
ǩi
Ǫi

•Use a normal distribution as a symmetry level
㸢Preference to subdivide groups into 2 parts of equal length
D level] (i)(7)䌾(12)[SymmetryGPR2a
DGPR5(i) DGPR2b(i)DGPR3a(i)Tlow
DGPR3b(i)
S
GPR R
ǹi
Dlow(i)
DGPR3c(i) R㺃{2a,2b,3a,3b,
(20)
W
,
W
,
W
[time]mrlǱi
3c,3d, 6}
0
DGPR3d(i)(22)(21)
low(i)ǯi
DGPR1(i)Low-level boundary(15)䌾(17)
B
(18)
high
(19)
D (i) ^iǬi
DGPR6 (i)ǩi Pǹ(i)… (n) formula(13)
Ǫi PǱ(i)DGPR4(i)(23)
high(i)BPǯ(i)variable
Start
End
Start
PǬ(i) TGPR4
SGPR R㪈㪉㪊
Pǩ(i) 㱟R 㺃{2a,2b,3a,3b,
parameter
3c,3d,4,5,6}
PǪ(i) (14) D(i)

Basic parameters

㱝i DGPR2a (i)㪊㪻

DGPR2b(i)㱕i DGPR3a(i)DGPR3b(i)㱓i DWm, Wr, Wl GPR3c(i)DGPR3d(i)㱎i(15)䌾(17)

DGPR6 (i)Pǹ(i)PǱ(i) (13) D
GPR4(i)Pǯ(i)PǬ(i) TGPR4
Pǩ(i) 㱟PǪ(i) (14) D
(i)

^
㪉㪸
㪉㪹
㪊㪻

^
^ 㪉㪸
㪊㪸
㪊㪻 㪉㪹
㪊㪻

^㪸

^
㪊㪻

i
SGPR RR㺃{2a,2b,3a,3b,
3c,3d, 6}
(19)

(23)

Tlow
(20)

i
Dlow(i)Blow(i) (18) DGPR1(i)

i

(21)

Dhigh(i)

^i

(22)

i

Bhigh(i)SGPR RR 㺃{2a,2b,3a,3b,
3c,3d,4,5,6}(n) formulavariable㪈㪉㪉parameter

GPR5

Application of GPR 5 (Symmetry)•Use a normal distribution as a symmetry level
㸢Preference to subdivide groups into 2 parts of equal length
D level] (i)(7)䌾(12)[SymmetryGPR2a
DGPR5(i) DGPR2b(i)DGPR3a(i)Tlow
DGPR3b(i)
S
GPR R
ǹi
Dlow(i)D(i)R㺃{2a,2b,3a,3b,
(20)
GPR3c
W
,
W
,
W
[time]mrlǱi
3c,3d, 6}
0
DGPR3d(i)(22)(21)
low(i)ǯi
DGPR1(i)Low-level boundary(15)䌾(17)
B
(18)
(19)
Dhigh(i) ^i
Ǭi
DGPR6 (i)ǩi Pǹ(i)… (n) formula(13)
Ǫi PǱ(i)DGPR4(i)
(23)
high
B (i)
Pǯ(i)
Start
End StartEnd
variable
Start
End
Start
PǬ(i) TGPR4
SGPR R㪈㪉㪋
Pǩ(i) 㱟R 㺃{2a,2b,3a,3b,
parameter
3c,3d,4,5,6}
PǪ(i) (14) D(i)

Basic parameters

GPR5

GPR5

Application of GPR 5 (Symmetry)•Use a normal distribution as a symmetry level
㸢Preference to subdivide groups into 2 parts of equal length
D level] (i)(7)䌾(12)[SymmetryGPR2a
DD(i)(i) DGPR2b(i)
GPR5
GPR5
DGPR3a(i)Tlow
DGPR3b(i)
S
GPR R
ǹi
Dlow(i)D(i)R㺃{2a,2b,3a,3b,
(20)
GPR3c
W
,
W
,
W
[time]mrlǱi
3c,3d, 6}
0
DGPR3d(i)(22)(21)
low(i)ǯi
DGPR1(i)Low-level boundary(15)䌾(17)
B
(18)
(19)
Dhigh(i) ^i
Ǭi
DGPR6 (i)ǩi Pǹ(i)… (n) formula(13)
Ǫi PǱ(i)DGPR4(i)
(23)
high
B (i)
Pǯ(i)
Start
End StartEnd
variable
Start
End
Start
PǬ(i) TGPR4
SGPR R㪈㪉㪌
Pǩ(i) 㱟R 㺃{2a,2b,3a,3b,
parameter
3c,3d,4,5,6}
PǪ(i) (14) D(i)

Basic parameters

GPR5

Detection of High-level Boundaries

Detection of High-level Boundaries

Basic parameters

Basic parameters(1) Consider a whole piece as a group
GPR2a
(2)
Calculate the degreeof high-level boundary(7)䌾(12)(3) Select the highestGPR2b
position as the next level boundary

D
(i)
D
(i)
Low-level
DGPR3a(i) boundary
Tlow
DGPR3b(i)
S
GPR R
ǹi
Dlow(i)
DGPR3c(i) R㺃{2a,2b,3a,3b,
(20)
W
,
W
,
W
m
r
l
Ǳi
3c,3d, 6}
DGPR3d(i)ǯi(15)䌾(17)Blow(i) (18) DGPR1(i)(19)Ǭi
DGPR6 (i)ǩi Pǹ(i)DegreePofǱhigh-level(i) (13) boundaryǪ
DGPR4(i)(23)
iBhigh(i)B high (i )Pǯ(i)PǬ(i) TGPR4
SGPR RP(i)iR
㺃{2a,2b,3a,3b,ǩ㱟
0
3c,3d,4,5,6}
PǪ(i) (14) D
GPR5(i)

D(i)
DGPR2b(i)Low-level
DGPR3a(i) boundary
Tlow
DGPR3b(i)
S
GPR R
ǹi
Dlow(i)
DGPR3c(i) R㺃{2a,2b,3a,3b,
(20)
W
,
W
,
W
m
r
l
Ǳi
3c,3d, 6}
DGPR3d(i)ǯi(15)䌾(17)Blow(i) (18) DGPR1(i)(19)Ǭi
DGPR6 (i)ǩi Pǹ(i)DegreePofǱhigh-level(i) (13) boundaryǪ
DGPR4(i)(23)
iBhigh(i)B high (i )Pǯ(i)PǬ(i) TGPR4
SGPR RP(i)iR
㺃{2a,2b,3a,3b,ǩ㱟
0
3c,3d,4,5,6}
PǪ(i) (14) D
GPR5(i)(4) If the group contains a low-level boundary,GPR2a(7)䌾(12)then we repeat the same way iteratively

(22)

(21)

^i

Dhigh(i)(n) formulavariable㪈㪉㪍parameter

(22)

(21)

(n) formulavariable㪈㪉㪎parameter

Detection of High-level Boundaries

Example of Analysis 1

Basic parameters• Discuss whether our grouping structure analyzer
can properly acquire the results• Can interpret in two ways
• Check whether our grouping structure analyzer
can output both structures.

D(i)
DGPR2b(i)Low-level
DGPR3a(i) boundary
Tlow
DGPR3b(i)
S
GPR R
ǹi
Dlow(i)D(i)R㺃{2a,2b,3a,3b,
(20)
GPR3c
W
,
W
,
W
m
r
l
Ǳi
3c,3d, 6}
DGPR3d(i)ǯi(15)䌾(17)Blow(i) (18) DGPR1(i)(19)Ǭi
DGPR6 (i)ǩi Pǹ(i)DegreePofǱhigh-level(i) (13) boundaryǪ
DGPR4(i)(23)
iBhigh(i)B high (i )Pǯ(i)PǬ(i) TGPR4
SGPR RP(i)iR
㺃{2a,2b,3a,3b,ǩ㱟
0
3c,3d,4,5,6}
PǪ(i) (14) D
GPR5(i)(4) If the group contains a low-level boundary,GPR2a(7)䌾(12)then we repeat the same way iteratively

(22)

^i

Dhigh(i)(Demo)

Mozart Sonata K. 331.

(21)

Dhigh(i) ^i(n) formulavariable㪈㪉㪏parameter

㪈㪉㪐
Demo

Example of Analysis 2• Must hold GPR5, which subdivides groups
into two part
• System output tends to have larger numbersof grouping hierarchies
Tchaikovsky’s, Album pour enfants, Waltz

㪈㪊㪇Metrical Structure Analyzer

㪈㪊㪈MusicXML

Overview of䌁䌔䌔䌁Grouping Structure
Analyzer

Metrical Preference Rules:
MPR:

Low-Level boundaryBi
Detection of
low-level boundary ( boundary
strength ) Applying GPR䌳 1, 2, 3, 6 [time]
Divide by top down

Detection ofhigh-level boundary

Applying GPRs 1, 2, 3, 4, 5, 6

Contains more than one boundary

Three analyzers
 Input: score (musicXML)
 Output: groupingXML,
metricalXML, time-spanXML

No



Yes

Metrical Structure
Analyzer

MPR1(Parallelism), MPR2 (Strong beat early),
MPR3(Event), MPR4(Stress), MPR5(Length),
MPR10(Binary Regularity)

Current
structure

Calculation of lowlevel beat strength

Dilow-level(strength of beat) Applying MPRs 1,2,3,4,5 [time]
Choosing nextlevel structure

Applied rulesGroupingXML

ˆ 1
Choice of mˆ 2next level mmˆ 3
structures mˆ 4
mˆ 5
Choosing with applying MPR10
Contains more than one beatNo

Yes

MetricalXML

Unapplied rules



TimeTime-span tree
Analyzer

Current
structure

Calculation ofhead strength

MPR6(Bass), MPR7(Cadence), MPR8(Suspension),
MPR9(Time-span interaction)

Ditime-span(strength of head)Applying TSRPRs 1,3,4,8,9
Choosing nextlevel structure

Next levelstructure
Contains more than one head
No

㪈㪊㪉

㪈㪊㪊

Demo

Yes

Time-spanXML

Application of MPRs

Metrical Structure Analyzer

GroupingXML (24)GroupingXML

MusicXMLGroups(i)size(i)Calculation of lowlevel beat strength

Current structure

position(i)Dmetrical(i)(strength of beat) Applying MPRs1, 2, 3, 4, 5 [time]

Choosing nextlevel structure

4
5

(26)

MusicXML(27)

MetricalXML

DMPR1(i,k)
TMPR1

(34)

SMPRR

Dmetrical(i)

(36)

m^

R㺃{2,3,4,5a,5b,5c,5d,5e}(35)
metricalDMPR2(i)DMPR3(i)

B

(i)
SMPR1

SMPR10(28) 䌾(31)Choosing with applying MPR10

Contains more than one beat
No

㫪 ,W
㫪
㫪 ,W
W
m
r
l

is
ie

mˆ 1

Choice of next mˆ 2
level structures mˆ 3mˆmˆA(i,j) (25)

Yes

㪈㪊㪋

㱏i
㱗i
㱒i
㱙i
㱖i

DMPR4(i)DMPR5a(i)TMPRR
R㺃{4,5a,5b,5c} DMPR5b(i)DMPR5c(i)
(32)
(33)

DMPR5d(i)DMPR5e(i)(n) :formulavariable㪈㪊㪌parameter

Application of MPR 1 (Parallelism)

Calculation of basic parameters
GroupingXML (24)Groups(i)size(i)position(i)isieMusicXMLA(i,j) (25)D(i,k)
First beat MPR1(34)(36) ^
TMPR1of beats
SMPRR
㫪 ,W
㫪Number
㫪 ,Wm
Dmetrical(i)Wmrl
DurationR㺃{2,3,4,5a,5b,5c,5d,5e}from beginning of a group
(35)
(26)
Beginning
Bmetrical(i)DMPR2(i)Ending
SMPR1
SMPR10(27)
DMPR3(i)(28) 䌾(31)

㱏i
㱗i
㱒i
㱙i
㱖i

Basic parametersof a note from beat i :DMPR4(i)velocityDMPR5a(i)
TMPRR
lengthof noteDR㺃{4,5a,5b,5c}
MPR5b(i)(n) :formula
duration
DMPR5c(i) of dynamic
pitchvariable(32)
lengthDMPR5d(i) of slur
(33)

㪈㪊㪍

A(i,j) (25)Groups(i)size(i)position(i)

㫪 ,W
㫪
㫪 ,W
W
m
r
l

is
ie

(26)

MusicXML(27)

DMPR3(i)

TMPR1

㫪 ,W
㫪
㫪 ,W
W
m
r
l

position(i)DMPR1(i,k)
(34)

SMPRR

Dmetrical(i)

(36)

m^

R㺃{2,3,4,5a,5b,5c,5d,5e}

(35)
is
(26)
Bmetrical(i)
D
(i)
MPR2
Preferably
Forms parallel metrical structureiewhere two or more groups can be construed
SMPR1as parallel
SMPR10MusicXML(27)
DMPR3(i)beat i and beat
k are parallel
DMPR1(i,k)=1(28) 䌾(31)D(i)
beat i and beat k are notMPR4
parallel
DMPR1(i,k)=0
D
(i)
㱏i
TMPRR
MPR5a
㱗i R㺃{4,5a,5b,5c} DMPR5b(i)(n) :formula
DMPR5c(i)㱒i㱙ivariable(32)
DMPR5d(i)㱖i㪈㪊㪎parameter

DMPR5e(i)Application of MPR 3GroupingXML (24)
(34)

SMPRR
B

A(i,j) (25)Groups(i)Dmetrical(i)

(36)

m^

R㺃{2,3,4,5a,5b,5c,5d,5e}(35)
metricalDMPR2(i)size(i)(33)

DMPR1(i,k)
TMPR1

A(i,j) (25)Groups(i)parameter

DMPR5e(i)Application of MPR 2GroupingXML (24)GroupingXML (24)

(i)
SMPR1

SMPR10size(i)position(i)

is
ie

(26)

MusicXML(27)(28) 䌾(31)Strongest beat ina group
DMPR4(i) appears early in the group
DMPR5a(i)㱏i
TMPRR
㱗i R㺃{4,5a,5b,5c} DMPR5b(i)(n) :formula
DMPR5c(i)㱒iDMPR2(i) (32)
DMPR2 (i ) i end  i i end  i start㱙variablei
DMPR5d(i)㱖i[i]parameter
0 (33)DMPR5e(i)

㫪 ,W
㫪
㫪 ,W
W
m
r
l

DMPR1(i,k)
TMPR1

(34)

SMPRR

Dmetrical(i)

(36)

m^

R㺃{2,3,4,5a,5b,5c,5d,5e}(35)
metricalDMPR2(i)DMPR3(i)

B

(i)
SMPR1

SMPR10(28) 䌾(31)

㪈㪊㪏

㱏i
㱗i
㱒i
㱙i
㱖i

DMPR4(i)Inceptionsof(i)pitch-events are strong beats
DMPR5a
TMPRR
R㺃{4,5a,5b,5c} DMPR5b(i)(n) :formula
DMPR5c(i)D(32)
variableMPR3(i)
D1MPR5d(i)[i] parameter(33)
D0MPR5e(i)㪈㪊㪐Application of MPRs 4, 5a, 5b, 5cGroupingXML (24)A(i,j) (25)Groups(i)size(i)Application of MPRs 4, 5a, 5b, 5c

DMPR1(i,k)
(34)

(36)

^

TMPR1
SMPRR
㫪 ,W
㫪 where㫪 ,Wm
Dmetrical(i)Appliedthe parameters
have large
valuesWmrlposition(i)

is
ie

(26)

MusicXML(27)

R㺃{2,3,4,5a,5b,5c,5d,5e}(35)
metricalThe
rule(i)is applicable
B(i)DMPRR(i)=1
DMPR2
The rule is not applicable DMPRR(i)=0
SMPR1
SMPR10DMPR3(i)••••㱏i : velocity
㱗i : length of note㱒i : duration of dynamic
㱖i : length of slur…
Current structure(28) 䌾(31)

㱏i
㱗i
㱒i
㱙i
㱖i

DMPR4(i)DMPR5a(i)TMPRR
R㺃{4,5a,5b,5c} DMPR5b(i)DMPR5c(i)
(32)
(33)

㱏i

㪈㪋㪇
parameter

Application of MPRs 5d, 5eposition(i)(34)

Dmetrical(i)

(36)

m^

R㺃{2,3,4,5a,5b,5c,5d,5e}

DMPR5e(i)

^^
5b5b
5c

^
4
5a
5b

^
4
5a
5b

^^
5b5b
5c

2㱒
㱖i
2㱖

TMPR4
i
TMPR5ai
TMPR5bi
TMPR5ci㪈㪋㪈GroupingXML (24)

(35)
is
(26)
Bmetrical(i)
D
(i)
MPR2
ie
MPR5e Prefers a metrical structure with a
SMPR1
SMPR10MusicXML
(27)
D
(i)
MPR3
relatively long duration of a pitch in(28) 䌾(31)therelevantDlevelsof the time-span reduction
MPR4(i)DMPR5a(i)㱏i
TMPRR
㱗i R㺃{4,5a,5b,5c} DMPR5b(i)(n) :formula
DMPR5c(i)㱒i㱙ivariable(32)
DMPR5d(i)
㱖i
㪈㪋㪉
(33)

^
4
5a
5b

Application of MPRs 5d, 5eGroupingXML (24)(25)
A(i,j)DMPR1(i,k)
MPR5da metrical structurewith aGroups(i) Prefers
relatively long pattern of articulationsize(i)
TMPR1
SMPRR
㫪 ,W
㫪
㫪 ,W
W
m
r
l

^
4
5a
5b

2㱗
㱒i

variable

DMPR5e(i)

^^5b
5b
5c

2㱏
㱗i

(n) :formula

DMPR5d(i)Each rule is applicable
where the values areover the threshold TMPRj

parameter(25)
A(i,j)DMPR1(i,k)
MPR5da metrical structurewith aGroups(i) Prefers
relatively long pattern of articulation (34) metrical (36) ^size(i)
TMPR1
SMPRR
㫪 ,W
㫪
㫪 ,W
m
D
(i)
W
m
r
l
position(i)R㺃{2,3,4,5a,5b,5c,5d,5e}
Inception of MPR5a repetition
DMPR5d(i) =1 GTTM book(35)
iOtherwise(26)s
DMPR5dBmetrical(i) (i) =0
D
(i)
MPR2
i
e

MPR5e Prefers a metrical structure with a
SMPR1
SMPR10MusicXML
(27)
D
(i)
MPR3
relatively long
duration of a pitch in(28) 䌾(31)the relevantDlevelsof the time-span reduction
MPR4(i)㱏Inception
TMPR
MPR5a(i)iofR pitchDrepetition
DMPR5e(i) =1D(i)㱗OtherwiseR㺃{4,5a,5b,5c}
MPR5bi
DMPR5e(i) =0 (n) :formula
DMPR5c(i)㱒i㱙ivariable(32)
DMPR5d(i)
㱖i
㪈㪋㪊
(33)

DMPR5e(i)parameter

Metrical Structure Analyzer

Calculation of Beat Strength
GroupingXML (24)GroupingXML

MusicXMLsize(i)Calculation of lowlevel beat strength

Current structure

position(i)Dmetrical(i)isie(strength of beat) Applying MPRs1, 2, 3, 4, 5[time]

MusicXMLmˆ 1

Choosing nextlevel structure

Choice of next mˆ 2
level structures mˆ 3
mˆ
mˆ

4
5

Choosing with applying MPR10

Contains more than one beat
Yes

No

㪈㪋㪋

MetricalXML

A(i,j) (25)Groups(i)size(i)position(i)

is
ie

(26)

MusicXML

(27)

(34)

SMPRR
B

Dmetrical(i)

(36)

m^

(i)
SMPR1

DMPR3(i)

k

D

(i)

¯ 0

DMPR5e(i)B

DMPR2(i)

(36)

m^

(i)

SMPR1
SMPR10DMPR3(i)Beat strength from MPRs 2, 3, 4, 5(28) 䌾(31)
DMPR4(i)metricalB(i )¦ DMPR R (i ) u S MPR R
D
TMPRR
MPR5a(i)R{ 2 , 3 , 4 , 5 a , 5 b , 5 c , 5 d , 5 e }R㺃{4,5a,5b,5c} DMPR5b(i)(n) :formula
DMPR5c(i)
(27)

(32)

variable

DMPR5d(i)㪈㪋㪌parameter

DMPR5e(i)Calculation of lowlevel beat strength

GroupingXML

Current structure

Dmetrical(i)SMPR10D
MPR1(i,k) 0
variable

Choosing nextlevel structuremˆ 1

Choice of next mˆ 2
level structures mˆ 3mˆmˆparameter

45Choosing with applying MPR10

Contains more than one beatNo

㸢AMPR5dparallel metrical structure tends to be formed 㪈㪋㪍(33)

Dmetrical(i)(strength of beat) Applying MPRs1, 2, 3, 4, 5 [time]DMPR4(i)DMPR5a(i)TMPRR
Low-level
beat strengthR㺃{4,5a,5b,5c} DMPR5b(i)­Bmetrical(k) uSMPR1(n)D:formula
metricalMPR1(i,k) 1
MPR5cDD(i) (i)Bmetrical(i)  ¦®
(32)

(34)

SMPRR

MusicXML(28) 䌾(31)

㱏i
㱗i
㱒i
㱙i
㱖i

TMPR1

Metrical Structure AnalyzerR㺃{2,3,4,5a,5b,5c,5d,5e}(35)
metricalDMPR2(i)DMPR1(i,k)
R㺃{2,3,4,5a,5b,5c,5d,5e}(35)
metrical(26)

DMPR1(i,k)
TMPR1

㫪 ,W
㫪
㫪 ,W
W
m
r
l

㱏i
㱗i
㱒i
㱙i
㱖i

㫪 ,W
㫪
㫪 ,W
W
m
r
l

(33)

Calculation of Beat Strength
GroupingXML (24)A(i,j) (25)Groups(i)MetricalXML

Yes

㪈㪋㪎

Metrical Structure Analyzer

Choosing Next Level Structure• Calculating the total remaining beat strength

GroupingXML

MusicXML…

Calculation of lowlevel beat strength

Current structure

Dmetrical(i)Current structure

Dmetrical(i)(strength of beat) Applying MPRs1, 2, 3, 4, 5 [time]

i
^
m=1

Choosing nextlevel structure

i

^
m=2

mˆ 1

Choice of next mˆ 2
level structures mˆ 3
mˆ
mˆ

i

^
m=3

i

^
m=5

Choosing with applying MPR10

Contains more than one beat

i

^
m=4

4
5

No

㪈㪋㪏
MetricalXMLi

Example of Analysis• Most pieces were well-analyzed, but not all• Quintuplet is not aligned in simple duple/triple time
• Cannot analyzed properly
Bach’s, Toccata and Fugue in D minor

㪈㪌㪇

Yes

㪈㪋㪐

Time-span Tree Analyzer

㪈㪌㪈MusicXML

Overview of䌁䌔䌔䌁Grouping Structure
Analyzer

Time-span Reduction
Preference Rules: TSRPR

Low-Level boundaryBi
Detection of
low-level boundary ( boundary
strength ) Applying GPR䌳 1, 2, 3, 6 [time]
Divide by top down

Detection ofhigh-level boundary

Applying GPRs 1, 2, 3, 4, 5, 6

Contains more than one boundary

Three analyzers
 Input: score (music XML) Output: groupingXML,
metricalXML, time-spanXML

No



Yes

Metrical Structure
Analyzer

Calculation of lowlevel beat strength

TSRPR1(Metrical position), TSRPR3 (Registral extremes),
TSRPR4(Parallelism), TSRPR8(Structural beginning),
TSRPR9(Structual ending)Current
structure

Dilow-level(strength of beat) Applying MPRs 1,2,3,4,5 [time]
Choosing nextlevel structure

Applied rulesGroupingXML

ˆ 1
Choice of mˆ 2next level mmˆ 3
structures mˆ 4
mˆ 5
Choosing with applying MPR10
Contains more than one beatNo

Yes

MetricalXML
TimeTime-span tree
Analyzer

Calculation ofhead strength

TSRPR2(Local Harmony), TSRPR5(Metrical stability),
TSRPR6(Prolongational stability),Demo
TSRPR7(Cadential retention),

Ditime-span(strength of head)Applying TSRPRs 1,3,4,8,9
Choosing nextlevel structure

Unapplied rulesCurrent
structure

Next levelstructure
Contains more than one head
No

㪈㪌㪉
Yes

㪈㪌㪊

Time-spanXML

Application of TSRPRs

Time-span Tree Analyzer

MetricalXML
MusicXML GroupingXML

MetricalXML

㱘i

(37)

DTSRPR1(i)(40)

GroupingXML
A(i,j)
timespans(i)
䌠 ,W
䌠 ,W
䌠
timespansize(i) Wmrltimespanpos(i) (42)DTSRPR8(i)istartiend(43)

Current
structure

Calculation ofhead strength

D time-span (i)(strength of head)Applying TSRPRs1,3,4,8,9

Choosing nextlevel structure(41)

DTSRPR4(i,k)
(44)

(46)

Dtime-span(i) h^DTSRPR9(i)Next levelstructure(38)

Contains more than one headNo

Time-spanXML

STSRPR4

㱚i

Yes

㪈㪌㪋

MusicXML(39)DTSRPR3a(i)DTSRPR3b(i)(n) :formula(45)

Btimespan(i)STSRPR R

R㺃{1,3a,3b,4,8,9}

variableparameter㪈㪌㪌Application of TSRPR 1

Time-span Segmentation•

Divide the entire piece into hierarchical time-spans

MetricalXML

㱘i

(37)

DTSRPR1(i)(40)

STSRPR4(41)

GroupingXML
A(i,j)DTSRPR4(i,k)
timespans(i)
䌠 ,W
䌠 ,W
䌠
timespansize(i) Wmrl
TSRPR1prefersaheadwith a strong beattimespanpos(i) (42)DTSRPR8(i)istartiend(43)

Metrical dots

Step2: divide at strongest beat, when time-span includes more than one note

(44)

(46)

Dtime-span(i)^hDTSRPR9(i)(38)

DTSRPR1(i)㱚i

Step1: regard all the resultant groups as time-spans

㪈㪌㪍

(39)

DTSRPR3a(i)(n) :formula(45)

Btimespan(i)DTSRPR3b(i)MusicXMLvariable

STSRPR R

parameter㪈㪌㪎R㺃{1,3a,3b,4,8,9}

Application of TSRPRs 3a and 3b

Application of TSRPR 4 (Parallelism)

TSRPR3a prefers selects a higher pitch note as a head
MetricalXML

MetricalXML

TSRPR3bprefers selects
lower pitch noteSTSRPR4
as a headDTSRPR1a(i)
㱘i

㱘i

(37)

(40)

GroupingXML
A(i,j)
timespan(i)s
DTSRPR3a(i)
䌠 ,W
䌠 ,W
䌠
timespansize(i) Wmrltimespanpos(i) (42)DTSRPR3bDTSRPR8(i)istart (i)
iend
(43)

(41)

(38)

㱚i
MusicXML(39)DTSRPR3a(i)DTSRPR3b(i)

(44)

i

(46)

Dtime-span(i) h^i(n) :formula(45)

Btimespan(i)STSRPR R

R㺃{1,3a,3b,4,8,9}

DTSRPR1(i)(40)

DTSRPR4(i,k)

DTSRPR9(i)(37)

variableparameter㪈㪌㪏GroupingXML
A(i,j)
timespans(i)
䌠 ,W
䌠 ,W
䌠
timespansize(i) Wmrltimespanpos(i) (42)DTSRPR8(i)istartiend(43)

STSRPR4(41)

DTSRPR4(i,k)
(44)

(46)

Dtime-span(i) h^

TSRPR4 prefers a headin a(i)parallel position in
DTSRPR9parallel time-span(38)(n) :formulaDTSRPR3a(i)head㱚i and head k are parallel(45)DTSRPR4(i,k) =1i(39)k are not parallel
head i and head
DBTSRPR4(i,k)
timespanvariableDTSRPR3b(i)(i) =0MusicXMLSTSRPR R
R㺃{1,3a,3b,4,8,9}

parameter㪈㪌㪐Time-span Tree Analyzer

Application of TSRPRs 8 and 9
MetricalXML

㱘i

(37)

DTSRPR1(i)(40)

MusicXML GroupingXML

STSRPR4(41)

GroupingXML
A(i,j)DTSRPR4(i,k)
TSRPR8 prefers a head appear
at the beginningof the time-span.
timespans(i)TSRPR9timespansize(i)prefers a head䌠 appear䌠 䌠 at the tail of the time-span.
Wm, Wr, Wl(44)(46)
timespanpos(i) (42)time-span
D(i) h^DTSRPR8(i)istartiend(43)
DTSRPR8(i)

DTSRPR9(i)DTSRPR9(i)

㱚i

(38)

(39)

MetricalXML

Btimespan(i)DTSRPR3b(i)MusicXML

Choosing nextlevel structure(n) :formula(45)

STSRPR R

D time-span (i)(strength of head)Applying TSRPRs1,3,4,8,9i

DTSRPR3a(i)Current
structure

Calculation ofhead strength

Next levelstructure
Contains more than one headivariableparameter

Yes

No

Time-spanXML

㪈㪍㪇

㪈㪍㪈

R㺃{1,3a,3b,4,8,9}

Calculation of head strength
MetricalXML

㱘i

(37)

Calculation of head strength
MetricalXMLDTSRPR1(i)
(40)

(41)

GroupingXML
A(i,j)DTSRPR4(i,k)
timespans(i)
䌠 ,W
䌠 ,W
䌠
timespansize(i) W
m
r
l
(44)
(46)
timespanpos(i) (42)Head1, 3, 8,(i)9 h^
Dtime-span
DTSRPR8(i) strength from TSRPRs
istartiend
B timespan (i )DTSRPR R (i ) u S TSRPR R(43)¦

DTSRPR9(i)

(38)

㱚i
MusicXML(39)DTSRPR3a(i)DTSRPR3b(i)(37)

head D
strength㱘Low-level
TSRPR1(i)i

STSRPR4(38)(n) :formula

㱚i
Btimespan(i)STSRPR R
R㺃{1,3a,3b,4,8,9}

variableparameter

㪈㪍㪉

(44)

(46)

Dtime-span(i) h^DTSRPR9(i)

R

(45)

STSRPR4

timespan­ B(41)(k ) u S TSRPR 4(40)°GroupingXML
A(i,j)DTSRPR4(i,k)1if D°
TSRPR 4 (i, k )timespan
D timespans((i)
i ) B timespan (i )  ¦ ®
0
䌠 ,W
䌠 ,W
timespansize(i) W
k䌠 °
m
r
l
°¯
timespanpos(i) (42)if DTSRPR 4 (i, k ) 0
DTSRPR8(i)istartiend(43)MusicXML(39)DTSRPR3a(i)DTSRPR3b(i)(n) :formula(45)

Btimespan(i)STSRPR R

R㺃{1,3a,3b,4,8,9}

variableparameter㪈㪍㪊Generating a hierarchical Tree

Time-span Tree Analyzer

timespan(i)DMusicXML GroupingXML[i]

MetricalXML
timespanD

Current
structure

Calculation ofhead strength

(i)

[i]

timespan

D

(i)

[i]

D time-span (i)(strength of head)Applying TSRPRs1,3,4,8,9

Choosing nextlevel structure

timespan

D

(i)

[i]

• Choosing the next level heads,
timespan(i ) d D timespan ( j )ˆh ­® i D¯ j otherwise

Next levelstructure
timespan

D

Contains more than one head
No

(i)

[i]

Yes

Time-spanXML

㪈㪍㪋timespan

D

(i)

㪈㪍㪌

[i]

MusicXML

Example of Analysis
Beethoven,
Turkish March• Iterating the calculation of the lowlevel head strength Dtimespan(i)Overview of䌁䌔䌔䌁Grouping Structure
Analyzer

Low-Level boundaryBi
Detection of
low-level boundary ( boundary
strength ) Applying GPR䌳 1, 2, 3, 6 [time]
Divide by top down

Detection ofhigh-level boundary

Applying GPRs 1, 2, 3, 4, 5, 6

Tuned with the same parameters

Contains more than one boundary

Three analyzers
 Input: score (music XML) Output: groupingXML,
metricalXML, time-spanXML

No



Yes

GroupingXML
Metrical Structure
Analyzer

Calculation of lowlevel beat strength

Current
structure

Dilow-level(strength of beat) Applying MPRs 1,2,3,4,5 [time]
Choosing nextlevel structure

ˆ 1
Choice of mmˆ 2next level m
ˆ 3structures mˆ 4
mˆ 5
Choosing with applying MPR10
Contains more than one beatNo

Yes

MetricalXML

English Traditional,
Greensleeves

TimeTime-span tree
Analyzer

Calculation ofhead strength

Current
structure

Ditime-span(strength of head)Applying TSRPRs 1,3,4,8,9

㪈㪍㪍

Choosing nextlevel structure

Demo

Next levelstructure
Contains more than one headNo

Time-spanXML

㪈㪍㪎
Yes

Experimental Results㪈㪍㪏Experimental results

Experimental results
Correct data

Evaluate performance using 䌆-measure Required us to prepare the correct data

Evaluate
performanceusing 䌆-measure• 100
pieces of 8-bar length,classical
music pieces
 Required usmonophonic,
to prepare
the correctdata

FmeasureC
P(Precision)䋽 A

Pu R
2u
PR

㪘



R(Recall)Music pieces㪙㪚Selected data

Fmeasure

C䋽 B

Correct data

• Analyzed manually by a musicologistC
P(Precision)䋽 A
P u R by three• Cross-checked
other experts
2u
C
R(Recall) 䋽 B
PR㪘(Grouping XML䋩(Metrical XML) (Time-Span XML)㪙㪚

Selected data㪈㪍㪐

Correct structure

Manually by amusicologist

Correct data㪈㪎㪇

Cross-checked bythree other experts

Experimental results

Experimental results

Baseline performanceGrouping structureDefault parameters䋺 Srule =0.5, Wr=0.5, Wr=0.5,
Wr=0.5, Trule =0.5, and ǻ= 0.05

Time-span tree㪇㪅㪐Baseline
performance㪇㪅㪏䌆-measure㪇㪅㪎㪇㪅㪍Comparison㪇㪅㪌

Our methodwith configured
parameters

㪇㪅㪋
㪇㪅㪊

Our method with configured parameters
䊶 Cost about 10 minutes on average䊶 Found a plausible tuning of the parameter sets

Metrical structure㪈ComparisonAll outperformed the baseline performance

㪇㪅㪉
㪇㪅㪈

㪈㪎㪈

㪇

㪈

㪉

㪊

㪋

㪌 㪸㫍㪼㫉㪸㪾㪼of 100

㪈

㪉

㪊

㪋

㪌

㪸㫍㪼㫉㪸㪾㪼
㫆㪽㩷㪈㪇㪇㪈㪉㪊㪋㪌 㪸㫍㪼㫉㪸㪾㪼㫆㪽㩷㪈㪇㪇

㪈㪎㪉ConclusionImplemented ATTA on a computer
Rule reformalization and Refinement of ambiguous rules
Resolution of preference rule conflicts by prioritizing rules
Introduction of an algorithm for acquiring a hierarchical structure

Experiment with correct data
100 pieces of correct data
Consistently out-performed the baseline F-measure

The Perl CGI version of ATTA can access
http://music.iit.tsukuba.ac.jp/hamanaka/atta/

㪈㪎㪊Further Information

㪈㪎㪋Further Information (1/5)
Music Theory
•
•
•
•
•
•

Lerdahl, F. and Jackendoff, R. (1983). A Generative Theory of Tonal Music, The MIT Press,
Cambridge.
Lerdahl, F. (2001). Tonal Pitch Space. Oxford University Press.
Schenker, H. (1979). Free Composition (Der freie Satz), translated and edited by Ernst Oster, New
York: Longman Inc.
Narmour, E. (1990). The Analysis and Cognition of Basic Melodic Structure, The University of
Chicago Press, Chicago.
Cooper, G. and Meyer, L. B. (1960). The Rhythmic Structure of Music, The University of Chicago
Press, Chicago.
Marsden, A. (2005). Generative Structural Representation of Tonal Music, Journal of New Music
Research, Vol. 34, No. 4, pp. 409-428.

Music Theory and Implementation••

Temperley, D. (2001). The Cognition of Basic Musical Structures, The MIT Press, Cambridge.
Cope, D. (1995). Experiments in Musical Intelligence, A-R Editions, Inc.

㪈㪎㪌

Further Information (2/5)
Implementation••

Nord, T. (1992). Toward Theoretical Verification: Developing a Computer Model of Lerdahl andJackendoff's Generative Theory of Tonal Music, Ph.D. Thesis, The University of Wisconsin,
Madison.
Stammen, D. R. and Pennycook, B. (1994). Real-time Segmentation of Music using an Adaptation of
Lerdahl and Jackendoff's Grouping Principles, Proc. ICMPC1994, pp. 269-270.

Melody Segmentation
•
•
•
•
•
•
•

Cambouropoulos, E. (2001). The Local Boundary Detection Model (LBDM) and its application in
the study of expressive timing, Proc. ICMC2001, pp. 290-293.
Cambouropoulos, E. (2006). Musical Parallelism and Melodic Segmentation: A Computational
Approach. Music Perception, Vol. 23, No. 3, pp. 249-267.
Ferrand, M., Nelson, P. and Wiggins, G. (2003). Memory and Melodic Density: A Model for Melody
Segmentation, Proc. XIV CIM 2003, pp. 95-98.
Thom, B. , Spevak, C. and Hothker, K. : Melodic segmentation: evaluating the performance ofalgorithms and musical expert, Proc. ICMC2002, pp. 65-72 (2002).
Hamanaka, M. and Hirata, K. (2002). Applying Voronoi Diagrams in the Automatic Grouping of
Polyphony, Information Technology Letters, Vol. 1, No. 1, pp. 101-102.
Selfridge-Field, E. (1998). Conceptual and Representational Issues in Melodic Comparison,
Computing in Musicology 11, The MIT Press, pp. 3-64.
Hewlett, W. B. ed. (1998). Melodic Similarity: Concepts, Procedures, and Application. Computing inMusicology, Vol. 11, The MIT press, Cambridge.

㪈㪎㪍Further Information (3/5)
Application••

Hirata, K. and Hiraga, R. (2003). Ha-Hi-Hun plays Chopin's Etude, Working Notes of IJCAI-03
Workshop on Methods for Automatic Music Performance and their Applications in a Public
Rendering Contest, pp. 72-73.
Hirata, K. and Matsuda, S. (2003). Interactive Music Summarization based on Generative Theory ofTonal Music, Journal of New Music Research, Vol. 32, No. 2, pp. 165-177.

Music Representation and AI
•

•
•
•
•

Hirata, K. and Aoyagi, T. (2003). Computational Music Representation on the Generative Theory ofTonal Music and the Deductive Object-Oriented Database, Computer Music Journal, Vol. 27, No. 3,
pp. 73-89.
Grachten, M., Arcos, J.-L., and Mantaras, R. L. (2004). Melodic Similarity: Looking for a Good
Abstraction Level. Proc. ISMIR2004, pp.210-215.
Balaban, M., Ebcio㭕lu, K., and Laske, O. (Eds) (1992). Understanding Music with AI: Perspectives
on Music Cognition. The MIT Press.
Hofstadter, D. (1979). Gödel, Escher, Bach: An Eternal Golden Braid. Basic Books.
Hofstadter, D. (1985). Metamagical Themas. Basic Books.

㪈㪎㪎Further Information (4/5)
Our Work
•
•
•
•
•
•

Hamanaka, M., Hirata, K. and Tojo, S. (2004). Automatic Generation of Grouping Structure based on
the GTTM, Proc. ICMC2004, pp. 141-144.
Hamanaka, M., Hirata, K. and Tojo, S. (2005). Automatic Generation of Metrical Structure based on
the GTTM, Proc. ICMC2005, pp. 53-56.
Hamanaka, M., Hirata, K. and Tojo, S. (2005). ATTA: Automatic Time-span Tree Analyzer based on
Extended GTTM, Proc. ISMIR2005, pp. 358-365.
Hamanaka, M., Hirata, K. and Tojo, S. (2006). Implementing “A Generative Theory of Tonal
Music”, Journal of New Music Research, Vol. 35, No. 4, pp. 249-277. (To Appear)
Hamanaka, M., Hirata, K. and Tojo, S. (2007). FATTA: Full Automatic Time-span Tree Analyzer,
Proc. ICMC2007, Vol. I, pp. 153-156.
Oka, Y., Hamanaka, M., Hirata, K. and Tojo, S. (2007). Optimal Parameter Set Acquisition for
exGTTM. Proc. Music-AI 2007, pp. 95-106.

㪈㪎㪏Further Information (5/5)
Language Theory
•
•
•
•
•

Jackendoff, R. (1983). Semantics and Cognition. The MIT Press.
Jackendoff, R. (1993). Patterns in the Mind, Harvester Wheatsheaf.
Jackendoff, R. (2003). Foundations of Language: Brain, Meaning, Grammar, Evolution.
Oxford University Press.
Chomsky, N. (1995). The Minimalist Program. Cambridge. The MIT Press.
Pinker, S. (1994). The Language Instinct. Perennial (HarperCollins).

Web Pages••

Heikki, V. (2000). Lerdahl and Jackendoff Revisited:
http://www.cc.jyu.fi/~heivalko/articles/lehr_jack.htm
David Meredith’s Web Site:
http://www.titanmusic.com/

㪈㪎㪐The End㪈㪏㪇