GTTM に基づく楽曲構造分析の実装:
グルーピング構造と拍節構造の獲得
浜中雅俊†1, †2†1

平田圭二†3東条敏†4

日本学術振興会特別研究員 PD, †2 産業技術総合研究所†3

NTT コミュニケーション科学基礎研究所†4

北陸先端科学技術大学院大学
m.hamanaka@aist.go.jp

本研究報告では，音楽理論 Generative Theory of Tonal Music (GTTM) に基づき，楽曲のグルーピング構造お
よび拍節構造を自動で獲得するシステムについて述べる．GTTM は計算機上への実装が期待される音楽理論の 1つであるが，ルール適用の優先順位やアルゴリズムが決められていないため，ルールの競合が起こるという問題がある．この問題の解決法として本研究では，ルールの優先順位を決めるためのパラメータを導入する．そして，
ボトムアップに求めた局所的なグルーピング境界の強さおよび拍点の強さを用いて，トップダウンに階層的な構造を獲得する手法を提案する．実験の結果，パラメータの調節により，性能が向上することが確認できた．

An Automatic Music Analyzing System based on GTTM:
Acquisition of Grouping Structures and Metrical Structures
1

2

3

4

Masatoshi Hamanaka† , † Keiji Hirata† Satoshi Tojo†
†1
†2
†3

Research Fellow of the Japan Society for the Promotion of Science,

National Institute of Advanced Industrial Science and Technology (AIST),4NTT Communication Science Laboratories, † Japan Advanced Institute of Science and Technology
Mbox 0604. 1-1-1Umezono, Tsukuba, Ibaraki 305-8568 Japan

This report describes an automatic music analyzing system, which acquire grouping structures and metrical structures,
based on the Generative Theory of Tonal Music (GTTM). The GTTM is considered to be one of the most promising theories
of music in regard to computer implementation; however, no order in applying those rules is given and thus, more often thennot, may result in conflict among them. To solve this problem, we introduce adjustable parameters, which enable us to givepriority among rules. Our system based on the GTTM makes it possible to construct hierarchical grouping and metricalstructures in a top-down process using bottom-up detection of local boundary strength and local metrical strength. The
experimental results show that our method outperformed the baseline performance by tuning the parameters.

1.はじめに本研究の目的は，音楽理論 Generative Theoryof Tonal Music (GTTM)[1]に基づき，タイムスパ
ン木を自動で獲得することである．タイムスパン
木は，曲中の各音の構造的な重要度を階層的に表示したもので，その自動生成は，音楽の深層構造の分析[2][3]を可能とするだけでなく，音楽情報
検索システムの出力結果を提示する際などに有用な，音楽要約[4][5]を実現する．
GTTM は，グルーピング構造分析，拍節構造分
析，タイムスパン簡約，プロロンゲーション簡約という 4 つのサブ理論から構成されており，タイ
ムスパン木はタイムスパン簡約の結果として求まる．本稿では，タイムスパン簡約を行うために必要となる，グルーピング構造分析と拍節構造分
析を計算機上へ実装する方法について述べる．
グルーピング構造分析は，連続したメロディをフレーズやモチーフなどに階層的に分割するもので，長いメロディを歌うときにどこで息継ぎすべきかを見つけるような分析である．従来のメロ
ディ分割手法は，メロディの局所的な境界を求めることに主眼を置いていたため，階層的なグルーピング構造を得ることはできなかった[6][7][8][9]．文献[10]では，ピアノロール上に描いたボロ
ノイ線図を用いて，多声音楽の階層的なグルーピングを実現していたが，音楽的な根拠に乏しく，曲によっては，うまくグルーピングできない場合があった．
拍節構造分析は，4 分音符/2 分音符/1 小節/2 小
節/4 小節などそれぞれの拍節レベルにおける強拍と弱拍を同定するもので，聴取者が曲に合わせて手拍子を打つタイミングや指揮者がタクトを振るタイミングを求めるような分析である．従来のビートトラッキングに関する手法[11][12][13][14]は，階層的な拍節構造の獲得を実現していたが，そこで扱われたのは小節レベルまでの拍節構造で，本研究で扱うような，それより高次の拍節構造については考慮していなかった．
従来，GTTM のグルーピング構造分析と拍節構
造分析の実装が試みられたが[15][16]，それらの手法ではルールの競合の問題が解消できず，階層的なグルーピング・拍節構造を獲得することは困難であった．
これに対し我々は，ルールの優先順位を制御するためのパラメータを導入し，ボトムアップ処理
により求めた局所的境界を用いて，トップダウンに階層的なグルーピング構造を獲得することを可能としていた[17]．しかし，そこで用いた入力データには，ダイナミクスおよびアーティキュレーションの情報が含まれていなかったため，それらに関するルールが実装できず，グルーピング性能が悪かった．
本研究では，新たに拍節構造分析を実装するとともに，ダイナミクスおよびアーティキュレーシ
ョンに関するグルーピングルールを実装した．実験の結果，ルールを追加することでグルーピング
性能が向上すること，ユーザがパラメータを適切に設定することによって拍節構造分析の性能が向上することが確認できた．

2. GTTM に基づく楽曲構造分析
GTTM は，Fred Lerdahl と Ray Jackendoff
によって提唱された，音楽に関して専門知識のある聴取者の直観を形式的に記述するための理論である．図 1 に，システムの全体像を示す．シス
テムの入力形式には，楽譜作成や，分析，検索ツールが普及しており，フォーマットの相互変換がMusicXML

グルーピング構造分析
GroupingXML

拍節構造分析
MetricalXML

タイムスパン簡約
Time-spanXML
図 1：システムの全体像

容易な MusicXML[18]を採用した．本研究では，グルーピング構造分析，拍節構造分析，タイムス
パン簡約の結果のそれぞれの出力形式として，
GroupingXML，MetricalXML，Time-spanXMLを提案する(図 2)．MusicXML，GroupingXML，
MetricalXML，Time-spanXML 上にあるノート
エレメントは，Xpointer[19]と Xlink[20]を用いてそれぞれお互いにリンクしている．

2.1 MusicXML
MusicXML は XML(extensible mark-up
language)に基づく楽譜表記の方法で，アトリビュートエレメントとノートエレメントからなる．
アトリビュートエレメントには，調記号，拍子記
号および音部記号が記述され，ノートエレメントには，音高，音価およびノーテーションエレメン
トが記述される．ノーテーションエレメントには，タイ，スラー，フェルマータ，アルぺジオ，強弱記号，装飾音，アーティキュレーション，などが記述される．
実験で用いたすべての入力データは，文献[17]で用いた MusicXML に，一人の音楽家が手作業
で強弱記号及びアーティキュレーション記号を追加したものである．GTTM ではすべての楽曲を
ホモフォニー（homophony）として扱っているが，本研究では，システムの性能を正しく評価するた
め，分析の対象をモノフォニー(monophony)に限定する☆．
☆

ホモフォニーは和音を含む単旋律，モノフォニーは和音を含まない単旋律である．

タイムスパン木…
・ ・ ・・ ・ ・・ ・ ・・ ・ ・・ ・ ・・ ・ ・・ ・ ・・ ・
・
・
・
・・
・・
・
Time-spanXML- <ts>- <head>+ <note></head>-<primary>-<ts>- <head>+ <note></head>-<primary>+<ts></primary></ts></primary>-<secondary>+<ts></secondary>
</ts>

Xlink
XpointerMusicXML- <part id="P1">- <measure number="1">+ <note>+ <note>+ <note>+ <note></measure >- <measure number=“2">+ <note>+ <note>+ <note>+ <note>+ <note></measure >- <measure number=“3">+ <note>
:
:

Xlink

Grouping-XML

Xpointer

拍節構造
グルーピング構造- <group>- <group>+ <note id="P1-1-1">+ <note id="P1-1-2">+ <note id="P1-1-3">+ <note id="P1-1-4">+ <note id="P1-2-1"></group><applied rule="2a" /><applied rule="6" />- <group>+ <note id="P1-2-3">+ <note id="P1-2-4">+ <note id="P1-2-5">+ <note id="P1-2-6">+ <note id="P1-3-1"></group></group>::

Xlink
Xpointer

MetricalXML- <metric dot="3" at= “0.0" ><applied level=0.25 rule=3><applied level=0.50 rule=3><applied level=1.00 rule=3>+ <note></metric>- <metric dot="3" at= “0.25" ><applied level=0.25 rule=3>+ <note></metric>- <metric dot="3" at= “0.50" ><applied level=0.25 rule=3><applied level=0.50 rule=3>+ <note></metric>+<metric>+<metric>::

図 2：MusicXML, GroupingXML, MetricalXML, Time‑spanXML

2.2 GroupingXML

3. ルール適用における問題点

階層的なグルーピング構造の出力形式としてグルーピング構造分析と拍節構造分析は，それGroupingXML を提案する．GroupingXML は，
ぞれ構成ルールと選好ルールの 2 種類によって定グループエレメント，ノートエレメント，アプラ
義されている．そして，2 種類のルールのうち計
イドエレメントからなる． すべてのノートエレ
算機上に実装する際に問題となるのは選好ルー
メントは発音時刻順に並んでおり，階層的なグルルのほうである．構成ルールは，構造が成立する
ープエレメントの内部に存在する．アプライドエ
ために必要な条件や制約で，選好ルールは，複数
レメントは，グループの終了タグと次のグループの構造が構成ルールを満たす場合，どれが好ましの開始タグの間に位置し，GPR の適用位置を表す．
いかを示すルールである．
本節では，GTTM のグルーピング選好ルール
2.3 MetricalXML（Grouping Preference Rule，以下 GPR）と拍拍節構造の出力形式として MetricalXML を提節選好ルール（Metrical Preference Rule，以下案する．MetricalXML は，メトリックエレメン
MPR）を計算機上に実装する上での問題点についトとメトリックエレメントの内部にあるアプラて述べる．
イドエレメント，ノートエレメントからなる．
メトリックエレメントは，曲中の拍の強さを最小
3.1 ルールの競合
拍節レベルの拍ごとに表したもので，アプライドエ
GPR や MPR を適用する際，ルールの適用順序
レメントは各拍節レベルに適用されるルールを表す． が決まっていないため，ルールの競合がしばしば起きる．
2.4 Time‑spanXML
本研究では，ルールの優先順位を制御するためのパラメータを導入することで，この問題を解決
Time-spanXML をタイムスパン木の出力形式
する．
として提案する．Time-spanXML は，タイムス
パンエレメント，ヘッドエレメント，プライマリ
ーエレメント，セカンダリーエレメントおよびノ
3.2 定義の曖昧性
ートエレメントからなる．タイムスパンエレメン
GPR4，6 や MPR5，6，7 の定義には，抽象的トの中には，ヘッドエレメント，プライマリーエ
で曖昧な部分が多く含まれているため実装が困
レメント，セカンダリーエレメントがそれぞれ一難である．例えば，GPR4(intensification)では，つずつある．ノートエレメントはヘッドエレメン
GPR2,3 で示される効果が比較的明白なところがトの中に現れる．そして，プライマリーエレメン
グループの境界になりやすいと定義しているが，トとセカンダリーエレメントの下にはタイムス比較対照が示されていないため，どのような場合
パンエレメントが再起的に現れる．タイムスパンが比較的明白であるかは明かになっていない．
木の末端では，プライマリーエレメントとセカン
本研究では，ルールが適用できるかどうかを決
ダリーエレメントを含まないヘッドエレメント
める基準を定式化することにより，この問題を解
が現れる．
決する．

4. グルーピング構造分析の実装
階層的なグルーピング構造は，ボトムアップ処理により求めた局所的境界を用いて，トップダウンに獲得する（図 3）．入力は MusicXML，出力は GroupingXML である．
MusicXML（2.1節）
局所的境界の検出 Dilow-level（4.2節）(境界の深さ)局所的境界

GPR1, 2, 3, 6 の適用（4.1節）

高次の境界の検出（4.3節）[time]

GPR1, 2, 3, 4, 5, 6 の適用（4.1節）

GroupingXML（2.2節）

文献[17]では，GPR1, 2a, 2b, 3a, 3d, 4, 5, 6 の適用を行っていたが，本研究では新たに GPR3b,3c の適用を行う．図 4 は，GPR の適用とパラメータの関係を表したものである．
(14)

^i

S GPR jj =2a,2b,3a,3b,
3c,3d,4,5,6(n) 式番号
変数

パラメータ

図 4：GPR の適用とパラメータの関係• 基本変数の算出. MusicXML から 6 つの基本変数を算出する．6 つの変数はそれぞれ，消音時
刻から次の発音時刻までの間隔 resti，発音時刻
間隔 ioii，音高の差 regii，ダイナミクスの差 dyni，
楽譜上の音符の長さと実際に演奏された音の長さの比の差 artii☆，音価の差 leni である．各基
本変数についている添え字の i が何番目の遷移であるかを表している．ただし，第 1 音から第2 音への変化を遷移 1，第 2 音から第 3 音への変化を遷移 2 とする．
☆

ioii −1 < ioii and ioii > ioii +1

GTTM では，アーティキュレーションの意味について明確な定義がない．ここでは，文献[1]での適用例か
ら，楽譜上の音符の長さと，実際に演奏された音の長さの比という意味であると判断した．

(2)

ioii −1 ≥ ioii or ioii ≤ ioii +1
regi i −1 < regi i and regi i > regi i +1
regi i −1≥ regi i or regi i ≤ regi i +1
dyni −1 = 0 and dyni ≠ 0 and dyni +1 = 0

1DiGPR3b = 0

4.1 グルーピング選好ルールの適用(1)

resti −1 ≥ resti or resti ≤ resti +1

1
DiGPR3a = 0

図 3：グルーピング構造分析

D iGPR 2a
D iGPR 2b
D iGPR 3a
T low-level
S GPR j
D iGPR 3b
resti
D ilow-level(13)
GPR 3c j =2a,2b,3a,3b,
ioii W s, W r, W l D i
3c,3d, 6
GPR 3dDregii (9) q (10)(11) i
B i (12) D iGPR 1i
dyn i
D iGPR 6
rest
P
i
artii
P iioilen i
P iregi (7) D iGPR 4
P idynT GPR 4
P iarti(8)
D iGPR 5
σresti −1 < resti and resti > resti +1

1
DiGPR2a = 0
1
DiGPR2b = 0

トップダウンによる分割(1)〜(6)• GPR2,3,4 の適用. DiGPR j(=2a, 2b, 3a, 3b, 3c, 3d, 4)は，
GPR のルールが成立する度合いを表す変数で，遷移 i でルールが成立する場合には 1，成立しない場合には 0 を示す関数である．そして，
GPR2,3 の 6 つのルールは各基本変数の変化の多いところで成立する(式 1-6)．また，GPR4 では，GPR2,3 で示される効果が比較的明白な場
合，グループの境界と認識される．Pirest, Piioi,
Piregi, Pidyn, Piarti は，それぞれ，GPR2a, 2b, 3a, 3b,3c, 3d が明白に成立するほど大きな値を示す変数
で，TGPR4 (0≦ TGPR4 ≦1)は，GPR2,3 の効果が明白であるかどうかを決める閾値である（式 7）．

dyni −1 ≠ 0 or dyni = 0 or dyni +1 ≠ 0
artii −1 = 0 and artii ≠ 0 and artii +1 = 0

1DiGPR3c = 0artii −1 ≠ 0 or artii = 0 or artii +1 ≠ 0leni −1 = 0 and leni ≠ 0 and leni +1 = 0

1DiGPR3d = 0leni −1 ≠ 0 or leni = 0 or leni +1 ≠ 0(

1
DiGPR4 = 
0

)

(3)
(4)
(5)
(6)

max Pi rest , Piioi , Pi regist , Pi dyn , Pi arti > T GPR 4
else

(7)

ただし，
i +1

Pirest = resti∑ rest j , Pi

j = i −1regii
Piregist =  0Pidyn = dyni
rest

= ioiii +1∑ ioi j ,j = i −1

 i +1 ∑ regi j > 0 
 j = i −1
 ,



i +1

∑ regi j

j = i −1

else
i +1

i +1

j = i −1

j = i −1arti
= artii∑ dyn j , Pi

(0 ≤ P , P , P
i

ioi

i

ioi

i

regist∑ arti j), Pidyn , Pi arti ≤ 1• GPR5 の適用. GPR5 では，グループの分割が長さの等しい 2 つの部分からなるようグルーピ
ングすることを優先する．このようなことを実現するため，本研究では，分割されたグループの長さが等しいほど高い値を示す関数 DiGPR5 を定義する．そのような関数は様々考えられるが，ここでは，平均をグループの中心，分散をσとする正規分布を用いる．正規分布は，パラメー
タを調節することにより裾野の広さを自由に変えられるという特長がある．分散σは，調節可能なパラメータで，0 に近いほど正規分布の裾野が狭まり，グループの中心付近での DiGPR5 の値が大きくなる．したがって，より中心に近いほどグループの境界になりやすくなる．逆にσが大きくなった場合，中心付近以外の位置でもグループの境界になりやすくなる（式 8）．

1

DiGPR5 =

e

2π σ

 i

end


 ∑ ioi j − ∑ ioi j 2 
j = startj = start


−
2σ 2

2

(8)

• GPR6 の適用. GPR6 では，並列性のある部分
は並列性のあるグルーピングを優先する．ここでは，調整可能な 3 つのパラメータ Wr, Ws, Wlを導入する(0≦Wr, Ws, Wl ≦1)．Wr は，リズム方向のずれと音高のずれのどちらを重視するか決めるパラメータ，Ws は，パラレルな区間の始
まりと終わりでどちらを重視するかを決めるパ
ラメータ，Wl は，パラレル区間の長さをどのく
らい重視するかを決めるパラメータである．パ
ラレルな部分の長さ r は，１拍の長さの整数倍とする．したがって，パラレル区間の始まりと終わりは，拍の境目になる．qi は i 番目の遷移が曲の頭から数えて何拍目であるかを表す（式 9）．
 [ ] はガウス記号．[n]はnを  越えない最大の整数を表す。
(9)

パラレルな部分の長さが r のとき遷移 i と遷移 jの GPR6 による境界の深さは Gi j rstart とおよび
Gi j rend で表される．Gi j rstart は，qi 拍目から qi+ r 拍目までの区間と qj 拍目から qj+ r 拍目までの区間がパラレルな場合に高い値になり，Gi j rend は，qi‐r 拍目
から qi 拍目までの区間と qj‐r 拍目から qj 拍目までの区間がパラレルな場合に高い値となる（式 10）．
Gistart
jr =
Giend
jr =

z qi q j r
y qi q j r

× Wr ′ × r Wl +z qi -r q j -r r

× Wr ′ × r Wl +y qi -r q j -r r

y qi q j r
x qi r + x q j r

× Wr × r Wl

yqi -r q j -r r
xqi -r r + xq j -r r

(10)
× Wr × r Wl

ただし，
Wr ′ = 1 - W r , Ws′ = 1 - Ws ,Wl ′ = 1 + Wl

qi ≤ q j and q j ≤ q i + r
1
x qi r= ∑0qj 
i > q j or q j > q i + rklq i − q j × div = ∑ ioi g − ∑ ioi g
1
g
g
=
1
=1

y qi q j r = ∑ ∑ 
k
l
k l 
0
q i − q j × div ≠ ∑ ioi g − ∑ ioi g

g =1
g =1
k
l

1 q i − q j × div = ∑ ioi g − ∑ ioi g and regii = regi j
g
g
=
1
=1

z qi q j r = ∑ ∑ 
k
l
k l 
0 q i − q j × div ≠ ∑ ioi g − ∑ ioi g or regii ≠ regi j

g =1
g =1

(

)

(

)

(

)

(

)

mi j = b
mi j = e(11)

mi j = tmi j = s

ただし，

ただし，
start : グループの始まりの遷移
end: グループの終わりの遷移 i ∑ ioi k k =1qi = 
 div 

G start × W ′s
 i jrG end × W
 i jrs
DiGPR6 = ∑ ∑ 
j r G start × W ′ + G end × W
i jr
s
i jr
s

0

そして，パラレルな度合い DiGPR6 はその両者の重み付け和によって求まる（式 11）．

b qi ≠ qi -1 and q j ≠ q j -1 and qi = qi +1 and q j = q j +1
e qi = qi -1 and q j = q j -1 and qi ≠ qi +1 and q j ≠ q j +1
mi j = t qi ≠ qi -1 and q j ≠ q j -1 and qi ≠ qi +1 and q j ≠ q j +1
s else• GPR1 の適用. GPR1 では，非常に小さいグループ，特に単音からなるグループへの分割は避ける．したがって，グループの境界となるためには，局所的な境界の深さが前後の遷移より深い必要がある．GPR1 による境界の深さは，境界に成り得る（DiGPR1 =1）かそうでない（DiGPR2=0）かで表される．Bi は，局所的な境界の深さ
を 0 から 1 の実数で表したものである．Bi の値が大きいほど，境界が深いことを表す．SGPR j (0≦ SGPR j ≦1)は各ルールの強さを決めるパラメータである．
1
DiGPR1 = 0Bi-1 ≤ Bi and Bi ≥ Bi +1
Bi-1 > Bi or Bi < Bi +1

(12)

ただし，
Bi =

GPR j
× S GPR j∑ Di
j =(2a,2b,3a,3d ,6)
GPR j
GPR j 
max 
∑ Di′ × S
i′  j =(2a,2b,3a,3b,3c,3d ,6)

4.2 局所的境界の検出
局所的な境界は，DiGPR1, DiGPR2a, DiGPR2b, DiGPR3a,
および DiGPR6 用いて検出す
る．Tは，遷移 i がグループの境界となる
low-level(Di=1)かそうでない(Dilow-level =0)を決めるた
めの閾値である．Bi は，式(12)と同じである．
DiGPR3b DiGPR3c DiGPR3d,
low-level

1
Dilow-level boundary= 0Bi > T low−level and DiGPR 1 = 1
Bi ≤ T low−level or DiGPR 1 ≠ 1(13)

4.3 階層的なグルーピング構造の検出
階層的なグルーピング構造は，ボトムアップ処理により求めた局所的境界を用いて，トップダウンに獲得する．グループがその内部に局所的境界を含んでいる場合，次式によって，次の階層の境界が再帰的に求まる．
iˆ = argmax ( Dilow − level boundary × ∑ DiGPR j × S GPR j ) (14)
i

j

ただし，
j= (2a, 2b, 3a, 3d, 4, 5, 6)i はグループに含まれるすべての遷移5. 拍節構造分析の実装
階層的な拍節構造は，局所的な拍点の強さの算
出と，次の階層の拍節構造の選択を再起的に繰り返すことにより獲得する(図 5)．入力は MusicXMLと GroupingXML，出力は MetricalXML である．
GroupingXML(2.2節）

MusicXML(2.1節）
局所的な拍点 現在の拍節構造
low-levelの強さの算出 Di(拍点の強さ)（5.2節）


1
DiMPR1=k 0

MPR1,2,3,4,5の適用（5.1節） [time]

現在の拍節構造

次の階層の拍次の階層の候補
節構造の選択mˆ = 1mˆ = 2（5.3節）• MPR1 の適用. MPR1 では，並列的なグループ
は並列的な拍節構造を優先する．ここでは，調整可能な 2 つのパラメータ Wr, TMPR1 を導入する(0≦Wr, TMPR1 ≦1)．Wr は，リズム方向のず
れと音高のずれのどちらを重視するか決める
パラメータ，TMPR1 は，拍点 i と k が並列的であるか（Di kMPR1＝1），そうでないか（Di kMPR1＝0）を決める閾値である．istart と iend を求めるためのグループは，拍点 i を含み，拍点が 2 つ以上ある最も小さなグループである．

ただし，

選択

mˆ = 3mˆ = 4mˆ = 5

xi k

=

yi k

=

zi k

=

拍点が2つ以上Noyi kz× Wr + i k × (1 − Wr ) > T MPR1 (15)
xi k
yi k
else

Yes

MetricalXML（2.3節）

i starti end

図 5：拍節構造分析

i end

k end 1 velo ′ > 0
1 veloi′ > 0
k
+ ∑ 
=
velo
0
0
0 velok ′ = 0i′i′=i start k ′= k start 

∑ 

i end

1 veloi > 0 and velok +i′+i > 0
0 else∑ i′=i start iend 1 veloi > 0 and numi′-1 = numi′ and numk +i′−i-1 = numk +i′−i0 else∑ i′=i start : グループの先頭の拍点の i: グループの終わりの拍点の i

5.1 拍節選好ルールの適用• MPR2 の適用. MPR2 では，最も強い拍がグ
図 6 は，MPR の適用とパラメータの関係を表
ループの中で比較的早く出る拍節構造を優先したものである．Di kMPR1 および DiMPR j (=2, 3, 4, 5a, 5b,
する．DiMPR2 は，拍点がグループの先頭に近い
5c, 5d, 5e)は各 MPR が成立する度合いを表す関数で，ほど大きな値を示す関数である．
0 から 1 の値で示される．SMPR j (0≦SMPR j≦1)は，
MPR2
(16)
Di
= i end − i i end − i start
各ルールの強さを決めるパラメータである．

(

GroupingXML

istart
iend

(15)

Wr

(24)

SMPR jj =2,3,4,5a,5b,5c,5d,5e(16)MusicXML(17)(18) 〜(21)

veloi
valui
voli
sluri
numi

Di kMPR1TMPR1TMPR jj =4,5a,5b,5c

(22)
(23)

DiMPR2
DiMPR3
DiMPR4
DiMPR5a
DiMPR5b
DiMPR5c(25)
Dilow-level

Bi
SMPR1

SMPR10(n) 式番号変数

DiMPR5d
DiMPR5e

^
m

パラメータ

図 6：MPR の適用とパラメータの関係• 基本変数の算出. MusicXML から 5 つの基本変数を算出する．5 つの変数はそれぞれ，拍点から始まる音のベロシティ veloi，音価 valui，連続する音量☆の長さ voli，スラーの長さ sluri，音高numi である．各基本変数についている添え字のi は，現在の拍節レベルで何番目の拍点である
かを表している．5 つの基本変数の平均値をそ
れぞれμvelo，μvalu，μvol，μslur，μnum とする．
☆

本研究では，連続する音量の長さを，拍点から開始して次の拍点まで休符を挟まずに鳴り続けている長さと定義した．

)()• MPR3 の適用. MPR3 では，拍点に音符がある拍節構造を優先する．
1
DiMPR3 = 0veloi > 0veloi = 0(17)

• MPR4,5a,5b,5c の適用. MPR4 では，強く弾いた拍が強拍となる拍節構造を優先する．
MPR5a,5b,5c では，相対的に長い音，長い音
量，長いスラーが強拍となる拍節構造を優先す
る．GTTM では，具体的にどのような場合が強く，どのような場合が長いのかが定義されていない．そこで本研究では，それらを判定するための閾値として，調節可能なパラメータ TMPR j(0≦ TMPR j(=4,5a,5b,5c) ≦1)を導入する．
1
DiMPR4 = 0veloi > 2 × µ velo × T MPR 4

1
DiMPR5a = 01
DiMPR5b = 01
DiMPR5c = 0valui > 2 × µ valu × T MPR5a(19)voli > 2 × µ vol × T MPR5b（20)

sluri > 2 × µ slur × T MPR5c(21)veloi ≤ 2 × µvelo × T MPR 4
valui ≤ 2 × µvalu × T MPR 5avoli ≤ 2 × µ vol × T MPR5b

sluri ≤ 2 × µ slur × T MPR5c(18)• MPR5d の適用. MPR5d では，相対的に長い
アーティキュレーションパターンの繰り返し
が強拍となる拍節構造を優先する．GTTM では，アーティキュレーションパターンの繰り返
しに関する具体的な定義がない．ここでは文献[1]での適用例から，MPR5a が連続で適用されている場所だと判断した．
 1
DiMPR5d = 0=1
DiMPR5a = 1 and DiMPR5a+1
DiMPR5a ≠ 1i or

(22)

≠1
DiMPR5a+1• MPR5e の適用. MPR5e では，同一音高が連続している場合に強拍となる拍節構造を優先する．
numi = numi + 1
numi ≠ numi + 1

1
DiMPR5e = 
0

(23)

6.実験結果
本節では，グルーピング構造分析と拍節構造分析の性能の評価を，適合率 P(precision)と再現率
R(recall)を組み合わせた F 値で評価する．F 値は，適合率と再現率の値が高いほど，高くなる．グルー
ピングではグループが所属する階層に関係なく，システムの出力と正解データの両方に同じグループがあった場合を適合とした．一方，拍節構造分析では，システムの出力と正解データの同じ拍節レベル
で同じ位置にある拍点を適合とした．
F値 = 2 ×

P× R
P+R

(26)

ただし，
Ｐ: 適合率（正解データのグルーピング（拍点）と同じグループ（拍点）が，システムの出力に含まれている割合）

Ｒ: 再現率（システムが出力したグルーピング（拍点）と同じグループ（拍点）が，正解データに含まれている割合）

5.2 局所的な拍点の強さの算出

このような F 値による評価を行うためにはグルーピング構造分析および拍節構造分析の正解
各拍点の局所的な強さを算出する．その際 MPR1
データを用意する必要がある．本研究では，文献を反映させる．
[17]でグルーピングの正解データに用いた，クラlow-level B × S MPR1
DiMPR1=1
metrical
k
k
(24)
Di
= Bi + ∑ ッシック曲から切り出した 8 小節の長さの 100 個
DiMPR1=0k k0のメロディに対して拍節構造分析の正解データ
ただし，を作成した．正解データは，GTTM をよく理解し
MPR j
MPR j
ている一人の音楽家が作成したものを，3 人の
Bi =
D
×
S
∑ i
j =(2,3,4,5a,5b,5c,5d ,5e)
GTTM の専門家がクロスチェックしたものである．
グルーピング構造，拍節構造は，パラメータの5.3 階層的な拍節構造の獲得調整によって変化する．パラメータの初期値は，局所的な拍の強さから，次の階層の拍節構造を
SGPR j (= 2a, 2b, 3a, 3d, 4, 5, 6)=0.5, σ=0.05, Ws,=0.5獲得する．その際， MPR10 を反映させる．次のWr =0.5, Wl=0.5, TGPR4 =0.5, Tlow-level=0.5，SMPR
階層の拍節構造 m̂ は，図 5 のように 5 通りが考え
j (= 1, 2, 3, 4, 5a, 5b, 5c)=0.5, および TMPR j(=4, 5a, 5b, 5c)
られる．現在の拍節レベルに拍点が 2 つ以上ある=0.5 である．そして，手作業で 1 曲につき 10場合，次式によって次の階層の拍節構造が求まる．
分間でパラメータの調整を行った．
low-level
DiMPR j (=2, 3, 4, 5a, 5b, 5c, 5d, 5e)の重み付け和により， metrical Di low-levelmˆ = argmax ∑  Di metrical × S MPR10m ( =1, 2,3, 4,5) i 0

(i - m ) mod 2 = 0(i - m ) mod 3 = 2
else

(25)

• GPR3b, 3c によるグルーピング性能の向上.
文献[17]でのグルーピング性能(ベースライン)と本システムのパラメータ調整後のグルーピ
ング性能を比較した（表 1）．ダイナミクスに

表 1: グルーピング構造分析・拍節構造分析の F 値
メロディ
1. 紡ぎ歌
2. 小犬のワルツ
3. ソルヴェイグの歌
4. アルルの女
5. タランテラ
6. モルダウの流れ
7. 別れの曲
8. ダニューブ川の漣
9. ホフマンの舟歌
10.ジムノペディ::

平均(100 個のメロディ)

グルーピング構造分析
ベースライン
GPR3b,3c 追加後
1.00
1.00
0.57
0.58
0.21
0.64
0.88
0.88
0.62
0.80
0.33
0.63
0.65
0.82
0.50
0.83
0.11
0.54
0.31
0.68

拍節構造分析
ベースライン
パラメータ調整後
0.88
1.00
0.86
0.92
0.86
0.86
0.92
0.98
0.63
0.69
0.73
1.00
0.88
1.00
0.72
0.97
0.72
0.79
0.66
0.82

:
:

:
:

:
:

:
:

0.67

0.77

0.84

0.90

関するルール GPR3b とアーティキュレーショ
ンに関するルール GPR3c を追加したことにより，F 値が 0.10 向上した．

参考文献[1] Lerdahl, F., and R. Jackendoff. A Generative Theory ofTonal Music. Cambridge, Massachusetts: MIT Press,
1983.
• パラメータ調節による拍節構造分析の性能向上． [2] 平田圭二, 青柳龍也, 音楽理論 GTTM に基づく多声音楽の表現手法と基本演算, 情報処理学会論文
システムにグルーピングの正解データを入力
誌 Vol.43, No.2, 2002.
し，パラメータ調節前の拍節構造分析の性能[3] K. Hirata, and T. Aoyagi. “Computational Music
Representation on the Generative Theory of Tonal（ベースライン）とパラメータ調節後の性能をMusic and the Deductive Object-Oriented Database.”
比較した(表 2)．その結果，パラメータの調節
Computer Music Journal 27(3), 73–89, 2003.
により F 値が 0.06 向上した．
[4] 平田圭二, 松田周, パピプーーン: GTTM に基づく
音楽要約システム，情報処理学会研究報告2002-MUS-46, pp.29-36, 2002.
本研究では，グルーピング構造および拍節構造[5] K.Hirata, and S. Matsuda. “Interactive Musicを表示するため，GTTM ビューアを作成した(図Summarization based on Generative Theory of Tonal
Music.” Journal of New Music Research, 32:2,
7)．GTTM ビューアは，音符をピアノロール形式
165-177, 2003.
で表示し，音符の下に階層的に並んだ円弧がグル[6] D. R. Stammen, B. Pennycook. “Real-time
ーピング構造，その下の棒グラフが拍節構造を表
Segmentation of Music using an Adaptation of Lerdahl
and Jackendoff’s Grouping Principles.” In proceedings
す．音符の上につながっている木構造は，タイム
of the International Conference on Music Perception
スパン木である．図 7 のタイムスパン木は，シスand Cognition, pp. 269-270, 1994.
テムの出力するグルーピング構造分析と，拍節構[7] D. Temperley. The Cognition of Basic Musical Structures.
Cambridge, Massachusetts: MIT Press, 2001.
造分析の結果を忠実に反映して手作業で作成し[8]
E. Cambouropoulos. “The Local Boundary Detection
たものであるが，この描画はタイムスパン簡約のModel (LBDM) and its application in the study of
実装によって今後自動化できる予定である．
expressive timing.” In Proceedings of the International
Computer Music Conference, pp. 290–293. Havana,
Cuba: International Computer Music Association, 2001.
7. まとめ[9] M. Ferrand, P. Nelson, and G. Wiggins. “Memory and
Melodic Density: A Model for Melody Segmentation.” In
本研究では，GTTM に基づき計算機上にグルー
Proceedings of the XIV Colloquium on Musical Informatics
ピング構造分析と拍節構造分析を実装した．本研(XIV CIM 2003), pp. 95–98. Firenze, Italy, 2003.
[10]M. Hamanaka, K. Hirata. “Applying Voronoi Diagrams
究では，ルールが適用できる基準を定式化すると
in the Automatic Grouping of Polyphony.” Information
ともに，ルールの優先順位を決めるパラメータをTechnology Letters, Vol.1, No.1, pp. 101-102, 2002.
導入することで階層的なグルーピング・拍節構造[11]D. Rosenthal. “Emulation of human rhythm perception.”
Computer Music Journal 16(1), 64–76, 1992.
の獲得を実現した．実験の結果，GPR3b,3c を適[12]D. Rosenthal. “Intelligent rithm tracking.” In
用することによりグルーピングの性能が F 値でproceedings of the International Computer Music
0.1 向上すること，パラメータの調節により拍節
Conference, pp. 227-230, 1992.
構造分析の性能が 0.06 向上することを確認した． [13]Masataka Goto. “An Audio-based Real-time Beat
Tracking System for Music With or Without
現在，GTTM のタイムスパン簡約を実装中であDrum-sounds.” Journal of New Music Research, 30:2,
り，完成すればタイムスパン木を自動導出した初159-171, 2001.
[14]後藤 真孝, 村岡 洋一, 音響信号を対象としたリア
めての例となる．今後，曲ごとに最適なパラメー
ルタイムビートトラッキングシステム ‐コード
タの値を自動で設定する方法について考えていく．
変化検出による打楽器音を含まない音楽への対応‐", 電子情報通信学会論文誌, Vol.J81-D-II, No.2,
pp.227-237, 1998.
[15]井田健太郎, 平田圭二, 東条敏, GTTM に基づくグルーピング構造および拍節構造の自動分析の試み,
タイムスパン木
情報処理学会研究報告 2001-MUS-42, pp.49-54, 2001.
[16]東洋武士, 平田圭二, 東条敏, 佐藤健, グルーピン
グ規則適用を改良した GTTM の実装, 情報処理学
会研究報告 2002-MUS-47, pp.121-126, 2002.
[17]浜中雅俊, 平田圭二, 東条敏, GTTM グルーピング構
グルーピング構造
造分析の実装: ルールを制御するパラメータの導入,
情報処理学会研究報告 2004-MUS-55, pp. 1-8, 2004.
[18]Recordare LLC. “MusicXML 1.0 Tutorial.”
拍節構造
http://www.recordare.com/xml/musicxml-tutorial.pdf,
2004.
[19]W3C. “XML Pointer Language (XPointer).”
http://www.w3.org/TR/xptr/, 2002.
[20]W3C. “XML Linking Language (XLink) Version 1.0.”
http://www.w3.org/TR/xlink/, 2001.
図 7：GTTM ビューア