AudioCraft Windows CUDA環境導入ガイド:依存関係を手動で解決

AI音声

Meta社のAudioCraftは、ローカルでテキストから音楽や効果音を生成できるAIフレームワークです。

実質商用利用NGのため、個人用途が主となりますが、ローカルでの音源生成の可能性を試すことができます。

音楽生成ができるMusicGen、また効果音生成ができるAudioGenなどが含まれています。 GPU推奨ですが、Windows環境ではPyTorchやCUDAのバージョン不一致によるトラブルが多く、安定構築が難しいのが現実です。 本記事では、2025年10月時点で実際に動いた組み合わせを参考として紹介します。

公式なAudioCraftのインストール手順

AudioCraftは、公式の案内通りpipで簡単にインストールを完了できるはずですが、実際に試すと途中でav(PyAV)のビルド失敗で先に進めなくなります。

pip install git+https://github.com/facebookresearch/audiocraft.git

avはバイナリをインストールする方法などもありますが、2025年10月現在、依存関係で古めのバージョンのライブラリを要求するため、インストールはほぼ100%途中でエラーで止まります。

依存性を回避する手動インストールの手順

AudioCraftを動かすには古めのライブラリの依存関係が厳しく、1つずつ試行錯誤する必要があります。

2025年10月時点、Windows11 + CUDA13.0の環境に導入し動作確認しました。実際は周辺のライブラリのバージョンアップが続くため、早晩導入は難しくなると考えられます。今後の参考のため、記事は掲載を継続します。

環境のバージョン整合性確認

AudioCraftを安定して動かすには、Python・CUDA・PyTorch・xformersのバージョンを互いに対応する組み合わせで揃える必要があります。

どれか一つでもずれると、GPUが認識されない・ライブラリが読み込めないなどのエラーが起こりやすくなります。

Python: 3.9.13
PyTorch: 2.8.0+cu128
xformers: PyTorch 2.8.0+cu128 対応 wheel(Python 3.9用)

CUDAとPyTorchのバージョン互換は特に重要です。nvidia-smiでドライバ対応バージョンを確認しましょう。

テストでは RTX4070 + CUDA 13.0 の環境で、CUDA 12.8に対応したPyTorchを選んで進められました。

CUDAは古めのものを選んでインストールすることも可能ですが、他のアプリやゲーム等が新しいCUDAを要求します。AudioCraft専用の環境を準備するのは、多くの場合は現実的ではないため、本手順が参考になると思います。

Python 3.9.13の導入(pyenv-win)

Windowsで複数バージョンを安全に共存させるには、pyenv-winを利用します。

pyenv install 3.9.13
pyenv global 3.9.13
python --version  # 3.9.13になっていることを確認

pyenvについては、必要に応じて下記の記事をご参照ください。

仮想環境の作成

作業フォルダ直下に仮想環境を作り、依存関係を分離します。

python -m venv .venv
.venv\Scripts\Activate

仮想環境については、必要に応じて下記の記事をご参照ください。

pipアップグレード

古いpipではwheelの解決に失敗することがあります。先に更新しておきましょう。

python -m pip install --upgrade pip

CUDA対応PyTorch 2.8.0のインストール

PyTorch公式サイトの「Get Started」から、
Stable (2.8.0) + Windows + Pip + Python + CUDA 12.8を選択してwheelを確認します。

組み合わせが選べない場合でも、「Previous Versions」からダウンロードできる場合があります。

CUDA対応のPyTorchが利用できない場合、CPU版でインストールは完了しますが実用的ではありません。存在しない場合は、Linux/WSL2環境の検討を推奨します。

例(CUDA 12.8の場合):

pip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu128

xformersのインストール

PyTorchのバージョンに対応するxformersを導入します。

pip install xformers --prefer-binary

エラーが出ずにimport xformersできれば成功です。WARNING[XFORMERS]は無視して構いません。

主要依存パッケージの事前導入

通常はAudioCraftとセットで入るライブラリも、事前に手動でインストールします。

pip install soundfile einops hydra-core hydra_colorlog flashy gradio julius num2words numpy==1.26.4 sentencepiece spacy==3.7.6 huggingface_hub tqdm transformers demucs librosa torchmetrics encodec protobuf torchtext==0.16.0 pesq pystoi torchdiffeq

ほとんどの場合、ここでPyTorchが新しすぎるとアンインストールされますが、そのまま進めて構いません。CPU版が入れられてしまいますが、ここで再インストールすると無限ループとなるため、最後に改めて導入します。

av(PyAV)の導入

AudioCraftではavが必須です。Windowsではwheelが存在すれば以下でOKです。

pip install av --prefer-binary

ビルドをWindows環境で行う方法もありますが、ffmpegとの依存もあり現実的ではありません。 ここでエラーが出る場合はLinux/WSL2への移行も検討してください。

AudioCraft本体の導入

依存関係を無視するよう指定してAudioCraft単体をインストールします。

pip install --no-deps git+https://github.com/facebookresearch/audiocraft.git

下記のような警告が大量に出る場合があります。

gradio 4.44.1 requires pillow<11.0,>=8.0, but you have pillow 11.3.0 which is incompatible.
audiocraft (中略) ...
torchdata 0.7.0 requires torch==2.1.0, but you have torch 2.8.0+cu128 which is incompatible.

このような手元の環境のライブラリが新しい場合に出る警告は、AudioCraftの動作には影響しない場合がほとんどです。この依存関係を満たすことは難しいため、まずは無視して動作確認を行い、実際のエラー発生時に個別調整することになります。

CUDA対応PyTorchの再インストール

ここまでの手順で、他のライブラリとの依存関係でPyTorchがCPU版で上書きされる場合があります。先に実行したコマンドに --force-reinstall を加え、最後にCUDA版のPyTorchを強制再インストールします。

pip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu128 --force-reinstall

CPU版のCUDAはインストールは容易ですが、実用的なパフォーマンスが出ないためこの手順が鍵となります。

ここまででインストールは完了です。動作確認してみましょう。

動作確認

AudioCraftはいくつかのライブラリの集合体ですが、ここでは代表的なMusicGenとAUdioGenを試します。

GradioなどのGUIを伴う実装も他にありますが、基本のPythonからの呼び出しを利用します。

MusicGen(音楽生成)

MusicGenを試すには、下記のようなコードを実行します。

import torchaudio
from audiocraft.models import MusicGen

model = MusicGen.get_pretrained('facebook/musicgen-small')
wav = model.generate(["lofi hip hop beat with relaxing melodies"])
torchaudio.save("output.wav", wav[0].cpu(), 32000)
print("音声ファイル output.wav を生成しました。")

初回は数GB程度のモデルをロードするため時間がかかります。
その際表示されるXet Storageの利用を促す警告は無視して構いません。

途中、Triton(GPU最適化カーネル)の未導入の警告も出ますが、こちらも無視で構いません。
WindowsではTritonのビルドが困難です。導入は省略しても特に動作に影響はありません。
また一部ライブラリで、将来性に関する警告も表示されますが、動作に問題はありません。

警告だらけで不安になりますが、これでwavファイルが生成されるはずです。
生成したwavファイルに無音部分が長く含まれる場合、以下のようにトリミングを行うとよいでしょう。

from pydub import AudioSegment, silence
audio = AudioSegment.from_wav("output.wav")
trimmed = silence.strip_silence(audio, silence_thresh=-40, padding=200, silence_len=500)
trimmed.export("output_trimmed.wav", format="wav")

AudioGen(効果音生成)

AudioGenを試すには、下記のようなコードを実行します。

import torchaudio
from audiocraft.models import AudioGen
model = AudioGen.get_pretrained('facebook/audiogen-medium')
wav = model.generate(["dog barking"])
torchaudio.save("output_audiogen.wav", wav[0].cpu(), 32000)
print("AudioGen: output_audiogen.wav を生成しました。")

初回は数GB程度のモデルをロードするため時間がかかります。
その際表示されるXet Storageの利用を促す警告は無視して構いません。
こちらも警告が多数表示されますが、wavファイルは生成できるはずです。

トラブルシューティング

  • xformers DLLエラー:PyTorch・Python・CUDAの組み合わせを再確認。
  • 依存競合警告:動作に支障がなければ無視で可。
  • avビルド失敗:Linux/WSL2推奨。
  • RuntimeError: GPU不明nvidia-smiでCUDAドライバを確認。

pip依存競合警告の例と対応

gradio 4.44.1 requires pillow<11.0,>=8.0, but you have pillow 11.3.0 which is incompatible.

torchdata 0.7.0 requires torch==2.1.0, but you have torch 2.8.0+cu128 which is incompatible.

これは警告であり、AudioCraftの動作に影響しない場合が多いです。まずは無視して動作確認を行い、実際のエラー発生時に個別調整します。

高品質生成とバッチ実行例

30秒音源を繰り返し生成し、日時付きフォルダに保存するCLIスクリプトです。

import os, json, datetime, time, argparse, torchaudio
from audiocraft.models import MusicGen

parser = argparse.ArgumentParser()
parser.add_argument("-n", "--num", type=int, default=10)
parser.add_argument("-p", "--prompt", type=str, default="lofi hip hop beat with relaxing melodies")
args = parser.parse_args()

now = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
outdir = f"gacha_{now}"
os.makedirs(outdir, exist_ok=True)

params = {"prompt": args.prompt, "num": args.num, "model": "facebook/musicgen-large", "duration": 30}
with open(os.path.join(outdir, "params.json"), "w", encoding="utf-8") as f:
    json.dump(params, f, ensure_ascii=False, indent=2)

model = MusicGen.get_pretrained('facebook/musicgen-large')
model.set_generation_params(duration=30)

start_time = time.time()
for i in range(1, args.num + 1):
    iter_start = time.time()
    print(f"[{i}/{args.num}] 生成中...", end=" ")
    wav = model.generate([args.prompt])
    fname = os.path.join(outdir, f"output_{i:02d}.wav")
    torchaudio.save(fname, wav[0].cpu(), 32000)
    print(f"{fname} ({time.time()-iter_start:.1f}秒)")

print(f"全{args.num}件を {outdir} に保存しました(合計{time.time()-start_time:.1f}秒)")

まとめ

この手順を順番どおりに実行すれば、WindowsでもAudioCraft(MusicGen / AudioGen)が高確率で動作します。
ただし、PyTorch 2.8.0 + CUDA 12.8 の組み合わせが公式サポート外の場合、Linux/WSL2への移行が最も確実です。

FAQ

Q. Tritonの警告を消したいのですが?
A. 現時点でWindows版Tritonは非公式です。無視して問題ありません。

Q. 出力WAVに無音が長いです。
A. pydubによる自動トリミングを使ってください。

Q. GPUを認識しません。
A. NVIDIAドライバとCUDA Toolkitのバージョンを確認してください。

参考リンク

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