【制作背景】 音楽は日常で不可欠な存在。今やそのような音楽がコンピューターを使って自分の手で作れる。 しかし作曲を始めるにあたって、DTMの操作に苦手意識があり、敬遠してしまう人が多いはず。 そこで、独自の電子楽器とアプリで簡単に操作できたら、そのハードルを越えることができると思い製作した。
【作品概要詳細】 LLMでコード(和音)の解説・提案。音楽理論を学習できるクイズを交えたレッスン要素。押したコードに沿ってキーが発光する。電子楽器はBLE MIDIに対応し、入力したコードからメロディを生成できる。
【実装した内容】 https://youtu.be/krTmsynoQAQ ホーム画面にはいつもLive2Dのキャラクターが居る。ホーム画面のレッスン、チャット、作曲のボタンを押すと、それぞれの画面に移る。
作曲画面では、Bluetoothで接続した楽器のボタンを押すと、画面上でも対応した位置が点灯する。
コードを打ち込んだ後チャットを押せば、そのコードについてLLMが解説。
作ったコードを読込・保存する機能、自動でメロディを付ける機能を搭載。
コードを提案するChordLMという機能は、ユーザが自分の思い描いているイメージや話題の曲からそのコードをLLMが教えてくれる。
チャット画面ではキャラクターとチャットでき、音楽に関することなら何でも答えてくれる。作曲中やレッスン中に分からないことがあれば聞くことができる。
レッスン画面ではチャプターごとに分かれたチャプターごとに分かれた音楽理論の基礎について学べる。簡単なクイズもあるので復習できる。
【アピールポイント】 「AIからゲーム感覚で作曲を学ぼう」がコンセプト。 作曲、学習、楽しさをキーワードに、M.AIstroは初心者向けに開発された音楽理論学習アプリ。 DTMや既存のコード演奏楽器は作曲や演奏に優れているが、本製品は音楽の解説ができる。 音楽生成モデルとは異なり、音楽を学びたい人にフォーカスした。
【⼀番のこだわり】
電子楽器に音楽理論で重要な五度圏表に沿ってキーを配置した。
和音との繋がりが重要なコード理論を学習することに特化している。
一番のこだわりはコード理論を簡単に楽しく学べるように、五度圏表を用いた独自の電子楽器を製作したことである。
五度圏表は、コードを規則的に円形上に並べたもので、コードをコードとしてではなく配置で覚えることに特化した表。 五度圏表を用いることでコードを知らなくても位置でコード進行が覚えられる。
雰囲気を変えるために同じコード進行を異なるキーに置き換える場合は、楽器を回してそのキーを中心にするだけでOK。 このようにどのコードを使用すべきか一目瞭然なので、初心者でも簡単に覚えることができる。
デモンストレーションではカノン進行を演奏している。一見複雑そうに見えるが、近い位置で操作していることが分かる。
レッスンの後にはこの楽器を使ったクイズがあり、手を動かすことでコードへの理解がより進む。
参考書や動画で学ぶことの多いコード理論について、楽器を直接手に触れることでより楽しく直感的に学習できる。
【こだわりを実装するために苦労・⼯夫した点】
工夫した点は和音のMIDI信号の送信。
MIDIは単音ずつ信号を送るため、どのタイミングで和音を解析するかが問題であった。
例えばCメジャーコードの構成音はC,E,Gである。これらの3音の受信にタイムラグがあり、解析に問題が生じる。
そこで、ノートオン信号を受信したらその音をリストに追加し、ノートオフ信号を一つでも受信したときに解析するようにプログラムした。それによって受信時のタイムラグを解決した。
作曲画面からチャット画面に遷移するときに、解析されたコードをプロンプトに代入することでLLMが解説することを可能にしている。
プロンプトは自動送信され、音楽関連の会話を続けられるため音楽学習をより身近なものになる。
【今後の展望】 日々の学習をサポートし、音楽を楽しむことに寄り添うために以下のような機能を検討している。
【Software システム構成(Webアプリ)】
ウェブアプリはNuxt.jsを使用し、クラウドで運用。LLMによって生成された文章を文節ごとに区切って、ボイスボックスで音声合成。取得できた音声はLive2Dによってキャラクターが喋り、モデルはリップシンクする。Web Bluetooth APIでブラウザと電子楽器を接続。コード(和音)の解析にはtonal.js、メロディ生成にはMagenta.jsを使用。
Web Bluetooth APIに対応しているChromeに対応。
楽器単体で演奏できるところもポイント。
【Hardware システム構成(電子楽器)】
電子楽器のマイコンにはESP32を使用。24個のボタンをキーマトリクス回路によって制御することで、少ないピンで多くのボタンを扱える。電子楽器との接続はBluetoothを採用。パソコンやスマホと接続する。
【インストール手順】 DockerコンテナでWebアプリを起動することが可能。
docker compose up
でWebアプリとVOICEVOXのコンテナの作成・起動電子楽器の接続