×
メモ

ニューラルネットワークを利用して音楽を作曲する試み

by Spencer Imbrock

再帰型ニューラルネットワークの一種・LSTM(Long short-term memory)を用いた音楽ジェネレーターが、実際にいろいろなピアノ楽曲や室内楽を作曲しています。

Generating Classical Music with Neural Networks - FloydHub Blog
https://blog.floydhub.com/generating-classical-music-with-neural-networks/


Clara: A Neural Net Music Generator – Christine Payne
http://christinemcleavey.com/clara-a-neural-net-music-generator/

この音楽ジェネレーター「Clara(クララ)」は、人工知能研究の非営利団体・OpenAIの調査フェローでありジュリアード音楽院出身のピアニストでもあるクリスティーン・マクリーベイ・ペインさんが生み出したもの。名前は作曲家ロベルト・シューマンの妻で19世紀の著名な女性ピアニストであるクララ・シューマンに敬意を表してつけたとのこと。

クリスティーンさんの発想は「言語を生成するのと同じ方法で音楽を生成できる」というものです。言語モデルのトレーニングにおいて、研究者はニューラルネットワークにパラグラフを送り、その次の単語を予測させます。難しいのは、言語でいうと言葉、音楽でいうと音符をいかにモデルに送ることができる形に変換するかというところ。

クリスティーンさんはクラシック・アーカイブス内のピアノや室内楽を中心としたMIDIファイルから、MITのmusic21ライブラリを用いて、楽譜内の音符とそのタイミングオフセット(どこで鳴らすか・どれぐらい鳴らすか)という情報を取得。その情報を自分自身のコード規則・音符規則に則った形に変換していきました。ただし、音楽はずっと音を鳴らし続けるわけではなく、次の音を出すまでの「休み」が存在します。クリスティーンさんによれば、1曲の中でおよそ4割はこの「休み」にあたるとのことで、この点もニューラルネットワークに学習させました。

また、トレーニングは88鍵あるピアノの鍵盤のうち、ほとんど使われることがない鍵を外した62鍵の範囲で実施されました。データセット中でこの外された部分の音符は3つしか出てこなかったとのこと。そして、一般的な音楽ジェネレーターでは同時に配置する音符を4つまでと制限して作曲する事例が多い中、クリスティーンさんはクララには制限をかけませんでした。

実際にクララが作曲した曲が公開されていますが、人が作曲したものと混ぜられたときに聞き分けることはかなり難しそう。これは「Notewise Generation」という曲。


こちらは「Jazz Piano Notewise Generation」。名前の通り、ジャズ風です。


「Chamber Music Generation」はピアノとヴァイオリンで室内楽風。


「Chordwise (reproduced an actual Mozart piece)」は、モーツァルトのソナタを再現させたもの。


「クララ」のコードはGitHubで公開されています。

GitHub - mcleavey/musical-neural-net: Train an LSTM to generate piano or violin/piano music.
https://github.com/mcleavey/musical-neural-net

・関連記事
機械学習でコンピューターが音楽を理解することが容易ではない理由 - GIGAZINE

「バッハっぽさとは何か?」をAIに理解させることを可能にする330曲・100万音分のデータセットが公開される - GIGAZINE

ジャズを自動作曲する人工知能「deepjazz」、AIが作ったジャズはこんな感じ - GIGAZINE

世界初の人工知能が作ったポップソング「Daddy’s Car」と「Mr Shadow」がYouTubeで公開中 - GIGAZINE

インストール不要・誰でも無料で打ち込み音楽をブラウザ上で簡単に作曲できるGoogle「Song Maker」 - GIGAZINE

メッセージを暗号化して「音」の一つ一つに置き換える遊びが大作曲家たちによって行われていた - GIGAZINE

ゲームに欠かせないBGMを作るゲーム音楽作曲家とは一体どんな仕事なのか? - GIGAZINE

in メモ, Posted by logc_nt