お知らせ

アマチュア・オーケストラ演奏頻度を2025年の公演の集計を追加して更新しました。(2025.12.25)

2022年10月10日月曜日

ポスト・コロナ禍における第2交響曲演奏の意義(2022.9.11 マーラー祝祭オーケストラ第20回定期演奏会によせて:2022.7.27 最終稿)

 「復活」というタイトルで親しまれ、マーラーの作品の中で最も人口に膾炙した作品であろう第2交響曲について、既に色褪せたものとする主張が半世紀以上前にアドルノによって為されている。国内でも柴田南雄がフィナーレの器楽部分への批判を述べているし、最近では村井翔の評伝の作品篇には第8交響曲同様、第2交響曲の解説もまた存在しない。こうした識者の評価に対し、第2交響曲の意義を擁護することは今日如何にして可能だろうか?

 この作品の構成が緊密とは言い難いことは様々な論者により繰り返し指摘されてきたが、7年にも及ぶ錯綜を極めた成立史もまた、最終形態に至るまでの構成上の紆余曲折を物語って余りある。この作品の最初の構想は第1交響曲の初期稿が完成した1888年迄遡るが、最初に完成したのは最終形態の第1楽章で、草稿のタイトルは番号なしの「交響曲ハ短調」であった。当時、後に第1交響曲となる作品はまだ2部からなる交響詩「巨人」であり、その状況は第2交響曲が完成した1894年においても同様であったから、この作品はマーラーが「交響曲」として構想した最初の作品であるのみならず、「交響曲」として最初に完成した作品でもあったことになる。

 その最初に完成した部分が一時期、交響詩「葬礼」として独立した作品として扱われていたことは良く知られているが、他方で交響曲としての構想において楽章順序の揺らぎが存在したこともまた、ナターリエ・バウアー=レヒナーの回想や遺品によって確認できる。最終形態で第2楽章となるアンダンテが書かれたのが第1楽章の完成に近い時期であるにも関わらず、当初マーラーはこの楽章を第1楽章に後続させることを考えておらず、アンダンテを第1楽章、スケルツォ、「原光」に続く第4楽章に置く I-III-IV-IIという順序を構想したスケッチが遺されている。更に1895年1月に行われた最初の3楽章の試演では最終形態と同じI-II-IIIの順序で演奏されたようであるが、その折に作成された写譜における楽章順はI-III-IIであり、スコアの練習番号がスケルツォのみ、第1楽章が27番で終わるのを受けて28から始まる点にその名残が見られる。最終稿における第1楽章と第2楽章との間の5分間の休憩の指定は、構成上の弱点が最後まで解消されなかったことについてのマーラー本人の自覚を告げていよう。

 交響詩「巨人」や第3交響曲と異なり、各楽章のタイトルこそ付されなかった替わりに、この曲にはプログラムが遺されており、作品紹介の定番アイテムの一つとなっているようだが、本人の手になるとはいえ、当時の環境下での或る種の方便として後付けで用意された、それこそとっくに賞味期限切れに違いないものを、時代と文化的環境の隔たりが恰も存在しないかの如くに文字通りに受け取り、内容を論じることに意義があるとは思えない。マーラーの「復活」「再生」についての考え方は書簡や回想によって確認することができるが、作品そのものの今日的意義を測る上でより重要なのは、寧ろフィナーレの歌詞に対するマーラーの介入であろう。クロップシュトックの「復活」の讃歌は歌詞の冒頭部分のみに過ぎず、その後の追補は「自作」のものであると、作品を仕上げている最中の1894年7月のベルリナー宛書簡でマーラー自身が述べている通りで、全体としては後年の「大地の歌」終楽章でも見られる「追創作」の先駆と見るのが妥当だろう。

 この点はハンス・マイヤーがマーラーを「簒奪者」と断じる理由に他ならないが、同時に彼は、それを同時代の芸術的代理宗教に属するもので、信仰の衰退の証言としてではなく、新しい宗教感情の芸術として受け止めてもいて、岡田暁生がマーラーの音楽を「神なき時代の宗教音楽」と規定し、フランス革命後の市民社会が産み出した制度であるコンサートのためのジャンルであるにも関わらず、その交響曲が聴衆から拍手喝采を浴びるための音楽ではなく、祈りの音楽であることを指摘する点に通じていよう。更にマイヤーは「大地の歌」が第2交響曲の撤回を意味するとも述べているが、この指摘は第2交響曲末尾の変ホ長調の主和音(それは第8交響曲にも共通する)と比べて「大地の歌」末尾の付加六の和音を「不協和」と見做すことに構造的に対応しており、かつまた第2交響曲におけるハ短調⇒変ホ長調という並行長調での解決の図式を共有する唯一の作品が「大地の歌」(イ短調⇒ハ長調)であり、だが前者での長調の主和音の解決に替えて後者では付加六の和音で解決が宙吊りされていることに対応している。柴田南雄は第8交響曲以降の後期作品を指して「背後の世界の音楽」と名付けたが、それはまた第2交響曲にも相応しく、第8交響曲第2部と同様、第2交響曲も死の影に覆われている点で「大地の歌」に通じることの方が重要ではなかろうか。

 マーラーがピアノで第1楽章を弾くのを聞いたハンス・フォン・ビューローの拒絶反応と並んで、そのビューローの葬儀で歌われたクロップシュトックの「復活」の讃歌に霊感を受けて終楽章を書き上げたという経緯もまた有名だが、そこに精神分析的な「父親殺し」を見出そうとするテオドール・ライクの主張よりも、クロップシュトックの讃歌という「他者からの呼び掛け」に触発されてようやくマーラーが自らの語りへの衝動を掴み取ったことに寧ろ注目すべきだろう。後者については1897年2月17日付のアルトゥール・ザイドル宛書簡で「聖書を含むあらゆる文学書を渉猟しつくした挙句」のことだと回顧しているが、例えばド・ラ・グランジュに拠れば、終楽章に取り組んでいる時期にマーラーがフリッツ・レーアへ作品集の送付を依頼したとされるヘルダーリンの「ヒュペーリオン」第2巻第2部に「わたしたちは生きるために死ぬのです」(Wir sterben, um zu leben.)というディオティーマの言葉が見出せるのは偶然だろうか。続けて神々の世界では「すべてが平等」で 「主人も奴隷もいない」と語られるのが第2交響曲のプログラムの内容と呼応するように感じられるのはどうか?実証的な裏付けは不可能にせよ、他者達とのやりとりが半ば無意識の裡に作品中に仮想的な風景として定着された結果、作品を介して他者達が語っていること、更に時空の隔たりを通じて我々もまたそれを「投壜通信」のように拾い上げ、更に継承していくことが重要なのではなかろうか?

 「簒奪」に見えたものは、実は「他者からの呼び掛け」に対する「応答」に他ならなかったのだ。またしても第8交響曲も含め、敬虔さや超越者との対話といった変ホ長調の調性格論的な規定を考えれば、それが「他なるものへの応答」であることが確認できよう。そしてそれに見合うように、この作品は構成上の困難を埋め合わせるに足る決定的な瞬間に事欠かず、彼を通して他者の声が響きわたる瞬間の持つ圧倒的な力が色褪せることはなさそうに見える。

 コンサートホールが祈りを追放し、チケットの代金と引き換えに動員された聴衆が演奏者と一体となる高揚感の挙句に拍手喝采を惹き起こす場所であるのに対して、しばしばこの作品のモデルとして引き合いに出されるベートーヴェンの第9交響曲とは明らかに異なって、この第2交響曲は一見そうした熱狂を惹き起こす企図を共有するかに見えて、それに反するベクトルをも含み持っているのだ。今日のコンサートにおいて確実に集客が見込める「主力商品」である一方で、しばしば第2交響曲が特定の出来事を「記念」するための音楽でもあるのも、そのことを物語るように思われる。コンサートホールの杮落しや演奏者のアニヴァーサリーを「記念」することも勿論だが、それにもましてこの曲が、その場にいない者への「追悼」や「追憶」のための音楽であることは、数多いこの曲の演奏記録の中でも圧倒的な第二次世界大戦後のワルターのウィーンへの里帰りコンサート―それはナチスにより禁じられたマーラーの音楽の「里帰り」という意味合いもあっただろう―やケネディ大統領追悼の放送のためのバーンスタイン指揮のニューヨークフィルハーモニックによる演奏のような例を思い起せば十分だろう。

 翻って今回の演奏が、新型コロナウィルス感染症の蔓延とそれに伴うコンサートの延期・中止といった出来事を追憶し、そこからの甦りの祈念という意味合いを持つことは、ステージにあふれんばかりの巨大な管弦楽と独唱・合唱を必要とし、それを聴くために集まる満場の聴衆を必要としているこの作品のような音楽を演奏し、継承していくことが一時的とはいえ不可能となったことに照らした時、決して偶然ではないだろう。それが故に今回のコンサートの意義を噛み締めることは、時代を通り抜けて継承されるべき価値をマーラーの音楽に見出す人間にとって一つの責務であるように思われるのである。(2022.5.18-9初稿, 5.22改稿)

 [後記]上掲の文章は 2022年9月11日のマーラー祝祭オーケストラ第20回定期演奏会のプログラムに寄稿させて頂いた文章の最終稿(プログラムノートに掲載される直前の稿態)です。直前迄、公演に立ち会う予定であったものの、事情により叶わず大変に残念でしたが、そのことのお詫びとともに公演へのコミットメントへの記録して公開させて頂きます。(2022.7.27脱稿, 2022.10.10公開)

2022年7月7日木曜日

Google Magenta の Polyphony RNN モデルを用いたマーラーの作品の学習実験ノート・本文(2022.7.7 公開, 10.10更新)

元記事(2022年7月7日公開)の「はじめに」を2020年10月10日に独立させて「Google Magenta の Polyphony RNN モデルを用いたマーラーの作品の学習実験ノート・序文」とし、別記事として公開しましたので、併せてご一読頂ければ幸いです。


1.実験に至るまでの経緯と実験結果公開の目的について

 MagentaはGoogleが開発した音楽の機械学習ライブラリだが、その詳細についてはWeb等で情報が入手できる他、2021年7月に斎藤喜寛『Magentaで開発 AI作曲』(オーム社)が刊行され、環境構築や簡単な実験を行うための情報が入手可能になったことをきっかけに2021年の8月末くらいから予備調査に着手した。

 深層学習が注目されるようになって間もなくの頃は、深層学習の実験を自分で試行する手段としては、個人で購入するには決して閾が低いとは言い難いGPUマシンを自前で用意する他なかったが、Google ColaboratoryというクラウドサービスでGPU環境が利用できるようになった。早速試用してみると、無料での利用の範囲ではGPUが連続利用できる時間や利用できるメモリ等に制限がある他、高速なGPUが割り当てられるとは限らないといった制限があり、ちょっとした実験をするにも工夫が必要だが、月あたり1000円程度(為替相場による変動あり)のコストで最低限の実験環境を持つことができ、特に今回の実験に限れば実施可能であることが確認できた。そこでGoogle ColaboratoryのPro版で実験を行うこととした。

 一方、今回の実験の素材として第3交響曲第6楽章を取り上げた最大の理由は、本ブログで2ヵ月前くらい(2022年5月)に公開した記事(デイヴィッド・コープのEMI(Experiments in Musical Intelligence)によるマーラー作品の模倣についての覚え書)に記載の通り、デイヴィッド・コープの著書Computer Models of Musical Creativity(音楽的創造性のコンピュータモデル)の邦訳(『人工知能が音楽を創る 創造性のコンピュータモデル』(音楽之友社, 2017)に遅ればせながらようやく接し、そこでコープがEMIを用いて作成したマーラーの作品の模倣の一つに、この曲をモデルにしていると考えられるもの(『弦楽のためのアダージョ』)があることを、その一部(Mahler Adagio Emmy David Cope (1:57):Mahler Adagio for Strings fragment by Experiments in Musical Intelligence (Emmy) programmed by David Cope.)をYotubeで確認したからである。

 理由のもう一つは、Google Magentaが用意している幾つかのモデルの中で今回実験にPolyphony RNNモデルを用いたことにある。Polyphony RNNモデルはMagentaで用意されているモデルの中で和音を扱うことができるほぼ唯一のモデルといって良い、厳密にはPianoroll RNN-NADEモデルも候補になりうるのだが、こちらは持続方向の扱いに制約があるために、結果を「聴いて」直観的に評価することが困難であること以上に、Pianoroll RNN-NADE custom dataset sample generation error #1878 で報告されている事象に予備実験中に遭遇してしまったことから、消去法的にPolyphony RNNを用いることにしたというのが実態である。 

 既述の予備実験においては、第3交響曲第6楽章以外のマーラーの色々な作品のMIDIファイルを色々なやり方で与えた他、シェーンベルクがプラハ講演で述べたマーラーの作品の旋律の特徴を念頭に、歌曲の歌唱パートのみを抽出し、旋律のみを扱うmelody RNNモデルに与える実験も行った。しかしながら後述の理由から、機械学習の実験テーマとしては成立しそうに思われたものの、実験の目的やそれに応じた実験条件の設定についての検討の必要を感じたことから、今後の実験課題の候補には含めるものの、優先的に実験を行う対象とはしなかった。例えば第10交響曲の補完を考えた場合に、必要なのは与えられた旋律線に対する和声付けや対位法的な声部の補完といった方向性の課題となる。またくだんのシェーンベルクの指摘も、和声法や対位法的な垂直の次元を捨象した水平的な線の問題として扱うことが妥当かどうかには疑問の余地があるだろう。何よりもこれまでMIDIファイルを入力としたマーラーの作品の分析において中心的な課題としていたのは、調的重心であったり和声の出現頻度であったこととの連続性を踏まえれば、最初の実験としては単旋律の発展ではなく、和音のシーケンスを対象とするのが自然に感じられたということである。

 そして和声のシーケンスにフォーカスする場合にMagentaで事前に用意されたモデル中で適切なのは、上記の通りPolyphony RNNということになるが、Polyphony RNNモデルにおける課題の範例はコラール旋律への和音づけであり、直接にはFeynman Liang, BachBot: Automatic composition in the style of Bach chorales Developing, analyzing, and evaluating a deep LSTM model for musical style (2016)に記載されたBachBotという自動音楽生成アルゴリズムに刺激を受けて作成されたもののようである(なお、上記論文では先行研究としてデイヴィッド・コープの研究を参照している)。後述のように、Pythonのコードの形態で提供されているPolyphony RNNモデルの公開されている実装はコラール固有の特徴を前提として各種パラメータの規定値が設定されているため、マーラーの作品を対象とするにあたっては後述するようにパラメータの調整が必要ではあったが、線的な書法の作曲家であるマーラーの作品の中でも、第3交響曲第6楽章(更にその中でも主要部の主題旋律とその和声づけ)は「コラール風」のものと言って良く、Polyphony RNNを用いた実験の素材として無理がなさそうに感じられたというのも、実験で最初に取り上げる題材として選択した理由の一つである。

 だがその一方で第3交響曲第6楽章をGoogle Magenta の Polyphony RNN モデルに訓練データとして与えるということの意味合いについては議論の余地があるだろう。そもそもコープのEMIによるマーラー風のアダージョがどのようなプロセスで生成されたのかは明らかではない(正確を期すれば、現時点の私にとっては、という制限を付けるべきだろう。もしかしたら、この個別のケースについての報告がなされているかも知れないが、上掲のコープの著作の文献リスト中にそれらしいものはないし、コープは自分のプログラムを公開していたことがあるようだが、寧ろ重要なのは何を入力として与え、どのような制御パラメータがあって、それぞれどう設定したら結果がどのように変わるのかといったディティールの筈である。ここでも問題設定は、例えば囲碁や将棋のような、well-definedでclosedな世界とは異なって、寧ろチューリング・テストのような設定に近そうであることは、例えばバッハ風のコラールの和声づけをやった結果を人間に聴かせて、コンピュータが生成したものか否かを判定させて、人間の創作物と区別がつかなければ成功といった評価の仕方に端的に表れている。だがこの場合ですら、バッハの手になる作品か否かというように問いをずらした途端、バッハが行ったコラールの和声づけを「全て」知っている人間にとっては、未知の真作が発見されたといったような文脈抜きではトリヴィアルな問いになってしまうだろう。結果として、既知の作品の「模倣」という目的での或るモデル上での学習の結果の評価は、それを「人間」の曖昧な感覚に委ねるというやり方を拒否してしまえば、自ら定義した「模倣」の成功の度合いを密輸して(何なら堂々と再利用して)生成されたものとオリジナルの既知の作品の距離を測っているに過ぎないことになってしまうことを避け難い。

 それが「学習」であるならば、訓練用データを用いた訓練の結果として汎化が行われ、訓練データ以外のデータを与えた場合にも「それらしい」出力が行われることが求められるのだが、それでは第3交響曲第6楽章と似て非なる作品が生成されるためには一体何を訓練データとして用意すればいいのだろうか?(なおこの問いは、まさにマーラーその人を作曲する機械と見た立てた時、第3交響曲の第6楽章を出力する際に、どのような情報を素材にして、どのようなプロセスで生成が行われたかを問うていることに他ならない。そしてそうした類比を行う先には、Recurrent Neural Networkというチューリングマシンとしての能力を備えた再帰的構造を持つネットワークを基本とし、それが持つ問題点を解消するための制御ノードとして機能するゲートを追加して部分構造を持つようにしたLSTM(Long Short Term Memory)上に実装されたPolyphony RNN モデルがやっていることを、人間の営みとしての「作曲」と呼んでしまうことが孕む深淵が控えていることが見てとれる。)いわゆる「過学習」が起きている場合には、汎化能力が犠牲になる替わりに訓練用データについては精度の高い近似ができるようになっているとされるが、もしそうであるとするならば、ここでの関心は「学習」をさせることではなく、寧ろGoogle Magenta の Polyphony RNN モデルに第3交響曲第6楽章を訓練データとして与えた結果、訓練済モデルが第3交響曲第6楽章そのものを(音楽サヴァンの一部で見られるように完全に間違いなく、最初から最後まで、ではなく、時として間違いを含みつつ、だが或る一部についてはかなりの高精度で)再生できるかどうかにあるのではなかろうか?

 一般的に機械学習の問題設定として見た場合には、演奏すれば20分以上の時間を要するから作品としては大規模なものであるとはいえ、400小節にも満たない第3交響曲第6楽章だけをLSTMの学習の素材として与えることは、サンプル数が少なすぎて適切なものではないという評価になるだろう。一方で第3交響曲第6楽章を出力として得るためには、どういう学習の問題を設定したらよいかというのは、上で見たように端的に言って不良設定問題に過ぎない。従ってここで以下に報告する実験は、形式的にはそのように見えるということもあって、Google Magenta の Polyphony RNN モデルを用いたマーラーの作品の学習実験と銘打っているけれども、実態としては、それが「学習」なのかどうかは一先ずおいて、とにかくGoogle Magenta の Polyphony RNN モデルにマーラーの作品のうちの特定の1楽章を与えてみた結果の報告に過ぎないということをお断りしておきたい。

 なお実験に使用したMagentaのバージョンは2.1.3である。このバージョンは2022年7月1日以降、関連するライブラリの更新の結果、Colaboratory環境にインストールすることができなくなり、本稿執筆時点では実験再開の見通しは立っていない。基本的にはフリーで提供される場合には、こうした状況はしばしば発生し、基本的に利用する側が自己解決すべき性質のものとされ、時間をかけて依存関係を調べて、トライアル&エラーを繰り返せば利用できる可能性もあるだろうが、遺憾ながらそのための時間的な余裕がないため、一旦Magenta を使った実験は中止せざるを得ない。まだ実験を開始してからの時間が短く、敬虔が浅いため、まだまだ改善や工夫の余地があるにも関わらず、一旦これまでの経過を報告することにしたのには、Magenta 2.1.3 が私の環境で使えなくったという事情も寄与している。

[2022.10.10 追記]その後程なくして、遅くとも2020年8月下旬くらいには、ライブラリの依存関係の問題が解消され、再びMagentaを私のColaboratory環境から利用できるようになり、9月中旬には、それまでに実施できていた実験が行えることを確認した。この追記を行うにあたり、念のため最新の状態を確認したが、利用可能な状態にあることを確認できた。そのため、今後更に、このノートの内容を踏まえた追加実験を行うことがあれば、稿を改めて報告することにしたい。

 最後にもう一言だけ述べてこの節を閉じることにするが、「学習」実験の設定としてはより自然なものに見えるであろう、例えばマーラーの複数の作品を入力として与えたらどうなるかという設定について検討しなかったわけではない。既に述べた通り、予備検証フェーズでは、マーラーの歌曲でMIDI化されているものすべてを対象とした検証は実施しているし、マーラーの交響曲全曲のMIDIファイルを対象とする検証も実施はしており、だがこちらはリソースの限界が確認できたために中止することにした。無論対象を絞って、リソースの制約上可能な条件を設定することは可能なのだが、それ以前の問題としてマーラーの複数の作品によってモデルを訓練させることの意味合い、結果として生成される音の系列をどう評価するかについて、上述のような疑問を感じて、実験することに意義を見出せなかったということの方が本質的であると考える。例えば思考実験として、マーラーの歌曲の中から2曲を取り上げて学習させることにしよう。この場合なら、何が学習されるのか?一方で、ごくありふれたこととして、或る歌曲なり交響曲楽章の内部構造として主要部と対比的な部分があるとして、主要部の複数のヴァリアントを与えるなり、主要部と対比部のコントラストを与えるなりすることとどう違うのか。もちろんそれは学習機械の構造にもよるし、具体的な学習時のパラメータと入力として用意したデータとの関係で決まる部分もあるだろうが、ここで私に言えることは、こうした問いは自明でトリヴィアルなものという訳ではないということであり、実のところ今回の実験は、もしかしたらトリヴィアルかも知れないこうした問いについて、それゆえ他の誰もやってみようと思わない実験をやってみた結果を報告することを目的としているというのが実態に即しているように思われる。

 

2.予備検証により判明した本番実験に向けての課題と本番実験方針の決定

2.1.MIDIファイルの事前編集

 Google Magentaは入力としてMIDIファイルを使うことができるので、これまでMIDIファイルを入力としたデータ分析に利用することを目的に、Web上で取得可能でかつフリーで使用可能なMIDIファイルを取得・蓄積してきたものが活用可能である。実際2021年8月末から約1ヵ月程度、断続的に実施した予備実験では、調的重心の移動の可視化や和音の出現頻度に関する統計的な分析の入力として使用してきたMIDIファイルを利用した検証を行うことができた。その一方でMagentaで用意されたモデルが入力として要求するMIDIファイルには制限があり、手元にあるMIDIファイルをそのまま使うことができないことが調査の結果判明した。

 手元にあるMIDIデータは、DTMの一環としてMIDIシーケンサソフトウェアを用いて手入力されたものであるか、MIDIキーボードでの演奏をMIDIデータとして保存したもののいずれかであることが多いが、マーラーの作品の場合にはピアノ伴奏版がある一部の歌曲を除けば管弦楽曲であるためマルチトラック・マルチチャネルで作成されているため、Polyphony RNNモデルへの入力となるMIDIデータはシングルトラック・シングルチャネルである必要がある。マーラーの作品は既存のMIDIファイルはマルチトラック・マルチチャネルで作成されており、Magentaで利用するためには事前にMIDIシーケンサソフトを使ってデータを加工・変換する前処理が必要であることがわかった。 トラックの統合はMIDIシーケンサソフトで比較的簡単に行うことができるが、統合されたトラックの開始部分にはもともと各トラック毎にチャネルを指定していたプログラムチェンジが残っていて、マルチチャネルの状態は解消されていない。そのためMagentaで利用するには更にプログラムチェンジを取り除く必要があることがわかった。


2.2.Onsets and Frames Transcriptionの出力の利用の検討

 ところでマーラー作品のMIDIデータの作成の方法としてもう一つ、ピアノ編曲の演奏をMIDIファイルに変換するというやり方がある。MIDIキーボードを用いた演奏であれば演奏をMIDIデータとして保存することでMIDIデータが生成されるが、アコースティックのピアノの演奏の音響を録音して保存した場合には、wavなどの様々なフォーマットで作成された音響ファイルをMIDIデータに変換しなくてはならない。

 この変換の実現手段として、それ自体Magentaを使ったアプリケーションであるPianoScribeがあり、かつColaboratory上では、Onsets and Frames TranscriptionというNotebookとして提供されているので、これを用いてwavファイルをMIDIファイルに変換することが可能である。Youtube等でマーラーの交響曲のピアノ編曲版の演奏が公開されており、第3交響曲第6楽章については以下のように2手用・4手用の演奏があるため、これらを入力としてまずOnsets and Frames Transcriptionの検証を実施した。

 結果としてOnsets and Frames Transcriptionの性能は申し分なく、音響データが精度よくMIDIコードに変換されることがわかったが、その一方で結果を確認してみると、当然のことではあるが、あくまでもこれは音響データのMIDIコード化であって楽曲の構造を意識したものではないから、例えば小節・拍に関しての処理はなされず、本来ならば記譜上、拍節構造を持つものとしてMIDIコード化された上で、実演において微妙なアゴーギクが施されたものがMIDIのテンポ変更コマンドとしてコード化されるべきものが、直接長さの微妙な差異がMIDIノートのステップ数として表現されてしまっていることがわかる。また現実の演奏にありがちな和音の打鍵のぶれや、長さのムラ、或いはミスタッチについても当然のことながらそのまま記録され、修正や規格化が行われることはない。

 Polyphony RNNモデルは拍節構造を意識したものではないから、以前に取り組んだ拍頭の和音の集計や分類におけるような致命的な問題にはならないし、更に言えば微妙な演奏上のクセのようなもの込みで学習するという別種の可能性もあるにせよ、ここでの関心からすると遠回りな感覚を否めず、その手間を埋め合わせるだけのコストメリットは見出し難い。更にいえば、分析目的ではなく、あくまでも演奏されることを目的に作成された編曲版は、ピアノという楽器の性質を踏まえて然るべき演奏効果を上げることを目的として、しばしば元の管弦楽版の楽譜に忠実であるとは限らない。

 具体的に第3交響曲第6楽章について言えば、上記の2手用編曲と4手用編曲の演奏記録が存在するわけでが、前者がピアノ独奏で大規模な管弦楽を用いたマーラーの交響曲を演奏することに由来する改変が目立つのに比べれば、ここでの目的に照らして後者に分があるのは明らかだとはいえ、後者もまた独自の演奏効果を求めて管弦楽版には存在しない要素が追加されていることには違いなく、管弦楽総譜に忠実にマルチトラック・マルチチャネルで作成されたMIDIファイルをシングルトラック・シングルチャネルにマージしたMIDIファイルの方が今回の目的には適っていると判断し、Onsets and Frames Transcriptionの出力は実験には採用しないことを決定した。


2.3.入力データの調整、訓練用データ生成のパラメータの調整について

 そこで管弦楽総譜に忠実にマルチトラック・マルチチャネルで作成されたMIDIファイルについて確認してみると、第3交響曲第6楽章については以下の2種類のMIDIファイルがWebで公開されており、利用可能であることがわかる。(本ブログのMIDIファイル(2019.9.21更新) を参照されたい。)

  • GustavMahler.Comで公開されているBen Boot作成の6th-movement-Langsam-Ruhevoll-Empfunden.midi (16-channel)
  • 加藤隆太郎さんの旧「Deracinated Flower」のコンテンツの一つであった「MIDIの間」中の「マーラー交響曲 MIDI 全集」に含まれる m3_6.mid。記載はないがこちらも16channelである。(2022.10.10 プロバイダの閉鎖によりアクセスできない旨記載していたが、2022年7月20日にご本人より移転のご連絡を頂いた。現時点では、http://kakuritsu.sitemix.jp/asobi/midi2/index.html に移転されており、再びアクセス可能な状態となっている。2024.6.21その後再びアクセスできなくなったことをか確認。)

 このうち後者のMIDIファイルの作者とはマーラーの作品のMIDIファイルの調査を実施した折にメールでやりとりをさせて頂いており、作成方針から第10交響曲こそないものの、その時より今日に至るまで、文字通り世界で唯一の「マーラー交響曲 MIDI 全集」である後者のデータを従来より和音の出現頻度や調的重心の遷移などのデータ分析で用いてきたこともあり、ここでも後者のMIDIファイルを素材とすることにした。(ちなみに前者は第1交響曲こそ2種類のデータが入手可能であり、更には第10交響曲のデリック・クックによる演奏会用補筆完成版のMIDIファイルが公開されていることが特筆されるものの、第6~8交響曲と「大地の歌」を欠いており全集とはなっていない。)

 既に述べたように、Google Magentaは入力としてMIDIファイルを受け付けるが、事前に用意されているモデル毎に制約事項が存在する。ここで利用を予定しているPolyphony RNNモデルについては、シングルトラック・シングルチャネルであることを条件としているとのことなので公開されているMIDIファイルをそのまま使うことができない。そこでMIDIシーケンサソフトを使って、Magentaに与えることができるかたちに加工する作業を実施することにした。

 使用したMIDIシーケンサソフトは、従来の和声の出現頻度や調的重心の遷移過程の分析にあたって利用してきた以下の2つのフリー・ソフトである。

 対象としたMIDIファイル m3_6.mid は16チャネル16トラックだが、ピッチを持たない打楽器用の第10チャネル/第10トラック以外について1トラックにマージする作業をまず実施した。その結果を用いて試しにMagenta(バージョン2.1.3)のPolyphony RNNモデルに与えて、NoteSequenceファイル(notesequences.tfrecord)の作成、NoteSequenceファイルから抽出した訓練データ(training_poly_tracks.tfrecord)の作成、訓練の実行、更には訓練結果のbundle_file (polyphony_rnn.mag)への出力、bundle_fileを使った楽曲生成と一通りの手順を試行してみた結果、一応最後まで実行できることが確認できたのだが、訓練データ(training_poly_tracks.tfrecord)作成にあたって、訓練データとして抽出する条件に多くの部分が合致せず、結果として訓練用データがわずかしか生成されないことを確認した。原因を探るべく、Pyrhonで実装されたPolyphony RNNモデルのソースコードの中の訓練データ・評価データの作成を行うpolyphony_rnn_create_dataset.py を読んでみると、Polyphony RNNモデルの公開されている実装については、前提としてバッハのコラールが学習の対象であることから、コラール固有の条件が各種パラメータの規定値とされていることが判明した。例えばシーケンスの長さの上下限の制限が厳し過ぎて、訓練用データが生成できないケースが多い。これに対処するために、ローカルにmagentaの環境のクローンを作成し、シーケンスの長さの下限の制限を緩和したコードでデータ生成を行うことにした。

 具体的な修正箇所はpolyphony_rnn_create_dataset.py の中でmin_steps, max_stepsの設定をしている箇所()で、それぞれの標準値は以下の通り。
  • min_steps=80(5小節相当
  • max_steps=512 (32小節相当) 
 標準値は明らかにコラールのフレーズの構造および各フレーズの長さ、コラール全体の長さを想定したものであることがわかる。そこで第3交響曲第6楽章という対象の性質を考慮して、以下のように値を設定することとした。 

(A)予備実験でのパラメータ設定
  • min_steps = 16(=16*1) 1 measures:より短いフレーズの抽出を行う。
  • max_steps = 768(=16*48) 48 measures :1.5倍の長さのフレーズまで抽出。
 上記の設定値での予備実験の結果は、lossやaccuracyといったメトリクスは良好であるにも関わらず、生成結果は期待外れだったことから、短すぎるトラックが副作用を起こしている可能性を考慮して、本番では以下の通り、minを若干長く設定することにした。
 
(B)実験本番でのパラメータ設定
  • min = 48(=16*3) 3 measures:より短いフレーズの抽出を行う。
  • max = 512(=16*32) 32 measures :デフォルト値のまま。
 上限について変更しないことにしたのは、後述のMIDIファイルの分割を実施したこともあり、実際に訓練データ・評価データの抽出を行ったときに、上限超過が原因で抽出対象から除外されたケースが生じなかったことから、変更の必要がなかったことによる。上下限とも値をデフォルトに戻したのは、訓練に用いるネットワークのサイズを変更せず、デフォルト値を使うことと関わる。このデフォルト値の範囲ならばデフォルトの規模のネットワークでの学習が可能でサイズ変更は不要だろうという判断に基づく。
 
 更に上記のパラメータ変更を前提とし、第3交響曲第6楽章という対象の性質を考慮して、シングルトラック化・シングルチャネル化したMIDIファイルをまず幾つかのブロックに分割することを検討した。分割のやり方としては機械的に行うことも考えられるが、訓練用データ・評価用データの作成の抽出の仕方を考えると、質の面でも量の面でも楽曲の構造を意識した分割をした方が望ましいことは明らかであるから、楽式上の区切りを考慮して、まずは全体を10ファイルに分割したデータを用意することにした(program_merged_36)。
  • ①最初から練習番号4 Noch mehr so breit.の手前まで
  • ②練習番号4 Noch mehr so breit.から練習番号9 Tempo I. Ruhevoll! の手前まで
  • ③練習番号9 Tempo I. Ruhevoll!から練習番号14 a tempo (Etwas bewegter.)の手前まで
  • ④練習番号14 a tempo (Etwas bewegter.)から練習番号16 a tempoの手前まで
  • ⑤練習番号16 a tempo から練習番号19 a tempo の手前まで
  • ⑥練習番号19 a tempo から練習番号20. 2/2 taktiren. Sehr bewegt.の手前まで
  • ⑦練習番号20.2/2 taktiren. Sehr bewegt.から練習番号23の5小節手前まで
  • ⑧練習番号23の4小節手前から練習番号25 Wieder Viertel schlagen! Langsamの手前まで
  • ⑨練習番号25 Wieder Viertel schlagen! Langsam から練習番号26の2小節前8/8 Sehr zurueckhaltend. の手前まで
  • ⑩練習番号26の2小節前8/8 Sehr zurueckhaltend.から最後まで
 次いで更に上記の分割結果をベースとして、更に以下のような加工を行った。
 
(1)コーダはフレーズの構造としては特殊であり、カデンツが拡大したものとみることができるため、ここでの目的の観点から削除した。コーダの前にある、アドルノ風には「充足」の機能を持つ後楽節についてはコーダとは機能的には異なるが、それを独立のフレーズとして訓練用データに含めると異質な感じがあるので、同様に削除することにした。
(2)トレモロの指定もなくして、同じ長さの単音符に置換。学習する上で、トレモロの有無が特徴として捉えられるのは、今回の実験の目的にはそぐなわないため、外してしまうことで余計な特徴次元のためにリソースが使われてしまうことを防ぎたい。(実際、全小節を10分割した入力データでの訓練結果を使って生成したケースでは、トレモロが特徴として捉えられていることを窺わせるものであった。)
 (3)対比群を削除して主要主題部に限定したデータを用意。既に述べた通り、楽式分析上は二重変奏と把握されることが多い第3交響曲第6楽章を対象としているので、2つの異なった系列の交替を、だが訓練用データとしてはブロック単位で分割して、それぞれ独立したサンプルとして、だが2系列を同時に一度に与えて(つまりバッチの中でも両方が混在するような前提で)訓練するというのはどういうことをしていることになるのだろうか、という疑問が生じる。勿論このことは、機械学習による作曲一般に言えることではないのだが、人間が介在することなしにコラールのような単純な形式を超えた楽式を機械が学習を通じて習得することに成功したという話は聞かないし、Google Magenta の各モデルで想定されているのは(出力のステップ数のデフォルトはpolyphony_rnn_generate.pyの62行目に定義されており128step=8小節であることからも窺えるように)、作品上では一部に過ぎないフレーズレベルの時系列シーケンスの学習であって、マクロな楽式はGoogle Magentaのモデルに限定すれば実質的にスコープの外であろう。(それに対して、コープが想定しているのが、その範囲に留まらないことは恐らく間違いないが、その代わりに、例えばマーラー風アダージョを生成するのに、具体的に何を入力し、どのようなプロセスを経たのかの具体的な説明はなく、最終的にYoutubeでその断片が公開されている「作品」の成り立ちのどこがEMIが自動的に生成した部分で、どこがコープが介入したのかは明らかではない。)従って、ここでの学習の枠組みを考えたとき、楽曲を加工をせずにまるまる一つ学習モデルに与えるのではなく、訓練データ・評価データが具体的にどのような条件で抽出されるのかを踏まえて、逆算するようなかたちでモデル与えるデータを準備してやり、生成された結果については、時系列のパターンの記憶・再現がどの程度できているかを確認するのが妥当に思われるのである。
 
 これまでの検討により、最終的に実験の対象として用意したデータは、第3交響曲第6楽章全曲を分割した10ファイルのうち以下の部分を抽出したものとした。
  • ①,40 measures.:最初から 練習番号4 Nicht mehr so breitの前まで。
  • ③,40 measures.:練習番号9 tempo I. Ruhevollから練習番号13 Nicht mehr so breitの前まで
  • ⑦b,16 measures.:練習番号21 tempo I.から22の8小節後, Unmerklich draengend.の前まで。
  • ⑩a,26 measures.:練習番号26の2小節前8/8 Sehr zurueckhaltend.から練習番号28 Immer breiter.Langsam anschwellen の前まで
  • ⑩c,26 measures.:練習番号28 Immer breiter. Langsam anschwellen から練習番号30 の4小節後まで 

total 148 measuresであり、楽章全体(328 measures)の45%程度だが、抽出された部分はコラール的な旋律の提示と変容であり、Polyphony RNN モデルがバッハのコラールの和声づけであることを考えると、マーラーの作品を素材とする前提においては相対的に親和性の高い部分ではないかと考えられる。 

 上記の前処理およびパラメータの設定により訓練用データ・評価用データの抽出結果がどうなったかを以下に示す。

(A)予備実験:全曲を10の区分に分割(328小節、10ファイル)

データ抽出のパラメータ

  • min_steps = 16(=16*1) 1 measures:より短いフレーズの抽出を行う。
  • max_steps = 768(=16*48) 48 measures :1.5倍の長さのフレーズまで抽出。
  • 10 inputs. / 216 outputs..(= train (198 =9+117+54+9+9) + eval(18 = 9+9))

    eval:#評価用データ

    • 小節数毎の頻度(計18)
    • [10,20): 9
    • [20,30): 9
    • polyphonic_tracks_discarded_more_than_1_program: 0
    • polyphonic_tracks_discarded_too_long: 0
    • polyphonic_tracks_discarded_too_short: 153
    • poly_tracks_count:1,
    • skipped_due_to_range_exceeded: 0,
    • transpositions_generated: 171, 

    train:#訓練用データ

    • 小節数毎の頻度(計198)
    • [0,1): 9
    • [1,10): 117
    • [10,20): 54
    • [20,30): 9
    • [30,40): 9
    • polyphonic_tracks_discarded_more_than_1_program: 36 #本番実験では修正して0に。
    • polyphonic_tracks_discarded_too_long: 0 
    • polyphonic_tracks_discarded_too_short: 1161
    • poly_tracks_count: 9,
    • skipped_due_to_range_exceeded: 0,
    • transpositions_generated: 1395


    (B)実験:主要部の提示と変容の部分のみ5つの区分に分割(148小節分、5ファイル)

    • データ抽出のパラメータ

  • min = 48(=16*3) 3 measures:デフォルト値に戻す。
  • max = 512(=16*32) 32 measures :デフォルト値に戻す。
  • 5 inputs. / 81 outputs.(= train (63 = 27+18+18) + eval(18 = 0+9+9))

    eval:#評価用データ

    • 小節数毎の頻度(計18データの内訳)
    • [10,20): 9
    • [20,30): 9
    • polyphonic_tracks_discarded_more_than_1_program: 0
    • polyphonic_tracks_discarded_too_long: 0
    • polyphonic_tracks_discarded_too_short: 27
    • poly_tracks_count:1
    • skipped_due_to_range_exceeded: 0
    • transpositions_generated: 45

    train:#訓練用データ

    • 小節数毎の頻度(計63データの内訳)
    • [10,20): 27
    • [20,30): 18
    • [30,40): 18
    • polyphonic_tracks_discarded_more_than_1_program: 0
    • polyphonic_tracks_discarded_too_long: 0 
    • polyphonic_tracks_discarded_too_short: 270
    • poly_tracks_count: 4
    • skipped_due_to_range_exceeded: 0
    • transpositions_generated: 33
     polyphonic_tracks_discarded_more_than_1_programが0であることは、マルチチャネルのMIDIコマンド(Program change)が正しく全て削除されていることを意味する。既述の通り、大抵のMIDIファイルがマルチトラック・マルチチャネルで作成されており、特に管弦楽のMIDIファイルをシングルトラック化した場合、Program changeの情報を削除しないとマルチチャネルの方は残ってしまう。削除漏れがないことを確認するためにはこの項目をチェックすれば良い。
     polyphonic_tracks_discarded_too_longが0であることはmax_stepsを上回るデータがないことを、polyphonic_tracks_discarded_too_shortが0でないことはmin_stepsに満たないデータがあることを意味する。


    2.4.訓練時のハイパーパラメータの設定について

     ここまで学習の入力とするデータの調整や訓練用データ生成のパラメータの調整について述べてきたが、ここでは訓練時のハイパーパラメータの設定について、検討したり予備実験を実施した内容を述べる。今回の実験にあたって設定値の検討を行ったハイパーパラメータは以下の2種類である。

    • rnn_layer_size:Polyphony RNNモデルの場合、入力層・中間層・出力層の三層のノードの数を指定する。デフォルト値は[256, 256, 256]。今回は予備実験時および実験本番の1度目はデフォルト値のままとし、実験本番の2回目に[192, 192, 192]に縮小した時にどのような差がでるかの実験を行った。
    • batch_size:これは訓練・評価で同じサイズを指定することを前提にすれば、データ数が少ない評価用データ数がバッチサイズよりも小さくてはならないという点が拘束条件となる。デフォルト値は64。ここでは予備実験時も実験本番でもeval=18なので、全ての実験において batch_size=18とした。

     今回の実験のようにサンプルデータが少ない場合、まず最初に調整を検討すべきハイパーパラメータはバッチサイズだが、これは訓練用データ、評価用データの出力データ数に応じて変更すべきであるとされる。ネットワークのノード数については回帰式における変数の数とのアナロジーで考えることができ、問題の規模と比べて数が多いとオーバーフィッティングに陥りやすく、ノード数が少ないと粗い近似しかできないため、accuracyやlossといった近似の精度を示す値が頭打ちになりやすい。今回の場合、実験本番の1回目において5000 stepでaccuracy=0.985, loss=0.047となったことを踏まえて、2回目にはノード数を減らし、そのかわりに6000 stepまで訓練を行って比較検証を行った。


    3.訓練結果の概要

    予備実験、実験本番1回目、2回目それぞれの訓練の結果を、Tensorboardの基本的なスカラー量についてのグラフで示す。オレンジ色のグラフは訓練の経過を、青色のグラフは評価の結果を示している。それぞれの指標の意味については上掲書やWeb上の解説を参照頂きたく、ここでの説明は割愛する。

    (A)予備実験(~4500 step ~7000 step)












    (B-1)実験本番第1回目(~6000 step)












    (B-2)実験本番第2回目(~3000 step ~5000 step ~6000 step)












    4.本学習予備実験の経過を収めたアーカイブファイルについて

    本学習予備実験の経過を収めたアーカイブファイルをGoogleドライブで公開中で、以下のURLから取得可能である。

    内容は以下の通りである。

    ①polyphony-m3_6_1-48-4500

    • m3_6-1-48-4500.txt:訓練用ファイル・評価用ファイル生成から訓練済モデルによる楽曲生成実験までの実行ログ(4500 stepまで)
    • test/ :学習用に前処理を行ったMIDIファイルのフォルダ
    • noteseq/:NoteSequenceファイル(notesequences.tfrecord)のフォルダ
    • sequence_examples/:訓練データ(training_poly_tracks.tfrecord)および評価用データ(eval_poly_tracks.tfrecord)のフォルダ
    • logdir/run1/train/:訓練の経過ログが格納されているフォルダ
    • primer/:楽曲生成のキューとなるprimerファイルのフォルダ
    • generated/:m3_6_0_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ
    • generated_1/:m3_6_1_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ
    • generated_2/:m3_6_2_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ
    • polyphony_rnn.mag:訓練済モデルのdumpファイル
    • *.jpg:訓練経過の評価のための各種スカラー値をTensorboardでグラフ化したもの(4500 stepまで)。それぞれの意味については上掲書やWebでの説明を参照されたい。
      • accuracy-4500
      • batch-4500
      • event_accuracy-4500
      • global_step-4500
      • input_producer-4500
      • loss-4500
      • loss_per_step-4500
      • no_event_accuracy-4500
      • perplexity-4500
      • perplexity_per_step-4500
    ②polyphony-m3_6_1-48-7000
    • m3_6-1-48-4500.txt:訓練用ファイル・評価用ファイル生成から訓練済モデルによる楽曲生成実験までの実行ログ(4500 stepまで)
    • m3_6-1-48-7000.txt:訓練用ファイル・評価用ファイル生成から訓練済モデルによる楽曲生成実験までの実行ログ(7000 stepまで)
    • test/ :学習用に前処理を行ったMIDIファイルのフォルダ
    • noteseq/:NoteSequenceファイル(notesequences.tfrecord)のフォルダ
    • sequence_examples/:訓練データ(training_poly_tracks.tfrecord)および評価用データ(eval_poly_tracks.tfrecord)のフォルダ
    • logdir/run1/train/:訓練の経過ログが格納されているフォルダ
    • primer/:楽曲生成のキューとなるprimerファイルのフォルダ
    • generated/:m3_6_0_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ(7000 step時点の訓練結果による)
    • generated_1/:m3_6_1_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ(7000 step時点の訓練結果による)
    • generated_2/:m3_6_2_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ(7000 step時点の訓練結果による)
    • generated-4500/:m3_6_0_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ(4500 step時点の訓練結果による)
    • generated_1-4500/:m3_6_1_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ(4500 step時点の訓練結果による)
    • generated_2-4500/:m3_6_2_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ(4500 step時点の訓練結果による)
    • polyphony_rnn.mag:訓練済モデルのdumpファイル(7000 stepまで)
    • polyphony_rnn-4500.mag:訓練済モデルのdumpファイル(4500 stepまで)
    • *.jpg:訓練経過の評価のための各種スカラー値をTensorboardでグラフ化したもの(7000 stepまで)。それぞれの意味については上掲書やWebでの説明を参照されたい。
      • accuracy-7000
      • batch-7000
      • event_accuracy-7000
      • global_step-7000
      • input_producer-7000
      • loss-7000
      • loss_per_step-7000
      • no_event_accuracy-7000
      • perplexity-7000
      • perplexity_per_step-7000
    ③polyphony-m3_6_extracted-3-32-256
    • program_merged_36_extracted2.txt:訓練用ファイル・評価用ファイル生成から訓練済モデルによる楽曲生成実験までの実行ログ(5000 stepまで)
    • test/ :学習用に前処理を行ったMIDIファイルのフォルダ
    • noteseq/:NoteSequenceファイル(notesequences.tfrecord)のフォルダ
    • sequence_examples/:訓練データ(training_poly_tracks.tfrecord)および評価用データ(eval_poly_tracks.tfrecord)のフォルダ
    • logdir/run1/train/:訓練の経過ログが格納されているフォルダ
    • primer/:楽曲生成のキューとなるprimerファイルのフォルダ
    • generated/:m3_6_0_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ
    • generated_1/:m3_6_1_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ
    • generated_2/:m3_6_2_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ
    • polyphony_rnn.mag:訓練済モデルのdumpファイル(5000 stepまで)
    • *.jpg:訓練経過の評価のための各種スカラー値をTensorboardでグラフ化したもの(5000 stepまで)。それぞれの意味については上掲書やWebでの説明を参照されたい。
      • accuracy
      • batch
      • event_accuracy
      • global_step
      • input_producer
      • loss
      • loss_per_step
      • no_event_accuracy
      • perplexity
      • perplexity_per_step
    ④polyphony-m3_6_extracted-3-32-192-3000
    • program_merged_36_extracted2-192-3000.txt:訓練用ファイル・評価用ファイル生成から訓練済モデルによる楽曲生成実験までの実行ログ(3000 stepまで)
    • test/ :学習用に前処理を行ったMIDIファイルのフォルダ
    • noteseq/:NoteSequenceファイル(notesequences.tfrecord)のフォルダ
    • sequence_examples/:訓練データ(training_poly_tracks.tfrecord)および評価用データ(eval_poly_tracks.tfrecord)のフォルダ
    • logdir/run1/train/:訓練の経過ログが格納されているフォルダ
    • primer/:楽曲生成のキューとなるprimerファイルのフォルダ
    • generated/:m3_6_0_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ
    • generated_1/:m3_6_1_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ
    • generated_2/:m3_6_2_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ
    • polyphony_rnn.mag:訓練済モデルのdumpファイル(3000 stepまで)
    • *.jpg:訓練経過の評価のための各種スカラー値をTensorboardでグラフ化したもの(3000 stepまで)。それぞれの意味については上掲書やWebでの説明を参照されたい。
      • accuracy-3000
      • batch-3000
      • event_accuracy-3000
      • global_step-3000
      • input_producer-3000
      • loss-3000
      • loss_per_step-3000
      • no_event_accuracy-3000
      • perplexity-3000
      • perplexity_per_step-3000
    ⑤polyphony-m3_6_extracted-3-32-192-5000
    • program_merged_36_extracted2-192-5000.txt:訓練用ファイル・評価用ファイル生成から訓練済モデルによる楽曲生成実験までの実行ログ(5000 stepまで)
    • test/ :学習用に前処理を行ったMIDIファイルのフォルダ
    • noteseq/:NoteSequenceファイル(notesequences.tfrecord)のフォルダ
    • sequence_examples/:訓練データ(training_poly_tracks.tfrecord)および評価用データ(eval_poly_tracks.tfrecord)のフォルダ
    • logdir/run1/train/:訓練の経過ログが格納されているフォルダ
    • primer/:楽曲生成のキューとなるprimerファイルのフォルダ
    • generated/:m3_6_0_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ
    • generated_1/:m3_6_1_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ
    • generated_2/:m3_6_2_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ
    • polyphony_rnn.mag:訓練済モデルのdumpファイル(5000 stepまで)
    • *.jpg:訓練経過の評価のための各種スカラー値をTensorboardでグラフ化したもの(5000 stepまで)。それぞれの意味については上掲書やWebでの説明を参照されたい。
      • accuracy-5000
      • batch-5000
      • event_accuracy-5000
      • global_step-5000
      • input_producer-5000
      • loss-5000
      • loss_per_step-5000
      • no_event_accuracy-5000
      • perplexity-5000
      • perplexity_per_step-5000
    ⑥polyphony-m3_6_extracted-3-32-192-6000
    • program_merged_36_extracted2-192-6000.txt:訓練用ファイル・評価用ファイル生成から訓練済モデルによる楽曲生成実験までの実行ログ(6000 stepまで)
    • test/ :学習用に前処理を行ったMIDIファイルのフォルダ
    • noteseq/:NoteSequenceファイル(notesequences.tfrecord)のフォルダ
    • sequence_examples/:訓練データ(training_poly_tracks.tfrecord)および評価用データ(eval_poly_tracks.tfrecord)のフォルダ
    • logdir/run1/train/:訓練の経過ログが格納されているフォルダ
    • primer/:楽曲生成のキューとなるprimerファイルのフォルダ
    • generated/:m3_6_0_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ
    • generated_1/:m3_6_1_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ
    • generated_2/:m3_6_2_primer.MIDをprimerとした楽曲の生成結果(10ファイル)が格納されているフォルダ
    • polyphony_rnn.mag:訓練済モデルのdumpファイル(6000 stepまで)
    • *.jpg:訓練経過の評価のための各種スカラー値をTensorboardでグラフ化したもの(6000 stepまで)。それぞれの意味については上掲書やWebでの説明を参照されたい。
      • accuracy-6000
      • batch-6000
      • event_accuracy-6000
      • global_step-6000
      • input_producer-6000
      • loss-6000
      • loss_per_step-6000
      • no_event_accuracy-6000
      • perplexity-6000
      • perplexity_per_step-6000

    *    *    *

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

    (2022.7.7 公開, 2022.10.10 実験対象の一つとして利用させて頂いているMIDIファイルの提供元である加藤隆太郎さんの「マーラー交響曲 MIDI 全集」のURLに関する情報を最新のものに更新。 Google MagentaのColaboratory環境での利用可否についての記載も更新。2023.3.10「はじめに」を序文として独立の別記事に)

    Google Magenta の Polyphony RNN モデルを用いたマーラーの作品の学習実験ノート・序文(2022.7.7 公開, 7.10, 11.12更新, 2023.3.9-10追記)

     はじめに

     マーラーの作品を素材とした人工知能による模倣の実験を行った結果を以下で報告する。より具体的に言えば、以下で報告するのは第3交響曲第6楽章を入力とし、Google Magentaで用意されているモデルの一つであるPolyphony RNNモデルを用いた実験の結果である。まず実験に至るまでの経緯に触れながら、なぜGoogle MagentaのPolyphony RNNモデルを使ったのか、なぜ第3交響曲第6楽章が選択されたのかについて説明することを通じて、この実験を実施するにあたって考えたことや、実験結果を公開することにした目的について記載したい。なお本稿では、音楽の機械学習全般やMagentaに関する説明は次節で紹介する書籍やWebで入手できる情報に譲ることとして説明を割愛し、その書籍に記載されている内容程度の予備知識があることを前提とし、実験の背景や狙い、実験を行った環境および結果について記載することとさせて頂く。なお、序文の長さがかなりのものになったことから、本文から分離して別記事として公開することにしたので、背景や狙いはおいて、実験環境や結果のみに関心のある方は、直接本文を参照されたい。)

     まず記事タイトルで「学習実験」と言っておきながら、冒頭「模倣の実験」という言い方をした点についてお断りしておく。というからにはそれはうっかりミスでもなければ、言葉遣いの極端なルーズさに起因するものでもなく、意図的な選択の結果である。Google Magentaは、深層学習と呼ばれる一連の技術的なブレイクスルーによって近年脚光を浴びている人工知能技術の一つである機械学習を用いた自動作曲のための環境として知られている。コンピュータによる自動作曲は人工知能の黎明期からの典型的なタスクの一つであるが、そのために用いられる技術は多様で、個別の技術要素のみを取り出してしまえば今日の「人工知能」のイメージからは遠い手法が用いられる場合も少なくないが、ここでは環境としてGoogle Magentaを用いていること、素材としてマーラーの作品を用いていること、ある目的のためのツールを他の目的に転用するといったレベルでの転用をしているわけではなく、Google Magentaでのごく一般的な自動作曲の手順に従って、訓練のための前準備から訓練した結果を用いた楽曲生成までを行っていることから、一先ずはここでやったことを「学習」の実験と呼ぶのが自然であるのがタイトルで「学習実験」と形容した理由である。他方で本文冒頭で「学習」とは言わず「模倣」と言ったのは、実施した実験の諸条件が、ここで特に実験結果を公開するその最後の段階の幾つかに限らず、予備的で試行錯誤的な段階を含めた総体としてみた場合でも、通常Google Magentaを用いて行う自動作曲の典型からの逸脱を含んでおり、その点を配慮した場合にはこれを「学習」と呼ぶことは不適切であり、寧ろ「模倣」と呼ぶべきであるということが理由である。最も多様な素材を入力とした場合でもその範囲がマーラーの作品に限定されているということ、なおかつここで用いられる学習のメカニズム、つまりLSTM(Long Short Term Memory)という人工ニューラルネットワークの振る舞いを踏まえ、更には実際に実験の生成結果を確認した限り、ここでやっていることは寧ろ「模倣」と呼ぶのが適切であると考えた結果なのである。

     とはいえそうした区別は文脈に出来るだけ依存しない厳密な定義を追求した結果というわけでもない。例えば古典派なりロマン派の作品をかき集めて入力して、ありえたかもしれない古典派作品ないしロマン派作品を自動生成する試みは機械学習のタスクとしてはごくありふれた典型的な設定だろう。そしてその場合に訓練時に与えるサンプル数は少なめに見ても数百・数千程度であることが実は暗黙の前提となっている。更に言えば、そうしたサンプルの集合が理想的には或る特定の統計分布に従っていることが学習が成功するための理論上の前提とされており、サンプルがある仕方で分布する抽象的な空間の中で、サンプル点そのものではなく、その近傍にある点を生成するというのが学習に基づく自動作曲の実質だが、それを可能にするためには一定量のサンプルが欠かせないし、そのサンプルの集合の統計的な性質がどんなものあっても良いというわけではなく、学習メカニズムが前提としている分布に近いものであればあるほど良好な結果が得られる可能性が高い。一方で、現実にはよくあるケースだが、様々な理由から利用できるサンプル数が少ない場合に、サンプルに基づいて訓練データの「水増し」を行う手法も提案されているが、それが正当化できるのもサンプルの集団の持つ統計的な分布が一定の性質を持っていることが前提となる。そうしたことを踏まえた時に、「マーラーの作品の学習実験」という設定がそもそも「学習」のタスクとしてどういった位置づけになるのかを考えてみる必要が出てくることになる。

     ここで具体的に、或る特定の作曲家の作品を入力として、その作曲家が書いたかもしれない架空の作品を自動作曲する場合を考えると、例えばそれがバッハやモーツァルトのように数百から千を超える数の膨大な作品が遺され、かつその作品の様式が或る程度の多様性はあるにしても程々に安定している場合には、時代様式を対象とした学習の場合とほぼ同様に考えることができるだろう。だがマーラーの場合は良く知られているように、まず遺された作品数が少なく、多楽章形式の作品について楽章毎に1とカウントしてもその総数は3桁に満たないレベルである。更に言えば、特に交響曲楽章には長大なものが含まれ、その内部の構造も錯綜を極めるため、内部構造に従って分割をしたものをサンプルとして与えることで或る程度の「水増し」が出来たとしても、今度はその個々のサンプルのもつ性質の多様性が「学習」を困難にする。加えて現実的なニューラルネットのサイズや計算リソースの制限もあって、優れた結果を数多く出しているとされるGoogle Magentaにおいても、生成される「楽曲」のサイズとして標準的に想定されている規模は、マーラーの作品であれば「断片」レベルのものに過ぎないし、いわゆる楽式レベルの巨視的な構造をMagentaに事前に用意されたモデルに「学習」させることは、仮にそれが理論上は可能であったとしても、現実に私が利用可能なリソースを考えてしまえば実現不可能な企てに見える。

     予め人間が学習すべき特徴を分析し、それに基づいてネットワークの構造と規模を設定し、入力データを前処理して学習を行うという従来のやり方ではなく、特徴の空間の獲得そのものを機械にやらせるという点が深層学習のブレイクスルーの一つであるとされるが、実際にそれが実現されたのは画像のような静的なデータを対象とするCNN (Convolutional Neural Network)のようなケースであって、音楽作品のような時系列データは、そもそも学習のために用いられるネットワークのモデルが異なる。ここでの技術的な進展は、従来はネットワークのノード間を伝播する信号が急激に減衰したり増幅したりするために困難であった長い系列のデータの学習や、系列中の隔たった時点の間に存在する構造を捉えることを可能にするメカニズムの追加である。古典的な時系列データ用のネットワークはRNN (Recurrent Neural Network)と呼ばれるフィードバック機能を実現する回帰構造を備えたネットワークだが、そこに幾つか制御を行うユニットを付け加えたのが技術的な進展の実質である。更にいわゆる古典的な時系列分析の対象は一次元の時系列データであるのに対して、(特に西欧の)音楽作品ではある時点で複数の音が鳴ることが普通であり、水平的な次元だけでなく垂直的な次元の考慮も必要であるが故に、更に問題の難易度が上がって複雑なモデルと膨大なリソースが要求されるという点も指摘できるだろう。

     こうしたことを踏まえて、様々な試行錯誤の結果ここで最終的に選択された方向性は、「学習」が備えているべき「汎化」能力の獲得は一先ず目指さず、様式的に或る程度均質なサンプルを用意して、それを用いてモデルを訓練し、サンプルの一部をキューとして与えた時にサンプルとよく似たフラグメントが生成できるかどうかを確認するというものになった。そしてその結果として、ここで報告する実験の実質を「マーラーの作品を素材とした人工知能による模倣の実験」と規定するのが適切に思われたのである。こうした点をこのように長々と注記するのは、それ自体は参考になり、今回の実験を準備したり進めたりするにあたっても少なからぬ恩恵を被っている、Web上で読むことができるGoogle Magentaを実際に動かしてみた経緯を報告してくださっている記事の多くにおいて、こうした点についての考慮がなされておらず、「環境構築して、データを食わせて訓練させることができた。訓練したモデルで楽曲を生成したらこんな感じだった」といった内容の報告がなされることが多いように見受けられることへの反応といった側面がある。結局のところそれは、生成した出力を評価しているとはいえ、あくまでのその重点はツールとしての評価にあって、そのツールを使って行ったコンテンツの方はあくまでもサンプルといった捉え方をされていて、だからそれは機械学習ライブラリの評価であって、或るデータを或る目的で機械学習を行った実験そのものの評価ではないのだ。それこそがまさに「工学」であるからには仕方ないこととはいえ、結果として「人工知能」を使った「学習」の肝心の「内容」が論じられることが極めて稀であることへの違和感を感じることは避け難い。他方で「内容」の方にフォーカスがあたった場合、―別の記事で取り上げた、デイヴィッド・コープの一連の実験がそうであったように―今度は出力結果が「似ているか」どうかが専ら議論されることが専らのようだが、そうであればそれは、汎化能力を持っている場合でさえ具体的な特定作品の模倣ではないだけで様式の模倣には違いなく、それならば端的に「模倣」と言えば良いということになる。

     だがそれは単なる言い方の問題に留まらない。マーラーのような過去の作曲家の場合、未知の作品が新たに「発見」される可能性が全くないとは言えないものの、その作品リストは確定しており、既に閉じていると見做される(時代を遡って、例えばペルゴレージの場合のような大量の偽作の存在により、真正な作品のリストが確定しない場合もあるが、マーラーについては該当しない)。そうした有限の作品を入力とした「学習」を行ったモデルの汎化能力は、どのような尺度で測られるのだろうか?通常の「学習」の場合には、サンプルのうちの一部を訓練データとし、それ以外を評価データとして、訓練データには含まれないサンプルを精度良く推定できるかどうかによって測定することになっているし、そうした検証を経たモデルは、実際に新たなサンプルが追加された場合の予測にもちいられることになるのであって、閉じていない。勿論、マーラーの作品の場合でも、或いは今回のように、そのうちのある楽章のみをサンプルとした場合にも、実際に実験でそうしたように一部の作品、あるいは楽章内のある部分を訓練データとし、それ以外を評価データとして評価すれば良さそうに見える。だが形式的には成り立ちそうに見えるアナロジーは、具体的なマーラーの作品に即して考えた途端に危ういものに感じられてくるように思われるのだ。マーラーの作品のある部分を用いた訓練の結果で、それ以外の部分を生成できるというのは、偶々後者が前者の再現であったり変奏であったりする場合(実は、今回の実験はまさにこの場合に該当するようにデザインされたのだが)を除けば、そもそもナンセンスではなかろうか?繰り返しを厭わずに言えば、バロック期や古典期の多くの作曲家、ロマン派以降でも自分の過去の作品をそのまま転用したり、若干の焼き直しをした上で別の作品を作りだすような自己模倣的な作曲法をとるような場合であればそれも可能かも知れない。だが、ことマーラーの場合についてはうまく行かないのではないか。これは何も機械学習の実験の素材としての仮定の話ではなく、現実の問題でもある。マーラーの場合なら未完成の第10交響曲の補筆完成を考えてみればよい。その補筆がマーラーのそれ以外の作品を入力とした「学習」によって可能であるというようには誰も思わないだろう(カーペンターによる補作のように過去の作品の「引用」を散りばめるのはまた別の話だが、カーペンターのそうしたやり方がマーラー「らしい」かどうかについて疑念を持つ人は少なくないだろう)。第10交響曲については、それがマーラーの最後の作品であり、(ありうべき)未来を推定することの困難が原因だというのであれば、初期のピアノ四重奏曲の補作はどうだろうか?そこではシューベルトの「未完成」交響曲のように完成したソナタ楽章とともにスケルツォ楽章の断片が残っていて、24小節からなるその断片に基づきシュニトケがその楽章を「完成」させたことは、その断片を自作の交響曲第5番=合奏協奏曲第4番の第2楽章に「引用」していること同様、良く知られていることだろう。或いはマーラーの場合には他には思い当たらないが、一時期脚光を浴びた「交響的前奏曲」のような存疑作(私個人としては、これをマーラーの作品とは見做しておらず、作品リストにも含めていないが)を思い起こしてみれば良い。通常の問題設定では違和感を感じない「学習」という言葉が、マーラーの作品という個別の場合に限って言えば、さまざまな違和感を呼び起こすように私には感じられる。結局のところ、それにはマーラーの作品によって構成される抽象的な特徴空間の性質が関わっているのであろう。それは知る限り未だかつて定量的測度を備えた仕方で定義されたことはないが、定性的で極めてラフな仕方でならば、既にアドルノのマーラーモノグラフの中で、しかも興味深いことには1つならず2つまでも、しかもいずれもマーラーの同時代の証言の伝聞とともに書き留められていると私には思われる。即ちその一つ目は「III.音調」の章において、シェーンベルクの証言として、マーラーの存命中に「ある著名な批評家が彼の交響曲を「巨大な交響的寄せ集めメドレー(ポプリ)」にすぎない、と非難した」(龍村訳のp.48の最初のパラグラフ)との伝聞であり、もう一つは「IV.小説」の章においてグィド・アドラーの言葉として引用されている「いまだ誰も、たとえ敵対者でさえも、マーラーを聴いて退屈したことはない」(龍村訳のp.83の冒頭)という指摘である。後者の参照の直前でアドルノ自身は「小説と同様、彼の交響曲の一つ一つが、特殊なものという期待を贈り物として呼び覚ます」(同訳書p.82~3)と述べているが、そうした性質を持つマーラーの作品の集合が統計的な扱いに対して抵抗を示すであろうことは、ここで報告する実験をした経験の中で得られた感覚と一致する。のみならず、以前に実施して別の記事で報告した和音の出現頻度をはじめとしたマーラーの作品の幾つかの特徴量についての集計・分析での感覚とも一致する。であるとするならば、それを感覚などと言っていないで、それらの関連の具体的な様相を調べるべきだろうが、これは後日の課題としたい。

     更にこれは、全くの個人的な文脈での偶然に過ぎないが、テンプル・グランディンの『自閉症の脳を読み解く』(中尾ゆかり訳、NHK出版、2014)の中で、自閉症の人の視覚についての研究の結論を参照しつつ、自閉症スペクトラム障碍のデータのエラーバーの大きさについてコメントしている箇所(上掲書, p.153)のことを思い浮かべた。そこでグランディンは自閉症に関する調査についてまわる困難として、調査対象の中に大きな差異が含まれていること、だがそれは研究における問題設定の仕方の問題であること、その故に、サブグループを見つけて分ける必要性を述べているが、マーラーの作品についても同じことが言えるのではないかというように感じたのである。その意味でマーラーの作品は、人間が産み出したものよりも寧ろ、人間自身に近い性質を持っているのではないか、更にそれはアドルノの言う「特殊なもの」に通じ、そのことは「小説」や「物語」の主人公である自己意識を備えた自伝的自己に対応した構造をマーラーの作品が備えているということに帰着するという道筋が思い浮かぶ。そしてこのことはマーラーの音楽が、このブログにおいて永らく構想してきた「意識の音楽」であるという主張そのものに他ならない。だがこの点は本稿の目的である実験の報告とは最早別のテーマであり、この点を更に展開して構想の肉付けをすることは、後日の課題としてここでは一旦打ち切らざるを得ない。

     更に言えば「学習」を「模倣」に置き換えたところで、実はこの問題の或る側面については解決は望めそうにない。有限で列挙可能な「マーラーの作品」が存在していて、恐らくマーラーの場合に限れば、未知の真作が発掘される可能性はほとんどないというところに、既知の「マーラーの作品」には含まれない「マーラー風」を自称する作品が出てきたとき(これもまた仮定の話ではなく、デイヴィッド・コープの事例のように現実の問題なのだが)、一体その「模倣」の出来を評価する尺度はどのようにして構成できるだろうか?実際、世上「マーラー風」と形容される作品は少なからずあるようだが、そもそも「マーラー風」「マーラー的」という形容は、マーラーの作品の或る一面と共通性を持つという意味合いで用いられることが一般的であって、それはここで報告する実験の水準で当否を扱うことができるものではないだろう。他方で「…風に(à la manière de ...)」という、パロディであることを明示したジャンルが存在するが、そこでは特定の作曲家の様式は或る種の「記号」としてメタレベルで機能しているのであって、それもまたここで報告する機械学習における「模倣」とは異なった水準のものであろう(それが「パロディ」として成立するには、所謂「贋作」とは異なった何かがそこになくてはらないが、機械学習における「模倣」は寧ろ「贋作」に近く、例えば「アルビノーニのアダージョ」と称する模作に類似すると考えられる)。後述の実験についての具体的な記述において明らかになることだが、寧ろここで「模倣」と呼んだものの実質は、時系列データとしての音楽作品の一部を「記憶」しそれを与えられたキューに基づき「想起」することに近いのではなかろうか。それは記録媒体に「記録」したものを「再生」することは異なるメカニズムに基づいており、変形や欠落を生じる可能性の一方で、「学習」における「汎化」とは異なったレベル(但し、このレベルの近いは、それを実現するメカニズムの違いを意味しない。メカニズムは同一であっても構わない。)でエラーに対する補完を可能にする頑健性を有することで「模倣」を実現しているという言い方が可能だろう。

     ちなみに上記の「記録」の「再生」と「記憶」の「想起」の差異は、機械が「知的」であるための条件としてアラン・チューリングが示した可謬性に関わっていて、適応的な機械が「正しい」かどうかの判定基準は文脈依存で客観的には決まらず、必ずどういうサンプルを与え何に適応させたかを基準に測るしかないというところから、知的であることの判断基準は結局人間の側にしかないという認識に繋がっており、結果としてここでの「学習」の成功の度合いや「模倣」の出来を評価する尺度に対する答えの枠組みとなる。チューリングはここからチューリング・テストに至ったわけだが、そのことが「学習」の成功度合いや「模倣」の出来は生成された音を人間が聴いて主観的・感覚的に評価するしかないという結論に繋がるわけではないことに注意すべきだろう。そうではなくて、何のために「学習」なり「模倣」なりをするのかという目的、実験自体が置かれた文脈抜きに測度を構成できないということであって、「学習」なり「模倣」なりを自己目的化した実験は、実はおのれの抽象性故に評価の基盤を自ら破壊してしまっていることに気付くべきなのだ、ということに他ならない。

     自分が開発したソフトウェアが生成した音楽の評価に対するデイヴィッド・コープの不満は、それ故二重に不当なものに見えてしまう。まずそれは自分の実験の枠組みの、上述の意味合いでの救い難い抽象性を棚に上げて、自分で破壊した評価基準の不在を評価者に不当に押し付けているに過ぎないし、次に自分が開発したソフトウェアが生成した音楽のみを聴かせて、どういうサンプルを与え何に適応させたかを示すことなく評価を求めるという姿勢の不当さを棚に上げて評価者の反応を批判するのも責任転嫁であると言わざるを得ない。以下にも述べるように、この実験結果を公開することを決断した背景の一つは、まさにデイヴィッド・コープが自分が開発したソフトウェアが生成した「マーラー風」の作品を少なからず発表していることを知ったからなのだが、私の公開の目的は、コープの「マーラー風」作品との結果との「優劣」の比較ではなく(工学的な評価としては、コープの業績に異を唱える人はいないだろうし、情報工学者であると同時に作曲家でもあるコープの業績に対して私のようなアマチュアが付け焼刃の俄か実験をもって何かを言う事自体、こちらはこちらで不当で、身の程をわきまえない暴挙であろう)、寧ろコープがマーラーを素材にしてやったことの「全体」に対する疑問の表明にあり、謂わば「メタ批判」であることをここで明記しておきたい。

     最後に今度はマーラーの側からではなく、機械学習の側からの釈明をさせて頂くならば、端的に実験結果のみを知りたい方にとっては煩わしいだけかも知れず、その場合には本稿末尾の実験結果の紹介までスキップして頂いて構わないが、まずもって機械学習を専門とする研究者でもなく、マーラーの音楽を研究対象とする音楽学者でもない、単なるマーラー音楽のアマチュアが、ごく表面的にGoogle Magentaを試したという前提抜きで実験結果として生成された音響のみを評価されてしまうと、色々な意味でミスリーディングであるという懸念がある。最も端的には、ここで報告する実験の生成結果自体は「出来の良い」ものではなく、だがそれはGoogle Magentaに代表される人工知能の技術的限界を示すものではなく、多くは更に改善の余地があるに違いない。ではなぜそのような箸にも棒にもかからないレベルものを敢えて公表するのかについては、ここまでお読み頂いた方に対しては既に十分にお答えしたつもりでいる。釈明の必要性自体、結局のところ背景と目的の説明は欠かせないということでご了承頂く他ないと考えるが、一つだけ記しておきたいのは、MIDIファイルを解析するプログラムの自作(C言語を用いて行った)から始まって、一通りハンドメイドでMIDIファイルを用いた和音の出現頻度などの集計・分析の仕組み(主としてExcelとS言語を用いて行った)を作るきっかけは、着手時点では先行事例を知らなかったから、知りたいと思えば自分でやってみるしかなかったからであり、だがその後、作業を進めていくうちに、類似の研究があることは確認できたものの、ことマーラーの作品を対象にしたものとなると、現時点でも確認できていないのと同様、ここで報告するような実験の報告のようなものを目にしたことがないということである。勿論、マーラーの作品の人工知能による模倣は既に行われて結果も示されているし、この手の話には格好の題材であろう第10交響曲の補筆完成版の作成を人工知能で行った結果が披露されたという報せを知らないわけではないことは、既に本ブログの過去の記事「デイヴィッド・コープのEMI(Experiments in Musical Intelligence)によるマーラー作品の模倣についての覚え書」でも報告している通りだが、そこで私が個人的に不満なのは、既に述べた通り、人工知能が「創作」したとされる「結果」のみが示され、それがマーラーの音楽に「似ているかどうか」のみが論じられるという点である。そこでここでは、どのようなことを考え、どのような準備をして、どのような条件を設定して、どのようなプロセスで処理がなされた結果、どのような結果が得られたかの詳細についてここまで報告することもまた、実験結果自体と同様に意義があると考えていることをお断りして、背景についての説明を終えることにする。

     なお、上述の背景の説明から、マーラーの作品の「模倣」の実験は可能だが、「学習」の実験は意味がないと考えていると受け止められてしまうかも知れないが、実際にはそういうことではないことを最後にお断りしておきたい。機械学習の対象として捉えた場合にマーラー固有の問題として思いつくのは、作品数が少なく、しかも様式的に多様で、作品・楽章間での多様性が大きいということだろうか。例えばバロック期や古典期の作曲家や、近年ではポピュラー音楽におけるようにある程度決まったパターンに基づき、消費のニーズに応じるべく大量に作品を「生産」「製造」するようなケースと比べれば、「マーラーの場合」が機械学習に馴染まないのは直観的には明らかなことだろう。作品の完成度に拘るスタイリッシュな寡作家というわけではなく、単純にシーズン中は歌劇場監督としての職務の多忙から、パートタイムの「夏の作曲家」たることを余儀なくされたという事情(それゆえ彼の作曲活動は、楽長の道楽として揶揄されさえした)に由来する作品数の少なさのみならず、アドルノが「マーラーがいつもどのように作曲するかは、伝来の秩序の原則にではなく、その曲独自の音楽内容と全体構想とに従っている。」(アドルノ, 『マーラー 音楽観相学』, 龍村あや子訳, 法政大学出版局, 1999, p.56)と言う「唯名論的」(同書, p.83)な傾向を踏まえ、「作品のいずれもが以前に書かれた作品を批判しているということにより、マーラーはまさに発展する作曲家となっている。言うならば、彼の量的には決して多くない作品にこそ、進歩ということを語ることができる。」(同書, p.111)というアドルノの見解を受け入れるならば、「マーラーの場合」の特徴は、そもそも統計的な処理に馴染まない性質のものでさえありうる。

     だがそれでもなお、そうした傾向が結果としてミクロな系列が持つ特徴となり、その特徴を検出し、学習することでマーラーの独自性、「マーラーらしさ」を言い当てることが可能かも知れない。数は少ないとはいうものの、マーラーの作品全体の量を、例えば小節数や演奏時間という尺度で捉えたならば、統計的な学習を行うに十分な分量であるという見方も可能だろう。(単純な比較ができないことは断った上で、例えばGoogle MagentaのPolyphony RNNモデルのモデルケースであったバッハのコラールへの和声付けに基づく学習に用いられるサンプルの規模と比べて、量的に少ないということはないだろう。)既に別のところでは、いわゆる「スモールデータ」でも適用可能な分析ということで主成分分析等のような手法を用いて、和音の出現頻度という、ごく表層的なテクスチュアに関する特徴量だけからではあるが、マーラーと他の作曲家の作品の比較やマーラーの交響曲作品の間の比較を試みた結果を別の記事で公開している(その概要については、記事「MIDIファイルを入力とした分析:データから見たマーラーの作品 これまでの作業の時系列に沿った概観」を、その結果の要約については記事「MIDIファイルを入力とした分析:データから見たマーラーの作品 和声出現頻度の分析のまとめ」を参照)が、そこから更に、そもそもアドルノの上記の主張の裏付けとなる結果をデータ分析から得られないかというアプローチも考えられるだろうし、そこから更に踏み込んで、特にその後期作品について、ベルクやベッカーの言葉を踏まえてアドルノが「(…)マーラーだけに、アルバン・ベルクの言葉によれば、作曲家の威厳の高さを決定するところのあの最高の品位の後期様式というものが与えられる。すでにベッカーは、五十歳を過ぎたばかりのこの作曲家の最後の諸作品がすぐれた意味での後期作品である、ということを見逃さなかった。そこでは非官能的な内面のものが外へと表出されているというのだ。」(p.112)と述べている点について、それに対応する何らかの特徴量を検出できないかという問題設定を行うことで、マーラーの音楽における「老い」について実証的な仕方で語ることさえ可能かも知れない。

     要するに特定の楽曲、例えばここで取り上げられている交響曲第3番第6楽章の主要部分「っぽい」作品を生成することを目的とした「学習」ということならば、こちらは統計的な「学習」の問題として設定しうるかどうか、そもそも問題の設定の水準において疑問の余地がないとは言えないということなのであって、一般に「学習」の問題が設定できないと言っているわけではない。実際、本稿執筆後、問題設定を変えて、1曲毎の規模が小さい歌曲については、全歌曲を一まとまりとして見て、交響曲については各交響曲毎に、Magentaで用意されたツールを用いて訓練用/評価用データを抽出したらどうなるのか、抽出されたデータを用いて訓練したらどうなるのかという実験は継続して実施しており、その結果については別途公開の予定である。(2022.7.7 公開, 7.16 語句の調整。22.11.12誤字修正および若干の補足を加筆, 2023.3.9-10追記, 独立の記事として本文から独立)

    2022年5月16日月曜日

    デイヴィッド・コープのEMI(Experiments in Musical Intelligence)によるマーラー作品の模倣についての覚え書(2022.5.16更新)

     2019年7月刊行ということなので、もう2年半も前のことだが、 EMI(Experiments in Musical Intelligence)システムという自動作曲のコンピュータ・プログラムの開発者であるデイヴィッド・コープの著書Computer Models of Musical Creativity(音楽的創造性のコンピュータモデル)の邦訳が出版されていることに最近気づいて、慌てて取り寄せてざっと一読したのは既に1ヵ月程前のことになる。その全体を紹介するだけの余裕はそもそもなく、仮に出来たにせよこのブログはそれに相応しい場ではなかろうが、MIDIデータを用いたマーラー作品の分析を少しずつ進め、その結果を公開したり、第10交響曲の補筆完成に関連して人工知能に言及してきたこともあって、上掲書についてもマーラーとの関わりに限って今までに知りえたことについての紹介をしておきたい。

     邦題は『人工知能が音楽を創る 創造性のコンピュータモデル』(音楽之友社)で、原著の題名は邦訳では副題の方で言及されていることになる。自動作曲は、人工知能の研究が始まったばかりの頃以来の研究テーマであり、人工知能で用いられる手法もルール・ベースのアプローチから、蓄積された事例に基づくデータ駆動型プログラム、生物の進化における選択・淘汰のモデルのアナロジーに基づく遺伝的アルゴリズム、ニューラルネット、更にはファジー論理のような確率モデル、力学系に基づくシステムに至るまで様々であるから、自動作曲を行うコンピュータ・プログラム=人工知能と考えれば、邦題は非の打ちどころなく正当なものだということになろうが、深層学習がもたらしたブレイクスルーによって到来した今日の何度目かの人工知能ブームにおいて流布しているイメージからすれば、ミス・リーディングとまでは言わないまでも、マーケットを意識したキャッチ―な題名のように感じられる。

     ただしこの印象は、私がかつての人工知能、ブルックスによってGOFAI(Good Old-Fashoned AI)と呼ばれた記号処理ベースの人工知能システムに、産業応用を生業とするエンジニアとして多少なりとも関わったことがあって、その時に人工知能研究に対して抱いた違和感に似た感覚を、今頃になって感じることになったという個人的な事情による部分が大きいように感じる。それにしてもブルックスがサブサンプション・アーキテクチャをもって記号処理ベースのAIに異議申し立てを行ってからでさえ既に四半世紀が過ぎようとしており、その間にそれまではタブーとされた意識や心について論じることが当たり前になっていることを思えば、ここでのコープの立場は情報工学的研究としては申し分ないかもしれなくとも、些か保守的であるという印象を拭い難い。注意深く選択されたコープによる創造性の定義は或る意味では非の打ちどころがないが、チェスのようなゲームを例として説明される創造性が、音響のパターンの組み合わせ方の選択という、多くの場合、必要条件ではあることは認められるかもしれなくても十分条件であるかどうかは極めて疑わしい側面に「音楽」を還元してしまっていることがもたらすであろう帰結についてコープは無頓着に見える。彼によれば創造性には意識は勿論、知性も不要だし、生命すら不要であるというのだが、それは検証可能な仮説というよりは、寧ろ信念に近いものに感じられる。結果としてコープがやっていることは、創造性を自分の信念によって定義して、その定義に沿った出力を計算するシステムを開発し、動作させた結果をもともとの信念による定義に照らして創造的であると言い募ることとの区別が限りなく曖昧になってしまっているように感じられてならない。コープはコンピュータが生成した作品を人は真っ当に聴こうとさえしないと不満を募らせるが、そうした態度を招来する原因の一端は明らかに、特定の作曲家の様式の模倣を行うという彼が自ら選んだやり方に起因している筈である。コープは模倣の元となった作品と生成された作品を比較すれば、生成された作品のオリジナリティがわかるという言い方をするが、端的に言って、そういう比較を聴取に持ち込むこと自体が対象を「音楽」として受容することと相容れないことにコープは気が付いていないようだ。

     だがそうしたコープの見解について検討を行い、きちんとした批判を行う作業を行うだけの余裕が今はないので将来の課題とせざるを得ず、そのかわりにここでは端的に、コープが開発したEMI(Experiments in Musical Intelligence)によるマーラー作品の模倣について、後日の検討のための覚えを記しておくことにしたい。非常に肌理の粗い言い方になるのを承知の上で敢えて言えば、コープのような立場は、或る様式に従った音響パターンとしての作品の職人芸的な生産という音楽制作の或る局面においては一定の有効性を持つだろうが、それはマーラーの作品が位置づけられる局面とは最も疎遠であると私は以前より考えてきたし、今でもそう考えている。であるが故に、コープがよりによってマーラーを様式模倣の対象として選択したことに酷く驚き、『人工知能が音楽を創る』に付録Aとして付されたEMIによる作品リストに含まれる様式模倣の作曲家の中で、マーラーが特別な地位を占めていることに当惑し、その理由を突き止めようという衝動を覚えたのであった。以下は将来その作業に着手するための備忘として書き留めておくものである。

     『人工知能が音楽を創る』の中で最初にマーラーが取り上げられるのは、第5章、コープが創造性の一翼を担っていると考えている「引喩」についてのところである。最初に「フレームワーク」の節で第4交響曲第1楽章の冒頭主題の上部構造としてヘンデルのメサイア中の或る旋律を指摘するレオナルド・マイヤーの見解が参照され、続いて第9交響曲第4楽章の序奏部分の音型、ドレスデン・アーメンの例としての第1交響曲第4楽章の一部、第5交響曲第1楽章冒頭のファンファーレ、「子供の死の歌」第2曲のトリスタン音型が参照される。マーラーの音楽に様々な先行作品の「引用」を指摘すること自体は寧ろありふれたことであるから、ここでマーラーがサンプルとして取り上げられること自体に不思議はない。一方で、コープの定義する創造性の観点からすると、ここで「引喩」と呼ばれているものが或る既存の特徴的な音響パターンの再利用以上のものであるかどうかは自明ではないだろう。コープは最後の「子供の死の歌」第2曲の引用に関して、よりによって(と私には思えるのだが)マーラーの伝記的事実を参照してみせるが、それがコンピュータの創造性の探求という文脈においてどう正当化されるのかについては些かも明らかには見受けられない。繰り返しになるが、何しろコープによれば創造性には生命は不要なものなのだから、子供の死など関係がない筈だし、ましてや作曲者の娘の死が作曲者に与えた影響を論じることが創造性の構成要素としての「引喩」に関わる筈がないではないか。そのレッテルの正当性についての議論を一先ず措けば、或る種の誤解に基づくにせよ「自伝的作品」といったような規定が為される類の音楽は、コープの定義する創造性からすれば最も縁遠いものの筈である。

     だがコープのEMIによる模倣においてマーラーが単なるサンプルに留まらない或る種特別な地位を占めていることが、最終章である12章「美学」に至って明らかになる。この章の冒頭では、コンピュータが作曲したという知識が聴衆の作品の受容の態度を予め規定してしまい、まともに評価されないのはどうしてかについての検討が行われる。そこで例として取り上げられるのがEMIによるマーラーをタイトルロールに持つ「オペラ」の自動作曲なのだ。そしてそれが美学的インタラクションとどう関係するかは措いて、コープはオペラ「マーラー」についての説明を(コープ自身の並々ならぬ思い入れも含めて)延々と行い、その中のアリアの1曲についてはヴォーカルスコアではあるが、まるまる1曲全体の譜面を提示しさえするのである。ここでのコープの議論の進め方について気になる点を書き出し始めればきりがないことになるので、ここでは控えることにするが、例えば、

    「(…)オリジナル曲とオペラ中のパッセージとを比べると、後者は引用というよりは言い換えに近い。私は通常このような模倣は好まないが、マーラー自身は好んで自作を引用したから、ここでは気にしないことにする。」(邦訳 p.366)

    という一節を取り上げると、「引用というよりは言い換えに近い」模倣が、マーラー自身の(言い換えならぬ)自己引用によってどうして正当化されるのか、読み手は途方に暮れることになる。これだけなら単なる揚げ足取りの類と見做されてしまうかも知れないが、少なくとも私には、コープのようなアプローチを採ることと、その素材としてバロックや古典期のような一定の様式に基づく作品が職人芸によって量産された時代の作品ではなく、よりによってマーラーの作品を取り上げることの間には乗り越え難いギャップがあるように感じられる。

     これも皮相な一例に過ぎないかも知れないが、歌劇場監督、オペラ指揮者としてあれほど優秀であったマーラーが、最初期の学生時代の試みと、ヴェーバーのオペラの補筆を除けばオペラの作曲を手掛けることが決してなかったことは良く知られているし、そのことの理由についても繰り返し考察されてきた事柄であり、コープ自身「彼自身オペラを作曲することはなかった」(p.365)と認めながら、そうしたマーラー本人をタイトルロールとしたオペラを、「自分自身の特別な好み」(ibid.)に基づき、「自分が聴きたかった」(ibid.)から作ろうと思いつくこと自体私には理解し難い。百歩譲って或る種のアイロニーとしてとか、或いは返す刀でオペラのコンセプト自体も脱構築する(これも前世紀ならともかく、21世紀の今日では今更な感じが否めないが)とかいう観点でもあれば別だが、何より決定的なのはそうしたオペラをよりによってマーラーの書法の模倣によって作ろうというのだから最早返す言葉がない。序でだからもう一言だけ言えば、これも物議を醸す材料に事欠かないマーラーにおける音楽とテキストの関係を知っている者は、コープが、

    「コンピュータの作曲した曲に歌詞をつけるのは、興味ある挑戦である」(p.366)

    と事も無げに言い出すのを目の当たりにしてあっけに取られてしまうだろう。

     実はオペラ《マーラー》の存在自体については、楽譜が売られているのを見かけたことがあるので知っていたのだが、それがマーラーの様式模倣を行う自動作曲システムによる作品だということに気付かず、ここで初めて知って大変に驚いたのだった。かてて加えて既に触れたように付録としてつけられたEMIによる作曲リスト(pp.399-400)を確認する限り、マーラー作品の模倣は10作品にも及び、作品数だけとればバッハやモーツァルトを上回って最多であることがわかって更に困惑は深まるばかりとなる。

    David Cope の歌劇「マーラー」のヴォーカルスコア

     既述の通りコープの主張には理解に苦しむ点が多々あるが、それについて理路を整えて批判する作業は後日を期することとして、ここでは(或る意味ではコープがそう望んでいる通り)、コープの語っていることではなく、自動作曲の出力そのものを聴取した印象を、しかもマーラーの作品の模倣、およびそれとの対比の目的で聴いたモーツァルトの作品の模倣に限って書き留めておくことにしたい。(実は個人的には模倣作品のリスト中にペルゴレージの名前があれば、多少はコープのことを見直したに違いないのだが、生憎ペルゴレージはコープの関心の対象外なようだ。大量の偽作やストラヴィンスキーの「プルチネッラ」のような事例を考えれば寧ろペルゴレージこそ格好の「ネタ」に違いないのにどうして?という気がするが、コープにとってはこういう事情は恐らく関心の外なのだと思う他ない。)

     Amazonで確認した限り、本稿執筆時点でそのうちの7曲の楽譜が入手可能であることが確認できた。更には邦訳書の冒頭に記載の通り、著者のWebページおよびyoutubeの著者のアカウントでは、自動作曲システムを用いて生成した「マーラーもどき」の作品の幾つかを(全て断片ではあるが)聴くことができる。

     参考までに、以下に『人工知能が音楽を創る 創造性のコンピュータモデル』の付録Aに記載されているマーラーの作品の模倣による作品を、2022年4月の本稿執筆時点で日本のAmazonで楽譜が入手できるかどうかの対応つきで一覧しておくことにしよう。以下で(*)が付されている作品は楽譜の入手が可能なようである。

    • アダージョ  Adagio, 弦楽オーケストラ, 8分
    • 4つの歌  Four Songs, ソプラノ、アンサンブル, 28分 (*ピアノ伴奏版および室内アンサンブル版)
    • 生と死の歌  Lieder von Leben und Tod , 独唱(複数)、オーケストラ, 25分 (*ヴォーカルスコア)
    • オペラ《マーラー》Mahler (opera), 独唱(複数)、合唱、オーケストラ, 4時間 (*ヴォーカル・スコアおよび3分冊のフルスコア)
    • オペラ《マーラー》(短縮版)Mahler (opera)(short version), 独唱(複数)、合唱、オーケストラ, 2時間
    • 歌の交響曲 A Symphony of Songs, オーケストラ, 30分 (*)
    • 管楽器のための組曲 Suite for Winds, 管楽8重奏, 40分30秒 (*)
    • マーラー・カンティクル Mahler Canticles, 合唱、吹奏楽, 14分 (*ヴォーカルスコアおよびフルスコア)
    • 3つの歌 3 Songs, テノール、ピアノ, 12分
    • 3つの二重唱 3 Duets, 20分, アルト、テノール、合唱、ピアノ, 20分 (*)
     ちなみにこれもまた揚げ足取りの類と見做されるかも知れないが、上記のリストを眺めて或る日ふと思ったのが、コープが作品に付したタイトルの奇妙さである。初期の破棄された試みと、初期創作の掉尾を飾り、かつマーラー自身が「作品1」と認めたカンタータ『嘆きの歌』を除けばマーラーは交響曲と歌曲しか書かなかった。確かに編曲の中にはバッハの管弦楽組曲の編曲が含まれるものの、人によっては内的な論理を見出し損ねた挙句、その交響曲を組曲・ポプリの類に過ぎないとの揶揄をすることはあれど、マーラーの創作において「組曲」というジャンルは明らかに異質なものに感じられ、自ら自発的にそうしたジャンルを題名として選択する可能性があったようには思えない。また「歌の交響曲」というのは、研究者がマーラーの作品の性格付けを行うための規定としては考えうるだろうが、個別の作品のタイトルとしては明らかに異様である。

     だが「そうした指摘は揚げ足取りで、コープがやっているのは音楽そのものの模倣であり、タイトルはその対象ではない」といった類の抗弁は、「生と死の歌」というタイトルの前で沈黙せざるを得なくなる。ご丁寧にこれだけはドイツ語のタイトルだから、他のタイトルとは異なって、ここではそれが模倣の実質的な一部を為しているのだろうと想像する人がいてもおかしくはなかろう。だがアドルノのマーラーに関するモノグラフに馴染んだ人は、直ちにその末尾の第8章「長きまなざし」(ここでは引用は法政大学出版局から1999年に刊行された龍村あや子による新しい邦訳による。以下についても同様。)の中の「大地の歌」を論じた箇所にある以下の一節を思い浮かべるに違いない。
    「《大地の歌》という題名は、もしこの作品の内容がその並々ならぬ要求を正当化し、悲しみの真理によって大げささを払拭していなければ、新ドイツ派の「自然交響曲」や「生と死に関する高尚な歌曲」といった範疇との絡みが疑われるかもしれない。」(アドルノ『マーラー』, 邦訳 pp.197-8)  
     よもやこのアドルノの言葉を、マーラーが新ドイツ派的であって、そのようなタイトルの作品を書いていると述べていると受け止めたわけでもなかろうし、これはモノグラフの冒頭すぐに出てくる「マーラーの第9交響曲に書かれてしまったあの馬鹿げたほど大げさな「死が私に語りかけること」という標題は、真理の契機を歪曲するものとしては第三交響曲の「草花や動物たち」よりもたちが悪い。」(同書, 邦訳p.4)というくだりの意図を取り違えたわけではなかろうが、「歌の交響曲」同様、研究者によるマーラーの作品の性格付けとしてならともかく―実際、ドナルド・ミッチェルの3巻よりなるマーラー研究の最後の巻は "Gustav Mahler, Songs and Symphonies of Life and Death" というタイトルを持っている―「高尚な」を除けば良いというものでもなく、結局のところコープの姿勢が創作者ではなく研究者であり、これらの作品は創作であるよりも研究における模倣の実験の結果に近いことを告げているように思えてならない。繰り返しになるが、作曲家によってはタイトルへのアプローチを問題にすることに拘る必要が希薄な場合もあるだろうが、ことマーラーに関して言えば、決してそんなことはない。仮に百歩譲ってコープのタイトルの付け方がマーラー的でないこと、或いはコープのタイトルへの姿勢がマーラー的でないことを不問に付したとして、どのみちここでコープのやっていることはマーラーの「模倣」として疑問の余地があることは確実なことに思える。

     だがタイトルという「パレルゴン」についての議論はこれくらいにして、youtubeで作品の幾つかを聴いた印象に移ろう。以下に本稿執筆時点(追記をした2022年5月時点、ただし4月時点と変わりがないようだ)でyoutubeで公開されていることが確認できたコンテンツを一覧しておく。オペラ《マーラー》の一部が大半を占め、それ以外はアダージョの一部のみのようである。
    1. ・オペラ《マーラー》に関するもの
      • 間奏曲
        • David Cope Emmy Mahler (6:43):David Cope's Experiments in Musical Intelligence Program's composition, an intermezzo from the opera Mahler, in Mahler's style.
        • Mahler opera Emmy David Cope (2:59):Portion of an intermezzo from Mahler (opera) by Experiments in Musical Intelligence computer program created by David Cope. 
      • アリア
        • Mahler opera aria Emmy David Cope (2:59):Portion of an aria from Mahler (opera) by Experiments in Musical Intelligence computer program created by David Cope.
        • Mahler opera Emmy aria (2:04):Portion of aria from Mahler (opera) by Experiments in Musical Intelligence computer program created by David Cope. 
        • Mahler Opera Emmy David Cope (1:22):Portion of another aria from Mahler (opera) by Experiments in Musical Intelligence computer program created by David Cope. 
        • Mahler opera fragment Emmy David Cope (6:43):Fragment of an aria from Mahler (opera) by Experiments in Musical Intelligence computer program created by David Cope. 
      • 二重唱
        • MAhler opera Emmy David Cope (2:07):Portion of a duet from Mahler (opera) by Experiments in Musical Intelligence computer program created by David Cope. 
      • 四重唱
      • レシタティーブ
      • 断片
      • 管楽合奏用編曲の断片
        • Mahler opera emmy frag (4:09):Fragment From the Experiments in Musical Intelligence opera Mahler arranged for wind ensemble by David Cope. 
      • ウィンド・オーケストラ版(?)
        • Mahler Emmy Opera (4:17):From Mahler's opera for Wind Orchestra by David Cope's Experiments in Musical Intelligence.
    2. アダージョに関するもの
      • Mahler Adagio Emmy David Cope (1:57):Mahler Adagio for Strings fragment by Experiments in Musical Intelligence (Emmy) programmed by David Cope.
     聞いてみてまず思ったのは、データ分析に用いたMIDIデータを素材として、Google Magentaで模倣(としての自動作曲)や記憶した系列の再生の実験をしばらくやった経験に拠れば、その生成物にとても似た感触があるということだった。EMIの出力結果だけ聞いた場合と比べて、自分が感じた違和感の在り様と在処の把握について感覚的につかむ素地を事前に持てたことだけでも、別途Google Magentaで実験をやっていて良かったと思ったのだが、その共通する印象を非常に単純化して言ってしまえば、学習のサンプルとして与えたマーラーの作品に含まれるローカルなパターンの奇妙な継ぎ接ぎで、時々、ほとんど引用紛い(というより、その箇所だけ取れば、記憶された断片が連想によって想起されたものに印象としては近いもの)になる。けれども全体としては全くマーラー的ではない、というのが率直な印象である。奇妙な継ぎ接ぎというのは、でたらめではないけれど違和感が拭えないということで、連結としては可能であってもフレーズの構造上は奇妙な脈絡(それはシェーンベルクの言う「音楽的散文」、マーラーの作品を特徴ずける不均衡なフレーズ構造とは似て否なるものである)が生成されるのだが、恐らくそのことは機械学習がミクロなパターンの組み合わせの再生はできても、巨視的な構造を扱うことが難しいという点に関係するのではないかと思われる。実はGoogle Magentaでの実験は、当初は触れ込み通りの自動作曲の試行(つまり、まさにコープのやろうとした「模倣」を自作のプログラムではなく、Google Magentaというツールを使って試みること)の筈だったのだが、実験をしているうちにやっていることの意味合いに疑問を感じるようになったために、一旦は記憶した系列の再生の実験に方針を変えたのだが、そうした試行錯誤の過程で受けた印象に類似した印象を受けたのである。従ってGoogle Magentaでの実験で感じた、やっていることの意味合いに対する疑問は、そっくりそのままコープのやっていることにも当て嵌まるのであって、或る種の既視感を感じさせる経験だった。

     別段それを誇るとかいうのではなしに、交響曲だけではなく、歌曲についても子供の頃から繰り返し聞いてきたが故に、私はマーラーの作品はほとんどすべて(完璧に暗譜しているわけではないにせよ、不完全ながら頭の中で概ね再生できる程度には)記憶しているので、ある部分のネタがどの作品なのか嫌でも気づいてしまう。これがモーツァルトとかだと、私が知らない作品、聴いたことがない作品、聴いたことを覚えていない作品もたくさんあり、かつモーツァルト自身にも他者の様式模倣のような作品が少なからずあるので、そういう意味では「らしさ」を感じる余地が相対的にはあるのだろうが、やはり「劣化した」モーツァルトにしか聞こえない。古典期の忘れられた作曲家の作品だと言われたら、そうかなと思ってしまう程度の出来のものはあるように思うが。だがマーラーに関してはそうではない。そもそもマーラーは自己引用はしても様式的な自己模倣というのとは最も縁遠い作曲家で、言ってみればどの曲も他の曲と似ておらず、それぞれが特殊なものなのだ。だからコープがやっているようなアプローチはそもそもマーラー的ではない。時折、ある交響曲が先行する交響曲の二番煎じであるという批判があるにしても、それはよりマクロな構想に関して言われるのであって、個別の楽曲の様式の水準においては既成の自分の作品に似た作品というのをマーラー自身が決して書かないので、ここで行われているような模倣そのものが、そもそも着想の時点で非マーラー的に思えてしまうということなのだと思う。(岡田暁生は『音楽と出会う 21世紀的つきあい方』, 世界思想社, 2019において、AIによる自動作曲に一章(第7章 AIはモーツァルトになれるのか?)を割いて音楽学的な観点から批判をしている中で「偉大な芸術家は絶対に自分のコピーはしない―これをどれだけ強調してもしすぎではない」(p.166)と述べているが、少なくともマーラーに関しては、私はその見解に全面的に賛成である。)

     それ以外にも、恐らくコープがそれによってマーラーに似せることができる、あるいはできたと思っているに違いない特徴は、私に言わせると確かに表面的にはある作品のある部分に実際に存在するけど、だけれどもそれを使ったらマーラー的に聞こえるというと全くピント外れに思えるのだ。素人が偉そうにとは思うけど、私にはコープは、マーラーのマーラーたる所以が全く分かっていないとしか思えなかったというのが正直な印象である。

     勿論、こうした印象が私の方が間違っているせいで生じている可能性もあり、コープのマーラー作品の模倣に接した他の人の印象がないかと思って少しだけ探してみると、日本語で読めるものとしては、以下のような記事が確認できた。

    森田浩之「ヒトの知能とキカイの知能」⑧ (https://www.jihyo.co.jp/topics/hitonotinoutokikainotinou8.html)

     ここで参照されている「マーラースタイル・アダージョ」は、付録Aの作品目録より判断する限り、弦楽合奏向けの8分程の長さのアダージョと思われるが、それに対応すると思われるyoutubeの2分程度の長さを持つ音源を聴く限り、上掲記事にある「交響曲第9番の第4楽章を基礎にした別の曲」ではなく第3交響曲第6楽章のアダージョに基づく模倣にしか私には聞こえない。(以下に現時点でアクセスできるyoutubeのコンテンツのURLを再掲しておく。)

    Mahler Adagio Emmy David Cope (https://www.youtube.com/watch?v=oPcaGlaROjA) 

     この点について現時点で考えられる可能性としては、上掲記事が参照しているものと、現時点でyoutubeに公開されているもののいずれもが8分程ある長さの作品の一部ではあるけれども、作品中の異なった部分である可能性があるだろう。第3交響曲第6楽章と第9交響曲第4楽章のキメラと言えば人間には想像もつかないが、プログラムにとってはそうしたキメラの合成が難しくないことは、例えばホフスタッターが『ゲーデル・エッシャー・バッハ』の中で紹介している(邦訳 pp.596~7)人工知能による自動作曲のごく初期の成果、即ちマックス・マシューズが作成したプログラムが「ジョニーが凱旋するとき」と「イギリス擲弾兵」を入力として出力した「作品」等によって良く知られていることであろう。せめてアダージョのスコアが入手できれば確認ができるのだが、残念ながら既述のAmazonで購入可能なスコアのリストにはアダージョは含まれないので、ここでは推測に留める他ない。

     だがその点を措けば、局所的な素材だけとれば「そのまま」だけれども、全体としては如何にもAIが生成したらしい、みすぼらしい継ぎ接ぎにしか聞こえないという点や、にも関わらず、もし知らない人が聴けば本物との区別がつかない可能性を否定しない点も含めて、上掲記事の著者と私とは概ね似たような印象を受けたものと想像される。

     なお上掲記事では第10交響曲の別バージョンを機械に作らせたらというアイデアも披露されており、この点について既に私自身、後述の通り、過去に書いてWebで公開している幾つかの記事の中で、特にスタニスワフ・レムの「ビット文学の歴史」(『虚数』所収)を参照にしたりしつつ何度か取り上げていることもあって、大筋において首肯できるものがある。(但し上掲記事では、「横」=メロディー、「縦」=オーケストレーションとした上で、デリック・クックによる補筆完成の経緯を踏まえた説明が為されているが、ここでオーケストレーションという言葉で包括されているものの実質は、アドルノがマーラー・モノグラフ第2版の後書きに記した通り、寧ろ和声づけおよび対位法的な補完であることを指摘しておきたい。無論のこと管弦楽法についてもマーラーの断片的な指示に基づく補完作業が行われたのは事実だが、クックの補筆の寄与の最も大きい部分は垂直方向の和声と対位法の次元の補完であり、だからこそクック版とカーペンター版やホイーラー版といった他の補筆完成版との相違が顕著になるのがその次元なのだし、他方でアドルノ他の論者が第10交響曲の補筆完成を不可能と判断した理由も、まさに垂直方向の和声と対位法の次元の補完をマーラー本人以外が行うことを越権と見做したが故の筈なのである。)

     既述の通り、実は私自身、第10交響曲の人工知能による補筆の可能性について、過去の記事において何度か触れているのだが、その度に繰り返し、その結果に対して悲観的であることを記してきたのだった。一つだけ例を挙げるならば記事「第10交響曲への言及1件(アルフ・ガブリエルソン「強烈な音楽経験による情動」)」(https://gustav-mahler-yojibee.blogspot.com/2019/07/101.html)においては以下のように記したのであった。 

    (…)今日の展望からすれば、例えば第10交響曲の補筆をAIにやらせたらどうなるのか、というような問いを立てることができるだろう。かつてスタニスワフ・レムは「ビット文学の歴史」において、ドストエフスキーの翻訳をしていたコンピュータが、空き時間を使って、「未成年」と「カラマーゾフの兄弟」の間を埋める「ありえたかも知れない」作品を産み出すといった状況を提示してみせた。加えて、カフカの「城」の未完成部分の補完には失敗したという「オチ」さえ用意しているのだが、それらに比べれば、ほぼ完成した第1楽章があって、その他の楽章も粗密はあっても水平的には最後までドラフトが遺された作品の補完作業は遥かに可能性が高そうに見えるかも知れない。おまけに今なら、クック以外にも存在し、かつますます増え続けているかに見える様々な補完のヴァリアントを機械学習の素材とできるわけである。既に機械学習技術が、バッハのコラールもどきを人間を騙せる程度にまで自動生成できるのであれば、遥かに長大で複雑な作品であっても、様々な補完作業の良いとこ取りなら技術的に不可能とは言えないだろう。完成された部分は遥かに多くても、フィナーレのコーダが全く欠落し、かつフィナーレのための試行錯誤に費やされた余りに長い時間故に、先行する3楽章との間に様式のギャップが生じてしまっているかに見えるブルックナーの第9交響曲に比べても、有利な条件は揃っていそうではないか。

     だが、現状の機械学習の能力を前提にする限り、その試みは大して興味の持てる結果をもたらさないであろうことは、予め決まっているのだ。それは、最大限に成功して、極めて巧妙な折衷に過ぎないのだ。もしかしたら、過去のマーラーの作品の側により引き摺られた結果が得られる可能性はあるだろうが、マーラーその人が切り開きつつあった「未来」の方向に踏み出した結果が得られることは、原理的に言ってあり得ない。マーラー以降の様々な傑作をサンプルとして与えたところで、それはマーラーの「ありえたかも知れない未来」とは無縁のものであり続けるのは明らかなことだ。古典派以前の、作曲家が音楽職人であり、消費財としての作品を、固定化されたパターンを再利用して、コピーするようにして生産する時代であれば事情は異なるだろうが、(今は価値の優劣は一先ず措くとして)マーラーのように一作、一作毎に発展し続けた作曲家においては最後の作品が目指していた「未来」が含み持つ、未聞の「新しさ」の理解抜きに補筆はあり得ない。そして「新しさ」と「例外」の区別は、つまるところ創造性は、少なくともシンギュラリティの手前の現時点では未だに「人間」のものであるようだ。レムの「ゴーレムXIV」におけるゴーレムやオネスト・アニーの「旅立ち」は未だ暫らく先のことだし、有性生殖と有限の寿命といった生物学的な拘束条件を持たない彼らにとっては、そもそも第10交響曲の「遠く」など全く無縁のものだろう。(…)

     だがEMIによる作品リストを眺めた時に、そういう試みがなされているかを実際にはきちんと調べたことがないことにはたと気付いて調べてみると、豈図らんや、以下のような記事に行き当たった。まずはAFPの2019年9月の記事。

    AIがクラシックの巨匠と肩を並べた? マーラー未完の曲を「完成」2019年9月10日 14:34 発信地:リンツ/オーストリア(https://www.afpbb.com/articles/-/3243774)

    日本語で読める記事としては、音楽之友社のサイトの類家利直さん執筆の以下の取材記事が確認できた。

    メディア・アートの祭典「Ars Electronica2019」レポート:AIが学習し、再現するブルックナー、マーラー、グレン・グールドたちを観る(https://ontomo-mag.com/article/report/arselectronica2019-20191211/)

    Ars Electronicaと言えば、メディアアートの世界的なイベントとして有名で、本ブログの姉妹ブログで紹介している三輪眞弘さんが2007年にデジタルミュージック部門の最高賞であるゴールデン・ニカ賞を受賞していることもあって、決して疎遠な世界ではないのだが、よりによって2年前の2019年のArs Electronicaでこのようなことが行われていたことにようやく気づき、汗顔の至りである。これもまた本来ならば気づいてすぐに紹介すべきところ、デイヴィッド・コープのマーラー作品の模倣の紹介ともども多忙に紛れて1ヵ月以上が経過してしまった。

    いずれについても備忘がわりの覚え書で済ませるような内容ではなく、そもそもが上に自己引用した私の見解を検証する格好の素材なのだから、機会があればいずれ改めて取り上げたいが、現時点では調べた限り、演奏の断片的な映像を除けば、人工知能が補作した作品を聴いて確かめることはできないようでもあり、最後にArs Electronica自体の紹介ページ(英語)とブログ記事(ドイツ語)へのリンクを紹介して覚え書を一旦終えることで当座の責めを塞ぐこととしたい。

    Mahler-Unfinished(https://ars.electronica.art/futurelab/de/projects-mahler-unfinished/

    Mahler-Unfinished : Wenn Mensch und Maschine Musik machen

    https://ars.electronica.art/aeblog/de/2019/09/02/mahler-unfinished/

    [付記]本稿の内容とは直接関係ないが、『人工知能が音楽を創る』における創造性についての議論の中で非常に気になる記述があるので、備忘のためにここで指摘をしておきたい。以下に引用する記述は第2章背景の先行研究の節の冒頭の部分である。

    「創造性研究の歴史はたいてい上下二院制(原文では点による強調)の精神から始まる。上下二院制の精神とは、我々の精神は2つの部屋から成るという初期ギリシア時代の概念である。一方の部屋は、ムーサの神々を通して創造の神によってもたらされる新しいひらめきを創り出す部屋と考えられた。ムーサの神々とは叙事詩のカリオペ―、歴史のクレイオ、愛詩(原文ママ)エラト、音楽と抒情詩のエウテルペ、悲劇のメルポメネ、神々への讃歌のポリヒュムニア、舞踏のテルプシコレ、喜劇のタレイア、天文のウラニアの9人の女神を指す。彼女らは超自然的イノベーションを起こし、それをもう一方の受動的な精神の部屋に注入する。面白いことに、プラトンはこの新しいひらめきを創り出す部屋を狂気の源として、つまり高度な創造性は狂気と表裏一体であると考えていた。しかしアリストテレスは、連想説(原文では点による強調)として知られるプロセスをもって上下二院制の考え方に反対した。一般に、連想説は、創造的な思考を無意識あるいは潜在意識化の連想として特徴づけるものである。アリストテレスの見方では、思考とアイデアの結びつき、イメージと経験の結びつき、原理と方式の結びつきから類推が導かれ、それがさらに創造的な思考法を生みだすとされている。」(邦訳pp.45-46)

    そして連想説に関する考察の参考文献として、John S. Dency & Kathleen H. Lennon, Understanding Creativity, San Francisco, Jossey Bass, 1998のpp.15-41を示しているのだが、上記の記述は、本ブログの記事でも何度となく参照してきたジュリアン・ジェインズの<二分心>(bicameral mind:二院制の心)の仮説を想起させずにはおかない。但し、ジェインズの仮説はあくまでも近年の心理学や脳科学の知見と言語学・考古学的な傍証に基づいた、神の住まう部屋が右脳、それを受け取るのが左脳であるとするジェインズ自身の仮説であるのに対して、ここでは初期ギリシアにそういう概念があったと述べられている点が異なる。(ちなみにジェインズは、そういう概念が初期ギリシアにあったというように述べてはいない。)連想説についての文献は掲げられているが、上下二院制の精神に関する参考文献の指示はないこともあり、どこまで追跡できるかはわからないし、この点がコープの創造性についての主張と直接関係を持つわけでないが、機会があれば更に調べてみたい。

    [付記その2] John S. Dency & Kathleen H. Lennon, Understanding Creativity, San Francisco, Jossey Bass, 1998を取り寄せて確認したところ、第2章 A brief history of the concept of creativityの最初の節(p.16)の見出しがずばり The Bicameral Mind であり、それがジュリアン・ジェインズの命名であること、学術的な仕方でこの見方を取り上げたのがジェインズが最初であることが明記されているのを確認できた。詳細については別途報告するが、取り急ぎ現時点で確認できたことを報告しておくことにする。

    (2022.4.10暫定版公開, 4.11付記を追加, 4.13付記その2を追加, 4.24作品リストなど追加。5.9 作品のタイトルについてのコメントおよびyoutubeで聴けるサンプルの情報を追記。5.14,16 「模倣」に関する箇所に対して参照文献についての情報を付記した上で補筆)

    MIDIファイルを入力とした分析:データから見たマーラーの作品 補遺(3):歌曲の分析

     Webで公開されているマーラー作品のMIDIデータを用いたデータ分析については、和音の出現頻度にフォーカスした分析を行った結果を、昨年末に記事「MIDIファイルを入力とした分析:データから見たマーラーの作品 和声出現頻度の分析のまとめ」にて要約したが、これまでの分析は、Webからダンロードして利用可能なマーラー作品のMIDIファイルのデータのうち、「大地の歌」と第10交響曲のクック版を含む全交響曲の各楽章のデータ1種類か、分析によってはそれに一部の歌曲のデータを加えたものに限定していた。

     その理由は主として分析における技術的な問題で、元々DTMの一環として、MIDIシーケンサソフトを使って手入力されたか、MIDIキーボードを用いた演奏をMIDIファイル化したもので、ここで行われているような分析目的で作成されたわけではなく、再生して楽しむために作成されたものであるため、楽譜の情報に忠実に作成されているとは限らず(入力ミスやミスタッチもあるが、自然に聞こえることを重視した結果として、必ずしも譜面通りになっていない場合があることにも留意すべきだろう)、もっと言えば元にした楽譜のエディションも不明なので(あくまでも分析の目的に照らしてだが、)信頼できる楽譜に基づいているかどうかもわからない。結果として同一曲・同一楽章の異なるMIDIファイルから抽出した分析対象となる情報にはかなりのばらつきが生じることになり、特に各拍で鳴っている和音を抽出しようとすると、MIDIキーボードの演奏に基づくファイルのデータの場合、しばしば分析対象としての適切さについて疑念が生じるような事態に繰り返し遭遇した。そのため、分析を進める上での方針として、任意の抜き取り調査のようなものを行って、再生結果の音響としての出来は問わず、比較的楽譜に忠実に入力していると判断できる作成者を同定し、その作成者のデータで可能な限り被覆率を上げるようなMIDIファイルの選択を行った。

     ところが歌曲の場合には、被覆率が最も高いサイトの楽譜への忠実さの観点での評価が低かったため、分析対象として採用の判断を下せたファイルが少なくなってしまい、結果としてこれまでは交響曲中心の分析となってしまっていた。だが分析対象から除外したファイルについても、上記の被覆率が最も高いサイトのファイルの場合、拍の始まりがごく僅かに拍頭からずれていて、かつそのずれ方が多くの場合に概ね規則的である(従って、再生された音を人間が聴く分には、明確にずれとして認識されるわけではない)ケースが多く見られることがわかった。そこで一通りの分析を終えたこのタイミングで、そうしたファイルについてはMIDIファイルから抽出した未加工の音符の情報に対して、ずれをなくす補正を行った上で分析の対象とすることとして、歌曲のみを対象とした分析を行うことにした。今回の分析の対象となったMIDIファイルは、マーラーの歌曲のもので、かつ2つの連作歌曲集(「さすらう若者の歌」と「子供の死の歌」)およびリュッケルト歌曲集(マーラー自身による管弦楽伴奏版のない「美しさゆえに愛するなら」も含めた5曲を含むものとする)については、曲集に含まれる全ての歌が揃ってMIDI化されているもののみを対象とすることにして、単独の曲のみが偶発的にMIDI化されているものは除外した。リュッケルト歌曲集を連作歌曲集と同列に置くのには異論があるかも知れない。演奏される順序が固定されているわけではなく、従って調的な設計が明瞭というわけでもなく、また一部のみを選択して演奏することもしばしば行われていることを考えれば連作歌曲集と同じ水準に置くには無理があるが、「子供の魔法の角笛」による歌曲やそれに先行する初期の歌曲に比べたとき、そのコヒーレンスの高さは歴然としていると考えられる。他方で「子供の魔法の角笛」による歌曲は、それを歌曲集として捉えようとすると、そもそも外延に揺れがあることを無視することができない。管弦楽伴奏の有無もそうだし、何よりも独立した歌曲でありながら交響曲の一楽章でもあるという、マーラーならではのユニークな状況があって、それらを含めるかどうかについての一致した認識があるようには思えない。そこでこちらについては基本的には個々の歌曲単位で扱うこととした。「大地の歌」もまた、交響曲でありながら連作歌曲集の性格も備えているという点でマーラーならではの両義性を帯びているが、よく知られているようにマーラー自身がある段階まではピアノ伴奏版を考えていたこともあり、管弦楽伴奏の連作歌曲集と同列に置いても不自然ではないことから、交響曲の分析の対象でもあったが、ここでは歌曲として分析対象に含めることにした。

     以下に今回分析対象とする歌曲のMIDIファイルを示すとともに、取得元サイトとそのURL、更にデータの補正処理の対象となるファイルを示した。(同一のものが、ダウンロード可能なアーカイブ中にも含まれるので、そちらも参照されたい。)背景色が黄色ないし象牙色のものが今回分析の対象であり、象牙色のものはデータの補正処理を行った結果を分析の入力としたことを示している。


    1.アーカイブファイルの内容

    公開済アーカイブファイル gm2_lieder_A_seq.zip には以下のファイルが含まれる。
    • gm2_lieder_A_seq.csv:ファイル(=曲)単位の出現頻度集計結果(和音パターン番号順)
    • cfrq_lieder.pdf:作品毎・出現頻度順の平均累計出現頻度の集計結果(以下の2.A.1)
    • cfrq_lieder_all.pdf:MIDIファイルの異稿単位・出現頻度順の平均出現頻度の集計結果(以下の2.B.1)
    • lieder_cfrq.pdf:作品毎・和音パターン番号順の平均累計出現頻度の集計結果(以下の2.A.2)
    • lieder_cfrq_all.pdf:MIDIファイルの異稿単位・和音パターン番号順の平均出現頻度の集計結果(以下の2.B.2)
    • lieder_MidiFileName.pdf:分析対象のMIDIファイルの情報

    2.集計結果概要

    A.作品毎の平均累計和音出現頻度

    A.1.作品毎の出現頻度順



    A.2.作品毎の和音パターン番号順



    B.MIDIファイルの異稿単位の累計和音出現頻度

    B.1.MIDIファイルの異稿単位の出現頻度順







    B.2.MIDIファイルの異稿単位の和音パターン番号順




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

    (2022.5.16公開)