img2musicで、画像から音楽を生成する

1.はじめに

 今回ご紹介するのは、画像からテキストを生成するモデルとテキストから音楽を生成するモデルを組み合わせた、画像から音楽を生成する img2music です。

 実はこれ、Hugging Face (Webサービス)で動かせるんですが、人気のためか処理速度が遅い。なので今回は Google Colab で動かしてみます。

2.img2musicとは?

  img2music は画像からテキストを生成するモデルとテキストから音楽を生成するモデル、これら2つのモデルから構成されていますので順番に見て行きましょう。

 画像からテキストを生成するモデルは、画像からStable Diffusionのテキストを探索する CLIP Interrogator を使っています。これは、従来からの画像キャプションの生成結果に、CLIPを用いた様々な属性に関する結果を加えて、より適切なテキストを生成します。

 テキストから音楽を生成するモデルは、AIで音楽生成するサービスを行なっているMubert社のAPIを使っています。具体的には、テキストからタグを抽出してサーバーへ送り、音楽を受け取る形で音楽を生成します。

3.コード

 コードはGoogle Colabで動かす形にしてGithubに上げてありますので、それに沿って説明して行きます。自分で動かしてみたい方は、この「リンク」をクリックし表示されたノートブックの先頭にある「Open in Colab」ボタンをクリックすると動かせます。

 まず、img2textをセットアップします。

 

 次に、text2musicをセットアップします。このとき、emailには自分のemailアドレス(事前申請は不要)を記入して実行します。

 

 それでは、画像からテキストを生成します。imgで画像ファイルを指定して実行します。ここでは、サンプル画像 01.jpg〜04.jpg の中から 02.jpgを指定します。

 自分の用意した画像を使いたい場合は、事前に BLIP/pics フォルダその画像をアップロードしておいて下さい。

 5つの属性(Medium, Artist, Trending, Movement, Flavors)に関して、類似性トップの内容が表示され、それを踏まえてテキストが生成されています。

 そして、テキストから音楽を生成します。duration に曲の長さ(秒)、曲をループしたい場合には loop にチェックを入れて実行します。

 text からtags( ‘cyberpunk’, ‘art’, ‘artists’ )を抽出してサーバーへ送っていることが分かります。同じtagsでも、乱数処理を行なっているので、毎回ジャンルは同じですが異なる音楽が生成されます。

 

 他のサンプルでもやってみましょう。img = 03.jpgです。

 

 もう1つやってみましょう。今度は、img = 04.jpg です。

 いかがだったでしょうか?自分のイメージにピッタリという訳にはいきませんが、画像から音楽を作るというのは刺激的なタスクですよね。

 では、また。

(オリジナルgithub1)https://github.com/pharmapsychotic/clip-interrogator

(オリジナルgithub2)https://github.com/MubertAI/Mubert-Text-to-Music

2 件のコメント

  • 最後にtext2musicを実行した後、作成された音楽ファイルはどこに保存されるのでしょうか?
    GoogleColob上で動かしたのですが、そこから先が分からず、、、

    • 佐藤さん
      IPython.display.Audioを使って、Munbert社のサーバーで生成したmp3ファイルをテンポラリ(不明)にダウンロードして再生していますね。自分のPCに保存したい場合は、再生表示の右端をクリックすればダウンロード出来ます。
      もし、コード内でそのmp3ファイルを使いたい場合は、get_track_tags()関数内にtrackurl変数があり、それがサーバーで生成したmp3ファイルのURLを示しているので、そこから別途ダウンロードすれば良いと思います。

  • コメントを残す

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

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

    ABOUTこの記事をかいた人

    アバター

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