テキストから音楽を無料で生成したい!
MusicGenの使い方を教えて!
テキストから音楽を生成できる「Mubert」以外に、AI音楽を生成させるツールとしてMeta社が開発した「MusicGen」があります。
生成して欲しいジャンルや楽器などをテキストに入力することによって音楽を生成することができます。
この記事では、Google Colabで「MusicGen」の使い方について解説します。
Google ColabでMusicGenを起動する
AudioCraftのサイトに移動してから、右上にある「MusicGen」をクリックしてから「Get started」を押してください。
下にスクロールして「Models」項目にある「MusicGen」をクリックしてください。
「Open in Colab」をクリックしてください。
「ドライブにコピー」をクリックしてください。
別のタブに飛んで新規作成されたら前のタブは消していいです。
上部タイトルの右端に「〜.ipynbのコピー」と書かれていたらOKです。
「編集」をクリックして「ノートブックの設定」をクリックしてください。
ハードウェア アクセラレータにある項目から、Google Colab無料版の人は「CPU」を選択して「保存」をクリックしてください。
ですが、「CPU」ですと無料で生成することは出来るのですが時間がかかります。
Google Colabの月1,179円のColab Proの有料プランでは「GPU」を使用すること出来ます。
「ランタイム」をクリックしてから「すべてのセルを実行」をクリックしてください。
実行してから数分後くらいに、コードの一番下付近に「gradio.live」と書かれたURLリンクが表示されるのでクリックしてください。
これで「MusicGen」を起動することができました。
楽曲を生成する
「Input Text」内に生成して欲しい音楽のジャンルや楽器などを入力してください。
今回の例では、「pop music」と入力します。
下部にある「Submit」ボタンをクリックしてください。
数分間くらい生成が完了するまでに少し時間がかかります。
音楽の生成が完了すると右側にある「Generated Music」内ではmp4形式でダウンロードすることができます。
その下にある「Generated Music(Wav)」内の右側にはwav形式でダウンロードすることができます。
どちらも再生ボタンがあるのでクリックすることで生成した音楽を聴くことができます。
以下の音楽は生成した結果になります。
なかなかのpop music?に仕上がりました。
2回目に生成した結果がこちらです。
1回目の生成と比べると全く違う楽曲になっていることが確認できます。
楽曲をアレンジして生成する
「MusicGen」では楽曲をアレンジすることが出来ます。
「File」項目内に、アレンジさせたい楽曲ファイルをアップロードすることで可能になります。
今回の例では、下にスクロールした場所にある「Examples」内の項目からサンプルを使って楽曲をアレンジしてみます。
「Input Text」にある「A cheerful country 〜」の部分をクリックします。
すると、「Input Text」「File」「Model」「Decoder」などの項目が全て自動で設定されます。
「File」内にアップロードされている楽曲は、モーリスラヴェルが作曲した「ボレロ」の曲をアップロードしています。
有名な楽曲ですが、分からない人はYoutubeなどで聴いてみてください。
「Submit」ボタンを押すと「File」にアップロードしたメロディーを参照してアレンジされた楽曲が生成できます。
こちらがアレンジした楽曲になります。
再度同じ内容で送信すると別のアレンジで楽曲を生成することができました。
メロディーを参照して別のアレンジですぐに生成できるのはなかなか革新的です。
十分クオリティは高いのですが、途中で音楽がぶつ切りになって終了してしまいます。
今後のアップデート次第では、最初から最後までクオリティの高いアレンジ楽曲が完成できそうな感じはありますね。
参照させるメロディーの方法は、「file」をクリックして楽曲をアップロードするか「mic」をクリックしてメロディーを録音するかの方法があります。
Model
モデルを変更することによって楽曲が変わるのですが、同じモデルを使用して全て同じ内容で再度生成することによっても楽曲は変わるので、正直モデルを変更することによって何が変わっているのかよく分かりません。
「Input Text」に「pop music」と入力して、以下の4つのモデルをピックアップして生成してみました。
・facebook/musicgen-melody
・facebook/musicgen-medium
・facebook/musicgen-small
・facebook/musicgen-large
「Input Text」で入力した楽曲が思うように生成できない場合に
モデルを変えてみると良い結果になるかもしれません。
Decoder
「Default」ではMultiBand_Diffusionを使用していない楽曲のみの生成になります。
「MultiBand_Diffusion」を選択して音楽生成すると、以下の画像のように「MultiBand Diffusion Decoder」無しと有りの2つの楽曲が生成されます。
デコーダとはMP3などの圧縮された楽曲のデータを元のデータに復元することを言いますが、「MusicGen」では元のファイルが圧縮されていないwavファイルで生成されているのでデコーダの効果が出ているのか謎です。
MultiBand_Diffusionを使用した比較結果
「Input Text」に「pop music」と入力してから、「MultiBand_Diffusion」を選択して生成してみます。
「MultiBand Diffusion Decoder」の無しと有りを比較した結果が以下になります。
「無し」
「有り」
「MultiBand Diffusion Decoder」有りの方では、少しだけ音質が悪くなった(最初の1秒付近が音割れっぽく聴こえる)ように聴こえなくもないです。
次は「Input Text」内を変えてから再度生成してみます。
こちらが比較結果になります。
「無し」
「有り」
無しの方ではリズムと合わせた鈴のような音が聞こえませんが、有りの方では鈴の音が聞こえています。
楽曲に微妙に違いが出ています。
このように「MultiBand Diffusion」を使用することによって、音質や楽曲に少しだけ違いが出ていたので、どちらも比べてみるといいでしょう。
Durationで時間を変更する
楽曲の長さを変更したい場合は「Duration」数値を変えてください。
以下の画像では、数値が「120」なので120秒(2分)の長さで楽曲を生成することができます。
「Duration」を大きくするほど生成時間も長くなります。
秒数を長くすると楽曲の展開が変わったりするので試してみてください。
まとめ
「MusicGen」の使い方について解説しました。
「MusicGen」はテキストを入力すると音楽を生成することができます。
また、元の楽曲メロディーを参照してアレンジ楽曲を生成することも出来るので是非使用してみてください。
将来的に楽曲の始まりから終わりまでテキストだけで生成できてしまう可能性があると思います。
他にも音楽生成ができる「Stable Audio」や「SOUNDRAW」もおすすめです。
以下の記事で使い方についてそれぞれ解説しているので読んでみてください。