【Riffusion】テキストから音楽(mp3)を自動生成できる拡張機能の使い方!【Stable Diffusion】

こんにちは!悠です!

 

今回はAUTOMATIC1111版「Stable Diffusion WebUI」で、テキストから様々な種類の音楽を作成できる拡張機能「Riffusion(sd-webui-riffusion)」の使い方を紹介していきます。

イラストと同じようにプロンプトだけで音楽を生成できる面白い拡張機能ですので、ぜひ皆さんも遊んでみて下さいね!

「Riffusion」はまだ発展途上の技術のようで、いわゆるテンプレプロンプトがありません。誰でもまだ見ぬ何かを開拓できる可能性がありますよ!

 

アイキャッチ画像はモデルに「Agelesnate」、LoRAに「flat2」を使用しています。
スポンサーリンク
スポンサーリンク

「Riffusion」とは?

「Riffusion」では、テキストから直接mp3形式の音楽を生成するわけではなく、一度下のようなスペクトログラム画像を生成し、それを使って音楽に変換します。

スペクトログラム画像

 

Q:スペクトログラムとは?
A:周波数分析を時間的に連続して行い、色によって強さを表すことで、強さ、周波数、時間の3次元表示を行う技術

出典:http://adlib.rsch.tuis.ac.jp/~akira/zemi/ocampus/html/specana.html#:~:text=%E3%82%B9%E3%83%9A%E3%82%AF%E3%83%88%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%81%AF%EF%BC%9F,%E5%BC%B7%E3%81%84%EF%BC%88%E9%9F%B3%E3%81%8C%E5%A4%A7%E3%81%8D%E3%81%84%EF%BC%89%E3%80%82

 

音楽を画像の形式に落とし込む技術と思えばわかりやすいですね。

 

このスペクトログラム画像をWebUIで生成し、拡張機能によって音楽に変換することで、様々な楽曲、または人の歌声のようなものを再現するのが「Riffusion」の特徴です。

 

「Riffusion」の使い方

今回使う拡張機能「sd-webui-riffusion」のリポジトリはこちら。

GitHub - enlyth/sd-webui-riffusion: Riffusion extension for AUTOMATIC1111's SD Web UI
Riffusion extension for AUTOMATIC1111's SD Web UI. Contribute to enlyth/sd-webui-riffusion development by creating an account on GitHub.

 

「Riffusion」自体のリポジトリはこちらです。

GitHub - riffusion/riffusion: Stable diffusion for real-time music generation
Stable diffusion for real-time music generation. Contribute to riffusion/riffusion development by creating an account on GitHub.

 

Google Colaboratory版の場合

下記の方法で紹介している「maintained by Akaibu」のノートブックを使って、拡張機能「sd-webui-riffusion」を導入していきます。

まだご覧になっていない方は、まず最初にこちらを準備しておいてください。

【Stable Diffusion】AUTOMATIC1111のWebUIをGoogle Colaboratory上で使う方法!【maintained by Akaibu】
「Stable Diffusion」で、「AUTOMATIC1111」が用意しているノートブック「maintained by Akaibu」を使って、Google Colaboratory上で自分の好きなモデルデータやLoRAを使用する方法についてまとめた記事です。
【Stable Diffusion】AUTOMATIC1111のColab版でLoRAを使う方法について紹介!【maintained by Akaibu】
AUTOMATIC1111のColab版「maintained by Akaibu」でLoRAを使う方法についてまとめた記事です。2.5D風AIコスプレイヤーを作成できる「KoreanStyle2.5D」も紹介しています。

 

Google Driveからモデルデータを読み込むセルの下に新しくセルを作成し、下記のコードを入力してください。

#sd-webui-riffusionをインストール
%cd /content/stable-diffusion-webui/extensions/
!git clone https://github.com/enlyth/sd-webui-riffusion /content/stable-diffusion-webui/extensions/sd-webui-riffusion

%cd /content/stable-diffusion-webui

 

ローカル版の場合

「Extensions」→「Install from URL」の「URL for extension’s git repository」に下記のURLを入力しInstallをクリックしましょう。

https://github.com/enlyth/sd-webui-riffusion

 

 

WebUIを再起動して、Riffusionのタブが追加されていれば導入完了です。

 

ffmpegをインストール

「sd-webui-riffusion」を使うにはffmpegをインストールしておく必要があります。

下の記事でやり方を紹介しています。

【Stable Diffusion】AIイラスト生成時の途中経過を各ステップ毎に保存できる拡張機能「sd_save_intermediate_images」の紹介!
「Stable Diffusion WebUI」で、AIイラスト生成時の途中経過を各ステップ毎に保存できる拡張機能「sd_save_intermediate_images」について紹介した記事です。

 

「Riffusion」の使い方

「Riffusion」を使って音楽を生成するには、まず専用のモデルデータを導入する必要があります。

下記のHugging Faceのページから「riffusion-model-v1.ckpt」をダウンロードしてください。14GBもある超巨大ファイルです。

riffusion/riffusion-model-v1 at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

 

DLした後は普通のモデルと同じく、「~\webui\models\Stable-diffusion」に保存しましょう。なおモデルデータが大きすぎて、WebUIで切り替える際にかなりの読み込み時間が発生します。

 

WebUIを起動し、txt2imgの一番下にあるScriptからRiffusion Audio Generatorを選択します。

Riffusion enabledにチェックを入れてください。

 

次に画像生成時と同じくプロンプトを入力します。ネガティブも使えるそうです。

プロンプトに関してはgospel、jazz、rockなどの楽曲ジャンルや、guitar、pianoなどの楽器名、海外の有名なアーティスト名も有効なようです。(参考になりそうなページ

vocaloid,hatsune miku,anime

 

Generateボタンを押すとスペクトログラム画像が生成されます。サンプラーやステップ数は特に関係ない気がします。

一応私が使った設定は次の通りです。

  • Steps: 20
  • Sampler: DPM++ 2M Karras
  • CFG scale: 7
  • Size: 512x512
  • Model hash: 99a6eb51c1
  • Model: riffusion-model-v1
  • Clip skip: 2
  • Version: v1.4.0

 

スペクトログラム画像が出力されたら、Scriptの欄にあるオレンジ色のRefresh Inline Audioをクリックしてください。

 

再生バーが表示されるので、クリックすると音楽を再生できます。(ちなみにちゃんとボカロっぽい音楽になっていました。)

生成したmp3音源は「~\webui\extensions\sd-webui-riffusion\outputs」に保存されています。

 

ちなみにRiffusionのタブでは、フォルダ内に保存したスペクトログラム画像を一括で音楽に変換できるっぽいです。



「Riffusion」を使っていて気付いたこと

ここでは私が「Riffusion」を使っていて気付いたことや、参考になりそうなサイトを紹介します。

 

512×512の画像では5秒程度の音源

512×512のスペクトログラム画像を音楽に変換すると、約5秒程度の音源になります。

また、768×512(横長)だと7秒、512×768(縦長)だと5秒程度です。

 

ですので、横長の画像ほど音楽の再生時間が長くなるようです。

複数枚のスペクトログラム画像を用意し、各画像間の補完画像を用意することで1分以上の音楽を生成することも出来るみたいですね。

出典:https://www.riffusion.com/about

 

Riffusion関連で参考になりそうな記事

下記のページ内に、専用のサブレディットやDiscordへのリンクがまとめられています。

Riffusionの情報を集めるのに活用できそうですね。

Riffusion
Stable diffusion for real-time music generation. Riffusion has 3 repositories available. Follow their code on GitHub.



まとめ

以上が「Stable Diffusion」で、テキストから様々な種類の音楽を作成できる拡張機能「Riffusion(sd-webui-riffusion)」の使い方の紹介でした。

Mov2movを使った動画の生成と比べても、比較的簡単に取り組むことができるので、いろんな曲を生成して遊んでみてはいかがでしょうか?

 

では、ここまで読んでいただきありがとうございました。

コメント

  1. サザエ より:

    これも面白いですね!
    stableなんでもできますな
    AI音声もアツくなってきてるのでやりかた知った際は教えてほしいです

    • 悠 より:

      こんばんはです!

      ほんとに底知れませんよねStable Diffusion!
      来年が楽しみ過ぎます…!

      AI音声、承知しました~!かなり先になるかもしれませんが、いつか調べてみようと思います!