機械学習・ ディープラーニングによるAI作曲に大きな可能性を感じている今日この頃ですが、AWSでもAI作曲ができるということで、さっそくDeepComposerを使ってみました。
実際にさわってみた感想としては、DeepComposerはミュージシャンの作曲アシストツールというよりは機械学習によるAI作曲について学べるツールという印象です。
そのためミュージシャンや作曲家が音楽活動に気軽に導入できるツールではないですが、ディープラーニングに興味のある方にはおすすめできます。
逆に技術にまったく興味のない方がいきなりDeepComposerをさわると「AI、無理」みたいになりそうですね…。
気軽に音楽制作にAI作曲ツールを導入したい方にはiPadやDAWで使える「Flow Machines(ソニーCLS)」やPCで使える無料アプリの「Magenta Studio(Google)」がおすすめです。
DeepComposerを利用するにはAWSのアカウントを作成する必要があり、AI作曲を開始するまでの敷居が少し高いので、AWSやAI作曲がはじめてという方でもスムーズに体験できるように詳しく解説したいと思います。
おすすめのAI作曲ツールと特徴
主要AI作曲ツールも増えてきましたが、どれも同じというわけでなくそれぞれに個性やできること・できないことがあります。
簡単にまとめたので導入の参考にしてみてください。
AWS DeepComposer:エンジニア向け
- 機械学習・ディープラーニングを学びたいならこれ!
- ドキュメントが整備されているので使いやすい
- 利用にはAWSのアカウント作成が必要(無料利用枠で使えるが、クレカの登録が必要)
- 純粋に音楽制作のみに使いたいミュージシャンには導入までの敷居が高く不向き
サイト:aws deepcomposer
Amper Score:BGM制作向け
- 生演奏のようなBGMが作曲できる
- 生演奏をサンプリングした最強の音源ライブラリ
- 楽器や音色を選ぶのが楽しい
- 演奏内容の細かいエディットは不可
- 曲のダウンロードは有料
サイト:ampermusic.com
AIVA:BGM制作・作曲向け
- 機械くさくない高品質な演奏
- DAWのような楽曲編集機能
- プライベートでの使用に限り無料で曲のダウンロードができる
- 生成される曲はわりと似通っていて、すぐにAIVAとわかる
サイト:aiva.ai
Flow Machines:ミュージシャン向け
- ミュージシャンがメロディ・フレーズを導入したいならこれ!
- かっこいい演奏なのでそのまま使える
- 豊富なジャンルのプリセットから作曲できる
- iPad版(Flow Machines Mobile)は無料で利用できる
- フレーズの生成はできるが、伴奏やBGMの作曲ツールとしては使えない
- iPad版では生成したフレーズのエクスポートはできない
- Macでの利用はM1チップ搭載機種のみ(Windows は不可)
Magenta Studio:ミュージシャン・作曲家・エンジニア向け
- ミュージシャンが簡単に音楽制作に導入できる(アプリをPCにインストールして利用)
- ふたつのフレーズを合成して新しいアイデアを生みだすなど、斬新な作曲ができる
- APIが公開されているのでアプリ開発やプログラミングに活用できる
- 手直ししないと使える演奏にはならないことが多い
- 情報が少ない・整理されていないので開発にはてこずりそう
サイト:Magenta Studio
こうしてまとめてみると、それぞれに明確な個性があっておもしろいですね。
ご自身の目的に合ったツールが見つかれば幸いです
AWS 「DeepComposer」とは
まず最初にAWSとDeepComposerについて簡単に説明したいと思います。
AWSは「Amazon Web Services」の略で、その名のとおり、Amazonの運営するクラウドコンピューティングサービスです。
IT業界の方であれば知らないひとはいない、世界最大のITインフラのひとつですね。Amazonは物販だけではありません。
AWSには多種多様なインフラストラクチャーサービスがあり、ディープラーニングを使った楽曲生成のサービスが「DeepComposer」です。
DeepComposerを使えば、開発者はまったくコードを書くことなく実際に音楽を作りながら機械学習を始めることができます。
チュートリアルも整備されていて、機械学習についてしっかりと学べます。
AWSアカウントの作成と注意点
前述のようにAWSを利用するにはアカウントを作成する必要があります。
プログラマーやエンジニアであれば、すでにアカウントを作っている方も多いと思いますが、初めての方のために簡単に作成の手順と注意点を説明します。
作成の手順といっても簡単で「AWSアカウントの作成ページ」で指示に従って情報を入力するだけです。
注意点としては
- 有料サービスでも、はじめてAWSを利用する方は最大12ヶ月間無料(※サービスによって異なる)
- アカウント作成の際にクレジットカードの登録が必要
- 無料期間を過ぎると利用状況に応じて課金される(最低1ドル程度~)
となります。
アカウントを作成するだけであれば課金されませんが、このあたりが非エンジニアへの敷居の高さになりそうです。
逆にエンジニア志望でまだAWSアカウントを作っていない方は、ここでアカウントを作って最先端のインフラを学ぶのもいいのではないかと思います。
AWS無料利用枠についての詳細ページもご確認ください。
DeepComposer の使い方
それではDeepComposerを使ってみます。
画像の「作曲を始める」ページ赤枠の「Launch Music studio」をクリックすると「Your compositions」の画面が開くので、ページ上部にある「Start composing」ボタンをクリックして作曲画面に移りましょう。
「View learning capsules」に進むと、より詳しくDeepComposerについて学ぶことができます。
作曲元のメロディを入力する
AIに作曲してもらうにあたって、まずはここで8小節のメロディを入力します。このメロディを元にしてAIが作曲をしていきます。
入力は以下の方法から選べます。
- Record a track:画面のキーボードか外部キーボードを使って演奏を録音する
- Import a truck:外部からMIDIファイルをインポートする
- Recommended for …:プリセットから選ぶ
今回はAI作曲をすぐに体験したかったのでプリセットから選んでみます。
①「Choose input track」をクリックして「Ode to Joy」を選択。
②「Play」で再生してみて良さそうだったのでこれに決定。誰でも知っている曲です。
③「Continue」で次に進みます。
赤枠②の「Record」を押すとリアルタイム録音ができますが、画面の鍵盤はPCのキーボードで演奏ができますが、キー割り当ての違和感がすごくて練習しないとまともに演奏できません。直接鍵盤をクリックしたほうがマシですね。
ちなみに専用のMIDIキーボードがAmazonで販売されているので、興味のある方はご覧ください。
AR-CNN:メロディを変更する
まずはAR-CNNで、AIにメロディをリメイクしてもらいましょう。
AR-CNNは、入力メロディをピアノロールに変換して画像として認識します。その画像をもとに足りない・不要な音を予測し、音の追加と削除を繰り返すという仕組みです。
「AR-CNN」はピアノの前で楽譜とにらめっこしている作曲家みたいですね
さっそくAR-CNNの作曲を見ていきます。
①AR-CNNを選択。
②各種パラメータを調整します。パラメータの内容は以下。各パラメータの数値を増やすほど、より前衛的な音楽になるようです。
- Maximum input notes to remove
この値を増やすほど、AIが入力メロディーにとらわれない作曲をします。値を0に設定すると、入力メロディが完全に保持されます。 - Maximum notes to add
この値を増やすことで、入力メロディに追加できるノートの最大数を制御します。 - Sampling iterations
この値を増やすと、元のメロディに追加・削除される音が増えます。 - Creative risk
この値を増やすと、AIが安定した音楽から逸脱します(不安定になる)。値を低くすると、安全で確率の高い音符のみを選択するため、安心感のあるメロディになります。
③設定が完了したら「Continue」をクリック。次の画面でいくらでも設定は変更できるので初期設定のままでも大丈夫です。
GANs:メロディに伴奏をつける
GANsは入力したメロディに伴奏を付けることができるモデルです。
GANは日本語では「敵対的生成ネットワーク」という物騒な名前になるのですが、要はふたつのモデルを競い合わせて訓練し、曲を生成するモデルです。
「GANs」は指揮者とオーケストラが曲を作り上げるイメージです
それではGANsで曲を生成してみます。
①GANsを選択。
②Generative algorithmは「MuseGAN」にします。「U-Net」を選択するには、別途モデルのトレーニングを行う必要があります。
Modelで生成したい音楽のジャンルを選びましょう。今回は「Rock」にしてみました。
③ 設定が完了したら「Continue」をクリックして結果を確認します。
Rock調の曲が生成されました。
楽器を変更したい場合は「Instrument type」「Instrument」を変更します。
ジャンルを変更したい場合は、下部の「GANs parameters」を変更し「Genarate tracks」をクリックすれば新しく曲が生成されます。
最後に「Continue」をクリックして完了しましょう。
Transformers:メロディの続きを作曲する
Transformer は主に自然言語処理(NLP)の分野で使われているニューラルネットワーク・アーキテクチャで、2017年に開発された比較的新しいモデルです。
それまで言語処理で使われてきた RNN などは長いパラグラフやテキストなどを扱うのが苦手だったのに対し、Transformer は非常に大きなデータをトレーニングすることができます。
また、CNNは大量のデータを処理できるものの、文脈の関係性の長期記憶が苦手でしたが(最初に覚えたことを忘れてしまう感じです)、Transformerはこの点もクリアしました。
この Transformer を使うことによって、DeepComposer では最大20秒、入力メロディの続きが作曲ができるというわけですね。
それではメロディの続きを作曲してみます。
- 「Transformers」を選択
- 各種パラメータを調整します。パラメータの内容は下記を参照(少し難しいです)
- 設定が完了したら「Continue」をクリックし、結果を確認します。今回は初期設定のままで作曲します。
- Sampling technique
・TopK:Sampling thresholdsの値を使用して、次に使用可能なトークンのリストを決定
・Nucleus:確率の累積合計を使用して、次に使用可能なトークンのリストを選択する。Sampling thresholdsの値を使用。
・Random:ランダムにひとつのトークンを使用 - Sampling thresholds
この値を増やすほど、利用可能なトークンが増える - Creative risk
この値を増やすと、AIが安定した音楽から逸脱します(不安定になる)。値を低くすると、安全で確率の高い音符のみを選択するため、安心感のある曲になる。 - Input duration
この値を増やすほど、入力メロディを利用した作曲をする。(入力メロディの終わりから数えた秒数を利用) - Track extension duration
この値を増やすほど、モデルが曲を生成するのにかかる時間が長くなる - Maximum rest time
曲に長時間の無音が発生しないようにする。
この値を2秒に設定すると、曲が2秒以上無音の場合、モデルは自動的に次の音符を選択する - Maximum note length
音符の最大長を設定する。この値を10秒にすると、ロングトーンは10秒以内のものが生成される
「トークン」とは
Transformers では「特定のピッチのノートの再生」などの音楽データを「トークン」に変換して作曲します。 やや乱暴ですが、トークンは「音符」と読み替えると理解しやすいと思います。
ちゃんと入力メロディの続きが作曲されました。今回生成されたものは少し前衛的な音楽です。
「Instrument type」「Instrument」で楽器を変更することもできます。作曲し直したいときは下部のパラメータを設定しなおして「Extend again」をクリックすれば作曲してくれます。
最後に「Continue」をクリックして完了です、お疲れ様でした。
さいごに:使ってみた感想
冒頭でも述べたとおり、ミュージシャンが気軽に導入できるAI作曲ツールというよりも、ディープラーニングと AI作曲について学べる学習ツールとしての色合いが強い AWS の DeepComposer でした。
ディープラーニングの用語や概念を理解するのに少し時間がかかりましたが、おかげで機械学習の理解が進みましたし、この記事でも登場した「自然言語処理」の分野にも興味が湧きましたね。
音楽と機械学習・ディープラーニングに興味のある方は、いまアツい技術を DeepComposer を通して学んでみてはいかがでしょう。