音楽制作ソフトウェアとして絶大な人気を誇っているAbleton Live用のツールのご紹介です. Ableton Liveは、ドラム、ベース、メロディーといったさまざまなループを組み合わせることで楽曲を作っていくという、ダンスミュージック向けのソフトウェアです.
当然、どのループを組み合わせるかが作曲の肝になるわけですが、ループの数が多くなればなるほど、可能な組み合わせは爆発的に増えていきます。この膨大な可能性を、進化のシミューレションをもとに探索しようというツールです。今回は珍しくDeep Learningではないプロジェクトですね.
ご存知のように進化は、特定の意図や目的をもって起こるわけではなく、たまたま突然変異などで生まれた遺伝子が環境の中でうまく立ち回る(=子孫を残すことに成功する)ことで、結果的に起きるわけです。同様に、ループの組わせ方の情報を遺伝子とみなして、かっこいい音楽が生まれる「遺伝子」を残していく、というかたちで、人手では調べきれない組み合わせの可能性を探っていくことができます。
ここで問題になるのは、「かっこいい音楽」をどう定義するかということです。通常こういった進化のシミュレーションによる最適化手法 (進化計算 Evolutionary Computation)の場合、環境への「適合度」を定量的に算出するための関数(fitness function)を定義する必要がありますが、かっこいい音楽かどうかを定量的に算出するのは難しいですよね。そこでここではNovelty Searchと呼ばれる考え方を応用しています。 Novelty Searchは、適合度を計算してより「良い」ものを探す代わりに、とにかく「新しさ」(Novelty)を追求するという考え方です。組み合わせの新しさであれば、より簡単に定義できます。
問題が複雑で解が複数・無限にあるような場合には、新しさを追求(=まだ探索していない領域を探索)したほうが結果的に早く答えに到達できるという、目からウロコの考え方です. イノベーション一般にも応用できる考え方なので、Novelty Searchの提唱者の講演を聞いてみてください。
もうひとつ驚いたのは、pyliveというPythonでAbletonを操作する環境が整っていること。Abletonが、音楽開発環境として有名なMaxの開発元を買収したという話もあります。今後、統合的な音楽制作環境として、Ableton Live自体の進化も楽しみですね!