藤本健のDigital Audio Laboratory

第976回

イケてるメロディを作れ! AIミュージックバトル「弁財天」に行ってみた

2月25日、日本大学の文理学部キャンパスで、AIミュージックバトル「弁財天」なるユニークなイベントが開催された。参加者が開発したAIのプログラムを使い、お題を元に5分以内に自動作曲させたメロディーの良さを競い合うものだ。

大会には、学生、エンジニア、サンデープログラマーなど、全8チームが参加。1対1で対戦を行ない、トーナメント方式で勝ち抜いて優勝を決める内容だが、どちらのメロディーがいいかを判断するのは、会場に来ている人々、そしてZoomを使ってオンライン参加している人達だ。どんなメロディーが生まれるのか、予想もせずに現地へ行ってみたところ、なかなかのレベルのメロディーができていて驚いた。イベントの概要と合わせ、生まれたメロディーも紹介したい。

AIミュージックバトル!『弁財天』

メロディをAI生成して、どれだけイケてるかを競う「弁財天」

半年ほど前、ミュージシャンである指ヨシキさんから、「AIアドリブバトルである『弁財天』というイベントを行なうので、取材に来てみませんか?」と誘われたのが、筆者がこのイベントを知ったキッカケ。

音楽好きなAIプログラマ向けのイベントで、日本大学・文理学部情報科学科の北原鉄朗教授の協力の元、日本大学のキャンパスでリアル開催すると同時にオンライン配信もすることになった、とのこと。現地に行ってみたところ、競技参加者を中心に、30名近くが集まっていた。またZoomでも200名近くが参加するなど、結構な規模のイベントになっていた。

会場となった日本大学の文理学部キャンパス
会場の様子

主催は「Music×Analytics Meetup」という音楽好きなデータサイエンティスト有志で運営する勉強会兼交流会。現在、そのメンバーは1,000人を超える規模となっていて、「音楽×データ分析」に興味を持つプロやアマが集まっているようだ。

イベント司会を担当したのが、前述の北原教授と、Music×Analytics Meetupの管理人の一人である冨山吉孝さんだ。イベント開始前に話を聞いた。

――イベント・弁財天は、どのような目的で開催されることになったのでしょうか?

冨山氏(以下敬称略):これは、Music×Analytics Meetupにおけるリアルイベントの特別版です。Music×Analytics Meetupは、2020年1月にスタートした勉強会で、データサイエンスの分野の方で音楽好きな人が集まって行なっています。大手企業でAIエンジニアとして働いている方や、ベンチャー企業でAIをやっている方など、仕事でAIに取り組んでいる方が多いですが、その傍らで音楽活動をしていたり、趣味でバンドをやっていたり、中にはプロに近いギタリストもいらっしゃって、多種多様な方々に集まっていただいています。

Music×Analytics Meetup
冨山吉孝さん

冨山:Music×Analytics Meetupはリアルで開催したいたのですが、コロナ禍に入ってしまってからはずっとZoom開催が続いていました。今回は10回目の勉強会で特別編として、初回以来のリアルイベントとオンラインを組み合わせて開催することにしました。

イベント名の“弁財天”という名前は、なんとなく音楽、芸術の神様の名前を付けたいという思いと、BENZ“AI”TENとAIが入っているのもあって、決めました。

北原:Twitterで、Music×Analytics Meetupの実況されていたのを見て、「こんな面白い勉強会があるのか」と知ったのが最初ですね。私の研究にもドはまりですし、ぜひ一度トークさせてください、とお願いして、昨年6月の勉強会でトークさせてもらいました。

Music×Analytics Meetupでの雑談の中で、「AI作曲でバトルさせたら面白いのではないか?」という話になりまして。せっかくであれば、リアルで大音量で流しながら、勝者を決めたら面白そうだと。それであれば、ウチの大学のこのスペースが使えるだろうと、イベントを具体化していきました。

日本大学・文理学部情報科学科 北原鉄朗教授

――今回のイベントには、どのような方が参加しているのですか?

冨山:Music×Analytics Meetupに一度でも参加したことのある方、全員に声をかけました。AI作曲を体験するイベントなので、比較的ライトな層にも声掛けしています。

北原:とはいえ、いきなり自動作曲のコンテストを開催するといっても、どれだけの参加者が集まるかわかりません。そこで、こちらでサンプルプログラムを用意し、まずは最低限、このプログラムを使うだけでも参加できるようにしました。これを参考にしながら改良する形でプログラムしてもらってもいいですし、もちろんゼロから作ってもらってOKです。

その結果、15人(チーム)が出場意思を示し、Web上で予選を開催。実際に作ったメロディーを皆が聴けるようにして、投票を経て上位8チームを選出し、ついに今日リアルでバトルすることになったわけです。うち2チームは、私の学生が参加しています。

参加者の皆さん

――バトルのルールを教えてください。

冨山:弁財天では、伴奏からアドリブメロディをAIで生成し、どれだけイケているメロディーであるか? を競います。8チームがトーナメントで当たっていくので、毎回2つのチームがバトる形になるわけです。その場で伴奏ファイルがサーバーにアップされる形で渡されるので、それをプログラムに入力し、競技者が実行します。

8チームによるトーナメント戦

冨山:この際渡されるのは、伴奏のMIDIデータとコード進行のテキストデータ、それにキーのテキストデータの3点です。キーはCメジャーかAマイナーのいずれか、としています。

競技者はこれでメロディーとなるMIDIデータを生成の上、5分以内にサーバーにアップロードする形で提出します。その5分の時間内であれば複数生成して、自分で一番いいものを選んで提出することも可能です。ただし、プログラムが生成したデータに人が手を加えてはいけません。

――サンプルとして上がっている伴奏データのMP3を聴くと、かなり本格的に作られた曲のようですね。

北原:プロのミュージシャンである指ヨシキさんに協力いただき、バトルで使われるものも全てオリジナルで作っていただいています。伴奏の長さは前奏2小節+メイン8小節+エンディング1小節の計11小節。

競技者に渡されるのは、GM準拠のMIDIデータですが、ステージ上で演奏される伴奏は、指ヨシキさんがソフトウェア音源などで作り込んだものです。

一方、競技者が提出したMIDIデータはオルガン音源で演奏されるとともに、指ヨシキさん側で伴奏とミックスして再生されます。この際、メロディーは単音旋律限定であり和音はNG。また、前奏部分およびエンディング部分にメロディーが追加されることは禁止しない形にしました。

ミュージシャン・指ヨシキさん

冨山:2チームそれぞれの作品を聴いた上で、どちらがよかったかを参加者全員でスマホから投票し、即集計する形で勝者を決めます。5分ですべてを行なう必要があるので、手際よく操作していく必要がありますが、ぜひどんな結果になるか、ご覧いただければと思います

8チームがいざバトル。各チームのプログラム解説も実施

というわけで、実際に会場で見ていたのだが、その様子をZoom用に捉えていた映像をいただいた。これが、その時の1回戦・Aブロック。yatszhashさん vs log5さんの戦いの様子だ。

弁財天 1回戦・Aブロック

御覧いただくと分かる通り、北原教授と冨山さんが面白おかしく司会進行しながらも、論理的に楽曲分析していくところも興味深い。筆者も投票に参加したが、あくまでも直感的にどちらがいいかを判断するので、意見が分かれる場合も多かった。

ちなみに、お題となったロック調の楽曲。配布されたコード進行はCSVファイルで渡されているのだが、それを表で表したのが下記のもの。

「小節番号、拍番号、ルート、種類、ベース」と並んでいて、2拍ごと進行していく形。普通のCからスタートしているけれど、Fm/Abといったものもあるなど、それなりに複雑な展開をしている中、それに見合ったメロディーを作り出している。

せっかくなので、それぞれのバトル(計7対戦)において、どんな楽曲が作り出されたのか、1回戦・Aブロックを含め、すべてMP3データとして提供いただいたので、聴いてみると面白い。

【楽曲】
Battle1_先攻_yatszhash.mp3(0.53MB) 560,191Byte
Battle1_後攻_log5.mp3(0.53MB) 560,191Byte
Battle2_先攻_チーム予定把握能力0.mp3(0.52MB) 540,756Byte
Battle2_後攻_nayopu.mp3(0.52MB) 540,756Byte
Battle3_先攻_AJI.mp3(0.52MB) 540,756Byte
Battle3_後攻_Masahiro Yoshida.mp3(0.52MB) 540,756Byte
Battle4_先攻_konumaru.mp3(0.90MB) 941,370Byte
Battle4_後攻_でこぼこふれんず.mp3(0.90MB) 941,370Byte
Battle5_先攻_log5.mp3(0.69MB) 718,807Byte
Battle5_後攻_nayopu.mp3(0.69MB) 718,807Byte
Battle6_先攻_Masahiro Yoshida.mp3(0.65MB) 686,206Byte
Battle6_後攻_でこぼこふれんず.mp3(0.65MB) 686,206Byte
Battle7_先攻_log5.mp3(0.76MB) 794,039Byte
Battle7_後攻_でこぼこふれんず.mp3(0.76MB) 794,039Byte

※編集部注:編集部ではファイル再生の保証はいたしかねます。
再生環境についての個別のご質問にはお答えいたしかねますのでご了承下さい

最終的には、先ほどのビデオにも登場したlog5さんが優勝となったのだが、どれも接戦だったように感じた。

log5さん

1回戦であるBattle4が終了したところで、チームごとのプログラム解説が行われたのも、勉強会イベントならではのところ。

少しだけ紹介すると、優勝したlog5さんの場合、モデル学習自体は、サンプルをそのまま学習していて、それほどパワーをかけていないという。その分、補正処理に99%の力を傾けたと語っていたが、その補正処理とは「守り」と「攻め」の2つの補正を行なったという。

「守り」の補正
「攻め」の補正

守りの補正は「この位置にこの音を置いてほしくない」というもので、例えば「Cmaj7のコードのときにBbは置きたくない」ので、それが出てしまったときは「最も近くのコード構成音に退避させるようにした」とのこと。

ただし完全にそうしてしまうと、自由度が減るため、「構成音と半音ズレた場合は±1する」ようにして、でもたまには制限を解除するなど、あいまいな点も残したそうだ。

一方、攻めの補正では、ディープラーニングで導き出したメロディーとは別に、「その場所には普通こういう音を置くのでは…」という提案を行なう形で、わずかに補正しているという。さらにMIDIオブジェクトに対する補正ということでピッチベンドを入れたり、そのピッチベンドカーブもうまく調整するなど、いい感じにしているという。そうした補正が功を奏して優勝にたどり着いたようだ。

でこぼこふれんず

2位となったのは、北原教授の学生チーム「でこぼこふれんず」。こちらはGoogleによる人工知能によって音楽・芸術・映像などを生成する新しいプロジェクト「magenta」を使用してプログラムしている。

基本方針

ここではコード情報を詳細にして渡しており、オンベースの音もしっかり追加することで、いい感じの音を返してくれているようだ、とのこと。一方、後処理として1オクターブ上げたり、装飾音符をつけたり、オルガンなので、最後にグリッサンドを入れるといった工夫もしている。

2回戦で敗退してしまったが、プログラム手法として、多くの参加者から驚かれたのがnayopuさんの解法だ。

nayopuさん

北原教授のサンプルプログラムも含め、ほぼ全員がMIDIデータを学習し、それを元にメロディーを生成していたのに対し、nayopuさんはDALL-Eの画像生成サイトにコード進行を渡して、楽譜画像を作らせるというユニークな手法をとっていた。

これによって「なんかそれっぽい楽譜が生成される」という。1小節ずつ作っていくが、かなりノイジーな画像が生成されることもあるので、Audiverisという楽曲読み取りのOCRソフトを使って読み取る。さらにそれをMusicXMLで出力した後、ピアノロール展開して、クォンタイズしてMIDI出力しているのだとか。そんなことが可能なのか、とても不思議にも思うが、実際やってのけているのが面白いところだった。

冨山さんによると、今後もこうしたイベントを開催していきたいという。興味ある方は、誰でも無料で参加できるので、「Music×Analytics Meetup」のメンバーになってみてはいかがだろうか?

藤本健

リクルートに15年勤務した後、2004年に有限会社フラクタル・デザインを設立。リクルート在籍時代からMIDI、オーディオ、レコーディング関連の記事を中心に執筆している。以前にはシーケンスソフトの開発やMIDIインターフェイス、パソコン用音源の開発に携わったこともあるため、現在でも、システム周りの知識は深い。 著書に「コンプリートDTMガイドブック」(リットーミュージック)、「できる初音ミク&鏡音リン・レン 」(インプレスジャパン)、「MASTER OF SONAR」(BNN新社)などがある。またブログ型ニュースサイトDTMステーションを運営するほか、All AboutではDTM・デジタルレコーディング担当ガイドも務めている。Twitterは@kenfujimoto