テキストから音楽を生成できるAudiocraftのインストール

テキストから音楽を生成できるAudiocraftのインストール 機械学習

「テキストから音声を生成したい」
「既存の音楽にテキストを加えて、新たな音楽を作成したい」

このような場合には、Audiocraftがオススメです。
この記事では、テキストから音楽を生成できるAudiocraftについて解説しています。

本記事の内容

  • Audiocraftとは?
  • Audiocraftのシステム要件
  • Audiocraftのインストール
  • Audiocraftの動作確認

それでは、上記に沿って解説していきます。

Audiocraftとは?

GitHub - facebookresearch/audiocraft: Audiocraft is a library for audio processing and generation with deep learning. It features the state-of-the-art EnCodec audio compressor / tokenizer, along with MusicGen, a simple and controllable music generation LM with textual and melodic conditioning.
Audiocraft is a library for audio processing and generation with deep learning. It features the state-of-the-art EnCodec audio compressor / tokenizer, along wit...

Audiocraftとは、音声生成処理が可能なPythonライブラリです。
PyTorchを前提にしているため、PyTorchライブラリと公式では表現されています。

このAudiocraftの本体は、MusicGenと言えます。
MusicGenとは、音楽生成のためのシンプルで制御可能なモデルになります。

シンプルな制御とは、「happy rock」や「sad jazz」などのテキストで音楽を生成できるということです。
簡単に言うと、Stable Diffusionの音楽版と言えます。

以下の音声ファイルは、Audiocraftで実際に生成した音楽です。
どのようなプロンプトを入力したのか、わかりますか?

答えは、「Audiocraftの動作確認」に記載されています。
個人的には、イメージに近い音楽となって驚きです。

機能に話を戻しましょう。
Audiocraftでは、アップロードした音声ファイルをベースに音楽を生成することも可能です。
Stable Diffusionにおけるimg2imgのような機能と言えます。

また、MusicGenの学習には2万時間のライセンス付音楽が用いられています。
Meta社がMusicGenを開発しているので、権利関係は安心と言えるでしょう。

以上、Audiocraftについて説明しました。
次は、Audiocraftのシステム要件を説明します。

Audiocraftのシステム要件

Audiocraftのシステム要件としては、以下が挙げられています。

  • Python 3.9
  • PyTorch 2.0.0
  • GPU 16GB
  • FFmpeg

それぞれを下記で説明します。

Python 3.9

基本的には、PyTorch 2.0.0がインストールできればOKです。
そのため、Python 3.9以降であれば問題ないと言えます。

実際、Python 3.10でも問題なく機能しています。

PyTorch 2.0.0

現状の最新版は、2.0.1となります。

PyTorch 2.0.1でAudiocraftの動作確認を取れています。
そのため、PyTorch 2.0.0以降という認識で問題ないでしょう。

また、GPU版のインストールが必須です。
Windowsへのインストールは、次の記事で解説しています。

GPU 16GB

おそらく、これが最もハードルが高いはずです。
コンシューマー向けのGPUだと、以下しか思い浮かびません。

  • GeForce RTX 3090
  • GeForce RTX 3090 Ti
  • GeForce RTX 4080
  • GeForce RTX 4090

ただし、16GBというのは推奨になります。
それ以下でも、smallモデルを利用する場合は処理可能のようです。

もしかしたら、VRAM 8GBでも動くかもしれません。
この辺は、各自でチャレンジしてみてください。

FFmpeg

公式ページには、次のような注意書きがあります。

新しいバージョンのtorchaudioを使用する場合は、ffmpegがインストールされていることを確認してください。

最新のPyTorchをインストールする場合は、該当する状況になるはずです。
仮にそうでなくても、FFmpegはインストールしておきましょう。

FFmpegのインストールは、以下の記事が参考になります。

以上、Audiocraftのシステム要件を説明しました。
次は、Audiocraftのインストールを説明します。

Audiocraftのインストール

Audiocraftのインストールは、Python仮想環境の利用をオススメします。
Python仮想環境は、次の記事で解説しています。

検証は、次のバージョンのPythonで行います。

> python -V   
Python 3.10.4

では、Audiocraftのインストールを進めていきましょう。
ただし、事前にGPU版PyTorchはインストール済みとします。

そうであれば、Audiocraftは次のコマンドで一撃です。

pip install audiocraft

Audiocraft自体は、これでインストールできます。
これに加えて、GUIのデモプログラムもインストールしましょう。

git clone https://github.com/facebookresearch/audiocraft.git

デモプログラムは、Gradioに依存しています。

そのため、追加でGradioをインストールします。

pip install gradio

以上、Audiocraftのインストールを説明しました。
次は、Audiocraftの動作確認を説明します。

Audiocraftの動作確認

Audiocraftの動作確認を行います。
ダウンロードしたソース内のapp.pyを起動します。

次のコマンドでデモプログラムを起動できます。

python app.py

コンソールに次のように表示されたら、起動はOKです。

Running on local URL:  http://127.0.0.1:7860
To create a public link, set `share=True` in `launch()`.

ブラウザで「http://127.0.0.1:7860」にアクセス。

このような画面が表示されます。
今回は、基本的な動作を検証しましょう。

「Input Text」に英語でプロンプトを入力します。
「ローマ帝国の滅亡」の音楽を作成してもらいましょう。

Fall of the Roman Empire

そして、「Model」を選択します。
モデルに関しては、デモ画面の上部に記載があります。

Largeのファイルサイズは、以下。

そこまで大きなファイルサイズではありません。
と言っても、GPU次第でしょうね。

ちなみに、GeForce RTX 3090(24GB)でLargeが動くことは確認できています。
あと、再生時間は「Duration」で設定できます。

最大で「30」秒まで可能となっています。
今回は、次の条件で作成します。

なお、モデルは初回利用時にダウンロードするようになっています。
実際は、キャッシュとして存在するかどうかによります。

Windowsなら、以下の場所になります。

C:\Users\ユーザー\.cache\huggingface\hub

LargeとMediumをダウンロード済みなら、次のようにフォルダが作成されます。

ということで、初回時はそこそこの時間を待つことなります。
そして、音楽が生成されると次のように表示されます。

今回の条件であれば、1分以内に生成できています。

以上、Audiocraftの動作確認を説明しました。

タイトルとURLをコピーしました