NEWS

HOME

NEWS

第1回 活動報告書 プログラム・AI班

2021 . 2 . 27

第1回 活動報告書 プログラム・AI班

プログラム班はここまで試作機のプログラム作成、ロボットのモデリングを行ってきました。

試作機のプログラム作成

まず、PV撮影用に試作機のプログラムを作りました。システムの構成にはRobot Operating System(ROS)を用いています。システムは以下のようになっています。

以上のシステムを使って試作機を動かしたところ、次の問題点が浮かび上がりました。

これらの反省点を踏まえ、初号機ではシステムを次のように変更することにしました。

ロボットのモデリング

現在Move It!による逆運動問題を進めています。ロボットのモデリングは終了しているため、Move It!の利用練習をしています。以下の写真はモデリングしたロボットになります。(今はまだダサいですがこれから調整していく予定です!笑)

AI側の最終目標

の2つです。

とりあえずデータが無いと始まらないので、まずはセットリストのデータ集めを行いました。1001tracklists という大量のセットリストが記録された素晴らしいサイトがあるので、ここから情報を集めてデータセットを作ります。

ここで得られる情報は

などです。

かなりの数のセットリストが得られそうなので、CSVでまとめたりすると後々作業効率の低下を招きそうです。今回はとりあえずSQLiteで保存することにしました。

上記の情報を取得・保存して、流れた順番に曲名を記録したらセットリストが一つできあがりです。

データベース

データベースは

の3つのテーブルで構成しました。アーティストを表すテーブルも作ればよかったと後悔しています。

一つ目のテーブルはこんな感じです。ジャンルを表現するために、各ジャンルのカラムを定義して1か0を割り振ってます。自己流なのであまり良い方法じゃないかもしれません。

二つ目はこんなです。セットリストの番号と曲の番号を紐づけてます。orderinsetlist列は念のためいれときましたが、多分必要ないです。その曲を流し始めた時刻も記録されていたりされていなかったりします。情報が存在しないものは諦めるしかないです。

三つ目では曲名を記録して番号を割り振っています。Remixかどうかを表す列があるのにRemixした人を表す列が無いのはおかしいと思うかもしれませんが、僕もそう思います。いずれ追加します。

このようにして実際のセットリストを集めて、まずは人が作ったものと見分けがつかないセットリストを作るAIの開発にとりかかります。その後、どういうジャンルの曲でセットリストを作るとか、誰々っぽいセットリストを作るとかしていく予定です。まだ試してはいませんが、シーケンスを生成するという意味では文章生成に近いタスクだと思っています。文章生成と違うのは明確な正解というものが存在しないことで、その辺を解決するには敵対的生成ネットワーク(架空のキャラクターの画像を作るAIなどに利用される技術)の類が向いてると思っています。

音源データの収集

現在は楽曲のメタデータのみを用いてセットリストを扱っています。実際の曲を聞かずに決めるなんておかしいので、どうにかして音源データを収集して選曲に利用していく予定です。最近は合法的にダウンロードできる音源がいっぱいあるので、ひとまず学習用にはそれで十分だと思います。ただ、楽曲の数は100万種類を超える可能性があるので、その中から選び出すアルゴリズムは検討の余地があります。あと、ストレージが足りなくなりそうで怖いです。

ABOUT  DJ Robotics

DJ Robotics wants to create a society where people and humanoid robots coexist and robots can play an active role in our daily lives. To achieve this, we provide opportunities and experiences for people to meet robots through entertainment.

Read more...

2020 - 2023 Copyright © DJ Robotics All Rights Reserved.