2024年11月8日金曜日

MIDIファイルを入力とした分析:五度圏上での和音重心の軌道の相関積分の計算結果(2024.11.11更新)

 1.はじめに

 記事「MIDIファイルを入力とした分析:五度圏上での和音重心の原点からの距離の遷移のリターンマップ」において、ピッチクラスのセットとしての和音について、五度圏上でその構成音の重心を計算した結果に基づいてリターンマップを作成した結果を報告しました。但しそこでは作成したリターンマップの公開はしましたが、五度圏上での和音の重心の軌道の遷移のプロットと同様、例えばそれを分類することによって対象となっている作品の特徴づけをするといった点について具体的な手がかりがなく、実施できていませんでした。本稿では五度圏上での和音重心の軌道に基づく作品分析の一つのアプローチとして、時系列データの非線形解析の手法の一つとして知られているGrassberger-Procaccia法(GP法)を用いた相関積分を計算してみましたので、その結果を報告します。

 GP法はカオス力学系の時系列解析の手法として良く知られており、多くの書籍やWebページで紹介されています。本稿で報告する実験にあたっても、合原一幸編『カオス時系列解析の基礎と応用』(産業図書)のような書籍や北海道大学の井上純一先生の「2011年度 カオス・フラクタル 講義ノート」(その第9回の後半が相関積分・相関次元の解説でC言語によるサンプルコードもついています)等のWebの情報を参考にしてプログラムを自作してColaboratoryのノート上で計算機実験を行いました。そこでGP法自体の説明はそれらに譲ることとし、ここでは実験内容の報告のみに限定させて頂き、ごく簡単な説明に留めさせて頂きます。

 GP法は非線形解析法のうち、「埋め込み定理」を用いて高次元空間にアトラクタを構成し、相関積分という統計量から相関次元を求めることによって、カオス力学系の特性の一つである自己相似性の有無を把握するための手法です。相関積分の結果に基づき、相関積分曲線の直線部分(つまり傾きのグラフがプラトーとなる区間)について埋め込み次元毎に相関指数を求め、相関指数が次元が高くなるにつれて飽和が起きている時に相関次元が求まります。

 しかしながらどんな系であっても相関次元が計算できるわけではなく、例えばランダムな系では相関指数の飽和が起らないことが知られています。また数学的カオスモデルのノイズのない時系列データの相関積分曲線は直線となるため、任意の位置で相関指数の計算が可能ですが、実データの場合には明確な直線部分が確認できないことがあるため、Scaling Regionと呼ぶ範囲を設定して相関指数を計算することになりますが、明確なScaling Regionが確認できない場合もあります。

 結論から言えば、本稿で報告するマーラーの交響曲の五度圏上での和音重心の軌道の時系列データの相関積分結果については相関積分曲線や傾きのグラフから確認出来る限り、明確なScaling Regionが確認できない場合がほとんどであり、また埋め込み次元が高くなった時に一定の傾きに収束する傾向についても同様で、妥当性を持った相関指数の計算は困難なようです。その限りでは、カオス力学系におけるような自己相似性について特段報告に値するようなことは確認できなかったことになります。

 その一方で、相関積分曲線や傾きの曲線をプロットした結果から、これまでに和音の出現頻度分布やエントロピーの分析と同様、マーラーの交響曲を創作時期に沿って眺めた時に、その変化に一定の傾向が現れていることが確認できましたし、相関指数の計算ができないとはいえ、ランダムな場合と比べた時、その相関積分曲線や傾きの曲線は明らかに異なる特徴を持っており、そこから読み取れることがあるように思います。また、実験条件が不適切なために意味のある結果が得られていない可能性もあるでしょう。

 更に言えばそうした結果以前の問題として、相関次元というのが極限で定義されていることからうかがえるように、本来このような分析は、実数値をもつ変数の時系列データが膨大に存在することが前提とされているのに対し、ここで対象となっている音楽作品について言えば、限られた数のデータしかないこと、しかもそれは実世界での測定値であるが故の限界ではなく、作品として固定された有限の長さを持つ音の系列が対象であるが故の制限であり、それを踏まえればそもそもが目安程度の意味合いしか持ちえないことに留意する必要もあると思われます。(但し後述のように、今回対象としたマーラーの交響曲作品は長大であることから、小節拍頭での和音の遷移の系列の長さは1作品につき1000~3000程度となりますので、適用対象としてそもそも不適切で、計算結果を検討することに全く意味がないというレベルではないと考えます。)

 そこで上記の制限を踏まえたうえで、実験条件とその結果を報告するとともに、得られた結果から読み取れると考える点についてコメントを付することによって、問題提起とさせて頂くことにした次第です。

2.実験の条件

対象とする時系列データ:マーラーの交響曲全11曲の五度圏上で和音の重心の軌道データを対象とします。重心計算にあたり五度圏上の各音の座標は、Des=(1,0), E=(0,1), G=(-1,0), B=(0,-1)とし、和音の構成音のピッチクラスの集合につき重心を計算した結果を用いています。和音のサンプリング間隔は、各拍毎のものと、各小節の頭拍毎のものがありますが、今回対象としたのは各小節の頭拍毎のものです。

元の計算結果は(attaccaの有無によらず)各楽章単位ですが、今回は作品全体での軌道の遷移について計算対象とするために、楽章毎の計算結果を連絡して、交響曲1曲毎に1系列として、「大地の歌」、第10交響曲のクック版(5楽章)を含む全11曲の11系列のデータを対象としました。従って、各データの系列長は作品全曲合計の小節数(1000~3000程度)となります。

対象データは五度圏平面の座標であり、x,yの2次元のデータですが、相関積分の計算にあたっては、元の2次元データを対象とするのではなく、x, yそれぞれについて別々に時間遅れ座標系を用いて再構成した相空間における相関積分値を求めることにしました。

遅れ幅の設定:上記のように使用する五度圏上で和音の重心の軌道データは各小節頭拍でサンプリングしたものですので、遅れ幅は1ステップ=1小節として計算を行いました。

埋め込み次元:m=1~10とします。

上記より、例えばτ=1、m=3なら、「現在の小節先頭の和音・1小節後・2小節後」を座標とした3次元の相空間を構成し、そこでの軌道を眺めていることになります。この相空間上での任意のステップについて、そのステップの座標とそれ以外のステップの座標との距離を計算して、設定した半径rの中に含まれる点の数を数え、それを全軌道の点について積分したものが相関積分となります。

半径の設定:r=0.1~2.0の範囲で0.1刻みとします。

積分計算を行う半径rの範囲はデータに依存して経験的に決める必要があります。半径がある程度大きくなると他の軌道の他の全ての時点の点が近傍に含まれる飽和状態になり、半径がある程度小さくなると近傍にごくわずかしか点がない、ないし全く点がない状態になり、今回は予備実験を行った結果、概ね両端で飽和状態とノイズが入った状態とが確認できる上記の範囲について計算を行うことにしました。

距離の定義:最初にマンハッタン距離で計算をしましたが、結果が不安定なケースが見受けられ、また半径の設定が困難なケースがあったため、ユークリッド距離での計算も行いました。両方の結果データを公開しますが、結果の検討は主として、相対的に安定した結果が得られているユークリッド距離の計算結果で行います。

実際の計算にあたっては、対象とする座標データ(<-1=x,y<=1)を更に0~1の区間に規格化したものを用いて相関積分値の計算を行いました。

相関積分の値と半径rとで両対数プロットをして、傾きが直線的に安定している部分の傾きが相関次元になります。傾きの変化の確認のために、相関積分の値と半径rとの両対数プロットに加え、傾きの大きさと半径rの両対数プロットも行うことにしました。

比較実験:1.はじめにに記載した通り、相関積分の計算結果は、明確なScaling Regionが確認できない場合がほとんどであり、また相関積分曲線や傾きのグラフから確認出来る限り、埋め込み次元が高くなった時に一定の傾きに収束する傾向はあるものの、明確な収束は確認できず、妥当性を持った相関指数の計算は困難であることがわかりました。そこで寧ろランダムな系との違いを確認することにフォーカスすることとし、比較のために似たような条件のランダムな系列を用意して相関積分を求め、その結果との比較を行いました。具体的には以下のような条件で乱数の系列を発生させて、その系列について相関積分を求めることにしました。

系列長N=1000,2000,3000の3種類(全ての交響曲の系列長は1000~3000の範囲に収まることから)、遅れ幅τ=1、埋め込み次元m=1~10、半径r=0.1~2.0の範囲で0.1刻み、マンハッタン距離・ユークリッド距離の両方で相関積分値を計算。

五度圏上で和音の重心の軌道の取り得る座標値は、五度圏の範囲の任意の実数というわけではなく実際に取り得る値は限定されます。そこで第9交響曲をサンプルに、出現するx座標値,y座標値の異なり数を求めて、その結果に基づき0~200の整数の乱数を系列長分発生させ、発生した系列を0~1の浮動小数点数に規格化します。遅れ幅は作品の場合と同様τ=1とし、やはり作品の場合と同様に、埋め込み次元m=1~10について、半径r=0.1~2.0の範囲で0.1刻みで相関積分値を計算しました。理論上は系列長の影響はない筈ですが、疑似乱数による計算の場合に計算結果には違いが生じることを考えて、シードを固定せず、3種類の系列長での疑似乱数列の相関積分値をマンハッタン距離とユークリッド距離で計算して、作品の相関積分結果との比較を行いました。結果的には系列長による違いはほとんどありませんでした。

3.計算結果

計算結果の要約となる、埋め込み次元m=10, ユークリッド距離での相関積分結果について、半径と相関積分値を両対数プロットしたものをもとに、半径をx軸、傾きをy軸として、五度圏上のx座標の軌道の相関積分結果と五度圏上のy座標の相関積分結果を単純に加えたものをプロットした結果を示します。レジェンドはそれぞれ
  • m1~10 :第1交響曲~第10交響曲
  • erde:「大地の歌」
  • rnd:疑似乱数, N=2000
  • rnd1000:疑似乱数, N=1000
  • rnd3000:疑似乱数, N=3000
を表します。色が巡回して用いられているので、m1~4とerde/rnd/rnd1000/rnd3000に同じ色が割当たっていますが、x=-0.4より左側が欠損していて、いずれもx=-0.4の時、y=10に近い値となっているのがrnd/rnd1000/rnd3000であり、m1~3はx=-0.4あたりでy=4くらいの値で傾きが最大となっている、傾きが小さいグループであり、この傾向は全ての場合に共有していることから、比較的容易に判別可能です。

一見して明らかなように、相関指数を求めるための傾きが一定になる平坦な領域(Scaling Region)は見出せません。またいずれの作品においても、埋め込み次元の増大に従い、傾きが一定に収束する傾向も明確には確認できません。(以下に一例として第9交響曲の重心軌道のx座標の相関積分曲線を示します。)その一方で、疑似乱数列の相関積分曲線と比較した場合に、その傾きの違いは明らかです。また興味深いことに、傾きの最大値に注目すると、大まかにではありますが初期の交響曲から後期の交響曲へと行くに従って大きくなっていく傾向があり、第1,2,3交響曲/第4~8交響曲+「大地の歌」/第9,10交響曲の3グループに分かれるように思います。なお、第10交響曲は第9交響曲に比べて、寧ろそれ以前の作品に戻っているように見えますが、これには未完成作品であること、例えばプルガトリオ楽章がマーラーの作品のとしては例外的なDaCapoを持つ楽式であることなどが影響している可能性が考えられます。


一方、以下に示すように第1交響曲の重心軌道のx軸においてのみ、短い区間ではありますが、平坦に近い領域が確認できます。その傾きの大きさは1.0程度で、自己相似的な構造を存在を示唆するものかも知れません。


なお楽章毎の相関積分値についても一通り計算していますが、その結果の中にも同様に、平坦に近い領域が確認できるケースがありますが、それらの共通点としては、単純な繰り返し音形が多く、楽式的には3部形式のような繰り返しを持つものが多いように思われますので、それらの共通点を調べることによって説明ができるかも知れませんが、この報告では後日の課題に留めたく思います。現時点では、それらの共通点として、平坦に近い部分の傾きが小さい(1.0かそれ以下)であることを踏まえると、自己相似性が認められるにしても、それはカオス的なものとは異なるメカニズムによって生じている可能性も考慮すべきと考えています。

GP法は時系列データのフラクタル次元の推定の方法であり、相関積分の計算はその中で相関次元を求めるためのステップとなっています。但し、相関次元が計算できるためには相関積分の結果が一定の条件を満たしていることが必要であり、全ての場合に相関次元が求められるわけではありません。しかしながら相関次元を求めるための条件を満たしていない場合でも、相関積分の結果から対象となっている系の特徴についての情報を得ることができるのではないかと考えます。当然のことながら一般には系が自己相似性を持つかどうかという点にフォーカスした解説がされ、自己相似性を持つ系との比較として疑似乱数列の相関積分結果が参照されることが専らですが、自己相似性は持たないが、ランダムな系とも異なる特徴を持った相関積分結果が得られる場合も当然あり得て、今回の結果はまさにそのケースに該当します。

それでは、今回の相関積分の計算結果からどのようなことがわかるでしょうか?疑似乱数列の相関積分結果と比較した時に確認できることは、疑似乱数列の場合に比べて、
  •  半径に対する積分値の傾きが小さく
  •  一定の半径で傾きがの拡大が止まってその後傾きが減衰する
ということかと思います。そして作品間での
  •  半径の変化に対する積分値の傾きおよび傾きの変化の度合いの違い
  •  傾きの拡大が止まった点での最大値の違い
にも明らかな差があるように思われます。ユークリッド距離とマンハッタン距離の両方での計算結果でもそれらは一貫しており、いずれも作品の和音系列の持つ特徴を反映したものと考えられます。

一般に、ここでの計算結果は、ある時点の和音を中心としてみた場合に、その和音の周辺に別の和音がどのように分布しているかの傾向の反映とみることができます。超球の半径を小さくすれば、体積が小さくなるからそこに含まれる和音の数は減りますが、近くになればなるほど和音がたくさん存在するような点の分布についての偏りがあれば、半径の減り方に対する積分値の減少の割合は緩やかになります。また埋め込み次元mは、時間的に離れた場所での分布をどの程度考慮するかの度合いを表していて、次元が深ければ時間幅が広くとられるので点の数は当然増えますが、例えば時間が経っても一定の割合である和音の近傍で和音が鳴ることがあって、その割合が多ければmを大きくした時に積分値は大きくなるし、また半径が小さくなったときに近傍の和音の密度が急速に上がれば、傾きの減衰はmが大きい程早く現れるでしょう。

疑似乱数列の場合には、半径の変化に対して近傍にある和音の分布は一定だし、次元の変化に対しては時間的に遠くにおいてもやはり分布が一定だとすると次元が増えるに従って積分値は累積されます。逆に半径を小さくすれば和音の数は減り、積分値の減少幅はどんどん大きくなり、半径が一定以上小さくなると、近傍には和音が一つもなくなります。上掲のサマリーにおいて半径が対数表記で-0.4より小さくなった時に結果が欠損するのが、まさに後者のケースに該当します。一方、次元を大きくすると時間的に離れた場所での状態が累積されるから、積分値の変化幅な次元数に応じて単調に大きくなり、最後には飽和(全ての点が超球の中に含まれる状態)します。

一方、音楽作品の場合にはある和音の近傍の和音の分布は半径の変化、次元の変化に対して常に一定ではありません。一般には半径が小さくなれば、急激に近傍に存在する和音の数は増えるでしょうし、その時、次元が大きければ和音の数の増加は更に急になるでしょう。半径に対する積分値の傾きが小さくなるという上記の観察は、和音の系列が規則的で、ある和音の近くに音が偏って存在していれば、半径の減り方に比べて球の中の和音の数は急には減らないので傾きは緩やかになると考えられます。また一定の半径で傾きがの拡大が止まってその後傾きが減衰するという傾向については、和音の分布に偏りがあって、各和音の近傍について、ある半径を境に急激に和音の密度が高くなるような状態を考えると説明できるように思います。

このように考えれば、作品間での半径に対する積分値の傾きおよび傾きの変化の度合いの違いや傾きの拡大が止まった点で傾きの変化の度合いの最大値の違いは、各作品の和音の系列における和音の選ばれ方の規則性、常に同じような選択が行われるのか、多様性に富んでいるのか?等々を反映した違いであるということになります。これらは自己相似性を持つかどうかとはまた別の特徴であり、GP法における相関積分計算の目的からは外れているかも知れませんが、自己相似性があるか、カオス的な振舞をしているかどうかとは別に、計算結果から作品の特徴を確認することはできると考えます。但し、そうした計算結果の傾向が具体的な作品の和音の状態遷移のどのような点に由来するのか等、具体的な点については現時点では明らかではありませんので、後日の課題としたいと思います。

また今回の実験では、1.はじめににおいて示した文献においては、ローレンツ写像やエノン写像について、元々は3次元の時系列データに対して、ある一つの次元について遅れ幅を設定した再構成を行って得られた相空間に対してGP法を適用しているのに倣って、五度圏の平面における和音(ピッチクラスセット)の重心の軌道のx座標、y座標の系列を独立の時系列データとして別々に相関積分結果を計算して結果をプロットしました。その結果はx軸、y軸とも似たような結果が得られることもあれば、そうではない場合もあるので、作品全体としての特徴を把握するという観点から、更にx座標系列、y座標系列の相関積分結果の平均をとって作品間や疑似乱数列の場合と比較していますが、このやり方が妥当性やより良い評価方法があるかどうかについても、後日の課題としたいと思います。

なお現時点では、この点について思い浮かぶのは、GP法に替わる他の次元推定法の一つであるJudd法(J法)が前提としているようなアトラクタの構造についての仮定です。Judd法はカオス的なアトラクタは、自己相似構造をもつフラクタルと滑らかな多様体の直積の構造を持つと仮定しています。つまり、ある方向には多様体だが、それと直交する方向には、例えばカント―ル集合のようなフラクタル構造となっていると仮定するのですが、これは、上掲の合原編『カオス時系列解析の基礎と応用』(p.148)によれば多くのカオス力学系で成り立っているとのことです。ここでの元の空間の次元は二次元に過ぎませんが、以下でも述べるような作品の調性構造に基づく重心軌道の偏りを考えた時、特定の方向について自己相似性が現れ、それと直交する方向には現れないというようなことは十分に考えられるように思えます。ここでは元の空間での軌道についてではなくx軸, y軸それぞれについて遅れ幅を設定して相空間に変換して、その結果を眺めているわけですが、その結果についても、x,yの一方についてのみ自己相似性を示唆するような結果が現れるということはあり得るように思います。実際に計算結果を見ても、上掲の第1交響曲の場合は、例示したy軸方向についてのみ平坦部分が現れ、x軸方向には現れませんし、楽章毎に計算した結果で平坦部分が現れるケースも、一方の軸について現れているように見えます。そしてこの点を重視するのであれば、x軸, y軸の相関積分の平均をもってその作品の特徴づけを行うというのは、重要な特徴を見えにくくしてしまっている可能性があり、不適切であると言うことになるかも知れません。とはいえ現時点で言えそうなことはここまでですので、今回の報告では示唆に留め、本格的な検討は今後の課題とさせて頂くことにした次第です。

この点に関連してついてもう一つ検討点を挙げるならば、五度圏におけるx軸、y軸の定義にそもそも任意性があることに対して、どう対応するかという点が挙げられます。2.実験の条件に記載した通り、五度圏上の各音の座標は、Des=(1,0), E=(0,1), G=(-1,0), B=(0,-1)として計算していますが、座標の取り方には任意性があります。一方で、マーラーのように(多分に逸脱はあるものの)伝統的な調組織に基づく作品の場合、基本となる調性(主調)に応じて重心の軌道には偏りがあります。従って主調に応じた座標変換(回転)を行う方が比較する上では望ましいかも知れません。但し、マーラーの交響曲の場合には、曲の開始の調性と終了の調性が異なる、所謂「発展的調性」が普通なため、各曲の主調についてはそもそも議論がありますので、古典期以前の作品のように曖昧さなく回転量を決められるわけではありません。一方で主調・属調・下属調の関係は五度圏上では60度の範囲に収まること、90度以上の回転については対称性があるため考える必要がないことを踏まえると、元データを一定の量(例えば60度)回転させたものについて計算を行って、オリジナルのx,y座標の結果と併せて4種類の結果を見ることで、座標の取り方の任意性の影響を防ぐことができるのではないかとも思います。こうした点の詳細な検討もまた、今後の課題としたく、ここでは問題の提起のみに留めます。

4.公開データの内容

本報告で報告した実験に関連するデータは、以下の2つのアーカイブファイルに分けて公開しています。

gm_euclid-correlation_integral_grvB.zip:ユークリッド距離による相関積分計算結果
gm_manhattan_correlation_integral_grvB.zip:マンハッタン距離による相関積分計算結果

いずれも解凍すると以下のフォルダ・ファイル構成になっています。

  • in:入力データ。各交響曲の重心の遷移軌道(x軸、y軸別)
  • result:各交響曲および疑似乱数列(N=1000,2000,3000)の相関積分値(x軸, y軸別、埋め込み次元m=1~10および相関積分を行った半径(いずれも対数表示。csv形式)。
  • plot:各交響曲および疑似乱数列(N=1000,2000,3000)の半径(x軸)毎の相関積分値(y軸)を埋め込み次元m=1~10についてプロットした画像(jpeg形式)。
  • slope:各交響曲および疑似乱数列(N=1000,2000,3000)の半径(x軸)毎の相関積分値(y軸)の傾きを埋め込み次元m=1~10についてプロットした画像(jpeg形式)。
  • summary:全交響曲の相関積分値の傾きの比較グラフ(jpeg形式)。埋め込み次元別(m=7,8,9,10)
  • compare:全交響曲および疑似乱数列(N=1000,2000,3000)の相関積分値の傾きの比較(jpeg形式)。埋め込み次元別(m=7,8,9,10)
  • gm_sym_grvB.xls:(参考)五度圏上での和音重心の遷移の座標値データとグラフ表示(楽章毎)

(2024.11.8 暫定版公開, 11.10,11 3.計算結果に考察を追記して更新)

[ご利用にあたっての注意] 公開するデータは自由に利用頂いて構いません。あくまでも実験的な試みを公開するものであり、作成者は結果の正しさは保証しません。このデータを用いることによって発生する如何なるトラブルに対しても、作成者は責任を負いません。入力として利用させて頂いたMIDIファイルに起因する間違い、分析プログラムの不具合に起因する間違いなど、各種の間違いが含まれる可能性があることをご了承の上、ご利用ください。