はじめに
株式会社レコチョクでNX開発推進部という部署に所属している木村です。
レコチョクは2023年に「新しい音楽体験研究所」プロジェクトを立ち上げ、Maker Faire Tokyo(以下、MFTと記載)へ初出展しました。
今年も「新しい音楽体験研究所」の継続した発信を目的にMFT2024へ出展をしました。
カメレオンノーツ紹介
今回MFT2024に出展したカメレンノーツという作品は、エモブロック(感情を表した顔文字ブロック)を並べることで、選んだ感情にあった曲をAIが作曲してくれる体験型の作品です。
当記事では「カメレオンノーツ」の全体構成と作品製作における技術選定について解説します。
※作品タイトルにも含まれるカメレオンやエモブロックなど、作品全体のデザインコンセプトは別の記事で改めてご紹介させていただきます。
アイデア出しから体制決めまでの流れ
作品の方針が決まるまで
MFTへの出展を決めたあと、どんな作品を作るかを決めるため、アイデアソンを実施しました。
昨年の経験からお子さまも多く来場するイベントであったことから、「大人も子どもも楽しめる」をコンセプトとして複数チームに分かれてアイデアを出し合いました。
様々なアイデアが出ましたが、子どもが楽しめる「ブロック」と大人が技術的にも楽しめる「AI作曲」というアイデアがコンセプトに合っていることから、これらの技術を組み合わせた作品を制作することに決めました。
「ブロック」と「AI作曲」を用いてどんな体験ができる作品を提供するのか?について多くの議論を重ね、紆余曲折を経て「ブロックを組み合わせるだけで、すぐにAIが作曲し、その場で聴くことができる」という作品の方向性が固まりました。
チーム編成と役割分担
作品を作るにあたり、3つの領域に分け、チームを編成しました。
チーム | 役割 |
---|---|
チームインプット | AI作曲をするための情報をブロックを使って入力する装置の開発。また、作曲中の状況を可視化する役割も持つ。 |
チームAI作曲 | 入力された情報を元にAI作曲を行うシステムの開発。作曲の進捗状況や作曲結果を他のチームに伝える。 |
チームアウトプット | 出来上がった楽曲を再生し、視覚的に楽しめるように表現する装置の開発。楽曲をダウンロードして持ち帰れる機能も提供する。 |
技術選定
次に領域毎の要件決定や技術選定について解説します。
領域間通信
チーム割りが決まったあと、各領域間の通信手段を検討しました。
領域間のやり取りは以下の図のような流れを想定しています。
インプットから情報を受け取ってAI作曲を行い、ステータスをインプットとアウトプットに伝えるという非常にシンプルな流れではありますが、インプットとアウトプットのデバイスを分ける必要があり(理由は後述)、非同期で通信できることが望ましいと考えました。
いくつかの選択肢を検討しましたが、個人的に利用経験があったことから複数デバイス間の非同期通信においてPub/Sub形式でメッセージング処理のできるMQTTを利用することとなりました。
MQTTは様々な言語でもライブラリが用意されており、容易に導入しやすいことも選定のポイントです。
バックエンドにはAWSを利用することになったため、AWSが提供しているMQTTブローカーであるAWS IoT Coreを採用しました。
チームインプット
インプット領域では「ブロックを組み合わせるだけで、AI作曲に必要な情報を入力することができる」がミッションです。また、作曲開始後に進捗状況を見えるようにする必要があります。
ブロックによる入力の実現
一言にブロックで入力といっても様々な方法があります。
MFTというイベントの特性上、小さいお子さまでもわかりやすい手順で入力を実現できるようにしました。
- ブロックを選んで土台にある丸い溝にハメ込む
- 土台にある4箇所の溝全てにブロックをハメ込んだ後にボタンを押して作曲開始
この要件を満たした以下の入力装置を開発しました。
- ブロック
- 土台との設置部分にブロック毎に異なった情報が書き込まれたRFIDタグシールを貼り付け
- ブロックは3Dプリンターで印刷
- 土台
- ブロックとの設置箇所にRFIDリーダーをはめ込み出来るようになっている
- 土台は3Dプリンターで印刷
- ボタン
- ボタン部分は市販のものを利用
- ボタンの筐体部分は3Dプリンターで印刷
- 入力制御デバイス
- M5Stackに入力用プログラムを実装
- 4つのRFIDリーダーとボタンの入力を制御
置いたブロックを読み取るという要件はお子さまでも操作に迷わないよう、RFIDタグをリーダーで読み取る機構にしています。3Dプリンタによる印刷とM5Stackを使ったセンサーの制御は昨年のMFTでも利用実績があったことから引き続き選定しています。
作曲状況の可視化
入力装置だけでは何をしたらよいのかがわからないため、モニター上に進捗状況を表示する仕組みを作ります。作品のモチーフであるカメレオンや感情を表現するために3Dモデルの制御をしやすいUnityを採用しています。
- 入力装置からの入力情報を画面に表示する
-
入力情報の進捗を画面に表示する
チームインプット構成
ブロックからの情報を読み取る入力制御デバイスと、状態表示を行う入力用PC間はシリアル通信を行うことで入力領域における装置が完成しました。
チームAI作曲
今回の作品の肝であるAI作曲ですが、レコチョクは音楽に関するビジネスを行う事業会社であるためAI作曲の技術選定には特に気を配りました。
昨今、AIの進化は目覚ましく、さまざまなAI作曲サービスが登場していますが、その中でも「学習元のデータが明確になっていないサービスを利用しないこと」を意識しています。
このような背景を踏まえ、調査・検証を重ねた結果、Meta社が提供しているAudioCraftというライブラリに含まれるMusicGenという生成AIを採用することしました。
MusicGenは、学習に用いているデータについて、Meta社が適切にライセンスを取得した音楽データを使用していると主張しており、その点において類似のサービスよりもクリーンな設計となっていました。
そのため、今回の作品内での利用において法的リスクを最小限に抑えつつ、AI作曲技術を活用することが可能になりました。
AIによる作曲のほか、楽曲のタイトルとジャケット写真もレコチョク社内で開発しているレコチャットを用いて生成しています。お子さまでもわかりやすく楽しめるような生成結果になるようチューニングしています。
チームアウトプット
最後となるアウトプット領域ですが、生成された楽曲の再生と映像表現においてインプット同様にUnityを採用しています。
単純に楽曲を再生するだけではなく、お子さまにも楽しんでいただけるよう、レコチョクのキャラクターである「レコチョクマ」が曲に合わせてダンスをするという要件を盛り込みました。
レコチョクではレコチョクマの3Dモデルデータを持っていなかったため、3Dモデリングが大きな課題となりましたが、社内にあったレコチョクマの着ぐるみを3Dスキャンして3Dモデルに起こすことでこの課題を解決しています。
- 楽曲に合わせて踊るレコチョクマ
全体設計について
これまでの各領域を一つの図にまとめると以下のようになります。
3つの領域のプログラムがAWS IoT Coreを用いたMQTT通信で連携しているものの、領域間で直接通信を行わない設計とすることで、個々が独立して動作するようにしています。これにより開発効率の向上や障害発生時の復帰を容易にしています。
実際の展示作品ではこのようになりました。
まず入力側(写真左側)でブロックを並べてAI作曲を開始し、作曲が完了したら出力側(写真右側)に移動し完成した楽曲を聴きながらQRコードで作った楽曲をダウンロードすることができるようになっています。作曲が完了したタイミングで次の作曲を開始することができるようになるため、左から右への導線を作ることができました。また、説明から作曲完了までどうしても2〜3分はかかってしまうため、出力側では常に作曲した楽曲が流れ続けるような工夫をしています。
イベント当日について
イベント当日はいくつかシステム的なトラブルはあったものの大きな問題にならず、無事にイベント出展を完遂することができました。
イベント会場では無線通信が至る所で行われるため通信トラブルの発生を懸念していましたが、混線しづらい5GHz帯が利用可能なホームルータを持ち込んだことで安定した通信を行うことができました。
それでも何度かはアクセスポイントが見つからなくなることがありましたがすぐに復旧できたため、大事に至ることはなかったので本当によかったです。
まとめ
今回はMFTに出展したカメレオンノーツについて、技術面を中心に解説させていただきましたがいかがだったでしょうか?トレンドである生成AIを用いた作品を展示することができ、良い実績になったと感じています。レコチョクでは今後も新しい音楽体験への挑戦を続けていきますので是非ご期待ください。ここまで読んでいただきありがとうございました。
この記事を書いた人
最近書いた記事
- 2024.11.26かんたんAI作曲「カメレオンノーツ」で使われている技術
- 2023.12.23Jetpack Composeでスイカゲームは再現できる?
- 2022.12.01M5StickC PlusとSwitchBot ボットでエントランスを自動解錠
- 2021.12.01Flutterメディア再生のすすめ