ディープラーニングマシンはバッハを聴き、同じスタイルで独自の音楽を書きます

ヨハン・セバスチャン・バッハは、バロック音楽の偉大な作曲家の1人と広く見なされています。バッハは18世紀にドイツに住み、働き、彼の作曲の美しさと調和と対位法の技術的習得で尊敬されています。





バッハが優れた音楽の1つの形式は、コラールカンタータとして知られる一種のポリフォニック賛美歌でした。これらはルター派のテキストに基づいており、4つの声で歌われています。作曲家は、ソプラノが歌う有名な曲から始めて、アルト、テノール、バスの声が歌う3つのハーモニーを作曲します。バッハは300以上の短いコラール曲を書きました。

これらの構成は、それらを生成するプロセスが段階的でアルゴリズム的であるため、コンピューター科学者を魅了しました。しかし、ハーモニーとメロディーの微妙な相互作用のために、これをうまく行うことも難しいです。それは興味深い質問を提起します:マシンはバッハと同じスタイルで合唱を作成できますか?

今日は、パリのソニーコンピュータサイエンス研究所でのGaetanHadjeresとFrancoisPachetの仕事に感謝します。これらの人々は、バッハのスタイルで合唱カンタータを生成することを学んだニューラルネットワークを開発しました。彼らは自分たちのマシンをDeepBachと呼んでいます(AI Songsmith Cranks Out Surprisingly Catchy Tunesも参照してください)。



ヨハン・ゼバスティアン・バッハによってコラールの調和について訓練された後、私たちのモデルは、バッハのスタイルで非常に説得力のあるコラールを生成することができます、とハジェレスとパシェは言います。実際、約半分の時間、これらの作曲は人間の専門家をだまして、実際にバッハによって書かれたものだと思い込ませます。

機械学習の手法は簡単です。 HadjeresとPachetは、ニューラルネットワークをトレーニングするためのデータセットを作成することから始めます。それらは、バッハによって作曲された352のコラールで始まり、次にこれらを事前定義された声域内にある他のキーに置き換えて、2,503のコラールのデータセットを提供します。彼らはこれらの80%を使用してニューラルネットワークをトレーニングし、バッハの調和を認識し、残りを検証します。

その後、マシンはバッハのスタイルで独自のハーモニーを生み出します。チームはデバイスにメロディーを付けてテストし、それを使用して他の3つの声、アルト、テノール、ベースのハーモニーを生成します。



他のアルゴリズムによるアプローチでもこれを行うことができますが、重要な問題は、それらすべてがバッハの作品とどれだけよく比較できるかということです。調べるために、チームは1,600人以上の人々に同じメロディーの2つの異なるハーモニーを聞くように依頼しました。 400人以上がプロのミュージシャンや音楽学生でした。それぞれが、2つのハーモニーのどちらがバッハのように聞こえるかを判断する必要がありました。チームはまた、このテストに他のアルゴリズムによって生成された調和を含めました。

結果は興味深い読み物になります。 DeepBachによって生成されたハーモニーが与えられたとき、有権者の約半数がそれがBachによって作曲されたと判断しました。これは、他のアルゴリズムで生成された音楽よりも大幅に高くなります。ハジェレスとパシェは、バッハの作曲の複雑さを知っているので、これは良いスコアだと考えています。

バッハ自身が作曲した音楽に直面したときでさえ、参加者は75パーセントの確率でそれを正しく判断しただけでした。



それは魅力的な意味を持つ興味深い作品です。ディープラーニングマシンがバッハのスタイルで合唱を生成することが可能であるなら、他の作曲家のスタイル、そしておそらく他のスタイルの音楽でもそうしないのはなぜですか?

それは、構成を分析し、創造性の性質を研究するための興味深い方法を提供する可能性があります。この方法は、バッハのコラールに適用できるだけでなく、パレストリーナからテイク6まで、ハジェレスとパシェによると、幅広いポリフォニックコラール音楽を取り入れています。

多くの場合、それは口で言うほど簡単ではありません。バッハのコラールは高度に構造化されており、その多くは非常に多くありますが、特定の規則に従って構成されています。他の形式の音楽は必ずしもそのように編成されているわけではありません。



それにもかかわらず、ソニーのラボや他の場所からの深層学習マシンは、評判の良い音楽を生み出し始めています。これらの機械が、交響曲やオペラなどのより野心的な作品をすぐに取り入れ始めても、当然のことです。バッハはきっと驚いたでしょう!

参照: arxiv.org/abs/1612.01010 :DeepBach:バッハコラール生成のための操作可能なモデル

隠れる