お知らせ

アマチュア・オーケストラ演奏頻度を2025年の公演の集計を追加して更新しました。(2025.12.25)
ラベル MIDI の投稿を表示しています。 すべての投稿を表示
ラベル MIDI の投稿を表示しています。 すべての投稿を表示

2025年8月22日金曜日

MIDIファイルを入力とした分析の準備(2):クラムハンスルの「調的階層」を用いた調性推定と和音のラべリング(2025.8.22更新)

0.はじめに

 これまでのマーラー作品のありうべきデータ分析についての検討を踏まえ、MIDIファイルを入力とした分析の第一歩として、クラムハンスルの調的階層に基づく調性推定を行い、以前「MIDIファイルを入力とした分析の準備作業:和音の分類とパターンの可視化」(https://gustav-mahler-yojibee.blogspot.com/2019/11/midi2020128.htmlにて報告した和音のラべリングの結果と対比できるようにしましたので、その結果を公開します。以下では調的推定について背景およびここで採用したデータ分析の概要、および結果の見方についての説明を行います。和音のラべリングについては、上記の記事をご覧いただけますようお願いします。
 なお、この文章の末尾にも記載していますが、公開するデータは、あくまでも実験的な試みを公開するものであり結果の正しさは保証しません。実際に、検証を進めるにつれて、入力として利用させて頂いたMIDIファイルに起因する間違いがファイルによってはかなり存在することがわかっています。また、他のデータを公開した時にも述べた通り、分析プログラムの仕様の制限で、MIDIファイルによっては期待される結果が得られない場合があることも判明しています。(調性推定と和音のラべリングを比較すると、その手法上の特性から、調性推定の方がデータの誤りに対して相対的にはロバストではないかと想定されます。従って特に和音のラべリングは、手法自体は単純なものでありながら、楽譜の通りの結果になっていない場合が多いことを申し上げざるを得ない状況です。)
 公開する結果が学術的な観点からは極めて信頼性の低いものと言わざるを得ないことは大変残念ですが、フリーで公開されているMIDIファイルを利用している以上、しかも、マーラーの作品が大規模で時間的にも長大で複雑であることを考慮すれば、已むを得ない部分が大きいと考えます。これも以前、マーラー作品のMIDI化状況を紹介する際に記載した通り(https://gustav-mahler-yojibee.blogspot.com/2016/01/midi.html)、学術的な目的で信頼できるデータが必要とされる場合には、まず信頼のおけるデータを作成するところから始めなくてはならないと思われます。同一作品の異なるMIDIファイルのデータがどれくらい異なっているかを確認する目的で、現時点で私の保有している、Web経由で無償で入手できたマーラー作品の全MIDIファイル(231ファイル)の解析を実施済で、その結果が手元にはありますが、公開はしないことにしました。検証可能性・再現可能性という観点からは、本来は使用したMIDIファイルそのものを添付して公開することが望ましいのでしょうが、再配布についての規定が明らかでないこと、Webで無償で入手したものばかりであることから、入手元を示すことでその替りとさせて頂くことにしました。
 今のところ、そのための時間が取れないという現実的な理由からMIDIデータ自体の作成は考えていません。そのかわりにプログラム上の工夫によってカバーできる点は、プログラムの改良によって改善していきたいと考えていますが、自ずと限界もあろうかと思います。私がこのようなことをやっている間には、マーラー作品の信頼できるデジタル・ライブラリーが利用できるようなことにはならないかも知れませんが、いつの日かそういう日が来ることを願いつつ、今の時点では以上の点をご留意の上、ご覧いただけますようお願い致します。
 [2020.3.7付記] 実験結果の再現・検証を行えるようにするという目的から、分析の入力とするためにMIDIファイルを解析して、そのデータの一部を抽出してテキストファイルに出力したものを「MIDIファイルの分析:MIDIファイル解析結果(2020.2.29)」(https://gustav-mahler-yojibee.blogspot.com/p/midimidi2020229.html)で公開することにしました。MIDIファイルに含まれるデータのうち、どの部分を分析に用いているかも明らかとなり、実験結果の再現・検証という目的からは十分であると考えます。公開しているファイルの詳細は、上記のページをご覧ください。


1.背景

 マーラーの作品の特徴の一つとして、調的設計のユニークさが挙げられると思います。一つには平均律と機能和声のシステムが確立したバロック時代や古典期に遡る「調性格論(Tonartencharakteristik)」的な視点であり、各調性に固有の性格があるとするものです。平均律化とは一見矛盾するように見えますが、典型的な平均律楽器であり、奏法上の合理性で調性が選択される傾向すらあるピアノは措くとして、マーラーが作品の媒体とした管弦楽で用いられる楽器は、弦楽器にせよ管楽器にせよ、その楽器の特性から、平均律ベースの転調に対応するように改良されてきたとはいえ、基本的には基準となる音の低次の倍音で音が出やすく、高次倍音は正しいピッチをとること自体困難になるといった特性から、調性によって響きが異なるのが現実ですから、マーラーが同時代の作曲家と比べても全音階的であると言われる側面と相俟って、調性格論が成立する基盤を欠いているわけではないと思われます。もう一つは、古典期の規範上は「逸脱」と位置付けられる(例えばシェンカーの分析は、拡張は可能でしょうが、基本的には開始と終了の調が同一であることを前提としていることを思い出してもいいでしょう)作品の開始の調性と異なった調性で作品が終わるという、いわゆる「発展的調性(progressive tonality)」的な視点です。こちらはマーラーのいわゆる「進歩的」な側面に繋がると思われます。勿論、両者は組み合わさって、アドルノによって「小説」にも喩えられた音楽的時間構造を実現しているわけですが、ここでは特に後者の側面、即ち、作品の時間的経過を通じて調性がどのように移ろっていくかにフォーカスを当てて、マーラー特有の時間性を分析するための準備をしたいと考えています。

 これまでもマーラーの個別の作品の調的プロセスの分析は行われてきましたし、特に「発展的調性」についてはDika Newlinの指摘以来、マーラーを語る際には欠かせないトピックとして議論されてきました。そしてそれらの多くは機能和声に基づく楽曲分析についての知識を備え、豊富な聴経験を持つ「規範的な聴き手」である「音楽学者」が楽譜を読み解いて、作品を特徴づける重要な要素を見抜き、抽象化する方法によって行われてきました。但し「発展的調性」に関する議論は、えてして非常にマクロな楽式レベルでの把握に基づく解説に留まりがちであり、それがミクロな調的遍歴とどう関わるのかについての実質的な分析は十分とは言えず、更には一般には機能和声の古典的な規範からの「逸脱」と看做される「発展的調性」が実際にはどのような動力学に基づくものなのかについて明らかであるとは言えないように思います。そしてこうした問題にアプローチをし、マーラーの作品の固有の力学を発見するためには、データに基づいた分析が適切なのではないかと思われます。

  ここでは上記の課題にアプローチする第一歩として、MIDIファイルを入力とし、プログラムによってマーラーの作品の調的な遷移の過程を抽出し、分析の材料を提供することを試みました。

 そもそも調性とは何か、調性を推定するというのはどういうことなのか、何を手掛かり調性の推定を行うことができるのかについては、それ自体様々な議論があり、音楽学・音楽についての認知心理学・音楽情報処理 といった分野での研究の蓄積があります。

 ここで採用したのは、クラムハンスルによる「調的階層」を用いた調性推定のアルゴリズムです。詳細は、Carol L. Krumhansl, Cognitive Foundations of Musical Pitch.  Oxford: Oxford University Press. 1990 の特に第2章 Quantifying tonal hierarchies and key distance および第4章 A key-finding algorithm based on tonal hierarchies をご覧頂くのが適当ですが、簡単に言えば、長調・短調それぞれについて12音の各音との相関を実験的に求めておき(これがクラムハンスルの「調的階層」と呼ばれるものです)、それをベースにして、個別の作品の或る区間に鳴っている音の分布と、24の調性を特徴づける分布との相関を求めるというやり方です。

 上に簡単に要約した動機やアプローチ手法の検討(クラムハンスルの調的階層を用いることが何を意味するか)などの背景の詳細については、以下をご覧頂くこととして、ここでは改めて議論は行わず、抽出結果を提供することにします。
・「マーラー作品のありうべきデータ分析についての予想:発展的調性を力学系として扱うことに向けて」(https://gustav-mahler-yojibee.blogspot.com/2019/11/blog-post_10.html
・「マーラー作品のありうべきデータ分析について:補遺」(https://gustav-mahler-yojibee.blogspot.com/2019/12/blog-post.html
・「マーラー作品のありうべきデータ分析について:補遺への追記」(https://gustav-mahler-yojibee.blogspot.com/2019/12/blog-post_12.html

2.データ分析の概要

まず、ここでのデータ分析のやり方を説明します。

 対象となるMIDIデータは、これまで五度圏上の重心計算や和声の抽出や可視化を行ってきたマーラーの全交響曲と一部の歌曲(64ファイル)で、対象となる作品およびMIDIデータについての詳細は、重心計算の結果の紹介(https://gustav-mahler-yojibee.blogspot.com/p/httpsbox.html)に準じます。
 公開しているExcelファイルにはMidiFileNameというシートを含めて、解析対象のMIDIデータと作品との対応、および各ファイルの入手元がわかるようにしました。

 具体的な処理の手順は以下の通りです。

(1)マーラーの作品のMIDIファイルから、基本となる拍毎に、その拍の区間(拍の開始時刻から次の拍の開始時刻の間)で鳴っている音(ピッチクラス)およびその長さ(単位はMIDIデータで設定された基本単位)を取り出します。ピッチクラスなので音高が異なっても同じ音と看做し、同じ音が複数のパートで鳴っている場合には、音の重複は無視して、その中での最大の長さをそのピッチクラスの長さとします。その区間で鳴っている音の分布が、要素数12のベクトルで表現されることになります。

(2)(1)で求めたベクトルに対して、今度は小節毎に以下の処理を行います。
小節の頭拍では その拍のみのデータで、「調的階層」に基づく推定を行います。次の拍では、前の拍のデータとの和をとって「調的階層」に基づく推定を行います。小節の最後の拍では、その小節の区間内で鳴っている音の分布に基づいた推定が行われることになります。どの区間を対象に相関をとるのかは、調的変遷のプロセスを取り出す際の基本的な条件設定ですが、もともとは重心計算や和音の抽出同様、小節毎に行うことを考えていました。ただし重心や和音の抽出は、各小節の頭拍という断面において鳴っている音を対象としているのに対し、ここでは区間内の音の長さに基づく分布をとる点が異なります。(勿論、長さではない別の量で分布をみることも可能ですが、ここではクラムハンスルの手法に従います。また小節毎ではなく、より長い区間について分布をとることも考えられますが、ここでは一旦、他のデータに合わせて1小節を1区間としました。)従って、小節毎に計算しても良かったのですが、小節の途中での変化のプロセスを見れた方が、データとしては情報が豊富になるので、上記のようなやり方でデータを取りました。

 結果は以下にExcelのBook形式で公開しています。zip圧縮してあり、解凍するとxlsx形式のExcelファイルが3つ出てきます。experimental_E_corel.xlsx, experimental_B_corel.xlsx, experimental.xlsです。特にexperimental_E_corel.xlsxはファイルサイズが35Mbyte程度あり、3ファイル合計で56Mbyte程度と大きめですのでご注意下さい。experimental_E_corel.xlsxが拍毎の調性推定結果を全て収めたもの、experimental_B_corel.xlsxが小節毎の調性推定結果のみを収めたもの,で、調性推定結果のみに限定すれば、後者は前者のサブセットであり、小節の途中でそれまでに出てきた音を累積しつつ、調性推定をしていく過程を省いて、各小節末時点でその小節に出て来た音の持続を累計した結果に基づく調性推定結果のみを収めたものになります。また、experimental.xlsはexperimental_B_corel.xlsxの結果に基づき、楽譜の小節との対応づけや、幾つかの文献に見られる楽章構成の情報を対比できるように追加したものです。

https://drive.google.com/file/d/18Bwr6tnFYOA3aHA3BBuNT-nNJGokXkE0/view?usp=sharing

 ところで小節毎の解析は、MIDIデータで入力された小節の区切りの情報の正確さに依存します。そしてしばしば小節の区切りの情報は正しく入れられているとは限りません。これはMIDIファイルをこのようなデータ分析の目的ではなく、「再生し」、「聴く」ことを目的とした作成する場合には、小節の区切りを楽譜に忠実に入力することが必ずしも必要でないことを思えば仕方のないことです。特にマーラーの作品の場合には、楽章の途中で拍子が変わるだけではなく、変拍子もあれば第2交響曲フィナーレのフルート・ソロや『大地の歌』の「告別」におけるそれのように、レシタティーヴォ的な箇所で小節線が自由に扱われることもありますので、そうしたことがない作品に比べると問題が発生しやすいことは予想できますし、現実に問題が発生していることを確認しています。
 
 なお拍毎のデータもまた、マーラーのように楽章の途中で拍子が切り替わり、拍の基本単位が変わる(四分音符、八分音符、更にはアラ・ブレーヴェでの二分音符)ことを考えれば、楽譜の通りの拍毎にMIDIデータが作成されることを期待すべきではないことがわかります。従って、個別のMIDIファイルにおいて、楽譜の特定の部分がどのように処理されているか、楽譜通りなのかそうではないのかは、個別にMIDIファイルの中を覗いて確認する他ありません。更には、MIDIファイルには、シーケンサーを使って手入力するやり方ではなく、MIDIキーボードでの演奏を元にしたものも存在しますが、後者の場合には、拍の位置と実際に音が鳴っている時点が一致するとは限りません。というより一般にはずれているもので、その程度のずれは人間の知覚上は問題にならないですし、それが極端なものであればテンポ・ルバートのような微妙なニュアンスとして捉えられるようなものでしょうが、機械で処理する上では致命的で、特に拍頭で鳴っている和音を抽出するようなタイプの処理の場合に、拍節の時間的な揺れを考慮した工夫が必要となります。これに簡単なプログラミングで対応するのには限界があり、本質的には寧ろAIに相応しい問題であるという見方もできるかと思います。
 以上長々とデータの信頼性(の欠如)についての釈明のようなことを書き連ねましたが、それはひとえに、公開しているデータの信頼性の制限について、正確な情報を提供することを目的としています。ご利用にあたっては予め上記のような制限にご留意頂けるよう、重ねてお願いします。

 以下、上記のファイルの収められた結果の見方を記しますが、結果を3Dグラフ表示したものを参考までに示します。重心の時と同様、RinearnGraph3Dを使用して描画しています。

最初が「私はやわらかな香りをかいだ」です。X方向が小節数、Y方向が調性で、0~11が長調(Gesからサブドミナント方向にDesまで)、13~24が短調。Z方向が相関です。色は相関の度合いを示し、青が高い正の相関を示し、黄色は負の相関を示します。概ね青い尾根をX方向に辿ると、調性の遷移の軌道の推定結果を表していることになります。

次は第8交響曲の第1部です。見方は上の例に準じます。小節数が多いためX方向はかなり圧縮されてしまっています。

 Y方向は本来は両端のGes-Desをくっつけて五度圏に対応する円周とし、X方向に伸びる円筒として表示するのがより自然でしょうが、俯瞰性という点では円を切り開いて直線として並べた上記のやり方にも一定のメリットがあると思います。

 他方、長調と短調を別々に併置するのは、同主調や並行調の近親関係を表現できていない点で問題ですが(こちらの方向ならば例えば、Krumhansl & Kessler (1982)で示された多次元尺度構成法によって求めた構造上に軌道をプロットすることなどが思いつきますが)、次元の数の制約もあり、ここでは推定された調性の軌道だけではなく、各調との相関を求めることで得られる地形を視覚化することに重きを置きました。例えば青色が濃い、高い尾根が続いているところは相関が高く、調性が明確な部分であるのに対し、濃い色がなく、薄い色の低い丘となっている箇所は調性が曖昧になっていると言えるでしょうし、時として丘が複数ある場合には、2つの調性の間で揺れ動いているような部分であるというように、調的プロセスが、単なる軌跡としてではなく、明瞭さや分裂・収斂といった様相といったものに対応した地形として表現されている点で、目的に適っていると考えています。


3.結果の見方

 結果を収めたファイルの見方について以下で説明します。結果はシート毎に分かれており、1シート1ファイル、交響曲の場合は1楽章、歌曲なら1曲が1シートです。シートのラベルは重心計算結果と同じで、入力となったMIDIファイルのファイル名本体部分です。

experimental_B_corel.xlsxのシートの一部を示すと、以下のようになっています。以下は「やわらかな香りをかいだ」です。experimental_E_corel.xlsxでは一部が異なりますが、基本的なフォーマットは概ね同じです。

縦方向が各曲の時間方向になります。1行が1拍です。1拍の定義は、入力されたMIDIファイルでの定義に従いますが、楽譜に忠実な入力の場合には、拍子記号の基本拍(4分の4拍子なら4分音符)です。マーラーの場合には変拍子や途中で拍子が変わることがごく普通ですが、ここで用いているサンプルは拍子の変更には忠実な入力となっています。ただし、基本拍に関してはその限りでなく、(おそらくは入力のしやすさなどの理由から)3拍子の小節を6分割する、或いはその逆といった場合もありますが、ここでは上述の通り、基本的には小節単位に相関を見るのが目的なので、大きな支障とはなりません。
 なお1行目は空行、2行目はヘッダなので3行目がMIDIファイルにおける曲の最初の拍ですが、ご注意頂きたいのは、3行目=楽譜上の最初の拍ではないことです。これはMIDIファイルの特性上、冒頭の空き部分に様々なパラメータ設定の情報を収めるコンベンションとなっているためで、ファイルの冒頭数拍は無音の区間になっていることが一般的です(勿論例外もありますが)。
 また小節の区切りは利用したMIDIデータのものに依拠しますので、概ね小節の区切りが楽譜通りとなっており、小節数がほぼ等しいデータを用いていますが、 完全に楽譜通りかどうかは保証の限りではありません。ここでの分析の意味合いから考えると、小節の頭拍というのは、区間の区切りに過ぎません。勿論区切り方によっては区間内で調的変化が起きていしまって変化が明瞭に表れない可能性はありますが、小節の途中での計算結果である程度のことは把握できるのと、マーラーのみならず、必ずしも頭拍が和声的な変化の切れ目と一致しない場合もあるので、あくまでも目安に過ぎないと考えるべきかと思います。それを踏まえれば、概ね楽譜の小節の区切りに従った計算ができていれば、所期の目的は概ね達成できると考えていいように思います。

以下、列方向の意味を記載します。

A~L列:長調の各調性との相関。変ト長調~変二長調まで、 五度圏をサブドミナント方向に読んだときの音名の並び順になっています。文字色と背景色の意味は以下の通りです。
  • 背景色がピンク色(ColorIndex = 38)で文字色が赤の箇所:相関が最大でかつ相関が0.5以上の調
  • 背景色がサンゴ色(ColorIndex = 40)の箇所:相関が最大以外で0.5以上の調
  • 背景色なしで文字色が赤の箇所:相関が0.5未満だが最大の調
 つまり文字色が赤の列を行方向に辿れば、最も相関が高いと推定された調性の時系列変化を辿ることができます。A~L列に文字色が赤の列がない場合には、最も相関の高い調は短調側(N列~Y列)に移動しています。なお、ここでは相関を取っているので、音の出現頻度が全て同じ値の場合は標準偏差が0となり、計算対象外となります。(ゲネラルパウゼ=音が全くなっていない場合は別にすると、12音で同じ頻度ということは該当区間では調性感が無いことになりますが、実際にはこの実験の範囲内では第2交響曲の第1楽章で複数回発生しただけでした。)なお、上の説明の通り、experimental_E_corel.xlsxでは小節内の頭拍以外は小節末尾まで 、それまでに小節内で鳴った音の長さの累計値での相関となっています。1拍目は1拍目のみ、2拍目は1拍目と2拍目の累計…といった具合です。各拍毎の音の出現頻度の値のみによる相関ではありませんのでご注意下さい。またexperimental_B_corel.xlsxは小節内で生起した音の持続の累計に基づく調的推定の結果を記録したもので、定義により、experimental_E_corel.xlsxでの小節内の最後の拍の結果に一致します。experimental.xlsはexperimental_B_corel.xlsxと同一です。ただし楽譜の小節との対応付けをしていることから、曲の末尾の最後の小節より後の情報は取り除いてあります。

M列: experimental_E_corel.xlsxでは小節頭は小節数を表し、それ以外は0を埋めてあります。既述の通り、MIDIデータの最初には無音区間が含まれることが一般的なため、0オリジンで付番していますが、楽譜上の小節数とは必ずしも一致しませんのでご注意ください。experimental_B_corel.xlsxでは相関を出力した拍の位置を表します。即ち、その拍までのMIDIデータについての相関を出力したことを意味します。上記の「私はやわらかな香りをかいだ」の例では、1行目は8ですが、これはその行が先頭から8拍目までのデータに基づく相関であることを表します。2行目は14ですので、その行が9拍目から14拍目までのデータに基づく相関であることを表します。experimental.xlsはexperimental_B_corel.xlsxと同一です。

N列~Y列:短調の各調性との相関。A~L列の長調における説明に準じます。文字色と背景色の意味は以下の通りです。
  • 背景色が山吹色(ColorIndex =  44)で文字色が赤の箇所:相関が最大でかつ相関が0.5以上の調
  • 背景色が薄黄色(ColorIndex = 36)の箇所:相関が最大以外で0.5以上の調
  • 背景色なしで文字色が赤の箇所:相関が0.5未満だが最大の調
つまり文字色が赤の列を行方向に辿れば、最も相関が高いと推定された調性の時系列変化を辿ることができます。N列~Y列に文字色が赤の列がない場合には、最も相関の高い調は長調側(A列~L列)に移動しています。

Z列:experimental_E_corel.xlsxの場合は拍の通し番号を、experimental_B_corel.xlsxの場合は小節番号を表します。ただし、いずれもMIDIファイル内における1オリジンの付番であり、MIDIファイルの最初にダミーの拍・小節がある場合、楽譜上のそれらとは一致しません。

AA列からAD列までは、調性推定の結果ではなく、調性推定の結果との比較の目的で、「MIDIファイルを入力とした分析の準備作業:和音の分類とパターンの可視化」(https://gustav-mahler-yojibee.blogspot.com/2019/11/midi.html)にて報告した、区間の先頭、即ち experimental_E_corel.xlsx の場合は各拍の頭、 experimental_B_corel.xlsx の場合は各小節の頭で鳴っている音についての情報を出力したものです。調性推定に用いた情報が拍ないし小節内で鳴っている全ての音の持続時間であるのに対し、こちらは拍ないし小節の頭で鳴っている単音ないし和音をラベルづけしたものであり、対象データが異なる点にご留意ください。experimental.xlsはexperimental_B_corel.xlsxと同一です。

AA列:区間先頭で鳴っている和音をビット列で表現したものを10進数化したものです。
AB列:区間先頭で鳴っている音のうちMIDIノートで最も小さい値=最も低い音の音名。
AC列:区間先頭で鳴っている音のうちMIDIノートで最も大きい値=最も高い音の音名。

AA列ではDesが最下位ビット、Fis=Gesが最上位ビットとしてビット列を定義しているので、数字と音名との対応は以下のようになります。鳴っている音が1、鳴っていない音が0です。例えば、Cを根音としてC-E-Gが区間先頭で鳴っているとすると、AA列は32(C)+512(E)+64(G)=608、AB列はc(=32)、AC列はg(=64)が表示されることになります。

Des  1
Aes 2
Es 4
B 8
F 16
C 32
G 64
D 128
A 256
E 512
H 1024
Fis 2048

AD列:AA列とAB列を用いて、その区間の先頭で鳴っている和音のうち、典型的なもののみ判定した結果を示しています。なお単音、2音の場合には、鳴っている音の音名を併せて表示しています。定義に基づき、1音の場合にはAB列・AC列・AD列は同じになります。一方2音の場合には必ずしもAB列・AC列とAD列は同じにはなりません(バスとソプラノでオクターブ異なる音が鳴っていて、内声でそれとは異なる音が鳴っている場合には、AB列・AC列の音名は同一ですが、AD列では、AB列・AC列の音名と内声の音名の2音が鳴っていると表示されます)。

背景色は以下を表します。

灰色  休符
ピンク 長三和音
山吹色 短三和音
なし  上記以外の単音・音程・和音

長三和音、単三和音については、AO列の最低音の音名から、各和音の基本形か第1転回形(6の和音)か第3転回形(4-6の和音)かを以下の文字色で表現しています。

黒=基本形
緑=第1転回形
赤=第2転回形

文字はその音名を主音とする長三和音、短三和音に相当する音の組み合わせがその小節の頭拍で選ばれていることを表す形式的なものであり、和声の機能を分析した結果得られた主音を意味している訳ではありません。つまり例えば、機能和声ではハ長調のドミナントと分析される和音について、ここではト長調の主三和音と表示されることになります。なお、長調は大文字、短調は小文字としています。

背景色が無い箇所の文字の意味は以下の通りです。以下は各行毎にラベルと意味のペアを表しています。

音名 単音
5:音名-音名 五度
2:音名-音名 長二度
-3:音名-音名 短三度
3:音名-音名 長三度
-2:音名-音名 短二度
aug4:音名-音名 増四度
dom7 属七和音
dom9 属九和音
add6 付加六
aug6it イタリアの増六
dim3 減三和音
aug3 増三和音
Maj7 長七和音
tristan トリスタン和音
aug6fr フランスの増六
dim7 減三和音+減七度
dm7 減三和音+短七度
aug+7 増三和音+長七度
min+7 短三和音+長七度

以下の情報は、experimental.xlsのみに固有の情報です。AG,AH列は現時点では予約しているだけで未使用ですが、今後、利便性を高めるために情報を追加していく予定です(この作業はデータ処理の結果とは独立で、ユーティリティ的なものであるため、予告なく更新することがあります)。また、AI列~AL列は交響曲のみの情報です。比較的網羅的なものは既に掲出済なので、今後は個別の曲毎の追加になると想定していますが、更に列を増やして他の分析結果を追加することも予定しています。

AF列:楽譜の小節番号
AG列(予約:未使用):楽譜の練習番号(リハーサルマーク)
AH列(予約:未使用):発想表示等の補助情報
AI列:Graeme Alexsander Downes, "An Axial System of Tonality Applied to Progressive Tonality in the Works of Gustav Mahler and Nineteenth-Century Antecedents", 1994 所収の分析表に基づく区切り
AJ列:Henri Louis de La Grange, Mahler I~III, Fayard 所収の分析表に基づく区切り
AK列:長木誠司『グスタフ・マーラー全作品解説事典』立風書房, 1994 所収の分析表に基づく区切り
AL列:現時点では音楽之友社版ポケットスコアの序文にある分析表に基づく区切り(第1交響曲と第4交響曲のみ)

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

[2019.12.25]小節毎の調性推定結果のみを収めたexperimental_B_corel.xlsxを追加公開しました。
[2019.12.27]結果の3Dグラフ表示例を追加しました。
[2019.12.28]ファイルの画像を追加しました。
[2020.1.2]experimental_B_corel.xlsxのN列以降の相関の出力において、データによっては最初の行にゴミが出力されてしまうこと場合があるというプログラムの不具合を修正し、公開ファイルを差し替えるとともに、画像ファイルを差し替えました。またexperimental_B_corel.xlsxのZ列の説明が不正確であったため、訂正しました。
[2020.1.4]N~Y列およびAA列~AL列の色付けの定義を変更したバージョンに差し替えました。
[2020.1.6]experimental_B_corel.xlsxで、音の鳴っている最終区間の推定結果が出力されない場合がある不具合を修正しました。また併せて、区間内が無音(曲頭の余白か、曲中ではいわゆるゲネラルパウゼの箇所)の出力をスキップせずに、0を出力するようにして、基本的には小節単位の結果となるように仕様変更しました。更に、その一部を「MIDIファイルを入力とした分析の準備作業:和音の分類とパターンの可視化」で報告した、和音遷移を示す列を追加しました。
[2020.1.12]和音遷移を示す列でラべリングされる和声の種類を増やし、単音、2音の箇所については鳴っている音がわかるようにしました。また、従来表示していたバスの音に加えソプラノの音も表示するよう変更しました。更にexperimental_B_corel.xlsxで小節番号を表示するようにしました。
[2020.1.13]A~L列に表示していた相関計算の元となる音の出現頻度(長さ)および小節頭かどうかを表すM列を削除し、計算結果のみの表示としました。
[2020.1.16]experimental_B_corel.xlsxを元に、楽譜の小節との対応付けを行ったファイルを追加しました。
[2020.1.17]冒頭にデータの信頼性についての制限について追記。
[2020.1.18]現在保有している全ファイルの解析結果を公開。各ファイルに解析対象のMIDIファイル名と作品との対応、および各ファイルの入手元を記載したシートを追加。
[2020.1.28]全ファイルの解析結果の公開を中止。公開データを改訂版に差し替え。
[2020.2.1]冒頭の注記を改訂。
[2025.8.22]改題



2025年8月20日水曜日

MIDIファイルを入力とした分析:データから見たマーラーの作品 これまでの作業の時系列に沿った概観(2018~2022)(2025.8.20改訂)

これまでこのブログにおいてはMIDIファイルを入力としてマーラーの作品の分析を行う試みについて断続的に報告してきたが、ここではその開始から概ね2022年までの作業の経過を時系列に沿って振り返り、その成果を振り返ってみることにする。まず、「A.これまでの作業の時系列に沿った概観」でこれまでの作業を時系列に振り返った後、「B.マーラー作品の分析にMIDIファイルを用いることの可能性」で、作業を通して、MIDIファイルを使った分析によってマーラーの作品を分析することによって、楽曲の分析や理解に対して独自に寄与できることがあるかどうか、あるとすればどのようなものかについて思ったことをまとめておくことにしたい。

なお、巻末に、[参考]これまでの作業結果の公開経過 として、「A.これまでの作業の時系列に沿った概観」の内容に対応した記事の一覧と、成果の一部である図表の画像を添付した。


A.これまでの作業の時系列に沿った概観

2015年頃にマーラーの作品のMIDIファイルのWeb上での公開状況について調査し、データ収集に着手し、その結果を2016年初頭に記事として公開した。(巻末の [参考] これまでの作業結果の公開経過:「1.調査報告・資料:分析の入力となるMIDIファイルの状況について」を参照)

その後、MIDIシーケンサーなどの調査と並行して、MIDIファイルを解析した結果を集計・加工する環境をExcelマクロとC言語のプログラムでWindows上に構築し、更に統計分析用の言語であるR言語およびそのプラットフォームであるR StudioやRinean Graph 3Dといった作図ツールによるデータ分析環境を整備して、データ分析を行うとともに、その結果の一部については断続的にWeb上で公開してきた。(巻末の [参考] これまでの作業結果の公開経過:「2.データ公開:基本データとその解析結果について」を参照)

一方、データ分析を行う当初の動機が、マーラー作品の調的な遷移のプロセスを可視化することであったので、最初に行ったのは、各拍あるいは各小節頭拍の和音の重心を五度圏上に定義し、その軌道の遷移の様子を可視化することであった。予備作業的なものではあるものの、MIDIデータ分析ならではのオリジナルな方法で、従来の楽曲分析とは異なった仕方で楽曲の経過を可視化することができ(各画像は、当該作品のある特徴に基づくアイコンと見做すことができる)、一定の評価を頂くことができた。(巻末の [参考] これまでの作業結果の公開経過::3.五度圏上の重心計算について」を参照)

その結果に基づき、続いて各拍あるいは各小節頭拍に出現する主要な和音の分類とパターンの可視化を試みた。(巻末の [参考] これまでの作業結果の公開経過:「4.和音の分類とパターンの可視化」を参照)更に並行して行った先行研究の文献調査などを踏まえて、予備作業として和音の自動ラベリングと調的遷移の推定および可視化を行った。クラムハンスルの調性推定の手法に基づいて行ったこの作業の結果は、採用した手法の妥当性に関して、特に音楽学的な専門的見地から批判を頂いたが、認知心理学的な手法に基づいた或る種の地形図を作成することによって、マーラー作品の調的な遷移のプロセスを可視化するという目的に対して一定の成果を得ることができたと考える。(巻末の [参考] これまでの作業結果の公開経過:「6.和音の分析への準備」参照)その後、一旦は動的な遷移プロセスではなく、和音の出現頻度という特徴量に基づく分析を進めながらマーラーの作品のデータ分析のあり方を検討し、その検討の経過を備忘を兼ねてWeb上に公開して、一旦、作業を終えた。(巻末の [参考] これまでの作業結果の公開経過:「5.考察:マーラー作品のありうべきデータ分析について」)作業が一段落したのは、丁度新型コロナウィルス感染症の蔓延による影響が様々な活動に出始めつつある時期であった。

その後、繰り返される新型コロナウィルス感染症の流行の波の中で、一旦終了した作業について結果をWeb公開することにして、当初、小節頭拍のみを対象としていた分析を、全拍対象に拡大しながら、それら分析の成果をWebに公開する作業を進め(巻末の [参考] これまでの作業結果の公開経過:7.和音の出現頻度から見たマーラー作品」を参照)、2020年7月にその作業を完了した。動的な遷移プロセスではなく、出現頻度という統計量のみによる分析ではあったが、作品の或る種のテクスチュアを捉えたものという評価を頂き、その限りにおいて他の作曲家の作品との比較におけるマーラーの作品の特徴やマーラーの作品間の差異、特に創作年代順に見た場合の一定の方向性を持った変化を、従来の音楽学的な楽曲分析の手法ではなく、MIDIデータに含まれる情報に基づいて、謂わばボトムアップに捉えることに成功し、一定の成果を得ることができた。この結果は、本稿と対を成す報告和声の出現頻度の分析のまとめとして後日、公開されることになる。

それから1年程経過し、一旦日本国内での新型コロナウィルス感染症の流行が概ね収束に近づいた(実際にはその後新たな流行の波に曝されることになったが)2021年後半になり、Google Magentaを用いた機械学習の実験データとしてMIDIファイルを活用すべく予備的な調査や実験を行っていく中で、和声の出現頻度の分析結果を見直していくうちに、基本的には同じ手法を用いながら、若干分析の条件を変化・拡大させ、かつ集計・分析結果の表示手段として幾つか従来とは異なったツールを利用した再分析を実施することになった(巻末の [参考] これまでの作業結果の公開経過:「8.再分析」を参照)。またそれと並行して、当初よりの課題であった時間方向の動的な遷移のプロセスの分析に向けての準備作業として、まずは長三和音と短三和音のみに注目して、その交替の頻度に対象を限定した分析を実施(巻末の [参考] これまでの作業結果の公開経過:「9.長短三和音の交替から見たマーラーの交響曲」を参照)し、再分析の結果とともに記事として公開した。

2021年の年末に、厚意により私的な場ではあるが有識者に対してzoomで報告をする機会を設けて頂き、これまでの作業のうち、和声の出現頻度の分析を中心に、五度圏上の重心計算にも触れる形で報告させて頂けたことから、そこでの報告のために整理した内容に基づき、これまでの作業の時系列に沿った概観(本稿)と、和声の出現頻度の分析のまとめを2021年の年末に行って2022年の年初に公開した。(巻末の [参考] これまでの作業結果の公開経過:「10.これまでの作業の時系列に沿った概観」を参照。)

その後、報告において今後の課題として掲げた点の中で、未分析の和音の解消について取り上げるとともに、それまでのデータ分析では用いてこなかったMIDIファイルを含めた分析用データを作成・公開するとともに、特に歌曲のMIDIファイルで多く見られ、拍頭ないし小節頭で鳴っている和音を分析するというここでの分析にとっては妨げとなっていた拍頭の音のずれを、MIDIファイルから抽出したデータに対して後処理として補正した上で、歌曲について分析データを作成した結果を報告している。(巻末の [参考] これまでの作業結果の公開経過:「11.補遺:未分析和音の解消と同一曲の別データとの比較、歌曲の分析」を参照。)


B.マーラー作品の分析にMIDIファイルを用いることの可能性

まずもって音楽の総体の中から、MIDIファイルのフォーマットで表現されている対象とする範囲を限定して分析をすることが、音楽の中でも、その作品の構造的な側面に関心を限定したものであることは言うまでもない。更にここでは、複雑な音楽作品の構造の中から基本的ではあっても極めて限定された特徴量だけを抽出して分析しているに過ぎないことから、分析を通してわかることには自ずと制限があるのは明らかなことだろう。また使用した分析手法の種類も一般的なもの数種に限られており、結果として多くは期待できず、ほとんどの場合、データ分析のようなアプローチを経ずとも明らかなことを追認するに過ぎないだろうが、それでもなお、多くの場合、マーラーの作品の構造についての言説が多くの場合、データ分析のようなアプローチによる裏付けを経ずに、優れた分析家の直観に基づいて行われていることを思えば、データ分析を行うことで裏付けが得られることそのものにも一定の意味があるのではないかと考える。

ことマーラーの作品に関して言えば、その作品規模の大きさ・複雑さを勘案すれば、他の作曲家に比べても比較的MIDIデータの整備が進んでいるようには見受けられても網羅的とは到底言えないし(マーラーに限って言えば、目下のところ最大の欠落は「嘆きの歌」だろう)、これまでのところその蓄積は主として個人のDTMの活動の中で、いわばボランティアとして打ち込まれたものに拠るもので、それも一時期に比べると寧ろ近年は退潮気味にすら感じられ。更にはこの5年間のうちに幾つかのWebページが閉鎖され、以前は公開されていたMIDIファイルが既にWeb上での入手が不可能になっているようであることを踏まえれば、当初はそのような意図はなかったのだが、放置すれば情報ネットワークのエコシステムの中で忘れ去られていきかねない状況の中で、蒐集して手元に保管しているMIDIファイル自体は著作権などの問題もあり簡単には行かなくとも、それを利用した分析を行って、たとえささやかなものであってもその結果を公開すること自体に意味があるようにも思えるのである。

と当時に、これまで個人のDTMベースでWeb上で公開されてきたMIDIファイルをデータ分析に用いることの限界についても指摘しておきたい。最大の問題は、分析目的での利用を行おうとした場合のデータとしての正確さ・精度にある。MIDIファイルの作成のされ方としては大きく、(1)MIDIキーボードでの人間の演奏を保存するか、(2)MIDIシーケンサーソフト等を用いて入力していくかのいずれかと思われるが、特に前者の場合には、演奏上のミスタッチの発生や、楽譜上の小節の区切りや拍と記録されたサンプルの対応づけの困難さがあって、今回の分析のように小節頭拍や各拍における和音をサンプリングを行おうとした場合、現実の演奏におけるずれやゆらぎのせいで、譜面上「正しい」和音が認識できない場合が多い。後者の場合には、現実の演奏のずれやゆらぎのレベルの問題は起こらないが、その一方で、しばしば誤入力が見られるし、マーラーではごく普通の変拍子に忠実な小節の設定をするのは煩瑣な作業となることが避け難い。この点は既述のMIDIファイルの作成過程を考えれば無理のない側面もあって、(1)におけるアコースティック楽器の録音の代替であったり、(2)における実際の楽器を用いた演奏の代補として用いられる限りにおいては、分析の場合に必要となる正確さは必ずしも必要とされないであろうから、それをデータ分析という別の目的で利用とした時に限界があるという指摘は、或る種の無い物ねだりに他ならないのである。信頼性の高い本格的な分析を行おうとするならば、そのための条件を満たしたMIDIファイルを整備していく必要があり、これまでは専ら楽譜というフォーマット上でのみ行われてきた校訂が、MIDIファイルという媒体においても行われるようにならないだろうか、というのが実際にWebから入手したMIDIファイルを分析に利用するために調査を行っての、偽らざる実感である。

上記のような問題はあるにせよ、MIDIファイルの活用の可能性は狭義のDTMの領域を超えて広がっており、その存在価値は増えこそすれ減ることはないように思われる。Google Magentaについては既に触れたが、そこでは深層学習のための時系列ネットワーク(LSTM)への入力として主としてMIDIファイルが用いられている、ここで振り返る各種の集計・分析に利用したことがあるMIDIファイルから比較的簡単に実験用のサンプルデータを作成することが可能であった。未だ試行段階ではあるものの、既にGoogle Magentaで用意された幾つかのモデルを用いた検証には着手している。ここで振り返ったデータ分析同様、今後、その結果に基づいた方針検討を行った上で多少なりとも実験を実施し、結果が得られた折にはこちらも同様に記事として公開することを目指しているが、このような形で活用の成果を公表することが、MIDIファイルを利用させてもらう立場として可能な「応答」の一つの方法ではないかと考えている。

上述のような様々な制約はあるものの、それでは分析しても意味のある結果が得られなかったかと言えば、必ずしもそうとは考えない。(もし、本当にそのように判断したのなら、公開は控えることにしたであろう。)繰り返しになるが、これまでマーラーの作品について指摘されてきた特徴が、データ分析の結果と整合的であることが確認できれば、それだけでもデータ分析を実施した意義は充分にあると考えるし、非常に限定され、単純化された特徴量からさえ、そうした手がかりのようなものが確認できたことに寧ろ驚きを感じた程であった。

実際に和音の出現頻度にしても、長短三和音の交替にしても、マーラーの音楽が持つ複雑で重層的な構造のほんの一断面に過ぎない。和音については(実際には、基本データとしては推測を行った結果が存在するのだが)、解離・密集の区別も、転回形の区別もないし、機能和声において基本中の基本である筈のドミナントとトニックの区別すら行っていない。ごく基本的なこととして、和音の機能を特定するためには主音がわかっている必要があるが、現象論的にアプローチする限り主音の決定の方が和音のパターンの遷移から浮かび上がってくるものであるという循環があるのに対して、ここでは後者のアプローチを採用しているためである。勿論、分析する人間が外から主音が何であるか、調性が何であるかを与えることは可能だが、ここでの関心は、そうした知識なしでデータから何が導き出されるかの方にある。専門の音楽学者の指摘は、非常に高度な前提知識の上に成り立っているから、その指摘をそのままデータ分析によって検証するのは困難であるので、遥かに肌理の粗い特徴量を通して、そうした指摘と矛盾せず、寧ろその傍証となるような傾向が発見できればここでの目的は達成されたことになると考える。

一方において、これまで指摘されたことのないような結果が得られた場合に、それをどのように解釈するかというのも問題含みであり、それが意味のない偶然なのか、それとも一見したところでは気付かれないような隠れた特徴を捉えたものであるのかの判断もまた難しく、結果的に私にできることと言えば、とにかくも、ある条件下で集計・分析を行ったら、しかじかの結果が得られたという事実を記録して公開することに留まらざるを得ない。ここでは分析結果について、分析の入力となったデータとともにR Studioを用いた分析のログを含めているが、それは私個人では判断できず、他者の判断を仰がざるを得ないものについて、他者による検証ができるように分析の具体的な内容をアーカイブすることが私のなしうる最善であるという認識によっている。既にどこかで高度な分析が行われていて、単に私がそれにアクセスできないだけかも知れないが、現実問題として知る限り、ここで行っているような報告に接する機会はないのであれば、結局私にできることは、将来そのような分析がマーラーの作品に対して行われるまでの間の繋ぎとして、自分が確認した内容を報告することの他ないのである。あわよくば将来行われるであろうより高度な分析の呼び水となれば、ここでの報告はその役割を十二分に果たしたことになると考える次第である。

(2021.12.19-20記, 2025.8.20改訂)


[参考]これまでの作業成果の公開経過

1.調査報告・資料:分析の入力となるMIDIファイルの状況について(2016.1)



2.データ公開:基本データとその解析結果について(2019.9/2020.2)

3.五度圏上の重心計算について(2019.9)



4.和音の分類とパターンの可視化(2019.11)

5.考察:マーラー作品のありうべきデータ分析について(2019.11~2020.1)
6.和音の分析への準備(2020.1)



7.和音の出現頻度から見たマーラー作品
7.1.その1~3:小節頭拍対象(2020.2~3)



7.2.その4~6:全拍対象(2020.7)




8.2.その8:他の作曲家との比較の再分析(2021.11~12)

9.長短三和音の交替から見たマーラーの交響曲(2021.12)
11.補遺:未分析和音の解消と同一曲の別データとの比較、歌曲の分析

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

(2021.12.19公開, 2022,5,20その後の経過を追記, 2025.8.20改題・改訂)


2025年5月20日火曜日

マーラー作品のMIDI化状況について(2025.5.20更新)

既に別のところでも何度か記していることであるが、専門の研究者ならぬマーラー愛好家にとって、近年のインターネット環境におけるコンテンツの充実は目覚しいものがある。権利が切れた出版譜が`PDF化されて自由に閲覧可能になったり、歴史的録音がmp3のフォーマットで無償で入手できるようになったかと思えば、いよいよ自筆譜についても、その一部については既にスキャンされた画像が公開されるようになってきており、同様にpdf等のフォーマットで入手できるようになってきている歴史的研究文献ともども、これまではアクセスが困難であった情報に容易にアクセスできるようになってきている。

ところで、そうしたトレンドと並行して、マーラーの作品をMIDIのフォーマットで入力して、MIDI音源で再生できるようにしようという試みが為されてきている。アコースティックなオーケストラがコンサートホールで演奏することを想定したマーラーの音楽を電子的に再生するという姿勢の是非について議論はあるかも知れないが、広く別の媒体での演奏というようにとってみても、それまではせいぜいが、ピアノ・リダクション(2手、4手連弾、2台ピアノなど、これまた色々な形態の編曲がされてきているが)や室内楽編曲が行われたくらい、しかもレコード、CDといった録音・再生技術やテレビ・ラジオといった放送技術の発達前で実演以外だとピアノや室内楽で自ら弾くしか作品に接する手段がなかった時代でこそ需要があったが、その後は寧ろそうした編曲版は半ば忘れられた存在となり、逆に近年になって、受容の多様化の現われとして、通常のオーケストラ版では飽き足らなくなった層向けに室内楽版やピアノ・リダクション版のCDの録音・販売がされるようになったり、あるいはピアノ編曲版がいわゆる「オリジナル」に比べて価値的に一段下に置かれるといった価値基準からは自由な立場から、ピアノ・リダクション版のツィクルスが行われるようになってきた(一つだけ実例を挙げれば、残念ながら私は聴く機会を得ないままだが、大井浩明さんが近年継続的に取り組まれている)ような状況だが、受容の多様化の一貫として、しかもマーラーの時代には全く存在しなかった新たな受容のあり方として、MIDIファイルへの入力の試みというのは大変に興味深いものがある。

私見では、MIDIデータというのは、楽譜の情報を変換したデータ、しかもそれを自由に分析、編集、加工することが可能な汎用のフォーマットとして非常に大きな価値があると思われる。マーラー自身もその伝統のうちにある西欧の音楽の伝統が築き上げてきた記譜法のシステムは、人間が読み取るためにはそれなりに合理的なものだが、その情報を加工したり、編集したり分析しようとしても簡単にはできないからだ。

寧ろ今後、コンピュータによる大量のデータの処理がますます一般的になるとともに、MIDIのデータの価値はますます増大していくのではないかと思われる。もしかしたら狭義のDTMの範囲を超えて、今後はMIDIデータが、様々な音楽情報処理の基盤としての意味を持ってくるようなこともあるのではなかろうか。(実は、私自身、今回MIDIファイルを調べてみようと思い立った理由というのが、マーラーの作品のある側面をコンピュータにより分析してみたかったからに他ならない。それならMIDIファイルを使うと良いというアドバイスを頂いて調べてみると、ことマーラーに限って言えば、正直に言ってここまで充実しているとは想像していなかった程に状況が進んでいることを確認して、大いに不明を恥じることになったような次第である。)

現実には電子的なメディアの常で、MIDI規格においても機種依存性の問題があるようで、仕方ない側面もあるとはいえやはり色々と弊害があって悩ましいことのようだし、実際に分析に使おうとしてみると、例えば、「音を鳴らす」観点からいけば不要な、付帯情報に過ぎない拍子や調号の情報は、必ずしも「楽譜通り」に入力されているわけではないようで、小節数にしても、必ずしも楽譜と一致するとは限らないようだ。多くの場合には恐らくは入力の便宜上、音価を倍にしたり半分にしたりということは行われているものと思われるし、稀にはシーケンサソフトの制限で、1ファイル1000小節という制限を回避するために小節数を調整する必要が生じたりということも実際に起きていると聞く。マーラーの交響曲楽章で1000小節を超えるのは、第8交響曲第2部だけなので、最後のケースが問題なのは1つだけのはずだが、別の作成者が第3番1楽章、第5番3楽章、第6番4楽章のような大規模な楽章についてはファイルを分けているケースもあり、類似した別の制限が理由なのかも知れない。(媒体もパラメータも異なるが、LPレコードにおいて、こちらは演奏時間に制約されるのだが、例えば第3番1楽章、第8番2楽章あたりは必ず片面には収まらないことから、途中で分割されていたのをふと思い出してしまった。)

小節数の制限についてのみ言えば、分析目的からすれば、寧ろ、分割して、楽譜通りに入れることが望ましいということになるが、本来DTMで「鳴らす」為に入力しているわけで、そうであれば、楽章の途中で切れるのは如何にも興醒めであり、そうした目的の違いを考えれば分析にとっては多少の制限がつくのは仕方ない側面もある。

音高や持続のような情報だけが分析の目的であれば問題にならないが、音色の次元を考えれば、今度はチャンネル数の制限がネックとなり、第8番のような作品を「正しい」音色で入れるのには困難が伴うのは容易に想像がつく。人間の奏者の持ち替えよろしく、同一チャンネルで音色を切り替える工夫等はごく普通に行われているだろうが、特殊楽器の利用、クラリネットなどの移調楽器の場合における、管による音色の違い、更には(弦のみならず管でも)ソロ・ユニゾンの差異が音色の効果狙いである場合(アドルノの言う、第4交響曲第1楽章の「夢のオカリナ」を思い浮かべよ)、弦楽器における線(弦)の指定、ミュートに留まらない特殊奏法の指定(フラジオレット、コル・レーニョ、バルトーク・ピチカート、、、)等々に忠実に従おうとすれば、音色のパラメータの方は切りがなさそうだ。更に加えてマーラーの場合、空間的な指定、ベルアップやら起立せよといった奏者への指示もある。これらは音響の変化としてよりも、膨大な発想表示、指揮者への注などと同様、コメントのような形で入れることになるのだろうか。

しかしながら、ことマーラーに関してMDI化にあたっての最大のネックは、「声」ではなかろうか。今日であらば初音ミクのようなヴォーカロイドに歌わせることは当然、技術的には可能なのであろうが、調べた範囲では、歌詞を歌わせたMIDIファイルは一つもなく、いずれも歌詞パートをある音色をあてて鳴らしているだけに留まっている。この状況は日本だけではなく 外国語の歌詞に対する距離感が違う筈の海外においても同じなのだが、主として技術的制約故であることを思えば、当然のことかも知れない。もっとも、網羅的に調べたわけではないので、どこかでヴォーカロイドに歌わせた例がある可能性は十分にある。しかし総じて言えば、「鳴らして聴く」目的のMIDI化にしても、マーラーが優れて人間の声の、歌の作曲家であるが故に、まだ途上にあると言うべきなのかも知れない。

[追記]ヴォーカロイドによるマーラーの歌曲の歌唱の例としてニコニコ動画のものについて本ブログコメント(以下のコメント欄を参照)にてご教示頂きました。情報の提供につき御礼申し上げます。取り上げられている作品は、「大地の歌」、「子供の魔法の角笛」の中の幾つか(「原光」「天国の生活」を含む)、リュッケルト歌曲集が中心で、最初期の「思い出」はある一方で、「さすらう若者の歌」からは「朝の野辺を歩けば」のみ、「子供の死の歌」はないようです。他方で第2交響曲の「復活」の合唱や第8交響曲第1部が取り上げられています。

以上のように少し考えただけでも、いろいろと制限はありそうだが、作品情報の「機械可読」な形式として、MIDIファイルのメリットはそうした制限を上回るものがあるのは確かなことであろう。

というわけで、マーラーの作品のMIDIファイルの状況がどうなっているのかを調べてみると、それはそれで非常に興味深い状況が見て取れたので、簡単に気づいた点を記しておきたい。

まず、マーラーの音楽はDTMの対象として、比較的ポピュラーなものと言って良さそうであるということ。作品の長大さ、編成の大きさを考えると入力の手間は大きいものと思われるが、にも関わらず、専らマーラーの作品のMIDI音源を紹介したページというのが幾つか存在する。

更に加えて、ことマーラーに関しては、寧ろ日本国内の方が入力が盛んにすら見えること。それを最も端的に物語っていると思われるのが、世界でも唯一のMIDIによるマーラー交響曲全集(「柳太朗」こと加藤隆太郎さんによる)の存在で、これを達成したのが日本人であることはおおいに喧伝されて良いことのように思われる。

以下、私が気づいた範囲でマーラーの作品のMIDIファイルがある程度まとまって公開されているサイトを紹介しておくことにする。ご覧いただけるとわかる通り、マーラーの作品の主要な部分のほとんどが既にMIDI化されており、大規模作品では「嘆きの歌」、歌曲では子供の魔法の角笛の数曲を除けば初期のピアノ伴奏歌曲を欠くくらいであって、その充実ぶりには驚かされる。他の作曲家の作品の日本における状況との比較などから、日本におけるマーラー受容のユニークな特質が浮かび上がってくるのではとさえ感じられる。

なお、より網羅的なMIDIデータの所在の情報については、別途、以下のページで画像ファイルとして参照・ダウンロードできるようにしているので、必要に応じてそちらも参照されたい。

https://gustav-mahler-yojibee.blogspot.com/p/midi.html

[2024.6.16付記] その後、思い立った時に以下に紹介したサイトが利用可能かについて確認を行っていますが、閲覧できない、或いは実質的に利用できなくなってしまったサイトが増えてきています(最新の状態で閲覧・利用不能なサイトには†を付けるようにしました)。マーラーの作品自体の著作権は失効していますし、マーラーの作品の楽譜のうち最近出版されたものではないものには著作権が失効したものが存在しますが、それらに基づいて作成された場合であっても、MIDIファイルそのものについては作成者の著作権は有効です。ここで対象としているMIDIファイルは無償でのダウンロードができるものに限られているので、ダウンロードしたファイルをダウンロードした個人が自分で利用する分には問題ありませんが、それを再配布(二次配布)ができるかどうかは作成者の判断次第であり、厳密には別途許諾が必要と考えられます。とは言え、許諾を得るために連絡を取れるものはそもそもご本人のサイトからダウンロード可能であるわけで再配布の必要性はなく、閲覧・利用不可能になったケースは、作成者と連絡の取りようがないため、実質的に再配布は断念せざるを得ません。以下でも確認できる通り、海外で作成されたMIDIファイルでは同一ファイルが複数のリポジトリサイトで公開されている場合がありますが、それも再配布を許諾した結果と見做すことは厳密にはできません。公共的な価値を考えれば、手元にあるMIDIファイルをダウンロードできるようにすることの意義は小さくないと思いますが、そうした事情から本サイトではMIDIファイルから本ブログの作成者独自のプログラムによって抽出した情報については公開しても、元となったMIIDファイル自体の公開は控えていますので、ご了承の程、よろしくお願いします。

[2025.5.20] 本ページを最初に作成・公開してから9年が経過して、その間のMIDIファイル公開・共有を巡る環境の変化に一抹の感慨を覚えずにはいられません。国内のWebページは1つを除いてアクセスができなくなり、海外のサイトについても公開は続いていても、新たにMIDIファイルが追加されることは稀になったように思わます。この10年弱のうちに、Webの在り方自体が変わって来て、かつての、手作りのhtmlページからDTMの成果を発信するという「文化」はすっかり衰退して、もはや風前の灯になっているかの観さえあります。マーラー以外の作曲家の作品についてはフォローしていないので、確実なことは言えないものの、仮に現時点で、これからコンピュータを活用した分析の入力としてMIDIファイルを利用しようと思い立ったとしても、かつて可能であったような、マーラーの主要作品を網羅した分析というのは最早不可能になってしまっているように見えます。近年はWeb検索が生成AIへの問い合わせにとって代わられようとしていますが、ことMIDI形式のデータについては、Webで利用可能なリソースが減っているのですから、生成AIの能力が如何に高度化したとしても、そもそも入力が存在しないという状況に陥っているのです。勿論、現在機械学習分野で利用されるデータセットとしてはGiant MIDI Pianoのような巨大なものがあり、目的によってはそれだけで充分なのかも知れませんが、マーラーという個別的なものに拘っている限りにおいては、ロングテイルの裾野が広がるどころか、大幅な縮退が起きているというのが現実のように見えます。結果としてこのページも、現時点で利用可能なリソースの情報を共有するという当初の機能は最早果たせなくなり、寧ろ、過去の状況を証言するアーカイブの如きものになってしまっているようにも思えますが、それはそれで価値があることと考え、敢えて公開を続けることにします。


(A)日本国内のサイト

†(1)Deracinated Flower
マーラー 交響曲全集
(旧サイト)http://www.geocities.jp/masuokun_2004/
(現サイト)http://kakuritsu.sitemix.jp/asobi/midi2/index.html

交響曲第1番~第9番と大地の歌の総てがMIDI化されている世界でも唯一のサイト。
※2020年1月現在では、ホームページ閉鎖のため閲覧不能。Wayback machineのアーカイブは残っていることを確認。第8交響曲第2部では、使用していたシーケンサの制限(最大1000小節)を回避するために、小節数の情報が楽譜に忠実ではない。その他のケースでは、一部例外はあるものの、小節の情報についてはほぼ楽譜通りのようである。一方で残念ながら曲によっては入力が不正確な部分が散見され、分析に利用するには注意が必要であることも確認している。

[2022.8.8の追記]作者よりコメントにてご連絡頂き、移転先のURLをご教示頂いたので、情報を更新しました。

[2023.7.12の追記] 移転先のURLも閲覧できなくなっているようです。
[2024.6.16の追記] 移転先URLで閲覧できない状態が続いています。エラーコードはDNS_PROBE_FINISHED_NXDOMAINですが、DNSキャッシュをクリアしても状態が改善されないため、サイトが移動ないし削除されたものと思われます。


†(2)The World of Tachan Orchestra
マーラーの部屋
http://midi-orchestra.xii.jp/

交響曲第5,6,7,9番全曲と第3番第1楽章、大地の歌第6楽章をMIDI化。第3交響曲第1楽章、第5交響曲第3楽章は2つのファイルに、第6交響曲第4楽章は3つのファイルに分割されている。

※2020年1月現在、第1交響曲が追加されていることを確認。なお曲によっては拍や小節の情報が楽譜と一致しないため、或る種の分析での利用にあたっては制限があることも確認している。

※2023年11月20日時点では閲覧不能でしたが、2024年6月時点では再び閲覧できるようになっていることを確認済。

※2025年3月4日時点で閲覧不能であることを確認。

†(3)PSPのおっちゃんなブログ・・・。
ピアノ演奏MIDI集
http://www.geocities.jp/uncle_of_psp/music.html

ピアノ演奏版ということで、交響曲第1,2,5,8番を公開。
※2020年1月現在、ホームページ閉鎖のため閲覧不能。

†(4)お抹茶いつかし
デジタル音楽館~パソコンが奏でるシンフォニー~
http://www004.upp.so-net.ne.jp/itsukashi/digital_symphony/index.html

交響曲第5番全曲と第2番第4楽章(原光)を公開。

※2023年7月現在、閲覧不能。新しい作品はyoutubeで公開されているようです。

(5)Andante comodo - 音の住む館 -
幻想曲(ファンタジー)
その他のMIDI
http://www5d.biglobe.ne.jp/~mabushis/fantasy_etc.html

リュッケルト歌曲集(5曲)と子供の魔法の角笛より3曲の歌曲をMIDI化している貴重なサイト。

※2020年1月現在、『大地の歌』第3楽章が追加されていることを確認。

※2025.3.5 閲覧可能であることを確認。本記事で紹介している国内サイトでは存続している唯一のものとなってしまいました。


(B)海外のサイト

(1)GustavMahler.com
http://gustavmahler.com/

交響曲第1番(2種)、第2,3,4,5,9番および第10番(クック版)のMIDIファイルが公開されている。色々な作者のファイルをまとめて公開しているサイトであり、日本のサイトが個人のものであるのと対照的である。

(2)ClassicalArchives
http://www.classicalarchives.com/

マーラーだけでないクラシック音楽全般のMIDIファイルを公開しているサイト。
マーラーは、交響曲第1番、第9番の全曲(これらは(1)と同一音源)、第1番第3楽章、第3番第5楽章、第4番第1楽章(2種)、第4番第2楽章、第5番第4楽章(3種)、第5番第5楽章、第6番第1楽章、第7番第1楽章、第9番第4楽章、第10番第3,4,5楽章が公開されている。

(3)Kunst der Fuge
http://www.kunstderfuge.com/

(2)同様に、マーラーだけでないクラシック音楽全般のMIDIファイルを公開しているサイト。
マーラーは、(1)と同一の音源であり、交響曲第1番(2種)、第3,4,5,9番および第10番(クック版)が公開されている。

(4) Classical Midi Page

https://www.classicalmidi.co.uk/mahler.htm

(1)(2)同様に、マーラーだけでないクラシック音楽全般のMIDIファイルを公開しているサイト。特にマーラーの作品のMIDIファイルがたくさん公開されている訳ではなく、かつ多くが楽章単位の公開であり、更には作者不明のものが多いなどの理由から、これまでこのページでの紹介を行ってこなかったが、2025年5月時点でアクセス可能であるのみならず、新しいデータの追加が確認できるという点で今や貴重な存在となってしまったこともあり、追加で紹介することにした。[2025.5.20追加]

†(5)KARAOKE
 Lieder, Arien, Ensembles, Chöre  aus dem klassischen Repertoire
http://www.impresario.ch/karaoke/

マーラーだけでないクラシック音楽の歌曲・アリア・アンサンブルや合唱曲などのMIDIファイルを公開しているサイト。

マーラーは、子供の死の歌(5曲)、さすらう若者の歌(4曲)、リュッケルト歌曲集(5曲)、子供の魔法の角笛のうち11曲の計25曲に達する。

いずれもピアノ伴奏のみ(「カラオケ」)と歌唱パート旋律つきの2種類が公開されている。

恐らくMIDIキーボードでの演奏をMIDIファイル化したものと想定され、音が拍節とずれているために、(プログラムの工夫によりある程度の回避は可能だが)分析には適さないことを確認している。更にピアノ伴奏版固有の問題として、声域に応じた移調がされている場合があることで、詳細は割愛するが、原調と異なる調で作成されたMIDIデータが多数存在することを確認しており、仮に小節線や拍節とのずれが問題にならないような分析を行う場合でも、この点についての考慮が別途必要となる。

※2024年6月現在、メイン画面で検索した結果がブラウザに表示されなくなってしまい、実質的に利用できない状態になっていることを確認。(phpを使って書かれているサイトのようです。検索結果が単にない場合にはその旨メッセージが出ますし、検索結果があると思われる場合には、単に検索結果が表示されないで検索画面が再表示されるだけで、エラーが返ってくるわけではないので、サーバーサイドで実行されたqueryの結果が何かの理由でブラウザで表示できなくなってしまっていると思われますが、原因の調査はしていません。なお、確認したブラウザは2024年6月時点で最新のchromeとEdgeだけです。)


(2016.1.3:公開)
(2020.1.18:最新の情報を追記)
(2022.8.8:Deracinated Flowerサイトの「マーラー 交響曲全集」の移動後のURLを追記)
(2023.7.12:リンク切れにつき更新。ヴォーカロイドによる歌唱の試みについて本文中に追記。)
(2023.11.20):リンク切れにつき更新。
(2024.6.16):KARAOKEサイトで検索結果が表示されず、利用できない状態になったため更新。また当該サイトのデータが移調されたものを数多く含むことを付記。The World of Tachan Orchestraサイトが再び閲覧・利用可能になっていることを追記。
(2025.3.4):The World of Tachan Orchestraサイトが閲覧不能になっていることを確認・追記。
(2025.3.5:編集・更新)
(2025.5.20:Classical Midi Pageを追加。コメント追記の上更新。)

2024年11月21日木曜日

MIDIファイルを入力とした分析補遺:五度圏上での和音重心の軌道の相関積分の計算結果(拍毎・楽章毎)

  1.はじめに

 記事「MIDIファイルを入力とした分析:五度圏上での和音重心の軌道の相関積分の計算結果」において、五度圏上での和音重心の軌道に基づく作品分析の一つのアプローチとして、時系列データの非線形解析の手法の一つとして知られているGrassberger-Procaccia法(GP法)を用いた相関積分の計算結果を報告しました。そこでは、マーラーの交響曲11曲について、曲毎に小節頭拍における和音(ピッチクラスセット)の五度圏上での重心の軌道について相関積分を行いました。本稿ではその補遺として、楽章毎、拍毎の和音(ピッチクラスセット)の五度圏上での重心の軌道について相関積分を計算した結果を報告します。GP法および相関積分そのものの説明や実験条件の設定にあたっての検討事項等は前回記事と変わりませんので、その詳細については上記記事を参照頂くこととして、ここでは結果の報告だけを行います。

2.実験の条件

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

また今回は楽章単位に計算を行うこととし、「大地の歌」、第10交響曲のクック版(5楽章)を含む全11曲の計50楽章のデータを対象としました。マーラーの交響曲楽章は30分を超える長大な楽章もあれば、数分のものもあり規模のばらつきが大きいことが特徴ですが、ここでは長短によらず楽章毎に1系列として計算を行いました。各データの系列長は短いもので数百ステップ、長いものでは数千ステップとなります。

相関次元というのが極限で定義されていることからうかがえるように、本来このような分析は、実数値をもつ変数の時系列データが膨大に存在することが前提とされているのに対し、ここで対象となっている音楽作品について言えば、限られた数のデータしかないこと、しかもそれは実世界での測定値であるが故の限界ではなく、作品として固定された有限の長さを持つ音の系列が対象であるが故の制限であり、それを踏まえればそもそもが目安程度の意味合いしか持ちえないことに留意する必要があります。

特に数百ステップのものはGP法を適用する対象としては系列長が短すぎるとされていますが、ここでは相関次元の計算は行わず、単に相関積分を計算しただけということもあり、また計算結果を見る限り、相関積分の傾きのグラフに平坦部分が見られるのは、寧ろ相対的には短く、単純な繰り返し音形が多く、楽式的には3部形式のような繰り返しを持つものが多かったことから、全ての計算結果を公開することにしました。

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

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

埋め込み次元:曲単位での計算実験と同様、m=1~10とします。

半径の設定:曲単位での計算実験と同様、r=0.1~2.0の範囲で0.1刻みとします。

距離の定義:曲単位での計算実験結果を踏まえ、より安定していると思われるユークリッド距離を用いました。

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

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


3.計算結果

相関指数を求めるための傾きが一定になる平坦な領域(Scaling Region)は多くの楽章で見出せませんでした。また埋め込み次元の増大に従い、傾きが一定に収束する傾向も明確には確認できない楽章が多いようです。以下に一例として第6交響曲第1楽章と第9交響曲第1楽章の重心軌道のx座標の相関積分値の傾きの曲線を示しますが、特に後期作品の楽章は概ね似たような傾向にあります。


その一方で、初期作品を中心に、幾つかの楽章では、明確ではないものの、傾きが一定になる平坦な領域(Scaling Region)が短いながらも見られたり、埋め込み次元の増大に従い、傾きが一定に収束する傾向が窺えたりするケースもありました。以下は第1交響曲第1楽章のy座標の軌道の相関積分値の傾きです。


後期作品の中では「大地の歌」の中間楽章、中期では第5交響曲第4楽章や第6交響曲第3楽章などに同様の傾向が見られます。それらの共通点としては、繰り返し音形が多く、楽式的には3部形式のような単純なものが多いように思われますので、それらの共通点を調べることによって説明ができるかも知れませんが、この報告では後日の課題に留めたく思います。



但し、それではこのような傾向が見られるのは短く形式的に単純な楽章に限られるかと言えば、必ずしもそうではなく、上掲の第1交響曲第1楽章もそうですし、例えば以下に示す第3交響曲第1楽章のような長大で錯綜とした形式を持つ楽章でも、明確ではないながら、傾きが一定になる平坦な領域(Scaling Region)が短いながらも見られたり、埋め込み次元の増大に従い、傾きが一定に収束する傾向が窺える場合もあります。全般としては、特に第1~第3交響曲までの初期作品により多く見られる傾向のように思われます。しかしながら、こうした傾向が共通の原因に基づくものなのかも含めて、詳細な分析・考察は後日の課題として、ここでは結果の報告のみに留めさせて頂きます。


4.公開データの内容

本報告で報告した実験に関連するデータは、公開したアーカイブファイルgm_euclid_correlation_integral_grvA.zip に含まれています。

解凍すると以下のフォルダ・ファイル構成になっています。
  • in:入力データ。各交響曲楽章の重心の遷移軌道(x軸、y軸別)
  • result:各交響曲楽章の相関積分値(x軸, y軸別、埋め込み次元m=1~10および相関積分を行った半径(いずれも対数表示。csv形式)。
  • plot:各交響曲楽章毎の半径(x軸)毎の相関積分値(y軸)を埋め込み次元m=1~10についてプロットした画像(jpeg形式)。
  • slope:各交響曲楽章毎の相関積分値(y軸)の傾きを埋め込み次元m=1~10についてプロットした画像(jpeg形式)。
  • gm_sym_grvA.xls:(参考)五度圏上での和音重心の遷移の座標値データとグラフ表示(楽章毎)
(2024.11.21 公開)
[ご利用にあたっての注意] 公開するデータは自由に利用頂いて構いません。あくまでも実験的な試みを公開するものであり、作成者は結果の正しさは保証しません。このデータを用いることによって発生する如何なるトラブルに対しても、作成者は責任を負いません。入力として利用させて頂いたMIDIファイルに起因する間違い、分析プログラムの不具合に起因する間違いなど、各種の間違いが含まれる可能性があることをご了承の上、ご利用ください。

2024年11月8日金曜日

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

 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.計算結果に考察を追記して更新, 11.21誤記の修正)

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

2024年9月18日水曜日

MIDIファイルを入力とした分析補遺:ピアノロールデータの公開(2024.9.20更新)

1.本稿の背景

 マーラー作品のMIDI化状況についてのWebでの調査結果を2016年1月3日に公開後、2019年9月に「MIDIファイルを入力としたマーラー作品の五度圏上での重心遷移計算について」と題して、それまで実施してきた五度圏上での重心遷移計算の結果について報告するとともに、重心計算の元となったMIDIファイルから抽出した基本データについても公開しました。MIDIファイルからのデータ抽出や抽出されたデータの加工はC言語による自作のプログラムで、データ分析はR言語で行って来ました。近年機械学習やデータ分析はPython言語で構築されるのが一般的ですが、PythonでMIDIデータの操作をする場合にはpretty_midiIというライブラリを利用できることがわかった(書籍での紹介例としては、2023年10月発行の北原鉄朗『音楽で身につけるディープラーニング』, オーム社があります)ので調べてみると、pretty_midiIではMIDIデータの読み書きが出来るだけではなく、ピアノロール配列を作成する機能があり、更に拍(beat)毎、強拍(downbeat)毎のピアノロール配列の作成も容易にできることがわかりました。

 pretty_midiは、公式ページ(pretty_midi 0.2.10 documentation)によれば2014年の論文Colin Raffel and Daniel P. W. Ellis. Intuitive Analysis, Creation and Manipulation of MIDI Data with pretty_midi. In 15th International Conference on Music Information Retrieval Late Breaking and Demo Papers, 2014 で報告された時点でベータリリースされていたようですから、実は私がMIDIファイルを入力としたデータ分析を企図した時点で既に利用可能であり、最初から選択肢として存在していた筈なのですが、プログラミング言語としてはC言語が一番身近で、データ分析環境としてはR言語をずっと用いてきたこともあり、偶々当時、C言語でのMIDIデータの操作についての情報を取得できたことからC言語でプログラムを自作してしまったために、MIDIデータの操作に関して他の手段を調査するということをして来ませんでした。その後、本稿に直接関連するところでは、Google Magentaによる機械学習の実験をGoogle Colaboratory上で試行したことがきっかけで、Colaboratory上でPythonのコードに触れるようになりました。現時点ではMagentaをColaboratory上で動かすことができなくなってしまっていますが、その代替手段として自分でPythonのライブラリを使って機械学習の実験を行うことを企図しているうちに、既存のデータ分析もColaboratory上に統合できれば便利だと思うようになり、ようやくPythonでのMIDIデータの操作に関する調査を行うことにした、というのが経緯となります。

 早速Colaboratory上でpretty_midiIライブラリを使って、これまでマーラー作品の分析で用いてきたMIIDIファイルを読み込んで、ピアノロールを作成することができるようになり、更に拍(beat)毎、強拍(downbeat)毎のピアノロール配列の作成をして、結果をMIDIファイルとして出力することができるようになったのですが、テストしているうちに、基本セットのMIDIファイルの中に読み込みエラーが発生するものが出てきました。自作のC言語プログラムでは問題なく読めていたファイルであり、原因は個別に調査が必要ですが、自作のC言語プログラムの方は、こちらはこちらで読み込みエラーが発生するMIDIファイルが存在します。偶々、分析に利用している基本セットにはエラーが発生するファイルが含まれなかった、というよりは読み込みエラーが発生するようなファイルは除外するような形で基本セットを構成してきたということになりますが、MIDIファイルを作成した際のシーケンサ等のプログラムの仕様によるものか、全てのファイルが読み込める訳ではないというのは、現時点ではde facto standardであるpretty_midiIでも既に生じているし、今後更に別のファイルでも生じうる可能性はあるわけで、仮にpretty_midiIの仕様が機能的には完全に上位互換であったとしても、自作のプログラムは代替手段として無意味ではなさそうです。

 本ブログでの分析に関連する具体的なところでは、例えば第9交響曲第2楽章、第3楽章のMIDIファイルをpretty_midiIで読み込むとエラーが発生してしまうため、ピアノロール形式のデータの作成自体できませんので、自作のプログラムの出力結果で代替する他ありません。客観的には調査不足のために車輪の再発明をしてしまったということになるのかも知れませんが、結果的には全くの無意味というわけではなかったことになりそうです。更に言えば、他人の作成したライブラリに依存した環境だと、ある日突然動かせなくなるということが起きて困るというのは、Google Magentaのケースで経験したことですが、そうした懸念なく、自作のプログラムの不具合を気にするだけで集計・分析をやって来れたことを思えば、一定の意義があったという見方もできるように思います。

 ところがそう思って確認してみると、MIDIファイルから抽出した公開済の基本データ(MIDIファイルの分析:基本データにて公開)の中には、各種基本データの計算の入力となる、いわば元データに相当するものか含まれていません。しかも、もともと五度圏上での重心遷移計算が目的だったため、元データはピアノロール形式のデータ(MIDIノート0~127の各時点毎の出現を表す)ではなく、それをピッチクラスで集計したもの(12音の各時点毎の出現を表す)でした。そこで自作のC言語プログラムを数年ぶりに改造して、ピアノロール形式のデータをタブ区切りのファイルとして出力できるようにしたので、従来より分析に用いて生きたマーラーの作品のMIDIファイルの基本データセットについてその出力結果を公開することにしました。なお元々のピッチクラスで集計したデータについてはピアノロール形式のデータから容易に計算できるため公開データには含めません。一方で、ピアノロール形式のデータの更に元となる、MIDIファイルの解析結果自体(pretty_midiライブラリではpretty_midi.PrettyMIDIの各instrumentのNoteの情報に加え、key_signature_changes及びtime_signature_changesに相当する情報)については、別のところで述べたように元となったMIDIファイルの入手が既に困難になっている場合もあることから、その代替の役割を果たすことが考えられますが、こちらは既にMIDIファイルの分析:MIDIファイル解析結果のページで公開済です。

 その一方で、実際にはpretty_midiIのピアノロール形式取得の仕様は、これまで本ブログの分析で使用してきた自作のプログラムと同一ではなく、従って、今回公開するピアノロール形式のデータはpretty_midiIの関数get_piano_roll()で取得できるものとは細かい部分で異なりますので、単に共有データの仕様を記載するだけではなく、pretty_midiIの仕様との相違点について以下に記載することにします。


2.公開データの仕様

pianoroll.zipを解凍するとpianorollフォルダが収められており、その中には以下の作品のピアノロールファイルが収められています。

  • 第1~9交響曲(楽章毎):m1_1~m9_4
  • 第10交響曲クック版(楽章毎):m101~105
  • 交響曲「大地の歌」:erde_1~6
  • 歌曲集「さすらう若者の歌」:ges1~4
  • リュッケルト歌曲集(「私はやわらかな香りをかいだ」:duft、「私の歌をのぞき見しないで」:blicke、「真夜中に」:mitternacht、「美しさのゆえに愛するなら」:liebst、「私はこの世に忘れられ」:gekommen
  • 「魚に説教するパドヴァの聖アントニウス」:antonius、「夏の交替」:mahler_jugend-11、「ラインの小伝説」:rheinlegendchen,「美しいトランペットが鳴り響く所」:trompeten、「いま太陽は晴れやかに昇る」:nunwilld
元となったMIDIデータに関する情報は、同梱されたexperimental_MidiFileName.pdfに記載されています。

各楽章・曲毎に、各拍毎のピアノロール(APL)、各小節頭拍毎のピアノロール(BPL)に加え、参考データとして拍子の基本音符の1/4の長さ(4分音符を基本とする拍子なら16分音符)単位のピアノロール(PL)があります。例えば「私はやわらかな香りをかいだ」のピアノロールでは以下の通りになります。

  • duft_PL.out:拍子の基本音符の1/4の長さ(4分音符を基本とする拍子なので、16分音符)単位でサンプリングした結果のピアノロール
  • duft_APL.out:各拍(4分音符を基本とする拍子なので4分音符)単位でサンプリングした結果のピアノロール
  • duft_BPL.out:各小節単位(小節頭拍毎)でサンプリングした結果のピアノロール
ピアノロールファイルのフォーマットは各行が各時点に対応し、タブ区切りの各列がMIDIノート番号0~127の音が鳴っているかどうかを表します。各列の値は、音が鳴っていない場合は0、鳴っている場合はその音が鳴っているチャネルの数(その音を鳴らしている楽器の種類数)を表しています。

これをpretty_midiライブラリのget_piano_roll()の仕様と比べると、PLについてはget_piano_roll()の引数fs拍子の基本音符の1/4の長さ(基本音符が4分音符ならば16分音符)に相当する値を指定した時に計算されるピアノロールに対応し、APLおよびBPLについては、get_piano_roll()の引数timeに以下の指定をした時に計算されて返ってくるピアノロール形式のデータに概ね対応しています。(より正確には引数fsに渡すサンプリング周波数を、get_tempo_changes()が返す四分音符単位でのテンポの変更を加味した上で与えるべきでしょうが。)
  • APLの場合:get_beats()が返す、拍子の変化、テンポの変化を考慮した拍の位置(時点)のリストに基づいてtimeを指定した場合に概ね対応します。但し複合拍子の場合、get_beats()は3拍毎の位置を返す点が異なります。テンポの変化がなければfsに拍子のベースの音符に相当する値(4/4なら4分音符, 3/8なら8分音符)を指定したものと同じになります。一方、本記事で公開するピアノロールデータは、ベースの音符が異なる拍子が混在する場合には、音価の短い音符単位となります。例えば2/4と3/8が混在する作品の場合には、8分音符単位での出力となります。
  • BPLの場合:get_downbeats()が返す、拍子の変化、テンポの変化を考慮した強拍の位置(時点)のリストに基づいてtimeを指定した場合に対応します。
pretty_midiでは時点の指定が秒数に変換されて為されるのに対して、公開するデータを作成するプログラムはMIDIファイルにおけるTime Base(時間方向の分解能)に基づく時点の指定によって計算をしている点が異なりますが、恐らくその点は結果に大きく影響することはないものと思われます。一方で、ここで公開するピアノロール形式のデータ作成においては、サンプリングをする拍の先頭から基本の拍の1/8の音価(つまり4分音符なら32分音符)未満の遅延を許容し、かつ基本の拍の1/8の音価未満の持続で終わることなく、更に音の鳴り始めから鳴り終わりまでの持続が基本の拍の1/8の音価以上の音を、その拍で鳴っている音と判定することで、MIDIデータにしばしば生じる微妙なタイミングのずれに対して若干の頑健性を持たせています。(逆にその結果として、短い音価の音符で更にスタカート奏法などの指定があって実現される音価が32分音符より短い場合や装飾音、アルペジオの構成音などは拾えないことになります。)そのため各時点で音が鳴っているかどうかの判定基準の違いが結果の差異に影響する可能性があります。pretty_midiの仕様詳細はpretty_midiのソースコードを眺めればわかることですが、現時点では未調査です。拍毎、小節毎のサンプリングをしようとした場合に限っては、一旦秒数に変換してから処理するのは却って遠回りなように思えること、本稿で公開するピアノロールデータの仕様は、その如何に関わらず明確であるため、ここではpretty_midi側の詳細の深追いはしないことにします。

またget_piano_roll()が返すピアノロールデータでは音が鳴っている場所の数値(0でない正の値)は音量を表すのに対して、本稿で公開するピアノロールデータではその音を鳴らしている楽器の種類数を表している点が異なります。本ブログの分析においては、基本的にMIDIファイルに含まれる音量の情報は用いていません。また、今回対象となった作品は管弦楽作品なので大きな違いにはなりませんが、楽器がピアノの場合、本稿で公開するデータでは、サステインペダルに関するコントロール・チェンジ(CC64)は見ていません。pretty_midiのget_piano_roll()では引数pedal_thresholdでサステインペダルのON/OFFの閾値を与えることができ、サステインペダルの効果をピアノロールデータに反映することができます。

(2024.9.18公開,19記事、データとも更新、20サステインペダルに関して追記)。

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

2024年7月7日日曜日

MIDIファイルを入力とした分析:エントロピー計算結果の同時代以降の作品との比較について

1.はじめに

  マーラーの交響曲のエントロピー計算結果についてマーラーの同時代以降の作品との比較の可能性について検討した結果を公開します。本件については、2023年11月の最初の公開後直ちに、比較対象とした同時代以降の作品の集計結果に重大な制限があり、比較分析を行うには適当でないと判断し、記事を撤回することにしましたが、その後の検証で、判断の材料とした未分析の和音の出現頻度の集計に問題があり、必ずしもそこで不適当と判断した作品の全てについて判断が妥当であった訳ではないことを確認しました。

 具体的には判断の材料とした未分析の和音の出現頻度の集計は、マーラーの作品における未分析の和音を解消した時点の集計ではなく、マーラーの作品においてすら、特に後期作品に未分析の和音が残る状態で分析を行っていた事典(記事MIDIファイルを入力とした分析:データから見たマーラーの作品 和声出現頻度の分析のまとめを参照)での集計でした。その後マーラーの作品については未分析の和音が解消されましたので(記事MIDIファイルを入力とした分析:データから見たマーラーの作品 補遺(1):未分析和音の解消を参照のこと)、現時点ではマーラーの作品については、出現する全てのピッチクラスの集合を扱った集計・分析が可能であり、そのことを踏まえた上で、既に後期作品にフォーカスした分析を行った結果を報告してきた(記事2つの旋法性?:MIDIデータを入力とした分析続報(2):全音階・五音音階・全音音階を巡って参照)訳ですが、他の作品についても、改めてマーラーの作品における未分析の和音を解消した時点での集計を用いると、未分析の和音の出現頻度が分析に支障ない程度にまで下がっている作品もあることがわかりました。

 そこで撤回の記事の方を改めて撤回し、以下では未分析の和音の出現頻度の変化についての報告をした上で、状態遷移パターンの比較に用いた作品についての集計結果のみを公開し、それ以外の同時代以降の作品との比較については、改めて後日を期することにします。

 なお、今後、これらの作品の未分析和音を解消すべくパターン・マッチング処理を拡張するかどうかについては否定的であるという判断の方には変化はありません。あくまでも本ブログでの集計・分析はマーラーの作品を対象としたものであり、他の作曲家の作品は比較対象としてのみ意味を持つこと、マーラーの作品について、更に集計・分析をすべき課題は山積しており、そちらを優先して実施する関係上、他の作曲家の作品には手が回らないことがその理由です。

2.未分析の和音の出現頻度

 以下、

作曲家、作品:マーラーの作品に未分析の和音が残る状態の時点での未分析の和音の出現頻度/系列長 (出現頻度の順位/パターン数) →マーラーの作品については未分析の和音が解消された時点での未分析の和音の出現頻度/系列長 (出現頻度の順位/パターン数) 

という書式で記載します。なお、未分析の和音という定義上、その中に、何種類の和音が区別されて含まれるのかはわかりませんので、その点はご了承頂けるようお願い致します。(仮にそれが単一の種類の和音であるならば、エントロピーの計算上も問題ないことになりますが、頻度が高い場合については、その確率は極めて低いものと思われます。逆に、全てが互いに異なる和音で、それぞれの出現頻度は1であるというケースについても同様です。)

  • マニャール、歌劇「ベレニス」序曲:1/367 (38/42)→0/367(-/42)
  • ヴェーベルン、パッサカリア:49/411 (1/46)→0/427(-/127)
  • ストラヴィンスキー、詩篇交響曲:65/901 (1/100)→1/916(106/146)
  • †シュトラウス、アルプス交響曲:407/2459 (1/115)→76/2679(6/281)
  • シェーンベルク、「浄夜」:9/1754 (34/90)→0/1754(-/93)
  • スクリャービン、交響曲第3番:20/1776 (17/77)→0/2478(-/102)
  • †シュニトケ、交響曲第5番=合奏協奏曲第4番第1楽章:93/359 (1/84)→32/543(1/204)
  • ?アイヴズ、「答えのない質問」:21/123 (1/39)→2/144(15/72)
  • ホルスト、「惑星」組曲:86/2898 (8/90)→0/2910(-/119)
  • ショスタコーヴィチ、交響曲第10番:50/1867 (7/104)→1/2526(120/154)
  • ?バルトーク、オーケストラのための協奏曲:150/2065 (2/113)→10/2189(42/198)
  • ?ペッテション、交響曲第6~16番、ヴァイオリン協奏曲第2番、交響的断章: 8760/65405 (1/121)→651/73694(24/317)
 マーラーの作品に未分析の和音が残る状態では、マニャールの「ベレニス」序曲とシェーンベルクの「浄夜」以外は未分析の和音の割合が高く、未分析の状態を解消しなければエントロピーや状態遷移パターンの集計・分析を行うことが難しそうですが、マーラーの作品については未分析の和音が解消された時点では、大幅に未分析の和音の出現頻度は低下していることがわかります。
 シュニトケは未分析の和音の頻度が順位でももっとも高く、数としても1割弱を占めていますし、シュトラウスもまだ数にして3%弱が未分析ですので、依然としてエントロピーや状態遷移パターンの集計・分析を行うことについては慎重であるべきでしょうが、アイヴズ、バルトーク、ペッテションについては、以下の比較分析対象としているラヴェルの「ダフニスとクロエ」第2組曲と同程度まで下がっていますし、他の作品についてはエントロピーや状態遷移パターンの集計・分析を行っても支障ない結果と考えられます。
 特にまとまった数の作品数があり、マーラーの交響曲との比較を検討していたペッテションについては、未分析の割合が全体の1%を切ったこともあり、比較分析を試みてもいいように感じており、改めて後日の課題ということで判断を訂正したいと思います。

3.状態遷移パターンの比較対象のうちマーラーの作品と同時代以降の作品との比較

 状態遷移パターンの比較に用いた作品について、未分析和音の頻度の集計結果を記載し、その上で、MIDIファイルを入力とした分析:状態遷移パターンの出現確率に注目した予備分析にて比較対照した結果を、マーラーの作品と同時代以降の作品に絞って再掲します。

  • ヤナーチェク、シンフォニエッタ:0/1412 (-/78)
  • タクタキシヴィリ、ピアノ協奏曲第1番:0/1804 (-/114)
  • ラヴェル、左手のためのピアノ協奏曲:1/1290 (103/140)
  • ラヴェル、ピアノ協奏曲ト長調:1/1150 (106/137)
  • ラヴェル、優雅で感傷的な円舞曲:1/1289 (141/186)
  • ラヴェル、「ダフニスとクロエ」第2組曲:14/1737 (32/241)
  • シベリウス、交響曲第2番:0/2763 (-/121)
  • シベリウス、交響曲第7番:0/2072 (-/171)
  • シベリウス、「タピオラ」:2/1780 (109/170)
 MIDIファイルを入力とした分析:状態遷移パターンの出現確率に注目した予備分析にて比較対照した他の作曲家の作品のうち、マーラーの作品と同時代以降の作品との比較
  • 単純マルコフ過程としてのエントロピーおよび状態遷移パターン出現確率分布のエントロピー(深さ0~5)

  • 状態遷移パターン数/系列長比率(深さ0~5)


公開したアーカイブファイル gmsym_control_cdnz3_pcls.zip には以下のファイルが含まれます。
  • 入力ファイル(比較対照の作品のみ)
    • *_A_cdnz3_pcl.csv:状態遷移パターン出現頻度(深さ0~5)
    • *_A_cdnz3_pcl_transition,csv:単純マルコフ過程としての状態遷移マトリクス
  • 結果ファイル(マーラーの交響曲および比較対象の作品の集計結果)
    • _control_pcl_summary.xlsx
      • 単純マルコフ過程としてのエントロピー
      • 状態遷移パターン出現確率分布のエントロピー(深さ0~5)
      • 総拍数
      • 状態遷移パターン数(深さ0~5)
      • 系列長(深さ0~5)

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