MusicGenで、テキストと参考メロディーから音楽を生成する。

1.はじめに

 今回ご紹介するのは、テキストと参考メロディーから音楽を生成するMusicGenという技術です。

2.MusicGenとは?

  MusicGenは、条件付き音楽生成タスクの新しいアプローチで、圧縮された離散音楽表現を操作する単一の言語モデル(LM)です。これは以前の方法とは異なり、単一ステージのトランスフォーマーと効率的なトークン・インターリーブ・パターンを利用し、複数モデルのカスケード接続を不要にしています。

3.コード

 この[リンク]をクリックすると、Google Colab を開くことが出来ます。コードは、UI操作が可能なGradioを使用しているため、たった1つのコードブロックがあるだけです。これを実行します。

 このログが表示されたら、Running on public URL(赤枠内)をクリックすると、別のタブに下記の画面が表示されます。

 まず、テストデータで試してみましょう。画面下にあるExamplesから一番上の行(赤枠)をクリックすると、Input Text Melody Condition (optional) に自動的にテストデータがセットされます。そうしましたら、「送信」ボタン(赤枠)をクリックして下さい。最初の音楽生成には少し時間が掛かります(2〜3分)が、2回目以降はもっと早くなります。

 

 処理が完了すると、下記のように右上に曲が生成されますので聞いてみましょう。曲の右肩をクリックするとダウンロード出来ます。

 なお、自分のデータでやる場合は、Input Text に英文を記入し、Melody Condition (optional)に自分のPCから曲をアップロードして、「送信」ボタンを押して下さい。なお、設定の中で、Dulationは曲の長さ(秒)、Modelはテキストのみから曲を生成するモデル(medium, small, large)も選択することが出来ます。

 これは、バッハの曲を参考に「An 80s driving pop song with heavy drums and synth pads in the background(重厚なドラムとシンセパッドをバックに据えた、80 年代のドライブ感あふれるポップソング)」という文から生成した曲です。

 Examplesの4行目でも、やってみましょう。

 これは、バッハの曲を参考に「a light and cheerly EDM track, with syncopated drums, aery pads, and strong emotions(シンコペーションされたドラム、軽やかなパッド、そして強い感情を備えた、軽くて陽気な EDM トラック)」という文から生成した曲です。

(サンプルURL)https://ai.honu.io/papers/musicgen/

(オリジナルgithub)https://github.com/facebookresearch/audiocraft

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

アバター

ディープラーニング・エンジニアを趣味でやってます。E資格ホルダー。 好きなものは、膨大な凡ショットから生まれる奇跡の1枚、右肩上がりのワクワク感、暑い国の新たな価値観、何もしない南の島、コード通りに動くチップ、完璧なハーモニー、仲間とのバンド演奏、数えきれない流れ星。