情報処理学会研究報告
IPSJ SIG Technical Report

2 次元 LR パーサに基づく実演奏 MIDI 信号からの自動採譜
高宗 典玄1,a)

亀岡 弘和1,b)

嵯峨山 茂樹2,c)

概要：自動採譜は音楽音響信号から自動でその楽譜を推定する問題であり，大きく分けて，音響信号からどの楽器がいつどの高さの音を鳴らしたかを推定する多重音解析と多重音解析で得られた結果から実際の楽譜を推定するリズム解析の 2 つがある．本研究では，後者のリズム解析に焦点をあて，MIDI 信号から譜面情報の推定する問題を扱う．リズムとテンポの不確定性があるこの問題に対し，それぞれの生成過程を考え，統合的に解くことによりその解決を試みる．ここで，リズムの生成モデルとして 2 次元 PCFG を用い，その解析アルゴリズムとして 2 次元 LR パーサを提案する．実際に人間が演奏したいくつかの MIDI信号に対し採譜実験を行い，その結果を示す．
キーワード：自動採譜，リズム解析，MIDI 信号，2 次元 LR パーサ

Automatic Transcription from MIDI Signals of Music Performance
Using 2-Dimensional LR Parser
Abstract: This paper proposes 2-dimensional LR parser for automatic music transcription of polyphonic
MIDI signals. Automatic music transcription are roughly divided into two subproblems that are interdependent of each other: rhythm recognition and tempo estimation. This paper proposes to model the generative
process of music performance by combining the sub-process by which a set of onset times and oﬀset times inmusic score is generated and the sub-process by which a tempo curve is generated, and develop the analysis
algorithm for this generative model. We show the transcription results obtained with the present method.
Keywords: automatic transcription, rhythm recognition, MIDI signals, 2-dimensinoal LR parser

1. はじめに研究では，後者のリズム解析の問題を取り扱うため，人間が演奏した MIDI 信号からの自動採譜を目指す．

自動採譜とは，人間が演奏した音楽音響信号から自動でリズム解析の問題は，人間の演奏が多くの場合テンポ変楽譜を推定することであり，音声信号処理における音声認動や発音・消音時刻のゆらぎを含んでいるため，非常に困識の位置に対応する，音楽音響信号処理における重要な課難な問題となっている．これは，観測上の時間においての題のひとつである．

音の長さは，楽譜上の音の長さとテンポに依存するため，自動採譜には大きく分けて 2 つの段階がある．1 つは音

どのような楽譜から演奏されたかとどのようなテンポ変動

響信号から演奏している楽器やそれぞれの音の音高や発音を行ったかを一意に分解することは不可能であることに由

時刻，消音時刻を推定する多重音解析であり [1]，もう 1 つ来する．しかし，我々は多くの場合，そのようなテンポ変は多重音解析で推定された音高や発音時刻，消音時刻から動や発音・消音時刻のゆらぎを含んだ演奏を聴いても，楽テンポや音価を推定するリズム解析である [2], [3], [4]．本

譜やテンポを推定することが出来る．これは，人間は楽譜

1やテンポに対して先見知識があり，その先見知識に沿うよ2a)b)c)

東京大学情報理工学系研究科
The University of Tokyo
7-3-1 Hongo, Bunkyo-ku, Tokyo, 113-0033, Japan
明治大学総合数理学部
Meiji University
4-21-1 Nakano, Nakano-ku, Tokyo, 164-8525, Japan
takamune@hil.t.u-tokyo.ac.jp
kameoka@hil.t.u-tokyo.ac.jp
sagayama@meiji.ac.jp

c 1959 Information Processing Society of Japan⃝

うな楽譜とテンポを推定していると考えられる．そこで，
本研究では先見知識として楽譜やテンポの確率的生成モデ
ルを構築し，それを確率的逆問題として楽譜やテンポを同時に推定することを考える．
本稿では，2 章で生成モデルの説明を行い，その解析ア

1

情報処理学会研究報告
IPSJ SIG Technical Report

図 2 テンポ・発音時刻・消音時刻を生成する有限状態空間

図 1

2 次元 PCFG の文法例．左側は時間方向の文法，右側は音高方向の文法の例になっている．

ルゴリズムを 3 章で行う．そして，提案手法の動作を確認
図 3 階層構造の解釈の不確定性を示す例

するために採譜の実験を 4 章で行い，本稿のまとめを 5 章で行う．

各 left-to-right のパスの中の状態数がそのパスを通るとき

2. 音楽演奏 MIDI 信号の生成モデルの 1 拍の時間を表し，パス間の遷移確率は 1 拍の長さがど

2.1 楽譜の生成モデル
音楽を時間方向に見ていくと，モチーフやフレーズなどう変化しやすいか，つまりテンポ変動の起きやすさを表す．
そこで，ここではテンポ変動の滑らかさを表現するために，拍の長さが υ の拍から拍の長さが τ の拍への遷移確率といった階層構造を持つことが分かる．これは，自然言語

ϕτ,υ をが単語や文節，文といった階層構造を持つことと似てい

(1)
(2)
(x−µ)
1と設計する．ただし，N (x; µ, σ 2 ) = √2πσ
exp − 2σ2るため，そのような階層構造を扱う自然言語処理で用いられているモデルである確率文脈自由文法 (ProbabilisticContext-Free Grammar; PCFG) を利用できないかということが考えられる．一方，音楽には声部やパートといった，音高方向の階層構造も有しているため，単純に PCFG を音楽に適用することは出来ない．そこで，このような，時間方向と音高方向の二つの方向の階層構造を表すモデルとして，我々の研究室で提案された 2 次元 PCFG[5] を用いることを考える．2 次元 PCFG の生成規則の例を Fig. 1に示す．これを用いることで，起こりうるすべての楽譜に(()2 )ϕτ,υ ∝ N τ ; υ, C trans υであり，C trans はテンポの変化を表す定数である．また，発音時刻，消音時刻のずれを表現するために，楽譜上の発音時刻又は消音時刻に対応する状態 l に対して，状態 k がその発音時刻又は消音時刻を生成する確率を状態間の距離dk,l を用いて(()2 )
ponset∝ N dk,l ; 0, C onset τ ,k,l(()2 )poﬀset∝ N dk,l ; 0, C oﬀset τk,l(2)(3)

対し，少ない生成規則で生成確率を計算することができると設計する．ただし，C onset や C oﬀset はそれぞれ発音時刻ようになる．ここで実際の楽譜で頻出するリズムが出現すや消音時刻がどの程度ずれやすいかを表す定数である．

る確率を高く，あまり現れないリズムが出現する確率を低く設定することで，楽譜の尤もらしさを生成確率で表現できる．

3. 解析アルゴリズム
3.1 2 次元 LR パーサ
PCFG を解析する手法には一般化 LR 法や CYK 法等が2.2 テンポ・発音時刻・消音時刻の生成モデル
人間が音楽を演奏する際，テンポは必ずしも一定ではな
く，緩やかな変動を伴っている場合がほとんどである．まある．しかし，これらの手法は時間方向の順序関係が重要であるため，音高方向に拡張した 2 次元 PCFG には単純に適用することが出来ない．

た，各音の発音時刻や消音時刻も物理的な制約や，演奏上例えば，図 3 に示すようにある 2 拍の時間のうち最初のの表情付けで楽譜上の位置からずれることがある．そこ拍に 4 分音符が二つ (a と b とする)，次の拍に 4 分音符がで，Fig. 2 に示すような有限状態空間を用いてテンポ変動

二つ (c と d とする) あるという単純な場合について考えや発音時刻・消音時刻のずれの生成をモデル化することをる．この場合においても，考える．これは，各状態が楽譜上のどの位置にいるのかを

1) a と c，b と d がそれぞれ時間方向の構造を持つ場合

表し，演奏の時間がある単位時間進むごとに状態を遷移し，

2) a と d，b と c がそれぞれ時間方向の構造を持つ場合

楽譜上の発音時刻，消音時刻に対応する状態の前後の状態

3) a と b，c と d がそれぞれ音高方向の構造を持つ場合から発音や消音の指令を出力するモデルである．ここで，と 3 種類の場合を持ってしまう．これが，音符数が多く

c 1959 Information Processing Society of Japan⃝

2情報処理学会研究報告
IPSJ SIG Technical Report

なっていったときに，どの音符同士が時間方向の文法適用により分割されたかの並びをすべて数え上げようとするとなければ “reduce” の動作を選択する．
次に，入力が入ってきたときに 2 次元 LR パーサとして指数関数的に場合の数が増大する．そこで，様々な並びをは次の 2 つの行動を選択する．

考慮に入れつつもビームサーチで確率が低い候補を切り落

1) マルチスタック内の各スタックに入力を割り振る．とすことで，計算量を削減するという方針を考える．この2) スタックを新規作成し，そのスタックに入力する．

ため，時間的に順番に解析していき，解析途中で確率を評

また，マルチスタック内の各スタックは入力とそれぞれの価することが出来る PCFG の解析手法である一般化 LR

状態に応じて，一般化 LR 法のスタックと同様の “shift”，法 [6] を応用することを考える．

“reduce”，“reject”，“accept” に加え，上述の “synchroniza-

一般化 LR 法は，現在入ってきた入力とこれまでの構文

tion reduce” の動作を LR テーブルに従い選択していく．

解析の履歴からどのような解析を行うかという規則 (LRここで，1) の割り振り方や，1) と 2) の選択の仕方は任意テーブルという) をあらかじめ計算しておき，入力を逐次性があり，また，各スタックが行う行動にも任意性がある

的に読み込みながらその LR テーブルに従い解析を行うの場合があるので，一般化 LR 法と同様に仮説を増やしたので，非常に効率のよい構文解析手法である．一般化 LR 法

ち，それぞれ計算し，ビームサーチによる計算量の削減をの解析器 (以下パーサと呼ぶ) は構文解析の履歴に対応する行う．

状態をスタックとして持ち，その先頭の状態と入力から次また，同じ声部の連続する音は音高が近い場合が多いのの 4 つの行動を選択する．

で，1) の入力の割り当ての時に，そのスタックに直前に

1) shift: 現在入ってきた入力を取り込み，次の状態をス入ってきた音の音高からどれだけ離れている音が入力されタックする．

るかを確率で表し，近い音高が連続しやすいようにする．

2) reduce: 文法規則の適用を行い，対応する状態をスタッ

このときの確率を()∝ N i; j, (σ pitch )2ppitchi,jクから削除し，スタックの先頭の状態と対応する文法規則に従い次の状態をスタックする．

3) reject: 文法解析が行えないので，当該仮説を消滅さ(7)と設計する．ただし，i は新しく入ってきた音高，j はス
タックに直前に入ってきた音の音高を表す数値で，半音のせる．

4) accept: 文法解析が成功する．

間隔が 1 となっている．また，C onset や C oﬀset はそれぞれ

また，どの行動を行うかが複数存在する場合はその分だけ発音時刻や消音時刻がどの程度ずれやすいかを表す定数で仮説を増やしたのち，それぞれ計算する．このため，一般ある．には仮説が指数関数的に増大し，計算が困難になるが，解析途中の確率値などを規準にビームサーチを行うなどの手

3.2 有限状態空間内を遷移する 2 次元 LR パーサ
3.1 節で示した 2 次元 LR パーサに入力されるシンボル法により，近似的に計算が可能になる．
この一般化 LR 法を 2 次元 PCFG に応用するために，本は楽譜上の発音時刻，消音時刻であるべきであるので，2.2研究ではスタックを複数内包するマルチスタックを持つ 2

節で示したテンポや発音時刻，消音時刻の生成モデルを考次元 LR パーサを提案する．まず，LR テーブルの 2 次元

えると，次の解析アルゴリズムが考えられる．2 次元 LR

PCFG への拡張として，“synchronization reduce” というパーサのマルチスタックが Fig. 2 で示される状態空間内を動作を新たに導入する．例として，次のような音高方向の単位時間ごとに遷移していき，MIDI 信号上の発音時刻や文法規則を考える．

消音時刻が観測されると，現在いる状態に対応する楽譜上

A → B C.

(4)

このとき，この音高方向の文法規則を次の時間方向の文法規則として取り扱う．の発音時刻，消音時刻を推定し，それを 2 次元 LR パーサの入力とし解析する．
つまり，全体の挙動として，以下のようになる．

1) 単位時間が進むごとに状態を遷移する．遷移した結A → B,

(5)

果，各状態に存在する仮説の数がビーム幅を超えた場

A → C.

(6)

合，各仮説の確率値の大きいほうからビーム幅の分だ
け残し，他を削除する (ビームサーチ)．

ここで，式 (5)，(6) に対応する “reduce” の動作に対して

2) 発音時刻が観測されると，現在の状態から楽譜上の発“synchronization reduce” を割り当てておく．そして，例

音時刻を推定して，2 次元 LR パーサに入力する．2 次

えばマルチスタック内のあるスタックが式 (5) に対応する

元 LR パーサは入力をマルチスタック内の各スタック“synchronization reduce” が選択されると，他のスタックに対し，それぞれに入力した場合ついてとスタックをが式 (6) に対応する “synchronization reduce” が選択され新規作成した場合について，仮説を複製してそれぞれないか調べて，もしそのようなスタックがあるならば，そ計算する．各スタックは入力に従い解析を行い，“re-の二つのスタックを統合し，そのようなスタックが存在しject” が起きればその仮説を削除し，“synchronizationc 1959 Information Processing Society of Japan⃝

3情報処理学会研究報告
IPSJ SIG Technical Report

reduce” の選択が起きたら，他のスタックが対応する

まず．F. Beyer 作曲 Op. 101 の No. 51 の正解となる楽“synchronization reduce” の選択が起きるかどうかを譜と提案手法の採譜結果を Fig. 4 に示す．比較的採譜が簡チェックし，起きるならばスタックの統合を行い，解単と考えられる曲であるため，2，10 小節に少し間違いが析を進める．すべての仮説が解析を終えると，現在のある程度で，非常に正解に近い結果を得ることができた．

確率値が大きいほうからビーム幅の分だけを残し，他

この間違いは，演奏の表現や物理的な制約により，消音時を削除する (ビームサーチ)．

刻が楽譜上の時刻よりも早く生じていることに起因してい

3) 消音時刻が観測されると現在の状態から楽譜上の消音ると考えられる．解決の方針としては，消音時刻の生成確時刻を推定して，2 次元 LR パーサに入力する．2 次元率を楽譜上の時刻よりも早い状態に関しては大きめに設

LR パーサは入力をマルチスタック内のスタックに対計することや，付点 4 分音符と 8 分休符の組み合わせを 2し，対応する発音時刻を保持しているスタックに入力分音符とみなすような文法の設計が考えられる．次に，C.

する．以降の処理は発音時刻の処理と同様である．たDebussy 作曲 “Arabesque No. 1” の 6∼9 小節の正解となだし，消音時刻と発音時刻の順序が入れ替わることがる楽譜とそれぞれの手法の採譜結果を Fig. 5 に示す．採譜あるため，2) の処理のとき，入力しようとするスタッ

結果を見ると，予想されたとおり従来法ではうまく推定すクの最後に入力された音の消音時刻が処理されていなることが出来ず，一方，本手法では 2 声部がうまく分離さければ，強制的に 3) の処理を行い，2) の処理を行う．

れ，それぞれのリズムも多少の間違いはあるものの，非常

4) すべての信号を処理した後は各仮説が “accept” するに正解に近い結果を得られた．このような間違いは，前後かどうかをチェックして，“accept” したもののうち確のリズムがどのようなものが現れたかを用いることで推定率が最大のものを採譜結果とする．

が可能と考えられるので，文法の精緻化を行うことにより改善が見込める．

4. 採譜実験
提案手法の動作を確認するために，まず，簡単な例として，

5. まとめF. Beyer 作曲 Op. 101 の No. 51 を人間が演奏した MIDI

本稿では，リズムとテンポの不確定性を含む MIDI 信号信号の解析を行った．次に，C. Debussy 作曲 “Arabesqueからの自動採譜という問題に対し，リズムやテンポ，発音No. 1” の 6∼9 小節を人間が演奏した MIDI 信号の解析を時刻，消音時刻の生成過程を考え，統合的に解くことによ行った．この曲は 2 声部あり，上パートが三連符，下パーりその解決を試みた．そして，リズムの生成モデルとしてトが八分音符となっているため，声部を分離せず発音時刻

2 次元 PCFG を用い，その解析アルゴリズムとして 2 次元や消音時刻の分布から楽譜を推定する手法には不向きな曲

LR パーサを提案した．実験により，多声部でリズムが複雑となっており，声部の分離を同時に行う本手法の有効性をなものな曲に対し，本手法の採譜結果を示した．今後の課確かめるのに適していると考えられる．この曲に対して，題として，現在は人手で与えられている 2 次元 PCFG の文比較対象として，武田らによって提案された手法 [4] を用い法適用確率を学習することや，タイなどの複雑な楽譜へのた．この手法は声部を分離せず，時間方向の 1 次元に射影対応，文法の精緻化と多重音解析のモデルと合わせることした手法であるため，この曲においてはうまく推定されなで音響信号からの自動採譜システムの構築が挙げられる．

いことが予想される．以下この手法を従来法と表記する．

謝辞

提案手法の各種パラメータは，状態遷移する単位時間をものです．

本研究は JSPS 科研費 26240025 の助成を受けた

30 ms，1 拍の長さの最小値を 0.3 s，最大値を 1.5 s，式 (1)の状態遷移確率が比例する正規分布の標準偏差と前の拍の長さの比 Ctransを 0.03，式 (2) のどの状態が発音時刻を出

参考文献
[1]

力するかを表す確率が比例する正規分布の標準偏差と属する拍の長さの比 C onset を 0.02，式 (3) のどの状態が消音時[2]刻を出力するかを表す確率が比例する正規分布の標準偏[3]差と属する拍の長さの比 C

onset

を 0.5，式 (7) のピッチに関する標準偏差 σ pitch を 7 半音，拍の最初の状態における[4]ビーム幅を 5000，それ以外の各状態におけるビーム幅を3000，スタックが新規作成される確率を 0.0001，声部の上[5]

限を 5 とした．さらに，声部が多くなりすぎないように各仮説の声部数 V に対して 0.001(V −1) をそれぞれの仮説の確率に乗算して各仮説の確率として評価した．また，2 次[6]

Klapuri, A., et al. “Signal processing methods for musictranscription, ” Springer, 2006.
Raphael, C. “Automated Rhythm Transcription, ” Proc.
of ISMIR. 2001.
Cemgil, A. T., et al. “Monte Carlo methods for tempo
tracking and rhythm quantization, ” JAIR. Vol. 18, No.
1, pp 45 – 81, 2003.
武田ら, “確率モデルによる多声音楽演奏の MIDI 信号のリズム認識,” 情処論, Vol. 45, No. 3, pp.670 – 679, 2004.
Kameoka, H., et al. “Context-free 2D tree structure modelof musical notes for Bayesian modeling of polyphonicspectrograms,” Proc. of ISMIR. 2012.
Tomita, M. “Eﬃcient parsing for natural language: afast algorithm for practical systems, ” Vol. 8. Kluwer
Academic Pub, 1985.

元 PCFG の各文法適用確率は人手で適当に設定した．

c 1959 Information Processing Society of Japan⃝4

情報処理学会研究報告
IPSJ SIG Technical Report(a) 正解楽譜(b) 提案手法による採譜結果
図 4

F. Beyer 作曲 Op. 101, 51 番の正解楽譜 (a)，提案手法による採譜結果 (b)．

c 1959 Information Processing Society of Japan⃝5

情報処理学会研究報告
IPSJ SIG Technical Report(a) 正解楽譜(b) 提案手法による採譜結果(c) 従来手法による採譜結果
図 5

C. Debussy 作曲 “Arabesque No. 1” の 6∼9 小節の正解楽譜 (a)，提案手法による採譜結果 (b)，従来法による採譜結果 (c)．

c 1959 Information Processing Society of Japan⃝6