Paperspace上でAudio Craftを試してみた【webui】
Audio Craftの概要
Audio Craftは、テキストベースのユーザー入力から高品質でリアルなオーディオと音楽を生成するシンプルなフレームワークです。
Audio Craftは、MusicGen、AudioGen、EnCodecの3つのモデルで構成されています。
今回は、その中の「MusicGen」を使用しました。
MusicGenは、特定の音楽で訓練され、テキストベース入力から音楽を生成します。
つまり、文字を入力するだけで音楽ができあがるということです。
MusicGen-colabの概要
MusicGen-colabは、GitHub上で公開されているプロジェクトで、MusicGenをwebuiで操作することができます。Stable Diffusion webuiの音楽バージョンみたいなイメージですね。
MusicGen-colabは、特定の音楽スタイルや特性を生成するためのパラメーターを調整できるように設計されています。
Google colabで簡単に設定できますが、今回はPaperspaceで導入してみました。
既にPaperspaceのアカウントを持っている前提で進めていきます。
MusicGen-colabの導入
Paperspaceのプロジェクト作成
まず、Paperspaceのプロジェクトを作成し、マシンタイプを選択します。
次に、ジュピターノートブックを起動し、インストール場所を決めます。
今回は、一時的に保存できるtmpディレクトリにインストールします。
(Google Colabと同様に終了すると削除されてしまいます)
#フォルダを用意する
%mkdir /tmp/MusicGen_colab
%cd /tmp/MusicGen_colab
MusicGen-colabのクローン
Gitを使用してMusicGen-colabプロジェクトをクローンします。
%cd /tmp/MusicGen_colab
!git clone -b v1.0 https://github.com/camenduru/audiocraft
依存関係をインストールします。
#必要な依存関係をインストール
%cd /tmp/MusicGen_colab/audiocraft
!pip install -r requirements.txt
MusicGen-colabは、特定のパッケージバージョンに依存している可能性があります。
Paperspaceでは、spacyバージョン3.5.2とpydanticバージョン1.10.12のインストールが必要であることが判明しました。
それ以外のバージョンで行うとエラーになります。
(Google Colabと同じバージョンに変更します)
#パッケージの再インストール
!pip uninstall spacy pydantic -y
!pip install spacy==3.5.2 pydantic==1.10.12
webuiの実行
最後に、app.pyを実行し、webuiを起動します。このプロセス中にエラーが発生する場合、適切な依存関係のインストールや設定の調整が必要になることがあります。
#webuiの起動
!python app.py --share
Running on public URL:の記載しているURLをクリックしてwebuiを起動します。
webuiの操作方法
テキストの入力
Input Textにテキストを入力して、送信ボタンをクリックすると生成が始まります。
画面下をスクロールするとExamplesがありますので、気になるものをクリックすると
Input TextとMelody Conditionに挿入されます。
曲の長さ
Durationのあたりを変えることで曲の長さを変更できます。(秒単位)
値を大きくすると、それだけ生成する時間が長くなります。
プロンプト例
A catchy YouTube BGM loop, playing at a lively 130 BPM, features bright synthesizers, electric guitar, and upbeat drum machine rhythms. The simple and memorable melody creates a positive and engaging backdrop, enhancing the content without overpowering it. Perfect for adding energy and flair to any video.
BPMや楽器を入れると、その通りに生成してくれます。
まとめ
Paperspace上でwebuiを使ったAudio Craftを試すことができました。この記事が参考になれば幸いです。
参考記事
Discussion